/* ===== Tokens ===== */
:root{
  color-scheme:only light;
  --ink:        #142238;   /* azul-marinho, texto/primário (muda no escuro) */
  --ink-soft:   #47536A;
  --brand-dark: #142238;   /* azul-marinho fixo, sempre igual, pra cabeçalho/botões/toast */
  --paper:      #EEEFF2;   /* fundo papel frio, combinando com o azul */
  --surface:    #FFFFFF;
  --surface-2:  #F2F3F5;
  --line:       #DADDE3;
  --ledger-bg:  var(--surface);
  --ledger-ink: var(--ink);
  --ledger-soft: var(--ink-soft);
  --ledger-line: var(--line);
  --ledger-eye-bg: color-mix(in srgb, var(--ink) 8%, transparent);
  --receita:    #2F7A5E;   /* verde moeda (gráficos/ícones) */
  --receita-text:#2F7A5E;  /* verde de texto com contraste no tema claro */
  --receita-bg: #E4F0E9;
  --despesa:    #B5493B;   /* tijolo, não terracota (gráficos/ícones) */
  --despesa-text:#B5493B;  /* vermelho de texto com contraste no tema claro */
  --despesa-bg: #F5E7E4;
  --gold:       #C9A359;   /* dourado da marca Yako */
  --gold-text:  #806025;   /* dourado escurecido para textos pequenos/contraste */
  --gold-bg:    #F6EEDD;
  --azul:       #3D6FB4;   /* azul de progresso (orçamento abaixo de 70%) */
  --azul-bg:    #E6EDF7;
  --shadow: 0 1px 2px rgba(20,34,56,0.06), 0 6px 20px rgba(20,34,56,0.08);
  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 22px;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
}

html[data-tema="escuro"]{
  --ink:        #E7E9EE;
  --ink-soft:   #9BA5B8;
  --paper:      #0E141D;
  --surface:    #1A222E;
  --surface-2:  #222C3A;
  --line:       #303B4C;
  --receita-text:#78C8A8;
  --receita-bg: #16302A;
  --despesa-text:#F08E83;
  --despesa-bg: #3A211D;
  --gold-text:  #D4B76B;
  --gold-bg:    #332A16;
  --azul-bg:    #1B2C42;
  --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 6px 20px rgba(0,0,0,0.35);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-tap-highlight-color:transparent;
  overscroll-behavior-y:none;
}
button{ font-family:inherit; }
h1,h2,h3{ font-family:var(--font-display); margin:0; }
:focus-visible{ outline:2.5px solid var(--gold); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
}

/* ===== Shell ===== */
.app-shell{
  max-width:520px;
  margin:0 auto;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--paper);
  position:relative;
}

.topbar{
  position:sticky; top:0; z-index:20;
  background:#FFFFFF;
  color:var(--ink);
  padding-top:env(safe-area-inset-top);
  border-bottom:1px solid #E8E4DC;
  box-shadow:0 3px 14px rgba(20,34,56,0.06);
}
.topbar::after{
  content:""; display:block; height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--gold) 26%, var(--gold) 74%, transparent 100%);
  opacity:.7;
}
.topbar-inner{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  min-height:48px;
  padding:4px 58px;
}
.header-avatar{
  position:absolute; right:18px; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%;
  background:#F5F6F8; border:1.5px solid #DDE1E7;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  padding:0; cursor:pointer; flex-shrink:0;
  box-shadow:0 2px 8px rgba(20,34,56,.07);
}
.header-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.header-avatar svg{ width:19px; height:19px; fill:none; stroke:var(--ink-soft); stroke-width:1.8; stroke-linecap:round; }

.profile-avatar-large{
  width:64px; height:64px; border-radius:50%; flex-shrink:0; overflow:hidden;
  background:var(--surface-2); border:1.5px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.profile-avatar-large img{ width:100%; height:100%; object-fit:cover; display:block; }
.profile-avatar-large svg{ width:30px; height:30px; fill:none; stroke:var(--ink-soft); stroke-width:1.6; stroke-linecap:round; }

.tema-toggle-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:14px; padding-top:14px; border-top:1px solid var(--surface-2);
  font-size:13px; color:var(--ink-soft);
}
.tema-toggle{ display:flex; gap:6px; }
.tema-toggle button{
  padding:7px 14px; border-radius:999px; border:1px solid var(--line);
  background:var(--surface); color:var(--ink-soft); font-size:12.5px; font-weight:500; cursor:pointer;
}
.tema-toggle button.active{ background:var(--brand-dark); color:#F2F0E6; border-color:var(--brand-dark); }
.brand-mark{
  font-family:var(--font-mono); font-weight:600; font-size:13px;
  background:var(--gold); color:var(--brand-dark);
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.brand-title{ font-size:18px; font-weight:600; letter-spacing:0.3px; font-family:var(--font-display); color:#F2F0E6; margin:0; }
.brand-logo{ height:32px; width:auto; max-width:230px; display:block; flex-shrink:0; object-fit:contain; }
.brand-subtitle{ font-size:12px; color:var(--ledger-soft); text-transform:uppercase; letter-spacing:0.06em; }
.brand-subtitle-inline{
  font-size:12px; color:#8A6C35; text-transform:uppercase; letter-spacing:.16em;
  border:0; padding:0; margin:0; font-weight:600;
}

.view-root{
  flex:1;
  padding:16px 16px 100px;
  animation:fadeIn 0.25s ease;
}
@keyframes fadeIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }

.bottom-nav{
  position:fixed; bottom:0; left:50%; transform:translateX(-50%);
  width:100%; max-width:520px;
  display:flex;
  background:var(--surface);
  border-top:1px solid var(--line);
  padding:8px 4px calc(8px + env(safe-area-inset-bottom));
  z-index:30;
}
.nav-btn{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:4px;
  background:none; border:none; color:var(--ink-soft);
  font-size:12px; padding:6px 2px; border-radius:12px; cursor:pointer;
}
.nav-btn[aria-current="page"]{ color:var(--ink); background:var(--gold-bg); }
.nav-icon{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nav-btn[aria-current="page"] .nav-icon{ stroke:var(--gold); }

/* ===== Section heading ===== */
.section-title{ font-size:13px; font-weight:600; color:var(--ink-soft); margin:24px 0 10px; text-transform:uppercase; letter-spacing:0.09em; }
.section-title:first-child{ margin-top:0; }

/* ===== Ledger balance card (elemento assinatura) ===== */
.ledger-card{
  background:var(--ledger-bg);
  color:var(--ledger-ink);
  border-radius:var(--radius-l);
  padding:24px 20px 20px;
  position:relative;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(20,34,56,.16);
  border:1px solid rgba(201,163,89,.28);
}
.ledger-card::before{
  content:""; position:absolute; top:0; left:22px; right:22px; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent); opacity:.9;
}
.ledger-card::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:14px;
  background-image: radial-gradient(circle at 8px 0, transparent 7px, var(--ledger-bg) 7.5px);
  background-size:16px 14px;
  background-repeat:repeat-x;
}
.ledger-label{ font-size:12px; color:var(--ledger-soft); text-transform:uppercase; letter-spacing:0.08em; }
.ledger-value{ font-family:var(--font-display); font-size:38px; font-weight:600; margin-top:4px; line-height:1; font-variant-numeric:tabular-nums; }
.ledger-value.negative{ color:var(--despesa-text); }
.ledger-sub{ display:flex; gap:14px; margin-top:16px; flex-wrap:wrap; }
.ledger-sub-item{ font-size:12px; color:var(--ledger-soft); }
.ledger-sub-item b{ display:block; font-family:var(--font-mono); font-size:14px; color:var(--ledger-ink); margin-top:2px; white-space:nowrap; }

.month-picker{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-top:14px; margin-bottom:4px;
}
.month-selects{ display:flex; gap:8px; flex:1; justify-content:center; min-width:0; }
.month-picker select{
  font-family:var(--font-body); font-weight:500; font-size:13px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-s);
  padding:8px 28px 8px 10px; color:var(--ink); min-height:38px;
}
#mp-mes{ min-width:128px; max-width:150px; }
#mp-ano{ min-width:82px; max-width:92px; }
@media(max-width:360px){
  .month-picker{ gap:5px; }
  .month-selects{ gap:5px; }
  #mp-mes{ min-width:112px; }
  #mp-ano{ min-width:76px; }
  .month-picker select{ font-size:12.5px; padding-left:8px; padding-right:22px; }
}
.icon-btn{
  background:var(--surface); border:1px solid var(--line); border-radius:50%;
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--ink);
}
.icon-btn svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }

/* ===== Cards / lists ===== */
.card{
  background:var(--surface);
  border-radius:var(--radius-m);
  padding:16px;
  border:1px solid rgba(20,34,56,.06);
  box-shadow:0 4px 18px rgba(20,34,56,.055);
  margin-bottom:12px;
}
.empty-state{
  text-align:center; padding:34px 18px; color:var(--ink-soft);
  background:var(--surface); border-radius:var(--radius-m); border:1px dashed var(--line);
}
.empty-state svg{ width:34px; height:34px; stroke:var(--gold); fill:none; stroke-width:1.6; margin-bottom:10px; }
.empty-state p{ margin:0; font-size:13.5px; line-height:1.5; }

.totals-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  column-gap:12px;
  padding:7px 2px;
  font-size:13.5px;
  border-bottom:1px solid var(--surface-2);
}
.totals-row:last-of-type{ border-bottom:none; }
.totals-row span{ color:var(--ink-soft); display:block; min-width:0; }
.totals-row small{ font-size:12px; }
.totals-row b{ font-family:var(--font-mono); font-weight:600; text-align:right; white-space:nowrap; }
.totals-row b.receita{ color:var(--receita-text); }
.totals-row b.despesa{ color:var(--despesa-text); }
.totals-row b.reembolso{ color:var(--gold-text); }
.totals-saldo{ border-top:1px dashed var(--line); margin-top:2px; padding-top:10px; font-weight:600; }
.totals-saldo span{ color:var(--ink); }
.totals-extra{ font-size:12.5px; padding-left:12px; }
.totals-extra span{ padding-left:0; }
.totals-extra b{ align-self:start; }
.limite-gratis-aviso{
  margin-top:12px;
  padding:11px 12px 11px 14px;
  border-radius:var(--radius-s);
  background:rgba(201,163,89,.10);
  border:1px solid rgba(201,163,89,.28);
  border-left:4px solid var(--gold);
  color:#E6D5A3;
  font-size:12.2px;
  font-weight:500;
  line-height:1.45;
  text-align:left;
}
.limite-gratis-aviso b{ color:var(--gold); font-weight:700; }

.filter-row{
  display:flex; gap:8px; margin:14px 0 4px;
}
.filter-row select{
  flex:1; min-width:0; font-size:13px; padding:9px 10px;
}
.filter-row select:disabled{ opacity:0.5; }

.entry-day{
  width:34px; flex-shrink:0; text-align:center;
  background:var(--surface-2); border-radius:8px; padding:5px 2px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.entry-day b{ font-family:var(--font-mono); font-size:14px; font-weight:600; color:var(--ink); line-height:1.1; }
.entry-day span{ font-size:12px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.02em; }

.status-pill{
  display:inline-flex; align-items:center; font-size:12px; font-weight:600;
  padding:2px 8px; border-radius:999px; white-space:nowrap;
}
.status-pill.pago{ background:var(--receita-bg); color:var(--receita-text); }
.status-pill.previsto{ background:var(--gold-bg); color:var(--gold-text); }

.entry-row{
  display:flex; align-items:center; gap:10px;
  padding:12px 4px; border-bottom:1px solid var(--surface-2);
  cursor:pointer; border-radius:8px;
}
.entry-row:hover, .entry-row:focus-visible{ background:var(--surface-2); }
.entry-row:last-child{ border-bottom:none; }
.entry-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.entry-dot.receita{ background:var(--receita); }
.entry-dot.despesa{ background:var(--despesa); }
.entry-main{ flex:1; min-width:0; }
.entry-cat{ font-size:13.5px; font-weight:500; }
.entry-sub{ font-size:12px; color:var(--ink-soft); }
.entry-value{ font-family:var(--font-mono); font-size:14.5px; font-weight:500; white-space:nowrap; }
.entry-value.receita{ color:var(--receita-text); }
.entry-value.despesa{ color:var(--despesa-text); }
.entry-value.reembolso{ color:var(--gold-text); }
.entry-del{
  background:none; border:none; color:var(--ink-soft); opacity:0.72; cursor:pointer; padding:6px; display:grid; place-items:center;
}
.entry-del svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

/* ===== Charts ===== */
.chart-legend{ display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; }
.legend-item{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-soft); }
.legend-swatch{ width:9px; height:9px; border-radius:2px; flex-shrink:0; }
.legend-group{ width:100%; }
.legend-clickable{
  background:none; border:none; cursor:pointer; display:grid;
  grid-template-columns:minmax(0,1fr) auto 14px;
  grid-template-areas:
    "label share chevron"
    "label compare chevron";
  align-items:center;
  column-gap:10px;
  row-gap:4px;
  padding:8px 4px;
  width:100%;
  font-family:var(--font-body); color:var(--ink-soft); border-radius:8px; text-align:left;
}
.legend-clickable:hover{ background:var(--surface-2); }
.legend-main-label{ grid-area:label; display:flex; align-items:flex-start; gap:8px; min-width:0; align-self:center; }
.legend-label-text{ min-width:0; line-height:1.3; overflow-wrap:anywhere; }
.legend-share{
  grid-area:share;
  justify-self:end;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.legend-compare{
  grid-area:compare;
  justify-self:end;
  min-width:0;
}
.legend-chevron{ grid-area:chevron; width:14px; height:14px; stroke:var(--ink-soft); fill:none; stroke-width:2; stroke-linecap:round; transition:transform 0.15s ease; align-self:center; }
.legend-chevron.open{ transform:rotate(90deg); }
.sub-breakdown{ padding:4px 2px 8px 23px; }
.sub-breakdown-row{
  display:flex; align-items:baseline; justify-content:space-between;
  font-size:12px; color:var(--ink-soft); padding:4px 0; gap:10px;
}
.sub-breakdown-row b{ font-family:var(--font-mono); font-weight:500; color:var(--ink); white-space:nowrap; }
.sub-breakdown-row small{ color:var(--ink-soft); font-weight:400; }

.comparativo{
  display:inline-flex; align-items:center; justify-content:center; font-size:11.5px; font-weight:600;
  min-width:58px; padding:2px 7px; border-radius:999px; white-space:nowrap; font-family:var(--font-body); text-align:center; font-variant-numeric:tabular-nums;
}
.comparativo.subiu{ background:var(--despesa-bg); color:var(--despesa-text); }
.comparativo.desceu{ background:var(--receita-bg); color:var(--receita-text); }
.comparativo.estavel{ background:var(--surface-2); color:var(--ink-soft); }
.comparativo.novo{ background:var(--gold-bg); color:var(--gold-text); }
.comparativo-stack{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
}
.comparativo-stack small{
  color:var(--ink-soft);
  font-size:10.5px;
  white-space:nowrap;
}
@media(max-width:430px){
  .legend-clickable{
    grid-template-columns:minmax(0,1fr) auto 14px;
    column-gap:8px;
    row-gap:5px;
    padding:8px 2px;
  }
  .legend-label-text{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .legend-share{ font-size:11.5px; }
  .comparativo{ min-width:56px; font-size:11px; padding:2px 6px; }
  .comparativo-stack{ flex-direction:column; align-items:flex-end; gap:2px; }
  .comparativo-stack small{ font-size:10px; }
}
/* (gráfico anual agora é SVG puro, ver renderYearBars) */

/* ===== Forms ===== */
.form-group{ margin-bottom:14px; }
.form-group label{ display:block; font-size:12.5px; font-weight:500; color:var(--ink-soft); margin-bottom:6px; }
.form-row{ display:flex; gap:10px; }
.form-row .form-group{ flex:1; }
input[type="text"], input[type="number"], input[type="date"], select, textarea{
  width:100%; font-family:var(--font-body); font-size:15px;
  padding:11px 12px; border-radius:var(--radius-s); border:1px solid var(--line);
  background:var(--surface); color:var(--ink);
}
input:focus, select:focus{ border-color:var(--gold); }
.type-toggle{ display:flex; gap:8px; margin-bottom:14px; }
.type-toggle button{
  flex:1; padding:10px; border-radius:var(--radius-s); border:1px solid var(--line);
  background:var(--surface); font-weight:600; font-size:13.5px; cursor:pointer; color:var(--ink-soft);
}
.type-toggle button.active[data-type="receita"]{ background:var(--receita-bg); border-color:var(--receita); color:var(--receita-text); }
.type-toggle button.active[data-type="despesa"]{ background:var(--despesa-bg); border-color:var(--despesa); color:var(--despesa-text); }
.status-toggle button.active[data-status="pago"]{ background:var(--receita-bg); border-color:var(--receita); color:var(--receita-text); }
.status-toggle button.active[data-status="previsto"]{ background:var(--gold-bg); border-color:var(--gold); color:var(--gold-text); }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:13px; border-radius:var(--radius-s); border:none;
  background:var(--brand-dark); color:#F2F0E6; font-weight:600; font-size:14.5px; cursor:pointer;
}
.btn.secondary{ background:var(--surface); color:var(--ink); border:1px solid var(--line); }
.btn.danger{ background:var(--despesa-bg); color:var(--despesa); }
.btn.small{ width:auto; padding:9px 14px; font-size:13px; }
.btn-fixo{ min-width:110px; text-align:center; }
.security-direct-link{ text-decoration:none; }

.fab{
  position:fixed; left:calc(50% + 130px); right:auto; bottom:calc(76px + env(safe-area-inset-bottom)); z-index:25;
  width:56px; height:56px; border-radius:50%; border:none;
  background:var(--gold); color:var(--brand-dark); box-shadow:var(--shadow);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  transform:translateX(-50%);
}
/* Centralizado entre as abas Plano de Contas e Ajustes. */
@media (max-width:519px){ .fab{ left:75%; right:auto; } }
.fab svg{ width:24px; height:24px; stroke:var(--brand-dark); fill:none; stroke-width:2.2; stroke-linecap:round; }

/* ===== Modal / sheet ===== */
.sheet-backdrop{
  position:fixed; inset:0; background:rgba(27,58,62,0.45);
  display:flex; align-items:flex-end; justify-content:center;
  z-index:50; opacity:0; pointer-events:none; transition:opacity 0.2s ease;
}
.sheet-backdrop.open{ opacity:1; pointer-events:auto; }
.sheet{
  width:100%; max-width:520px; background:var(--paper);
  border-radius:22px 22px 0 0; padding:20px 18px calc(22px + env(safe-area-inset-bottom));
  max-height:88vh; overflow-y:auto;
  transform:translateY(16px); transition:transform 0.2s ease;
}
.sheet-backdrop.open .sheet{ transform:translateY(0); }
.sheet-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.sheet-close{ background:none; border:none; color:var(--ink-soft); font-size:22px; cursor:pointer; line-height:1; padding:4px; }

/* ===== Plano de contas ===== */
.cat-group{ margin-bottom:14px; }
.cat-head{ display:flex; align-items:center; justify-content:space-between; padding:12px 4px; }
.cat-head-name{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:14.5px; }
.cat-badge{ width:22px; height:22px; border-radius:7px; display:flex; align-items:center; justify-content:center; }
.cat-badge svg{ width:13px; height:13px; }
.sub-list{ padding-left:32px; }
.sub-item{ display:flex; align-items:center; justify-content:space-between; padding:8px 4px; font-size:13.5px; color:var(--ink-soft); border-bottom:1px solid var(--surface-2); }
.sub-item:last-child{ border-bottom:none; }
.sub-add-row{ display:flex; gap:8px; padding:10px 4px 0 32px; }
.sub-add-row input{ flex:1; }
.orcamento-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:12px; padding-top:12px; border-top:1px solid var(--surface-2);
  font-size:12.5px; color:var(--ink-soft);
}
.orcamento-row b{ font-family:var(--font-mono); color:var(--ink); font-weight:600; }
.orcamento-soma-subs{ font-size:12px; color:var(--ink-soft); margin:6px 2px 0; }
.orcamento-soma-subs b{ font-family:var(--font-mono); color:var(--ink); }

.orcamento-item{ padding:10px 0; border-bottom:1px solid var(--surface-2); }
.orcamento-item:last-child{ border-bottom:none; }
.orcamento-item-head{
  display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:3px;
  text-align:left; font-size:13px; margin-bottom:6px;
  width:100%; background:none; border:none; padding:0; font-family:inherit; color:var(--ink); cursor:default;
}
button.orcamento-item-head:not([disabled]){ cursor:pointer; }
button.orcamento-item-head[disabled]{ opacity:1; }
.orcamento-item-head span:first-child{ font-weight:500; }
.orcamento-item-head span:last-child{ font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); justify-content:flex-start !important; text-align:left; }
.orcamento-item-head span.estourado{ color:var(--despesa); font-weight:600; }
.orcamento-item-head small{ color:var(--ink-soft); font-weight:400; }
.orcamento-bar-track{ height:8px; border-radius:999px; background:var(--surface-2); overflow:hidden; }
.orcamento-bar-fill{ height:100%; border-radius:999px; transition:width 0.2s ease; }
.orcamento-sub-detalhe{ padding:6px 0 2px 14px; margin-top:4px; border-left:2px solid var(--surface-2); }
.orcamento-item-nested{ padding:8px 0; }
.chip-remove{ background:none; border:none; color:var(--ink-soft); opacity:0.55; cursor:pointer; }
.chip-remove svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; }


/* ===== Privacidade / ações ===== */
.privacy-toggle svg{ fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.privacy-hidden .privacy-value,
.totals-sensitive.privacy-hidden b{
  filter:blur(7px); opacity:.72; user-select:none;
}
.privacy-chart-content.privacy-hidden > *{
  filter:blur(8px); opacity:.55; user-select:none; pointer-events:none;
}
.totals-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.totals-actions{ display:flex; align-items:center; gap:7px; }

/* ===== Personalização de cores ===== */
.color-custom-row{ margin-top:14px; padding-top:14px; border-top:1px solid var(--surface-2); }
.color-custom-row > div:first-child b{ display:block; font-size:13px; }
.color-custom-row > div:first-child span{ display:block; font-size:12px; color:var(--ink-soft); margin-top:2px; }
.color-pickers{ display:flex; gap:14px; margin:12px 0; }
.color-pickers label{ display:flex; align-items:center; gap:7px; font-size:12px; color:var(--ink-soft); }
.color-pickers input[type="color"]{ width:38px; height:30px; border:1px solid var(--line); border-radius:8px; background:var(--surface); padding:2px; cursor:pointer; }

/* ===== Toast ===== */
.toast{
  position:fixed; left:50%; bottom:96px; transform:translateX(-50%) translateY(20px);
  background:var(--brand-dark); color:#F2F0E6; padding:11px 18px; border-radius:999px;
  font-size:13.5px; box-shadow:var(--shadow); opacity:0; pointer-events:none;
  transition:opacity 0.2s ease, transform 0.2s ease; z-index:60; max-width:90%; text-align:center;
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* ===== Ajustes ===== */
.settings-item{ display:flex; align-items:center; justify-content:space-between; padding:14px 4px; border-bottom:1px solid var(--surface-2); gap:10px; }
.settings-item:last-child{ border-bottom:none; }
.settings-text{ flex:1; min-width:0; }
.settings-text b{ display:block; font-size:14px; font-weight:600; }
.settings-text span{ font-size:12px; color:var(--ink-soft); }

@media (max-width:380px){
  .topbar-inner{ padding-left:50px; padding-right:50px; min-height:46px; }
  .brand-logo{ height:28px; max-width:205px; }
  .header-avatar{ right:12px; width:34px; height:34px; }
}


.section-title-row{ display:flex; align-items:center; justify-content:flex-start; gap:8px; margin:24px 0 10px; }
.section-title-row .section-title{ flex:1; }
.mini-eye{ width:18px; height:18px; min-width:18px; padding:0; border-radius:999px; background:transparent; border:none; box-shadow:none; }
.mini-eye svg{ width:14px; height:14px; }
.ledger-card-top{ display:flex; align-items:center; justify-content:flex-start; gap:10px; }
.ledger-card-title-row{ display:flex; align-items:center; gap:8px; }
.ledger-eye{ background:var(--ledger-eye-bg); color:var(--ledger-ink); }
.ledger-card-collapsed{ padding-bottom:18px; }


/* ===== Lançamentos automáticos ===== */
.auto-privacy-note{ margin:12px 2px 0; padding-top:12px; border-top:1px solid var(--surface-2); font-size:12px; line-height:1.5; color:var(--ink-soft); }
.auto-helper{ font-size:12.5px; line-height:1.55; color:var(--ink-soft); margin:-4px 0 14px; }
.auto-textarea{ width:100%; min-height:120px; resize:vertical; font-family:var(--font-body); }
.auto-pending-list{ display:flex; flex-direction:column; gap:8px; }
.auto-pending-item{ width:100%; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:12px; padding:12px; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; cursor:pointer; }
.auto-pending-item.highlight{ border-color:var(--gold); box-shadow:0 0 0 2px var(--gold-bg); }
.auto-pending-item div{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.auto-pending-item b{ font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.auto-pending-item span{ font-size:12px; color:var(--ink-soft); }
.auto-pending-item strong{ font-family:var(--font-mono); font-size:13px; white-space:nowrap; }
.auto-review-source{ font-size:12px; color:var(--ink-soft); padding:8px 10px; border-radius:10px; background:var(--surface-2); margin:-4px 0 14px; }
.auto-review-actions{ display:flex; gap:8px; margin-top:14px; }
.auto-review-actions .btn{ flex:1; }
.field-label{ display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; color:var(--ink-soft); margin-bottom:12px; }
.field-label input,.field-label select,.field-label textarea{ color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:10px 11px; font:inherit; font-weight:400; }

.auto-currency-note{ margin:10px 0 14px; padding:12px 13px; border-radius:12px; background:var(--azul-bg); border:1px solid var(--line); }
.auto-currency-note b,.auto-currency-note span,.auto-currency-note small{ display:block; }
.auto-currency-note b{ font-size:13px; color:var(--ink); }
.auto-currency-note span{ margin-top:4px; font-family:var(--font-mono); font-weight:600; color:var(--azul); }
.auto-currency-note small{ margin-top:5px; line-height:1.35; color:var(--ink-soft); }

.auto-account-note{ margin:10px 0 12px; padding:11px 12px; border-radius:12px; background:var(--azul-bg); border:1px solid var(--line); display:flex; flex-direction:column; gap:2px; }
.auto-account-note b{ font-size:12px; color:var(--ink-soft); }
.auto-account-note span{ font-size:14px; font-weight:600; color:var(--ink); }
.auto-account-note small{ font-size:12px; color:var(--ink-soft); }


/* ===== v73 · Bloco 1 de usabilidade ===== */
/* O botão + fica na altura atual e centralizado entre Plano de Contas e Ajustes (v77.15). */

/* Troca rápida de status */
.status-pill-btn{
  border:0; cursor:pointer; font-family:var(--font-body);
}
.entry-main{ cursor:pointer; border-radius:7px; }
.entry-main:active{ opacity:.72; }

/* Resumo consolidado do orçamento */
.orcamento-resumo{
  width:100%; display:block; text-align:left; border:0; border-bottom:1px solid var(--surface-2);
  background:transparent; color:var(--ink); padding:2px 0 14px; margin:0 0 4px; cursor:pointer;
}
.orcamento-resumo-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.orcamento-resumo-titulo{ font-size:12px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; }
.orcamento-resumo-valores{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:10px; }
.orcamento-resumo-valores div{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.orcamento-resumo-valores small{ font-size:12px; color:var(--ink-soft); }
.orcamento-resumo-valores b{ font-family:var(--font-mono); font-size:12.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; }
.orcamento-resumo-valores b.estourado{ color:var(--despesa); }
.orcamento-resumo-bar{ height:7px; }
.orcamento-detalhes{ padding-top:4px; padding-left:10px; margin-left:2px; border-left:1px solid color-mix(in srgb, var(--surface-2) 94%, transparent); }

/* Plano de contas recolhível */
.cat-head-name.cat-toggle{
  flex:1; min-width:0; background:none; border:0; color:var(--ink); padding:0;
  cursor:pointer; text-align:left; font-family:var(--font-body);
}
.cat-head-name.cat-toggle > span:nth-child(2){ flex:0 1 auto; }
.cat-head-name.cat-toggle .legend-chevron{ margin-left:2px; flex-shrink:0; }
.cat-collapsed-budget{
  padding:0 4px 11px 36px; margin-top:-4px; font-size:12px; color:var(--ink-soft);
}
.cat-collapsed-budget b{ font-family:var(--font-mono); color:var(--ink); }

/* Formulário de lançamento */
.check-label{ display:flex !important; align-items:center; gap:8px; font-weight:400 !important; cursor:pointer; }
.check-label input{ width:18px; height:18px; flex-shrink:0; }
.form-help{ font-size:12px; color:var(--ink-soft); margin:4px 0 0; }
.form-row-categoria{ align-items:flex-start; }
.form-row-categoria .form-group{ min-width:0; }
.form-row-categoria select{ font-size:13.5px; padding-left:9px; padding-right:26px; }
.sheet-action-sticky{
  position:sticky; bottom:calc(-22px - env(safe-area-inset-bottom)); z-index:3;
  margin:8px -18px calc(-22px - env(safe-area-inset-bottom));
  padding:12px 18px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(to bottom, color-mix(in srgb, var(--paper) 80%, transparent), var(--paper) 18%);
  border-top:1px solid var(--line);
  backdrop-filter:blur(8px);
}


/* Bloco 1.1 — formulário compacto e Ajustes recolhíveis */
.form-row-compact{ align-items:flex-start; }
.form-row-compact > .form-group{ min-width:0; }
.form-row-conta-valor > .form-group:first-child{ flex:1.25; }
.form-row-conta-valor > .form-group:last-child{ flex:.75; }
.form-row-parcelas-status > .form-group:first-child{ flex:.72; }
.form-row-parcelas-status > .form-group:last-child{ flex:1.28; }
.form-row-parcelas-status .type-toggle{ margin-bottom:0; }
.form-row-parcelas-status .form-help{ line-height:1.25; }

.settings-collapsible-title{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  cursor:pointer; user-select:none; padding:5px 2px; border-radius:8px;
}
.settings-collapsible-title:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.settings-chevron{
  font-size:20px; line-height:1; color:var(--gold); font-weight:600;
  transition:transform .18s ease; transform:rotate(0deg);
}
.settings-collapsible-title.open .settings-chevron{ transform:rotate(180deg); }
.settings-collapsible-card[hidden]{ display:none !important; }

@media(max-width:360px){
  .form-row-compact{ gap:8px; }
  .form-row-conta-valor > .form-group:first-child{ flex:1.15; }
  .form-row-conta-valor > .form-group:last-child{ flex:.85; }
}


/* ===== v75 · Bloco 2 · acabamento visual ===== */
/* Subcategorias do orçamento: hierarquia mais discreta */
.orcamento-item-nested{ padding:6px 0 5px; }
.orcamento-sub-head{ margin-bottom:4px; gap:2px; }
.orcamento-sub-head span:first-child{ font-size:12px; font-weight:500; color:var(--ink-soft); }
.orcamento-sub-head span:last-child{ font-size:12px; }
.orcamento-sub-head small{ font-size:12px; }
.orcamento-sub-bar{ height:4px; opacity:.94; }
.orcamento-sub-detalhe{ padding-left:12px; border-left-width:1px; }

/* Gráficos com profundidade suave, sem distorcer leitura */
.chart-modern{ overflow:visible; }
.chart-modern text{ text-rendering:geometricPrecision; -webkit-font-smoothing:antialiased; }
.chart-modern path, .chart-modern circle, .chart-modern rect, .chart-modern polygon, .chart-modern polyline, .chart-modern ellipse{ shape-rendering:geometricPrecision; }
.donut-chart{ filter:drop-shadow(0 4px 6px rgba(20,34,56,.10)); }
.year-chart{ filter:drop-shadow(0 3px 5px rgba(20,34,56,.08)); }
.legend-swatch{ box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 1px 2px rgba(20,34,56,.12); }
.chart-legend .legend-item{ border-radius:8px; }

/* Inicialização limpa da interface web */
#app-splash{
  position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
  background:var(--paper); opacity:1; transition:opacity .24s ease, visibility .24s ease;
}
#app-splash.hide{ opacity:0; visibility:hidden; pointer-events:none; }
.app-splash-card{ display:flex; flex-direction:column; align-items:center; gap:13px; padding:24px; }
.app-splash-logo{ width:min(240px,62vw); height:auto; display:block; }
.app-splash-line{ width:66px; height:2px; border-radius:999px; background:linear-gradient(90deg,transparent,var(--gold),transparent); animation:splashPulse 1.1s ease-in-out infinite; }
@keyframes splashPulse{ 0%,100%{ opacity:.35; transform:scaleX(.72); } 50%{ opacity:1; transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce){ .app-splash-line{ animation:none; } }

/* v76 · refinamentos bloco 2.1 */
.orcamento-item-head span:first-child{ position:relative; }
.orcamento-detalhes > .orcamento-item > .orcamento-item-head span:first-child{ font-weight:600; }
.chart-modern .legend-item{ box-shadow:0 1px 3px rgba(20,34,56,.06); }

/* v76.3 · saldo também nas categorias e subcategorias do orçamento */
.orcamento-head-values{ display:flex; flex-direction:column; align-items:flex-end; gap:1px; min-width:0; }
.orcamento-head-main{ display:flex; align-items:center; justify-content:flex-end; gap:5px; min-width:0; }
.orcamento-head-saldo{ font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); line-height:1.15; }
.orcamento-head-saldo.estourado{ color:var(--despesa); font-weight:600; }
.orcamento-sub-head .orcamento-head-saldo{ font-size:12px; }

/* v76.4 · orçamento no mesmo padrão do resumo + estado dos Ajustes */
.orcamento-category-title{
  width:100%; display:flex; align-items:center; justify-content:flex-start; gap:6px;
  font-family:var(--font-body) !important; color:var(--ink) !important;
}
.orcamento-mini-resumo{
  width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px; margin-top:4px;
  font-family:var(--font-body) !important;
}
.orcamento-mini-resumo > span{
  display:flex; flex-direction:column; align-items:flex-start; gap:1px; min-width:0;
  font-family:var(--font-body) !important;
}
.orcamento-mini-resumo small{
  font-family:var(--font-body) !important; font-size:12px; color:var(--ink-soft);
  font-weight:400 !important; line-height:1.2;
}
.orcamento-mini-resumo > span > span{
  font-family:var(--font-mono) !important; font-size:12px; color:var(--ink);
  font-weight:400 !important; white-space:nowrap;
}
.orcamento-mini-resumo > span > span.estourado{
  color:var(--despesa); font-weight:400 !important;
}
.orcamento-mini-resumo-sub{
  margin-top:2px; gap:6px;
}
.orcamento-mini-resumo-sub small{ font-size:12px; }
.orcamento-mini-resumo-sub > span > span{ font-size:12px; }


/* ===== v77 · Bloco 3 ===== */
/* Calculadora compacta nos campos monetários */
.valor-calculadora-wrap{ display:flex; align-items:stretch; gap:6px; }
.valor-calculadora-wrap input{ flex:1; min-width:0; }
.valor-calculadora-btn{
  width:40px; min-width:40px; border:1px solid var(--line); border-radius:10px;
  background:var(--surface-2); color:var(--ink); font-size:20px; cursor:pointer;
}
.valor-calculadora-btn.active{ border-color:var(--gold); background:var(--gold-bg); }
.mini-calculadora{
  margin-top:8px; padding:10px; border:1px solid var(--line); border-radius:14px;
  background:var(--surface-2); box-shadow:0 5px 16px rgba(20,34,56,.08);
}
.mini-calc-display{
  min-height:48px; padding:7px 9px; border-radius:10px; background:var(--surface);
  display:flex; flex-direction:column; align-items:flex-end; justify-content:center; margin-bottom:8px;
  border:1px solid var(--line); overflow:hidden;
}
.mini-calc-display small{ width:100%; font-size:12px; color:var(--ink-soft); }
.mini-calc-display span{
  width:100%; text-align:right; font-family:var(--font-mono); font-size:16px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.mini-calc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.mini-calc-grid button{
  min-height:36px; border:1px solid var(--line); border-radius:9px; background:var(--surface);
  color:var(--ink); font-size:14px; cursor:pointer;
}
.mini-calc-grid button.op{ background:var(--gold-bg); color:var(--brand-dark); }
.mini-calc-grid button.secondary{ grid-column:span 2; color:var(--despesa); }
.mini-calc-grid button.equals{ grid-column:span 2; background:var(--brand-dark); color:#fff; border-color:var(--brand-dark); }

/* Guia rápido */
.guia-header h2{ font-size:21px; margin-top:2px; }
.guia-contador{ font-size:12px; color:var(--gold-text); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.guia-rapido{ padding-top:5px; }
.guia-icone{
  width:62px; height:62px; border-radius:18px; margin:8px auto 18px;
  display:grid; place-items:center; background:var(--gold-bg); color:var(--brand-dark);
  font-size:30px; font-weight:500; box-shadow:0 4px 14px rgba(20,34,56,.08);
}
.guia-texto{ font-size:14px; line-height:1.6; color:var(--ink); text-align:center; margin:0 auto 14px; max-width:360px; }
.guia-dica{
  font-size:12px; line-height:1.5; color:var(--ink-soft); background:var(--surface-2);
  border-radius:12px; padding:11px 12px; text-align:center;
}
.guia-pontos{ display:flex; justify-content:center; gap:6px; margin:18px 0 14px; }
.guia-pontos span{ width:6px; height:6px; border-radius:999px; background:var(--line); transition:all .18s ease; }
.guia-pontos span.active{ width:18px; background:var(--gold); }
.guia-acoes{ display:flex; gap:8px; }
.guia-acoes .btn{ flex:1; }



/* ===== v77.1 · ajustes finais do bloco 3 ===== */
.valor-calculadora-wrap.auto-open input{ flex:1; min-width:0; }

.guia-header h2{ font-size:22px; }
.guia-icone{
  width:78px;
  height:78px;
  border-radius:18px;
  margin:8px auto 18px;
  display:grid;
  place-items:center;
  background:var(--gold-bg);
  color:var(--brand-dark);
  box-shadow:0 4px 14px rgba(20,34,56,.08);
}
.guia-logo{
  max-width:58px;
  max-height:58px;
  display:block;
}
.guia-svg{
  width:34px;
  height:34px;
  display:block;
}
.guia-svg path, .guia-svg circle{
  stroke:currentColor;
  stroke-width:1.7;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* ===== v77.2 · refinamentos de usabilidade ===== */
/* Guia rápido em modal central, cobrindo completamente o aplicativo */
.guia-backdrop{
  align-items:center !important;
  padding:18px;
  background:#E9EDF1 !important;
  opacity:0;
}
html[data-tema="escuro"] .guia-backdrop{
  background:#18212C !important;
}
.guia-backdrop.open{ opacity:1; }
.guia-sheet{
  width:min(100%,460px) !important;
  max-width:460px !important;
  max-height:min(86vh,720px) !important;
  border-radius:24px !important;
  padding:22px 20px 20px !important;
  background:#F7F8FA !important;
  color:#142238 !important;
  box-shadow:0 18px 55px rgba(14,20,29,.20);
  transform:scale(.98) !important;
}
.guia-backdrop.open .guia-sheet{ transform:scale(1) !important; }
.guia-sheet .sheet-close,
.guia-sheet .guia-texto,
.guia-sheet .sheet-header h2{ color:#142238 !important; }
.guia-sheet .guia-dica{
  background:#FFFFFF !important;
  color:#59657A !important;
  border:1px solid #E1E5EA;
}
.guia-sheet .guia-icone{
  background:#F6EEDD !important;
  color:#142238 !important;
}
.guia-sheet .guia-logo-box{
  width:210px !important;
  height:92px !important;
  border-radius:18px !important;
  background:#FFFFFF !important;
  border:1px solid #E2E6EA;
}
.guia-sheet .guia-logo-box .guia-logo{
  max-width:170px !important;
  max-height:68px !important;
  width:auto;
  height:auto;
}
.guia-sheet .guia-svg{ color:#142238 !important; }
.guia-sheet .guia-contador{ color:#B8872E !important; }
.guia-sheet .guia-acoes .btn.secondary{
  background:#FFFFFF !important;
  color:#142238 !important;
  border-color:#D9DEE5 !important;
}
.guia-sheet .guia-acoes .btn:not(.secondary){
  background:#142238 !important;
  color:#FFFFFF !important;
}

/* Calculadora maior e usando toda a largura do formulário */
.form-row-conta-valor{ flex-wrap:wrap; }
.form-row-conta-valor > .mini-calculadora-full{
  flex:0 0 100%;
  width:100%;
  margin-top:0;
}
.mini-calculadora-full{
  padding:14px;
  border-radius:16px;
}
.mini-calculadora-full .mini-calc-display{
  min-height:62px;
  padding:9px 12px;
}
.mini-calculadora-full .mini-calc-display span{
  font-size:22px;
}
.mini-calculadora-full .mini-calc-grid{
  gap:8px;
}
.mini-calculadora-full .mini-calc-grid button{
  min-height:52px;
  font-size:18px;
  border-radius:12px;
}



/* ===== v77.4 · calculadora exclusiva e mais compacta ===== */
#f-valor[readonly],
#orcamento-valor-input[readonly]{
  cursor:pointer;
  caret-color:transparent;
  user-select:none;
}

/* Dimensões reduzidas para não disputar espaço com Salvar lançamento */
.mini-calculadora-full{
  padding:9px !important;
  border-radius:14px !important;
  margin-top:2px !important;
  margin-bottom:8px !important;
}
.mini-calculadora-full .mini-calc-display{
  min-height:46px !important;
  padding:6px 9px !important;
  margin-bottom:6px !important;
}
.mini-calculadora-full .mini-calc-display small{
  font-size:12px !important;
}
.mini-calculadora-full .mini-calc-display span{
  font-size:18px !important;
}
.mini-calculadora-full .mini-calc-grid{
  gap:5px !important;
}
.mini-calculadora-full .mini-calc-grid button{
  min-height:39px !important;
  font-size:15px !important;
  border-radius:9px !important;
}

/* Quando a calculadora está aberta, a barra de salvar continua visível,
   mas não invade a área útil da calculadora. */
.sheet.calculadora-aberta{
  padding-bottom:calc(92px + env(safe-area-inset-bottom));
}
.sheet.calculadora-aberta .sheet-action-sticky{
  z-index:5;
}

@media(max-height:760px){
  .mini-calculadora-full .mini-calc-grid button{ min-height:35px !important; font-size:14px !important; }
  .mini-calculadora-full .mini-calc-display{ min-height:42px !important; }
  .mini-calculadora-full .mini-calc-display span{ font-size:17px !important; }
}

/* ===== v77.13 · gastos fixos, filtros e aparência ===== */
/* Resumo: mesmas cores semânticas usadas nos lançamentos */
.ledger-sub-item.receita,
.ledger-sub-item.receita b{ color:var(--receita-text); }
.ledger-sub-item.despesa,
.ledger-sub-item.despesa b{ color:var(--despesa-text); }
.ledger-sub-item.reembolso,
.ledger-sub-item.reembolso b{ color:var(--gold-text); }

/* Busca: limpar todos os filtros fica sempre ao lado direito do campo */
.filter-search-row{ align-items:center; }
.filter-search-row .filter-clear-btn{ flex:0 0 36px; }
.filter-clear-btn:disabled{ opacity:.34; cursor:default; }
.filter-clear-btn svg{ width:17px; height:17px; stroke-width:1.8; }

/* Plano de Contas: indicador visual de Gasto fixo sem alterar o nome real da subcategoria */
.sub-item{ gap:8px; }
.sub-item-actions{ display:flex; align-items:center; gap:4px; flex-shrink:0; }
.sub-fixed-label{
  flex:1; min-width:0; display:flex; align-items:center; gap:7px; cursor:pointer;
  color:var(--ink-soft); font-size:13.5px;
}
.sub-fixed-label input{
  width:17px; height:17px; flex:0 0 17px; margin:0; accent-color:var(--gold); cursor:pointer;
}
.sub-fixed-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sub-fixed-budget{ color:var(--ink-soft); font-family:var(--font-mono); font-size:12px; }
.sub-fixed-tag{
  display:none; flex-shrink:0; font-size:12px; line-height:1; padding:4px 6px; border-radius:999px;
  background:var(--gold-bg); color:var(--gold-text);
  border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line));
  font-weight:600;
}
.sub-fixed-label input:checked ~ .sub-fixed-tag{ display:inline-flex; }

/* Repetição mensal fica no cabeçalho de Totais do mês (v77.14) */
.fixed-expense-confirm{ text-align:left; }
.fixed-expense-confirm-icon{
  width:48px; height:48px; display:grid; place-items:center; margin:0 auto 12px; border-radius:50%;
  background:var(--gold-bg); color:var(--gold); font-size:28px;
}
.fixed-expense-confirm p{ font-size:13px; line-height:1.5; color:var(--ink-soft); }
.fixed-expense-confirm p b{ color:var(--ink); }
.fixed-expense-warning{
  margin:12px 0; padding:11px 12px; border-radius:11px; background:var(--gold-bg);
  border:1px solid color-mix(in srgb, var(--gold) 28%, var(--line)); color:var(--ink-soft);
  font-size:12px; line-height:1.5;
}
.fixed-expense-warning b{ display:block; margin-top:4px; color:var(--ink); }
.fixed-expense-previsto-note{ margin-bottom:4px !important; }
.fixed-expense-confirm-actions{ display:flex; gap:8px; margin-top:16px; }
.fixed-expense-confirm-actions .btn{ flex:1; }

/* Valor acompanha cada tecla da calculadora: o próprio campo passa a ser o display */
.valor-calculadora-wrap input{
  text-align:right; font-family:var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:.01em;
}
.mini-calculadora-full{ background:var(--surface-2); }

.modern-color-triggers{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.color-picker-trigger{
  min-width:0; display:grid; grid-template-columns:30px minmax(0,1fr) 12px; align-items:center; gap:8px;
  border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--ink); padding:8px; cursor:pointer;
  text-align:left;
}
.color-trigger-swatch{
  width:30px; height:30px; border-radius:8px; border:1px solid rgba(20,34,56,.14); box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.color-picker-trigger > span:nth-child(2){ min-width:0; display:flex; flex-direction:column; gap:1px; }
.color-picker-trigger b{ font-size:12px; font-weight:600; }
.color-picker-trigger small{ font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); }
.color-trigger-chevron{ color:var(--gold); font-size:19px; line-height:1; }

/* Seletor moderno de cor com atualização ao arrastar */
.color-picker-backdrop{ align-items:center !important; padding:18px; }
.color-picker-sheet{
  width:min(100%,420px) !important; max-width:420px !important; border-radius:20px !important;
  padding:18px !important; transform:scale(.98) !important;
}
.color-picker-backdrop.open .color-picker-sheet{ transform:scale(1) !important; }
.color-picker-header{ margin-bottom:10px; }
.modern-color-picker{ display:flex; flex-direction:column; gap:11px; }
.color-sv{
  --picker-hue:hsl(190 100% 50%);
  position:relative; width:100%; aspect-ratio:1.8/1; min-height:150px; max-height:230px; border-radius:12px;
  background:
    linear-gradient(to top,#000,transparent),
    linear-gradient(to right,#fff,var(--picker-hue));
  border:1px solid var(--line); touch-action:none; cursor:crosshair; overflow:hidden;
}
.color-sv-handle{
  position:absolute; width:14px; height:14px; border-radius:50%; border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.75),0 1px 3px rgba(0,0,0,.45);
  transform:translate(-50%,-50%); pointer-events:none;
}
.color-hue-row{ padding:0 2px; }
#color-hue{
  width:100%; height:18px; margin:0; appearance:none; -webkit-appearance:none; border-radius:999px; outline:none;
  background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);
}
#color-hue::-webkit-slider-thumb{
  appearance:none; -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:#fff;
  border:1px solid #9aa3ad; box-shadow:0 1px 4px rgba(0,0,0,.28); cursor:pointer;
}
#color-hue::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%; background:#fff; border:1px solid #9aa3ad; box-shadow:0 1px 4px rgba(0,0,0,.28);
}
.color-picker-values{
  display:grid; grid-template-columns:38px minmax(0,1fr); gap:8px; align-items:end;
}
.color-picker-preview{ width:38px; height:38px; border-radius:9px; border:1px solid var(--line); grid-row:1; }
.color-picker-values label{ display:flex; flex-direction:column; gap:4px; color:var(--ink-soft); font-size:12px; }
.color-picker-values label input{
  width:100%; border:1px solid var(--line); border-radius:9px; padding:8px 9px; background:var(--surface); color:var(--ink);
  font-family:var(--font-mono); text-transform:uppercase;
}
#color-system-btn{ grid-column:1 / -1; justify-self:start; }
#color-system-input{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.color-picker-actions{ display:flex; gap:8px; margin-top:2px; }
.color-picker-actions .btn{ flex:1; }

@media(max-width:360px){
  .sub-fixed-tag{ font-size:12px; padding:4px 5px; }
  .modern-color-triggers{ grid-template-columns:1fr; }
}


/* ===== v77.14 · acessibilidade visual e repetição mensal compacta ===== */
/* Dourado usado como texto ganha contraste; o dourado original continua em ícones, linhas e badges. */
.brand-subtitle-inline{ color:#806025; }
html[data-tema="escuro"] .brand-subtitle-inline{ color:var(--gold-text); }

/* Ícone ↻ no cabeçalho de Totais do mês */
.fixed-expense-header-btn{ position:relative; }
.fixed-expense-header-btn svg{
  width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9;
  stroke-linecap:round; stroke-linejoin:round;
}
.fixed-expense-header-btn.has-badge{ color:var(--ink); }
.fixed-expense-badge{
  position:absolute; top:-2px; right:-2px; width:9px; height:9px; border-radius:50%;
  background:var(--gold); border:2px solid var(--surface);
  box-shadow:0 1px 4px rgba(20,34,56,.18);
}

/* Balão exibido uma única vez quando existe algo fixo pendente */
.fixed-expense-tip{
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) 26px; gap:8px;
  margin:8px 0 12px; padding:10px 10px 10px 12px;
  border:1px solid color-mix(in srgb, var(--gold) 38%, var(--line));
  border-radius:12px; background:var(--gold-bg); color:var(--ink);
  box-shadow:0 4px 14px rgba(20,34,56,.07);
}
.fixed-expense-tip-arrow{
  position:absolute; top:-6px; right:89px; width:11px; height:11px;
  background:var(--gold-bg); border-left:1px solid color-mix(in srgb, var(--gold) 38%, var(--line));
  border-top:1px solid color-mix(in srgb, var(--gold) 38%, var(--line));
  transform:rotate(45deg);
}
.fixed-expense-tip > div{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.fixed-expense-tip b{ font-size:12.5px; }
.fixed-expense-tip span:not(.fixed-expense-tip-arrow){
  font-size:12px; line-height:1.45; color:var(--ink-soft);
}
.fixed-expense-tip button{
  width:26px; height:26px; border:0; border-radius:50%; background:transparent;
  color:var(--ink-soft); font-size:20px; line-height:1; cursor:pointer;
}

/* Mantém os três botões do cabeçalho compactos inclusive em telas estreitas. */
@media(max-width:360px){
  .totals-actions{ gap:5px; }
  .totals-actions .icon-btn{ width:34px; height:34px; }
  .fixed-expense-tip-arrow{ right:83px; }
}

/* Ajustes pontuais após auditoria de leitura em áreas densas */
.entry-day{ width:38px; }
.status-pill{ line-height:1.2; padding-top:3px; padding-bottom:3px; }
.sub-breakdown-row{ line-height:1.35; }
.settings-text span, .color-custom-row > div:first-child span{ line-height:1.4; }

/* ===== v77.16 · transição fluida do mini guia ===== */
/* O backdrop permanece montado entre as etapas; apenas o conteúdo interno desliza/faz fade. */
.guia-sheet{
  overflow:hidden !important;
}
.guia-step{
  min-height:min(490px, 72vh);
  display:flex;
  flex-direction:column;
  opacity:1;
  transform:translateX(0);
  transition:opacity .16s ease, transform .16s ease;
  will-change:opacity, transform;
}
.guia-step .guia-rapido{
  flex:1;
  display:flex;
  flex-direction:column;
}
.guia-step .guia-acoes{
  margin-top:auto;
}
.guia-step-exit-left{ opacity:0; transform:translateX(-14px); }
.guia-step-exit-right{ opacity:0; transform:translateX(14px); }
.guia-step-enter-right{ opacity:0; transform:translateX(14px); }
.guia-step-enter-left{ opacity:0; transform:translateX(-14px); }

@media(max-height:650px){
  .guia-step{ min-height:auto; }
  .guia-step .guia-acoes{ margin-top:14px; }
}

@media(prefers-reduced-motion:reduce){
  .guia-step{ transition:none; }
}

/* ===== v77.17 · novo padrão YAKO, contraste e parcela inicial ===== */
/* No padrão azul-petróleo, a aba ativa continua clara, mas somente seu texto
   fica escuro. O ícone mantém o dourado da identidade visual. */
html[data-tema="padrao"] .nav-btn[aria-current="page"] > span{
  color:#142238;
}

/* Sheets do novo padrão usam superfície clara para leitura confortável.
   As variáveis são locais ao modal e não alteram o restante do aplicativo. */
html[data-tema="padrao"] .sheet{
  --paper:#FAF7EF;
  --surface:#FFFDF8;
  --surface-2:#F6EEDD;
  --line:#D8C9A8;
  --ink:#111827;
  --ink-soft:#4B5563;
  --receita-text:#2F7A5E;
  --despesa-text:#B5493B;
  --gold-text:#806025;
  --shadow:0 1px 2px rgba(20,34,56,.08), 0 8px 24px rgba(20,34,56,.12);
  background:var(--paper);
  color:var(--ink);
}

/* Três opções de aparência cabem sem quebrar em telas menores. */
.tema-toggle{ flex-wrap:wrap; justify-content:flex-end; }
.tema-toggle button{ padding-left:11px; padding-right:11px; }
html[data-tema="padrao"] .tema-toggle button.active[data-tema="padrao"]{
  background:var(--gold-bg);
  color:#142238;
  border-color:var(--gold);
}

/* Total de parcelas + parcela inicial. */
.parcelas-config-group{ flex:1.35 !important; }
.parcelas-config-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px; align-items:start;
}
.parcelas-config-grid > div{ min-width:0; }
.parcelas-config-grid label{ white-space:normal; line-height:1.2; min-height:30px; }
.parcelas-config-grid input{ text-align:center; }
#f-parcelas-help{ line-height:1.35; }
@media(max-width:370px){
  .form-row-parcelas-status{ flex-direction:column; }
  .parcelas-config-group{ width:100%; }
  .parcelas-config-grid label{ min-height:0; }
}


/* ===== v77.18 · calculadora integrada ao tema padrão ===== */
html[data-tema="padrao"] .mini-calculadora,
html[data-tema="padrao"] .mini-calculadora-full{
  background:#102745 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 20px rgba(0,0,0,.14) !important;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button{
  background:#182A42;
  border-color:rgba(255,255,255,.10);
  color:#F4F6FA;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button.op{
  background:#4B3B16;
  border-color:#6E5732;
  color:#F0E5C8;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button.secondary{
  background:#182A42;
  color:#F08E83;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button.equals{
  background:#0F2B53;
  border-color:#1B3E73;
  color:#FFFFFF;
}
html[data-tema="claro"] .mini-calculadora-full{
  background:var(--surface-2) !important;
  border:1px solid var(--line) !important;
}


/* ===== v77.19 · alinhamento do bloco de parcelas com status ===== */
.form-row-parcelas-status{
  align-items:flex-start;
}
.form-row-parcelas-status > .form-group{
  display:flex;
  flex-direction:column;
}
.form-row-parcelas-status > .form-group > label,
.form-row-parcelas-status .parcelas-config-grid label{
  min-height:32px;
  display:flex;
  align-items:flex-end;
}
.form-row-parcelas-status .parcelas-config-grid input,
.form-row-parcelas-status .status-toggle button{
  min-height:52px;
}
.form-row-parcelas-status .status-toggle{
  align-items:stretch;
}
@media(max-width:370px){
  .form-row-parcelas-status > .form-group > label,
  .form-row-parcelas-status .parcelas-config-grid label{
    min-height:0;
  }
}


/* ===== v77.20 · calculadora refinada também no tema escuro ===== */
html[data-tema="escuro"] .mini-calculadora,
html[data-tema="escuro"] .mini-calculadora-full{
  background:#243041 !important;
  border:1px solid #334155 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 22px rgba(0,0,0,.22) !important;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button{
  background:#1A2534;
  border-color:#334155;
  color:#F4F6FA;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button.op{
  background:#4B3B16;
  border-color:#6E5732;
  color:#F0E5C8;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button.secondary{
  background:#1A2534;
  border-color:#334155;
  color:#F08E83;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button.equals{
  background:#12345B;
  border-color:#28507F;
  color:#FFFFFF;
}


/* ===== v77.21 · calculadora opção 2 em todos os temas ===== */
/* Estrutura comum: aparência mais limpa e sofisticada, sem alterar o tamanho atual. */
.mini-calculadora-full{
  border-radius:14px !important;
  padding:9px !important;
}
.mini-calculadora-full .mini-calc-grid button{
  font-weight:600;
  transition:background .12s ease, border-color .12s ease, transform .08s ease;
}
.mini-calculadora-full .mini-calc-grid button:active{
  transform:scale(.98);
}

/* TEMA PADRÃO · Opção 2 — azul petróleo + dourado sofisticado */
html[data-tema="padrao"] .mini-calculadora,
html[data-tema="padrao"] .mini-calculadora-full{
  background:#0F2742 !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 8px 22px rgba(0,0,0,.18) !important;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button{
  background:#112B48 !important;
  border-color:#3B526A !important;
  color:#F7F8FA !important;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button.op{
  background:linear-gradient(180deg,#6A4D17,#4A3510) !important;
  border-color:#9A7429 !important;
  color:#F4C756 !important;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button.secondary{
  background:#10253D !important;
  border-color:#3B526A !important;
  color:#FF5D52 !important;
}
html[data-tema="padrao"] .mini-calculadora-full .mini-calc-grid button.equals{
  background:linear-gradient(180deg,#D1A33A,#9A6C18) !important;
  border-color:#E0B452 !important;
  color:#FFFFFF !important;
}

/* TEMA ESCURO · Opção 2 — grafite profundo + dourado discreto */
html[data-tema="escuro"] .mini-calculadora,
html[data-tema="escuro"] .mini-calculadora-full{
  background:#101821 !important;
  border:1px solid #2D3A49 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025), 0 8px 24px rgba(0,0,0,.28) !important;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button{
  background:#111A24 !important;
  border-color:#344250 !important;
  color:#F5F7FA !important;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button.op{
  background:linear-gradient(180deg,#5A431B,#3E2D11) !important;
  border-color:#8E6B28 !important;
  color:#F4C64D !important;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button.secondary{
  background:#101821 !important;
  border-color:#344250 !important;
  color:#FF5B4F !important;
}
html[data-tema="escuro"] .mini-calculadora-full .mini-calc-grid button.equals{
  background:linear-gradient(180deg,#C89A35,#946817) !important;
  border-color:#D5A842 !important;
  color:#FFFFFF !important;
}

/* TEMA CLARO · Opção 2 — branco + azul moderno */
html[data-tema="claro"] .mini-calculadora,
html[data-tema="claro"] .mini-calculadora-full{
  background:#F8FAFD !important;
  border:1px solid #D9E1EC !important;
  box-shadow:0 6px 18px rgba(20,34,56,.07) !important;
}
html[data-tema="claro"] .mini-calculadora-full .mini-calc-grid button{
  background:#FFFFFF !important;
  border-color:#D8E0EA !important;
  color:#17375F !important;
}
html[data-tema="claro"] .mini-calculadora-full .mini-calc-grid button.op{
  background:linear-gradient(180deg,#2F73D3,#1F5FBD) !important;
  border-color:#1F5FBD !important;
  color:#FFFFFF !important;
}
html[data-tema="claro"] .mini-calculadora-full .mini-calc-grid button.secondary{
  background:#FFFFFF !important;
  border-color:#D8E0EA !important;
  color:#E54848 !important;
}
html[data-tema="claro"] .mini-calculadora-full .mini-calc-grid button.equals{
  background:linear-gradient(180deg,#2F73D3,#1F5FBD) !important;
  border-color:#1F5FBD !important;
  color:#FFFFFF !important;
}


/* ===== v77.22 · Plano de Contas: gasto fixo, orçamento e acordeão ===== */
.section-title-with-legend{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.fixed-expense-legend{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  font-weight:500;
  color:var(--ink-soft);
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}
.fixed-expense-legend-box{
  width:16px;
  height:16px;
  display:inline-grid;
  place-items:center;
  border-radius:3px;
  background:var(--gold);
  color:#FFFFFF;
  font-size:11px;
  font-weight:800;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}

/* O nome pode truncar, mas o orçamento fica em coluna própria e nunca desaparece. */
.sub-item-expense{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.sub-item-expense .sub-fixed-label{
  min-width:0;
  overflow:hidden;
}
.sub-item-expense .sub-fixed-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sub-budget-value{
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  color:var(--ink);
  white-space:nowrap;
  text-align:right;
}

/* O antigo texto "Gasto fixo" por linha não é mais necessário; o checkbox + legenda bastam. */
.sub-fixed-tag{ display:none !important; }

@media(max-width:390px){
  .fixed-expense-legend{ font-size:11px; }
  .sub-item-expense{ gap:6px; }
  .sub-budget-value{ font-size:11.5px; }
}


/* ===== v77.23 · legenda de gasto fixo + Ajustes reorganizados ===== */
.fixed-expense-legend-row{
  display:flex;
  align-items:center;
  min-height:28px;
  margin:8px 0 4px;
  padding-left:36px;
}
.fixed-expense-legend-row .fixed-expense-legend{
  justify-content:flex-start;
}
/* A legenda fica na mesma linha visual dos checkboxes das subcategorias. */
.fixed-expense-legend-row .fixed-expense-legend-box{
  flex:0 0 16px;
}


/* ===== v77.24 · legenda de gasto fixo alinhada aos checkboxes ===== */
@media(max-width:390px){
  .fixed-expense-legend-row{ padding-left:34px; }
}

/* ===== v77.25 · teclado numérico, busca fixa, economia, transferências e previsão ===== */

/* Calculadora: disposição semelhante ao teclado numérico do celular (1-2-3 no topo). */
.mini-calculadora-full .mini-calc-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) .78fr !important;
  gap:7px !important;
}
.mini-calculadora-full .mini-calc-grid button{
  min-height:48px !important;
  font-size:18px !important;
  border-radius:12px !important;
  touch-action:manipulation;
  transition:transform .06s ease, filter .08s ease, background .12s ease;
}
.mini-calculadora-full .mini-calc-grid button:active{
  transform:scale(.96);
  filter:brightness(1.12);
}
@media(max-height:760px){
  .mini-calculadora-full .mini-calc-grid button{ min-height:42px !important; font-size:17px !important; }
}

/* Pesquisa e filtros permanecem acessíveis durante a rolagem dos lançamentos. */
.lancamentos-search-sticky{
  position:sticky;
  top:52px;
  z-index:18;
  background:var(--paper);
  padding:7px 0 6px;
  margin:6px 0 2px;
  border-bottom:none;
  box-shadow:none;
}
.lancamentos-search-sticky .filter-row{ margin:0 0 4px; }
.lancamentos-search-sticky #filtros-extra{ padding-top:3px; }
@supports (top: calc(1px + env(safe-area-inset-top))){
  .lancamentos-search-sticky{ top:calc(52px + env(safe-area-inset-top)); }
}

/* Indicadores de economia no Resumo. */
.ledger-sub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px;
}
.ledger-sub-item.economia,
.ledger-sub-item.economia b{ color:var(--receita-text); }
.ledger-sub-item.economia.deficit,
.ledger-sub-item.economia.deficit b{ color:var(--despesa-text); }
.ledger-sub-item.guardado,
.ledger-sub-item.guardado b{ color:var(--gold-text); }
.ledger-forecast-line{
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid var(--ledger-line);
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  font-size:11.5px;
  color:var(--ledger-soft);
}
.ledger-forecast-line b{ color:var(--ledger-ink); font-family:var(--font-mono); }
.ledger-forecast-line b.negative{ color:var(--despesa-text); }

.economia-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:16px;
}
.economia-kpis > div{
  min-width:0;
  padding:10px 9px;
  background:var(--surface-2);
  border-radius:11px;
  border:1px solid var(--line);
}
.economia-kpis small{ display:block; color:var(--ink-soft); font-size:11px; line-height:1.2; min-height:27px; }
.economia-kpis b{ display:block; margin-top:4px; font-family:var(--font-mono); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.economia-kpis b.economia{ color:var(--receita-text); }
.economia-kpis b.despesa{ color:var(--despesa-text); }
.economia-kpis b.guardado{ color:var(--gold-text); }
.economia-chart-title{ font-size:12px; font-weight:600; color:var(--ink); margin-bottom:8px; }
.economia-stacked{
  width:100%; height:16px; display:flex; overflow:hidden; border-radius:999px;
  background:var(--surface-2); border:1px solid var(--line);
}
.economia-stacked-despesa{ display:block; height:100%; background:var(--despesa); }
.economia-stacked-economia{ display:block; height:100%; background:var(--receita); }
.economia-legend{ display:flex; flex-direction:column; gap:6px; margin-top:10px; color:var(--ink-soft); font-size:11.5px; }
.economia-legend span{ display:flex; align-items:center; gap:6px; }
.economia-legend b{ margin-left:auto; color:var(--ink); font-family:var(--font-mono); }
.economia-legend i{ width:9px; height:9px; border-radius:3px; flex:0 0 9px; }
.dot-despesa{ background:var(--despesa); }
.dot-economia{ background:var(--receita); }
.economia-legend .deficit-text{ color:var(--despesa-text); }
.economia-empty{ font-size:12px; color:var(--ink-soft); margin:8px 0; }
.economia-previsao-note{
  margin-top:14px; padding:10px 0 2px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  color:var(--ink-soft); font-size:12px;
}
.economia-previsao-note b{ color:var(--ink); font-family:var(--font-mono); }
.economia-help{ margin:9px 0 0; font-size:11px; line-height:1.45; color:var(--ink-soft); }
.orcamento-previsao-resumo{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:9px; padding-top:8px; border-top:1px dashed var(--line);
  color:var(--ink-soft); font-size:11.5px;
}
.orcamento-previsao-resumo b{ font-family:var(--font-mono); color:var(--ink); }
.totals-row b.economia{ color:var(--receita-text); }
.totals-row b.guardado{ color:var(--gold-text); }

/* Terceiro tipo de movimento: transferência. */
.entry-type-toggle button{ min-width:0; padding-left:6px; padding-right:6px; }
.type-toggle button.active[data-type="transferencia"]{
  background:var(--azul-bg);
  border-color:var(--azul);
  color:var(--azul);
}
.transferencia-box{
  margin:-2px 0 14px;
  padding:12px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--radius-s);
}
.transferencia-contas-row{ align-items:flex-end; gap:7px; }
.transferencia-contas-row .form-group{ margin-bottom:0; min-width:0; }
.transferencia-contas-row select{ font-size:12.5px; padding-left:8px; padding-right:24px; }
.transfer-arrow{ padding:0 1px 13px; color:var(--gold-text); font-weight:700; }
.transferencia-help{ margin-top:9px; }
.transferencia-help b{ color:var(--gold-text); }
.entry-dot.transferencia{ background:var(--azul); }
.entry-value.transferencia{ color:var(--azul); }
.transferencia-pill{ background:var(--azul-bg); color:var(--azul); }
.transferencia-pill.aporte,
.transferencia-pill.resgate{ background:var(--azul-bg); color:var(--azul); }

/* Tipos de conta, usados para reconhecer aportes e resgates. */
.contas-tipo-help{ margin:0 0 10px; font-size:11.5px; line-height:1.45; color:var(--ink-soft); }
.contas-tipo-help b{ color:var(--ink); }
.conta-settings-item{ align-items:center; }
.conta-settings-text{ min-width:0; padding-right:6px; }
.conta-tipo-select{
  margin-top:6px; width:min(210px,100%); padding:7px 28px 7px 9px !important;
  font-size:11.5px !important;
}
.nova-conta-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,.72fr) auto;
  gap:7px; margin-top:12px; align-items:center;
}
.nova-conta-grid input,.nova-conta-grid select{ min-width:0; }
.nova-conta-grid select{ font-size:12px; }
@media(max-width:390px){
  .economia-kpis{ grid-template-columns:1fr; }
  .economia-kpis small{ min-height:0; }
  .transferencia-contas-row{ flex-direction:column; align-items:stretch; }
  .transfer-arrow{ transform:rotate(90deg); padding:0; align-self:center; line-height:1; }
  .nova-conta-grid{ grid-template-columns:1fr; }
  .nova-conta-grid .btn{ width:100%; }
}
@media(max-width:380px){
  .ledger-sub-grid{ gap:10px 12px; }
  .ledger-sub-item b{ font-size:12.5px; }
  .ledger-forecast-line{ font-size:10.8px; }
}


/* ===== v77.26 · teclado numérico intuitivo + reembolso líquido + uso de reservas ===== */
/* A área principal mantém a cara do teclado numérico do celular; operações ficam numa faixa lateral. */
.mini-calculadora-full .mini-calc-grid{ display:block !important; }
.calc-phone-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 54px;
  gap:8px;
}
.calc-number-pad{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.calc-ops-pad{
  display:grid;
  grid-template-rows:repeat(4,1fr);
  gap:7px;
}
.mini-calculadora-full .calc-number-pad button,
.mini-calculadora-full .calc-ops-pad button{
  min-height:47px !important;
  border-radius:12px !important;
  font-size:18px !important;
}
.calc-action-row{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:7px;
  margin-top:7px;
}
.mini-calculadora-full .calc-action-row button{
  min-height:42px !important;
  border-radius:11px !important;
  font-size:15px !important;
  font-weight:600;
}
/* Reaplica as cores semânticas das operações/ações em qualquer tema. */
html[data-tema="padrao"] .mini-calculadora-full .calc-ops-pad button.op,
html[data-tema="escuro"] .mini-calculadora-full .calc-ops-pad button.op{
  background:#4B3B16;
  border-color:#6E5732;
  color:#F0E5C8;
}
html[data-tema="claro"] .mini-calculadora-full .calc-ops-pad button.op{
  background:#E8EFF8;
  border-color:#C8D7EA;
  color:#31577E;
}
html[data-tema="padrao"] .mini-calculadora-full .calc-action-row .equals,
html[data-tema="escuro"] .mini-calculadora-full .calc-action-row .equals{
  background:#12345B;
  border-color:#28507F;
  color:#fff;
}
html[data-tema="claro"] .mini-calculadora-full .calc-action-row .equals{
  background:#3D6FB4;
  border-color:#3D6FB4;
  color:#fff;
}
.reserva-movimentos{
  display:flex;
  gap:8px;
  margin:0 0 12px;
  font-size:11.5px;
  color:var(--ink-soft);
}
.reserva-movimentos span{
  flex:1;
  display:flex;
  justify-content:space-between;
  gap:6px;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface-2);
}
.reserva-movimentos b{ color:var(--ink); font-family:var(--font-mono); }
@media(max-height:760px){
  .mini-calculadora-full .calc-number-pad button,
  .mini-calculadora-full .calc-ops-pad button{ min-height:40px !important; font-size:16px !important; }
  .mini-calculadora-full .calc-action-row button{ min-height:37px !important; }
}


/* ===== v77.27 · ajuda contextual para Aporte líquido / Uso de reservas ===== */
.metric-info-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.metric-info-btn{
  width:16px;
  height:16px;
  min-width:16px;
  padding:0;
  border:1px solid currentColor;
  border-radius:50%;
  background:transparent;
  color:currentColor;
  font-family:var(--font-body);
  font-size:10px;
  font-weight:700;
  line-height:14px;
  text-align:center;
  cursor:pointer;
  opacity:.82;
}
.metric-info-btn:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.metric-info-popover{
  position:fixed;
  z-index:220;
  left:50%;
  top:50%;
  width:min(300px, calc(100vw - 32px));
  max-width:min(300px, calc(100vw - 32px));
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 14px 32px rgba(0,0,0,.26);
  font-size:11.8px;
  font-weight:400;
  line-height:1.5;
  text-align:left;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, -46%);
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
}
.metric-info-popover::before{ display:none; }
.metric-info-wrap:focus-within .metric-info-popover{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, -50%);
}
/* No cartão escuro de saldo, o balão usa superfície clara para máxima legibilidade. */
.ledger-card .metric-info-popover{
  background:#FFFDF8;
  color:#142238;
  border-color:#D8C9A8;
}
.ledger-card .metric-info-popover::before{
  background:#FFFDF8;
  border-color:#D8C9A8;
}
@media(max-width:390px){
  .metric-info-popover{ width:min(260px, calc(100vw - 40px)); }
}


/* ===== v77.28 · ícone de lixeira mais legível nos lançamentos ===== */
.entry-del:hover, .entry-del:focus-visible{ opacity:1; }


/* ===== v77.29 · popover do ícone i não fica mais cortado no saldo ===== */
.ledger-card{ overflow:visible; }
.ledger-card .metric-info-wrap{ position:relative; }
.ledger-card .metric-info-popover{ z-index:120; }


/* ===== v77.30 · calculadora como teclado do celular + serrilhado do saldo ===== */
/* O modal continua rolável atrás do teclado. O padding inferior garante que
   Data, Descrição, Categoria, Subcategoria e Salvar possam subir totalmente. */
.sheet.calculadora-aberta{
  max-height:96vh;
  padding-bottom:calc(var(--calc-keyboard-height, 302px) + 26px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom:calc(var(--calc-keyboard-height, 302px) + 30px + env(safe-area-inset-bottom));
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.sheet.calculadora-aberta .sheet-action-sticky{
  position:relative;
  bottom:auto;
  z-index:1;
  margin-bottom:0;
  backdrop-filter:none;
}

/* Teclado/calculadora destacado do formulário, ancorado na parte inferior
   como o teclado numérico nativo do celular. */
.calc-keyboard-dock{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  transform:translateX(-50%) !important;
  width:100% !important;
  max-width:520px !important;
  margin:0 !important;
  padding:5px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  border-radius:18px 18px 0 0 !important;
  z-index:95 !important;
  box-shadow:0 -10px 28px rgba(0,0,0,.20) !important;
}
.calc-keyboard-toolbar{
  position:relative;
  height:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:3px;
}
.calc-keyboard-grip{
  width:38px;
  height:4px;
  border-radius:999px;
  background:currentColor;
  opacity:.22;
}
.calc-keyboard-hide{
  position:absolute;
  right:1px;
  top:0;
  width:36px;
  height:27px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:inherit;
  font-size:22px;
  line-height:22px;
  cursor:pointer;
  opacity:.72;
}
.calc-keyboard-hide:active{ opacity:1; background:rgba(127,127,127,.12); }
.calc-keyboard-dock .calc-phone-layout{
  grid-template-columns:minmax(0,1fr) 58px;
  gap:8px;
}
.calc-keyboard-dock .calc-number-pad,
.calc-keyboard-dock .calc-ops-pad{ gap:7px; }
.calc-keyboard-dock .calc-number-pad button,
.calc-keyboard-dock .calc-ops-pad button{
  min-height:48px !important;
  font-size:19px !important;
  border-radius:12px !important;
}
.calc-keyboard-dock .calc-action-row{ margin-top:7px; }
.calc-keyboard-dock .calc-action-row button{
  min-height:42px !important;
  border-radius:11px !important;
}
html[data-tema="padrao"] .calc-keyboard-dock{
  background:#10213A !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#F4F6FA;
}
html[data-tema="escuro"] .calc-keyboard-dock{
  background:#151D28 !important;
  border:1px solid #303B4C !important;
  color:#F4F6FA;
}
html[data-tema="claro"] .calc-keyboard-dock{
  background:#F1F3F6 !important;
  border:1px solid #DADDE3 !important;
  color:#142238;
}
html[data-tema="padrao"] .calc-keyboard-dock .calc-number-pad button,
html[data-tema="escuro"] .calc-keyboard-dock .calc-number-pad button{
  background:#1A2A40 !important;
  border-color:rgba(255,255,255,.11) !important;
  color:#F7F8FA !important;
}
html[data-tema="claro"] .calc-keyboard-dock .calc-number-pad button{
  background:#FFFFFF !important;
  border-color:#D5DAE1 !important;
  color:#142238 !important;
}

/* Restaura visualmente o serrilhado do cartão, sem voltar a cortar o popover.
   Os semicírculos usam a própria cor do fundo da página para simular o recorte. */
.ledger-card{ overflow:visible; }
.ledger-card::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:-2px;
  height:13px;
  pointer-events:none;
  background:radial-gradient(circle at 8px 13px, var(--paper) 7px, transparent 7.5px) 0 0 / 16px 13px repeat-x;
  z-index:2;
}
.ledger-card .metric-info-popover{ z-index:130; }

@media(max-height:700px){
  .calc-keyboard-dock .calc-number-pad button,
  .calc-keyboard-dock .calc-ops-pad button{ min-height:42px !important; font-size:17px !important; }
  .calc-keyboard-dock .calc-action-row button{ min-height:38px !important; }
}

/* ===== v77.31 · Evolução financeira anual enriquecida ===== */
.year-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:2px 0 12px;
}
.year-summary-item{
  min-width:0;
  padding:9px 8px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.year-summary-item span{
  display:block;
  min-height:28px;
  color:var(--ink-soft);
  font-size:10.5px;
  line-height:1.25;
}
.year-summary-item b{
  display:block;
  margin-top:4px;
  font-family:var(--font-mono);
  font-size:12.5px;
  line-height:1.2;
  color:var(--ink);
  white-space:nowrap;
}
.year-summary-item b.economia,
.year-detail-grid b.economia{ color:var(--receita-text); }
.year-summary-item b.despesa,
.year-detail-grid b.despesa{ color:var(--despesa-text); }
.year-detail-grid b.reembolso{ color:var(--gold-text); }
.year-detail-grid b.guardado{ color:var(--gold-text); }

.year-chart-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.year-chart-wrap::-webkit-scrollbar{ display:none; }
.year-chart{
  width:100%;
  min-width:330px;
  height:auto;
  display:block;
  filter:none;
  overflow:visible;
}
.year-receita-bar{ fill:var(--receita); opacity:.88; }
.year-despesa-bar{ fill:var(--despesa); opacity:.86; }
.year-forecast-bar{
  fill:none;
  stroke:var(--gold);
  stroke-width:1.8;
  stroke-dasharray:2.4 2.2;
  opacity:.98;
}
.year-selected-bg{
  fill:color-mix(in srgb,var(--azul) 10%,transparent);
  stroke:var(--azul);
  stroke-width:1.5;
  stroke-dasharray:5 4;
  opacity:1;
}
.year-zero-line{ stroke:var(--line); stroke-width:1; }
.year-month-label{ fill:var(--ink-soft); }
.year-month-hit{ cursor:pointer; outline:none; }
.year-month-hit.selected .year-month-label{ fill:var(--ink); font-weight:700; }
.year-month-hit:focus-visible .year-selected-bg{ stroke:var(--azul); stroke-width:2; }
.year-economia-line{
  stroke:var(--receita);
  stroke-width:2.1;
  stroke-linecap:round;
  opacity:.92;
}
.year-economia-line.deficit{ stroke:var(--despesa); }
.year-economia-point{
  fill:var(--receita);
  stroke:var(--surface);
  stroke-width:1.2;
}
.year-economia-point.deficit{ fill:var(--despesa); }
.year-chart-legend{
  margin-top:8px;
  gap:6px 10px;
}
.year-chart-legend .legend-item{ font-size:10.5px; }
.year-economia-legend{
  border-radius:999px;
  background:linear-gradient(90deg,var(--receita) 0 50%,var(--despesa) 50% 100%);
}
.year-forecast-legend{
  background:transparent;
  border:1px dashed var(--gold);
}
.year-month-detail{
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid var(--line);
}
.year-month-detail-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}
.year-month-detail-head b{
  color:var(--ink);
  font-size:13px;
}
.year-month-detail-head span{
  color:var(--ink-soft);
  font-size:9.5px;
  text-align:right;
}
.year-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.year-detail-grid > div{
  min-width:0;
  padding:8px 9px;
  border-radius:9px;
  background:var(--surface-2);
}
.year-detail-grid span{
  display:block;
  color:var(--ink-soft);
  font-size:10.5px;
  line-height:1.25;
}
.year-detail-grid b{
  display:block;
  margin-top:3px;
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:12px;
  white-space:nowrap;
}
.year-detail-grid .year-detail-forecast{
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(20,34,56,.06);
  position:relative;
}
.year-detail-grid .year-detail-forecast::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0; width:4px;
  border-radius:9px 0 0 9px;
  background:var(--gold);
}
.year-detail-grid .year-detail-forecast-despesa::before{ background:var(--gold); }
.year-detail-grid .year-detail-forecast-economia.positive::before{ background:var(--receita); }
.year-detail-grid .year-detail-forecast-economia.negative::before{ background:var(--despesa); }
.year-detail-grid .year-detail-forecast span{ color:var(--ink-soft); }
.year-detail-grid .year-detail-forecast b{ margin-top:5px; font-size:12.5px; }
@media(max-width:370px){
  .year-summary-grid{ grid-template-columns:1fr; }
  .year-summary-item{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
  .year-summary-item span{ min-height:0; }
  .year-summary-item b{ margin-top:0; }
  .year-detail-grid{ grid-template-columns:1fr 1fr; gap:6px; }
  .year-detail-grid > div{ padding:7px 8px; }
}

/* ===== v77.32 · alinhamento do selo novo e cards de previsão do gráfico anual ===== */


/* ===== v77.35 · padronização semântica de cores + reembolsos visíveis ===== */
/* No cartão de saldo: verde = positivo, vermelho = consumo/queda, dourado = reembolso/neutro. */
.ledger-sub-item.guardado.reserva-positive,
.ledger-sub-item.guardado.reserva-positive b{ color:#78C8A8; }
.ledger-sub-item.guardado.reserva-negative,
.ledger-sub-item.guardado.reserva-negative b{ color:#F08E83; }
.ledger-sub-item.guardado.reserva-neutral,
.ledger-sub-item.guardado.reserva-neutral b{ color:var(--gold-text); }
.ledger-reembolso-line{
  margin-top:11px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid color-mix(in srgb, var(--gold) 34%, var(--ledger-line));
  border-radius:9px;
  background:color-mix(in srgb, var(--gold) 9%, var(--ledger-bg));
  color:var(--gold-text);
  font-size:11.5px;
}
.ledger-reembolso-line b{ color:var(--gold-text); font-family:var(--font-mono); white-space:nowrap; }
.ledger-forecast-line b.despesa{ color:var(--despesa-text); }
.ledger-forecast-line b.positive{ color:var(--receita-text); }
.ledger-forecast-line b.negative{ color:var(--despesa-text); }

/* Economia e reservas. */
.economia-kpis b.reserva-positive{ color:var(--receita-text); }
.economia-kpis b.reserva-negative{ color:var(--despesa-text); }
.economia-kpis b.reserva-neutral{ color:var(--gold-text); }
.economia-reembolso{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:-4px 0 10px;
  padding:8px 10px;
  border:1px solid color-mix(in srgb, var(--gold) 34%, var(--ledger-line));
  border-radius:9px;
  background:color-mix(in srgb, var(--gold) 9%, var(--ledger-bg));
  color:var(--gold-text);
  font-size:11.5px;
}
.economia-reembolso b{ color:var(--gold-text); font-family:var(--font-mono); white-space:nowrap; }
.reserva-movimentos b.positive{ color:var(--receita-text); }
.reserva-movimentos b.negative{ color:var(--despesa-text); }
.reserva-movimentos b.neutral{ color:var(--ink-soft); }

/* Detalhe do mês no gráfico anual. */
.year-detail-grid b.receita{ color:var(--receita-text); }
.year-detail-grid b.despesa{ color:var(--despesa-text); }
.year-detail-grid b.reembolso{ color:var(--gold-text); }
.year-detail-grid b.reserva-positive,
.year-detail-grid b.aporte-positive{ color:var(--receita-text); }
.year-detail-grid b.reserva-negative,
.year-detail-grid b.resgate-negative{ color:var(--despesa-text); }
.year-detail-grid b.reserva-neutral{ color:var(--ink-soft); }
.year-detail-grid .year-detail-forecast-despesa b{ color:var(--despesa-text); }


/* ===== v77.36 · alinhamento dos extras em Totais do mês + aviso Google Play refinado ===== */
.totals-extra .metric-info-wrap{ display:inline-flex; align-items:center; gap:5px; }
.totals-extra .metric-info-popover{ max-width:min(285px, calc(100vw - 40px)); }
@media(max-width:390px){
  .totals-row{ column-gap:10px; }
  .totals-row span{ font-size:13px; line-height:1.35; }
  .totals-row small{ display:block; margin-top:1px; }
  .totals-extra{ padding-left:10px; }
  .limite-gratis-aviso{ font-size:11.7px; }
}


/* ===== v77.37 · refinamento visual de alinhamentos e responsividade ===== */
.totals-row span,
.economia-kpis small,
.economia-legend span,
.year-detail-grid span,
.limite-gratis-aviso span,
.metric-info-popover,
.ledger-reembolso-line span,
.economia-reembolso span{
  overflow-wrap:anywhere;
}
.totals-row b,
.economia-kpis b,
.economia-reembolso b,
.ledger-reembolso-line b,
.year-detail-grid b{
  font-variant-numeric:tabular-nums;
}
.year-selected-bg{ fill:rgba(201,163,89,.12); opacity:1; }
@media(max-width:390px){
  .year-chart-wrap{ margin:0 -2px; }
  .evolucao-financeira .card, #bar-card{ overflow:hidden; }
  .economia-kpis{ gap:8px; }
}


/* ===== v77.39 · legenda do gráfico refinada em layout premium ===== */
.calc-keyboard-dock button{ -webkit-tap-highlight-color: transparent; }


/* ===== v77.40 · Despesas por categoria elegante/minimalista ===== */
.legend-clickable.legend-minimal{
  grid-template-columns:minmax(0,1fr) 38px 14px;
  grid-template-areas:"label share chevron";
  align-items:center;
  gap:9px;
  padding:9px 2px;
  border-radius:0;
  border-bottom:1px solid color-mix(in srgb,var(--line) 55%, transparent);
}
.legend-group:last-child .legend-clickable.legend-minimal{ border-bottom:none; }
.legend-clickable.legend-minimal:hover{ background:transparent; }
.legend-clickable.legend-minimal .legend-main-label{
  grid-area:label;
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.legend-label-stack{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.legend-clickable.legend-minimal .legend-label-text{
  font-size:12.3px;
  line-height:1.28;
  color:var(--ink-soft);
  overflow-wrap:anywhere;
}
.legend-clickable.legend-minimal .legend-share{
  grid-area:share;
  justify-self:end;
  min-width:38px;
  text-align:right;
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:11.8px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.legend-clickable.legend-minimal .legend-chevron{
  grid-area:chevron;
  justify-self:end;
  opacity:.72;
}
.comparativo-minimal{
  font-size:10px;
  line-height:1.25;
  white-space:normal;
  font-weight:500;
  letter-spacing:.01em;
}
.comparativo-minimal.subiu{ color:var(--despesa-text); }
.comparativo-minimal.desceu{ color:var(--receita-text); }
.comparativo-minimal.estavel{ color:var(--ink-soft); }
.comparativo-minimal.novo{ color:var(--gold-text); }
@media(max-width:390px){
  .legend-clickable.legend-minimal{
    grid-template-columns:minmax(0,1fr) 34px 13px;
    gap:7px;
    padding:8px 1px;
  }
  .legend-clickable.legend-minimal .legend-label-text{
    font-size:12px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .legend-clickable.legend-minimal .legend-share{ min-width:34px; font-size:11.5px; }
  .comparativo-minimal{ font-size:9.7px; }
}


/* ===== v77.41 · transferência: campo Valor não fecha o lançamento ===== */
#f-valor[readonly]{
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
}
.calc-keyboard-dock{ touch-action:manipulation; }


/* ===== v77.45 · fechamento automático do mês ===== */
.economia-kpis.economia-kpis-two{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.economia-fechamento-note{ border-top-style:dashed; }
.economia-pending-note{
  margin:8px 0 0;
  padding:7px 9px;
  border-radius:8px;
  background:var(--gold-bg);
  color:var(--gold-text);
  font-size:10.8px;
  line-height:1.4;
}
.ledger-closed-line{ align-items:flex-start; }
.ledger-closed-line > span{ min-width:0; }
.ledger-pending-close{ color:var(--gold-text) !important; }
.orcamento-fechado-status b{
  font-family:var(--font-body);
  font-size:11px;
  color:var(--receita-text);
}
.orcamento-pendentes-fechamento{
  margin-top:6px;
  font-size:10.5px;
  color:var(--gold-text);
  text-align:right;
}
.totals-pending-close b{ color:var(--gold-text); }
@media(max-width:390px){
  .economia-kpis.economia-kpis-two{ grid-template-columns:1fr 1fr; }
  .ledger-closed-line{ flex-direction:column; gap:5px; }
}


/* ===== v77.46 · Plano de Contas em modo resumo + alertas de fechamento ===== */
.fechamento-previstos-aviso{
  margin-top:10px;
  padding:10px 11px 10px 13px;
  border-radius:var(--radius-s);
  background:rgba(201,163,89,.10);
  border:1px solid rgba(201,163,89,.28);
  border-left:4px solid var(--gold);
  color:#E6D5A3;
  font-size:11.5px;
  font-weight:500;
  line-height:1.45;
  text-align:left;
}
.fechamento-previstos-aviso b{ color:var(--gold); font-weight:700; }
.fechamento-previstos-orcamento{ margin:8px 0 2px; }
html[data-tema="claro"] .fechamento-previstos-aviso{
  background:#FFF8E8;
  border-color:#E3C978;
  border-left-color:#B88924;
  color:#725A22;
}
html[data-tema="claro"] .fechamento-previstos-aviso b{ color:#9A6A12; }

.plano-resumo-page{ padding-bottom:10px; }
.plano-resumo-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:2px 0 16px;
}
.plano-resumo-top p{
  margin:5px 0 0;
  max-width:420px;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.45;
}
.plano-resumo-actions{ display:flex; gap:7px; flex:0 0 auto; }
.plano-resumo-actions .btn{ width:auto; white-space:nowrap; }
.plano-resumo-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:20px;
}
.plano-kpi{
  min-width:0;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 3px 12px rgba(0,0,0,.035);
}
.plano-kpi small{ display:block; color:var(--ink-soft); font-size:10.5px; margin-bottom:5px; }
.plano-kpi b{
  display:block;
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:17px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.plano-kpi span{ display:block; margin-top:4px; color:var(--ink-soft); font-size:10.5px; }
.plano-kpi.receita{ border-left:3px solid var(--receita); }
.plano-kpi.receita b{ color:var(--receita-text); }
.plano-kpi.despesa{ border-left:3px solid var(--despesa); }
.plano-kpi.despesa b{ color:var(--despesa-text); }
.plano-kpi.fixos,.plano-kpi.orcamento{ border-left:3px solid var(--gold); }
.plano-kpi.fixos b,.plano-kpi.orcamento b{ color:var(--gold-text); }
.plano-resumo-section{ margin-top:18px; }
.plano-resumo-section-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.plano-resumo-section-title small{
  color:var(--ink-soft);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.plano-resumo-lista{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.plano-resumo-cat + .plano-resumo-cat{ border-top:1px solid var(--surface-2); }
.plano-resumo-cat-head{
  width:100%;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto 14px;
  align-items:center;
  gap:9px;
  padding:10px 11px;
  border:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
}
.plano-resumo-cat-head:hover{ background:var(--surface-2); }
.plano-resumo-cat-head .cat-badge{ width:28px; height:28px; border-radius:8px; }
.plano-resumo-cat-head .cat-badge svg{ width:15px; height:15px; }
.plano-resumo-cat-copy{ min-width:0; }
.plano-resumo-cat-copy b{ display:block; font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.plano-resumo-cat-copy small{ display:block; margin-top:2px; color:var(--ink-soft); font-size:10.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.plano-resumo-cat-budget{ min-width:0; text-align:right; }
.plano-resumo-cat-budget small{ display:block; color:var(--ink-soft); font-size:9.5px; }
.plano-resumo-cat-budget b{ display:block; margin-top:1px; color:var(--gold-text); font-family:var(--font-mono); font-size:11.5px; white-space:nowrap; }
.plano-resumo-sublist{
  padding:2px 12px 9px 49px;
  background:color-mix(in srgb,var(--surface-2) 55%,transparent);
}
.plano-resumo-subrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:31px;
  padding:5px 0;
  border-top:1px solid color-mix(in srgb,var(--line) 62%,transparent);
  color:var(--ink-soft);
  font-size:11.5px;
}
.plano-resumo-subrow:first-child{ border-top:0; }
.plano-resumo-subrow > span{ min-width:0; display:flex; align-items:center; gap:7px; }
.plano-resumo-subrow > span > span:last-child{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.plano-resumo-subrow b{ color:var(--ink); font-family:var(--font-mono); font-size:10.8px; white-space:nowrap; }
.plano-resumo-subrow .fixed-expense-legend-box{ width:14px; height:14px; flex:0 0 14px; font-size:9px; }
.plano-resumo-subdot{ width:5px; height:5px; border-radius:50%; background:var(--line); flex:0 0 5px; }
.plano-resumo-empty{ display:block; padding:8px 0; color:var(--ink-soft); font-size:11px; }

.plano-edit-header{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:2px 0 18px;
  padding-bottom:13px;
  border-bottom:1px solid var(--line);
}
.plano-edit-header small{ display:block; margin-top:4px; color:var(--ink-soft); font-size:11px; }
.plano-back-btn{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:34px;
  padding:5px 8px 5px 5px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  color:var(--ink-soft);
  font-family:var(--font-body);
  font-size:11.5px;
  cursor:pointer;
}
.plano-back-btn svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.plano-novo-opcoes{ display:grid; gap:9px; }
.plano-novo-opcoes button{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:100%;
  padding:13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  color:var(--ink);
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
}
.plano-novo-opcoes button:hover{ border-color:var(--gold); background:var(--surface-2); }
.plano-novo-opcoes b{ font-size:13.5px; }
.plano-novo-opcoes span{ color:var(--ink-soft); font-size:11.5px; line-height:1.4; }
.plano-novo-fixo{
  display:flex;
  align-items:center;
  gap:8px;
  margin:-2px 0 14px;
  color:var(--ink-soft);
  font-size:12px;
}
.plano-novo-fixo input{ width:17px; height:17px; }

@media(max-width:430px){
  .plano-resumo-top{ flex-direction:column; gap:10px; }
  .plano-resumo-actions{ width:100%; }
  .plano-resumo-actions .btn{ flex:1; }
  .plano-resumo-kpis{ gap:8px; }
  .plano-kpi{ padding:11px; }
  .plano-kpi b{ font-size:15px; }
  .plano-resumo-cat-head{ grid-template-columns:28px minmax(0,1fr) auto 14px; gap:7px; padding:10px 9px; }
  .plano-resumo-cat-budget small{ display:none; }
  .plano-resumo-cat-budget b{ font-size:10.8px; }
  .plano-resumo-sublist{ padding-left:44px; padding-right:10px; }
}


/* ===== v77.47 · Plano de Contas unificado: resumo + edição na mesma tela ===== */
.plano-resumo-editavel .plano-resumo-top{ margin-bottom:16px; }
.plano-resumo-cat-head-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:stretch;
}
.plano-resumo-cat-head-wrap .plano-resumo-cat-head{
  grid-template-columns:30px minmax(0,1fr) auto 14px;
  min-width:0;
}
.plano-inline-icon{
  width:30px;
  height:30px;
  padding:6px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink-soft);
  cursor:pointer;
  align-self:center;
}
.plano-inline-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.plano-inline-icon:hover{ background:var(--despesa-bg); color:var(--despesa-text); }
.plano-resumo-sublist-editavel{ padding-bottom:10px; }
.plano-resumo-subrow-editavel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.plano-sub-main{ min-width:0; }
.plano-inline-fixed{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  cursor:pointer;
}
.plano-inline-fixed input{
  width:15px;
  height:15px;
  flex:0 0 15px;
  accent-color:var(--gold);
}
.plano-inline-fixed span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.plano-sub-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  min-width:0;
}
.plano-budget-inline{
  max-width:118px;
  padding:4px 7px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:var(--gold-text);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
}
.plano-budget-inline:hover{ border-color:var(--line); background:var(--surface); }
.plano-inline-orcamento-cat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:8px 0 7px;
  padding:9px 0 7px;
  border-top:1px dashed var(--line);
}
.plano-inline-orcamento-cat > span{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.plano-inline-orcamento-cat small{ color:var(--ink-soft); font-size:10.5px; }
.plano-inline-orcamento-cat em{ color:var(--ink-soft); font-size:9.8px; font-style:normal; }
.plano-inline-orcamento-cat .btn{ width:auto; white-space:nowrap; }
.plano-inline-add-sub{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:7px;
}
.plano-inline-add-sub input{
  min-width:0;
  padding:8px 10px;
  font-size:12.5px;
}
.plano-inline-add-sub .btn{ width:auto; white-space:nowrap; }
.plano-add-category{
  width:100%;
  margin-top:8px;
  padding:10px 12px;
  border:1px dashed color-mix(in srgb,var(--gold) 46%,var(--line));
  border-radius:10px;
  background:transparent;
  color:var(--gold-text);
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  text-align:center;
  cursor:pointer;
}
.plano-add-category:hover{ background:var(--gold-bg); border-color:var(--gold); }
@media(max-width:430px){
  .plano-resumo-cat-head-wrap{ grid-template-columns:minmax(0,1fr) 31px; }
  .plano-resumo-cat-head-wrap .plano-resumo-cat-head{ grid-template-columns:28px minmax(0,1fr) auto 14px; }
  .plano-resumo-sublist-editavel{ padding-left:43px; padding-right:8px; }
  .plano-resumo-subrow-editavel{ gap:5px; }
  .plano-budget-inline{ max-width:95px; padding:4px 4px; font-size:10px; }
  .plano-inline-icon{ width:28px; height:28px; padding:6px; }
  .plano-inline-add-sub{ grid-template-columns:minmax(0,1fr) 76px; }
  .plano-inline-add-sub .btn{ padding-left:8px; padding-right:8px; }
}


/* ===== v77.49 · legenda de gasto fixo + categoria aberta sempre visível ===== */
.plano-fixo-legenda{
  display:flex;
  align-items:center;
  min-height:28px;
  margin:-2px 0 7px;
  padding:0 10px;
  color:var(--ink-soft);
  font-size:11px;
}
.plano-inline-fixed-legenda{
  gap:7px;
  cursor:default;
  pointer-events:none;
}
.plano-inline-fixed-legenda input{
  width:15px;
  height:15px;
  flex:0 0 15px;
  margin:0;
  opacity:1;
  accent-color:var(--gold);
}
.plano-inline-fixed-legenda span{
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
.plano-resumo-cat{
  scroll-margin-top:72px;
}
@media(max-width:430px){
  .plano-fixo-legenda{ padding-left:8px; }
  .plano-resumo-cat{ scroll-margin-top:68px; }
}


/* ===== v77.50 · Visão rápida do mês ===== */
.quick-month-card{
  margin-top:12px;
  padding:17px 16px 15px;
  border:1px solid var(--line);
  border-radius:var(--radius-l);
  background:var(--surface);
  box-shadow:0 5px 18px rgba(10,24,42,.08);
  overflow:hidden;
}
.quick-month-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}
.quick-month-kicker{
  display:block;
  color:var(--gold-text);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.quick-month-head h2{
  margin:3px 0 0;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:18px;
  line-height:1.2;
  font-weight:600;
}
.quick-month-status{
  flex:0 0 auto;
  padding:4px 8px;
  border:1px solid rgba(201,163,89,.25);
  border-radius:999px;
  background:color-mix(in srgb, var(--gold) 9%, var(--ledger-bg));
  color:var(--gold-text);
  font-size:10px;
  font-weight:600;
  white-space:nowrap;
}
.quick-month-intro,
.quick-month-explain{
  margin:0;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.5;
}
.quick-month-revenue{
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--receita) 22%,var(--line));
  border-radius:11px;
  background:color-mix(in srgb,var(--receita-bg) 38%,var(--surface));
}
.quick-month-row-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.quick-month-row-main > span{ min-width:0; }
.quick-month-row-main b{ display:block; color:var(--ink); font-size:12px; }
.quick-month-row-main small{ display:block; margin-top:2px; color:var(--ink-soft); font-size:10.5px; line-height:1.35; }
.quick-month-row-main strong,
.quick-month-step strong{
  font-family:var(--font-mono);
  font-size:12.5px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.quick-month-revenue-breakdown{
  display:flex;
  flex-wrap:wrap;
  gap:5px 14px;
  margin-top:8px;
  padding-top:7px;
  border-top:1px dashed var(--line);
  color:var(--ink-soft);
  font-size:10.5px;
}
.quick-month-revenue-breakdown b{ color:var(--ink); font-family:var(--font-mono); font-weight:500; }
.quick-month-flow{
  margin-top:11px;
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
  background:var(--surface-2);
}
.quick-month-flow-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:11.5px;
  font-weight:600;
}
.quick-month-flow-title b{ color:var(--despesa-text); font-family:var(--font-mono); font-size:12px; white-space:nowrap; }
.quick-month-step{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);
}
.quick-month-step-index{
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--ink-soft);
  font-family:var(--font-mono);
  font-size:9.5px;
  font-weight:600;
}
.quick-month-step > div{ min-width:0; }
.quick-month-step b{ display:block; color:var(--ink); font-size:11px; line-height:1.25; }
.quick-month-step small{ display:block; margin-top:2px; color:var(--ink-soft); font-size:9.8px; line-height:1.3; }
.quick-month-step strong.forecast{ color:var(--gold-text); }
.quick-month-step strong.positive,
.quick-month-row-main strong.positive{ color:var(--receita-text); }
.quick-month-step strong.negative{ color:var(--despesa-text); }
.quick-month-formula{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 8px;
  padding:7px 11px;
  color:var(--ink-soft);
  font-family:var(--font-mono);
  font-size:9.8px;
}
.quick-month-formula b{ color:var(--despesa-text); font-size:10.5px; }
.quick-month-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-top:11px;
  padding:11px 12px;
  border-radius:11px;
  border:1px solid var(--line);
}
.quick-month-result span{ min-width:0; color:var(--ink); font-size:12px; font-weight:600; }
.quick-month-result small{ display:block; margin-top:2px; color:var(--ink-soft); font-size:10px; font-weight:400; line-height:1.3; }
.quick-month-result b{
  font-family:var(--font-mono);
  font-size:15px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.quick-month-result.positive{
  background:color-mix(in srgb,var(--receita-bg) 42%,var(--surface));
  border-color:color-mix(in srgb,var(--receita) 24%,var(--line));
}
.quick-month-result.positive b{ color:var(--receita-text); }
.quick-month-result.negative{
  background:color-mix(in srgb,var(--despesa-bg) 42%,var(--surface));
  border-color:color-mix(in srgb,var(--despesa) 24%,var(--line));
}
.quick-month-result.negative b{ color:var(--despesa-text); }
.quick-month-explain{
  margin-top:9px;
  padding:0 2px;
  font-size:10.5px;
}
.quick-analysis-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0 10px;
  color:var(--ink-soft);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quick-analysis-divider::before,
.quick-analysis-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line);
}
.quick-month-simple-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
}
.quick-month-simple-item{
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.quick-month-simple-item small{ display:block; color:var(--ink-soft); font-size:10.5px; }
.quick-month-simple-item b{ display:block; margin-top:4px; font-family:var(--font-mono); font-size:13px; white-space:nowrap; }
.quick-month-simple-item span{ display:block; margin-top:3px; color:var(--ink-soft); font-size:9.5px; line-height:1.25; }
.quick-month-simple-item.receita b{ color:var(--receita-text); }
.quick-month-simple-item.despesa b{ color:var(--despesa-text); }
.quick-month-budget-closed{
  display:flex;
  justify-content:space-between;
  gap:8px 12px;
  flex-wrap:wrap;
  margin-top:8px;
  padding:0 2px;
  color:var(--ink-soft);
  font-size:10.5px;
}
.quick-month-budget-closed .positive{ color:var(--receita-text); }
.quick-month-budget-closed .negative{ color:var(--despesa-text); }
.quick-month-warning{ margin-bottom:0; }

@media(max-width:390px){
  .quick-month-card{ padding:15px 13px 13px; }
  .quick-month-head{ gap:8px; }
  .quick-month-head h2{ font-size:16.5px; }
  .quick-month-step{ grid-template-columns:20px minmax(0,1fr); gap:7px; }
  .quick-month-step strong{ grid-column:2; justify-self:start; margin-top:1px; }
  .quick-month-formula{ justify-content:flex-start; padding-left:38px; }
  .quick-month-result b{ font-size:14px; }
  .quick-month-simple-grid{ grid-template-columns:1fr 1fr; }
}

@media(max-width:345px){
  .quick-month-status{ display:none; }
  .quick-month-simple-grid{ grid-template-columns:1fr; }
  .quick-month-result{ grid-template-columns:1fr; gap:5px; }
}


/* ===== v77.51 · linguagem de investimentos + visão rápida com reembolso ===== */
/* Azul identifica toda transferência relacionada a investimento, sem confundir com Receita ou Despesa. */
.ledger-sub-item.guardado,
.ledger-sub-item.guardado b,
.ledger-sub-item.guardado.reserva-positive,
.ledger-sub-item.guardado.reserva-positive b,
.ledger-sub-item.guardado.reserva-negative,
.ledger-sub-item.guardado.reserva-negative b,
.ledger-sub-item.guardado.reserva-neutral,
.ledger-sub-item.guardado.reserva-neutral b,
.economia-kpis b.guardado,
.economia-kpis b.reserva-positive,
.economia-kpis b.reserva-negative,
.economia-kpis b.reserva-neutral,
.totals-row b.guardado,
.reserva-movimentos b.positive,
.reserva-movimentos b.negative,
.reserva-movimentos b.neutral,
.year-detail-grid b.reserva-positive,
.year-detail-grid b.reserva-negative,
.year-detail-grid b.aporte-positive,
.year-detail-grid b.resgate-negative,
.year-detail-grid b.reserva-neutral{
  color:var(--azul) !important;
}
.reserva-movimentos span{ min-width:0; }

/* Na visão rápida, dourado indica que algo é previsto; o valor continua vermelho por representar saída. */
.quick-month-step.forecast-step > div b,
.quick-month-revenue-breakdown .forecast-label{
  color:var(--gold-text);
}
.quick-month-step.forecast-step .quick-month-step-index{
  color:var(--gold-text);
  border-color:color-mix(in srgb,var(--gold) 42%,var(--line));
  background:color-mix(in srgb,var(--gold-bg) 56%,var(--surface));
}
.quick-month-step strong.reembolso{
  color:var(--gold-text);
}
.quick-month-step.reimbursement-step > div b{
  color:var(--gold-text);
}
.quick-month-step.reimbursement-step .quick-month-step-index{
  color:var(--gold-text);
  border-color:color-mix(in srgb,var(--gold) 42%,var(--line));
  background:color-mix(in srgb,var(--gold-bg) 50%,var(--surface));
}
.quick-month-step.net-expense-step{
  background:color-mix(in srgb,var(--despesa-bg) 18%,transparent);
}
.quick-month-step.net-expense-step > div b{
  color:var(--despesa-text);
}
.quick-month-step-index.operator{
  font-size:12px;
  font-weight:700;
}
@media(max-width:390px){
  .quick-month-step{
    grid-template-columns:20px minmax(0,1fr) auto;
    gap:7px;
  }
  .quick-month-step strong{ font-size:11.8px; }
  .quick-month-step b{ font-size:10.7px; }
}


/* ===== v77.52 · cobertura de déficit com resgate de investimento ===== */
.deficit-coverage-card{
  margin:12px 0 14px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--azul) 28%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--azul-bg) 42%,var(--surface));
}
.deficit-coverage-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.deficit-coverage-head > div{ min-width:0; }
.deficit-coverage-head small{
  display:block;
  margin-bottom:2px;
  color:var(--ink-soft);
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.deficit-coverage-head b{
  display:block;
  color:var(--ink);
  font-size:13px;
  font-weight:650;
}
.deficit-coverage-badge{
  flex:0 0 auto;
  padding:3px 7px;
  border:1px solid color-mix(in srgb,var(--azul) 34%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--azul-bg) 68%,transparent);
  color:var(--azul);
  font-size:10.5px;
  font-weight:650;
}
.deficit-coverage-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.deficit-coverage-grid > div{
  min-width:0;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 86%,transparent);
}
.deficit-coverage-grid span{
  display:block;
  min-height:25px;
  color:var(--ink-soft);
  font-size:10.5px;
  line-height:1.2;
}
.deficit-coverage-grid b{
  display:block;
  margin-top:3px;
  font-family:var(--font-mono);
  font-size:12.5px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.deficit-coverage-grid .coverage-original b,
.deficit-coverage-grid .coverage-uncovered b{ color:var(--despesa-text); }
.deficit-coverage-grid .coverage-resgate b,
.deficit-coverage-grid .coverage-covered b,
.deficit-coverage-grid .coverage-excess b{ color:var(--azul); }
.deficit-coverage-card p{
  margin:9px 1px 0;
  color:var(--ink-soft);
  font-size:10.8px;
  line-height:1.45;
}
.deficit-coverage-card p b{ color:var(--ink); font-weight:650; }
@media(max-width:355px){
  .deficit-coverage-grid{ grid-template-columns:1fr; }
  .deficit-coverage-grid span{ min-height:0; }
}


/* ===== v77.53 · contraste da visão rápida + déficit previsto coberto por investimento ===== */
.quick-month-step.reimbursement-step .quick-month-step-index,
.quick-month-step.forecast-step .quick-month-step-index{
  background:color-mix(in srgb,var(--despesa-bg) 24%,var(--surface));
  border-color:color-mix(in srgb,var(--despesa-text) 18%,var(--line));
  color:var(--gold-text);
}
/* O reembolso já é explicado na Visão rápida e nos totais; não precisa repetir no card avançado. */
.economia-reembolso{ display:none !important; }


/* ===== v77.54 · cartões escuros + déficit previsto após resgates ===== */
.quick-month-revenue{
  background:var(--surface-2) !important;
  border-color:color-mix(in srgb,var(--receita) 24%,var(--line)) !important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--receita) 70%,transparent);
}
.quick-month-result{
  background:var(--surface-2) !important;
  box-shadow:none;
}
.quick-month-result.positive{
  border-color:color-mix(in srgb,var(--receita) 26%,var(--line)) !important;
  box-shadow:inset 3px 0 0 var(--receita);
}
.quick-month-result.negative{
  border-color:color-mix(in srgb,var(--despesa) 28%,var(--line)) !important;
  box-shadow:inset 3px 0 0 var(--despesa);
}
.quick-month-resgate-note{
  display:flex;
  justify-content:space-between;
  gap:8px 14px;
  flex-wrap:wrap;
  margin-top:7px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--azul) 24%,var(--line));
  border-radius:9px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:10.2px;
}
.quick-month-resgate-note b{
  color:var(--azul);
  font-family:var(--font-mono);
  font-weight:600;
  white-space:nowrap;
}
.deficit-coverage-card{
  background:var(--surface-2) !important;
  border-color:color-mix(in srgb,var(--azul) 28%,var(--line)) !important;
}
.deficit-coverage-grid > div{
  background:var(--surface) !important;
  border-color:var(--line) !important;
}
.deficit-coverage-badge{
  background:var(--azul-bg) !important;
  color:var(--azul) !important;
}
.economia-kpis.economia-kpis-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:355px){
  .economia-kpis.economia-kpis-two{ grid-template-columns:1fr; }
}

/* ===== v77.55 · Ajustes moderno no padrão do Plano de Contas ===== */
.settings-page-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:2px 2px 16px;
}
.settings-page-intro h2{
  margin:2px 0 0;
  font-family:var(--font-display);
  font-size:25px;
  line-height:1.05;
  color:var(--ink);
}
.settings-page-intro p{
  max-width:300px;
  margin:0;
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.45;
  text-align:right;
}
.settings-page-kicker{
  display:block;
  color:var(--gold-text);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.14em;
}
.settings-dashboard{ display:flex; flex-direction:column; gap:10px; }
.settings-modern-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 4px 18px rgba(0,0,0,.035);
}
.settings-modern-panel.open{
  border-color:color-mix(in srgb,var(--gold) 22%,var(--line));
}
.settings-modern-head{
  width:100%;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 20px;
  align-items:center;
  gap:11px;
  padding:14px 15px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  font-family:var(--font-body);
  scroll-margin-top:96px;
}
.settings-modern-head:focus-visible{ outline:2px solid var(--gold); outline-offset:-3px; }

.settings-modern-head.has-shortcut{
  grid-template-columns:42px minmax(0,1fr) auto 20px;
}
.settings-head-shortcut{
  justify-self:end;
}
.settings-shortcut-btn{
  border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));
  background:rgba(201,163,89,.10);
  color:var(--gold-text);
  border-radius:999px;
  padding:6px 10px;
  font-size:11.5px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  font-family:var(--font-body);
}
.settings-shortcut-btn:hover{ background:rgba(201,163,89,.16); }
.settings-shortcut-btn:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.settings-modern-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--surface-2);
  color:var(--ink-soft);
  border:1px solid var(--line);
}
.settings-modern-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.settings-modern-icon.contas{ color:var(--azul); background:var(--azul-bg); border-color:color-mix(in srgb,var(--azul) 24%,var(--line)); }
.settings-modern-icon.automaticos{ color:var(--gold-text); background:var(--gold-bg); border-color:color-mix(in srgb,var(--gold) 28%,var(--line)); }
.settings-modern-icon.aparencia{ color:var(--gold-text); }
.settings-modern-icon.dados{ color:var(--receita-text); background:var(--receita-bg); }
.settings-modern-head-text{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.settings-modern-head-text b{ font-size:14.5px; font-weight:650; color:var(--ink); }
.settings-modern-head-text small{ font-size:11.5px; line-height:1.35; color:var(--ink-soft); overflow-wrap:anywhere; }
.settings-modern-chevron{
  justify-self:end;
  color:var(--gold-text);
  font-size:20px;
  font-weight:600;
  line-height:1;
  transition:transform .18s ease;
}
.settings-modern-panel.open .settings-modern-chevron{ transform:rotate(180deg); }
.settings-modern-body{
  padding:2px 15px 16px;
  border-top:1px solid var(--surface-2);
}
.settings-modern-body[hidden]{ display:none !important; }

.profile-modern-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding-top:14px;
}
.profile-modern-copy{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.profile-modern-copy b{ font-size:13.5px; }
.profile-modern-copy span{ font-size:11.5px; line-height:1.4; color:var(--ink-soft); }
.profile-modern-actions{ display:flex; flex-direction:column; gap:6px; }

.accounts-intro{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:13px 0 15px;
  padding:11px 12px;
  border-radius:12px;
  background:var(--azul-bg);
  border:1px solid color-mix(in srgb,var(--azul) 22%,var(--line));
}
.accounts-intro-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:var(--azul);
  background:color-mix(in srgb,var(--azul) 12%,transparent);
  font-weight:700;
}
.accounts-intro div{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.accounts-intro b{ color:var(--ink); font-size:12.5px; }
.accounts-intro span:not(.accounts-intro-icon){ color:var(--ink-soft); font-size:11px; line-height:1.4; }
.accounts-modern-groups{ display:flex; flex-direction:column; gap:14px; }
.accounts-group{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:color-mix(in srgb,var(--surface-2) 35%,var(--surface));
}
.accounts-group.investment-group{ border-color:color-mix(in srgb,var(--azul) 24%,var(--line)); }
.accounts-group-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  background:var(--surface-2);
}
.accounts-group-title > div{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.accounts-group-title b{ font-size:12.5px; color:var(--ink); }
.accounts-group-title span{ font-size:10.8px; color:var(--ink-soft); }
.accounts-group-count{
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--ink-soft) !important;
  font-family:var(--font-mono);
  font-size:10.5px !important;
}
.accounts-group-list{ padding:5px 8px 0; }
.account-modern-item{ border-bottom:1px solid var(--surface-2); }
.account-modern-item:last-child{ border-bottom:0; }
.account-modern-head{
  width:100%;
  display:grid;
  grid-template-columns:35px minmax(0,1fr) 18px;
  gap:9px;
  align-items:center;
  padding:9px 4px;
  border:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
}
.account-type-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--ink-soft);
  background:var(--surface-2);
}
.account-type-icon svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.account-type-icon.investimento{ color:var(--azul); background:var(--azul-bg); }
.account-type-icon.cartao{ color:var(--gold-text); background:var(--gold-bg); }
.account-modern-name{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.account-modern-name b{ font-size:12.8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-modern-name small{ color:var(--ink-soft); font-size:10.8px; }
.account-modern-chevron{ justify-self:end; color:var(--ink-soft); transition:transform .15s ease; }
.account-modern-item.open .account-modern-chevron{ transform:rotate(180deg); color:var(--gold-text); }
.account-modern-editor{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:end;
  padding:0 4px 11px 39px;
}
.account-modern-editor[hidden]{ display:none !important; }
.account-editor-field{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.account-editor-field > span{ font-size:10.5px; font-weight:600; color:var(--ink-soft); }
.account-editor-field select{ padding:8px 28px 8px 9px !important; font-size:11.5px !important; }
.account-editor-actions{ display:flex; gap:6px; }
.accounts-empty{ padding:12px 4px; font-size:11.5px; color:var(--ink-soft); }
.accounts-add-btn{
  width:calc(100% - 16px);
  margin:7px 8px 9px;
  padding:9px 10px;
  border:1px dashed var(--line);
  border-radius:10px;
  background:transparent;
  color:var(--ink-soft);
  font-family:var(--font-body);
  font-size:11.8px;
  font-weight:600;
  cursor:pointer;
}
.accounts-add-btn span{ margin-right:5px; color:var(--gold-text); }
.investment-group .accounts-add-btn span{ color:var(--azul); }
.new-account-inline{
  margin:7px 8px 9px;
  padding:10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(125px,.7fr);
  gap:7px;
  border-radius:11px;
  background:var(--surface-2);
  border:1px solid var(--line);
}
.new-account-inline input,.new-account-inline select{ min-width:0; font-size:12px; padding:9px 10px; }
.new-account-actions{ grid-column:1/-1; display:flex; gap:7px; justify-content:flex-end; }

.settings-status-list{ padding-top:7px; }
.settings-status-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:10px 2px;
  border-bottom:1px solid var(--surface-2);
}
.settings-status-row:last-child{ border-bottom:0; }
.settings-status-dot{ width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:var(--ink-soft); }
.settings-status-dot.ok{ background:var(--receita); }
.settings-status-dot.warn{ background:var(--gold); }
.settings-status-dot.info,.settings-status-dot.auto{ background:var(--azul); }
.settings-status-row.no-action{ padding-right:8px; }
.settings-status-row.danger-row .settings-text b{ color:var(--despesa-text); }
.settings-data-note{
  margin-top:12px;
  padding:10px 11px;
  border-radius:10px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:11px;
  line-height:1.45;
}
.settings-details{ margin-top:8px; border-top:1px solid var(--surface-2); padding-top:8px; }
.settings-details summary{ cursor:pointer; color:var(--gold-text); font-size:11.5px; font-weight:600; }
.settings-details p{ margin:8px 0 0; color:var(--ink-soft); font-size:11px; line-height:1.5; }

.appearance-modern-block{ padding-top:13px; }
.appearance-modern-label{ display:flex; flex-direction:column; gap:3px; }
.appearance-modern-label b{ font-size:13px; }
.appearance-modern-label span{ font-size:11px; color:var(--ink-soft); }
.theme-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:11px; }
.theme-cards button{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding:9px !important;
  border-radius:11px !important;
  text-align:left;
}
.theme-preview{
  display:block;
  width:100%;
  height:28px;
  border-radius:7px;
  border:1px solid var(--line);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.08);
}
.theme-preview.claro{ background:#F3F5F8; }
.theme-preview.padrao{ background:#122842; border-color:#314A67; }
.theme-preview.escuro{ background:#0D141D; border-color:#27313D; }
.modern-appearance-colors{ margin-top:15px; }

.settings-link-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:12px; }
.settings-link-grid.compact{ grid-template-columns:1fr; }
.settings-link-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  min-height:62px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--ink);
  text-decoration:none;
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
}
.settings-link-card > span:nth-child(2),
.settings-link-card > span:first-child:not(.settings-link-icon){ display:flex; flex-direction:column; gap:3px; min-width:0; }
.settings-link-card b{ font-size:12.5px; }
.settings-link-card small{ color:var(--ink-soft); font-size:10.8px; line-height:1.35; }
.settings-link-icon{ width:27px; height:27px; display:grid; place-items:center; border-radius:8px; background:var(--gold-bg); color:var(--gold-text); font-weight:700; }
.settings-link-arrow{ color:var(--gold-text); font-size:18px; }
.about-modern-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:12px; }
.about-modern-grid > div{ display:flex; flex-direction:column; gap:3px; padding:10px; border-radius:10px; background:var(--surface-2); border:1px solid var(--line); }
.about-modern-grid small{ color:var(--ink-soft); font-size:10.5px; }
.about-modern-grid b{ font-size:12px; color:var(--ink); overflow-wrap:anywhere; }
.settings-play-note{ margin:10px 0 0; }

@media(max-width:430px){
  .settings-page-intro{ align-items:flex-start; flex-direction:column; gap:5px; }
  .settings-page-intro p{ max-width:none; text-align:left; }
  .settings-modern-head{ padding:13px 12px; grid-template-columns:38px minmax(0,1fr) 18px; gap:9px; }
  .settings-modern-head.has-shortcut{ grid-template-columns:38px minmax(0,1fr) auto 18px; gap:8px; }
  .settings-shortcut-btn{ padding:5px 9px; font-size:11px; }
  .settings-modern-icon{ width:36px; height:36px; border-radius:11px; }
  .settings-modern-body{ padding-left:12px; padding-right:12px; }
  .profile-modern-row{ grid-template-columns:58px minmax(0,1fr); }
  .profile-avatar-large{ width:56px; height:56px; }
  .profile-modern-actions{ grid-column:1/-1; flex-direction:row; }
  .profile-modern-actions .btn{ flex:1; }
  .account-modern-editor{ grid-template-columns:1fr; padding-left:39px; }
  .account-editor-actions .btn{ flex:1; }
  .new-account-inline{ grid-template-columns:1fr; }
  .new-account-actions{ grid-column:1; }
  .theme-cards{ gap:6px; }
  .theme-cards button{ padding:7px !important; font-size:11.5px; }
  .settings-link-grid{ grid-template-columns:1fr; }
  .settings-status-row{ align-items:flex-start; flex-wrap:wrap; }
  .settings-status-row .btn-fixo{ margin-left:18px; }
}


/* ===== v77.56 · Ajustes mais coesos + notificações em destaque ===== */
.settings-modern-icon{
  background:color-mix(in srgb,var(--surface-2) 78%,var(--surface));
  color:var(--ink-soft);
  border-color:color-mix(in srgb,var(--line) 82%,transparent);
}
.settings-modern-icon.contas{
  color:var(--azul);
  background:color-mix(in srgb,var(--azul) 10%,var(--surface-2));
  border-color:color-mix(in srgb,var(--azul) 28%,var(--line));
}
.settings-modern-icon.automaticos{
  color:var(--gold-text);
  background:color-mix(in srgb,var(--gold) 9%,var(--surface-2));
  border-color:color-mix(in srgb,var(--gold) 25%,var(--line));
}
.settings-modern-icon.aparencia{
  color:var(--gold-text);
  background:color-mix(in srgb,var(--gold) 7%,var(--surface-2));
}
.settings-modern-icon.dados{
  color:var(--receita-text);
  background:color-mix(in srgb,var(--receita) 8%,var(--surface-2));
}
.settings-modern-icon.whatsapp{
  color:#25A85A;
  background:rgba(37,211,102,.10);
  border-color:rgba(37,168,90,.28);
}
html[data-tema="escuro"] .settings-modern-icon.whatsapp,
html[data-tema="padrao"] .settings-modern-icon.whatsapp{
  color:#77D99B;
  background:rgba(37,211,102,.10);
  border-color:rgba(119,217,155,.24);
}
.accounts-intro{
  background:color-mix(in srgb,var(--surface-2) 86%,var(--surface));
  border-color:color-mix(in srgb,var(--azul) 24%,var(--line));
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--azul) 72%,transparent);
}
.accounts-intro-icon{
  color:var(--azul);
  background:color-mix(in srgb,var(--azul) 11%,var(--surface));
  border:1px solid color-mix(in srgb,var(--azul) 22%,var(--line));
}
.account-type-icon{
  background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));
}
.account-type-icon.investimento{
  color:var(--azul);
  background:color-mix(in srgb,var(--azul) 10%,var(--surface-2));
}
.account-type-icon.cartao{
  color:var(--gold-text);
  background:color-mix(in srgb,var(--gold) 9%,var(--surface-2));
}

.settings-modern-panel.settings-attention{
  border-color:color-mix(in srgb,var(--gold) 52%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 14%,transparent), 0 7px 22px rgba(0,0,0,.08);
}
.settings-modern-panel.settings-attention .settings-modern-head{
  background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 8%,transparent),transparent 62%);
}
.settings-modern-panel.settings-attention .settings-modern-head-text small{
  color:var(--gold-text);
  font-weight:600;
}
.notification-review-card{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin:13px 0 5px;
  padding:12px;
  border-radius:13px;
  background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));
  border:1px solid var(--line);
}
.notification-review-card.has-pending{
  border-color:color-mix(in srgb,var(--gold) 42%,var(--line));
  background:color-mix(in srgb,var(--gold) 7%,var(--surface-2));
  box-shadow:inset 3px 0 0 var(--gold);
}
.notification-review-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 76%,var(--surface-2));
  border:1px solid var(--line);
  color:var(--ink-soft);
  font-family:var(--font-mono);
  font-weight:800;
}
.notification-review-card.has-pending .notification-review-icon{
  color:var(--gold-text);
  border-color:color-mix(in srgb,var(--gold) 35%,var(--line));
  background:color-mix(in srgb,var(--gold) 10%,var(--surface-2));
}
.notification-review-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.notification-review-copy b{
  color:var(--ink);
  font-size:12.8px;
}
.notification-review-card.has-pending .notification-review-copy b{ color:var(--gold-text); }
.notification-review-copy span{
  color:var(--ink-soft);
  font-size:10.9px;
  line-height:1.4;
}
.notification-review-btn{
  background:var(--gold) !important;
  color:var(--brand-dark) !important;
  border-color:var(--gold) !important;
  font-weight:700 !important;
  white-space:nowrap;
}
.settings-status-dot.muted{ background:var(--ink-soft); opacity:.55; }
@media(max-width:430px){
  .notification-review-card{
    grid-template-columns:34px minmax(0,1fr);
  }
  .notification-review-btn{
    grid-column:1/-1;
    width:100%;
  }
}


/* ===== v77.62 · Despesas por categoria: donut 2D centralizado + lista em largura total ===== */
.category-chart-layout{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  width:100%;
}
.category-donut-wrap{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:4px 0 10px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 55%, transparent);
}
.donut-chart-2d{
  display:block;
  width:128px;
  height:128px;
  filter:none !important;
  overflow:visible;
}
.donut-chart-2d .donut-segment{
  opacity:.94;
  transition:opacity .16s ease, stroke-width .16s ease;
}
.donut-chart-2d .donut-segment.selected{
  opacity:1;
  stroke-width:20;
}
.category-chart-legend{
  width:100%;
  margin-top:0;
  gap:0;
  min-width:0;
}
.category-chart-legend .legend-group{
  width:100%;
}
.category-chart-legend .legend-swatch{
  box-shadow:none;
}
.category-chart-legend .legend-clickable.legend-minimal{
  width:100%;
  grid-template-columns:minmax(0,1fr) 44px 14px;
  gap:10px;
  padding:9px 2px;
}
.category-chart-legend .legend-label-text{
  color:var(--ink);
}
.category-chart-legend .comparativo-minimal{
  opacity:.88;
}
.category-chart-legend .sub-breakdown{
  width:100%;
  padding:5px 3px 9px 23px;
}
.category-chart-legend .sub-breakdown-row{
  gap:12px;
}
@media(max-width:390px){
  .category-chart-layout{ gap:8px; }
  .category-donut-wrap{ padding:2px 0 8px; }
  .donut-chart-2d{
    width:118px;
    height:118px;
  }
  .category-chart-legend .legend-clickable.legend-minimal{
    grid-template-columns:minmax(0,1fr) 38px 13px;
    gap:8px;
    padding:8px 1px;
  }
  .category-chart-legend .legend-label-text{ font-size:12px; }
  .category-chart-legend .comparativo-minimal{ font-size:9.7px; }
  .category-chart-legend .legend-share{ min-width:38px; font-size:11.5px; }
}
@media(max-width:350px){
  .donut-chart-2d{ width:110px; height:110px; }
}

/* ===== v77.60 · aviso clicável de notificação pendente ao abrir o app ===== */
.auto-pending-open-banner{
  position:fixed;
  z-index:520;
  top:calc(env(safe-area-inset-top, 0px) + 70px);
  left:50%;
  width:min(430px, calc(100vw - 24px));
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto 24px;
  align-items:center;
  gap:10px;
  padding:10px 10px 10px 12px;
  border:1px solid rgba(201,163,89,.38);
  border-left:4px solid var(--gold);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface) 94%,#000 6%);
  color:var(--ink);
  box-shadow:0 12px 30px rgba(0,0,0,.30);
  cursor:pointer;
  animation:autoPendingIn .18s ease-out;
}
.auto-pending-open-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(201,163,89,.12);
  border:1px solid rgba(201,163,89,.30);
  color:var(--gold-text);
  font-size:16px;
  font-weight:800;
}
.auto-pending-open-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.auto-pending-open-copy b{
  color:var(--ink);
  font-size:12.5px;
  font-weight:700;
}
.auto-pending-open-copy span{
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.auto-pending-open-action{
  color:var(--gold-text);
  font-size:11.5px;
  font-weight:700;
  white-space:nowrap;
}
.auto-pending-open-close{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--ink-soft);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.auto-pending-open-close:hover{ background:var(--surface-2); color:var(--ink); }
.auto-pending-open-banner:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
@keyframes autoPendingIn{
  from{ opacity:0; transform:translate(-50%,-8px); }
  to{ opacity:1; transform:translate(-50%,0); }
}
@media(max-width:390px){
  .auto-pending-open-banner{
    top:calc(env(safe-area-inset-top, 0px) + 62px);
    grid-template-columns:32px minmax(0,1fr) 22px;
    gap:8px;
    padding:9px 9px 9px 10px;
  }
  .auto-pending-open-action{ display:none; }
  .auto-pending-open-icon{ width:29px; height:29px; border-radius:9px; }
}


/* ===== v77.63 · saldo disponível após investimentos ===== */
.ledger-available-note{
  margin-top:12px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(92,153,214,.22);
  border-radius:9px;
  background:rgba(70,126,184,.10);
  color:#AFC9E5;
  font-size:11px;
  line-height:1.35;
}
.ledger-available-note b{
  color:#D8E8F7;
  font-family:var(--font-mono);
  font-size:11px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
@media(max-width:390px){
  .ledger-available-note{ align-items:flex-start; flex-direction:column; gap:4px; }
}


/* ===== v77.64 · cards de Ajustes respeitam o cabeçalho fixo ===== */
.settings-modern-panel{ scroll-margin-top:96px; }


/* ===== v77.68 · acumulado anual + patrimônio de investimentos ===== */
.year-accumulated-card{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.year-accumulated-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.year-accumulated-head > div{ display:flex; flex-direction:column; gap:2px; }
.year-accumulated-head small{ color:var(--gold-text); font-size:9.5px; font-weight:700; letter-spacing:.12em; }
.year-accumulated-head b{ color:var(--ink); font-size:13px; }
.year-accumulated-head > span{ color:var(--ink-soft); font-size:10.5px; }
.year-accumulated-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.year-accumulated-grid > div{
  min-width:0;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.year-accumulated-grid span{ display:block; color:var(--ink-soft); font-size:10.3px; line-height:1.3; }
.year-accumulated-grid b{ display:block; margin-top:4px; font-family:var(--font-mono); font-size:12px; white-space:nowrap; }
.year-accumulated-grid b.receita,
.year-accumulated-grid b.economia{ color:var(--receita-text); }
.year-accumulated-grid b.despesa{ color:var(--despesa-text); }
.year-accumulated-grid b.reembolso{ color:var(--gold-text); }
.year-accumulated-grid b.investimento{ color:var(--azul); }
.year-investment-portfolio{
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
  overflow:hidden;
}
.year-investment-portfolio summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
}
.year-investment-portfolio summary::-webkit-details-marker{ display:none; }
.year-investment-portfolio summary > span{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.year-investment-portfolio summary small{ color:var(--azul); font-size:9.2px; font-weight:700; letter-spacing:.08em; }
.year-investment-portfolio summary b{ color:var(--ink); font-size:11.5px; }
.year-investment-portfolio summary strong{ color:var(--azul); font-family:var(--font-mono); font-size:12.5px; white-space:nowrap; }
.year-investment-portfolio-body{ padding:0 11px 10px; border-top:1px solid color-mix(in srgb,var(--azul) 16%,var(--line)); }
.year-investment-account{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--surface-2); }
.year-investment-account:last-of-type{ border-bottom:0; }
.year-investment-account span{ color:var(--ink-soft); font-size:10.8px; min-width:0; overflow-wrap:anywhere; }
.year-investment-account b{ color:var(--azul); font-family:var(--font-mono); font-size:11.5px; white-space:nowrap; }
.year-investment-empty{ padding:8px 0; color:var(--ink-soft); font-size:10.8px; }
.year-investment-portfolio-body p{ margin:8px 0 0; color:var(--ink-soft); font-size:9.8px; line-height:1.4; }
.account-editor-fields{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.account-editor-field input[data-investimento-saldo]{ padding:8px 9px !important; font-size:11.5px !important; font-family:var(--font-mono); }
@media(max-width:390px){
  .year-accumulated-grid{ grid-template-columns:1fr 1fr; gap:5px; }
  .year-accumulated-grid > div{ padding:7px 8px; }
  .year-accumulated-grid b{ font-size:11.5px; }
  .account-editor-fields{ grid-template-columns:1fr; }
}


/* ===== v77.69 · saldo-base de investimentos ===== */
.investment-base-field small{
  display:block;
  margin-top:6px;
  color:var(--ink-soft);
  font-size:10.2px;
  line-height:1.4;
}
.year-investment-portfolio summary{ background:var(--surface-2); }
.year-investment-portfolio-body{ background:var(--surface-2); }


/* ===== v77.70 · base mensal informada dos investimentos ===== */
.investment-base-field > span{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.investment-base-source{
  display:inline-flex; align-items:center; padding:2px 7px; border-radius:999px;
  font-size:9.5px; font-style:normal; font-weight:700; letter-spacing:.02em;
}
.investment-base-source.auto{ background:var(--surface-2); color:var(--ink-soft); border:1px solid var(--line); }
.investment-base-source.manual{ background:var(--azul-bg); color:var(--azul); border:1px solid color-mix(in srgb,var(--azul) 28%,var(--line)); }


/* ===== v77.71 · saldo inicial em linha própria + acumulado sincronizado ===== */
.investment-base-field{
  grid-column:1 / -1;
  width:100%;
}
.investment-base-field > span{
  width:100%;
}
.investment-base-field input[data-investimento-saldo]{
  width:100%;
  max-width:210px;
}
.investment-base-field small{
  width:100%;
  max-width:none;
  line-height:1.5;
}
@media(max-width:390px){
  .investment-base-field input[data-investimento-saldo]{ max-width:none; }
}


/* ===== v77.72 · guia rápido atualizado ===== */
/* Mantém o modal estável mesmo em telas baixas, sem revelar o app durante a navegação. */
.guia-step{
  overflow-y:auto;
  scrollbar-width:none;
}
.guia-step::-webkit-scrollbar{ display:none; }
.guia-texto b{ font-weight:600; }
@media(max-height:700px){
  .guia-sheet{ padding-top:18px !important; padding-bottom:16px !important; }
  .guia-icone{ margin-top:4px; margin-bottom:12px; width:66px; height:66px; }
  .guia-sheet .guia-logo-box{ height:80px !important; }
  .guia-texto{ line-height:1.5; margin-bottom:10px; }
  .guia-pontos{ margin:12px 0 10px; }
}


/* ===== v77.74 · Resumo mais clean ===== */
/* A Visão rápida ganha o mesmo comportamento de ocultar/mostrar das demais seções. */
.quick-month-title-group{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.quick-month-title-group > div{ min-width:0; }
.quick-month-eye{
  margin-top:1px;
  flex:0 0 18px;
  color:var(--ink-soft);
}
.quick-section-collapsed .section-title-row{
  margin:12px 0 4px;
}
.quick-section-collapsed .section-title{
  color:var(--ink-soft);
}

/* Mantém o Resumo do orçamento intacto e deixa apenas os detalhes mais enxutos. */
.orcamento-card-compact .orcamento-detalhes{
  padding-top:2px;
  padding-left:0;
  margin-left:0;
  border-left:0;
}
.orcamento-card-compact .orcamento-detalhes > .orcamento-item{
  padding:7px 0 6px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent);
}
.orcamento-card-compact .orcamento-detalhes > .orcamento-item:last-child{
  border-bottom:0;
}
.orcamento-card-compact .orcamento-item-head{
  gap:1px;
  margin-bottom:4px;
}
.orcamento-card-compact .orcamento-category-title{
  gap:5px;
  font-size:12.5px;
  line-height:1.15;
}
.orcamento-card-compact .orcamento-category-title .legend-chevron{
  width:11px !important;
  height:11px !important;
}
.orcamento-card-compact .orcamento-mini-resumo{
  gap:5px;
  margin-top:2px;
}
.orcamento-card-compact .orcamento-mini-resumo > span{
  gap:0;
}
.orcamento-card-compact .orcamento-mini-resumo small{
  font-size:9.5px;
  line-height:1.05;
}
.orcamento-card-compact .orcamento-mini-resumo > span > span{
  margin-top:1px;
  font-size:10.8px;
  line-height:1.08;
  font-weight:500 !important;
  font-variant-numeric:tabular-nums;
}
.orcamento-card-compact .orcamento-detalhes > .orcamento-item > .orcamento-bar-track{
  height:4px;
}
.orcamento-card-compact .orcamento-sub-detalhe{
  margin-top:3px;
  padding:2px 0 0 10px;
  border-left:1px solid color-mix(in srgb,var(--line) 62%,transparent);
}
.orcamento-card-compact .orcamento-item-nested{
  padding:5px 0 4px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 38%,transparent);
}
.orcamento-card-compact .orcamento-item-nested:last-child{
  border-bottom:0;
}
.orcamento-card-compact .orcamento-sub-head{
  margin-bottom:3px;
  gap:1px;
}
.orcamento-card-compact .orcamento-sub-head > span:first-child{
  font-size:11.3px;
  line-height:1.15;
  font-weight:500;
  color:var(--ink-soft);
}
.orcamento-card-compact .orcamento-mini-resumo-sub{
  margin-top:1px;
}
.orcamento-card-compact .orcamento-mini-resumo-sub small{
  font-size:9px;
}
.orcamento-card-compact .orcamento-mini-resumo-sub > span > span{
  font-size:10.2px;
}
.orcamento-card-compact .orcamento-sub-bar{
  height:3px;
  opacity:.9;
}

@media(max-width:390px){
  .orcamento-card-compact .orcamento-mini-resumo{ gap:3px; }
  .orcamento-card-compact .orcamento-mini-resumo small{ font-size:9px; }
  .orcamento-card-compact .orcamento-mini-resumo > span > span{ font-size:10.2px; }
  .orcamento-card-compact .orcamento-sub-head > span:first-child{ font-size:11px; }
  .orcamento-card-compact .orcamento-mini-resumo-sub > span > span{ font-size:9.8px; }
}


.quick-month-card-collapsed{
  padding:14px 16px 13px;
}
.quick-month-head-collapsed{
  margin-bottom:0;
  align-items:center;
}
.quick-month-card-collapsed .quick-month-title-group{
  align-items:center;
}
.quick-month-card-collapsed .quick-month-kicker{
  margin-bottom:1px;
}
.quick-month-card-collapsed .quick-month-head h2{
  font-size:17px;
}
@media(max-width:390px){
  .quick-month-card-collapsed{ padding:13px 14px 12px; }
  .quick-month-card-collapsed .quick-month-head h2{ font-size:16px; }
}


/* ===== v77.76 · hierarquia visual do orçamento ===== */
/* O resumo ocupa toda a largura; categorias entram um nível e subcategorias mais um. */
.orcamento-card-compact .orcamento-detalhes{
  margin-left:8px;
  margin-right:6px;
}
.orcamento-card-compact .orcamento-sub-detalhe{
  margin-left:8px;
  padding-left:9px;
}
@media(max-width:390px){
  .orcamento-card-compact .orcamento-detalhes{
    margin-left:6px;
    margin-right:4px;
  }
  .orcamento-card-compact .orcamento-sub-detalhe{
    margin-left:6px;
    padding-left:8px;
  }
}


/* ===== v77.85 · Manual e Política abertos dentro do próprio YAKO ===== */
body.doc-interno-aberto{ overflow:hidden !important; }
.doc-interno-overlay{
  position:fixed; inset:0; z-index:10000;
  background:var(--paper); color:var(--ink);
  display:flex; flex-direction:column;
}
.doc-interno-shell{ min-height:0; height:100%; display:flex; flex-direction:column; }
.doc-interno-header{
  min-height:58px; padding:calc(8px + env(safe-area-inset-top)) 12px 8px;
  display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:8px;
  background:var(--surface); border-bottom:1px solid var(--line); box-shadow:0 2px 12px rgba(0,0,0,.08);
  position:relative; z-index:2;
}
.doc-interno-voltar{
  width:38px; height:38px; border-radius:999px; border:1px solid var(--line);
  background:var(--surface-2); color:var(--ink); font-size:24px; line-height:1; cursor:pointer;
}
.doc-interno-heading{ min-width:0; display:flex; flex-direction:column; gap:1px; }
.doc-interno-heading b{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.doc-interno-heading small{ font-size:10.5px; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.doc-interno-pagina{ font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); white-space:nowrap; }
.doc-interno-scroll{ flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.manual-interno-lista{ width:min(100%, 1040px); margin:0 auto; padding:12px 10px calc(24px + env(safe-area-inset-bottom)); }
.manual-interno-pagina{ margin:0 0 14px; background:#fff; border:1px solid rgba(20,34,56,.12); border-radius:8px; overflow:hidden; box-shadow:0 3px 14px rgba(20,34,56,.10); }
.manual-interno-pagina img{ display:block; width:100%; height:auto; background:#fff; }
.privacy-interno-overlay .doc-interno-scroll{ padding:16px 12px calc(28px + env(safe-area-inset-bottom)); }
.privacy-internal-card{ max-width:820px; margin:0 auto; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:var(--shadow); }
.privacy-internal-logo{ display:block; width:min(190px,60%); height:auto; margin:0 0 20px; }
.privacy-internal-card h1{ font-size:28px; margin:0 0 6px; }
.privacy-internal-date{ color:var(--ink-soft); font-size:12px; margin-top:0; }
.privacy-internal-card h2{ margin:24px 0 7px; font-size:17px; }
.privacy-internal-card p{ line-height:1.62; font-size:14px; }
@media(max-width:520px){
  .manual-interno-lista{ padding:8px 0 calc(18px + env(safe-area-inset-bottom)); }
  .manual-interno-pagina{ border-left:0; border-right:0; border-radius:0; margin-bottom:9px; box-shadow:none; }
  .doc-interno-header{ grid-template-columns:38px minmax(0,1fr) auto; padding-left:8px; padding-right:8px; }
  .doc-interno-voltar{ width:34px; height:34px; font-size:21px; }
  .privacy-interno-overlay .doc-interno-scroll{ padding:10px 8px calc(20px + env(safe-area-inset-bottom)); }
  .privacy-internal-card{ border-radius:14px; padding:18px 16px; }
}

/* ===== v77.86 · Política de Privacidade com fundo branco ===== */
.privacy-interno-overlay{
  --ink:#142238;
  --ink-soft:#667085;
  --paper:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F5F6F8;
  --line:#DFE3E8;
  --shadow:0 4px 18px rgba(20,34,56,.08);
  background:#FFFFFF !important;
  color:#142238 !important;
}
.privacy-interno-overlay .doc-interno-header{
  background:#FFFFFF !important;
  color:#142238 !important;
  border-bottom-color:#DFE3E8 !important;
}
.privacy-interno-overlay .doc-interno-scroll{
  background:#FFFFFF !important;
}
.privacy-interno-overlay .privacy-internal-card{
  background:#FFFFFF !important;
  color:#142238 !important;
  border-color:#E3E6EA !important;
}
.privacy-interno-overlay .privacy-internal-card h1,
.privacy-interno-overlay .privacy-internal-card h2,
.privacy-interno-overlay .privacy-internal-card p{
  color:#142238;
}
.privacy-interno-overlay .privacy-internal-date,
.privacy-interno-overlay .doc-interno-heading small,
.privacy-interno-overlay .doc-interno-pagina{
  color:#667085 !important;
}
.privacy-interno-overlay .doc-interno-voltar{
  background:#F5F6F8 !important;
  color:#142238 !important;
  border-color:#DFE3E8 !important;
}

/* ===== v77.92 · visual plano sem sombras nos cards ===== */
:root{
  --card-shadow-soft:none;
  --card-shadow:none;
  --card-shadow-strong:none;
}
html[data-tema="escuro"]{
  --card-shadow-soft:none;
  --card-shadow:none;
  --card-shadow-strong:none;
}

/* Cards principais e estruturais ficam totalmente planos. */
.ledger-card,
.quick-month-card,
.card,
.settings-modern-panel,
.plano-resumo-lista,
.accounts-group,
.privacy-internal-card,
.plano-kpi,
.economia-kpis > div,
.year-summary-item,
.year-detail-grid > div,
.quick-month-simple-item,
.auto-pending-item,
.settings-link-card,
.accounts-intro,
.new-account-inline,
.deficit-coverage-grid > div,
.quick-month-flow,
.quick-month-result,
.theme-cards button{
  box-shadow:none !important;
}

/* Mantém apenas as faixas semânticas internas, que não são sombras decorativas. */
.quick-month-revenue{
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--receita) 70%,transparent) !important;
}
.quick-month-result.positive{
  box-shadow:inset 3px 0 0 var(--receita) !important;
}
.quick-month-result.negative{
  box-shadow:inset 3px 0 0 var(--despesa) !important;
}

/* ===== v77.88 · acabamento final: saldo liso + busca minimalista ===== */
/* Remove o recorte serrilhado do cartão de saldo e preserva a borda arredondada. */
.ledger-card::after{
  display:none !important;
  content:none !important;
}

/* A busca fica alinhada aos botões laterais e com visual mais leve. */
.filter-search-row{
  gap:8px;
  align-items:center;
}
.filter-search-row #filtro-texto{
  height:44px;
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--line) 88%, transparent);
  background:var(--surface);
  color:var(--ink);
  box-shadow:none !important;
  outline:none;
  font-size:14px;
  line-height:1;
}
.filter-search-row #filtro-texto::placeholder{
  color:color-mix(in srgb, var(--ink-soft) 78%, transparent);
  opacity:1;
}
.filter-search-row #filtro-texto:focus{
  border-color:color-mix(in srgb, var(--gold) 72%, var(--line));
  box-shadow:none !important;
}
.filter-search-row .icon-btn{
  width:44px;
  height:44px;
  flex:0 0 44px;
  box-shadow:none !important;
  border-color:color-mix(in srgb, var(--line) 88%, transparent);
}
.filter-search-row .filter-clear-btn{
  flex:0 0 44px;
}

/* O bloco sticky funciona apenas como apoio de navegação, sem parecer outro card. */
.lancamentos-search-sticky{
  border-bottom:none;
  box-shadow:none;
}

/* ===== v77.89 · serrilhado refinado no card de saldo ===== */
/* Mantém a assinatura visual do YAKO, mas com recorte menor e mais discreto. */
.ledger-card::after{
  display:block !important;
  content:"" !important;
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:9px;
  pointer-events:none;
  background:radial-gradient(circle at 6px 9px, var(--paper) 5px, transparent 5.5px) 0 0 / 12px 9px repeat-x;
  z-index:2;
  opacity:.96;
}

/* v77.92 · leitura e demais superfícies também sem sombra decorativa */
.manual-interno-pagina,
.privacy-internal-card{ box-shadow:none !important; }


/* ===== v77.95 · destaque dos três resultados do Totais do mês ===== */
.totals-row.totals-key-result{
  padding-top:11px;
  padding-bottom:10px;
  font-size:14px;
  font-weight:700;
}
.totals-row.totals-key-result span{
  color:var(--ink);
  font-weight:700;
}
.totals-row.totals-key-result b{
  font-size:14.5px;
  font-weight:700;
}
.totals-row.totals-key-accumulated{
  margin-top:4px;
}
.totals-row.totals-final-result{
  margin-top:6px;
  padding-top:12px;
  padding-bottom:11px;
  border-top:1px solid color-mix(in srgb,var(--gold) 58%,var(--line));
  border-bottom:none;
  font-size:14.5px;
}
.totals-row.totals-final-result span,
.totals-row.totals-final-result b{
  font-weight:800;
}
.totals-row.totals-final-result.is-positive span{
  color:var(--receita-text);
}
.totals-row.totals-final-result.is-deficit span{
  color:var(--despesa-text);
}


/* ===== v77.96 · molduras sutis nos saldos principais ===== */
.totals-row.totals-key-result{
  margin:7px 0 8px;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));
  border-radius:11px;
  background:color-mix(in srgb,var(--gold) 3%,var(--surface));
}
.totals-row.totals-key-accumulated{
  margin-top:8px;
  border-color:color-mix(in srgb,var(--gold) 40%,var(--line));
  background:color-mix(in srgb,var(--gold) 4.5%,var(--surface));
}
.totals-row.totals-final-result{
  margin-top:9px;
  padding:11px 11px;
  border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));
  border-radius:11px;
  background:color-mix(in srgb,var(--gold) 5%,var(--surface));
}
.totals-row.totals-final-result.is-positive{
  border-color:color-mix(in srgb,var(--receita-text) 34%,var(--line));
  background:color-mix(in srgb,var(--receita-text) 5%,var(--surface));
}
.totals-row.totals-final-result.is-deficit{
  border-color:color-mix(in srgb,var(--despesa-text) 42%,var(--line));
  background:color-mix(in srgb,var(--despesa-text) 5%,var(--surface));
}
html[data-tema="escuro"] .totals-row.totals-key-result{
  background:color-mix(in srgb,var(--gold) 4%,var(--surface));
}
html[data-tema="escuro"] .totals-row.totals-final-result.is-positive{
  background:color-mix(in srgb,var(--receita-text) 6%,var(--surface));
}
html[data-tema="escuro"] .totals-row.totals-final-result.is-deficit{
  background:color-mix(in srgb,var(--despesa-text) 6%,var(--surface));
}

/* ===== v77.98 · Resumo executivo sem Visão rápida ===== */
.ledger-executive{
  padding:22px 20px 24px;
}
.ledger-executive .ledger-card-top{
  margin-bottom:10px;
}
.ledger-executive .ledger-value{
  margin-top:7px;
  font-size:40px;
}
.ledger-executive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:22px;
  padding-top:15px;
  border-top:1px solid var(--ledger-line);
}
.ledger-executive-grid.is-closed{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ledger-executive-item{
  min-width:0;
  padding:0 12px;
  color:var(--ledger-soft);
}
.ledger-executive-item:first-child{
  padding-left:0;
}
.ledger-executive-item:last-child{
  padding-right:0;
}
.ledger-executive-item + .ledger-executive-item{
  border-left:1px solid color-mix(in srgb,var(--ledger-line) 78%,transparent);
}
.ledger-executive-item span{
  display:block;
  min-height:30px;
  font-size:11.5px;
  line-height:1.25;
}
.ledger-executive-item b{
  display:block;
  margin-top:5px;
  font-family:var(--font-mono);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  color:var(--ledger-ink);
}
.ledger-executive-item.forecast.positive b,
.ledger-executive-item.free.positive b{
  color:var(--receita-text);
}
.ledger-executive-item.forecast.negative b,
.ledger-executive-item.free.negative b{
  color:var(--despesa-text);
}
.ledger-executive-item.investment b{
  color:var(--azul);
}
.ledger-executive-item.free span{
  font-weight:700;
  color:var(--ledger-ink);
}
.ledger-executive-item.free b{
  font-size:15px;
}
@media(max-width:390px){
  .ledger-executive{ padding:20px 17px 22px; }
  .ledger-executive .ledger-value{ font-size:36px; }
  .ledger-executive-grid{ margin-top:19px; padding-top:13px; }
  .ledger-executive-item{ padding:0 8px; }
  .ledger-executive-item span{ min-height:31px; font-size:10.5px; }
  .ledger-executive-item b{ font-size:12.4px; }
  .ledger-executive-item.free b{ font-size:13px; }
}

/* ===== v77.98 · detalhe mensal e acumulado mais objetivos ===== */
.year-detail-grid b.investimento{ color:var(--azul); }
.year-detail-grid-objective .year-detail-result,
.year-accumulated-grid-objective .year-accumulated-result{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--receita-text) 42%,var(--line));
  background:color-mix(in srgb,var(--receita-text) 4%,var(--surface-2));
}
.year-detail-grid-objective .year-detail-result.negative,
.year-accumulated-grid-objective .year-accumulated-result.negative{
  border-color:color-mix(in srgb,var(--despesa-text) 45%,var(--line));
  background:color-mix(in srgb,var(--despesa-text) 4%,var(--surface-2));
}
.year-detail-grid-objective .year-detail-result span,
.year-accumulated-grid-objective .year-accumulated-result span{
  color:var(--ink);
  font-size:11px;
  font-weight:700;
}
.year-detail-grid-objective .year-detail-result b,
.year-accumulated-grid-objective .year-accumulated-result b{
  margin-top:0;
  font-size:13px;
}

/* ===== v77.99 · despesas incorporadas ao card executivo de saldo ===== */
.ledger-executive-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--ledger-line);
  color:var(--ledger-soft);
  font-size:12px;
}
.ledger-executive-line span{
  font-weight:600;
}
.ledger-executive-line b{
  font-family:var(--font-mono);
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  color:var(--ledger-ink);
}
.ledger-forecast-line.positive b{ color:var(--receita-text); }
.ledger-forecast-line.negative b{ color:var(--despesa-text); }

.ledger-expense-block{
  margin-top:17px;
  padding-top:14px;
  border-top:1px solid var(--ledger-line);
}
.ledger-expense-title{
  margin-bottom:7px;
  color:var(--ledger-ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ledger-expense-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:31px;
  padding:5px 0;
  color:var(--ledger-soft);
  font-size:12px;
}
.ledger-expense-row b{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  color:var(--ledger-ink);
}
.ledger-expense-result{
  margin-top:6px;
  padding:9px 10px;
  border:1px solid color-mix(in srgb,var(--ledger-line) 92%,transparent);
  border-radius:10px;
  color:var(--ledger-ink);
  font-weight:700;
}
.ledger-expense-result.positive{
  border-color:color-mix(in srgb,var(--receita-text) 30%,var(--ledger-line));
  background:color-mix(in srgb,var(--receita-text) 5%,transparent);
}
.ledger-expense-result.positive b{ color:var(--receita-text); }
.ledger-expense-result.negative{
  border-color:color-mix(in srgb,var(--despesa-text) 32%,var(--ledger-line));
  background:color-mix(in srgb,var(--despesa-text) 5%,transparent);
}
.ledger-expense-result.negative b{ color:var(--despesa-text); }
.ledger-expense-result.neutral{
  color:var(--ledger-soft);
}
.ledger-expense-result.neutral b{ color:var(--ledger-soft); }

.ledger-investment-line{
  margin-top:18px;
}
.ledger-investment-line b{ color:var(--azul); }
.ledger-investment-line.negative b{ color:var(--gold-text); }

.ledger-free-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding:12px 13px;
  border:1px solid color-mix(in srgb,var(--receita-text) 36%,var(--ledger-line));
  border-radius:12px;
  background:color-mix(in srgb,var(--receita-text) 5%,transparent);
  color:var(--ledger-ink);
}
.ledger-free-result span{
  font-size:12px;
  font-weight:800;
}
.ledger-free-result b{
  font-family:var(--font-mono);
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
  color:var(--receita-text);
}
.ledger-free-result.negative{
  border-color:color-mix(in srgb,var(--despesa-text) 40%,var(--ledger-line));
  background:color-mix(in srgb,var(--despesa-text) 6%,transparent);
}
.ledger-free-result.negative b{ color:var(--despesa-text); }

@media(max-width:390px){
  .ledger-executive-line{ margin-top:16px; padding-top:12px; }
  .ledger-expense-block{ margin-top:15px; padding-top:12px; }
  .ledger-expense-row{ min-height:29px; font-size:11.5px; }
  .ledger-expense-row b{ font-size:12.3px; }
  .ledger-expense-result{ padding:8px 9px; }
  .ledger-free-result{ padding:11px 10px; }
  .ledger-free-result b{ font-size:13.5px; }
}

/* ===== v78.01 · acesso rápido ao detalhamento do Ainda previsto ===== */
.ledger-expense-link{
  width:100%;
  appearance:none;
  border:0;
  background:transparent;
  text-align:left;
  font:inherit;
  color:var(--ledger-soft);
  cursor:pointer;
  border-radius:8px;
  transition:background .15s ease;
}
.ledger-expense-link:hover,
.ledger-expense-link:focus-visible{
  background:color-mix(in srgb,var(--ledger-ink) 4%,transparent);
  outline:none;
}
.ledger-expense-link-value{
  display:flex;
  align-items:center;
  gap:7px;
  justify-self:end;
}
.ledger-expense-link-value i{
  color:var(--ledger-soft);
  font-style:normal;
  font-size:19px;
  line-height:1;
  transform:translateY(-1px);
}

.forecast-sheet-header{ align-items:flex-start; }
.forecast-sheet-header h2{ margin:0; font-size:19px; }
.forecast-sheet-header p{ margin:3px 0 0; color:var(--ink-soft); font-size:12px; }
.forecast-sheet-summary{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:var(--surface);
}
.forecast-sheet-summary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
  font-size:12.5px;
}
.forecast-sheet-summary-row:last-child{ border-bottom:0; }
.forecast-sheet-summary-row span{ color:var(--ink-soft); }
.forecast-sheet-summary-row span small{
  display:block;
  margin-top:2px;
  font-size:10.5px;
  line-height:1.35;
  color:var(--ink-soft);
  opacity:.82;
}
.forecast-sheet-summary-row b{
  font-family:var(--font-mono);
  font-size:13px;
  white-space:nowrap;
  color:var(--ink);
}
.forecast-sheet-summary-total{
  background:color-mix(in srgb,var(--azul) 5%,var(--surface));
  font-weight:700;
}
.forecast-sheet-summary-total span,
.forecast-sheet-summary-total b{ color:var(--ink); }
.forecast-sheet-section-title{
  margin:18px 2px 8px;
  color:var(--ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.forecast-sheet-categories{ display:grid; gap:7px; }
.forecast-sheet-category{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  overflow:hidden;
}
.forecast-sheet-category summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:45px;
  padding:9px 11px;
  cursor:pointer;
  color:var(--ink);
  font-size:12.5px;
  font-weight:650;
}
.forecast-sheet-category summary::-webkit-details-marker{ display:none; }
.forecast-sheet-category-value{
  display:flex;
  align-items:center;
  gap:7px;
}
.forecast-sheet-category-value b{
  font-family:var(--font-mono);
  font-size:12.5px;
  white-space:nowrap;
}
.forecast-sheet-category-value i{
  color:var(--ink-soft);
  font-style:normal;
  font-size:18px;
  line-height:1;
  transition:transform .15s ease;
}
.forecast-sheet-category[open] .forecast-sheet-category-value i{ transform:rotate(90deg); }
.forecast-sheet-category-body{
  border-top:1px solid var(--line);
  padding:4px 11px 7px;
}
.forecast-sheet-entry{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:39px;
  padding:6px 0;
  border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  font-size:11.5px;
}
.forecast-sheet-entry:last-child{ border-bottom:0; }
.forecast-sheet-entry span{ color:var(--ink); min-width:0; }
.forecast-sheet-entry span small{
  display:block;
  margin-top:2px;
  color:var(--ink-soft);
  font-size:10px;
}
.forecast-sheet-entry b{
  font-family:var(--font-mono);
  white-space:nowrap;
  font-size:11.8px;
  color:var(--ink);
}
.forecast-sheet-entry b.negative{ color:var(--despesa-text); }
.forecast-sheet-entry b.positive{ color:var(--receita-text); }
.forecast-sheet-reserve span{ color:var(--ink-soft); }
.forecast-sheet-empty,
.forecast-sheet-empty-card{
  margin:0;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.45;
}
.forecast-sheet-empty-card{
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}

/* ===== v78.02 · detalhamento de despesas dentro do card de saldo ===== */
.ledger-expense-toggle.open .ledger-expense-link-value i{
  transform:rotate(90deg) translateX(1px);
}
.ledger-inline-panel[hidden]{ display:none !important; }
.ledger-inline-panel{
  margin:2px 0 8px;
  padding:7px 9px 9px;
  border-left:1px solid color-mix(in srgb,var(--ledger-line) 88%,transparent);
  border-right:1px solid color-mix(in srgb,var(--ledger-line) 88%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--ledger-line) 88%,transparent);
  border-radius:0 0 10px 10px;
  background:color-mix(in srgb,var(--ledger-ink) 2.5%,transparent);
}
.ledger-inline-caption{
  margin:1px 2px 6px;
  color:var(--ledger-soft);
  font-size:9.8px;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ledger-inline-group,
.ledger-inline-category,
.ledger-inline-subcategory{
  border-top:1px solid color-mix(in srgb,var(--ledger-line) 72%,transparent);
}
.ledger-inline-group:first-of-type,
.ledger-inline-category:first-child,
.ledger-inline-subcategory:first-child{
  border-top:0;
}
.ledger-inline-group > summary,
.ledger-inline-category > summary,
.ledger-inline-subcategory > summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:32px;
  padding:5px 2px;
  cursor:pointer;
  color:var(--ledger-ink);
  font-size:10.8px;
  font-weight:650;
}
.ledger-inline-group > summary::-webkit-details-marker,
.ledger-inline-category > summary::-webkit-details-marker,
.ledger-inline-subcategory > summary::-webkit-details-marker{ display:none; }
.ledger-inline-group > summary:hover,
.ledger-inline-category > summary:hover,
.ledger-inline-subcategory > summary:hover{
  background:color-mix(in srgb,var(--ledger-ink) 3%,transparent);
}
.ledger-inline-summary-value{
  display:flex;
  align-items:center;
  gap:5px;
  justify-self:end;
}
.ledger-inline-summary-value b,
.ledger-inline-leaf b,
.ledger-inline-composition b{
  font-family:var(--font-mono);
  font-size:10.8px;
  font-weight:650;
  white-space:nowrap;
  color:var(--ledger-ink);
}
.ledger-inline-summary-value b.positive,
.ledger-inline-leaf b.positive,
.ledger-inline-composition b.positive{ color:var(--receita-text); }
.ledger-inline-summary-value i{
  color:var(--ledger-soft);
  font-style:normal;
  font-size:16px;
  line-height:1;
  transition:transform .15s ease;
}
.ledger-inline-group[open] > summary .ledger-inline-summary-value i,
.ledger-inline-category[open] > summary .ledger-inline-summary-value i,
.ledger-inline-subcategory[open] > summary .ledger-inline-summary-value i{
  transform:rotate(90deg);
}
.ledger-inline-group-body,
.ledger-inline-category-body,
.ledger-inline-subcategory-body{
  padding:0 0 5px 10px;
}
.ledger-inline-category-body{
  border-left:1px solid color-mix(in srgb,var(--ledger-line) 68%,transparent);
  margin-left:3px;
  padding-left:9px;
}
.ledger-inline-subcategory-body{
  border-left:1px dashed color-mix(in srgb,var(--ledger-line) 70%,transparent);
  margin-left:3px;
  padding-left:9px;
}
.ledger-inline-subs{
  margin-top:3px;
  border-top:1px dashed color-mix(in srgb,var(--ledger-line) 66%,transparent);
}
.ledger-inline-leaf,
.ledger-inline-composition{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:28px;
  padding:4px 2px;
  color:var(--ledger-soft);
  font-size:10.4px;
}
.ledger-inline-composition.subdued{
  opacity:.82;
}
.ledger-inline-empty{
  margin:5px 2px 6px;
  color:var(--ledger-soft);
  font-size:10.2px;
  line-height:1.4;
}
@media(max-width:390px){
  .ledger-inline-panel{ padding:6px 7px 8px; }
  .ledger-inline-group > summary,
  .ledger-inline-category > summary,
  .ledger-inline-subcategory > summary{ font-size:10.2px; gap:7px; }
  .ledger-inline-summary-value b,
  .ledger-inline-leaf b,
  .ledger-inline-composition b{ font-size:10.2px; }
  .ledger-inline-leaf,
  .ledger-inline-composition{ font-size:9.9px; }
}
.ledger-inline-composition span small{
  display:block;
  margin-top:2px;
  color:var(--ledger-soft);
  font-size:9px;
  font-weight:500;
  line-height:1.3;
  opacity:.82;
}


/* ===== v78.03 · fluxo Receita → Despesa → Saldo + identidade de cores ===== */
.ledger-executive .ledger-value{ color:var(--receita-text); }
.ledger-executive .ledger-value.negative{ color:var(--despesa-text); }

.ledger-revenue-block{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--ledger-line);
}
.ledger-revenue-realized b{ color:var(--receita-text); }
.ledger-revenue-forecast b{
  color:color-mix(in srgb,var(--receita-text) 72%,var(--ledger-soft));
}

.ledger-budget-row > b{
  color:var(--gold-text);
}
.ledger-orcado-label{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}
.ledger-budget-status{
  display:inline-flex;
  align-items:center;
  min-height:19px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid var(--ledger-line);
  font-size:9.3px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
}
.ledger-budget-status.positive{
  color:var(--receita-text);
  border-color:color-mix(in srgb,var(--receita-text) 30%,var(--ledger-line));
  background:color-mix(in srgb,var(--receita-text) 5%,transparent);
}
.ledger-budget-status.negative{
  color:var(--despesa-text);
  border-color:color-mix(in srgb,var(--despesa-text) 32%,var(--ledger-line));
  background:color-mix(in srgb,var(--despesa-text) 5%,transparent);
}
.ledger-budget-status.forecast-warning{
  color:var(--gold-text);
  border-color:color-mix(in srgb,var(--gold) 42%,var(--ledger-line));
  background:color-mix(in srgb,var(--gold) 9%,transparent);
}
.ledger-budget-status.neutral{ color:var(--ledger-soft); }

.ledger-expense-realized b,
.ledger-expense-realized .ledger-expense-link-value b{ color:var(--despesa-text); }
.ledger-expense-forecast b,
.ledger-expense-forecast .ledger-expense-link-value b{
  color:var(--gold-text);
}

/* Os detalhes são todos componentes de despesa; reembolsos/valores negativos mantêm a classe positive. */
.ledger-inline-summary-value b,
.ledger-inline-leaf b,
.ledger-inline-composition b{ color:var(--despesa-text); }
.ledger-inline-summary-value b.positive,
.ledger-inline-leaf b.positive,
.ledger-inline-composition b.positive{ color:var(--receita-text); }

.ledger-projected-balance b{
  color:var(--receita-text) !important;
}
.ledger-projected-balance.negative b{ color:var(--despesa-text) !important; }

.ledger-investment-line b{ color:var(--azul); }
.ledger-investment-line.negative b{ color:var(--azul); }

@media(max-width:390px){
  .ledger-revenue-block{ margin-top:15px; padding-top:12px; }
  .ledger-budget-status{ font-size:8.8px; padding:2px 6px; }
}


/* ===== v78.04 · semântica de previsão do orçamento ===== */
.orcamento-resumo-valores b.previsao-estouro,
.orcamento-mini-resumo .previsao-estouro{ color:var(--gold-text); }
.orcamento-resumo-valores b.economia,
.orcamento-mini-resumo .economia{ color:var(--receita-text); }

/* ===== v78.05 · totais e padronização do card executivo ===== */
.ledger-summary-row{
  min-height:36px;
  padding-top:6px;
  padding-bottom:6px;
}
.ledger-budget-row.ledger-summary-row{
  align-items:center;
}
.ledger-section-total{
  margin-top:4px;
  padding-top:9px;
  border-top:1px solid color-mix(in srgb,var(--ledger-line) 88%,transparent);
}
.ledger-section-total span{
  color:var(--ledger-ink);
  font-weight:800;
}
.ledger-revenue-total b{ color:var(--receita-text); }
.ledger-expense-total b{ color:var(--despesa-text); }
.ledger-executive-subtitle{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--ledger-line);
  color:var(--ledger-ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ledger-executive-subtitle + .ledger-executive-line{
  margin-top:6px;
  padding-top:0;
  border-top:0;
}
.ledger-executive-subtitle + .ledger-executive-line span{
  color:var(--ledger-soft);
  font-weight:650;
}
@media(max-width:390px){
  .ledger-summary-row{ min-height:34px; }
  .ledger-executive-subtitle{ margin-top:16px; padding-top:12px; }
}

/* ===== v78.06 · refinamento tipográfico do card executivo ===== */
.ledger-executive .ledger-budget-row,
.ledger-executive .ledger-expense-toggle,
.ledger-executive .ledger-expense-forecast.ledger-summary-row{
  min-height:40px;
}

/* Realizado e Ainda previsto compartilham exatamente a mesma tipografia. */
.ledger-executive .ledger-row-label,
.ledger-executive .ledger-orcado-label > .ledger-row-label{
  color:var(--ledger-soft);
  font-family:var(--font-sans);
  font-size:15.5px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
}

.ledger-orcado-label{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  min-width:0;
}

/* O status passa para uma segunda linha, deixando a linha principal mais limpa. */
.ledger-budget-status{
  margin:0;
  min-height:18px;
  padding:2px 7px;
  font-size:9px;
  line-height:1.15;
}

.ledger-budget-row > b,
.ledger-expense-link-value b,
.ledger-expense-forecast.ledger-summary-row > b{
  align-self:center;
}

/* Fechamentos das duas contas principais. */
.ledger-section-total{
  margin-top:7px;
  padding-top:10px;
  min-height:34px;
  border-top:1px solid color-mix(in srgb,var(--ledger-line) 84%,transparent);
}
.ledger-section-total span{
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.01em;
}
.ledger-section-total b{
  font-size:13.5px;
  font-weight:800;
}

/* Saldo previsto e investimento líquido seguem a linguagem dos títulos de seção. */
.ledger-executive-subtitle{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ledger-executive-subtitle + .ledger-executive-line{
  min-height:32px;
}

@media(max-width:390px){
  .ledger-executive .ledger-row-label,
  .ledger-executive .ledger-orcado-label > .ledger-row-label{
    font-size:14.5px;
  }
  .ledger-executive .ledger-budget-row,
  .ledger-executive .ledger-expense-toggle,
  .ledger-executive .ledger-expense-forecast.ledger-summary-row{
    min-height:38px;
  }
}

/* ===== v78.07 · card executivo mais compacto ===== */
.ledger-executive .ledger-value{
  margin-bottom:0;
}

/* aproxima os blocos principais */
.ledger-revenue-block{
  margin-top:12px;
  padding-top:10px;
}
.ledger-expense-block{
  margin-top:11px;
  padding-top:10px;
}
.ledger-expense-title{
  margin-bottom:4px;
}

/* linhas principais: mais baixas, mantendo leitura confortável */
.ledger-summary-row{
  min-height:30px;
  padding-top:3px;
  padding-bottom:3px;
}
.ledger-executive .ledger-budget-row,
.ledger-executive .ledger-expense-toggle,
.ledger-executive .ledger-expense-forecast.ledger-summary-row{
  min-height:32px;
}

/* status do orçamento permanece legível, mas ocupa menos altura */
.ledger-orcado-label{
  gap:3px;
}
.ledger-budget-status{
  min-height:16px;
  padding:1px 6px;
  font-size:8.7px;
  line-height:1.1;
}

/* totais fecham os blocos sem criar um grande intervalo */
.ledger-section-total{
  margin-top:3px;
  padding-top:6px;
  padding-bottom:2px;
  min-height:29px;
}

/* títulos inferiores mais próximos dos seus números */
.ledger-executive-subtitle{
  margin-top:11px;
  padding-top:9px;
}
.ledger-executive-subtitle + .ledger-executive-line{
  margin-top:2px;
  min-height:27px;
  padding-top:0;
}

/* reduz o intervalo antes do resultado final */
.ledger-free-result{
  margin-top:7px;
  padding-top:10px;
  padding-bottom:10px;
}

@media(max-width:390px){
  .ledger-revenue-block{
    margin-top:10px;
    padding-top:8px;
  }
  .ledger-expense-block{
    margin-top:9px;
    padding-top:8px;
  }
  .ledger-summary-row{
    min-height:28px;
    padding-top:2px;
    padding-bottom:2px;
  }
  .ledger-executive .ledger-budget-row,
  .ledger-executive .ledger-expense-toggle,
  .ledger-executive .ledger-expense-forecast.ledger-summary-row{
    min-height:30px;
  }
  .ledger-executive-subtitle{
    margin-top:9px;
    padding-top:8px;
  }
  .ledger-executive-subtitle + .ledger-executive-line{
    min-height:25px;
  }
  .ledger-free-result{
    margin-top:6px;
    padding-top:9px;
    padding-bottom:9px;
  }
}

/* ===== v78.09 · orientação de contas sem caixa de destaque ===== */
.accounts-intro{
  margin:10px 2px 12px;
  padding:0;
  gap:8px;
  align-items:flex-start;
  background:transparent !important;
  border:0 !important;
  border-radius:0;
  box-shadow:none !important;
}
.accounts-intro-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  border:0 !important;
  border-radius:0;
  background:transparent !important;
  color:var(--ink-soft);
  font-size:13px;
}
.accounts-intro div{ gap:2px; }
.accounts-intro b{
  font-size:11.8px;
  font-weight:650;
  color:var(--ink);
}
.accounts-intro span:not(.accounts-intro-icon){
  font-size:10.5px;
  line-height:1.4;
  color:var(--ink-soft);
}

/* ===== v78.10 · backup manual com pasta escolhida ===== */
.backup-storage-card{
  margin:10px 0 2px;
  padding:12px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.backup-storage-head{
  margin-bottom:10px;
}
.backup-folder-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.backup-folder-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.backup-folder-copy small,
.backup-history-grid small{
  color:var(--ink-soft);
  font-size:10px;
  line-height:1.25;
}
.backup-folder-copy b{
  color:var(--ink);
  font-size:12.5px;
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.backup-history-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 14px;
  padding:10px 0 9px;
}
.backup-history-grid > div{
  min-width:0;
  display:grid;
  gap:2px;
}
.backup-history-grid b{
  color:var(--ink);
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.backup-history-wide{ grid-column:1 / -1; }
.backup-now-btn{
  width:100%;
  margin-top:2px;
}
.backup-folder-note{
  margin:7px 0 0;
  color:var(--ink-soft);
  font-size:10px;
  line-height:1.4;
}
@media(max-width:390px){
  .backup-storage-card{ padding:10px; }
  .backup-folder-row{ gap:8px; }
  .backup-folder-copy b{ font-size:12px; }
  .backup-history-grid{ gap:7px 10px; }
}


/* ===== v78.11 · manter salvamento e compartilhamento do backup ===== */
.backup-action-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:2px;
}
.backup-action-grid .backup-now-btn,
.backup-action-grid .backup-share-btn{
  width:100%;
  margin-top:0;
}
@media(max-width:390px){
  .backup-action-grid{ gap:7px; }
  .backup-action-grid .btn{ padding-left:8px; padding-right:8px; font-size:11px; }
}

/* ===== v78.14 · títulos dentro dos cards + estados recolhidos do Resumo ===== */
.resumo-section-card{
  padding:0;
  overflow:hidden;
  margin-top:14px;
  margin-bottom:12px;
}
.resumo-section-card-head{
  min-height:52px;
  display:flex;
  align-items:center;
  padding:12px 16px;
}
.resumo-section-card .ledger-card-title-row{
  min-width:0;
}
.resumo-section-card .ledger-label{
  color:var(--ink-soft);
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
}
.resumo-section-card-body{
  padding:14px 16px 16px;
  border-top:1px solid var(--line);
}
.resumo-section-card.title-only .resumo-section-card-head{
  min-height:50px;
}
.resumo-section-card.graph-only .resumo-section-card-body{
  padding-top:10px;
  padding-bottom:12px;
}

/* Despesas por categoria recolhido: mantém apenas o donut. */
.resumo-section-despesas.is-collapsed .category-chart-legend{
  display:none !important;
}
.resumo-section-despesas.is-collapsed .category-chart-layout{
  gap:0;
}
.resumo-section-despesas.is-collapsed .category-donut-wrap{
  padding:0;
  border-bottom:0;
}
.resumo-section-despesas.is-collapsed .donut-chart-2d{
  width:122px;
  height:122px;
}

/* Evolução financeira recolhida: título + gráfico, sem KPIs, legenda e detalhamentos. */
.resumo-section-movimento.is-collapsed .year-summary-grid,
.resumo-section-movimento.is-collapsed .year-chart-legend,
.resumo-section-movimento.is-collapsed .year-month-detail,
.resumo-section-movimento.is-collapsed .year-accumulated-card{
  display:none !important;
}
.resumo-section-movimento.is-collapsed .year-chart-wrap{
  margin:0;
}
.resumo-section-movimento.is-collapsed .year-chart{
  min-width:320px;
}

@media(max-width:390px){
  .resumo-section-card{ margin-top:12px; }
  .resumo-section-card-head{ min-height:48px; padding:10px 13px; }
  .resumo-section-card-body{ padding:11px 13px 13px; }
  .resumo-section-despesas.is-collapsed .donut-chart-2d{ width:112px; height:112px; }
}

/* ===== v78.16 · melhor contraste da dica Repetir gastos fixos ===== */
.fixed-expense-tip{
  border-color:color-mix(in srgb,var(--gold) 58%,var(--line));
  background:color-mix(in srgb,var(--gold-bg) 82%,var(--surface));
}
.fixed-expense-tip b{
  color:var(--ink);
  font-weight:750;
}
.fixed-expense-tip span:not(.fixed-expense-tip-arrow){
  color:var(--ink);
  opacity:.92;
  font-weight:500;
}
.fixed-expense-tip button{
  color:var(--ink);
  opacity:.82;
}
html[data-tema="escuro"] .fixed-expense-tip{
  background:color-mix(in srgb,var(--gold-bg) 74%,var(--surface-2));
  border-color:color-mix(in srgb,var(--gold) 68%,var(--line));
}
html[data-tema="escuro"] .fixed-expense-tip-arrow{
  background:color-mix(in srgb,var(--gold-bg) 74%,var(--surface-2));
  border-left-color:color-mix(in srgb,var(--gold) 68%,var(--line));
  border-top-color:color-mix(in srgb,var(--gold) 68%,var(--line));
}
html[data-tema="escuro"] .fixed-expense-tip b,
html[data-tema="escuro"] .fixed-expense-tip span:not(.fixed-expense-tip-arrow),
html[data-tema="escuro"] .fixed-expense-tip button{
  color:#F4F7FC;
}


/* ===== v78.20 · lançamento compacto, seleção direta e estabilidade do orçamento ===== */
.sheet.entry-sheet-compact{
  max-height:96vh;
  padding:13px 14px calc(13px + env(safe-area-inset-bottom));
  scroll-padding-top:12px;
  scroll-padding-bottom:66px;
}
.entry-sheet-compact .sheet-header{ margin-bottom:7px; }
.entry-sheet-compact .sheet-header h2{ margin:0; line-height:1.15; }
.entry-sheet-compact .entry-type-toggle{ margin-bottom:8px; gap:6px; }
.entry-sheet-compact .entry-type-toggle button{ min-height:38px; padding:7px 5px; font-size:12.8px; }
.entry-sheet-compact .form-group{ margin-bottom:8px; }
.entry-sheet-compact .form-group label{ margin-bottom:4px; font-size:11.8px; }
.entry-sheet-compact input[type="text"],
.entry-sheet-compact input[type="number"],
.entry-sheet-compact input[type="date"]{
  min-height:40px;
  padding:8px 9px;
  font-size:13.5px;
}
.entry-sheet-compact .form-row{ gap:7px; }
.entry-sheet-compact #f-reembolso-group{ margin:-1px 0 6px; }
.entry-sheet-compact #f-reembolso-group .form-help{ display:none; }
.entry-sheet-compact .check-label{ gap:6px; font-size:12px; }
.entry-sheet-compact .check-label input{ width:16px; height:16px; flex-basis:16px; }
.entry-sheet-compact .form-row-parcelas-status{ margin-bottom:0; }
.entry-sheet-compact .parcelas-config-grid{ gap:6px; }
.entry-sheet-compact .form-row-parcelas-status > .form-group > label,
.entry-sheet-compact .form-row-parcelas-status .parcelas-config-grid label{
  min-height:0 !important;
  align-items:flex-start;
  font-size:10.8px;
  line-height:1.15;
}
.entry-sheet-compact .form-row-parcelas-status .parcelas-config-grid input,
.entry-sheet-compact .form-row-parcelas-status .status-toggle button{
  min-height:40px;
}
.entry-sheet-compact .status-toggle{ gap:5px; }
.entry-sheet-compact .status-toggle button{ padding:7px 5px; font-size:12px; }
.entry-sheet-compact #f-parcelas-help{ font-size:10.3px; margin-top:2px; line-height:1.2; }
.entry-sheet-compact .form-row-data-desc > .form-group:first-child{ flex:.82; }
.entry-sheet-compact .form-row-data-desc > .form-group:last-child{ flex:1.18; }
.entry-sheet-compact .form-row-data-desc input{ min-width:0; }
.entry-sheet-compact .form-row-categoria{ gap:7px; }
.entry-sheet-compact #f-repetir-group{ margin:1px 0 5px; }
.entry-sheet-compact .sheet-action-sticky{
  bottom:calc(-13px - env(safe-area-inset-bottom));
  margin:5px -14px calc(-13px - env(safe-area-inset-bottom));
  padding:8px 14px calc(9px + env(safe-area-inset-bottom));
}
.entry-sheet-compact .sheet-action-sticky .btn{ min-height:42px; padding:10px 12px; }
.entry-sheet-compact .transferencia-box{ margin:-1px 0 8px; padding:9px; }
.entry-sheet-compact .transferencia-help{ margin-top:5px; font-size:10.6px; line-height:1.25; }

/* O select real permanece como fonte de dados, mas a escolha acontece na lista
   dentro do próprio formulário, evitando o seletor de tela cheia do Android. */
.entry-inline-select-native{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  overflow:hidden !important;
}
.entry-inline-picker{ position:relative; width:100%; }
.entry-inline-picker-trigger{
  width:100%; min-height:40px; padding:8px 9px;
  display:grid; grid-template-columns:minmax(0,1fr) 16px; align-items:center; gap:5px;
  border:1px solid var(--line); border-radius:var(--radius-s);
  background:var(--surface); color:var(--ink); text-align:left;
  font-family:var(--font-body); font-size:13.2px; cursor:pointer;
}
.entry-inline-picker.open .entry-inline-picker-trigger{ border-color:var(--gold); }
.entry-inline-picker-value{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.entry-inline-picker-value.placeholder{ color:var(--ink-soft); }
.entry-inline-picker-chevron{ color:var(--gold-text); font-size:15px; text-align:center; transition:transform .15s ease; }
.entry-inline-picker.open .entry-inline-picker-chevron{ transform:rotate(180deg); }
.entry-inline-picker-list{
  margin-top:4px; max-height:154px; overflow:auto;
  border:1px solid var(--line); border-radius:10px;
  background:var(--surface); padding:4px;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
.entry-inline-picker-option{
  width:100%; min-height:34px; padding:7px 8px;
  border:0; border-radius:7px; background:transparent; color:var(--ink);
  font-family:var(--font-body); font-size:12.5px; text-align:left; cursor:pointer;
}
.entry-inline-picker-option + .entry-inline-picker-option{ margin-top:2px; }
.entry-inline-picker-option.selected{ background:var(--gold-bg); color:var(--gold-text); font-weight:600; }
.entry-inline-picker-option:active{ background:var(--surface-2); }

/* No modo retrato o guia A4 paisagem serve como visão geral. Um toque amplia a
   página dentro do próprio leitor, sem abrir outro aplicativo. */
.guia-primeiros-passos-overlay .guia-leitura-dica{
  width:min(100% - 20px, 760px); margin:9px auto 0; padding:8px 10px;
  border:1px solid var(--line); border-radius:10px; background:var(--surface-2);
  color:var(--ink-soft); font-size:11px; line-height:1.35; text-align:center;
}
.guia-primeiros-passos-overlay .manual-interno-pagina{ cursor:zoom-in; transition:width .18s ease, box-shadow .18s ease; }
.guia-primeiros-passos-overlay .manual-interno-pagina.zoomed{
  width:165%; max-width:none; cursor:zoom-out;
  box-shadow:0 4px 18px rgba(20,34,56,.14);
}
@media(orientation:landscape) and (max-width:900px){
  .guia-primeiros-passos-overlay .guia-leitura-dica{ display:none; }
  .guia-primeiros-passos-overlay .manual-interno-pagina.zoomed{ width:100%; }
}
@media(max-width:360px){
  .sheet.entry-sheet-compact{ padding-left:11px; padding-right:11px; }
  .entry-sheet-compact .form-row{ gap:5px; }
  .entry-sheet-compact .form-row-data-desc > .form-group:first-child{ flex:.9; }
  .entry-sheet-compact .form-row-data-desc > .form-group:last-child{ flex:1.1; }
  .entry-inline-picker-trigger{ padding-left:7px; padding-right:7px; font-size:12.4px; }
  .entry-sheet-compact .sheet-action-sticky{ margin-left:-11px; margin-right:-11px; padding-left:11px; padding-right:11px; }
}

/* ===== v78.21 · seletores flutuantes no Novo lançamento =====
   A lista fica fora do fluxo do formulário: sobrepõe os campos e não altera
   a altura/posição do modal ao abrir Conta, Categoria ou Subcategoria. */
.entry-inline-picker{ position:relative; width:100%; }
.entry-inline-picker-list.entry-inline-picker-floating{
  position:fixed;
  z-index:72;
  margin:0;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  padding:4px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
}
.entry-inline-picker-list.entry-inline-picker-floating[hidden]{ display:none !important; }
.entry-inline-picker.open .entry-inline-picker-trigger{
  position:relative;
  z-index:1;
}

/* ===== v1.03 · vibração da calculadora restaurada no lançamento ===== */

/* ===== v1.04 · seletores também em Contas e cartões ===== */

/* ===== v1.05 · transporte de saldo livre ===== */
.balance-carry-confirm .fixed-expense-confirm-icon{ font-size:20px; }
.balance-carry-confirm .fixed-expense-warning span{ display:block; margin-top:6px; }

/* ===== v1.06 · saldo transportado tratado como saldo inicial ===== */

.saldo-transportado-pill{color:var(--gold-text);border-color:color-mix(in srgb,var(--gold) 45%,var(--line));background:color-mix(in srgb,var(--gold) 9%,transparent);}

/* ===== v1.05 · segurança do acesso Android ===== */
.settings-modern-icon.seguranca{
  color:var(--azul);
  background:var(--azul-bg);
  border-color:color-mix(in srgb,var(--azul) 24%,var(--line));
}
.security-settings-block{
  padding-top:10px;
}
.security-timeout-block{
  margin-top:10px;
  padding-top:11px;
  border-top:1px solid var(--surface-2);
}
.security-timeout-block > .settings-text{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.security-timeout-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.security-timeout-options button{
  min-height:36px;
  padding:7px 6px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-family:var(--font-body);
  font-size:11.5px;
  cursor:pointer;
}
.security-timeout-options button.active{
  border-color:var(--azul);
  background:var(--azul-bg);
  color:var(--azul);
  font-weight:650;
}
.security-disabled .security-timeout-options{
  opacity:.55;
}
.security-disabled .security-timeout-options button{
  cursor:default;
}
.security-privacy-note{
  margin:10px 0 0;
  padding:9px 10px;
  border-radius:10px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:10.8px;
  line-height:1.45;
}
@media(max-width:430px){
  .security-timeout-options{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ===== v1.07 · central de relatórios e resumos recolhíveis ===== */
#totals-config{ display:none !important; }
.bottom-nav .nav-btn{ font-size:10.5px; }
.bottom-nav .nav-btn:nth-child(3) span{ max-width:74px; line-height:1.05; text-align:center; }
.reports-entry-button{
  width:100%; margin:10px 0 14px; padding:12px 14px; display:grid;
  grid-template-columns:36px minmax(0,1fr) 16px; gap:10px; align-items:center;
  color:var(--ink); background:linear-gradient(135deg,var(--surface),var(--surface-2));
  border:1px solid rgba(201,163,89,.4); border-radius:14px; text-align:left;
}
.reports-entry-icon{ width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--gold-bg);color:var(--gold-text);font-size:19px; }
.reports-entry-button b,.reports-entry-button small{ display:block; }
.reports-entry-button b{ font-size:13.5px; }.reports-entry-button small{margin-top:2px;color:var(--ink-soft);font-size:10.5px}.reports-entry-button i{font-style:normal;color:var(--gold-text);font-size:22px}
.means-spend-card{ margin-top:14px; }.means-spend-card .resumo-section-card-head>div small{display:block;margin-top:3px;color:var(--ink-soft);font-size:10.5px}
.means-spend-list{ display:grid;gap:12px; }.means-spend-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center}
.means-spend-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--azul-bg);color:var(--azul)}.means-spend-icon.cartao{background:var(--gold-bg);color:var(--gold-text)}
.means-spend-copy b,.means-spend-copy small{display:block}.means-spend-copy b{font-size:12px}.means-spend-copy small{font-size:9.8px;color:var(--ink-soft)}.means-spend-copy i{display:block;height:4px;margin-top:5px;border-radius:4px;background:var(--surface-2);overflow:hidden}.means-spend-copy em{display:block;height:100%;background:var(--gold);border-radius:4px}.means-spend-row strong{font-family:var(--font-mono);font-size:11.5px}
.report-empty-inline,.report-empty{padding:22px 10px;text-align:center;color:var(--ink-soft);font-size:12px}
.totals-compact-groups{display:grid;gap:8px}.totals-collapsible{border:1px solid var(--line);border-radius:12px;overflow:hidden}.totals-summary-line{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:8px;align-items:center;padding:12px;border:0;background:var(--surface-2);color:var(--ink);text-align:left}.totals-summary-line span{font-weight:650}.totals-summary-line span small{display:block;margin-top:2px;color:var(--ink-soft);font-size:9px;font-weight:400}.totals-summary-line b{font-family:var(--font-mono);font-size:12.5px}.totals-summary-line i{font-style:normal;color:var(--gold-text);transition:transform .15s}.totals-collapsible.open .totals-summary-line i{transform:rotate(180deg)}.totals-group-detail{padding:6px 12px 10px}.totals-group-detail[hidden]{display:none}
.ledger-collapse-head{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;gap:8px;align-items:center;padding:10px 0;border:0;background:transparent;color:var(--ledger-ink);text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:650}.ledger-collapse-head b{color:var(--ledger-ink);font-family:var(--font-mono);letter-spacing:0;font-size:12px}.ledger-collapse-head i{font-style:normal;color:var(--gold);transition:transform .15s}.ledger-collapse-head[aria-expanded="true"] i{transform:rotate(180deg)}.ledger-collapse-standalone{border-top:1px solid rgba(255,255,255,.14);margin-top:3px}.ledger-revenue-block,.ledger-expense-block{margin-top:9px}
.reports-page-intro,.report-detail-head{margin:12px 0 18px}.reports-page-intro>span,.report-detail-head>div>span{color:var(--gold-text);font-size:10px;font-weight:700;letter-spacing:.14em}.reports-page-intro h2,.report-detail-head h2{margin:3px 0 5px;font-family:var(--font-display);font-size:27px}.reports-page-intro p,.report-detail-head p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.4}.reports-grid{display:grid;gap:12px}.reports-grid>button{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:16px 14px;border:1px solid rgba(201,163,89,.32);border-radius:15px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:var(--shadow)}.reports-grid .report-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--gold-bg);color:var(--gold-text);font-style:normal;font-size:20px}.reports-grid b,.reports-grid small{display:block}.reports-grid b{font-size:14px}.reports-grid small{margin-top:4px;color:var(--ink-soft);font-size:10.5px;line-height:1.35}.reports-grid em{font-style:normal;color:var(--gold-text);font-size:22px}
.report-detail-head{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start}.report-back{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:27px;line-height:1}.report-detail-head h2{font-size:23px}.report-year-filter{display:grid;grid-template-columns:86px 1fr 1fr;gap:8px;margin:10px 0 14px}.report-year-filter.single{grid-template-columns:100px}.report-year-filter select{min-width:0}.report-paper{background:var(--surface);border:1px solid rgba(201,163,89,.3);border-radius:15px;padding:14px;box-shadow:var(--shadow)}.report-print-header{display:none}.report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}.report-kpis>div{padding:10px 8px;border-radius:10px;background:var(--surface-2)}.report-kpis small,.report-kpis b{display:block}.report-kpis small{color:var(--ink-soft);font-size:9px}.report-kpis b{margin-top:4px;font-family:var(--font-mono);font-size:11px}.report-group+ .report-group{margin-top:16px}.report-group-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:8px}.report-group-head span{font-size:8px;letter-spacing:.12em;color:var(--ink-soft)}.report-group-head h3{margin:2px 0 0;font-size:14px}.report-group-head>b{font-family:var(--font-mono);font-size:12px}.report-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.report-table{width:100%;border-collapse:collapse;min-width:390px;font-size:10.5px}.budget-report-table{min-width:720px}.report-table th,.report-table td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table th{background:var(--surface-2);color:var(--ink-soft);font-size:9px}.report-table tr:last-child td{border-bottom:0}.report-table .category-row td{font-weight:700}.report-table .subcategory-row td:first-child{padding-left:23px;color:var(--ink-soft)}.report-table .over-budget{background:color-mix(in srgb,var(--despesa-bg) 55%,transparent)}.report-table .negative{color:var(--despesa-text);font-weight:650}.report-table .positive{color:var(--receita-text)}.unplanned-badge{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:99px;background:var(--despesa-bg);color:var(--despesa-text);font-size:7px;text-transform:uppercase;letter-spacing:.05em}.report-note{margin:10px 2px 0;color:var(--ink-soft);font-size:9.5px;line-height:1.45}.report-issue{width:100%;margin-top:12px}
.evolution-chart,.finance-chart{height:190px;display:flex;align-items:stretch;gap:5px;padding:12px 4px 0;border-bottom:1px solid var(--line);margin-bottom:8px}.evolution-month,.finance-month{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.evolution-bars,.finance-month>div{width:100%;height:155px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.evolution-bars i,.finance-month i{display:block;width:38%;min-height:2px;border-radius:3px 3px 0 0}.evolution-bars .budget{background:var(--gold)}.evolution-bars .spent{background:var(--azul)}.evolution-bars .spent.over{background:var(--despesa-text)}.evolution-month>b,.finance-month>b{font-size:8px;color:var(--ink-soft)}.finance-month i{width:27%}.finance-month .income{background:var(--receita-text)}.finance-month .expense{background:var(--despesa-text)}.finance-month .saving{background:var(--gold)}.finance-month .saving.deficit{background:#8A6BAE}.report-legend{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 14px;color:var(--ink-soft);font-size:9px}.report-legend span{display:flex;align-items:center;gap:4px}.report-legend i{width:8px;height:8px;border-radius:2px}.report-legend .budget,.report-legend .saving{background:var(--gold)}.report-legend .spent{background:var(--azul)}.report-legend .income{background:var(--receita-text)}.report-legend .expense{background:var(--despesa-text)}
.theme-preview.sistema{background:linear-gradient(135deg,#f8f8f8 0 49%,#101827 51% 100%)}
@media(max-width:430px){.theme-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:390px){.report-year-filter{grid-template-columns:76px 1fr}.report-year-filter .entry-inline-picker:last-child{grid-column:1/-1}.report-kpis{grid-template-columns:1fr}.report-kpis>div{display:flex;justify-content:space-between;align-items:center}.bottom-nav .nav-btn{font-size:9.5px}.nav-icon{width:20px;height:20px}}
@media print{
  body{background:#fff!important;color:#111!important}.topbar,.bottom-nav,.fab,.no-print,.toast,.month-picker,.report-year-filter{display:none!important}.app-shell,.view-root{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.report-paper{box-shadow:none!important;border:0!important;background:#fff!important;color:#111!important;padding:0!important}.report-print-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c9a359;padding-bottom:10px;margin-bottom:14px}.report-print-header img{width:112px}.report-print-header div{text-align:right}.report-print-header b,.report-print-header span{display:block}.report-print-header span{font-size:10px;color:#555}.report-table-wrap{overflow:visible;border-color:#ccc}.report-table{min-width:0;font-size:9px}.report-table th{background:#eee!important;color:#333!important}.report-table td,.report-table th{border-color:#ddd!important}.report-kpis>div{background:#f2f2f2!important}.evolution-chart,.finance-chart{break-inside:avoid}.report-group{break-inside:avoid}}

/* ===== v1.08 · projeção mensal e relatórios hierárquicos ===== */
.resumo-section-card .ledger-label span,.resumo-section-card .ledger-label small{display:block}.resumo-section-card .ledger-label small{margin-top:3px;color:var(--ink-soft);font-size:9.5px;font-weight:450;letter-spacing:0;text-transform:none}
.ledger-collapse-head + .ledger-executive-line{margin-top:0!important;padding-top:1px!important;border-top:0!important;min-height:29px!important}.ledger-collapse-head + .ledger-executive-line span{color:var(--ledger-soft)}
.budget-gauge-card{margin:0 0 13px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.budget-gauge-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.budget-gauge-title span{color:var(--ink);font-size:11px;font-weight:700}.budget-gauge-title b{padding:3px 7px;border-radius:99px;font-size:8.5px;background:var(--receita-bg);color:var(--receita-text)}.budget-gauge-card.warning .budget-gauge-title b{background:var(--gold-bg);color:var(--gold-text)}.budget-gauge-card.danger .budget-gauge-title b{background:var(--despesa-bg);color:var(--despesa-text)}
.budget-gauge{display:block;width:min(100%,290px);height:auto;margin:3px auto -4px;overflow:visible}.budget-gauge path{fill:none;stroke-width:17;stroke-linecap:butt}.budget-gauge .gauge-track{stroke:var(--line)}.budget-gauge .gauge-safe{stroke:var(--receita-text);stroke-dasharray:70 60}.budget-gauge .gauge-warning{stroke:var(--gold);stroke-dasharray:30 100;stroke-dashoffset:-70}.budget-gauge .gauge-danger{stroke:var(--despesa-text);stroke-dasharray:30 100;stroke-dashoffset:-100}.budget-gauge text{fill:var(--ink-soft);font-family:var(--font-body);font-size:8px}.gauge-needle line{stroke:var(--ink);stroke-width:3.5;stroke-linecap:round}.gauge-needle circle{fill:var(--ink)}.gauge-realized-marker{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}
.budget-gauge-value{text-align:center;margin-top:-14px}.budget-gauge-value small,.budget-gauge-value b,.budget-gauge-value span{display:block}.budget-gauge-value small{font-size:8.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em}.budget-gauge-value b{font-family:var(--font-display);font-size:28px;line-height:1;color:var(--ink)}.budget-gauge-value span{margin-top:3px;font-family:var(--font-mono);font-size:9.5px;color:var(--ink-soft)}.budget-gauge-breakdown{display:grid;gap:5px;margin-top:12px}.budget-gauge-breakdown span{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:6px;align-items:center;color:var(--ink-soft);font-size:9.5px}.budget-gauge-breakdown i{width:7px;height:7px;border-radius:50%}.budget-gauge-breakdown i.realized{background:var(--receita-text)}.budget-gauge-breakdown i.forecast{background:var(--gold)}.budget-gauge-breakdown i.reserve{background:var(--azul)}.budget-gauge-breakdown b{font-family:var(--font-mono);font-size:9.5px;color:var(--ink)}.budget-gauge-card>p{margin:9px 0 0;color:var(--ink-soft);font-size:8.8px;line-height:1.4}.budget-gauge-empty{padding:14px;margin-bottom:12px;border:1px dashed var(--line);border-radius:12px;text-align:center}.budget-gauge-empty b,.budget-gauge-empty span{display:block}.budget-gauge-empty b{font-size:11px}.budget-gauge-empty span{margin-top:4px;color:var(--ink-soft);font-size:9.5px;line-height:1.4}
.report-tree-root,.report-tree-level{border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden}.report-tree-root>summary,.report-tree-level>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;gap:8px;align-items:center;padding:11px 12px;cursor:pointer}.report-tree-root>summary::-webkit-details-marker,.report-tree-level>summary::-webkit-details-marker{display:none}.report-tree-root>summary span,.report-tree-level>summary span{min-width:0}.report-tree-root>summary span>small,.report-tree-level>summary span>small{display:block;margin-top:2px;color:var(--ink-soft);font-size:8.8px;font-weight:400}.report-tree-root>summary>b,.report-tree-level>summary>strong{font-family:var(--font-mono);font-size:10.5px;white-space:nowrap}.report-tree-root>summary>i,.report-tree-level>summary>i{font-style:normal;color:var(--gold-text);transition:transform .15s}.report-tree-root[open]>summary>i,.report-tree-level[open]>summary>i{transform:rotate(180deg)}.report-tree-body{display:grid;gap:9px;padding:9px;border-top:1px solid var(--line)}.report-tree-children{display:grid;gap:6px;padding:7px 7px 8px 17px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.report-tree-category>summary{padding:9px 10px}.report-tree-subcategory>summary{padding:8px 9px}.report-tree-name{display:flex;align-items:center;gap:8px}.report-tree-name>em{flex:0 0 auto;width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--azul-bg);color:var(--azul);font-style:normal}.report-tree-name>em.cartao{background:var(--gold-bg);color:var(--gold-text)}.report-tree-name>em.investimento{background:var(--azul-bg);color:var(--azul)}
.report-launch-list{border-top:1px solid var(--line)}.report-launch-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 9px}.report-launch-row+.report-launch-row{border-top:1px solid var(--line)}.report-launch-date{color:var(--ink-soft);font-family:var(--font-mono);font-size:8.5px}.report-launch-copy b,.report-launch-copy small{display:block}.report-launch-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px}.report-launch-copy small{margin-top:2px;color:var(--ink-soft);font-size:8px}.report-launch-row>strong{font-family:var(--font-mono);font-size:9.5px}.report-launch-row>strong.negative{color:var(--despesa-text)}.report-launch-row>strong.positive{color:var(--receita-text)}
.budget-sticky-wrap{position:relative}.budget-hierarchy-table th:first-child,.budget-hierarchy-table td:first-child{position:sticky;left:0;z-index:2;min-width:220px;max-width:220px;background:var(--surface)}.budget-hierarchy-table th:first-child{z-index:4;background:var(--surface-2)}.budget-hierarchy-table .category-row td:first-child{background:color-mix(in srgb,var(--surface-2) 88%,var(--surface))}.budget-hierarchy-table .subcategory-row td:first-child{padding-left:18px;background:var(--surface)}.budget-hierarchy-table .launch-detail-row td:first-child{padding-left:27px;background:var(--surface)}.budget-row-toggle{width:100%;display:grid;grid-template-columns:13px minmax(0,1fr);gap:5px;align-items:center;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;font-weight:700}.budget-row-toggle i{font-style:normal;color:var(--gold-text);font-size:15px;transition:transform .15s}.budget-row-toggle[aria-expanded="true"] i{transform:rotate(90deg)}.budget-row-toggle em{font-style:normal}.budget-launch-label{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:center}.budget-launch-label>b{font-family:var(--font-mono);font-size:8px;color:var(--ink-soft)}.budget-launch-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.budget-launch-label small{display:block;margin-top:2px;color:var(--ink-soft);font-size:7.8px}.launch-detail-row td{font-size:8.7px;color:var(--ink-soft)}
@media(max-width:390px){.report-tree-children{padding-left:10px}.budget-hierarchy-table th:first-child,.budget-hierarchy-table td:first-child{min-width:185px;max-width:185px}.budget-gauge-title{display:block}.budget-gauge-title b{display:inline-block;margin-top:4px}}
@media print{.report-tree-root,.report-tree-level{break-inside:auto}.report-tree-root>summary,.report-tree-level>summary{padding:6px 8px}.report-tree-body,.report-tree-children{gap:3px;padding:4px 5px}.budget-hierarchy-table tr[hidden]{display:table-row!important}.budget-hierarchy-table th:first-child,.budget-hierarchy-table td:first-child{position:static;min-width:0;max-width:none}.budget-row-toggle i{display:none}.budget-gauge-card{break-inside:avoid;background:#f6f6f6!important}.budget-gauge text{fill:#333!important}}

/* ===== v1.09 · velocímetro mais compacto e projeção unificada ===== */
.budget-gauge-card{padding:10px 12px 9px}.budget-gauge{width:min(100%,225px);margin:-1px auto -9px}.budget-gauge path{stroke-width:22}.budget-gauge-value{margin-top:-17px}.budget-gauge-value b{font-size:25px}.budget-gauge-breakdown{margin-top:9px;gap:4px}.budget-gauge-card>p{margin-top:7px;font-size:8.2px}.budget-gauge-title span{font-size:10.5px}
.budget-reserve-row td{color:var(--gold-text)!important}.budget-reserve-row td:first-child{background:color-mix(in srgb,var(--gold-bg) 55%,var(--surface))!important}

/* ===== v1.05 pm18 · refinamentos de relatórios, orçamento e experiência premium ===== */
/* Plano de Contas: resumo compacto, em uma única linha e sempre visível abaixo do cabeçalho. */
.plano-resumo-kpis{
  position:sticky;
  top:calc(58px + env(safe-area-inset-top));
  z-index:14;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin:0 0 13px;
  padding:6px 0;
  background:var(--paper);
  box-shadow:0 8px 12px -12px rgba(20,34,56,.32);
}
.plano-kpi{
  min-height:58px;
  padding:7px 6px;
  border-radius:10px;
  box-shadow:none;
}
.plano-kpi small{
  margin-bottom:3px;
  font-size:8.5px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.plano-kpi b{
  font-size:clamp(9.5px,2.7vw,13px);
  line-height:1.1;
}
.plano-kpi span{
  margin-top:3px;
  font-size:7.8px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.plano-resumo-cat{scroll-margin-top:145px;}

/* Contas e cartões: imagens personalizadas escolhidas pelo usuário. */
.account-type-icon[data-account-logo]{cursor:pointer;}
.account-type-icon.account-custom-logo{
  overflow:hidden;
  padding:0;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:0 2px 7px rgba(20,34,56,.08);
}
.account-type-icon.account-custom-logo img,
.means-spend-icon.has-image img,
.report-tree-name>em.has-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:2px;
  box-sizing:border-box;
}
.means-spend-icon.has-image,
.report-tree-name>em.has-image{
  overflow:hidden;
  padding:0;
  border:1px solid var(--line);
  background:var(--surface);
}

/* Totais: Transpor saldo ao lado de Repetir gastos fixos. */
.balance-carry-header-btn{color:var(--azul);}
.fixed-expense-tip-arrow{right:148px;}
.balance-carry-tip-arrow{right:103px;}
@media(max-width:360px){
  .fixed-expense-tip-arrow{right:128px;}
  .balance-carry-tip-arrow{right:89px;}
}

/* Saldo recolhido: mantém a informação executiva mais importante. */
.ledger-collapsed-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:7px 20px 0;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  color:var(--ledger-ink);
}
.ledger-collapsed-result span{font-size:12px;font-weight:650;}
.ledger-collapsed-result b{font-family:var(--font-mono);font-size:15px;white-space:nowrap;}
.ledger-collapsed-result.positive{border-color:color-mix(in srgb,var(--receita) 52%,rgba(255,255,255,.18));}
.ledger-collapsed-result.positive b{color:var(--receita);}
.ledger-collapsed-result.negative{border-color:color-mix(in srgb,var(--despesa) 58%,rgba(255,255,255,.18));}
.ledger-collapsed-result.negative b{color:var(--despesa);}

/* Mesma altura e mesmo respiro nas quatro linhas executivas. */
.ledger-executive .ledger-revenue-block,
.ledger-executive .ledger-expense-block{
  margin-top:0;
  padding-top:0;
  border-top:1px solid rgba(255,255,255,.14);
}
.ledger-executive .ledger-collapse-head{
  min-height:46px;
  padding:13px 0;
}
.ledger-executive .ledger-collapse-standalone{
  margin-top:0;
  border-top:1px solid rgba(255,255,255,.14);
}

/* Orçamento mensal: realizado é despesa (vermelho), o que falta ocorrer é dourado. */
.budget-gauge-breakdown i.realized{background:var(--despesa-text);}
.budget-gauge-breakdown i.forecast{background:var(--gold);}
.budget-gauge-breakdown span.realized b{color:var(--despesa-text);}
.budget-gauge-breakdown span.forecast b{color:var(--gold-text);}
.gauge-realized-marker{
  fill:var(--despesa-text);
  stroke:var(--surface);
  stroke-width:3.2;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.28));
}
.resumo-section-orcamento.budget-preview .resumo-section-card-body{
  display:block!important;
  padding-top:10px;
  padding-bottom:12px;
}
.orcamento-resumo-preview{margin-top:8px;}
.orcamento-resumo-preview .orcamento-resumo-top{padding-bottom:0;}

/* Orçamento detalhado: primeira coluna menor, opaca e acima das colunas roláveis. */
.budget-hierarchy-table th:first-child,
.budget-hierarchy-table td:first-child{
  min-width:188px;
  width:188px;
  max-width:188px;
  position:sticky;
  left:0;
  z-index:6;
  background:var(--surface)!important;
  box-shadow:7px 0 9px -10px rgba(20,34,56,.65);
}
.budget-hierarchy-table th:first-child{
  z-index:9;
  background:var(--surface-2)!important;
}
.budget-hierarchy-table .category-row td,
.budget-hierarchy-table .category-row.over-budget td{
  background:var(--surface-2)!important;
}
.budget-hierarchy-table .category-row td:first-child{
  background:var(--surface-2)!important;
}
.budget-hierarchy-table .subcategory-row td:first-child,
.budget-hierarchy-table .launch-detail-row td:first-child{
  background:var(--surface)!important;
}
.budget-hierarchy-table .budget-reserve-row td:first-child{
  background:var(--surface)!important;
}
.budget-row-toggle span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.budget-row-toggle span em{vertical-align:middle;}
@media(max-width:390px){
  .budget-hierarchy-table th:first-child,
  .budget-hierarchy-table td:first-child{
    min-width:154px;
    width:154px;
    max-width:154px;
  }
  .budget-hierarchy-table .subcategory-row td:first-child{padding-left:13px;}
  .budget-hierarchy-table .launch-detail-row td:first-child{padding-left:18px;}
  .plano-resumo-kpis{gap:4px;}
  .plano-kpi{padding:6px 4px;min-height:55px;}
  .plano-kpi small{font-size:7.8px;}
  .plano-kpi span{font-size:7.1px;}
}
@media print{
  .budget-hierarchy-table th:first-child,
  .budget-hierarchy-table td:first-child{
    position:static;
    width:auto;
    min-width:0;
    max-width:none;
    box-shadow:none;
  }
}


/* ===== v1.05 pm19 · ajustes finos solicitados em revisão visual ===== */
/* Todos os avisos no mesmo padrão visual do banner de teste fechado do Google Play. */
.fixed-expense-tip,
.fechamento-previstos-aviso,
.economia-previsao-note,
.quick-month-resgate-note,
.ledger-available-note{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 26px;
  gap:8px;
  margin:10px 0 12px;
  padding:11px 12px 11px 14px;
  border-radius:var(--radius-s);
  background:rgba(201,163,89,.10);
  border:1px solid rgba(201,163,89,.28);
  border-left:4px solid var(--gold);
  color:#E6D5A3;
  font-size:12.2px;
  font-weight:500;
  line-height:1.45;
  text-align:left;
  box-shadow:none;
}
.fixed-expense-tip > div,
.fechamento-previstos-aviso > div,
.economia-previsao-note > div,
.quick-month-resgate-note > div,
.ledger-available-note > div{
  min-width:0;
}
.fixed-expense-tip b,
.fechamento-previstos-aviso b,
.economia-previsao-note b,
.quick-month-resgate-note b,
.ledger-available-note b{
  color:var(--gold);
  font-weight:700;
}
.fixed-expense-tip span:not(.fixed-expense-tip-arrow),
.fechamento-previstos-aviso span,
.economia-previsao-note span,
.quick-month-resgate-note span,
.ledger-available-note span{
  color:inherit;
  opacity:1;
  font-weight:500;
}
.fixed-expense-tip button,
.ledger-available-note button{
  width:26px;
  height:26px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  opacity:.82;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.fixed-expense-tip-arrow{
  position:absolute;
  top:-6px;
  width:11px;
  height:11px;
  background:rgba(201,163,89,.10);
  border-left:1px solid rgba(201,163,89,.28);
  border-top:1px solid rgba(201,163,89,.28);
  transform:rotate(45deg);
}
html[data-tema="escuro"] .fixed-expense-tip,
html[data-tema="escuro"] .fechamento-previstos-aviso,
html[data-tema="escuro"] .economia-previsao-note,
html[data-tema="escuro"] .quick-month-resgate-note,
html[data-tema="escuro"] .ledger-available-note{
  color:#F4F7FC;
}
html[data-tema="escuro"] .fixed-expense-tip-arrow{
  background:rgba(201,163,89,.10);
  border-left-color:rgba(201,163,89,.28);
  border-top-color:rgba(201,163,89,.28);
}

/* Velocímetro do orçamento com faixas mais largas e marcador real em azul. */
.budget-gauge{width:min(100%,236px);margin:-2px auto -10px;}
.budget-gauge path{stroke-width:28;}
.gauge-realized-marker{
  fill:var(--azul)!important;
  stroke:var(--surface);
  stroke-width:3.6;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.32));
}

/* Alinhamento executivo consistente entre os valores brancos e os demais. */
.ledger-collapse-head{
  grid-template-columns:minmax(0,1fr) minmax(92px,max-content) 14px;
}
.ledger-collapse-head b,
.ledger-expense-link-value b,
.orcamento-resumo-valores b{
  justify-self:end;
  text-align:right;
}
.ledger-collapse-head b{
  min-width:96px;
}

/* Contas e cartões: logos um pouco maiores, sem desproporção. */
.means-spend-row{grid-template-columns:35px minmax(0,1fr) auto;gap:10px;}
.means-spend-icon,
.report-tree-name>em{
  width:34px;
  height:34px;
  border-radius:10px;
}
.means-spend-copy b{font-size:12.6px;}
.means-spend-copy small{font-size:10px;}
.account-type-icon{
  width:36px;
  height:36px;
  border-radius:11px;
}
.account-type-icon svg{width:18px;height:18px;}

/* Orçamento detalhado: remover cinza das categorias e garantir cobertura opaca na rolagem. */
.budget-sticky-wrap{position:relative; isolation:isolate;}
.budget-hierarchy-table{border-collapse:separate; border-spacing:0;}
.budget-hierarchy-table th,
.budget-hierarchy-table td{background-clip:padding-box;}
.budget-hierarchy-table th:first-child,
.budget-hierarchy-table td:first-child{
  min-width:174px;
  width:174px;
  max-width:174px;
  position:sticky;
  left:0;
  z-index:12;
  background:var(--surface)!important;
  box-shadow:12px 0 14px -16px rgba(20,34,56,.88);
  overflow:hidden;
}
.budget-hierarchy-table th:first-child{
  z-index:18;
  background:var(--surface-2)!important;
}
.budget-hierarchy-table .category-row td,
.budget-hierarchy-table .category-row.over-budget td,
.budget-hierarchy-table .subcategory-row td,
.budget-hierarchy-table .launch-detail-row td,
.budget-hierarchy-table .budget-reserve-row td{
  background:var(--surface)!important;
}
.budget-hierarchy-table .category-row td{font-weight:700;}
.budget-hierarchy-table .over-budget td:not(:first-child){
  background:color-mix(in srgb,var(--despesa-bg) 44%,var(--surface))!important;
}
.budget-hierarchy-table td:first-child > *,
.budget-hierarchy-table th:first-child > *{
  position:relative;
  z-index:2;
}
.budget-row-toggle,
.budget-launch-label{
  max-width:100%;
}
.budget-row-toggle{
  background:inherit;
}
.budget-row-toggle span,
.budget-launch-label span{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:390px){
  .budget-hierarchy-table th:first-child,
  .budget-hierarchy-table td:first-child{
    min-width:162px;
    width:162px;
    max-width:162px;
  }
}


/* ===== v1.05 pm21 · ajuste visual do card Status do orçamento mensal ===== */
/* Texto no mesmo padrão dos demais cards e gráfico um pouco mais compacto. */
.budget-gauge-card{
  padding:11px 12px 10px;
}
.budget-gauge-title span{
  font-size:13px;
  font-weight:700;
}
.budget-gauge-title b{
  font-size:10.5px;
  padding:4px 9px;
}
.budget-gauge{
  width:min(100%,205px);
  margin:-4px auto -12px;
}
.budget-gauge path{
  stroke-width:26;
}
.budget-gauge-value{
  margin-top:-20px;
}
.budget-gauge-value small{
  font-size:10.5px;
  letter-spacing:.08em;
}
.budget-gauge-value b{
  font-size:24px;
}
.budget-gauge-value span{
  margin-top:4px;
  font-size:12px;
}
.budget-gauge-breakdown{
  margin-top:10px;
  gap:6px;
}
.budget-gauge-breakdown span{
  grid-template-columns:9px minmax(0,1fr) auto;
  gap:8px;
  font-size:12.5px;
}
.budget-gauge-breakdown i{
  width:8px;
  height:8px;
}
.budget-gauge-breakdown b{
  font-size:12.5px;
}
.budget-gauge-card > p{
  margin-top:8px;
  font-size:10.5px;
  line-height:1.45;
}
@media(max-width:390px){
  .budget-gauge-title span{font-size:12.4px;}
  .budget-gauge-title b{font-size:10px;}
  .budget-gauge{width:min(100%,196px);}
  .budget-gauge-value b{font-size:22px;}
  .budget-gauge-value span,
  .budget-gauge-breakdown span,
  .budget-gauge-breakdown b,
  .budget-gauge-card > p{font-size:11px;}
}

/* ===== v14 · padronização visual do status do orçamento ===== */
/* Faixas: azul (controle), verde (atenção) e vermelho (estouro). */
.budget-gauge .gauge-safe{stroke:var(--azul);}
.budget-gauge .gauge-warning{stroke:var(--receita-text);}
.budget-gauge .gauge-danger{stroke:var(--despesa-text);}

.budget-gauge-title b{
  background:color-mix(in srgb,var(--azul) 15%,var(--surface));
  color:var(--azul);
}
.budget-gauge-card.warning .budget-gauge-title b{
  background:var(--receita-bg);
  color:var(--receita-text);
}
.budget-gauge-card.danger .budget-gauge-title b{
  background:var(--despesa-bg);
  color:var(--despesa-text);
}

/* O realizado usa um ponteiro tracejado com contraste automático do tema.
   No tema Claro fica escuro; no Padrão/Escuro permanece claro. */
.gauge-realized-pointer line{
  stroke:var(--ink);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:5 5;
}

/* Abre espaço entre o ponteiro e o texto da projeção. */
.budget-gauge-value{margin-top:-11px;}

/* Todo o detalhamento de Ainda previsto mantém a identidade dourada. */
.ledger-inline-panel[data-ledger-panel="previsto"] .ledger-inline-summary-value b,
.ledger-inline-panel[data-ledger-panel="previsto"] .ledger-inline-leaf b,
.ledger-inline-panel[data-ledger-panel="previsto"] .ledger-inline-composition b{
  color:var(--gold-text)!important;
}
.forecast-sheet-summary b,
.forecast-sheet-category-value b,
.forecast-sheet-entry b{
  color:var(--gold-text)!important;
}

/* O gráfico usa o mesmo fundo do card que o contém. */
.budget-gauge-card{background:transparent;}

/* Títulos, valores e respiros seguem o mesmo padrão nos quatro blocos. */
.ledger-executive .ledger-collapse-head{
  min-height:44px;
  padding:11px 0;
  font-size:11px;
  font-weight:700;
}
.ledger-executive .ledger-collapse-head b{
  font-size:12.5px;
  font-weight:700;
}
.ledger-executive .ledger-summary-row{
  min-height:34px;
  padding-top:4px;
  padding-bottom:4px;
}
.ledger-executive .ledger-revenue-block .ledger-summary-row > span,
.ledger-executive .ledger-expense-block .ledger-row-label{
  font-size:14.5px;
  font-weight:500;
  line-height:1.25;
}
.ledger-static-head{
  grid-template-columns:minmax(0,1fr) minmax(92px,max-content);
}
.ledger-static-head.positive b{color:var(--receita-text);}
.ledger-static-head.negative b{color:var(--despesa-text);}
.ledger-investment-static b,
.ledger-investment-static.negative b{color:var(--azul);}


/* ===== v1.05 pm22 · orçamento detalhado sem faixas cinzas ===== */
/* Categoria no mesmo padrão visual da subcategoria, sem fundo cinza e sem transparência. */
.budget-hierarchy-table .category-row td,
.budget-hierarchy-table .category-row td:first-child,
.budget-hierarchy-table .category-row.over-budget td,
.budget-hierarchy-table .category-row.over-budget td:first-child,
.budget-hierarchy-table .subcategory-row td,
.budget-hierarchy-table .launch-detail-row td,
.budget-hierarchy-table .budget-reserve-row td{
  background:var(--surface)!important;
}
.budget-hierarchy-table .over-budget td:not(:first-child){
  background:var(--surface)!important;
}
.budget-hierarchy-table .category-row td:first-child,
.budget-hierarchy-table .subcategory-row td:first-child,
.budget-hierarchy-table .launch-detail-row td:first-child,
.budget-hierarchy-table .budget-reserve-row td:first-child{
  box-shadow:12px 0 14px -16px rgba(20,34,56,.88);
  background:var(--surface)!important;
}
.budget-hierarchy-table .category-row td{
  font-weight:700;
}


/* ===== v1.05 pm23 · cabeçalho e categorias opacos no Orçamento detalhado ===== */
/* Tons sólidos: eliminam qualquer transparência durante a rolagem horizontal. */
.budget-hierarchy-table thead th{
  background:#D5DAE0!important;
  color:#46515E;
}
.budget-hierarchy-table .category-row td,
.budget-hierarchy-table .category-row.over-budget td{
  background:#E5E8EC!important;
}
.budget-hierarchy-table thead th:first-child{
  background:#D5DAE0!important;
  z-index:22;
}
.budget-hierarchy-table .category-row td:first-child,
.budget-hierarchy-table .category-row.over-budget td:first-child{
  background:#E5E8EC!important;
  z-index:16;
}
html[data-tema="escuro"] .budget-hierarchy-table thead th{
  background:#344252!important;
  color:#DCE4EC;
}
html[data-tema="escuro"] .budget-hierarchy-table .category-row td,
html[data-tema="escuro"] .budget-hierarchy-table .category-row.over-budget td{
  background:#293746!important;
}
html[data-tema="escuro"] .budget-hierarchy-table thead th:first-child{
  background:#344252!important;
}
html[data-tema="escuro"] .budget-hierarchy-table .category-row td:first-child,
html[data-tema="escuro"] .budget-hierarchy-table .category-row.over-budget td:first-child{
  background:#293746!important;
}


/* ===== v1.05 pm24 · orçamento detalhado com azul opaco ===== */
/* Retoma a cor do app, mas sem transparência no cabeçalho e nas categorias. */
.budget-hierarchy-table thead th{
  background:#30445c !important;
  color:#EAF1FB !important;
}
.budget-hierarchy-table thead th:first-child{
  background:#30445c !important;
}
.budget-hierarchy-table .category-row td,
.budget-hierarchy-table .category-row.over-budget td{
  background:#243a54 !important;
  color:#F4F7FC !important;
}
.budget-hierarchy-table .category-row td:first-child,
.budget-hierarchy-table .category-row.over-budget td:first-child{
  background:#243a54 !important;
  color:#F4F7FC !important;
  box-shadow:12px 0 14px -16px rgba(8,16,28,.95);
}
.budget-hierarchy-table .category-row .budget-row-toggle,
.budget-hierarchy-table .category-row .budget-row-toggle em,
.budget-hierarchy-table .category-row .budget-row-toggle span,
.budget-hierarchy-table .category-row .budget-row-toggle i{
  color:inherit !important;
}
html[data-tema="claro"] .budget-hierarchy-table thead th,
html[data-tema="claro"] .budget-hierarchy-table thead th:first-child{
  background:#D7E0EA !important;
  color:#17314D !important;
}
html[data-tema="claro"] .budget-hierarchy-table .category-row td,
html[data-tema="claro"] .budget-hierarchy-table .category-row.over-budget td,
html[data-tema="claro"] .budget-hierarchy-table .category-row td:first-child,
html[data-tema="claro"] .budget-hierarchy-table .category-row.over-budget td:first-child{
  background:#E7EEF6 !important;
  color:#17314D !important;
}


/* ===== v1.05 pm25 · logos preenchendo toda a área ===== */
.account-type-icon.account-custom-logo img,
.means-spend-icon.has-image img,
.report-tree-name>em.has-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
  box-sizing:border-box;
}

/* ===== v1.05 pm27 · identidade automática de bancos e cartões ===== */
/* Contas usam miniatura quadrada; cartões usam proporção horizontal para preservar nitidez. */
.account-type-icon{
  width:40px;
  height:40px;
  border-radius:11px;
}
.account-modern-head{
  grid-template-columns:43px minmax(0,1fr) 18px;
}
.account-modern-head.account-modern-head-card{
  grid-template-columns:66px minmax(0,1fr) 18px;
}
.account-modern-head-card .account-type-icon.cartao{
  width:64px;
  height:40px;
  border-radius:9px;
}
.means-spend-row{
  grid-template-columns:42px minmax(0,1fr) auto;
}
.means-spend-row.means-spend-row-card{
  grid-template-columns:62px minmax(0,1fr) auto;
}
.means-spend-icon{
  width:40px;
  height:40px;
  border-radius:10px;
}
.means-spend-row-card .means-spend-icon.cartao{
  width:60px;
  height:38px;
  border-radius:8px;
}
.report-tree-name>em{
  width:38px;
  height:38px;
  border-radius:9px;
}
.report-tree-name>em.cartao.has-image{
  width:58px;
  height:36px;
  border-radius:8px;
}
.account-type-icon.account-custom-logo img,
.means-spend-icon.has-image img,
.report-tree-name>em.has-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
}
@media(max-width:390px){
  .account-modern-head.account-modern-head-card{grid-template-columns:62px minmax(0,1fr) 18px;}
  .account-modern-head-card .account-type-icon.cartao{width:60px;height:38px;}
  .means-spend-row.means-spend-row-card{grid-template-columns:58px minmax(0,1fr) auto;}
  .means-spend-row-card .means-spend-icon.cartao{width:56px;height:35px;}
}
.account-editor-actions{flex-wrap:wrap;justify-content:flex-end;}
.account-modern-item:has(.account-modern-head-card) .account-modern-editor{padding-left:70px;}
.account-type-icon.account-auto-logo{border-color:color-mix(in srgb,var(--azul) 20%,var(--line));}
@media(max-width:390px){
  .account-modern-item:has(.account-modern-head-card) .account-modern-editor{padding-left:64px;}
}

/* ===== v1.05 pm29 · exportação PDF do relatório por meio de pagamento ===== */
.report-pdf-toolbar{
  margin:0 0 13px;
  padding:12px;
  border:1px solid rgba(201,163,89,.30);
  border-radius:14px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.report-pdf-copy b,
.report-pdf-copy span{display:block;}
.report-pdf-copy b{font-size:13px;color:var(--ink);}
.report-pdf-copy span{margin-top:3px;font-size:10.5px;color:var(--ink-soft);}
.report-pdf-levels{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.report-pdf-levels button{
  min-width:0;
  padding:8px 5px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--ink);
  font:inherit;
  font-size:10.5px;
  font-weight:700;
  cursor:pointer;
}
.report-pdf-levels button small{
  display:block;
  margin-top:2px;
  color:var(--ink-soft);
  font-size:8.5px;
  font-weight:500;
}
.report-pdf-levels button.active{
  border-color:var(--gold);
  background:var(--gold-bg);
  color:var(--gold-text);
}
.report-pdf-levels button.active small{color:inherit;opacity:.82;}
.report-pdf-export{
  width:100%;
  margin-top:9px;
}

/* ===== v1.05 pm30 · correção da previsão de despesas no card Economia ===== */
/* Este aviso tem texto + valor (não botão de fechar), portanto o valor precisa de coluna própria. */
.economia-previsao-note{
  grid-template-columns:minmax(0,1fr) max-content !important;
  align-items:center;
  column-gap:14px;
}
.economia-previsao-note > span{
  min-width:0;
}
.economia-previsao-note > b{
  justify-self:end;
  min-width:max-content;
  white-space:nowrap;
  text-align:right;
}
@media(max-width:390px){
  .economia-previsao-note{
    column-gap:10px;
    padding-right:10px;
  }
  .economia-previsao-note > b{
    font-size:11.5px;
  }
}

/* ===== v1.05 pm31 · PDF fiel ao nível aberto na tela ===== */
.report-print-hint{
  margin:10px 2px 0;
  color:var(--ink-soft);
  font-size:10.5px;
  line-height:1.4;
  text-align:center;
}

@media print{
  html,body,
  .report-paper,
  .report-paper *{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  /* O orçamento deve respeitar o nível realmente aberto no aplicativo. */
  .budget-hierarchy-table tr[hidden]{
    display:none !important;
  }

  /* Em árvores recolhíveis, imprimir somente o que está aberto na tela. */
  details:not([open]) > .report-tree-body,
  details:not([open]) > .report-tree-children,
  details:not([open]) > .report-launch-list{
    display:none !important;
  }

  /* Mantém os gráficos exatamente visíveis no PDF. */
  .evolution-chart,
  .finance-chart{
    display:flex !important;
    height:190px !important;
    min-height:190px !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .evolution-bars,
  .finance-month>div{
    height:155px !important;
  }
  .evolution-bars i,
  .finance-month i,
  .report-legend i{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
    opacity:1 !important;
  }
  .evolution-bars .budget,
  .report-legend .budget,
  .report-legend .saving,
  .finance-month .saving{ background:#C9A359 !important; }
  .evolution-bars .spent,
  .report-legend .spent{ background:#3D79B9 !important; }
  .evolution-bars .spent.over,
  .finance-month .expense,
  .report-legend .expense{ background:#D9564A !important; }
  .finance-month .income,
  .report-legend .income{ background:#3C9A73 !important; }
  .finance-month .saving.deficit{ background:#8A6BAE !important; }

  /* Orçamento detalhado: largura aproveitada em A4 paisagem. */
  body.report-print-landscape .budget-report-table{
    width:100% !important;
    min-width:0 !important;
    table-layout:auto !important;
    font-size:8.2px !important;
  }
  body.report-print-landscape .budget-report-table th,
  body.report-print-landscape .budget-report-table td{
    padding:5px 6px !important;
  }
  body.report-print-landscape .budget-hierarchy-table th:first-child,
  body.report-print-landscape .budget-hierarchy-table td:first-child{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* ===== v1.05 pm32 · PDFs profissionais com nível de detalhe da tela ===== */


/* ===== v1.05 pm35 · imagens de bancos/cartões robustas no APK e Netlify ===== */
.account-type-icon.account-custom-logo,
.means-spend-icon.has-image,
.report-tree-name>em.has-image{
  position:relative;
  display:grid;
  place-items:center;
}
.account-image-fallback,
.account-type-icon.account-custom-logo img,
.means-spend-icon.has-image img,
.report-tree-name>em.has-image img{
  grid-area:1 / 1;
}
.account-image-fallback{
  z-index:0;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-size:16px;
  font-weight:700;
  color:var(--ink-soft);
  background:var(--surface-2);
}
.account-type-icon.account-custom-logo img,
.means-spend-icon.has-image img,
.report-tree-name>em.has-image img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
}
.account-image-failed .account-image-fallback{
  z-index:2;
}
.means-spend-icon.cartao .account-image-fallback,
.report-tree-name>em.cartao .account-image-fallback,
.account-type-icon.cartao .account-image-fallback{
  background:var(--gold-bg);
  color:var(--gold-text);
}
.account-type-icon.investimento .account-image-fallback,
.report-tree-name>em.investimento .account-image-fallback{
  background:var(--azul-bg);
  color:var(--azul);
}

/* ===== v15.6 · avisos, metas, aparência personalizada e perfil ===== */
.fechamento-previstos-aviso{
  display:block !important;
  grid-template-columns:none !important;
  min-height:0;
}
.fechamento-previstos-aviso > div{
  display:flex;
  align-items:flex-start;
  gap:4px 7px;
  min-width:0;
}
.fechamento-previstos-aviso > div > b{ flex:0 0 auto; }
.fechamento-previstos-aviso > div > span{
  flex:1 1 auto;
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
}
.ledger-final-label{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 7px;
  min-width:0;
}
.saldo-final-pendencia{
  display:inline-flex !important;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0;
  padding:2px 6px;
  border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);
  border-radius:999px;
  background:var(--gold-bg);
  color:var(--gold-text) !important;
  font-family:var(--font-sans);
  font-size:8.5px !important;
  font-weight:700 !important;
  font-style:normal;
  line-height:1.2;
  letter-spacing:0;
  text-transform:none;
  white-space:normal;
}
.totals-summary-line .saldo-final-pendencia{ margin-top:4px; }

.evolution-chart{
  display:block;
  width:100%;
  height:auto;
  padding:0;
  overflow:hidden;
}
.evolution-chart-svg{
  display:block;
  width:100%;
  height:auto;
  min-height:190px;
  overflow:visible;
}
.evolution-grid-line{ stroke:var(--line); stroke-width:1; opacity:.7; }
.evolution-spent-bar{ fill:var(--azul); }
.evolution-spent-bar.over{ fill:var(--despesa-text); }
.evolution-budget-line{
  fill:none;
  stroke:var(--gold);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.evolution-budget-point{ fill:var(--surface); stroke:var(--gold); stroke-width:2; }
.evolution-month-label{
  fill:var(--ink-soft);
  font-family:var(--font-sans);
  font-size:8px;
  font-weight:600;
}
.report-legend .budget-line-key{
  width:18px;
  height:0;
  border-top:2px solid var(--gold);
  border-radius:0;
  background:transparent;
}

.theme-preview.personalizado{
  background:linear-gradient(135deg,var(--custom-bg,#122842) 0 49%,var(--custom-card,#0C1E34) 51% 100%);
}

.topbar-inner{ padding-left:66px; padding-right:66px; }
.header-avatar{
  right:9px;
  width:46px;
  height:46px;
  border-width:2px;
}
.header-avatar svg{ width:23px; height:23px; }

@media(max-width:380px){
  .topbar-inner{ padding-left:56px; padding-right:56px; }
  .header-avatar{ right:6px; width:42px; height:42px; }
  .fechamento-previstos-aviso > div{ display:grid; gap:4px; }
}

@media print{
  .evolution-chart{
    display:block !important;
    height:auto !important;
    min-height:190px !important;
  }
  .evolution-chart-svg{ display:block !important; width:100% !important; min-height:190px !important; }
  .evolution-budget-line{ stroke:#C9A359 !important; }
  .evolution-budget-point{ fill:#FFFFFF !important; stroke:#C9A359 !important; }
  .evolution-spent-bar{ fill:#3D79B9 !important; }
  .evolution-spent-bar.over{ fill:#D9564A !important; }
}


/* ===== v15.7 · aparência por tema + serrilhado em Totais do mês ===== */
#cores-reset:disabled{
  opacity:.45;
  cursor:not-allowed;
}
#tema-toggle .theme-preview{
  background:linear-gradient(135deg,var(--custom-bg) 0 49%,var(--custom-card) 51% 100%) !important;
}

/* Repete no card TOTAIS DO MÊS a mesma assinatura serrilhada do card Saldo do mês. */
#totals-card{
  position:relative;
  overflow:visible;
}
#totals-card::after{
  display:block;
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:9px;
  pointer-events:none;
  background:radial-gradient(circle at 6px 9px, var(--paper) 5px, transparent 5.5px) 0 0 / 12px 9px repeat-x;
  z-index:2;
  opacity:.96;
}

/* ===== v15.8 · contas sem cadastro, exclusão segura, chip e nome no perfil ===== */
/* ===== v15.8.1 · ajuste fino do chip do cartão ===== */
/* ===== v13.1 · cartão com chip alto + nome de perfil personalizável ===== */
.header-user-name{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#425269;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.005em;
  text-align:left;
}
.header-user-name[hidden]{ display:none !important; }
.header-user-name[data-name-size="pequeno"]{ font-size:10.5px; max-width:78px; }
.header-user-name[data-name-size="medio"]{ font-size:12.5px; max-width:96px; }
.header-user-name[data-name-size="grande"]{ font-size:14.5px; max-width:112px; }
.header-user-name[data-name-font="yako"]{ font-family:var(--font-body); }
.header-user-name[data-name-font="moderna"]{ font-family:var(--font-mono); font-weight:600; letter-spacing:-.02em; }
.header-user-name[data-name-font="elegante"]{ font-family:var(--font-display); font-weight:600; }
.header-user-name[data-name-font="arredondada"]{ font-family:"Arial Rounded MT Bold","Trebuchet MS",var(--font-body); font-weight:700; }
@media(max-width:390px){
  .header-user-name{ left:7px; }
  .header-user-name[data-name-size="pequeno"]{ font-size:9.5px; max-width:58px; }
  .header-user-name[data-name-size="medio"]{ font-size:11px; max-width:70px; }
  .header-user-name[data-name-size="grande"]{ font-size:12.5px; max-width:82px; }
}

/* ===== v13.1.1 · datas Excel dd/mm/aaaa + perfil recolhido ===== */
.profile-name-details{
  grid-column:1/-1;
  margin-top:2px;
  border-top:1px solid var(--surface-2);
}
.profile-name-details > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 2px 2px;
  cursor:pointer;
  color:var(--ink);
}
.profile-name-details > summary::-webkit-details-marker{ display:none; }
.profile-name-details > summary span{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.profile-name-details > summary b{ font-size:12px; }
.profile-name-details > summary small{ color:var(--ink-soft); font-size:10.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-name-details > summary i{ font-style:normal; color:var(--ink-soft); transition:transform .16s ease; }
.profile-name-details[open] > summary i{ transform:rotate(180deg); color:var(--gold-text); }
.profile-name-details .profile-name-editor{ padding-top:10px; border-top:0; }

.profile-name-editor{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  padding-top:12px;
  border-top:1px solid var(--surface-2);
}
.profile-name-editor > label{ display:flex; flex-direction:column; gap:2px; }
.profile-name-editor > label span{ font-size:11px; font-weight:650; color:var(--ink); }
.profile-name-editor > label small{ font-size:10.5px; line-height:1.35; color:var(--ink-soft); }
.profile-name-input-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; }
.profile-name-editor input{ min-width:0; }
.profile-name-customize{ display:grid; gap:9px; padding:10px; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--surface-2) 56%,var(--surface)); }
.profile-name-choice{ display:grid; grid-template-columns:62px minmax(0,1fr); gap:8px; align-items:center; }
.profile-name-choice > span{ font-size:10.5px; font-weight:650; color:var(--ink-soft); }
.profile-choice-buttons{ display:flex; flex-wrap:wrap; gap:5px; }
.profile-choice-buttons button{ border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink-soft); padding:6px 9px; font-size:10.5px; cursor:pointer; }
.profile-choice-buttons button.active{ background:var(--brand-dark); color:#fff; border-color:var(--brand-dark); }
.profile-font-buttons button[data-profile-name-font="moderna"]{ font-family:var(--font-mono); }
.profile-font-buttons button[data-profile-name-font="elegante"]{ font-family:var(--font-display); }
.profile-font-buttons button[data-profile-name-font="arredondada"]{ font-family:"Arial Rounded MT Bold","Trebuchet MS",var(--font-body); font-weight:700; }
.profile-name-preview-block{ display:grid; gap:5px; }
.profile-name-preview-block > span{ font-size:10.5px; font-weight:650; color:var(--ink-soft); }
.profile-name-preview-block > small{ font-size:9.8px; line-height:1.35; color:var(--ink-soft); }
.profile-header-preview{ position:relative; min-height:50px; display:flex; align-items:center; justify-content:center; border:1px solid #E8E4DC; border-radius:12px; background:#fff; overflow:hidden; padding:4px 54px; }
.profile-header-preview > img{ height:27px; width:auto; max-width:170px; object-fit:contain; }
.profile-header-preview > i{ position:absolute; right:10px; top:50%; width:30px; height:30px; transform:translateY(-50%); border-radius:50%; background:#F5F6F8; border:1.5px solid #DDE1E7; }
.profile-header-preview > b{ position:absolute; left:9px; top:50%; transform:translateY(-50%); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#425269; line-height:1.05; text-align:left; }
.profile-header-preview > b[data-name-size="pequeno"]{ font-size:10.5px; max-width:72px; }
.profile-header-preview > b[data-name-size="medio"]{ font-size:12.5px; max-width:88px; }
.profile-header-preview > b[data-name-size="grande"]{ font-size:14.5px; max-width:102px; }
.profile-header-preview > b[data-name-font="yako"]{ font-family:var(--font-body); font-weight:600; }
.profile-header-preview > b[data-name-font="moderna"]{ font-family:var(--font-mono); font-weight:600; letter-spacing:-.02em; }
.profile-header-preview > b[data-name-font="elegante"]{ font-family:var(--font-display); font-weight:600; }
.profile-header-preview > b[data-name-font="arredondada"]{ font-family:"Arial Rounded MT Bold","Trebuchet MS",var(--font-body); font-weight:700; }
@media(max-width:390px){
  .profile-name-input-row{ grid-template-columns:1fr; }
  .profile-name-editor .btn{ width:100%; }
  .profile-name-choice{ grid-template-columns:1fr; }
  .profile-header-preview{ padding-left:46px; padding-right:46px; }
  .profile-header-preview > img{ max-width:145px; height:25px; }
  .profile-header-preview > b[data-name-size="pequeno"]{ max-width:54px; font-size:9.5px; }
  .profile-header-preview > b[data-name-size="medio"]{ max-width:64px; font-size:11px; }
  .profile-header-preview > b[data-name-size="grande"]{ max-width:75px; font-size:12.5px; }
}

.unregistered-accounts{
  margin:0 0 14px;
  border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));
  border-radius:14px;
  overflow:hidden;
  background:color-mix(in srgb,var(--gold-bg) 38%,var(--surface));
}
.unregistered-accounts-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,var(--line));
}
.unregistered-accounts-title > div{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.unregistered-accounts-title b{ font-size:12.5px; color:var(--ink); }
.unregistered-accounts-title div span{ font-size:10.6px; line-height:1.35; color:var(--ink-soft); }
.unregistered-accounts-title > span{
  min-width:26px;
  height:26px;
  padding:0 7px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--gold-bg);
  color:var(--gold-text);
  font:600 10.5px var(--font-mono);
}
.unregistered-account-item{ padding:11px 12px; border-bottom:1px solid color-mix(in srgb,var(--gold) 16%,var(--line)); }
.unregistered-account-item:last-child{ border-bottom:0; }
.unregistered-account-head{ display:flex; align-items:flex-start; gap:8px; }
.unregistered-account-head > span:last-child{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.unregistered-account-head b{ font-size:12px; color:var(--ink); }
.unregistered-account-head small{ font-size:10.4px; color:var(--ink-soft); }
.unregistered-account-icon{
  width:22px; height:22px; border-radius:50%; flex:0 0 auto;
  display:grid; place-items:center;
  background:var(--gold-bg); color:var(--gold-text);
  font-size:12px; font-weight:800;
}
.unregistered-account-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:end;
  margin-top:9px;
}
.unregistered-account-actions label{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.unregistered-account-actions label > span{ font-size:10px; font-weight:600; color:var(--ink-soft); }
.unregistered-account-actions select{ min-width:0; }
.unregistered-account-create{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-top:7px; }
.unregistered-account-item > .btn[data-orphan-create]{ margin-top:7px; }
@media(max-width:390px){
  .unregistered-account-actions,
  .unregistered-account-create{ grid-template-columns:1fr; }
  .unregistered-account-actions .btn,
  .unregistered-account-create .btn{ width:100%; }
}

.delete-entry-confirm{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:7px 2px 15px;
}
.delete-entry-icon{
  width:34px; height:34px; border-radius:50%; flex:0 0 auto;
  display:grid; place-items:center;
  background:var(--despesa-bg);
  color:var(--despesa-text);
  font-size:22px;
  line-height:1;
}
.delete-entry-confirm > div{ min-width:0; }
.delete-entry-confirm b{ display:block; margin:1px 0 4px; font-size:14px; color:var(--ink); }
.delete-entry-confirm p{ margin:0; font-size:11.5px; line-height:1.45; color:var(--ink-soft); overflow-wrap:anywhere; }
.delete-entry-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.delete-entry-actions.three-options{ grid-template-columns:1fr; }
.delete-entry-actions .btn{ min-height:42px; }
.delete-entry-actions .btn.danger.strong{
  background:var(--despesa-text);
  border-color:var(--despesa-text);
  color:#fff;
}

/* Cartões automáticos já trazem o chip dentro da própria arte. O pseudo-chip fica apenas no cartão sem identidade visual. */
.account-logo-picker.cartao{ position:relative; overflow:hidden; }
.account-logo-picker.cartao::after{
  content:"";
  position:absolute;
  left:8px;
  top:27%;
  width:13px;
  height:9px;
  border-radius:2.5px;
  border:1px solid rgba(91,72,30,.45);
  background:
    linear-gradient(90deg,transparent 46%,rgba(91,72,30,.34) 47% 53%,transparent 54%),
    linear-gradient(0deg,transparent 46%,rgba(91,72,30,.28) 47% 53%,transparent 54%),
    linear-gradient(135deg,#E6CC84,#B99543);
  box-shadow:0 1px 2px rgba(0,0,0,.22);
  z-index:4;
  pointer-events:none;
}


/* ===== v13.1.4 · contas em receitas + revisão de notificações compacta ===== */
.auto-review-sheet-compact{
  padding-top:14px;
  padding-bottom:14px;
}
.auto-review-sheet-compact .sheet-header{ margin-bottom:7px; }
.auto-review-sheet-compact .auto-review-source{
  margin:-2px 0 9px;
  padding:6px 9px;
  font-size:11.5px;
}
.auto-review-grid{
  display:grid;
  gap:8px;
  align-items:start;
}
.auto-review-grid-2{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.auto-review-grid-account{ grid-template-columns:minmax(0,1.45fr) minmax(110px,.55fr); }
.auto-review-sheet-compact .field-label{
  gap:4px;
  margin-bottom:8px;
  font-size:11.5px;
}
.auto-review-sheet-compact .field-label input,
.auto-review-sheet-compact .field-label select,
.auto-review-sheet-compact .field-label textarea{
  min-height:38px;
  padding:8px 9px;
  border-radius:9px;
}
.auto-review-sheet-compact .entry-inline-picker-trigger{
  min-height:38px;
  padding:7px 8px;
  font-size:12.6px;
}
.auto-review-sheet-compact .auto-account-note.compact,
.auto-review-sheet-compact .auto-currency-note.compact{
  margin:3px 0 8px;
  padding:8px 9px;
  border-radius:9px;
  gap:1px;
}
.auto-review-sheet-compact .auto-account-note.compact b,
.auto-review-sheet-compact .auto-currency-note.compact b{ font-size:11px; }
.auto-review-sheet-compact .auto-account-note.compact span,
.auto-review-sheet-compact .auto-currency-note.compact span{ font-size:12.5px; margin-top:1px; }
.auto-review-sheet-compact .auto-account-note.compact small,
.auto-review-sheet-compact .auto-currency-note.compact small{ font-size:10.7px; margin-top:2px; line-height:1.25; }
.auto-review-check{
  display:flex;
  align-items:center;
  gap:7px;
  margin:1px 0 8px;
  font-size:12px;
  color:var(--ink);
}
.auto-review-check input{ width:17px; height:17px; margin:0; }
.auto-review-sheet-compact .auto-review-actions{
  margin-top:5px;
  gap:7px;
  position:sticky;
  bottom:-14px;
  z-index:3;
  padding:8px 0 2px;
  background:linear-gradient(to bottom, color-mix(in srgb,var(--surface) 0%, transparent), var(--surface) 28%);
}
.auto-review-sheet-compact .auto-review-actions .btn{ min-height:40px; padding:9px 10px; }
@media(max-width:390px){
  .auto-review-grid-account{ grid-template-columns:minmax(0,1.3fr) minmax(98px,.7fr); }
  .auto-review-sheet-compact{ padding-left:12px; padding-right:12px; }
}

/* ===== v13.1.6 · saldos por conta ===== */
.account-balances-card .resumo-section-card-body{ padding-top:4px; }
.account-balance-summary-strip{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:0 0 10px;
}
.account-balance-summary-strip > div{
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  display:flex;
  flex-direction:column;
  gap:3px;
}
.account-balance-summary-strip span{ color:var(--ink-soft); font-size:9.8px; }
.account-balance-summary-strip b{ color:var(--ink); font:700 13px var(--font-mono); white-space:nowrap; }
.account-balance-summary-strip > div:last-child b{ color:var(--azul); }
.account-balance-warning{
  margin:0 0 9px;
  padding:8px 9px;
  border:1px solid color-mix(in srgb,var(--gold) 26%,var(--line));
  border-radius:9px;
  background:color-mix(in srgb,var(--gold-bg) 34%,var(--surface));
  color:var(--gold-text);
  font-size:10.4px;
  line-height:1.35;
}
.account-balance-group{ border-top:1px solid var(--line); }
.account-balance-group + .account-balance-group{ margin-top:7px; }
.account-balance-group-title{
  padding:8px 2px 5px;
  color:var(--ink-soft);
  font-size:9.4px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.account-balance-row{
  width:100%;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto 12px;
  gap:8px;
  align-items:center;
  padding:7px 2px;
  border:0;
  border-bottom:1px solid var(--surface-2);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  font-family:var(--font-body);
}
.account-balance-row:last-child{ border-bottom:0; }
.account-balance-row > strong{ font:700 11.6px var(--font-mono); white-space:nowrap; }
.account-balance-row > strong.negative{ color:var(--despesa-text); }
.account-balance-row > i{ color:var(--ink-soft); font-style:normal; font-size:15px; }
.account-balance-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:9px;
  background:var(--surface-2);
  color:var(--ink-soft);
}
.account-balance-icon.investimento{ background:var(--azul-bg); color:var(--azul); }
.account-balance-icon img{ width:100%; height:100%; object-fit:cover; display:block; }
.account-balance-copy{ min-width:0; display:flex; flex-direction:column; gap:1px; }
.account-balance-copy b{ font-size:11.8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-balance-copy > small{ color:var(--ink-soft); font-size:9.8px; }
.account-balance-copy .account-balance-forecast{ color:var(--gold-text); font-family:var(--font-mono); font-size:9.4px; }
.account-balance-copy .account-balance-missing-note{ color:var(--gold-text); font-size:9.5px; }
.account-balance-missing{ color:var(--ink-soft) !important; }
.account-balance-row.not-configured{ opacity:.88; }
.account-balance-row.investment > strong{ color:var(--azul); }

.account-balance-detail-period{ margin:-5px 0 10px; color:var(--ink-soft); font-size:11px; }
.account-balance-detail-card{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--surface);
  margin-bottom:10px;
}
.account-balance-detail-card.forecast{ border-style:dashed; border-color:color-mix(in srgb,var(--gold) 42%,var(--line)); }
.account-balance-detail-title{ padding:9px 10px 6px; color:var(--gold-text); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.account-balance-detail-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:7px 10px;
  border-bottom:1px solid var(--surface-2);
}
.account-balance-detail-line span{ color:var(--ink-soft); font-size:10.8px; }
.account-balance-detail-line b{ color:var(--ink); font:600 10.8px var(--font-mono); white-space:nowrap; }
.account-balance-detail-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  background:var(--surface-2);
}
.account-balance-detail-total span{ color:var(--ink); font-size:11.3px; font-weight:700; }
.account-balance-detail-total b{ color:var(--azul); font:800 13px var(--font-mono); white-space:nowrap; }
.account-balance-detail-total b.negative{ color:var(--despesa-text); }
.account-balance-detail-total.forecast b{ color:var(--gold-text); }
.account-balance-empty-detail{
  padding:14px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.account-balance-empty-detail b{ color:var(--ink); font-size:12.5px; }
.account-balance-empty-detail p{ margin:5px 0 0; color:var(--ink-soft); font-size:11px; line-height:1.45; }

.account-balance-base-editor{
  grid-column:1/-1;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.account-balance-base-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(145px,.82fr); gap:8px; }
.account-balance-base-editor input{ min-width:0; padding:8px 9px !important; font-size:11.5px !important; }
.account-balance-base-editor input[data-conta-saldo-inicial]{ font-family:var(--font-mono); }
.account-balance-base-editor > small{ color:var(--ink-soft); font-size:9.9px; line-height:1.4; }
.account-balance-base-editor > .btn{ align-self:flex-start; }

@media(max-width:390px){
  .account-balance-summary-strip{ grid-template-columns:1fr 1fr; gap:5px; }
  .account-balance-summary-strip > div{ padding:8px; }
  .account-balance-summary-strip b{ font-size:11.5px; }
  .account-balance-row{ grid-template-columns:34px minmax(0,1fr) auto 10px; gap:6px; }
  .account-balance-icon{ width:32px; height:32px; }
  .account-balance-row > strong{ font-size:10.5px; }
  .account-balance-base-grid{ grid-template-columns:1fr; }
}


/* ===== v13.1.7 · editor de saldo inicial usa largura total ===== */
.account-modern-item:has(.account-balance-base-editor) .account-modern-editor{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
.account-modern-item:has(.account-balance-base-editor) .account-editor-fields{
  width:100%;
}
.account-modern-item:has(.account-balance-base-editor) .account-balance-base-editor{
  width:100%;
  box-sizing:border-box;
}
.account-modern-item:has(.account-balance-base-editor) .account-editor-actions{
  grid-column:1/-1;
  justify-content:flex-end;
  width:100%;
}
.account-modern-item:has(.account-balance-base-editor) .account-balance-base-grid{
  grid-template-columns:minmax(0,1fr) minmax(170px,.95fr);
  gap:10px;
}
.account-modern-item:has(.account-balance-base-editor) .account-balance-base-editor > small{
  display:block;
  max-width:none;
}
@media(max-width:520px){
  .account-modern-item:has(.account-balance-base-editor) .account-editor-actions{
    justify-content:stretch;
  }
  .account-modern-item:has(.account-balance-base-editor) .account-editor-actions .btn{
    flex:1;
  }
}


/* ===== v13.1.8 · logos corretos no card Saldos das contas ===== */
.account-balance-icon.has-image{
  position:relative;
  display:grid;
  place-items:center;
}
.account-balance-icon.has-image .account-image-fallback,
.account-balance-icon.has-image img{
  grid-area:1 / 1;
}
.account-balance-icon.has-image img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.account-balance-icon.account-image-failed .account-image-fallback,
.account-balance-icon.has-image .account-image-fallback{
  width:100%;
  height:100%;
}


/* ===== v13.1.9 · saldos por conta integrados ao Saldo disponível ===== */
.ledger-accounts-section{
  margin-top:10px;
  border-top:1px solid rgba(255,255,255,.14);
}
.ledger-accounts-section>summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 14px;
  align-items:center;
  gap:8px;
  padding:12px 0 7px;
  cursor:pointer;
  color:var(--ledger-ink);
}
.ledger-accounts-section>summary::-webkit-details-marker,
.ledger-account-item>summary::-webkit-details-marker{display:none;}
.ledger-accounts-section>summary>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ledger-accounts-section>summary>span:first-child>b{font-size:10.8px;text-transform:uppercase;letter-spacing:.08em;}
.ledger-accounts-section>summary>span:first-child>small{font-size:9.2px;color:var(--ledger-soft);font-weight:400;}
.ledger-accounts-section-value{display:flex;flex-direction:column;align-items:flex-end;gap:1px;}
.ledger-accounts-section-value>b{font:700 11.8px var(--font-mono);color:var(--ledger-ink);white-space:nowrap;}
.ledger-accounts-section-value>small{font:500 8.8px var(--font-mono);color:var(--gold);white-space:nowrap;}
.ledger-accounts-section>summary>i,.ledger-account-item>summary>i{font-style:normal;color:var(--gold);transition:transform .15s;}
.ledger-accounts-section[open]>summary>i,.ledger-account-item[open]>summary>i{transform:rotate(180deg);}
.ledger-accounts-list{padding:3px 0 1px;}
.ledger-account-item{border-top:1px solid rgba(255,255,255,.10);}
.ledger-account-item>summary{
  list-style:none;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto 12px;
  align-items:center;
  gap:8px;
  padding:8px 0;
  cursor:pointer;
  color:var(--ledger-ink);
}
.ledger-account-item .account-balance-icon{width:34px;height:34px;border-radius:9px;}
.ledger-account-item .account-balance-copy>b{color:var(--ledger-ink);font-size:11.4px;}
.ledger-account-item .account-balance-copy>small{color:var(--ledger-soft);font-size:9.2px;}
.ledger-account-item .account-balance-copy .account-balance-forecast{color:var(--gold);font-size:8.8px;}
.ledger-account-item>summary>strong{font:700 10.8px var(--font-mono);color:var(--ledger-ink);white-space:nowrap;}
.ledger-account-item>summary>strong.negative{color:var(--despesa-text);}
.ledger-account-item .account-balance-missing-note{color:var(--gold)!important;}
.account-balance-inline-detail{
  margin:0 0 8px 42px;
  padding:7px 9px 9px;
  border-left:2px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  border-radius:0 8px 8px 0;
}
.account-balance-inline-period{font-size:8.8px;color:var(--ledger-soft);padding:0 0 5px;}
.account-balance-inline-line,.account-balance-inline-total{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;}
.account-balance-inline-line span{font-size:9.4px;color:var(--ledger-soft);}
.account-balance-inline-line b{font:600 9.5px var(--font-mono);color:var(--ledger-ink);white-space:nowrap;}
.account-balance-inline-line.base{padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:2px;}
.account-balance-inline-total{margin-top:4px;padding-top:7px;border-top:1px solid rgba(255,255,255,.12);}
.account-balance-inline-total span{font-size:10px;font-weight:700;color:var(--ledger-ink);}
.account-balance-inline-total b{font:800 11px var(--font-mono);color:var(--azul);white-space:nowrap;}
.account-balance-inline-total b.negative{color:var(--despesa-text);}
.account-balance-inline-forecast{margin-top:7px;padding-top:6px;border-top:1px dashed rgba(201,168,106,.42);}
.account-balance-inline-forecast-title{font-size:8.7px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);margin-bottom:2px;}
.account-balance-inline-total.forecast b{color:var(--gold);}
.account-balance-inline-edit{display:block;margin:7px 0 0 auto;padding:3px 0;border:0;background:transparent;color:var(--gold);font:600 9.2px var(--font-body);cursor:pointer;}
.account-balance-inline-empty{margin:0 0 8px 42px;padding:9px;border-left:2px solid rgba(201,168,106,.45);background:rgba(255,255,255,.035);border-radius:0 8px 8px 0;}
.account-balance-inline-empty b{font-size:10.3px;color:var(--ledger-ink);}
.account-balance-inline-empty p{margin:3px 0 7px;font-size:9.3px;line-height:1.4;color:var(--ledger-soft);}
.ledger-account-warning,.ledger-account-empty{margin:5px 0 2px;padding:7px 8px;border-radius:8px;background:rgba(201,168,106,.08);color:var(--ledger-soft);font-size:9.2px;line-height:1.35;}

/* Saldo inicial como lançamento-base editável na aba Lançamento. */
.entry-dot.saldo-inicial{background:var(--azul);}
.entry-value.saldo-inicial{color:var(--azul);}
.saldo-inicial-pill{background:var(--azul-bg);color:var(--azul);border-color:color-mix(in srgb,var(--azul) 28%,var(--line));}
.initial-balance-entry-row{cursor:pointer;}
.initial-balance-entry-row:hover{background:color-mix(in srgb,var(--azul-bg) 35%,transparent);}
.initial-balance-entry-value-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.initial-balance-entry-edit-icon{display:grid;place-items:center;color:var(--ink-soft);font-size:18px;pointer-events:none;}
.initial-balance-entry-editor{display:grid;gap:10px;}
.initial-balance-entry-account{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);}
.initial-balance-entry-account .account-balance-icon{flex:0 0 auto;}
.initial-balance-entry-account>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;}
.initial-balance-entry-account b{font-size:12px;color:var(--ink);}
.initial-balance-entry-account small{font-size:10px;color:var(--ink-soft);}
.initial-balance-entry-editor>label{display:flex;flex-direction:column;gap:5px;}
.initial-balance-entry-editor>label>span{font-size:10.5px;font-weight:600;color:var(--ink-soft);}
.initial-balance-entry-editor input{width:100%;box-sizing:border-box;}
.initial-balance-entry-note{padding:9px;border-radius:9px;background:var(--azul-bg);display:flex;flex-direction:column;gap:3px;}
.initial-balance-entry-note b{font-size:10.5px;color:var(--azul);}
.initial-balance-entry-note span,.initial-balance-entry-current{font-size:9.7px;line-height:1.4;color:var(--ink-soft);}
.initial-balance-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}

/* Em Ajustes, o saldo inicial vira apenas um atalho para a aba Lançamento. */
.account-balance-launch-editor{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);}
.account-balance-launch-editor>span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.account-balance-launch-editor>span>b{font-size:10.8px;color:var(--ink);}
.account-balance-launch-editor>span>small{font-size:9.5px;line-height:1.35;color:var(--ink-soft);}
.account-balance-launch-editor>.btn{flex:0 0 auto;}
@media(max-width:390px){
  .account-balance-launch-editor{align-items:stretch;flex-direction:column;}
  .account-balance-launch-editor>.btn{width:100%;}
  .ledger-account-item>summary{grid-template-columns:32px minmax(0,1fr) auto 10px;gap:6px;}
  .ledger-account-item .account-balance-icon{width:30px;height:30px;}
  .account-balance-inline-detail,.account-balance-inline-empty{margin-left:36px;}
}


/* ===== v13.1.12 · detalhe por conta espelha TOTAIS DO MÊS ===== */
.account-balance-totals-detail{
  padding-top:8px;
}
.account-balance-inline-section{
  padding:0 0 8px;
}
.account-balance-inline-section + .account-balance-inline-section{
  margin-top:7px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.12);
}
.account-balance-inline-section.forecast-section{
  border-top-style:dashed;
  border-top-color:rgba(201,168,106,.42);
}
.account-balance-inline-section-title{
  margin-bottom:3px;
  color:var(--ledger-ink);
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.account-balance-inline-section.forecast-section .account-balance-inline-section-title{color:var(--gold);}
.account-balance-inline-section.free-section .account-balance-inline-section-title{color:var(--azul);}
.account-balance-inline-line span{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.account-balance-inline-line span small{
  font-size:8px;
  color:var(--ledger-soft);
  font-weight:400;
}
.account-balance-inline-line.receita b,.account-balance-inline-line.transfer-positive b{color:var(--receita-text);}
.account-balance-inline-line.despesa b,.account-balance-inline-line.transfer-negative b{color:var(--despesa-text);}
.account-balance-inline-line.reembolso b{color:var(--reembolso-text);}
.account-balance-inline-line.guardado b{color:var(--azul);}
.account-balance-inline-line.muted b{color:var(--ledger-soft);}
.account-balance-inline-total.free b{color:var(--azul);}
.account-balance-inline-total.free b.negative{color:var(--despesa-text);}
.totals-account-context{
  display:block;
  margin-top:2px;
  color:var(--gold-text);
  font-size:9.5px;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}
.totals-budget-unallocated span small{
  display:block;
  margin-top:1px;
  color:var(--ink-soft);
  font-size:8.6px;
  font-weight:400;
}
.totals-budget-unallocated b{color:var(--ink-soft)!important;}

.totals-title-context{display:flex;flex-direction:column;min-width:0;}
.totals-title-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.totals-cycle-inline{color:var(--gold);font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;}

.totals-account-warning{margin:7px 0 2px;padding:7px 8px;border-radius:8px;background:var(--gold-bg);color:var(--gold-text);font-size:9.2px;line-height:1.35;}


/* ===== v13.1.13 · pagamento automático de faturas ===== */
.card-payment-config-editor{
  grid-column:1/-1;
  width:100%;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.card-payment-config-grid{
  display:grid;
  grid-template-columns:minmax(120px,.65fr) minmax(0,1.35fr);
  gap:9px;
}
.card-payment-config-editor > small{
  color:var(--ink-soft);
  font-size:9.9px;
  line-height:1.42;
}
.card-payment-config-editor > .btn{ align-self:flex-start; }
.account-modern-item:has(.card-payment-config-editor) .account-modern-editor{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
.account-modern-item:has(.card-payment-config-editor) .account-editor-fields{ width:100%; }
.account-modern-item:has(.card-payment-config-editor) .account-editor-actions{
  grid-column:1/-1;
  width:100%;
  justify-content:flex-end;
}
.card-invoice-payment-row{ cursor:pointer; }
.card-invoice-payment-row:hover{ background:color-mix(in srgb,var(--surface-2) 70%,transparent); }
.card-invoice-payment-main{ cursor:pointer; }
.card-invoice-payment-value-wrap{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.card-invoice-pill{ white-space:nowrap; }
.card-invoice-pill.previsto{ border-style:dashed; color:var(--gold-text); }
.card-invoice-config-icon{ display:grid; place-items:center; color:var(--gold-text); font-size:18px; }
.account-balance-inline-line.card-payment b{ color:var(--gold-text); }
.account-balance-inline-line.card-payment span small{ color:var(--ink-soft); }
@media(max-width:520px){
  .card-payment-config-grid{ grid-template-columns:1fr; }
  .account-modern-item:has(.card-payment-config-editor) .account-editor-actions .btn{ flex:1; }
}


/* ===== v13.1.14 · ciclo real e vencimento da fatura ===== */
.card-payment-config-grid{
  grid-template-columns:minmax(120px,.65fr) minmax(120px,.65fr);
}
.card-payment-config-grid .card-payment-account-field{
  grid-column:1/-1;
}
@media(max-width:390px){
  .card-payment-config-grid{grid-template-columns:1fr 1fr;}
}


/* ===== v13.1.16 · relatório de faturas por ciclo ===== */
.card-cycle-controls{margin:0 0 10px;display:grid;gap:8px;}
.card-cycle-control-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:8px;}
.card-cycle-control-grid>label{display:grid;gap:4px;min-width:0;}
.card-cycle-control-grid>label>span{font-size:9.8px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
.card-cycle-control-grid select{min-width:0;width:100%;}
.card-cycle-search-wrap{position:relative;display:flex;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden;}
.card-cycle-search-wrap>span{padding-left:11px;color:var(--ink-soft);font-size:17px;}
.card-cycle-search-wrap input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 6px 10px 8px!important;font-size:11.8px!important;color:var(--ink);}
.card-cycle-search-wrap button{width:36px;height:36px;border:0;background:transparent;color:var(--ink-soft);font-size:19px;cursor:pointer;}
.card-cycle-search-count{min-height:11px;color:var(--ink-soft);font-size:9.5px;text-align:right;}
.card-cycle-paper{overflow:visible;}
.card-cycle-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.card-cycle-title>div{min-width:0;}
.card-cycle-title span{display:block;color:var(--gold-text);font-size:9px;font-weight:800;letter-spacing:.1em;}
.card-cycle-title h3{margin:2px 0 2px;font-size:16px;color:var(--ink);}
.card-cycle-title p{margin:0;color:var(--ink-soft);font-size:10.3px;line-height:1.35;}
.card-cycle-title em{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:var(--surface-2);color:var(--ink-soft);font-style:normal;font-size:9px;font-weight:700;white-space:nowrap;}
.card-cycle-kpis{margin-bottom:10px;}
.card-cycle-list{display:grid;gap:9px;}
.card-cycle-month-group{border-top:1px solid var(--line);}
.card-cycle-month-title{padding:9px 2px 5px;color:var(--ink-soft);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.card-cycle-entry{border-bottom:1px solid var(--surface-2);}
.card-cycle-entry:last-child{border-bottom:0;}
.card-cycle-entry-head{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto 12px;gap:7px;align-items:center;padding:8px 2px;border:0;background:transparent;color:var(--ink);text-align:left;font-family:var(--font-body);cursor:pointer;}
.card-cycle-entry-head:hover{background:color-mix(in srgb,var(--surface-2) 45%,transparent);}
.card-cycle-date{font:600 10px var(--font-mono);color:var(--ink-soft);}
.card-cycle-copy{min-width:0;display:flex;flex-direction:column;gap:1px;}
.card-cycle-copy b{font-size:11.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card-cycle-copy small{font-size:9.3px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card-cycle-status{padding:3px 6px;border-radius:999px;background:var(--receita-bg);color:var(--receita);font-size:8.5px;font-weight:700;white-space:nowrap;}
.card-cycle-status.forecast{background:var(--gold-bg);color:var(--gold-text);}
.card-cycle-entry-head strong{font:700 10.7px var(--font-mono);white-space:nowrap;color:var(--despesa-text);}
.card-cycle-entry-head strong.credit{color:var(--receita);}
.card-cycle-entry-head>i{font-style:normal;color:var(--ink-soft);transition:transform .15s;}
.card-cycle-entry.open .card-cycle-entry-head>i{transform:rotate(180deg);}
.card-cycle-entry-editor{margin:0 2px 9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);display:grid;gap:9px;}
.card-cycle-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.card-cycle-editor-grid label{display:grid;gap:4px;min-width:0;}
.card-cycle-editor-grid label.wide{grid-column:1/-1;}
.card-cycle-editor-grid label>span{color:var(--ink-soft);font-size:9.6px;font-weight:650;}
.card-cycle-editor-grid input,.card-cycle-editor-grid select{min-width:0;width:100%;padding:8px 9px!important;font-size:11px!important;}
.card-cycle-refund{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:10.4px;}
.card-cycle-refund input{margin:0;}
.card-cycle-edit-note{color:var(--ink-soft);font-size:9.5px;}
.card-cycle-editor-actions{display:flex;justify-content:flex-end;gap:7px;}
.card-cycle-config-warning,.card-cycle-empty{padding:16px;}
.card-cycle-config-warning b,.card-cycle-empty b{color:var(--ink);font-size:12.5px;}
.card-cycle-config-warning p,.card-cycle-empty p{margin:5px 0 0;color:var(--ink-soft);font-size:10.8px;line-height:1.45;}
@media(max-width:520px){
  .card-cycle-control-grid{grid-template-columns:1fr;}
  .card-cycle-entry-head{grid-template-columns:38px minmax(0,1fr) auto 10px;gap:6px;}
  .card-cycle-status{grid-column:2;justify-self:start;margin-top:-2px;}
  .card-cycle-entry-head strong{grid-column:3;grid-row:1/3;align-self:center;}
  .card-cycle-entry-head>i{grid-column:4;grid-row:1/3;align-self:center;}
  .card-cycle-copy{grid-column:2;}
  .card-cycle-date{grid-row:1/3;align-self:center;}
  .card-cycle-editor-grid{grid-template-columns:1fr;}
  .card-cycle-editor-grid label.wide{grid-column:auto;}
  .card-cycle-editor-actions .btn{flex:1;}
}


/* ===== v13.1.17 · linguagem de resultado mensal x fluxo de caixa ===== */
.account-cashflow-help{
  margin:7px 0 0;
  padding:6px 7px;
  border-left:2px solid color-mix(in srgb,var(--gold) 55%,transparent);
  border-radius:0 6px 6px 0;
  background:color-mix(in srgb,var(--gold-bg) 42%,transparent);
  color:var(--ledger-soft);
  font-size:10.5px;
  line-height:1.45;
}


/* ===== v13.1.20 · alinhamento, ciclos úteis e editor visível nas faturas ===== */
.card-cycle-entry-head{
  grid-template-columns:48px minmax(0,1fr) 72px 94px 12px;
  column-gap:8px;
}
.card-cycle-status{
  width:68px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  text-align:center;
}
.card-cycle-entry-head strong{
  width:94px;
  min-width:94px;
  justify-self:end;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
@media(max-width:520px){
  .card-cycle-entry-head{
    grid-template-columns:38px minmax(0,1fr) 88px 10px;
    gap:6px;
  }
  .card-cycle-status{
    width:68px;
    grid-column:2;
    justify-self:start;
  }
  .card-cycle-entry-head strong{
    width:88px;
    min-width:88px;
    grid-column:3;
    grid-row:1/3;
  }
}


/* ===== v13.1.21 · troca direta Realizado / Previsto nas faturas ===== */
.card-cycle-status-toggle{
  cursor:pointer;
  user-select:none;
}
.card-cycle-status-toggle:active{
  transform:scale(.97);
}
.card-cycle-status-toggle:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}


/* ===== v13.1.22 · restaura largura total na edição das contas ===== */
.account-modern-item:has(.account-balance-launch-editor) .account-modern-editor{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
.account-modern-item:has(.account-balance-launch-editor) .account-editor-fields{
  width:100%;
  grid-template-columns:minmax(0,1fr);
}
.account-modern-item:has(.account-balance-launch-editor) .account-balance-launch-editor{
  width:100%;
  box-sizing:border-box;
}
.account-modern-item:has(.account-balance-launch-editor) .account-editor-actions{
  grid-column:1/-1;
  width:100%;
  justify-content:flex-end;
}
.account-modern-item:has(.account-balance-launch-editor) .account-balance-launch-editor > span{
  flex:1 1 auto;
}
@media(max-width:520px){
  .account-modern-item:has(.account-balance-launch-editor) .account-editor-actions{
    justify-content:stretch;
  }
  .account-modern-item:has(.account-balance-launch-editor) .account-editor-actions .btn{
    flex:1;
  }
}


/* ===== v13.1.23 · adicionar e excluir despesas na fatura ===== */
.card-cycle-add-wrap{display:flex;justify-content:flex-end;margin:-1px 0 9px;}
.card-cycle-add-expense{display:inline-flex;align-items:center;gap:5px;}
.card-cycle-add-expense span{font-size:14px;line-height:1;color:var(--gold-text);}
.card-cycle-editor-actions-spacer{flex:1 1 auto;}
.card-cycle-delete-btn{margin-right:auto;}
@media(max-width:520px){
  .card-cycle-add-expense{width:100%;justify-content:center;}
  .card-cycle-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  .card-cycle-editor-actions-spacer{display:none;}
  .card-cycle-delete-btn{grid-column:1/-1;margin:0;}
}

/* ===== v13.1.24 · pagamento de fatura ajustável / excluível ===== */
.invoice-payment-manage-head{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  padding:4px 2px 12px;border-bottom:1px solid var(--line);
}
.invoice-payment-manage-head>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.invoice-payment-manage-head small{font-size:10px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.invoice-payment-manage-head b{font-size:13px;color:var(--ink);}
.invoice-payment-manage-head span{font-size:10.5px;color:var(--ink-soft);}
.invoice-payment-manage-head em{
  flex:0 0 auto;font-style:normal;font-size:9.5px;font-weight:700;padding:5px 8px;border-radius:999px;
  background:var(--azul-bg);color:var(--azul);
}
.invoice-payment-manage-head em.manual{background:var(--gold-bg);color:var(--gold-text);}
.invoice-payment-manage-head em.excluido{background:var(--despesa-bg);color:var(--despesa-text);}
.invoice-payment-summary{display:grid;gap:0;margin:10px 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface-2);}
.invoice-payment-summary>div:not(.invoice-payment-excluded-note){display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line);}
.invoice-payment-summary>div:last-child{border-bottom:0;}
.invoice-payment-summary span{font-size:10.5px;color:var(--ink-soft);}
.invoice-payment-summary b{font:700 11.5px var(--font-mono);color:var(--ink);white-space:nowrap;}
.invoice-payment-difference b{color:var(--gold-text);}
.invoice-payment-difference.over b{color:var(--azul);}
.invoice-payment-difference.settled b{color:var(--receita-text);}
.invoice-payment-excluded-note{display:flex;flex-direction:column;gap:3px;padding:10px;background:var(--despesa-bg);}
.invoice-payment-excluded-note b{font-family:var(--font-body);font-size:11.5px;color:var(--despesa-text);}
.invoice-payment-excluded-note span{color:var(--despesa-text);opacity:.85;line-height:1.35;}
.invoice-payment-edit-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:8px;margin-top:10px;}
.invoice-payment-edit-grid .form-group{margin:0;}
.invoice-payment-edit-grid .form-group>span{font-size:10.5px;font-weight:600;color:var(--ink-soft);}
.invoice-payment-help{margin:9px 1px 12px;font-size:10px;line-height:1.45;color:var(--ink-soft);}
.invoice-payment-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center;}
.card-cycle-payment-box{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:9px 0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);
}
.card-cycle-payment-box.manual{border-style:dashed;border-color:color-mix(in srgb,var(--gold) 45%,var(--line));}
.card-cycle-payment-box.excluido{border-color:color-mix(in srgb,var(--despesa-text) 30%,var(--line));}
.card-cycle-payment-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.card-cycle-payment-copy small{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.card-cycle-payment-copy b{font:700 12px var(--font-mono);color:var(--ink);}
.card-cycle-payment-copy span{font-size:9.8px;color:var(--ink-soft);line-height:1.3;}
.card-cycle-payment-box.excluido .card-cycle-payment-copy b{font-family:var(--font-body);color:var(--despesa-text);}
@media(max-width:520px){
  .invoice-payment-edit-grid{grid-template-columns:1fr;}
  .invoice-payment-actions{grid-template-columns:1fr 1fr;}
  .invoice-payment-actions>span{display:none;}
  .invoice-payment-actions .danger{grid-column:1/-1;}
  .card-cycle-payment-box{align-items:stretch;flex-direction:column;}
  .card-cycle-payment-box .btn{width:100%;}
}

/* ===== v13.1.25 · foco da busca + Extrato das contas ===== */
.card-cycle-search-wrap:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold);
}
.card-cycle-search-wrap input:focus,
.card-cycle-search-wrap input:focus-visible{
  outline:0!important;
  box-shadow:none!important;
  border:0!important;
}

.bank-statement-paper{overflow:visible;}
.bank-statement-control-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.bank-statement-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}
.bank-statement-kpis>div{min-width:0;}
.bank-statement-kpis b{font-size:11.5px;}
.bank-statement-kpis b.positive{color:var(--receita-text);}
.bank-statement-kpis b.negative{color:var(--despesa-text);}
.bank-statement-kpi-forecast{display:block;margin-top:3px;color:var(--gold-text);font-size:8.7px;line-height:1.25;}
.bank-statement-warning{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:9px 10px;border:1px dashed color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--gold-bg) 45%,transparent);}
.bank-statement-warning span{font-size:9.7px;line-height:1.4;color:var(--gold-text);}
.bank-statement-warning .btn{flex:0 0 auto;}
.bank-statement-add-wrap{display:flex;justify-content:flex-end;margin:0 0 8px;}
.bank-statement-add-wrap .btn{display:inline-flex;align-items:center;gap:5px;}
.bank-statement-add-wrap .btn span{font-size:14px;color:var(--gold-text);}
.bank-statement-list{border-top:1px solid var(--line);}
.bank-statement-entry{border-bottom:1px solid var(--surface-2);}
.bank-statement-entry-head{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 70px 100px 106px 12px;gap:7px;align-items:center;padding:9px 2px;border:0;background:transparent;color:var(--ink);text-align:left;font-family:var(--font-body);cursor:pointer;}
.bank-statement-entry-head:hover{background:color-mix(in srgb,var(--surface-2) 42%,transparent);}
.bank-statement-date{font:600 10px var(--font-mono);color:var(--ink-soft);}
.bank-statement-copy{min-width:0;display:flex;flex-direction:column;gap:1px;}
.bank-statement-copy b{font-size:11.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bank-statement-copy small{font-size:9.2px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bank-statement-status{width:66px;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;justify-self:end;padding:3px 5px;border-radius:999px;background:var(--receita-bg);color:var(--receita);font-size:8.4px;font-weight:700;white-space:nowrap;}
.bank-statement-status.forecast{background:var(--gold-bg);color:var(--gold-text);}
.bank-statement-status.base{background:var(--azul-bg);color:var(--azul);}
.bank-statement-status.toggle{cursor:pointer;user-select:none;}
.bank-statement-status.toggle:active{transform:scale(.97);}
.bank-statement-status.toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.bank-statement-entry-head>strong{width:96px;min-width:96px;justify-self:end;text-align:right;font:700 10.6px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);}
.bank-statement-entry-head>strong.positive{color:var(--receita-text);}
.bank-statement-entry-head>strong.negative{color:var(--despesa-text);}
.bank-statement-balance{width:104px;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:0;}
.bank-statement-balance small{font-size:8.2px;color:var(--ink-soft);}
.bank-statement-balance b{font:700 9.8px var(--font-mono);color:var(--azul);white-space:nowrap;}
.bank-statement-balance b.negative{color:var(--despesa-text);}
.bank-statement-entry-head>i{font-style:normal;color:var(--ink-soft);transition:transform .15s;}
.bank-statement-entry.open .bank-statement-entry-head>i{transform:rotate(180deg);}
.bank-statement-detail{margin:0 2px 9px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bank-statement-detail-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bank-statement-detail-copy b{font-size:10.7px;color:var(--ink);}
.bank-statement-detail-copy span{font-size:9.5px;line-height:1.35;color:var(--ink-soft);}
.bank-statement-detail-actions{display:flex;gap:7px;flex:0 0 auto;}
@media(max-width:720px){
  .bank-statement-kpis{grid-template-columns:1fr 1fr;}
  .bank-statement-entry-head{grid-template-columns:38px minmax(0,1fr) 86px 10px;grid-template-rows:auto auto auto;gap:4px 6px;}
  .bank-statement-date{grid-row:1/4;align-self:center;}
  .bank-statement-copy{grid-column:2;grid-row:1;}
  .bank-statement-status{grid-column:2;grid-row:2;justify-self:start;width:66px;}
  .bank-statement-entry-head>strong{grid-column:3;grid-row:1;width:86px;min-width:86px;}
  .bank-statement-balance{grid-column:3;grid-row:2/4;width:86px;align-self:start;}
  .bank-statement-entry-head>i{grid-column:4;grid-row:1/4;align-self:center;}
  .bank-statement-detail{align-items:stretch;flex-direction:column;}
  .bank-statement-detail-actions{width:100%;}
  .bank-statement-detail-actions .btn{flex:1;}
}
@media(max-width:520px){
  .bank-statement-control-grid{grid-template-columns:1fr;}
  .bank-statement-warning{align-items:stretch;flex-direction:column;}
  .bank-statement-warning .btn,.bank-statement-add-wrap .btn{width:100%;justify-content:center;}
}

/* ===== v13.1.27 · TOTAIS DO MÊS: resultado x situação do dinheiro ===== */
.totals-reading-block{display:grid;gap:8px}
.totals-reading-block + .totals-reading-block{margin-top:5px;padding-top:12px;border-top:1px solid var(--line)}
.totals-reading-heading{display:flex;flex-direction:column;gap:2px;padding:1px 2px 3px}
.totals-reading-heading>b{font-size:10.7px;letter-spacing:.09em;color:var(--ink);font-weight:800}
.totals-reading-heading>small{font-size:9.5px;color:var(--ink-soft);line-height:1.35}
.totals-subsection-label{padding:9px 0 3px;margin-top:2px;border-top:1px dashed var(--line);font-size:9.3px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text)}
.totals-account-cash-row span,.totals-invoice-commitment-row span{min-width:0}
.totals-account-cash-row span small,.totals-invoice-commitment-row span small{display:block;margin-top:2px;color:var(--ink-soft);font-size:9px;font-weight:400}
.totals-empty-note{padding:10px 2px;color:var(--ink-soft);font-size:10.2px;line-height:1.4}
.totals-cash-warning{margin-top:6px;padding:8px 9px;border:1px dashed color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:9px;color:var(--gold-text);font-size:9.5px;line-height:1.4}
.totals-cash-free-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.totals-cash-free-result>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.totals-cash-free-result>span>b{font-size:12px;color:var(--ink)}
.totals-cash-free-result>span>small{font-size:9.2px;line-height:1.35;color:var(--ink-soft);font-weight:400}
.totals-cash-free-result>strong{font:800 14px var(--font-mono);white-space:nowrap;color:var(--receita-text)}
.totals-cash-free-result.is-deficit{border-color:color-mix(in srgb,var(--despesa-text) 55%,var(--line));background:color-mix(in srgb,var(--despesa-bg) 38%,var(--surface-2))}
.totals-cash-free-result.is-deficit>strong{color:var(--despesa-text)}
@media(max-width:390px){
  .totals-cash-free-result{align-items:flex-start;flex-direction:column;gap:7px}
  .totals-cash-free-result>strong{font-size:13px;align-self:flex-end}
}


/* ===== v13.1.28 · fatura inicial de implantação ===== */
.card-initial-invoice-config{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:2px;padding:9px 10px;border:1px dashed var(--line);border-radius:10px;
  background:color-mix(in srgb,var(--surface) 45%,transparent);
}
.card-initial-invoice-config>span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.card-initial-invoice-config b{font-size:11.2px;color:var(--ink);}
.card-initial-invoice-config small{font-size:9.6px;line-height:1.35;color:var(--ink-soft);}
.initial-card-invoice-editor{display:grid;gap:10px;}
.initial-card-invoice-editor>label{display:grid;gap:5px;}
.initial-card-invoice-editor>label>span{font-size:10.5px;font-weight:700;color:var(--ink-soft);}
.initial-card-invoice-row .entry-dot{background:var(--gold);}
@media(max-width:520px){.card-initial-invoice-config{align-items:stretch;flex-direction:column}.card-initial-invoice-config .btn{width:100%;}}

/* v13.1.31 — detalhamento encadeado do Saldo livre previsto */
.totals-nested-details{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.totals-nested-details>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;padding:9px 0;cursor:pointer}
.totals-nested-details>summary::-webkit-details-marker{display:none}
.totals-nested-details>summary>span{min-width:0;font-size:10.5px;color:var(--ink)}
.totals-nested-details>summary>span small{display:block;margin-top:2px;color:var(--ink-soft);font-size:9px;font-weight:400;line-height:1.3}
.totals-nested-details>summary>b{font:700 11px var(--font-mono);white-space:nowrap}
.totals-nested-details>summary>i{font-style:normal;color:var(--ink-soft);font-size:12px;transition:transform .18s ease}
.totals-nested-details[open]>summary>i{transform:rotate(180deg)}
.totals-nested-details>div{padding:0 0 7px 10px;border-left:2px solid var(--line)}
.totals-free-explanation{margin-top:8px;padding:9px 10px;border-radius:9px;font-size:9.6px;line-height:1.4;color:var(--ink-soft);background:var(--surface-2)}
.totals-free-explanation.is-positive b{color:var(--receita-text)}
.totals-free-explanation.is-deficit{background:color-mix(in srgb,var(--despesa-bg) 38%,var(--surface-2));color:var(--despesa-text)}

/* ===== v13.1.32 · dinheiro comprometido e saldo realmente livre ===== */
.totals-committed-reading .totals-summary-line>span>small{color:var(--ink-soft)}
.totals-commitment-explanation{
  margin-top:7px;padding:9px 10px;border-radius:9px;
  background:color-mix(in srgb,var(--gold-bg) 54%,var(--surface-2));
  color:var(--ink-soft);font-size:9.6px;line-height:1.4;
}
.totals-commitment-explanation b{color:var(--gold-text)}
.totals-committed-reading .totals-reading-heading>b{color:var(--gold-text)}
.totals-free-reading .totals-reading-heading>b{color:var(--azul)}

/* v13.1.34 · Faturas/Extrato: busca permanece visível durante a conferência. */
.report-search-sticky{
  position:sticky;
  top:52px;
  z-index:18;
  background:var(--paper);
  padding:7px 0 6px;
  margin:2px 0 8px;
}
.report-search-sticky .card-cycle-search-count{
  display:block;
  min-height:12px;
  padding:2px 3px 0;
}
@supports (top: calc(1px + env(safe-area-inset-top))){
  .report-search-sticky{ top:calc(52px + env(safe-area-inset-top)); }
}

/* Identificação discreta da conta/cartão diretamente no lançamento. */
.entry-account-line{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  margin-top:4px;
  color:var(--ink-soft);
  font-size:10px;
  line-height:1.2;
}
.entry-account-line span{
  flex:0 0 auto;
  font-size:8.8px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.entry-account-line b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:600;
  color:var(--ink-soft);
}


/* v13.1.35 · sinalizador de conferência em Faturas e Extrato. */
.card-cycle-entry,.bank-statement-entry{
  position:relative;
  transition:background-color .15s ease,box-shadow .15s ease;
}
.card-cycle-entry-head,.bank-statement-entry-head{
  padding-left:31px;
}
.report-review-check{
  position:absolute;
  left:5px;
  top:17px;
  z-index:4;
  width:18px;
  height:18px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid color-mix(in srgb,var(--ink-soft) 45%,var(--line));
  border-radius:5px;
  background:var(--surface);
  color:var(--receita-text);
  font:800 11px/1 var(--font-body);
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,transform .1s ease;
}
.bank-statement-entry>.report-review-check{top:18px;}
.report-review-check:active{transform:scale(.92);}
.report-review-check:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.report-review-check.checked{
  border-color:color-mix(in srgb,var(--receita-text) 60%,var(--line));
  background:color-mix(in srgb,var(--receita-bg) 82%,var(--surface));
}
.card-cycle-entry.reviewed,.bank-statement-entry.reviewed{
  background:color-mix(in srgb,var(--receita-bg) 58%,transparent);
  box-shadow:inset 2px 0 0 color-mix(in srgb,var(--receita-text) 58%,transparent);
}
.card-cycle-entry.reviewed .card-cycle-copy b,
.bank-statement-entry.reviewed .bank-statement-copy b{
  color:color-mix(in srgb,var(--ink) 78%,var(--receita-text));
}
@media(max-width:520px){
  .card-cycle-entry-head,.bank-statement-entry-head{padding-left:29px;}
  .report-review-check{left:4px;}
}


/* ===== v13.1.36 · filtros compactos + auditoria de conta/cartão ===== */
.lancamentos-search-sticky .filter-primary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
}
.lancamentos-search-sticky .filter-secondary-row{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.62fr) minmax(0,1.23fr);
  gap:8px;
}
.lancamentos-search-sticky .filter-primary-row .entry-inline-picker,
.lancamentos-search-sticky .filter-secondary-row .entry-inline-picker{
  min-width:0;
}
.lancamentos-search-sticky .filter-secondary-row .entry-inline-picker-trigger{
  padding-left:7px;
  padding-right:7px;
  font-size:12.4px;
}
.entry-account-line.account-unregistered{
  color:var(--gold-text);
}
.entry-account-line.account-unregistered b{
  color:inherit;
}
@media(max-width:360px){
  .lancamentos-search-sticky .filter-primary-row,
  .lancamentos-search-sticky .filter-secondary-row{ gap:5px; }
  .lancamentos-search-sticky .filter-secondary-row{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.58fr) minmax(0,1.18fr);
  }
  .lancamentos-search-sticky .filter-secondary-row .entry-inline-picker-trigger{
    padding-left:5px;
    padding-right:5px;
    font-size:11.7px;
  }
}


/* ===== v13.1.37 · fatura inicial + listas longas ===== */
/* O cartão usa proporção de cartão (320x200) em vez do ícone quadrado de contas,
   evitando cortar o logo/identidade visual na tela de Fatura inicial. */
.initial-card-invoice-editor .initial-balance-entry-account .account-balance-icon.cartao{
  width:58px;
  height:36px;
  border-radius:8px;
}
.initial-card-invoice-editor .initial-balance-entry-account .account-balance-icon.cartao img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:390px){
  .initial-card-invoice-editor .initial-balance-entry-account .account-balance-icon.cartao{
    width:54px;
    height:34px;
  }
}

/* ===== v13.1.40 · restaurar pagamentos excluídos no cadastro do cartão ===== */
.card-excluded-payments-config{
  display:grid;gap:7px;margin-top:2px;padding:9px 10px;
  border:1px dashed color-mix(in srgb,var(--despesa-text) 32%,var(--line));
  border-radius:10px;background:color-mix(in srgb,var(--despesa-bg) 22%,var(--surface));
}
.card-excluded-payments-head>span,.card-excluded-payment-row>span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.card-excluded-payments-head b{font-size:11.2px;color:var(--ink);}
.card-excluded-payments-head small,.card-excluded-payment-row small{font-size:9.4px;line-height:1.35;color:var(--ink-soft);}
.card-excluded-payments-list{display:grid;gap:6px;}
.card-excluded-payment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent);}
.card-excluded-payment-row b{font-size:10.2px;color:var(--ink);font-weight:700;}
.card-excluded-payment-row .btn{flex:0 0 auto;}
@media(max-width:520px){.card-excluded-payment-row{align-items:stretch;flex-direction:column}.card-excluded-payment-row .btn{width:100%;}}

/* ===== v13.1.42 · auditoria visual no Resumo + Plano de Contas mais compacto ===== */
.means-spend-group{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:12px;
  background:var(--surface);
}
.means-spend-group + .means-spend-group{ margin-top:8px; }
.means-spend-group .means-spend-row{
  width:100%;
  min-height:54px;
  padding:8px 10px;
  border:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
}
.means-spend-group .means-spend-row:hover{ background:color-mix(in srgb,var(--surface-2) 62%,transparent); }
.means-spend-value{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  white-space:nowrap;
}
.means-spend-value .legend-chevron{ width:14px; height:14px; flex:0 0 14px; }
.means-spend-detail{
  padding:2px 10px 8px 61px;
  border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  background:color-mix(in srgb,var(--surface-2) 54%,transparent);
}
.means-spend-row-card + .means-spend-detail{ padding-left:81px; }
.means-spend-detail-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-height:35px;
  padding:5px 0;
  border-top:1px solid color-mix(in srgb,var(--line) 52%,transparent);
}
.means-spend-detail-row:first-child{ border-top:0; }
.means-spend-detail-date{ color:var(--ink-soft); font-family:var(--font-mono); font-size:9.5px; }
.means-spend-detail-copy{ min-width:0; }
.means-spend-detail-copy b,.means-spend-detail-copy small{ display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.means-spend-detail-copy b{ color:var(--ink); font-size:11.5px; font-weight:600; }
.means-spend-detail-copy small{ margin-top:2px; color:var(--ink-soft); font-size:9.5px; }
.means-spend-detail-row strong{ color:var(--despesa-text); font-family:var(--font-mono); font-size:10.8px; }
.means-spend-detail-row.refund strong{ color:var(--receita-text); }

.plano-add-tools{
  overflow:hidden;
  margin:0 0 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.plano-tool-toggle,
.plano-group-toggle,
.plano-inline-add-sub-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
}
.plano-tool-toggle{
  min-height:50px;
  padding:9px 12px;
  border-top:1px solid var(--line);
}
.plano-tool-toggle:first-child{ border-top:0; }
.plano-tool-toggle.open{ background:color-mix(in srgb,var(--gold-bg) 42%,transparent); }
.plano-tool-toggle > span{ min-width:0; }
.plano-tool-toggle b,.plano-tool-toggle small{ display:block; }
.plano-tool-toggle b{ font-size:12.5px; color:var(--gold-text); }
.plano-tool-toggle small{ margin-top:2px; color:var(--ink-soft); font-size:10.5px; font-weight:400; }
.plano-tool-toggle .legend-chevron,
.plano-group-toggle .legend-chevron,
.plano-inline-add-sub-toggle .legend-chevron{ width:16px; height:16px; flex:0 0 16px; }
.plano-tool-panel{
  padding:11px 12px 12px;
  border-top:1px dashed var(--line);
  background:color-mix(in srgb,var(--surface-2) 48%,transparent);
}
.plano-tool-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 130px;
  gap:9px;
  align-items:end;
}
.plano-tool-grid.subcategory-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.plano-tool-panel .form-group.compact{ margin:0; }
.plano-tool-panel .form-group.compact label{ margin-bottom:4px; font-size:10.5px; }
.plano-tool-panel .form-group.compact input,
.plano-tool-panel .form-group.compact select{ min-height:36px; padding:7px 9px; font-size:12px; }
.plano-tool-panel > .btn{ width:auto; margin-top:9px; }
.plano-tool-fixo{ margin:9px 0 0; }
.plano-tool-empty{ margin:0; color:var(--ink-soft); font-size:11.5px; }

.plano-group-section{ margin-top:12px; }
.plano-group-toggle{
  min-height:43px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
}
.plano-group-toggle > span{ display:flex; align-items:baseline; gap:8px; min-width:0; }
.plano-group-toggle b{ font-size:13px; }
.plano-group-toggle small{ color:var(--ink-soft); font-size:10.5px; }
.plano-group-section .plano-resumo-lista{ margin-top:7px; }
.plano-group-section .plano-fixo-legenda{ margin:5px 0 0; }

.plano-inline-add-sub-toggle{
  min-height:34px;
  margin-top:7px;
  padding:6px 0;
  border-top:1px dashed var(--line);
  color:var(--gold-text);
  font-size:11px;
  font-weight:600;
}
.plano-inline-add-sub-toggle:hover{ color:var(--gold); }

@media(max-width:430px){
  .means-spend-detail{ padding-left:52px; }
  .means-spend-row-card + .means-spend-detail{ padding-left:69px; }
  .means-spend-detail-row{ grid-template-columns:32px minmax(0,1fr) auto; gap:6px; }
  .means-spend-detail-copy b{ font-size:11px; }
  .means-spend-detail-row strong{ font-size:10.2px; }
  .plano-tool-grid,.plano-tool-grid.subcategory-grid{ grid-template-columns:1fr; }
  .plano-tool-panel > .btn{ width:100%; }
  .plano-group-toggle > span{ align-items:flex-start; flex-direction:column; gap:1px; }
}

/* ===== v13.1.43 · relatórios no topo, perfil integrado e backup simplificado ===== */
.report-filter-pdf-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:8px;
  align-items:end;
  margin:10px 0 14px;
}
.report-filter-pdf-row .month-picker,
.report-filter-pdf-row .report-year-filter{ margin:0; }
.report-filter-main{ min-width:0; }
.report-pdf-top{
  width:72px;
  min-height:42px;
  padding:8px 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  white-space:nowrap;
  font-size:10.5px;
}
.report-pdf-top b{font-size:10.5px;letter-spacing:.02em;}
.report-search-pdf-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:8px;
  align-items:center;
}
.report-search-pdf-row .card-cycle-search-wrap{min-width:0;}
.report-search-pdf-row .report-pdf-top{min-height:42px;height:42px;}

.profile-name-size-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px;
  gap:8px;
  align-items:center;
}
.profile-name-size-control input[type="range"]{width:100%;min-width:0;accent-color:var(--gold);}
.profile-name-size-control b{
  font:600 10px var(--font-mono);
  color:var(--ink-soft);
  text-align:right;
  white-space:nowrap;
}
.profile-header-preview > b{max-width:30%;}
.profile-appearance-details{
  grid-column:1/-1;
  width:100%;
  border-top:1px solid var(--surface-2);
  margin-top:2px;
}
.profile-appearance-details > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 0 2px;
  cursor:pointer;
  color:var(--ink);
}
.profile-appearance-details > summary::-webkit-details-marker{display:none;}
.profile-appearance-details > summary span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.profile-appearance-details > summary b{font-size:12px;}
.profile-appearance-details > summary small{font-size:10.5px;color:var(--ink-soft);}
.profile-appearance-details > summary i{font-style:normal;color:var(--ink-soft);transition:transform .16s ease;}
.profile-appearance-details[open] > summary i{transform:rotate(180deg);color:var(--gold-text);}
.profile-appearance-body{padding-top:10px;}

.backup-simple-card .backup-history-simple{margin-top:8px;}
.backup-simple-card .backup-action-grid{margin-top:10px;}
.backup-simple-card .backup-folder-note{margin-top:8px;}
.cloud-backup-card{padding:16px;margin:4px 0 10px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));}
.cloud-beta{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:9px;letter-spacing:.08em;vertical-align:2px;}
.cloud-loading,.cloud-empty,.cloud-note{margin:10px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.5;}
.cloud-auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.cloud-auth-fields input{min-width:0;width:100%;}
.cloud-actions{display:flex;gap:8px;margin-top:9px;}
.cloud-account{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:var(--ink-soft);}
.cloud-save{width:100%;margin-top:12px;}
.cloud-backup-list{display:grid;gap:7px;margin-top:10px;}
.cloud-delete-row{display:flex;justify-content:flex-end;margin-top:10px;}
.cloud-backup-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;}
.cloud-backup-item span{display:grid;gap:2px}.cloud-backup-item small{color:var(--ink-soft)}.cloud-backup-item i{font-style:normal;font-size:11px;color:var(--ink-soft);white-space:nowrap;}
.busy{opacity:.65;pointer-events:none;}
@media(max-width:560px){.cloud-auth-fields{grid-template-columns:1fr}.cloud-account{align-items:flex-start}.cloud-backup-item{align-items:flex-start;flex-direction:column}.cloud-backup-item i{align-self:flex-end}}

@media(max-width:520px){
  .report-filter-pdf-row,
  .report-search-pdf-row{grid-template-columns:minmax(0,1fr) 64px;gap:6px;}
  .report-pdf-top{width:64px;padding-left:6px;padding-right:6px;}
  .report-year-filter{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);gap:6px;}
  .report-year-filter.single{grid-template-columns:minmax(0,1fr);}
  .profile-header-preview > b{max-width:27%;}
}

/* v13.2 — boas-vindas e novidades da versão */
.novidades-backdrop{align-items:center;padding:18px;}
.novidades-sheet{max-width:620px;max-height:min(88vh,820px);border-radius:24px;padding-bottom:18px;overflow:auto;}
.novidades-header{position:sticky;top:0;z-index:2;background:var(--surface);padding-bottom:12px;margin-bottom:4px;}
.novidades-header>div{display:flex;flex-direction:column;gap:2px;}
.novidades-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--gold-text);}
.novidades-versao{display:flex;flex-direction:column;gap:14px;}
.novidades-hero{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);}
.novidades-hero img{width:58px;height:58px;object-fit:contain;flex:0 0 auto;}
.novidades-hero div{display:flex;flex-direction:column;gap:4px;min-width:0;}
.novidades-hero b{font-size:15px;line-height:1.25;}
.novidades-hero span{font-size:12.5px;line-height:1.45;color:var(--ink-soft);}
.novidades-lista{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.novidade-item{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.novidade-icone{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:var(--surface-2);font-weight:800;color:var(--gold-text);}
.novidade-item div{min-width:0;}
.novidade-item b{display:block;font-size:12.8px;line-height:1.3;margin-bottom:3px;}
.novidade-item p{margin:0;color:var(--ink-soft);font-size:11.7px;line-height:1.42;}
.novidades-essencia{padding:12px 14px;border-radius:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:3px;}
.novidades-essencia b{font-size:12.5px;}
.novidades-essencia span{font-size:11.8px;line-height:1.45;color:var(--ink-soft);}
.novidades-continuar{width:100%;}
@media(max-width:620px){
  .novidades-backdrop{align-items:flex-end;padding:0;}
  .novidades-sheet{max-width:none;width:100%;max-height:92vh;border-radius:24px 24px 0 0;}
  .novidades-lista{grid-template-columns:1fr;}
  .novidades-hero img{width:50px;height:50px;}
}


/* ===== v13.2.3 · clareza de linguagem e saldo livre ===== */
.ledger-free-result > span,
.ledger-collapsed-result > span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ledger-free-result > span > small,
.ledger-collapsed-result > span > small{
  display:block;
  color:var(--despesa-text);
  font-size:9.4px;
  font-weight:650;
  line-height:1.25;
}

/* ===== Experiência inicial simplificada · teste UX sobre v13.2.3 ===== */
.dashboard-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:10px 0 12px;
}
.dashboard-quick-action{
  min-width:0;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--ink);
  border-radius:14px;
  min-height:68px;
  padding:10px 11px;
  display:flex;
  align-items:center;
  gap:9px;
  text-align:left;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.dashboard-quick-action:active{ transform:translateY(1px); }
.dashboard-quick-action > span:last-child{ min-width:0; }
.dashboard-quick-action b{ display:block; font-size:12.5px; line-height:1.2; }
.dashboard-quick-action small{ display:block; margin-top:3px; color:var(--ink-soft); font-size:9.8px; line-height:1.25; }
.dashboard-quick-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  font-size:21px;
  font-weight:700;
  background:var(--surface-2);
}
.dashboard-quick-action.expense .dashboard-quick-icon{ color:var(--despesa-text); }
.dashboard-quick-action.income .dashboard-quick-icon{ color:var(--receita-text); }
.dashboard-quick-action.transfer .dashboard-quick-icon{ color:var(--gold-text); }
.dashboard-quick-action.due .dashboard-quick-icon{ color:var(--gold-text); }

.guide-initial-toggle-row{ display:flex; justify-content:flex-end; margin:-2px 0 8px; }
.guide-initial-toggle{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--ink);
  border-radius:999px;
  padding:7px 11px 7px 12px;
  display:flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  font-size:11px;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.guide-initial-toggle span{ font-weight:700; }
.guide-initial-toggle small{ color:var(--ink-soft); font-size:9.5px; }
.guide-initial-toggle i{ font-style:normal; font-size:12px; color:var(--gold-text); }
.guide-initial-toggle.active{ border-color:color-mix(in srgb, var(--gold-text) 55%, var(--line)); }

.guide-initial-card,
.first-use-card,
.first-entry-card{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--ink);
  border-radius:18px;
  box-shadow:var(--shadow);
  margin-bottom:12px;
}
.guide-initial-card{ padding:16px; }
.guide-initial-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.guide-initial-head h2{ margin:2px 0 0; font-size:18px; line-height:1.2; }
.guide-kicker,
.quick-entry-kicker,
.onboarding-progress-label{
  display:block;
  color:var(--gold-text);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.11em;
}
.guide-close-inline{
  border:0;
  background:var(--surface-2);
  color:var(--ink-soft);
  width:30px;
  height:30px;
  border-radius:50%;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.guide-initial-intro{ margin:9px 0 12px; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.guide-initial-steps{ display:flex; flex-direction:column; gap:8px; }
.guide-initial-step{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:13px;
}
.guide-initial-step.done{ opacity:.86; }
.guide-step-check{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  color:var(--ink-soft);
  font-size:14px;
  font-weight:800;
}
.guide-step-check.done{ color:var(--receita-text); border-color:currentColor; }
.guide-initial-step b{ display:block; font-size:11.5px; line-height:1.3; }
.guide-initial-step small{ display:block; margin-top:2px; color:var(--ink-soft); font-size:9.8px; line-height:1.35; }
.guide-initial-step .btn.small{ margin:0; white-space:nowrap; }
.guide-full-link,
.first-use-secondary{
  border:0;
  background:transparent;
  color:var(--gold-text);
  font-weight:700;
  font-size:11px;
  cursor:pointer;
}
.guide-full-link{ display:block; margin:12px auto 0; padding:5px; }

.first-use-card{ padding:22px 18px 18px; text-align:center; }
.first-use-symbol{
  width:62px;
  height:62px;
  margin:0 auto 10px;
  border-radius:18px;
  display:grid;
  place-items:center;
  padding:9px;
  background:var(--surface-2);
}
.first-use-symbol img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.first-use-card h1{ margin:5px auto 8px; max-width:520px; font-size:21px; line-height:1.25; }
.first-use-card p{ margin:0 auto 16px; max-width:580px; color:var(--ink-soft); font-size:12.5px; line-height:1.55; }
.first-use-main-btn{ width:min(100%,320px); }
.first-use-secondary{ display:block; margin:8px auto 0; padding:7px; }

.first-entry-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:15px;
}
.first-entry-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--surface-2);
  color:var(--gold-text);
  font-size:24px;
  font-weight:700;
}
.first-entry-card h2{ margin:2px 0 3px; font-size:16px; }
.first-entry-card p{ margin:0; color:var(--ink-soft); font-size:11px; line-height:1.4; }
.first-entry-card .btn{ white-space:nowrap; }

/* Lançamento ultra rápido */
.sheet.quick-entry-sheet{ max-width:460px; }
.quick-entry-header{ align-items:flex-start; }
.quick-entry-header h2{ margin:2px 0 0; font-size:20px; }
.quick-entry-main{
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:16px;
  padding:13px 14px 12px;
  margin-bottom:11px;
}
.quick-entry-main > label{ display:block; color:var(--ink-soft); font-size:10.5px; font-weight:700; margin-bottom:5px; }
.quick-entry-value-wrap{ display:flex; align-items:center; gap:8px; }
.quick-entry-value-wrap > span{ font-size:16px; font-weight:800; color:var(--ink-soft); }
.quick-entry-value-wrap input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:32px;
  font-weight:700;
  padding:0;
  min-height:42px;
}
.quick-entry-main.expense .quick-entry-value-wrap input{ color:var(--despesa-text); }
.quick-entry-main.income .quick-entry-value-wrap input{ color:var(--receita-text); }
.quick-entry-description input{ min-height:46px; font-size:15px; }
.quick-entry-smart{
  display:flex;
  gap:9px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:13px;
  padding:10px 11px;
  background:var(--surface-2);
}
.quick-entry-smart-icon{ color:var(--gold-text); font-size:17px; line-height:1.2; }
.quick-entry-smart > div{ min-width:0; }
.quick-entry-smart small,
.quick-entry-smart b,
.quick-entry-smart em{ display:block; }
.quick-entry-smart small{ color:var(--ink-soft); font-size:9.5px; }
.quick-entry-smart b{ margin-top:2px; color:var(--ink); font-size:11.5px; line-height:1.35; overflow-wrap:anywhere; }
.quick-entry-smart em{ margin-top:2px; color:var(--gold-text); font-size:9px; font-style:normal; }
.quick-entry-note{ margin:8px 2px 12px; color:var(--ink-soft); font-size:9.8px; line-height:1.4; }
.quick-entry-actions{ display:grid; grid-template-columns:1fr 1.3fr; gap:8px; }
.quick-entry-actions .btn{ margin:0; }

/* Wizard de configuração inicial */
.sheet.onboarding-sheet{ max-width:520px; }
.onboarding-header{ align-items:flex-start; margin-bottom:9px; }
.onboarding-header h2{ margin:3px 0 0; font-size:20px; line-height:1.22; }
.onboarding-progress{
  width:100%;
  height:4px;
  border-radius:999px;
  background:var(--surface-2);
  overflow:hidden;
  margin-bottom:10px;
}
.onboarding-progress span{ display:block; height:100%; border-radius:inherit; background:var(--gold-text); transition:width .2s ease; }
.onboarding-subtitle{ margin:0 0 13px; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.onboarding-question-card{
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:15px;
  padding:13px;
}
.onboarding-question-card[hidden]{ display:none !important; }
.onboarding-balance-group small{ display:block; margin-top:5px; color:var(--ink-soft); font-size:9.8px; }
.onboarding-money-input{ display:flex; align-items:center; gap:7px; }
.onboarding-money-input span{ font-weight:800; color:var(--ink-soft); }
.onboarding-money-input input{ flex:1; font-family:var(--font-mono); font-size:22px; font-weight:700; }
.onboarding-choice-row{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.onboarding-choice-row button{
  min-height:42px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--ink-soft);
  font-weight:700;
  font-size:11.5px;
  cursor:pointer;
}
.onboarding-choice-row button.active{ border-color:var(--gold-text); color:var(--gold-text); background:var(--surface-2); }
.onboarding-choice-row button:disabled{ opacity:.5; cursor:not-allowed; }
.onboarding-expense-origin{ margin-top:2px; }
.onboarding-field-hint{ margin:3px 0 8px; color:var(--ink-soft); font-size:9.8px; line-height:1.4; }
.onboarding-expense-origin .onboarding-choice-row button{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; padding:8px 10px; text-align:left; }
.onboarding-expense-origin .onboarding-choice-row button small{ display:block; font-size:8px; letter-spacing:.05em; opacity:.8; }
.onboarding-expense-origin > small{ display:block; margin-top:6px; color:var(--ink-soft); font-size:9.5px; line-height:1.35; }
.onboarding-two-fields{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.onboarding-two-fields .form-group{ margin-bottom:0; }
.onboarding-income-grid{ grid-template-columns:1.4fr .8fr; }
.onboarding-explain{
  margin-top:10px;
  border-left:3px solid var(--gold-text);
  padding:7px 9px;
  background:var(--surface);
  border-radius:0 9px 9px 0;
}
.onboarding-explain b,
.onboarding-explain span{ display:block; }
.onboarding-explain b{ font-size:10.5px; }
.onboarding-explain span{ margin-top:2px; color:var(--ink-soft); font-size:9.5px; line-height:1.35; }
.onboarding-actions{ display:grid; grid-template-columns:1fr 1.25fr; gap:8px; margin-top:14px; }
.onboarding-actions .btn{ margin:0; }

@media (max-width:760px){
  .dashboard-quick-actions{ grid-template-columns:1fr 1fr; gap:7px; }
  .dashboard-quick-action{ min-height:62px; padding:9px; }
  .dashboard-quick-action small{ font-size:9px; }
  .guide-initial-step{ grid-template-columns:26px minmax(0,1fr); }
  .guide-initial-step .btn.small{ grid-column:2; justify-self:start; margin-top:1px; }
  .first-entry-card{ grid-template-columns:44px minmax(0,1fr); }
  .first-entry-card .btn{ grid-column:1 / -1; width:100%; }
}

@media (max-width:420px){
  .dashboard-quick-action b{ font-size:11.5px; }
  .dashboard-quick-action small{ display:none; }
  .dashboard-quick-action{ min-height:54px; }
  .dashboard-quick-icon{ width:30px; height:30px; flex-basis:30px; border-radius:10px; font-size:18px; }
  .guide-initial-card{ padding:13px; }
  .guide-initial-toggle small{ display:none; }
  .quick-entry-value-wrap input{ font-size:28px; }
  .quick-entry-actions,
  .onboarding-actions{ grid-template-columns:1fr; }
  .onboarding-two-fields{ grid-template-columns:1fr 1fr; }
}

/* ===== Laboratório UX2 · onboarding guiado em tela cheia ===== */
.sheet-backdrop.onboarding-backdrop-full{
  background:var(--paper);
  align-items:stretch;
  justify-content:center;
  opacity:0;
  transition:opacity .18s ease;
  z-index:120;
}
.sheet-backdrop.onboarding-backdrop-full.open{ opacity:1; }
.sheet.onboarding-sheet-full{
  width:100%;
  max-width:680px;
  height:100dvh;
  max-height:none;
  border-radius:0;
  padding:0;
  overflow-y:auto;
  background:var(--paper);
  box-shadow:none;
  transform:none;
}
.sheet-backdrop.open .sheet.onboarding-sheet-full{ transform:none; }
.onboarding-full-shell{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  padding:max(18px, env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom));
}
.onboarding-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  margin-bottom:18px;
}
.onboarding-brand img{ width:auto; height:31px; max-width:150px; object-fit:contain; }
.onboarding-brand span{
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  color:var(--gold-text);
}
.onboarding-sheet-full .onboarding-step{
  width:min(100%,560px);
  margin:auto;
  display:flex;
  flex-direction:column;
}
.onboarding-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  color:var(--ink-soft);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.08em;
}
.onboarding-topline small{
  font-size:9px;
  font-weight:650;
  letter-spacing:0;
  color:var(--gold-text);
  text-align:right;
}
.onboarding-title-block{ margin:6px 0 16px; }
.onboarding-title-block h2{ font-size:26px; line-height:1.15; }
.onboarding-title-block p{ margin:7px 0 0; color:var(--ink-soft); font-size:12.5px; line-height:1.52; }
.onboarding-focus-card{ padding:16px; }
.onboarding-first-entry{ padding:16px; }
.onboarding-entry-type{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.09em;
  margin-bottom:13px;
}
.onboarding-entry-type.expense{ color:var(--despesa-text); background:var(--despesa-bg); }
.onboarding-smart-preview{
  margin-top:10px;
  padding:10px 11px;
  border:1px dashed color-mix(in srgb, var(--gold-text) 55%, var(--line));
  border-radius:12px;
  background:var(--surface);
}
.onboarding-smart-preview span,
.onboarding-smart-preview b,
.onboarding-smart-preview small{ display:block; }
.onboarding-smart-preview span{ color:var(--gold-text); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.onboarding-smart-preview b{ margin-top:3px; font-size:11.5px; line-height:1.35; }
.onboarding-smart-preview small{ margin-top:3px; color:var(--ink-soft); font-size:9.5px; line-height:1.35; }
.onboarding-choice-row.compact{ margin:0; }
.onboarding-income-mode{ grid-template-columns:1fr 1fr 1fr; }
.onboarding-status-readonly > div{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--receita-text);
  font-weight:750;
  font-size:11px;
}
.onboarding-budget-head{ margin-bottom:11px; }
.onboarding-budget-head > span{
  color:var(--gold-text);
  font-size:9px;
  font-weight:850;
  letter-spacing:.09em;
}
.onboarding-budget-head h3{ margin-top:4px; font-size:22px; }
.onboarding-budget-head p{ margin:5px 0 0; color:var(--ink-soft); font-size:11.5px; line-height:1.45; }
.onboarding-budget-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:10px;
}
.onboarding-budget-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:8px 10px 8px 13px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:12px;
}
.onboarding-budget-row > span{ font-size:11.5px; font-weight:650; line-height:1.25; }
.onboarding-budget-row > div{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.onboarding-budget-row > div b{ color:var(--ink-soft); font-size:10px; }
.onboarding-budget-row input{
  width:100%;
  min-width:0;
  height:34px;
  padding:0 8px;
  text-align:right;
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:700;
}
.onboarding-budget-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:11px 0 0;
  padding:11px 13px;
  border-radius:12px;
  background:var(--gold-bg);
}
.onboarding-budget-total span{ font-size:10.5px; font-weight:750; }
.onboarding-budget-total b{ font-family:var(--font-mono); font-size:14px; color:var(--gold-text); }
.onboarding-done-card{
  padding:22px 18px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:18px;
  text-align:center;
}
.onboarding-done-mark{
  width:52px; height:52px;
  margin:0 auto 11px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--receita-bg); color:var(--receita-text);
  font-size:25px; font-weight:900;
}
.onboarding-done-card h3{ font-size:21px; }
.onboarding-done-list{
  display:grid;
  gap:6px;
  margin:15px auto;
  text-align:left;
  max-width:330px;
  color:var(--ink-soft);
  font-size:10.5px;
}
.onboarding-done-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  max-width:360px;
  margin:14px auto;
  padding:10px 12px;
  border-radius:11px;
  background:var(--gold-bg);
  font-size:10.5px;
}
.onboarding-done-summary b{ font-family:var(--font-mono); color:var(--gold-text); font-size:13px; }
.onboarding-done-card p{ margin:10px auto 0; max-width:400px; color:var(--ink-soft); font-size:11px; line-height:1.5; }
.onboarding-sheet-full .onboarding-actions{
  position:sticky;
  bottom:-1px;
  margin-top:18px;
  padding:10px 0 max(2px, env(safe-area-inset-bottom));
  background:linear-gradient(180deg, color-mix(in srgb, var(--paper) 0%, transparent), var(--paper) 18%);
}
.onboarding-sheet-full .onboarding-primary{ min-height:45px; }

@media (max-width:520px){
  .onboarding-full-shell{ padding-left:16px; padding-right:16px; }
  .onboarding-title-block h2{ font-size:23px; }
  .onboarding-income-mode{ grid-template-columns:1fr; }
  .onboarding-budget-row{ grid-template-columns:minmax(0,1fr) 120px; }
  .onboarding-budget-row > span{ font-size:10.8px; }
  .onboarding-brand{ margin-bottom:12px; }
}
.orcamento-row-subonly b{
  font-family:var(--font-mono);
  color:var(--gold-text);
  font-size:12px;
}

/* ===== UX4 laboratório · Orçamento simples e contextual ===== */
.budget-page-heading{ margin-bottom:18px !important; }
.budget-page-heading p{ max-width:560px; }
.budget-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:14px; }

/* O cabeçalho (Despesas/Receitas) e seus itens agora formam um único card. */
.budget-group-card{
  overflow:hidden;
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface);
  box-shadow:0 3px 12px rgba(0,0,0,.025);
}
.budget-group-card .plano-group-toggle{
  min-height:48px;
  padding:10px 12px;
  border:0;
  border-radius:0;
  background:transparent;
}
.budget-group-card.open .plano-group-toggle{ border-bottom:1px solid var(--line); }
.budget-group-card .budget-group-body{ background:var(--surface); }
.budget-group-card .plano-resumo-lista{
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.budget-group-card .plano-fixo-legenda{
  justify-content:space-between;
  gap:10px;
  min-height:36px;
  margin:0;
  padding:7px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  background:color-mix(in srgb,var(--surface-2) 42%,transparent);
}
.budget-group-card .plano-fixo-legenda > small{
  color:var(--ink-soft);
  font-size:9.8px;
  text-align:right;
}
.budget-add-category{
  margin:0;
  padding:11px 12px;
  border:0;
  border-top:1px dashed color-mix(in srgb,var(--gold) 40%,var(--line));
  border-radius:0;
  text-align:left;
}

/* Categoria: deixa visível o que foi planejado e o que já ocorreu. */
.plano-category-summary{ min-width:152px; }
.plano-category-summary b{ font-size:10.6px; }
.plano-category-summary em{
  display:block;
  margin-top:2px;
  color:var(--ink-soft);
  font-size:9.2px;
  font-style:normal;
  white-space:nowrap;
}
.plano-category-summary em.negative{ color:var(--despesa-text); }

/* Subcategoria: orçamento vira um campo de digitação evidente, não um botão abstrato. */
.budget-sub-row{ min-height:54px; padding:7px 0; }
.budget-sub-row .plano-sub-main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
}
.budget-sub-spent{
  display:block;
  padding-left:22px;
  color:var(--ink-soft);
  font-size:9.5px;
  line-height:1.25;
}
.budget-sub-spent b{
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:9.6px;
  font-weight:600;
}
.plano-budget-field{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:138px;
  cursor:text;
}
.plano-budget-field > small{
  color:var(--ink-soft);
  font-size:9px;
  font-weight:600;
  line-height:1;
}
.plano-budget-input-wrap{
  width:100%;
  min-height:34px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:5px;
  padding:0 8px;
  border:1.5px solid color-mix(in srgb,var(--gold) 65%,var(--line));
  border-radius:8px;
  background:color-mix(in srgb,var(--gold-bg) 42%,var(--surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 9%,transparent);
}
.plano-budget-input-wrap:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent);
  background:var(--surface);
}
.plano-budget-input-wrap i{
  color:var(--gold-text);
  font-family:var(--font-mono);
  font-size:10px;
  font-style:normal;
  font-weight:600;
}
.plano-budget-input-wrap input{
  width:100%;
  min-width:0;
  height:31px;
  padding:0;
  border:0 !important;
  outline:0;
  background:transparent !important;
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  text-align:right;
  box-shadow:none !important;
}
.plano-budget-input-wrap input::placeholder{ color:var(--ink-soft); opacity:.75; }
.plano-category-budget-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:7px;
  padding:9px 0 7px;
  border-top:1px dashed var(--line);
  color:var(--ink-soft);
  font-size:10.5px;
}
.plano-category-budget-total b{
  color:var(--gold-text);
  font-family:var(--font-mono);
  font-size:11.5px;
}

@media(max-width:560px){
  .plano-category-summary{ min-width:0; }
  .plano-category-summary small,.plano-category-summary em{ display:none; }
  .plano-category-summary b{ font-size:10px; }
}

@media(max-width:430px){
  .budget-kpis{ gap:7px; }
  .budget-group-card .plano-fixo-legenda{ align-items:flex-start; flex-direction:column; gap:3px; }
  .budget-group-card .plano-fixo-legenda > small{ text-align:left; }
  .budget-group-card .plano-resumo-sublist-editavel{ padding-left:14px; padding-right:8px; }
  .budget-sub-row{ grid-template-columns:1fr; gap:6px; padding:8px 0; }
  .budget-sub-row .plano-sub-actions{ width:100%; }
  .plano-budget-field{ flex:1; min-width:0; }
  .budget-sub-spent{ padding-left:22px; }
}


/* ===== UX5 laboratório · Resumo simples ===== */
.ux5-privacy-row{display:flex;justify-content:flex-end;margin:-2px 0 7px;}
.ux5-privacy-toggle{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-soft);font-size:10.5px;font-weight:600;cursor:pointer;}
.ux5-privacy-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;}
.ux5-month-status,.ux5-attention-card,.ux5-recent-card,.ux5-pillars{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 4px 16px rgba(0,0,0,.025);}
.ux5-month-status{padding:14px 15px;margin-bottom:10px;border-left:4px solid var(--line);}
.ux5-month-status.good{border-left-color:var(--receita);}.ux5-month-status.warn{border-left-color:var(--gold);}.ux5-month-status.bad{border-left-color:var(--despesa);}
.ux5-month-status-head{display:flex;align-items:flex-start;gap:9px}.ux5-status-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--ink-soft)}
.ux5-month-status.good .ux5-status-dot{background:var(--receita)}.ux5-month-status.warn .ux5-status-dot{background:var(--gold)}.ux5-month-status.bad .ux5-status-dot{background:var(--despesa)}
.ux5-month-status small,.ux5-section-head small{display:block;color:var(--ink-soft);font-size:8.7px;font-weight:700;letter-spacing:.08em}.ux5-month-status h2,.ux5-section-head h2{margin:2px 0 0;font-size:16px;line-height:1.2}.ux5-month-status p{margin:8px 0 0;color:var(--ink-soft);font-size:11.5px;line-height:1.5}.ux5-money.inline{display:inline;font-family:var(--font-mono);font-weight:700;color:var(--ink)}
.ux5-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;margin-bottom:10px}.ux5-pillar{padding:14px;min-width:0;border-right:1px solid var(--line)}.ux5-pillar:nth-child(3){border-right:0}.ux5-pillar.free{background:color-mix(in srgb,var(--receita-bg) 28%,var(--surface))}.ux5-pillar.free.negative-card{background:color-mix(in srgb,var(--despesa-bg) 28%,var(--surface))}
.ux5-pillar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-soft);font-size:8.4px;font-weight:700;letter-spacing:.06em}.ux5-help{width:20px;height:20px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink-soft);font-size:10px;font-weight:700;cursor:pointer}.ux5-pillar strong{display:flex;width:100%;margin:8px 0 3px;padding:0 8px;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:19px;line-height:1.1;text-align:center;box-sizing:border-box}.ux5-pillar strong .ux5-money.negative,.ux5-money.negative{color:var(--despesa-text)}.ux5-money.positive{color:var(--receita-text)}.ux5-pillar>b{display:block;font-size:11px}.ux5-pillar>small{display:block;margin-top:3px;color:var(--ink-soft);font-size:10.5px;line-height:1.45}.ux5-account-detail{grid-column:1/-1;border-top:1px solid var(--line);padding:0 12px}.ux5-account-detail .ledger-accounts-section{margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.ux5-attention-card,.ux5-recent-card{padding:13px 14px;margin:10px 0}.ux5-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ux5-link-btn{padding:6px 8px;border:0;background:transparent;color:var(--gold-text);font-size:9.5px;font-weight:700;cursor:pointer}.ux5-empty-note{margin:9px 0 0;color:var(--ink-soft);font-size:10.5px;line-height:1.45}
.ux5-due-list,.ux5-recent-list{margin-top:9px;border-top:1px solid var(--line)}.ux5-due-row,.ux5-recent-row{display:grid;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);cursor:pointer}.ux5-due-row{grid-template-columns:44px minmax(0,1fr) auto}.ux5-due-row:last-child,.ux5-recent-row:last-child{border-bottom:0}.ux5-due-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;border-radius:9px;background:var(--surface-2)}.ux5-due-date b{font-family:var(--font-mono);font-size:10px}.ux5-due-date small{font-size:7.8px;color:var(--ink-soft)}.ux5-due-copy,.ux5-recent-copy{min-width:0}.ux5-due-copy b,.ux5-recent-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.8px}.ux5-due-copy small,.ux5-recent-copy small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:8.8px}.ux5-due-value,.ux5-recent-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ux5-due-value .ux5-money,.ux5-recent-side .ux5-money{font-family:var(--font-mono);font-size:10.5px;font-weight:700}.ux5-due-value button,.ux5-recent-side button{padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink);font-size:8.5px;font-weight:700;cursor:pointer}.ux5-due-value button{border-color:color-mix(in srgb,var(--gold) 50%,var(--line));color:var(--gold-text)}.ux5-recent-side button.forecast{color:var(--gold-text)}
.ux5-recent-row{grid-template-columns:34px minmax(0,1fr) auto}.ux5-recent-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--despesa-bg);color:var(--despesa-text);font-size:16px;font-weight:700}.ux5-recent-mark.income{background:var(--receita-bg);color:var(--receita-text)}.ux5-recent-mark.transfer{background:var(--azul-bg);color:var(--azul)}
@media(max-width:620px){.ux5-pillars{grid-template-columns:1fr}.ux5-pillar{border-right:0;border-bottom:1px solid var(--line);padding:12px 14px}.ux5-pillar:nth-child(3){border-bottom:0}.ux5-pillar strong{font-size:20px}.ux5-account-detail{border-top:1px solid var(--line)}.ux5-pillar-top{font-size:8.2px}.ux5-due-row{grid-template-columns:40px minmax(0,1fr) auto}.ux5-due-value .ux5-money,.ux5-recent-side .ux5-money{font-size:9.8px}}
@media(max-width:410px){.ux5-due-copy small,.ux5-recent-copy small{max-width:145px}.ux5-month-status h2,.ux5-section-head h2{font-size:14px}.ux5-pillar>small{font-size:11px;line-height:1.45}}


/* ===== UX6 laboratório · Resumo refinado + origem do gasto ===== */
.dashboard-quick-action{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:center;gap:7px;padding:10px 9px;overflow:hidden;}
.dashboard-quick-title{display:block;width:100%;min-width:0;text-align:center;font-size:11.5px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;}
.dashboard-quick-lower{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;text-align:left;}
.dashboard-quick-lower small{min-width:0;max-width:100%;}
.dashboard-quick-icon{flex:0 0 32px;width:32px;height:32px;}
.ux6-month-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.ux6-privacy-inside{flex:0 0 auto;margin:-3px -3px 0 0;background:var(--surface-2);}
.ux5-pillar{position:relative;}
.ux6-help-popover{position:absolute;z-index:30;top:38px;right:10px;left:10px;padding:12px 34px 12px 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 12px 28px rgba(0,0,0,.18);font-size:10.5px;line-height:1.45;color:var(--ink);}
.ux6-help-popover p{margin:0;}.ux6-help-close{position:absolute;top:5px;right:6px;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--ink-soft);font-size:20px;cursor:pointer;}
.ux5-due-date.card-origin{border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:var(--gold-bg);}
.ux5-due-date.account-origin{border:1px solid color-mix(in srgb,var(--azul) 38%,var(--line));background:var(--surface-2);}
.ux5-due-date.card-origin small{color:var(--gold-text);font-weight:800}.ux5-due-date.account-origin small{color:var(--ink-soft);font-weight:800}
.ux6-origin-label{display:inline-flex;align-items:center;gap:3px;margin-right:3px;font-size:8px;font-weight:800;letter-spacing:.02em;}
.ux6-origin-label.card-origin{color:var(--gold-text)}.ux6-origin-label.account-origin{color:var(--ink-soft)}
.ux5-due-copy small strong{color:var(--ink);font-weight:750;}
.ux6-origin-section{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);}
.ux6-origin-head b,.ux6-origin-head small{display:block}.ux6-origin-head b{font-size:11.5px}.ux6-origin-head small{margin-top:3px;color:var(--ink-soft);font-size:9.3px;line-height:1.35}
.ux6-origin-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;}
.ux6-origin-type{display:flex;align-items:center;gap:8px;min-height:58px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;}
.ux6-origin-type:disabled{opacity:.4;cursor:not-allowed}.ux6-origin-type.active.account{border-color:color-mix(in srgb,var(--azul) 60%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--azul) 12%,transparent)}.ux6-origin-type.active.card{border-color:color-mix(in srgb,var(--gold) 65%,var(--line));background:var(--gold-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 12%,transparent)}
.ux6-origin-symbol{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:var(--surface-2);font-size:17px;font-weight:800}.ux6-origin-type.card .ux6-origin-symbol{color:var(--gold-text)}.ux6-origin-type.account .ux6-origin-symbol{color:var(--azul)}
.ux6-origin-type b,.ux6-origin-type small{display:block}.ux6-origin-type b{font-size:10.5px}.ux6-origin-type small{margin-top:2px;color:var(--ink-soft);font-size:8.5px;line-height:1.25}
.ux6-origin-choices{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.ux6-origin-choices>small{display:block;margin-bottom:6px;color:var(--ink-soft);font-size:9px;font-weight:700}.ux6-origin-list{display:flex;flex-wrap:wrap;gap:6px}.ux6-origin-choice{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:9.5px;cursor:pointer}.ux6-origin-choice.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.ux6-origin-choice em{font-size:7.5px;font-style:normal;color:var(--gold-text);font-weight:800}
.ux6-origin-selected{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.ux6-origin-selected.card{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:var(--gold-bg)}.ux6-origin-selected.account{border-color:color-mix(in srgb,var(--azul) 35%,var(--line))}.ux6-origin-selected small,.ux6-origin-selected b,.ux6-origin-selected em{display:block}.ux6-origin-selected small{font-size:7.8px;font-weight:800;letter-spacing:.04em;color:var(--ink-soft)}.ux6-origin-selected b{font-size:10.8px}.ux6-origin-selected em{margin-top:1px;font-size:8.3px;font-style:normal;color:var(--ink-soft)}.ux6-origin-selected button{padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:8.5px;font-weight:700;cursor:pointer}
@media(max-width:620px){.ux6-month-top{gap:7px}.ux6-privacy-inside span{display:none}.ux6-privacy-inside{width:36px;height:34px;justify-content:center;padding:6px}.dashboard-quick-title{font-size:11px}.dashboard-quick-lower small{font-size:8.8px}.ux6-origin-types{grid-template-columns:1fr}.ux6-origin-type{min-height:52px}.ux6-help-popover{position:relative;top:auto;right:auto;left:auto;margin-top:8px}}
@media(max-width:420px){.dashboard-quick-action small{display:block}.dashboard-quick-action{min-height:72px}.dashboard-quick-lower small{font-size:8px}.dashboard-quick-icon{width:28px;height:28px;flex-basis:28px;font-size:17px}.ux6-origin-selected{grid-template-columns:30px minmax(0,1fr) auto}}


/* ===== UX7 laboratório · lançamento em uma tela + categorias visuais ===== */
.ux7-cat-icon{--cat-color:#64748b;width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 14%,var(--surface));}
.ux7-cat-icon svg{width:20px;height:20px;display:block;}
.ux7-cat-icon.tone-orange{--cat-color:#f59e0b}.ux7-cat-icon.tone-purple{--cat-color:#8b5cf6}.ux7-cat-icon.tone-blue{--cat-color:#3b82f6}.ux7-cat-icon.tone-pink{--cat-color:#ec4899}.ux7-cat-icon.tone-green{--cat-color:#16a34a}.ux7-cat-icon.tone-cyan{--cat-color:#0891b2}.ux7-cat-icon.tone-indigo{--cat-color:#6366f1}.ux7-cat-icon.tone-rose{--cat-color:#e11d48}.ux7-cat-icon.tone-emerald{--cat-color:#059669}.ux7-cat-icon.tone-slate{--cat-color:#64748b}
.ux7-cat-icon.budget{width:36px;height:36px;flex-basis:36px;border-radius:11px}.ux7-cat-icon.budget svg{width:21px;height:21px}

.sheet.ux7-quick-entry-sheet{width:min(100%,500px);max-width:500px;max-height:calc(100dvh - 6px);overflow:hidden;padding:12px 13px calc(12px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;}
.ux7-quick-header{margin-bottom:7px;align-items:flex-start}.ux7-quick-header h2{font-size:18px;margin-top:1px}.ux7-quick-header .sheet-close{padding:1px 4px;font-size:21px}
.ux7-quick-fields{display:grid;grid-template-columns:.82fr 1.18fr;gap:7px;margin-bottom:7px}.ux7-value-box{margin:0;padding:7px 9px;border-radius:11px}.ux7-value-box>label,.ux7-description-box label{font-size:8.5px;margin-bottom:2px}.ux7-value-box .quick-entry-value-wrap{gap:4px}.ux7-value-box .quick-entry-value-wrap>span{font-size:11px}.ux7-value-box .quick-entry-value-wrap input{font-size:23px;min-height:30px}.ux7-description-box{margin:0}.ux7-description-box input{height:46px;min-height:46px;padding:8px 9px;font-size:12px}
.ux7-row-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}.ux7-row-title b{font-size:10px}.ux7-row-title small{min-width:0;color:var(--ink-soft);font-size:7.8px;line-height:1.2;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ux7-origin-section,.ux7-category-section{position:relative;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:7px 8px;margin-bottom:7px}
.ux7-origin-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:stretch}.ux7-origin-segment{display:flex;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:2px}.ux7-origin-segment button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--ink-soft);padding:6px 7px;border-radius:7px;font-size:9px;font-weight:800;cursor:pointer}.ux7-origin-segment button span{font-size:11px}.ux7-origin-segment button.active.account{background:var(--azul-bg);color:var(--azul)}.ux7-origin-segment button.active.card{background:var(--gold-bg);color:var(--gold-text)}.ux7-origin-segment button:disabled{opacity:.35}
.ux7-selected-account{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:4px 7px;text-align:left;cursor:pointer}.ux7-selected-account>span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.ux7-selected-account small{display:block;font-size:6.8px;letter-spacing:.05em;color:var(--ink-soft)}.ux7-selected-account b{display:block;overflow:hidden;text-overflow:ellipsis;font-size:9.7px}.ux7-selected-account i{font-style:normal;color:var(--ink-soft)}.ux7-selected-account.card{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:var(--gold-bg)}.ux7-selected-account.account{border-color:color-mix(in srgb,var(--azul) 38%,var(--line))}.ux7-selected-account:disabled{opacity:.75;cursor:default}
.ux7-account-picker{position:absolute;z-index:60;top:calc(100% - 3px);right:8px;left:8px;max-height:170px;overflow-y:auto;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 14px 30px rgba(0,0,0,.22)}.ux7-account-picker-title{padding:2px 3px 6px;color:var(--ink-soft);font-size:8px;font-weight:800}.ux7-account-picker button{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 4px;text-align:left;font-size:9.5px;cursor:pointer}.ux7-account-picker button:first-of-type{border-top:0}.ux7-account-picker button.selected{color:var(--gold-text)}.ux7-account-picker em{font-style:normal;font-size:7px;font-weight:800;color:var(--gold-text)}
.ux7-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.ux7-category-choice{display:flex;align-items:center;gap:5px;min-width:0;min-height:39px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:3px 5px;text-align:left;cursor:pointer}.ux7-category-choice .ux7-cat-icon{width:28px;height:28px;flex-basis:28px;border-radius:8px}.ux7-category-choice .ux7-cat-icon svg{width:17px;height:17px}.ux7-category-choice>span:last-child{min-width:0;font-size:8px;font-weight:750;line-height:1.05;overflow-wrap:anywhere}.ux7-category-choice.selected{border-color:var(--gold);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold-bg) 45%,var(--surface))}
.ux7-subcategory-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-top:6px;padding-top:5px;border-top:1px solid var(--line)}.ux7-subcategory-row>span{font-size:7.5px;font-weight:800;color:var(--ink-soft)}.ux7-subcategory-row>div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}.ux7-subcategory-row>div::-webkit-scrollbar{display:none}.ux7-subcategory-row button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);padding:4px 7px;font-size:7.7px;font-weight:700;white-space:nowrap}.ux7-subcategory-row button.selected{border-color:var(--gold);background:var(--gold-bg);color:var(--gold-text)}
.ux7-quick-footer-note{display:flex;justify-content:center;align-items:center;gap:5px;height:17px;color:var(--ink-soft);font-size:7.7px}.ux7-quick-footer-note #ux7-learned-label{color:var(--gold-text);font-weight:800}.ux7-quick-actions{grid-template-columns:1fr 1.35fr;gap:6px}.ux7-quick-actions .btn{min-height:38px;padding:7px;font-size:10px}

.plano-resumo-cat-head>.ux7-cat-icon.budget,.cat-head-name>.ux7-cat-icon.budget{margin-right:0}.plano-resumo-cat-head .ux7-cat-icon.budget{align-self:center}

@media(max-width:390px){.sheet.ux7-quick-entry-sheet{padding-left:9px;padding-right:9px}.ux7-quick-fields{grid-template-columns:.9fr 1.1fr}.ux7-category-grid{gap:4px}.ux7-category-choice{padding:3px;gap:3px}.ux7-category-choice>span:last-child{font-size:7.5px}.ux7-origin-segment button{padding:6px 5px}.ux7-row-title small{font-size:7px}}
@media(max-height:700px){.sheet.ux7-quick-entry-sheet{padding-top:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom))}.ux7-quick-header{margin-bottom:4px}.ux7-value-box .quick-entry-value-wrap input{font-size:20px}.ux7-quick-fields,.ux7-origin-section,.ux7-category-section{margin-bottom:4px}.ux7-category-choice{min-height:34px}.ux7-category-choice .ux7-cat-icon{width:24px;height:24px;flex-basis:24px}.ux7-category-choice .ux7-cat-icon svg{width:15px;height:15px}.ux7-subcategory-row{margin-top:4px;padding-top:3px}.ux7-quick-actions .btn{min-height:34px}.ux7-quick-footer-note{height:13px}}

/* ===== UX8 · Lançamento ultra rápido inteligente ===== */
.sheet.ux8-quick-entry-sheet{max-height:calc(100dvh - 4px);overflow:visible;}
.ux8-description-box{position:relative;z-index:35;}
.ux8-origin-section{z-index:30;}
.ux8-taxonomy-section{position:relative;z-index:25;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:7px 8px;margin-bottom:6px;}
.ux8-taxonomy-fields{display:grid;grid-template-columns:1.08fr .92fr;gap:6px;}
.ux8-taxonomy-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:5px;min-width:0;min-height:45px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:5px 7px;text-align:left;cursor:pointer;}
.ux8-taxonomy-field:active{transform:translateY(1px);}
.ux8-taxonomy-field:disabled{opacity:.5;cursor:default;}
.ux8-taxonomy-label{grid-column:1/-1;color:var(--ink-soft);font-size:7px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.ux8-taxonomy-value{display:flex;align-items:center;gap:5px;min-width:0;align-self:center;}
.ux8-taxonomy-value b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;line-height:1.15;}
.ux8-taxonomy-field>i{align-self:center;color:var(--ink-soft);font-size:10px;font-style:normal;}
.ux8-taxonomy-value .ux7-cat-icon{width:25px;height:25px;flex:0 0 25px;border-radius:7px;}
.ux8-taxonomy-value .ux7-cat-icon svg{width:15px;height:15px;}
.ux8-picker{position:absolute;z-index:90;left:8px;right:8px;max-height:min(240px,46dvh);overflow-y:auto;padding:7px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 16px 38px rgba(0,0,0,.28);}
.ux8-taxonomy-picker{top:calc(100% - 2px);}
.ux8-description-picker{top:calc(100% + 3px);left:0;right:0;}
.ux8-picker-title{padding:2px 4px 6px;color:var(--ink-soft);font-size:8px;font-weight:800;letter-spacing:.025em;}
.ux8-picker-list,.ux8-description-list{display:grid;gap:2px;}
.ux8-picker-list>button,.ux8-description-list>button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 4px;text-align:left;cursor:pointer;}
.ux8-picker-list.compact>button{grid-template-columns:minmax(0,1fr) auto;}
.ux8-picker-list>button:first-child,.ux8-description-list>button:first-child{border-top:0;}
.ux8-picker-list>button.selected{background:color-mix(in srgb,var(--gold-bg) 48%,transparent);border-radius:8px;}
.ux8-picker-list>button>span,.ux8-description-list>button>span{min-width:0;}
.ux8-picker-list b,.ux8-description-list b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.8px;}
.ux8-picker-list small,.ux8-description-list small{display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:7.2px;}
.ux8-picker-list em,.ux8-description-list em{font-style:normal;color:var(--gold-text);font-size:7px;font-weight:800;white-space:nowrap;}
.ux8-picker-list .ux7-cat-icon{width:28px;height:28px;flex-basis:28px;border-radius:8px;}
.ux8-picker-list .ux7-cat-icon svg{width:17px;height:17px;}
.ux8-description-list>button{grid-template-columns:minmax(0,1fr) auto;padding:6px 4px;}
.ux8-picker.open-up{top:auto !important;bottom:calc(100% + 5px) !important;}
.ux8-picker[hidden]{display:none !important;}
@media(min-width:700px){
  .sheet-backdrop.ux8-quick-backdrop{align-items:center;padding:18px;}
  .sheet-backdrop.ux8-quick-backdrop .sheet.ux8-quick-entry-sheet{border-radius:18px;}
}

.ux8-description-list em{border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:999px;padding:2px 6px;background:var(--gold-bg);}
.ux8-quick-footer-note{margin-top:-1px;}
.toast.toast-action{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:9px 10px 9px 14px;max-width:min(92%,440px);pointer-events:auto;}
.toast.toast-action>span{min-width:0;text-align:left;font-size:11.5px;line-height:1.25;}
.toast-undo-btn{flex:0 0 auto;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;padding:6px 9px;font:inherit;font-size:10.5px;font-weight:800;cursor:pointer;}
.toast-undo-btn:active{transform:translateY(1px);}
@media(max-width:390px){
  .ux8-taxonomy-fields{grid-template-columns:1fr 1fr;gap:4px;}
  .ux8-taxonomy-field{padding:4px 5px;min-height:41px;}
  .ux8-taxonomy-value b{font-size:8.7px;}
  .ux8-taxonomy-value .ux7-cat-icon{width:22px;height:22px;flex-basis:22px;}
  .ux8-taxonomy-value .ux7-cat-icon svg{width:14px;height:14px;}
}
@media(max-height:700px){
  .ux8-taxonomy-section{padding:5px 6px;margin-bottom:3px;}
  .ux8-taxonomy-field{min-height:38px;padding-top:3px;padding-bottom:3px;}
  .ux8-quick-fields{margin-bottom:3px;}
  .ux8-origin-section{margin-bottom:3px;}
  .ux8-quick-actions .btn{min-height:32px;}
}


/* ===== UX9 laboratório · Orçamento minimalista + padrão de recolhimento ===== */
.resumo-section-card-head{justify-content:space-between;gap:12px;}
.resumo-section-card-head>.ledger-label{min-width:0;flex:1;}
.resumo-section-card-head>.ledger-label span{display:block;}
.resumo-section-card-head>.ledger-label small{display:block;margin-top:3px;color:var(--ink-soft);font-size:10px;letter-spacing:0;font-weight:500;}
.resumo-collapse-title-row{justify-content:space-between;}
.resumo-collapse-btn{width:28px;height:28px;min-width:28px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer;}
.resumo-collapse-btn:hover{background:var(--surface-2);color:var(--ink);}
.resumo-collapse-btn .legend-chevron{width:16px;height:16px;}

/* No Orçamento, todos os ícones usam a mesma assinatura visual. */
.budget-page .ux7-cat-icon.budget{--cat-color:var(--gold-text) !important;color:var(--gold-text);background:color-mix(in srgb,var(--gold) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 22%,transparent);}

/* Categoria mais enxuta: apenas o valor planejado acompanha o nome. */
.budget-page .plano-resumo-cat-head{padding:9px 10px;gap:8px;}
.budget-page .plano-resumo-cat-head-wrap{grid-template-columns:minmax(0,1fr) 32px;}
.budget-page .plano-resumo-cat-head-wrap .plano-resumo-cat-head{grid-template-columns:36px minmax(0,1fr) auto 14px;}
.budget-page .plano-category-summary{min-width:98px;}
.budget-page .plano-category-summary small{font-size:9px;}
.budget-page .plano-category-summary b{font-size:11px;}
.budget-page .plano-resumo-sublist-editavel{padding:3px 10px 9px 54px;}
.budget-page .budget-sub-row{min-height:45px;padding:5px 0;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.budget-page .budget-sub-row .plano-sub-main{justify-content:center;}
.budget-page .plano-budget-field{min-width:108px;max-width:122px;gap:2px;}
.budget-page .plano-budget-input-wrap{min-height:31px;padding:0 7px;border-radius:7px;}
.budget-page .plano-budget-input-wrap input{height:28px;font-size:11.5px;}
.budget-page .plano-budget-field>small{font-size:8.5px;}
.budget-page .plano-category-budget-total{margin-top:4px;padding:8px 0 6px;}

/* Despesas por categoria: análise fica no Resumo, detalhada até subcategoria. */
.ux9-category-analysis{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);}
.ux9-category-card+.ux9-category-card{border-top:1px solid var(--line);}
.ux9-category-head{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto 14px;align-items:center;gap:9px;padding:11px 10px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;}
.ux9-category-head:hover{background:var(--surface-2);}
.ux9-category-head .ux7-cat-icon.summary-minimal{--cat-color:var(--gold-text) !important;width:34px;height:34px;flex-basis:34px;border-radius:10px;color:var(--gold-text);background:color-mix(in srgb,var(--gold) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);}
.ux9-category-head .ux7-cat-icon.summary-minimal svg{width:19px;height:19px;}
.ux9-category-name{min-width:0;}
.ux9-category-name b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ux9-category-name small{display:block;margin-top:2px;color:var(--ink-soft);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ux9-category-metrics{display:grid;grid-template-columns:repeat(3,minmax(70px,auto));gap:9px;align-items:center;text-align:right;}
.ux9-category-metrics>span{min-width:0;}
.ux9-category-metrics small{display:block;color:var(--ink-soft);font-size:8px;line-height:1.05;}
.ux9-category-metrics b{display:block;margin-top:2px;color:var(--ink);font-family:var(--font-mono);font-size:9.8px;white-space:nowrap;}
.ux9-category-metrics>span:first-child b{color:var(--gold-text);}
.ux9-category-metrics>span:nth-child(3) b{color:var(--gold-text);}
.ux9-subcategory-list{padding:1px 10px 7px 54px;background:color-mix(in srgb,var(--surface-2) 50%,transparent);}
.ux9-subcategory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent);}
.ux9-subcategory-row:first-child{border-top:0;}
.ux9-subcategory-name{font-size:10.5px;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ux9-category-metrics.compact{grid-template-columns:repeat(3,minmax(62px,auto));gap:8px;}
.ux9-category-metrics.compact small{font-size:7.7px;}
.ux9-category-metrics.compact b{font-size:9.2px;}
.ux9-no-subs{padding:10px 0;color:var(--ink-soft);font-size:10px;}

@media(max-width:620px){
  .budget-page .plano-resumo-sublist-editavel{padding-left:48px;padding-right:8px;}
  .budget-page .plano-budget-field{min-width:104px;max-width:112px;}
  .ux9-category-head{grid-template-columns:34px minmax(0,1fr) 14px;}
  .ux9-category-head>.ux9-category-metrics{grid-column:2/4;grid-row:2;text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px;}
  .ux9-category-head>.legend-chevron{grid-column:3;grid-row:1;}
  .ux9-subcategory-list{padding-left:43px;}
  .ux9-subcategory-row{grid-template-columns:1fr;gap:5px;padding:7px 0;}
  .ux9-category-metrics.compact{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;text-align:left;}
}
@media(max-width:390px){
  .budget-page .plano-resumo-sublist-editavel{padding-left:42px;}
  .budget-page .budget-sub-row{grid-template-columns:minmax(0,1fr) auto;}
  .budget-page .plano-budget-field{min-width:98px;max-width:104px;}
  .budget-page .plano-budget-input-wrap{padding:0 5px;}
  .budget-page .plano-inline-icon{width:27px;height:27px;padding:5px;}
}

/* ===== UX10 laboratório · Resumo do orçamento consolidado ===== */
/* Receitas e despesas usam exatamente a mesma altura de cabeçalho. */
.budget-page .plano-resumo-cat-head-wrap{min-height:66px;}
.budget-page .plano-resumo-cat-head-wrap .plano-resumo-cat-head{min-height:66px;}
.budget-page .plano-resumo-cat-head-wrap>.plano-inline-icon{align-self:center;}

/* O título externo já explica o card; dentro do gauge fica apenas o status. */
.ux10-status-orcamento .resumo-section-card-body{padding-top:4px;}
.ux10-budget-status .budget-gauge-card{margin-bottom:0;border:0;padding-top:2px;}
.ux10-budget-status .budget-gauge-title{justify-content:flex-end;min-height:26px;}
.ux10-budget-status .budget-gauge-title>span{display:none;}
.ux10-budget-status .budget-gauge-title>b{font-size:10.5px;}

/* Despesas por categoria: barras de realizado + extensão prevista. */
.ux10-category-overview{display:flex;flex-direction:column;gap:14px;}
.ux10-category-bars{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.ux10-budget-cat+.ux10-budget-cat{border-top:1px solid var(--line);}
.ux10-budget-cat-head{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:9px;padding:10px;border:0;background:transparent;color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer;}
.ux10-budget-cat-head:hover{background:var(--surface-2);}
.ux10-budget-cat-head .ux7-cat-icon.summary-progress{width:32px;height:32px;flex-basis:32px;border-radius:9px;}
.ux10-budget-cat-head .ux7-cat-icon.summary-progress svg{width:18px;height:18px;}
.ux10-budget-cat-main{display:block;min-width:0;}
.ux10-budget-cat-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:7px;min-width:0;}
.ux10-budget-cat-line>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;}
.ux10-budget-values{display:flex;align-items:baseline;gap:4px;white-space:nowrap;font-family:var(--font-mono);font-size:9.7px;color:var(--ink-soft);}
.ux10-budget-values strong{color:var(--ink);font-size:10.2px;}
.ux10-budget-values i{font-style:normal;color:var(--line-strong,var(--ink-soft));}
.ux10-budget-pct{min-width:34px;padding:2px 5px;border-radius:99px;font-style:normal;font-size:8.7px;font-weight:700;text-align:center;white-space:nowrap;}
.ux10-budget-pct.safe{background:color-mix(in srgb,var(--azul) 13%,var(--surface));color:var(--azul);}
.ux10-budget-pct.warning{background:var(--gold-bg);color:var(--gold-text);}
.ux10-budget-pct.danger{background:var(--despesa-bg);color:var(--despesa-text);}
.ux10-progress{position:relative;height:6px;margin-top:6px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--line) 70%,transparent);}
.ux10-progress.small{height:5px;margin-top:5px;}
.ux10-progress-realized,.ux10-progress-forecast{position:absolute;top:0;bottom:0;display:block;}
.ux10-progress.safe .ux10-progress-realized{background:var(--azul);}
.ux10-progress.warning .ux10-progress-realized{background:var(--gold);}
.ux10-progress.danger .ux10-progress-realized{background:var(--despesa-text);}
.ux10-progress-forecast{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--gold) 72%,transparent) 0 4px,transparent 4px 7px);border-left:1px solid color-mix(in srgb,var(--gold) 75%,transparent);}
.ux10-budget-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px;color:var(--ink-soft);font-size:8.2px;}
.ux10-budget-caption .forecast{color:var(--gold-text);}
.ux10-budget-caption .forecast b{font-family:var(--font-mono);font-size:8.5px;}

.ux10-sub-list{padding:2px 10px 8px 53px;background:color-mix(in srgb,var(--surface-2) 48%,transparent);}
.ux10-sub-row{padding:7px 0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);}
.ux10-sub-row:first-child{border-top:0;}
.ux10-sub-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.ux10-sub-top>b{font-size:9.8px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ux10-sub-top>span{font-family:var(--font-mono);font-size:8.6px;color:var(--ink-soft);white-space:nowrap;}
.ux10-sub-top strong{color:var(--ink);}
.ux10-sub-row>small{display:block;margin-top:3px;color:var(--gold-text);font-size:8px;text-align:right;}
.ux10-sub-empty{padding:9px 0;color:var(--ink-soft);font-size:9px;}

/* Rosca volta, mas como leitura complementar dentro do mesmo card. */
.ux10-distribution{padding-top:13px;border-top:1px solid var(--line);}
.ux10-distribution-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 2px 9px;}
.ux10-distribution-title b{display:block;font-size:11.5px;}
.ux10-distribution-title small{display:block;margin-top:2px;color:var(--ink-soft);font-size:10.5px;line-height:1.4;}
.ux10-distribution-layout{display:grid;grid-template-columns:122px minmax(0,1fr);gap:14px;align-items:center;}
.ux10-donut-wrap{display:grid;place-items:center;}
.ux10-donut{width:118px;height:118px;display:block;}
.ux10-distribution-legend{display:flex;flex-direction:column;gap:5px;min-width:0;}
.ux10-distribution-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;}
.ux10-distribution-name{display:flex;align-items:center;gap:6px;min-width:0;}
.ux10-distribution-name i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;}
.ux10-distribution-name b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;}
.ux10-distribution-row>span:last-child{display:flex;align-items:baseline;gap:7px;white-space:nowrap;}
.ux10-distribution-row strong{font-size:9px;}
.ux10-distribution-row small{font-family:var(--font-mono);font-size:8.4px;color:var(--ink-soft);}
.ux10-distribution-empty{display:flex;flex-direction:column;gap:4px;color:var(--ink-soft);font-size:9px;}
.ux10-distribution-empty b{color:var(--ink);font-size:11px;}

.ux10-budget-legend{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding-top:1px;color:var(--ink-soft);font-size:11px;line-height:1.4;}
.ux10-budget-legend>span{display:inline-flex;align-items:center;gap:5px;line-height:1.4;}
.ux10-budget-legend i{width:14px;height:5px;border-radius:99px;display:inline-block;}
.ux10-budget-legend i.solid{background:var(--azul);}
.ux10-budget-legend i.striped{background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px 5px);}
.ux10-budget-legend small{flex:1 1 100%;color:var(--ink-soft);font-size:11px;line-height:1.45;}

/* Esta leitura agora pertence ao status + categorias; Economia não repete a previsão. */
.economia-previsao-note{display:none!important;}

@media(max-width:620px){
  .ux10-budget-cat-head{grid-template-columns:32px minmax(0,1fr) 13px;gap:7px;padding:9px 8px;}
  .ux10-budget-cat-line{grid-template-columns:minmax(0,1fr) auto;gap:5px;}
  .ux10-budget-cat-line>.ux10-budget-pct{grid-column:2;grid-row:2;justify-self:end;margin-top:-1px;}
  .ux10-budget-values{grid-column:2;grid-row:1;font-size:8.7px;}
  .ux10-budget-values strong{font-size:9.2px;}
  .ux10-sub-list{padding-left:47px;padding-right:8px;}
  .ux10-distribution-layout{grid-template-columns:105px minmax(0,1fr);gap:9px;}
  .ux10-donut{width:102px;height:102px;}
  .ux10-distribution-name b{font-size:8.5px;}
  .ux10-distribution-row small{font-size:7.8px;}
}
@media(max-width:390px){
  .budget-page .plano-resumo-cat-head-wrap,.budget-page .plano-resumo-cat-head-wrap .plano-resumo-cat-head{min-height:62px;}
  .ux10-budget-values{font-size:8px;gap:3px;}
  .ux10-budget-values strong{font-size:8.5px;}
  .ux10-budget-pct{font-size:8px;min-width:31px;}
  .ux10-distribution-layout{grid-template-columns:92px minmax(0,1fr);}
  .ux10-donut{width:90px;height:90px;}
  .ux10-distribution-row>span:last-child{gap:4px;}
}


/* UX11 ajustes: ícones neutros + projeção nas despesas por categoria */
.ux10-budget-cat-head .ux7-cat-icon.summary-progress{
  --cat-color: var(--gold-text) !important;
  color: var(--gold-text);
  background: color-mix(in srgb,var(--gold) 11%,var(--surface));
  border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);
}
.ux10-budget-caption.two-lines{display:grid;gap:3px;align-items:start;justify-content:stretch;}
.ux10-budget-caption.two-lines .primary-line,
.ux10-budget-caption.two-lines .secondary-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.ux10-budget-caption.two-lines b{font-family:var(--font-mono);font-size:8.6px;}
.ux10-budget-caption.two-lines .secondary-line{font-size:8px;}
.ux10-budget-caption .safe{color:var(--receita-text);}
.ux10-budget-caption .danger{color:var(--despesa-text);}
.ux10-budget-caption .muted{color:var(--ink-soft);}
.ux10-sub-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px;color:var(--ink-soft);font-size:8px;line-height:1.35;}
.ux10-sub-summary b{font-family:var(--font-mono);font-size:8.4px;}
.ux10-sub-summary .safe{color:var(--receita-text);}
.ux10-sub-summary .danger{color:var(--despesa-text);}
.ux10-sub-summary .muted{color:var(--ink-soft);}
@media(max-width:520px){
  .ux10-budget-caption.two-lines .primary-line,
  .ux10-budget-caption.two-lines .secondary-line,
  .ux10-sub-summary{gap:5px;}
}


/* UX10.2 simplificação do card Despesa por categoria */
.ux10-budget-cat-line.simple{display:block;}
.ux10-budget-cat-line.simple>b{font-size:11.7px;}
.ux10-budget-caption.simplified{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:5px;color:var(--ink-soft);font-size:8px;align-items:start;}
.ux10-budget-caption.simplified>span{display:flex;flex-direction:column;gap:1px;min-width:0;}
.ux10-budget-caption.simplified small{font-size:7.6px;color:inherit;line-height:1.2;}
.ux10-budget-caption.simplified b{font-family:var(--font-mono);font-size:9px;color:var(--ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ux10-budget-caption.simplified .safe small,.ux10-budget-caption.simplified .safe b{color:var(--receita-text);}
.ux10-budget-caption.simplified .danger small,.ux10-budget-caption.simplified .danger b{color:var(--despesa-text);}
.ux10-budget-caption.simplified .muted small,.ux10-budget-caption.simplified .muted b{color:var(--ink-soft);}
.ux10-sub-top.simple{display:block;}
.ux10-sub-summary.simplified{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:4px;color:var(--ink-soft);font-size:7.8px;line-height:1.3;}
.ux10-sub-summary.simplified>span{display:flex;flex-direction:column;gap:1px;min-width:0;}
.ux10-sub-summary.simplified small{font-size:7.3px;color:inherit;line-height:1.2;}
.ux10-sub-summary.simplified b{font-family:var(--font-mono);font-size:8.4px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ux10-sub-summary.simplified .safe small,.ux10-sub-summary.simplified .safe b{color:var(--receita-text);}
.ux10-sub-summary.simplified .danger small,.ux10-sub-summary.simplified .danger b{color:var(--despesa-text);}
.ux10-sub-summary.simplified .muted small,.ux10-sub-summary.simplified .muted b{color:var(--ink-soft);}
@media(max-width:560px){
  .ux10-budget-caption.simplified,.ux10-sub-summary.simplified{grid-template-columns:1fr;gap:4px;}
}

/* UX11 laboratório — faturas explicadas para usuário leigo */
.ux11-invoice-guide{margin:0 0 12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,var(--gold) 6%),var(--surface));box-shadow:var(--shadow-soft);}
.ux11-invoice-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.ux11-invoice-guide-head>div{display:grid;gap:2px;}
.ux11-invoice-guide-head span{font-size:8px;font-weight:800;letter-spacing:.09em;color:var(--gold-text);}
.ux11-invoice-guide-head b{font-size:14px;color:var(--ink);}
.ux11-invoice-guide-head small{max-width:720px;color:var(--ink-soft);font-size:9.3px;line-height:1.4;}
.ux11-invoice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ux11-invoice-card{position:relative;display:grid;gap:3px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);text-align:left;font-family:var(--font-body);cursor:pointer;transition:.16s ease;}
.ux11-invoice-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 40%,var(--line));}
.ux11-invoice-card.current{background:color-mix(in srgb,var(--gold-bg) 38%,var(--surface));border-color:color-mix(in srgb,var(--gold) 30%,var(--line));}
.ux11-invoice-card>small{font-size:7.8px;font-weight:800;letter-spacing:.06em;color:var(--ink-soft);padding-right:70px;}
.ux11-invoice-card>b{font-size:10.2px;color:var(--ink);}
.ux11-invoice-card>strong{font-family:var(--font-mono);font-size:18px;line-height:1.15;color:var(--ink);margin:2px 0;}
.ux11-invoice-card>em{font-style:normal;color:var(--ink-soft);font-size:8.5px;line-height:1.35;}
.ux11-invoice-status{position:absolute;right:8px;top:8px;padding:3px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:7.4px;font-weight:750;color:var(--ink-soft);white-space:nowrap;}
.ux11-invoice-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:9px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line);}
.ux11-invoice-facts>span{display:grid;gap:1px;padding:8px;background:var(--surface);}
.ux11-invoice-facts small{font-size:7.2px;color:var(--ink-soft);font-weight:750;letter-spacing:.04em;}
.ux11-invoice-facts b{font-size:9.5px;color:var(--ink);}
.ux11-invoice-now{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:7px 9px;border-radius:9px;background:color-mix(in srgb,var(--azul) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--azul) 18%,var(--line));}
.ux11-invoice-now span{font-size:8.4px;color:var(--ink-soft);}
.ux11-invoice-now b{font-size:8.8px;color:var(--ink);text-align:right;}
.ux11-quick-invoice-hint{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:6px;padding:6px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));background:color-mix(in srgb,var(--gold-bg) 46%,var(--surface));}
.ux11-quick-invoice-hint[hidden]{display:none!important;}
.ux11-quick-invoice-hint span{font-size:7.6px;font-weight:750;color:var(--gold-text);text-transform:uppercase;letter-spacing:.04em;}
.ux11-quick-invoice-hint b{font-size:8.4px;line-height:1.3;color:var(--ink);text-align:right;}
.card-cycle-control-grid>label:nth-child(2)>span{text-transform:none;letter-spacing:0;font-size:9.6px;}
@media(max-width:640px){
  .ux11-invoice-guide{padding:10px;}
  .ux11-invoice-cards{grid-template-columns:1fr;}
  .ux11-invoice-card>strong{font-size:16px;}
  .ux11-invoice-facts{grid-template-columns:repeat(3,1fr);}
  .ux11-invoice-facts>span{padding:7px 6px;}
  .ux11-invoice-now{align-items:flex-start;flex-direction:column;gap:2px;}
  .ux11-invoice-now b{text-align:left;}
}


/* UX12 · Cartão pronto para uso + fatura inicial explicada */
.ux12-card-setup{border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:10px;background:var(--surface-2)}
.ux12-card-setup.pending{border-color:color-mix(in srgb,var(--gold) 42%,var(--line));background:color-mix(in srgb,var(--gold-bg) 45%,var(--surface))}
.ux12-card-setup.ready{border-color:color-mix(in srgb,var(--receita) 26%,var(--line));}
.ux12-card-setup-head{display:flex;align-items:flex-start;gap:9px}.ux12-card-setup-head>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;flex:0 0 25px;background:var(--surface);border:1px solid var(--line);font-weight:800}.ux12-card-setup.pending .ux12-card-setup-head>span{color:var(--gold-text)}.ux12-card-setup.ready .ux12-card-setup-head>span{color:var(--receita-text)}
.ux12-card-setup-head div{display:grid;gap:2px}.ux12-card-setup-head b{font-size:11.5px}.ux12-card-setup-head small{font-size:9px;line-height:1.4;color:var(--ink-soft)}
.ux12-card-setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.ux12-card-setup-steps>span{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:6px;row-gap:1px;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.ux12-card-setup-steps i{grid-row:1/3;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:800;background:var(--surface-2);color:var(--ink-soft)}.ux12-card-setup-steps b{font-size:9px}.ux12-card-setup-steps small{font-size:8px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux12-card-setup-steps .done i{background:color-mix(in srgb,var(--receita) 13%,var(--surface));color:var(--receita-text)}
.ux12-card-cycle-help{display:block!important;line-height:1.45!important}.ux12-card-cycle-help b{color:var(--ink)}
.ux12-initial-config{align-items:center}.ux12-initial-config>span small{line-height:1.4}
.ux12-initial-editor{display:grid;gap:10px}.ux12-initial-explainer{border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));background:color-mix(in srgb,var(--gold-bg) 42%,var(--surface));border-radius:12px;padding:11px;display:grid;gap:6px}.ux12-initial-explainer>b{font-size:12px}.ux12-initial-explainer p,.ux12-initial-explainer small{margin:0;color:var(--ink-soft);font-size:9.5px;line-height:1.5}.ux12-initial-explainer strong,.ux12-initial-explainer small b{color:var(--ink)}.ux12-initial-example{border-left:2px solid var(--gold);padding-left:8px;display:grid;gap:2px}.ux12-initial-example>span{font-size:8px;font-weight:800;color:var(--gold-text);text-transform:uppercase;letter-spacing:.04em}
.ux7-origin-segment button.needs-setup{opacity:1;border-style:dashed}.ux7-origin-segment button.needs-setup small{display:block;font-size:6.8px;line-height:1;color:var(--gold-text);font-weight:800;margin-left:3px}
.ux12-card-config-hint{margin-top:7px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--gold-bg) 40%,var(--surface));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center}.ux12-card-config-hint[hidden]{display:none}.ux12-card-config-hint b{font-size:9.5px}.ux12-card-config-hint span{font-size:8.3px;color:var(--ink-soft);line-height:1.35}.ux12-card-config-hint button{grid-column:2;grid-row:1/3;border:0;border-radius:8px;padding:7px 9px;background:var(--gold);color:#18242b;font-size:8px;font-weight:800;cursor:pointer}
.ux12-invoice-config-needed{display:grid;gap:10px}.ux12-report-setup-head{display:flex;gap:9px;align-items:flex-start}.ux12-report-setup-head>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--gold-bg);color:var(--gold-text);font-weight:900}.ux12-report-setup-head div{display:grid;gap:2px}.ux12-report-setup-head b{font-size:12px}.ux12-report-setup-head small{font-size:9px;line-height:1.45;color:var(--ink-soft)}.ux12-report-setup-steps{display:flex;gap:7px;flex-wrap:wrap}.ux12-report-setup-steps span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:99px;font-size:8.5px;color:var(--ink-soft)}.ux12-report-setup-steps i{font-style:normal;font-weight:800}.ux12-report-setup-steps span.done{color:var(--receita-text);border-color:color-mix(in srgb,var(--receita) 24%,var(--line))}
.ux12-report-initial{margin-top:8px;border-top:1px solid var(--line);padding-top:8px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;align-items:center}.ux12-report-initial>span{display:grid;gap:1px}.ux12-report-initial b{font-size:9px}.ux12-report-initial small{font-size:8px;color:var(--ink-soft);font-family:var(--font-mono)}.ux12-report-initial em{font-style:normal;font-size:8px;line-height:1.4;color:var(--ink-soft)}
@media(max-width:560px){.ux12-card-setup-steps{grid-template-columns:1fr}.ux12-report-initial{grid-template-columns:1fr}.ux12-card-config-hint{grid-template-columns:1fr}.ux12-card-config-hint button{grid-column:1;grid-row:auto;justify-self:start;margin-top:4px}}

/* UX13 · configuração do cartão dentro de Faturas + orçamento editável na subcategoria */
.ux13-inline-card-setup{display:grid;gap:11px;border-color:color-mix(in srgb,var(--gold) 34%,var(--line));}
.ux13-inline-setup-title{display:grid;gap:3px;}
.ux13-inline-setup-title>span{font-size:7.8px;font-weight:850;letter-spacing:.08em;color:var(--gold-text);}
.ux13-inline-setup-title>b{font-size:14px;color:var(--ink);}
.ux13-inline-setup-title>small{max-width:760px;font-size:9.2px;line-height:1.45;color:var(--ink-soft);}
.ux13-inline-setup-fields{display:grid;gap:7px;}
.ux13-inline-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px);align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);}
.ux13-inline-step>span{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:7px;row-gap:1px;align-items:center;}
.ux13-inline-step>span>i{grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);font-style:normal;font-size:8.5px;font-weight:850;color:var(--ink-soft);}
.ux13-inline-step.done>span>i{color:var(--receita-text);background:color-mix(in srgb,var(--receita) 12%,var(--surface));border-color:color-mix(in srgb,var(--receita) 22%,var(--line));}
.ux13-inline-step b{font-size:9.8px;color:var(--ink);}
.ux13-inline-step small{font-size:8px;line-height:1.3;color:var(--ink-soft);}
.ux13-inline-step select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);padding:6px 30px 6px 9px;font:inherit;font-size:9px;}
.ux13-inline-save{justify-self:start;min-width:190px;}
.ux13-inline-after{margin:0;font-size:8.3px;line-height:1.4;color:var(--ink-soft);}
.ux13-inline-no-account{display:grid;gap:2px;padding:9px 10px;border-radius:10px;background:var(--despesa-bg);border:1px solid color-mix(in srgb,var(--despesa) 18%,var(--line));}
.ux13-inline-no-account b{font-size:9px;color:var(--despesa-text);}.ux13-inline-no-account span{font-size:8px;color:var(--ink-soft);}
.ux13-guide-head{align-items:flex-start;}.ux13-review-card{border:0;background:transparent;color:var(--gold-text);font-size:8.2px;font-weight:750;white-space:nowrap;cursor:pointer;padding:3px 0;}
.ux13-review-card:hover{text-decoration:underline;}
.ux13-initial-question{display:grid;gap:8px;text-align:center;padding:6px 2px 2px;}
.ux13-initial-question-ok{width:38px;height:38px;margin:0 auto 1px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--receita) 13%,var(--surface));color:var(--receita-text);font-size:18px;font-weight:900;}
.ux13-initial-question>b{font-size:14px;color:var(--ink);}.ux13-initial-question>p{margin:0 auto;max-width:520px;color:var(--ink-soft);font-size:9.5px;line-height:1.5;}
.ux13-initial-question-explain{display:grid;gap:3px;text-align:left;padding:10px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--gold-bg) 38%,var(--surface));}
.ux13-initial-question-explain b{font-size:10px;}.ux13-initial-question-explain span{font-size:8.8px;line-height:1.45;color:var(--ink-soft);}
.ux13-initial-question>small{text-align:left;color:var(--ink-soft);font-size:8.2px;line-height:1.4;}
.ux13-initial-question-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px;}

/* barras: categoria mais forte, subcategoria mais fina */
.ux13-budget-bar-wrap{position:relative;padding-bottom:6px;}
.ux13-budget-bar-wrap.subcategory{padding-bottom:5px;}
.ux13-budget-bar-wrap .ux10-progress{height:8px;margin-top:6px;overflow:visible;background:color-mix(in srgb,var(--line) 58%,transparent);}
.ux13-budget-bar-wrap.subcategory .ux10-progress{height:4px;margin-top:5px;}
.ux13-progress-realized,.ux13-progress-forecast,.ux13-progress-overflow{position:absolute;top:0;bottom:0;display:block;}
.ux13-progress-realized{left:0;background:var(--receita);border-radius:99px 0 0 99px;}
.ux13-progress-forecast{background:var(--gold);}
.ux13-progress-overflow{background:var(--despesa);border-radius:0 99px 99px 0;}
.ux13-budget-marker{position:absolute;top:-3px;bottom:-3px;width:1.5px;transform:translateX(-1px);background:var(--ink);border-radius:2px;z-index:4;}
.ux13-budget-bar-wrap.subcategory .ux13-budget-marker{top:-2px;bottom:-2px;width:1px;}
.ux13-projected-pointer{position:absolute;bottom:0;width:0;height:0;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid var(--ink-soft);}
.ux13-budget-bar-wrap.subcategory .ux13-projected-pointer{border-left-width:3px;border-right-width:3px;border-bottom-width:4px;}

/* orçamento editável somente na linha atômica da subcategoria */
.ux13-sub-budget-chip{display:flex!important;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:3px 6px;border:1px dashed color-mix(in srgb,var(--ink-soft) 45%,var(--line));border-radius:8px;background:var(--surface);color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer;position:relative;}
.ux13-sub-budget-chip:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold-bg) 28%,var(--surface));}
.ux13-sub-budget-chip small{font-size:7.3px!important;color:var(--ink-soft)!important;}.ux13-sub-budget-chip b{font-family:var(--font-mono);font-size:8.4px!important;color:var(--ink)!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ux13-sub-budget-chip i{position:absolute;right:4px;top:3px;font-style:normal;font-size:7px;color:var(--ink-soft);}
.ux13-sub-budget-editor{display:flex;flex-direction:column;gap:1px;min-width:0;padding:3px 5px;border:1px solid var(--gold);border-radius:8px;background:var(--surface);}
.ux13-sub-budget-editor>small{font-size:7.3px;color:var(--gold-text);}.ux13-sub-budget-editor>span{display:flex;align-items:center;gap:3px;min-width:0;}.ux13-sub-budget-editor i{font-style:normal;font-size:7px;color:var(--ink-soft);}
.ux13-sub-budget-editor input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:8.6px;padding:0;}
.ux10-sub-summary.simplified>button{min-width:0;}
.ux10-sub-list{border-left:1px solid color-mix(in srgb,var(--gold) 20%,var(--line));}

/* legenda alinhada às novas barras */
.ux10-budget-legend i.solid{background:var(--receita);}
.ux10-budget-legend i.forecast-solid{background:var(--gold);}
.ux10-budget-legend i.overflow{background:var(--despesa);}

@media(max-width:640px){
  .ux13-inline-step{grid-template-columns:1fr;gap:6px;}
  .ux13-inline-save{width:100%;justify-self:stretch;}
  .ux13-guide-head{display:grid;grid-template-columns:1fr;gap:4px;}.ux13-review-card{justify-self:start;}
  .ux13-initial-question-actions{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .ux10-budget-caption.simplified,.ux10-sub-summary.simplified{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
  .ux10-sub-summary.simplified small{white-space:normal;}
  .ux13-sub-budget-chip{padding-right:13px;}
}
.ux13-initial-help{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ux13-initial-help>span{display:grid;gap:1px;}.ux13-initial-help b{font-size:8.8px;}.ux13-initial-help small{font-size:7.9px;line-height:1.35;color:var(--ink-soft);}
.ux13-initial-help-btn{border:0;background:transparent;color:var(--gold-text);font-size:8px;font-weight:750;white-space:nowrap;cursor:pointer;padding:3px 0;}
.ux13-initial-help-btn:hover{text-decoration:underline;}
.ux12-report-initial{grid-template-columns:auto minmax(0,1fr) auto;}
@media(max-width:560px){.ux13-initial-help{align-items:flex-start;flex-direction:column;gap:3px}.ux12-report-initial{grid-template-columns:1fr}.ux13-initial-help-btn{justify-self:start;}}


/* UX14 · distribuição projetada, hierarquia e pendências */
.ux13-budget-bar-wrap .ux10-progress{height:6px;}
.ux13-budget-bar-wrap.subcategory .ux10-progress{height:3px;}
.ux10-distribution-row.clickable{width:100%;border:0;background:transparent;color:inherit;padding:2px 0;font:inherit;text-align:left;cursor:pointer;border-radius:6px;}
.ux10-distribution-row.clickable:hover{background:var(--surface-2);}
.ux10-distribution-row.subcategory{padding:2px 0;}
.ux14-donut-back{display:block;border:0;background:transparent;color:var(--azul);font:inherit;font-size:8.5px;font-weight:700;padding:0 0 4px;cursor:pointer;}
.ux14-category-detail-title{display:flex;flex-direction:column;gap:2px;margin:12px 0 5px;padding-top:10px;border-top:1px solid var(--line);}
.ux14-category-detail-title>b{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;}
.ux14-category-detail-title>small{font-size:11px;color:var(--ink-soft);line-height:1.45;}
.means-spend-section+.means-spend-section{margin-top:10px;}
.means-spend-section-title{padding:5px 10px 4px;font-size:8.5px;font-weight:800;letter-spacing:.09em;color:var(--ink-soft);}
.ux14-account-pending{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 11px 10px 12px;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-left:4px solid var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--surface));border-radius:12px;}
.ux14-account-pending>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ux14-account-pending b{font-size:10px;color:var(--gold-text);}
.ux14-account-pending span{font-size:8.6px;color:var(--ink-soft);line-height:1.35;}
.ux14-account-pending button{border:0;background:var(--ink);color:var(--surface);border-radius:9px;padding:7px 10px;font-size:8.5px;font-weight:700;cursor:pointer;}
.bank-statement-base-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px;}
.onboarding-reports-tip{display:flex;flex-direction:column;gap:7px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);}
.onboarding-reports-tip>b{font-size:11px;}
.onboarding-reports-tip>span{font-size:9px;color:var(--ink-soft);line-height:1.4;}
.onboarding-reports-tip>span strong{color:var(--ink);}
.onboarding-reports-tip>small{font-size:8px;color:var(--ink-soft);}
@media(max-width:560px){
  .ux14-account-pending{align-items:flex-start;}
}


/* UX15 · drill-down da rosca consistente + correção em lote de conta */
.ux15-donut-level-head{display:flex;align-items:center;gap:10px;margin:0 2px 10px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.ux15-donut-back{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:6px 9px;font:700 8.5px/1 var(--font-body);cursor:pointer;}
.ux15-donut-back:hover{background:var(--surface-2);}
.ux15-donut-level-head>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ux15-donut-level-head b{font-size:11.5px;}
.ux15-donut-level-head small{font-size:8.5px;line-height:1.35;color:var(--ink-soft);}
.ux15-subcategory-distribution-row{padding:2px 0;background:transparent!important;color:inherit!important;opacity:1!important;}
.ux15-subcategory-distribution-row .ux10-distribution-name b{color:var(--ink);}
.ux15-subcategory-distribution-row>span:last-child strong{color:var(--ink);}
.ux15-distribution-detail .ux10-distribution-layout{padding-top:1px;}

.ux15-bulk-account-toolbar{display:grid;gap:8px;margin:9px 0 11px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);}
.ux15-bulk-account-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ux15-bulk-account-top label{display:inline-flex;align-items:center;gap:6px;font-size:8.8px;font-weight:650;color:var(--ink);cursor:pointer;}
.ux15-bulk-account-top input{width:15px;height:15px;accent-color:var(--gold);}
.ux15-bulk-account-top>b{font-size:8.5px;color:var(--ink-soft);white-space:nowrap;}
.ux15-bulk-account-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;}
.ux15-bulk-account-actions label{display:grid;gap:4px;min-width:0;}
.ux15-bulk-account-actions label>span{font-size:8.2px;font-weight:650;color:var(--ink-soft);}
.ux15-bulk-account-actions select{width:100%;min-height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:0 9px;font:9px var(--font-body);}
.bank-statement-entry.bulk-selected{background:color-mix(in srgb,var(--gold-bg) 58%,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--gold) 62%,transparent);}
.report-review-check.ux15-bulk-check.checked{border-color:color-mix(in srgb,var(--gold) 68%,var(--line));background:color-mix(in srgb,var(--gold-bg) 88%,var(--surface));color:var(--gold-text);}
@media(max-width:560px){
  .ux15-donut-level-head{align-items:flex-start;}
  .ux15-bulk-account-actions{grid-template-columns:1fr;}
  .ux15-bulk-account-actions .btn{width:100%;justify-content:center;}
}


/* UX15.2 · período fixo no Resumo/Lançamentos + voltar ao topo consistente */
.month-picker.main-period-sticky{
  position:sticky;
  top:calc(52px + env(safe-area-inset-top));
  z-index:19;
  margin-top:0;
  margin-bottom:6px;
  padding:7px 0 7px;
  background:var(--paper);
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  box-shadow:0 5px 10px color-mix(in srgb,var(--paper) 88%,transparent);
}
/* Em Lançamentos, a busca permanece logo abaixo do período fixo. */
.month-picker.main-period-sticky + .lancamentos-search-sticky,
.month-picker.main-period-sticky ~ .lancamentos-search-sticky{
  top:calc(104px + env(safe-area-inset-top));
}
/* Como o card de totais fica entre período e busca, o seletor continua fixo e a busca
   só fixa abaixo dele quando alcança a região sticky. */
@media(max-width:519px){
  .month-picker.main-period-sticky{padding-left:1px;padding-right:1px;}
}
@media print{ .month-picker.main-period-sticky{position:static!important;} }


/* ===== UX15.3 · privacidade da rosca, serrilhado no diagnóstico e transferência central ===== */
.ux5-month-status{
  position:relative;
  overflow:visible;
}
.ux5-month-status::after{
  display:block;
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:9px;
  pointer-events:none;
  background:radial-gradient(circle at 6px 9px, var(--paper) 5px, transparent 5.5px) 0 0 / 12px 9px repeat-x;
  z-index:2;
  opacity:.96;
}
.sheet-backdrop.entry-centered-backdrop{
  align-items:center;
  padding:18px;
}
.sheet-backdrop.entry-centered-backdrop .sheet.entry-centered-sheet{
  width:min(100%,500px);
  max-width:500px;
  max-height:calc(100dvh - 36px);
  border-radius:18px;
  transform:translateY(10px) scale(.99);
}
.sheet-backdrop.entry-centered-backdrop.open .sheet.entry-centered-sheet{
  transform:translateY(0) scale(1);
}
@media(max-width:620px){
  .sheet-backdrop.entry-centered-backdrop{padding:12px;}
  .sheet-backdrop.entry-centered-backdrop .sheet.entry-centered-sheet{max-height:calc(100dvh - 24px);border-radius:18px;}
}

/* ======================================================================
   UX16 · refinamento mobile
   - onboarding com apresentação única
   - calculadora YAKO nos valores
   - Resumo compacto em 3 pilares
   - lançamento rápido e seletores corrigidos
   - Orçamento / Extrato / Faturas mais compactos
   ====================================================================== */

.onboarding-welcome-card{
  display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--gold-bg) 44%,var(--surface)),var(--surface));
  box-shadow:var(--shadow-soft);
}
.onboarding-welcome-mark{display:flex;justify-content:center;padding:4px 0 2px;}
.onboarding-welcome-mark img{width:min(190px,62%);height:auto;object-fit:contain;}
.onboarding-welcome-card h3{margin:0;text-align:center;font-size:20px;line-height:1.15;color:var(--ink);}
.onboarding-welcome-card>p{margin:0;text-align:center;color:var(--ink-soft);font-size:12px;line-height:1.55;}
.onboarding-welcome-list{display:grid;gap:7px;margin-top:2px;}
.onboarding-welcome-list span{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);}
.onboarding-welcome-list i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--gold-bg);color:var(--gold-text);font:800 11px var(--font-mono);font-style:normal;}
.onboarding-welcome-list b{font-size:10.5px;line-height:1.25;color:var(--ink);}
.onboarding-welcome-card>small{display:block;color:var(--ink-soft);font-size:9.5px;line-height:1.45;text-align:center;}
.onboarding-step.welcome-step .onboarding-title-block{text-align:center;margin-top:4px;}
.onboarding-step.welcome-step .onboarding-title-block p{max-width:470px;margin-left:auto;margin-right:auto;}
.onboarding-start{min-height:46px;}

/* Teclado YAKO acima do restante do modal e da navegação. */
.calc-keyboard-dock{z-index:10050 !important;}

/* O seletor de categoria deve sempre ficar acima do bloco Conta/Cartão. */
.ux8-description-box{z-index:80;}
.ux8-taxonomy-section{z-index:70;}
.ux8-origin-section{z-index:30;}
.ux8-picker{z-index:120;}

/* Categorias no lançamento rápido usam a assinatura neutra/minimalista do YAKO. */
.ux8-taxonomy-section .ux7-cat-icon,
.ux8-taxonomy-picker .ux7-cat-icon,
.ux8-description-picker .ux7-cat-icon{
  --cat-color:var(--gold-text) !important;
  color:var(--gold-text) !important;
  background:color-mix(in srgb,var(--gold) 11%,var(--surface)) !important;
  border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);
}

@media(max-width:620px){
  /* Resumo: um único card com os três pilares lado a lado. */
  .ux5-pillars{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .ux5-pillar{padding:10px 6px 9px !important;border-right:1px solid var(--line) !important;border-bottom:0 !important;min-height:98px;}
  .ux5-pillar:nth-child(3){border-right:0 !important;}
  .ux5-pillar-top{position:relative;display:block;padding-right:19px;font-size:6.8px;line-height:1.2;letter-spacing:.035em;min-height:18px;}
  .ux5-pillar-top .ux5-help{position:absolute;right:0;top:-2px;width:17px;height:17px;font-size:8px;}
  .ux5-pillar strong{margin:6px 0 3px !important;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:clamp(11px,3.1vw,15px) !important;white-space:nowrap;letter-spacing:-.02em;text-align:center;}
  .ux5-pillar>b{font-size:8.3px;line-height:1.15;}
  .ux5-pillar>small{display:none !important;}
  .ux5-account-detail{grid-column:1/-1;border-top:1px solid var(--line);}

  /* Lançamento rápido: Conta/Cartão ganha mais largura; seletor da conta fica compacto. */
  .ux7-origin-line{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:5px;}
  .ux7-origin-segment{display:grid;grid-template-columns:1fr 1fr;min-width:0;}
  .ux7-origin-segment button{justify-content:center;padding:7px 4px;font-size:8.6px;min-width:0;}
  .ux7-selected-account{padding:4px 6px;}
  .ux7-selected-account>span{font-size:8.4px;}
  .ux7-selected-account b{font-size:9px;white-space:nowrap;}

  /* Orçamento: campo de valor realmente compacto e alinhado à direita. */
  .budget-page .plano-budget-field{min-width:84px !important;max-width:94px !important;width:94px;}
  .budget-page .plano-budget-input-wrap{min-height:29px;padding:0 4px !important;}
  .budget-page .plano-budget-input-wrap i{font-size:9px;}
  .budget-page .plano-budget-input-wrap input{height:26px;font-size:10.5px !important;padding:0 1px;}
  .budget-page .budget-sub-row{grid-template-columns:minmax(0,1fr) 94px !important;gap:6px;}
  .budget-page .plano-resumo-sublist-editavel{padding-left:48px;}

  /* Extrato: conta e período na mesma linha. */
  .bank-statement-control-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) !important;gap:6px;}
  .bank-statement-control-grid>label>span{font-size:7.8px;}
  .bank-statement-control-grid .entry-inline-picker-trigger,
  .bank-statement-control-grid select{min-height:42px;font-size:9px;}

  /* Faturas: atual/próxima lado a lado e Cartão/Período na mesma linha. */
  .ux11-invoice-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px;}
  .ux11-invoice-card{padding:9px 8px;min-height:116px;align-content:start;}
  .ux11-invoice-card>small{font-size:6.7px;line-height:1.25;padding-right:0;margin-top:24px;min-height:17px;}
  .ux11-invoice-card>b{font-size:8.8px;}
  .ux11-invoice-card>strong{font-size:14px !important;margin:2px 0;}
  .ux11-invoice-card>em{display:none;}
  .ux11-invoice-status{right:6px;top:6px;font-size:6.5px;padding:2px 5px;}
  .card-cycle-control-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr) !important;gap:6px;}
  .card-cycle-control-grid>label>span{font-size:7.8px !important;text-transform:none;letter-spacing:0;}
  .card-cycle-control-grid .entry-inline-picker-trigger,
  .card-cycle-control-grid select{min-height:42px;font-size:9px;}

  /* Onboarding ocupa bem a tela pequena sem parecer um formulário técnico. */
  .onboarding-welcome-card{padding:14px 12px;gap:9px;}
  .onboarding-welcome-card h3{font-size:17px;}
  .onboarding-welcome-card>p{font-size:10.7px;}
  .onboarding-welcome-list{gap:5px;}
  .onboarding-welcome-list span{padding:6px 7px;grid-template-columns:25px minmax(0,1fr);gap:7px;}
  .onboarding-welcome-list i{width:25px;height:25px;border-radius:8px;}
  .onboarding-welcome-list b{font-size:9.6px;}
}

@media(max-width:390px){
  .ux5-pillar{padding-left:5px !important;padding-right:5px !important;}
  .ux5-pillar-top{font-size:6.2px;padding-right:16px;}
  .ux5-pillar-top .ux5-help{width:15px;height:15px;font-size:7px;}
  .ux5-pillar strong{padding:0 5px;font-size:10.8px !important;text-align:center;}
  .ux5-pillar>b{font-size:7.5px;}
  .ux7-origin-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .ux7-origin-segment button{font-size:8px;padding-left:2px;padding-right:2px;}
  .ux11-invoice-card{padding:8px 6px;}
  .ux11-invoice-card>strong{font-size:12.5px !important;}
  .bank-statement-control-grid,.card-cycle-control-grid{gap:4px;}
}


/* UX16.1 · introdução ampliada + transição teclado nativo -> calculadora YAKO */
.onboarding-flow-strip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:6px;margin:2px 0;}
.onboarding-flow-strip>span{min-width:0;padding:9px 7px;border:1px solid var(--line);border-radius:11px;background:var(--surface);text-align:center;}
.onboarding-flow-strip small{display:block;font-size:7.5px;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:2px;}
.onboarding-flow-strip b{display:block;font-size:9px;line-height:1.2;color:var(--ink);}
.onboarding-flow-strip>i{font-style:normal;color:var(--gold-text);font-size:18px;}
.onboarding-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.onboarding-feature-grid section{display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.onboarding-feature-grid section>i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--gold-bg);color:var(--gold-text);font:800 9px var(--font-mono);font-style:normal;}
.onboarding-feature-grid section div{min-width:0;}
.onboarding-feature-grid b{display:block;font-size:10px;line-height:1.2;color:var(--ink);margin-bottom:3px;}
.onboarding-feature-grid span{display:block;font-size:8.8px;line-height:1.4;color:var(--ink-soft);}
.onboarding-feature-grid-secondary section>i{background:color-mix(in srgb,var(--azul) 10%,var(--surface));color:var(--azul);}
@media(max-width:620px){
  .onboarding-flow-strip{gap:3px;}
  .onboarding-flow-strip>span{padding:7px 4px;}
  .onboarding-flow-strip small{font-size:6.2px;}
  .onboarding-flow-strip b{font-size:7.8px;}
  .onboarding-flow-strip>i{font-size:14px;}
  .onboarding-feature-grid{grid-template-columns:1fr;gap:5px;}
  .onboarding-feature-grid section{grid-template-columns:27px minmax(0,1fr);gap:7px;padding:7px 8px;border-radius:10px;}
  .onboarding-feature-grid section>i{width:27px;height:27px;border-radius:8px;font-size:8px;}
  .onboarding-feature-grid b{font-size:9.2px;margin-bottom:1px;}
  .onboarding-feature-grid span{font-size:8px;line-height:1.32;}
}


/* UX16.3 · calculadora com resposta imediata ao toque */
.calc-keyboard-dock button{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  -webkit-user-select:none;
  user-select:none;
}


/* ======================================================================
   UX16.4 · legibilidade mobile
   Regra: conteúdo explicativo >= 15px; secundário >= 13px sempre que
   a informação precisar ser realmente lida pelo usuário.
   ====================================================================== */
@media(max-width:620px){
  /* Onboarding / apresentação */
  .onboarding-title-block h2{font-size:25px;line-height:1.18;}
  .onboarding-title-block p{font-size:15.5px;line-height:1.55;}
  .onboarding-welcome-card{padding:18px 15px;gap:13px;}
  .onboarding-welcome-card h3{font-size:21px;line-height:1.2;}
  .onboarding-welcome-card>p{font-size:15.5px;line-height:1.58;}
  .onboarding-welcome-card>small{font-size:14px;line-height:1.5;}
  .onboarding-flow-strip{gap:4px;}
  .onboarding-flow-strip>span{padding:9px 5px;}
  .onboarding-flow-strip small{font-size:10.5px;line-height:1.2;}
  .onboarding-flow-strip b{font-size:12.5px;line-height:1.25;}
  .onboarding-feature-grid{grid-template-columns:1fr;gap:8px;}
  .onboarding-feature-grid section{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:11px 12px;border-radius:12px;}
  .onboarding-feature-grid section>i{width:36px;height:36px;border-radius:10px;font-size:11px;}
  .onboarding-feature-grid b{font-size:15px;line-height:1.28;margin-bottom:3px;}
  .onboarding-feature-grid span{font-size:14px;line-height:1.48;}
  .onboarding-subtitle{font-size:15px;line-height:1.55;}
  .onboarding-choice-row button{font-size:14px;line-height:1.3;min-height:46px;}
  .onboarding-balance-group small,
  .onboarding-field-hint,
  .onboarding-expense-origin>small{font-size:13.5px;line-height:1.45;}
  .onboarding-expense-origin .onboarding-choice-row button small{font-size:11px;line-height:1.25;}
  .onboarding-explain b{font-size:14.5px;line-height:1.35;}
  .onboarding-explain span{font-size:13.5px;line-height:1.5;}
  .onboarding-smart-preview span{font-size:11px;}
  .onboarding-smart-preview b{font-size:14px;line-height:1.4;}
  .onboarding-smart-preview small{font-size:13px;line-height:1.4;}
  .onboarding-budget-head>span{font-size:11.5px;}
  .onboarding-budget-head p{font-size:14px;line-height:1.5;}
  .onboarding-budget-row>span{font-size:14px;}
  .onboarding-budget-total span{font-size:13.5px;}
  .onboarding-done-list{font-size:14px;line-height:1.45;}
  .onboarding-done-summary{font-size:13.5px;}
  .onboarding-done-card p{font-size:14px;line-height:1.55;}

  /* Faturas: explicações e textos educativos */
  .ux11-invoice-guide-head span{font-size:11px;}
  .ux11-invoice-guide-head b{font-size:17px;}
  .ux11-invoice-guide-head small{font-size:14px;line-height:1.5;}
  .ux11-invoice-facts small{font-size:11.5px;}
  .ux11-invoice-facts b{font-size:13.5px;}
  .ux11-invoice-now{padding:9px 10px;}
  .ux11-invoice-now span{font-size:13px;line-height:1.4;}
  .ux11-invoice-now b{font-size:13.5px;line-height:1.4;}
  .ux11-quick-invoice-hint span{font-size:10.5px;}
  .ux11-quick-invoice-hint b{font-size:12.5px;line-height:1.4;}

  .ux12-card-setup-head b{font-size:15px;}
  .ux12-card-setup-head small{font-size:13.5px;line-height:1.5;}
  .ux12-card-setup-steps b{font-size:13px;}
  .ux12-card-setup-steps small{font-size:12px;}
  .ux12-initial-explainer{padding:13px;gap:8px;}
  .ux12-initial-explainer>b{font-size:16px;}
  .ux12-initial-explainer p,
  .ux12-initial-explainer small{font-size:14.5px;line-height:1.58;}
  .ux12-initial-example>span{font-size:11.5px;}
  .ux12-card-config-hint b{font-size:14px;}
  .ux12-card-config-hint span{font-size:13px;line-height:1.45;}
  .ux12-card-config-hint button{font-size:13px;}
  .ux12-report-setup-head b{font-size:15px;}
  .ux12-report-setup-head small{font-size:13.5px;line-height:1.5;}
  .ux12-report-setup-steps span{font-size:12.5px;}
  .ux12-report-initial b{font-size:13.5px;}
  .ux12-report-initial small{font-size:12px;}
  .ux12-report-initial em{font-size:13px;line-height:1.45;}

  .ux13-inline-setup-title>span{font-size:11px;}
  .ux13-inline-setup-title>b{font-size:17px;}
  .ux13-inline-setup-title>small{font-size:14px;line-height:1.5;}
  .ux13-inline-step b{font-size:14px;}
  .ux13-inline-step small{font-size:12.5px;line-height:1.4;}
  .ux13-inline-after{font-size:13px;line-height:1.45;}
  .ux13-initial-question>b{font-size:17px;}
  .ux13-initial-question>p{font-size:14.5px;line-height:1.55;}
  .ux13-initial-question-explain b{font-size:15px;}
  .ux13-initial-question-explain span{font-size:14px;line-height:1.55;}
  .ux13-initial-question>small{font-size:13.5px;line-height:1.5;}
  .ux13-initial-help b{font-size:13.5px;}
  .ux13-initial-help small{font-size:12.5px;line-height:1.45;}
  .ux13-initial-help-btn{font-size:12.5px;}

  .initial-card-invoice-editor>label>span{font-size:14px;line-height:1.35;}
  .initial-card-invoice-editor .initial-balance-entry-account small{font-size:13px;line-height:1.4;}
  .card-initial-invoice-config b{font-size:14px;}
  .card-initial-invoice-config small{font-size:13px;line-height:1.45;}
  .invoice-payment-help{font-size:14px;line-height:1.55;}
  .report-note{font-size:14.5px;line-height:1.58;}
  .account-cashflow-help{font-size:13.5px !important;line-height:1.5 !important;}

  /* Ajuda contextual e formulários: não deixar explicações críticas microscópicas. */
  .form-help{font-size:13.5px;line-height:1.5;}
  .entry-sheet-compact #f-parcelas-help{font-size:12.5px;line-height:1.4;}
  .entry-sheet-compact .transferencia-help{font-size:12.5px;line-height:1.4;}
  .economia-help{font-size:13.5px;line-height:1.5;}
  .contas-tipo-help{font-size:13.5px;line-height:1.5;}
  .ux6-help-popover p{font-size:14px;line-height:1.55;}

  /* Ainda compactos, mas legíveis: cards de fatura lado a lado. */
  .ux11-invoice-card>small{font-size:10.5px !important;line-height:1.3;}
  .ux11-invoice-card>b{font-size:12.5px !important;}
  .ux11-invoice-card>strong{font-size:15px !important;}
  .ux11-invoice-status{font-size:10px !important;padding:3px 6px;}
  .card-cycle-control-grid>label>span,
  .bank-statement-control-grid>label>span{font-size:11.5px !important;}
  .card-cycle-control-grid .entry-inline-picker-trigger,
  .card-cycle-control-grid select,
  .bank-statement-control-grid .entry-inline-picker-trigger,
  .bank-statement-control-grid select{font-size:12.5px !important;}
}

@media(max-width:390px){
  /* Em telas muito estreitas, mantemos o mínimo legível e deixamos rolar. */
  .onboarding-welcome-card h3{font-size:20px;}
  .onboarding-welcome-card>p{font-size:15px;}
  .onboarding-feature-grid b{font-size:14.5px;}
  .onboarding-feature-grid span{font-size:13.5px;}
  .ux11-invoice-card>strong{font-size:14px !important;}
}


/* ======================================================================
   UX16.5 · introdução realmente legível + uso integral da tela mobile
   ====================================================================== */
@media(max-width:620px){
  .onboarding-full-shell{
    padding:max(10px, env(safe-area-inset-top)) 13px calc(14px + env(safe-area-inset-bottom));
  }
  .onboarding-brand{min-height:38px;margin-bottom:7px;}
  .onboarding-brand img{height:29px;}
  .onboarding-step.welcome-step{
    width:100%;
    max-width:none;
    margin:0 auto;
    flex:1 0 auto;
    justify-content:flex-start;
  }
  .onboarding-step.welcome-step .onboarding-title-block{
    text-align:left;
    margin:7px 2px 15px;
  }
  .onboarding-step.welcome-step .onboarding-title-block h2{
    font-size:30px;
    line-height:1.12;
    letter-spacing:-.02em;
  }
  .onboarding-step.welcome-step .onboarding-title-block p{
    max-width:none;
    margin:9px 0 0;
    font-size:17px;
    line-height:1.55;
  }
  .onboarding-welcome-card{
    width:100%;
    padding:19px 16px;
    gap:14px;
  }
  .onboarding-welcome-card h3{font-size:24px;line-height:1.18;}
  .onboarding-welcome-card>p{font-size:17px;line-height:1.6;text-align:left;}
  .onboarding-welcome-card>small{font-size:15.5px;line-height:1.55;text-align:left;}
  .onboarding-flow-strip{gap:5px;margin:4px 0;}
  .onboarding-flow-strip>span{padding:10px 6px;}
  .onboarding-flow-strip small{font-size:10.5px;line-height:1.2;letter-spacing:.025em;}
  .onboarding-flow-strip b{font-size:13.5px;line-height:1.3;}
  .onboarding-feature-grid{width:100%;grid-template-columns:1fr;gap:10px;}
  .onboarding-feature-grid section{
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:14px;
    border-radius:13px;
  }
  .onboarding-feature-grid section>i{width:42px;height:42px;border-radius:11px;font-size:12px;}
  .onboarding-feature-grid b{font-size:17px;line-height:1.3;margin-bottom:4px;}
  .onboarding-feature-grid span{font-size:15.5px;line-height:1.52;}
  .onboarding-sheet-full .welcome-step .onboarding-actions{
    margin-top:16px;
    padding-top:12px;
  }
  .onboarding-sheet-full .welcome-step .onboarding-primary,
  .onboarding-sheet-full .welcome-step .btn{min-height:50px;font-size:15.5px;}
}
@media(max-width:380px){
  .onboarding-step.welcome-step .onboarding-title-block h2{font-size:28px;}
  .onboarding-step.welcome-step .onboarding-title-block p{font-size:16px;}
  .onboarding-welcome-card h3{font-size:22px;}
  .onboarding-welcome-card>p{font-size:16px;}
  .onboarding-feature-grid b{font-size:16px;}
  .onboarding-feature-grid span{font-size:15px;}
}


/* UX16.8 · ajuda dos pilares em popover sobre o conteúdo */
.ux6-help-backdrop{
  position:fixed; inset:0; z-index:1098; background:transparent;
}
body>.ux6-help-popover-global{
  position:fixed !important; z-index:1099 !important;
  right:auto !important; bottom:auto !important; margin:0 !important;
  max-width:calc(100vw - 24px); box-sizing:border-box;
  padding:16px 42px 16px 16px;
  border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));
  border-radius:14px;
  background:var(--paper);
  box-shadow:0 18px 46px rgba(0,0,0,.24);
  color:var(--ink);
}
body>.ux6-help-popover-global p{
  margin:0; font-size:14px; line-height:1.55;
}
body>.ux6-help-popover-global .ux6-help-close{
  top:7px; right:8px; width:28px; height:28px;
  display:grid; place-items:center; border-radius:50%;
  font-size:21px; line-height:1;
}
@media(max-width:620px){
  body>.ux6-help-popover-global{
    position:fixed !important; padding:16px 42px 16px 16px;
  }
  body>.ux6-help-popover-global p{font-size:15px;line-height:1.55;}
}


/* UX16.9 · ações rápidas compactas em uma única linha */
.dashboard-quick-actions.dashboard-quick-actions-compact{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
  margin:9px 0 12px;
}
.dashboard-quick-action.dashboard-quick-compact{
  min-width:0;
  min-height:44px !important;
  padding:8px 9px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  border-radius:12px;
  text-align:center;
  white-space:nowrap;
}
.dashboard-quick-action.dashboard-quick-compact .dashboard-quick-plus{
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
  font-weight:600;
  color:var(--gold-text);
  transform:translateY(-.5px);
}
.dashboard-quick-action.dashboard-quick-compact b{
  display:block;
  min-width:0;
  margin:0;
  font-size:13px;
  line-height:1.15;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-quick-action.dashboard-quick-compact.expense .dashboard-quick-plus{color:var(--despesa-text);}
.dashboard-quick-action.dashboard-quick-compact.income .dashboard-quick-plus{color:var(--receita-text);}
.dashboard-quick-action.dashboard-quick-compact.transfer .dashboard-quick-plus{color:var(--gold-text);}
@media(max-width:390px){
  .dashboard-quick-actions.dashboard-quick-actions-compact{gap:5px !important;}
  .dashboard-quick-action.dashboard-quick-compact{padding:8px 6px !important;gap:4px !important;}
  .dashboard-quick-action.dashboard-quick-compact b{font-size:12px;}
  .dashboard-quick-action.dashboard-quick-compact .dashboard-quick-plus{font-size:17px;}
}
@media(max-width:340px){
  .dashboard-quick-action.dashboard-quick-compact b{font-size:11px;}
}


/* ======================================================================
   UX16.10 · lançamento rápido estável + seletores sempre em primeiro plano
   ====================================================================== */
.ux8-picker.ux8-picker-portal{
  position:fixed !important;
  z-index:10180 !important;
  margin:0 !important;
  box-sizing:border-box;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.ux8-picker.ux8-picker-portal[hidden]{display:none !important;}

@media(max-width:699px){
  .sheet-backdrop.ux8-quick-backdrop.ux16-quick-stable{
    align-items:flex-start !important;
    justify-content:center !important;
    padding:0 8px !important;
  }
  .sheet-backdrop.ux8-quick-backdrop.ux16-quick-stable .sheet.ux8-quick-entry-sheet{
    position:fixed !important;
    top:var(--quick-entry-stable-top, 96px) !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:min(calc(100vw - 16px),500px) !important;
    max-height:var(--quick-entry-stable-max, 620px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border-radius:18px !important;
    transform:translateX(-50%) translateY(8px) !important;
    transition:opacity .16s ease, transform .16s ease !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .sheet-backdrop.ux8-quick-backdrop.ux16-quick-stable.open .sheet.ux8-quick-entry-sheet{
    transform:translateX(-50%) translateY(0) !important;
  }
  /* A calculadora é um teclado separado; não deve inflar/encolher o card. */
  .sheet-backdrop.ux8-quick-backdrop.ux16-quick-stable .sheet.ux8-quick-entry-sheet.calculadora-aberta{
    padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:16px !important;
    max-height:var(--quick-entry-stable-max, 620px) !important;
  }
}


/* ======================================================================
   UX17 · orçamento como previsão + card principal unificado do Resumo
   ====================================================================== */
.ux17-summary-unified{
  position:relative;
  margin:0 0 10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 4px 16px rgba(0,0,0,.025);
  overflow:visible;
}
.ux17-summary-unified>.ux5-month-status,
.ux17-summary-unified>.ux5-pillars{
  margin:0;
  border:0;
  box-shadow:none;
  border-radius:0;
  background:transparent;
}
.ux17-summary-unified>.ux5-month-status{
  border-left:4px solid var(--line);
  border-bottom:1px solid var(--line);
  border-radius:15px 15px 0 0;
}
.ux17-summary-unified>.ux5-month-status.good{border-left-color:var(--receita);}
.ux17-summary-unified>.ux5-month-status.warn{border-left-color:var(--gold);}
.ux17-summary-unified>.ux5-month-status.bad{border-left-color:var(--despesa);}
.ux17-summary-unified>.ux5-month-status::after{display:none !important;}
.ux17-summary-unified>.ux5-pillars{
  overflow:hidden;
  border-radius:0 0 15px 15px;
}
.ux17-summary-unified::after{
  display:block;
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:9px;
  pointer-events:none;
  background:radial-gradient(circle at 6px 9px,var(--paper) 5px,transparent 5.5px) 0 0 / 12px 9px repeat-x;
  z-index:2;
  opacity:.96;
}
@media(max-width:620px){
  .ux17-summary-unified{border-radius:15px;margin-bottom:9px;}
  .ux17-summary-unified>.ux5-month-status{padding:13px 12px 12px;}
  .ux17-summary-unified>.ux5-pillars{border-radius:0 0 14px 14px;}
}


/* UX17.1 · edição contextual em Gastos por contas e cartões */
.means-spend-edit-row{
  width:100%;
  border-left:0;
  border-right:0;
  border-bottom:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-body);
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.means-spend-edit-row:hover,
.means-spend-edit-row:focus-visible{
  background:color-mix(in srgb,var(--surface) 58%,transparent);
  outline:none;
}
.means-spend-detail-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.means-spend-edit-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:8px;
  color:var(--gold-text);
  background:color-mix(in srgb,var(--gold) 8%,var(--surface));
  font-size:13px;
  line-height:1;
}
@media(max-width:430px){
  .means-spend-detail-row.means-spend-edit-row{grid-template-columns:32px minmax(0,1fr) auto;}
  .means-spend-detail-actions{gap:6px;}
  .means-spend-edit-icon{width:27px;height:27px;flex-basis:27px;font-size:14px;}
}

/* ======================================================================
   UX17.3 · relatórios mais compactos + filtros fixos
   ====================================================================== */
.report-tools-sticky{
  position:sticky;
  top:52px;
  z-index:24;
  background:var(--paper);
  padding:7px 0 6px;
  margin:2px 0 8px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
}
.report-tools-sticky .card-cycle-controls{margin:0 0 6px;}
.report-tools-sticky .report-search-sticky{
  position:static !important;
  top:auto !important;
  z-index:auto;
  background:transparent;
  padding:0;
  margin:0;
}
.report-tools-sticky .report-search-sticky .card-cycle-search-count{padding-bottom:0;}

.report-period-sticky{
  position:sticky;
  top:52px;
  z-index:23;
  background:var(--paper);
  padding:7px 0 6px;
  margin-top:2px !important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
}

.report-evolution-filters{display:grid;gap:8px;margin:10px 0 14px;}
.report-evolution-top{display:grid;grid-template-columns:minmax(82px,1fr) max-content 72px;gap:8px;align-items:end;}
.report-evolution-top>label,
.report-evolution-taxonomy>label{display:grid;gap:4px;min-width:0;}
.report-evolution-top>label>span,
.report-evolution-taxonomy>label>span{font-size:11.5px;font-weight:700;color:var(--ink-soft);}
.report-evolution-top select,
.report-evolution-taxonomy select{width:100%;min-width:0;}
.report-evolution-taxonomy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}

.evolution-report-table-wrap,
.result-financial-table-wrap{overflow:hidden;}
.evolution-report-table,
.result-financial-table{min-width:0 !important;width:100%;table-layout:fixed;}
.evolution-report-table th,
.evolution-report-table td,
.result-financial-table th,
.result-financial-table td{padding-left:5px;padding-right:5px;}
.evolution-report-table th,
.result-financial-table th{white-space:normal;line-height:1.2;}
.evolution-report-table th:nth-child(1),.evolution-report-table td:nth-child(1){width:24%;}
.evolution-report-table th:nth-child(2),.evolution-report-table td:nth-child(2){width:24%;}
.evolution-report-table th:nth-child(3),.evolution-report-table td:nth-child(3){width:24%;}
.evolution-report-table th:nth-child(4),.evolution-report-table td:nth-child(4){width:28%;}
.result-financial-table th:nth-child(1),.result-financial-table td:nth-child(1){width:22%;}
.result-financial-table th:nth-child(2),.result-financial-table td:nth-child(2){width:25%;}
.result-financial-table th:nth-child(3),.result-financial-table td:nth-child(3){width:25%;}
.result-financial-table th:nth-child(4),.result-financial-table td:nth-child(4){width:28%;}

@supports (top: calc(1px + env(safe-area-inset-top))){
  .report-tools-sticky,.report-period-sticky{top:calc(52px + env(safe-area-inset-top));}
}

@media(max-width:520px){
  .report-tools-sticky,.report-period-sticky{padding-top:5px;padding-bottom:5px;}
  .report-tools-sticky .card-cycle-control-grid{gap:5px !important;}
  .report-tools-sticky .report-search-pdf-row{gap:5px;}
  .report-evolution-top{grid-template-columns:minmax(72px,1fr) max-content 64px;gap:6px;}
  .report-evolution-taxonomy{gap:6px;}
  .report-evolution-top .report-pdf-top{width:64px;}
  .report-filter-pdf-row-financial{grid-template-columns:minmax(72px,1fr) max-content 64px;gap:6px;}
  .report-filter-pdf-row-financial .report-pdf-top{width:64px;}
  .report-filter-pdf-row-financial-centered{grid-template-columns:88px max-content 64px;justify-content:center;justify-items:center;}
  .report-year-filter-compact{width:88px;}
  .report-evolution-top-centered{grid-template-columns:84px minmax(0,1fr) 64px;}
  .report-year-label-compact{max-width:84px;}
  .report-financial-context-compact{min-height:40px;padding:7px 9px;font-size:9.2px;gap:3px;}
  .report-evolution-top>label>span,.report-evolution-taxonomy>label>span{font-size:11.5px;}
  .evolution-report-table,.result-financial-table{font-size:9px;}
  .evolution-report-table th,.result-financial-table th{font-size:8.2px;}
  .evolution-report-table th,.evolution-report-table td,
  .result-financial-table th,.result-financial-table td{padding:7px 3px;}
}

@media(max-width:390px){
  .report-evolution-taxonomy{grid-template-columns:1fr 1fr;}
  .evolution-report-table,.result-financial-table{font-size:8.5px;}
  .evolution-report-table th,.result-financial-table th{font-size:7.8px;}
  .evolution-report-table th,.evolution-report-table td,
  .result-financial-table th,.result-financial-table td{padding-left:2px;padding-right:2px;}
}

@media print{
  .report-tools-sticky,.report-period-sticky{position:static!important;border:0!important;padding:0!important;}
}

/* ======================================================================
   UX17.4 · legibilidade e edição compacta em Extrato/Faturas
   ====================================================================== */
/* Área da data também funciona como alvo de seleção/conferência. */
.report-date-select{
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  border-radius:7px;
  padding:7px 3px;
  margin:-7px -3px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
}
.report-date-select:active{background:color-mix(in srgb,var(--gold-bg) 52%,transparent);}
.report-date-select:focus-visible{outline:2px solid var(--gold);outline-offset:1px;}

/* O editor fica realmente compacto: pares de campos na mesma linha. */
.card-cycle-editor-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
}
.card-cycle-editor-grid label.wide{grid-column:1/-1 !important;}
.card-cycle-entry-editor{gap:8px;}
.card-cycle-editor-grid label>span{font-size:11px;line-height:1.25;}
.card-cycle-editor-grid input,
.card-cycle-editor-grid select,
.card-cycle-editor-grid .entry-inline-picker-trigger{
  font-size:13px !important;
  min-height:39px;
}
.card-cycle-refund{font-size:12.5px;line-height:1.35;}
.card-cycle-edit-note{font-size:11.5px;line-height:1.4;}

/* Mais legibilidade nas linhas dos dois relatórios. */
.card-cycle-date,.bank-statement-date{font-size:11.5px;line-height:1.25;}
.card-cycle-copy b,.bank-statement-copy b{font-size:13.5px;line-height:1.28;}
.card-cycle-copy small,.bank-statement-copy small{font-size:11.5px;line-height:1.3;}
.card-cycle-status,.bank-statement-status{font-size:9.8px;}
.card-cycle-entry-head strong{font-size:12.3px;}
.bank-statement-entry-head>strong{font-size:12.2px;}
.bank-statement-balance small{font-size:9.8px;}
.bank-statement-balance b{font-size:11.2px;}
.card-cycle-month-title{font-size:10.8px;}
.card-cycle-title p{font-size:11.8px;line-height:1.4;}
.bank-statement-detail-copy b{font-size:12.5px;}
.bank-statement-detail-copy span{font-size:11.6px;line-height:1.45;}
.card-cycle-paper .report-note,.bank-statement-paper .report-note{font-size:12.5px;line-height:1.55;}

@media(max-width:520px){
  /* Mantém duas colunas também no celular. Descrição continua largura total. */
  .card-cycle-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px !important;}
  .card-cycle-editor-grid label.wide{grid-column:1/-1 !important;}
  .card-cycle-entry-editor{padding:9px 8px;margin-left:0;margin-right:0;}
  .card-cycle-editor-grid label>span{font-size:10.8px;}
  .card-cycle-editor-grid input,
  .card-cycle-editor-grid select,
  .card-cycle-editor-grid .entry-inline-picker-trigger{font-size:12.5px !important;padding:8px 7px!important;min-height:38px;}
  .card-cycle-editor-actions{gap:5px;flex-wrap:wrap;}
  .card-cycle-editor-actions .btn{min-width:0;padding-left:7px;padding-right:7px;}

  .card-cycle-entry-head,.bank-statement-entry-head{padding-top:10px;padding-bottom:10px;}
  .card-cycle-date,.bank-statement-date{font-size:11.5px;}
  .card-cycle-copy b,.bank-statement-copy b{font-size:13.5px;}
  .card-cycle-copy small,.bank-statement-copy small{font-size:11.3px;}
  .card-cycle-entry-head strong,.bank-statement-entry-head>strong{font-size:12.1px;}
  .card-cycle-status,.bank-statement-status{font-size:9.6px;}
  .report-date-select{min-height:38px;padding:9px 3px;margin:-9px -3px;}
}

@media(max-width:350px){
  .card-cycle-editor-grid{gap:5px !important;}
  .card-cycle-editor-grid input,
  .card-cycle-editor-grid select,
  .card-cycle-editor-grid .entry-inline-picker-trigger{font-size:11.8px !important;padding-left:6px!important;padding-right:6px!important;}
}

/* UX17.6 - legibilidade em Proximos pagamentos e Ultimos lancamentos */
@media(max-width:620px){
  .ux5-due-row,.ux5-recent-row{padding:11px 0;gap:10px;}
  .ux5-due-copy b,.ux5-recent-copy b{font-size:14px;line-height:1.28;}
  .ux5-due-copy small,.ux5-recent-copy small{font-size:12.5px;line-height:1.32;margin-top:3px;}
  .ux5-due-value .ux5-money,.ux5-recent-side .ux5-money{font-size:14px;line-height:1.15;}
  .ux5-due-value button,.ux5-recent-side button{font-size:11.5px;padding:5px 8px;}
  .ux5-due-date{min-height:42px;}
  .ux5-due-date b{font-size:12.5px;}
  .ux5-due-date small{font-size:10.5px;}
  .ux5-recent-mark{width:32px;height:32px;font-size:17px;}
}
@media(max-width:410px){
  .ux5-due-copy small,.ux5-recent-copy small{max-width:170px;}
}


/* ===== V1.06.2 · refinamentos de hierarquia, contraste e suporte ===== */
/* Próximos pagamentos e últimos lançamentos continuam legíveis, mas não competem
   com os três números principais do Resumo. */
.ux5-money.refund{color:var(--gold-text);}
.ux5-money.transfer{color:var(--gold-text);}
.ux5-recent-row .ux5-money.transfer{color:var(--azul);}
.ux5-recent-mark.refund{background:var(--gold-bg);color:var(--gold-text);}

@media(max-width:620px){
  .ux5-pillar strong{display:flex;align-items:center;justify-content:center;padding:0 5px;font-size:clamp(14px,3.8vw,17.5px) !important;text-align:center;letter-spacing:-.025em;}
  .ux5-due-value .ux5-money,.ux5-recent-side .ux5-money{font-size:12.5px !important;line-height:1.15;}
  .ux5-due-value button,.ux5-recent-side button{font-size:9.5px !important;padding:4px 7px !important;}
}
@media(max-width:390px){
  .ux5-pillar strong{padding:0 4px;font-size:13.2px !important;text-align:center;letter-spacing:-.025em;}
  .ux5-due-value .ux5-money,.ux5-recent-side .ux5-money{font-size:11.8px !important;}
  .ux5-due-value button,.ux5-recent-side button{font-size:9px !important;}
}

/* Realmente livre: destaque mais nítido no padrão azul-petróleo, sem efeito lavado. */
html[data-tema="padrao"] .ux5-pillar.free{
  background:linear-gradient(145deg,rgba(47,122,94,.24),rgba(255,255,255,.045));
  box-shadow:inset 0 0 0 1px rgba(120,200,168,.22);
}
html[data-tema="padrao"] .ux5-pillar.free.negative-card{
  background:linear-gradient(145deg,rgba(181,73,59,.24),rgba(255,255,255,.045));
  box-shadow:inset 0 0 0 1px rgba(240,142,131,.22);
}

/* Orçamento: editor mais leve, seguindo o editor contextual usado no Resumo. */
.budget-page .plano-budget-input-wrap{
  background:var(--surface) !important;
  border:1px solid color-mix(in srgb,var(--gold) 62%,var(--line)) !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
.budget-page .plano-budget-input-wrap:focus-within{
  background:var(--surface) !important;
  border-color:var(--gold) !important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 11%,transparent) !important;
}

/* Relatórios: contraste equivalente aos atalhos principais no tema padrão. */
html[data-tema="padrao"] .reports-grid .report-card-icon,
html[data-tema="padrao"] .reports-entry-icon{
  background:rgba(255,255,255,.09);
  color:#E4C87A;
  border:1px solid rgba(201,163,89,.48);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
html[data-tema="padrao"] .reports-grid em,
html[data-tema="padrao"] .reports-entry-button i{color:#E4C87A;}

/* Observações dentro de TOTAIS DO MÊS sempre ficam em nova linha. */
.totals-row span>small{display:block;margin-top:2px;line-height:1.3;}

/* Contato via WhatsApp em Ajustes. */
.settings-contact-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);}
.settings-contact-copy{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;}
.settings-contact-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(37,211,102,.13);color:#25A85A;font-size:19px;font-weight:800;}
.settings-contact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.settings-contact-copy div{min-width:0;display:grid;gap:3px;}
.settings-contact-copy b{font-size:13px;}
.settings-contact-copy small{color:var(--ink-soft);font-size:11px;line-height:1.4;}
.settings-contact-copy strong{margin-top:3px;font-family:var(--font-mono);font-size:11.5px;color:var(--ink);}
.settings-contact-button{width:100%;min-height:40px;}
html[data-tema="escuro"] .settings-contact-icon,
html[data-tema="padrao"] .settings-contact-icon{color:#77D99B;background:rgba(37,211,102,.12);}

/* ===== V1.06.3 · Lançamentos agrupados por status ===== */
.entries-status-group + .entries-status-group{border-top:1px solid var(--surface-2);margin-top:4px;padding-top:4px;}
.entries-status-header{
  width:100%;min-height:34px;padding:7px 4px 6px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  color:var(--ink-soft);font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
.entries-status-header span{display:inline-flex;align-items:center;gap:7px;}
.entries-status-header small{font-size:9px;font-weight:700;letter-spacing:0;color:var(--ink-soft);opacity:.78;}
.entries-status-toggle{border:0;background:transparent;cursor:pointer;text-align:left;border-radius:8px;}
.entries-status-toggle:hover,.entries-status-toggle:focus-visible{background:var(--surface-2);outline:none;}
.entries-status-toggle i{font-style:normal;font-size:15px;line-height:1;transition:transform .18s ease;color:var(--ink-soft);}
.entries-status-toggle[aria-expanded="false"] i{transform:rotate(-90deg);}
.entries-status-body[hidden]{display:none !important;}
.entries-status-group-realized .entries-status-header{color:var(--ink);}
.entries-status-group-forecast .entries-status-header{color:var(--gold-text);}
.entries-status-body .entry-row:last-child{border-bottom:none;}


/* v1.06.7 · Últimos lançamentos ordenados pela atividade mais recente */
.ux5-recent-copy .ux17-activity-time{
  display:block;
  margin-top:2px;
  font-size:.72rem;
  line-height:1.2;
  color:var(--muted);
  opacity:.82;
}

/* ===== V1.06.8 · Revisão do mês no Resumo ===== */
.ux18-review-card{
  margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);
  box-shadow:0 6px 20px rgba(15,23,42,.045);
}
.ux18-review-card .ux5-section-head{align-items:flex-start;gap:10px;margin-bottom:10px;}
.ux18-review-count{max-width:46%;padding:5px 8px;border-radius:999px;font-size:9.5px;font-weight:800;line-height:1.2;text-align:right;color:var(--ink-soft);background:var(--surface-2);}
.ux18-review-count.has-issues{color:var(--gold-text);background:color-mix(in srgb,var(--gold) 11%,var(--surface-2));}
.ux18-review-count.ok{color:var(--receita-text);background:color-mix(in srgb,var(--receita-text) 10%,var(--surface-2));}
.ux18-review-list{display:grid;gap:7px;}
.ux18-review-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);}
.ux18-review-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-size:14px;font-weight:900;background:color-mix(in srgb,var(--azul) 8%,var(--surface));color:var(--azul);}
.ux18-review-row.warn .ux18-review-icon{background:color-mix(in srgb,var(--gold) 13%,var(--surface));color:var(--gold-text);}
.ux18-review-row.backup .ux18-review-icon{background:color-mix(in srgb,var(--azul) 10%,var(--surface));color:var(--azul);}
.ux18-review-row>div{min-width:0;display:grid;gap:2px;}
.ux18-review-row b{font-size:11.5px;line-height:1.25;color:var(--ink);}
.ux18-review-row small{font-size:9.8px;line-height:1.35;color:var(--ink-soft);}
.ux18-review-row button{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--azul);font-size:9.5px;font-weight:800;cursor:pointer;}
.ux18-review-ok{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid color-mix(in srgb,var(--receita-text) 22%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--receita-text) 6%,var(--surface-2));}
.ux18-review-ok>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--receita-text) 14%,var(--surface));color:var(--receita-text);font-weight:900;}
.ux18-review-ok div{display:grid;gap:2px;}.ux18-review-ok b{font-size:11.5px;color:var(--ink);}.ux18-review-ok small{font-size:9.8px;line-height:1.35;color:var(--ink-soft);}
@media(max-width:430px){.ux18-review-row{grid-template-columns:28px minmax(0,1fr) auto;padding:8px 7px;gap:7px}.ux18-review-icon{width:28px;height:28px}.ux18-review-count{max-width:44%;font-size:9px}.ux18-review-row button{padding:0 7px}}


/* ===== V1.06.9 · Revisão do mês abre os itens exatos em Lançamentos ===== */
.ux18-review-row[data-review-action]{
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.ux18-review-row[data-review-action]:hover,
.ux18-review-row[data-review-action]:focus-visible{
  border-color:color-mix(in srgb,var(--azul) 30%,var(--line));
  background:color-mix(in srgb,var(--azul) 4%,var(--surface-2));
  outline:none;
}
.ux18-review-row[data-review-action]:active{transform:scale(.995);}
.review-filter-banner{
  margin:10px 0 8px;
  padding:10px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--gold) 7%,var(--surface));
}
.review-filter-banner>div{min-width:0;display:grid;gap:2px;}
.review-filter-banner small{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--gold-text);}
.review-filter-banner b{font-size:11.5px;line-height:1.25;color:var(--ink);}
.review-filter-banner span{font-size:9.5px;line-height:1.3;color:var(--ink-soft);}
.review-filter-banner button{
  flex:0 0 auto;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:9px;
  background:var(--surface);color:var(--azul);font-size:9.5px;font-weight:800;cursor:pointer;
}
@media(max-width:430px){
  .review-filter-banner{align-items:flex-start;}
  .review-filter-banner button{padding:0 8px;}
}


/* ===== v1.06.14 · valor realizado visível em Despesas por categoria ===== */
.ux10-budget-cat-line.simple.with-realized,
.ux10-sub-top.simple.with-realized{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.ux10-budget-cat-line.simple.with-realized>b,
.ux10-sub-top.simple.with-realized>b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ux14-realized-inline{
  flex:0 0 auto;
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  color:var(--ink-soft);
  white-space:nowrap;
}
.ux14-realized-inline small{
  font-size:7.4px;
  color:var(--ink-soft);
}
.ux14-realized-inline strong{
  font-family:var(--font-mono);
  font-size:9.2px;
  color:var(--ink);
}
.ux14-realized-inline.sub small{font-size:7px;}
.ux14-realized-inline.sub strong{font-size:8.5px;}
@media(max-width:390px){
  .ux14-realized-inline small{display:none;}
  .ux14-realized-inline strong{font-size:8.8px;}
  .ux14-realized-inline.sub strong{font-size:8.1px;}
}


/* ===== v1.06.15 · Despesas por categoria: Realizado → Projetado → Orçado → resultado ===== */
.ux10-budget-caption.simplified.ux15-budget-metrics,
.ux10-sub-summary.simplified.ux15-budget-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.ux15-budget-metrics>span,
.ux15-budget-metrics>button{min-width:0;}
.ux15-budget-metrics>span:first-child small,
.ux15-budget-metrics>span:first-child b{color:var(--receita-text);}
@media(max-width:560px){
  .ux10-budget-caption.simplified.ux15-budget-metrics,
  .ux10-sub-summary.simplified.ux15-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;}
}


/* ===== v1.06.20 · Resumo geral compacto em Despesas por categoria ===== */
.ux16-category-general-summary{
  padding:2px 0 12px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.ux16-category-general-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  margin:0 2px 8px;
}
.ux16-category-general-head b{
  display:block;
  font-size:11.5px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink);
}
.ux16-category-general-head small{
  display:block;
  margin:0;
  font-size:10.5px;
  line-height:1.45;
  font-weight:500;
  color:var(--ink-soft);
}
.ux16-category-general-summary .ux13-budget-bar-wrap{margin:0 0 8px;}
.ux16-category-general-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px 12px;
  margin-top:0;
}
.ux16-category-general-metrics>span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:0;
}
.ux16-category-general-metrics small{
  display:block;
  font-size:8px;
  line-height:1.2;
  color:var(--ink-soft);
}
.ux16-category-general-metrics b{
  display:block;
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1.25;
  font-weight:650;
  color:var(--ink);
  white-space:nowrap;
}
.ux16-category-general-metrics>span:first-child small,
.ux16-category-general-metrics>span:first-child b{color:var(--receita-text);}
.ux16-category-general-metrics .safe small,
.ux16-category-general-metrics .safe b{color:var(--receita-text);}
.ux16-category-general-metrics .danger small,
.ux16-category-general-metrics .danger b{color:var(--despesa-text);}
.ux16-category-general-metrics .muted small,
.ux16-category-general-metrics .muted b{color:var(--ink-soft);}
@media(max-width:560px){
  .ux16-category-general-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 14px;
  }
}

/* ===== v1.06.17 · Resumo mais enxuto: removido card redundante Economia e destino das receitas ===== */

/* Orçamento usa a mesma hierarquia tipográfica da entrada de Relatórios. */
.budget-page-heading.reports-page-intro{margin:12px 0 18px !important;}
.budget-page-heading .budget-title-help-row{margin-top:3px;margin-bottom:5px;}
.budget-page-heading.reports-page-intro p{max-width:560px;}


/* ===== v1.06.21 · Despesas por categoria: resumo sempre visível ===== */
.resumo-section-despesas.summary-only .resumo-section-card-body{
  display:block;
  padding-top:0;
}
.resumo-section-despesas.summary-only .ux10-category-overview{
  gap:0;
}
.resumo-section-despesas.summary-only .ux16-category-general-summary{
  border-bottom:0;
  padding-bottom:2px;
}
.resumo-section-despesas .ux16-category-general-summary{
  order:0;
}
.resumo-section-despesas .ux10-distribution{
  order:1;
}
.resumo-section-despesas .ux14-category-detail-title{
  order:2;
}
.resumo-section-despesas .ux10-category-bars{
  order:3;
}
.resumo-section-despesas .ux10-budget-legend{
  order:4;
}

/* v1.06.24 — Revisão do mês: retorno à Conferência */
.ux18-review-actions{display:grid;gap:4px;justify-items:stretch;min-width:96px;}
.ux18-review-row .ux18-review-actions>button{width:100%;white-space:nowrap;}
.ux18-review-row .ux18-review-actions .ux18-review-dismiss{border-color:transparent;background:transparent;color:var(--ink-soft);font-size:8.8px;min-height:24px;padding:0 5px;text-decoration:underline;text-underline-offset:2px;}
.ux18-review-row .ux18-review-actions .ux18-review-dismiss:hover{color:var(--azul);background:color-mix(in srgb,var(--azul) 5%,transparent);}
.ux18-review-row.duplicate-highlight{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 11px 10px 12px;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-left:4px solid var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--surface));}
.ux18-review-row.duplicate-highlight .ux18-review-icon{display:none;}
.ux18-review-row.duplicate-highlight>div{gap:2px;}
.ux18-review-row.duplicate-highlight b{color:var(--gold-text);}
.ux18-review-row.duplicate-highlight small{color:var(--ink-soft);}
.ux18-review-row.duplicate-highlight .ux18-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;}
.ux18-review-row.duplicate-highlight .ux18-review-actions>button{width:auto;}
.ux18-review-row.duplicate-highlight [data-review-open]{border:0;background:var(--ink);color:var(--surface);border-radius:9px;padding:7px 10px;min-height:32px;}
.ux18-review-row.duplicate-highlight .ux18-review-dismiss{border:0;background:transparent;color:var(--gold-text);font-size:8.8px;min-height:24px;padding:0 2px;text-decoration:underline;text-underline-offset:2px;}
.ux18-review-row.duplicate-highlight .ux18-review-dismiss:hover{color:var(--gold-text);background:transparent;opacity:.85;}
.ux18-reviewed-panel{margin-top:9px;border-top:1px solid var(--line);padding-top:8px;}
.ux18-reviewed-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;color:var(--ink-soft);font-size:9.5px;font-weight:800;padding:2px 1px;}
.ux18-reviewed-panel>summary::-webkit-details-marker{display:none;}
.ux18-reviewed-panel>summary span{transition:transform .18s ease;}
.ux18-reviewed-panel[open]>summary span{transform:rotate(180deg);}
.ux18-reviewed-list{display:grid;gap:6px;margin-top:7px;}
.ux18-reviewed-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid color-mix(in srgb,var(--receita-text) 18%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--receita-text) 4%,var(--surface-2));}
.ux18-reviewed-row>div{display:grid;gap:2px;min-width:0;}
.ux18-reviewed-row b{font-size:10.5px;line-height:1.25;color:var(--ink);}
.ux18-reviewed-row small{font-size:9px;line-height:1.35;color:var(--ink-soft);}
.ux18-reviewed-row button{min-height:27px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-soft);font-size:9px;font-weight:800;cursor:pointer;}
@media(max-width:430px){
  .ux18-review-row{grid-template-columns:28px minmax(0,1fr);}
  .ux18-review-actions{grid-column:2;grid-template-columns:1fr 1fr;min-width:0;}
  .ux18-review-row .ux18-review-actions .ux18-review-dismiss{font-size:8.4px;text-decoration:none;border:1px solid var(--line);background:var(--surface);}
  .ux18-review-row.duplicate-highlight{grid-template-columns:minmax(0,1fr);}
  .ux18-review-row.duplicate-highlight .ux18-review-actions{grid-column:auto;justify-content:space-between;flex-wrap:wrap;}
  .ux18-reviewed-row{grid-template-columns:minmax(0,1fr) auto;}
}

/* ===== v1.07.07 · Competência/Caixa + ciclo financeiro ===== */
.month-picker{flex-wrap:wrap;}
.financial-context-strip{
  order:5; flex:0 0 auto; width:fit-content; max-width:100%; min-height:0;
  display:flex; align-items:center; justify-content:center; gap:5px;
  margin:4px auto 0; padding:9px 12px 9px 14px;
  border-radius:var(--radius-s);
  background:rgba(201,163,89,.10);
  border:1px solid rgba(201,163,89,.28);
  border-left:4px solid var(--gold);
  color:#E6D5A3; font:500 11.2px/1.4 var(--font-body); cursor:pointer; text-align:left;
}
.financial-context-strip b{color:var(--gold);font-weight:700;white-space:nowrap;}
.financial-context-strip span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.financial-context-strip i{margin-left:auto;font-style:normal;font-size:17px;line-height:1;color:var(--gold);flex:0 0 auto;}
.month-picker-context-row{display:flex;justify-content:center;align-items:center;margin:2px 0 8px;}
.month-picker-context-row .financial-context-strip{margin:0;}
.report-filter-main .month-picker-context-row{margin-top:4px;margin-bottom:0;}
.month-picker.main-period-sticky + .lancamentos-search-sticky,
.month-picker.main-period-sticky ~ .lancamentos-search-sticky{top:calc(104px + env(safe-area-inset-top));}

.financial-settings-card{display:grid;gap:16px;}
.financial-settings-section{
  display:grid; gap:11px; padding:14px; border:1px solid var(--line); border-radius:14px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
}
.financial-segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.financial-segmented button{
  min-width:0; min-height:78px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:4px; padding:11px 12px; border-radius:12px; border:1px solid var(--line); background:var(--surface-2);
  color:var(--ink); text-align:left; cursor:pointer; font-family:var(--font-body);
}
.financial-segmented button b{font-size:13px;}
.financial-segmented button small{font-size:10.5px;line-height:1.35;color:var(--ink-soft);}
.financial-segmented button.active{
  border-color:var(--gold);
  background:color-mix(in srgb,var(--surface-2) 88%,var(--surface));
  box-shadow:inset 4px 0 0 var(--gold), inset 0 0 0 1px color-mix(in srgb,var(--gold) 24%,transparent);
}
.financial-segmented button.active b{color:var(--gold);}
.financial-segmented button.active small{color:var(--gold-text);}
.financial-segmented.compact button{min-height:68px;}
.financial-explain{
  padding:10px 12px; border-radius:11px; background:color-mix(in srgb,var(--surface-2) 88%,var(--surface)); border:1px solid var(--line);
  display:grid; gap:3px;
}
.financial-explain.cash{border-color:color-mix(in srgb,var(--gold) 42%,var(--line));box-shadow:inset 4px 0 0 var(--gold);}
.financial-explain b{font-size:11px;color:var(--ink);}
.financial-explain.cash b{color:var(--gold);}
.financial-explain span{font-size:10.5px;line-height:1.45;color:var(--ink-soft);}
.financial-cycle-day{display:none;padding-top:2px;}
.financial-cycle-day.show{display:grid;gap:7px;}
.financial-cycle-day-control{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.financial-cycle-day-control>span{font-size:12px;font-weight:650;color:var(--ink);}
.financial-cycle-day-select{width:132px;min-width:132px;}
.financial-cycle-day-select .entry-inline-picker-trigger{min-height:38px;background:var(--surface-2);border-radius:10px;font-size:12px;}
.financial-cycle-day-select .entry-inline-picker.open .entry-inline-picker-trigger{border-color:var(--azul);}
.financial-cycle-day-select .entry-inline-picker-chevron{color:var(--azul);}
.financial-cycle-day p{margin:0;font-size:10.5px;line-height:1.4;color:var(--ink-soft);}
.financial-period-preview{
  border-radius:14px; padding:13px 14px; background:var(--ledger-bg); color:var(--ledger-ink);
  border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line)); display:grid; gap:4px;
}
.financial-period-preview small{font-size:9px;letter-spacing:.08em;color:var(--ledger-soft);font-weight:700;}
.financial-period-preview b{font-size:14px;color:var(--gold-text);}
.financial-period-preview span{font-size:10.5px;line-height:1.4;color:var(--ledger-soft);}

.lancamentos-period-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.lancamentos-period-title small{font-size:10px;font-weight:500;color:var(--ink-soft);text-transform:none;letter-spacing:0;}
.cash-entry-note{color:var(--gold-text);font-weight:600;}
.entry-day{width:48px;min-width:48px;}
.entry-day b{font-size:13px;white-space:nowrap;}

@media(max-width:420px){
  .financial-settings-card{gap:12px;}
  .financial-settings-section{padding:12px;gap:10px;}
  .financial-segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .financial-segmented button{min-height:84px;padding:9px 8px;}
  .financial-segmented button b{font-size:11.5px;}
  .financial-segmented button small{font-size:9.3px;line-height:1.32;}
  .financial-segmented.compact button{min-height:76px;}
  .financial-explain{padding:9px 10px;}
  .financial-cycle-day-control{align-items:center;}
  .financial-cycle-day-select{width:128px;min-width:128px;}
  .financial-context-strip{padding-left:13px;padding-right:10px;font-size:10.8px;}
  .entry-day{width:46px;min-width:46px;}
}


/* ===== v1.07.09 · regime e ciclo no padrão visual de aviso do YAKO ===== */
.report-financial-context{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 14px;
  margin:0 0 10px;
  padding:11px 12px 11px 14px;
  border-radius:var(--radius-s);
  background:rgba(201,163,89,.10);
  border:1px solid rgba(201,163,89,.28);
  border-left:4px solid var(--gold);
  color:#E6D5A3;
  font-size:12.2px;
  font-weight:500;
  line-height:1.45;
  text-align:left;
  box-shadow:none;
}
.report-financial-context span{min-width:0;}
.report-financial-context b{color:var(--gold);font-weight:700;}
.report-financial-context-compact{
  width:max-content;
  max-width:100%;
  align-self:end;
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:42px;
  padding:8px 12px;
  border-radius:11px;
  background:rgba(201,163,89,.10);
  border:1px solid rgba(201,163,89,.28);
  border-left:4px solid var(--gold);
  color:#E6D5A3;
  font-size:10.8px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  text-align:center;
}
.report-financial-context-compact b{color:var(--gold);font-weight:700;}
.report-filter-pdf-row-financial{grid-template-columns:minmax(82px,1fr) max-content 72px;align-items:end;}
.report-filter-pdf-row-financial-centered{grid-template-columns:100px max-content 72px;justify-content:center;justify-items:center;}
.report-year-filter-compact{width:100px;justify-self:start;}
.report-financial-context-middle{justify-self:center;}
.report-evolution-top-centered{grid-template-columns:92px minmax(0,1fr) 72px;}
.report-year-label-compact{max-width:92px;}
@media(max-width:520px){
  .report-filter-pdf-row-financial{grid-template-columns:minmax(72px,1fr) max-content 64px;gap:6px;}
  .report-filter-pdf-row-financial .report-pdf-top{width:64px;}
  .report-financial-context-compact{min-height:40px;padding:7px 9px;font-size:9.2px;gap:3px;}
}
@media(max-width:420px){
  .report-financial-context{align-items:flex-start;gap:3px;padding:10px 11px 10px 13px;}
  .report-financial-context span{flex:1 0 100%;}
}


/* ===== v1.07.12 · contexto financeiro compacto e alinhado aos filtros ===== */
.ux19-cash-position-card{margin-top:12px;padding:15px 14px 13px;overflow:hidden;}
.cash-position-head{align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.cash-position-head h2{font-size:20px;line-height:1.08;}
.cash-position-period{font-size:9.5px;font-weight:700;color:var(--gold-text);background:var(--gold-bg);border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:999px;padding:4px 7px;white-space:nowrap;}
.cash-position-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;}
.cash-position-kpis>div{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);min-width:0;}
.cash-position-kpis>div:only-child{grid-column:1/-1;}
.cash-position-kpis small{font-size:8.6px;font-weight:800;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;}
.cash-position-kpis .ux5-money{font-size:15px;font-family:var(--font-mono);font-weight:700;color:var(--ink);white-space:nowrap;}
.cash-position-kpis .ux5-money.negative{color:var(--despesa-text);}
.cash-position-legend{display:flex;align-items:center;gap:12px;margin:3px 0 4px;font-size:9.5px;font-weight:650;color:var(--ink-soft);}
.cash-position-legend span{display:flex;align-items:center;gap:5px;}
.cash-position-legend i{display:inline-block;width:18px;height:0;border-top:2px solid var(--azul);}
.cash-position-legend i.forecast{border-top-color:var(--gold);border-top-style:dashed;}
.cash-position-chart-wrap{width:100%;overflow:hidden;}
.cash-position-chart{display:block;width:100%;height:auto;min-height:170px;overflow:visible;touch-action:manipulation;}
.cash-position-zone{pointer-events:none;}
.cash-position-zone.positive{fill:color-mix(in srgb,var(--receita-text) 8%,transparent);}
.cash-position-zone.negative{fill:color-mix(in srgb,var(--despesa-text) 8%,transparent);}
.cash-position-grid{stroke:var(--line);stroke-width:.8;opacity:.66;}
.cash-position-zero{stroke:var(--despesa-text);stroke-width:.9;stroke-dasharray:3 3;opacity:.45;}
.cash-position-axis-text,.cash-position-x-text{font-family:var(--font-body);font-size:7.9px;fill:var(--ink-soft);}
.cash-position-x-text{font-weight:700;}
.cash-position-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.cash-position-line.actual{stroke:var(--azul);}
.cash-position-line.forecast{stroke:var(--gold);stroke-dasharray:5 4;}
.cash-position-move-dot{stroke:var(--surface);stroke-width:1.2;}
.cash-position-move-dot.actual{fill:var(--azul);}
.cash-position-move-dot.forecast{fill:var(--gold);}
.cash-position-focus-line{stroke:color-mix(in srgb,var(--ink-soft) 60%,transparent);stroke-width:.8;stroke-dasharray:2 3;pointer-events:none;}
.cash-position-focus-dot{stroke:var(--surface);stroke-width:2;pointer-events:none;}
.cash-position-focus-dot.actual{fill:var(--azul);}
.cash-position-focus-dot.forecast{fill:var(--gold);}
.cash-position-hit{fill:transparent;cursor:pointer;outline:none;}
.cash-position-detail{display:flex;align-items:center;gap:7px;min-height:30px;margin-top:1px;padding:7px 9px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);font-size:10px;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.cash-position-detail b{font-size:10.5px;color:var(--ink);}
.cash-position-detail span{font-family:var(--font-mono);font-weight:700;color:var(--ink);}
.cash-position-detail em{margin-left:auto;font-style:normal;font-size:8.7px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.cash-position-detail.positive{background:color-mix(in srgb,var(--receita-text) 8%,var(--surface-2));border-color:color-mix(in srgb,var(--receita-text) 26%,var(--line));}
.cash-position-detail.positive span,.cash-position-detail.positive em{color:var(--receita-text);}
.cash-position-detail.negative{background:color-mix(in srgb,var(--despesa-text) 8%,var(--surface-2));border-color:color-mix(in srgb,var(--despesa-text) 26%,var(--line));}
.cash-position-detail.negative span,.cash-position-detail.negative em{color:var(--despesa-text);}
.cash-position-detail.forecast{background:color-mix(in srgb,var(--gold) 8%,var(--surface-2));border-color:color-mix(in srgb,var(--gold) 26%,var(--line));}
.cash-position-detail.forecast span,.cash-position-detail.forecast em{color:var(--gold-text);}
.ux19-cash-position-card.is-collapsed .cash-position-kpis,
.ux19-cash-position-card.is-collapsed .cash-position-legend,
.ux19-cash-position-card.is-collapsed .cash-position-chart-wrap,
.ux19-cash-position-card.is-collapsed .cash-position-detail,
.ux19-cash-position-card.is-collapsed .cash-position-note{display:none;}
.cash-position-note{margin:8px 1px 0;font-size:11px;line-height:1.45;color:var(--ink-soft);}
@media(max-width:420px){
  .ux19-cash-position-card{padding:13px 11px 12px;}
  .cash-position-head{gap:7px;}
  .cash-position-head h2{font-size:18px;}
  .cash-position-period{font-size:8.7px;padding:3px 6px;}
  .cash-position-kpis{gap:6px;}
  .cash-position-kpis>div{padding:8px;}
  .cash-position-kpis .ux5-money{font-size:13px;}
  .cash-position-chart{min-height:158px;}
}

/* ===== v1.07.15 · relatórios de contas/cartões e orçamento com PDF na linha do período ===== */
.report-period-inline-centered{
  grid-template-columns:auto auto;
  justify-content:center;
  align-items:center;
  gap:8px;
}
.report-period-inline-centered .report-filter-main{
  min-width:0;
  flex:0 0 auto;
  display:flex;
  justify-content:center;
}
.report-filter-main-compact .month-picker{
  width:auto;
  justify-content:center;
  margin:0;
}
.report-context-below-centered{
  justify-content:center;
  margin-top:6px;
  margin-bottom:12px;
}
.report-context-below-centered .financial-context-strip{margin:0;}
@media(max-width:520px){
  .report-period-inline-centered{grid-template-columns:minmax(0,1fr) 64px;justify-content:stretch;}
  .report-filter-main-compact .month-picker{width:100%;justify-content:space-between;}
}

/* ===== v1.07.17 · mês completo nos filtros de relatórios ===== */
.report-filter-main-compact .month-selects{
  flex:0 0 auto;
  min-width:0;
}
.report-filter-main-compact #mp-mes + .entry-inline-picker{
  flex:0 0 132px;
  width:132px;
  min-width:132px;
}
.report-filter-main-compact #mp-ano + .entry-inline-picker{
  flex:0 0 86px;
  width:86px;
  min-width:86px;
}
.report-filter-main-compact #mp-mes + .entry-inline-picker .entry-inline-picker-value{
  overflow:visible;
  text-overflow:clip;
}
@media(max-width:520px){
  .report-filter-main-compact #mp-mes + .entry-inline-picker{
    flex-basis:116px;
    width:116px;
    min-width:116px;
  }
  .report-filter-main-compact #mp-ano + .entry-inline-picker{
    flex-basis:76px;
    width:76px;
    min-width:76px;
  }
  .report-filter-main-compact .month-picker{gap:4px;}
  .report-filter-main-compact .month-selects{gap:4px;}
}

/* ===== v1.07.19 · saldos do Resumo sem quebra do sinal + fonte adaptativa ===== */
.ux5-pillar strong .ux5-money{
  display:inline-flex;
  width:100%;
  max-width:100%;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  line-height:1.05;
}
@media(max-width:620px){
  .ux5-pillar strong .ux5-money.money-lg{font-size:.92em;}
  .ux5-pillar strong .ux5-money.money-xl{font-size:.82em;}
  .ux5-pillar strong .ux5-money.money-xxl{font-size:.74em;}
}
@media(max-width:390px){
  .ux5-pillar strong .ux5-money.money-lg{font-size:.88em;}
  .ux5-pillar strong .ux5-money.money-xl{font-size:.78em;}
  .ux5-pillar strong .ux5-money.money-xxl{font-size:.70em;}
}

@media(max-width:390px){.cash-position-note{font-size:11px;}}


/* ===== v1.07.21 · explicações no mesmo tamanho do Status do orçamento mensal ===== */
@media(max-width:420px){
  .financial-explain span{font-size:11px;line-height:1.45;}
}


/* ===== v1.07.34 · modo escuro nativo do aparelho ===== */
.brand-logo,.app-splash-logo{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  forced-color-adjust:none;
  color-scheme:only light;
}
html[data-tema="escuro"] .app-splash-card{
  background:#FFFFFF;
  border-radius:18px;
  box-shadow:0 10px 36px rgba(0,0,0,.28);
}
html[data-tema="escuro"] .app-splash-line{
  background:linear-gradient(90deg,transparent,#C9A359,transparent);
}





/* ===== v1.07.37 · logo sempre legível no desktop e na abertura ===== */
.brand-logo{
  background:#FFFFFF;
  border-radius:12px;
  padding:3px 8px;
  box-shadow:0 4px 12px rgba(20,34,56,.08);
}
.app-splash-logo{
  background:#FFFFFF;
  border-radius:18px;
  padding:10px 14px;
  box-shadow:0 10px 28px rgba(20,34,56,.14);
}
.first-use-symbol img,
.onboarding-welcome-mark img,
.onboarding-brand img,
.guia-logo{
  background:#FFFFFF;
  border-radius:14px;
  padding:6px 10px;
  box-shadow:0 6px 18px rgba(20,34,56,.10);
}

/* ===== v1.07.36 · revisão direta de referências de conta ===== */
.unregistered-accounts.focus-pending{
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 32%,transparent), 0 10px 28px color-mix(in srgb,var(--gold) 16%,transparent);
  animation:pendingAccountFocus 1.1s ease-in-out 2;
}
@keyframes pendingAccountFocus{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-2px);}
}

/* CLOUD SYNC TEST 1 */
.cloud-sync-box{display:grid;gap:10px;padding:12px;margin:10px 0 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}
.cloud-sync-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cloud-sync-head span{display:grid;gap:2px}.cloud-sync-head small{color:var(--ink-soft)}
.cloud-sync-conflict{display:grid;gap:7px;padding:10px;border:1px solid color-mix(in srgb,#d69a00 55%,var(--line));border-radius:11px;background:color-mix(in srgb,#d69a00 8%,var(--surface))}.cloud-sync-conflict span{color:var(--ink-soft);font-size:12px}
.cloud-backup-separator{margin:6px 0 2px;padding-top:4px;font-size:13px}
.cloud-device-list{display:grid;gap:8px;margin:10px 0}
.cloud-device-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.cloud-device-item span{display:grid;gap:3px;min-width:0}.cloud-device-item b{font-size:13px}.cloud-device-item small{color:var(--ink-soft);font-size:11px;line-height:1.35}.cloud-device-item .btn{flex:0 0 auto}
@media(max-width:640px){.cloud-device-item{align-items:flex-start}.cloud-device-item .btn{margin-top:1px}}

/* CLOUD SYNC TEST 3 · alertas de sincronização no Resumo */
.ux19-sync-alert.conflict{border-color:color-mix(in srgb,var(--danger,#b84b4b) 34%,var(--line));border-left-color:var(--danger,#b84b4b);background:color-mix(in srgb,var(--danger,#b84b4b) 8%,var(--surface));}
.ux19-sync-alert.conflict b{color:var(--danger,#b84b4b);}
.ux19-sync-alert.pending{border-color:color-mix(in srgb,var(--gold) 26%,var(--line));}
.cloud-attention-focus{animation:yakoCloudFocusPulse .9s ease-in-out 2;}
@keyframes yakoCloudFocusPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 28%,transparent)}}


/* CLOUD SYNC TEST 4 · detalhe de origem do conflito */
.cloud-conflict-detail{display:grid;gap:7px;margin-top:2px;padding:8px;border-radius:9px;background:color-mix(in srgb,var(--surface) 86%,#d69a00 14%)}
.cloud-conflict-detail>div{display:grid;gap:2px}.cloud-conflict-detail b{font-size:12px}.cloud-conflict-detail span{font-size:11px;line-height:1.4}

/* CLOUD SYNC TEST 5 · acabamento visual da conta e status */
.cloud-auth-panel{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.cloud-auth-title{display:grid;gap:3px}.cloud-auth-title b{font-size:13px;color:var(--ink)}.cloud-auth-title span{font-size:11.5px;line-height:1.45;color:var(--ink-soft)}
.cloud-auth-fields{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:0!important}
.cloud-auth-fields label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--ink-soft)}
.cloud-auth-fields input{box-sizing:border-box;min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.cloud-auth-fields input::placeholder{color:color-mix(in srgb,var(--ink-soft) 72%,transparent)}
.cloud-auth-fields input:focus{border-color:var(--gold);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}
.cloud-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:0}.cloud-auth-actions .btn{width:100%;min-height:39px}
.cloud-sync-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cloud-sync-overview>div{display:grid;align-content:start;gap:3px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.cloud-sync-overview b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--ink)}
.cloud-sync-overview small{font-size:9.5px;color:var(--ink-soft)}
.cloud-sync-state{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:800;color:var(--ink)}
.cloud-sync-state i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--ink-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink-soft) 12%,transparent)}
.cloud-sync-state.ok i{background:#2f9d68;box-shadow:0 0 0 3px color-mix(in srgb,#2f9d68 16%,transparent)}
.cloud-sync-state.pending i{background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}
.cloud-sync-state.conflict i{background:var(--danger,#b84b4b);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger,#b84b4b) 16%,transparent)}
.cloud-sync-state.off i{background:var(--ink-soft)}
@media(max-width:640px){.cloud-sync-overview{grid-template-columns:1fr}.cloud-sync-overview>div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.cloud-sync-overview>div small{grid-column:1/3}.cloud-auth-actions{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.cloud-auth-actions{grid-template-columns:1fr}}

/* ===== YAKO CLOUD SYNC TEST 6 · Dados e backup por assunto ===== */
.settings-data-groups{
  display:grid;
  gap:9px;
}
.settings-data-group{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface);
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.settings-data-group.attention{
  border-color:color-mix(in srgb,var(--gold) 58%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 12%,transparent);
}
.settings-data-group > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:62px;
  padding:12px 14px;
  cursor:pointer;
  user-select:none;
  color:var(--ink);
}
.settings-data-group > summary::-webkit-details-marker{display:none;}
.settings-data-group > summary:hover{
  background:color-mix(in srgb,var(--surface-2) 70%,transparent);
}
.settings-data-group-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.settings-data-group-copy b{
  font-size:13px;
  line-height:1.25;
}
.settings-data-group-copy small{
  color:var(--ink-soft);
  font-size:10.8px;
  line-height:1.35;
  font-weight:500;
}
.settings-data-group.attention .settings-data-group-copy small{
  color:var(--gold-text);
  font-weight:700;
}
.settings-data-group-chevron{
  flex:0 0 auto;
  color:var(--ink-soft);
  font-size:17px;
  line-height:1;
  transition:transform .16s ease,color .16s ease;
}
.settings-data-group[open]{
  border-color:color-mix(in srgb,var(--accent) 32%,var(--line));
  background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%);
}
.settings-data-group[open] > summary{
  border-bottom:1px solid var(--line);
}
.settings-data-group[open] .settings-data-group-chevron{
  transform:rotate(180deg);
  color:var(--gold-text);
}
.settings-data-group-body{
  padding:12px 14px 14px;
}
.settings-data-group-body > .cloud-backup-card{
  margin:0;
}
.settings-data-group-body .settings-status-list:first-child,
.settings-data-group-body .backup-storage-card:first-child{
  margin-top:0;
}
.compact-data-list .settings-status-row:first-child{
  padding-top:2px;
}
.compact-data-list .settings-status-row:last-child{
  padding-bottom:2px;
}
@media(max-width:560px){
  .settings-data-group > summary{min-height:58px;padding:11px 12px;}
  .settings-data-group-body{padding:10px 11px 12px;}
  .settings-data-group-copy b{font-size:12.5px;}
  .settings-data-group-copy small{font-size:10.5px;}
}

/* ===== v1.8.102 · Laboratório de importação de extratos ===== */
.import-extrato-launch{
  width:100%; margin:10px 0 12px; padding:12px 14px; border:1px solid var(--line); border-radius:16px;
  background:var(--surface); color:var(--ink); display:flex; align-items:center; gap:11px; text-align:left; cursor:pointer;
}
.import-extrato-launch .import-extrato-icon{
  width:34px; height:34px; border-radius:11px; background:var(--gold-bg); color:var(--gold-text);
  display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; flex:0 0 auto;
}
.import-extrato-launch>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.import-extrato-launch b{font-size:13.5px;}
.import-extrato-launch small{font-size:10.5px;color:var(--ink-soft);font-weight:500;}
.import-extrato-launch i{font-style:normal;font-size:22px;color:var(--ink-soft);}
.import-sheet,.import-review-sheet{max-height:94vh;}
.import-lab-version{display:block;margin-top:2px;color:var(--ink-soft);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.import-privacy-note{display:flex;flex-direction:column;gap:3px;padding:11px 12px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--receita) 30%,var(--line));border-radius:13px;background:var(--receita-bg);}
.import-privacy-note b{font-size:12.5px;color:var(--receita-text);}
.import-privacy-note span{font-size:11px;line-height:1.45;color:var(--ink-soft);}
.import-step-label{margin:14px 0 7px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}
.import-origin-toggle{margin-bottom:9px;}
.import-origin-toggle button.active{background:var(--gold-bg);border-color:var(--gold);color:var(--gold-text);}
.import-origin-toggle button:disabled{opacity:.38;cursor:not-allowed;}
.import-format-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}
.import-format{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 5px;display:flex;flex-direction:column;gap:3px;align-items:center;cursor:pointer;}
.import-format b{font-size:12px;}.import-format small{font-size:9px;color:var(--ink-soft);}.import-format.active{border-color:var(--gold);background:var(--gold-bg);}.import-format:disabled{opacity:.46;cursor:not-allowed;}
.import-file-picker{width:100%;border:1px dashed var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;}
.import-file-picker span{font-size:13px;font-weight:700;}.import-file-picker small{font-size:10.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.import-actions{display:flex;gap:8px;margin-top:14px;}.import-actions .btn{flex:1;}.import-actions .btn:disabled{opacity:.45;cursor:not-allowed;}
.import-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px;}
.import-summary-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 7px;display:flex;flex-direction:column;gap:2px;min-width:0;}
.import-summary-grid b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.import-summary-grid span{font-size:9px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
.import-period{font-size:10.5px;color:var(--ink-soft);margin-bottom:10px;line-height:1.45;}
.import-review-tools{position:sticky;top:-20px;z-index:4;background:var(--paper);padding:7px 0 8px;}
.import-filter-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:7px;}
.import-filter-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:7px 10px;font-size:10.5px;font-weight:700;white-space:nowrap;cursor:pointer;}
.import-filter-tabs button.active{background:var(--brand-dark);border-color:var(--brand-dark);color:#F2F0E6;}
.import-batch-row{display:flex;gap:7px;}.import-batch-row select{flex:1;min-width:0;}.import-batch-row .btn{flex:0 0 auto;padding:8px 9px;font-size:10px;}
.import-review-list{display:flex;flex-direction:column;gap:9px;padding-bottom:8px;}
.import-review-item{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px;}
.import-review-item.duplicate{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));}
.import-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:7px;}
.import-review-head label{display:flex;align-items:flex-start;gap:8px;min-width:0;}.import-review-head label>span{display:flex;flex-direction:column;gap:1px;}.import-review-head b{font-size:11.5px;}.import-review-head small{font-size:9px;color:var(--ink-soft);}.import-review-head strong{font-size:12.5px;white-space:nowrap;}
.import-desc-input{width:100%;padding:9px 10px;margin:0 0 7px;border-radius:10px;font-size:12px;font-weight:600;}
.import-edit-grid{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr;gap:6px;}.import-edit-grid select{min-width:0;padding:8px 6px;font-size:10.5px;border-radius:9px;}
.import-simple-action{margin-top:7px;width:100%;padding:8px;font-size:10.5px;border-radius:9px;}
.import-transfer-fields{margin-top:7px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);}
.import-transfer-fields[hidden]{display:none!important;}
.import-transfer-fields label{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(0,1.7fr);align-items:center;gap:7px;}
.import-transfer-fields span{font-size:10px;font-weight:700;color:var(--ink-soft);}
.import-transfer-fields select{min-width:0;width:100%;padding:8px 7px;font-size:10.5px;border-radius:9px;}
.import-transfer-fields small{display:block;margin-top:5px;font-size:9px;line-height:1.35;color:var(--ink-soft);}
.import-duplicate-box{margin-top:8px;padding:8px 9px;border-radius:10px;background:var(--gold-bg);display:flex;flex-direction:column;gap:4px;}
.import-duplicate-box b{font-size:10.5px;color:var(--gold-text);}.import-duplicate-box span{font-size:9.5px;color:var(--ink-soft);line-height:1.35;}.import-duplicate-box select{padding:8px;font-size:10.5px;border-radius:9px;}
.import-empty{text-align:center;padding:26px 12px;color:var(--ink-soft);font-size:12px;}
.import-review-footer{position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));z-index:5;background:var(--paper);padding:9px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
#import-review-count{font-size:10.5px;color:var(--ink-soft);line-height:1.4;}
@media(max-width:420px){
  .import-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .import-edit-grid{grid-template-columns:1fr;}
  .import-batch-row{align-items:stretch;}.import-batch-row .btn{max-width:128px;}
}

/* v1.8.106.2 · aprendizado instantâneo durante a conferência da importação */
.import-learning-note{display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;margin:5px 0 1px;padding:4px 7px;border-radius:999px;background:var(--gold-bg);color:var(--gold-text);font-size:9px;font-weight:700;line-height:1.2;}
.import-learning-note[hidden]{display:none!important;}
.import-learning-note span{font-size:11px;line-height:1;}


/* v1.8.106.3 · destaque visual do aprendizado automático em qualquer importação */
.import-review-item.learned-auto{
  border-color:color-mix(in srgb,var(--receita) 40%,var(--line));
  background:color-mix(in srgb,var(--receita-bg) 62%,var(--surface));
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--receita) 78%,transparent);
}
.import-review-item.learned-auto .import-desc-input,
.import-review-item.learned-auto .import-edit-grid select,
.import-review-item.learned-auto .import-simple-action{
  border-color:color-mix(in srgb,var(--receita) 26%,var(--line));
}
.import-review-item.learned-auto .import-learning-note{
  background:color-mix(in srgb,var(--receita-bg) 88%,var(--surface));
  color:var(--receita-text);
  border:1px solid color-mix(in srgb,var(--receita) 24%,transparent);
}


/* v1.8.106.4 · inversão global Receita ↔ Despesa na conferência */
.import-invert-control{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:9px 0 4px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;
  background:var(--surface);cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.import-invert-control.active{
  border-color:color-mix(in srgb,var(--gold) 52%,var(--line));
  background:color-mix(in srgb,var(--gold-bg) 72%,var(--surface));
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--gold) 78%,transparent);
}
.import-invert-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.import-invert-copy b{font-size:11.5px;color:var(--ink);}
.import-invert-copy small{font-size:9.5px;line-height:1.35;color:var(--ink-soft);}
.import-invert-switch{position:relative;flex:0 0 38px;width:38px;height:22px;}
.import-invert-switch input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;z-index:2;}
.import-invert-switch>span{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .18s ease;}
.import-invert-switch>span::after{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.22);transition:transform .18s ease;}
.import-invert-switch input:checked+span{background:var(--gold);}
.import-invert-switch input:checked+span::after{transform:translateX(16px);}
.import-invert-switch input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px;}
.import-invert-status{width:max-content;max-width:100%;margin:4px 0 9px;padding:4px 7px;border-radius:999px;background:var(--gold-bg);color:var(--gold-text);font-size:9px;font-weight:700;}
.import-invert-status[hidden]{display:none!important;}
@media(max-width:420px){.import-invert-control{align-items:flex-start}.import-invert-switch{margin-top:2px;}}

/* v1.8.106.7 · renomeação global de subcategorias */
.plano-rename-impact{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb, var(--brand) 6%, var(--surface));
  display:flex;
  flex-direction:column;
  gap:5px;
  color:var(--ink);
}
.plano-rename-impact b{font-size:13px;}
.plano-rename-impact span{font-size:12px;line-height:1.45;color:var(--ink-soft);}
.plano-rename-impact small{font-size:11px;line-height:1.4;color:var(--ink-soft);}

/* v1.8.106.8 · Conciliação de lançamentos */
.conc-tools{display:grid;gap:8px;margin-bottom:12px}
.conc-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.conc-mode button{min-height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);font-size:10.5px;font-weight:700;font-family:var(--font-body);cursor:pointer}
.conc-mode button.active{border-color:var(--gold);background:color-mix(in srgb,var(--surface-2) 90%,var(--surface));color:var(--gold-text);box-shadow:inset 3px 0 0 var(--gold),inset 0 0 0 1px color-mix(in srgb,var(--gold) 18%,transparent)}
.conc-search{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 32px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.conc-search>span{display:grid;place-items:center;color:var(--ink-soft);font-size:18px}
.conc-search input{width:100%;height:40px;border:0!important;background:transparent!important;padding:0 4px!important;box-shadow:none!important;color:var(--ink)}
.conc-search input:focus,.conc-search input:focus-visible{outline:none!important;outline-offset:0!important;border:0!important;box-shadow:none!important}
.conc-search:focus-within{border-color:color-mix(in srgb,var(--gold) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 12%,transparent)}
.conc-search button{height:40px;border:0;background:transparent;color:var(--ink-soft);font-size:20px}
.conc-filter-toggle{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer}
.conc-filter-toggle>span{min-width:0;display:flex;align-items:baseline;gap:7px}.conc-filter-toggle b{font-size:10.5px}.conc-filter-toggle small{color:var(--ink-soft);font-size:8.5px;font-weight:500}.conc-filter-toggle.has-active{border-color:color-mix(in srgb,var(--gold) 46%,var(--line));box-shadow:inset 3px 0 0 var(--gold)}
.conc-filter-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .16s}.conc-filter-toggle svg.open{transform:rotate(180deg)}
.conc-filter-panel{display:grid;gap:8px;padding:9px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-2) 62%,var(--surface))}.conc-filter-panel[hidden]{display:none!important}
.conc-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.conc-filter-grid label{display:grid;gap:3px;min-width:0}
.conc-filter-grid label>span{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.conc-filter-grid select,.conc-filter-grid input{min-width:0;width:100%;height:36px;font-size:10.5px}
.conc-period-filter{grid-column:span 2}.conc-period-selects{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(76px,.65fr);gap:6px}.conc-period-selects select{font-family:var(--font-body);font-weight:500;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--ink);padding:7px 26px 7px 9px}
.conc-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.conc-filter-footer small{color:var(--ink-soft);font-size:9px;line-height:1.35;text-align:right}
.conc-paper{padding:12px}
.conc-kpis{grid-template-columns:repeat(4,1fr);margin-bottom:10px}
.conc-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:7px 2px}
.conc-results-head label{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--ink-soft)}
.conc-results-head>div{text-align:right}
.conc-results-head b,.conc-results-head small{display:block}
.conc-results-head b{font-size:10.5px}.conc-results-head small{margin-top:2px;color:var(--ink-soft);font-size:8.5px}
.conc-table{min-width:1120px}
.conc-table th,.conc-table td{text-align:left;vertical-align:middle}
.conc-table th:first-child,.conc-table td:first-child{width:42px;text-align:center}
.conc-table td:nth-child(4){text-align:right}
.conc-table td small{display:block;margin-top:3px;color:var(--ink-soft);font-size:8px}
.conc-table tr.selected td{background:color-mix(in srgb,var(--gold-bg) 64%,var(--surface))}
.conc-desc{min-width:180px;max-width:280px;white-space:normal!important}
.conc-desc>b{display:block;line-height:1.25}
.conc-check{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:transparent;font-weight:800}
.conc-check.checked{border-color:var(--gold-text);background:var(--gold-bg);color:var(--gold-text)}
.conc-value{font-family:var(--font-mono);font-size:10px;white-space:nowrap}.conc-value.positive{color:var(--receita-text)}.conc-value.negative{color:var(--despesa-text)}.conc-value.transfer{color:var(--ink)}
.conc-duplicate-pill{display:inline-flex;align-items:center;margin-top:5px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--gold) 36%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--gold-bg) 72%,var(--surface));color:var(--gold-text);font-size:7.5px;font-weight:700;cursor:pointer}
.conc-card-mobile{display:none}
.conc-mobile-card{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.conc-mobile-card+.conc-mobile-card{margin-top:7px}.conc-mobile-card.selected{border-color:var(--gold-text);background:color-mix(in srgb,var(--gold-bg) 46%,var(--surface))}
.conc-mobile-top{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center}.conc-mobile-top small,.conc-mobile-top b{display:block}.conc-mobile-top small{color:var(--ink-soft);font-size:8px}.conc-mobile-top b{margin-top:2px;font-size:11px;line-height:1.25}
.conc-mobile-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:8px 0 0 38px;color:var(--ink-soft);font-size:8.5px}.conc-mobile-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conc-empty{display:grid;gap:4px;place-items:center;padding:34px 12px;text-align:center}.conc-empty span{color:var(--ink-soft);font-size:10px}
.conc-selection-bar{position:fixed;z-index:45;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(920px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(201,163,89,.46);border-radius:14px;background:var(--surface);box-shadow:0 14px 36px rgba(0,0,0,.24)}
.conc-selection-bar[hidden]{display:none!important}.conc-selection-bar>div:first-child b,.conc-selection-bar>div:first-child small{display:block}.conc-selection-bar>div:first-child b{font-size:11px}.conc-selection-bar>div:first-child small{margin-top:2px;color:var(--ink-soft);font-size:8.5px}.conc-selection-bar>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.conc-batch-sheet,.conc-delete-sheet{display:grid;gap:12px;padding:2px 0 4px}.conc-batch-sheet label{display:grid;gap:5px}.conc-batch-sheet label>span{color:var(--ink-soft);font-size:9px;font-weight:700}.conc-batch-summary{padding:11px;border-radius:11px;background:var(--surface-2)}.conc-batch-summary span,.conc-batch-summary b,.conc-batch-summary small{display:block}.conc-batch-summary span{font-size:8px;letter-spacing:.1em;color:var(--ink-soft)}.conc-batch-summary b{margin-top:3px;font-size:13px}.conc-batch-summary small{margin-top:3px;color:var(--ink-soft);font-size:9px}.conc-batch-note{margin:0;color:var(--ink-soft);font-size:9.5px;line-height:1.45}.conc-batch-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.conc-batch-create-trigger{justify-self:start;margin-top:-7px;padding:3px 1px;border:0;background:transparent;color:var(--gold-text);font:700 9px/1.3 var(--font-body);cursor:pointer}.conc-batch-create-trigger:disabled{opacity:.4;cursor:not-allowed}.conc-batch-create-box{display:grid;gap:8px;margin-top:-5px;padding:9px;border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--gold-bg) 34%,var(--surface))}.conc-batch-create-box[hidden]{display:none!important}.conc-batch-create-box>div{display:flex;justify-content:flex-end;gap:7px}.conc-batch-create-box input[type="text"]{width:100%}.conc-batch-fixed{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important}.conc-batch-fixed input{width:16px;height:16px}.conc-batch-fixed span{font-size:9px!important;font-weight:600!important;color:var(--ink)!important}
.conc-delete-alert{display:grid;gap:5px;padding:12px;border:1px solid color-mix(in srgb,var(--despesa-text) 30%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--despesa-bg) 52%,var(--surface))}.conc-delete-alert b{font-size:13px}.conc-delete-alert span{color:var(--ink-soft);font-size:9.5px;line-height:1.4}.conc-delete-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.conc-delete-kpis>div{padding:9px;border-radius:10px;background:var(--surface-2)}.conc-delete-kpis small,.conc-delete-kpis b{display:block}.conc-delete-kpis small{color:var(--ink-soft);font-size:8px}.conc-delete-kpis b{margin-top:3px;font-size:10.5px}.conc-delete-preview{border:1px solid var(--line);border-radius:10px;overflow:hidden}.conc-delete-preview>div{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border-bottom:1px solid var(--line);font-size:9px}.conc-delete-preview>div:last-of-type{border-bottom:0}.conc-delete-preview span{color:var(--ink-soft)}.conc-delete-preview b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conc-delete-preview em{font-style:normal;font-family:var(--font-mono)}.conc-delete-preview>small{display:block;padding:8px;color:var(--ink-soft);font-size:8.5px}
@media (max-width:760px){
  .conc-filter-grid{grid-template-columns:1fr 1fr}.conc-filter-footer{align-items:flex-start}.conc-filter-footer small{max-width:65%;text-align:right}.conc-kpis{grid-template-columns:1fr 1fr}.conc-table-desktop{display:none}.conc-card-mobile{display:block}.conc-results-head{align-items:flex-start}.conc-selection-bar{bottom:calc(72px + env(safe-area-inset-bottom));align-items:flex-start}.conc-selection-bar>div:last-child{max-width:64%}.conc-selection-bar .btn{font-size:9px;padding:7px 8px}.conc-mobile-meta{grid-template-columns:1fr}.conc-delete-kpis{grid-template-columns:1fr 1fr}.conc-delete-kpis>div:last-child{grid-column:1/-1}
}
@media (max-width:420px){.conc-filter-grid{grid-template-columns:1fr 1fr}.conc-period-filter{grid-column:1/-1}.conc-filter-toggle small{display:none}.conc-filter-footer small{display:none}.conc-mode button{font-size:9.5px}.conc-selection-bar{display:grid}.conc-selection-bar>div:last-child{max-width:none;justify-content:flex-start}.conc-mobile-top{grid-template-columns:30px minmax(0,1fr)}.conc-mobile-top>.conc-value{grid-column:2;justify-self:start;margin-top:-3px}.conc-mobile-meta{margin-left:38px}}

/* v1.8.106.11 · refinamentos da Conciliação e revisão de contas */
.report-title-help-row{display:flex;align-items:center;gap:8px;min-width:0}
.report-title-help-row h2{margin:0}
.report-head-help{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink-soft);font:700 10px/1 var(--font-body);cursor:pointer;box-shadow:none}
.report-head-help:hover,.report-head-help:focus-visible{background:var(--surface-2);color:var(--ink);border-color:var(--line);outline:none}
.conc-help-box{margin:2px 0 4px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:12px;background:var(--surface)}
.conc-help-box p{margin:0;color:var(--ink);font-size:11px;line-height:1.55}

.conc-mode.conc-mode-compact{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.conc-mode.conc-mode-compact #conc-reset-all{background:transparent;color:var(--ink-soft);border-color:var(--line)}
.conc-mode.conc-mode-compact #conc-reset-all:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gold) 35%,var(--line))}

.conc-filter-toggle.conc-filter-title{min-height:28px;padding:2px 2px 3px;border:0;border-radius:0;background:transparent;box-shadow:none}
.conc-filter-toggle.conc-filter-title>span{gap:6px}
.conc-filter-toggle.conc-filter-title b{font-size:11px;color:var(--ink)}
.conc-filter-toggle.conc-filter-title small{font-size:8.5px;color:var(--gold-text)}
.conc-filter-toggle.conc-filter-title.has-active{border:0;box-shadow:none}
.conc-filter-toggle.conc-filter-title svg{width:15px;height:15px}

.conc-period-selects.conc-period-combined{display:grid;grid-template-columns:minmax(0,1.35fr) auto minmax(70px,.65fr);gap:0;align-items:center;height:36px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);overflow:hidden}
.conc-period-selects.conc-period-combined select{height:34px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-top:6px!important;padding-bottom:6px!important}
.conc-period-selects.conc-period-combined i{font-style:normal;color:var(--ink-soft);font-size:11px;opacity:.8;padding:0 1px}

.conc-duplicate-pill{background:var(--surface)!important;border:1px solid var(--gold)!important;color:var(--gold-text)!important;box-shadow:none!important}
.conc-mobile-card .conc-duplicate-pill{background:transparent!important}

.settings-account-review-link{display:grid;gap:10px}
.settings-account-review-link>.btn{justify-self:start}

@media (max-width:420px){
  .conc-mode.conc-mode-compact{grid-template-columns:1fr 1.35fr}
  .report-title-help-row{gap:6px}
  .report-head-help{width:20px;height:20px;flex-basis:20px}
}

/* v1.8.106.12 · Conciliação: edição completa, tratamento de duplicidades e filtros com estado visível */
.conc-query-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,230px);gap:8px;align-items:stretch}
.conc-duplicates-toggle{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:700 10px/1.2 var(--font-body);cursor:pointer;white-space:nowrap}
.conc-duplicates-toggle small{min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);font-size:8px}
.conc-duplicates-toggle.active{border-color:var(--gold);color:var(--gold-text);box-shadow:inset 3px 0 0 var(--gold)}
.conc-duplicates-toggle.active small{background:var(--gold-bg);color:var(--gold-text)}

.conc-filter-shell{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .16s,box-shadow .16s}
.conc-filter-shell.has-active{border-color:color-mix(in srgb,var(--gold) 56%,var(--line));box-shadow:inset 3px 0 0 var(--gold)}
.conc-filter-head{display:flex;align-items:stretch;min-height:42px}
.conc-filter-toggle.conc-filter-card-toggle{flex:1;min-width:0;min-height:42px;padding:8px 11px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.conc-filter-toggle.conc-filter-card-toggle>span{gap:7px}.conc-filter-toggle.conc-filter-card-toggle b{font-size:10.5px}.conc-filter-toggle.conc-filter-card-toggle small{color:var(--gold-text);font-size:8.5px;font-weight:700}
.conc-filter-toggle.conc-filter-card-toggle svg{width:16px;height:16px}
.conc-reset-status{align-self:center;margin-right:7px;min-height:30px;padding:6px 10px;border:1px solid transparent;border-radius:9px;font:700 9px/1 var(--font-body);cursor:pointer;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}
.conc-reset-status.clean{background:var(--receita-bg);border-color:color-mix(in srgb,var(--receita) 42%,var(--line));color:var(--receita-text)}
.conc-reset-status.dirty{background:var(--despesa-bg);border-color:color-mix(in srgb,var(--despesa) 42%,var(--line));color:var(--despesa-text)}
.conc-filter-shell .conc-filter-panel{border:0;border-top:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--surface-2) 48%,var(--surface));padding:10px}

.conc-row-clickable{cursor:pointer;outline:none}
.conc-table tr.conc-row-clickable:hover td{background:color-mix(in srgb,var(--gold-bg) 28%,var(--surface))}
.conc-table tr.conc-row-clickable:focus-visible td,.conc-mobile-card.conc-row-clickable:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--gold) 62%,transparent)}
.conc-mobile-card.conc-row-clickable:hover{border-color:color-mix(in srgb,var(--gold) 44%,var(--line))}
.conc-table tr.dup-reviewed td,.conc-mobile-card.dup-reviewed{background:color-mix(in srgb,var(--receita-bg) 32%,var(--surface))}
.conc-duplicate-pill.reviewed{border-color:color-mix(in srgb,var(--receita) 56%,var(--line))!important;color:var(--receita-text)!important}

.conc-single-editor{display:grid;gap:12px;padding:2px 0 4px}
.conc-single-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.conc-single-refund{margin-top:-2px}

.conc-dup-review-sheet{display:grid;gap:11px;padding:2px 0 4px}
.conc-dup-explain{display:grid;gap:4px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));border-radius:11px;background:var(--surface)}
.conc-dup-explain b{font-size:11px;color:var(--gold-text)}.conc-dup-explain span{font-size:9.5px;line-height:1.45;color:var(--ink-soft)}
.conc-dup-review-list{display:grid;gap:7px;max-height:min(52vh,520px);overflow:auto;padding-right:2px}
.conc-dup-review-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.conc-dup-delete-check{display:grid;justify-items:center;gap:2px;color:var(--ink-soft);font-size:7.5px}.conc-dup-delete-check input{width:16px;height:16px}
.conc-dup-review-main{min-width:0}.conc-dup-review-main b,.conc-dup-review-main small,.conc-dup-review-main em{display:block}.conc-dup-review-main b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conc-dup-review-main small{margin-top:2px;color:var(--ink-soft);font-size:8.5px;line-height:1.35}.conc-dup-review-main em{margin-top:2px;color:var(--ink-soft);font-style:normal;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conc-dup-review-item>strong{font-family:var(--font-mono);font-size:10px;white-space:nowrap}
.conc-dup-review-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.conc-dup-review-footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center}

@media(max-width:760px){
  .conc-query-row{grid-template-columns:1fr}.conc-duplicates-toggle{width:100%}
  .conc-single-editor-grid{grid-template-columns:1fr 1fr}
  .conc-dup-review-item{grid-template-columns:auto minmax(0,1fr) auto}.conc-dup-review-actions{grid-column:2/-1;justify-content:flex-start}.conc-dup-review-footer{grid-template-columns:1fr 1fr}.conc-dup-review-footer>span{display:none}
}
@media(max-width:420px){
  .conc-reset-status{padding:6px 8px;font-size:8.5px}.conc-filter-toggle.conc-filter-card-toggle{padding-left:9px}
  .conc-single-editor-grid{grid-template-columns:1fr}.conc-single-editor-grid .wide{grid-column:auto}
  .conc-dup-review-item{grid-template-columns:auto minmax(0,1fr)}.conc-dup-review-item>strong{grid-column:2}.conc-dup-review-actions{grid-column:2}.conc-dup-review-footer{grid-template-columns:1fr}.conc-dup-review-footer .btn{width:100%}
}

/* v1.8.106.13 · alertas do Resumo abrem diretamente a Conciliação */
.conc-summary-focus{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--gold) 54%,var(--line));border-radius:11px;background:var(--surface);box-shadow:inset 3px 0 0 var(--gold)}
.conc-summary-focus>div{min-width:0;display:grid;gap:2px}.conc-summary-focus small{font-size:7.5px;letter-spacing:.08em;font-weight:800;color:var(--gold-text)}.conc-summary-focus b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conc-summary-focus span{font-size:8.5px;color:var(--ink-soft)}
.conc-summary-focus button{flex:0 0 auto;min-height:30px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);font:700 8.5px/1.1 var(--font-body);cursor:pointer}
.conc-summary-focus button:hover{border-color:var(--gold);color:var(--gold-text)}
@media(max-width:520px){.conc-summary-focus{align-items:stretch;flex-direction:column}.conc-summary-focus button{width:100%}.conc-summary-focus b{white-space:normal}}


/* v1.8.106.16 · ajuda dos relatórios no padrão do Resumo + chips compactos de duplicidade */
.conc-duplicate-pill{
  display:inline-flex!important;align-items:center;justify-content:center;max-width:100%;
  min-height:20px;padding:3px 7px!important;margin-top:4px;border-radius:999px!important;
  font-size:8px!important;line-height:1.15!important;font-weight:750!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;
}
.conc-duplicate-pill.reviewed{
  border-color:color-mix(in srgb,var(--receita-text) 52%,var(--line))!important;
  color:var(--receita-text)!important;background:transparent!important;
}
.report-help-popover-global{max-width:min(420px,calc(100vw - 24px))!important;}
@media(max-width:620px){
  .conc-duplicate-pill{font-size:8.2px!important;padding:3px 6px!important;}
}

/* ===== v1.8.106.17 · etiqueta "Não previsto" com contraste no padrão YAKO ===== */
.unplanned-badge{
  background:var(--surface) !important;
  border:1px solid color-mix(in srgb,var(--despesa) 58%,var(--line)) !important;
  color:var(--despesa-text) !important;
  box-shadow:none !important;
}

/* v1.8.106.18 · Conciliação: filtro no mesmo padrão visual de Lançamentos */
.conc-tools-v2{gap:8px}
.conc-search-row-v2{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px 44px;
  gap:8px;
  align-items:center;
}
.conc-search-row-v2 .conc-search{
  min-height:44px;
  border-radius:12px;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  background:var(--surface);
  box-shadow:none;
}
.conc-search-row-v2 .conc-search input{
  height:42px;
  font-size:13px;
  padding:0 5px!important;
}
.conc-search-row-v2 .conc-search:focus-within{
  border-color:color-mix(in srgb,var(--gold) 72%,var(--line));
  box-shadow:none;
}
.conc-search-row-v2 .icon-btn{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-color:color-mix(in srgb,var(--line) 88%,transparent);
  box-shadow:none!important;
}
.conc-search-row-v2 .icon-btn:disabled{
  opacity:.46;
  cursor:default;
}
.conc-search-row-v2 .conc-reset-icon.active{
  color:var(--ink);
  opacity:1;
}
.conc-search-row-v2 .conc-filter-icon-toggle.active{
  background:var(--surface-2);
  border-color:color-mix(in srgb,var(--gold) 38%,var(--line));
}
.conc-filter-panel.conc-filter-panel-v2{
  padding:11px 12px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface-2) 34%,var(--surface));
}
.conc-filter-grid.conc-filter-grid-v2{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px 10px;
  align-items:end;
}
.conc-filter-grid-v2 label>span{
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--ink-soft);
}
.conc-filter-grid-v2 select{
  min-height:40px;
  height:40px;
  font-size:11.5px;
  border-radius:11px;
}
.conc-filter-grid-v2 .conc-duplicates-filter{
  grid-column:span 2;
  align-self:end;
  min-height:40px;
  height:40px;
  border-radius:11px;
  font-size:10.5px;
}
.conc-filter-grid-v2 .conc-period-filter{
  grid-column:span 2;
}
.conc-filter-grid-v2 .conc-period-selects.conc-period-combined{
  height:40px;
  border-radius:11px;
}
.conc-filter-grid-v2 .conc-period-selects.conc-period-combined select{
  height:38px!important;
  font-size:11.5px!important;
}

@media(max-width:760px){
  .conc-filter-grid.conc-filter-grid-v2{grid-template-columns:1fr 1fr}
  .conc-filter-grid-v2 .conc-duplicates-filter{grid-column:1/-1}
  .conc-filter-grid-v2 .conc-period-filter{grid-column:1/-1}
}
@media(max-width:420px){
  .conc-search-row-v2{grid-template-columns:minmax(0,1fr) 42px 42px;gap:6px}
  .conc-search-row-v2 .icon-btn{width:42px;height:42px;flex-basis:42px}
  .conc-search-row-v2 .conc-search{min-height:42px}
  .conc-search-row-v2 .conc-search input{height:40px;font-size:12px}
  .conc-filter-panel.conc-filter-panel-v2{padding:9px}
  .conc-filter-grid.conc-filter-grid-v2{gap:8px}
}
\n\n/* ONBOARDING TEST 1 · exemplo fictício, adiamento e primeira importação */
.onboarding-example-link{appearance:none;border:0;background:transparent;color:var(--gold-text);font:750 10.5px var(--font-ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:3px 6px;margin:0 auto;}
.onboarding-example-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-soft);}
.onboarding-example-badge{justify-self:center;padding:5px 8px;border-radius:999px;background:var(--gold-bg);color:var(--gold-text);font-size:8px;font-weight:850;letter-spacing:.05em;}
.onboarding-example-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.onboarding-example-values section{padding:11px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);text-align:center;}
.onboarding-example-values small{display:block;color:var(--ink-soft);font-size:7px;letter-spacing:.04em;}
.onboarding-example-values b{display:block;margin:5px 0 4px;font:800 14px var(--font-mono);color:var(--ink);white-space:nowrap;}
.onboarding-example-values span{display:block;color:var(--ink-soft);font-size:8.3px;line-height:1.4;}
.onboarding-example-explain,.onboarding-import-tip{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);}
.onboarding-example-explain b,.onboarding-example-explain span,.onboarding-import-tip b,.onboarding-import-tip span{display:block;}
.onboarding-example-explain b,.onboarding-import-tip b{font-size:10.5px;}
.onboarding-example-explain span,.onboarding-import-tip span{margin-top:3px;color:var(--ink-soft);font-size:9.2px;line-height:1.45;}
.onboarding-import-tip{margin-top:10px;text-align:left;}
@media(max-width:620px){
  .onboarding-example-values{grid-template-columns:1fr;}
  .onboarding-example-values section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,.8fr) minmax(0,1.5fr);align-items:center;gap:6px;text-align:left;padding:8px 9px;}
  .onboarding-example-values b{margin:0;font-size:11px;text-align:center;}
  .onboarding-example-values span{font-size:7.8px;}
}


/* ===== v1.8.106.37 · FIX 18 · proteção branca fixa dos logos principais ===== */
/* A imagem do logo continua transparente. A superfície branca fica no elemento pai,
   independente do tema escolhido no YAKO. */
.brand-logo-box{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:#FFFFFF !important;
  border-radius:12px;
  padding:3px 8px;
  box-shadow:0 4px 12px rgba(20,34,56,.08);
  color-scheme:only light;
  forced-color-adjust:none;
  isolation:isolate;
}
.brand-logo-box .brand-logo{
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  forced-color-adjust:none;
}
.app-splash-card{
  background:#FFFFFF !important;
  border-radius:22px;
  padding:24px 28px;
  box-shadow:0 10px 30px rgba(20,34,56,.12);
  color-scheme:only light;
  forced-color-adjust:none;
  isolation:isolate;
}
.app-splash-logo-box{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#FFFFFF !important;
  border-radius:18px;
  padding:10px 14px;
  color-scheme:only light;
  forced-color-adjust:none;
  isolation:isolate;
}
.app-splash-logo-box .app-splash-logo{
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  forced-color-adjust:none;
}
@media(max-width:620px){
  .brand-logo-box{padding:3px 7px;border-radius:11px;}
}


/* TEST 19 · Feedback do beta */
.feedback-beta-sheet .feedback-type-toggle{ margin-bottom:14px; }
.feedback-beta-sheet .feedback-type-toggle button{ min-width:0; flex:1; }
.feedback-beta-note{
  display:flex; flex-direction:column; gap:4px; margin:0 0 15px; padding:12px 13px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface-2); color:var(--ink);
}
.feedback-beta-note b{ font-size:13px; }
.feedback-beta-note span{ font-size:12px; line-height:1.45; color:var(--ink-soft); }
.feedback-beta-sheet textarea{ min-height:132px; resize:vertical; }
.feedback-beta-meta{ display:flex; justify-content:space-between; gap:12px; margin:-4px 0 10px; font-size:11px; color:var(--ink-soft); }
.feedback-beta-privacy{ margin:0 0 14px; font-size:11px; line-height:1.45; color:var(--ink-soft); }


/* ===== v1.8.106.40 · TEST 21 · fundo branco incorporado ao logo ===== */
/* O PNG usado nestes três pontos já possui pixels brancos reais no fundo.
   Assim a legibilidade não depende do tema, transparência ou auto-dark do navegador. */
.brand-logo-box,
.app-splash-logo-box,
.privacy-internal-logo-box{
  background:#FFFFFF !important;
  color-scheme:only light;
  forced-color-adjust:none;
  isolation:isolate;
}
.brand-logo-box{
  padding:5px 10px !important;
  border-radius:13px !important;
}
.brand-logo-box .brand-logo{
  background:#FFFFFF !important;
  border-radius:8px !important;
}
#app-splash{
  background:#FFFFFF !important;
  color-scheme:only light;
  forced-color-adjust:none;
}
.app-splash-card{
  background:#FFFFFF !important;
}
.app-splash-logo-box{
  padding:12px 16px !important;
  border-radius:20px !important;
  box-shadow:0 10px 30px rgba(20,34,56,.14);
}
.app-splash-logo-box .app-splash-logo{
  background:#FFFFFF !important;
  border-radius:12px !important;
}
.privacy-internal-logo-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:8px 10px;
  margin:0 0 20px;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(20,34,56,.10);
}
.privacy-internal-logo-box .privacy-internal-logo{
  width:min(190px,60vw);
  max-width:100%;
  height:auto;
  margin:0 !important;
  display:block;
  background:#FFFFFF !important;
  border-radius:8px;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
@media(max-width:620px){
  .brand-logo-box{padding:4px 8px !important;}
}

/* ======================================================================
   v1.8.106.41 · DESKTOP RESUMO TEST 1
   - aplica somente ao Resumo em telas grandes
   - mantém a experiência mobile existente
   - usa exclusivamente o logo oficial do projeto
   ====================================================================== */
.desktop-sidebar,
.desktop-summary-heading,
.desktop-kpi-head,
.desktop-kpi-foot{display:none;}
.desktop-summary-quick,
.desktop-summary-attention,
.desktop-summary-review,
.desktop-summary-recent,
.desktop-summary-cash{display:contents;}

@media (min-width:1100px){
  body[data-view="dashboard"]{
    min-width:1100px;
    background:var(--paper);
    overflow-x:hidden;
  }
  body[data-view="dashboard"] .app-shell{
    max-width:none;
    width:100%;
    min-height:100vh;
    margin:0;
    padding-left:218px;
    background:var(--paper);
  }
  body[data-view="dashboard"] .topbar,
  body[data-view="dashboard"] .bottom-nav{display:none !important;}

  /* Navegação lateral desktop. */
  body[data-view="dashboard"] .desktop-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:60;
    width:218px;
    display:flex;
    flex-direction:column;
    padding:18px 14px 18px;
    background:linear-gradient(180deg,#082b4b 0%,#0a3559 58%,#0b2f4f 100%);
    color:#fff;
    box-shadow:8px 0 28px rgba(5,27,48,.12);
  }
  body[data-view="dashboard"] .desktop-sidebar-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:76px;
    margin-bottom:16px;
    padding:9px 10px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.10);
    overflow:hidden;
  }
  body[data-view="dashboard"] .desktop-sidebar-logo{
    display:block;
    width:100%;
    max-width:176px;
    height:auto;
    object-fit:contain;
  }
  body[data-view="dashboard"] .desktop-sidebar-nav{
    display:grid;
    gap:4px;
  }
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn{
    width:100%;
    min-height:46px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    justify-items:start;
    gap:10px;
    padding:0 13px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:rgba(255,255,255,.90);
    font:600 13px/1 var(--font-body);
    text-align:left;
    cursor:pointer;
    transition:background .16s ease,color .16s ease,transform .16s ease;
  }
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn:hover{
    background:rgba(255,255,255,.09);
    color:#fff;
  }
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn:active{transform:translateY(1px);}
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn[aria-current="page"]{
    background:linear-gradient(90deg,rgba(86,160,219,.34),rgba(255,255,255,.08));
    color:#fff;
    box-shadow:inset 3px 0 0 #70c1f0;
  }
  body[data-view="dashboard"] .desktop-nav-icon{
    width:26px;
    display:grid;
    place-items:center;
    color:#eaf5ff;
    font-size:19px;
    line-height:1;
  }
  body[data-view="dashboard"] .desktop-sidebar-message{
    margin-top:auto;
    padding:17px 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    background:rgba(255,255,255,.035);
  }
  body[data-view="dashboard"] .desktop-sidebar-message-icon{
    color:#e2b552;
    font-size:26px;
  }
  body[data-view="dashboard"] .desktop-sidebar-message p{
    margin:10px 0 12px;
    color:#fff;
    font-size:14px;
    line-height:1.55;
  }
  body[data-view="dashboard"] .desktop-sidebar-message i{
    display:block;
    width:34px;
    height:3px;
    margin-bottom:13px;
    border-radius:999px;
    background:var(--gold);
  }
  body[data-view="dashboard"] .desktop-sidebar-message small{
    color:rgba(255,255,255,.76);
    font-size:10px;
    line-height:1.5;
  }
  body[data-view="dashboard"] .desktop-sidebar-message b{color:#f1c96a;}

  /* Área principal do Resumo. */
  body[data-view="dashboard"] .view-root{
    width:100%;
    max-width:1680px;
    margin:0 auto;
    padding:18px 24px 42px;
    animation:none;
  }
  body[data-view="dashboard"] .dashboard-render-root{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px;
    align-items:start;
  }

  /* Barra superior: período + regime/ciclo. */
  body[data-view="dashboard"] .dashboard-render-root>.month-picker.main-period-sticky{
    position:relative;
    top:auto;
    z-index:2;
    grid-column:1 / 5;
    grid-row:1;
    min-height:58px;
    margin:0;
    padding:9px 12px;
    flex-wrap:nowrap;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:13px;
    box-shadow:0 4px 16px rgba(20,34,56,.045);
  }
  body[data-view="dashboard"] .dashboard-render-root>.month-picker.main-period-sticky .month-selects{
    min-width:0;
    flex:1;
    justify-content:stretch;
  }
  body[data-view="dashboard"] .dashboard-render-root>.month-picker.main-period-sticky select{
    flex:1 1 0;
    max-width:none;
    min-width:0;
    height:38px;
    background:var(--surface-2);
  }
  body[data-view="dashboard"] .dashboard-render-root>.month-picker-context-row{
    grid-column:5 / 13;
    grid-row:1;
    min-height:58px;
    margin:0;
    padding:8px 12px;
    justify-content:flex-start;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--surface);
    box-shadow:0 4px 16px rgba(20,34,56,.045);
  }
  body[data-view="dashboard"] .dashboard-render-root>.month-picker-context-row .financial-context-strip{
    width:100%;
    justify-content:flex-start;
    margin:0;
    padding:9px 13px;
    color:var(--ink-soft);
    background:color-mix(in srgb,var(--gold) 7%,var(--surface));
    border-color:color-mix(in srgb,var(--gold) 28%,var(--line));
  }
  body[data-view="dashboard"] .dashboard-render-root>.month-picker-context-row .financial-context-strip b,
  body[data-view="dashboard"] .dashboard-render-root>.month-picker-context-row .financial-context-strip i{color:var(--gold-text);}

  /* Título da página. */
  body[data-view="dashboard"] .desktop-summary-heading{
    grid-column:1 / 13;
    grid-row:2;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    padding:7px 4px 2px;
  }
  body[data-view="dashboard"] .desktop-summary-heading h1{
    margin:0;
    color:var(--ink);
    font:700 30px/1.05 var(--font-display);
  }
  body[data-view="dashboard"] .desktop-summary-heading p{
    margin:5px 0 0;
    color:var(--ink-soft);
    font-size:13px;
  }
  body[data-view="dashboard"] .desktop-summary-heading blockquote{
    margin:0 4px 4px 0;
    color:color-mix(in srgb,var(--azul) 80%,var(--ink));
    font:italic 600 14px/1.3 var(--font-body);
  }

  /* Status mensal + três pilares transformados em cards desktop. */
  body[data-view="dashboard"] .ux17-summary-unified{
    grid-column:1 / 13;
    grid-row:3;
    display:grid;
    gap:10px;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  body[data-view="dashboard"] .ux17-summary-unified::after{display:none;}
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status{
    min-height:58px;
    display:grid;
    grid-template-columns:minmax(0,auto) minmax(260px,1fr);
    align-items:center;
    gap:18px;
    margin:0;
    padding:10px 14px;
    border:1px solid var(--line);
    border-left:4px solid var(--receita);
    border-radius:12px;
    background:var(--surface);
    box-shadow:0 4px 14px rgba(20,34,56,.035);
  }
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status.warn{border-left-color:var(--gold);}
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status.bad{border-left-color:var(--despesa);}
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status .ux6-month-top{align-items:center;}
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status h2{font-size:15px;}
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status p{
    margin:0;
    font-size:11px;
    line-height:1.4;
  }
  body[data-view="dashboard"] .ux17-summary-unified>.ux5-month-status .ux5-privacy-toggle{min-height:30px;}

  body[data-view="dashboard"] .ux17-summary-unified>.ux5-pillars{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    overflow:visible;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar{
    min-height:144px;
    padding:16px 18px 15px;
    border:1px solid var(--line) !important;
    border-radius:14px;
    background:var(--surface);
    box-shadow:0 5px 18px rgba(20,34,56,.05);
  }
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar.free,
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar.free.negative-card{background:var(--surface);}
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar-top{display:none;}
  body[data-view="dashboard"] .desktop-kpi-head{
    display:flex;
    align-items:center;
    gap:12px;
  }
  body[data-view="dashboard"] .desktop-kpi-icon{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border-radius:50%;
  }
  body[data-view="dashboard"] .desktop-kpi-icon svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body[data-view="dashboard"] .desktop-kpi-icon.disponivel{background:var(--gold-bg);color:var(--gold-text);}
  body[data-view="dashboard"] .desktop-kpi-icon.previsto{background:var(--azul-bg);color:var(--azul);}
  body[data-view="dashboard"] .desktop-kpi-icon.livre{background:color-mix(in srgb,var(--gold-bg) 72%,var(--surface));color:var(--gold-text);}
  body[data-view="dashboard"] .desktop-kpi-copy{min-width:0;display:grid;gap:3px;}
  body[data-view="dashboard"] .desktop-kpi-title-row{display:flex;align-items:center;gap:7px;}
  body[data-view="dashboard"] .desktop-kpi-title-row>b{font-size:12px;color:var(--ink);}
  body[data-view="dashboard"] .desktop-kpi-copy>small{font-size:9px;line-height:1.35;color:var(--ink-soft);}
  body[data-view="dashboard"] .desktop-kpi-help{width:18px;height:18px;font-size:8px;}
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar>strong{
    display:block;
    margin:12px 0 4px;
    padding:0;
    text-align:left;
    justify-content:flex-start;
    font-size:clamp(24px,2vw,32px);
    color:var(--ink);
  }
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar.now>strong{color:var(--receita-text);}
  body[data-view="dashboard"] .ux17-summary-unified .ux5-pillar.free>strong{color:var(--gold-text);}
  body[data-view="dashboard"] .desktop-kpi-foot{
    display:block !important;
    margin-top:0 !important;
    color:var(--ink-soft) !important;
    font-size:9px !important;
    line-height:1.35 !important;
  }
  body[data-view="dashboard"] .ux17-summary-unified .ux5-account-detail{display:none;}

  /* Ações rápidas viram barra compacta de desktop. */
  body[data-view="dashboard"] .desktop-summary-quick{
    grid-column:1 / 13;
    display:flex;
    justify-content:flex-end;
    margin-top:-2px;
  }
  body[data-view="dashboard"] .desktop-summary-quick .dashboard-quick-actions{
    width:min(520px,100%);
    margin:0;
    gap:8px !important;
  }
  body[data-view="dashboard"] .desktop-summary-quick .dashboard-quick-action{
    min-height:40px !important;
    background:var(--surface);
    box-shadow:0 3px 12px rgba(20,34,56,.035);
  }

  /* Blocos intermediários. */
  body[data-view="dashboard"] .desktop-summary-attention{
    grid-column:1 / 6;
    display:block;
  }
  body[data-view="dashboard"] .desktop-summary-review{
    grid-column:6 / 13;
    display:block;
  }
  body[data-view="dashboard"] .desktop-summary-attention>.ux5-attention-card,
  body[data-view="dashboard"] .desktop-summary-review>.ux18-review-card{
    height:100%;
    min-height:250px;
    margin:0;
    padding:15px 16px;
    border-radius:14px;
    box-shadow:0 4px 16px rgba(20,34,56,.04);
  }
  body[data-view="dashboard"] .desktop-summary-attention .ux5-section-head h2,
  body[data-view="dashboard"] .desktop-summary-review .ux5-section-head h2{font-size:18px;}
  body[data-view="dashboard"] .desktop-summary-attention .ux5-due-row{padding:8px 0;}
  body[data-view="dashboard"] .desktop-summary-review .ux18-review-row{padding:9px 10px;}

  body[data-view="dashboard"] .desktop-summary-recent{
    grid-column:1 / 5;
    display:block;
  }
  body[data-view="dashboard"] .desktop-summary-cash{
    grid-column:5 / 13;
    display:block;
  }
  body[data-view="dashboard"] .desktop-summary-recent>.ux5-recent-card,
  body[data-view="dashboard"] .desktop-summary-cash>.ux19-cash-position-card{
    height:100%;
    margin:0;
    border-radius:14px;
    box-shadow:0 4px 16px rgba(20,34,56,.04);
  }
  body[data-view="dashboard"] .desktop-summary-recent>.ux5-recent-card{padding:15px 16px;}
  body[data-view="dashboard"] .desktop-summary-recent .ux5-recent-row{padding:8px 0;}
  body[data-view="dashboard"] .desktop-summary-cash>.ux19-cash-position-card{padding:15px 16px 13px;}
  body[data-view="dashboard"] .desktop-summary-cash .cash-position-chart{min-height:190px;max-height:245px;}

  /* Demais cards reais do Resumo permanecem disponíveis abaixo, em grade. */
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-means,
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-budget,
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-category,
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-compare,
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-evolution{
    margin:0;
    border-radius:14px;
    box-shadow:0 4px 16px rgba(20,34,56,.04);
  }
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-category,
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-compare{grid-column:span 6;}
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-means,
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-budget{grid-column:span 6;}
  body[data-view="dashboard"] .dashboard-render-root>.desktop-summary-evolution{grid-column:1 / 13;}

  body[data-view="dashboard"] .resumo-section-card-head{padding:13px 15px 10px;}
  body[data-view="dashboard"] .resumo-section-card-body{padding:0 15px 14px;}
  body[data-view="dashboard"] .resumo-section-card .ledger-label>span{font-size:12px;}

  /* Modal/float e FAB continuam acima da sidebar quando usados. */
  body[data-view="dashboard"] .fab{right:28px;left:auto;transform:none;bottom:24px;}
}

@media (min-width:1400px){
  body[data-view="dashboard"] .view-root{padding-left:30px;padding-right:30px;}
  body[data-view="dashboard"] .desktop-summary-attention>.ux5-attention-card,
  body[data-view="dashboard"] .desktop-summary-review>.ux18-review-card{min-height:238px;}
}
@media (min-width:1100px){
  body[data-view="dashboard"] .desktop-nav-svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    color:#eaf5ff;
  }
}


/* ======================================================================
   v1.8.106.43 · DESKTOP RESUMO TEST 3 · PAINEL TOTALMENTE LIVRE
   - cartões analíticos podem ser movidos e redimensionados no desktop
   - organização salva somente neste navegador/computador
   - modo normal permanece travado; mobile não é alterado
   ====================================================================== */
.desktop-dashboard-layout-toolbar{display:none;}
.desktop-widget-move-handle,
.desktop-widget-resize-handle{display:none;}
.desktop-widget-grid{display:contents;}

@media (min-width:1100px){
  body[data-view="dashboard"] .desktop-dashboard-layout-toolbar{
    grid-column:1 / 13;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:46px;
    padding:6px 8px 6px 13px;
    border:1px solid color-mix(in srgb,var(--azul) 16%,var(--line));
    border-radius:13px;
    background:linear-gradient(90deg,color-mix(in srgb,var(--azul-bg) 42%,var(--surface)),var(--surface));
    box-shadow:0 3px 12px rgba(20,34,56,.035);
  }
  body[data-view="dashboard"] .desktop-layout-toolbar-copy{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
  }
  body[data-view="dashboard"] .desktop-layout-toolbar-copy b{
    color:var(--ink);
    font-size:12px;
  }
  body[data-view="dashboard"] .desktop-layout-toolbar-copy span{
    color:var(--ink-soft);
    font-size:10px;
    line-height:1.35;
  }
  body[data-view="dashboard"] .desktop-layout-toolbar-copy strong{color:var(--azul);}
  body[data-view="dashboard"] .desktop-layout-toolbar-actions{
    display:flex;
    align-items:center;
    gap:8px;
  }
  body[data-view="dashboard"] .desktop-layout-toggle,
  body[data-view="dashboard"] .desktop-layout-reset{
    min-height:34px;
    border-radius:10px;
    padding:0 13px;
    font:700 10px/1 var(--font-body);
    cursor:pointer;
  }
  body[data-view="dashboard"] .desktop-layout-toggle{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#fff;
    border:1px solid color-mix(in srgb,var(--azul) 80%,#000);
    background:linear-gradient(180deg,color-mix(in srgb,var(--azul) 88%,#fff),var(--azul));
    box-shadow:0 4px 10px color-mix(in srgb,var(--azul) 20%,transparent);
  }
  body[data-view="dashboard"] .desktop-layout-toggle.is-locking{
    color:#2c230e;
    border-color:color-mix(in srgb,var(--gold) 65%,var(--line));
    background:linear-gradient(180deg,#f8d77a,#e9b94d);
  }
  body[data-view="dashboard"] .desktop-layout-reset{
    color:var(--ink-soft);
    border:1px solid var(--line);
    background:var(--surface);
  }
  body[data-view="dashboard"] .desktop-layout-reset:hover{color:var(--ink);border-color:color-mix(in srgb,var(--azul) 35%,var(--line));}

  body[data-view="dashboard"] .desktop-widget-grid{
    grid-column:1 / 13;
    display:grid;
    grid-template-columns:repeat(24,minmax(0,1fr));
    grid-auto-rows:34px;
    gap:12px;
    align-items:stretch;
    position:relative;
    min-width:0;
  }
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget{
    display:block;
    position:relative;
    min-width:0;
    min-height:0;
    height:100%;
    margin:0 !important;
    transition:box-shadow .16s ease,outline-color .16s ease,transform .12s ease;
  }
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget>.ux5-attention-card,
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget>.ux18-review-card,
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget>.ux5-recent-card,
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget>.ux19-cash-position-card{
    height:100%;
    min-height:0;
    margin:0;
    overflow:auto;
    scrollbar-width:thin;
  }
  body[data-view="dashboard"] .desktop-widget-grid>section.desktop-widget{
    height:100%;
    overflow:auto;
    scrollbar-width:thin;
  }
  body[data-view="dashboard"] .desktop-widget-grid .desktop-summary-attention>.ux5-attention-card,
  body[data-view="dashboard"] .desktop-widget-grid .desktop-summary-review>.ux18-review-card{min-height:0;}
  body[data-view="dashboard"] .desktop-widget-grid .desktop-summary-cash .cash-position-chart{min-height:150px;max-height:210px;}
  body[data-view="dashboard"] .desktop-widget-grid .desktop-summary-evolution .resumo-section-card-body{min-height:0;}

  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing>.desktop-widget{
    outline:2px dashed color-mix(in srgb,var(--azul) 46%,transparent);
    outline-offset:2px;
    border-radius:15px;
    box-shadow:0 8px 22px rgba(18,71,122,.11);
  }
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing>.desktop-widget:hover{
    outline-color:color-mix(in srgb,var(--gold) 78%,var(--azul));
  }
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing>.desktop-widget.is-dragging,
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing>.desktop-widget.is-resizing{
    z-index:30;
    outline-color:var(--gold);
    box-shadow:0 16px 36px rgba(12,45,75,.22);
  }
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-move-handle{
    position:absolute;
    z-index:25;
    top:8px;
    right:42px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    height:26px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:9px;
    background:#103c63;
    color:#fff;
    box-shadow:0 3px 9px rgba(3,24,43,.18);
    font:700 9px/1 var(--font-body);
    cursor:grab;
    touch-action:none;
    user-select:none;
  }
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-move-handle:active{cursor:grabbing;}
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-move-handle>span:first-child{font-size:15px;line-height:1;}
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-resize-handle{
    position:absolute;
    z-index:26;
    right:5px;
    bottom:5px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--gold) 65%,var(--line));
    border-radius:9px;
    background:#fff8e8;
    color:#9a6a0b;
    box-shadow:0 3px 10px rgba(90,62,9,.12);
    font-size:16px;
    cursor:nwse-resize;
    touch-action:none;
    user-select:none;
  }
  body.desktop-dashboard-layout-editing{user-select:none;}
  body.desktop-dashboard-layout-editing button,
  body.desktop-dashboard-layout-editing input,
  body.desktop-dashboard-layout-editing select{user-select:auto;}
}

@media (min-width:1400px){
  body[data-view="dashboard"] .desktop-widget-grid{grid-auto-rows:36px;}
}

/* ======================================================================
   v1.8.106.43 · DESKTOP RESUMO TEST 3
   - fixos: menu lateral + título da aba
   - todos os demais quadros do Resumo podem ser movidos/redimensionados
   - arraste com refluxo: ocupar outra área empurra os demais quadros para baixo
   - menu lateral com rolagem interna para não cortar o rodapé em telas baixas
   ====================================================================== */
.desktop-controls-widget{display:contents;}

@media (min-width:1100px){
  body[data-view="dashboard"] .dashboard-render-root{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px;
    align-items:start;
  }

  /* Só o título e a barra de organização permanecem estruturais. */
  body[data-view="dashboard"] .desktop-summary-heading{
    grid-column:1 / 13 !important;
    grid-row:1 !important;
    position:relative;
    z-index:3;
  }
  body[data-view="dashboard"] .desktop-dashboard-layout-toolbar{
    grid-column:1 / 13 !important;
    grid-row:2 !important;
    position:relative;
    z-index:3;
  }
  body[data-view="dashboard"] .desktop-widget-grid{
    grid-column:1 / 13 !important;
    grid-row:3 !important;
    grid-auto-rows:34px;
    min-height:220px;
  }

  /* Período + contexto passam a ser um quadro único e móvel. */
  body[data-view="dashboard"] .desktop-controls-widget{
    display:grid;
    grid-template-columns:minmax(300px,4fr) minmax(420px,8fr);
    gap:12px;
    align-items:stretch;
    min-width:0;
    min-height:0;
    padding:0;
    overflow:visible !important;
  }
  body[data-view="dashboard"] .desktop-controls-widget>.month-picker.main-period-sticky,
  body[data-view="dashboard"] .desktop-controls-widget>.month-picker-context-row{
    position:relative;
    inset:auto;
    width:100%;
    min-width:0;
    min-height:0;
    height:100%;
    margin:0;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--surface);
    box-shadow:0 4px 16px rgba(20,34,56,.045);
  }
  body[data-view="dashboard"] .desktop-controls-widget>.month-picker.main-period-sticky{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
  }
  body[data-view="dashboard"] .desktop-controls-widget>.month-picker.main-period-sticky .month-selects{
    flex:1 1 auto;
    min-width:0;
  }
  body[data-view="dashboard"] .desktop-controls-widget>.month-picker.main-period-sticky select{
    min-width:0;
    max-width:none;
    height:38px;
    background:var(--surface-2);
  }
  body[data-view="dashboard"] .desktop-controls-widget>.month-picker-context-row{
    display:flex;
    align-items:center;
  }
  body[data-view="dashboard"] .desktop-controls-widget .financial-context-strip{
    width:100%;
    margin:0;
  }

  /* Remove caixas intermediárias: cada quadro real participa da mesma grade. */
  body[data-view="dashboard"] .desktop-widget-grid>.ux17-summary-unified,
  body[data-view="dashboard"] .desktop-widget-grid .ux5-pillars{
    display:contents !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body[data-view="dashboard"] .desktop-widget-grid>.ux17-summary-unified::after{display:none !important;}

  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.desktop-widget,
  body[data-view="dashboard"] .desktop-widget-grid .ux5-pillar.desktop-widget,
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget,
  body[data-view="dashboard"] .desktop-widget-grid .desktop-summary-quick.desktop-widget{
    position:relative;
    min-width:0;
    min-height:0;
    height:100%;
    margin:0 !important;
  }

  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.desktop-widget{
    display:grid;
    grid-template-columns:minmax(0,auto) minmax(260px,1fr);
    align-items:center;
    gap:18px;
    padding:10px 14px;
    border:1px solid var(--line);
    border-left:4px solid var(--receita);
    border-radius:12px;
    background:var(--surface);
    box-shadow:0 4px 14px rgba(20,34,56,.035);
    overflow:auto;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.warn{border-left-color:var(--gold);}
  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.bad{border-left-color:var(--despesa);}

  body[data-view="dashboard"] .desktop-widget-grid .ux5-pillar.desktop-widget{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    box-shadow:0 4px 14px rgba(20,34,56,.035);
    overflow:auto;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget{
    display:block;
    overflow:auto;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget>.ledger-accounts-section{
    height:100%;
    margin:0;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--surface);
    overflow:auto;
  }

  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget{
    display:flex;
    align-items:stretch;
    overflow:visible;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget .dashboard-quick-actions{
    width:100%;
    height:100%;
    margin:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget .dashboard-quick-action{
    min-height:100%;
  }

  /* Todos os widgets recebem a mesma regra de encaixe/rolagem. */
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget,
  body[data-view="dashboard"] .desktop-widget-grid .desktop-widget{
    box-sizing:border-box;
  }
  body[data-view="dashboard"] .desktop-widget-grid>section.desktop-widget,
  body[data-view="dashboard"] .desktop-widget-grid>.desktop-widget:not(.desktop-controls-widget),
  body[data-view="dashboard"] .desktop-widget-grid .ux17-summary-unified .desktop-widget{
    scrollbar-width:thin;
  }

  /* Barra "Meu painel" sempre acima dos quadros. */
  body[data-view="dashboard"] .desktop-dashboard-layout-toolbar{
    order:-1;
  }

  /* Sidebar: fixa na tela, mas o conteúdo interno pode rolar. */
  body[data-view="dashboard"] .desktop-sidebar{
    height:100dvh;
    max-height:100dvh;
    box-sizing:border-box;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.26) transparent;
  }
  body[data-view="dashboard"] .desktop-sidebar::-webkit-scrollbar{width:7px;}
  body[data-view="dashboard"] .desktop-sidebar::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.22);
    border-radius:999px;
  }
  body[data-view="dashboard"] .desktop-sidebar-brand,
  body[data-view="dashboard"] .desktop-sidebar-nav,
  body[data-view="dashboard"] .desktop-sidebar-message{flex:0 0 auto;}
  body[data-view="dashboard"] .desktop-sidebar-message{
    margin-top:auto;
    margin-bottom:2px;
  }
}

@media (min-width:1100px) and (max-height:840px){
  body[data-view="dashboard"] .desktop-sidebar{padding-top:12px;padding-bottom:12px;}
  body[data-view="dashboard"] .desktop-sidebar-brand{
    min-height:62px;
    margin-bottom:8px;
    padding:6px 9px;
  }
  body[data-view="dashboard"] .desktop-sidebar-logo{max-width:158px;}
  body[data-view="dashboard"] .desktop-sidebar-nav{gap:2px;}
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn{
    min-height:39px;
    font-size:12px;
  }
  body[data-view="dashboard"] .desktop-sidebar-message{
    margin-top:10px;
    padding:12px 13px;
  }
  body[data-view="dashboard"] .desktop-sidebar-message-icon{font-size:21px;}
  body[data-view="dashboard"] .desktop-sidebar-message p{
    margin:7px 0 9px;
    font-size:12px;
    line-height:1.42;
  }
  body[data-view="dashboard"] .desktop-sidebar-message i{margin-bottom:9px;}
  body[data-view="dashboard"] .desktop-sidebar-message small{font-size:9px;line-height:1.35;}
}

/* ======================================================================
   v1.8.106.44 · DESKTOP PERSONALIZÁVEL TEST 4
   - menu lateral disponível em todas as telas desktop
   - cada aba possui "Meu painel" e grade livre
   - widgets do Resumo podem ser movidos/adicionados entre todas as abas
   - mobile permanece intocado
   ====================================================================== */
.desktop-fixed-page-heading,
.desktop-page-layout-toolbar,
.desktop-personal-grid{display:none;}

@media (min-width:1100px){
  body{
    min-width:1100px;
    background:var(--paper);
    overflow-x:hidden;
  }
  body .app-shell{
    max-width:none;
    width:100%;
    min-height:100vh;
    margin:0;
    padding-left:218px;
    background:var(--paper);
  }
  body .topbar,
  body .bottom-nav{display:none !important;}

  /* Sidebar única para todas as abas desktop. */
  body .desktop-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:60;
    width:218px;
    height:100dvh;
    max-height:100dvh;
    box-sizing:border-box;
    display:flex !important;
    flex-direction:column;
    padding:18px 14px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.26) transparent;
    background:linear-gradient(180deg,#082b4b 0%,#0a3559 58%,#0b2f4f 100%);
    color:#fff;
    box-shadow:8px 0 28px rgba(5,27,48,.12);
  }
  body .desktop-sidebar::-webkit-scrollbar{width:7px;}
  body .desktop-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px;}
  body .desktop-sidebar-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:76px;
    margin-bottom:16px;
    padding:9px 10px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.10);
    overflow:hidden;
    flex:0 0 auto;
  }
  body .desktop-sidebar-logo{display:block;width:100%;max-width:176px;height:auto;object-fit:contain;}
  body .desktop-sidebar-nav{display:grid;gap:4px;flex:0 0 auto;}
  body .desktop-sidebar .desktop-nav-btn{
    width:100%;
    min-height:46px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    justify-items:start;
    gap:10px;
    padding:0 13px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:rgba(255,255,255,.90);
    font:600 13px/1 var(--font-body);
    text-align:left;
    cursor:pointer;
    transition:background .16s ease,color .16s ease,transform .16s ease;
  }
  body .desktop-sidebar .desktop-nav-btn:hover{background:rgba(255,255,255,.09);color:#fff;}
  body .desktop-sidebar .desktop-nav-btn[aria-current="page"]{
    background:linear-gradient(90deg,rgba(86,160,219,.34),rgba(255,255,255,.08));
    color:#fff;
    box-shadow:inset 3px 0 0 #70c1f0;
  }
  body .desktop-sidebar-message{
    display:block;
    margin-top:auto;
    margin-bottom:2px;
    padding:17px 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    background:rgba(255,255,255,.035);
    flex:0 0 auto;
  }
  body .desktop-sidebar-message-icon{color:#e2b552;font-size:26px;}
  body .desktop-sidebar-message p{margin:10px 0 12px;color:#fff;font-size:14px;line-height:1.55;}
  body .desktop-sidebar-message i{display:block;width:34px;height:3px;margin-bottom:13px;border-radius:999px;background:var(--gold);}
  body .desktop-sidebar-message small{color:rgba(255,255,255,.76);font-size:10px;line-height:1.5;}
  body .desktop-sidebar-message b{color:#f1c96a;}

  body .view-root{
    width:100%;
    max-width:1680px;
    margin:0 auto;
    padding:18px 24px 42px;
    animation:none;
  }

  /* Título estrutural das abas que não possuíam título desktop próprio. */
  .desktop-fixed-page-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    padding:7px 4px 8px;
  }
  .desktop-fixed-page-heading h1{margin:0;color:var(--ink);font:700 30px/1.05 var(--font-display);}
  .desktop-fixed-page-heading p{margin:5px 0 0;color:var(--ink-soft);font-size:13px;}

  /* Intro/título das telas existentes fica estrutural e fora da grade livre. */
  .reports-page-intro,
  .settings-page-intro,
  .report-detail-head{position:relative;z-index:3;}

  /* Barra comum de personalização. */
  .desktop-page-layout-toolbar,
  .desktop-dashboard-layout-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    min-height:54px;
    margin:8px 0 12px;
    padding:9px 12px 9px 15px;
    border:1px solid var(--line);
    border-radius:13px;
    background:color-mix(in srgb,var(--surface) 89%,var(--azul-bg));
    box-shadow:0 4px 14px rgba(20,34,56,.04);
  }
  .desktop-layout-toolbar-copy{display:flex;align-items:center;gap:12px;min-width:0;}
  .desktop-layout-toolbar-copy>b{white-space:nowrap;color:var(--ink);font-size:12px;}
  .desktop-layout-toolbar-copy>span{color:var(--ink-soft);font-size:10px;line-height:1.35;}
  .desktop-layout-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
  .desktop-layout-widgets,
  .desktop-layout-export-preset,
  .desktop-layout-reset,
  .desktop-layout-toggle{
    min-height:34px;
    padding:0 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--ink);
    font:700 10px/1 var(--font-body);
    cursor:pointer;
  }
  .desktop-layout-widgets,
  .desktop-layout-export-preset{border-color:color-mix(in srgb,var(--azul) 35%,var(--line));color:var(--azul);}
  .desktop-layout-toggle{display:inline-flex;align-items:center;gap:7px;background:var(--gold);border-color:var(--gold);color:#443000;}
  .desktop-layout-toggle.is-locking,
  .desktop-page-layout-toolbar.is-layout-editing .desktop-layout-toggle{background:var(--gold);}

  /* Grade genérica de qualquer aba. */
  .desktop-personal-grid{
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:34px;
    gap:12px;
    align-items:stretch;
    width:100%;
    min-height:220px;
    position:relative;
  }
  .settings-dashboard.desktop-personal-grid,
  .reports-grid.desktop-personal-grid{display:grid !important;}

  .desktop-page-widget{
    position:relative;
    min-width:0;
    min-height:0;
    height:100%;
    box-sizing:border-box;
    overflow:auto;
    border-radius:14px;
    scrollbar-width:thin;
  }
  .desktop-page-widget> :not(.desktop-widget-move-handle):not(.desktop-widget-resize-handle):not(.desktop-widget-transfer-handle){
    box-sizing:border-box;
    max-width:100%;
  }
  .desktop-page-widget>.settings-modern-panel,
  .desktop-page-widget>.plano-resumo-kpis,
  .desktop-page-widget>.plano-resumo-section,
  .desktop-page-widget>.card,
  .desktop-page-widget>.report-paper,
  .desktop-page-widget>.reports-grid,
  .desktop-page-widget>.month-picker,
  .desktop-page-widget>.lancamentos-search-sticky{
    width:100%;
    min-height:100%;
    margin:0 !important;
    position:relative !important;
    top:auto !important;
  }
  .desktop-page-widget>.settings-modern-panel{height:100%;overflow:auto;}
  .desktop-page-widget>.settings-modern-panel .settings-modern-body{max-height:none;}
  .desktop-page-widget>.reports-grid>button,
  .reports-grid.desktop-personal-grid .desktop-page-widget>button{width:100%;height:100%;min-height:100%;}

  /* Modo organizar: destaque e alças. */
  .desktop-personal-grid.is-layout-editing>.desktop-page-widget,
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget{
    outline:1px dashed color-mix(in srgb,var(--azul) 58%,var(--line));
    outline-offset:-1px;
  }
  .desktop-personal-grid .desktop-widget-move-handle,
  .desktop-personal-grid .desktop-widget-resize-handle,
  .desktop-personal-grid .desktop-widget-transfer-handle,
  body[data-view="dashboard"] .desktop-widget-transfer-handle{display:none;}

  .desktop-personal-grid.is-layout-editing .desktop-widget-move-handle,
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-move-handle{
    position:absolute;
    z-index:35;
    top:8px;
    right:72px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    height:26px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:9px;
    background:#103c63;
    color:#fff;
    box-shadow:0 3px 9px rgba(3,24,43,.18);
    font:700 9px/1 var(--font-body);
    cursor:grab;
    touch-action:none;
    user-select:none;
  }
  .desktop-personal-grid.is-layout-editing .desktop-widget-resize-handle,
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-resize-handle{
    position:absolute;
    z-index:36;
    right:5px;
    bottom:5px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--gold) 65%,var(--line));
    border-radius:9px;
    background:#fff8e8;
    color:#9a6a0b;
    box-shadow:0 3px 10px rgba(90,62,9,.12);
    font-size:16px;
    cursor:nwse-resize;
    touch-action:none;
  }
  .desktop-personal-grid.is-layout-editing .desktop-widget-transfer-handle,
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-transfer-handle{
    position:absolute;
    z-index:37;
    top:8px;
    right:38px;
    width:28px;
    height:26px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));
    border-radius:9px;
    background:#fff8e8;
    color:#80570a;
    font:800 16px/1 var(--font-body);
    cursor:pointer;
  }
  .desktop-personal-grid.is-layout-editing>.desktop-page-widget.is-dragging,
  .desktop-personal-grid.is-layout-editing>.desktop-page-widget.is-resizing{
    z-index:30;
    outline-color:var(--gold);
    box-shadow:0 16px 36px rgba(12,45,75,.22);
  }

  /* Widgets do Resumo quando aparecem em outra aba. */
  .desktop-portable-shell{
    padding:0;
    overflow:auto;
    border-radius:14px;
  }
  .desktop-portable-shell>[data-dashboard-widget]{
    width:100%;
    min-height:100%;
    height:100%;
    margin:0 !important;
    box-sizing:border-box;
  }
  .desktop-portable-shell .desktop-kpi-head{display:flex;align-items:center;gap:12px;}
  .desktop-portable-shell .desktop-kpi-foot{display:block;margin-top:auto;color:var(--ink-soft);font-size:9px;}
  .desktop-portable-shell .desktop-kpi-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;}
  .desktop-portable-shell .desktop-kpi-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .desktop-portable-shell .desktop-kpi-icon.disponivel{background:var(--gold-bg);color:var(--gold-text);}
  .desktop-portable-shell .desktop-kpi-icon.previsto{background:var(--azul-bg);color:var(--azul);}
  .desktop-portable-shell .desktop-kpi-icon.livre{background:color-mix(in srgb,var(--gold-bg) 72%,var(--surface));color:var(--gold-text);}
  .desktop-portable-shell .desktop-kpi-copy{display:grid;gap:3px;min-width:0;}
  .desktop-portable-shell .desktop-kpi-title-row{display:flex;align-items:center;gap:7px;}
  .desktop-portable-shell .ux5-pillar{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:16px 18px;
    border:1px solid var(--line) !important;
    border-radius:14px;
    background:var(--surface) !important;
    box-shadow:0 4px 14px rgba(20,34,56,.04);
  }
  .desktop-portable-shell .ux5-pillar-top{display:none;}
  .desktop-portable-shell .ux5-month-status{
    display:grid;
    grid-template-columns:minmax(0,auto) minmax(220px,1fr);
    align-items:center;
    gap:16px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-left:4px solid var(--receita);
    border-radius:13px;
    background:var(--surface);
  }
  .desktop-portable-shell .desktop-summary-quick .dashboard-quick-actions,
  .desktop-portable-shell>.desktop-summary-quick .dashboard-quick-actions{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .desktop-portable-shell .ux5-attention-card,
  .desktop-portable-shell .ux18-review-card,
  .desktop-portable-shell .ux5-recent-card,
  .desktop-portable-shell .ux19-cash-position-card,
  .desktop-portable-shell .resumo-section-card{height:100%;overflow:auto;}

  /* Gerenciador / mover para outra aba. */
  .desktop-widget-manager-help{margin:0 0 12px;color:var(--ink-soft);font-size:12px;line-height:1.5;}
  .desktop-widget-manager-list{display:grid;gap:8px;margin-bottom:14px;}
  .desktop-widget-manager-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);}
  .desktop-widget-manager-row>div{display:grid;gap:3px;min-width:0;}
  .desktop-widget-manager-row b{font-size:12px;color:var(--ink);}
  .desktop-widget-manager-row small{font-size:9px;color:var(--ink-soft);}
  .desktop-widget-destination-group{display:grid;gap:7px;margin:0 0 16px;}
  .desktop-widget-destination-group>b{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
  .desktop-widget-destination{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:700 12px/1 var(--font-body);cursor:pointer;}
  .desktop-widget-destination:hover{border-color:var(--azul);}
  .desktop-widget-destination em{font:500 9px/1 var(--font-body);color:var(--ink-soft);font-style:normal;text-transform:uppercase;}
}

@media (min-width:1400px){
  .desktop-personal-grid{grid-auto-rows:36px;}
}

@media (min-width:1100px) and (max-height:840px){
  body .desktop-sidebar{padding-top:12px;padding-bottom:12px;}
  body .desktop-sidebar-brand{min-height:62px;margin-bottom:8px;padding:6px 9px;}
  body .desktop-sidebar-logo{max-width:158px;}
  body .desktop-sidebar-nav{gap:2px;}
  body .desktop-sidebar .desktop-nav-btn{min-height:39px;font-size:12px;}
  body .desktop-sidebar-message{margin-top:10px;padding:12px 13px;}
  body .desktop-sidebar-message-icon{font-size:21px;}
  body .desktop-sidebar-message p{margin:7px 0 9px;font-size:12px;line-height:1.42;}
  body .desktop-sidebar-message i{margin-bottom:9px;}
  body .desktop-sidebar-message small{font-size:9px;line-height:1.35;}
}

/* ======================================================================
   v1.8.106.45 · DESKTOP PERSONALIZÁVEL TEST 4.1
   - corrige os ícones do menu lateral em todas as abas
   - permite redimensionar a barra "Meu painel" no modo Organizar
   ====================================================================== */
@media (min-width:1100px){
  /* O mesmo desenho de ícone do Resumo passa a valer para todas as abas. */
  body .desktop-sidebar .desktop-nav-svg{
    width:21px !important;
    height:21px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.7 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    color:inherit !important;
  }
  body .desktop-sidebar .desktop-nav-svg *{
    fill:none !important;
    stroke:currentColor !important;
  }
  body .desktop-sidebar .desktop-nav-btn,
  body .desktop-sidebar .desktop-nav-btn.active,
  body .desktop-sidebar .desktop-nav-btn[aria-current="page"]{
    color:rgba(255,255,255,.92) !important;
  }
  body .desktop-sidebar .desktop-nav-btn.active,
  body .desktop-sidebar .desktop-nav-btn[aria-current="page"]{
    color:#fff !important;
  }

  .desktop-page-layout-toolbar,
  .desktop-dashboard-layout-toolbar{
    position:relative;
    box-sizing:border-box;
    max-width:100%;
    min-width:45%;
    flex-wrap:wrap;
    align-content:center;
    overflow:auto;
    resize:none;
  }
  .desktop-toolbar-resize-handle{display:none;}
  .desktop-page-layout-toolbar.is-layout-editing > .desktop-toolbar-resize-handle,
  .desktop-dashboard-layout-toolbar.is-layout-editing > .desktop-toolbar-resize-handle{
    position:absolute;
    z-index:50;
    right:5px;
    bottom:5px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--gold) 65%,var(--line));
    border-radius:9px;
    background:#fff8e8;
    color:#9a6a0b;
    box-shadow:0 3px 10px rgba(90,62,9,.12);
    font-size:16px;
    cursor:nwse-resize;
    touch-action:none;
  }
  .desktop-page-layout-toolbar.is-resizing-toolbar,
  .desktop-dashboard-layout-toolbar.is-resizing-toolbar{
    outline:1px dashed var(--gold);
    outline-offset:2px;
  }
}

/* ======================================================================
   v1.8.106.46 · DESKTOP PERSONALIZÁVEL TEST 4.2
   - Relatórios desktop abre diretamente a análise selecionada, sem cards gigantes
   - botão Mostrar/Ocultar valores permanece no canto superior direito do card
   ====================================================================== */
@media (min-width:1100px){
  /* Seletor compacto da aba Relatórios. Ele entra como widget do painel e pode
     ser redimensionado/reorganizado como os demais blocos. */
  /* TEST 5.2 · widgets compactos podem encolher até o conteúdo. */
  body[data-view="dashboard"] .desktop-widget-grid{grid-template-columns:repeat(24,minmax(0,1fr));}

  body[data-view="dashboard"] .desktop-period-only,
  body[data-view="dashboard"] .desktop-context-widget,
  body[data-view="dashboard"] .desktop-privacy-widget{
    min-height:0 !important;
  }
  body[data-view="dashboard"] .desktop-context-widget[data-grid-h="1"],
  body[data-view="dashboard"] .desktop-privacy-widget[data-grid-h="1"]{
    padding:0 !important;
    border-radius:10px;
  }
  body[data-view="dashboard"] .desktop-context-widget[data-grid-h="1"]>.financial-context-strip{
    min-height:100%;
    height:100%;
    margin:0;
    padding:0 10px;
    border-radius:9px;
  }
  body[data-view="dashboard"] .desktop-privacy-widget[data-grid-h="1"]>.ux5-privacy-toggle{
    width:100%;
    min-height:100%;
    height:100%;
    padding:0 9px;
    border-radius:9px;
  }
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="1"]>.month-picker,
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="2"]>.month-picker{
    min-height:100%;
    height:100%;
    padding:2px 5px !important;
    border-radius:10px;
  }
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="1"] .month-nav,
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="1"] select{
    min-height:28px !important;
    height:28px !important;
  }
  body[data-view="dashboard"] .desktop-widget[data-grid-h="1"]{overflow:hidden !important;}

  /* O contorno do modo de edição acompanha o tamanho real, sem altura visual extra. */
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing>.desktop-widget{min-height:0 !important;}

  .desktop-report-selector-card{
    width:100%;
    height:100%;
    min-height:64px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:10px 14px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--surface);
    box-shadow:0 4px 14px rgba(20,34,56,.035);
  }
  .desktop-report-selector-copy{display:grid;gap:3px;min-width:0;}
  .desktop-report-selector-copy small{font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--ink-soft);}
  .desktop-report-selector-copy b{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .desktop-report-selector-control{display:flex;align-items:center;gap:9px;min-width:min(430px,48%);}
  .desktop-report-selector-control>span{font-size:10px;font-weight:700;color:var(--ink-soft);white-space:nowrap;}
  .desktop-report-selector-control select{
    width:100%;
    min-height:38px;
    padding:0 36px 0 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-2);
    color:var(--ink);
    font:700 11px/1 var(--font-body);
  }

  /* O card Como está seu mês continua livre no painel. O botão de privacidade
     fica dentro dele, no topo à direita, sem disputar espaço com a frase. */
  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.desktop-widget{
    display:block !important;
    position:relative;
    padding:12px 14px !important;
    overflow:auto;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.desktop-widget .ux6-month-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:12px;
    width:100%;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.desktop-widget .ux6-privacy-inside{
    position:static !important;
    align-self:start;
    justify-self:end;
    white-space:nowrap;
    flex:0 0 auto;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-month-status.desktop-widget>p{
    display:block;
    width:100%;
    max-width:100%;
    margin:8px 0 0 !important;
    padding:0 !important;
    box-sizing:border-box;
    clear:both;
  }

  /* Mesmo comportamento caso Como está seu mês seja enviado para outra aba. */
  .desktop-portable-shell .ux5-month-status{
    display:block !important;
    position:relative;
    padding:12px 14px !important;
    overflow:auto;
  }
  .desktop-portable-shell .ux5-month-status .ux6-month-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:12px;
    width:100%;
  }
  .desktop-portable-shell .ux5-month-status .ux6-privacy-inside{
    position:static !important;
    justify-self:end;
    white-space:nowrap;
  }
  .desktop-portable-shell .ux5-month-status>p{
    width:100%;
    max-width:100%;
    margin:8px 0 0 !important;
    padding:0 !important;
  }
}

/* ---------- Desktop Personalizável TEST 5 ---------- */
@media (min-width:1100px){
  .desktop-layout-gap-control{
    display:none;
    align-items:center;
    gap:6px;
    height:34px;
    padding:0 8px 0 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--ink-soft);
    font:700 9px/1 var(--font-body);
    white-space:nowrap;
  }
  .desktop-page-layout-toolbar.is-layout-editing .desktop-layout-gap-control,
  body[data-view="dashboard"] .desktop-dashboard-layout-toolbar.is-layout-editing .desktop-layout-gap-control{display:flex;}
  .desktop-layout-gap-control select{
    min-width:88px;
    height:26px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ink);
    font:700 9px/1 var(--font-body);
  }

  .desktop-personal-grid .desktop-widget-style-handle,
  body[data-view="dashboard"] .desktop-widget-grid .desktop-widget-style-handle{display:none;}
  .desktop-personal-grid.is-layout-editing .desktop-widget-style-handle,
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-style-handle{
    position:absolute;
    z-index:38;
    top:8px;
    right:106px;
    min-width:30px;
    height:26px;
    display:grid;
    place-items:center;
    padding:0 7px;
    border:1px solid color-mix(in srgb,var(--azul) 32%,var(--line));
    border-radius:9px;
    background:var(--surface);
    color:var(--azul);
    box-shadow:0 3px 9px rgba(3,24,43,.10);
    font:800 10px/1 var(--font-body);
    cursor:pointer;
  }
  body[data-view="dashboard"] .desktop-widget-grid.is-layout-editing .desktop-widget-style-handle{right:112px;}

  .desktop-font-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;}
  .desktop-font-choice{height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:800 12px/1 var(--font-body);cursor:pointer;}
  .desktop-font-choice.active{border-color:var(--azul);box-shadow:0 0 0 2px color-mix(in srgb,var(--azul) 15%,transparent);color:var(--azul);}
  .desktop-widget-style-panel>b{font-size:13px;color:var(--ink);}
  .desktop-widget-style-panel>p{margin:5px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.5;}

  /* Escala visual por quadro.
     A TEST 5.2 combina o ajuste manual (Aa) com a redução automática quando
     o usuário deixa o card menor. */
  .desktop-page-widget,
  body[data-view="dashboard"] .desktop-widget{--desktop-combined-scale:1;}
  .desktop-page-widget> :not(.desktop-widget-move-handle):not(.desktop-widget-resize-handle):not(.desktop-widget-transfer-handle):not(.desktop-widget-style-handle),
  body[data-view="dashboard"] .desktop-widget> :not(.desktop-widget-move-handle):not(.desktop-widget-resize-handle):not(.desktop-widget-transfer-handle):not(.desktop-widget-style-handle){
    zoom:var(--desktop-combined-scale,1);
  }

  body[data-view="dashboard"] .desktop-period-only,
  body[data-view="dashboard"] .desktop-context-widget,
  body[data-view="dashboard"] .desktop-privacy-widget{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
  }
  body[data-view="dashboard"] .desktop-period-only>.month-picker{width:100%;height:100%;margin:0;padding:12px;display:flex;align-items:center;}
  body[data-view="dashboard"] .desktop-context-widget{display:flex;align-items:center;padding:12px;}
  body[data-view="dashboard"] .desktop-context-widget>.financial-context-strip{width:100%;margin:0;}
  body[data-view="dashboard"] .desktop-privacy-widget{display:flex;align-items:center;justify-content:center;padding:12px;}
  body[data-view="dashboard"] .desktop-privacy-widget>.ux5-privacy-toggle{position:static !important;margin:0;max-width:100%;white-space:nowrap;}

  .desktop-report-selector-card{
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
  }
}

/* ======================================================================
   v1.8.106.49 · DESKTOP PERSONALIZÁVEL TEST 5.2
   Redimensionamento fino dos widgets compactos do Resumo.
   Mantido no fim do arquivo para prevalecer sobre regras históricas.
   ====================================================================== */
@media (min-width:1100px){
  body[data-view="dashboard"] .desktop-widget-grid{
    grid-template-columns:repeat(24,minmax(0,1fr)) !important;
  }

  body[data-view="dashboard"] .desktop-period-only{
    display:flex !important;
    align-items:stretch !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-view="dashboard"] .desktop-period-only>.month-picker{
    flex:1 1 auto !important;
    width:100% !important;
    min-width:0 !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:6px 8px !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body[data-view="dashboard"] .desktop-context-widget,
  body[data-view="dashboard"] .desktop-privacy-widget{
    min-height:0 !important;
  }

  body[data-view="dashboard"] .desktop-context-widget[data-grid-h="1"],
  body[data-view="dashboard"] .desktop-privacy-widget[data-grid-h="1"]{
    padding:0 !important;
    border-radius:10px !important;
  }
  body[data-view="dashboard"] .desktop-context-widget[data-grid-h="1"]>.financial-context-strip{
    min-height:0 !important;
    height:100% !important;
    margin:0 !important;
    padding:0 9px !important;
    border-radius:9px !important;
  }
  body[data-view="dashboard"] .desktop-privacy-widget[data-grid-h="1"]>.ux5-privacy-toggle{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    margin:0 !important;
    padding:0 8px !important;
    border-radius:9px !important;
    overflow:hidden;
  }

  body[data-view="dashboard"] .desktop-period-only[data-grid-h="1"]>.month-picker,
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="2"]>.month-picker{
    padding:2px 4px !important;
  }
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="1"] .month-nav,
  body[data-view="dashboard"] .desktop-period-only[data-grid-h="1"] select{
    min-height:26px !important;
    height:26px !important;
  }

  /* Ao reduzir muito um quadro, recorta apenas o excedente; o conteúdo já
     acompanha o tamanho por --desktop-combined-scale. */
  body[data-view="dashboard"] .desktop-widget[data-grid-h="1"]{
    overflow:hidden !important;
  }
}

@media (min-width:1100px){
  /* Nos três controles compactos, a caixa continua preenchendo 100% do card;
     reduzimos tipografia/ícones em vez de encolher a própria caixa interna. */
  body[data-view="dashboard"] .desktop-period-only>.month-picker,
  body[data-view="dashboard"] .desktop-context-widget>.financial-context-strip,
  body[data-view="dashboard"] .desktop-privacy-widget>.ux5-privacy-toggle{
    zoom:1 !important;
  }
  body[data-view="dashboard"] .desktop-context-widget>.financial-context-strip b,
  body[data-view="dashboard"] .desktop-context-widget>.financial-context-strip span{
    font-size:calc(10px * var(--desktop-combined-scale,1)) !important;
  }
  body[data-view="dashboard"] .desktop-context-widget>.financial-context-strip i{
    font-size:calc(16px * var(--desktop-combined-scale,1)) !important;
  }
  body[data-view="dashboard"] .desktop-privacy-widget>.ux5-privacy-toggle{
    font-size:calc(10px * var(--desktop-combined-scale,1)) !important;
    gap:calc(6px * var(--desktop-combined-scale,1));
  }
  body[data-view="dashboard"] .desktop-privacy-widget>.ux5-privacy-toggle svg{
    width:calc(18px * var(--desktop-combined-scale,1)) !important;
    height:calc(18px * var(--desktop-combined-scale,1)) !important;
  }
  body[data-view="dashboard"] .desktop-period-only .month-picker select,
  body[data-view="dashboard"] .desktop-period-only .month-nav{
    font-size:calc(11px * var(--desktop-combined-scale,1)) !important;
  }
}

/* ======================================================================
   v1.8.106.50 · DESKTOP PERSONALIZÁVEL TEST 5.3
   - "Meu painel" flutuante no canto superior direito em todas as abas
   - não consome mais uma linha inteira da área útil
   - widgets recolhidos/expandidos podem reajustar a altura e puxar o conteúdo
   ====================================================================== */
@media (min-width:1100px){
  .desktop-personalizable-host,
  .dashboard-render-root{position:relative !important;}

  /* Deixa espaço apenas na linha do título; o painel não participa do fluxo. */
  .desktop-summary-heading,
  .desktop-fixed-page-heading,
  .reports-page-intro,
  .settings-page-intro,
  .report-detail-head{
    padding-right:min(620px,52vw) !important;
    min-height:48px;
  }
  .desktop-summary-heading blockquote{display:none !important;}

  .desktop-page-layout-toolbar,
  .desktop-dashboard-layout-toolbar{
    position:absolute !important;
    top:2px !important;
    right:0 !important;
    z-index:45 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:min(720px,58vw) !important;
    min-height:40px !important;
    height:auto !important;
    margin:0 !important;
    padding:5px 7px 5px 10px !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    overflow:visible !important;
    border-radius:12px !important;
    box-shadow:0 5px 16px rgba(20,34,56,.08) !important;
  }
  .desktop-layout-toolbar-copy{gap:0 !important;flex:0 0 auto;}
  .desktop-layout-toolbar-copy>b{font-size:10px !important;white-space:nowrap;}
  .desktop-layout-toolbar-copy>span{display:none !important;}
  .desktop-layout-toolbar-actions{gap:6px !important;flex-wrap:nowrap !important;}
  .desktop-page-layout-toolbar button,
  .desktop-dashboard-layout-toolbar button{min-height:30px !important;height:30px !important;}
  .desktop-layout-gap-control{height:30px !important;padding:0 6px !important;}
  .desktop-layout-gap-control select{height:24px !important;}

  /* Continua redimensionável, mas permanece ancorado no canto superior direito. */
  .desktop-page-layout-toolbar.is-layout-editing,
  .desktop-dashboard-layout-toolbar.is-layout-editing{
    min-width:240px !important;
  }
  .desktop-page-layout-toolbar.is-layout-editing > .desktop-toolbar-resize-handle,
  .desktop-dashboard-layout-toolbar.is-layout-editing > .desktop-toolbar-resize-handle{
    right:3px !important;
    bottom:-31px !important;
  }

  /* Quando o usuário recolhe um conteúdo, o invólucro não impõe altura visual extra. */
  .desktop-page-widget:has(.is-collapsed),
  body[data-view="dashboard"] .desktop-widget:has(.is-collapsed){
    min-height:0 !important;
  }
}

@media (min-width:1100px) and (max-width:1280px){
  .desktop-summary-heading,
  .desktop-fixed-page-heading,
  .reports-page-intro,
  .settings-page-intro,
  .report-detail-head{padding-right:430px !important;}
  .desktop-page-layout-toolbar,
  .desktop-dashboard-layout-toolbar{max-width:420px !important;}
  .desktop-layout-toolbar-copy{display:none !important;}
}

/* ===== Desktop Personalizável TEST 5.4 · cabeçalhos realmente compactos ===== */
@media (min-width:1100px){
  /* O título do período em Lançamentos é um widget de cabeçalho, não um card analítico. */
  .desktop-page-widget:has(> .lancamentos-period-title){
    overflow:visible;
  }
  .desktop-page-widget > .lancamentos-period-title{
    margin:0 !important;
    min-height:0 !important;
    height:100%;
    padding:0 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .desktop-page-widget > .lancamentos-period-title small{
    margin-left:auto;
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .desktop-personal-grid.is-layout-editing > .desktop-page-widget:has(> .lancamentos-period-title) .desktop-widget-move-handle{
    top:3px;
  }
  .desktop-personal-grid.is-layout-editing > .desktop-page-widget:has(> .lancamentos-period-title) .desktop-widget-style-handle{
    top:3px;
  }
  .desktop-personal-grid.is-layout-editing > .desktop-page-widget:has(> .lancamentos-period-title) .desktop-widget-resize-handle{
    right:3px;
    bottom:3px;
    width:24px;
    height:24px;
  }
}

/* ======================================================================
   v1.8.106.52 · DESKTOP PERSONALIZÁVEL TEST 5.5
   Meu painel fixo no topo útil da janela, canto superior direito.
   Não participa do fluxo dos cards e não consome altura da área principal.
   ====================================================================== */
@media (min-width:1100px){
  .desktop-page-layout-toolbar,
  .desktop-dashboard-layout-toolbar{
    position:fixed !important;
    top:10px !important;
    right:18px !important;
    left:auto !important;
    z-index:180 !important;
    margin:0 !important;
  }

  /* Como o painel não ocupa mais a linha do título, o título pode usar a largura normal. */
  .desktop-summary-heading,
  .desktop-fixed-page-heading,
  .reports-page-intro,
  .settings-page-intro,
  .report-detail-head{
    padding-right:0 !important;
    min-height:0 !important;
  }

  /* Reserva apenas uma pequena área no topo-direito para títulos muito longos,
     sem criar altura adicional na página. */
  .desktop-summary-heading > div,
  .desktop-fixed-page-heading > div,
  .reports-page-intro > div,
  .settings-page-intro > div,
  .report-detail-head > div{
    max-width:calc(100% - 360px);
  }

  .desktop-page-layout-toolbar.is-layout-editing,
  .desktop-dashboard-layout-toolbar.is-layout-editing{
    top:10px !important;
    right:18px !important;
  }

  .desktop-page-layout-toolbar.is-layout-editing > .desktop-toolbar-resize-handle,
  .desktop-dashboard-layout-toolbar.is-layout-editing > .desktop-toolbar-resize-handle{
    right:3px !important;
    bottom:-31px !important;
  }
}

@media (min-width:1100px) and (max-width:1280px){
  .desktop-page-layout-toolbar,
  .desktop-dashboard-layout-toolbar{
    top:8px !important;
    right:10px !important;
    max-width:390px !important;
  }
  .desktop-summary-heading > div,
  .desktop-fixed-page-heading > div,
  .reports-page-intro > div,
  .settings-page-intro > div,
  .report-detail-head > div{
    max-width:calc(100% - 300px);
  }
}


/* ======================================================================
   v1.8.106.53 · DESKTOP PERSONALIZÁVEL TEST 5.6
   - canvas do Resumo começa no topo: área entre título e Meu painel pode receber widgets
   - título e Meu painel continuam protegidos por zonas reservadas da grade
   - modo programa: tela cheia + controles de janela no desktop
   ====================================================================== */
.desktop-window-controls{display:none;}

@media (min-width:1100px){
  /* O título não reserva mais uma faixa de largura inteira. */
  body[data-view="dashboard"] .dashboard-render-root{
    position:relative !important;
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    align-items:start !important;
    min-height:240px;
  }
  body[data-view="dashboard"] .desktop-summary-heading{
    position:absolute !important;
    top:2px !important;
    left:4px !important;
    width:min(390px,28%) !important;
    max-width:min(390px,28%) !important;
    z-index:36 !important;
    margin:0 !important;
    padding:4px 0 0 !important;
    pointer-events:auto;
  }
  body[data-view="dashboard"] .desktop-summary-heading>div{max-width:none !important;}
  body[data-view="dashboard"] .desktop-summary-heading h1{margin:0 0 5px !important;}
  body[data-view="dashboard"] .desktop-summary-heading p{margin:0 !important;}

  /* A grade sobe para a mesma linha do título. As zonas reservadas são tratadas no JS. */
  body[data-view="dashboard"] .desktop-widget-grid{
    grid-column:1 / 13 !important;
    grid-row:1 !important;
    margin:0 !important;
    padding:0 !important;
    align-self:start !important;
  }

  .desktop-layout-fullscreen{
    min-height:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0 9px;
    border:1px solid color-mix(in srgb,var(--azul) 36%,var(--line));
    border-radius:9px;
    background:var(--surface);
    color:var(--azul);
    font:700 9px/1 var(--font-body);
    cursor:pointer;
  }
  .desktop-layout-fullscreen:hover{background:color-mix(in srgb,var(--azul-bg) 82%,var(--surface));}

  body.yako-desktop-fullscreen-ui .desktop-window-controls{
    position:fixed;
    top:0;
    right:0;
    z-index:500;
    height:34px;
    display:flex;
    align-items:stretch;
    background:rgba(8,43,75,.98);
    border-left:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    box-shadow:0 4px 14px rgba(0,0,0,.16);
  }
  body.yako-desktop-fullscreen-ui .desktop-window-controls button{
    width:46px;
    height:34px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#fff;
    font:500 16px/1 Arial,sans-serif;
    cursor:pointer;
    display:grid;
    place-items:center;
  }
  body.yako-desktop-fullscreen-ui .desktop-window-controls button:hover{background:rgba(255,255,255,.12);}
  body.yako-desktop-fullscreen-ui .desktop-window-controls .desktop-window-close:hover{background:#c42b1c;}
  body.yako-desktop-fullscreen-ui .desktop-page-layout-toolbar,
  body.yako-desktop-fullscreen-ui .desktop-dashboard-layout-toolbar{
    right:146px !important;
    top:4px !important;
  }
  body.yako-desktop-fullscreen-ui .desktop-layout-fullscreen{display:none !important;}
  body.yako-desktop-fullscreen-ui .view-root{max-width:none !important;}
  body.yako-desktop-fullscreen-ui .app-shell{min-height:100dvh;}
}

@media (min-width:1100px) and (max-width:1280px){
  body[data-view="dashboard"] .desktop-summary-heading{
    width:min(330px,30%) !important;
    max-width:min(330px,30%) !important;
  }
  .desktop-layout-fullscreen>span:last-child{display:none;}
}

/* ======================================================================
   v1.8.106.54 · DESKTOP PERSONALIZÁVEL TEST 5.7
   - editor da tela acoplado à barra lateral
   - faixa superior do canvas liberada para widgets
   - somente o título/subtítulo da aba fica reservado no Resumo
   ====================================================================== */
.desktop-sidebar-editor-slot{display:none;}
@media (min-width:1100px){
  /* O editor passa a fazer parte visual da barra lateral e deixa de ocupar
     qualquer região do canvas principal. */
  body .desktop-sidebar-editor-slot{
    display:block;
    flex:0 0 auto;
    margin:10px 0 8px;
    min-height:0;
  }
  body .desktop-sidebar-editor-slot:empty{display:none;}
  body .desktop-sidebar-editor-slot > .desktop-page-layout-toolbar,
  body .desktop-sidebar-editor-slot > .desktop-dashboard-layout-toolbar{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:10px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    overflow:visible !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.035) !important;
    box-shadow:none !important;
    color:#fff !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-toolbar-copy{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-toolbar-copy>b{
    color:#fff !important;
    font-size:13px !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-toolbar-copy>span{display:none !important;}
  body .desktop-sidebar-editor-slot .desktop-layout-toolbar-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-gap-control{
    width:100% !important;
    height:34px !important;
    display:none;
    justify-content:space-between !important;
    color:rgba(255,255,255,.84) !important;
    border-color:rgba(255,255,255,.16) !important;
    background:rgba(4,25,45,.28) !important;
  }
  body .desktop-sidebar-editor-slot .desktop-page-layout-toolbar.is-layout-editing .desktop-layout-gap-control,
  body .desktop-sidebar-editor-slot .desktop-dashboard-layout-toolbar.is-layout-editing .desktop-layout-gap-control{display:flex !important;}
  body .desktop-sidebar-editor-slot .desktop-layout-gap-control select{
    min-width:88px;
    color:#fff !important;
    background:#0b3355 !important;
    border-radius:7px;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-widgets,
  body .desktop-sidebar-editor-slot .desktop-layout-reset,
  body .desktop-sidebar-editor-slot .desktop-layout-toggle,
  body .desktop-sidebar-editor-slot .desktop-layout-fullscreen{
    width:100% !important;
    min-height:34px !important;
    height:34px !important;
    justify-content:center !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-widgets,
  body .desktop-sidebar-editor-slot .desktop-layout-reset,
  body .desktop-sidebar-editor-slot .desktop-layout-fullscreen{
    color:#d8eeff !important;
    border-color:rgba(112,193,240,.34) !important;
    background:rgba(4,25,45,.34) !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-toggle{
    color:#443000 !important;
    border-color:#e8bd58 !important;
    background:linear-gradient(180deg,#f8d77a,#e9b94d) !important;
  }
  body .desktop-sidebar-editor-slot .desktop-toolbar-resize-handle{display:none !important;}

  /* O cartão institucional continua no rodapé. Se faltar altura, a sidebar
     rola normalmente, portanto nenhum controle fica cortado. */
  body .desktop-sidebar-message{margin-top:auto !important;}

  /* O título usa só o espaço necessário. A grade pode ocupar todo o restante
     da faixa superior, inclusive a antiga área vazia à direita/abaixo dele. */
  body[data-view="dashboard"] .desktop-summary-heading{
    width:min(340px,27%) !important;
    max-width:min(340px,27%) !important;
    padding-right:0 !important;
    min-height:0 !important;
  }
  body[data-view="dashboard"] .desktop-widget-grid{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  .desktop-fixed-page-heading,
  .reports-page-intro,
  .settings-page-intro,
  .report-detail-head{
    padding-right:0 !important;
  }

  /* Os antigos estilos do painel flutuante não devem reservar espaço no topo. */
  body.yako-desktop-fullscreen-ui .desktop-sidebar-editor-slot > .desktop-page-layout-toolbar,
  body.yako-desktop-fullscreen-ui .desktop-sidebar-editor-slot > .desktop-dashboard-layout-toolbar{
    position:static !important;
    inset:auto !important;
  }
  body.yako-desktop-fullscreen-ui .desktop-sidebar-editor-slot .desktop-layout-fullscreen{display:none !important;}
}

@media (min-width:1100px) and (max-height:790px){
  body .desktop-sidebar{padding-top:10px !important;padding-bottom:10px !important;}
  body .desktop-sidebar-brand{min-height:56px !important;margin-bottom:6px !important;}
  body .desktop-sidebar-logo{max-width:148px !important;}
  body .desktop-sidebar .desktop-nav-btn{min-height:36px !important;}
  body .desktop-sidebar-editor-slot{margin:6px 0 !important;}
  body .desktop-sidebar-editor-slot > .desktop-page-layout-toolbar,
  body .desktop-sidebar-editor-slot > .desktop-dashboard-layout-toolbar{padding:8px !important;gap:6px !important;}
  body .desktop-sidebar-message{padding:10px 12px !important;margin-top:6px !important;}
  body .desktop-sidebar-message p{margin:6px 0 7px !important;font-size:11px !important;line-height:1.35 !important;}
  body .desktop-sidebar-message small{font-size:8px !important;}
}


/* ======================================================================
   v1.8.106.56 · DESKTOP PERSONALIZÁVEL TEST 5.9
   - remove os ícones dos três cards principais somente em telas grandes
   - preserva integralmente a apresentação mobile
   ====================================================================== */
@media (min-width:1100px){
  body[data-view="dashboard"] .desktop-kpi-icon,
  .desktop-portable-shell .desktop-kpi-icon{
    display:none !important;
  }
  body[data-view="dashboard"] .desktop-kpi-head,
  .desktop-portable-shell .desktop-kpi-head{
    gap:0 !important;
  }
  body[data-view="dashboard"] .desktop-kpi-copy,
  .desktop-portable-shell .desktop-kpi-copy{
    width:100%;
  }
}


/* ======================================================================
   v1.8.106.57 · DESKTOP PERSONALIZÁVEL TEST 5.10
   Proteção mobile: os controles e rotinas visuais de edição pertencem
   exclusivamente ao desktop. Esta regra é intencionalmente final e
   redundante para impedir qualquer vazamento de Aa / … / mover / resize.
   ====================================================================== */
@media (max-width:1099.98px){
  .desktop-widget-style-handle,
  .desktop-widget-transfer-handle,
  .desktop-widget-move-handle,
  .desktop-widget-resize-handle,
  .desktop-dashboard-layout-toolbar,
  .desktop-page-layout-toolbar,
  .desktop-toolbar-resize-handle{
    display:none !important;
  }
}

/* ======================================================================
   v1.8.106.59 · DESKTOP PERSONALIZÁVEL TEST 5.12
   Fonte fixa por card (desktop >= 1100 px somente).
   - troca percentual por tamanho-base em pontos (8 a 14,5 pt)
   - fonte não varia mais quando o card abre/recolhe/redimensiona
   - textos que não cabem são truncados, sem auto-redução
   - nenhuma regra desta seção se aplica ao mobile
   ====================================================================== */
@media (min-width:1100px){
  .desktop-font-size-row{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
  }
  .desktop-font-size-row select{
    width:112px;
    height:42px;
    padding:0 34px 0 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--ink);
    font:800 13px/1 var(--font-body);
    outline:none;
    cursor:pointer;
  }
  .desktop-font-size-row select:focus{
    border-color:var(--azul);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--azul) 15%,transparent);
  }
  .desktop-font-size-row>span{
    color:var(--ink-soft);
    font:700 12px/1 var(--font-body);
  }
  .desktop-font-size-note{
    display:block;
    margin-top:8px;
    color:var(--ink-soft);
    font-size:10.5px;
    line-height:1.4;
  }

  /* O tamanho escolhido é fixo. A escala automática por largura/altura foi
     removida no JS; esta variável agora representa somente a escolha manual. */
  .desktop-page-widget,
  body[data-view="dashboard"] .desktop-widget{
    --desktop-widget-font-pt:11pt;
  }

  /* Linhas textuais curtas: quando faltar espaço, preserva o tamanho escolhido
     e mostra reticências em vez de encolher a tipografia. */
  .desktop-page-widget :where(h1,h2,h3,h4,h5,h6,b,strong,small,label,span):not(:has(*)):not([aria-hidden="true"]),
  body[data-view="dashboard"] .desktop-widget :where(h1,h2,h3,h4,h5,h6,b,strong,small,label,span):not(:has(*)):not([aria-hidden="true"]){
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* Textos explicativos podem ocupar até duas linhas antes das reticências. */
  .desktop-page-widget p:not(:has(*)),
  body[data-view="dashboard"] .desktop-widget p:not(:has(*)){
    min-width:0;
    max-width:100%;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  /* Controles do editor não fazem parte do conteúdo do card. */
  .desktop-widget-move-handle,
  .desktop-widget-resize-handle,
  .desktop-widget-transfer-handle,
  .desktop-widget-style-handle,
  .desktop-widget-move-handle *,
  .desktop-widget-resize-handle *,
  .desktop-widget-transfer-handle *,
  .desktop-widget-style-handle *{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    max-width:none;
  }
}

/* ======================================================================
   v1.8.106.60 · DESKTOP PERSONALIZÁVEL TEST 5.13
   Tipografia semântica absoluta por card (desktop >= 1100 px somente).
   - 8 pt = 8 pt em qualquer card, sem escala dependente do quadro
   - controles separados: título, subtítulo, explicação e dados/valores
   - mês/ano entram em Dados / valores
   - nenhuma regra desta seção se aplica ao mobile
   ====================================================================== */
@media (min-width:1100px){
  .desktop-font-role-panel{min-width:min(520px,86vw);}
  .desktop-font-role-grid{
    display:grid;
    gap:9px;
    margin-top:14px;
  }
  .desktop-font-role-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:58px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:11px;
    background:color-mix(in srgb,var(--surface) 94%,var(--surface-2));
  }
  .desktop-font-role-row>span:first-child{display:grid;gap:3px;min-width:0;}
  .desktop-font-role-row>span:first-child>b{font-size:12px;color:var(--ink);}
  .desktop-font-role-row>span:first-child>small{font-size:10px;line-height:1.3;color:var(--ink-soft);}
  .desktop-font-role-control{display:flex;align-items:center;gap:7px;flex:0 0 auto;}
  .desktop-font-role-control select{
    width:82px;
    height:38px;
    padding:0 28px 0 10px;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--surface);
    color:var(--ink);
    font:800 13px/1 var(--font-body);
    cursor:pointer;
    outline:none;
  }
  .desktop-font-role-control select:focus{
    border-color:var(--azul);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--azul) 15%,transparent);
  }
  .desktop-font-role-control i{font:700 11px/1 var(--font-body);font-style:normal;color:var(--ink-soft);}

  /* Desativa definitivamente a escala global do conteúdo. Os quatro tamanhos
     abaixo são absolutos e independentes da largura/altura do card. */
  .desktop-page-widget,
  body[data-view="dashboard"] .desktop-widget{
    --desktop-combined-scale:1;
  }

  /* Resumo. Especificidade alta e regra final para superar tamanhos históricos. */
  body[data-view="dashboard"] .desktop-widget.desktop-typography-active[data-dashboard-widget] [data-desktop-font-role="title"]{
    font-size:var(--desktop-font-title-pt,11pt) !important;
  }
  body[data-view="dashboard"] .desktop-widget.desktop-typography-active[data-dashboard-widget] [data-desktop-font-role="subtitle"]{
    font-size:var(--desktop-font-subtitle-pt,9pt) !important;
  }
  body[data-view="dashboard"] .desktop-widget.desktop-typography-active[data-dashboard-widget] [data-desktop-font-role="explanation"]{
    font-size:var(--desktop-font-explanation-pt,9pt) !important;
  }
  body[data-view="dashboard"] .desktop-widget.desktop-typography-active[data-dashboard-widget] [data-desktop-font-role="data"]{
    font-size:var(--desktop-font-data-pt,11pt) !important;
  }

  /* Widgets nativos/portáteis das demais abas desktop. */
  .desktop-personal-grid>.desktop-page-widget.desktop-typography-active[data-personal-widget] [data-desktop-font-role="title"]{
    font-size:var(--desktop-font-title-pt,11pt) !important;
  }
  .desktop-personal-grid>.desktop-page-widget.desktop-typography-active[data-personal-widget] [data-desktop-font-role="subtitle"]{
    font-size:var(--desktop-font-subtitle-pt,9pt) !important;
  }
  .desktop-personal-grid>.desktop-page-widget.desktop-typography-active[data-personal-widget] [data-desktop-font-role="explanation"]{
    font-size:var(--desktop-font-explanation-pt,9pt) !important;
  }
  .desktop-personal-grid>.desktop-page-widget.desktop-typography-active[data-personal-widget] [data-desktop-font-role="data"]{
    font-size:var(--desktop-font-data-pt,11pt) !important;
  }

  /* Ao faltar espaço, mantém o ponto escolhido. Nunca reduz a fonte. */
  [data-desktop-font-role="title"],
  [data-desktop-font-role="subtitle"],
  [data-desktop-font-role="explanation"],
  [data-desktop-font-role="data"]{
    min-width:0;
    max-width:100%;
  }
  :is([data-desktop-font-role="title"],[data-desktop-font-role="subtitle"],[data-desktop-font-role="data"]):not(select){
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  [data-desktop-font-role="explanation"]:not(select){
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* ======================================================================
   v1.8.106.61 · DESKTOP PERSONALIZÁVEL TEST 5.14
   Acabamento/independência dos cards e editor de tipografia.
   EXCLUSIVO desktop >= 1100 px. O mobile permanece intacto.
   ====================================================================== */
@media (min-width:1100px){
  /* O editor Aa usa uma largura confortável e nunca cria rolagem horizontal. */
  .sheet.desktop-typography-sheet{
    width:min(720px,calc(100vw - 48px));
    max-width:720px;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  .desktop-typography-sheet .desktop-widget-style-panel,
  .desktop-typography-sheet .desktop-font-role-panel{
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  .desktop-typography-sheet .desktop-widget-style-panel>p,
  .desktop-typography-sheet .desktop-font-size-note,
  .desktop-typography-sheet .desktop-font-role-row,
  .desktop-typography-sheet .desktop-font-role-row>span:first-child{
    min-width:0;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    box-sizing:border-box;
  }

  /* Saldo das contas recebe o mesmo acabamento externo dos demais cards.
     O antigo border-top/padding do componente legado não vaza mais. */
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget{
    box-sizing:border-box;
    width:100%;
    padding:0 !important;
    border:1px solid var(--line) !important;
    border-radius:14px !important;
    background:var(--surface) !important;
    box-shadow:0 4px 14px rgba(20,34,56,.035);
    overflow:hidden;
    isolation:isolate;
    color:var(--ink);
    --ledger-bg:var(--surface);
    --ledger-ink:var(--ink);
    --ledger-soft:var(--ink-soft);
    --ledger-line:var(--line);
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget>.ledger-accounts-section{
    width:100%;
    height:100%;
    min-width:0;
    box-sizing:border-box;
    margin:0;
    padding:0 14px;
    border:0 !important;
    border-radius:14px;
    background:var(--surface) !important;
    color:var(--ink);
    overflow-x:hidden;
    overflow-y:auto;
  }
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget>.ledger-accounts-section>summary{
    min-width:0;
  }

  /* Independência visual: abrir/fechar outro card não altera cores deste. */
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget .ledger-accounts-section,
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget .ledger-account-item,
  body[data-view="dashboard"] .desktop-widget-grid .ux5-account-detail.desktop-widget .account-balance-inline-detail{
    color:var(--ledger-ink);
  }
}


/* ======================================================================
   v1.8.106.63 · DESKTOP PERSONALIZÁVEL TEST 5.16
   Ajustes exclusivamente desktop >= 1100 px:
   - barra de ações rápidas com três botões uniformes
   - tipografia do card Despesas por categoria permanece estável no drill-down
   - eixo Y da Evolução financeira com rótulos legíveis
   Mobile permanece fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* Três ações rápidas: mesma caixa, mesma altura e alinhamento central. */
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget{
    min-width:0;
    overflow:hidden;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget .dashboard-quick-actions.dashboard-quick-actions-compact{
    width:100%;
    height:100%;
    min-width:0;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch;
    gap:10px !important;
    overflow:hidden;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget .dashboard-quick-action.dashboard-quick-compact{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0 !important;
    box-sizing:border-box;
    margin:0;
    padding:0 12px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface);
    box-shadow:none;
    line-height:1;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget .dashboard-quick-action.dashboard-quick-compact b{
    min-width:0;
    margin:0;
    line-height:1.05 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget .dashboard-quick-action.dashboard-quick-compact .dashboard-quick-plus{
    flex:0 0 auto;
    margin:0;
    line-height:1 !important;
    transform:none;
  }

  /* O eixo Y precisa de contraste próprio e não pode sumir dentro do SVG. */
  body[data-view="dashboard"] .desktop-summary-evolution .year-axis-label{
    fill:var(--ink-soft) !important;
    opacity:1 !important;
  }
  body[data-view="dashboard"] .desktop-summary-evolution .year-chart{
    overflow:visible;
  }
}

/* ======================================================================
   v1.8.106.64 · DESKTOP PERSONALIZÁVEL TEST 5.17
   Controles compactos nas demais abas — SOMENTE desktop >= 1100 px.
   Busca e Mês/Ano podem chegar a uma única linha da grade, como no Resumo.
   O mobile não recebe nenhuma regra desta seção.
   ====================================================================== */
@media (min-width:1100px){
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control]{
    min-height:0 !important;
  }

  /* O invólucro não força mais altura artificial nos controles compactos. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control] > .month-picker,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control] > .lancamentos-search-sticky,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control] > .report-period-sticky,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control] > .report-filter-pdf-row,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control] > .report-search-sticky{
    min-height:0 !important;
    margin:0 !important;
    top:auto !important;
  }

  /* Mês/Ano em uma linha: mesma lógica visual compacta já usada no Resumo. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="period"][data-grid-h="1"]{
    overflow:hidden !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="period"][data-grid-h="1"] > .month-picker{
    height:100% !important;
    min-height:0 !important;
    padding:2px 4px !important;
    border:0 !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="period"][data-grid-h="1"] > :is(.report-period-sticky,.report-filter-pdf-row){
    height:100% !important;
    min-height:0 !important;
    padding:0 4px !important;
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    overflow:hidden !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="period"][data-grid-h="1"] :is(.month-picker,.report-filter-main,.report-filter-main-compact){
    min-height:0 !important;
    height:100% !important;
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    align-items:center !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="period"][data-grid-h="1"] :is(.icon-btn,select,.entry-inline-picker-trigger,.btn){
    min-height:26px !important;
    height:26px !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="period"][data-grid-h="1"] .month-selects{
    min-height:0 !important;
    height:100% !important;
    align-items:center !important;
  }

  /* Busca em uma linha: elimina o vazio vertical do quadro sem reduzir o campo
     abaixo de uma altura confortável para mouse/teclado. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"]{
    overflow:hidden !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] > :is(.lancamentos-search-sticky,.report-search-sticky){
    height:100% !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] .filter-row{
    min-height:0 !important;
    height:100% !important;
    margin:0 !important;
    align-items:center !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] :is(#filtro-texto,input[type="search"],input[type="text"],.icon-btn){
    min-height:30px !important;
    height:30px !important;
  }
}

/* ======================================================================
   v1.8.106.65 · DESKTOP PERSONALIZÁVEL TEST 5.18
   Ajustes exclusivamente desktop >= 1100 px:
   - Totais do mês cresce ao abrir detalhes, sem rolagem vertical interna
   - Ações rápidas ocupam somente uma linha/altura dos botões
   - todas as abas usam a faixa superior do canvas, como o Resumo
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* Todas as páginas personalizáveis passam a compartilhar a filosofia do
     Resumo: o título fica sobre o canvas e só ocupa sua faixa à esquerda.
     A grade começa no topo e a região à direita do título fica livre para cards. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host{
    position:relative !important;
    min-height:240px;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head){
    position:absolute !important;
    top:2px !important;
    left:4px !important;
    z-index:36 !important;
    width:min(340px,32%) !important;
    max-width:min(340px,32%) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:4px 0 0 !important;
    box-sizing:border-box;
    pointer-events:auto;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head) > div{
    max-width:100% !important;
    min-width:0;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .settings-page-intro{
    display:block !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .settings-page-intro p{
    max-width:100% !important;
    margin-top:5px !important;
    text-align:left !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host .desktop-personal-grid{
    margin-top:0 !important;
    padding-top:0 !important;
    align-self:start !important;
  }

  /* Totais do mês: o invólucro não cria scrollbar próprio. A altura temporária
     é controlada pelo auto-fit JS e volta à altura-base ao recolher detalhes. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="totals"]{
    overflow:visible !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="totals"] > #totals-card{
    width:100% !important;
    min-height:100% !important;
    height:auto !important;
    overflow:visible !important;
    box-sizing:border-box;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="totals"] > #totals-card .totals-compact-groups,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="totals"] > #totals-card .totals-collapsible{
    overflow:visible !important;
  }

  /* Ações rápidas do Resumo: uma linha real, sem vazio acima/abaixo. */
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget[data-grid-h="1"]{
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget[data-grid-h="1"] .dashboard-quick-actions.dashboard-quick-actions-compact{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
  }
  body[data-view="dashboard"] .desktop-summary-quick.desktop-widget[data-grid-h="1"] .dashboard-quick-action.dashboard-quick-compact{
    height:100% !important;
    min-height:0 !important;
    padding:0 10px !important;
    border-radius:10px !important;
  }
}

/* ======================================================================
   v1.8.106.66 · DESKTOP PERSONALIZÁVEL TEST 5.19
   Exclusivamente desktop >= 1100 px:
   - reduz a última faixa azul reservada no topo das abas
   - Busca/Filtro fechado ocupa somente a altura real do campo
   - ao abrir filtros, o quadro cresce e empurra só cards abaixo na mesma faixa
   - sem scroll interno no quadro de filtro durante a expansão
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* O título/subtítulo estrutural passa a ocupar só uma linha visual compacta.
     A reserva equivalente no JS é 3 colunas x 1 linha; a partir da coluna 4,
     cards já podem usar a primeira linha do canvas. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head){
    width:min(280px,24%) !important;
    max-width:min(280px,24%) !important;
    min-height:0 !important;
    max-height:42px !important;
    margin:0 !important;
    padding:2px 0 0 !important;
    overflow:hidden !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .desktop-fixed-page-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.reports-page-intro,.settings-page-intro,.report-detail-head) h2{
    margin:0 !important;
    font-size:22px !important;
    line-height:1.05 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head) p{
    margin:2px 0 0 !important;
    font-size:10.5px !important;
    line-height:1.18 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.reports-page-intro,.report-detail-head) > span,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .report-detail-head > div > span{
    display:none !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .report-detail-head{
    grid-template-columns:32px minmax(0,1fr) !important;
    gap:7px !important;
    align-items:center !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .report-detail-head .report-back{
    width:30px !important;
    height:30px !important;
    font-size:22px !important;
  }

  /* Busca/filtro expansível nunca cria uma barra interna. A altura é fornecida
     pelo auto-fit JS; quando fechado a base volta a ser exatamente 1 linha. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="filter"]{
    overflow:visible !important;
    min-height:0 !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="filter"] > :is(.lancamentos-search-sticky,.report-search-sticky,.report-tools-sticky,.conc-tools){
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    top:auto !important;
    overflow:visible !important;
  }

  /* Estado fechado/compacto: somente a altura do campo de busca e seus botões. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] > :is(.lancamentos-search-sticky,.report-search-sticky,.report-tools-sticky,.conc-tools){
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
    overflow:visible !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] :is(.filter-row,.conc-search-row-v2){
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    align-items:center !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] .conc-search-row-v2{
    grid-template-columns:minmax(0,1fr) 30px 30px !important;
    gap:6px !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] .conc-search{
    height:30px !important;
    min-height:30px !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] .conc-search input{
    height:28px !important;
    min-height:28px !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-compact-control="search"][data-grid-h="1"] .conc-search-row-v2 .icon-btn{
    width:30px !important;
    height:30px !important;
    min-height:30px !important;
    flex-basis:30px !important;
  }
  /* Ao expandir, remove qualquer limitação antiga de altura/overflow. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="filter"]:not([data-grid-h="1"]) > :is(.lancamentos-search-sticky,.report-search-sticky,.report-tools-sticky,.conc-tools),
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="filter"]:not([data-grid-h="1"]) :is(#filtros-extra,.conc-filter-panel){
    max-height:none !important;
    overflow:visible !important;
  }
}

/* ======================================================================
   v1.8.106.68 · DESKTOP PERSONALIZÁVEL TEST 5.21
   Exclusivamente desktop >= 1100 px:
   - Receitas/Despesas do Orçamento recolhidas usam altura-base compacta
   - ao abrir categorias/subcategorias o card cresce e faz refluxo vertical
   - Relatório Orçado × Realizado usa o mesmo crescimento temporário
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* Orçamento: o shell não deve criar scrollbar próprio durante a expansão. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"]{
    overflow:visible !important;
    min-height:0 !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"] > .budget-group-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  /* Recolhido: apenas a barra Receitas/Despesas, sem o antigo vazio azul. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"][data-grid-h="1"] > .budget-group-card:not(.open){
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"][data-grid-h="1"] > .budget-group-card:not(.open) > .plano-group-toggle{
    height:100% !important;
    min-height:0 !important;
    padding:0 12px !important;
    margin:0 !important;
    align-items:center !important;
  }

  /* Aberto: a altura vem do conteúdo medido pelo auto-fit; nenhuma rolagem vertical. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"] > .budget-group-card.open{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"] > .budget-group-card.open .budget-group-body,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"] > .budget-group-card.open .plano-resumo-lista,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"] > .budget-group-card.open .plano-resumo-cat,
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-group"] > .budget-group-card.open .plano-resumo-sublist{
    max-height:none !important;
    overflow:visible !important;
  }

  /* Orçado × Realizado: expansão de categoria/subcategoria cresce o quadro.
     Mantém somente a rolagem horizontal própria da tabela quando necessária. */
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-report"]{
    overflow:visible !important;
    min-height:0 !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-report"] > .report-paper{
    width:100% !important;
    height:auto !important;
    min-height:100% !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  .desktop-personal-grid > .desktop-page-widget[data-desktop-auto-grow="budget-report"] .budget-sticky-wrap{
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
  }
}

/* ======================================================================
   v1.8.106.69 · DESKTOP PERSONALIZÁVEL TEST 5.22
   FAB "+" de novo lançamento reposicionável na aba Lançamentos.
   Exclusivo para desktop >= 1100 px; mobile preservado integralmente.
   ====================================================================== */
@media (min-width:1100px){
  body[data-view="lancamentos"] .desktop-personal-grid > .desktop-fab-shell{
    overflow:visible;
    display:grid;
    place-items:center;
    background:transparent;
    border-radius:0;
    scrollbar-width:none;
  }
  body[data-view="lancamentos"] .desktop-personal-grid > .desktop-fab-shell > .fab{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    top:auto !important;
    transform:none !important;
    margin:0 !important;
    z-index:2;
    width:56px;
    height:56px;
  }
  body[data-view="lancamentos"] .desktop-personal-grid.is-layout-editing > .desktop-fab-shell .desktop-widget-move-handle{
    top:4px;
    right:4px;
    width:28px;
    padding:0;
    justify-content:center;
  }
  body[data-view="lancamentos"] .desktop-personal-grid.is-layout-editing > .desktop-fab-shell .desktop-widget-move-handle > span:last-child{
    display:none;
  }
}

/* ======================================================================
   v1.8.106.71 · DESKTOP PERSONALIZÁVEL TEST 5.24
   Exclusivamente desktop >= 1100 px:
   - botão + volta a flutuar e ganha 4 modos: Livre, Esquerda, Centro, Direita
   - Comparativo despesas projetadas vs orçado cresce sem rolagem vertical
   - menu lateral padronizado entre Resumo e todas as demais abas
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* Controle da posição do botão + no editor lateral. */
  .desktop-layout-fab-control{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    width:100%;
    height:34px;
    padding:0 8px 0 10px;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--ink-soft);
    font:700 9px/1 var(--font-body);
    white-space:nowrap;
  }
  .desktop-layout-fab-control select{
    min-width:88px;
    height:26px;
    border:0;
    outline:0;
    border-radius:7px;
    background:transparent;
    color:var(--ink);
    font:700 9px/1 var(--font-body);
  }
  body .desktop-sidebar-editor-slot .desktop-layout-fab-control{
    color:rgba(255,255,255,.84) !important;
    border-color:rgba(255,255,255,.16) !important;
    background:rgba(4,25,45,.28) !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-fab-control select{
    color:#fff !important;
    background:#0b3355 !important;
  }

  /* O + fica novamente fora da grade e flutua sobre a tela. */
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab{
    position:fixed !important;
    z-index:45 !important;
    width:56px !important;
    height:56px !important;
    margin:0 !important;
    touch-action:none;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab[data-desktop-fab-position="right"]{
    left:auto !important; right:28px !important; top:auto !important; bottom:28px !important; transform:none !important;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab[data-desktop-fab-position="left"]{
    left:246px !important; right:auto !important; top:auto !important; bottom:28px !important; transform:none !important;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab[data-desktop-fab-position="center"]{
    left:calc(50% + 109px) !important; right:auto !important; top:auto !important; bottom:28px !important; transform:translateX(-50%) !important;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab[data-desktop-fab-position="free"]{
    z-index:46 !important;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab.desktop-fab-editing{
    outline:2px dashed rgba(226,181,82,.72);
    outline-offset:4px;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab.desktop-fab-editing[data-desktop-fab-position="free"]{
    cursor:grab;
  }
  body[data-view="lancamentos"] .app-shell > .fab.desktop-floating-fab.is-desktop-fab-dragging{cursor:grabbing !important;}

  /* Comparativo: nunca cria scrollbar vertical interna. A grade recebe a altura
     natural pelo auto-fit e desloca apenas widgets abaixo na mesma faixa. */
  body[data-view="dashboard"] .desktop-widget-grid > [data-dashboard-widget="compare"],
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .resumo-section-card-body,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] #despesas-compare-card,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-category-overview,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-category-bars,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-budget-cat,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-sub-list{
    max-height:none !important;
    overflow-y:visible !important;
  }
  body[data-view="dashboard"] .desktop-widget-grid > [data-dashboard-widget="compare"]{
    overflow:visible !important;
    min-height:0 !important;
  }

  /* Menu lateral: um único padrão tipográfico e de espaçamento em TODAS as abas.
     Regras específicas antigas do Resumo deixam de alterar fonte/altura. */
  body .desktop-sidebar-nav{
    gap:4px !important;
  }
  body .desktop-sidebar .desktop-nav-btn,
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn{
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr) !important;
    align-items:center !important;
    justify-items:start !important;
    gap:10px !important;
    padding:0 13px !important;
    border-radius:11px !important;
    font:600 13px/1 var(--font-body) !important;
    text-align:left !important;
  }
  body .desktop-sidebar .desktop-nav-btn > span,
  body[data-view="dashboard"] .desktop-sidebar .desktop-nav-btn > span{
    font:inherit !important;
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
  }
}
@media (min-width:1100px){
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-category-bars,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-budget-cat,
  body[data-view="dashboard"] [data-dashboard-widget="compare"] .ux10-sub-list{
    overflow:visible !important;
  }
  html[data-tema="padrao"] body .desktop-sidebar .desktop-nav-btn[aria-current="page"] > span{
    color:inherit !important;
  }
}

/* ======================================================================
   v1.8.106.74 · DESKTOP PERSONALIZÁVEL TEST 5.27
   - central de relatórios com 1 ou 2 painéis
   - visibilidade de cards por aba no desktop
   - Ajustes permite vários cards abertos simultaneamente
   Mobile permanece intocado.
   ====================================================================== */
@media (min-width:1100px){
  .desktop-widget-manager-section-title{
    margin:16px 0 7px;
    color:var(--ink);
    font:800 11px/1.2 var(--font-body);
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .desktop-widget-manager-help.compact{margin:0 0 8px;}
  .desktop-card-visibility-row small{display:block;margin-top:3px;}
  .desktop-page-widget[hidden]{display:none !important;}

  body[data-view="relatorios"] .desktop-reports-launchbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    margin:8px 0 12px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:color-mix(in srgb,var(--surface) 94%,var(--azul-bg));
    box-shadow:0 4px 14px rgba(20,34,56,.04);
  }
  body[data-view="relatorios"] .desktop-reports-shortcuts{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    min-width:0;
  }
  body[data-view="relatorios"] .desktop-reports-shortcuts button,
  body[data-view="relatorios"] .desktop-reports-mode button{
    min-height:34px;
    padding:0 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--ink);
    font:700 10px/1 var(--font-body);
    cursor:pointer;
  }
  body[data-view="relatorios"] .desktop-reports-shortcuts button:hover{
    border-color:color-mix(in srgb,var(--azul) 45%,var(--line));
    color:var(--azul);
  }
  body[data-view="relatorios"] .desktop-reports-mode{
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
  }
  body[data-view="relatorios"] .desktop-reports-mode>span{
    margin-right:3px;
    color:var(--ink-soft);
    font:700 9px/1 var(--font-body);
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  body[data-view="relatorios"] .desktop-reports-mode button.active{
    border-color:var(--gold);
    background:var(--gold-bg);
    color:var(--gold-text);
  }
  body[data-view="relatorios"] .desktop-reports-panels.desktop-personal-grid{
    min-height:0;
    align-items:start;
  }
  body[data-view="relatorios"] .desktop-page-widget[data-desktop-auto-grow="report-panel"]{
    overflow:visible !important;
  }
  body[data-view="relatorios"] .desktop-report-workspace-panel{
    width:100%;
    min-width:0;
    min-height:100%;
    height:auto;
    padding:0;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--surface);
    box-shadow:var(--shadow);
    overflow:visible;
  }
  body[data-view="relatorios"] .desktop-report-workspace-panel.is-active{
    border-color:color-mix(in srgb,var(--azul) 44%,var(--line));
  }
  body[data-view="relatorios"] .desktop-report-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:54px;
    padding:8px 10px 8px 13px;
    border-bottom:1px solid var(--line);
  }
  body[data-view="relatorios"] .desktop-report-panel-focus{
    min-width:0;
    display:grid;
    gap:2px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--ink);
    text-align:left;
    cursor:pointer;
  }
  body[data-view="relatorios"] .desktop-report-panel-focus span{
    color:var(--ink-soft);
    font:800 8px/1 var(--font-body);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  body[data-view="relatorios"] .desktop-report-panel-focus b{
    max-width:280px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:12px;
  }
  body[data-view="relatorios"] .desktop-report-panel-head select{
    min-width:185px;
    max-width:46%;
    min-height:36px;
    padding:0 34px 0 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-2);
    color:var(--ink);
    font:700 10px/1 var(--font-body);
  }
  body[data-view="relatorios"] .desktop-report-panel-body{
    min-width:0;
    padding:8px 12px 14px;
    overflow:visible;
  }
  body[data-view="relatorios"] .desktop-report-panel-body>.report-detail-head{
    margin-top:2px;
  }
  body[data-view="relatorios"] .desktop-report-panel-body .report-paper{
    max-width:100%;
  }

  /* Ajustes: no desktop cada card é independente. A altura pode crescer pelo
     conteúdo e não precisa usar o acordeão exclusivo do celular. */
  body[data-view="ajustes"] .desktop-page-widget>.settings-modern-panel.open{
    overflow:visible;
    height:auto;
    min-height:100%;
  }
}
@media (min-width:1100px){
  body[data-view="relatorios"] .desktop-report-workspace-panel .report-back{display:none !important;}
  body[data-view="relatorios"] .desktop-report-workspace-panel .report-detail-head{padding-left:0;}
}


/* ======================================================================
   v1.8.106.75 · DESKTOP PERSONALIZÁVEL TEST 5.28
   - Relatórios: um painel por vez
   - seletor e Regime/Ciclo como cards independentes e reposicionáveis
   - seletor usa picker YAKO (sem popup branco ilegível)
   - Conciliação restaura a grade após limpar/trocar modos
   Mobile permanece intocado.
   ====================================================================== */
@media (min-width:1100px){
  body[data-view="relatorios"] .desktop-reports-panels{
    width:100%;
    min-height:0;
    align-items:start;
  }
  body[data-view="relatorios"] .desktop-report-selector-card,
  body[data-view="relatorios"] .desktop-report-context-card{
    width:100%;
    height:100%;
    min-height:0;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
  }
  body[data-view="relatorios"] .desktop-report-selector-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 12px;
    overflow:visible;
  }
  body[data-view="relatorios"] .desktop-report-selector-copy{
    flex:0 1 auto;
    min-width:110px;
  }
  body[data-view="relatorios"] .desktop-report-selector-control{
    flex:1 1 250px;
    min-width:180px;
    max-width:430px;
  }
  body[data-view="relatorios"] .desktop-report-selector-control .entry-inline-picker{
    width:100%;
    min-width:0;
  }
  body[data-view="relatorios"] .desktop-report-selector-control .entry-inline-picker-trigger{
    width:100%;
    min-height:38px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-2);
    color:var(--ink);
    font:700 11px/1 var(--font-body);
  }
  body[data-view="relatorios"] .desktop-report-selector-control .entry-inline-picker-value{
    color:var(--ink);
  }
  body[data-view="relatorios"] .desktop-report-selector-control select option{
    background:var(--surface);
    color:var(--ink);
  }
  body[data-view="relatorios"] .desktop-report-context-card{
    display:flex;
    align-items:stretch;
    padding:0;
    overflow:hidden;
  }
  body[data-view="relatorios"] .desktop-report-context-card>.financial-context-strip{
    width:100%;
    height:100%;
    min-height:38px;
    margin:0;
    border-radius:13px;
    justify-content:center;
  }
  body[data-view="relatorios"] #desktop-report-main-widget.desktop-report-workspace-panel{
    min-height:100%;
    overflow:visible;
  }
  body[data-view="relatorios"] #desktop-report-main-widget .desktop-report-panel-body{
    padding:8px 12px 14px;
  }
  body[data-view="relatorios"] #desktop-report-main-widget .report-detail-head{
    margin-top:0;
  }
}


/* ======================================================================
   v1.8.106.76 · DESKTOP PERSONALIZÁVEL TEST 5.29
   Relatórios desktop: remove o cabeçalho interno duplicado do relatório
   exibido e aproxima os filtros/ações do conteúdo, recuperando a área vazia
   superior do card principal. Mobile permanece intocado.
   ====================================================================== */
@media (min-width:1100px){
  body[data-view="relatorios"] #desktop-report-main-widget .desktop-report-panel-body{
    padding:6px 12px 14px;
  }
  /* O seletor independente acima já informa qual análise está aberta. O antigo
     cabeçalho RELATÓRIO/título dentro do painel apenas repetia informação e
     reservava altura sem utilidade. */
  body[data-view="relatorios"] #desktop-report-main-widget .desktop-report-panel-body > .report-detail-head{
    display:none !important;
  }
  body[data-view="relatorios"] #desktop-report-main-widget .report-filter-pdf-row,
  body[data-view="relatorios"] #desktop-report-main-widget .report-year-filter,
  body[data-view="relatorios"] #desktop-report-main-widget .report-period-sticky{
    margin-top:0 !important;
  }
  body[data-view="relatorios"] #desktop-report-main-widget .report-filter-pdf-row{
    margin-bottom:8px !important;
  }
  body[data-view="relatorios"] #desktop-report-main-widget .report-filter-pdf-row-financial-centered{
    grid-template-columns:100px 72px;
    justify-content:center;
    gap:8px;
  }
  body[data-view="relatorios"] #desktop-report-main-widget .report-filter-pdf-row-financial-centered > .report-financial-context-compact{
    display:none !important;
  }
}


/* ======================================================================
   v1.8.106.77 · DESKTOP PERSONALIZÁVEL TEST 5.30
   Ajustes desktop: cards crescem/recolhem pelo conteúdo, empurram somente
   os cards abaixo e não exibem scrollbar vertical interna. Mobile intocado.
   ====================================================================== */
@media (min-width:1100px){
  body[data-view="ajustes"] .desktop-personal-grid > .desktop-page-widget{
    overflow:visible !important;
    scrollbar-width:none !important;
  }
  body[data-view="ajustes"] .desktop-personal-grid > .desktop-page-widget::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
  }
  body[data-view="ajustes"] .desktop-page-widget > .settings-modern-panel{
    width:100%;
    height:auto !important;
    min-height:100%;
    max-height:none !important;
    overflow:hidden !important;
  }
  body[data-view="ajustes"] .desktop-page-widget > .settings-modern-panel.open{
    height:auto !important;
    max-height:none !important;
  }
  body[data-view="ajustes"] .desktop-page-widget > .settings-modern-panel .settings-modern-body{
    max-height:none !important;
    overflow:visible !important;
  }
}


/* ======================================================================
   v1.8.106.79 · DESKTOP PERSONALIZÁVEL TEST 5.32
   Ajustes: refluxo determinístico sem sobreposição/buracos + editor unificado
   de dimensões e tipografia. Mobile intocado.
   ====================================================================== */
@media (min-width:1100px){
  .desktop-dimension-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:10px 0 18px;
  }
  .desktop-typography-section-title{display:block;margin-top:4px;}
  body[data-view="ajustes"] .settings-modern-head-text{
    min-width:0;
  }
  body[data-view="ajustes"] .settings-modern-head-text b,
  body[data-view="ajustes"] .settings-modern-head-text small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body[data-view="ajustes"] .desktop-page-widget > .settings-modern-panel{
    min-height:100% !important;
    overflow:hidden !important;
  }
  body[data-view="ajustes"] .desktop-page-widget > .settings-modern-panel.open{
    min-height:100% !important;
    overflow:visible !important;
  }
}
@media (max-width:1099px){
  .desktop-dimension-grid{display:none !important;}
}

/* ======================================================================
   v1.8.106.80 · DESKTOP PERSONALIZÁVEL TEST 5.33
   - cabeçalhos das abas padronizados (área, altura e tipografia)
   - Resumo volta a permitir configurar/ocultar widgets pelo botão Widgets
   - Ajustes mede também expansões internas para impedir encavalamento
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  :root{
    --yako-desktop-page-heading-width:min(320px,24%);
    --yako-desktop-page-heading-height:54px;
    --yako-desktop-page-heading-title:26px;
    --yako-desktop-page-heading-subtitle:12px;
  }

  /* Mesma caixa visual para o título principal de TODAS as abas. */
  body[data-view="dashboard"] .desktop-summary-heading{
    min-height:var(--yako-desktop-page-heading-height) !important;
    height:var(--yako-desktop-page-heading-height) !important;
    max-height:var(--yako-desktop-page-heading-height) !important;
    padding:3px 0 !important;
    margin:0 !important;
    align-items:flex-start !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading > div{
    width:var(--yako-desktop-page-heading-width) !important;
    max-width:var(--yako-desktop-page-heading-width) !important;
    min-width:0 !important;
    height:100% !important;
    overflow:hidden !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head){
    width:var(--yako-desktop-page-heading-width) !important;
    max-width:var(--yako-desktop-page-heading-width) !important;
    min-width:0 !important;
    min-height:var(--yako-desktop-page-heading-height) !important;
    height:var(--yako-desktop-page-heading-height) !important;
    max-height:var(--yako-desktop-page-heading-height) !important;
    margin:0 !important;
    padding:3px 0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .desktop-fixed-page-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.reports-page-intro,.settings-page-intro,.report-detail-head) h2{
    margin:0 !important;
    font-family:var(--font-display) !important;
    font-size:var(--yako-desktop-page-heading-title) !important;
    line-height:1.05 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading p,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head) p{
    margin:4px 0 0 !important;
    font-size:var(--yako-desktop-page-heading-subtitle) !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  /* Kicker existia só em algumas abas e deixava a altura visual diferente. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .settings-page-intro .settings-page-kicker,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .reports-page-intro > span,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .report-detail-head > div > span{
    display:none !important;
  }

  /* Evita que conteúdos internos de Ajustes sejam cortados enquanto o JS mede
     a altura natural e reposiciona apenas os cards realmente abaixo. */
  body[data-view="ajustes"] .desktop-personal-grid > .desktop-page-widget,
  body[data-view="ajustes"] .desktop-personal-grid > .desktop-page-widget > .settings-modern-panel.open,
  body[data-view="ajustes"] .desktop-personal-grid > .desktop-page-widget > .settings-modern-panel.open .settings-modern-body{
    overflow:visible !important;
    max-height:none !important;
  }
}
@media (min-width:1100px){
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro){
    display:block !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .settings-page-intro p{
    max-width:100% !important;
    text-align:left !important;
  }
}

/* ======================================================================
   v1.8.106.82 · DESKTOP PERSONALIZÁVEL TEST 5.35
   - cabeçalho principal das abas editável: largura, altura e tipografia
   - corrige truncamento do título Resumo causado por largura percentual dupla
   - botão Widgets do Resumo volta a abrir o gerenciador após dock na sidebar
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* No Resumo a largura deve pertencer ao cabeçalho inteiro. Antes o filho usava
     24% de uma caixa que já tinha ~27%, resultando em "Res...". */
  body[data-view="dashboard"] .desktop-summary-heading{
    width:var(--yako-desktop-page-heading-width,320px) !important;
    max-width:var(--yako-desktop-page-heading-width,320px) !important;
    min-height:var(--yako-desktop-page-heading-height,54px) !important;
    height:var(--yako-desktop-page-heading-height,54px) !important;
    max-height:var(--yako-desktop-page-heading-height,54px) !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading > div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .desktop-fixed-page-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.reports-page-intro,.settings-page-intro,.report-detail-head) h2{
    font-size:var(--yako-desktop-page-heading-title,20pt) !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading p,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head) p{
    font-size:var(--yako-desktop-page-heading-subtitle,9pt) !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head){
    width:var(--yako-desktop-page-heading-width,320px) !important;
    max-width:var(--yako-desktop-page-heading-width,320px) !important;
    min-height:var(--yako-desktop-page-heading-height,54px) !important;
    height:var(--yako-desktop-page-heading-height,54px) !important;
    max-height:var(--yako-desktop-page-heading-height,54px) !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-heading{
    width:100% !important;
    min-height:34px !important;
    height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(112,193,240,.34) !important;
    border-radius:9px !important;
    background:rgba(4,25,45,.34) !important;
    color:#d8eeff !important;
    font:600 12px/1 var(--font-ui) !important;
    cursor:pointer !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-heading:hover{background:rgba(24,72,108,.62) !important;}
  .desktop-heading-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
  .desktop-heading-actions .btn{width:100%;}
}
@media (max-width:1099px){
  .desktop-layout-heading{display:none !important;}
}

/* ======================================================================
   v1.8.106.84 · DESKTOP PERSONALIZÁVEL TEST 5.37
   Refino visual exclusivo para desktop >= 1100 px:
   - menu Editar tela padronizado em todas as abas
   - Widgets passa a Cards e Cabeçalho da aba deixa de ser uma opção
   - Botão + usa a mesma tipografia dos demais controles
   - títulos principais das abas usam posição/medidas/tipografia únicas
   - botão Salvar como padrão permite transformar a organização atual em base
   Mobile permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  :root{
    --yako-desktop-page-heading-width:380px;
    --yako-desktop-page-heading-height:56px;
    --yako-desktop-page-heading-title:18pt;
    --yako-desktop-page-heading-subtitle:9pt;
  }

  /* Cabeçalho principal: mesma origem e mesma caixa em todas as abas. */
  body[data-view="dashboard"] .desktop-summary-heading,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head){
    position:absolute !important;
    top:2px !important;
    left:4px !important;
    width:var(--yako-desktop-page-heading-width) !important;
    max-width:var(--yako-desktop-page-heading-width) !important;
    min-width:0 !important;
    min-height:var(--yako-desktop-page-heading-height) !important;
    height:var(--yako-desktop-page-heading-height) !important;
    max-height:var(--yako-desktop-page-heading-height) !important;
    margin:0 !important;
    padding:4px 0 0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    z-index:36 !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading > div,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head) > div{
    min-width:0 !important;
    max-width:100% !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .desktop-fixed-page-heading h1,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.reports-page-intro,.settings-page-intro,.report-detail-head) h2{
    margin:0 !important;
    font-family:var(--font-display) !important;
    font-size:var(--yako-desktop-page-heading-title) !important;
    line-height:1.05 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading p,
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(.desktop-fixed-page-heading,.reports-page-intro,.settings-page-intro,.report-detail-head) p{
    margin:4px 0 0 !important;
    max-width:100% !important;
    font-size:var(--yako-desktop-page-heading-subtitle) !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:left !important;
  }
  /* Relatórios específicos conservam o botão Voltar, mas o bloco ocupa a mesma
     altura/origem dos demais títulos. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .report-detail-head{
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:start !important;
  }
  body:not([data-view="dashboard"]) .desktop-personalizable-host > .report-detail-head .report-back{
    width:30px !important;
    height:30px !important;
    font-size:22px !important;
    margin-top:0 !important;
  }

  /* Cabeçalho deixou de ser editável: elimina inclusive qualquer botão legado. */
  body .desktop-sidebar-editor-slot .desktop-layout-heading{display:none !important;}

  /* Todos os itens do editor lateral usam a mesma tipografia. */
  body .desktop-sidebar-editor-slot .desktop-layout-toolbar-actions > button,
  body .desktop-sidebar-editor-slot .desktop-layout-fab-control,
  body .desktop-sidebar-editor-slot .desktop-layout-gap-control{
    font-family:var(--font-ui) !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:600 !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-fab-control select,
  body .desktop-sidebar-editor-slot .desktop-layout-gap-control select{
    font-family:var(--font-ui) !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:600 !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-widgets,
  body .desktop-sidebar-editor-slot .desktop-layout-save-default,
  body .desktop-sidebar-editor-slot .desktop-layout-export-preset,
  body .desktop-sidebar-editor-slot .desktop-layout-reset,
  body .desktop-sidebar-editor-slot .desktop-layout-fullscreen{
    color:#d8eeff !important;
    border:1px solid rgba(112,193,240,.34) !important;
    background:rgba(4,25,45,.34) !important;
    border-radius:9px !important;
  }
  body .desktop-sidebar-editor-slot .desktop-layout-save-default:hover,
  body .desktop-sidebar-editor-slot .desktop-layout-export-preset:hover,
  body .desktop-sidebar-editor-slot .desktop-layout-widgets:hover,
  body .desktop-sidebar-editor-slot .desktop-layout-reset:hover,
  body .desktop-sidebar-editor-slot .desktop-layout-fullscreen:hover{
    background:rgba(24,72,108,.62) !important;
  }
}

/* ======================================================================
   v1.8.106.85 · DESKTOP PERSONALIZÁVEL TEST 5.38
   Correção cirúrgica dos cabeçalhos desktop.
   - Resumo retorna ao cabeçalho validado antes da TEST 5.37.
   - Somente Extrato, Faturas, Relatórios e Conciliação recebem correção
     estrutural de posicionamento vertical do bloco de cabeçalho.
   - Lançamentos, Orçamento e Ajustes permanecem intocados.
   - Mobile (<1100 px) permanece integralmente fora destas regras.
   ====================================================================== */
@media (min-width:1100px){
  /* Resumo: restaura o encaixe/espaçamento anterior sem tocar na grade. */
  body[data-view="dashboard"] .desktop-summary-heading{
    top:2px !important;
    left:4px !important;
    padding:3px 0 !important;
    margin:0 !important;
    align-items:flex-start !important;
  }
  body[data-view="dashboard"] .desktop-summary-heading > div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:100% !important;
  }

  /* Padrão estrutural exclusivo das quatro telas que estavam altas demais.
     O ajuste é aplicado no bloco/header inteiro, não no texto isoladamente. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(
    [data-desktop-heading-page="extratos"],
    [data-desktop-heading-page="faturas"],
    [data-desktop-heading-page="relatorios"],
    [data-desktop-heading-page="conciliacao"]
  ){
    top:15px !important;
    left:4px !important;
    margin:0 !important;
    padding:4px 0 0 !important;
    box-sizing:border-box !important;
    align-items:flex-start !important;
  }

  /* Mantém a relação título/descrição sem cortar o texto explicativo.
     Duas linhas continuam cabendo dentro da caixa estrutural de 56 px. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(
    [data-desktop-heading-page="extratos"],
    [data-desktop-heading-page="faturas"],
    [data-desktop-heading-page="relatorios"],
    [data-desktop-heading-page="conciliacao"]
  ) p{
    margin:4px 0 0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.15 !important;
  }

  /* Relatórios específicos preservam Voltar + título na mesma linha-base. */
  body:not([data-view="dashboard"]) .desktop-personalizable-host > :is(
    [data-desktop-heading-page="extratos"],
    [data-desktop-heading-page="faturas"],
    [data-desktop-heading-page="conciliacao"]
  ).report-detail-head{
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:flex-start !important;
  }
}


/* ======================================================================
   v1.8.106.86 · DESKTOP PERSONALIZÁVEL TEST 5.39
   Exportação segura da personalização visual desktop para criação de preset.
   Sem efeito abaixo de 1100 px e sem dados financeiros.
   ====================================================================== */
@media (min-width:1100px){
  .desktop-layout-export-preset{
    min-height:34px;
    padding:0 12px;
    border:1px solid color-mix(in srgb,var(--azul) 35%,var(--line));
    border-radius:10px;
    background:var(--surface);
    color:var(--azul);
    font:700 10px/1 var(--font-body);
    cursor:pointer;
  }
}

/* ===== v1.08.1 · matriz comercial YAKO Free × Plus ===== */
.yako-plus-badge{
  display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;
  min-height:17px;padding:1px 6px;margin-left:5px;border-radius:999px;
  font-size:9px!important;line-height:1!important;font-weight:800!important;letter-spacing:.06em;
  border:1px solid color-mix(in srgb,var(--accent,#C9A359) 65%,transparent);
  background:color-mix(in srgb,var(--accent,#C9A359) 14%,transparent);color:var(--accent,#C9A359);
}
.yako-plus-inline-cta{
  width:100%;display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;padding:10px 12px;
  border:1px dashed color-mix(in srgb,var(--accent,#C9A359) 55%,var(--surface-2));border-radius:10px;
  background:color-mix(in srgb,var(--accent,#C9A359) 6%,transparent);color:var(--ink);font:inherit;cursor:pointer;
}
.yako-plus-section-note,.yako-plus-lock-inline{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border-radius:10px;
  border:1px solid color-mix(in srgb,var(--accent,#C9A359) 35%,var(--surface-2));
  background:color-mix(in srgb,var(--accent,#C9A359) 5%,var(--surface));
}
.yako-plus-lock-inline>b{width:100%;font-size:14px}.yako-plus-lock-inline>span:not(.yako-plus-badge){flex:1;min-width:220px;color:var(--ink-soft);font-size:12.5px;line-height:1.45}
.yako-plus-lock-card{max-width:720px;margin:20px auto;padding:28px;text-align:center}.yako-plus-lock-card h3{margin:12px 0 8px}.yako-plus-lock-card p{color:var(--ink-soft);line-height:1.55}.yako-plus-lock-card .btn{margin-top:8px}
.financial-segmented .yako-plus-badge,.profile-choice-buttons .yako-plus-badge{pointer-events:none}
@media(max-width:1099px){.yako-plus-lock-card{margin:12px 0;padding:20px}}
.settings-plan-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.settings-plan-card>div{display:grid;gap:2px}.settings-plan-card>div>span{font-size:9px;font-weight:800;letter-spacing:.09em;color:var(--ink-soft)}.settings-plan-card>div>b{font-size:15px}.settings-plan-card>div>small{font-size:11.5px;color:var(--ink-soft)}
.settings-plan-card.is-plus{border-color:color-mix(in srgb,var(--accent,#C9A359) 45%,var(--line));background:color-mix(in srgb,var(--accent,#C9A359) 5%,var(--surface))}
.accounts-add-btn .yako-plus-badge{margin-left:auto}
@media(max-width:640px){.settings-plan-card{align-items:flex-start;flex-direction:column}.settings-plan-card .btn{width:100%}}
