/* HM CRM: presentation-only density overlay for deployment 4b339d49.
   Original application JS, original CSS, HM branding, login and CRUD modals stay intact. */
.app-shell { --sidebar-width: 240px; --hm-control-size: 40px; --hm-small-control-size: 36px; }
.app-shell.sidebar-compact { --sidebar-width: 68px; }
.sidebar { height: 100dvh; }
.brand-row { height: 64px; min-height: 64px; padding: 9px 16px; }
.sidebar-compact .brand-row { padding: 9px 10px; }
.sidebar-compact .sidebar-brand { width: 44px; }
.main-nav { min-height: 0; }
.topbar { height: auto; min-height: 64px; padding: 8px 24px; }
.topbar-left { flex: 1; min-width: 0; }
.topbar-actions { flex-shrink: 0; }
.topbar .icon-button, .sidebar .icon-button { width: var(--hm-control-size); height: var(--hm-control-size); flex-shrink: 0; }
.date-control { height: var(--hm-control-size); }
.date-control span { font-size: 11px; line-height: 12px; }
.date-control input { font-size: 13px; line-height: 18px; }
.connection-status { height: var(--hm-control-size); }

.kpi { min-height: 120px; padding: 14px; }
.kpi-icon { flex-shrink: 0; }
.kpi-value { margin-top: 8px; font-variant-numeric: tabular-nums; }
.dashboard-grid, .pilot-grid { align-items: start; }
.panel-header { min-height: 64px; padding: 12px 16px; }
.panel-title-icon { width: 32px; height: 32px; }
.sales-chart { height: 240px; grid-template-columns: max-content minmax(0, 1fr); }
.chart-scale { padding: 0 10px 32px 0; font-size: 11px; line-height: 1.35; }
.grid-line.middle { top: calc(50% - 16px); }
.grid-line.bottom { bottom: 32px; }
.bar-column { grid-template-rows: minmax(0, 1fr) 18px 14px; }
.bar-column strong, .bar-column small { font-size: 11px; }
.alert-row strong { font-size: 13px; }
.alert-row time { font-size: 11px; }
.empty-inline, .empty-table:not(.management-modal *) { min-height: 128px; }

/* The original management dialogs keep their own typography and spacing. */
.data-table:not(.management-modal *) { font-size: 13px; line-height: 1.4; }
.data-table:not(.management-modal *) th { font-size: 11px; }
.data-table:not(.management-modal *) td { padding-block: 8px; }
.data-table:not(.management-modal *) td > small,
.person-cell:not(.management-modal *) small { font-size: 11px; line-height: 1.35; }
.status-badge:not(.management-modal *) { font-size: 11px; line-height: 16px; font-weight: 700; }
.activity-row > div strong { font-size: 13px; }
.activity-row > div span { font-size: 12px; }
.activity-amount { font-size: 13px; font-variant-numeric: tabular-nums; }
.activity-row time { font-size: 11px; }
.activity-row > .activity-amount { grid-column: 3; }
.activity-row > .status-badge { grid-column: 4; }
.activity-row > time { grid-column: 5; text-align: right; }

.summary-strip { min-height: 72px; padding: 8px 0; }
.summary-strip > div { flex: 1 1 170px; }
.summary-strip span { font-size: 12px; line-height: 16px; }
.summary-strip strong { font-variant-numeric: tabular-nums; }
.table-toolbar { min-height: 56px; padding: 8px 14px; }
.search-field { height: var(--hm-control-size); }
.search-field input { min-width: 0; font-size: 14px; }
.table-toolbar select, .session-form select, .session-form input { height: var(--hm-control-size); font-size: 14px; }
.session-form label, .session-form select, .session-form input { min-width: 0; }
.session-form select, .session-form input { width: 100%; }
.pilot-summary { min-height: 0; align-items: stretch; }
.pilot-score, .pilot-stat, .pilot-actions { min-height: 72px; padding: 12px 16px; }
.pilot-stat > div { min-width: 0; }
.pilot-stat span { font-size: 12px; line-height: 16px; }
.pilot-actions { flex-wrap: wrap; }
.app-shell :is(.primary-button, .secondary-button, .small-primary-button):not(.management-modal *) { min-height: var(--hm-control-size); font-size: 14px; line-height: 1.35; }
.app-shell .small-primary-button:not(.management-modal *) { min-height: var(--hm-small-control-size); font-size: 12px; }
.app-shell .icon-button.reject:not(.management-modal *) { width: var(--hm-small-control-size); height: var(--hm-small-control-size); }
.readiness-row { min-height: 64px; padding: 10px 14px; }
.readiness-row strong, .scenario-copy strong { font-size: 13px; line-height: 18px; }
.readiness-row span, .scenario-copy small { font-size: 11px; line-height: 1.35; }
.scenario-state { font-size: 11px; }
.session-form label span { font-size: 12px; }

.app-shell button > svg, .search-field > svg, .pilot-stat > svg, .error-banner > svg { flex-shrink: 0; }
.app-shell :is(button, input, select, a):not(.management-modal *):focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.sidebar button:focus-visible { outline-color: #fff; outline-offset: -3px; }
.date-control:focus-within { border-color: var(--blue); }

@media (max-width: 1180px) {
  .pilot-actions { min-height: 60px; }
}
@media (max-width: 900px) {
  .app-shell, .app-shell.sidebar-compact { --sidebar-width: 240px; }
  .sidebar { visibility: hidden; }
  .sidebar.sidebar-open { visibility: visible; }
  .sidebar .brand-row { padding: 9px 16px; }
  .sidebar .sidebar-brand { width: 180px; }
  .topbar { padding-inline: 16px; }
  .connection-status { width: var(--hm-control-size); }
  .activity-row > time { grid-column: 4; }
}
@media (max-width: 680px) {
  .app-shell { --hm-control-size: 44px; --hm-small-control-size: 44px; }
  .topbar { min-height: 64px; padding: 8px 12px; align-items: center; }
  .page-heading h1 { line-height: 1.3; }
  .kpi-grid, .finance-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi { min-height: 116px; padding: 12px; }
  .kpi-top > span:last-child { font-size: 12px; }
  .panel-header { min-height: 56px; padding: 12px; }
  .sales-chart { height: 230px; grid-template-columns: max-content minmax(0, 1fr); }
  .chart-scale { font-size: 11px; }
  .summary-strip { display: grid; grid-template-columns: minmax(0, 1fr); padding: 0; overflow: visible; }
  .summary-strip > div { min-width: 0; min-height: 44px; padding: 10px 14px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; border-right: 0; border-bottom: 1px solid var(--border-soft); }
  .summary-strip > div:last-child { border-bottom: 0; }
  .summary-strip strong { margin-top: 0; font-size: clamp(16px, 4.8vw, 18px); text-align: right; }
  .search-field input, .table-toolbar select, .session-form select, .session-form input { font-size: 16px; }
  .pilot-actions { border-top: 0; border-bottom: 0; }
  .pilot-actions button { flex: 1 1 160px; }
  .activity-row > time { grid-column: 3; }
}
@media (min-width: 360px) and (max-width: 680px) {
  .pilot-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pilot-score, .pilot-actions { grid-column: 1 / -1; }
  .pilot-stat:nth-child(2) { border-right: 1px solid var(--border-soft); }
}
@media (max-width: 359px) {
  .kpi-grid, .finance-kpis { grid-template-columns: 1fr; }
  .kpi { min-height: 104px; }
}
@media (pointer: coarse) {
  .app-shell { --hm-control-size: 44px; --hm-small-control-size: 44px; }
  .search-field input, .table-toolbar select, .session-form select, .session-form input { font-size: 16px; }
  .date-control input { width: 144px; font-size: 16px; }
}
