.platform-nav { display:flex; gap:4px; padding:10px max(16px, 3%); background:var(--surface); border-bottom:1px solid var(--line); overflow-x:auto; position:sticky; top:var(--platform-header-height,68px); z-index:19; }
.guide-button { flex:none; min-height:38px; padding:8px 12px; border:1px solid #60766b; border-radius:4px; background:transparent; color:#fff; font:inherit; font-size:13px; white-space:nowrap; cursor:pointer; }
.guide-button:hover { background:#344b40; }
.guide-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(max-width:700px) { .app-header { flex-wrap:wrap; gap:12px; } .header-context { flex-wrap:wrap; } }
.platform-nav button { flex:none; padding:10px 15px; background:none; border:0; border-bottom:3px solid transparent; color:var(--muted); font-weight:600; border-radius:0; }
.platform-nav button[aria-selected="true"] { color:var(--green); border-color:var(--green); background:var(--green-soft); }
.platform-nav button:last-child { margin-left:auto; border-left:1px solid var(--line); }
.workflow-energy { grid-template-columns:minmax(0,1fr); }
.control-panel[hidden] { display:none !important; }
#plantEdit[hidden] { display:none !important; }
.dashboard-shell:not([data-workflow-view="config"]) #topologyEditor,
.dashboard-shell:not([data-workflow-view="config"]) #topologyToolbar { display:none !important; }
.platform-speed { display:flex; align-items:center; gap:12px; margin:16px 0; font-size:13px; }
.platform-speed select { min-height:36px; border:1px solid var(--line-strong); padding:6px 10px; background:var(--surface); }
.platform-tools [role="tab"][aria-selected="true"] { color:var(--green); border-color:var(--green); background:var(--green-soft); }
.dashboard-shell[data-workflow-view="market"] .charts-grid,
.dashboard-shell[data-workflow-view="results"] .intelligence-grid,
.dashboard-shell[data-workflow-view="market"][data-market-view="weather"] .intelligence-grid { grid-template-columns:minmax(0,1fr); }
[data-platform-hidden="true"] { display:none !important; }
.platform-view { min-width:0; padding:24px 0 40px; }
.platform-view[hidden] { display:none; }
.platform-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.platform-heading h2 { font-size:24px; margin:6px 0; font-weight:650; }
.platform-heading p { margin:8px 0 0; color:var(--muted); font-size:13px; }
.platform-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.platform-view button { min-height:36px; border:1px solid var(--line-strong); border-radius:4px; padding:7px 12px; background:white; font-size:13px; }
.platform-view button.primary { color:white; background:var(--green); border-color:var(--green); }
.platform-view button:disabled { opacity:.45; cursor:not-allowed; }
.platform-view button[hidden] { display:none !important; }
.workflow-cooling-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:18px 0; }
.workflow-cooling-values dt { font-size:12px; color:var(--muted); }
.workflow-cooling-values dd { margin:6px 0 0; font-size:18px; overflow-wrap:anywhere; }
@media(max-width:700px) { .workflow-cooling-values { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.settings-mode { display:flex; gap:12px; align-items:center; font-size:13px; }
.settings-recommendation { padding:12px 0; font-size:12px; line-height:1.7; }
.settings-recommendation p { margin:4px 0; }
.settings-recommendation ul { margin:4px 0; padding-left:20px; color:var(--amber); }
#settingsForm input[readonly] { background:var(--surface-muted); color:var(--muted); }
#settingRecommendationRetry[hidden] { display:none !important; }
.platform-view button.danger { color:var(--red); }
.platform-view button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; vertical-align:middle; }
.platform-view h3 { font-size:16px; font-weight:650; margin:0 0 18px; }
.platform-section { padding:24px 0; border-bottom:1px solid var(--line); min-width:0; }
.platform-section:last-child { border-bottom:0; }
.platform-split { display:grid; grid-template-columns:minmax(260px, 340px) minmax(0, 1fr); gap:30px; }
.platform-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:end; }
.platform-fields.one { grid-template-columns:minmax(0,1fr); }
.platform-fields label { font-size:12px; color:var(--muted); display:flex; flex-direction:column; gap:7px; min-width:0; }
.platform-fields input,.platform-fields select,.platform-fields textarea { border:1px solid var(--line-strong); background:var(--surface); border-radius:4px; min-width:0; width:100%; min-height:38px; padding:8px 10px; font:inherit; font-size:13px; color:var(--ink); }
.platform-fields textarea { min-height:90px; resize:vertical; }
.platform-fields input[type="range"] { padding:0; border:0; background:transparent; accent-color:var(--green); min-height:32px; cursor:pointer; }
.workflow-cooling-scale { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; font-size:11px; }
.workflow-cooling-scale span:nth-child(2) { text-align:center; }
.workflow-cooling-scale span:last-child { text-align:right; }
.platform-fields .wide { grid-column:1 / -1; }
.platform-form-footer { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.platform-fields.dispatch-form { display:block; }
.dispatch-settings-fields { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:16px; }
.dispatch-setup { padding-bottom:28px; border-bottom:1px solid var(--line); }
.dispatch-actions { padding-top:28px; }
.dispatch-action { display:grid; grid-template-columns:160px minmax(0,1fr); gap:24px; padding:24px 0; border-top:1px solid var(--line); }
.dispatch-action-heading { display:flex; align-items:baseline; gap:12px; }
.dispatch-action-number { font-size:13px; font-weight:650; color:var(--blue); }
.dispatch-action-compute .dispatch-action-number { color:var(--green); }
.dispatch-action-cooling .dispatch-action-number { color:var(--amber); }
.dispatch-action h4 { margin:0; font-size:17px; line-height:1.5; }
.dispatch-action-controls { min-width:0; }
.dispatch-action-controls label[hidden] { display:none; }
.dispatch-trade-summary { display:block; font-size:26px; line-height:1.4; font-weight:600; margin-bottom:14px; overflow-wrap:anywhere; }
.dispatch-action-trade input { max-width:360px; font-size:20px; min-height:46px; }
.dispatch-compute-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.platform-fields .dispatch-compute-option { display:flex; flex-direction:row; align-items:flex-start; gap:9px; padding:14px 12px; border:1px solid var(--line-strong); border-radius:4px; cursor:pointer; min-height:94px; box-sizing:border-box; background:var(--surface); }
.dispatch-compute-option[data-selected="true"] { border-color:var(--green); background:var(--green-soft); box-shadow:inset 0 0 0 1px var(--green); }
.dispatch-compute-option[data-disabled="true"] { opacity:.5; cursor:not-allowed; }
.dispatch-compute-option:focus-within { outline:2px solid var(--green); outline-offset:3px; }
.platform-fields .dispatch-compute-option input { flex:0 0 16px; width:16px; min-height:16px; height:16px; margin:2px 0 0; padding:0; accent-color:var(--green); }
.dispatch-compute-option strong { display:block; color:var(--ink); font-size:14px; line-height:1.5; }
.dispatch-compute-option small { display:block; font-size:12px; line-height:1.6; margin-top:5px; }
.dispatch-compute-help { line-height:1.8; margin:14px 0 8px; color:var(--ink); }
.dispatch-action-cooling input[type="range"] { appearance:none; -webkit-appearance:none; height:44px; min-height:44px; margin:8px 0 0; background:transparent; }
.dispatch-action-cooling input[type="range"]::-webkit-slider-runnable-track { height:12px; border:1px solid #798593; border-radius:6px; background:linear-gradient(to right,#d83b3b 0%,#ee9991 30%,#e3e8ed 50%,#79b8ee 70%,#176bd0 100%); }
.dispatch-action-cooling input[type="range"]::-moz-range-track { height:12px; border:1px solid #798593; border-radius:6px; background:linear-gradient(to right,#d83b3b 0%,#ee9991 30%,#e3e8ed 50%,#79b8ee 70%,#176bd0 100%); }
.dispatch-action-cooling input[type="range"]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:26px; height:26px; margin-top:-8px; border:4px solid #fff; border-radius:50%; background:#263a4b; box-shadow:0 0 0 2px #263a4b,0 2px 5px #0003; }
.dispatch-action-cooling input[type="range"]::-moz-range-thumb { width:18px; height:18px; border:4px solid #fff; border-radius:50%; background:#263a4b; box-shadow:0 0 0 2px #263a4b,0 2px 5px #0003; }
.dispatch-action-cooling input[type="range"]:focus-visible { outline:2px solid #176bd0; outline-offset:4px; }
.dispatch-action-cooling input[type="range"]:disabled { opacity:.65; cursor:not-allowed; }
.dispatch-action-cooling .workflow-cooling-scale { font-size:13px; font-weight:600; }
.dispatch-action-cooling .workflow-cooling-scale span:first-child { color:#b62626; }
.dispatch-action-cooling .workflow-cooling-scale span:last-child { color:#145dab; }
.dispatch-action .workflow-cooling-intensity { font-size:16px; color:var(--ink); }
.dispatch-cooling-state[data-alarm="alarm"] { color:var(--red); }
.dispatch-cooling-state[data-alarm="warning"] { color:var(--amber); }
.dispatch-form > .platform-form-footer { border-top:1px solid var(--line); padding-top:24px; justify-content:flex-end; }
.dispatch-form > .platform-form-footer .platform-note { order:-1; margin-right:auto; }
.dispatch-form > .platform-form-footer button { min-width:160px; min-height:44px; font-size:15px; }
@media(max-width:1050px) { .dispatch-settings-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .dispatch-action { grid-template-columns:120px minmax(0,1fr); gap:16px; } .dispatch-compute-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .dispatch-action { grid-template-columns:minmax(0,1fr); gap:16px; } .dispatch-settings-fields { grid-template-columns:minmax(0,1fr); } .dispatch-trade-summary { font-size:23px; } .platform-fields .dispatch-compute-option { padding:12px 10px; } }
.platform-table-scroll { overflow-x:auto; width:100%; }
.platform-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.platform-table th { background:var(--surface-muted); color:var(--muted); font-weight:500; white-space:nowrap; padding:12px; }
.platform-table td { padding:14px 12px; border-bottom:1px solid var(--line); vertical-align:top; min-width:90px; overflow-wrap:anywhere; }
.platform-table td:last-child { min-width:130px; }
.platform-table .platform-tools { gap:5px; }
.platform-table small { display:block; color:var(--muted); margin-top:5px; }
.platform-empty { padding:35px 15px; text-align:center; font-size:13px; color:var(--muted); border-bottom:1px solid var(--line); }
.platform-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:24px 0; border-bottom:1px solid var(--line); }
.platform-kpi { border-left:2px solid var(--line); padding:0 18px; min-width:0; }
.platform-kpi:first-child { border-color:var(--green); }
.platform-kpi:nth-child(2) { border-color:var(--blue); }
.platform-kpi:nth-child(3) { border-color:var(--amber); }
.platform-kpi span { display:block; color:var(--muted); font-size:12px; }
.platform-kpi strong { display:block; font-size:24px; font-weight:600; margin:8px 0; overflow-wrap:anywhere; }
.platform-kpi small { color:var(--muted); font-size:11px; }
.platform-note { font-size:12px; color:var(--muted); line-height:1.8; }
.platform-status { display:inline-block; padding:3px 7px; font-size:11px; background:var(--blue-soft); color:var(--blue); border-radius:3px; }
.platform-status.warning { color:var(--amber); background:var(--amber-soft); }
.platform-status.error { color:var(--red); background:var(--red-soft); }
.platform-status.success { color:var(--green); background:var(--green-soft); }
.platform-error { padding:12px; border-left:3px solid var(--red); background:var(--red-soft); color:var(--red); font-size:13px; }
.platform-chart { display:flex; align-items:flex-end; gap:4px; height:180px; padding:12px 0 24px; border-bottom:1px solid var(--line); }
.platform-year { flex:1; min-width:0; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; position:relative; }
.platform-year i { display:block; width:75%; background:var(--green); min-height:2px; max-height:100%; }
.platform-year.negative i { background:var(--red); }
.platform-year span { position:absolute; bottom:-20px; font-size:10px; }
.platform-check { display:flex; align-items:center; gap:8px; font-size:13px; }
.platform-check input { width:16px; height:16px; }
.platform-weights { display:flex; flex-wrap:wrap; gap:16px; }
.platform-weights label { width:140px; }
.platform-meter { height:8px; width:120px; max-width:100%; background:var(--line); margin-top:8px; }
.platform-meter i { display:block; background:var(--green); height:100%; }
.platform-json { overflow:auto; max-height:240px; background:var(--surface-muted); padding:12px; font-size:12px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.platform-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 25px; }
.platform-module { border-top:2px solid var(--line); padding:16px 0; }
.platform-module strong { font-size:14px; }
.platform-module p { font-size:12px; color:var(--muted); line-height:1.8; }
@media(max-width:950px) { .platform-split { grid-template-columns:minmax(0,1fr); gap:0; } .platform-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; } .platform-modules { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .platform-heading { flex-direction:column; gap:12px; } .platform-heading h2 { font-size:21px; } .platform-fields { grid-template-columns:minmax(0,1fr); } .platform-kpi { padding:0 10px; } .platform-kpi strong { font-size:20px; } .platform-nav { padding:8px; } .platform-nav button { padding:8px 10px; font-size:13px; } .platform-modules { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .platform-view * { animation:none !important; transition:none !important; } }
