/* Vida na Banda — finance panel. "Noite de Kizomba" theme, same palette as the game (css/tema.css). 12 Nov 2026. */
:root{--bg:#121014;--bg2:#19161a;--card:#1e1a1d;--card2:#2a2328;--line:#3a3035;--line2:#2c2529;--ink:#f6efe6;--muted:#b3a79a;
  --red:#cc092f;--red-claro:#ff5a6e;--gold:#ffcb00;--on-gold:#121014;--good:#4cbf74;
  --faixa:linear-gradient(var(--red) 0 50%,#000 50% 100%)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Figtree,system-ui,sans-serif}
body{background:radial-gradient(900px 500px at 85% -10%,rgba(204,9,47,.16),transparent 60%),radial-gradient(700px 420px at -10% 110%,rgba(255,203,0,.07),transparent 60%),var(--bg);background-attachment:fixed;min-height:100vh}
a{color:var(--gold)}a:hover{color:#ffe066}
h1,h2{font-family:'Bricolage Grotesque',Figtree,sans-serif;margin:0;letter-spacing:-.01em}
h1{font-size:40px;font-weight:800}h2{font-size:20px}
button,input,select{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn{font-weight:600;font-size:14px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card2);color:var(--ink);min-height:44px;cursor:pointer}
.btn:hover{border-color:var(--muted)}
.btn.primario{background:var(--gold);color:var(--on-gold);border:0;font-weight:800}
.btn.primario:hover{background:#ffd633}
.btn:disabled{opacity:.55;cursor:default}
.marca{display:flex;align-items:center;gap:12px}
.marca span:last-child{display:flex;flex-direction:column}
.marca b{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-size:18px;font-weight:800}
.marca small{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.logo{width:42px;height:42px;border-radius:12px;display:block;box-shadow:0 0 0 1px var(--line)}
.faixa{height:6px;background:var(--faixa)}
.entrar{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.entrar-caixa{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px;padding:0 28px 28px;overflow:hidden}
.entrar-caixa .faixa{margin:0 -28px 10px}
.entrar-caixa h1{font-size:32px}
.sub{margin:0;color:var(--muted)}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
input,select{font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--ink);min-height:44px}
input:disabled,select:disabled{opacity:.75;cursor:default}
input[type=checkbox]{accent-color:var(--gold)}
.erro{margin:0;color:var(--red-claro);font-size:14px;min-height:1em}
.ts{min-height:65px}
.app{min-height:100vh;display:flex;flex-wrap:wrap;align-items:flex-start}
.lado{flex:1 1 220px;max-width:260px;padding:28px 20px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0}
.menu{display:flex;flex-direction:column;gap:4px}
.menu a{text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:600;color:var(--ink)}
.menu a:hover{background:var(--card2);color:var(--ink)}
.menu a[aria-current=page]{background:var(--red);color:#fff}
.nota{font-size:12px;color:var(--muted);margin:0}
.conteudo{flex:999 1 640px;min-width:0;padding:28px 32px 56px;display:flex;flex-direction:column;gap:24px;max-width:1180px;outline:none}
.topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.topo>div:first-child{display:flex;flex-direction:column;gap:6px}
.olho{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.periodos{display:flex;gap:8px;flex-wrap:wrap}
.periodos .btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* this week's budget: the headline */
.orcamento{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 24px 24px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.orcamento::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:var(--faixa)}
.orcamento.fora{border-color:var(--red);box-shadow:0 0 0 1px var(--red),0 18px 50px -20px rgba(204,9,47,.55)}
.orc-topo{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:end}
.orc-topo .claro{font-size:14px;color:var(--muted)}
.orc-topo .grande{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-size:72px;font-weight:800;line-height:1.05;color:var(--good)}
.orcamento.fora .grande{color:var(--red-claro)}
.selo{display:inline-block;margin-top:8px;font-weight:800;font-size:13px;padding:4px 12px;border-radius:999px;background:rgba(76,191,116,.15);color:var(--good)}
.orcamento.fora .selo{background:var(--red);color:#fff}
.orc-nota{margin:0;color:var(--muted);font-size:14px}
.orcamento .cartao{background:var(--bg2)}
b.mau{color:var(--red-claro)}b.bom{color:var(--good)}
.margem{background:var(--card2);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:center}
.margem .grande{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-size:64px;font-weight:800;line-height:1;color:var(--gold)}
.margem .claro{font-size:14px;color:var(--muted)}
.barra{position:relative;height:14px;border-radius:7px;background:var(--bg)}
.barra .enche{position:absolute;left:0;top:0;bottom:0;border-radius:7px;background:var(--gold);max-width:100%}
.barra .marca-v{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink)}
.escala{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cartao{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:4px;min-width:0}
.cartao .k{font-size:13px;color:var(--muted)}
.cartao .v{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-size:30px;font-weight:800}
.cartao .v.bom{color:var(--good)}.cartao .v.mau{color:var(--red-claro)}
.linha{display:flex;flex-wrap:wrap;gap:14px}
.painel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.painel.f3{flex:3 1 420px}.painel.f2{flex:2 1 300px}
.cab{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.muted{color:var(--muted);font-size:13px}
.colunas{position:relative;height:200px;display:flex;align-items:flex-end;gap:14px;padding:0 6px;border-bottom:1px solid var(--line)}
.colunas .c{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.colunas .c span{font-size:12px;font-weight:700;white-space:nowrap}
.colunas .c i{display:block;width:100%;max-width:64px;border-radius:6px 6px 0 0;background:var(--gold)}
.colunas .c i.hoje{background:var(--card2);outline:1px dashed var(--muted)}.colunas .c i.top{background:var(--red)}
.colunas .alvo{position:absolute;left:0;right:0;border-top:2px dashed var(--red)}
.rotulos{display:flex;gap:14px;padding:0 6px;font-size:12px;color:var(--muted)}
.rotulos span{flex:1;text-align:center;min-width:0}
.custo{display:flex;flex-direction:column;gap:6px}
.custo .t{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.custo .b{height:8px;border-radius:4px;background:var(--bg2)}
.custo .b i{display:block;height:8px;border-radius:4px;background:var(--gold)}
.custo:first-of-type .b i{background:var(--red)}
.tabela{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;font-weight:700;white-space:nowrap}
td{padding:12px;border-top:1px solid var(--line2);vertical-align:top}
td.n,th.n{text-align:right;white-space:nowrap}
td small{display:block;font-size:12px;color:var(--muted)}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;color:var(--muted)}
.tag.est{color:var(--gold)}.tag.real{color:var(--good)}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}
.aviso{border-left:3px solid var(--gold);background:rgba(255,203,0,.08);padding:10px 14px;border-radius:0 10px 10px 0;font-size:14px}
.aviso.mau{border-color:var(--red);background:rgba(204,9,47,.12)}
.ligar{font-size:13px;color:var(--muted)}
.icone{background:none;border:0;padding:10px;min-width:44px;min-height:44px;cursor:pointer;color:var(--muted);font-weight:700}
.icone:hover{color:var(--red-claro)}
@media (max-width:640px){.conteudo{padding:20px 16px 48px}h1{font-size:32px}.margem .grande,.orc-topo .grande{font-size:52px}.lado{max-width:none;padding:16px;position:static}.menu{flex-direction:row;flex-wrap:wrap}}
