/* Demand page: formal annual hierarchy, visible validation and historical review lanes.
   Loaded only on page 02; research values and translations remain in their catalogs. */
body[data-page-key="02"] .annual-model-tree .node-tree-row{grid-template-columns:minmax(190px,.5fr) minmax(0,1.65fr);gap:12px;padding:10px;align-items:start}
body[data-page-key="02"] .annual-model-tree .node-tree-children{display:grid;gap:8px;margin:0 10px 10px 18px;padding-left:12px!important}
body[data-page-key="02"] .annual-model-tree .node-tree-branch.level-1{margin:0}
body[data-page-key="02"] .annual-model-tree .node-tree-branch.level-2,body[data-page-key="02"] .annual-model-tree .node-tree-leaf{border-bottom:1px solid #dce2e6}
body[data-page-key="02"] .annual-model-tree .annual-month-grid{gap:4px 8px}
body[data-page-key="02"] .annual-model-tree .annual-node-total{display:flex;align-items:baseline;line-height:1.2;margin:0 0 8px}
body[data-page-key="02"] .annual-model-tree .annual-model-legend{margin-bottom:28px;line-height:1.3}
body[data-page-key="02"] .annual-model-tree .annual-node-total strong{line-height:1.2}
body[data-page-key="02"] .annual-model-tree .tree-toggle{width:16px;flex:0 0 16px}
body[data-page-key="02"] .annual-model-tree .node-tree-title{gap:7px}
body[data-page-key="02"] .research-window>.note{margin:20px 0 18px}
body[data-page-key="02"] .research-window>.note a{margin-left:12px;white-space:nowrap}
body[data-page-key="02"] .research-window{margin-bottom:42px}
body[data-page-key="02"] .tree>.calc-node{padding:0;background:#f8fafb}
body[data-page-key="02"] .tree .calc-node>summary{padding:10px;gap:7px}
body[data-page-key="02"] .tree .calc-children{margin:0 10px 10px 18px;padding:0 0 0 12px;border-left:1px solid #cfd8df}
body[data-page-key="02"] .tree .calc-children>.calc-node{padding:0}
body[data-page-key="02"] .tree .calc-node>summary::before{width:16px;flex:0 0 16px;margin:0;font-size:10px;content:'▸'}
body[data-page-key="02"] .tree .calc-node[open]>summary::before{content:'▾'}
body[data-page-key="02"] .tree .node-value{font-size:22px}
body[data-page-key="02"] .tree .level-0>summary .node-value{color:#557da4}
body[data-page-key="02"] .tree .node-drivers{padding:8px 10px}
body[data-page-key="02"] .tree #overseas-monthly-components>div{padding:12px 0}
body[data-page-key="02"] .tree #overseas-monthly-components .calc-node{border:0;border-bottom:1px solid #dce2e6;background:#fff;padding:0}
.demand-explain{background:#f5f7f9;border-radius:3px;padding:12px;margin:0 10px 12px}
.demand-explain h4{font-size:13px;font-weight:600;margin:0 0 8px;color:#62717d}
.demand-explain .demand-equation{font-size:14px;font-weight:600;margin:0 0 8px}
.demand-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.demand-evidence-grid.storage-signals{grid-template-columns:repeat(4,minmax(0,1fr))}
.demand-evidence-item{background:#fff;border:1px solid #e5e9ec;border-radius:4px;padding:8px 10px;min-width:0}
.demand-evidence-item span,.demand-evidence-item small{display:block;color:#62717d;font-size:12px;line-height:1.5}
.demand-evidence-item strong{display:block;font-size:16px;line-height:1.5;font-weight:600}
.demand-explain .demand-boundary{font-size:12px;line-height:1.6;color:#62717d;margin:8px 0 0}
.demand-iteration{display:grid;gap:24px}
.iteration-conclusion{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px 16px;border-left:3px solid #8998a4;border-radius:3px;background:#f2f4f6;align-items:baseline}
.iteration-conclusion>span,.iteration-lane-head>span{font-size:13px;color:#62717d;font-weight:600}
.iteration-conclusion>strong{font-size:15px;line-height:1.8;font-weight:550}
.iteration-lanes{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:24px}
.iteration-lane{border:1px solid #dce2e6;border-radius:4px;min-width:0;overflow:hidden;background:#fff}
.iteration-lane-head{background:#f0f3f5;border-bottom:1px solid #e7ecef;padding:12px 16px}.iteration-lane-head>span{display:block;line-height:1.4}.iteration-lane-head h4{font-size:19px;line-height:1.55;margin:2px 0 0}
.iteration-lane h4,.manufacturing-chain h4,.iteration-update h4{font-size:18px;font-weight:550;line-height:1.6;margin:4px 0 0}
.iteration-fact-row{padding:18px 16px;border-top:1px solid #e5e9ec;display:grid;gap:12px}
.iteration-fact-row:first-of-type{border-top:0}
.iteration-fact-main>span{display:block;font-size:14px;color:#62717d}
.iteration-fact-main>strong{display:block;font-size:24px;line-height:1.5;margin:4px 0;font-weight:550}
.iteration-fact-reading>b{font-size:15px;font-weight:550}
.iteration-fact-reading p{font-size:14px;line-height:1.8;color:#62717d;margin:6px 0 0}
.power-driver-wrap{padding:16px;border-top:1px solid #e5e9ec}
.power-driver-wrap>span{font-size:14px;color:#62717d}
.power-driver-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.power-driver-strip article{background:#f7f9fa;border:1px solid #e5e9ec;border-radius:3px;padding:10px;min-width:0}
.power-driver-strip span{display:block;color:#62717d;font-size:12px;line-height:1.6}
.power-driver-strip small{display:block;font-size:12px;color:#62717d;margin-top:4px}.power-driver-strip strong{font-size:16px;font-weight:550}
.power-driver-wrap>p{font-size:13px;color:#62717d;margin:10px 0 0;line-height:1.7}
.storage-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}
.storage-required-run-rate{margin:0 16px 16px;background:#f2f4f6;border-radius:3px;padding:12px;display:flex;flex-wrap:wrap;gap:8px 18px}
.storage-required-run-rate>span{flex-basis:100%;font-size:13px;color:#62717d}
.storage-required-run-rate strong{font-size:18px;font-weight:550}
.manufacturing-chain{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:24px;border:0;border-top:1px solid #dae2e6;border-bottom:1px solid #dae2e6;border-radius:0;padding:18px 0;background:#fff}
.manufacturing-chain-copy>span{font-size:14px;color:#62717d;line-height:1.7}
.manufacturing-chain-copy h4{font-size:18px;font-weight:700;line-height:1.6;margin:4px 0 6px}
.manufacturing-chain-copy p{font-size:14px;color:#62717d;line-height:1.7;margin:0}
.manufacturing-chain-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:normal}
.manufacturing-chain-step{min-width:0;padding:14px;border:0;border-radius:4px;background:#f5f7f8}
.manufacturing-chain-step span,.manufacturing-chain-step small{display:block;color:#62717d;font-size:14px;line-height:1.7}
.manufacturing-chain-step strong{display:block;font-size:23px;font-weight:700;line-height:1.7;margin:3px 0}
.iteration-update{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:28px;border:0;padding:0}
.iteration-update-block>span{display:block;font-size:14px;line-height:1.7;color:#62717d}
.iteration-update-block h4{font-size:18px;font-weight:700;line-height:1.6;margin:3px 0 9px}
.belief-list{display:grid;grid-template-columns:1fr;gap:6px}
.belief-item{background:#fff;display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #dae2e6;font-size:14px;line-height:1.7;color:#62717d}
.belief-item b{color:#293847;text-align:right}
.iteration-update .iteration-actions{padding-left:17px;margin:0;font-size:14px;line-height:1.7;color:#62717d}
.iteration-update .iteration-actions li{font-size:14px;line-height:1.7}.iteration-update .iteration-actions li+li{margin-top:12px}
.iteration-update .iteration-trigger{margin:9px 0 0;padding-top:8px;border-top:1px solid #e7ecef;font-size:14px;line-height:1.7;color:#62717d}
@media(max-width:1040px){.iteration-lanes,.manufacturing-chain,.iteration-update{grid-template-columns:1fr}.demand-evidence-grid.storage-signals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body[data-page-key="02"] .annual-model-tree .node-tree-row{grid-template-columns:1fr}.iteration-conclusion{grid-template-columns:1fr}.demand-evidence-grid,.demand-evidence-grid.storage-signals,.manufacturing-chain-flow,.storage-stages{grid-template-columns:1fr}.power-driver-strip{grid-template-columns:1fr}.tree .calc-heading{flex:1 1 160px}.demand-explain{margin:0 0 10px;padding:10px}body[data-page-key="02"] .tree .calc-children{margin:0 4px 6px 4px;padding-left:5px}body[data-page-key="02"] .tree .node-value{font-size:20px}.iteration-fact-row,.power-driver-wrap{padding:14px}.iteration-conclusion{padding:12px}.manufacturing-chain{padding:18px 0}}

.iteration-lane-head h4{font-size:19px;line-height:1.55;margin:2px 0 0}

/* Original demand-page entries: two method/source rows, one review-source row and the footer. */
body[data-page-key="02"] .demand-source-row{margin-top:20px}
body[data-page-key="02"] .source-list{display:grid;gap:12px}
body[data-page-key="02"] .source-list>a{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #dae2e6;text-decoration:none}
body[data-page-key="02"] .source-list span{font-size:14px;color:#62717d}
body[data-page-key="02"] .inventory-reference{font-size:14px;line-height:1.7;color:#62717d;margin:16px 0}
body[data-page-key="02"] .page-actions{display:flex;gap:12px;align-items:center;margin:20px 0}
body[data-page-key="02"] .page-actions button{background:none;border:0;color:#55758d;font:inherit;cursor:pointer;padding:0}
body[data-page-key="02"] .demand-history-links{display:flex;gap:18px;flex-wrap:wrap}
body[data-page-key="02"] .tree .calc-node>summary::after{display:none}
body[data-page-key="02"] .tree .demand-leaf{background:#fff;border:0;border-bottom:1px solid #dce2e6;padding:0}
body[data-page-key="02"] .tree .calc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px}
body[data-page-key="02"] .tree .calc-row small{display:block;font-size:12px;line-height:1.7;color:#62717d}
body[data-page-key="02"] .demand-driver-list{display:grid;gap:8px;margin-top:12px}
body[data-page-key="02"] .demand-driver-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;border-top:1px solid #dae2e6;padding-top:8px;font-size:13px;line-height:1.7}
body[data-page-key="02"] .demand-driver-list p{margin:0;color:#62717d}
body[data-page-key="02"] .tree .calc-children>.demand-boundary{font-size:13px;color:#62717d;margin:8px 0}
@media(max-width:700px){body[data-page-key="02"] .demand-driver-list>div{grid-template-columns:1fr}body[data-page-key="02"] .tree .calc-row{flex-wrap:wrap}}

body[data-page-key="02"] .context-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
body[data-page-key="02"] .context-links>a{display:block;border:1px solid #b8cad5;border-radius:4px;color:#557da4;background:transparent;padding:8px 10px;font-size:14px;font-weight:700;line-height:1.7;text-decoration:none}
body[data-page-key="02"] .page-actions button{display:block;background:rgba(255,255,255,.65);border:1px solid #dae2e6;border-radius:9px;color:#62717d;font-size:11px;font-weight:400;line-height:1.7;padding:7px 9px;text-decoration:none}
