@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url(fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-weight:800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2")}
:root{
  --bg:#F3F7F7; --card:#FFFFFF; --linha:#DCE7E8; --tx:#062027; --tx2:#4F6F76; --tx3:#557379;
  --petroleo:#062027; --ciano:#0E9AA7; --ciano-cl:#2EC5D3; --verde:#1FE28A; --verde-tx:#0B8F55;
  --rosa:#D62F4E; --ouro:#F5B84A; --azul-esc:#0A7380; --trilho:#EEF3F4;
  --f-disp:"Bricolage Grotesque","Inter",system-ui,sans-serif; --f-txt:"Inter",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:var(--bg)}
body{font:15px/1.45 var(--f-txt);color:var(--tx);-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin:0}
#app{max-width:480px;margin:0 auto;min-height:100vh;padding:calc(18px + env(safe-area-inset-top)) 18px calc(110px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}
#app.carregando{align-items:center;justify-content:center}
#app.cheio{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.spinner{width:36px;height:36px;border-radius:50%;border:4px solid var(--linha);border-top-color:var(--ciano);animation:gira 1s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.b{font-family:var(--f-disp);font-weight:800;letter-spacing:-.3px}
.cx{background:var(--card);border:1px solid var(--linha);border-radius:18px;padding:14px 16px}
.esc{background:var(--petroleo);color:#fff;border:none}
.rot{font-size:13px;color:var(--tx2)}
.dica{font-size:12px;color:var(--tx3);text-align:center}
.erro{font-size:13.5px;color:var(--rosa);font-weight:600}
.btn{min-height:52px;border-radius:14px;border:none;background:var(--ciano);color:#fff;font:600 16px var(--f-txt);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;width:100%;padding:0 16px}
.btn:disabled{opacity:.55;cursor:default}
.btn.sec{background:var(--card);color:var(--tx);border:1.5px solid #CFDDDF}
.btn.perigo{background:var(--rosa)}
.lnk{background:none;border:none;color:var(--azul-esc);font:700 14.5px var(--f-txt);cursor:pointer;padding:8px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
label.rot{display:block;margin-bottom:-6px}
.campo{height:50px;border-radius:12px;border:1.5px solid #CFDDDF;background:var(--card);padding:0 14px;font:16px var(--f-txt);color:var(--tx);width:100%}
.campo:focus{border-color:var(--ciano)}
select.campo{appearance:auto}
.chip{border:1.5px solid #CFDDDF;background:var(--card);border-radius:999px;padding:9px 13px;font:600 14px var(--f-txt);color:var(--tx);cursor:pointer}
.chip.on{background:var(--ciano);border-color:var(--ciano);color:#fff}
.linha-chips{display:flex;gap:8px;flex-wrap:wrap}
.barra{height:10px;border-radius:5px;background:var(--trilho);overflow:hidden}
.barra>i{display:block;height:100%;border-radius:5px;background:var(--ciano)}
.lin{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--trilho);font-size:14.5px;gap:10px}
.lin:last-child{border-bottom:none}
.lin small{display:block;font-size:12px;color:var(--tx3)}
.num{font-variant-numeric:tabular-nums}
.x{background:none;border:none;color:var(--tx3);font-size:20px;cursor:pointer;min-width:44px;min-height:44px;line-height:1;margin:-8px -10px -8px 0}
.topo{display:flex;justify-content:space-between;align-items:center;gap:10px}
.abas{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;height:calc(76px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--linha);display:flex;align-items:flex-start;justify-content:space-around;padding:8px 6px env(safe-area-inset-bottom);z-index:10}
.aba{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:3px;color:#5F7C82;font:500 11px var(--f-txt);width:62px;cursor:pointer;padding:4px 0}
.aba.on{color:var(--azul-esc);font-weight:700}
.mais{width:56px;height:56px;border-radius:18px;background:var(--ciano);color:#fff;font-size:30px;border:none;margin-top:-26px;box-shadow:0 6px 14px rgba(14,154,167,.35);cursor:pointer}
.veu{position:fixed;inset:0;background:rgba(6,32,39,.45);display:flex;align-items:flex-end;justify-content:center;z-index:20}
.folha{background:var(--bg);width:100%;max-width:480px;border-radius:24px 24px 0 0;padding:20px 18px calc(26px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-height:92vh;overflow-y:auto}
.tela-cheia{position:fixed;inset:0;z-index:30;background:var(--bg);overflow-y:auto}
.tela-cheia>div{max-width:480px;margin:0 auto;min-height:100%;padding:calc(30px + env(safe-area-inset-top)) 22px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--petroleo);color:#fff;padding:10px 16px;border-radius:12px;font:600 14px var(--f-txt);z-index:40;max-width:90vw;text-align:center}
.passos{display:flex;gap:5px}.passos span{flex:1;height:5px;border-radius:3px;background:var(--linha)}.passos span.on{background:var(--ciano)}
.selo{display:inline-flex;align-items:center;gap:6px;background:#173a41;color:#fff;border-radius:999px;padding:6px 12px;font:700 12.5px var(--f-txt)}
.tag{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--trilho);color:var(--tx2)}
.tag.ok{background:#E3F8EE;color:var(--verde-tx)}
.abas-auth{display:flex;gap:6px;background:var(--trilho);border-radius:12px;padding:4px}
.abas-auth .chip{flex:1;border:none;background:transparent}
.abas-auth .chip.on{background:var(--ciano)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--tx2)}
.check input{width:20px;height:20px;margin-top:1px;flex:none}
@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}
