/* Mesa premium — cartões Patrimônio, Livro (float), Mesa de Decisão, tabelas, modais (usa só tokens) */

/* ── Patrimônio: grelha + cartão 3 zonas ───────────────── */
.summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:14px;
  align-items:stretch;
}
@media (min-width:1024px){
  .summary-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .summary-card--span-2{
    grid-column:span 2;
  }
}
@media (min-width:761px) and (max-width:1023px){
  .summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .summary-card--span-2{
    grid-column:span 2;
  }
}

.summary-card.summary-card--premium{
  display:flex;
  flex-direction:column;
  padding:0;
  border-radius:8px;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  background:var(--surface);
  overflow:hidden;
  position:relative;
  transition:box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.summary-card.summary-card--premium::before,
.summary-card.summary-card--premium::after{
  display:none;
}
.summary-card.summary-card--premium:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
[data-theme="dark"] .summary-card.summary-card--premium:hover{
  box-shadow:0 4px 20px rgba(201, 168, 76, 0.08);
  border-color:var(--gold-dim);
}

.summary-card__premium-inner{
  display:flex;
  flex-direction:column;
  min-height:100%;
  position:relative;
  border-left:3px solid var(--sector-accent, var(--accent));
}
.summary-card--premium[data-sector="financeiro"]{--sector-accent:var(--accent);}
.summary-card--premium[data-sector="energia"]{--sector-accent:#E07B2A;}
.summary-card--premium[data-sector="industrial"]{--sector-accent:#6B6B6B;}
.summary-card--premium[data-sector="consumo"]{--sector-accent:#7B5EA7;}
.summary-card--premium[data-sector="tecnologia"]{--sector-accent:#2A7F6F;}
.summary-card--premium[data-sector="saude"]{--sector-accent:color-mix(in srgb, var(--negative) 55%, var(--accent) 45%);}
.summary-card--premium[data-sector="imobiliario"]{--sector-accent:#7B5EA7;}
.summary-card--premium[data-sector="telecom"]{--sector-accent:color-mix(in srgb, var(--accent) 70%, var(--text-mid) 30%);}
.summary-card--premium[data-sector="utilidades"]{--sector-accent:color-mix(in srgb, var(--text-mid) 55%, var(--accent) 45%);}
.summary-card--premium[data-sector="outros"]{--sector-accent:color-mix(in srgb, var(--text-mid) 65%, var(--border) 35%);}
[data-theme="dark"] .summary-card--premium[data-sector="energia"]{--sector-accent:color-mix(in srgb, #E07B2A 78%, var(--text) 22%);}
[data-theme="dark"] .summary-card--premium[data-sector="consumo"]{--sector-accent:color-mix(in srgb, #7B5EA7 78%, var(--text) 22%);}
[data-theme="dark"] .summary-card--premium[data-sector="tecnologia"]{--sector-accent:color-mix(in srgb, #2A7F6F 78%, var(--text) 22%);}

.summary-card__z1{
  padding:14px 16px 10px;
  border-bottom:1px solid var(--border-subtle, var(--border));
}
.summary-card__identity{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.summary-card__identity--stack{
  align-items:flex-start;
}
.summary-card__id-lines{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.summary-card__id-line1{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  min-width:0;
}
.summary-card__id-line1 .summary-card__ticker{
  margin:0;
}
.summary-card__identity--stack .summary-card__sector-badge{
  margin:0;
}
.summary-card__id-line2.summary-card__company{
  margin-top:0;
  line-height:1.35;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.summary-card__logo-wrap{
  flex-shrink:0;
}
.summary-card__ticker{
  font-size:18px;
  font-weight:800;
  color:var(--text);
  letter-spacing:0.02em;
  font-variant-numeric:tabular-nums;
  transition:color 0.2s ease;
}
[data-theme="dark"] .summary-card.summary-card--premium:hover .summary-card__ticker{
  color:var(--gold);
}
.summary-card__company{
  font-size:11px;
  color:var(--text-dim);
  margin-top:2px;
  line-height:1.35;
  max-width:100%;
}
.summary-card__sector-badge{
  display:inline-block;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:4px;
  background:var(--surface2);
  border:1px solid var(--border);
  color:var(--text-secondary, var(--text-mid));
}

.summary-card__z2{
  flex:1;
  padding:12px 16px 14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.summary-card__position-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 16px;
  align-items:start;
}
.summary-card__zlabel{
  display:block;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:4px;
}
.summary-card__zlabel--spaced{
  margin-top:8px;
}
.summary-card__qty-num{
  font-size:20px;
  font-weight:700;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.summary-card__qty-unit{
  font-size:11px;
  color:var(--text-mid);
}
.summary-card__px-med{
  font-size:15px;
  font-weight:600;
  color:var(--text-secondary, var(--text-mid));
  font-variant-numeric:tabular-nums;
}
.summary-card__px-live-wrap .price-val{
  font-size:17px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.mesa-quote-val{
  transition:opacity 0.15s ease;
}
.summary-card__value-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.summary-card__value-row__right{
  text-align:right;
}
.summary-card__inv{
  font-size:13px;
  font-weight:500;
  color:var(--text-secondary, var(--text-mid));
  font-variant-numeric:tabular-nums;
}
.summary-card__cur{
  font-size:16px;
  font-weight:600;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

.summary-card__z3{
  margin-top:auto;
  padding:12px 16px 14px;
  border-top:1px solid var(--border-subtle, var(--border));
}
.summary-card__z3--gain{
  background:var(--positive-bg);
}
.summary-card__z3--loss{
  background:var(--negative-bg);
}
.summary-card__z3--neutral{
  background:var(--surface2);
}
.summary-card__z3-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.summary-card__z3-label{
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.summary-card__z3-values{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.summary-card__foot-amount{
  font-size:20px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.summary-card__foot-muted{
  font-size:14px;
  color:var(--text-mid);
}
.summary-card__pnl-badge{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  padding:3px 9px;
  border-radius:4px;
  font-variant-numeric:tabular-nums;
  animation:mesaChipIn 0.35s ease both;
}
.summary-card__pnl-badge--gain{
  background:color-mix(in srgb, var(--positive) 18%, var(--surface));
  color:var(--positive);
  border:1px solid color-mix(in srgb, var(--positive) 28%, transparent);
}
.summary-card__pnl-badge--loss{
  background:color-mix(in srgb, var(--negative) 16%, var(--surface));
  color:var(--negative);
  border:1px solid color-mix(in srgb, var(--negative) 28%, transparent);
}

@keyframes mesaChipIn{
  from{opacity:0; transform:translateY(2px);}
  to{opacity:1; transform:translateY(0);}
}

#summaryContent.summary-prices-refreshing{
  opacity:0.94;
  transition:opacity 0.2s ease;
}

/* ── Contribuição (3 cards) ───────────────────────────── */
.contrib-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
  margin-top:4px;
}
.contrib-card{
  position:relative;
  border-radius:8px;
  border:1px solid var(--border);
  padding:14px 14px 16px;
  background:var(--surface);
  box-shadow:var(--shadow-xs);
}
.contrib-card__icon{
  display:block;
  margin-bottom:8px;
  color:var(--text-mid);
}
.contrib-card--best{
  border-top:3px solid var(--positive);
  background:var(--positive-bg);
}
.contrib-card--best .contrib-card__icon{
  color:var(--positive);
}
.contrib-card--worst{
  border-top:3px solid var(--negative);
  background:var(--negative-bg);
}
.contrib-card--worst .contrib-card__icon{
  color:var(--negative);
}
.contrib-card--concentration{
  border-top:3px solid var(--accent);
  background:var(--surface2);
}
[data-theme="dark"] .contrib-card--concentration{
  border-top-color:var(--gold-dim);
  background:var(--bg-elevated);
}
.contrib-card--muted{
  opacity:0.92;
}
.contrib-card__kicker{
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin:0 0 6px;
}
.contrib-card__ticker{
  font-size:20px;
  font-weight:800;
  color:var(--text);
  letter-spacing:0.02em;
}
.contrib-card__amount{
  font-size:22px;
  font-weight:700;
  margin-top:4px;
  font-variant-numeric:tabular-nums;
}
.contrib-card__amount.up{color:var(--positive);}
.contrib-card__amount.down{color:var(--negative);}
.contrib-card__note{
  margin-top:10px;
  font-size:12px;
  line-height:1.45;
  color:var(--text-mid);
}

/* ── Tabelas resultado / encerradas ───────────────────── */
.realized-card--mesa-table{
  padding:18px 18px 20px;
}
.mesa-fin-card-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.mesa-fin-card-title{
  font-family:'DM Serif Display', 'Cormorant Garamond', serif;
  font-size:20px;
  font-weight:600;
  color:var(--text);
  margin:0;
}
.mesa-fin-card-title--solo{
  margin-bottom:12px;
}
.mesa-fin-card-total{
  font-size:32px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.mesa-fin-card-total.up{color:var(--positive);}
.mesa-fin-card-total.down{color:var(--negative);}
[data-theme="dark"] .mesa-fin-card-total.up{
  text-shadow:0 0 12px rgba(46, 173, 106, 0.28);
}
.mesa-fin-badge{
  display:inline-block;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:4px;
  border:1px solid var(--border);
  background:var(--surface2);
  color:var(--text-mid);
  margin-bottom:10px;
}
[data-theme="dark"] .mesa-fin-badge{
  background:var(--bg-elevated);
}
.mesa-table-wrap{
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:8px;
}
.mesa-fin-table{
  width:100%;
  max-width:100%;
  /* Sobrescreve `table{ min-width:1400px }` em base.css — evita colunas desalinhadas no scroll horizontal. */
  min-width:0 !important;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:13px;
}
.mesa-fin-table thead th{
  text-align:left;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--text-dim);
  padding:10px 12px;
  background:var(--surface2);
  border-bottom:1px solid var(--border-subtle, var(--border));
}
.mesa-fin-table thead th:nth-child(1){
  width:34%;
}
.mesa-fin-table thead th:nth-child(2){
  width:22%;
  text-align:right;
}
.mesa-fin-table thead th:nth-child(3){
  width:22%;
}
.mesa-fin-table thead th:nth-child(4){
  width:22%;
}
.mesa-fin-table tbody td{
  padding:11px 12px;
  border-bottom:1px solid var(--border-subtle, var(--border));
  vertical-align:middle;
  transition:background-color 0.15s ease;
}
.mesa-fin-table tbody tr:hover td{
  background:var(--surface2);
}
[data-theme="dark"] .mesa-fin-table tbody tr:hover td{
  background:rgba(201, 168, 76, 0.04);
}
.mesa-fin-table tbody tr:last-child td{
  border-bottom:none;
}
.mesa-fin-td--ticker{
  font-weight:700;
  color:var(--text);
}
.mesa-fin-ticker{
  display:inline;
  font-variant-numeric:tabular-nums;
}
.mesa-fin-ticker--closed{
  opacity:0.6;
}
.mesa-fin-tag-closed{
  display:inline-block;
  margin-left:6px;
  font-size:9px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:2px 6px;
  border-radius:4px;
  border:1px solid var(--border);
  background:var(--surface2);
  color:var(--text-dim);
}
.mesa-fin-td--num{
  text-align:right;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
/* Mesmo token do total do cartão (`.mesa-fin-card-total.up`) — não usar `.up` genérico (ouro) do base.css. */
.mesa-fin-td--num.up{
  color:var(--positive);
}
.mesa-fin-td--num.down{
  color:var(--negative);
}
[data-theme="dark"] .mesa-fin-td--num.up{
  text-shadow:0 0 10px rgba(46, 173, 106, 0.22);
}
.mesa-fin-td--date{
  color:var(--text-mid);
  white-space:nowrap;
}
.mesa-fin-td--note{
  color:var(--text-mid);
  font-size:12px;
  max-width:220px;
}
.mesa-fin-sub{
  display:block;
  font-size:10px;
  font-weight:500;
  color:var(--text-dim);
  margin-top:2px;
}

/* ── Fechamento mensal (mini calendário) ──────────────── */
.mesa-month-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(148px, 1fr));
  gap:10px;
  margin-top:4px;
}
.mesa-month-cell{
  border:1px solid var(--border);
  border-radius:8px;
  padding:10px 10px 12px;
  background:var(--surface);
  box-shadow:var(--shadow-xs);
  border-bottom-width:2px;
  border-bottom-color:var(--border);
}
.mesa-month-cell--pos{
  border-bottom-color:var(--positive);
  background:var(--surface);
}
[data-theme="dark"] .mesa-month-cell--pos{
  background:rgba(46, 173, 106, 0.06);
}
.mesa-month-cell--neg{
  border-bottom-color:var(--negative);
}
[data-theme="dark"] .mesa-month-cell--neg{
  background:rgba(217, 95, 95, 0.06);
}
.mesa-month-cell--zero{
  border-bottom-color:var(--border);
}
.mesa-month-cell--current{
  border-color:var(--gold-dim);
  background:var(--gold-bg);
}
.mesa-month-cell__hd{
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:6px;
}
.mesa-month-cell__result{
  font-size:18px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.mesa-month-cell__result.up{color:var(--positive);}
.mesa-month-cell__result.down{color:var(--negative);}
.mesa-month-cell__result.flat{color:var(--text-mid);}
.mesa-month-cell__sub{
  margin-top:8px;
  font-size:11px;
  color:var(--text-mid);
  line-height:1.4;
}

/* ── Livro + convidado + Nuvem (Seleto): floating labels + senha no wrap ── */
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float{
  position:relative;
  padding-top:6px;
}
:is(#mesaGuestShell, #seletoModal .seleto-cloud-panel) .field.field--float{
  gap:0;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > select.app-select{
  width:100%;
  padding:16px 12px 10px;
  border-radius:8px;
  border:1px solid var(--border);
  background:var(--surface2);
  color:var(--text);
  font-size:14px;
  outline:none;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input:focus,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > select.app-select:focus{
  border-color:var(--accent);
}
[data-theme="dark"] :is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input:focus,
[data-theme="dark"] :is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > select.app-select:focus{
  border-color:var(--gold-dim);
  box-shadow:0 0 0 3px rgba(201, 168, 76, 0.12);
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > .mesa-password-wrap{
  display:flex;
  width:100%;
  align-items:stretch;
  border-radius:8px;
  border:1px solid var(--border);
  background:var(--surface2);
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing:border-box;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > .mesa-password-wrap .mesa-password-input{
  flex:1;
  min-width:0;
  border:none;
  background:transparent;
  padding:16px 44px 10px 12px;
  font-size:14px;
  color:var(--text);
  outline:none;
  border-radius:8px;
  font-family:inherit;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > .mesa-password-wrap:focus-within{
  border-color:var(--accent);
}
[data-theme="dark"] :is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > .mesa-password-wrap:focus-within{
  border-color:var(--gold-dim);
  box-shadow:0 0 0 3px rgba(201, 168, 76, 0.12);
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > label{
  position:absolute;
  left:12px;
  top:21px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:none;
  color:var(--text-mid);
  pointer-events:none;
  transform-origin:left top;
  line-height:1.2;
  transition:transform 0.18s ease, color 0.18s ease, top 0.18s ease, font-size 0.18s ease, background-color 0.18s ease, padding 0.18s ease;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input:focus + label,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input:not(:placeholder-shown) + label,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float.field--float-select > select.app-select:focus + label,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float.field--float-select > select.app-select:not([value=""]) + label,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > .mesa-password-wrap:focus-within + label,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > .mesa-password-wrap:has(.mesa-password-input:not(:placeholder-shown)) + label{
  transform:translateY(-11px) scale(0.82);
  top:7px;
  left:9px;
  color:var(--text-dim);
  background:var(--panel-outer-bg, var(--surface));
  padding:0 5px;
  z-index:2;
  border-radius:3px;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float.field--float-select > label{
  top:23px;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float.field--float-select > select.app-select:focus + label,
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float.field--float-select > select.app-select:not([value=""]) + label{
  transform:translateY(-11px) scale(0.82);
  top:6px;
  left:9px;
  background:var(--panel-outer-bg, var(--surface));
  padding:0 5px;
  z-index:2;
  border-radius:3px;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float.field--float-select .mobile-select-trigger{
  margin-top:8px;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input.seleto-cloud-field__input--readonly:focus{
  border-color:var(--border);
  box-shadow:none;
}
:is(#mainFormCard, #mesaGuestShell, #seletoModal .seleto-cloud-panel) .field--float > input.seleto-cloud-field__input--readonly:not(:placeholder-shown) + label{
  transform:translateY(-11px) scale(0.82);
  top:7px;
  left:9px;
  color:var(--text-dim);
  background:var(--panel-outer-bg, var(--surface));
  padding:0 5px;
  z-index:2;
  border-radius:3px;
}
#mainFormCard .toggle-wrap .toggle-btn.buy.active{
  background:var(--accent);
  color:var(--bg-surface, #fff);
}
[data-theme="dark"] #mainFormCard .toggle-wrap .toggle-btn.buy.active{
  background:color-mix(in srgb, var(--accent) 85%, var(--surface) 15%);
  color:var(--text);
}
#mainFormCard .toggle-wrap .toggle-btn.sell.active{
  background:var(--accent);
  color:var(--bg-surface, #fff);
}
[data-theme="dark"] #mainFormCard .toggle-wrap .toggle-btn.sell.active{
  background:color-mix(in srgb, var(--accent) 85%, var(--surface) 15%);
}
#mainFormCard #btnSubmitOp.btn-add{
  border-radius:2px;
  padding:16px;
  background:var(--bg-inverse);
  color:var(--bg-surface);
  box-shadow:none;
  background-image:none;
  font-weight:700;
}
[data-theme="dark"] #mainFormCard #btnSubmitOp.btn-add{
  background:var(--gold);
  color:var(--btn-add-fg);
}
#mainFormCard #btnSubmitOp.btn-add:hover:not(:disabled){
  filter:brightness(1.05);
}

/* ── Mesa de Decisão: grelha de ferramentas ───────────── */
.mesa-decision-deck{
  background:var(--surface2);
  border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
}
.mesa-decision-deck::before{
  display:none;
}
.mesa-decision-deck__rule{
  height:1px;
  background:var(--border);
  margin:0 0 14px;
  border:none;
}
[data-theme="dark"] .mesa-decision-deck__rule{
  background:var(--gold-dim);
  opacity:0.55;
}
.mesa-decision-deck__title{
  font-family:'DM Serif Display', 'Cormorant Garamond', serif;
  font-size:22px;
}
.mesa-decision-deck__tools.mesa-decision-deck__tabs{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:12px;
  border:none;
  background:transparent;
  padding:0;
}
.mesa-decision-deck__tools .tab.mesa-tool-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto auto;
  align-items:start;
  gap:8px 10px;
  text-align:left;
  padding:14px 14px 16px;
  border-radius:8px;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:var(--shadow-xs);
  min-height:108px;
  position:relative;
}
.mesa-decision-deck__tools .tab.mesa-tool-card .tab__pin{
  grid-column:2;
  grid-row:1;
}
.mesa-decision-deck__tools .mesa-tool-card__icon{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:start;
  color:var(--accent);
}
[data-theme="dark"] .mesa-decision-deck__tools .mesa-tool-card__icon{
  color:var(--gold);
}
.mesa-decision-deck__tools .mesa-tool-card__body{
  grid-column:2;
  grid-row:2;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.mesa-decision-deck__tools .mesa-tool-card__cta{
  grid-column:3;
  grid-row:1;
  font-size:12px;
  font-weight:600;
  color:var(--accent);
  white-space:nowrap;
  align-self:start;
}
[data-theme="dark"] .mesa-decision-deck__tools .mesa-tool-card__cta{
  color:var(--gold);
}
.mesa-tool-card__desc{
  font-size:13px;
  font-weight:400;
  color:var(--text-mid);
  line-height:1.35;
}
.mesa-decision-deck__tools .tab.mesa-tool-card:hover{
  box-shadow:var(--shadow-sm);
  border-color:var(--accent);
}
[data-theme="dark"] .mesa-decision-deck__tools .tab.mesa-tool-card:hover{
  border-color:var(--gold-dim);
}
.mesa-decision-deck__tools .tab.mesa-tool-card.active{
  border-color:var(--accent);
  box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .mesa-decision-deck__tools .tab.mesa-tool-card.active{
  border-color:var(--gold-dim);
}
.mesa-decision-deck__tools .tab__title{
  font-size:15px;
  font-weight:600;
  color:var(--text);
}
.mesa-decision-deck__tools .mesa-decision-deck__hero-preview{
  grid-column:1 / -1;
  margin-top:8px;
}

/* ── Relatórios: tabs + subtítulo ─────────────────────── */
.reports-card__subtitle{
  margin:6px 0 0;
  font-size:13px;
  color:var(--text-mid);
  line-height:1.4;
}
.mesa-reports-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  padding:0 20px 12px;
  border-bottom:1px solid var(--border);
}
.mesa-reports-tab{
  font-size:12px;
  font-weight:600;
  padding:8px 4px 10px;
  color:var(--text-dim);
  border-bottom:2px solid transparent;
  cursor:default;
}
.mesa-reports-tab--active{
  color:var(--text);
  border-bottom-color:var(--accent);
}
[data-theme="dark"] .mesa-reports-tab--active{
  border-bottom-color:var(--gold);
  color:var(--text);
}
.mesa-reports-tab--soon{
  opacity:0.55;
}

/* ── Modais: overlay + animação leve ─────────────────── */
.reports-modal,
.jornal-modal,
.seleto-modal{
  transition:background-color 0.25s ease;
}
.reports-modal.open,
.jornal-modal.open{
  background:color-mix(in srgb, var(--bg-inverse, #000) 40%, transparent);
}
[data-theme="dark"] .reports-modal.open,
[data-theme="dark"] .jornal-modal.open{
  background:rgba(0, 0, 0, 0.7);
}
.reports-card,
.jornal-modal__card,
.seleto-modal__card{
  animation:mesaModalIn 0.2s ease-out both;
}
@keyframes mesaModalIn{
  from{
    opacity:0;
    transform:scale(0.96);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}
.reports-card__close,
.jornal-modal__close,
.seleto-modal__close{
  transition:color 0.15s ease;
}
[data-theme="dark"] .reports-card__close:hover,
[data-theme="dark"] .jornal-modal__close:hover,
[data-theme="dark"] .seleto-modal__close:hover{
  color:var(--gold);
}

/* ── Jornal: lista densa + destaque ───────────────────── */
.jornal-modal__item{
  border-bottom:1px solid var(--border-subtle, var(--border));
  padding:12px 8px 12px 4px;
  transition:background-color 0.15s ease, padding-left 0.18s ease;
}
.jornal-modal__item:hover{
  background:var(--surface2);
  padding-left:8px;
}
[data-theme="dark"] .jornal-modal__item:hover{
  background:var(--bg-elevated);
}
.jornal-modal__item--lead{
  border-left:3px solid var(--accent);
  padding-left:12px;
}
[data-theme="dark"] .jornal-modal__item--lead{
  border-left-color:var(--gold);
}
.jornal-modal__item--lead .jornal-modal__item-title{
  font-size:15px;
  color:var(--text);
}
[data-theme="dark"] .jornal-modal__item--lead .jornal-modal__item-title{
  color:color-mix(in srgb, var(--text) 92%, var(--gold) 8%);
}
.jornal-modal__ticker-badge{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:2px 7px;
  border-radius:4px;
  margin-right:8px;
  vertical-align:middle;
  background:color-mix(in srgb, var(--accent) 16%, var(--surface2));
  color:var(--accent);
  border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
}
[data-theme="dark"] .jornal-modal__ticker-badge{
  background:var(--gold-bg);
  color:var(--gold);
  border-color:var(--gold-dim);
}
