/* Cores e sombras do _tokens.css do Hub. Estrutura dos módulos preservada. */
[hidden]{display:none!important}.fecharOpcoes{float:right;min-width:44px;min-height:44px;font-size:25px;color:var(--fg-2)}
html,body{background:var(--bg);color:var(--fg);font-family:Archivo,system-ui,sans-serif}
body{--fundo:var(--bg);--cartao:var(--surface);--alto:var(--surface-muted);--linha:var(--border-soft);--num:var(--magus-purple);--grana:var(--success);--fraco:var(--fg-2);--tinta:var(--fg);--alerta:var(--warning);--ruim:var(--danger)}
button,header .loja,header .mes,.rot,.val,.big,.mega,.mid,.tit2,.tit2 span.mais,.li .n,.li .dir,.li .dir small,nav button .lb,.sel,.gaveta h3{font-family:Archivo,system-ui,sans-serif}
header{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 15px;gap:8px}header .quem{border:1px solid var(--border);background:var(--surface-muted);padding:8px 12px;border-radius:12px}header .loja{font-size:14px;font-weight:650}header .mes{font-size:12px;margin-top:3px}header .seta{color:var(--magus-purple)}#demoVoltar{color:var(--magus-purple)}
.tela{padding:20px 16px 28px;gap:16px}.headtitle h1{font-size:26px;font-weight:650;color:var(--fg);letter-spacing:-.5px}.pill{color:var(--fg-2);background:var(--surface);border-color:var(--border);border-radius:999px;font-size:11px}.rot{font-size:12px;color:var(--fg-2)}.val,.mega{color:var(--fg)}.dim,.dim.p{color:var(--fg-2)}.val.verde{color:var(--success)}.val.vermelho{color:var(--danger)}.val.laranja{color:var(--warning)}.val.branco{color:var(--fg)}
.k,.k.g,.lista{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow);border-radius:var(--radius-card-v2)}.k,.k.g{padding:18px}.li{border-color:var(--border-soft)}.li:active{background:var(--surface-muted)}.li .n{font-size:14px;font-weight:600}.li .dir{font-size:14px}.li .bolha{display:grid;background:none;border-radius:0;font-size:19px;width:24px}.li .d{font-size:12px}.tit2{font-size:16px;font-weight:650;margin-top:7px;color:var(--fg)}.tit2 .mais{color:var(--magus-purple)}
.heroi,.heroi.verde{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}.heroi .rot,.heroi .txt{color:var(--fg-2)}.heroi .mega,.heroi .big{color:var(--fg)}.flat{border-color:var(--border-soft)}.flat .mega{font-size:34px;font-weight:600}.pair{border-color:var(--border-soft);font-size:13px}.pair strong{font-weight:650}.alertline{color:var(--warning)}.avatar{color:var(--magus-purple);background:var(--surface-muted);border:1px solid var(--border)}.personhead h2{font-size:23px}.primary{background:var(--magus-gold);color:var(--fg);border:1px solid var(--magus-gold-deep);border-radius:12px}.ghost{color:var(--magus-purple);font-size:14px;font-weight:600}
.subnav{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px;gap:3px}.subnav button{border:0;background:transparent;font-size:12px;border-radius:9px;min-height:40px;padding:8px 10px}.subnav button:hover{background:var(--surface-muted)}.subnav button.selected{background:var(--magus-purple);color:var(--magus-ivory)}
nav{background:var(--surface);border-top:1px solid var(--border);padding:8px 4px;gap:4px;box-shadow:var(--shadow)}nav button{color:var(--fg-2);border-radius:12px}nav button.on{background:color-mix(in srgb,var(--magus-purple) 9%,var(--surface));color:var(--magus-purple)}nav button .ic{font-size:20px;line-height:22px}nav button .lb{font-size:11px;font-weight:650}.icone{display:none}
.aviso.atencao{background:var(--warning-bg);border-color:var(--magus-gold-soft);color:var(--warning)}.aviso.espera{background:var(--surface);color:var(--fg-2)}.aviso.ruim{background:var(--danger-bg);color:var(--danger)}.gaveta{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-lg)}.veu{background:color-mix(in srgb,var(--magus-purple-dark) 35%,transparent)}.esqueleto{background:var(--border);animation:none}.trilhoB{background:var(--border-soft)}.barra.vazio{background:var(--border)}.barra.parcial{background:repeating-linear-gradient(45deg,var(--border-hover) 0 4px,transparent 4px 8px);border-color:var(--border-hover)}
.hubHero{background:var(--kpi-hero-bg);color:var(--kpi-hero-fg);border-radius:14px;padding:23px 22px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hubHero:after{content:'';position:absolute;width:180px;height:180px;right:-70px;top:-70px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--magus-gold) 12%,transparent),transparent 70%);pointer-events:none}.hubHero .rot{color:var(--magus-silver);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.hubHero .mega{font-size:34px;line-height:1.2;font-weight:550;color:var(--magus-ivory);margin:16px 0 13px;white-space:nowrap}.hubHero .dim{color:var(--magus-silver);font-size:12px}.hubHero .gold{color:var(--magus-gold);margin-right:7px}
.hubNumbers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hubNumber{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:16px;box-shadow:var(--shadow)}.hubNumber small{font-size:11px;color:var(--fg-2);display:block}.hubNumber strong{display:block;font-size:25px;font-weight:650;margin-top:7px;font-variant-numeric:tabular-nums}.hubActions{display:flex;gap:10px}.hubActions button{min-height:44px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);font-size:12px;font-weight:650;flex:1}.hubActions button:first-child{background:var(--magus-gold);border-color:var(--magus-gold);color:var(--fg)}
.hubTable{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.hubTable table{table-layout:fixed;font-size:12px}.hubTable th{background:var(--magus-purple-deep);color:var(--magus-ivory);font-size:10px;text-align:left;padding:11px 12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.hubTable th:last-child{text-align:right;width:114px}.hubTable td{padding:14px 12px;vertical-align:top;border-bottom:1px solid var(--border-soft)}.hubTable td:first-child{font-weight:550;line-height:1.5;overflow-wrap:anywhere}.hubTable td small{display:block;font-size:10px;color:var(--fg-2);margin-top:3px}.hubTable td:last-child{white-space:nowrap;font-size:12px}.hubTable tfoot td{background:color-mix(in srgb,var(--magus-gold) 12%,var(--surface));font-weight:750}
.help{font-size:13px;color:var(--fg-2);border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px 14px}.help summary{cursor:pointer;min-height:24px;font-weight:600;color:var(--fg)}.help p{margin:12px 0 0;line-height:1.55}.statusShort{display:inline-flex;gap:6px;align-items:center;background:var(--warning-bg);color:var(--warning);padding:5px 9px;border-radius:999px;font-size:11px;font-weight:600}.hubPanel{border:1px solid var(--border);border-radius:18px;padding:17px;background:var(--surface);box-shadow:var(--shadow)}.hubPanel .pair{font-size:13px}.demoRibbon{font:10px/1.4 Archivo,sans-serif;padding:5px 12px;flex:none;color:var(--fg-2);background:var(--surface-muted);border-bottom:1px solid var(--border)}
/* Retirar fundos escuros locais herdados das telas antigas, sem tocar seus dados. */
.k[style*="background"]{background:var(--surface)!important}.sel.at{background:var(--warning-bg);color:var(--warning)}.sel.ok{background:var(--success-bg);color:var(--success)}
@media(max-width:350px){.tela{padding:16px 12px}.hubHero{padding:20px 16px}.hubHero .mega{font-size:30px}.hubTable th:last-child{width:108px}.hubTable td,.hubTable th{padding:12px 9px}}
/* Ajuste pedido pelo Bené: controles menores, explicações sob demanda. */
header{padding:7px 14px;gap:8px;min-height:58px;justify-content:flex-end}
.miniBrand{margin-right:auto;text-align:left;padding:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;gap:1px}
.miniBrand strong{font-size:14px;font-weight:700;color:var(--fg)}
.miniBrand span{font-size:11px;color:var(--fg-2)}
header .quem{flex:0 1 auto;width:auto;max-width:126px;min-height:44px;padding:6px 10px;border-radius:10px;background:var(--surface);box-shadow:none}
header .loja{font-size:12px;font-weight:600;display:block;max-width:103px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#hMes,header>.seta{display:none}
#demoVoltar{order:-1;min-width:22px!important;min-height:36px!important;padding:0;font-size:20px}
#demoVoltar[hidden]{display:none}
.infoMini{min-width:36px;min-height:36px;color:var(--fg-2);font-size:20px;padding:3px;border-radius:50%;margin-left:auto}
.infoMini:hover{background:var(--surface-muted);color:var(--magus-purple)}
.headtitle{gap:8px}.headtitle .pill{margin-left:auto}
.textoAjuda{font-size:14px;line-height:1.6;color:var(--fg-2)}
.personhead{flex-wrap:wrap}.personhead .infoMini{flex:none}
.tela{gap:14px;padding-top:16px}.hubHero .mega{margin-bottom:0}
.miniBrand{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:6px 10px;min-height:44px;max-width:180px}
.miniBrand span{font-size:12px;color:var(--fg);white-space:nowrap}.miniBrand b{font-weight:600}
.modoData{display:flex;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;padding:4px;margin:18px 0 20px;gap:4px}.modoData button{flex:1;min-height:44px;border-radius:9px;font-size:14px}.modoData button[aria-pressed="true"]{background:var(--magus-purple);color:var(--magus-ivory)}
.campoData{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}.inputData{display:block;width:100%;min-width:0;min-height:48px;font:16px Archivo,sans-serif;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;color-scheme:light;box-sizing:border-box}
.inputData:focus-visible{outline:2px solid var(--magus-purple);outline-offset:2px}.erroData{font-size:13px;color:var(--danger);margin:12px 0}.erroData:empty{height:8px}.mesCompleto{width:100%;min-height:44px;color:var(--magus-purple);font-size:13px;margin-top:8px}.notaData{font-size:11px;color:var(--fg-2);text-align:center;margin:12px 0 0}
/* Respiro do Telegram e da barra de gestos do telefone. */
header{padding-top:calc(7px + var(--tg-safe-area-inset-top,0px))}
nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.gaveta{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
