.history-heading{margin:0 0 18px}.history-heading h1{font-size:26px;font-weight:500;margin:0 0 5px}.history-heading p{color:var(--ink-2);margin:0;max-width:75ch}.explore-path{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0}.explore-path a,.explore-path select{font:13px var(--sans);background:var(--field);border:1px solid var(--line-field);color:var(--ink);padding:8px 10px;text-decoration:none;max-width:100%}.explore-path a:hover{border-color:var(--accent)}.history-views{display:flex;gap:0;border-bottom:1px solid var(--line-field);margin:20px 0}.history-views button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--ink-2);font:14px var(--sans);padding:12px 15px;cursor:pointer}.history-views button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}.history-views button:focus-visible,.component-column:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body[data-history-view=profile] #tiles,body[data-history-view=profile] #series,body[data-history-view=profile] #dist,body[data-history-view=profile] #hourlyAnalysis,body[data-history-view=profile] #componentsTime,body[data-history-view=profile] #status,body[data-history-view=profile] #hourlyAvailability{display:none!important}
body[data-history-view=profile] #grainPickWrap,body[data-history-view=profile] #componentWrap,body[data-history-view=profile] #hourlyCompareWrap,body[data-history-view=profile] #seriesWrap{display:none!important}.profile-status{min-height:22px;color:var(--ink-2)}.profile-coverage{border-left:2px solid var(--accent);padding:10px 14px;background:var(--bar);font-size:13px;color:var(--ink-2);margin:15px 0}.profile-coverage strong{color:var(--ink);font-weight:500}.component-intro{font-size:13px;color:var(--ink-2);margin:10px 0}.component-formula{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:12px 0 18px}.formula-term{position:relative;border-top:2px solid var(--piece);padding:9px 0 0;min-width:0}.formula-term span{display:block;color:var(--ink-2);font-size:12px}.formula-term strong{font:500 21px var(--mono);display:block;margin:5px 0;overflow-wrap:anywhere}.formula-term b{position:absolute;right:-15px;top:20px;font-size:17px;font-weight:400;color:var(--ink-muted)}.ene{--piece:#7ea8c9}.cng{--piece:#dca66c}.per{--piece:#a899cd}.pml{--piece:#eef3f7}.component-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--ink-2);margin:10px 0 16px}.component-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;background:var(--piece)}.component-legend i.pml{height:3px;vertical-align:middle}.component-plot{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;margin-top:15px}.component-y{display:flex;flex-direction:column;justify-content:space-between;font:10px var(--mono);color:var(--ink-muted);text-align:right}.component-bars{display:flex;position:relative;height:220px;gap:2px;border-bottom:1px solid var(--line-soft)}.component-column{position:relative;flex:1;min-width:0;padding:0;border:0;cursor:pointer;background:transparent;color:inherit;touch-action:manipulation}.component-column.selected{background:#ffffff0b;outline:1px solid var(--ink-muted);outline-offset:0}.component-piece{position:absolute;display:block;left:0;right:0;background:var(--piece);pointer-events:none}.component-total{position:absolute;display:block;height:3px;left:0;right:0;background:#eef3f7;transform:translateY(50%);pointer-events:none}.component-zero{position:absolute;left:0;right:0;border-top:1px dashed var(--ink-muted)}.component-x{display:flex;justify-content:space-between;gap:15px;margin:7px 0 16px 68px;font:10px var(--mono);color:var(--ink-2)}.component-readout{padding:12px;background:var(--field);min-height:126px}.component-readout>strong{font-size:13px}.component-readout .component-formula{margin-bottom:7px}.component-readout .formula-term strong{font-size:15px}.component-readout small{color:var(--ink-2)}.component-data{margin:14px 0 4px}.component-data summary{cursor:pointer;color:var(--accent);font-size:12px;padding:6px 0}.data-scroll{overflow:auto;max-height:350px}.data-scroll table{border-collapse:collapse;font:12px var(--mono);width:100%;white-space:nowrap}.data-scroll caption{text-align:left;margin:12px 0;color:var(--ink-2)}.data-scroll th,.data-scroll td{text-align:right;border-bottom:1px solid var(--line-soft);padding:8px}.data-scroll th:first-child{text-align:left}.profile-actions{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.profile-actions button,#retryHistory{font:13px var(--sans);padding:8px 12px;border:1px solid var(--line-field);color:var(--accent);background:var(--field);cursor:pointer}.history-method{margin-top:24px;color:var(--ink-2);font-size:12px}.history-method summary{cursor:pointer;padding:8px 0}.history-method p{max-width:85ch}#nodeCatalogueLink{font-size:12px;margin-top:4px}
@media(max-width:600px){.history-heading h1{font-size:22px}.component-formula{gap:14px}.formula-term b{right:-11px;font-size:14px}.formula-term strong{font-size:16px}.formula-term span{font-size:11px}.component-readout .formula-term strong{font-size:12px}.component-bars{height:190px}.component-plot{grid-template-columns:42px minmax(0,1fr);gap:6px}.component-x{margin-left:48px}.component-readout{padding:9px}.component-legend{gap:6px 12px}.history-views button{padding:11px;font-size:13px}.explore-path{gap:6px}.explore-path select{width:100%}}

@media(max-width:600px){.profile-actions button{flex:1;font-size:12px;padding:8px;min-width:0}.history-heading p{font-size:13px}.profile-coverage{font-size:12px}}
.component-insights{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 20px}.component-insights button{font:12px var(--sans);text-align:left;color:var(--ink);background:var(--field);border:1px solid var(--line-field);padding:10px;cursor:pointer;min-width:0}.component-insights span{display:block;color:var(--ink-2);font-size:11px}.component-insights strong{display:block;font:13px var(--mono);margin-top:5px}.component-insights small{font:10px var(--mono);color:var(--ink-2)}.component-insights button:focus-visible{outline:2px solid var(--accent)}
.component-y{position:relative}.component-y span{white-space:nowrap}.component-axis-zero{position:absolute;right:0;transform:translateY(50%)}.component-scrubber{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--ink-2);margin:8px 0 14px}.component-scrubber input{flex:1;min-width:0;height:28px;accent-color:var(--accent);cursor:pointer}

/* Reserve the existing shell before its controls are moved into the rail. */
body.workspace-historical:not(.workspace-ready) main>#controls{display:none}
body.workspace-historical:not(.workspace-ready) main::before{content:"";display:block;height:104px;margin-bottom:24px;border-bottom:1px solid var(--line-field)}
body[data-history-view=profile] #profilePanel[hidden]{display:block!important}
#profilePanel{min-height:640px}#profileStatus{min-height:22px}#profileCoverage{min-height:40px;box-sizing:border-box}
@media(max-width:760px){body.workspace-historical{--workspace-header-height:94px}body.workspace-historical:not(.workspace-ready)>main{margin-top:142px}body.workspace-historical:not(.workspace-ready) main::before{height:168px;margin-bottom:20px}#profileStatus{min-height:40px}#profileCoverage{min-height:70px}}

.component-column.incomplete{background:repeating-linear-gradient(135deg,transparent 0,transparent 5px,#ffffff14 5px,#ffffff14 6px)}

body[data-history-view=profile] #timelinePeriod,body[data-history-view=profile] #timelineDates{display:none!important}.profile-months{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.profile-months label{flex:1;min-width:140px;font-size:12px;color:var(--ink-2)}.profile-months label span{display:block;margin-bottom:6px}.profile-months select,.profile-months button{width:100%;box-sizing:border-box;background:var(--field);border:1px solid var(--line-field);padding:10px;color:var(--ink);font:13px var(--sans)}.profile-months button{width:auto;color:var(--accent);cursor:pointer}.profile-months button:disabled{opacity:.5;cursor:default}.profile-selection{font-size:13px;color:var(--ink-2);line-height:1.6}.profile-status{font-size:13px} @media(max-width:600px){.profile-months{gap:8px}.profile-months label{min-width:110px}.profile-months button{width:100%}}
