:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#070f1b;color:#f4f9ff}
.charging-workspace{padding:24px;border:1px solid #41687d;border-radius:18px;background:#0d2231}.charging-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}.charging-form label{display:grid;gap:8px;font-size:13px;min-width:0}.charging-form select,.charging-form input{width:100%;min-width:0;min-height:46px;padding:11px;border:1px solid #758f9e;border-radius:10px;background:#071621;color:#f4f9ff}.charging-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.charging-metric{padding:18px;border:1px solid #41687d;border-radius:12px;overflow-wrap:anywhere}.charging-metric strong{display:block;font-size:26px;margin:9px 0}.charging-metric span{font-size:12px;color:#b2c8d7}#chargingSave:disabled{opacity:.5;cursor:default}html[data-theme=light] .charging-workspace{background:#fff;color:#132637}html[data-theme=light] .charging-form select,html[data-theme=light] .charging-form input{background:#fff;color:#132637}html[data-theme=light] .charging-metric span{color:#3d596b}@media(max-width:600px){.charging-form,.charging-result{grid-template-columns:1fr}.charging-workspace{padding:16px}}
.family-controls{display:flex;gap:16px;flex-wrap:wrap}.family-controls label{display:grid;gap:8px;flex:1;min-width:200px;font-size:13px}.family-controls input,.family-controls select,.accounting-view input{min-height:46px;min-width:0;width:100%;border:1px solid #486271;border-radius:10px;padding:11px;background:#0a1d2a;color:#f4f9ff}.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:70vh;min-height:260px;overflow:auto;overscroll-behavior:contain;padding:2px 4px 8px 2px}.family-card{padding:20px;border:1px solid #315362;border-radius:16px;background:linear-gradient(140deg,#13293a,#0a1d2a);min-width:0;overflow-wrap:anywhere}.family-card h3{margin:9px 0;font-size:20px}.family-state{color:#e6bd6a;font-size:12px;font-weight:750}.family-owner,.family-card small{color:#b2c8d7;font-size:12px}.family-card details p{font-size:12px;line-height:1.5}.accounting-view{border:1px solid #496174;border-radius:16px;margin-top:22px;padding:20px}.accounting-view summary{font-size:18px;font-weight:750;cursor:pointer;min-height:44px}.accounting-view>p{color:#b2c8d7;line-height:1.6}.accounting-view form{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:14px}.accounting-view label{display:grid;gap:8px;font-size:13px}.family-workspace{margin-top:34px!important}html[data-theme=light]{color-scheme:light;background:#edf3f8;color:#132637}html[data-theme=light] body{background:radial-gradient(ellipse at 90% 0,#c9e5ef,transparent 45%),#edf3f8}html[data-theme=light] .masthead,html[data-theme=light] .control,html[data-theme=light] .stats div,html[data-theme=light] .timeline li,html[data-theme=light] .stage,html[data-theme=light] .family-card{background:#fff;color:#132637;border-color:#adbecb}html[data-theme=light] a,html[data-theme=light] .masthead nav a,html[data-theme=light] .brand small{color:#205879}html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] .stats strong,html[data-theme=light] .reference strong{color:#132637}html[data-theme=light] .lead,html[data-theme=light] .section-head>p,html[data-theme=light] .basis,html[data-theme=light] .family-owner,html[data-theme=light] .family-card small,html[data-theme=light] .stage p,html[data-theme=light] .accounting-view>p,html[data-theme=light] .stats span,html[data-theme=light] footer,html[data-theme=light] .control small,html[data-theme=light] .summary p:not(.eyebrow){color:#3d596b}html[data-theme=light] .eyebrow,html[data-theme=light] th,html[data-theme=light] .status{color:#14617c}html[data-theme=light] input,html[data-theme=light] select,html[data-theme=light] #scenarioForm input{background:#fff;color:#132637;border-color:#758f9e}html[data-theme=light] .family-state{color:#81530c}@media(max-width:1000px){.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-view form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.family-grid{grid-template-columns:1fr;max-height:72vh}.accounting-view form{grid-template-columns:1fr}}
.brand-logo{width:96px;height:55px;object-fit:contain;background:white;border-radius:8px}.temporal-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.temporal-controls input{min-width:180px;flex:1;min-height:44px}.basis{overflow-wrap:anywhere;color:#b2c8d7;font-size:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}caption{text-align:left;color:#b2c8d7;padding:16px 0}th,td{padding:14px;border-bottom:1px solid #315362;overflow-wrap:anywhere}th{color:#8fe7ed}#milesFacts{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}button{min-height:44px}[hidden]{display:none!important}
.source-panel{margin:20px 0;padding:20px;border:1px solid #41687d;border-radius:14px;background:#0d2231}.source-panel summary{cursor:pointer;font-weight:750;min-height:44px;padding:10px 0}.source-panel>p{line-height:1.6}.source-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:65vh;overflow:auto;overscroll-behavior:contain}.source-health-card{min-width:0;border:1px solid #41687d;border-radius:10px;padding:16px;overflow-wrap:anywhere}.source-health-card h3{font-size:16px;margin:0 0 10px}.source-admin{margin-top:18px;border-top:1px solid #41687d;padding-top:10px}.source-change-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.source-change-form label{display:grid;gap:8px;min-width:0;font-size:13px}.source-change-form input,.source-change-form select{width:100%;min-width:0;min-height:44px;background:#071621;color:#e6f2f7;border:1px solid #758f9e;border-radius:8px;padding:10px}.source-panel button:disabled{opacity:.55;cursor:default}html[data-theme=light] .source-panel,html[data-theme=light] .source-health-card{background:#fff;color:#132637;border-color:#758f9e}html[data-theme=light] .source-change-form input,html[data-theme=light] .source-change-form select{background:#fff;color:#132637}@media(max-width:600px){.source-health-grid,.source-change-form{grid-template-columns:1fr}.source-panel{padding:14px}}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 83% 10%,#173c53 0,transparent 31%),radial-gradient(ellipse at 16% 35%,#13233c 0,transparent 45%),#070f1b;min-height:100vh}
a{color:#c6eafa}a:hover,a:focus-visible{color:white}button{cursor:pointer;border:0;border-radius:11px;padding:12px 16px;background:#8fe7ed;color:#04131a;font-weight:760;font-size:14px}button:hover{background:#b5fcff}button:focus-visible,input:focus-visible{outline:3px solid #fed19d;outline-offset:3px}
.skip{position:absolute;left:-10000px}.skip:focus{left:1rem;top:1rem;z-index:9;background:#fff;color:#123;padding:.7rem}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px clamp(22px,5vw,90px);border-bottom:1px solid #304454;background:#081521d9}.brand{display:flex;align-items:center;gap:10px}.brand strong{letter-spacing:.16em;font-size:14px}.brand small{display:block;color:#97afbc;font-size:10px;letter-spacing:.18em;margin-top:6px}.symbol{color:#95ecef;font-size:32px}.masthead nav{display:flex;flex-wrap:wrap;gap:18px}.masthead nav a{text-decoration:none;color:#d4e1e8;font-size:13px}.tag{border:1px solid #28616b;border-radius:30px;padding:8px 12px;font-size:10px;letter-spacing:.1em;color:#a9eaf0}
main{max-width:1450px;margin:auto;padding:0 clamp(22px,5vw,90px)}.hero{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:360px;gap:30px;overflow:hidden}.hero>div:first-child{z-index:1;max-width:780px}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:800;color:#8fe7ed}.hero h1{font-size:clamp(2.6rem,5.3vw,5.4rem);line-height:1.08;letter-spacing:-.05em;margin:14px 0}.lead{max-width:690px;font-size:clamp(15px,1.7vw,18px);color:#b2c8d7;line-height:1.7}.hero-orbit{position:relative;width:320px;height:320px;flex:0 0 320px;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #63d6e7;border-radius:50%;transform:rotate(-24deg) scaleY(.55);box-shadow:0 0 50px #3dc4eb22}.o1{width:300px;height:300px}.o2{width:200px;height:200px;transform:rotate(32deg) scaleY(.75)}.core{display:grid;place-items:center;width:115px;height:115px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#5bd9e8,#185b79 65%,#0d263e);box-shadow:0 0 80px #48d5ec55;font-size:37px;font-weight:800}
.control{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:26px;background:#0e2332bb;border:1px solid #315362;border-radius:22px}.control label{display:block;margin-bottom:11px;font-size:13px;font-weight:750}.inline{display:flex;gap:9px}.inline input{min-width:0;width:100%;background:#071621;border:1px solid #486271;border-radius:10px;color:white;padding:12px 14px;font-size:14px}.inline button{white-space:nowrap}.control small{display:block;margin:10px 0 0;color:#9caeba}.status{grid-column:1/-1;margin:0;color:#91e2ee;font-size:13px}.status.error{color:#ffac9d}
.summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:48px 0 20px}.summary h2{font-size:clamp(26px,3vw,42px);margin:10px 0}.summary p:not(.eyebrow){color:#9ebac8;overflow-wrap:anywhere}.badge{padding:18px 24px;border:1px solid #e7a96e75;border-radius:15px;background:#39231766;text-align:center;min-width:200px}.badge span,.badge small{display:block;color:#d7b89a;font-size:11px;letter-spacing:.08em}.badge strong{display:block;color:#ffce93;font-size:24px;margin:8px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats div{padding:23px;border:1px solid #304d5a;border-radius:16px;background:#0d2231b0}.stats strong{display:block;font-size:35px;color:#effeff}.stats span{font-size:12px;color:#a1bcc8}.body-section{margin:62px 0}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:23px}.section-head h2{font-size:clamp(27px,3vw,42px);letter-spacing:-.03em;margin:8px 0}.section-head>p{max-width:450px;color:#a3b8c4;line-height:1.5}
.stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stage{min-width:0;padding:23px;border-radius:16px;border:1px solid #304e59;background:linear-gradient(145deg,#13293a,#0a1d2a)}.stage.linked{border-color:#377e79}.stage .number{font-size:11px;color:#77b6c7}.stage h3{font-size:18px;margin:13px 0}.stage p{font-size:12px;line-height:1.55;color:#9db7c5}.stage .state{color:#ffca8e;font-weight:750}.stage.linked .state{color:#84e2c2}.reference{border-top:1px solid #304857;margin-top:12px;padding-top:12px;overflow-wrap:anywhere;font-size:12px;color:#b4d8e1}.reference strong{display:block;color:#f4faff}.reference small{display:block;color:#9db9be}
.timeline{padding:0;list-style:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.timeline li{padding:16px 20px;border-left:3px solid #64c9d6;background:#0e2433;border-radius:0 12px 12px 0}.timeline time{display:block;color:#9abdc8;font-size:11px}.timeline strong{display:block;font-size:14px;margin:7px 0}.timeline span{font-size:12px;color:#b0cad4;overflow-wrap:anywhere}.holds{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.holds li{padding:11px 15px;border-radius:11px;border:1px solid #896c52;background:#372315;color:#ffcf9e;font-size:12px}footer{margin:50px 0;padding:25px 0;border-top:1px solid #2a4756;color:#92aab6;line-height:1.6;font-size:12px}
@media(max-width:950px){.hero-orbit{width:180px;height:180px;flex-basis:180px}.o1{width:160px;height:160px}.o2{width:110px;height:110px}.core{width:85px;height:85px}.stages{grid-template-columns:repeat(2,minmax(0,1fr))}.control{grid-template-columns:1fr}}
.planning-result{overflow-x:auto;overflow-wrap:anywhere;margin:18px 0}.planning-result strong{display:block;font-size:28px;color:inherit}.planning-result p{font-size:13px;line-height:1.7}.planning-result table{width:100%;border-collapse:collapse;min-width:300px}.planning-result th,.planning-result td{padding:12px;text-align:left;border-bottom:1px solid #426078}.planning-result h3{font-size:21px;margin:12px 0}
@media(max-width:600px){.masthead{align-items:flex-start}.hero{min-height:380px}.hero-orbit{opacity:.32;position:absolute;right:-45px;top:20px}.inline{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.stages,.timeline{grid-template-columns:1fr}.section-head,.summary{display:block}.badge{text-align:left;min-width:0;margin-top:22px}}
.temporal-controls select,#accessPurpose,#scenarioForm input{background:#0c2637;color:#e6f2f7;border:1px solid #41687d;border-radius:6px;padding:10px;max-width:100%}#spatialCanvas{display:block;width:100%;height:480px;max-height:60vh;touch-action:none;border:1px solid #41687d;border-radius:12px}#spatialCanvas[hidden]{display:none}#scenarioForm{display:grid;gap:10px;margin:24px 0;max-width:760px}#scenarioForm h3,#scenarioForm p{margin:0}#scenarioResult{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){#spatialCanvas{height:340px}}
:root .schedule-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;align-items:end;margin:18px 0}
:root .schedule-form label{display:grid;gap:8px;min-width:0}
:root #schedulePanel>label{display:grid;gap:8px;margin-top:16px}
:root .schedule-form select,:root .schedule-form textarea,:root #scheduleProject{width:100%;max-width:100%;box-sizing:border-box;min-height:44px}
:root .schedule-form textarea{min-height:86px;resize:vertical;background:#071621;color:#f4f9ff;border:1px solid #758f9e;border-radius:10px;padding:12px;font:inherit}
:root .schedule-result{display:grid;gap:10px;min-width:0;overflow-wrap:anywhere}
:root .schedule-result strong{color:#f4f9ff;font-size:1.3rem}
:root .inspection-value{display:block;font-size:clamp(1.8rem,4vw,3rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:12px 0}
:root .planning-comparison-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 12px}
:root .planning-comparison-metrics>div{padding:14px;border:1px solid #41687d;border-radius:12px;min-width:0;background:#0a1b28}
:root .planning-comparison-metrics span{display:block;color:#b2c8d7;font-size:12px;margin-bottom:8px}
:root .planning-comparison-metrics strong{display:block;overflow-wrap:anywhere;font-size:clamp(17px,2vw,26px)}
:root .planning-cash-table{min-width:280px;font-size:13px}
:root .planning-cash-table th,:root .planning-cash-table td{padding:12px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}
:root .planning-cash-table th:not(:first-child),:root .planning-cash-table td:not(:first-child){text-align:right}
html[data-theme=light] .planning-comparison-metrics>div{background:#f2f7fa;border-color:#9bb4c4}
html[data-theme=light] .planning-comparison-metrics span{color:#3d596b}
html[data-theme=light] .planning-comparison-metrics strong{background:transparent}
@media(max-width:600px){:root .planning-comparison-metrics{gap:7px}:root .planning-comparison-metrics>div{padding:12px 8px}:root .planning-cash-table{font-size:12px}}
:root .schedule-result .table-scroll{max-height:380px;overflow:auto;overscroll-behavior:contain}
:root #schedulePanel summary{min-height:44px;align-content:center}
html[data-theme=light] .schedule-result strong,html[data-theme=light] .schedule-form textarea{color:#132637;background:#fff}
html[data-theme=light] :is(#schedulePanel,#planningComparisonPanel) caption{color:#3d596b}
@media(max-width:600px){
 :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table,:is(#schedulePanel,#planningComparisonPanel) .schedule-data-table tbody{display:block;width:100%}
 :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table caption{display:block;width:100%;padding:14px 12px;overflow-wrap:normal}
 :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
 :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table tr{display:grid;grid-template-columns:minmax(0,1fr);padding:10px 0;border-bottom:1px solid #41687d}
 :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table td{display:block;padding:8px 12px;min-width:0;border:0;word-break:normal;overflow-wrap:anywhere}
 :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table td::before{content:attr(data-label);display:block;color:#b2c8d7;font-size:11px;font-weight:700;margin-bottom:5px}
 #schedulePanel .schedule-result .table-scroll{max-height:540px;border:1px solid #41687d;border-radius:12px}
 html[data-theme=light] :is(#schedulePanel,#planningComparisonPanel) .schedule-data-table td::before{color:#3d596b}
}
.dependency-result{margin-top:1rem;min-width:0}
.dependency-overview{padding:1rem 0;border-bottom:1px solid #315362;margin-bottom:1rem}
.dependency-overview h3{margin:0 0 .4rem;font-size:1.2rem}
.dependency-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-items:start}
.dependency-card{min-width:0;border:1px solid #315362;border-radius:16px;padding:1rem;background:#0d2231}
html[data-theme=light] .dependency-card{background:#fff;border-color:#9bb4c4}
.dependency-card.requires-review{border-color:#a97020}
.dependency-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.dependency-card h4{margin:0;font-size:1rem;overflow-wrap:anywhere}
.dependency-state{font-size:.8rem;line-height:1.4;flex-shrink:0;padding:.2rem .5rem;border:1px solid #758f9e;border-radius:999px}
.requires-review .dependency-state{color:#ffc66b;background:#342612}
[data-theme="light"] .requires-review .dependency-state{color:#684008;background:#fff0d8}
.dependency-card p,.dependency-card li{font-size:.9rem;line-height:1.5}
.dependency-main-reason{font-weight:650}
.dependency-unaffected{margin-top:1rem}
.dependency-unaffected>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.dependency-card summary,.dependency-unaffected>summary{justify-content:space-between;gap:.75rem}
.dependency-card summary::after,.dependency-unaffected>summary::after{content:"Show";font-size:.75rem;color:#91e2ee;font-weight:500}
.dependency-card details[open]>summary::after,.dependency-unaffected[open]>summary::after{content:"Hide"}
html[data-theme=light] .dependency-card summary::after,html[data-theme=light] .dependency-unaffected>summary::after{color:#205879}
.dependency-unaffected>summary:focus-visible{outline:3px solid #bc843a;outline-offset:3px}
.dependency-unaffected>.dependency-cards{margin-top:.7rem}
.dependency-card ul{padding-left:1.2rem}
.dependency-card details{margin-top:.75rem}
.dependency-card summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.dependency-card summary:focus-visible{outline:3px solid #bc843a;outline-offset:3px}
.dependency-card dl{font-size:.8rem}
.dependency-card dt{font-weight:650;margin-top:.5rem}
.dependency-card dd{margin:.15rem 0;overflow-wrap:anywhere;font-family:monospace}
.dependency-result>details p{overflow-wrap:anywhere}
#permitResult .dependency-card details p{overflow-wrap:anywhere}
#projectEvidenceResult p,#evidenceReviewSaved,#evidenceReviewStatus{overflow-wrap:anywhere}
@media(max-width:720px){.dependency-cards{grid-template-columns:1fr}.dependency-card-heading{display:block}.dependency-state{display:inline-block;margin-top:.5rem}}
