:root{--dt-color-canvas: #f3f2f1;--dt-color-surface: #ffffff;--dt-color-surface-muted: #faf9f8;--dt-color-sidebar: #201f1e;--dt-color-text: #201f1e;--dt-color-text-inverse: #ffffff;--dt-color-text-muted: #605e5c;--dt-color-text-subtle: #8a8886;--dt-color-border: #edebe9;--dt-color-border-strong: #c8c6c4;--dt-color-accent: #0078d4;--dt-color-accent-strong: #005a9e;--dt-color-success: #107c10;--dt-color-success-soft: #dff6dd;--dt-color-warning: #ffb900;--dt-color-warning-soft: #fff4ce;--dt-color-critical: #d13438;--dt-color-critical-soft: #fde7e9;--dt-color-purple: #5c2d91;--dt-color-future: #e1dfdd;--dt-color-price-low: #107c10;--dt-color-price-mid: #ffb900;--dt-color-price-high: #f7630c;--dt-color-price-extreme: #d13438;--dt-radius-sm: 6px;--dt-radius-md: 8px;--dt-space-1: 4px;--dt-space-2: 8px;--dt-space-3: 12px;--dt-space-4: 16px;--dt-space-5: 20px;--dt-space-6: 24px;--dt-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dt-font-weight-strong: 800;--dt-shadow-panel: 0 1px 2px rgba(0, 0, 0, .05)}*{box-sizing:border-box}body{margin:0;background:var(--dt-color-canvas);color:var(--dt-color-text);font-family:var(--dt-font-family)}button,a{font:inherit}.app-shell{min-height:100vh;background:var(--dt-color-canvas)}.topbar{align-items:center;display:flex;gap:20px;justify-content:space-between;min-height:84px;margin:0;padding:18px 24px;width:100%;color:var(--dt-color-text-inverse);background:var(--dt-color-sidebar);border-bottom:1px solid rgba(255,255,255,.14)}.brand-header{align-items:center;display:flex;gap:12px;min-width:0}.brand-mark{width:38px;height:38px;flex:0 0 auto;padding:8px;border:1px solid rgba(0,120,212,.35);border-radius:var(--dt-radius-md);object-fit:contain;background:var(--dt-color-surface)}.topbar h1,.topbar p,.brand-header span{margin:0}.topbar h1{font-size:1.3rem;letter-spacing:0;line-height:1.1}.topbar p{color:var(--dt-color-border-strong);font-size:.72rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.brand-header span{display:block;margin-top:5px;color:var(--dt-color-border-strong);font-size:.82rem;font-weight:700}.methodology a{color:var(--dt-color-accent-strong);font-weight:800;text-decoration:none}.eyebrow{color:var(--dt-color-text-muted);font-size:12px;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.workspace{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 360px;margin:0;padding:16px;width:100%}.map-stage{aspect-ratio:16 / 9;background:#202321;border:1px solid rgba(0,0,0,.15);border-radius:8px;box-shadow:0 18px 45px #0003;min-height:0;overflow:hidden}.plant-scene-shell{background:#202321;height:100%;overflow:hidden;position:relative;width:100%}.plant-scene-canvas{cursor:grab;display:block;height:100%;outline:none;width:100%}.plant-scene-toolbar{left:14px;position:absolute;top:14px;z-index:14}.plant-scene-toolbar button{background:#201f1ec7;border:1px solid rgba(255,255,255,.42);border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:850;padding:8px 10px}.plant-scene-toolbar button:hover{background:#323130eb}.domain-overlay{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:13}.domain-chip{border:1px solid currentColor;border-radius:6px;color:#f8f8f4;cursor:pointer;display:grid;font-size:13px;font-weight:800;gap:2px;line-height:1.1;padding:8px 10px;pointer-events:auto;position:absolute;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.55)}.domain-chip span{color:#ffffffd1;font-size:10px;font-weight:800;text-transform:uppercase}.domain-chip.is-active{outline:3px solid rgba(255,255,255,.78)}.domain-chip-production{background:#7a2f28c7;left:37%;top:38%}.domain-chip-sales{background:#0078d4bd;left:61%;top:54%}.domain-chip-energy{background:#107c10bd;left:16%;top:31%}.domain-chip-logistics{background:#c28a00cc;left:48%;top:70%}.scene-label{background:#201f1eb8;border-radius:4px;color:#fff;font-size:11px;font-weight:800;padding:4px 6px;pointer-events:none;position:absolute;z-index:9}.scene-label-plant{left:36%;top:58%}.scene-label-quarry{right:21%;top:16%}.scene-label-a{left:23%;top:65%}.scene-label-b{left:68%;top:68%}.scene-silo-hit-layer{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:11}.scene-silo-hit{background:transparent;border:0;border-radius:999px;cursor:pointer;height:50px;margin-left:-25px;margin-top:-25px;padding:0;pointer-events:auto;position:absolute;width:50px}.scene-silo-hit:focus{outline:none}.plant-map{background:linear-gradient(32deg,rgba(255,255,255,.08) 0 2px,transparent 2px 28px),linear-gradient(150deg,#6b6f63,#4f554e 30%,#8c877c 56%,#535a51);filter:saturate(.55);height:100%;overflow:hidden;position:relative;transform:skewY(-3deg)}.terrain,.plant-body,.road,.rail-line,.rail-consist,.signal-hub,.signal-lines,.info-line,.hotspot,.silo,.map-label{position:absolute}.terrain-forest{background:repeating-linear-gradient(70deg,#243728b3 0,#243728b3 8px,#3a4835b3 8px,#3a4835b3 16px),#39483b;height:42%;left:-6%;top:-4%;transform:rotate(-6deg);width:58%}.terrain-quarry{background:radial-gradient(circle at 30% 26%,#d4c9b8,transparent 24%),radial-gradient(circle at 65% 66%,#c7bca9,transparent 30%),#bdb4a4;border:8px solid rgba(240,235,225,.5);height:34%;right:-2%;top:-2%;transform:rotate(8deg);width:30%}.terrain-yard{background:#b2aea294;border:1px solid rgba(255,255,255,.22);height:48%;left:8%;top:35%;transform:rotate(-2deg);width:78%}.road{background:#d7d3cabd;box-shadow:0 0 0 1px #3a393433;height:3%}.road-west{left:-2%;top:67%;transform:rotate(-8deg);width:88%}.road-east{right:-8%;top:38%;transform:rotate(28deg);width:42%}.rail-line{border-top:4px solid rgba(45,45,43,.62);height:1px}.rail-line-main{bottom:19%;left:7%;transform:rotate(-3deg);width:78%}.rail-line-secondary{bottom:24%;left:21%;transform:rotate(-2deg);width:42%}.rail-consist{align-items:center;bottom:24%;display:flex;gap:6px;left:28%;pointer-events:none;transform:rotate(-3deg);z-index:6}.rail-consist span{background:linear-gradient(145deg,#7c807c,#454947);border:1px solid rgba(255,255,255,.36);border-radius:3px;box-shadow:3px 4px #0000003d;display:block;height:16px;width:46px}.rail-consist .locomotive{background:linear-gradient(145deg,#626865,#303533);width:56px}.plant-body{background:linear-gradient(145deg,#898f8c,#c4c7c3);border:1px solid rgba(34,34,34,.22);box-shadow:8px 9px #2e313038}.kiln{height:10%;left:32%;top:45%;transform:rotate(-8deg);width:24%}.mill{height:16%;left:19%;top:39%;width:9%}.packing{height:15%;left:70%;top:44%;width:16%}.warehouse{height:10%;left:50%;top:37%;width:18%}.pv-field{background:repeating-linear-gradient(90deg,#2e4a48 0,#2e4a48 8px,#58706a 8px,#58706a 14px);box-shadow:5px 6px #2222222e;height:11%;left:59%;top:24%;transform:rotate(3deg);width:18%}.info-line{border-top:2px dashed currentColor;opacity:.82;pointer-events:none;transform-origin:left center}.signal-lines{height:100%;top:0;right:0;bottom:0;left:0;pointer-events:none;width:100%;z-index:5}.signal-line{fill:none;opacity:.72;stroke-dasharray:6 5;stroke-linecap:round;stroke-width:2;vector-effect:non-scaling-stroke}.sales-signal{stroke:#0078d4}.energy-signal{stroke:#107c10}.logistics-line{color:#c28a00;left:24%;top:72%;transform:rotate(-4deg);width:58%}.signal-hub{background:#201f1ed1;border:1px solid rgba(255,255,255,.42);border-radius:6px;color:#fff;font-size:10px;font-weight:850;left:27%;line-height:1.1;padding:5px 7px;text-transform:uppercase;top:35.5%;z-index:7}.signal-hub:before{background:#fff;border:3px solid #7a2f28;border-radius:999px;content:"";height:10px;left:-8px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.hotspot{border:1px solid currentColor;border-radius:6px;color:#f8f8f4;cursor:pointer;display:grid;font-size:13px;font-weight:800;gap:2px;line-height:1.1;padding:8px 10px;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:8}.hotspot span{color:#ffffffd1;font-size:10px;font-weight:800;text-transform:uppercase}.hotspot.is-active{outline:3px solid rgba(255,255,255,.78)}.production-zone{background:#7a2f28c2;left:20%;top:28%}.sales-zone{background:#0078d4b8;left:64%;top:18%}.energy-zone{background:#107c10b8;left:72%;top:9%}.logistics-zone{background:#c28a00c7;left:42%;top:68%}.silo-layer{top:0;right:0;bottom:0;left:0;position:absolute;z-index:9}.loading-silos{background:#201f1ed1;border-radius:6px;color:#fff;font-size:12px;font-weight:800;left:18%;padding:8px 10px;position:absolute;top:57%}.silo{--silo-color: #6f8fb8;--fill: 50%;background:linear-gradient(to bottom,rgba(255,255,255,.24),transparent 18%),linear-gradient(to bottom,rgba(190,190,185,.92) var(--fill),var(--silo-color) var(--fill));border:1px solid rgba(255,255,255,.62);border-radius:50% 50% 44% 44%;box-shadow:4px 8px #00000038;color:#fff;cursor:pointer;height:42px;margin-left:-21px;margin-top:-21px;padding:0;width:42px;z-index:2}.silo span{background:#201f1eb8;border-radius:4px;bottom:-20px;font-size:10px;font-weight:800;left:50%;padding:2px 4px;position:absolute;transform:translate(-50%);white-space:nowrap}.silo:hover,.silo.is-selected{outline:3px solid #ffffff;transform:translateY(-2px);z-index:5}.cluster-label{background:#201f1ec7;border:1px solid rgba(255,255,255,.42);border-radius:6px;color:#fff;display:grid;gap:2px;padding:6px 8px;position:absolute;z-index:1}.cluster-label strong{font-size:12px;line-height:1}.cluster-label span{color:#ffffffc7;font-size:10px;font-weight:800;text-transform:uppercase}.cluster-label-a{left:14%;top:65%}.cluster-label-b{left:58%;top:68%}.map-label{background:#201f1eb8;border-radius:4px;color:#fff;font-size:11px;font-weight:800;padding:4px 6px;z-index:7}.map-label-plant{left:24%;top:62%}.map-label-rail{bottom:17%;left:40%}.side-panel{display:grid;gap:12px}.guide-card,.domain-card,.data-card{background:var(--dt-color-surface);border:1px solid var(--dt-color-border);border-radius:8px;box-shadow:var(--dt-shadow-panel);padding:18px}.domain-card{border-top:6px solid currentColor}.guide-card{display:grid;gap:10px}.guide-card>span{color:var(--dt-color-text-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.guide-card ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.guide-card li{border-bottom:1px solid var(--dt-color-border);display:grid;gap:2px;padding-bottom:8px}.guide-card li:last-child{border-bottom:0;padding-bottom:0}.guide-card strong{font-size:14px}.guide-card small{color:var(--dt-color-text-muted);font-size:12px}.domain-card span,.panel-heading span{color:var(--dt-color-text-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.domain-card h2{font-size:20px;letter-spacing:0;line-height:1.2;margin:8px 0}.domain-card p,.data-card p{color:var(--dt-color-text-muted);line-height:1.45;margin:0}.domain-card-production{color:#7a2f28}.domain-card-sales{color:var(--dt-color-accent)}.domain-card-energy{color:var(--dt-color-success)}.domain-card-logistics{color:#c28a00}.panel-heading{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:16px}.panel-heading strong{font-size:32px;line-height:1}.metric-list{display:grid;gap:12px;margin:0}.metric-list div{border-bottom:1px solid var(--dt-color-border);padding-bottom:10px}.metric-list dt{color:var(--dt-color-text-muted);font-size:12px;font-weight:800;margin-bottom:4px;text-transform:uppercase}.metric-list dd{font-size:18px;font-weight:800;margin:0}.fill-meter{background:var(--dt-color-surface-muted);border-radius:999px;height:12px;margin-top:18px;overflow:hidden}.fill-meter span{display:block;height:100%}.muted{margin-top:12px}.error-card{border-color:var(--dt-color-critical);color:var(--dt-color-critical)}.methodology{background:var(--dt-color-surface);color:var(--dt-color-text);margin:0 auto;max-width:840px;min-height:100vh;padding:40px 24px}.methodology h1{font-size:36px;letter-spacing:0}.methodology h2{font-size:20px}.methodology p{color:var(--dt-color-text-muted);line-height:1.6}.methodology code{background:var(--dt-color-surface-muted);border:1px solid var(--dt-color-border);border-radius:4px;padding:2px 4px}@media (max-width: 1420px){.topbar{align-items:center;flex-direction:row}.workspace{grid-template-columns:1fr}.map-stage{min-height:420px}}@media (max-width: 720px){.app-shell{padding:0}.topbar h1{font-size:1.05rem}.topbar{padding:14px}.brand-header span{font-size:.76rem}.workspace{padding:14px}.map-stage{min-height:360px}.silo{height:38px;margin-left:-19px;margin-top:-19px;width:38px}}
