/* PAC Control Tower v1.9.4.6 REV2 HF4 | Global Minimal UI Contract */
:root {
  --hf4-bg: #031f27;
  --hf4-surface: #073641;
  --hf4-surface-2: #0a4451;
  --hf4-border: rgba(153, 233, 242, .28);
  --hf4-text: #eefbfc;
  --hf4-muted: #afc8ce;
  --hf4-accent: #99e9f2;
  --hf4-row: #ffffff;
  --hf4-row-alt: #f4f8f9;
  --hf4-ink: #173038;
  --hf4-danger: #f13f68;
  --hf4-warning: #efb83c;
  --hf4-success: #42c989;
  --hf4-radius: 12px;
  --hf4-gap: 14px;
}

/* Global rhythm: compact, consistent, no decorative noise. */
.page-shell, [id^="page-"], .hf4-minimal-page, .v1729-executive-home, .ops57-page {
  box-sizing: border-box !important;
}
.page-shell, .hf4-minimal-page, .v1729-executive-home, .ops57-page {
  gap: var(--hf4-gap) !important;
}
.page-title-row, .ds-page-header, .v1729-home-hero, .ops57-hero,
.table-card, .ds-data-card, .v1729-home-panel, .ops57-card {
  border: 1px solid var(--hf4-border) !important;
  border-radius: var(--hf4-radius) !important;
  box-shadow: none !important;
  background-image: none !important;
}
.page-title-row, .ds-page-header, .v1729-home-hero {
  padding: 18px 20px !important;
  min-height: 0 !important;
}
.page-title-row h2, .ds-page-header h2, .v1729-home-hero h2, .ops57-title {
  margin: 4px 0 5px !important;
  font-size: clamp(20px, 1.7vw, 28px) !important;
  line-height: 1.15 !important;
}
.page-title-row p, .ds-page-header p, .v1729-home-hero p, .ops57-subtitle {
  margin: 0 !important;
  max-width: 900px !important;
  color: var(--hf4-muted) !important;
  line-height: 1.4 !important;
}
.section-eyebrow, .ops57-eyebrow {
  font-size: 11px !important;
  letter-spacing: .055em !important;
  font-weight: 800 !important;
  color: var(--hf4-accent) !important;
}

/* A maximum of four primary KPIs on role-aware pages. */
.hf4-kpi-grid, .hf4-home-summary, .v150-kpi-grid, .ops57-grid-kpi {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  gap: 10px !important;
}
.kpi-card, .v1729-home-kpi, .ops57-kpi {
  min-height: 96px !important;
  padding: 14px !important;
  border-radius: 10px !important;
  border: 1px solid var(--hf4-border) !important;
  box-shadow: none !important;
  background-image: none !important;
}
.v1729-home-kpi-signal { display: none !important; }
.v1729-home-kpi strong, .ops57-kpi strong { font-size: 24px !important; line-height: 1.15 !important; }

/* Role home: priority block and summary share the viewport instead of one 720px column. */
.hf4-home-grid, .v1729-home-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr) !important;
  grid-template-rows: auto auto !important;
  gap: 12px !important;
  align-items: start !important;
}
.v1729-home-panel-main { grid-row: 1 / span 2 !important; }
.v1729-home-panel { padding: 14px !important; min-height: 0 !important; }
.v1729-home-priority-list {
  max-height: 430px !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}
.v1729-home-panel-header { margin-bottom: 10px !important; }
.v1729-home-panel-header h3 { margin: 3px 0 !important; font-size: 18px !important; }
.v1729-home-panel-header p { margin: 0 !important; color: var(--hf4-muted) !important; }
.v1941-finding-card, .v1941-opportunity-card {
  padding: 13px !important;
  margin: 0 0 9px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.v1941-finding-card h4, .v1941-opportunity-card h4 { margin: 9px 0 5px !important; }
.v1941-finding-card p, .v1941-opportunity-card p { margin: 0 0 9px !important; line-height: 1.4 !important; }
.v1941-finding-action { padding: 8px 10px !important; }
.hf4-discrepancy-summary-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--hf4-border) !important;
}
.hf4-discrepancy-summary-row span {
  min-width: 34px !important; text-align: center !important; font-weight: 800 !important;
  background: rgba(153,233,242,.12) !important; border-radius: 999px !important; padding: 3px 8px !important;
}
.v1729-home-source-note { padding: 8px 2px !important; color: var(--hf4-muted) !important; font-size: 12px !important; }

/* Universal Dash DataTable: same readable surface on every page and callback. */
.dash-table-container, .dash-spreadsheet-container, .dash-spreadsheet-inner {
  width: 100% !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner {
  background: var(--hf4-row) !important;
  color: var(--hf4-ink) !important;
  border-radius: 10px !important;
  overflow: auto !important;
}
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--hf4-row) !important;
}
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th,
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner td,
.dash-table-container .dash-cell,
.dash-table-container .dash-header,
.dash-table-container .dash-filter {
  opacity: 1 !important;
  visibility: visible !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
}
.dash-table-container .dash-cell {
  min-width: 88px !important;
  max-width: 260px !important;
  padding: 8px 10px !important;
  background: var(--hf4-row) !important;
  color: var(--hf4-ink) !important;
  border: 1px solid #cfdee1 !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  height: auto !important;
}
.dash-table-container .dash-spreadsheet-inner tr:nth-child(even) .dash-cell {
  background: var(--hf4-row-alt) !important;
}
.dash-table-container .dash-header {
  min-height: 42px !important;
  padding: 9px 10px !important;
  background: #0a4c59 !important;
  color: #ffffff !important;
  border: 1px solid #76c0c9 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}
.dash-table-container .dash-filter {
  min-height: 34px !important;
  background: #e5f3f5 !important;
  color: var(--hf4-ink) !important;
  border: 1px solid #b8d2d7 !important;
}
.dash-table-container .dash-filter input {
  color: var(--hf4-ink) !important;
  background: transparent !important;
}
.dash-table-container .previous-next-container {
  padding: 8px 4px !important;
  background: #f5f9fa !important;
  color: var(--hf4-ink) !important;
}
.dash-table-container .previous-next-container button {
  border: 1px solid #a7c6cc !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #0a4c59 !important;
}
/* Remove the legacy fixed-header overlay that could cover data rows. */
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner .dash-fixed-row,
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner .dash-fixed-column {
  position: static !important;
}

/* Compact table cards and controls. */
.table-card, .ds-data-card, .ops57-table-wrap { padding: 14px !important; }
.table-card h3, .ds-data-card h3 { margin: 0 0 4px !important; font-size: 18px !important; }
.table-card p, .ds-data-card p { margin: 0 0 10px !important; color: var(--hf4-muted) !important; }
.Select-control, .VirtualizedSelectOption, input, button, .btn, .pac-action-btn {
  border-radius: 8px !important;
}
.pac-subtabs { margin: 2px 0 10px !important; }
.pac-subtabs .tab { padding: 9px 13px !important; min-height: 38px !important; }

/* Operations: tables are primary; horizontal overflow only when content truly needs it. */
.ops57-two-col { gap: 12px !important; }
.ops57-card { padding: 14px !important; box-shadow: none !important; }
.ops57-table-wrap .dash-table-container { margin-top: 8px !important; }

/* Agenda identity must remain visible even when old CSS rules collide. */
.agenda-company-logo, .agenda-company-logo-fallback,
.agenda-country-flag-badge, .agenda-country-flag-symbol {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.agenda-company-logo, .agenda-company-logo-fallback {
  width: 36px !important; height: 36px !important; min-width: 36px !important;
  object-fit: contain !important; border-radius: 9px !important;
  background: #ffffff !important; border: 1px solid var(--hf4-border) !important;
}
.agenda-country-flag-badge {
  align-items: center !important; gap: 4px !important;
  min-width: 48px !important; min-height: 28px !important;
  padding: 3px 7px !important; border: 1px solid var(--hf4-border) !important;
  border-radius: 999px !important; background: rgba(153,233,242,.10) !important;
}
.agenda-country-flag-badge small { font-size: 9px !important; color: var(--hf4-muted) !important; }

@media (max-width: 1180px) {
  .hf4-kpi-grid, .hf4-home-summary, .v150-kpi-grid, .ops57-grid-kpi { grid-template-columns: repeat(2, minmax(150px, 1fr)) !important; }
  .hf4-home-grid, .v1729-home-grid { grid-template-columns: 1fr !important; }
  .v1729-home-panel-main { grid-row: auto !important; }
  .v1729-home-priority-list { max-height: 520px !important; }
}
@media (max-width: 720px) {
  .hf4-kpi-grid, .hf4-home-summary, .v150-kpi-grid, .ops57-grid-kpi { grid-template-columns: 1fr !important; }
  .page-title-row, .ds-page-header, .v1729-home-hero { padding: 14px !important; }
  .dash-table-container .dash-cell { min-width: 110px !important; }
}
