@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap');

:root {
    --brand-primary: #3f7180;
    --brand-primary-dark: #315b68;
    --brand-accent: #b88a68;
    --brand-text: #27384a;
    --brand-muted: #68798b;
    --brand-surface: #edf2f5;
    --brand-surface-soft: #e3eaee;
}



html, body {
    font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--brand-surface);
    color: var(--brand-text);
}

h1, h2, h3, h4 {
    font-family: 'Sora', 'Inter', sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: var(--brand-primary);
}

.btn-primary {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    color: #fff;
    background-color: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

.card {
    background-color: #ffffff;
    border-color: #dfe7ef;
    color: #1f2a37;
}

.text-muted {
    color: #667788 !important;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

    .wizard-progress__step {
                color: #6b7280;
        font-weight: 600;
    }

    .wizard-progress__label {
            color: var(--brand-text);
        font-size: 0.95rem;
        font-weight: 600;
        line-height: 1.2;
    }

    .wizard-progress__percent {
            color: var(--brand-primary);
        font-weight: 700;
    }

    .wizard-progress__track {
        height: 10px;
        border-radius: 999px;
        background-color: #dde7ef;
        overflow: hidden;
    }

    .wizard-progress__bar {
        background: linear-gradient(90deg, var(--brand-primary), var(--brand-accent));
        transition: width 300ms ease-out;
        will-change: width;
    }

    .wizard-progress__step,
    .wizard-progress__label,
    .wizard-progress__percent {
        transition: opacity 300ms ease-out, transform 300ms ease-out;
    }

    .home-hero {
        position: relative;
        min-height: calc(100vh - 3.5rem);
        display: flex;
        align-items: center;
        background: radial-gradient(circle at 12% 10%, #e9f4fb 0%, #dcecf7 42%, #eef5fb 76%, #f8fbff 100%);
        overflow: hidden;
    }

    .home-hero__glow {
        position: absolute;
        width: clamp(220px, 35vw, 520px);
        height: clamp(220px, 35vw, 520px);
        border-radius: 50%;
        top: clamp(-140px, -18vw, -180px);
        right: clamp(-80px, -10vw, -120px);
        background: radial-gradient(circle, rgba(197, 138, 90, 0.28) 0%, rgba(197, 138, 90, 0) 72%);
        pointer-events: none;
    }

    .home-hero__container {
        position: relative;
        max-width: 900px;
        text-align: center;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .home-hero__tag {
        display: inline-block;
        font-size: 0.82rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-weight: 700;
        color: #166534;
        background: rgba(187, 247, 208, 0.9);
        border: 1px solid rgba(34, 197, 94, 0.38);
        border-radius: 999px;
        padding: 0.42rem 0.9rem;
        margin-bottom: 1.25rem;
    }

    .home-hero__title {
        font-size: clamp(1.75rem, 3.8vw, 2.9rem);
        line-height: 1.1;
        letter-spacing: -0.02em;
        color: #122333;
        margin: 0;
    }

    .home-hero__subtitle {
        margin: 1.35rem auto 0;
        max-width: 720px;
        font-size: clamp(1.05rem, 2vw, 1.45rem);
        line-height: 1.5;
        color: #4d6275;
    }

    .home-hero__actions {
        margin-top: 2rem;
    }

    .home-hero__cta {
        width: 100%;
        max-width: 360px;
        min-height: 56px;
        border-radius: 14px;
        font-size: clamp(1rem, 3.5vw, 1.25rem);
        font-weight: 700;
        border: none;
        box-shadow: 0 14px 28px rgba(31, 111, 139, 0.25);
    }

    .home-hero__trust {
        margin-top: 1.4rem;
        display: flex;
        gap: 1rem;
        justify-content: center;
        flex-wrap: wrap;
        color: #3f5165;
        font-size: 0.95rem;
    }

    .home-hero__trust span {
        background: rgba(255, 255, 255, 0.8);
        border: 1px solid rgba(176, 197, 216, 0.7);
        border-radius: 999px;
        padding: 0.4rem 0.85rem;
    }

    .app-status {
        color: #29485f;
        font-size: 0.9rem;
        font-weight: 600;
    }

    @media (max-width: 768px) {
        .home-hero {
            min-height: auto;
        }

        .home-hero__container {
            padding-top: 2.2rem;
            padding-bottom: 2.5rem;
        }

        .home-hero__cta {
            width: 100%;
            max-width: 360px;
        }
    }

    /* Welcome Step Styles */

/*    .welcome-card {
        border: none;
        border-radius: 20px;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
        padding: 2.5rem 2rem;
        max-width: 600px;
        margin: 0 auto;
    }
*/
.welcome-card {
    background: white;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 12px 40px rgba(15,23,42,.08);
}
    .hero-section {
        margin-bottom: 1rem;
    }

    .hero-emoji {
        font-size: 4rem;
        line-height: 1;
    }

    .hero-logo {
        max-width: min(260px, 72vw);
        max-height: 150px;
        width: auto;
        height: auto;
        object-fit: contain;
        display: inline-block;
    }

    .logo-subtitle {
        margin-top: 0.9rem;
        font-size: 1rem;
        line-height: 1.45;
        font-weight: 700;
        background: linear-gradient(90deg, #65b32e 0%, #0b7a43 25%, #ffc814 52%, #ff8b1f 72%, #e53a2d 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    .welcome-title {
        font-size: clamp(1.5rem, 4vw, 2.25rem);
        font-weight: 700;
        line-height: 1.2;
        color: var(--brand-text);
        margin-bottom: 1rem;
    }

    .welcome-subtitle {
        font-size: 1.1rem;
        line-height: 1.6;
        color: var(--brand-muted);
        max-width: 480px;
        margin: 0 auto 1.5rem;
    }

    .benefits-list {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
        text-align: left;
    }

    .benefit-item {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-size: 0.95rem;
        color: var(--brand-text);
    }

    .benefit-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        background: #22c55e;
        color: white;
        border-radius: 50%;
        font-size: 0.75rem;
        font-weight: 700;
    }

    .trust-message {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        font-size: 0.9rem;
        color: var(--brand-muted);
        padding: 0.75rem 1rem;
        background: rgba(31, 111, 139, 0.08);
        border-radius: 12px;
        margin-bottom: 1.5rem;
    }

    .trust-icon {
        font-size: 1.1rem;
    }

    .trust-text {
        font-weight: 500;
    }

    .welcome-cta {
        width: 100%;
        max-width: 600px;
        min-height: 52px;
        border-radius: 16px;
        font-size: clamp(1rem, 3.2vw, 1.1rem);
        font-weight: 600;
        border: none;
        box-shadow: 0 4px 16px rgba(31, 111, 139, 0.25);
        transition: transform 180ms ease-out, box-shadow 180ms ease-out;
    }

    .welcome-cta:hover {
        transform: translateY(-2px) scale(1.01);
        box-shadow: 0 6px 20px rgba(31, 111, 139, 0.35);
    }

/* Hero question and reusable OptionCard styles */
.hero-card {
    max-width: 640px;
    margin: 0 auto 1.5rem;
    padding: 36px;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}
.hero-card .hero-card-body { padding: 0; }
.hero-card .hero-icon {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #e1f7fb;
    color: #079db9;
}
.hero-card .hero-icon svg {
    width: 42px;
    height: 42px;
}
.hero-title { font-size: 2.2rem; font-weight: 700; color: #0f2332; }
.hero-subtitle { max-width: 420px; margin: 0 auto 24px; color: #5b6d7a; }
.hero-card .hero-content { max-width: 640px; margin: 0 auto; }

.option-card.large {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #f1f5f8;
    padding: 12px 18px;
    border-radius: 12px;
    width: 100%;
    min-height: 68px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    color: var(--brand-text);
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.option-card.large .option-icon,
.option-card.large .option-label,
.option-card.large .option-chevron {
    display: inline-flex;
    align-items: center;
}
.option-card.large .option-icon {
    width: 44px;
    height: 44px;
    justify-content: center;
    border-radius: 10px;
    background: #e1f7fb;
    color: #079db9;
    flex: 0 0 44px;
}
.option-card.large .option-icon svg {
    width: 30px;
    height: 30px;
}
.option-card.large .option-label {
    flex: 1 1 auto;
    justify-content: flex-start;
    padding-left: 6px;
    min-width: 0;
    font-weight: 600;
    text-align: left;
}
.option-card.large .option-chevron {
    color: #079db9;
    font-size: 32px;
    font-weight: 300;
    width: 28px;
    justify-content: center;
}
.option-card.large:not(.selected):hover {
    transform: translateY(-2px);
    border-color: rgba(31,111,139,0.4);
    box-shadow: 0 8px 20px rgba(15,23,42,0.07);
}
.option-card.large.selected {
    border-color: var(--brand-primary);
    background: linear-gradient(90deg, rgba(31,111,139,0.08), rgba(197,138,90,0.04));
    box-shadow: 0 8px 20px rgba(31,111,139,0.10);
}

/* Income-range step */
.renda-card { max-width: 940px; margin: 0 auto 1.5rem; padding: 22px 28px; background: #fff; border: 1px solid #e3eaf2; border-radius: 12px; box-shadow: 0 8px 24px rgba(15, 35, 50, .07); }
.renda-card__header { text-align: center; margin-bottom: 18px; }.renda-card__header h2 { margin: 0 0 5px; font: 700 1.6rem/1.3 'Sora', 'Inter', sans-serif; color: #10213d; }.renda-card__header p, .renda-card__intro p { margin: 0; color: #5f7088; font-size: .95rem; }
.renda-card__notice { display: flex; align-items: center; gap: 12px; padding: 13px 15px; margin-bottom: 21px; color: #203757; background: #f1f7ff; border: 1px solid #dce8f5; border-radius: 8px; font-size: .86rem; }.renda-card__notice-icon { display: inline-grid; place-items: center; width: 19px; height: 19px; flex: 0 0 19px; border-radius: 50%; color: #fff; background: #079db9; font-family: Georgia, serif; font-weight: 700; }
.renda-card__intro { margin-bottom: 13px; }.renda-card__intro h3 { margin: 0 0 3px; color: #1c2b43; font: 700 .98rem/1.3 'Inter', sans-serif; }.renda-options { display: grid; gap: 8px; }
.renda-option { display: flex; align-items: center; min-width: 0; padding: 12px 17px 12px 15px; color: #162640; background: #fff; border: 1px solid #dfe8f1; border-radius: 9px; text-align: left; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }.renda-option:hover, .renda-option:focus-visible, .renda-option.selected { border-color: currentColor; box-shadow: 0 4px 13px rgba(15, 35, 50, .09); transform: translateY(-1px); outline: none; }
.renda-option__icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; margin-right: 12px; border-radius: 7px; }.renda-option__icon svg { width: 25px; height: 25px; }.renda-option__tier { width: 83px; flex: 0 0 83px; font-weight: 700; font-size: .92rem; }.renda-option__tier small { display: block; margin-top: 1px; font-size: .67rem; font-weight: 500; }.renda-option__divider { width: 1px; height: 37px; flex: 0 0 1px; margin: 0 18px 0 5px; background: #e1e9f1; }
.renda-option__details { display: grid; min-width: 0; flex: 1 1 auto; color: #20304a; }.renda-option__details strong { font-size: .96rem; line-height: 1.2; }.renda-option__tag { margin-left: 14px; padding: 5px 12px; border-radius: 999px; white-space: nowrap; font-size: .74rem; font-weight: 700; }.renda-option__chevron { margin-left: 25px; color: #079db9; font-size: 2.25rem; line-height: .75; font-weight: 300; }
.renda-option--one { color: #16a34a; }.renda-option--one .renda-option__icon, .renda-option--one .renda-option__tag { background: #e8f8eb; }.renda-option--two { color: #1683df; }.renda-option--two .renda-option__icon, .renda-option--two .renda-option__tag { background: #e7f3ff; }.renda-option--three { color: #f28a19; }.renda-option--three .renda-option__icon, .renda-option--three .renda-option__tag { background: #fff1df; }.renda-option--four { color: #8438bc; }.renda-option--four .renda-option__icon, .renda-option--four .renda-option__tag { background: #f4eaff; }
.renda-card__footer { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 9px 12px; color: #72531c; background: #fff8e8; border: 1px solid #f8e8be; border-radius: 7px; font-size: .65rem; line-height: 1.55; }.renda-card__footer-icon { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 27px; color: #f5a400; background: #fff0c8; border-radius: 50%; font-size: 1.1rem; }.renda-card__footer a { color: #176395; text-decoration: underline; }
@media (max-width: 700px) { .renda-card { padding: 16px; }.renda-option { align-items: flex-start; flex-wrap: wrap; }.renda-option__divider { display: none; }.renda-option__details { min-width: calc(100% - 118px); }.renda-option__tag { margin: 8px 0 0 46px; }.renda-option__chevron { margin: 3px 0 0 auto; }.renda-option__details small { display: none; } }

.objetivo-options {
    width: 100%;
    max-width: 640px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 auto;
}
.objetivo-card {
    max-width: 420px;
    padding: 10px 0 0;
    background: transparent;
    box-shadow: none;
}
.objetivo-card .hero-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 18px !important;
    border-radius: 50%;
    background: #eff6ff;
    color: #2563eb;
}
.objetivo-card .hero-icon svg {
    width: 46px;
    height: 46px;
}
.objetivo-card .hero-title {
    margin-bottom: 4px !important;
    font-size: 1.55rem;
    line-height: 1.2;
}
.objetivo-card .hero-subtitle {
    max-width: 270px;
    margin-bottom: 22px !important;
    font-size: 0.95rem;
    line-height: 1.45;
}
.objetivo-card .objetivo-options {
    gap: 11px;
}
.objetivo-card .option-card.large {
    min-height: 84px;
    padding: 12px 18px;
    border-color: #e4eaee;
    border-radius: 14px;
    box-shadow: 0 2px 6px rgba(15, 35, 50, 0.02);
}
.objetivo-card .option-card.large .option-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    border-radius: 10px;
}
.objetivo-card .option-card.large .option-icon svg {
    width: 35px;
    height: 35px;
}
.objetivo-card .option-card.large .option-label {
    padding-left: 4px;
    font-size: 1rem;
}
.objetivo-card .option-card.large .option-chevron {
    width: 22px;
    color: #2563eb;
    font-size: 29px;
}
.objetivo-security {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 26px;
    color: #6c7a89;
    font-size: 0.78rem;
}
.objetivo-security-icon {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    margin-right: 7px;
    color: #2563eb;
}

/* Footer alignment for simulation steps */
.simulation-footer { display:flex; justify-content:space-between; align-items:center; gap:12px }
.simulation-footer .footer-left { flex:1 }
.simulation-footer .footer-right { display:flex; justify-content:flex-end; }

@media (max-width: 768px) {
    .simulation-footer { flex-direction:column-reverse; align-items:stretch }
    .simulation-footer .footer-right { justify-content:stretch }
    .simulation-footer .footer-right .btn { width:100% }

    .hero-card {
        width: calc(100% - 32px);
        margin-inline: auto;
        padding: 28px 16px;
    }

    .objetivo-card {
        width: calc(100% - 24px);
        padding: 10px 0 0;
    }

    .hero-title { font-size: 1.75rem; }

    .option-card.large {
        min-height: 64px;
        padding: 10px 14px;
    }

    .option-card.large .option-icon {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }

    .option-card.large .option-chevron {
        flex: 0 0 28px;
    }

    .objetivo-card .option-card.large {
        min-height: 80px;
        padding: 10px 16px;
    }

    .objetivo-card .option-card.large .option-icon {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }
}
/* Continue button alignment (right) */
.simulation-footer { display:flex; justify-content:flex-end; }


    /* General button micro-interactions */
    .btn {
        transition: transform 200ms ease-out, box-shadow 200ms ease-out, opacity 200ms ease-out;
    }

    .btn:active {
        transform: scale(0.98);
    }

    /* Pressed state applied programmatically for perceived click before navigation */
    .btn.pressed {
        transform: scale(0.98);
        transition: transform 120ms ease-out;
    }

    .btn-primary:hover {
        transform: translateY(-2px) scale(1.02);
        box-shadow: 0 12px 28px rgba(31, 111, 139, 0.32);
    }

    .card .card-body > * {
        opacity: 0;
        transform: translateY(10px);
        animation: fadeInUp 200ms ease-out forwards;
    }

    @keyframes fadeInUp {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }

    /* Fade out of current step before navigation */
    .is-fading-out .card .card-body > * {
        animation: fadeOutDown 200ms ease-out forwards;
    }

    @keyframes fadeOutDown {
        from { opacity: 1; transform: translateY(0); }
        to { opacity: 0; transform: translateY(-6px); }
    }

    @media (max-width: 768px) {
        .welcome-card {
            padding: 2rem 1.5rem;
            border-radius: 16px;
        }

        .hero-emoji {
            font-size: 3rem;
        }

        .hero-logo {
            max-width: min(200px, 74vw);
            max-height: 120px;
        }

        .logo-subtitle {
            font-size: 0.92rem;
            margin-top: 0.75rem;
        }

        .welcome-title {
            font-size: 1.5rem;
        }

        .welcome-subtitle {
            font-size: 1rem;
        }

        .benefits-list {
            gap: 0.6rem;
        }

        .benefit-item {
            font-size: 0.9rem;
        }

        .welcome-cta {
            width: 100%;
        }
        /* General Step Layout Improvements */
    .card {
            border: none;
            border-radius: 20px;
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
            padding: clamp(1rem, 4vw, 2.5rem) clamp(1rem, 3vw, 2rem);
            width: 100%;
            margin: 0 auto;
        }

    /* Wizard container padrão do Diagnóstico Inteligente */
    .wizard-container {
        width: 100%;
        max-width: 1000px; /* aumentado para aproveitar col-lg-10 */
        margin-left: auto;
        margin-right: auto;
        padding-inline: clamp(0.75rem, 3vw, 1.5rem);
        box-sizing: border-box;
    }

    @media (max-width: 768px) {
        .wizard-container {
            max-width: 100%;
            padding-inline: 0.5rem;
        }

        .card {
            max-width: 100% !important;
        }

        .refinement-card,
        .refinement-description,
        .refinement-highlight,
        .refinement-preview {
            max-width: 100% !important;
        }
    }

        .card-body {
            padding: 0;
        }

        .card h3, .card h4 {
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1.3;
            color: var(--brand-text);
            margin-bottom: 1.5rem;
        }

        .card p {
            font-size: 1.05rem;
            line-height: 1.6;
            color: var(--brand-muted);
            margin-bottom: 1.5rem;
        }

        .btn {
            min-height: 52px;
            border-radius: 16px;
            font-size: 1.1rem;
            font-weight: 600;
            padding: 0.75rem 2rem;
            transition: all 0.2s ease;
        }

            .btn:hover {
                transform: translateY(-2px);
            }

        .btn-primary {
            box-shadow: 0 4px 16px rgba(31, 111, 139, 0.25);
        }

            .btn-primary:hover {
                box-shadow: 0 6px 20px rgba(31, 111, 139, 0.35);
            }

        .btn-secondary {
            background-color: var(--brand-surface-soft);
            border-color: #dfe7ef;
            color: var(--brand-text);
        }

            .btn-secondary:hover {
                background-color: #dcecf7;
            }

        .form-control, .form-select {
            min-height: 52px;
            border-radius: 14px;
            padding: 0.875rem 1rem;
            font-size: 1rem;
            border-color: #dfe7ef;
        }

            .form-control:focus, .form-select:focus {
                border-color: var(--brand-primary);
                box-shadow: 0 0 0 0.2rem rgba(31, 111, 139, 0.15);
            }

            .form-control::placeholder {
                color: #9ca3af;
            }

        .alert {
            border: none;
            border-radius: 14px;
            padding: 1rem 1.25rem;
            font-size: 0.95rem;
        }

        .alert-info {
            background-color: rgba(31, 111, 139, 0.08);
            color: var(--brand-primary);
        }

        .alert-success {
            background-color: rgba(34, 197, 94, 0.1);
            color: #16a34a;
        }

        .alert-warning {
            background-color: rgba(245, 158, 11, 0.1);
            color: #d97706;
        }

        /* Option Cards for YesNo and Selection */
        .option-card:not(.large) {
            border: 1px solid #e6eef6;
            border-radius: 16px;
            padding: 1.25rem 1.5rem;
            cursor: pointer;
            transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 140ms ease-out, box-shadow 180ms ease-out;
            background: white;
            margin-bottom: 0.75rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

            .option-card:not(.large):hover {
                transform: translateY(-2px);
                border-color: var(--brand-primary);
                background: linear-gradient(180deg, rgba(31,111,139,0.02), rgba(197,138,90,0.01));
            }

            .option-card:not(.large).selected {
                border-color: var(--brand-primary);
                background: linear-gradient(180deg, rgba(31,111,139,0.06), rgba(197,138,90,0.03));
                transform: scale(1.03);
                box-shadow: 0 10px 24px rgba(31,111,139,0.08);
            }

        .option-card:not(.large) .option-card-label {
            font-weight: 600;
            color: var(--brand-text);
            font-size: 1.05rem;
            margin: 0;
            padding-right: 1rem;
            flex: 1 1 auto;
        }

    .option-card:not(.large) .radio-indicator {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem; /* ~28px */
        height: 1.75rem;
        border-radius: 999px;
        transition: opacity 160ms ease-out, transform 160ms ease-out;
        opacity: 1;
        flex: 0 0 1.75rem;
    }

        .option-card:not(.large) .radio-indicator .indicator {
            display: inline-block;
            font-size: 0.95rem;
            line-height: 1;
            color: var(--brand-muted);
            opacity: 0.0;
            transform: scale(0.9);
            transition: opacity 160ms ease-out, transform 160ms ease-out;
        }

        .option-card:not(.large) .radio-indicator .indicator.unselected {
            color: var(--brand-muted);
            opacity: 1;
            transform: scale(1);
        }

        .option-card:not(.large).selected .radio-indicator .indicator {
            opacity: 1;
            transform: scale(1.12);
            animation: pop-in 180ms ease-out forwards;
            color: #16a34a;
        }

        @keyframes pop-in {
            0% { transform: scale(0.85); opacity: 0; }
            60% { transform: scale(1.08); opacity: 1; }
            100% { transform: scale(1.12); opacity: 1; }
        }

@keyframes success-bounce {
    0% { transform: translateY(0); }
    30% { transform: translateY(-10px); }
    60% { transform: translateY(4px); }
    100% { transform: translateY(0); }
}

        /* Step spacing improvements */
        .mb-4 {
            margin-bottom: 1.5rem !important;
        }

        .mb-3 {
            margin-bottom: 1.25rem !important;
        }

        .mb-2 {
            margin-bottom: 1rem !important;
        }

        /* Mobile responsive improvements */
        @media (max-width: 768px) {
            .card {
                padding: 2rem 1.5rem;
                border-radius: 16px;
            }

                .card h3, .card h4 {
                    font-size: 1.25rem;
                    margin-bottom: 1.25rem;
                }

                .card p {
                    font-size: 1rem;
                    margin-bottom: 1.25rem;
                }

            .btn {
                width: 100%;
                font-size: 1rem;
            }

            .form-control, .form-select {
                font-size: 1rem;
            }

            .option-card:not(.large) {
                padding: 1rem 1.25rem;
            }

            .option-card:not(.large) .option-card-label {
                font-size: 1rem;
            }
        }
    }

/* Summary and Success Step Styles */
    .summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem; /* responsive */
    height: 3rem;
    background: #22c55e;
    color: white;
    border-radius: 50%;
    font-size: clamp(1.25rem, 3.2vw, 1.5rem);
    font-weight: 700;
    margin: 0 auto;
}

.success-emoji {
    font-size: 4rem;
    line-height: 1;
    /* small single bounce on appear */
    animation: success-bounce 420ms ease-out both;
}

.success-card {
    border: none;
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    padding: 2.5rem 2rem;
}

.success-message {
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.2);
    border-radius: 14px;
    padding: 1rem 1.25rem;
    color: #16a34a;
    font-weight: 500;
}

.next-steps {
    background: rgba(31, 111, 139, 0.05);
    border-radius: 14px;
    padding: 1.25rem;
}

.trust-note {
    background: rgba(31, 111, 139, 0.05);
    border-radius: 12px;
    padding: 0.75rem 1rem;
}

.list-group-item {
    border: none;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.list-group-item:last-child {
    border-bottom: none;
}

@media (max-width: 768px) {
    .summary-icon {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }

    .success-emoji {
        font-size: 3rem;
    }

    .success-card {
        padding: 2rem 1.5rem;
    }
}

/* ===========================
   Refinement Step Styles
=========================== */

.refinement-card {
    border: none;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(15,23,42,.08);
    padding: 2rem;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

/* Indicador do input */
.input-check {
    position: absolute;
    right: .75rem;
    top: 2.7rem;
    background: #16a34a;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    transform: scale(.85);
    opacity: 0;
    transition: all .2s ease;
}

    .input-check[style*="display:inline"] {
        opacity: 1;
        transform: scale(1);
    }

.refinement-emoji {
    font-size: 3.2rem;
    line-height: 1;
    margin-bottom: .5rem;
}

.refinement-card h3 {
    font-size: 1.65rem;
    line-height: 1.25;
    margin-bottom: .75rem;
}

.refinement-description {
    max-width: 620px;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--brand-muted);
}

.refinement-highlight {
    max-width: 620px;
    margin: 1.2rem auto;
    padding: 16px 20px;
    border-radius: 16px;
    background: rgba(31,111,139,.06);
    border: 1px solid rgba(31,111,139,.12);
    font-size: .98rem;
    line-height: 1.5;
    text-align: left;
}

.cpf-form {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.trust-message {
    font-size: 0.8rem;
    color: var(--brand-muted);
    margin-top: 0.75rem;
    font-weight: 500;
}

.form-check-check {
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
    flex-shrink: 0;
}

.form-check-text {
    font-size: 0.85rem;
    line-height: 1.3;
    color: var(--brand-text);
}

.privacy-link {
    font-size: 0.75rem;
    color: #64748B;
    margin-top: 8px;
}

.privacy-link-text {
    color: #4DA3FF;
    text-decoration: none;
    transition: color 0.2s ease;
}

.privacy-link-text:hover {
    color: #0F4C81;
    text-decoration: underline;
}

@media (max-width: 768px) {
    .cpf-form {
        padding: 0;
    }
}

/* Footer Styles */
.site-footer {
    background-color: #F8FAFC;
    border-top: 1px solid #E2E8F0;
    padding: 32px 0;
    margin-top: auto;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.footer-copyright {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E293B;
    margin: 0;
}

.footer-description {
    font-size: 0.8rem;
    color: #64748B;
    margin: 0;
    max-width: 400px;
    line-height: 1.5;
}

.footer-links {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-link {
    font-size: 0.8rem;
    color: #4DA3FF;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-link:hover {
    color: #0F4C81;
    text-decoration: underline;
}

.footer-separator {
    color: #CBD5E1;
    font-size: 0.8rem;
}

@media (min-width: 769px) {
    .footer-content {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }

    .footer-brand {
        align-items: flex-start;
    }

    .footer-links {
        justify-content: flex-end;
    }
}

/* Legal Page Styles */
.legal-page {
    padding: 48px 0;
    min-height: calc(100vh - 200px);
}

.legal-page .container {
    max-width: 800px;
}

.legal-section {
    margin-bottom: 32px;
}

.legal-section:last-child {
    margin-bottom: 0;
}

.legal-section h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1E293B;
    margin-bottom: 12px;
}

.legal-section p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 12px;
}

.legal-section ul {
    margin: 12px 0;
    padding-left: 24px;
}

.legal-section li {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 8px;
}

.legal-section li:last-child {
    margin-bottom: 0;
}

.legal-section strong {
    font-weight: 600;
    color: #1E293B;
}

.contact-email {
    font-size: 0.95rem;
    font-weight: 600;
    color: #4DA3FF;
    margin: 8px 0 0 0;
}

@media (max-width: 768px) {
    .legal-page {
        padding: 32px 16px;
    }

    .legal-section h3 {
        font-size: 1rem;
    }

    .legal-section p,
    .legal-section li {
        font-size: 0.875rem;
    }

    .footer-content {
        gap: 12px;
    }

    .footer-description {
        max-width: 100%;
    }
}

.refinement-preview {
    width: 100%;
    max-width: 640px !important;
    margin: 1rem auto !important;
    background: #F8FAFC;
    border: none;
    border-radius: 18px;
    padding: 20px !important;
    box-shadow: none;
}

    .refinement-preview strong {
        display: block;
        text-align: center;
        font-size: 1rem;
        margin-bottom: 14px;
    }

    .refinement-preview ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .refinement-preview li {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 7px 0;
        font-size: .96rem;
        color: var(--brand-text);
    }

    .refinement-preview small {
        font-size: .88rem;
    }

.refinement-cta {
    min-height: 54px;
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 600;
}

/* ===========================
   Mobile
=========================== */

@media (max-width:768px) {

    .refinement-card {
        padding: 1.35rem;
        border-radius: 18px;
        max-width: 100%;
    }

    .refinement-emoji {
        font-size: 2.4rem;
        margin-bottom: .25rem;
    }

    .refinement-card h3 {
        font-size: 1.3rem;
        margin-bottom: .5rem;
    }

    .refinement-description {
        max-width: 100%;
        font-size: .95rem;
        line-height: 1.4;
    }

    .refinement-highlight {
        max-width: 100%;
        margin: .9rem 0;
        padding: 12px;
        font-size: .9rem;
    }

    .refinement-preview {
        max-width: 100% !important;
        padding: 14px !important;
        margin: .75rem auto !important;
    }

        .refinement-preview strong {
            font-size: .94rem;
            margin-bottom: 10px;
        }

        .refinement-preview li {
            font-size: .90rem;
            padding: 4px 0;
        }

        .refinement-preview small {
            font-size: .80rem;
        }

    .refinement-card small {
        font-size: .82rem;
    }

    .refinement-card .btn {
        width: 100%;
        min-height: 48px;
        font-size: 1rem;
    }
}
/* Cascade animation for refinement step items */
.refinement-card .cascade-item {
    opacity: 0;
    transform: translateY(10px);
    animation: cascade-in 150ms ease-out forwards;
}

.refinement-card .cascade-item[data-order="0"] { animation-delay: 0ms; }
.refinement-card .cascade-item[data-order="1"] { animation-delay: 150ms; }
.refinement-card .cascade-item[data-order="2"] { animation-delay: 300ms; }
.refinement-card .cascade-item[data-order="3"] { animation-delay: 450ms; }
.refinement-card .cascade-item[data-order="4"] { animation-delay: 600ms; }

/* Painel administrativo */
.dashboard-page h2, .leads-page h3, .settings-page h2 { letter-spacing: -.035em; color: #172b4d; }
.dashboard-page .card, .leads-page .card, .settings-page .card { border: 1px solid #e5ebf2; border-radius: 1rem; box-shadow: 0 5px 16px rgba(23,43,77,.045) !important; }
.metric-card { position: relative; overflow: hidden; }
.metric-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #2d7ff9; }
.metric-card--warning::before { background: #f59e0b; }
.metric-card--danger::before { background: #ef4444; }
.metric-card--success::before { background: #16a34a; }
.metric-card .card-body { padding: 1.35rem 1.5rem; }
.dashboard-page .display-6 { color: #172b4d; font-size: 2.25rem; }
.inicio-page { max-width: 1120px; }
.inicio-page h1, .inicio-page h2 { color: #172b4d; letter-spacing: -.035em; }
.inicio-page h1 { margin: 0 0 .55rem; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 780; }
.inicio-page h2 { margin: 0; font-size: 1.25rem; font-weight: 750; }
.inicio-welcome { display: grid; gap: 1.3rem; padding: 2rem 2.25rem; border: 1px solid #dcece9; border-radius: 1.2rem; background: linear-gradient(115deg, #f4fcfa, #edf7f6); }
.inicio-welcome p:not(.eyebrow) { max-width: 620px; margin: 0; color: #60758b; font-size: 1.02rem; }
.inicio-welcome__logo { width: min(100%, 390px); max-height: 7.5rem; object-fit: contain; object-position: left center; }
.inicio-day-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; margin-top: 1.15rem; border: 1px solid #dce8ef; border-radius: 1rem; background: #fff; }.inicio-day-summary__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }.inicio-day-summary__item { display: grid; min-width: 6.1rem; gap: .12rem; padding: .5rem .7rem; border-radius: .65rem; color: #446078; background: #f5f8fa; text-align: center; text-decoration: none; }.inicio-day-summary__item:hover { color: #1c756b; background: #e9f5f2; }.inicio-day-summary__item strong { color: #173c5c; font-size: 1.25rem; line-height: 1; }.inicio-day-summary__item span { font-size: .69rem; font-weight: 700; line-height: 1.15; }.inicio-day-summary__item--late { color: #9f3939; background: #fff0f0; }.inicio-day-summary__item--late strong { color: #b43d3d; }
.inicio-focus { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.2rem; padding: 1.45rem 1.5rem; margin-top: 1.15rem; border: 1px solid #dfe8ef; border-radius: 1rem; background: #fff; box-shadow: 0 7px 22px rgba(23,43,77,.05); }
.inicio-focus__icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .9rem; color: #217d73; background: #e2f4ef; }.inicio-focus__icon .oi { width: auto; font-size: 1.35rem; }
.inicio-focus p { margin: .35rem 0 0; color: #697e91; }
.inicio-focus__action { min-height: 44px; border-radius: .65rem; font-weight: 700; white-space: nowrap; }.inicio-focus__action .oi { width: auto; margin-left: .35rem; }
.inicio-attention { margin-top: 1.15rem; }.inicio-attention__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }.inicio-attention-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .9rem; min-height: 5.75rem; padding: 1rem 1.1rem; border: 1px solid #f0dfbf; border-radius: .95rem; color: #2d465e; background: #fffaf0; text-decoration: none; }.inicio-attention-card:hover { color: #2d465e; border-color: #e6c680; background: #fff7e7; }.inicio-attention-card--clear { border-color: #cbe5d8; background: #f2fbf6; }.inicio-attention-card--clear .inicio-attention-card__number { color: #24725d; background: #d9f1e3; }.inicio-attention-card--assignment { border-color: #d7e3ef; background: #f5f9fd; }.inicio-attention-card--assignment:hover { border-color: #a9c7e1; background: #eff7fd; }.inicio-attention-card--latest { border-color: #d4e9e4; background: #f4fbf9; }.inicio-attention-card--latest:hover { border-color: #9ecfc5; background: #edf8f5; }.inicio-attention-card--actionable { align-items: start; }.inicio-attention-card__number { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; border-radius: .75rem; color: #936718; background: #ffedc7; font-size: 1.2rem; font-weight: 800; }.inicio-attention-card--assignment .inicio-attention-card__number { color: #407099; background: #e0effb; }.inicio-attention-card--latest .inicio-attention-card__number { color: #23766c; background: #dff1ec; }.inicio-attention-card__number .oi { width: auto; font-size: 1.05rem; }.inicio-attention-card > span:nth-child(2) { display: grid; gap: .17rem; min-width: 0; }.inicio-attention-card strong { color: #334e68; font-size: .93rem; }.inicio-attention-card small { color: #728499; font-size: .78rem; line-height: 1.3; }.inicio-attention-card__arrow { color: #8b9aac; text-decoration: none; }.inicio-attention-card__arrow .oi { width: auto; font-size: .8rem; }.inicio-attention-card__actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .55rem; }.inicio-attention-card__actions .btn { min-height: 32px; border-radius: .5rem; font-size: .75rem; font-weight: 700; }
.inicio-distribution { margin-top: 1.15rem; padding: 1.15rem; border: 1px solid #cfe5df; border-radius: 1rem; background: #f4fbf9; }.inicio-distribution .inicio-section-heading { margin-bottom: .8rem; }.inicio-distribution__status { display: flex; align-items: center; gap: .9rem; padding: .9rem 1rem; border: 1px solid #b8ded4; border-radius: .75rem; background: #fff; }.inicio-distribution__position { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .75rem; color: #137664; background: #dcf3ed; font-size: 1.15rem; font-weight: 800; }.inicio-distribution__status span:last-child { display: grid; gap: .15rem; }.inicio-distribution__status strong { color: #284b5a; }.inicio-distribution__status small { color: #627e89; }.inicio-distribution__queue { display: flex; flex-wrap: wrap; gap: .65rem; }.inicio-distribution__person { display: flex; align-items: center; gap: .5rem; min-height: 2.55rem; padding: .45rem .7rem; border: 1px solid #d7e9e5; border-radius: .7rem; background: #fff; color: #526d78; }.inicio-distribution__person > span { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; border-radius: 50%; color: #47717a; background: #edf5f3; font-size: .75rem; font-weight: 800; }.inicio-distribution__person strong { color: #385561; font-size: .85rem; }.inicio-distribution__person small { color: #177560; font-size: .72rem; font-weight: 700; }.inicio-distribution__person--next { border-color: #8bd0c1; background: #e9f8f3; }.inicio-distribution__person--next > span { color: #fff; background: #18836d; }
.inicio-reminders { margin-top: 1.15rem; }.inicio-reminders__list { display: grid; gap: .65rem; }.inicio-reminder { display: flex; gap: .8rem; align-items: center; padding: .55rem .65rem .55rem 1rem; border: 1px solid #dce7ef; border-radius: .75rem; color: #334e68; background: #fff; }.inicio-reminder--late { border-color: #e16b6b; background: #fff5f5; animation: inicio-reminder-alert 1.3s ease-in-out infinite; }.inicio-reminder--soon { border-color: #e9bd55; background: #fffaf0; }.inicio-reminder__details { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; flex: 1; gap: .8rem; align-items: center; min-width: 0; color: inherit; text-decoration: none; }.inicio-reminder__details:hover { color: #1f725f; }.inicio-reminder__time { color: #347f73; font-size: .78rem; font-weight: 800; }.inicio-reminder--late .inicio-reminder__time { color: #b43d3d; }.inicio-reminder--soon .inicio-reminder__time { color: #9b6a08; }.inicio-reminder__details span:nth-child(2) { display: grid; gap: .15rem; }.inicio-reminder small { color: #728499; }.inicio-reminder__urgency { width: fit-content; margin-top: .15rem; padding: .08rem .42rem; border-radius: 999px; color: #557085; background: #eef3f7; font-size: .66rem; font-style: normal; font-weight: 800; line-height: 1.35; text-transform: uppercase; }.inicio-reminder--late .inicio-reminder__urgency { color: #a83434; background: #fde1e1; }.inicio-reminder--soon .inicio-reminder__urgency { color: #875c06; background: #fff0c9; }.inicio-reminder__details > .oi { width: auto; color: #8b9aac; }.inicio-reminder__complete { flex: 0 0 auto; min-height: 34px; border-radius: .5rem; font-size: .75rem; font-weight: 700; white-space: nowrap; }.inicio-reminder__complete .oi { width: auto; margin-right: .2rem; }@keyframes inicio-reminder-alert { 50% { border-color: #f3b2b2; box-shadow: 0 0 0 4px rgba(219, 76, 76, .14); } }@media (prefers-reduced-motion: reduce) { .inicio-reminder--late { animation: none; } }
.inicio-welcome { padding: 1.35rem 1.75rem; }
.inicio-welcome h1 { margin-bottom: .25rem; }
.inicio-welcome p:not(.eyebrow) { color: #4f647a; }
.inicio-attention__cards { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.inicio-shortcut__content small, .inicio-focus p { color: #5b6f84; }
.inicio-dashboard-link a { padding: .55rem 1rem; border: 1px solid #267169; border-radius: .6rem; }
.inicio-dashboard-link a:hover { color: #fff; background: #267169; }
.inicio-section-heading { margin-bottom: .9rem; }.inicio-section-heading h2 { font-size: 1.35rem; }
.inicio-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.inicio-shortcut { display: flex; align-items: center; gap: .9rem; min-height: 6.15rem; padding: 1rem 1.1rem; border: 1px solid #e0e8ef; border-radius: .95rem; color: #243b53; background: #fff; box-shadow: 0 5px 16px rgba(23,43,77,.04); text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }.inicio-shortcut:hover { transform: translateY(-2px); color: #243b53; border-color: #aad3cb; box-shadow: 0 12px 26px rgba(23,43,77,.09); }
.inicio-shortcut__icon { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; flex: 0 0 2.7rem; border-radius: .75rem; }.inicio-shortcut__icon .oi { width: auto; font-size: 1.1rem; }.inicio-shortcut__icon--leads { color: #2778a7; background: #e5f3fb; }.inicio-shortcut__icon--pipeline { color: #1f8979; background: #e0f4ef; }.inicio-shortcut__icon--results { color: #ae7014; background: #fff3d9; }.inicio-shortcut__icon--team { color: #7450aa; background: #eee6fb; }
.inicio-shortcut__content { display: grid; gap: .18rem; min-width: 0; flex: 1; }.inicio-shortcut__content strong { font-size: 1rem; }.inicio-shortcut__content small { color: #728499; font-size: .82rem; line-height: 1.3; }.inicio-shortcut > .oi { width: auto; color: #8b9aac; font-size: .85rem; }
.inicio-dashboard-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; margin-top: 1.15rem; border-radius: .9rem; background: #f5f8fb; color: #526a80; }.inicio-dashboard-link div { display: grid; gap: .18rem; }.inicio-dashboard-link strong { color: #2d465e; }.inicio-dashboard-link span { font-size: .88rem; }.inicio-dashboard-link a { color: #267169; font-size: .9rem; font-weight: 750; text-decoration: none; white-space: nowrap; }.inicio-dashboard-link a .oi { width: auto; margin-left: .3rem; }
.leads-page > .d-flex:first-child { padding-bottom: 1rem; border-bottom: 1px solid #e5ebf2; }
.leads-page .table { --bs-table-bg: transparent; }
.leads-page .table > :not(caption) > * > * { padding: .95rem .8rem; vertical-align: middle; }
.leads-page .table thead th { color: #60758b; font-size: .71rem; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; border-bottom-color: #dce5ef; }
.leads-page .table tbody td { color: #273b53; }
.leads-page .badge { padding: .44rem .62rem; border-radius: 999px; font-weight: 650; }
.leads-page .btn-sm { border-radius: .55rem; font-weight: 650; }
.settings-card { max-width: 880px; }
.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(440px, 1.1fr); background: #f4f8fa; }
.auth-layout__intro { min-height: 100vh; display: flex; flex-direction: column; padding: clamp(2rem, 5vw, 5rem); color: #fff; background: radial-gradient(circle at 18% 15%, rgba(112, 208, 197, .34), transparent 23%), radial-gradient(circle at 90% 85%, rgba(95, 159, 190, .27), transparent 27%), #17384d; }
.auth-layout__brand { display: block; width: min(100%, 230px); padding: .55rem .75rem; border-radius: .75rem; background: #fff; }
.auth-layout__brand img { display: block; width: 100%; height: auto; }
.auth-layout__message { max-width: 35rem; margin: auto 0 2.25rem; }
.auth-layout__eyebrow { display: block; margin-bottom: 1.1rem; color: #9ee0d5; font-size: .73rem; font-weight: 800; letter-spacing: .12em; }
.auth-layout__message h1 { margin: 0; color: #fff; font-size: clamp(2rem, 3.1vw, 3.25rem); line-height: 1.12; letter-spacing: -.045em; }
.auth-layout__message p { max-width: 31rem; margin: 1.25rem 0 0; color: #c5d8e4; font-size: 1.08rem; line-height: 1.55; }
.auth-layout__highlights { display: flex; flex-wrap: wrap; gap: .65rem; }
.auth-layout__highlights span { padding: .55rem .75rem; border: 1px solid rgba(181, 223, 221, .28); border-radius: 999px; color: #d7f3ee; background: rgba(255, 255, 255, .07); font-size: .86rem; font-weight: 650; }
.auth-layout__content { min-width: 0; display: grid; place-items: center; padding: clamp(1.5rem, 5vw, 4rem); }
.login-page { width: 100%; display: grid; place-items: center; }
.login-card { width: min(100%, 440px); background: #fff; border: 1px solid #e2eaf0; border-radius: 1.5rem; box-shadow: 0 24px 65px rgba(15, 42, 67, .13); }
.login-card .card-body { padding: clamp(1.75rem, 5vw, 3rem); }
.login-brand { margin-bottom: 2.75rem; }
.login-brand img { display: block; width: min(100%, 190px); height: auto; }
.login-card .card-title { margin: 0; color: #102a43; font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -.045em; }
.login-card__subtitle { margin: .65rem 0 2rem; color: #627b93; font-size: 1rem; }
.login-card .form-label { color: #344b63; font-weight: 700; font-size: .9rem; }
.login-card .form-control { min-height: 50px; border-radius: .7rem; border-color: #cfdbe5; }
.login-card .form-control:focus { border-color: #428298; box-shadow: 0 0 0 .22rem rgba(66, 130, 152, .15); }
.login-card .btn-primary { min-height: 52px; border-radius: .7rem; font-weight: 750; background: #347f8d; border-color: #347f8d; box-shadow: 0 9px 18px rgba(52, 127, 141, .2); }
.login-card .btn-primary:hover { background: #286a76; border-color: #286a76; }
.login-card .btn-primary span { margin-left: .4rem; font-size: 1.15em; }
.password-field { position: relative; }
.password-field .form-control { padding-right: 3rem; }
.password-toggle { position: absolute; top: 50%; right: .5rem; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 0; border-radius: .5rem; background: transparent; color: #627b93; cursor: pointer; }
.password-toggle:hover { color: #286a76; }
.password-toggle:focus-visible { outline: 2px solid #428298; }
.password-toggle .icon-eye-off, .password-toggle.is-visible .icon-eye { display: none; }
.password-toggle.is-visible .icon-eye-off { display: block; }
@media (max-width: 820px) { .auth-layout { display: block; background: radial-gradient(circle at 0 0, #d8f3ef, transparent 48%), #f4f8fa; } .auth-layout__intro { min-height: auto; display: block; padding: 1.5rem 1.5rem 0; background: transparent; } .auth-layout__brand { width: 180px; } .auth-layout__message, .auth-layout__highlights { display: none; } .auth-layout__content { min-height: calc(100vh - 75px); padding: 1.5rem; align-items: start; } .login-card { margin-top: clamp(1rem, 8vh, 4rem); box-shadow: 0 18px 45px rgba(15, 42, 67, .1); } .login-brand { display: none; } }

/* Paleta administrativa suave */
.btn-success { color: #fff; background-color: #347f73; border-color: #347f73; }
.btn-success:hover, .btn-success:focus { color: #fff; background-color: #28685f; border-color: #28685f; }
.btn-outline-primary { color: #3f7180; border-color: #a8c0c5; }
.btn-outline-primary:hover { background-color: #3f7180; border-color: #3f7180; }
.bg-danger { background-color: #b96767 !important; }
.bg-warning { background-color: #e8c587 !important; }
.bg-secondary { background-color: #7c8b99 !important; }

/* Tela de leads */
.leads-header { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid #e3eaf2; margin-bottom: 1.25rem; }
.leads-active-filter { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; border: 1px solid #bcdcd4; border-radius: .7rem; color: #285b56; background: #f0faf7; font-size: .9rem; }.leads-active-filter .btn { flex: 0 0 auto; font-weight: 700; }
.trafego-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.5rem; }.trafego-header__title { flex: 1 1 260px; min-width: 0; }.trafego-header__title h1 { color: #172b4d; letter-spacing: -.035em; }.trafego-filters { display: flex; flex-wrap: wrap; align-items: end; justify-content: end; gap: .5rem; }.trafego-filter { min-width: 148px; }.trafego-filter .form-select, .trafego-filter .form-control { min-height: 38px; }.trafego-filters__button { min-height: 38px; padding-inline: .9rem; font-weight: 700; }
.trafego-performance-mobile { display: none; }.trafego-performance-table { min-width: 900px; margin-bottom: 0; }.trafego-performance-table th { color: #526d7a; font-size: .72rem; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }.trafego-performance-table td { vertical-align: middle; }.trafego-source { display: inline-flex; padding: .27rem .5rem; border-radius: 99px; color: #53697b; background: #edf2f5; font-size: .73rem; font-weight: 800; }.trafego-source--facebook { color: #1b5fae; background: #e4efff; }.trafego-source--instagram { color: #9b3f72; background: #f9e8f2; }.trafego-source--audience-network { color: #7a4a9b; background: #f1e8fa; }.trafego-source--meta { color: #355ca7; background: #e8eefc; }.trafego-utm-value { display: block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.trafego-utm-hint { display: block; margin-top: .1rem; color: #8596a5; font-size: .68rem; }.trafego-metric { color: #29465f; text-align: center; }.trafego-quality { display: flex; flex-wrap: wrap; gap: .25rem; min-width: 145px; }.trafego-quality__item { display: inline-flex; padding: .2rem .38rem; border-radius: .35rem; font-size: .67rem; font-weight: 800; white-space: nowrap; }.trafego-quality__item--ongoing { color: #2a6286; background: #e4f0f8; }.trafego-quality__item--visit { color: #69529a; background: #eee8fa; }.trafego-quality__item--closed { color: #196a4b; background: #dcefe6; }.trafego-quality__item--lost { color: #a34848; background: #fae7e7; }.trafego-conversion { display: inline-flex; padding: .27rem .5rem; border-radius: .35rem; color: #7a620d; background: #fff1d0; font-size: .75rem; font-weight: 800; }.trafego-conversion--attention { color: #8b5c05; background: #ffe6ae; }.trafego-conversion--good { color: #196a4b; background: #dcefe6; }
.eyebrow { color: #28746e; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.leads-header .btn { border-radius: .65rem; font-weight: 700; min-height: 42px; }
.leads-filters { margin: 0; }
.leads-filters summary { display: none; }
.leads-filter-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.leads-filter-bar .form-select { width: 178px; min-height: 42px; border-radius: .65rem; font-size: .9rem; }
.leads-filter-bar .btn { min-height: 42px; border-radius: .65rem; font-weight: 650; }
.date-filter-group { display: flex; align-items: flex-end; gap: 12px; }
.date-filter-item { min-width: 180px; }
.btn-update { align-self: flex-end; }
.leads-search { display: flex; align-items: center; width: min(100%, 290px); min-height: 42px; padding: 0 .75rem; background: #fff; border: 1px solid #ced8e4; border-radius: .65rem; }
.leads-search .oi { width: 1.4rem; color: #7b8da1; }
.leads-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #243b53; font-size: .9rem; }

@media (min-width: 769px) {
    .leads-filters:not([open]) > .leads-filter-bar { display: flex !important; }
    .leads-filters::details-content { content-visibility: visible; display: block; }
}
.message-template { border: 0; background: transparent; }
.message-template summary { display: inline-flex; align-items: center; gap: .5rem; padding: .25rem 0; cursor: pointer; color: #28746e; font-size: .88rem; font-weight: 650; list-style: none; }
.message-template[open] { padding: .9rem 1rem; border: 1px solid #e2e9f1; border-radius: .8rem; background: #fff; }
.message-template[open] summary { margin-bottom: .6rem; }
.message-template summary::-webkit-details-marker { display: none; }
.message-template summary .oi { width: 1.25rem; color: #28746e; }
.message-template summary span { display: grid; gap: .1rem; }
.message-template summary small { color: #8292a5; font-size: .8rem; }
.message-template__content { padding: 0; }
.leads-active-filter__list { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.leads-active-chip { padding: .15rem .65rem; border: 1px solid #bcdcd4; border-radius: 999px; background: #fff; font-size: .8rem; }
.lead-card__next { display: flex; align-items: center; gap: .5rem; margin: 0 0 1rem; padding: .5rem .75rem; border-radius: .6rem; color: #285b56; background: #eef7f5; font-size: .82rem; font-weight: 600; }
.lead-card__next .oi { width: auto; }
.lead-card__next--late { color: #a12622; background: #fde8e8; }
.lead-card__next--stale { color: #8a5a00; background: #fff1d2; }
.message-template__content .form-control { min-height: auto; border-radius: .6rem; }
.leads-table-card { overflow: hidden; border: 1px solid #e1e8f0; border-radius: .9rem; background: #fff; box-shadow: 0 6px 22px rgba(23,43,77,.04); }
.leads-table-card__header { display: flex; justify-content: space-between; align-items: center; padding: 1.05rem 1rem; color: #243b53; border-bottom: 1px solid #e7edf4; }
.leads-table-card__header span { color: #718399; font-size: .82rem; }
.leads-page .table > :not(caption) > * > * { padding: 1.08rem 1rem; }
.leads-page .table thead th { background: #f8fafc; border-bottom: 1px solid #d9e3ee; }
.leads-page .table tbody tr { border-color: #edf1f5; }
.leads-page .table tbody tr:hover { --bs-table-accent-bg: #f4fbfa; }
.leads-page .table tbody td { background: transparent; }
.status-label { color: #496278; font-weight: 600; }
.leads-list-heading { display: flex; justify-content: space-between; align-items: center; margin: 1.25rem .1rem .8rem; color: #243b53; }
.leads-list-heading span { color: #718399; font-size: .82rem; }
.lead-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 1rem; }
.lead-card { min-width: 0; padding: 1.25rem; border: 1px solid #e1e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 5px 16px rgba(23,43,77,.04); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.lead-card:hover { transform: translateY(-2px); border-color: #badad5; box-shadow: 0 12px 28px rgba(23,43,77,.09); }
.lead-card__top { display: flex; align-items: center; gap: .75rem; }
.lead-avatar { display: grid; place-items: center; width: 2.65rem; height: 2.65rem; flex: 0 0 2.65rem; border-radius: .8rem; background: #e2f3f1; color: #1e6f69; font-size: .82rem; font-weight: 800; }
.lead-card__identity { min-width: 0; flex: 1; }
.lead-card__identity h4 { display: -webkit-box; margin: 0 0 .18rem; overflow: hidden; color: #1d3557; font: 700 1rem/1.2 'Inter', sans-serif; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.lead-card__identity span { color: #718399; font-size: .77rem; }
.lead-card .badge { flex: 0 0 auto; }
.lead-card__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr)); gap: .75rem; padding: 1.15rem 0; margin-top: 1rem; border-top: 1px solid #edf1f5; }
.lead-card__facts div { min-width: 0; display: grid; gap: .24rem; }
.lead-card__facts small { color: #8292a5; font-size: .68rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.lead-card__facts strong { color: #334e68; font-size: .82rem; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.lead-card__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.lead-card__footer .status-label { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; }
.lead-card__footer .status-label span { width: .45rem; height: .45rem; border-radius: 50%; background: #38bdf8; }
.lead-card__actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.lead-card__actions .btn { min-height: 34px; border-radius: .55rem; font-weight: 700; }
.status-details-card { padding: 1rem; border: 1px solid #dce7ef; border-radius: .8rem; background: #f8fafc; }.status-details-card--lost { border-color: #efcaca; background: #fff8f8; }.status-details-card--visit { border-color: #c9ddef; background: #f6faff; }.status-details-card__actions { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; }.status-details-card__actions .btn { min-height: 40px; border-radius: .6rem; font-weight: 700; }

/* Equipe */
.team-create-card { padding: 1.5rem; border: 1px solid #dce7e8; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(23,43,77,.06); }
.team-create-card__header { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.team-create-card h4 { margin: 0 0 .25rem; color: #263b4d; font-size: 1.1rem; }
.team-create-card p { margin: 0; color: #738499; font-size: .88rem; }
.team-create-card .form-label { color: #425a70; font-size: .86rem; font-weight: 700; }
.team-create-card .form-control, .team-create-card .form-select { min-height: 44px; border-radius: .65rem; }
.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.team-member { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center; padding: 1.15rem; border: 1px solid #e0e8ef; border-radius: .9rem; background: #fff; box-shadow: 0 5px 16px rgba(23,43,77,.04); }
.team-member__avatar { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #dceeea; color: #246b62; font-size: .78rem; font-weight: 800; }
.team-member__main { min-width: 0; }.team-member__main h4 { margin: 0 0 .2rem; overflow: hidden; color: #263b4d; font: 700 1rem/1.2 'Inter', sans-serif; text-overflow: ellipsis; white-space: nowrap; }.team-member__main span { color: #738499; font-size: .8rem; }
.team-role { padding: .36rem .55rem; border-radius: 99px; color: #526d7a; background: #edf2f4; font-size: .72rem; font-weight: 750; }

@media (max-width: 768px) {
    .inicio-page { padding-top: 1.25rem !important; }
    .inicio-welcome { padding: 1.45rem; }
    .inicio-welcome__logo { width: min(100%, 245px); max-height: 4.7rem; }
    .inicio-welcome p:not(.eyebrow) { font-size: .93rem; line-height: 1.45; }
    .inicio-day-summary { align-items: flex-start; flex-direction: column; padding: 1rem; }.inicio-day-summary__items { width: 100%; }.inicio-day-summary__item { min-width: 0; padding: .55rem .3rem; }
    .inicio-focus { grid-template-columns: auto 1fr; align-items: start; padding: 1.2rem; }
    .inicio-focus__action { grid-column: 1 / -1; width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
    .inicio-reminder { display: grid; grid-template-columns: 1fr; gap: .65rem; align-items: stretch; padding: .85rem; }
    .inicio-reminder__details { grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: start; }
    .inicio-reminder__details > .oi { display: none; }
    .inicio-reminder__time { min-width: 3.55rem; padding: .38rem .3rem; border-radius: .5rem; background: #eef7f5; line-height: 1.35; text-align: center; }
    .inicio-reminder--late .inicio-reminder__time { background: #fde8e8; }
    .inicio-reminder--soon .inicio-reminder__time { background: #fff1d2; }
    .inicio-reminder__complete { width: 100%; min-height: 40px; }
    .inicio-attention__cards { grid-template-columns: 1fr; }
    .inicio-attention-card { min-height: 5.15rem; }
    .inicio-shortcuts { grid-template-columns: 1fr; }
    .inicio-shortcut { min-height: 5.25rem; }
    .inicio-dashboard-link { align-items: flex-start; flex-direction: column; padding: 1.15rem; }
    .date-filter-group { flex-wrap: wrap; width: 100%; }
    .date-filter-item { width: 100%; min-width: 0; }
    .btn-update { align-self: auto; }
}
.team-member__footer { grid-column: 2 / 4; }.team-status { color: #8999a8; font-size: .78rem; }.team-status::before { content: ""; display: inline-block; width: .45rem; height: .45rem; margin-right: .35rem; border-radius: 50%; background: #aab7c2; }.team-status--active { color: #4f766e; }.team-status--active::before { background: #62a995; }
.team-deactivate-backdrop { position: fixed; inset: 0; z-index: 1050; display: grid; place-items: center; padding: 1rem; background: rgba(12, 31, 45, .5); }.team-deactivate-dialog { width: min(100%, 540px); padding: 1.5rem; border-radius: 1rem; background: #fff; box-shadow: 0 20px 60px rgba(12, 31, 45, .25); }.team-deactivate-dialog__header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.team-deactivate-dialog h3 { margin: 0; color: #263b4d; font-size: 1.25rem; }.team-deactivate-dialog p { color: #526d7a; line-height: 1.5; }.team-deactivate-dialog__warning { margin: .75rem 0 0; color: #9b6506; font-size: .9rem; }.team-deactivate-dialog__actions { display: flex; justify-content: end; gap: .65rem; margin-top: 1.25rem; }.team-deactivate-dialog__actions .btn { min-height: 42px; font-weight: 700; }
.empty-team { padding: 3rem 1.5rem; text-align: center; border: 1px dashed #b8c9d2; border-radius: 1rem; color: #718399; }.empty-team__icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin: 0 auto 1rem; border-radius: 50%; background: #e3f0ee; color: #347f73; font-size: 1.6rem; }.empty-team h3 { color: #334e68; font-size: 1.1rem; }.empty-team p { margin: 0; }
@media (max-width: 768px) {
    .trafego-page { padding-top: 1.5rem !important; }
    .trafego-header { display: grid; align-items: stretch; gap: 1.25rem; margin-bottom: 1.25rem; }
    .trafego-header__title h1 { font-size: 1.85rem; }
    .trafego-header__title small { display: block; line-height: 1.45; }
    .trafego-filters { display: grid; grid-template-columns: 1fr; gap: .85rem; }
    .trafego-filter { min-width: 0; }
    .trafego-filter .form-select, .trafego-filter .form-control, .trafego-filters__button { width: 100%; min-height: 46px; font-size: 1rem; }
    .trafego-performance-desktop { display: none; }
    .trafego-performance-mobile { display: grid; gap: .75rem; }
    .trafego-ad-card { display: grid; gap: .75rem; padding: 1rem; border: 1px solid #dce7ef; border-radius: .8rem; background: #fbfdfe; }
    .trafego-ad-card__header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
    .trafego-ad-card__field { display: grid; gap: .14rem; min-width: 0; }
    .trafego-ad-card__field small, .trafego-ad-card__metrics small { color: #7d8ea0; font-size: .69rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
    .trafego-ad-card__field strong { overflow-wrap: anywhere; color: #31495f; font-size: .88rem; line-height: 1.35; }
    .trafego-ad-card__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; padding: .7rem 0; border-top: 1px solid #e5edf2; border-bottom: 1px solid #e5edf2; }
    .trafego-ad-card__metrics span { display: grid; gap: .12rem; text-align: center; }
    .trafego-ad-card__metrics strong { color: #23435c; font-size: 1.1rem; }
    .trafego-ad-card .trafego-quality { min-width: 0; }
    .leads-header { align-items: flex-start; flex-direction: column; }
    .leads-header .btn { width: 100%; }
    .leads-header .leads-export-button--broker { width: auto; min-height: 38px; padding: .45rem .8rem; color: #39717c; background: #fff; border-color: #a8c8c6; font-size: .83rem; }
    .leads-filters { overflow: hidden; border: 1px solid #d8e4eb; border-radius: .75rem; background: #fff; }
    .leads-filters summary { display: flex; align-items: center; gap: .7rem; min-height: 3.65rem; padding: .7rem .9rem; color: #29465f; cursor: pointer; list-style: none; }
    .leads-filters summary::-webkit-details-marker { display: none; }
    .leads-filters summary > .oi:first-child { color: #3d887f; }
    .leads-filters summary strong, .leads-filters summary small { display: block; }
    .leads-filters summary strong { font-size: .9rem; }
    .leads-filters summary small { margin-top: .08rem; color: #738499; font-size: .74rem; }
    .leads-filters-chevron { margin-left: auto; color: #708399; transition: transform .18s ease; }
    .leads-filters[open] .leads-filters-chevron { transform: rotate(180deg); }
    .leads-filters[open] .leads-filter-bar { padding: 0 .9rem .9rem; border-top: 1px solid #e4edf2; }
    .leads-active-filter { align-items: flex-start; flex-direction: column; }.leads-active-filter .btn { width: 100%; min-height: 40px; }
    .leads-filter-bar > * { width: 100% !important; }
    .leads-filter-bar .form-select { width: 100%; }
    .lead-grid { grid-template-columns: 1fr; }
    .lead-card { padding: 1rem; }
    .lead-card__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
    .lead-card__facts > :nth-child(3),
    .lead-card__facts > :nth-child(4) { grid-column: 1 / -1; }
    .lead-card__footer { display: grid; grid-template-columns: 1fr; align-items: stretch; }
    .lead-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .lead-card__actions .btn { width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
    .status-details-card__actions { display: grid; grid-template-columns: 1fr; }.status-details-card__actions .btn { width: 100%; }
    .lead-details-header { align-items: stretch !important; flex-direction: column; gap: .75rem; }
    .lead-details-header > .btn { width: 100%; min-height: 46px; }
    .team-grid { grid-template-columns: 1fr; }
    .team-deactivate-dialog { padding: 1.25rem; }.team-deactivate-dialog__actions { display: grid; grid-template-columns: 1fr; }.team-deactivate-dialog__actions .btn { width: 100%; }
}

@keyframes cascade-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .inicio-reminder { flex-direction: column; align-items: stretch; padding: .75rem; }
  .inicio-reminder__details { grid-template-columns: auto minmax(0, 1fr) auto; }
  .inicio-reminder__details span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
  .inicio-reminder__complete { width: 100%; min-height: 40px; padding: .4rem 1rem; font-size: .85rem; }
}

/* Pipeline */
.trafego-page h6 { overflow-wrap: normal; word-break: normal; hyphens: none; }
.trafego-bar { height: .4rem; margin-top: .6rem; background: #e9eff4; }
.trafego-bar .progress-bar { background: #3d887f; }
.trafego-delta { display: block; margin-top: .15rem; color: #6b7c8f; font-size: .78rem; }
.trafego-insight { margin-bottom: 1rem; }
.trafego-performance-table tfoot td { border-top: 2px solid #dfe8ef; }
.pipeline-status-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.pipeline-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .75rem; border: 1px solid #dfe8ef; border-radius: 999px; color: #243b53; background: #fff; font-size: .85rem; font-weight: 650; text-decoration: none; }
.pipeline-chip span { min-width: 1.4rem; padding: 0 .4rem; border-radius: 999px; color: #fff; background: #6c757d; text-align: center; font-size: .78rem; }
.pipeline-chip.novo span { background: #6c757d; } .pipeline-chip.contato span { background: #0aa2c0; } .pipeline-chip.visita span { background: #0d6efd; } .pipeline-chip.proposta span { background: #c99700; } .pipeline-chip.fechado span { background: #198754; } .pipeline-chip.perdido span { background: #dc3545; }
.pipeline-chip { cursor: pointer; font-family: inherit; line-height: 1.4; }
.pipeline-chip:hover { border-color: #aad3cb; }
.pipeline-chip.is-active { color: #fff; border-color: #267169; background: #267169; }
.pipeline-chip.is-active span { color: #267169; background: #fff !important; }
.pipeline-container--filtered .pipeline-column { flex: 1 1 auto; }
.pipeline-container--filtered .pipeline-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); align-items: start; }
.pipeline-container { display: flex; gap: 1rem; overflow-x: auto; min-height: calc(100vh - 200px); padding-bottom: 1rem; }
.pipeline-column { --col: #6c757d; flex: 0 0 300px; display: flex; flex-direction: column; min-height: 400px; padding: 1rem; border: 2px solid transparent; border-radius: 8px; background-color: #f8f9fa; transition: border-color .2s; scroll-margin-top: 1rem; }
.pipeline-column.column-contato { --col: #0aa2c0; } .pipeline-column.column-visita { --col: #0d6efd; } .pipeline-column.column-proposta { --col: #c99700; } .pipeline-column.column-fechado { --col: #198754; } .pipeline-column.column-perdido { --col: #dc3545; }
.pipeline-column.drag-over { border-color: #0d6efd; background-color: #e7f1ff; }
.pipeline-column--empty { min-height: 0; }
.pipeline-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--col); }
.pipeline-header .badge { background-color: var(--col) !important; }
.pipeline-empty { margin: 0; color: #6b7c8f; font-size: .85rem; }
.pipeline-cards { flex: 1; display: flex; flex-direction: column; gap: .75rem; overflow-y: auto; }
.pipeline-card { position: relative; border-radius: 6px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.1); cursor: pointer; transition: transform .2s, box-shadow .2s; }
.pipeline-card:hover { transform: translateY(-2px); box-shadow: 0 4px 6px rgba(0,0,0,.15); }
.pipeline-card.dragging { opacity: .5; cursor: grabbing; }
.pipeline-card.novo { border-left: 4px solid #6c757d; } .pipeline-card.contato { border-left: 4px solid #0dcaf0; } .pipeline-card.visita { border-left: 4px solid #0d6efd; } .pipeline-card.proposta { border-left: 4px solid #ffc107; } .pipeline-card.fechado { border-left: 4px solid #198754; } .pipeline-card.perdido { border-left: 4px solid #dc3545; }
.pipeline-card .lead-name__link { color: #267169; text-decoration: none; }
.pipeline-card .lead-name__link:hover { text-decoration: underline; }
.pipeline-card .pipeline-badge, .pipeline-card .pipeline-move, .pipeline-card .pipeline-whatsapp { position: relative; z-index: 2; }
.pipeline-card__missing { color: #8a5a00; font-weight: 650; }
.pipeline-card__stale { color: #b42318; font-weight: 650; }
.pipeline-whatsapp { display: inline-flex; flex: 0 0 2.5rem; align-items: center; justify-content: center; width: 2.5rem !important; min-width: 2.5rem; height: 2.5rem; min-height: 2.5rem !important; padding: 0 !important; border-radius: .6rem !important; font-size: 1rem !important; }
.pipeline-whatsapp__icon { width: 1.3rem; height: 1.3rem; }
@media (max-width: 991.98px) {
  .pipeline-page { max-width: 100%; overflow-x: clip; }
  .pipeline-page-header { align-items: stretch !important; flex-direction: column; gap: .75rem; }
  .pipeline-page-header .btn { width: 100%; min-height: 46px; }
  .pipeline-container { display: grid; width: 100%; max-width: 100%; min-height: auto; padding-bottom: 0; overflow: hidden !important; }
  .pipeline-column { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0; min-height: 0; }
  .pipeline-cards { overflow: visible; }
  .pipeline-card { min-height: 88px; }
}
