.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 { position:relative;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: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 16px; }
.header-bottom .section-links { justify-content: flex-end; }
.header-status { grid-column: 1 / -1; text-align: right; }
.header-status:not(:has(.data-status:not(:empty))) { position:absolute;height:0;padding:0; }
.header-status .data-status:empty { display:block; }
.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: 4px 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:.8125rem;color:var(--muted);margin-top:2px; }
.automation-line strong { color:var(--text);font-weight:700; }
.automation-line .text-button { font-size:inherit;min-height:44px;padding:0;margin-left:8px; }
.footer-setup { font-size:inherit;line-height:inherit;min-height:44px; }
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;overflow-wrap:anywhere; }
#automationDialog::backdrop { background:rgba(19,34,56,.48); }
.dialog-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:sticky;top:-24px;background:var(--bg-card);padding:12px 0;z-index:1; }
.dialog-heading h2 { min-width:0; }
#automationDialog p { margin-top:12px; }
#automationDialog section { margin-top:24px; }
.dialog-close { flex-shrink:0; }
.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 { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px; }
#automationDialog details { margin-top:16px;border-top:1px solid var(--border); }
#automationDialog details p:last-child { margin-bottom:12px; }
.automation-steps span { display:block;color:var(--muted); }
#downloadStatus:empty { display:none; }
#extensionDownload { display:inline-flex;text-decoration:none;margin:4px 0;max-width:100%;white-space:normal;text-align:center; }
@media(max-width:540px) { #automationDialog { padding:16px;max-height:calc(100dvh - 24px); } .dialog-heading { top:-16px; } .automation-steps { grid-template-columns:minmax(0,1fr);gap:0; } }
@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 12px; gap: 0; }
  .header-bottom { grid-template-columns:auto minmax(0,1fr);gap:0 8px; }
  .automation-line { display:contents; }
  .automation-line > span { grid-column:1/-1;font-size:.75rem;line-height:1.5;color:var(--muted); }
  .header-bottom .section-links { gap:8px; }
  .automation-line .text-button { min-height:44px;margin:0;font-size:.75rem; }
  .header-status { text-align:left; }
  .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: 8px; }
  .kpi-card { padding:12px;gap:2px; }
  .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, 1fr); }
  .segmented-control { width: 100%; flex-wrap: nowrap; padding: 2px; gap: 0; }
  .segmented-control button { flex: 1; min-width:44px; padding: 6px 3px; font-size: .8125rem; }
  .explorer-heading { gap:4px; }
  .inspection-toolbar { gap: 0 8px; margin:4px 0; }
  .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 (max-width: 340px) {
  .chart-controls { grid-template-columns: minmax(0, 1fr); }
  .hero__utilities { flex-direction:column;align-items:stretch;gap:4px; }
  .header-bottom { grid-template-columns:minmax(0,1fr); }
  .automation-line .text-button { justify-self:start; }
  .header-bottom .section-links { justify-content:flex-start;gap:20px; }
  .header-bottom .section-links a { font-size:.75rem; }
  .kpi-card:not(.signal-card) { grid-template-columns:minmax(0,1fr); }
}

@container (min-width: 851px) {
  .metrics-panel { margin-top: 16px; }
}

#signalDetails { width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 24px; border: 1px solid var(--border); border-radius: 16px; color: var(--text); background: var(--bg-card); overflow-y: auto; overscroll-behavior: contain; overflow-wrap: anywhere; }
#signalDetails::backdrop { background: rgba(19,34,56,.48); }
@media (max-width: 540px) { #signalDetails { padding: 16px; max-height: calc(100dvh - 24px); } }
