*{box-sizing:border-box}
:root{
    --bg:#f6f7fb;
    --card:#fff;
    --text:#171b2e;
    --muted:#70758a;
    --primary:#5d68df;
    --primary2:#7b5be7;
    --cyan:#22bfd0;
    --pink:#ef6d9c;
    --dark:#080d1b;
    --border:#e5e8f1;
}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    color:var(--text);
    background:var(--bg);
}
a{text-decoration:none;color:inherit}
button,input{font:inherit}

/* A HOME SEMPRE EXISTE. O BOOT É APENAS UMA CAMADA SOBRE ELA. */
.welcome{
    min-height:100vh;
    padding:60px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 10% 15%,rgba(34,191,208,.10),transparent 28%),
        radial-gradient(circle at 90% 85%,rgba(239,109,156,.10),transparent 30%),
        #f7f8fc;
}
.welcome-glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.glow-one{width:440px;height:440px;background:rgba(93,104,223,.13);left:-100px;top:-100px}
.glow-two{width:380px;height:380px;background:rgba(239,109,156,.11);right:-80px;bottom:-90px}
.welcome-card{
    width:min(790px,100%);
    padding:56px;
    border-radius:30px;
    background:rgba(255,255,255,.90);
    border:1px solid rgba(255,255,255,.96);
    box-shadow:0 30px 90px rgba(31,38,88,.13);
    backdrop-filter:blur(18px);
    position:relative;
    z-index:2;
}
.welcome-header{display:flex;align-items:center;gap:15px}
.welcome-symbol{width:56px;height:50px;overflow:visible}
.welcome-brand{font-size:20px;letter-spacing:.12em}
.welcome-brand b{color:var(--primary)}
.eyebrow{
    margin:32px 0 12px;
    color:var(--primary);
    font-size:11px;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:800;
}
.welcome h1{
    margin:0;
    font-size:43px;
    line-height:1.12;
    letter-spacing:-.035em;
}
.welcome h1 em{
    display:block;
    font-style:normal;
    background:linear-gradient(90deg,var(--primary),var(--pink));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.lead{max-width:670px;color:var(--muted);font-size:17px;line-height:1.72}
.actions{display:flex;gap:12px;margin-top:30px}
.btn{
    min-height:50px;
    padding:13px 22px;
    border:0;
    border-radius:13px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    font-size:14px;
    font-weight:750;
    transition:.2s ease;
}
.btn.primary{
    color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    box-shadow:0 12px 28px rgba(93,104,223,.25);
}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(93,104,223,.32)}
.btn.secondary{background:#eef0fb;color:#5058ba}
.btn.secondary:hover{background:#e6e8f7}
.crisis-note{
    margin-top:30px;
    padding:18px;
    display:flex;
    gap:14px;
    border:1px solid #f0d8df;
    border-radius:16px;
    background:#fff8fa;
}
.crisis-symbol{
    width:30px;height:30px;border-radius:50%;
    display:grid;place-items:center;flex:none;
    color:#ad5269;background:#f8e4e9;font-weight:800;
}
.crisis-note strong{font-size:13px}
.crisis-note p{margin:5px 0 0;color:#746d7b;font-size:12px;line-height:1.6}
.privacy-hint{text-align:center;margin:22px 0 0;color:#9498a8;font-size:11px}

/* BOOT */
.boot-screen{
    position:fixed;
    inset:0;
    z-index:9999;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:30px;
    color:#fff;
    background:
        radial-gradient(circle at 50% 38%,rgba(93,104,223,.24),transparent 35%),
        radial-gradient(circle at 78% 80%,rgba(239,109,156,.12),transparent 30%),
        #080d1b;
    opacity:1;
    visibility:visible;
    transition:opacity .65s ease,visibility .65s ease;
}
.no-js .boot-screen{display:none}
.js .boot-screen[hidden]{display:none}
.boot-screen.boot-finished{opacity:0;visibility:hidden;pointer-events:none}
body.boot-active{overflow:hidden}
.logo-transition{
    width:260px;
    height:205px;
    position:relative;
    display:grid;
    place-items:center;
}
.brand-symbol{
    width:240px;height:190px;
    position:absolute;
    overflow:visible;
}
.brand-symbol-brain{animation:brainLogo 4.2s ease forwards}
.brand-symbol-support{opacity:0;animation:supportLogo 4.2s ease forwards}
@keyframes brainLogo{
    0%,42%{opacity:1;transform:scale(1)}
    62%,100%{opacity:0;transform:scale(.87)}
}
@keyframes supportLogo{
    0%,48%{opacity:0;transform:scale(1.12)}
    70%,100%{opacity:1;transform:scale(1)}
}
.boot-brand{margin-top:3px;font-size:34px;letter-spacing:.14em;text-shadow:0 0 30px rgba(123,91,231,.35)}
.boot-brand span{color:#d7dae7;font-weight:300}
.boot-brand strong{color:#fff;font-weight:800}
.boot-copy{width:100%;height:54px;margin-top:24px;text-align:center;position:relative}
.boot-line{position:absolute;left:0;right:0;margin:0;color:#cbd0df;font-size:16px;opacity:0}
.boot-line-one{animation:firstLine 4.1s ease forwards}
.boot-line-two{animation:secondLine 4.1s ease forwards}
@keyframes firstLine{
    0%,12%{opacity:0;transform:translateY(8px)}
    25%,48%{opacity:1;transform:translateY(0)}
    64%,100%{opacity:0;transform:translateY(-8px)}
}
@keyframes secondLine{
    0%,52%{opacity:0;transform:translateY(8px)}
    70%,96%{opacity:1;transform:translateY(0)}
    100%{opacity:0}
}
.loading-area{width:min(440px,82%);margin-top:30px;text-align:center}
.loading-area>span{
    display:block;margin-bottom:12px;
    color:#7f849a;font-size:10px;
    letter-spacing:.18em;text-transform:uppercase;
}
.loading-area strong{display:block;min-height:24px;font-size:17px;transition:opacity .12s,transform .12s}
.loading-area strong.changing{opacity:0;transform:translateY(4px)}
.progress{height:2px;margin-top:18px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.11)}
.progress i{
    display:block;width:0;height:100%;
    background:linear-gradient(90deg,var(--cyan),var(--primary2),var(--pink));
    animation:loadProgress 4.15s ease forwards;
}
@keyframes loadProgress{to{width:100%}}
.skip-boot{
    margin-top:30px;padding:8px 12px;border:0;background:transparent;
    color:#858ba2;font-size:11px;cursor:pointer;
}
.skip-boot:hover{color:#fff}

/* Existing internal-page styles, self-contained */
.topbar{height:74px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:.11em}
.brand-text b{color:var(--primary)}
.brand-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--primary2))}
.brand-mark span{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff}
.topnav{display:flex;gap:26px;color:var(--muted);font-size:14px;font-weight:600}
.container{width:min(1120px,92%);margin:0 auto;padding:54px 0}
.footer{text-align:center;padding:34px;color:var(--muted);font-size:12px}
.auth-layout{min-height:calc(100vh - 74px);width:min(1100px,92%);margin:auto;padding:50px 0;display:grid;grid-template-columns:1fr 500px;gap:72px;align-items:center}
.auth-layout.single{display:flex;justify-content:center}
.auth-intro{padding:20px}
.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:72px}
.auth-brand{font-size:20px;letter-spacing:.12em}.auth-brand b{color:var(--primary)}
.auth-intro h1{max-width:520px;margin:34px 0 20px;font-size:48px;line-height:1.08;letter-spacing:-.04em}
.auth-intro p{max-width:510px;color:var(--muted);line-height:1.8}
.auth-card{padding:42px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 25px 70px rgba(31,38,88,.08)}
.auth-card .eyebrow{margin-top:0}.auth-card h2{font-size:30px;margin:0 0 8px}.muted{color:var(--muted)}
form{margin-top:28px}label{display:block;font-size:13px;font-weight:700;margin-bottom:17px}
input{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--border);border-radius:11px;background:#fcfcfe;outline:0;font-size:14px}
input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(93,104,223,.10)}
.full{width:100%}.form-link{text-align:center;color:var(--muted);font-size:13px;margin:18px 0 0}.form-link a{color:var(--primary);font-weight:700}
.alert{padding:12px 14px;border-radius:11px;margin:20px 0;font-size:13px}.alert.error{background:#fff1f0;color:#b42318}
.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
.dashboard-header .eyebrow{margin:0 0 8px}.dashboard h1{font-size:38px;letter-spacing:-.03em;margin:0 0 7px}
.status-pill{padding:10px 15px;border-radius:999px;background:#eceeff;color:#5159bd;font-size:12px;font-weight:750}
.status-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#49b878;margin-right:6px}
.today-card{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 18px 45px rgba(93,104,223,.20);margin-bottom:25px}
.today-card .eyebrow{color:#dfe2ff;margin:0 0 10px}.today-card h2{font-size:24px;margin:0 0 8px}.today-card p{margin:0;color:#ebeaff;line-height:1.55}
.btn.light{background:#fff;color:#4f58bd;white-space:nowrap}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.feature-card{padding:24px;border:1px solid var(--border);border-radius:18px;background:#fff;transition:.2s}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(31,38,88,.08)}
.feature-card .icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef0ff;color:var(--primary);font-size:20px;font-weight:800}
.feature-card h2{font-size:17px;margin:17px 0 7px}.feature-card p{color:var(--muted);line-height:1.55;font-size:13px;margin:0}
.feature-card.crisis{background:#fffafa;border-color:#f1d7dd}.feature-card.crisis .icon{background:#f9e7ec;color:#ad5269}
.privacy-box{margin-top:25px;padding:28px 30px;border-radius:20px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.privacy-box .eyebrow{margin:0 0 10px}.privacy-box h2{font-size:20px;margin:0 0 8px}.privacy-box p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.6;font-size:13px}
.privacy-mark{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;flex:none;background:#e9f7ef;color:#3a9a61;font-size:22px;font-weight:800}

@media(max-width:860px){
    .auth-layout{grid-template-columns:1fr;gap:28px}
    .auth-intro{padding:0}.back-link{margin-bottom:34px}.auth-intro h1{font-size:38px}
    .dashboard-grid{grid-template-columns:1fr 1fr}.today-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .welcome-card{padding:36px 24px}.welcome h1{font-size:31px}.actions{flex-direction:column}
    .boot-brand{font-size:27px}.logo-transition{transform:scale(.82);margin-bottom:-15px}
    .topbar{padding:0 20px}.topnav{gap:15px}.container{padding:36px 0}
    .auth-layout{padding:35px 0}.auth-card{padding:30px 22px}
    .dashboard h1{font-size:31px}.dashboard-grid{grid-template-columns:1fr}
    .privacy-mark{display:none}.today-card .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}


/* ===== SOS BIPOLAR V2.2 — LOGOS OFICIAIS E MÓDULO DE CRISE ===== */
.official-logo-transition{
    width:320px;
    height:265px;
    position:relative;
    display:grid;
    place-items:center;
    margin-bottom:5px;
}
.official-logo{
    position:absolute;
    max-width:290px;
    max-height:250px;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 16px 35px rgba(0,0,0,.22));
}
.logo-cycle{animation:officialCycle 4.2s ease forwards}
.logo-support{opacity:0;animation:officialSupport 4.2s ease forwards}
@keyframes officialCycle{
    0%,43%{opacity:1;transform:scale(1)}
    63%,100%{opacity:0;transform:scale(.9)}
}
@keyframes officialSupport{
    0%,49%{opacity:0;transform:scale(1.08)}
    70%,100%{opacity:1;transform:scale(1)}
}
.official-brand-row{
    min-height:115px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
}
.home-official-logo,.home-support-logo{
    width:auto;
    height:108px;
    object-fit:contain;
}
.brand-divider{width:1px;height:74px;background:var(--border)}
.home-crisis-button{
    margin-top:28px;
    padding:20px 22px;
    display:flex;
    align-items:center;
    gap:15px;
    border:1px solid #efcbd3;
    border-radius:18px;
    background:linear-gradient(135deg,#fff7f8,#fff);
    box-shadow:0 12px 35px rgba(157,49,71,.08);
    transition:.2s ease;
}
.home-crisis-button:hover{
    transform:translateY(-2px);
    border-color:#dc9aaa;
    box-shadow:0 16px 38px rgba(157,49,71,.13);
}
.home-crisis-button small{
    display:block;
    margin-bottom:4px;
    color:#a44c61;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.home-crisis-button strong{display:block;color:#8f3047;font-size:18px}
.home-crisis-button p{margin:5px 0 0;color:#7d6a70;font-size:12px}
.pulse-dot{
    width:18px;height:18px;border-radius:50%;flex:none;
    background:#d94f69;
    box-shadow:0 0 0 0 rgba(217,79,105,.45);
    animation:crisisPulse 1.8s infinite;
}
@keyframes crisisPulse{
    0%{box-shadow:0 0 0 0 rgba(217,79,105,.45)}
    70%{box-shadow:0 0 0 13px rgba(217,79,105,0)}
    100%{box-shadow:0 0 0 0 rgba(217,79,105,0)}
}
.crisis-arrow{margin-left:auto;color:#a44c61;font-size:25px}

.floating-crisis-button{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:1000;
    min-height:48px;
    padding:11px 17px;
    display:flex;
    align-items:center;
    gap:9px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#c93955,#a82842);
    box-shadow:0 14px 35px rgba(148,37,59,.30);
    font-size:13px;
    font-weight:800;
    transition:.2s ease;
}
.floating-crisis-button:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(148,37,59,.38)}
.floating-crisis-button span{
    width:24px;height:24px;border-radius:50%;
    display:grid;place-items:center;
    background:rgba(255,255,255,.18);
}

/* Página Estou em crise */
.crisis-page{width:min(960px,100%);margin:auto}
.crisis-back{margin-bottom:28px}
.crisis-hero{
    padding:32px;
    display:flex;
    gap:22px;
    align-items:center;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,255,255,.13),transparent 28%),
        linear-gradient(135deg,#b52f4b,#7f243a);
    box-shadow:0 20px 55px rgba(131,35,56,.23);
}
.crisis-hero-icon{
    width:68px;height:68px;border-radius:50%;
    display:grid;place-items:center;flex:none;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    font-size:34px;font-weight:900;
}
.danger-eyebrow{margin:0 0 9px;color:#ffd7df}
.crisis-hero h1{margin:0 0 9px;font-size:38px;letter-spacing:-.03em}
.crisis-hero p{margin:0;max-width:680px;color:#f9dfe5;line-height:1.65}
.crisis-warning{
    margin-top:24px;
    padding:28px 30px;
    border:1px solid #efcbd3;
    border-radius:20px;
    background:#fff9fa;
}
.crisis-warning h2{margin:0 0 9px;font-size:22px;color:#8f3047}
.crisis-warning>p{margin:0;color:#6f6065;line-height:1.7}
.crisis-warning ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.crisis-warning li{
    position:relative;
    padding-left:24px;
    color:#4f4549;
    line-height:1.55;
}
.crisis-warning li:before{
    content:"";
    position:absolute;left:0;top:.55em;
    width:9px;height:9px;border-radius:50%;
    background:#d94f69;
}
.crisis-actions-grid{
    margin-top:22px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
.crisis-action{
    width:100%;
    min-height:132px;
    padding:20px;
    display:flex;
    align-items:flex-start;
    gap:15px;
    text-align:left;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    color:var(--text);
    box-shadow:0 10px 30px rgba(31,38,88,.05);
    transition:.2s ease;
}
a.crisis-action:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(31,38,88,.09)}
.crisis-action:disabled{opacity:.62;cursor:not-allowed}
.crisis-action.emergency{
    border-color:#df889a;
    background:linear-gradient(135deg,#fff3f5,#fff);
}
.action-icon{
    width:44px;height:44px;border-radius:14px;
    display:grid;place-items:center;flex:none;
    background:#eef0ff;color:var(--primary);
    font-size:21px;font-weight:900;
}
.emergency .action-icon{background:#f8dfe5;color:#a72843}
.whatsapp .action-icon{background:#e2f6e9;color:#278c4c}
.future .action-icon{background:#eef2f5;color:#71808d}
.crisis-action small{
    display:block;margin:1px 0 5px;
    color:var(--muted);
    font-size:10px;font-weight:800;
    letter-spacing:.12em;text-transform:uppercase;
}
.crisis-action strong{display:block;font-size:16px}
.crisis-action p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.crisis-safety-box{
    margin-top:22px;
    padding:22px 25px;
    border-radius:18px;
    background:#16203b;
    color:#fff;
}
.crisis-safety-box strong{font-size:15px}
.crisis-safety-box p{margin:7px 0 0;color:#d9dfed;font-size:13px;line-height:1.65}

@media(max-width:700px){
    .official-brand-row{gap:10px}
    .home-official-logo,.home-support-logo{height:82px}
    .brand-divider{height:58px}
    .official-logo-transition{transform:scale(.82);margin-bottom:-30px}
    .crisis-actions-grid{grid-template-columns:1fr}
    .crisis-hero{align-items:flex-start;padding:25px 22px}
    .crisis-hero-icon{width:51px;height:51px;font-size:25px}
    .crisis-hero h1{font-size:29px}
    .crisis-warning{padding:23px 21px}
    .floating-crisis-button{right:14px;bottom:14px}
}


/* ===== SOS BIPOLAR V3 — BOOT MINIMALISTA CLARO ===== */
.boot-screen.boot-light{
    background:#ffffff;
    color:#142654;
    box-shadow:none;
}
.minimal-boot-logo{
    width:min(320px,76vw);
    display:flex;
    align-items:center;
    justify-content:center;
    animation:minimalLogoSequence 4.5s ease forwards;
}
.minimal-logo-image{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
    filter:drop-shadow(0 12px 26px rgba(20,38,84,.09));
}
.minimal-boot-copy{
    width:min(720px,88vw);
    height:58px;
    margin-top:34px;
    position:relative;
    text-align:center;
}
.minimal-line{
    position:absolute;
    inset:0;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#26375f;
    font-size:18px;
    line-height:1.5;
    font-weight:500;
    letter-spacing:-.01em;
    opacity:0;
}
.minimal-line-one{animation:minimalLineOne 4.5s ease forwards}
.minimal-line-two{animation:minimalLineTwo 4.5s ease forwards}
.minimal-progress{
    width:min(320px,72vw);
    height:2px;
    margin-top:28px;
    border-radius:999px;
    overflow:hidden;
    background:#edf0f5;
}
.minimal-progress span{
    display:block;
    width:0;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#1fb7ca,#5c6be0,#ec799f);
    animation:minimalProgress 4.35s cubic-bezier(.2,.7,.2,1) forwards;
}
.minimal-skip{
    margin-top:24px;
    color:#9aa2b4;
}
.minimal-skip:hover{color:#51607f}

@keyframes minimalLogoSequence{
    0%{opacity:0;transform:translateY(10px) scale(.98)}
    16%,72%{opacity:1;transform:translateY(0) scale(1)}
    88%,100%{opacity:0;transform:translateY(-8px) scale(.985)}
}
@keyframes minimalLineOne{
    0%,18%{opacity:0;transform:translateY(7px)}
    30%,51%{opacity:1;transform:translateY(0)}
    61%,100%{opacity:0;transform:translateY(-6px)}
}
@keyframes minimalLineTwo{
    0%,55%{opacity:0;transform:translateY(7px)}
    67%,90%{opacity:1;transform:translateY(0)}
    100%{opacity:0;transform:translateY(-5px)}
}
@keyframes minimalProgress{to{width:100%}}

@media(max-width:620px){
    .minimal-boot-logo{width:min(260px,72vw)}
    .minimal-line{font-size:16px;padding:0 12px}
    .minimal-progress{width:min(260px,68vw)}
}


/* ===== SOS BIPOLAR V3.1 — DUAS LOGOS TRANSPARENTES + INFORMAÇÕES ===== */
.boot-screen.boot-light{
    background:
        radial-gradient(circle at 50% 35%,rgba(43,192,205,.06),transparent 28%),
        radial-gradient(circle at 55% 72%,rgba(122,91,231,.05),transparent 30%),
        #ffffff;
}
.dual-logo-stage{
    width:min(330px,76vw);
    height:255px;
    position:relative;
    display:grid;
    place-items:center;
}
.boot-official-logo{
    position:absolute;
    width:auto;
    max-width:100%;
    max-height:245px;
    object-fit:contain;
    background:transparent;
    filter:drop-shadow(0 14px 28px rgba(20,38,84,.10));
}
.boot-logo-cycle{
    animation:cycleLogoSequence 5.05s ease forwards;
}
.boot-logo-support{
    opacity:0;
    animation:supportLogoSequence 5.05s ease forwards;
}
@keyframes cycleLogoSequence{
    0%{opacity:0;transform:translateY(8px) scale(.97)}
    10%,39%{opacity:1;transform:translateY(0) scale(1)}
    51%,100%{opacity:0;transform:translateY(-5px) scale(.96)}
}
@keyframes supportLogoSequence{
    0%,43%{opacity:0;transform:translateY(7px) scale(1.04)}
    57%,88%{opacity:1;transform:translateY(0) scale(1)}
    100%{opacity:0;transform:translateY(-5px) scale(.98)}
}
.boot-philosophy{
    width:min(740px,90vw);
    height:48px;
    position:relative;
    text-align:center;
    margin-top:7px;
}
.philosophy-line{
    position:absolute;
    inset:0;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#26375f;
    font-size:18px;
    font-weight:500;
    opacity:0;
}
.philosophy-one{animation:philosophyOne 5.05s ease forwards}
.philosophy-two{animation:philosophyTwo 5.05s ease forwards}
@keyframes philosophyOne{
    0%,12%{opacity:0;transform:translateY(6px)}
    22%,40%{opacity:1;transform:translateY(0)}
    50%,100%{opacity:0;transform:translateY(-5px)}
}
@keyframes philosophyTwo{
    0%,48%{opacity:0;transform:translateY(6px)}
    58%,86%{opacity:1;transform:translateY(0)}
    100%{opacity:0;transform:translateY(-5px)}
}
.boot-information{
    min-height:55px;
    margin-top:19px;
    text-align:center;
}
.information-label{
    display:block;
    margin-bottom:8px;
    color:#9aa2b4;
    font-size:9px;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}
.boot-information strong{
    display:block;
    min-height:25px;
    color:#172958;
    font-size:16px;
    font-weight:700;
    transition:opacity .12s ease,transform .12s ease;
}
.boot-information strong.changing{
    opacity:0;
    transform:translateY(4px);
}
.minimal-progress{
    width:min(310px,70vw);
    margin-top:12px;
}
.minimal-progress span{
    animation-duration:5.05s;
}
.minimal-skip{margin-top:20px}

.official-brand-row img,
.home-official-logo,
.home-support-logo{
    background:transparent!important;
}

@media(max-width:620px){
    .dual-logo-stage{width:min(275px,72vw);height:215px}
    .boot-official-logo{max-height:205px}
    .boot-philosophy{height:50px;margin-top:2px}
    .philosophy-line{font-size:15px;padding:0 12px}
    .boot-information{margin-top:14px}
}


/* ===== SOS BIPOLAR V4 — IDENTIDADE OFICIAL GLOBAL ===== */
.official-topbar{
    min-height:86px;
    height:auto;
    padding:10px 5%;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #e7eaf2;
    box-shadow:0 4px 18px rgba(27,39,79,.035);
}
.official-header-brand{
    display:flex;
    align-items:center;
    min-width:170px;
}
.official-header-logo{
    display:block;
    width:auto;
    height:62px;
    max-width:180px;
    object-fit:contain;
    background:transparent;
}
.topnav{align-items:center}
.topnav a{
    padding:9px 12px;
    border-radius:10px;
    transition:.2s ease;
}
.topnav a:hover{
    background:#f3f5fb;
    color:#4f59bd;
}
.nav-register-link{
    background:#eef0ff;
    color:#4e58ba!important;
    font-weight:800!important;
}
.nav-crisis-link{
    color:#a72d48!important;
    background:#fff2f5;
    font-weight:800!important;
}
.nav-crisis-link:hover{background:#fbe5ea!important}

.official-auth-brand{margin-bottom:24px}
.official-auth-brand img{
    width:auto;
    height:105px;
    display:block;
    object-fit:contain;
    background:transparent;
}

.dashboard-brand-strip{
    margin-bottom:25px;
    padding:18px 22px;
    display:flex;
    align-items:center;
    gap:22px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 10px 28px rgba(31,38,88,.045);
}
.dashboard-main-logo{
    height:70px;
    width:auto;
    object-fit:contain;
}
.dashboard-brand-divider{
    width:1px;
    height:50px;
    background:var(--border);
}
.dashboard-support-identity{
    display:flex;
    align-items:center;
    gap:13px;
}
.dashboard-support-identity img{
    height:62px;
    width:auto;
    object-fit:contain;
}
.dashboard-support-identity small{
    display:block;
    margin-bottom:4px;
    color:#788095;
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.dashboard-support-identity strong{
    color:#27375e;
    font-size:14px;
}

.crisis-identity-row{
    margin-bottom:22px;
    padding:16px 20px;
    display:flex;
    align-items:center;
    gap:16px;
    border:1px solid #e5e8f1;
    border-radius:17px;
    background:#fff;
}
.crisis-identity-row img{
    width:auto;
    height:72px;
    object-fit:contain;
}
.crisis-identity-row small{
    display:block;
    margin-bottom:5px;
    color:#8b7095;
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.crisis-identity-row strong{
    color:#27375e;
    font-size:15px;
}

@media(max-width:700px){
    .official-topbar{
        min-height:76px;
        padding:8px 16px;
    }
    .official-header-logo{
        height:51px;
        max-width:145px;
    }
    .topnav{gap:4px}
    .topnav a{
        padding:8px 7px;
        font-size:12px;
    }
    .dashboard-brand-strip{
        align-items:flex-start;
        flex-direction:column;
        gap:13px;
    }
    .dashboard-brand-divider{
        width:100%;
        height:1px;
    }
    .dashboard-support-identity img{height:52px}
    .crisis-identity-row img{height:60px}
}
