:root{
  --bg:#1F1F1F; --card:#262626; --fg:#F6EDDC; --mut:#A89F8D; --line:#3A3A3A;
  --acc:#FD105E; --ok:#4ADE6B; --wait:#C9A55F; --age:#6DB2F5;
  --gut:max(16px, env(safe-area-inset-left,0px));
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font:400 16px/1.5 'Nunito Sans',system-ui,sans-serif;min-height:100vh}
h1,h2,.ttl{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em}
button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);padding:10px 16px;min-height:44px}
button.prim{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:800}
button:disabled{opacity:.5;cursor:default}
input{font:inherit;width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#1a1a1a;color:var(--fg)}
label{display:block;font-size:13px;color:var(--mut);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.06em}
a{color:var(--age)}

/* LOGIN */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--gut)}
.login .box{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-top:6px solid var(--acc);border-radius:14px;padding:28px}
.login h1{font-size:34px;line-height:1;margin-bottom:6px}
.login p.sub{color:var(--mut);font-size:14px}
.login button{width:100%;margin-top:20px}
.erro{margin-top:14px;padding:10px 12px;border-radius:10px;background:#3a1420;border:1px solid var(--acc);font-size:14px}
.aviso{margin-top:14px;padding:10px 12px;border-radius:10px;background:#15301c;border:1px solid var(--ok);font-size:14px}
.link{background:none;border:none;color:var(--mut);text-decoration:underline;padding:8px 0;min-height:auto;font-size:13px}

/* APP */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px var(--gut);border-bottom:1px solid var(--line);flex-wrap:wrap}
.top h1{font-size:24px}
.quem{font-size:13px;color:var(--mut);text-align:right;line-height:1.3}
.papel{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:99px;padding:2px 10px;color:var(--mut)}
.layout{display:flex;align-items:flex-start;gap:24px;padding:18px var(--gut);flex-wrap:wrap}
nav{flex:0 0 220px;min-width:180px;display:flex;flex-direction:column;gap:6px}
nav button{text-align:left;border:none;background:none;padding:10px 12px;border-radius:10px;color:var(--mut)}
nav button[aria-pressed="true"]{background:var(--card);color:var(--fg);font-weight:800;box-shadow:inset 3px 0 0 var(--acc)}
main{flex:1 1 420px;min-width:0}
select{font:inherit;padding:10px;border-radius:10px;background:var(--card);color:var(--fg);border:1px solid var(--line)}
.lista{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--mut);margin-bottom:8px}
.cod{font-weight:800;color:var(--fg)}
.chip{border:1px solid var(--line);border-radius:99px;padding:2px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.chip.ok{color:var(--ok);border-color:var(--ok)} .chip.wait{color:var(--wait);border-color:var(--wait)}
.item h3{font-size:18px;line-height:1.3;margin-bottom:6px}
.item p{color:var(--mut);font-size:14px}
.gal{display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding-bottom:4px}
.gal img{height:200px;width:auto;border-radius:8px;border:1px solid var(--line);flex:none}
.vazio{color:var(--mut);padding:28px 0}
.carregando{padding:40px var(--gut);color:var(--mut)}
@media (max-width:720px){ nav{flex:1 1 100%;flex-direction:row;overflow-x:auto} nav button{white-space:nowrap} }

/* cadastro: duas colunas, sem rolagem interna */
.login .box.cadastro{max-width:440px}
.login .box.cadastro.larga{max-width:880px}
.box.cadastro .cols{display:grid;gap:0 40px;margin-top:22px}
.box.cadastro .cols.duas{grid-template-columns:1fr 1fr}
.box.cadastro h2.secao{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin:0 0 2px;padding:0}
.box.cadastro .sub{margin:2px 0 0}
.box.cadastro .regra{font-size:12.5px;line-height:1.5;color:var(--mut);margin:6px 0 0}
.box.cadastro input:disabled{opacity:.55;cursor:not-allowed}
.box.cadastro select{font:inherit;width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#1a1a1a;color:var(--fg);min-height:46px}
.box.cadastro > button.prim{margin-top:26px}
@media (max-width:760px){.box.cadastro .cols.duas{grid-template-columns:1fr}.box.cadastro .col + .col{margin-top:26px}}
