.ledger-workspace { display: grid; grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.ledger-main { min-width: 0; }
.ledger-load-more { display: flex; justify-content: center; padding: var(--space-3); }
.ledger-filters { position: sticky; top: calc(var(--header-height, 4rem) + var(--space-3)); }
.ledger-filter-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
@media (max-width: 760px) { .ledger-workspace { grid-template-columns: 1fr; } .ledger-filters { position: static; } }

.profitability-card { overflow: hidden; }
.profit-closure-body { min-height: 3rem; }
.profit-closure-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.profit-closure-channel { display: flex; flex-direction: column; gap: 0.2rem; padding: var(--space-3); border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-secondary); }
.profit-closure-channel strong { color: var(--text-primary); }
.profit-closure-channel span { color: var(--accent); font-weight: var(--font-semibold); }
.profit-closure-channel small { color: var(--text-tertiary); }
.profit-closure-totals { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-3); color: var(--text-secondary); font-size: var(--text-sm); }
.profit-closure-totals strong { color: var(--text-primary); }
.flex-end { display: flex; flex-direction: column; justify-content: flex-end; }
.profit-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
}
.profit-search { grid-column: span 2; }
.profit-method-note {
  grid-column: 1 / -1;
  padding: var(--space-3);
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border-color));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--accent) 6%, var(--bg-primary));
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: 1.45;
}
.profit-method-note strong { color: var(--text-primary); }
.profit-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  padding: 0 var(--space-4) var(--space-4);
}
.profit-alerts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding: 0 var(--space-4) var(--space-4);
}
.profit-alert {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
}
.profit-alert svg { width: 1rem; height: 1rem; }
.profit-alert--warning {
  background: color-mix(in srgb, var(--warning) 12%, var(--bg-primary));
  color: var(--warning);
}
.profit-table-wrap { border-top: 1px solid var(--border-color); overflow-x: auto; }
.profit-table-wrap .data-table { min-width: 92rem; }
.profit-cell-hint {
  display: block;
  margin-top: 0.15rem;
  color: var(--text-tertiary);
  font-size: var(--text-xs);
  font-weight: var(--font-normal);
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .profit-closure-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profit-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profit-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .profit-filter-grid,
  .profit-stats-grid,
  .profit-closure-summary { grid-template-columns: 1fr; }
  .profit-search { grid-column: auto; }
}
