/* Aviador — estilos compartilhados (menu, tokens, utilitários) */
:root{
  --bg:#05070f; --bg-2:#0b1230; --panel:rgba(13,18,40,.72); --panel-2:rgba(255,255,255,.05);
  --line:rgba(255,255,255,.09); --text:#eef2ff; --text-2:rgba(238,242,255,.64); --text-3:rgba(238,242,255,.4);
  --red:#ff4d4d; --coral:#ff7a45; --green:#2fd27d; --green-2:#3ddc97; --gold:#ffc857; --magenta:#ff4fd8; --cyan:#4fd1ff;
  --font-hud:'Chakra Petch','Sora',system-ui,sans-serif; --font:'Sora','Segoe UI',system-ui,sans-serif;
  --safe-b:env(safe-area-inset-bottom,0px); --r:18px;
}
*{box-sizing:border-box;}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;}
body.pagina{background:radial-gradient(1100px 600px at 85% -5%,rgba(255,106,77,.14),transparent 60%),radial-gradient(900px 600px at -5% 40%,rgba(79,209,255,.08),transparent 60%),var(--bg);min-height:100vh;}
a{color:inherit;text-decoration:none;}
button,input,select{font-family:inherit;}
button{cursor:pointer;}
svg{display:block;}
.num{font-variant-numeric:tabular-nums;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
@media (max-width:640px){.wrap{padding:0 14px;}}

/* ── botões ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:999px;padding:11px 18px;font-weight:800;font-size:.85rem;transition:transform .1s,background .2s,filter .2s;white-space:nowrap;}
.btn:hover{background:rgba(255,255,255,.12);}
.btn:active{transform:scale(.98);}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn.pri{border-color:transparent;color:#06110a;background:linear-gradient(160deg,#35e08a,#1aa85e);box-shadow:0 14px 34px rgba(47,210,125,.3);}
.btn.pri:hover{filter:brightness(1.06);}
.btn.coral{border-color:transparent;color:#fff;background:linear-gradient(160deg,#ffa14a,#ff5a3a);box-shadow:0 14px 34px rgba(255,122,69,.35);}
.btn.lg{padding:16px 26px;font-size:1rem;border-radius:16px;}
.btn.block{width:100%;border-radius:16px;padding:15px;}
.btn svg{width:18px;height:18px;}

/* ── menu ── */
.nav{position:sticky;top:0;z-index:60;backdrop-filter:blur(14px);background:rgba(5,7,15,.72);border-bottom:1px solid var(--line);}
.nav .wrap{display:flex;align-items:center;gap:14px;height:64px;}
.nav .logo{display:flex;align-items:center;gap:10px;flex:none;}
.nav .logo svg{width:38px;height:38px;border-radius:10px;filter:drop-shadow(0 6px 14px rgba(255,77,77,.35));}
.nav .logo .word{font-family:var(--font-hud);font-weight:700;font-size:1.15rem;letter-spacing:.07em;line-height:1;}
.nav .logo .word small{display:block;font-family:var(--font);font-weight:700;font-size:.52rem;letter-spacing:.2em;color:var(--text-3);margin-top:3px;text-transform:uppercase;}
.nav .links{display:flex;gap:4px;margin-left:10px;}
.nav .links a{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:12px;font-size:.82rem;font-weight:700;color:var(--text-2);white-space:nowrap;}
@media (max-width:1180px){ .nav .links{margin-left:4px;gap:2px;} .nav .links a{padding:8px 9px;font-size:.76rem;gap:6px;} .nav .links a svg{display:none;} }
.nav .links a svg{width:16px;height:16px;}
.nav .links a:hover{color:var(--text);background:rgba(255,255,255,.06);}
.nav .links a.on{color:var(--text);background:rgba(255,255,255,.09);}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:8px;}
.saldo-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 5px 5px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--line);}
.saldo-pill .lbl{display:block;font-size:.54rem;letter-spacing:.16em;color:var(--text-3);font-weight:800;text-transform:uppercase;}
.saldo-pill .val{display:block;font-family:var(--font-hud);font-weight:700;font-size:1rem;color:var(--gold);line-height:1.05;white-space:nowrap;}
.saldo-pill{flex:none;white-space:nowrap;}
.saldo-pill .add{width:32px;height:32px;border-radius:50%;border:none;color:#06110a;background:var(--green);font-weight:900;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(47,210,125,.35);}
.user-pill{display:inline-flex;align-items:center;gap:10px;padding:5px 6px 5px 6px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);}
.user-pill .av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-hud);font-weight:700;font-size:.78rem;color:#06110a;background:var(--coral);}
.user-pill .nm{font-weight:700;font-size:.8rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.user-pill .sair{width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:var(--text-2);display:flex;align-items:center;justify-content:center;}
.user-pill .sair:hover{background:rgba(255,77,77,.2);color:#fff;}
.user-pill .sair svg{width:15px;height:15px;}
.nav .burger{display:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);align-items:center;justify-content:center;}
.nav .burger svg{width:20px;height:20px;}
@media (max-width:860px){
  .nav .links{display:none;}
  .nav .burger{display:inline-flex;}
  .user-pill .nm{display:none;}
  .user-pill .sair{display:none;}
  .nav .logo .word{font-size:1rem;}
}
@media (max-width:640px){ .saldo-pill{padding:3px 3px 3px 10px;gap:6px;} .saldo-pill .lbl{display:none;} .saldo-pill .val{font-size:.95rem;} .saldo-pill .add{width:28px;height:28px;font-size:16px;} .user-pill{padding:3px;} .user-pill .av{width:28px;height:28px;font-size:.7rem;} .nav .wrap{gap:8px;} }
@media (max-width:420px){ .nav .logo .word small{display:none;} .nav .logo .word{font-size:.95rem;} }
/* celular: backdrop-filter custa caro na GPU (re-desfoca a cada quadro de animação) → fundo mais opaco e sem blur */
@media (max-width:900px){ :root{--panel:rgba(13,18,40,.94);} .nav,.card,.drawer-bg{backdrop-filter:none;-webkit-backdrop-filter:none;} .nav{background:rgba(5,7,15,.95);} }
/* celular: backdrop-filter custa caro na GPU (re-desfoca a cada quadro de animação) → fundo mais opaco e sem blur */
@media (max-width:900px){ :root{--panel:rgba(13,18,40,.94);} .nav,.card,.drawer-bg{backdrop-filter:none;-webkit-backdrop-filter:none;} .nav{background:rgba(5,7,15,.95);} }

/* gaveta do menu (celular) */
.drawer-bg{position:fixed;inset:0;z-index:90;background:rgba(3,5,12,.6);opacity:0;pointer-events:none;transition:opacity .25s;}
.drawer-bg.show{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);z-index:95;background:#0d1228;border-left:1px solid var(--line);padding:18px 16px calc(18px + var(--safe-b));display:flex;flex-direction:column;gap:6px;transform:translateX(105%);transition:transform .32s cubic-bezier(.2,1,.3,1);overflow:auto;}
.drawer.show{transform:none;}
.drawer .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.drawer .top .x{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);font-size:18px;}
.drawer .quem{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line);margin-bottom:8px;}
.drawer .quem .av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-hud);font-weight:700;color:#06110a;background:var(--coral);}
.drawer .quem .nm{font-weight:800;font-size:.9rem;}
.drawer .quem .sd{font-family:var(--font-hud);font-weight:700;color:var(--gold);font-size:.95rem;}
.drawer a.item,.drawer button.item{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:12px;font-weight:700;font-size:.92rem;color:var(--text-2);border:none;background:none;text-align:left;width:100%;}
.drawer a.item svg,.drawer button.item svg{width:20px;height:20px;}
.drawer a.item.on{color:var(--text);background:rgba(255,255,255,.08);}
.drawer a.item:hover,.drawer button.item:hover{color:var(--text);background:rgba(255,255,255,.06);}
.drawer .sep{height:1px;background:var(--line);margin:8px 0;}
.drawer .cta{margin-top:auto;}

/* ícone do baú no menu */
.nav-bau{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(255,200,87,.1);border:1px solid rgba(255,200,87,.35);flex:none;}
.nav-bau svg{width:26px;height:26px;filter:drop-shadow(0 4px 10px rgba(255,184,48,.45));transition:transform .2s;}
.nav-bau:hover svg{transform:translateY(-2px) scale(1.06);}
.nav-bau .dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid var(--bg);box-shadow:0 0 10px var(--red);animation:pulse 1.4s ease-in-out infinite;}
@media (max-width:640px){ .nav-bau{width:34px;height:34px;border-radius:10px;} .nav-bau svg{width:22px;height:22px;} }
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}

/* ── cartões e títulos ── */
.card{padding:20px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px);}
.kicker{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--coral);font-weight:800;margin:0 0 8px;}
h1.t{margin:0 0 8px;font-family:var(--font-hud);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.1;}
h2.t{margin:0 0 8px;font-family:var(--font-hud);font-weight:700;font-size:1.25rem;}
.sub{margin:0 0 20px;color:var(--text-2);font-size:.95rem;line-height:1.6;max-width:640px;}
.chip{display:inline-block;border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:999px;padding:5px 11px;font-family:var(--font-hud);font-weight:700;font-size:.78rem;}
.chip.b1{color:#cfd6ff;} .chip.b2{color:var(--green-2);border-color:rgba(61,220,151,.35);} .chip.b3{color:var(--gold);border-color:rgba(255,200,87,.4);} .chip.b4{color:var(--magenta);border-color:rgba(255,79,216,.45);}
.nota{padding:12px;border-radius:12px;background:rgba(255,200,87,.08);border:1px solid rgba(255,200,87,.3);color:var(--text-2);font-size:.8rem;line-height:1.5;}
.nota.ok{background:rgba(47,210,125,.1);border-color:rgba(47,210,125,.4);color:var(--text);}
.nota.err{background:rgba(255,77,77,.1);border-color:rgba(255,77,77,.4);color:#ffb4b4;}
.vazio{padding:28px 14px;text-align:center;color:var(--text-3);font-size:.82rem;font-weight:600;}
