/* Tela de entrada, licença e conta. Usa os mesmos tokens do app.css (--bg, --text, --accent...). Nada de estilo inline: tudo aqui. */
dialog.ac-gate,dialog.ac-onb{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;color:var(--text);background:radial-gradient(120% 70% at 50% -12%,#ff7a2f40,#d2501a14 45%,transparent 70%),var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
dialog.ac-gate::backdrop,dialog.ac-onb::backdrop{background:var(--bg);backdrop-filter:none}
dialog.ac-gate:not([open]),dialog.ac-onb:not([open]),dialog.ac-menu:not([open]){display:none}
.ac-caixa{box-sizing:border-box;width:100%;max-width:400px;min-height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-2) 0}
.ac-logo{display:block;width:min(220px,70%);height:auto;margin:0 auto var(--space-1)}
.ac-tela{display:flex;flex-direction:column;gap:var(--space-2);animation:ac-entra 360ms var(--ease) both}
.ac-tela h2{margin:0;font-size:30px;line-height:1.12;font-weight:700;letter-spacing:-.03em;text-align:center;outline:none}
.ac-tela h2 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:1.14em;letter-spacing:-.01em;color:var(--accent-soft)}
.ac-texto{margin:0;text-align:center;color:var(--muted);font-size:var(--type-body);line-height:1.5}
.ac-texto strong{color:var(--text);font-weight:600}
.ac-aviso{margin:0;padding:12px var(--space-2);border-radius:14px;background:#ff7a2f1f;border:1px solid #ff7a2f55;color:var(--text);font-size:var(--type-label);text-align:center}
.ac-msg{margin:0;min-height:0;font-size:var(--type-label);text-align:center;color:var(--accent-soft)}
.ac-msg:empty{display:none}
.ac-msg.erro{padding:12px var(--space-2);border-radius:14px;background:#d9391f26;border:1px solid #ff6a4a66;color:#ffd9cf}
.ac-form{display:flex;flex-direction:column;gap:var(--space-1);margin:0}
.ac-form label{font-size:var(--type-label);font-weight:500;color:var(--muted)}
.ac-campo{box-sizing:border-box;width:100%;min-height:52px;padding:0 var(--space-2);color:var(--text);font:500 17px/1.2 Inter,system-ui,sans-serif;background:#ffffff0f;border:1px solid var(--line-strong);border-radius:14px;transition:border-color 180ms ease-out,background 180ms ease-out}
.ac-campo:focus{outline:none;border-color:var(--accent);background:#ffffff16}
.ac-campo:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ac-campo.codigo{text-align:center;font-size:28px;font-weight:600;letter-spacing:.38em;text-indent:.38em;font-variant-numeric:tabular-nums}
.ac-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:0 var(--space-3);margin:0;font:600 16px/1.1 Inter,system-ui,sans-serif;text-align:center;text-decoration:none;color:var(--text);background:var(--glass);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;touch-action:manipulation;transition:background 180ms ease-out,transform 180ms var(--ease),opacity 180ms ease-out}
.ac-btn:hover{background:var(--glass-hover)}
.ac-btn:active{transform:scale(.98)}
.ac-btn.principal{color:var(--ink);background:#fff;border-color:transparent}
.ac-btn.principal:hover{background:#fff3ea}
.ac-btn.perigo{color:#ffd9cf;border-color:#ff6a4a66}
.ac-btn:focus-visible,.ac-link:focus-visible,.ac-fechar:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.ac-btn[disabled]{opacity:.55;cursor:default;transform:none}
.ac-btn svg{width:20px;height:20px;flex:none}
.ac-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-1);margin:0 auto;font:500 var(--type-label)/1.3 Inter,system-ui,sans-serif;color:var(--muted);background:none;border:0;border-radius:10px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;touch-action:manipulation}
.ac-link:hover{color:var(--text)}
.ac-rodape{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:var(--space-1)}
.ac-spin{width:44px;height:44px;margin:var(--space-1) auto;border-radius:50%;border:3px solid #ffffff22;border-top-color:var(--accent);animation:ac-gira 900ms linear infinite}
.ac-dica{margin:0;text-align:center;color:var(--faint);font-size:var(--type-caption)}
.ac-aparelho{padding:var(--space-2);border-radius:16px;background:var(--glass);border:1px solid var(--line);text-align:center}
.ac-aparelho b{display:block;font-size:17px;font-weight:600}
.ac-aparelho span{color:var(--muted);font-size:var(--type-label)}

/* Menu (gaveta): direita no computador, de baixo no celular */
.ac-menu-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:50%;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ac-menu-btn:hover{color:var(--text);background:var(--glass-hover)}
.ac-menu-btn svg{width:20px;height:20px}
dialog.ac-menu{position:fixed;margin:0;padding:var(--space-3);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-2);color:var(--text);background:#18120e;border:1px solid var(--line);overflow-y:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
dialog.ac-menu:not([open]){display:none}
dialog.ac-menu::backdrop{background:#0a0706b3;backdrop-filter:blur(4px)}
@media (min-width:700px){dialog.ac-menu{inset:0 0 0 auto;width:min(360px,100%);max-width:none;height:100dvh;max-height:none;border-radius:24px 0 0 24px;animation:ac-lado 280ms var(--ease) both}}
@media (max-width:699.98px){dialog.ac-menu{inset:auto 0 0 0;width:100%;max-width:none;max-height:88dvh;border-radius:24px 24px 0 0;padding-bottom:max(var(--space-3),env(safe-area-inset-bottom));animation:ac-baixo 280ms var(--ease) both}}
.ac-menu-topo{display:flex;align-items:center;justify-content:space-between}
.ac-menu h2{margin:0;font-size:var(--type-heading);font-weight:700;letter-spacing:-.02em}
.ac-menu-lista{display:flex;flex-direction:column;gap:6px}
.ac-menu-item{box-sizing:border-box;display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:0 var(--space-2);font:500 16px/1.2 Inter,system-ui,sans-serif;text-align:left;text-decoration:none;color:var(--text);background:transparent;border:1px solid transparent;border-radius:14px;cursor:pointer;touch-action:manipulation}
.ac-menu-item:hover{background:var(--glass-hover)}
.ac-menu-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ac-menu-item svg{width:22px;height:22px;flex:none;color:var(--accent-soft)}
.ac-menu-rodape{margin:auto 0 0;padding-top:var(--space-2);text-align:center;color:var(--faint);font-size:var(--type-caption)}
.ac-passos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ac-passos li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--type-body);line-height:1.45}
.ac-passos svg{width:24px;height:24px;flex:none;margin-top:1px;color:var(--accent-soft)}

/* Primeiros passos */
dialog.ac-onb{padding:max(var(--space-2),env(safe-area-inset-top)) 0 max(var(--space-2),env(safe-area-inset-bottom));overflow:hidden}
.ac-onb-caixa{box-sizing:border-box;width:100%;max-width:960px;height:100%;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-1)}
.ac-onb-topo{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-2);min-height:44px}
.ac-pontos{display:flex;gap:8px;align-items:center}
.ac-ponto{width:8px;height:8px;border-radius:999px;background:#ffffff33;transition:width 240ms var(--ease),background 240ms ease-out}
.ac-ponto.ativo{width:24px;background:var(--accent)}
.ac-pular{margin:0}
.ac-trilha{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ac-trilha::-webkit-scrollbar{display:none}
.ac-slide{box-sizing:border-box;flex:0 0 100%;min-width:0;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);overflow-y:auto}
.ac-vis{display:flex;justify-content:center;min-height:0}
.ac-clipe{display:block;height:min(46dvh,420px);width:auto;aspect-ratio:780/1520;border-radius:22px;border:1px solid var(--line-strong);background:#000;box-shadow:0 24px 60px #0000008c;object-fit:cover}
.ac-vis-icone{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:#ff7a2f26;border:1px solid #ff7a2f55;color:var(--accent-soft)}
.ac-vis-icone svg{width:44px;height:44px}
.ac-slide-txt{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-1)}
.ac-slide-txt h2{margin:0;font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.03em;text-align:center;outline:none}
.ac-slide-txt .ac-passos{margin-top:var(--space-1)}
.ac-onb-botoes{display:flex;gap:var(--space-1);align-items:center;justify-content:center;flex-wrap:wrap;padding:0 var(--space-2);width:100%;max-width:520px;margin:0 auto;box-sizing:border-box}
.ac-onb-botoes .ac-btn{flex:1 1 140px;width:auto}
.ac-onb-botoes [hidden]{display:none}
@media (min-width:900px){.ac-slide{flex-direction:row;gap:var(--space-6);padding:0 var(--space-6)}.ac-slide-txt{text-align:left}.ac-slide-txt h2{text-align:left;font-size:34px}.ac-slide-txt .ac-texto{text-align:left;font-size:18px}.ac-clipe{height:min(62dvh,520px)}}
@media (max-height:640px){.ac-clipe{height:34dvh}}
@keyframes ac-lado{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes ac-baixo{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.ac-campo::placeholder{color:#ffffff38}

/* Minha conta */
dialog.ac-conta{padding:var(--space-3);border-radius:24px;background:#18120e}
dialog.ac-conta h2{margin:0;font-size:var(--type-heading);font-weight:700;letter-spacing:-.02em}
.ac-conta-topo{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}
.ac-fechar{box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;font-size:24px;line-height:1;color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:50%;cursor:pointer}
.ac-linhas{display:grid;grid-template-columns:auto 1fr;gap:10px var(--space-2);margin:0 0 var(--space-3);font-size:var(--type-label)}
.ac-linhas dt{color:var(--muted)}
.ac-linhas dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:500}
.ac-conta h3{margin:0 0 var(--space-1);font-size:var(--type-label);font-weight:600;color:var(--muted);letter-spacing:.02em}
.ac-lista{list-style:none;margin:0 0 var(--space-1);padding:0;display:flex;flex-direction:column;gap:var(--space-1)}
.ac-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-1);padding:12px var(--space-2);border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.ac-item-info{min-width:0;flex:1 1 160px}
.ac-item-info b{display:block;font-weight:600;font-size:var(--type-label)}
.ac-item-info span{color:var(--muted);font-size:var(--type-caption)}
.ac-item .ac-btn{width:auto;min-height:44px;padding:0 var(--space-2);font-size:var(--type-label)}
.ac-selo{padding:4px 10px;font-size:var(--type-caption);font-weight:600;color:var(--ink);background:var(--accent-soft);border-radius:999px}
.ac-conta .ac-msg{margin:var(--space-1) 0}
.ac-conta .ac-btn{margin-top:var(--space-1)}

@keyframes ac-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ac-gira{to{transform:rotate(360deg)}}
@media (max-height:560px){.ac-caixa{justify-content:flex-start}.ac-logo{width:150px}}
@media (prefers-reduced-motion:reduce){dialog.ac-menu{animation:none}.ac-ponto{transition:none}.ac-tela{animation:none}.ac-spin{animation:none;border-top-color:var(--accent);border-right-color:var(--accent)}.ac-btn,.ac-campo{transition:none}.ac-btn:active{transform:none}}

/* Aviso curto (som que não abriu) */
.ac-toast{position:fixed;left:50%;bottom:max(var(--space-3),env(safe-area-inset-bottom));z-index:300;box-sizing:border-box;max-width:min(420px,calc(100% - 32px));padding:12px var(--space-2);border-radius:14px;background:#2a1a12;border:1px solid #ff7a2f66;color:var(--text);font-size:var(--type-label);text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity 200ms ease-out,transform 200ms var(--ease)}
.ac-toast.ver{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.ac-toast{transition:none}}
