/* Generation and demand statistics share the site's workbench tokens. */
@import "site-shell.css";
.content { padding-block: var(--space-xl); }
.hero p { max-width: 78ch; line-height: 1.9; }
.survey-metadata { color: var(--color-muted); font-size: var(--text-sm); }
.survey-dataset { display: flex; align-items: end; flex-wrap: wrap; gap: var(--space-md); margin-block: var(--space-md); }
.survey-dataset label { flex: 1; min-width: 0; }
[data-survey-panel] label { display: grid; gap: var(--space-xs); font-weight: 500; }
[data-survey-panel] input[type="search"], [data-survey-panel] select { width: 100%; min-width: 0; min-height: 2.75rem; padding: var(--space-sm); font: inherit; color: var(--color-ink); background: var(--color-paper); border: 1px solid var(--color-rule-2); border-radius: var(--radius-input); }
[data-survey-panel] button { min-height: 2.75rem; padding: var(--space-xs) var(--space-sm); background: var(--color-paper); border: 1px solid var(--color-rule-2); border-radius: var(--radius-input); color: var(--color-accent); font: inherit; cursor: pointer; overflow-wrap: anywhere; }
[data-survey-panel] button:disabled { opacity: .5; cursor: default; }
.survey-controls { margin-block: var(--space-md); border: 1px solid var(--color-rule); padding: var(--space-md); border-radius: var(--radius-card); min-width: 0; background: var(--color-paper-2); }
.survey-controls legend { font-weight: 700; padding-inline: var(--space-xs); }
.survey-toolbar { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-md); }
.survey-picker { margin-block: var(--space-md); }
.survey-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 220px; overflow: auto; margin-top: var(--space-xs); background: var(--color-paper); border: 1px solid var(--color-rule); border-radius: var(--radius-input); }
.survey-list label { grid-template-columns: 20px minmax(0,1fr); column-gap: var(--space-xs); padding: var(--space-sm); border-bottom: 1px solid var(--color-rule); min-height: 3.5rem; cursor: pointer; overflow-wrap: anywhere; }
.survey-list small { grid-column: 2; color: var(--color-muted); }
.survey-list input, .survey-fields input { width: 18px; height: 18px; }
.survey-selection, .survey-selected { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin-block: var(--space-sm); }
.survey-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-xs); }
.survey-fields label { display: flex; align-items: center; min-height: 2.75rem; }
.survey-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: var(--space-sm); margin-block: var(--space-md); }
.survey-kpi { padding: var(--space-md); border-left: 3px solid var(--color-accent); background: var(--color-paper-2); display: grid; gap: var(--space-xs); min-width: 0; overflow-wrap: anywhere; }
.survey-kpi strong { font-size: var(--text-lg); }
.survey-kpi small, .survey-chart-card p { color: var(--color-muted); }
.survey-chart-card, .survey-table, .survey-method { padding: var(--space-md); margin-block: var(--space-md); min-width: 0; }
.survey-chart { height: 420px; position: relative; min-width: 0; }
.survey-chart canvas { max-width: 100%; }
.survey-table .table-wrap { overflow: auto; max-height: 540px; }
.survey-table table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.survey-table td, .survey-table th { padding: var(--space-sm); text-align: right; white-space: nowrap; border-bottom: 1px solid var(--color-rule); }
.survey-table th:first-child { text-align: left; }
.survey-table summary, .survey-method summary, .survey-notes summary { cursor: pointer; min-height: 2.75rem; align-content: center; font-weight: 700; }
.survey-method p, .survey-notes p { line-height: 1.9; color: var(--color-muted); overflow-wrap: anywhere; }
.survey-notes details { border-bottom: 1px solid var(--color-rule); padding-block: var(--space-xs); }
[data-survey-panel] [hidden] { display: none; }
@media(max-width: 52rem) { .survey-toolbar, .survey-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 34rem) { .survey-toolbar,.survey-fields,.survey-list { grid-template-columns: minmax(0,1fr); } .survey-chart { height: 460px; } .survey-summary { grid-template-columns: minmax(0,1fr); } }
