.step-view { display: block; }
.step-view.active { display: block; }

.email-sent-icon {
    width: 72px; height: 72px;
    background: var(--primary-glow);
    border: 2px solid rgba(99,102,241,.3);
    border-radius: 50%;
    display: grid; place-items: center;
    font-size: 28px;
    color: var(--primary);
    margin: 0 auto 20px;
    animation: pulseIcon 2s ease-in-out infinite;
}
@keyframes pulseIcon {
    0%, 100% { box-shadow: 0 0 0 0 var(--primary-glow); }
    50%       { box-shadow: 0 0 0 10px transparent; }
}

.new-password-rules {
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rule { display: flex; align-items: center; gap: 6px; }
.rule i { font-size: 10px; color: var(--border); transition: color .2s; }
.rule.passed i { color: var(--success); }
.rule.passed { color: var(--text); }
.rule.failed i { color: var(--danger); }
.rule.failed { color: var(--danger); }

.reset-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    padding: 48px 32px;
}

.reset-success-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--success-light, #dcfce7);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.reset-success-icon i {
    font-size: 32px;
    color: var(--success, #16a34a);
}

.reset-success .auth-title {
    margin-bottom: 8px;
}

.reset-success .auth-subtitle {
    margin-bottom: 32px;
}

.reset-success-btn {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.reset-success-countdown {
    margin-top: 24px;
    font-size: 12px;
    color: var(--text-muted);
}