:root{--bg:#061522;--panel:#0a2030;--panel2:#0d2638;--line:#1b4d6a;--text:#f2f8ff;--muted:#82b7db;--blue:#29aaff;--green:#27efa0;--yellow:#ffbf3f;--red:#ff5e68}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Inter,Segoe UI,Arial,sans-serif}.app{display:grid;grid-template:70px 1fr/150px 1fr;min-height:100vh}.topbar{grid-column:1/3;display:flex;align-items:center;gap:28px;padding:0 20px;border-bottom:1px solid var(--line);background:#071927;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:260px}.logo{font-size:40px;font-weight:900;color:var(--blue)}.brand strong{font-size:23px;display:block}.brand span{font-size:10px;color:#38d6ff;letter-spacing:2px}.topnav{display:flex;gap:4px;flex:1}.topnav button,.nav,.link{background:none;border:0;color:#a8cce5;cursor:pointer}.topnav button{padding:25px 12px;border-bottom:2px solid transparent}.topnav button.active{color:#fff;border-color:var(--blue)}.topright{display:flex;align-items:center;gap:16px;font-size:12px}.overall{color:var(--green)}.overall.warn{color:var(--yellow)}.overall i{display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:7px}.env{border:1px solid var(--line);padding:7px 10px;border-radius:6px}.sidebar{position:sticky;top:70px;height:calc(100vh - 70px);border-right:1px solid var(--line);background:#071927;padding:10px 0;display:flex;flex-direction:column}.nav{text-align:left;padding:13px 18px}.nav:hover,.nav.active{background:#102d43;color:#fff;border-left:3px solid var(--blue)}.sidequote{margin-top:auto;padding:18px;color:#9bc4df;font-size:12px;line-height:1.5}.sidequote small{display:block;margin-top:8px}main{padding:12px;min-width:0}.demo-banner,.incidentbar{border:1px solid var(--line);border-radius:8px;background:#0a2233;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.demo-banner span{color:var(--muted);margin-left:10px}.demo-banner button,.primary{background:#0b3552;color:#dff3ff;border:1px solid #286387;border-radius:5px;padding:8px 13px;cursor:pointer}.incidentbar{border-color:#b17a18;background:#342a0a}.incidentbar .sev{background:#7c5510;padding:5px 8px;border-radius:4px;margin-right:10px}.incidentbar div{flex:1}.incidentbar small{display:block;color:#e9ca84;margin-top:3px}.hidden{display:none!important}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:10px}.kpi,.panel,.report-kpis>div,.metric{border:1px solid var(--line);background:var(--panel);border-radius:8px}.kpi{padding:15px}.kpi span,.kpi small{display:block;color:#a9d4ef}.kpi strong{font-size:26px;display:block;margin:7px 0}.kpi small{color:var(--green)}.panel{padding:14px;min-width:0}.panel h2{font-size:16px;margin:0 0 3px}.panel p,.panelhead p{color:var(--muted);font-size:12px;margin:0}.panelhead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.link{color:#31baff}.grid-main{display:grid;grid-template-columns:1.65fr 1fr;gap:10px}.rightstack,.middlecol,.rightcol{display:grid;gap:10px}.grid-lower{display:grid;grid-template-columns:1.15fr .95fr 1fr;gap:10px;margin-top:10px}.topology{text-align:center;padding:12px}.node{display:block;margin:auto;background:#0b273a;border:1px solid #246084;border-radius:7px;padding:12px 16px;color:#fff;min-width:165px}.node small{display:block;color:#8cc9ef;margin-top:5px}.node i,.statusdot,.evt-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px}.node.warn i,.statusdot.yellow{background:var(--yellow)}.linev{height:25px;width:2px;background:#29d6e7;margin:auto}.toporow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;border-top:1px solid #2fd2e4;padding-top:12px}.toporow .node{width:100%;min-width:0}.traffic canvas{width:100%;height:260px}.ranges button{background:#0d3048;border:1px solid #285d7c;color:#b9d9ec;padding:7px 10px}.ranges button.active{background:#12629b;color:#fff}.trafficstats,.bigstats,.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.trafficstats div,.bigstats div{background:#0c2a3e;border:1px solid #1d5576;padding:10px;border-radius:6px}.trafficstats b,.bigstats b{display:block;font-size:20px;color:#4bbcff}.trafficstats span,.bigstats span{font-size:11px;color:#8abbd9}.gauges{display:flex;justify-content:space-around}.gauge{width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--v)*1%),#17394d 0);display:grid;place-content:center;text-align:center;position:relative}.gauge:after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--panel)}.gauge>*{z-index:1}.gauge span,.gauge small{display:block}.gauge small{color:var(--muted);font-size:10px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid #1a4560;padding:8px 6px}th{color:#8dc8ee;font-weight:500}.statusdot.gray{background:#8499a8}.statusdot.red{background:var(--red)}.cellsub{display:block;color:var(--muted);margin-top:3px}.eventrow{display:grid;grid-template-columns:85px 120px 1fr;gap:8px;border-bottom:1px solid #1a4560;padding:8px 4px;font-size:11px}.evt-dot.alert{background:var(--red)}.evt-dot.change{background:var(--yellow)}.evt-dot.recovery{background:var(--green)}.successbox{border:1px solid #168b68;background:#073b31;padding:12px;border-radius:6px;margin-bottom:10px}.successbox.warning{border-color:#a87912;background:#352b0c}.successbox b,.successbox span{display:block}.successbox b{color:var(--green);font-size:16px}.successbox.warning b{color:var(--yellow)}.successbox span{font-size:11px;color:#b6e3d5;margin-top:6px}dl{margin:0}dl div{display:flex;justify-content:space-between;border-bottom:1px solid #1a4560;padding:7px 0;font-size:11px}dd{font-weight:bold}.servicecard{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid #1a4560}.servicecard b,.servicecard span,.servicecard small{display:block}.servicecard small{color:var(--muted);font-size:10px;margin-top:3px}.svcicon{font-size:25px;color:var(--blue)}.pill{background:#075b43;color:#36f1ae;border-radius:15px;padding:5px 10px;font-size:10px}.pill.standby{background:#273b4b;color:#d2e0ea}.pill.warn{background:#6b4b08;color:#ffd263}.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.security-item{border:1px solid #1c5272;padding:8px;border-radius:5px}.security-item b,.security-item span{display:block;font-size:10px}.security-item span{color:var(--green)}.security-item span.bad{color:var(--red)}.pagehead{display:flex;gap:14px;align-items:end;margin:8px 0 14px;padding:8px 4px}.pagehead>div:first-child{flex:1}.pagehead>div>span{font-size:10px;letter-spacing:2px;color:#48c3ff}.pagehead h1{font-size:30px;margin:5px 0}.pagehead p{color:var(--muted);margin:0}.metric{padding:10px 18px;min-width:130px}.metric b,.metric span{display:block}.metric b{font-size:20px}.metric span{color:var(--muted);font-size:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.checklist{display:grid;gap:10px;color:#b8d8eb;margin-top:14px}.checklist span{border-bottom:1px solid #173f58;padding-bottom:9px}.flow{padding:16px;background:#081a27;border:1px solid #1b4d6a;border-radius:6px;margin:15px 0;color:#9fd7f7}.flow i{color:var(--green);margin:0 10px}.service-hero{display:flex;align-items:center;gap:15px;margin:18px 0}.service-hero b{font-size:30px}.service-hero small{color:var(--muted)}.state-model{display:grid;gap:8px}.state-model div{padding:12px;border:1px solid #245a78;border-radius:6px}.state-model span{display:block;color:var(--muted);margin-top:4px}.state-model i{text-align:center;color:var(--green)}.policy{display:grid;gap:10px}.policy div{border-left:3px solid var(--blue);padding:10px;background:#081d2b}.policy b,.policy span{display:block}.policy span{color:var(--muted);margin-top:4px}.report-kpis{grid-template-columns:repeat(6,1fr);margin-bottom:10px}.report-kpis>div{padding:16px}.report-kpis b,.report-kpis span{display:block}.report-kpis b{font-size:23px}.report-kpis span{font-size:10px;color:var(--muted)}.bars label{display:block;margin:15px 0;color:#cce6f5}.bars label span{float:right}.bars i{display:block;height:8px;background:linear-gradient(90deg,var(--blue) var(--w),#17394d var(--w));border-radius:5px;margin-top:7px}.modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;z-index:50}.modalbox{width:min(720px,92vw);background:#092031;border:1px solid #2b6587;border-radius:9px;padding:18px}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scenario-grid button{background:#0c2b40;border:1px solid #245f82;color:#fff;padding:16px;text-align:left;border-radius:6px;cursor:pointer}.scenario-grid b,.scenario-grid span{display:block}.scenario-grid span{color:var(--muted);font-size:11px;margin-top:4px}.toast{position:fixed;right:20px;bottom:20px;background:#0d3852;border:1px solid #2b7ba7;padding:12px 16px;border-radius:6px;opacity:0;transform:translateY(10px);transition:.2s;z-index:60}.toast.show{opacity:1;transform:none}.toast.warn{border-color:#b17a18;background:#392d0c}@media(max-width:1100px){.app{grid-template-columns:70px 1fr}.sidebar span,.sidequote{display:none}.brand{min-width:auto}.topnav{display:none}.kpis{grid-template-columns:repeat(3,1fr)}.grid-main,.grid-lower,.two-col,.three-col{grid-template-columns:1fr}.toporow{grid-template-columns:1fr 1fr}.report-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.topright #clock{display:none}.kpis,.report-kpis{grid-template-columns:1fr 1fr}.toporow{grid-template-columns:1fr}.demo-banner span{display:none}.trafficstats,.bigstats{grid-template-columns:1fr 1fr}.eventrow{grid-template-columns:70px 90px 1fr}.scenario-grid{grid-template-columns:1fr}}

/* V4 review refinements: compact topology, fitted cards, classic traffic presentation */
.grid-lower{align-items:start}
.grid-lower>.panel,.grid-lower>.middlecol,.grid-lower>.rightcol{align-self:start}
.service-status{height:auto;min-height:0}
.architecture .topology{padding:8px 4px 4px}
.architecture .topology>.node{width:190px;min-width:190px;padding:10px 14px}
.architecture .topology>.linev{height:27px}
.architecture .toporow{max-width:100%;margin:0 auto;gap:10px}
.architecture .toporow .node{padding:10px 8px;min-height:72px}
.traffic canvas{height:235px}
@media(max-width:1100px){.architecture .topology>.node{width:180px;min-width:180px}}

.sidequote.principles{letter-spacing:.06em}.sidequote.principles small{margin:0 0 10px;color:#48c3ff;font-size:9px;letter-spacing:.16em}.sidequote.principles strong{display:block;color:#9bc4df;font-size:10px;line-height:1.8;font-weight:600}
/* UX pass: executive KPI strip */
.kpis{gap:10px;margin-bottom:10px}
.kpi{position:relative;min-height:104px;padding:13px 12px 11px 58px;overflow:hidden;background:linear-gradient(135deg,#0b2233 0%,#091d2c 62%,#0a2131 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.kpi:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(41,170,255,.025),transparent 38%)}
.kpi-icon{position:absolute;left:12px;top:15px;width:35px;height:35px;border-radius:7px;display:grid;place-items:center;font-size:22px;font-weight:700;color:#2eb5ff;background:rgba(24,116,171,.12);box-shadow:0 0 20px rgba(41,170,255,.08);z-index:2}
.kpi-icon.security{color:var(--green);background:rgba(39,239,160,.08);box-shadow:0 0 20px rgba(39,239,160,.07)}
.kpi-icon.incidents{color:#8fc8ec}
.kpi-copy{position:relative;z-index:2}
.kpi span{font-size:12px;color:#b3cde0;white-space:nowrap}
.kpi strong{font-size:25px;line-height:1.05;margin:5px 0 5px;letter-spacing:-.4px}
.kpi small{font-size:11px;color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.kpi.clients small,.kpi.incidents small{color:#a9c8dc}
.kpi.security strong{font-size:20px;letter-spacing:.2px;margin-top:8px}
.kpi-alert{border-color:#a9741c;background:linear-gradient(135deg,#2b240d,#161d20 70%)}
.kpi-alert .kpi-icon,.kpi-alert small{color:var(--yellow)}
.spark{position:absolute;right:8px;bottom:6px;width:47%;height:32px;z-index:1;opacity:.92;overflow:visible}
.spark path{fill:none;stroke:var(--green);stroke-width:1.8;vector-effect:non-scaling-stroke}
.spark .spark-glow{stroke-width:5;opacity:.08}
.kpi.network .spark path,.kpi.platform .spark path,.kpi.automation .spark path{stroke:#25e9a0}
.kpi-alert .spark path{stroke:var(--yellow)}
@media(max-width:1400px){.kpi{padding-left:50px}.kpi-icon{left:9px;width:32px;height:32px}.kpi strong{font-size:22px}.kpi span{font-size:11px}}
/* KPI reference-match pass: compact, dense, concept-image proportions */
.kpis{gap:9px;margin-bottom:10px}
.kpi{height:82px;min-height:82px;padding:9px 8px 7px 56px;border-radius:5px;background:linear-gradient(112deg,#0d2232 0%,#0a1c2a 68%,#091a27 100%);border-color:#173f59;box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 4px 14px rgba(0,0,0,.08)}
.kpi:after{background:radial-gradient(circle at 18% 45%,rgba(35,157,235,.06),transparent 30%)}
.kpi-icon{left:11px;top:13px;width:36px;height:36px;border-radius:5px;font-size:20px;color:#2caeff;background:linear-gradient(145deg,rgba(25,102,151,.18),rgba(10,45,69,.08));box-shadow:0 0 16px rgba(38,164,239,.10)}
.kpi-copy{height:100%}
.kpi span{font-size:10px;line-height:1.1;color:#a9c4d8}
.kpi strong{font-size:20px;line-height:1;margin:4px 0 4px;letter-spacing:-.25px;font-weight:650}
.kpi small{font-size:9.5px;line-height:1.1}
.kpi.security strong{font-size:17px;margin-top:5px;margin-bottom:5px}
.spark{right:7px;bottom:5px;width:59%;height:20px;opacity:.9}
.spark path{stroke-width:1.15}
.spark .spark-glow{stroke-width:3.5;opacity:.06}
@media(max-width:1400px){.kpi{height:82px;min-height:82px;padding-left:52px}.kpi-icon{left:9px;top:13px;width:34px;height:34px}.kpi strong{font-size:19px}.kpi span{font-size:9.5px}}
/* KPI concept-image fidelity pass */
.kpis{gap:10px;margin:0 0 10px}
.kpi{height:84px;min-height:84px;padding:10px 8px 8px 60px;border-radius:5px;border:1px solid #173d56;background:linear-gradient(110deg,#0c2131 0%,#0a1d2b 72%,#091a27 100%);box-shadow:inset 0 1px rgba(255,255,255,.025);overflow:hidden}
.kpi:after{background:radial-gradient(circle at 18% 42%,rgba(35,157,235,.075),transparent 31%)}
.kpi-icon{left:12px;top:13px;width:38px;height:38px;border-radius:5px;background:rgba(18,77,116,.18);color:#28aef8;box-shadow:0 0 18px rgba(36,166,240,.11)}
.kpi-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kpi-icon.security{color:#20e9a0;background:rgba(17,94,72,.15)}
.kpi-copy{height:auto}
.kpi span{font-size:10.5px;line-height:1.05;color:#a9c4d8;font-weight:400}
.kpi strong{font-size:20px;line-height:1;margin:4px 0 4px;font-weight:500;letter-spacing:-.15px}
.kpi small{font-size:9.5px;line-height:1;color:#24e99d;font-weight:400}
.kpi.security strong{font-size:18px;line-height:1;margin:5px 0 5px}
.kpi.clients small,.kpi.incidents small{color:#9eb8c9}
.spark{right:7px;bottom:5px;width:60%;height:18px;opacity:.95}
.spark path{stroke-width:1.05}
.spark .spark-glow{stroke-width:3;opacity:.05}
@media(max-width:1400px){.kpi{height:84px;min-height:84px;padding-left:56px}.kpi-icon{left:10px;top:13px;width:36px;height:36px}.kpi-icon svg{width:23px;height:23px}.kpi strong{font-size:19px}}

/* UX pass #2: concept-faithful service architecture */
.architecture{overflow:hidden;background:linear-gradient(120deg,#091e2d 0%,#0a2030 58%,#081b29 100%)}
.architecture .panelhead{margin-bottom:2px}
.archmap{position:relative;min-height:365px;padding:0 6px 4px;color:#dcefff}
.archmap:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 25%,rgba(39,143,210,.08),transparent 25%),linear-gradient(145deg,transparent 65%,rgba(0,0,0,.08));opacity:.9}
.arch-spine{position:relative;z-index:2;width:360px;margin:0 auto;display:grid;justify-items:center}
.arch-main{display:flex;align-items:center;gap:12px;width:245px;min-height:54px;color:#dcefff}
.arch-main>div{display:grid;gap:2px;text-align:left}
.arch-main b{font-size:12px;font-weight:600}.arch-main span{font-size:10px;color:#9bc5df}.arch-main em,.arch-domain em{font-style:normal;font-size:10px;color:var(--green)}
.arch-main em i,.arch-domain em i{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:5px}
.arch-main.warn em,.arch-domain.warn em{color:var(--yellow)}
.arch-main.warn .arch-icon,.arch-domain.warn .arch-icon{color:var(--yellow)}
.arch-wan{min-height:50px}.arch-wan .arch-icon{color:#4dbdff}
.arch-icon{display:grid;place-items:center;width:48px;height:42px;color:#35aef5;filter:drop-shadow(0 0 7px rgba(42,174,249,.20));flex:0 0 auto}
.arch-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.arch-wan .arch-icon{width:55px}.arch-security{color:#26e4aa}.arch-application{color:#45b8ff}
.arch-arrow{height:21px;color:#36d7e8;font-size:17px;line-height:21px;text-shadow:0 0 8px rgba(54,215,232,.25)}
.arch-connectivity{position:absolute;z-index:3;left:calc(50% + 135px);top:45px;width:175px;border:1px solid #214c68;border-radius:5px;background:rgba(7,27,41,.82);padding:9px 11px;box-shadow:0 7px 20px rgba(0,0,0,.08)}
.arch-connectivity>b{display:block;font-size:9px;margin-bottom:6px;color:#c7e1f2}.arch-connectivity dl{margin:0}.arch-connectivity dl div{padding:2px 0;border:0;font-size:9px}.arch-connectivity dt{color:#b5ccdc}.arch-connectivity dd{color:var(--green);font-weight:600}.arch-connectivity.warn dd{color:var(--yellow)}
.arch-bus{position:relative;z-index:2;height:31px;margin:0 43px}.arch-bus:before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:#36d7e8;box-shadow:0 0 5px rgba(54,215,232,.2)}.arch-bus:after{content:"";position:absolute;left:50%;top:-15px;width:1px;height:24px;background:#36d7e8}.arch-bus span:before,.arch-bus span:after{content:"";position:absolute;top:8px;width:1px;height:20px;background:#36d7e8}.arch-bus span:before{left:0}.arch-bus span:after{right:0}
.arch-domains{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.arch-domain{position:relative;min-height:135px;padding:7px 10px 8px;text-align:left;color:#dcefff;background:linear-gradient(180deg,rgba(10,34,50,.88),rgba(8,27,41,.88));border:1px solid #214d69;border-radius:5px;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.018)}
.arch-domain:before{content:"↓";position:absolute;top:-25px;left:50%;transform:translateX(-50%);color:#36d7e8;font-size:15px}
.arch-domain .arch-icon{width:31px;height:31px;margin:0 auto 3px}.arch-domain b{display:block;font-size:11px;margin-bottom:4px}.arch-domain>span{display:block;min-height:50px}.arch-domain small{display:block;color:#9fc4dc;font-size:9px;line-height:1.35}.arch-domain em{display:block;margin-top:3px}.arch-domain.available em{color:#42bfff}
.architecture .archmap{min-height:365px}
.two-col .archmap{min-height:365px}.two-col .arch-connectivity{left:calc(50% + 120px)}
@media(max-width:1250px){.arch-connectivity{right:8px;left:auto}.arch-domain{padding-left:7px;padding-right:7px}.arch-domain small{font-size:8.5px}}
@media(max-width:850px){.archmap{padding-bottom:10px}.arch-connectivity{position:relative;left:auto;right:auto;top:auto;margin:8px auto 10px}.arch-domains{grid-template-columns:1fr 1fr}.arch-bus{display:none}.arch-domain:before{display:none}}
/* UX pass #3 — concept-matched network throughput */
.traffic-concept{padding:12px 12px 10px;background:linear-gradient(180deg,#0a2030 0%,#081b29 100%)}
.traffic-head{margin-bottom:2px;align-items:flex-start}.traffic-head h2{display:flex;align-items:center;gap:7px}.throughput-title-icon{color:var(--blue);font-size:17px;line-height:1}.traffic-head .ranges button{padding:5px 9px;font-size:10px}.traffic-legend{height:22px;display:flex;justify-content:center;align-items:center;gap:22px;color:#a8cce5;font-size:10px}.traffic-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:3px;display:inline-block}.legend-dot.download{background:#1fa8ff}.legend-dot.upload{background:#28e6a0}.traffic-concept canvas{height:235px!important;display:block}.trafficstats-concept{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}.trafficstats-concept>div{display:flex;align-items:center;gap:12px;padding:10px 12px;background:linear-gradient(180deg,#0d293c,#0a2233);min-height:58px}.trafficstats-concept section{min-width:0}.trafficstats-concept b{font-size:20px;line-height:1.05}.trafficstats-concept section>span{display:block;margin-top:4px}.stat-icon{font-size:28px;line-height:1;width:26px;text-align:center}.download-icon{color:#2fb6ff}.upload-icon{color:#2ee6a2}.transfer-icon{color:#45aaff;font-size:25px}

/* Capability pass — dependencies, SLOs, change management */
.single-detail{margin-top:10px}.dependency-root{display:flex;align-items:baseline;gap:10px;padding:10px 12px;margin:2px 0 8px;border:1px solid #1b4c69;border-radius:5px;background:#0a2232}.dependency-root b{font-size:14px}.dependency-root span{font-size:11px;color:#8fb7d0}
.dependency-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dependency-list>div{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1px solid #173f59;border-radius:5px;background:#091f2e;font-size:10px}.dependency-list>div>span{display:flex;align-items:center;gap:6px;color:#b9d3e4}.dependency-list b{font-size:10px}.dep-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}.dep-dot.warn{background:var(--yellow)}.dep-dot.bad{background:#ff6577}.dependency-list b.ok{color:var(--green)}.dependency-list b.warn{color:var(--yellow)}.dependency-list b.bad{color:#ff7585}.dependency-foot{display:flex;gap:14px;padding:10px 2px 0;font-size:10px}.dependency-foot span{color:#7fa7c0}.dependency-foot b{color:#c2dcec;font-weight:500}
.slo-table{display:grid}.slo-head,.slo-table>div{display:grid;grid-template-columns:1.5fr .6fr .6fr 30px;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #173f59}.slo-head{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6f9bb8}.slo-table>div b{font-size:11px}.slo-table>div span{font-size:10px;color:#b4d0e2}.slo-table em{font-style:normal;color:var(--green);font-weight:700}
.change-card{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border:1px solid #1c4a66;border-radius:5px;background:#0a2232;margin:4px 0 8px}.change-card>div{display:grid;gap:2px}.change-card b{font-size:12px}.change-card small{font-size:9px;color:#8eb5ce}.change-id{font-size:9px;color:#45b9ff;letter-spacing:.06em}.change-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:8px}.change-grid span{display:grid;gap:3px;padding:8px;border:1px solid #173f59;border-radius:4px;font-size:9px;color:#86abc3}.change-grid b{font-size:10px;color:#d4eafb}.checklist.compact{grid-template-columns:1fr 1fr;display:grid;gap:0 12px}.checklist.compact span{font-size:10px}
@media(max-width:900px){.dependency-list,.change-grid{grid-template-columns:1fr 1fr}}

/* UX shell pass: sidebar owns navigation; header owns environment/global state */
.topbar{grid-template-columns:250px 1fr;min-height:68px;height:68px}
.topnav,.topright{display:none!important}
.globalbar{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:0 18px;min-width:0}
.globalenv{display:grid;line-height:1.1;margin-right:auto}
.globalenv small,.lastupdate small{font-size:8px;letter-spacing:.14em;color:#5faedc;font-weight:700}
.globalenv span{font-size:10px;color:#7da9c5;margin-top:4px}
.globalbar .overall{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.globalbar .overall i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(34,240,167,.35)}
.lastupdate{display:grid;line-height:1.1;min-width:66px}.lastupdate b{font-size:11px;color:#d8edf9;margin-top:4px}
.header-demo{border:1px solid #23628a;background:#0b2b40;color:#d9effc;border-radius:5px;padding:9px 12px;font-size:10px;cursor:pointer;white-space:nowrap}
.header-demo:hover{border-color:#32aef8;background:#0d3650}
.navgroup{padding:15px 16px 5px;font-size:8px;font-weight:800;letter-spacing:.16em;color:#467c9d}
.sidebar .navgroup+button.nav{margin-top:0}
main{padding-top:12px}
.demo-banner{display:none!important}
@media(max-width:900px){
 .topbar{grid-template-columns:190px 1fr}
 .globalenv{display:none}.globalbar{gap:10px}.lastupdate{display:none}
}

/* Resource utilization UX + workload simulation */
.resource-gauges{align-items:start}
.resource-unit{display:grid;justify-items:center;gap:7px;min-width:0}
.resource-unit .gauge small{display:none!important}
.resource-unit>small{font-size:10px;color:#84abc4;white-space:nowrap}
.resource-unit .gauge{width:92px;height:92px}
.resource-unit .gauge b{font-size:15px}
.resource-unit .gauge span{font-size:10px}
.resource-state{display:flex;justify-content:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #153d56;font-size:9px}
.resource-state span{color:#719db8}.resource-state b{color:#bcd8e9;font-weight:600}
.gauge.capacity-warn{--ring:#f2b84b}.gauge.capacity-danger{--ring:#ff6577}
.capacity-note{font-size:9px;color:#7ea6bf;margin:8px 0 0}

.sidebar a.nav{text-decoration:none;display:block}
