/* Expressa Cred | Financeiro 0.2.0 — camada própria por cima do CSS de referência (fin-base.css).
   Só o que o original não tem: login dividido com a propaganda das 20 dobras DHF, Turnstile,
   sócios, períodos em rascunho e estados de exibição sem script inline. */
[hidden]{display:none!important}
#app-screen.on{display:flex}
.brand-dot{color:var(--orange)}
.brand-icon,.login-logo{letter-spacing:-.5px}

/* LOGIN: mesmo cartão do original; palco dividido (propaganda à esquerda, login à direita) */
#login-screen.palco{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(440px,1fr);grid-template-areas:"promo entrar";
  min-height:100vh;min-height:100svh;overflow-x:clip;align-items:stretch;justify-content:stretch;padding:0;animation:none;background:#00225F}
.palco>.entrar{grid-area:entrar;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:32px clamp(16px,3vw,48px);
  background:linear-gradient(-45deg,#000F2E,#00389D,#1556C9,#001E55,#00225F);background-size:400% 400%;animation:gradShift 14s ease infinite}
.palco>.promo{grid-area:promo;min-width:0;min-height:100vh;min-height:100svh}
.promo-reserva{padding:48px;color:#DCE8FD;background:linear-gradient(135deg,#0A2350,#0D2C63);height:100%}
.palco .login-card{width:420px;max-width:100%}
.ts-box{min-height:65px;margin:4px 0 10px;display:flex;justify-content:center;max-width:100%;overflow:hidden}
.login-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.login-err.on{display:block}
@media (max-width:900px){
  #login-screen.palco{grid-template-columns:minmax(0,1fr);grid-template-areas:"entrar" "promo"}
  .palco>.entrar{padding:28px 16px 32px;min-height:auto}
  .palco>.promo{min-height:560px;height:auto}
  .palco .login-card{padding:34px 22px 26px}
}
@media (max-width:360px){.ts-box{transform:scale(.9);transform-origin:center}}
@media (prefers-reduced-motion:reduce){
  .palco>.entrar,.orb{animation:none!important}
  .page.active,.login-card,.toast{animation:none!important}
}

/* App */
.faixa-leitura{background:var(--amber-bg);color:var(--amber);padding:6px 28px;font-size:12px;font-weight:700}
.lanc-aviso{margin:12px 28px 0;padding:8px 14px;background:var(--amber-bg);border-left:3px solid var(--amber);border-radius:var(--r-sm);font-size:12px;color:var(--amber)}
.month-tab.rascunho{outline:1px dashed var(--amber);outline-offset:-2px}
.table-scroll{overflow-x:auto;max-width:100%}
.mini-table td.num,.mini-table th.num,.main-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mini-table tfoot td{font-weight:800;border-top:1.5px solid var(--line);padding-top:8px}
.socio-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;padding:2px 8px;border-radius:var(--r-f);white-space:nowrap}
.socio-chip.francisco{background:var(--green-bg);color:var(--green)}
.socio-chip.diego{background:var(--amber-bg);color:var(--amber)}
.socio-chip.ludmila{background:var(--blue-bg);color:var(--blue)}
.sum-chip.saldo-zero{background:var(--bg);color:var(--text2);border-color:var(--line)}
.status-tag{font-size:10px;font-weight:800;padding:2px 8px;border-radius:var(--r-f);text-transform:uppercase;letter-spacing:.04em}
.status-tag.confirmado{background:var(--green-bg);color:var(--green)}
.status-tag.rascunho{background:var(--amber-bg);color:var(--amber);border:1px dashed var(--amber)}
.calc-total{grid-column:1/-1;background:var(--blue-bg);color:var(--text2);border-radius:var(--r-sm);padding:9px 12px;font-size:12px;font-weight:700}
.modal-erro{grid-column:1/-1;display:none;color:var(--red);background:var(--red-bg);padding:9px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:600}
.modal-erro.on{display:block}
.meses-lista{grid-column:1/-1}
.anual-wrap h2.anual-h{font-size:18px;font-weight:800;margin-bottom:3px}
.anual-sub{font-size:12px;color:var(--muted)}
.anual-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.anual-total-val{font-size:16px;font-weight:900;color:var(--orange)}
.anual-bloco{margin-bottom:28px}
.anual-table tr.linha-aporte td:first-child{color:var(--green);font-weight:700}
.anual-table tr.linha-saldo td{font-weight:800}
.kpi-card.socio-francisco .kpi-value{color:#6ee7b7}
.kpi-card.socio-diego .kpi-value{color:#fcd34d}
@media print{header,.export-bar,.lanc-header .filter-row,.faixa-leitura{display:none!important}}
a.btn-exp{text-decoration:none;display:inline-flex;align-items:center}
.mini-table th.num,.mini-table td.num{padding-left:14px}
