/* Vidro e luz l1. Valores de web/tokens.css; independente dos layouts do app. */
@font-face{font-family:Inter;src:url('/brand/inter-400.ttf') format('truetype');font-weight:400;font-display:swap}

@font-face{font-family:Inter;src:url('/brand/inter-500.ttf') format('truetype');font-weight:500;font-display:swap}

@font-face{font-family:Inter;src:url('/brand/inter-600.ttf') format('truetype');font-weight:600 900;font-display:swap}

:root{color-scheme:dark;--bg:#000;--surface:#0b0b0e;--raised:#111115;--card3:#18181d;--ink:#f4f3f9;--muted:#b2afc0;--tertiary:#a09bab;--line:rgba(255,255,255,.09);--highlight:rgba(255,255,255,.06);--accent:#aa91ff;--on-accent:#18131f;--soft:#241e33;--green:#5fd4a0;--amber:#ffbe5c;--danger:#ff6b7a;--aurora:rgba(170,145,255,.14);--shadow:0 16px 40px -24px #000;--glow:rgba(170,145,255,.4);--radius:16px;--font:Inter,system-ui,sans-serif;--display:var(--font);--deadline-safe-bg:#10281f;--deadline-safe-ink:var(--green);--deadline-safe-border:#4b9671;--deadline-soon-bg:#2d2317;--deadline-soon-ink:var(--amber);--deadline-soon-border:#a17b40;--deadline-late-bg:#361820;--deadline-late-ink:var(--danger);--deadline-late-border:#b5606e}

:root[data-theme=light]{color-scheme:light;--bg:#f1f0f7;--surface:#fff;--raised:#f8f7fb;--card3:#efedf5;--ink:#14121b;--muted:#625e70;--tertiary:#6b6879;--line:rgba(24,20,44,.12);--highlight:#fff;--accent:#6340bc;--on-accent:#fff;--soft:#eee9f8;--green:#13734f;--amber:#9a4a00;--danger:#b5263c;--aurora:rgba(99,64,188,.1);--shadow:0 1px 2px #18142c08,0 16px 40px -24px #34246e30;--glow:rgba(99,64,188,.18);--deadline-safe-bg:#e7f3ec;--deadline-safe-border:#82ad96;--deadline-soon-bg:#fff1dd;--deadline-soon-border:#b88b51;--deadline-late-bg:#fbe6eb;--deadline-late-border:#c67b87}

@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg:#f1f0f7;--surface:#fff;--raised:#f8f7fb;--card3:#efedf5;--ink:#14121b;--muted:#625e70;--tertiary:#6b6879;--line:rgba(24,20,44,.12);--highlight:#fff;--accent:#6340bc;--on-accent:#fff;--soft:#eee9f8;--green:#13734f;--amber:#9a4a00;--danger:#b5263c;--aurora:rgba(99,64,188,.1);--shadow:0 1px 2px #18142c08,0 16px 40px -24px #34246e30;--glow:rgba(99,64,188,.18);--deadline-safe-bg:#e7f3ec;--deadline-safe-border:#82ad96;--deadline-soon-bg:#fff1dd;--deadline-soon-border:#b88b51;--deadline-late-bg:#fbe6eb;--deadline-late-border:#c67b87}
}

*{box-sizing:border-box}
[hidden]{display:none!important}

body{margin:0;background:radial-gradient(ellipse 85% 400px at 55% -100px,var(--aurora),transparent 75%),var(--bg);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}

h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:600;line-height:1.15;letter-spacing:-.03em}
h1{font-size:40px}
h2{font-size:20px}
h3{font-size:16px}
p{color:var(--muted)}
a{color:var(--accent);text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit;max-width:100%}
button,.button,.cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--ink);font-weight:500;text-decoration:none;cursor:pointer}
button:hover,.button:hover{border-color:var(--accent)}
button:disabled{opacity:.6;cursor:wait}
.primary,.cta{background:linear-gradient(180deg,#7354e8,#5a36b0);color:#fff;border-color:#9473f1;box-shadow:inset 0 1px #ffffff30,0 6px 24px -12px var(--glow)}
input,select,textarea{min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--raised)}
label{display:grid;gap:8px;font-size:13px;font-weight:500}
input::placeholder{color:var(--tertiary);opacity:1}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
small,.hint{font-size:12px;color:var(--tertiary)}
.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand-lockup img{width:32px;height:32px}
.brand-lockup :is(b,strong){font-size:14px;letter-spacing:-.02em}
.brand-lockup small{display:block;font-weight:400}
.theme-toggle{width:44px;padding:0;flex:none}
.page-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px}
.error,[role=alert]{color:var(--danger)}
.sip-intro{font-size:12px;color:var(--muted);margin:0 0 24px}
.sip-intro summary{cursor:pointer}
.sip-intro p{padding-top:12px}

@media(prefers-reduced-motion:no-preference){button,a,input{transition:border-color .18s,background-color .18s}
.glass-enter{animation:glass-rise .4s ease-out both}
@keyframes glass-rise{from{opacity:0;transform:translateY(6px)}
}
}


/* Entradas servidas no servidor. Uma folha para cadastro, conta, roteiro e portão. */
main{width:min(560px,calc(100% - 32px));margin:48px auto;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:inset 0 1px var(--highlight),var(--shadow)}
main>h1{font-size:32px}
main>form{display:grid;gap:16px;margin-top:28px}
main>form>button{background:linear-gradient(180deg,#7354e8,#5a36b0);color:white;text-align:left;justify-content:flex-start;flex-wrap:wrap}
main>form>button small{width:100%;color:#e2d8fb}
input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--accent)}
.addr{display:flex;align-items:center;gap:8px}
.addr input{flex:1}
.addr span{color:var(--muted);font-weight:400}
.brand-logo{width:44px;height:44px}
.brand{color:var(--accent);font-weight:600}
footer{margin-top:32px;font-size:12px;color:var(--muted)}
.guide main{width:min(1120px,calc(100% - 32px));padding:0;border:0;background:none;box-shadow:none}
.guide header{padding:24px 0}
.guide h1{font-size:clamp(36px,6vw,64px);margin:16px 0 32px}
.guide .notice,.guide article{padding:24px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:inset 0 1px var(--highlight)}
.guide .notice{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.guide .notice p{margin:12px 0}
.guide .groups{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.guide .groups a{padding:10px 16px;border-radius:10px;background:var(--raised);border:1px solid var(--line);text-decoration:none;min-height:44px}
.guide section{margin-top:40px;scroll-margin-top:24px}
.guide .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px}
.guide article a{display:block;min-height:44px}
.guide article p{font-size:14px}
.guide form{margin-top:16px}
.guide b{color:var(--ink)}
@media(max-width:600px){main{margin:16px auto;padding:24px}
main>h1{font-size:28px}
.addr{flex-wrap:wrap}
.addr input{flex-basis:100%}
.guide .notice,.guide article{padding:20px}
.page-brand{margin-bottom:28px}
}


body{min-height:100svh;background-attachment:fixed;background-repeat:no-repeat}


.guide header>.brand-logo{display:none}

/* Contas e destinos usam os mesmos cartões de vidro do painel. */
main:has(.account-choices){width:min(580px,calc(100% - 32px))}
.account-choices{gap:10px;margin-top:24px}
main>.account-choices>.account-card{display:flex;flex-wrap:nowrap;align-items:center;gap:14px;padding:16px;text-align:left;background:var(--raised);border:1px solid var(--line);color:var(--ink);box-shadow:inset 0 1px var(--highlight);border-radius:15px;min-height:86px}
main>.account-choices>.account-card:first-of-type{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:radial-gradient(ellipse at 0 0,var(--aurora),transparent 75%),var(--surface);box-shadow:inset 0 1px var(--highlight),0 14px 42px -28px var(--accent)}
.account-avatar{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;font-size:13px;background:var(--soft);color:var(--accent);border:1px solid var(--line)}.account-copy{flex:1;min-width:0}.account-name{font-size:14px;font-weight:500}.account-role{display:inline-block;padding:1px 6px;font-size:10px;color:var(--accent);border-radius:10px;border:1px solid var(--line);background:var(--soft);margin-left:8px}.account-copy small{display:block;width:auto;margin-top:4px;font-size:11px;color:var(--tertiary)}.account-chevron{font-size:24px;color:var(--tertiary)}
.guide .groups{gap:6px}.guide .groups a{background:var(--raised);border-color:var(--line);font-size:12px;color:var(--muted);border-radius:24px;padding:8px 14px;min-height:38px}.guide .groups a:hover{color:var(--accent);border-color:var(--accent)}
.guide article{padding:0;overflow:hidden}.guide article .destination-card{padding:24px;color:var(--ink);text-decoration:none;display:block;height:100%}.destination-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--soft);border:1px solid var(--line);border-radius:10px;color:var(--accent);font-size:20px;margin-bottom:20px}.guide .destination-card h3{font-size:17px;line-height:1.35;letter-spacing:-.015em;margin:0 0 20px}.destination-card h3 span{float:right;color:var(--tertiary)}.guide .destination-card p{font-size:13px;line-height:1.6;margin:16px 0 0}.guide .destination-card b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--tertiary);font-weight:500;margin-bottom:6px}.guide article:has(a:hover){border-color:var(--accent)}
main>footer .sip-intro{font-size:10px;margin:24px 0 0}.page-brand{margin-bottom:32px}main:has(input[type=password]){margin-top:12vh}
@media(max-width:600px){.account-role{display:table;margin:4px 0 0}.account-copy small{font-size:10px}.account-avatar{width:36px;height:36px}.guide article .destination-card{padding:20px}.guide h1{font-size:36px}.guide .groups{gap:6px}.guide .groups a{font-size:11px}main:has(input[type=password]){margin-top:8vh}}
.account-role:empty{display:none}
