.page-shell { width: min(calc(100% - 64px), var(--max-width)); margin: 20px auto 32px; container-type: inline-size; }
.page-shell, .dashboard-grid, .dashboard-grid > *, .summary-grid > *, .hero > *, .chart-controls, .table-wrap, .site-footer, .site-footer > * { min-width: 0; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 20px; margin-bottom: 16px; padding: 14px 18px; }
.header-bottom { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 16px; }
.header-status:has(.data-status:not(:empty)) { padding: 4px 0; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.chart-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.explorer-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.explorer-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(310px, 1fr); gap: 20px; align-items: start; }
.explorer-grid > * { min-width: 0; }
.chart-panel__canvas-wrap { position: relative; height: 320px; }
.chart-panel__canvas-wrap canvas { max-width: 100%; }
.chart-panel__canvas-wrap:has(canvas[hidden]) { display: none; }
.secondary-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.inspection-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0; }
.inspection-buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.inspection-buttons .button { font-size: .8125rem; padding: 7px 10px; }
.chart-display-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.metric-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; }
.detailed-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.table-toolbar { display: grid; grid-template-columns: minmax(135px, 1fr) minmax(135px, 1fr) minmax(160px, 1.5fr) minmax(140px, 1.3fr) minmax(110px, .8fr) auto; gap: 12px; align-items: end; margin-top: 16px; }
.table-wrap { overflow-x: auto; margin-top: 10px; max-width: 100%; }
.pagination { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.site-footer { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 24px; margin-top: 16px; padding: 0 4px; }
.site-footer details[open] { flex-basis: 100%; }
.automation-line { font-size:.75rem;color:var(--muted);margin-top:2px; }
.automation-line .text-button { font-size:inherit;min-height:0;padding:0;margin-left:8px; }
.footer-setup { font-size:inherit;line-height:inherit; }
html.modal-open { overflow:hidden; }
#automationDialog { width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid var(--border);border-radius:16px;color:var(--text);background:var(--bg-card);overflow-y:auto;overscroll-behavior:contain; }
#automationDialog::backdrop { background:rgba(19,34,56,.48); }
#automationDialog h2 { padding-right:85px; }
#automationDialog p { margin-top:12px; }
#automationDialog section { margin-top:24px; }
.dialog-close { float:right;margin:0 0 12px 12px; }
.automation-intro { font-size:1.2rem;font-weight:650; }
.automation-qualification { padding:12px;background:var(--accent-soft);border-radius:8px; }
.automation-steps { padding-left:24px; }
.automation-steps li { padding:4px 0; }
.automation-steps span { display:block;color:var(--muted); }
#downloadStatus:empty { display:none; }
#extensionDownload { display:inline-block;text-decoration:none;margin:4px 0; }
@media(max-width:540px) { #automationDialog { padding:18px;max-height:calc(100dvh - 24px); } }
@container (max-width: 1100px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .hero__utilities { justify-content: space-between; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container (max-width: 850px) {
  .explorer-grid, .secondary-context { grid-template-columns: minmax(0, 1fr); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detailed-groups { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) { .page-shell { width: calc(100% - 32px); margin-top: 12px; } }
@container (max-width: 540px) {
  .panel { padding: 16px; border-radius: 16px; }
  .hero { padding: 8px 16px; gap: 0; }
  .header-bottom { gap:0 8px; }
  .automation-line { display:contents; }
  .automation-line span { order:0;flex-basis:100%;font-size:.75rem;line-height:1.25;color:var(--muted); }
  .header-bottom .section-links { order:1;gap:16px; }
  .automation-line .text-button { order:2;min-height:44px;margin:0;font-size:.75rem; }
  .header-status { order:3; }
  .hero h1 { font-size: 1.5rem; line-height: 1.1; }
  .hero__copy { line-height: 1.3; }
  .hero__utilities { gap: 8px; }
  .hero__utilities .button { padding: 8px 10px; font-size: .8125rem; }
  .section-links { gap: 20px; }
  .summary-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .kpi-card:not(.signal-card) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 8px; align-items: center; }
  .kpi-card__label, .combined-card > p:last-child { grid-column: 1 / -1; }
  .kpi-card:has(.kpi-card__value--precise), .kpi-card:has(.kpi-card__value--extended) { grid-template-columns: minmax(0, 1fr); }
  .kpi-card__value { font-size: 2rem; }
  .kpi-card__value--precise { font-size: 1.65rem; }
  .kpi-card__value--extended { font-size: 1rem; }
  .chart-controls { width: 100%; gap: 6px; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .segmented-control { width: 100%; flex-wrap: nowrap; padding: 2px; gap: 0; }
  .segmented-control button { flex: 1; padding: 6px 3px; font-size: .8125rem; }
  .inspection-toolbar { gap: 0 8px; }
  .inspection-toolbar .checkbox-label { margin-left: 0; }
  .inspection-buttons { flex-wrap: nowrap; width: 100%; }
  .inspection-buttons .button { padding: 7px 8px; flex: 1; }
  .chart-panel__canvas-wrap { height: 260px; }
  .metric-grid { grid-template-columns: minmax(0, 1fr); }
  .table-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 8px; }
  .pagination { justify-content: space-between; gap: 8px; }
  .pagination .button { padding: 9px 10px; }
}

@container (min-width: 541px) { .rule-label { flex: 1; } .rule-label .signal-badge { display: block; margin: 0; width: fit-content; } .signal-controls { flex-wrap: nowrap; } }
@container (max-width: 340px) {
  .chart-controls { grid-template-columns: minmax(0, 1fr); }
  .header-bottom .section-links { gap:4px; }
  .header-bottom .section-links a { font-size:.75rem; }
  .kpi-card:not(.signal-card) { grid-template-columns:minmax(0,1fr); }
}
