/* Layout: cabeçalho marrom com a marca + perfil, abas por módulo, conteúdo em painéis.
   Cores tiradas do logo: amarelo do disco, dourado da palha-da-costa, marrom do contorno. */
:root{
  --bg:#f8f1dc; --surface:#fffcf2; --line:#e8d9ad; --fg:#2b2116; --muted:#6c5a3c;
  --accent:#8a5c12; --accent-soft:#f6e6a8; --on-accent:#fffcf2;
  --gold:#e3b84e; --gold-hi:#f2d57e; --on-gold:#2b2116;
  --head:#2e2216; --head-fg:#f8eccb; --head-muted:#cdb88e;
  --mp:#0a5db8; --mp-bg:#e1ecf9;
  --serie-ent:#2a78d6; --serie-sai:#eb6834; --serie-saldo:#8a5c12;   /* gráficos: cores conferidas para daltonismo e contraste */
  --ok:#2f6b3a; --warn:#9a520e; --bad:#9e2a24; --ok-bg:#e1eedb; --warn-bg:#f8e3c4; --bad-bg:#f6dbd6;
  --shadow:0 1px 2px rgb(60 40 10 / .06), 0 6px 18px rgb(60 40 10 / .07);
  --display:"Alegreya SC",Georgia,serif; --body:"Alegreya Sans",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#17120b; --surface:#221a10; --line:#3e311d; --fg:#f5ebd2; --muted:#b9a682;
  --accent:#f0cf72; --accent-soft:#3b2f18; --on-accent:#17120b;
  --gold:#e3b84e; --gold-hi:#f2d57e; --on-gold:#221a10;
  --head:#100c07; --head-fg:#f5ebd2; --head-muted:#b9a682;
  --mp:#8fc0f5; --mp-bg:#1a2a3d;
  --serie-ent:#3987e5; --serie-sai:#d95926; --serie-saldo:#c98500;
  --ok:#93d09b; --warn:#eeaa62; --bad:#ef8f86; --ok-bg:#1f3322; --warn-bg:#3c2a14; --bad-bg:#3d1e1a;
  --shadow:0 1px 2px rgb(0 0 0 / .3), 0 6px 18px rgb(0 0 0 / .25); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#17120b; --surface:#221a10; --line:#3e311d; --fg:#f5ebd2; --muted:#b9a682;
  --accent:#f0cf72; --accent-soft:#3b2f18; --on-accent:#17120b;
  --gold:#e3b84e; --gold-hi:#f2d57e; --on-gold:#221a10;
  --head:#100c07; --head-fg:#f5ebd2; --head-muted:#b9a682;
  --mp:#8fc0f5; --mp-bg:#1a2a3d;
  --serie-ent:#3987e5; --serie-sai:#d95926; --serie-saldo:#c98500;
  --ok:#93d09b; --warn:#eeaa62; --bad:#ef8f86; --ok-bg:#1f3322; --warn-bg:#3c2a14; --bad-bg:#3d1e1a;
  --shadow:0 1px 2px rgb(0 0 0 / .3), 0 6px 18px rgb(0 0 0 / .25); color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.55 var(--body)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--head)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--head);color:var(--head-fg);border-bottom:4px solid var(--gold)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px 10px}
.brand{display:flex;align-items:center;gap:14px}
.mark{width:58px;height:58px;flex:none;display:block;border-radius:50%;box-shadow:0 0 0 2px var(--gold)}
.brand b{font:700 1.6rem/1 var(--display);letter-spacing:.08em;display:block;color:var(--gold-hi)}
.brand small{display:block;line-height:1.25;margin-top:3px;color:var(--head-muted);font-size:.95rem}
[hidden]{display:none!important}
.controles{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}
.tema{display:block}
.tema select{width:auto;min-height:40px;padding:6px 12px;font-size:.95rem;background:transparent;color:var(--head-fg);border:1.5px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:999px;cursor:pointer}
.tema select:hover{border-color:var(--gold)}
.tema option{color:#2b2116;background:#fffcf2}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.user{display:flex;align-items:center;gap:10px;font-size:1rem;color:var(--head-fg)}
.user > span:first-child{color:var(--gold)}
.linkbtn{background:none;border:0;color:var(--head-muted);text-decoration:underline;cursor:pointer;font:inherit;padding:6px}
.linkbtn:hover{color:var(--gold-hi)}
select,input{font:inherit;font-size:1.02rem;color:var(--fg);background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%;min-height:48px}
select:hover,input:hover{border-color:var(--gold)}
nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav button{background:none;border:0;border-bottom:4px solid transparent;margin-bottom:-4px;padding:12px 16px;font:500 1.05rem var(--body);color:var(--head-muted);cursor:pointer;white-space:nowrap}
nav button:hover{color:var(--head-fg)}
nav button[aria-selected="true"]{color:var(--gold-hi);border-color:var(--gold-hi);font-weight:700}
main{padding-block:32px 56px;display:grid;gap:26px}
.head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px}
.head .acoes{display:flex;flex-wrap:wrap;gap:10px}
h1{font:700 2.1rem/1.15 var(--display);margin:0;text-wrap:balance;color:var(--fg)}
.sub{color:var(--muted);margin:4px 0 0;font-size:1.05rem}
.btn{background:var(--gold);color:var(--on-gold);border:0;border-radius:10px;padding:12px 22px;min-height:48px;font:700 1rem var(--body);cursor:pointer;box-shadow:0 1px 0 rgb(0 0 0 / .12)}
.btn:hover{background:var(--gold-hi)}
.btn.ghost{background:var(--surface);color:var(--fg);border:1.5px solid var(--line);box-shadow:none}
.btn.ghost:hover{border-color:var(--gold)}
.btn.mp{background:var(--mp-bg);color:var(--mp);box-shadow:none}
.btn.small{padding:8px 14px;min-height:40px;font-size:.95rem}
.btn:disabled{opacity:.55;cursor:wait}
button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.kpi{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow)}
.kpi span{color:var(--muted);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.kpi b{display:block;font:700 2.2rem/1.25 var(--body);font-variant-numeric:tabular-nums;margin-top:6px}
.kpi small{color:var(--muted);font-size:.95rem}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.panel h2{font:700 1.3rem var(--display);margin:0;padding:16px 20px;border-bottom:1px solid var(--line);letter-spacing:.04em;background:var(--accent-soft);color:var(--fg)}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:1.02rem}
th,td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--line);white-space:nowrap}
th{color:var(--muted);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}
tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
tr:last-child td{border-bottom:0}
td.num{text-align:right;font-variant-numeric:tabular-nums}
td small{display:block;color:var(--muted);font-size:.85rem}
.pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.85rem;font-weight:700}
.ok{background:var(--ok-bg);color:var(--ok)}.warn{background:var(--warn-bg);color:var(--warn)}.bad{background:var(--bad-bg);color:var(--bad)}
.pill.mpp{background:var(--mp-bg);color:var(--mp)}.pill.man{background:var(--accent-soft);color:var(--accent)}
.del{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.1rem;padding:8px 10px;border-radius:8px}
.del:hover{color:var(--bad);background:var(--bad-bg)}
.seg{display:inline-flex;gap:4px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:5px;justify-self:start;box-shadow:var(--shadow)}
.seg button{background:none;border:0;border-radius:8px;padding:10px 22px;font:700 1rem var(--body);color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--gold);color:var(--on-gold)}
.list li .lado{display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line);font-size:1.02rem}
.list li:last-child{border-bottom:0}
.empty{padding:28px 20px;color:var(--muted);font-size:1.02rem}
.note{font-size:.95rem;color:var(--muted);margin:0}
.aviso{background:var(--accent-soft);border-left:5px solid var(--gold);border-radius:12px;padding:14px 18px;font-size:1rem}
.login{max-width:440px;margin:48px auto;background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:16px;box-shadow:var(--shadow)}
.login h1{padding:24px 24px 0}
.login form{padding:20px 24px 26px;gap:16px}
.login .btn{width:100%}
dialog{border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:16px;background:var(--surface);color:var(--fg);padding:0;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 20px 50px rgb(0 0 0 / .3)}
dialog::backdrop{background:rgb(30 20 8 / .55)}
fieldset{border:1.5px solid var(--line);border-radius:12px;padding:16px;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
legend{padding:0 8px;font:700 1.05rem var(--display);color:var(--accent)}
.dhead{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);background:var(--accent-soft)}
.dhead h2{font:700 1.4rem var(--display);margin:0}
form{display:grid;gap:16px;padding:22px}
label{display:grid;gap:6px;font-size:.95rem;font-weight:500;color:var(--muted)}
.actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:6px}
.erro{color:var(--bad);font-size:1rem;margin:0}
.linkbox{display:flex;gap:8px}
.linkbox input{min-width:0;font-size:.95rem}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--head);color:var(--head-fg);border:2px solid var(--gold);padding:12px 20px;border-radius:12px;font-weight:700;max-width:calc(100% - 32px);z-index:20;box-shadow:0 10px 30px rgb(0 0 0 / .25)}
@media (prefers-reduced-motion:no-preference){.toast{animation:up .2s ease-out}@keyframes up{from{transform:translate(-50%,8px);opacity:.4}}}
/* Início */
.inicio-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:8px 20px}
.inicio-head h1{font-size:2.4rem}
.hoje{color:var(--muted);font-size:1rem;padding-top:8px;margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}
.stat{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 22px;box-shadow:var(--shadow);min-height:132px}
.ico{width:60px;height:60px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.ico svg{width:28px;height:28px}
.stat > div > span{display:block;font-size:.98rem;color:var(--muted)}
.stat b{display:block;font:700 1.9rem/1.15 var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}
.stat b.txt{font-size:1.4rem;line-height:1.2;white-space:normal}
.stat small{display:block;color:var(--muted);font-size:.9rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);display:grid;gap:14px;align-content:start;min-height:220px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.card-head h2{font:700 1.2rem var(--body);margin:0}
.pillbtn{background:var(--accent-soft);color:var(--fg);border:0;border-radius:999px;padding:9px 18px;font:500 .95rem var(--body);cursor:pointer;white-space:nowrap}
.pillbtn:hover{background:var(--gold-hi);color:var(--on-gold)}
.vazio{color:var(--muted);font-size:1.05rem;margin:0}
.ativ-titulo{font:700 1.4rem/1.25 var(--display);margin:0}
.ativ-quando{color:var(--accent);font-weight:700;margin:0}
.rosca{display:flex;align-items:center;justify-content:center;gap:16px 26px;flex-wrap:wrap}
.rosca svg{width:140px;height:140px;flex:none}
.rosca ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:1rem}
.rosca li b{font-variant-numeric:tabular-nums}
.legenda{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:1px}
.alerta-resumo{font-size:1.15rem;margin:0}
.linhas{list-style:none;margin:0;padding:0}
.linhas li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.linhas li:last-child{border-bottom:0}
.linhas li b{font-variant-numeric:tabular-nums}
.ponto{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:2px;background:var(--warn)}
.ponto.bad{background:var(--bad)}
.linhas li.passada{color:var(--muted)}
.linhas li small{display:block;margin-top:2px}
/* Página do médium */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.barra{height:10px;border-radius:999px;background:var(--accent-soft);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.barra span{display:block;height:100%;background:var(--gold);border-radius:999px}
.lado-botoes{display:flex;align-items:center;gap:4px;flex:none}
.del:disabled{opacity:.3;cursor:default;background:none}
.aulas-gestao{margin:0;padding:0;list-style:none;display:grid;gap:0}
.aulas-gestao li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.aulas-gestao li:last-child{border-bottom:0}
.aulas-gestao li small{display:block;overflow-wrap:anywhere}
.aulas{list-style:none;margin:0;padding:0}
.aulas li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.aulas li:last-child{border-bottom:0}
.aulas li > span:nth-child(2){flex:1;min-width:0}
.aulas li small{display:block}
.aulas .num{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--accent-soft);color:var(--accent)}
.aulas li.feita .num{background:var(--ok-bg);color:var(--ok)}
.aulas li.atual .num{background:var(--gold);color:var(--on-gold)}
.aulas li.bloqueada{color:var(--muted)}
.aulas li.bloqueada .num{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.aula-texto{white-space:pre-line;font-size:1.08rem;line-height:1.65;margin:0}
.aula-fim{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-top:14px;border-top:1px solid var(--line)}
a.btn{display:inline-block;text-decoration:none}
.btn.wa{background:#25d366;color:#06351c;text-align:center}
.btn.wa:hover{background:#3ee07a}
.cob-mens{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.cob-mens input:disabled{opacity:.5}
.cob-itens{list-style:none;margin:-6px 0 0;padding:0 0 0 34px;font-size:.92rem;color:var(--muted)}
.cob-itens li{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.cob-total{font-size:1.15rem;margin:0;padding-top:10px;border-top:1px solid var(--line)}
.cob-total b{font-size:1.4rem;font-variant-numeric:tabular-nums}
.titulo-secao{font:700 1.4rem var(--display);margin:8px 0 -8px}
.fila-acao{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.senha{display:grid;justify-items:start;background:var(--accent-soft);border-radius:14px;padding:12px 18px;min-width:170px}
.senha span{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.senha b{font:700 2.4rem/1.1 var(--body);color:var(--accent);font-variant-numeric:tabular-nums}
.senha small{color:var(--muted)}
.tile{min-height:200px;align-content:center}
.tile{position:relative;display:grid;justify-items:center;align-content:start;gap:10px;text-align:center;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:20px;padding:28px 16px 24px;box-shadow:var(--shadow);cursor:pointer;font:inherit}
.tile:hover{border-color:var(--gold);transform:translateY(-2px)}
@media (prefers-reduced-motion:no-preference){.tile{transition:transform .15s,border-color .15s}}
.tile .ico{width:76px;height:76px}
.tile .ico svg{width:36px;height:36px}
.tile b{font-size:1.15rem;line-height:1.25}
.tile small{color:var(--muted);font-size:.92rem}
.badge{position:absolute;top:12px;right:12px;min-width:28px;padding:2px 9px;border-radius:999px;background:var(--bad);color:#fff;font-weight:700;font-size:.9rem}
.voltar{justify-self:start;background:none;border:0;color:var(--accent);font:700 1.05rem var(--body);cursor:pointer;padding:6px 0}
.resposta{display:flex;flex-wrap:wrap;gap:10px}
.resposta .btn{flex:1;min-width:120px}
.btn.nao{background:var(--bad-bg);color:var(--bad)}
.msgs{display:grid;gap:16px}
.msg,.card.curto{min-height:0}
.msg h2{font:700 1.3rem var(--display);margin:0}
.msg p{margin:0;white-space:pre-line;font-size:1.05rem}
.cal-mes{text-align:center;flex:1}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-s{text-align:center;font-size:.8rem;font-weight:700;color:var(--muted)}
.cal-d{min-height:92px;border:1px solid var(--line);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-d.fora{visibility:hidden}
.cal-d.hoje{border:2px solid var(--gold);background:color-mix(in srgb,var(--accent-soft) 50%,transparent)}
.cal-n{font-size:.85rem;font-weight:700}
.cal-ev{display:block;font-size:.75rem;line-height:1.3;background:var(--accent-soft);border-radius:6px;padding:1px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ev.gira{background:var(--gold);color:var(--on-gold)}
.check{display:flex;align-items:center;gap:12px;color:var(--fg);font-size:1rem;font-weight:400;cursor:pointer}
.check input{width:22px;height:22px;min-height:0;padding:0;flex:none;accent-color:var(--gold);cursor:pointer}
fieldset.acessos{grid-template-columns:1fr}
fieldset.acessos .note{margin:0}
textarea{font:inherit;font-size:1.02rem;color:var(--fg);background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%;min-height:120px;resize:vertical}
@media (max-width:600px){
  .tiles{grid-template-columns:1fr 1fr;gap:12px}
  .tile:last-child:nth-child(odd){grid-column:1/-1}
  .tile{padding:20px 10px 18px;min-height:150px}
  .tile .ico{width:60px;height:60px}
  .tile .ico svg{width:30px;height:30px}
  .tile b{font-size:1.02rem}
  .tile small{font-size:.82rem}
  .cal{gap:3px}
  .cal-d{min-height:50px;padding:4px;align-items:center}
  .cal-ev{width:8px;height:8px;padding:0;border-radius:50%;font-size:0;box-shadow:inset 0 0 0 1px var(--line)}
  .inicio-head h1{font-size:1.9rem}
  .stat{min-height:0;padding:18px}
  .ico{width:50px;height:50px}
  .stat b{font-size:1.7rem}
  .card{padding:18px}
  .rosca svg{width:120px;height:120px}
  body{font-size:16px}
  .mark{width:46px;height:46px}
  .brand b{font-size:1.3rem}
  .brand small{font-size:.8rem}
  h1{font-size:1.7rem}
  .kpi b{font-size:1.9rem}
  th,td{padding:13px 16px}
  .list li{padding:13px 16px}
  .user > span:first-child{display:none}
  .top{flex-wrap:wrap;row-gap:10px}
  .controles{width:100%;justify-content:space-between}
}
/* Gráficos do Financeiro (SVG desenhado em js/telas/financeiro.js) */
.graficos{align-items:start}
.graficos > .panel,.area-grafico{min-width:0}
.grafico-corpo{padding:14px 16px 10px;display:grid;gap:8px}
.legenda-grafico{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.95rem;color:var(--muted)}
.legenda-grafico li{display:flex;align-items:center;gap:8px}
.chave{width:12px;height:12px;border-radius:3px;display:inline-block}
.chave.ent,.chave-linha.ent{background:var(--serie-ent)}.chave.sai,.chave-linha.sai{background:var(--serie-sai)}.chave-linha.saldo{background:var(--serie-saldo)}
.area-grafico{min-height:240px}
.area-grafico svg{display:block;overflow:visible;touch-action:pan-y}
.area-grafico .grade{stroke:var(--line);stroke-width:1}
.area-grafico .zero{stroke:var(--muted);stroke-width:1;opacity:.6}
.area-grafico .eixo{fill:var(--muted);font:13px var(--body);font-variant-numeric:tabular-nums}
.area-grafico .valor{fill:var(--fg);font:700 13px var(--body);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.area-grafico .ent{fill:var(--serie-ent)}.area-grafico .sai{fill:var(--serie-sai)}
.area-grafico .mes.ativo path{filter:brightness(1.12)}
.area-grafico .linha{fill:none;stroke:var(--serie-saldo);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.area-grafico .lavado{fill:var(--serie-saldo);opacity:.1}
.area-grafico .marca{fill:var(--serie-saldo);stroke:var(--surface);stroke-width:2}
.area-grafico .mira{stroke:var(--muted);stroke-width:1}
.area-grafico .alvo{fill:transparent;cursor:crosshair;outline:none}
.area-grafico .alvo:focus-visible{fill:color-mix(in srgb,var(--gold) 14%,transparent)}
.dica{position:absolute;z-index:15;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);font-size:.92rem;display:grid;gap:4px;min-width:170px}
.dica b{font-weight:500;color:var(--muted)}
.linha-dica{display:flex;align-items:center;gap:8px}
.linha-dica strong{font-variant-numeric:tabular-nums}
.linha-dica span{color:var(--muted)}
.chave-linha{width:12px;height:3px;border-radius:2px;display:inline-block;flex:none}
.chave-linha:not(.ent):not(.sai):not(.saldo){background:transparent}
.tabela-meses summary{cursor:pointer;padding:14px 20px;font-weight:700;color:var(--accent)}
.tabela-meses[open] summary{border-bottom:1px solid var(--line)}
@media (max-width:520px){.grid2.graficos{grid-template-columns:1fr}}
