/* ================================================
   CLARIM — visual 2026 (camada por cima do style.css)
   Carregado DEPOIS do style.css e do <style> inline do app.html.
   Só aparência: não muda ids, classes usadas pelo JS nem comportamento.
   ================================================ */

/* ---------- Tokens: escuro (sem .theme-light) ---------- */
:root{
  --bg:#0a0f1a;--bg2:#121a28;--bg3:#1a2436;--bg4:#0e1522;
  --green:#25d0a0;--red:#ff6b70;--yellow:#fbbf24;--blue:#6ea0ff;--purple:#b48cff;
  --text:#eef2f8;--text2:#aab4c6;--text3:#7a869c;
  --border:#223047;--border2:#2c3b55;
  --f:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --fd:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px -12px rgba(0,0,0,.6);
  --modal-overlay-bg:rgba(0,0,0,.6);
  --accent:#25d0a0;
  --hover-bg:rgba(255,255,255,.04);
  --bar-track:#1f2a3e;
  --sb-bg:#121a28;--sb-text:#aab4c6;--sb-text-hover:#eef2f8;--sb-active-bg:#0f3a31;--sb-hover-bg:#1a2436;--sb-sec:#6c7890;
  --btn-on-green:#03251b;
  --radius-card:22px;--radius-ctrl:14px;
  /* novos */
  --v-brand:#25d0a0;--v-brand-strong:#5ee6bf;--v-brand-soft:#0f3a31;--v-brand-ink:#03251b;
  --v-hero1:#05332a;--v-hero2:#0c6e55;--v-hero3:#18a883;
  --v-ok:#3ddc84;--v-ok-soft:#10301f;--v-warn:#fbbf24;--v-warn-soft:#352709;--v-bad:#ff6b70;--v-bad-soft:#3a1518;--v-info:#6ea0ff;--v-info-soft:#14254a;
  --v-surf3:#223047;
  --v-shadow-up:0 -10px 30px -12px rgba(0,0,0,.7);
}
/* ---------- Tokens: claro (padrão do produto) ---------- */
:root.theme-light,#login-screen{
  --bg:#f3f5f8;--bg2:#ffffff;--bg3:#eef1f5;--bg4:#e6eaf0;
  --green:#0fa37f;--red:#e0383e;--yellow:#c96a00;--blue:#2f6fed;--purple:#7c3aed;
  --text:#0f1728;--text2:#4a5568;--text3:#7b8598;
  --border:#e3e7ee;--border2:#d5dbe5;
  --shadow:0 1px 2px rgba(15,23,40,.04),0 8px 24px -10px rgba(15,23,40,.12);
  --modal-overlay-bg:rgba(8,14,28,.48);
  --accent:#0fa37f;
  --hover-bg:rgba(15,23,40,.035);
  --bar-track:#e6eaf0;
  --sb-bg:#ffffff;--sb-text:#4a5568;--sb-text-hover:#0f1728;--sb-active-bg:#d9f4ea;--sb-hover-bg:#eef1f5;--sb-sec:#8a94a6;
  --btn-on-green:#ffffff;
  --v-brand:#0fa37f;--v-brand-strong:#0b7d62;--v-brand-soft:#d9f4ea;--v-brand-ink:#ffffff;
  --v-hero1:#063d32;--v-hero2:#0f8a6a;--v-hero3:#1fc79a;
  --v-ok:#139a4b;--v-ok-soft:#dbf7e5;--v-warn:#c96a00;--v-warn-soft:#fff0d6;--v-bad:#e0383e;--v-bad-soft:#ffe3e3;--v-info:#2f6fed;--v-info-soft:#e1ebff;
  --v-surf3:#e6eaf0;
  --v-shadow-up:0 -10px 30px -12px rgba(15,23,40,.25);
}

/* ---------- Base ---------- */
html,body{background:var(--bg)}
body{font-family:var(--f);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
input,select,textarea,button{font-family:var(--f)}
.c-green{color:var(--v-ok)}.c-red{color:var(--v-bad)}.c-yellow{color:var(--v-warn)}
[class*="-val"],.sc-value,.mn-label,.td-val-cell,.dash-saldo-value{font-variant-numeric:tabular-nums}

/* ---------- Login ---------- */
#login-screen{background:radial-gradient(90% 60% at 100% 0%,var(--v-brand-soft) 0%,transparent 60%),var(--bg)}
.login-box{border-radius:28px!important;padding:2.2rem 1.6rem!important;border:1px solid var(--border)!important}
.login-logo{font-weight:800;letter-spacing:-.03em;font-size:2.2rem}
.lf input,#login-screen select{min-height:52px;border-radius:15px!important;font-size:16px!important;background:var(--bg3)!important}
.lf input:focus{border-color:var(--v-brand)!important}
.btn-login{min-height:54px;border-radius:16px!important;font-weight:800!important;font-size:1rem!important;background:var(--v-brand)!important;color:var(--v-brand-ink)!important}
#tab-login,#tab-signup{min-height:44px;border-radius:12px!important;font-weight:700!important}

/* ---------- Menu lateral (PC) ---------- */
.sidebar{width:248px;padding:1.4rem .85rem;border-right:1px solid var(--border)}
.sb-logo{font-size:1.55rem;font-weight:800;letter-spacing:-.035em;padding:0 .7rem;margin-bottom:1.1rem}
.sb-sec{font-size:.66rem;font-weight:800;letter-spacing:.09em;padding:.9rem .75rem .35rem;margin-top:0}
.sb-item{margin:1px 0;padding:.62rem .75rem;border-left:0!important;border-radius:13px;font-weight:600;font-size:.9rem;gap:12px}
html.theme-light .sb-item.active,.sb-item.active{margin:1px 0;padding:.62rem .75rem;color:var(--v-brand-strong);background:var(--v-brand-soft);font-weight:700}
.sb-item .nav-ico{width:19px;height:19px;stroke-width:1.9}
.sb-user{padding:1rem .75rem 0}
.main{margin-left:248px;padding:1.75rem 2.2rem 3rem}
@media (min-width:769px){
  .main>.page{max-width:1180px;margin-left:auto;margin-right:auto}
}

/* ---------- Títulos ---------- */
.pg-title{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}
.pg-sub{font-size:.88rem;color:var(--text3);font-weight:500;margin-bottom:1.25rem}

/* ---------- Superfícies ---------- */
.panel,.scard,.tbl-wrap,.mini-resumo{border-radius:22px;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--bg2)}
.panel{padding:1.15rem 1.15rem 1rem}
.panel-hd{margin-bottom:.85rem}
.panel-title{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.panel-action{background:var(--v-brand-soft)!important;border:0!important;color:var(--v-brand-strong)!important;border-radius:999px!important;padding:5px 12px!important;font-weight:700}

/* ---------- Botões ---------- */
.btn-add{background:var(--v-brand);color:var(--v-brand-ink);border-radius:14px;min-height:44px;padding:.6rem 1.15rem;font-weight:800;font-size:.88rem;box-shadow:0 8px 18px -10px var(--v-brand)}
.btn-add:active{transform:scale(.97)}
.btn-action,.btn-periodo-toggle{background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:12px;min-height:38px;padding:.4rem .85rem;font-size:.8rem;font-weight:700}
.btn-action:hover,.btn-periodo-toggle:hover{border-color:var(--v-brand);color:var(--v-brand-strong);background:var(--bg2)}
.btn-periodo-toggle.active{background:var(--v-info-soft);border-color:var(--v-info);color:var(--v-info)}
.btn-danger{border-radius:12px;min-height:38px;font-weight:700}
.btn-save{background:var(--v-brand);color:var(--v-brand-ink);border-radius:15px;min-height:50px;font-weight:800;font-size:.98rem}
.btn-cancel{border-radius:15px;min-height:50px;font-weight:700;background:var(--bg3);border:0;color:var(--text)}

/* ---------- Campos ---------- */
.search-box,.fsel{min-height:44px;border-radius:14px;border:1px solid var(--border);background:var(--bg2);font-size:.88rem;color:var(--text)}
.search-box:focus,.fsel:focus{border-color:var(--v-brand)}
.fr label{font-size:.8rem;font-weight:700;color:var(--text3);margin-bottom:6px;padding-left:2px}
.fr input,.fr select,.fr textarea{min-height:50px;border-radius:14px;background:var(--bg3);border:1px solid transparent;font-size:16px;padding:.7rem .95rem}
.fr textarea{min-height:84px}
.fr input:focus,.fr select:focus,.fr textarea:focus{border-color:var(--v-brand);background:var(--bg2)}
.tipo-tabs{background:var(--bg3);border-radius:15px;padding:4px;gap:4px}
.tipo-tab{border:0;border-radius:12px;padding:.7rem .5rem;font-weight:700;font-size:.85rem}
.tipo-tab.active{background:var(--bg2);color:var(--v-bad);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tipo-tab.active.cartao{background:var(--bg2);color:#9d3ee6}
.form-tip{font-size:.8rem;color:var(--text3)}

/* ---------- Mês ---------- */
.month-nav,.desp-month-nav{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:6px;gap:6px}
.mn-btn,.desp-month-nav .mn-btn{width:40px;height:40px;border-radius:13px;background:var(--bg3);border:0;color:var(--text2);font-size:1.15rem;font-weight:700;padding:0;display:inline-grid;place-items:center}
.mn-btn:hover,.desp-month-nav .mn-btn:hover{background:var(--v-brand-soft);color:var(--v-brand-strong)}
.mn-label,.desp-month-nav .mn-label{font-weight:800;font-size:1rem;letter-spacing:-.02em}
.periodo-bar{border-radius:16px;min-height:44px}

/* ---------- Selos de situação ---------- */
.badge{border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:800;border:0!important;white-space:nowrap}
.b-pago,.b-recebido{background:var(--v-ok-soft)!important;color:var(--v-ok)!important}
.b-avencer{background:var(--v-warn-soft)!important;color:var(--v-warn)!important}
.b-previsto{background:var(--v-info-soft)!important;color:var(--v-info)!important}
.b-atrasado{background:var(--v-bad-soft)!important;color:var(--v-bad)!important}

/* ---------- Tabelas (PC) ---------- */
.tbl-head{background:var(--bg3);font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--text3)}
.tbl-row{transition:background .12s}
.tbl-row:hover{background:var(--hover-bg)}

/* ---------- Janelas (modais) ---------- */
.modal-overlay{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.modal{border-radius:26px;border:1px solid var(--border);box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
.modal-title{font-size:1.2rem;font-weight:800;letter-spacing:-.025em}
.modal-close-btn{border-radius:12px!important;width:40px!important;height:40px!important}

/* ---------- Aviso (toast) ---------- */
.toast{background:var(--text);color:var(--bg);border:0;border-radius:16px;font-weight:700;padding:.85rem 1.2rem;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.toast-err{background:var(--v-bad)!important;color:#fff!important}

/* ================================================
   INÍCIO (dashboard)
   ================================================ */
.dash-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.dash-cols{display:flex;flex-direction:column;gap:0}
.dash-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.dash-col-b{margin-top:14px}
.dash-col .panel,.dash-col .scard{margin:0}
@media (min-width:1024px){
  .dash-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
  .dash-col-b{margin-top:0}
}
/* cartão verde */
.dash-saldo-hero{
  position:relative;overflow:hidden;text-align:left;margin:0;border:0;border-radius:28px;padding:16px 18px 18px;color:#fff;
  background:radial-gradient(120% 120% at 100% 0%,var(--v-hero3) 0%,transparent 45%),linear-gradient(140deg,var(--v-hero1),var(--v-hero2));
  box-shadow:0 18px 40px -22px var(--v-hero1);
}
.dash-saldo-hero::before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-95px;bottom:-130px;border:30px solid rgba(255,255,255,.06);pointer-events:none}
.dash-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;margin-bottom:14px}
html .dash-hero-month.month-nav,html.theme-light .dash-hero-month.month-nav{box-shadow:none;margin:0;background:rgba(255,255,255,.14);border:0;border-radius:999px;padding:3px;gap:2px;width:auto}
.dash-hero-month .mn-btn{width:34px;height:34px;border-radius:50%;background:transparent;color:#fff;font-size:1.2rem}
.dash-hero-month .mn-btn:hover{background:rgba(255,255,255,.15);color:#fff}
.dash-hero-month .mn-label{color:#fff;font-size:.9rem;min-width:118px}
.dash-saldo-hero .btn-privacy-hero{margin:0;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;min-height:38px;padding:0 12px;font-size:.78rem;font-weight:700}
.dash-saldo-hero .btn-privacy-hero:hover,.dash-saldo-hero .btn-privacy-hero[aria-pressed="true"]{background:rgba(255,255,255,.24);color:#fff;border:0}
.dash-saldo-label{position:relative;color:rgba(255,255,255,.82);text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:600;margin-bottom:2px}
.dash-saldo-hero .dash-saldo-value,.dash-saldo-hero .dash-saldo-value.c-green{position:relative;color:#fff!important;font-size:2.15rem;font-weight:800;letter-spacing:-.03em;margin-bottom:14px}
.dash-saldo-hero .dash-saldo-value.c-red{color:#ffd1d3!important}
.dash-saldo-split{position:relative;gap:8px;margin-bottom:14px}
.dash-saldo-pill,.dash-saldo-pill:hover,.dash-saldo-pill-desp:hover{background:rgba(255,255,255,.12);border:0;border-radius:16px;padding:10px 12px;color:#fff}
.dash-saldo-pill:hover{background:rgba(255,255,255,.2)}
.dash-saldo-pill-ic,.dash-saldo-pill-rec .dash-saldo-pill-ic,.dash-saldo-pill-desp .dash-saldo-pill-ic{background:rgba(255,255,255,.18)!important;color:#fff!important;border-radius:10px;width:30px;height:30px}
.dash-saldo-pill-lbl{color:rgba(255,255,255,.82);text-transform:none;letter-spacing:0;font-size:.74rem}
.dash-saldo-pill-val,.dash-saldo-pill-val.c-green,.dash-saldo-pill-val.c-red{color:#fff!important;font-size:1.02rem;font-weight:800}
.dash-saldo-bar.cf-progress-track{position:relative;height:8px;border-radius:9px;background:rgba(255,255,255,.18);margin:0 0 8px;overflow:hidden}
.dash-saldo-bar .cf-progress-fill{height:100%;border-radius:9px;background:#fff!important}
.dash-saldo-month{position:relative;justify-content:flex-start;margin:0;gap:4px 8px}
.dash-saldo-month-lbl,.dash-saldo-month-sub{color:rgba(255,255,255,.82);font-size:.78rem;width:auto;text-align:left}
.dash-saldo-month-val,.dash-saldo-month-val.c-green,.dash-saldo-month-val.c-red{color:#fff!important;font-size:.95rem;font-weight:800}
.dash-saldo-month-val.c-red{color:#ffd1d3!important}
.dash-saldo-month-sub::before{content:"· "}
/* atalhos */
.dash-qa{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dash-qa-btn{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;cursor:pointer;color:var(--text2);font-size:.78rem;font-weight:700;padding:2px 0;-webkit-tap-highlight-color:transparent}
.dash-qa-ic{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;transition:transform .15s}
.dash-qa-btn:active .dash-qa-ic{transform:scale(.92)}
.dash-qa-ic .nav-ico{width:26px;height:26px;stroke-width:2.1}
.dash-qa-desp{background:var(--v-bad-soft);color:var(--v-bad)}
.dash-qa-rec{background:var(--v-ok-soft);color:var(--v-ok)}
.dash-qa-cc{background:color-mix(in srgb,#9d3ee6 15%,transparent);color:#9d3ee6}
.dash-qa-pay{background:var(--v-brand-soft);color:var(--v-brand-strong)}
/* atrasadas */
.scard-atraso{background:var(--v-bad-soft);border:0;box-shadow:none;padding:14px}
.scard-atraso-hd{margin-bottom:10px}
.scard-atraso .sc-label{color:var(--v-bad);text-transform:none;letter-spacing:0;font-size:.86rem;font-weight:800;margin-bottom:0}
.scard-atraso .sc-value{font-size:1.5rem;font-weight:800}
.scard-atraso .sc-sub{color:var(--text2);font-weight:600}
.scard-atraso .scard-atraso-list{gap:8px}
.scard-atraso .v-row{background:var(--bg2);border-radius:16px;border:0}
.atraso-empty{color:var(--text2);font-weight:600}
.dash-foot-note{font-size:.76rem;color:var(--text3);padding:6px 4px 0}
.dash-contas-total{font-weight:800;font-size:1rem;color:var(--text)}
#d-faturas.sc-value{font-size:1.05rem;font-weight:800}
/* linhas de lista (Início e outras) */
.v-row{display:flex;align-items:center;gap:12px;padding:10px 4px;min-height:62px;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v-row+.v-row{border-top:1px solid var(--border)}
.scard-atraso .v-row+.v-row{border-top:0}
.scard-atraso .v-row{padding:10px 12px}
.v-row:hover{background:var(--hover-bg)}
.v-row-static{cursor:default}
.v-row-t{flex:1;min-width:0}
.v-row-nm{font-size:.94rem;font-weight:700;color:var(--text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.v-row-sub{font-size:.78rem;color:var(--text3);font-weight:500;line-height:1.35;margin-top:2px;overflow-wrap:anywhere}
.v-row-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.v-row-end .v-pay{min-height:32px;padding:0 12px;font-size:.76rem}
.v-row-sub b{font-weight:700;color:var(--text2)}
.v-row-sub b.c-yellow{color:var(--v-warn)}
.v-row-val{font-size:.96rem;font-weight:800;white-space:nowrap;color:var(--text);font-variant-numeric:tabular-nums}
.v-cat{--c:#94a3b8;width:42px;height:42px;border-radius:14px;flex-shrink:0;display:grid;place-items:center;font-size:1.2rem;line-height:1;background:color-mix(in srgb,var(--c) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 22%,transparent)}
.v-cc-ic{width:42px;height:42px;border-radius:14px;flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,#9d3ee6 15%,transparent);color:#9d3ee6}
.v-cc-ic .nav-ico{width:21px;height:21px}
.v-pay{flex-shrink:0;border:1.5px solid var(--v-brand);color:var(--v-brand-strong);background:transparent;border-radius:999px;min-height:36px;padding:0 13px;font-size:.8rem;font-weight:800;cursor:pointer}
.v-pay:hover{background:var(--v-brand-soft)}
.v-pay:active{transform:scale(.95)}
#dash-contas-list .bank-dot{width:42px;height:42px;border-radius:14px}
/* convites no fim do início */
.family-dash-cta,.wa-dash-cta{margin:0!important;border-radius:20px!important}

/* ================================================
   DESPESAS / RECEITAS (lista)
   ================================================ */
.mini-resumo{padding:12px;border-radius:22px}
.mini-resumo-hd{font-size:.78rem;color:var(--text3);font-weight:700;margin-bottom:8px}
.mini-resumo-grid{gap:8px}
.mini-resumo-card{border:0;border-radius:16px;padding:10px 12px;background:var(--bg3)}
.mini-resumo-card:has(.ok){background:var(--v-ok-soft)}
.mini-resumo-card:has(.warn){background:var(--v-warn-soft)}
.mini-resumo-card:has(.bad){background:var(--v-bad-soft)}
.mini-resumo-k{font-size:.74rem;font-weight:800;color:var(--text2)}
.mini-resumo-card:has(.ok) .mini-resumo-k{color:var(--v-ok)}
.mini-resumo-card:has(.warn) .mini-resumo-k{color:var(--v-warn)}
.mini-resumo-card:has(.bad) .mini-resumo-k{color:var(--v-bad)}
.mini-resumo-v,.mini-resumo-v.ok,.mini-resumo-v.warn,.mini-resumo-v.bad{color:var(--text);font-size:1.02rem;font-variant-numeric:tabular-nums}
.desp-status-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px;padding:2px 0;align-items:center}
.desp-status-chips::-webkit-scrollbar{display:none}
.desp-status-chips button{flex-shrink:0;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:.84rem;font-weight:700;cursor:pointer;white-space:nowrap}
.desp-status-chips button.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.desp-status-chips button[data-st="atrasado"].on{background:var(--v-bad);border-color:var(--v-bad);color:#fff}
.desp-status-chips button[data-st="avencer"].on{background:var(--v-warn);border-color:var(--v-warn);color:#fff}
.desp-status-chips button[data-st="pago"].on{background:var(--v-ok);border-color:var(--v-ok);color:#fff}
.desp-status-chips .chips-sep{width:1px;height:24px;background:var(--border);flex-shrink:0}
.desp-day-hd{grid-column:1/-1;font-size:.74rem;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;padding:14px 6px 6px}
.desp-day-hd.is-hoje{color:var(--v-brand-strong)}
.tbl-wrap .desp-day-hd{padding:12px 1.25rem 6px;background:var(--bg);border-top:1px solid var(--border)}
.reneg-aviso{border-radius:18px!important}
/* ícone da categoria dentro da descrição */
.td-desc{display:flex;align-items:center;gap:10px;min-width:0}
.td-desc-txt{min-width:0;overflow:hidden;text-overflow:ellipsis}
.v-cat.td-desc-ico{width:30px;height:30px;border-radius:10px;font-size:.95rem}
.td-mob-meta{display:none}
.m-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 9px;border-radius:999px;background:var(--bg3);color:var(--text2);font-size:.74rem;font-weight:600;line-height:1.3;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-chip-clip{color:var(--v-info);background:var(--v-info-soft);cursor:pointer;font-weight:700}
.m-when{font-size:.78rem;font-weight:800;color:var(--text2);white-space:nowrap}
.m-when-atrasado{color:var(--v-bad)}
.m-when-hoje{color:var(--v-warn)}
.m-when-pago{color:var(--v-ok)}

/* ================================================
   CARTÕES e CONTAS
   ================================================ */
#cartoes-grid,#contas-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important;gap:16px!important;margin-bottom:1.25rem}
.v-ccard{background:var(--bg2);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;cursor:pointer;transition:transform .15s}
.v-ccard:active{transform:scale(.99)}
.v-ccard-face{position:relative;overflow:hidden;color:#fff;padding:16px 18px;aspect-ratio:1.9;display:flex;flex-direction:column;justify-content:space-between;margin:8px 8px 0;border-radius:18px;box-shadow:0 12px 24px -14px rgba(0,0,0,.55)}
.v-ccard-face::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-60px;top:-80px;background:rgba(255,255,255,.12);pointer-events:none}
.v-ccard-top{display:flex;justify-content:space-between;align-items:center;position:relative;gap:10px}
.v-ccard-nome{font-weight:800;font-size:1.05rem;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-ccard-chip{width:38px;height:28px;border-radius:7px;background:linear-gradient(135deg,#f6d77a,#c9a23f);flex-shrink:0}
.v-ccard-lbl{font-size:.74rem;opacity:.85;font-weight:600;position:relative}
.v-ccard-val{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;position:relative;font-variant-numeric:tabular-nums}
.v-ccard-sub{font-size:.75rem;opacity:.88;font-weight:600;position:relative}
.v-ccard-body{padding:12px 16px 14px;display:flex;flex-direction:column;gap:8px}
.v-ccard-row{display:flex;justify-content:space-between;font-size:.84rem;font-weight:700;color:var(--text2)}
.v-ccard-bar{height:8px;border-radius:9px;background:var(--bar-track);overflow:hidden}
.v-ccard-bar i{display:block;height:100%;border-radius:9px}
.v-ccard-meta{font-size:.76rem;color:var(--text3);font-weight:500;line-height:1.45}
.v-ccard-alert{background:var(--v-bad-soft);color:var(--v-bad);font-weight:700;font-size:.8rem;border-radius:12px;padding:8px 10px}
.v-ccard-acts,.v-conta-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.v-conta{background:var(--bg2);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:4px}
.v-conta-hd{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.v-conta-hd .bank-dot{border-radius:14px}
.v-conta-t{min-width:0;flex:1}
.v-conta-nome{font-weight:800;font-size:1rem;line-height:1.25}
.v-conta-sub{font-size:.78rem;color:var(--text3);font-weight:500}
.v-conta-lbl{font-size:.76rem;color:var(--text3);font-weight:700}
.v-conta-val{font-size:1.6rem;font-weight:800;letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-bottom:8px}
#panel-fatura{border-radius:24px}
.fatura-linha{border-radius:12px}

/* ================================================
   DEMAIS TELAS (ajustes gerais)
   ================================================ */
.cat-filter-btn{border-radius:999px!important;min-height:38px;font-weight:700!important}
.cat-filter-btn.active{background:var(--text)!important;color:var(--bg)!important;border-color:var(--text)!important}
.cat-search-input{min-height:44px;border-radius:14px!important;background:var(--bg2)!important}
.cats-grid > *{border-radius:20px!important}
.budget-track,.lim-track{border-radius:9px!important;height:10px!important}
.cfg-tab{border-radius:12px!important;font-weight:700!important}
.cfg-tab.active{background:var(--v-brand-soft)!important;color:var(--v-brand-strong)!important}
.ai-page-body,.ai-panel{border-radius:24px!important}
.ai-bubble-bot,.ai-msg.bot{border-radius:20px 20px 20px 6px!important}
.ai-bubble-user,.ai-msg.user{border-radius:20px 20px 6px 20px!important}
.ai-inp,#ai-inp{min-height:50px;border-radius:16px!important;font-size:16px!important}
.ai-page-send,.ai-confirm-btn{border-radius:14px!important}
.relat-sel{border-radius:14px!important;min-height:44px}
.empty-state,.dash-empty{border-radius:22px}
.trial-banner,.profile-banner{border-radius:18px!important}
.dash-onboarding{border-radius:22px!important}
.family-dash-cta,.wa-dash-cta{min-height:64px}

/* ================================================
   CELULAR
   ================================================ */
@media (max-width:768px){
  .main{margin-left:0;padding:calc(.9rem + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important}
  .pg-title{font-size:1.55rem}

  /* barra inferior flutuante */
  #mob-nav.mob-nav{
    left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;height:68px!important;padding:0 4px!important;
    border-radius:24px!important;border:1px solid var(--border)!important;background:var(--bg2)!important;
    box-shadow:var(--v-shadow-up)!important;justify-content:space-around!important;
  }
  #mob-nav .mob-nav-item{color:var(--text3)!important;font-size:11px!important;font-weight:700!important;gap:4px!important;padding:6px 4px!important;min-width:58px!important;flex:1}
  #mob-nav .mob-nav-ic{width:48px;height:30px;border-radius:12px;transition:background .2s}
  #mob-nav .mob-nav-item .nav-ico{width:22px!important;height:22px!important;stroke-width:2}
  #mob-nav .mob-nav-item.mob-active{color:var(--v-brand-strong)!important}
  #mob-nav .mob-nav-item.mob-active .mob-nav-ic{background:var(--v-brand-soft)}
  #mob-nav .mob-nav-fab{
    width:60px!important;height:60px!important;border-radius:20px!important;margin:-34px 4px 0!important;flex:0 0 auto;
    background:var(--v-brand)!important;color:var(--v-brand-ink)!important;font-size:30px!important;font-weight:500!important;
    box-shadow:0 12px 24px -8px var(--v-brand)!important;transition:transform .15s,border-radius .2s!important;
  }
  #mob-nav .mob-nav-fab:active{transform:scale(.93)}
  #mob-nav .mob-nav-fab.mob-fab-open{border-radius:50%!important;background:var(--text)!important;color:var(--bg)!important;box-shadow:none!important}

  /* folha do "+" */
  .mob-fab-overlay{background:var(--modal-overlay-bg)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .mob-fab-sheet{
    border-radius:28px 28px 0 0!important;background:var(--bg2)!important;border:0!important;
    padding:10px 18px calc(18px + env(safe-area-inset-bottom))!important;box-shadow:var(--v-shadow-up)!important;
  }
  .mob-fab-sheet-handle{width:42px!important;height:5px!important;border-radius:9px!important;background:var(--v-surf3)!important;margin:0 auto 12px!important}
  .mob-fab-sheet-title{font-size:1.15rem!important;font-weight:800!important;text-align:center;margin-bottom:10px!important;color:var(--text)!important}
  .mob-fab-opt{display:flex!important;align-items:center!important;gap:14px!important;width:100%;min-height:62px;padding:8px 4px!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:1rem!important;font-weight:800!important;color:var(--text)!important;text-align:left}
  .mob-fab-opt+.mob-fab-opt{border-top:1px solid var(--border)!important}
  .mob-fab-opt-ic{width:48px!important;height:48px!important;border-radius:16px!important;display:grid!important;place-items:center!important;font-size:1.2rem!important;font-weight:800!important;flex-shrink:0}
  .mob-fab-opt-desp .mob-fab-opt-ic{background:var(--v-bad-soft)!important;color:var(--v-bad)!important}
  .mob-fab-opt-rec .mob-fab-opt-ic{background:var(--v-ok-soft)!important;color:var(--v-ok)!important}
  .mob-fab-opt-cc .mob-fab-opt-ic{background:color-mix(in srgb,#9d3ee6 16%,transparent)!important;color:#9d3ee6!important}
  .mob-fab-opt-wa .mob-fab-opt-ic{background:color-mix(in srgb,#25d366 18%,transparent)!important;color:#1a9e4b!important}
  .mob-fab-cancel{margin-top:10px!important;min-height:52px;width:100%;border-radius:16px!important;background:var(--bg3)!important;border:0!important;color:var(--text)!important;font-weight:700!important;font-size:.95rem!important}

  /* menu "Mais" vira folha que sobe de baixo, com blocos */
  .mob-drawer{
    top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;max-height:88vh!important;max-height:88dvh!important;
    border-radius:28px 28px 0 0!important;background:var(--bg)!important;
    transform:translateY(100%)!important;transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
    padding:10px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))!important;
  }
  .mob-drawer.open{transform:translateY(0)!important}
  .mob-drawer::before{content:"";display:block;width:42px;height:5px;border-radius:9px;background:var(--v-surf3);margin:0 auto 10px;flex-shrink:0}
  .mob-drawer-overlay{background:var(--modal-overlay-bg)!important}
  .mob-drawer-header{border:0!important;font-size:1.3rem!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.02em!important;color:var(--text)!important;padding:0 4px 4px!important;margin:0!important}
  .mob-drawer-tabs{display:none!important}
  .mob-drawer-pane,.mob-drawer-pane[hidden]{display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;flex-shrink:0}
  .mob-drawer-pane::before{grid-column:1/-1;font-size:.72rem;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin:14px 4px 0}
  .mob-drawer-pane[data-drw-pane="gerenciar"]::before{content:"Organizar"}
  .mob-drawer-pane[data-drw-pane="acompanhar"]::before{content:"Acompanhar"}
  .mob-drawer-pane[data-drw-pane="sobre"]::before{content:"Conta"}
  .mob-drawer-pane .mob-drawer-item{
    flex-direction:column!important;justify-content:center!important;gap:8px!important;text-align:center!important;
    min-height:96px;padding:12px 6px!important;border-radius:20px!important;background:var(--bg2)!important;
    border:1px solid var(--border)!important;box-shadow:var(--shadow);font-size:.8rem!important;font-weight:700!important;line-height:1.2;color:var(--text)!important;
  }
  .mob-drawer-pane .mob-drawer-item.mob-active{border-color:var(--v-brand)!important;background:var(--v-brand-soft)!important;color:var(--v-brand-strong)!important}
  .mob-drawer-pane .mob-drawer-ic{width:46px;height:46px;border-radius:15px;background:var(--v-brand-soft);color:var(--v-brand-strong)}
  .mob-drawer-pane .mob-drawer-ic .nav-ico{width:22px;height:22px;stroke-width:1.9}
  #mob-drw-familia .mob-drawer-ic{background:color-mix(in srgb,#ec4899 15%,transparent);color:#ec4899}
  #mob-drw-contas .mob-drawer-ic{background:color-mix(in srgb,#ec7000 15%,transparent);color:#ec7000}
  #mob-drw-cartoes .mob-drawer-ic{background:color-mix(in srgb,#9d3ee6 15%,transparent);color:#9d3ee6}
  #mob-drw-renegociacao .mob-drawer-ic{background:color-mix(in srgb,#3b4fb8 16%,transparent);color:#5468d4}
  #mob-drw-categorias .mob-drawer-ic{background:color-mix(in srgb,#f97316 15%,transparent);color:#f97316}
  #mob-drw-limites .mob-drawer-ic{background:color-mix(in srgb,#e0383e 15%,transparent);color:#e0383e}
  #mob-drw-importar .mob-drawer-ic,#mob-drw-exportar .mob-drawer-ic{background:color-mix(in srgb,#16a34a 15%,transparent);color:#16a34a}
  #mob-drw-ia .mob-drawer-ic{background:color-mix(in srgb,#a855f7 15%,transparent);color:#a855f7}
  #mob-drw-whatsapp .mob-drawer-ic{background:color-mix(in srgb,#25d366 18%,transparent);color:#1a9e4b}
  #mob-drw-relatorios .mob-drawer-ic{background:color-mix(in srgb,#0ea5e9 15%,transparent);color:#0ea5e9}
  #mob-drw-simulacao .mob-drawer-ic{background:var(--v-brand-soft);color:var(--v-brand-strong)}
  #mob-drw-configuracoes .mob-drawer-ic,#mob-drw-plataforma .mob-drawer-ic{background:var(--bg3);color:var(--text2)}
  .mob-drawer-footer{border-top:0!important;padding:16px 0 calc(16px + env(safe-area-inset-bottom))!important;margin-top:4px!important}
  .mob-drawer-footer .mob-drawer-logout{min-height:52px!important;border-radius:16px!important;border:0!important;background:var(--v-bad-soft)!important;color:var(--v-bad)!important;justify-content:center!important;gap:8px!important}

  /* formulários em folha */
  .modal-overlay .modal.modal-sheet,#modal-lancamento .modal.modal-sheet,#modal-receita .modal.modal-sheet{border-radius:28px 28px 0 0!important;padding-top:.6rem!important}
  .modal-overlay .modal.modal-sheet::before{content:"";display:block;width:42px;height:5px;border-radius:9px;background:var(--v-surf3);margin:0 auto 10px;flex-shrink:0}
  .modal-overlay .modal-btns-dock{box-shadow:none!important;border-top:1px solid var(--border)!important}
  .modal-overlay .modal-btns-dock .btn-save,.modal-overlay .modal-btns-dock .btn-cancel{min-height:52px!important;border-radius:16px!important}
  .modal-overlay .modal-btns-dock .btn-cancel{flex:.6}

  /* Despesas no celular: cartão com tudo à vista */
  #page-despesas .desp-filtros-toggle{display:none!important}
  #page-despesas .desp-filtros-extra,#page-despesas.filtros-abertos .desp-filtros-extra{
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:8px!important;
  }
  #page-despesas .desp-filtros-extra::-webkit-scrollbar{display:none}
  #page-despesas .desp-filtros-extra > *{width:auto!important;flex:0 0 auto;max-width:72vw!important;min-height:42px;border-radius:999px}
  #page-despesas .desp-filtros-extra #desp-tipo,#page-despesas .desp-filtros-extra #desp-status{display:none}
  #page-despesas .toolbar{order:2}
  #page-despesas .desp-status-chips{order:3}
  #page-despesas #desp-mini-resumo{order:4}
  #page-despesas .tbl-scroll-x{order:5}
  #page-despesas .desp-nav-strip{flex-direction:row!important;flex-wrap:wrap;gap:8px!important}
  #page-despesas .desp-nav-strip .desp-month-nav{flex:1 1 100%}
  #page-despesas .desp-nav-strip > .btn-action,#page-despesas .desp-nav-strip > .btn-periodo-toggle{flex:1 1 0;min-height:42px;border-radius:999px}
  #page-despesas .periodo-bar{flex:1 1 100%;flex-wrap:wrap}
  .mini-resumo-grid{grid-template-columns:1fr 1fr}

  #desp-body{gap:8px!important}
  #desp-body > .tbl-row.desp-grid,#desp-body > .tbl-row.desp-grid.desp-grid{
    grid-template-columns:24px minmax(0,1fr) auto 30px!important;
    grid-template-rows:auto auto auto!important;
    gap:4px 10px!important;padding:12px 10px 12px 12px!important;border-radius:20px!important;border:1px solid var(--border)!important;
    align-items:start!important;cursor:pointer;
  }
  #desp-body .tbl-row.desp-grid > .td-cb{grid-column:1!important;grid-row:1 / span 3!important;padding-top:10px!important}
  #desp-body .tbl-row.desp-grid > .td-desc{
    grid-column:2 / span 2!important;grid-row:1!important;text-align:left!important;justify-content:flex-start!important;display:flex!important;align-items:flex-start!important;-webkit-line-clamp:unset!important;overflow:visible!important;
    font-size:.95rem!important;font-weight:700!important;line-height:1.3!important;
  }
  #desp-body .tbl-row.desp-grid > .td-desc .v-cat.td-desc-ico{width:40px;height:40px;border-radius:13px;font-size:1.15rem;margin-top:1px}
  #desp-body .tbl-row.desp-grid > .td-desc .td-desc-txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;padding-top:2px}
  #desp-body .tbl-row.desp-grid > .td-desc .td-author{display:block!important;margin:2px 0 0!important;font-size:.72rem!important}
  #desp-body .tbl-row.desp-grid > .td-val-cell{grid-column:2!important;grid-row:2!important;text-align:left!important;font-size:1.12rem!important;font-weight:800!important;white-space:nowrap;align-self:center!important;padding-left:50px!important;color:var(--text)}
  #desp-body .tbl-row.desp-grid > .td-status{grid-column:3 / span 2!important;grid-row:2!important;justify-self:end!important;align-self:center!important}
  #desp-body .tbl-row.desp-grid > .td-actions{grid-column:4!important;grid-row:1!important;justify-self:end!important;align-self:start!important}
  #desp-body .tbl-row.desp-grid > .td-date-compcell,
  #desp-body .tbl-row.desp-grid > .td-cat,
  #desp-body .tbl-row.desp-grid > .td-pgto,
  #desp-body .tbl-row.desp-grid > .td-subcat,
  #desp-body .tbl-row.desp-grid > .td-conta,
  #desp-body .tbl-row.desp-grid > .td-parcela-col{display:none!important}
  #desp-body .tbl-row.desp-grid > .td-mob-meta{
    display:flex;grid-column:2 / span 3;grid-row:3;flex-wrap:wrap;align-items:center;gap:6px;
    margin-top:6px;padding-top:8px;border-top:1px dashed var(--border);
  }
  #desp-body .desp-row-group .td-actions{grid-column:3 / span 2!important;grid-row:2!important;display:flex;gap:6px}
  #desp-body .desp-row-group .td-status{display:none!important}
  #desp-body .desp-row-child{margin-left:14px!important;background:var(--bg3)!important}
  #desp-body .actions-ellipsis-btn{width:30px;height:30px;border-radius:10px}
  #desp-body .badge{font-size:.72rem;padding:4px 10px}

  /* Receitas no celular */
  #page-receitas .toolbar{flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:8px}
  #page-receitas .toolbar::-webkit-scrollbar{display:none}
  #page-receitas .toolbar > *{width:auto!important;flex:0 0 auto;min-height:42px;border-radius:999px}
  #page-receitas .toolbar > .search-box{flex:1 0 170px;border-radius:14px}
  #page-receitas .desp-nav-strip{flex-direction:row!important;flex-wrap:wrap;gap:8px!important}
  #page-receitas .desp-nav-strip .desp-month-nav{flex:1 1 100%}
  #page-receitas .desp-nav-strip > .btn-action,#page-receitas .desp-nav-strip > .btn-periodo-toggle{flex:1 1 0;min-height:42px;border-radius:999px}
  #rec-body{gap:8px!important}
  #rec-body > .tbl-row.rec-grid,#rec-body > .tbl-row.rec-grid.rec-grid{
    grid-template-columns:minmax(0,1fr) auto 30px!important;grid-template-rows:auto auto auto!important;
    gap:4px 10px!important;padding:12px 10px 12px 12px!important;border-radius:20px!important;border:1px solid var(--border)!important;
    align-items:start!important;cursor:pointer;
  }
  #rec-body .tbl-row.rec-grid > .td-desc{grid-column:1 / span 2!important;grid-row:1!important;display:flex!important;align-items:flex-start!important;text-align:left!important;-webkit-line-clamp:unset!important;overflow:visible!important;font-size:.95rem!important;font-weight:700!important}
  #rec-body .tbl-row.rec-grid > .td-desc .v-cat.td-desc-ico{width:40px;height:40px;border-radius:13px;font-size:1.15rem}
  #rec-body .tbl-row.rec-grid > .td-desc .td-desc-txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;padding-top:2px}
  #rec-body .tbl-row.rec-grid > .td-desc .td-author{display:block!important;margin:2px 0 0!important;font-size:.72rem!important}
  #rec-body .tbl-row.rec-grid > .td-actions{grid-column:3!important;grid-row:1!important;justify-self:end!important}
  #rec-body .tbl-row.rec-grid > .td-val-cell{grid-column:1!important;grid-row:2!important;text-align:left!important;font-size:1.12rem!important;font-weight:800!important;padding-left:50px!important;color:var(--v-ok)!important;align-self:center}
  #rec-body .tbl-row.rec-grid > .td-status{grid-column:2 / span 2!important;grid-row:2!important;justify-self:end!important;align-self:center!important}
  #rec-body .tbl-row.rec-grid > .td-date,#rec-body .tbl-row.rec-grid > .td-cat,#rec-body .tbl-row.rec-grid > .td-subcat,#rec-body .tbl-row.rec-grid > .td-conta{display:none!important}
  #rec-body .tbl-row.rec-grid > .td-mob-meta{display:flex;grid-column:1 / span 3;grid-row:3;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0 50px;padding-top:8px;border-top:1px dashed var(--border)}
  #desp-body .tbl-row.desp-grid > .td-mob-meta{margin-left:50px!important}

  /* Família: linha de membro quebra em 2 linhas, nada some */
  .grupo-member{flex-wrap:wrap!important;row-gap:8px!important;border-radius:16px!important}
  .grupo-member-info{flex:1 1 calc(100% - 60px)!important}
  .grupo-member-name{white-space:normal!important;overflow-wrap:anywhere;font-weight:700!important}
  .grupo-member-sub{white-space:normal!important;overflow-wrap:anywhere}
  .grupo-member > .badge{margin-left:46px!important}
  .grupo-member > .btn-action,.grupo-member > div:not(.grupo-member-info){margin-left:0!important}

  .toast{bottom:calc(96px + env(safe-area-inset-bottom))}
  .btn-add{min-height:46px}
}
@media (prefers-reduced-motion:reduce){
  .mob-drawer,#mob-nav .mob-nav-fab,.btn-add{transition:none!important}
}

/* ajustes finos do cartão verde */
.dash-hero-month .mn-label{white-space:nowrap;min-width:0!important;padding:0 4px}
.dash-saldo-pill{gap:8px;padding:10px}
.dash-saldo-pill-val{white-space:nowrap;font-size:.98rem}
@media (max-width:380px){
  .dash-saldo-pill-ic{display:none!important}
  .dash-saldo-hero .dash-saldo-value{font-size:1.9rem}
}

/* ================================================
   CELULAR: tamanhos contidos (nada gigante)
   ================================================ */
@media (max-width:768px){
  .pg-title{font-size:1.3rem!important}
  .pg-sub{font-size:.82rem}
  .dash-saldo-hero{padding:14px 16px 16px;border-radius:24px}
  .dash-saldo-hero .dash-saldo-value,.dash-saldo-hero .dash-saldo-value.c-green{font-size:1.6rem!important;margin-bottom:12px}
  .dash-saldo-label{font-size:.8rem}
  .dash-saldo-pill-val,.dash-saldo-pill-val.c-green,.dash-saldo-pill-val.c-red{font-size:.9rem!important}
  .dash-saldo-pill-lbl{font-size:.7rem}
  .dash-hero-month .mn-label{font-size:.85rem}
  .dash-hero-month .mn-btn{width:30px;height:30px}
  .dash-qa-ic{width:50px;height:50px;border-radius:16px}
  .dash-qa-ic .nav-ico{width:22px;height:22px}
  .dash-qa-btn{font-size:.74rem;gap:6px}
  .panel-title{font-size:.95rem}
  .scard-atraso .sc-value{font-size:1.2rem}
  .v-row{min-height:56px;gap:10px}
  .v-row-nm{font-size:.88rem}
  .v-row-sub{font-size:.74rem}
  .v-row-val{font-size:.88rem}
  .v-cat,.v-cc-ic{width:38px;height:38px;border-radius:12px;font-size:1.05rem}
  .mini-resumo-v,.mini-resumo-v.ok,.mini-resumo-v.warn,.mini-resumo-v.bad{font-size:.92rem}
  .mini-resumo-k{font-size:.7rem}
  .mn-label,.desp-month-nav .mn-label{font-size:.92rem}
  .mn-btn,.desp-month-nav .mn-btn{width:36px;height:36px}
  #desp-body .tbl-row.desp-grid > .td-desc,#rec-body .tbl-row.rec-grid > .td-desc{font-size:.88rem!important}
  #desp-body .tbl-row.desp-grid > .td-desc .v-cat.td-desc-ico,#rec-body .tbl-row.rec-grid > .td-desc .v-cat.td-desc-ico{width:36px;height:36px;border-radius:12px;font-size:1rem}
  #desp-body .tbl-row.desp-grid > .td-val-cell,#rec-body .tbl-row.rec-grid > .td-val-cell{font-size:.98rem!important;padding-left:46px!important}
  #desp-body .tbl-row.desp-grid > .td-mob-meta,#rec-body .tbl-row.rec-grid > .td-mob-meta{margin-left:46px!important}
  .m-chip{font-size:.7rem}
  .m-when{font-size:.74rem}
  .desp-status-chips button{min-height:36px;padding:0 13px;font-size:.8rem}
  .v-ccard-val{font-size:1.25rem}
  .v-ccard-nome{font-size:.95rem}
  .v-conta-val{font-size:1.3rem}
  .v-conta-nome{font-size:.92rem}
  .btn-add{font-size:.85rem}
  #mob-nav .mob-nav-item{font-size:10.5px!important}
  #mob-nav .mob-nav-fab{width:54px!important;height:54px!important;border-radius:18px!important;font-size:26px!important;margin-top:-28px!important}
  #mob-nav.mob-nav{height:64px!important}
  .mob-drawer-header{font-size:1.15rem!important}
  .mob-drawer-pane .mob-drawer-item{min-height:88px;font-size:.76rem!important}
  .mob-drawer-pane .mob-drawer-ic{width:42px;height:42px}
  .mob-fab-sheet-title{font-size:1.05rem!important}
  .mob-fab-opt{font-size:.92rem!important;min-height:56px}
  .mob-fab-opt-ic{width:42px!important;height:42px!important}
  .modal-title{font-size:1.08rem}
}
