/* Summa Line: one size system, no decorative icon containers.
   Overrides are scoped to SVG artwork and explicit non-interactive slots.
   Legacy component sheets set higher-specificity dimensions, hence !important. */
:root { --icon-size: 20px; --icon-small: 16px; --icon-large: 24px; }
svg.summa-icon {
  width: var(--icon-size) !important; height: var(--icon-size) !important;
  min-width: var(--icon-size); max-width: none; flex-shrink: 0;
  box-sizing: content-box; padding: 0 !important; border: 0 !important;
  border-radius: 0 !important; background: none !important; box-shadow: none !important;
  fill: none; stroke: currentColor; stroke-width: 1.8 !important;
  /* Safari can momentarily lose the referenced symbol viewport when an
     external SVG sprite is refreshed. Never let that artwork escape the
     icon's own box while the reference is resolving. */
  stroke-linecap: round; stroke-linejoin: round; overflow: hidden;
  vertical-align: middle; opacity: 1 !important; filter: none !important;
}
.icon-slot {
  width: 24px !important; height: 24px !important; min-width: 24px !important;
  max-width: none !important; flex: 0 0 24px !important;
  padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important;
  align-items: center; justify-content: center; place-items: center;
}
.icon-slot::before, .icon-slot::after { content: none !important; }
.icon-slot.expense-category-avatar { color: var(--muted) !important; }
svg.summa-icon:is(.icon-inline, .invoice-date-icon, .money-label-icon, .checks-coverage-mark, .checks-history-mark, .mark, .payment-check-icon, .checks-history-chevron),
.palette-check > svg.summa-icon, .modern-trend-icon > svg.summa-icon {
  width: var(--icon-small) !important; height: var(--icon-small) !important; min-width: var(--icon-small);
}
.settings-panel-icon > svg.summa-icon, .demo-settings-icon > svg.summa-icon,
.checks-status-icon > svg.summa-icon, .first-run-finish-icon > svg.summa-icon,
.payment-icon > svg.summa-icon, .money-buddy-empty > svg.summa-icon,
svg.summa-icon.checks-clear-icon {
  width: var(--icon-large) !important; height: var(--icon-large) !important; min-width: var(--icon-large);
}
.palette-check { display: inline-flex; align-items: center; }
.studio-revenue-foot > svg { margin: 0; }
.checks-status-card { grid-template-columns: 24px minmax(0,1fr) auto; }
.modern-daily-briefing :is(.modern-attention-card,.modern-open-invoices) { column-gap: 14px; }
.payment-icon { margin-top: 4px; }
.button-icon { margin-right: 7px; }
.modern-quick-actions .summa-icon { margin: 0; }

.verdict > summary::before, .read-step.is-done > span::before { content: none; }
.verdict.good > summary > .summa-icon { color: var(--green); }
.verdict.warn > summary > .summa-icon { color: var(--amber); }
.verdict.bad > summary > .summa-icon { color: var(--danger); }
.read-step.is-done > span { background: transparent; color: var(--green); }
/* Let labels use the space released by removing the former 40–88px tiles. */
.checks-kpi { grid-template-columns: 24px minmax(0,1fr) 20px; }
.money-status-card, .money-safe-card { grid-template-columns: 24px minmax(0,1fr) auto; }
#todayView .modern-daily-briefing :is(.modern-attention-card,.modern-open-invoices) { grid-template-columns: 24px minmax(0,1fr) auto; }
@media (max-width:720px) {
  .checks-status-card { grid-template-columns: 24px minmax(0,1fr); height:auto; min-height:0; column-gap:12px; }
  .checks-status-badge { grid-column:2; justify-self:start; }
  .checks-progress { grid-column:1 / -1; }
  .checks-kpi { grid-template-columns:24px minmax(0,1fr); }
  .checks-kpi > span > small { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.4; }
}
