:root{--paper:#fbfaf7;--paper-2:#fff;--ink:#14130f;--ink-2:#3d3c37;--ink-3:#767469;--ink-4:#a8a69a;--rule:#e6e3d7;--rule-2:#f0ede3;--chip:#f4f1e7;--accent:#1f74bf;--accent-soft:#e8f3ff;--danger:#cf4040;--warn:#d79628;--ok:#3d8e53;--l1:#2b7ec9;--l2:#cd9130;--l3:#d5565d;--l1-soft:#e8f3ff;--l2-soft:#feefdc;--l3-soft:#ffeceb;--row:32px;--radius:12px;--radius-sm:6px;--shadow-sm:0 1px 2px #14130f0a, 0 1px 1px #14130f05;--shadow-md:0 4px 16px -4px #14130f0f, 0 1px 2px #14130f08;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@supports (color:lab(0% 0 0)){:root{--accent:lab(47.1027% -3.97182 -47.02);--accent-soft:lab(95.3401% -2.12318 -7.10804);--danger:lab(49.4737% 56.8232 34.3326);--warn:lab(67.3872% 18.7132 63.1076);--ok:lab(52.7991% -36.1448 23.7337);--l1:lab(50.6175% -4.648 -47.097);--l2:lab(65.0917% 17.1256 57.4885);--l3:lab(54.2424% 51.226 23.4071);--l1-soft:lab(95.3401% -2.12318 -7.10804);--l2-soft:lab(95.4013% 2.78538 11.2359);--l3-soft:lab(95.0584% 9.51877 4.03039)}}html[data-theme=dark]{--paper:#1e1e1c;--paper-2:#262624;--ink:#f4f1e7;--ink-2:#d8d5c9;--ink-3:#a8a59b;--ink-4:#6f6d65;--rule:#35332f;--rule-2:#2a2826;--chip:#2c2a27;--accent-soft:#192a3c;--l1-soft:#192f46;--l2-soft:#3c2a0e;--l3-soft:#472021;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px -6px #00000080}@supports (color:lab(0% 0 0)){html[data-theme=dark]{--accent-soft:lab(16.3613% -2.7121 -13.6872);--l1-soft:lab(18.631% -2.98554 -17.024);--l2-soft:lab(18.7711% 6.37132 21.1664);--l3-soft:lab(18.1775% 19.1747 8.54361)}}html[data-theme=mono]{--paper:#f5f3ec;--paper-2:#fff;--ink:#111;--ink-2:#333;--ink-3:#666;--ink-4:#999;--rule:#d4d2c7;--rule-2:#e7e5db;--chip:#ece9df;--accent:#111;--accent-soft:#ece9df;--l1:#111;--l2:#555;--l3:#888;--l1-soft:#ece9df;--l2-soft:#ece9df;--l3-soft:#ece9df;--ok:#111;--warn:#555;--danger:#111}html[data-density=comfortable]{--row:40px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--ui);background:var(--paper);background-image:radial-gradient(ellipse at top, color-mix(in oklab, var(--accent) 3%, transparent), transparent 60%);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";min-height:100vh;font-size:13px;line-height:1.45}.mono{font-family:var(--mono);font-feature-settings:"zero","ss02"}.page{max-width:1480px;margin:0 auto;padding:32px 40px 0}body>div:not(.page):not(#tweaks-panel):not(.toast){box-sizing:border-box;max-width:1480px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}body{padding-bottom:96px}header.doc{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.doc-title{align-items:center;gap:14px;display:flex}.doc-logo{background:var(--ink);width:44px;height:44px;color:var(--paper);box-shadow:var(--shadow-sm), inset 0 0 0 1px color-mix(in oklab, var(--paper) 8%, transparent);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.doc-logo svg{width:100%;height:100%;display:block}.doc-logo .l1{stroke:var(--l1)}.doc-logo .l2{stroke:var(--l2)}.doc-logo .l3{stroke:var(--l3)}.brand-stack{flex-direction:column;justify-content:center;line-height:1.1;display:flex}.brand-stack .brand-row{align-items:baseline;gap:8px;display:flex}.brand-stack .brand-name{letter-spacing:-.025em;font-size:22px;font-weight:600;line-height:1;font-family:var(--ui);margin:0}.brand-stack .brand-version{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;background:var(--chip);border:1px solid var(--rule);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:500;transition:color .12s,border-color .12s;position:relative;top:-2px}.brand-stack .brand-version:hover{color:var(--ink);border-color:var(--ink-3)}.changelog-pop{z-index:200;background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-md);width:340px;font-family:var(--ui);color:var(--ink-2);border-radius:10px;padding:14px 16px;font-size:12px;display:none;position:absolute}.changelog-pop.open{display:block}.changelog-pop h5{font-size:10px;font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);justify-content:space-between;align-items:center;margin:0 0 10px;display:flex}.changelog-pop h5 .cl-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.changelog-pop h5 .cl-close:hover{color:var(--ink)}.changelog-pop .cl-entry{border-top:1px solid var(--rule-2);padding:8px 0}.changelog-pop .cl-entry:first-of-type{border-top:none;padding-top:0}.changelog-pop .cl-ver{font-family:var(--mono);color:var(--ink);letter-spacing:.05em;background:var(--chip);border:1px solid var(--rule);border-radius:3px;margin-right:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.changelog-pop .cl-date{font-family:var(--mono);color:var(--ink-4);font-size:10px}.changelog-pop .cl-notes{color:var(--ink-2);margin:6px 0 0;padding:0 0 0 14px;font-size:11.5px;line-height:1.5}.changelog-pop .cl-notes li{margin-bottom:2px}.brand-stack h1{letter-spacing:-.005em;color:var(--ink-2);margin:4px 0 0;font-size:13px;font-weight:500;line-height:1.2}.doc-title .sub{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:10.5px;display:block}.doc-meta{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:8px;font-size:11px;display:flex}.doc-meta .chip{background:var(--paper-2);border:1px solid var(--rule);text-transform:uppercase;letter-spacing:.06em;box-shadow:var(--shadow-sm);border-radius:999px;padding:6px 10px}.doc-meta .chip strong{color:var(--ink);font-weight:600}.doc-meta .chip-info{flex-direction:column;align-items:flex-start;gap:1px;padding:5px 10px;line-height:1.2;display:inline-flex;position:relative}.doc-meta .chip-info .k{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:9.5px}.doc-meta .chip-info strong{padding-right:18px;font-size:11.5px}.doc-meta .chip-i{border:1px solid var(--rule);width:13px;height:13px;color:var(--ink-3);font-family:var(--mono);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:9px;font-style:italic;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.doc-meta .chip-i:hover{background:var(--chip);color:var(--ink);border-color:var(--ink-3)}.formula-pop{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--mono);border-radius:var(--radius-sm);max-width:260px;box-shadow:var(--shadow-md);pointer-events:none;padding:10px 12px;font-size:10.5px;line-height:1.5;position:fixed}.formula-pop .f{color:var(--paper);font-feature-settings:"zero","ss02";margin-bottom:4px;font-weight:600;display:block}.formula-pop .e{color:color-mix(in oklab, var(--paper) 70%, transparent);font-family:var(--ui);font-size:10.5px}.toolbar{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;padding:10px 14px;display:flex}.tool-group{border-right:1px solid var(--rule);align-items:center;gap:6px;height:28px;padding-right:10px;display:flex}.tool-group:last-child{border-right:none;padding-right:0}.tool-group.pdu-model-group{flex-wrap:wrap;align-items:center;row-gap:3px;height:auto;min-height:28px;padding-top:2px;padding-bottom:2px}.tool-group.pdu-model-group .pdu-spec{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;max-width:100%;margin-top:-1px;padding-left:34px;font-size:9.5px;font-weight:500;line-height:1.2;overflow:hidden}.toolbar-break{flex-basis:100%;height:0}.tool-group .label{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-right:4px;font-size:10px}button.btn{font-family:var(--ui);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}button.btn:hover{background:var(--chip);border-color:var(--ink-3);transform:translateY(-.5px)}button.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}button.btn.primary:hover{background:var(--ink-2)}button.btn.danger{color:var(--danger)}button.btn.danger:hover{background:color-mix(in oklab, var(--danger) 10%, transparent);border-color:color-mix(in oklab, var(--danger) 40%, transparent)}button.btn svg{width:12px;height:12px}button.btn.icon-only{justify-content:center;gap:0;width:28px;padding:6px}button.btn.icon-only svg{width:13px;height:13px}.menu{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:60;min-width:240px;padding:4px;display:none;position:absolute;top:calc(100% + 6px);right:0}.menu.open{display:block}.menu-item{cursor:pointer;text-align:left;width:100%;color:var(--ink);font-family:var(--ui);background:0 0;border:none;border-radius:4px;align-items:flex-start;gap:10px;padding:8px 10px;font-size:12px;display:flex}.menu-item:hover{background:var(--chip)}.menu-item svg{flex:0 0 14px;width:14px;height:14px;margin-top:2px}.menu-item strong{font-weight:600;display:block}.menu-item small{color:var(--ink-3);font-size:10.5px;font-family:var(--mono);margin-top:1px;display:block}.menu-item.danger{color:var(--danger)}.menu-item.danger small{color:color-mix(in oklab, var(--danger) 70%, var(--ink-3) 30%)}.seg{background:var(--chip);border-radius:999px;gap:1px;padding:2px;display:inline-flex}.seg button{color:var(--ink-3);font-family:var(--mono);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-radius:999px;padding:5px 11px;font-size:10px;font-weight:500;transition:all .12s}.seg button.on{background:var(--paper-2);color:var(--ink);box-shadow:var(--shadow-sm)}.seg button:hover:not(.on){color:var(--ink)}.num-input{font-family:var(--mono);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);text-align:right;width:56px;color:var(--ink);padding:5px 8px;font-size:12px}.num-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.section-head{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 4px 10px;display:flex}.section-head h2{font-family:var(--ui);letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;display:flex}.section-head h2 .kicker{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;background:var(--chip);border-radius:999px;padding:3px 9px;font-size:10px;font-weight:500}.section-head .right{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:10px;font-size:11px;display:flex}.section-head .right .pill{background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-sm);border-radius:999px;padding:4px 10px}.kpi-strip{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.kpi{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;position:relative;overflow:hidden}.kpi.lead{background:linear-gradient(140deg, var(--ink) 0%, color-mix(in oklab, var(--ink) 78%, var(--accent)) 100%);color:var(--paper);border-color:var(--ink)}.kpi.lead.warn{background:linear-gradient(140deg, var(--ink) 0%, color-mix(in oklab, var(--ink) 70%, var(--warn)) 100%);border-color:color-mix(in oklab, var(--ink) 80%, var(--warn))}.kpi.lead.over{background:linear-gradient(140deg, var(--ink) 0%, color-mix(in oklab, var(--ink) 65%, var(--danger)) 100%);border-color:color-mix(in oklab, var(--ink) 75%, var(--danger))}.kpi.lead .lbl{color:color-mix(in oklab, var(--paper) 65%, transparent)}.kpi.lead .sub{color:color-mix(in oklab, var(--paper) 70%, transparent)}.kpi.lead .big{color:var(--paper)}.kpi.lead .big .unit{color:color-mix(in oklab, var(--paper) 55%, transparent)}.kpi.lead.warn .big,.kpi.lead.over .big{color:var(--paper)}.kpi .lbl{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;display:flex}.kpi .big{font-family:var(--mono);letter-spacing:-.03em;color:var(--ink);font-size:28px;font-weight:500;line-height:1}.kpi .big .unit{color:var(--ink-3);margin-left:4px;font-size:13px;font-weight:400}.kpi .sub{font-family:var(--mono);color:var(--ink-3);margin-top:8px;font-size:10px}.kpi .mini-bar{background:color-mix(in oklab, var(--ink) 10%, transparent);border-radius:999px;height:4px;margin-top:12px;overflow:hidden}.kpi.lead .mini-bar{background:color-mix(in oklab, var(--paper) 15%, transparent)}.kpi .mini-bar .fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.kpi.lead .mini-bar .fill{background:var(--paper);opacity:.95}.kpi .dot{background:var(--ok);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.kpi.warn .big{color:var(--warn)}.kpi.over .big{color:var(--danger)}.flip-card{perspective:1200px;cursor:pointer;min-height:100px;position:relative}.kpi-strip .flip-card .kpi,.hero .flip-card .phase-card{height:100%;margin:0}.flip-card-inner{width:100%;min-height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card .face{backface-visibility:hidden}.flip-card .face-front{position:relative}.flip-card.flipped{z-index:10}.flip-card .face-back{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;padding:10px 12px;display:flex;position:absolute;inset:0;overflow:hidden;transform:rotateY(180deg)}.flip-card.flipped .face-back{height:max-content;min-height:100%;box-shadow:0 12px 32px -8px #0000002e,0 2px 8px #0000000f}.flip-card.flipped .flip-card-inner{min-height:max-content}.flip-card .face-back .calc-title{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;flex:none;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:9px;display:flex}.flip-card .face-back .calc-title .flip-hint{color:var(--ink-4);text-transform:none;letter-spacing:0;font-size:8px}.flip-card .face-back .calc-formula{font-family:var(--mono);color:var(--ink);background:var(--chip);white-space:pre-wrap;border-radius:4px;flex:none;margin-bottom:4px;padding:5px 7px;font-size:10px;line-height:1.4}.flip-card .face-back .calc-step{font-family:var(--mono);color:var(--ink-2);word-break:break-word;flex:none;padding:2px 4px;font-size:10px;line-height:1.35}.flip-card .face-back .calc-result{font-family:var(--mono);color:var(--ink);border-top:1px dashed var(--rule);flex:none;margin-top:4px;padding:5px 4px;font-size:11px;font-weight:600}.flip-card .face-back .calc-note{color:var(--ink-3);flex:none;margin-top:4px;font-size:9px;font-style:italic}.flip-card .flip-chip{background:var(--chip);width:16px;height:16px;color:var(--ink-3);font-size:9px;font-weight:600;font-family:var(--mono);opacity:0;pointer-events:none;z-index:1;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:inline-flex;position:absolute;top:8px;right:8px}.flip-card:hover .flip-chip{opacity:.8}.port-type-chip{font-family:var(--mono);color:var(--ink-2);background:var(--chip);border:1px solid var(--rule);text-align:center;letter-spacing:.02em;border-radius:4px;min-width:28px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.port-type-chip.type-c15,.port-type-chip.type-cx{color:var(--ink);background:var(--paper);border-color:var(--ink-4)}.port-type-input{text-transform:uppercase;letter-spacing:.02em;max-width:56px;font-family:var(--mono)!important;text-align:center!important;font-size:10.5px!important}.suggestion{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);font-family:var(--mono);color:var(--ink-2);justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;font-size:11px;display:flex}.suggestion.warn{border-left:3px solid var(--warn)}.suggestion.over{border-left:3px solid var(--danger)}.suggestion code{background:var(--chip);font-family:var(--mono);border-radius:4px;padding:1px 6px}.suggestion .actions{gap:6px;display:flex}.table-wrap{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px}.split-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.split-grid .table-wrap{margin-bottom:0}.split-grid table.ports{font-size:11.5px}table.ports{border-collapse:collapse;background:var(--paper-2);width:100%;font-size:12px}table.ports thead th{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--rule);background:var(--chip);top:var(--sticky-head-h,0px);z-index:5;padding:10px;font-size:10px;font-weight:500;position:sticky}table.ports thead th.num{text-align:right}table.ports thead th.ctr{text-align:center}table.ports tbody tr{height:var(--row);border-bottom:1px solid var(--rule-2)}table.ports tbody tr:last-child{border-bottom:none}table.ports tbody tr:hover{background:color-mix(in oklab, var(--chip) 50%, transparent)}table.ports td{vertical-align:middle;border-right:1px solid var(--rule-2);padding:0 10px}table.ports td:last-child{border-right:none}table.ports td.port-col{font-family:var(--mono);color:var(--ink-2);width:48px;padding-left:16px;font-size:12px;font-weight:500;position:relative}table.ports td.port-col:before{content:"";border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:0}table.ports tr[data-phase="1"] td.port-col:before{background:var(--l1)}table.ports tr[data-phase="2"] td.port-col:before{background:var(--l2)}table.ports tr[data-phase="3"] td.port-col:before{background:var(--l3)}.custom-chip{font-family:var(--mono);text-align:center;width:12px;height:12px;color:var(--accent);background:var(--accent-soft);vertical-align:1px;border-radius:3px;margin-left:4px;font-size:9px;font-weight:700;line-height:12px;display:inline-block}.phase-chip{font-family:var(--mono);border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.phase-chip.l1{background:var(--l1-soft);color:var(--l1);border-color:color-mix(in oklab, var(--l1) 25%, transparent)}.phase-chip.l2{background:var(--l2-soft);color:var(--l2);border-color:color-mix(in oklab, var(--l2) 30%, transparent)}.phase-chip.l3{background:var(--l3-soft);color:var(--l3);border-color:color-mix(in oklab, var(--l3) 30%, transparent)}select.phase-select{font-family:var(--mono);background-color:var(--chip);color:var(--ink);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23767469' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 4px center;background-repeat:no-repeat;background-size:10px 10px;border:1px solid #0000;border-radius:999px;padding:2px 18px 2px 8px;font-size:11px;font-weight:600}select.phase-select.l1{background-color:var(--l1-soft);color:var(--l1);border-color:color-mix(in oklab, var(--l1) 25%, transparent)}select.phase-select.l2{background-color:var(--l2-soft);color:var(--l2);border-color:color-mix(in oklab, var(--l2) 30%, transparent)}select.phase-select.l3{background-color:var(--l3-soft);color:var(--l3);border-color:color-mix(in oklab, var(--l3) 30%, transparent)}select.phase-select:focus{box-shadow:0 0 0 2px var(--accent-soft);outline:none}select.psu-mode{font-family:var(--mono);appearance:none;cursor:pointer;letter-spacing:.02em;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(-45deg,#0000 50%,currentColor 50%);background-position:right 7px top 10px,right 4px top 10px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border:1px solid #0000;border-radius:999px;padding:2px 16px 2px 7px;font-size:10.5px;font-weight:600}select.psu-mode.psu-aa{background-color:color-mix(in oklab, var(--ok) 12%, var(--paper));color:var(--ok);border-color:color-mix(in oklab, var(--ok) 25%, transparent)}select.psu-mode.psu-ap{background-color:color-mix(in oklab, var(--warn) 12%, var(--paper));color:var(--warn);border-color:color-mix(in oklab, var(--warn) 30%, transparent)}select.psu-mode.psu-single{background-color:color-mix(in oklab, var(--danger) 10%, var(--paper));color:var(--danger);border-color:color-mix(in oklab, var(--danger) 30%, transparent)}select.psu-mode.psu-unknown{background-color:var(--chip);color:var(--ink-3);border-color:var(--rule)}select.psu-mode:focus{box-shadow:0 0 0 2px var(--accent-soft);outline:none}input.psu-input{font-family:var(--mono);border:1px solid var(--rule);background:var(--chip);color:var(--ink-3);text-align:center;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;outline:none;width:52px;padding:2px 8px;font-size:10.5px;font-weight:600}input.psu-input::placeholder{color:var(--ink-4)}input.psu-input.psu-aa{background-color:color-mix(in oklab, var(--ok) 12%, var(--paper));color:var(--ok);border-color:color-mix(in oklab, var(--ok) 25%, transparent)}input.psu-input.psu-ap{background-color:color-mix(in oklab, var(--warn) 12%, var(--paper));color:var(--warn);border-color:color-mix(in oklab, var(--warn) 30%, transparent)}input.psu-input.psu-single{background-color:color-mix(in oklab, var(--danger) 10%, var(--paper));color:var(--danger);border-color:color-mix(in oklab, var(--danger) 30%, transparent)}input.psu-input.psu-unknown{background-color:var(--chip);color:var(--ink-3);border-color:var(--rule)}input.psu-input:focus{box-shadow:0 0 0 2px var(--accent-soft);border-color:var(--accent)}select.ps-num{font-family:var(--mono);border:1px solid var(--rule);background-color:var(--chip);background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(-45deg, transparent 50%, var(--ink-3) 50%);appearance:none;color:var(--ink-2);cursor:pointer;background-position:right 6px top 10px,right 3px top 10px;background-repeat:no-repeat;background-size:3px 3px,3px 3px;border-radius:999px;padding:2px 14px 2px 6px;font-size:10.5px;font-weight:600}select.ps-num.ps-PS1,select.ps-num.ps-PS3{color:var(--l1);border-color:color-mix(in oklab, var(--l1) 25%, transparent);background-color:color-mix(in oklab, var(--l1) 10%, var(--paper))}select.ps-num.ps-PS2,select.ps-num.ps-PS4{color:var(--l2);border-color:color-mix(in oklab, var(--l2) 25%, transparent);background-color:color-mix(in oklab, var(--l2) 10%, var(--paper))}select.ps-num.ps-none{color:var(--ink-3)}select.ps-num:focus{box-shadow:0 0 0 2px var(--accent-soft);outline:none}input.ps-input{font-family:var(--mono);border:1px solid var(--rule);background:var(--chip);color:var(--ink-3);text-align:center;letter-spacing:.02em;border-radius:999px;outline:none;width:42px;padding:2px 6px;font-size:10.5px;font-weight:600}input.ps-input::placeholder{color:var(--ink-4)}input.ps-input.ps-PS1,input.ps-input.ps-PS3{color:var(--l1);border-color:color-mix(in oklab, var(--l1) 25%, transparent);background-color:color-mix(in oklab, var(--l1) 10%, var(--paper))}input.ps-input.ps-PS2,input.ps-input.ps-PS4{color:var(--l2);border-color:color-mix(in oklab, var(--l2) 25%, transparent);background-color:color-mix(in oklab, var(--l2) 10%, var(--paper))}input.ps-input.ps-none{color:var(--ink-3)}input.ps-input:focus{box-shadow:0 0 0 2px var(--accent-soft);border-color:var(--accent)}.cell-input{width:100%;font-family:var(--ui);color:var(--ink);background:0 0;border:none;border-radius:4px;padding:5px 2px;font-size:12px}.cell-input.mono{font-family:var(--mono);text-align:right}.cell-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cell-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cell-input[type=number]{appearance:textfield}.port-card .nums input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.port-card .nums input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.port-card .nums input[type=number]{appearance:textfield}.cell-input:focus{background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 0 3px var(--accent-soft);outline:none}.cell-input::placeholder{color:var(--ink-4)}table.ports td.cell-selected{background:color-mix(in oklab, var(--accent) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 45%, transparent)}table.ports td.cell-anchor{background:color-mix(in oklab, var(--accent) 16%, transparent);box-shadow:inset 0 0 0 2px var(--accent)}table.ports td.cell-selected .cell-input,table.ports td.cell-anchor .cell-input,table.ports td.cell-selected .breaker-input,table.ports td.cell-anchor .breaker-input{background:0 0}table.ports{-webkit-user-select:none;user-select:none}table.ports input,table.ports select,table.ports textarea{-webkit-user-select:text;user-select:text}body.cell-dragging,body.cell-dragging *{-webkit-user-select:none!important;user-select:none!important}body.cell-dragging input,body.cell-dragging select{pointer-events:none}body.cell-dragging table.ports td{pointer-events:auto}.copy-toast{background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:0;pointer-events:none;z-index:100;box-shadow:var(--shadow-md);border-radius:999px;padding:9px 16px;font-size:11px;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.copy-toast.show{opacity:1;transform:translate(-50%)translateY(0)}td.breaker-cell{text-align:center;width:120px;padding:0;position:relative}td.breaker-cell .breaker-wrap{justify-content:space-between;align-items:center;gap:6px;height:100%;padding:0 8px;display:flex}td.breaker-cell .breaker-input{text-align:center;width:36px;font-family:var(--mono);background:var(--paper);border:1px solid var(--rule);color:var(--ink);border-radius:6px;padding:3px 0;font-size:11px;font-weight:600}td.breaker-cell .breaker-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}td.breaker-cell .breaker-bar{background:var(--rule-2);border-radius:999px;flex:1;height:4px;position:relative;overflow:hidden}td.breaker-cell .breaker-bar .fill{background:var(--ink-2);border-radius:999px;height:100%;transition:width .2s}td.breaker-cell.over .breaker-bar .fill{background:var(--danger)}td.breaker-cell.warn .breaker-bar .fill{background:var(--warn)}td.breaker-cell .breaker-pct{font-family:var(--mono);color:var(--ink-4);text-align:right;min-width:24px;font-size:9px}td.ru-col{width:60px}td.ru-col .cell-input{font-family:var(--mono);text-align:center;color:var(--ink-2);font-size:11px}.del-btn{color:var(--ink-4);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px;transition:all .12s;display:inline-flex}.del-btn:hover{color:var(--danger);background:color-mix(in oklab, var(--danger) 10%, transparent)}.del-btn svg{width:12px;height:12px}td.action-col{text-align:center;width:32px}.device-wrap{position:relative}.preset-btn{background:var(--chip);border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;border-radius:5px;padding:2px 5px;display:none;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.device-wrap:hover .preset-btn,.device-wrap:focus-within .preset-btn{display:inline-flex}.preset-btn:hover{color:var(--ink);border-color:var(--ink-3)}.preset-btn svg{width:10px;height:10px}.breaker-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:32px;display:grid}@media (max-width:1200px){.breaker-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:800px){.breaker-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.breaker-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.breaker-cell-sum{background:var(--paper-2);font-family:var(--mono);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:13px 14px;font-size:11px;transition:all .15s}.breaker-cell-sum:hover{border-color:var(--ink-3);transform:translateY(-1px)}.breaker-cell-sum .head{justify-content:space-between;margin-bottom:8px;display:flex}.breaker-cell-sum .id{color:var(--ink);font-size:12px;font-weight:700}.breaker-cell-sum .ports{color:var(--ink-4);font-size:10px}.breaker-cell-sum .load{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.breaker-cell-sum .w{color:var(--ink);font-weight:500}.breaker-cell-sum .pct{color:var(--ink-3);font-size:10px}.breaker-cell-sum .bar{background:var(--rule-2);border-radius:999px;height:4px;overflow:hidden}.breaker-cell-sum .bar .fill{background:var(--ink-2);border-radius:999px;height:100%;transition:width .2s}.breaker-cell-sum.warn .bar .fill{background:var(--warn)}.breaker-cell-sum.warn .w{color:var(--warn)}.breaker-cell-sum.over .bar .fill{background:var(--danger)}.breaker-cell-sum.over .w{color:var(--danger)}.hero{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.phase-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px 22px;position:relative;overflow:hidden}.phase-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.phase-card[data-p="1"]:before{background:var(--l1)}.phase-card[data-p="2"]:before{background:var(--l2)}.phase-card[data-p="3"]:before{background:var(--l3)}.phase-card .head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.phase-card .lbl{font-family:var(--mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.phase-card .swatch{border-radius:50%;width:8px;height:8px}.phase-card .pct{font-family:var(--mono);color:var(--ink-3);background:var(--chip);border-radius:999px;padding:3px 9px;font-size:10px}.phase-card .big{font-family:var(--mono);letter-spacing:-.03em;margin-bottom:6px;font-size:32px;font-weight:500;line-height:1}.phase-card .big .unit{color:var(--ink-4);margin-left:5px;font-size:14px;font-weight:400}.phase-card .sub{font-family:var(--mono);color:var(--ink-3);margin-bottom:18px;font-size:11px}.phase-card .bar{background:var(--rule-2);border-radius:999px;height:10px;position:relative;overflow:hidden}.phase-card .bar .fill{border-radius:999px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.phase-card .bar .warn-mark,.phase-card .bar .limit-mark{background:color-mix(in oklab, var(--ink) 20%, transparent);border-radius:999px;width:2px;position:absolute;top:-3px;bottom:-3px}.phase-card .bar .limit-mark{background:var(--ink)}.phase-card .ticks{font-family:var(--mono);color:var(--ink-4);justify-content:space-between;margin-top:7px;font-size:10px;display:flex}.phase-card.over .big{color:var(--danger)}.phase-card.warn .big{color:var(--warn)}.phase-card .phasing-readout{border:1px solid var(--rule);border-radius:var(--radius-sm);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;margin-bottom:14px;padding:10px 12px;display:grid}.phase-card .phasing-readout .ph-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);grid-column:1;font-size:10px}.phase-card .phasing-readout .ph-value{font-family:var(--mono);letter-spacing:-.03em;grid-area:1/2/3;align-self:center;font-size:26px;font-weight:600;line-height:1}.phase-card .phasing-readout .ph-value .ph-unit{margin-left:2px;font-size:13px;font-weight:400}.phase-card .phasing-readout .ph-dev{font-family:var(--mono);grid-column:1;font-size:10px;font-weight:500}.summary-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sum-col{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 22px}.sum-col.sum-col-max{border-top:2px solid color-mix(in oklab, var(--warn) 70%, var(--rule));background:color-mix(in oklab, var(--warn) 3%, var(--paper-2))}.sum-col h4 .sum-col-sublabel{font-family:var(--ui);letter-spacing:.02em;text-transform:none;color:var(--ink-4);margin-top:2px;font-size:9.5px;font-weight:400;display:block}.sum-col.sum-col-max h4 .sum-col-sublabel{color:color-mix(in oklab, var(--warn) 80%, var(--ink-3))}.sum-col h4{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;margin:0 0 14px;padding-bottom:10px;font-size:10px;font-weight:600;display:flex}.sum-col h4 .kind{color:var(--ink);font-size:14px;font-family:var(--ui);letter-spacing:-.01em}.sum-table{width:100%;font-family:var(--mono);border-collapse:collapse;font-size:11px}.sum-table td,.sum-table th{border-bottom:1px dotted var(--rule-2);text-align:right;padding:6px 0}.sum-table th:first-child,.sum-table td:first-child{text-align:left;color:var(--ink-3)}.sum-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-size:10px;font-weight:500}.sum-table tr.total td{border-bottom:none;padding-top:12px;font-size:14px}.sum-table tr.total td:last-child{font-weight:600}.sum-table .ok{color:var(--ok)}.sum-table .warn{color:var(--warn)}.sum-table .over{color:var(--danger)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:24px;display:grid}.port-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:12px 14px;position:relative}.port-card .head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.port-card .pnum{font-family:var(--mono);font-size:13px;font-weight:600}.port-card .device{border:1px solid var(--rule);width:100%;color:var(--ink);background:0 0;border-radius:5px;margin-bottom:6px;padding:5px 7px;font-size:11px}.port-card .device:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.port-card .nums{font-family:var(--mono);color:var(--ink-3);gap:6px;font-size:10px;display:flex}.port-card .nums label{flex:1;align-items:center;gap:4px;display:flex}.port-card .nums input{text-align:right;border:1px solid var(--rule);font-family:var(--mono);color:var(--ink);background:0 0;border-radius:4px;flex:1;min-width:0;padding:3px 5px}.port-card .nums input:focus{border-color:var(--accent);outline:none}.port-card .rail{border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.port-card[data-phase="1"] .rail{background:var(--l1)}.port-card[data-phase="2"] .rail{background:var(--l2)}.port-card[data-phase="3"] .rail{background:var(--l3)}.tweaks-panel{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);width:300px;box-shadow:var(--shadow-md), 0 20px 40px -10px #00000026;z-index:50;padding:16px 18px 18px;font-size:12px;display:none;position:fixed;bottom:20px;right:20px}.tweaks-panel.open{display:block}.tweaks-panel h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;margin:0 0 14px;padding-bottom:10px;font-size:10px;display:flex}.tweaks-panel h3 button{cursor:pointer;color:var(--ink-3);background:0 0;border:none;font-size:16px;line-height:1}.tweak-row{margin-bottom:14px}.tweak-row .tlabel{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:10px}.preset-menu{z-index:40;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-sm);min-width:260px;box-shadow:var(--shadow-md);max-height:320px;font-size:12px;position:absolute;overflow-y:auto}.preset-menu .preset-item{cursor:pointer;border-bottom:1px solid var(--rule-2);font-family:var(--ui);justify-content:space-between;padding:7px 12px;display:flex}.preset-menu .preset-item:hover,.preset-menu .preset-item.active{background:var(--chip)}.preset-menu .preset-item .w{font-family:var(--mono);color:var(--ink-3);font-size:11px}.preset-menu .preset-group{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);background:var(--chip);padding:7px 12px 5px;font-size:9px}.preset-menu .preset-group-inline{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin-left:6px;font-size:9px}.preset-menu .preset-empty{font-family:var(--ui);color:var(--ink-3);text-align:center;padding:12px;font-size:11px;font-style:italic}.chip-pop{z-index:40;background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-md);min-width:120px;max-width:220px;font-family:var(--ui);border-radius:10px;padding:4px;animation:.12s ease-out chipPopIn;position:absolute}@keyframes chipPopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chip-pop .chip-opt{cursor:pointer;font-family:var(--mono);color:var(--ink-2);letter-spacing:.02em;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:11px;font-weight:600;transition:background 80ms;display:flex}.chip-pop .chip-opt:hover,.chip-pop .chip-opt.active{background:var(--chip);color:var(--ink)}.chip-pop .chip-opt.selected{background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--accent)}.chip-pop .chip-opt .chip-hint{font-family:var(--ui);color:var(--ink-4);text-transform:none;letter-spacing:0;margin-left:10px;font-size:10px;font-weight:400}.chip-pop .chip-opt .chip-check{opacity:0;width:10px;height:10px}.chip-pop .chip-opt.selected .chip-check{opacity:1}.chip-pop hr.chip-div{border:none;border-top:1px solid var(--rule-2);margin:3px 4px}kbd{font-family:var(--mono);border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);box-shadow:0 1px 0 var(--rule);border-radius:4px;padding:1px 5px;font-size:10px}.sticky-head{z-index:30;background:color-mix(in oklab, var(--paper) 92%, transparent);-webkit-backdrop-filter:saturate(1.2)blur(8px);border-bottom:1px solid var(--rule);margin:-32px -40px 20px;padding-top:16px;padding-left:40px;padding-right:40px;position:sticky;top:0}.sticky-head header.doc{margin-bottom:14px}.sticky-head .pdu-tabs{margin-bottom:12px}.pdu-tabs{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:stretch;gap:2px;margin-bottom:20px;padding:4px;display:flex;overflow-x:auto}.pdu-tab{border-radius:var(--radius-sm);cursor:pointer;text-align:left;min-width:180px;font-family:var(--ui);background:0 0;border:1px solid #0000;flex-direction:column;flex:1;gap:4px;padding:10px 14px;transition:all .12s;display:flex;position:relative}.pdu-tab:hover:not(.active){background:var(--chip)}.pdu-tab.active{padding-left:10px;background:color-mix(in oklab, var(--ink) 4%, var(--paper-2))!important;color:var(--ink)!important;border-color:var(--rule)!important;border-left:3px solid var(--tab-accent,var(--ok))!important}.pdu-tab.active:hover{background:color-mix(in oklab, var(--ink) 7%, var(--paper-2))!important}.pdu-tab .tab-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pdu-tab .tab-name{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-size:11px;font-weight:600}.pdu-tab.overview .tab-name{color:var(--accent)}.pdu-tab .tab-dot{background:var(--ok);border-radius:50%;width:6px;height:6px}.pdu-tab .tab-dot.warn{background:var(--warn)}.pdu-tab .tab-dot.over{background:var(--danger)}.pdu-tab .tab-meta{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:6px;font-size:10px;display:flex}.pdu-tab .tab-bar{background:var(--rule-2);border-radius:999px;height:3px;margin-top:4px;position:relative;overflow:hidden}.pdu-tab .tab-bar .seg-l1,.pdu-tab .tab-bar .seg-l2,.pdu-tab .tab-bar .seg-l3{border-radius:0;position:absolute;top:0;bottom:0}.pdu-tab .tab-bar .seg-l1{background:var(--l1);left:0}.pdu-tab .tab-bar .seg-l2{background:var(--l2)}.pdu-tab .tab-bar .seg-l3{background:var(--l3)}.pdu-tab .tab-rename{color:var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:11px;font-weight:600}.pdu-tab .tab-rename:focus{cursor:text;background:var(--paper);color:var(--ink);letter-spacing:.02em;border-radius:3px;padding:2px 4px}.pdu-tab .tab-remove{color:var(--ink-4);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;padding:0;font-size:14px;font-weight:400;line-height:1;transition:opacity .12s,background .12s,color .12s;display:flex}.pdu-tab:hover .tab-remove,.pdu-tab.active .tab-remove{opacity:.7}.pdu-tab .tab-remove:hover{background:var(--danger);color:#fff;opacity:1}.pdu-tab.add-pdu{border:1px dashed var(--rule-2);min-width:120px;color:var(--ink-3);background:0 0;flex:none;justify-content:center;align-items:center;gap:2px}.pdu-tab.add-pdu:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, transparent)}.pdu-tab.add-pdu .add-pdu-icon{font-size:20px;font-weight:300;line-height:1}.pdu-tab.add-pdu .add-pdu-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.rack-kpi-strip{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}@media (max-width:900px){.rack-kpi-strip{grid-template-columns:repeat(2,1fr)}}.rack-kpi{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;min-height:92px;padding:14px 16px;display:flex}.rack-kpi .rk-lbl{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.rack-kpi .rk-val{font-family:var(--ui);color:var(--ink);letter-spacing:-.02em;font-feature-settings:"zero","ss02","tnum";font-size:26px;font-weight:600;line-height:1}.rack-kpi .rk-val small{color:var(--ink-3);margin-left:3px;font-size:13px;font-weight:500}.rack-kpi .rk-val.warn{color:var(--warn)}.rack-kpi .rk-val.ok{color:var(--ok)}.rack-kpi .rk-sub{font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:auto;font-size:10.5px;line-height:1.4;display:flex}.rack-kpi .rk-sub .chip-aa,.rack-kpi .rk-sub .chip-ap,.rack-kpi .rk-sub .chip-single,.rack-kpi .rk-sub .chip-unknown{font-family:var(--mono);background:var(--chip);color:var(--ink-2);border:1px solid var(--rule);letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:500;display:inline-flex}.rack-kpi .rk-sub .chip-aa{color:var(--ok);border-color:color-mix(in oklab, var(--ok) 30%, var(--rule));background:color-mix(in oklab, var(--ok) 8%, var(--paper-2))}.rack-kpi .rk-sub .chip-ap{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 30%, var(--rule));background:var(--accent-soft)}.rack-kpi .rk-sub .chip-single{color:var(--warn);border-color:color-mix(in oklab, var(--warn) 30%, var(--rule));background:color-mix(in oklab, var(--warn) 8%, var(--paper-2))}.rack-kpi .rk-sub .chip-unknown{color:var(--ink-3)}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:24px;display:grid}.overview-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.overview-card .oc-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding-bottom:8px;display:flex}.overview-card .oc-name{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-size:12px;font-weight:600}.overview-card .oc-model{font-family:var(--mono);color:var(--ink-3);font-size:10px}.overview-card .oc-row{font-family:var(--mono);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.overview-card .oc-row .k{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.overview-card .oc-row .v{color:var(--ink);font-weight:500}.overview-card .oc-row .v.warn{color:var(--warn)}.overview-card .oc-row .v.over{color:var(--danger)}.overview-card .oc-phases{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px;display:grid}.overview-card .oc-phase{background:var(--chip);font-family:var(--mono);border-radius:4px;padding:6px 8px;font-size:10px}.overview-card .oc-phase .lbl{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.overview-card .oc-phase[data-p="1"]{border-left:2px solid var(--l1)}.overview-card .oc-phase[data-p="2"]{border-left:2px solid var(--l2)}.overview-card .oc-phase[data-p="3"]{border-left:2px solid var(--l3)}.overview-card .oc-phase .w{color:var(--ink);font-size:11px;font-weight:500;display:block}.overview-card .oc-mini-bar{background:var(--rule-2);border-radius:999px;height:4px;margin-top:4px;overflow:hidden}.overview-card .oc-mini-bar .fill{background:var(--ink-2);height:100%}.overview-card .oc-mini-bar .fill.warn{background:var(--warn)}.overview-card .oc-mini-bar .fill.over{background:var(--danger)}.overview-card .oc-btn{font-family:var(--mono);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:999px;margin-top:auto;padding:4px 10px;font-size:10px}.overview-card .oc-btn:hover{background:var(--chip);border-color:var(--ink-3);color:var(--ink)}.rack-elev{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:18px 20px}.rack-elev h4{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin:0 0 12px;font-size:10px;font-weight:600;display:flex}.rack-grid{font-family:var(--mono);grid-template-columns:40px 1fr 1fr 1fr 1fr;gap:2px;font-size:10px;display:grid}.rack-grid .rh{color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;text-align:center;border-bottom:1px solid var(--rule);padding:4px 6px;font-size:9px}.rack-grid .rh.ru-col-h{text-align:left}.rack-grid .ru-cell{color:var(--ink-4);border-bottom:1px dotted var(--rule-2);text-align:right;padding:3px 6px;font-size:10px}.rack-grid .dev-cell{border-bottom:1px dotted var(--rule-2);white-space:nowrap;text-overflow:ellipsis;background:0 0;padding:3px 6px;font-size:10px;overflow:hidden}.rack-grid .dev-cell.has{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--ink)}.rack-grid .dev-cell.empty{color:var(--ink-4)}.rack-grid .dev-cell.ps-a:before,.rack-grid .dev-cell.ps-b:before{content:"";vertical-align:1px;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.rack-grid .dev-cell.ps-a:before{background:var(--accent)}.rack-grid .dev-cell.ps-b:before{background:var(--warn)}.rack-grid .ru-sep{border-top:2px solid var(--rule)}.failover-panel{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:16px 20px}.failover-panel h4{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;font-size:10px;font-weight:600}.failover-table{border-collapse:collapse;width:100%;font-size:11px;font-family:var(--mono)}.failover-table th,.failover-table td{text-align:right;border-bottom:1px solid var(--rule-2);padding:8px 10px}.failover-table th:first-child,.failover-table td:first-child{text-align:left;color:var(--ink-3)}.failover-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-size:10px;font-weight:500}.failover-table td.over{color:var(--danger);font-weight:600}.failover-table td.warn{color:var(--warn);font-weight:600}.cable-wrap{align-items:center;gap:4px;display:flex;position:relative}.cable-wrap .cable-input{min-width:0;font-family:var(--mono);letter-spacing:.01em;flex:1}.cable-wrap.cable-err .cable-input{border-color:var(--danger);background:color-mix(in oklch, var(--danger) 8%, var(--paper));color:var(--danger)}.cable-wrap.cable-warn .cable-input{border-color:var(--warn);background:color-mix(in oklch, var(--warn) 8%, var(--paper))}.cable-wrap .cable-flag{cursor:help;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex;position:relative}.cable-wrap .cable-flag-dot{font-family:var(--ui);font-weight:600}.cable-wrap .cable-flag-dot:before{content:"⚠"}.cable-wrap .cable-flag-err{color:var(--danger)}.cable-wrap .cable-flag-warn{color:var(--warn)}.cable-wrap .cable-flag-tip{z-index:60;background:var(--paper-2);border:1px solid var(--rule);min-width:200px;max-width:320px;font-family:var(--ui);color:var(--ink);white-space:normal;pointer-events:none;opacity:0;border-left:3px solid;border-radius:6px;padding:7px 10px;font-size:11px;line-height:1.45;transition:opacity .11s,transform .11s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-2px);box-shadow:0 6px 18px #00000059}.cable-wrap .cable-flag:hover .cable-flag-tip,.cable-wrap .cable-flag:focus-visible .cable-flag-tip{opacity:1;transform:translateY(0)}.cable-wrap .cable-flag-tip-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:currentColor;margin-bottom:4px;font-size:9px;font-weight:600;display:block}.cable-wrap .cable-flag-tip div{color:var(--ink-2)}.at-risk-banner{background:color-mix(in oklch, var(--warn) 10%, var(--paper));border:1px solid color-mix(in oklch, var(--warn) 45%, var(--rule-2));border-left:3px solid var(--warn);border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:10px 0 14px;padding:10px 14px;display:grid}.at-risk-banner .rb-icon{color:var(--warn);padding-top:1px;font-size:16px;line-height:1.2}.at-risk-banner .rb-content{min-width:0}.at-risk-banner .rb-head{font-family:var(--ui);color:var(--ink-1);margin-bottom:6px;font-size:12px;line-height:1.45}.at-risk-banner .rb-head strong{color:var(--ink-0)}.at-risk-banner .rb-head a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-underline-offset:2px}.at-risk-banner .rb-head a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.at-risk-banner .rb-items{font-family:var(--ui);flex-wrap:wrap;gap:6px 10px;font-size:11px;display:flex}.at-risk-banner .risk-item{background:var(--paper);border:1px solid color-mix(in oklch, var(--warn) 30%, var(--rule-2));color:var(--ink-1);white-space:nowrap;border-radius:4px;align-items:baseline;gap:4px;padding:2px 7px;display:inline-flex}.at-risk-banner .risk-item strong{color:var(--ink-0);font-variant-numeric:tabular-nums;font-weight:600}.at-risk-banner .risk-item em{color:var(--ink-3);font-size:10px;font-style:normal}.at-risk-banner .risk-more{color:var(--ink-3);background:0 0;border-style:dashed}.psu-topo-flash{animation:1.4s ease-out psuTopoFlash}@keyframes psuTopoFlash{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--warn) 60%, transparent)}30%{box-shadow:0 0 0 6px color-mix(in oklch, var(--warn) 25%, transparent)}to{box-shadow:0 0 #0000}}.psu-topo{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 14px;margin-top:4px;display:grid}.psu-topo-row{background:var(--paper);border:1px solid var(--rule-2);border-radius:8px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:44px;padding:8px 10px;font-size:11px;display:grid}.psu-topo-row .tpo-ru{font-family:var(--mono);color:var(--ink-3);text-align:center;background:var(--paper-2);border:1px solid var(--rule);letter-spacing:.04em;border-radius:5px;padding:3px 0;font-size:10px;font-weight:600}.psu-topo-row .tpo-label{flex-direction:column;gap:2px;min-width:0;display:flex}.psu-topo-row .tpo-name{font-family:var(--ui);color:var(--ink-1);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.psu-topo-row .tpo-meta{font-family:var(--mono);color:var(--ink-4);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.psu-topo-row .tpo-slots{flex-shrink:0;gap:4px;display:inline-flex}.psu-slot{width:32px;height:22px;font-family:var(--mono);letter-spacing:.04em;cursor:default;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:inline-flex}.psu-slot.side-a{color:#0096ec;color:lab(58.7922% -9.5771 -55.0674);background:color-mix(in oklab, #0096ec 14%, var(--paper));border-color:#0096ec59;border-color:lab(58.7922% -9.5771 -55.0674/.35)}@supports (color:lab(0% 0 0)){.psu-slot.side-a{background:color-mix(in oklab, lab(58.7922% -9.5771 -55.0674) 14%, var(--paper))}}.psu-slot.side-b{color:#ed5350;color:lab(57.5028% 59.8955 35.7154);background:color-mix(in oklab, #ed5350 14%, var(--paper));border-color:#ed535059;border-color:lab(57.5028% 59.8955 35.7154/.35)}@supports (color:lab(0% 0 0)){.psu-slot.side-b{background:color-mix(in oklab, lab(57.5028% 59.8955 35.7154) 14%, var(--paper))}}.psu-slot.missing{color:var(--ink-4);border:1px dashed var(--rule);background:0 0}.tpo-mode{font-family:var(--mono);border:1px solid var(--rule);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:600}.tpo-mode.m-aa{color:var(--ok);border-color:color-mix(in oklab, var(--ok) 30%, var(--rule));background:color-mix(in oklab, var(--ok) 8%, var(--paper-2))}.tpo-mode.m-ap{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 30%, var(--rule));background:var(--accent-soft)}.tpo-mode.m-single{color:var(--warn);border-color:color-mix(in oklab, var(--warn) 30%, var(--rule));background:color-mix(in oklab, var(--warn) 8%, var(--paper-2))}.tpo-mode.m-unknown{color:var(--ink-3)}.tpo-count{font-family:var(--mono);border:1px solid var(--rule);color:var(--ink-3);background:var(--paper-2);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:600}.tpo-count.warn{color:var(--warn);border-color:color-mix(in oklab, var(--warn) 35%, var(--rule));background:color-mix(in oklab, var(--warn) 8%, var(--paper-2))}.psu-topo-row.at-risk{border-color:color-mix(in oklab, var(--warn) 40%, var(--rule));background:color-mix(in oklab, var(--warn) 5%, var(--paper))}.psu-topo-legend{font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 12px;font-size:10px;display:flex}.psu-topo-legend .lg-item{align-items:center;gap:6px;display:inline-flex}.failover-explainer{border-top:1px solid var(--rule-2);grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:14px;padding-top:14px;display:grid}.failover-explainer .fx-intro{color:var(--ink-2);background:color-mix(in oklab, var(--accent) 5%, transparent);border-left:2px solid var(--accent);border-radius:0 4px 4px 0;grid-column:1/-1;padding:10px 14px;font-size:12.5px;line-height:1.55}.failover-explainer .fx-intro strong{color:var(--ink)}.failover-explainer .fx-card{background:var(--paper);border:1px solid var(--rule-2);border-radius:6px;padding:12px 14px}.failover-explainer .fx-card h5{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0 0 8px;font-size:10px;font-weight:600;display:flex}.failover-explainer .fx-card h5 .fx-badge{width:22px;height:16px;font-family:var(--mono);background:var(--chip);color:var(--ink-2);letter-spacing:0;border-radius:3px;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.failover-explainer .fx-card[data-mode=aa] h5 .fx-badge{background:color-mix(in oklab, var(--ok) 18%, var(--chip));color:var(--ok)}.failover-explainer .fx-card[data-mode=ap] h5 .fx-badge{background:color-mix(in oklab, var(--warn) 18%, var(--chip));color:var(--warn)}.failover-explainer .fx-card[data-mode=single] h5 .fx-badge{background:color-mix(in oklab, var(--danger) 18%, var(--chip));color:var(--danger)}.failover-explainer .fx-card[data-mode=unknown] h5 .fx-badge{background:var(--chip);color:var(--ink-3)}.failover-explainer .fx-card p{color:var(--ink-2);margin:0;font-size:12px;line-height:1.55}.failover-explainer .fx-card .fx-math{font-family:var(--mono);color:var(--ink-3);background:var(--chip);border-radius:3px;margin-top:8px;padding:6px 8px;font-size:10.5px;display:inline-block}@media (max-width:900px){.failover-explainer{grid-template-columns:1fr}}@media (max-width:1100px){.kpi-strip{grid-template-columns:1fr 1fr 1fr}.kpi.lead{grid-column:span 3}}@media (max-width:900px){.hero,.summary-grid,.split-grid{grid-template-columns:1fr}.kpi-strip{grid-template-columns:1fr 1fr}.kpi.lead{grid-column:span 2}}.cm-overlay{z-index:9000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000047;background:lab(0% 0 0/.28);justify-content:center;align-items:flex-start;padding:40px 24px;display:none;position:fixed;inset:0;overflow:auto}.cm-overlay.open{display:flex}.cm-modal{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:8px;flex-direction:column;width:min(1200px,100%);max-width:100%;max-height:calc(100vh - 80px);display:flex;box-shadow:0 8px 28px #0000001f,0 2px 6px #0000000f}.cm-head{border-bottom:1px solid var(--rule-2);flex-shrink:0;align-items:center;gap:12px;padding:12px 18px;display:flex}.cm-head h3{letter-spacing:.01em;color:var(--ink);margin:0;font-size:13px;font-weight:600}.cm-head .cm-sub{color:var(--ink-3);font-size:11px;font-family:var(--mono)}.cm-head .cm-spacer{flex:1}.cm-tabs{background:var(--chip);border-radius:6px;gap:2px;padding:2px;display:flex}.cm-tab{color:var(--ink-3);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--ui);background:0 0;border:none;border-radius:4px;padding:5px 12px}.cm-tab:hover{color:var(--ink)}.cm-tab.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014}.cm-actions{gap:6px;display:flex}.cm-btn{background:var(--paper-2);color:var(--ink);border:1px solid var(--rule);cursor:pointer;font-size:11px;font-family:var(--ui);border-radius:5px;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.cm-btn:hover{background:var(--chip)}.cm-btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cm-btn.primary:hover{opacity:.9}.cm-close{width:28px;height:28px;color:var(--ink-3);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cm-close:hover{background:var(--chip);color:var(--ink)}.cm-body{flex:1;min-height:0;padding:16px 20px 20px;overflow:auto}.cm-empty{text-align:center;color:var(--ink-3);padding:60px 20px;font-size:13px}.cm-empty svg{opacity:.3;margin-bottom:12px}.cm-table{border-collapse:collapse;width:100%;font-family:var(--mono);color:var(--ink);font-size:11px}.cm-table thead{z-index:2;background:var(--paper);position:sticky;top:0}.cm-table th{text-align:left;font-family:var(--ui);letter-spacing:.04em;color:var(--ink-4);border-bottom:1px solid var(--rule-2);white-space:nowrap;padding:7px 10px 5px;font-size:10px;font-weight:500}.cm-table th.cm-chk-head{text-align:center;padding:4px 6px}.cm-chk-all{border:1.5px solid var(--ink-3);background:var(--paper);cursor:pointer;vertical-align:middle;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:inline-flex}.cm-chk-all:hover{border-color:var(--accent)}.cm-chk-all svg{width:10px;height:10px;color:var(--paper);opacity:0}.cm-chk-all.checked,.cm-chk-all.partial{background:var(--accent);border-color:var(--accent)}.cm-chk-all.checked svg,.cm-chk-all.partial svg{opacity:1}.cm-chk-all.partial svg{opacity:1;transform:scale(.7)}.cm-table td{border-bottom:1px solid var(--rule-2);vertical-align:middle;padding:7px 10px}.cm-table tr:hover td{background:color-mix(in oklab, var(--accent) 4%, transparent)}.cm-table tr.cm-done td{color:var(--ink-4);background:color-mix(in oklab, var(--ok) 5%, transparent)}.cm-table tr.cm-done td:not(:first-child){text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--ink-4) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--ink-4) 60%, transparent)}.cm-table td.num{text-align:right}.cm-table td.ctr{text-align:center}.cm-table .cm-pdu-tag{background:var(--chip);color:var(--ink-2);border:1px solid var(--rule);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.cm-table .cm-pdu-tag.side-a{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 30%, var(--rule));background:var(--accent-soft)}.cm-table .cm-pdu-tag.side-b{color:var(--warn);border-color:color-mix(in oklab, var(--warn) 30%, var(--rule));background:color-mix(in oklab, var(--warn) 10%, var(--paper))}.cm-table .cm-port{color:var(--ink-0);font-weight:600}.cm-table .cm-arrow{color:var(--ink-4);padding:0 6px}.cm-table .cm-chk{border:1.5px solid var(--ink-3);cursor:pointer;background:var(--paper);vertical-align:middle;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:inline-flex}.cm-table .cm-chk:hover{border-color:var(--accent)}.cm-table .cm-chk svg{width:10px;height:10px;color:var(--paper);opacity:0;pointer-events:none}.cm-table .cm-chk.checked{background:var(--ok);border-color:var(--ok)}.cm-table .cm-chk.checked svg{opacity:1}.cm-table .cm-warn{color:var(--danger);font-weight:600}.cm-table .cm-muted{color:var(--ink-4)}.cm-group{page-break-inside:avoid;margin-top:20px}.cm-group:first-child{margin-top:0}.cm-group-head{border-bottom:1px solid var(--rule);align-items:baseline;gap:10px;margin-bottom:0;padding:6px 10px 5px;display:flex}.cm-group-title{color:var(--ink);letter-spacing:0;font-size:12px;font-weight:600}.cm-group-sub{color:var(--ink-3);font-size:10.5px;font-family:var(--mono)}.cm-group-count{color:var(--ink-3);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-left:auto}.cm-style-toggle{background:var(--chip);border-radius:6px;gap:2px;padding:2px;display:flex}.cm-style-btn{color:var(--ink-3);cursor:pointer;font-size:10.5px;font-weight:500;font-family:var(--ui);letter-spacing:.02em;background:0 0;border:none;border-radius:4px;padding:5px 10px}.cm-style-btn:hover{color:var(--ink)}.cm-style-btn.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014}.cm-soft{--cm-accent-soft:#7cc0b7}@supports (color:lab(0% 0 0)){.cm-soft{--cm-accent-soft:lab(73.0025% -23.9027 -2.49956)}}.dark .cm-soft{--cm-accent-soft:#3f9086}@supports (color:lab(0% 0 0)){.dark .cm-soft{--cm-accent-soft:lab(54.5623% -27.5031 -2.83293)}}.cm-soft .cm-body{background:color-mix(in oklab, var(--paper) 60%, var(--paper-2));padding:20px 22px 22px}.cm-soft .cm-head{border-bottom:1px solid var(--rule-2);padding:16px 22px}.cm-soft .cm-head h3{letter-spacing:0;font-size:14px}.cm-soft .cm-sub{font-size:11.5px}.cm-soft .cm-btn,.cm-soft .cm-close{border-color:color-mix(in oklab, var(--ink) 14%, transparent);background:var(--paper-2);border-radius:20px;padding:6px 14px;font-size:11px;transition:background .15s,border-color .15s}.cm-soft .cm-close{width:30px;height:30px;padding:0}.cm-soft .cm-btn:hover,.cm-soft .cm-close:hover{background:var(--chip);border-color:color-mix(in oklab, var(--ink) 20%, transparent)}.cm-soft .cm-btn.primary,.cm-soft .cm-btn.primary:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cm-soft .cm-tabs,.cm-soft .cm-style-toggle{background:color-mix(in oklab, var(--ink) 6%, var(--chip));border-radius:20px;padding:3px}.cm-soft .cm-tab,.cm-soft .cm-style-btn{border-radius:16px;padding:6px 14px;font-size:11px}.cm-soft .cm-tab.active,.cm-soft .cm-style-btn.active{background:var(--paper);box-shadow:0 1px 3px #00000014}.cm-soft .cm-table{border-collapse:separate;border-spacing:0 6px;font-size:12px}.cm-soft .cm-table thead{background:0 0}.cm-soft .cm-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);border-bottom:none;padding:4px 14px 8px;font-size:10px;font-weight:500}.cm-soft .cm-table tbody tr{background:var(--paper);box-shadow:0 1px 0 color-mix(in oklab, var(--ink) 6%, transparent);border-radius:8px;position:relative}.cm-soft .cm-table tbody tr:hover td{background:0 0}.cm-soft .cm-table tbody tr:hover{background:color-mix(in oklab, var(--accent) 3%, var(--paper))}.cm-soft .cm-table td{vertical-align:middle;border-bottom:none;padding:12px 14px}.cm-soft .cm-table td:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px;padding-left:18px;position:relative}.cm-soft .cm-table td:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.cm-soft .cm-table tbody tr:before{content:"";background:var(--cm-accent-soft);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.cm-soft .cm-table tbody tr.cm-done:before{background:var(--ok)}.cm-soft .cm-table tbody tr.cm-done{background:color-mix(in oklab, var(--ok) 5%, var(--paper))}.cm-soft .cm-table tbody tr.cm-done td:not(:first-child){text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--ink-4) 50%, transparent);text-decoration-color:color-mix(in oklab, var(--ink-4) 50%, transparent);opacity:.7}.cm-soft .cm-pdu-tag{letter-spacing:.01em;white-space:nowrap;border:none;border-radius:14px;padding:3px 10px;font-size:10.5px;font-weight:500}.cm-soft .cm-pdu-tag.side-a{background:color-mix(in oklab, var(--accent) 14%, var(--paper-2));color:var(--accent)}.cm-soft .cm-pdu-tag.side-b{background:color-mix(in oklab, var(--warn) 14%, var(--paper-2));color:var(--warn)}.cm-soft .cm-table .cm-chk,.cm-soft .cm-chk-all{border:1.5px solid color-mix(in oklab, var(--ink) 22%, transparent);border-radius:50%;width:18px;height:18px}.cm-soft .cm-table .cm-chk svg,.cm-soft .cm-chk-all svg{width:11px;height:11px}.cm-soft .cm-table .cm-chk.checked,.cm-soft .cm-chk-all.checked,.cm-soft .cm-chk-all.partial{background:var(--cm-accent-soft);border-color:var(--cm-accent-soft)}.cm-soft .cm-table .cm-port{font-family:var(--mono);font-size:13px;font-weight:600}.cm-soft .cm-group{margin-top:24px}.cm-soft .cm-group-head{border-bottom:1px solid var(--rule-2);margin-bottom:4px;padding:6px 14px 10px}.cm-soft .cm-group-title{font-size:13px;font-weight:600}.cm-soft .cm-group-sub,.cm-soft .cm-group-count{font-size:10.5px}.cm-soft .cm-table .cm-warn{background:color-mix(in oklab, var(--danger) 10%, transparent);border-radius:10px;padding:2px 8px;font-size:10.5px}.cm-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;display:grid}.cm-card{border:1px solid var(--rule);background:var(--paper);border-radius:8px;grid-template-columns:auto 1fr;gap:10px 12px;padding:12px 14px;transition:background .15s,border-color .15s;display:grid;position:relative}.cm-card.cm-done{background:color-mix(in oklab, var(--ok) 6%, transparent);border-color:color-mix(in oklab, var(--ok) 25%, var(--rule))}.cm-card.cm-done .cm-card-body,.cm-card.cm-done .cm-card-head{opacity:.65}.cm-card.cm-done .cm-card-line{text-decoration:line-through}.cm-card .cm-chk{align-self:start;margin-top:2px;position:static}.cm-card-body{min-width:0}.cm-card-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.cm-card-port{font-family:var(--mono);color:var(--ink);letter-spacing:.01em;font-size:18px;font-weight:700}.cm-card-port .cm-port-prefix{color:var(--ink-4);letter-spacing:.06em;margin-right:4px;font-size:10px;font-weight:500}.cm-card-arrow{color:var(--ink-4);margin:0 2px;font-size:14px}.cm-card-device{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.cm-card-lines{grid-template-columns:auto 1fr;gap:2px 8px;font-size:11px;display:grid}.cm-card-line-label{color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em;padding-top:1px;font-size:10px}.cm-card-line{font-family:var(--mono);color:var(--ink-2)}.cm-card-line.cm-warn{color:var(--danger);font-weight:600}.cm-wo{flex-direction:column;gap:8px;display:flex}.cm-wo-step{border:1px solid var(--rule);border-left:4px solid var(--accent);background:var(--paper);border-radius:6px;grid-template-columns:40px auto 1fr auto;align-items:center;gap:14px;padding:12px 16px;transition:all .2s;display:grid}.cm-wo-step.cm-done{border-left-color:var(--ok);background:color-mix(in oklab, var(--ok) 5%, transparent)}.cm-wo-step.cm-done .cm-wo-main{opacity:.55;text-decoration:line-through}.cm-wo-num{font-family:var(--mono);color:var(--ink-3);text-align:right;font-size:16px;font-weight:700}.cm-wo-step.cm-done .cm-wo-num{color:var(--ok)}.cm-wo-main{flex-direction:column;gap:4px;min-width:0;display:flex}.cm-wo-instruction{color:var(--ink);font-size:13px;line-height:1.4}.cm-wo-instruction .wo-tok{font-family:var(--mono);background:var(--chip);color:var(--ink);border-radius:3px;margin:0 1px;padding:1px 6px;font-size:12px;font-weight:600;display:inline-block}.cm-wo-instruction .wo-tok.tok-pdu-a{background:var(--accent-soft);color:var(--accent)}.cm-wo-instruction .wo-tok.tok-pdu-b{background:color-mix(in oklab, var(--warn) 10%, var(--paper));color:var(--warn)}.cm-wo-instruction .wo-tok.tok-cable{background:color-mix(in oklab, var(--ink) 8%, transparent);color:var(--ink-0)}.cm-wo-instruction .wo-tok.tok-warn{background:color-mix(in oklab, var(--danger) 12%, transparent);color:var(--danger)}.cm-wo-meta{font-family:var(--mono);color:var(--ink-4);flex-wrap:wrap;gap:10px;font-size:10.5px;display:flex}.cm-wo-meta span:after{content:"·";color:var(--ink-4);opacity:.4;margin-left:10px}.cm-wo-meta span:last-child:after{content:"";margin-left:0}.cm-bp-wrap{background:repeating-linear-gradient(to right, transparent 0, transparent 39px, color-mix(in oklab, var(--accent) 4%, transparent) 40px), repeating-linear-gradient(to bottom, transparent 0, transparent 19px, color-mix(in oklab, var(--accent) 3%, transparent) 20px), var(--paper);border:1px solid var(--rule);border-radius:4px;padding:18px}.cm-bp-title{font-family:var(--mono);color:var(--ink-3);letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--rule);justify-content:space-between;margin-bottom:12px;padding-bottom:8px;font-size:10px;display:flex}.cm-bp-row{font-family:var(--mono);border-bottom:1px dashed color-mix(in oklab, var(--ink) 15%, transparent);grid-template-columns:24px 60px 1fr 80px 1fr 40px;align-items:center;gap:0;padding:8px 0;font-size:11px;display:grid}.cm-bp-row.cm-done{opacity:.45}.cm-bp-row.cm-done .cm-bp-line{text-decoration:line-through}.cm-bp-row .cm-chk{margin:0}.cm-bp-port{color:var(--ink);padding-left:8px;font-size:13px;font-weight:700}.cm-bp-port.side-a{color:var(--accent)}.cm-bp-port.side-b{color:var(--warn)}.cm-bp-line{background:linear-gradient(to right, var(--ink-3) 0, var(--ink-3) 50%, transparent 50%);background-size:8px 2px;height:2px;margin:0 12px;position:relative}.cm-bp-line:before,.cm-bp-line:after{content:"";border:1.5px solid var(--ink);background:var(--paper);border-radius:50%;width:6px;height:6px;position:absolute;top:-2.5px}.cm-bp-line:before{left:-1px}.cm-bp-line:after{right:-1px}.cm-bp-cable{color:var(--ink-2);text-align:center;background:var(--paper);z-index:1;letter-spacing:.02em;padding:0 6px;font-size:10px;font-weight:600;position:relative}.cm-bp-cable.cm-warn{color:var(--danger)}.cm-bp-device{color:var(--ink);padding-left:8px}.cm-bp-device .bp-host{font-weight:600}.cm-bp-device .bp-meta{color:var(--ink-3);font-size:10px}.cm-bp-ru{color:var(--ink-2);text-align:right;font-size:11px;font-weight:700}.cm-grp-wrap{border:1px solid var(--rule);background:var(--paper);border-radius:6px;overflow:hidden}.cm-grp-table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:10.5px}.cm-grp-table thead tr.grp-supra th{font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:#fff;border-right:1px solid #ffffff40;padding:7px 12px;font-size:10px;font-weight:600}.cm-grp-table thead tr.grp-supra th:last-child{border-right:none}.cm-grp-table thead tr.grp-supra th.grp-dev1,.cm-grp-table thead tr.grp-supra th.grp-dev2{background:#f2a26a;background:lab(73.9385% 26.5933 41.8398)}.cm-grp-table thead tr.grp-supra th.grp-cable{background:#60a7d6;background:lab(65.1775% -12.6179 -31.6242)}.cm-grp-table thead tr.grp-supra th.grp-chk{background:var(--chip);color:var(--ink-4)}.dark .cm-grp-table thead tr.grp-supra th.grp-dev1,.dark .cm-grp-table thead tr.grp-supra th.grp-dev2{background:#ad5700;background:lab(47.0311% 33.243 58.939)}.dark .cm-grp-table thead tr.grp-supra th.grp-cable{background:#006a9e;background:lab(41.8007% -11.3744 -37.2922)}.cm-grp-table thead tr.grp-sub th{font-family:var(--ui);letter-spacing:.04em;text-transform:uppercase;text-align:left;color:var(--ink-3);background:var(--paper-2);border-right:1px solid var(--rule-2);border-bottom:1px solid var(--rule);white-space:nowrap;padding:6px 10px 5px;font-size:9.5px;font-weight:500}.cm-grp-table thead tr.grp-sub th.grp-divider-l{border-left:2px solid var(--rule)}.cm-grp-table tbody td{border-bottom:1px solid var(--rule-2);border-right:1px solid var(--rule-2);white-space:nowrap;color:var(--ink-2);padding:6px 10px}.cm-grp-table tbody td.grp-divider-l{border-left:2px solid var(--rule)}.cm-grp-table tbody tr:hover td{background:color-mix(in oklab, var(--accent) 3%, transparent)}.cm-grp-table tbody tr.cm-done td{color:var(--ink-4);background:color-mix(in oklab, var(--ok) 4%, transparent)}.cm-grp-table tbody tr.cm-done td:not(:first-child){text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--ink-4) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--ink-4) 60%, transparent)}.cm-grp-table .grp-port{color:var(--ink);font-weight:700}.cm-grp-table .grp-side-a{color:var(--accent)}.cm-grp-table .grp-side-b{color:var(--warn)}.cm-grp-table .grp-mono-strong{color:var(--ink);font-weight:600}@media print{body>:not(.cm-overlay){display:none!important}.cm-overlay{background:#fff;padding:0;position:static;overflow:visible;display:block!important}.cm-modal{box-shadow:none;border:none;border-radius:0;max-width:100%;max-height:none}.cm-head{border-bottom:2px solid #000;padding:0 0 10px}.cm-head .cm-actions,.cm-head .cm-close,.cm-tabs{display:none!important}.cm-body{padding:12px 0 0;overflow:visible}.cm-table{font-size:10px}.cm-table th{color:#000;border-bottom-color:#000}.cm-group-head{border-bottom-color:#000}.cm-group{page-break-inside:auto}.cm-table tr{page-break-inside:avoid}.cm-table tr:hover td{background:0 0}}html[data-style=soft]{--soft-accent:#7cc0b7;--soft-radius-lg:14px;--soft-radius-md:10px;--soft-radius-sm:6px}@supports (color:lab(0% 0 0)){html[data-style=soft]{--soft-accent:lab(73.0025% -23.9027 -2.49956)}}html[data-style=soft][data-theme=dark]{--soft-accent:#46968c}@supports (color:lab(0% 0 0)){html[data-style=soft][data-theme=dark]{--soft-accent:lab(56.8823% -27.483 -2.83536)}}html[data-style=soft] .kpi{border-radius:var(--soft-radius-lg);box-shadow:0 1px 0 color-mix(in oklab, var(--ink) 6%, transparent), 0 0 0 1px color-mix(in oklab, var(--ink) 4%, transparent) inset;border:none;padding:18px 20px;position:relative}html[data-style=soft] .kpi:before{content:"";background:var(--soft-accent);opacity:.7;border-radius:2px;width:2px;position:absolute;top:14px;bottom:14px;left:14px}html[data-style=soft] .kpi.lead:before{display:none}html[data-style=soft] .kpi.lead{border-radius:var(--soft-radius-lg);background:linear-gradient(140deg, var(--ink) 0%, color-mix(in oklab, var(--ink) 70%, var(--accent)) 100%)}html[data-style=soft] .kpi-strip{gap:14px}html[data-style=soft] .kpi .lbl{text-transform:none;letter-spacing:.01em;font-family:var(--ui);color:var(--ink-3);font-size:11px;font-weight:500}html[data-style=soft] .chip{border-radius:999px;padding:4px 12px}html[data-style=soft] .chip.chip-info{background:color-mix(in oklab, var(--ink) 5%, var(--paper-2));border:none}html[data-style=soft] button.btn{background:color-mix(in oklab, var(--ink) 4%, var(--paper-2));box-shadow:0 1px 0 color-mix(in oklab, var(--ink) 6%, transparent);border-color:#0000}html[data-style=soft] button.btn:hover{background:color-mix(in oklab, var(--ink) 8%, var(--paper-2));border-color:#0000;transform:none}html[data-style=soft] button.btn.primary{background:var(--ink);border-color:var(--ink)}html[data-style=soft] .seg{background:color-mix(in oklab, var(--ink) 5%, var(--chip));border:none;border-radius:999px;padding:3px}html[data-style=soft] .seg button{border:none;border-radius:999px;padding:6px 14px}html[data-style=soft] .seg button.on{background:var(--paper);box-shadow:0 1px 3px #00000014}html[data-style=soft] .rack-kpi{border-radius:var(--soft-radius-lg);background:color-mix(in oklab, var(--ink) 4%, var(--paper-2));border:none;padding:16px 18px;position:relative}html[data-style=soft] .rack-kpi:before{content:"";background:var(--soft-accent);opacity:.6;border-radius:2px;width:2px;position:absolute;top:14px;bottom:14px;left:12px}html[data-style=soft] .doc-meta{gap:8px}html[data-style=soft] table.tbl,html[data-style=soft] .summary-table table{border-collapse:separate;border-spacing:0 4px}html[data-style=soft] table.tbl tbody tr{background:var(--paper);box-shadow:0 1px 0 color-mix(in oklab, var(--ink) 5%, transparent)}html[data-style=soft] table.tbl tbody td{border-bottom:none}.sum-table tr.sum-row{cursor:pointer}.sum-table tr.sum-row .row-flip-hint{color:var(--ink-4);opacity:.7;margin-left:4px;font-size:9px;display:inline-block}.sum-table tr.sum-row.expanded .row-flip-hint{color:var(--accent);opacity:1}.sum-table tr.sum-row:hover{background:color-mix(in oklab, var(--chip) 40%, transparent)}.sum-table tr.sum-detail-row td{background:color-mix(in oklab, var(--chip) 40%, transparent);border-bottom:none;padding:0}.sum-table pre.sum-detail{font-family:var(--mono);color:var(--ink-2);white-space:pre-wrap;margin:0;padding:8px 12px;font-size:10px;line-height:1.5}.breaker-bar.mini{background:var(--rule-2);border-radius:999px;width:100%;height:4px;overflow:hidden}.breaker-bar.mini .fill{background:var(--ink-2);border-radius:999px;height:100%}.breaker-bar.mini .fill.warn{background:var(--warn)}.breaker-bar.mini .fill.over{background:var(--danger)}[contenteditable=true]:focus{background:color-mix(in oklab, var(--accent) 8%, transparent);border-radius:3px;outline:none}.cell-with-chevron{align-items:center;display:flex;position:relative}.cell-with-chevron .cell-input{flex:1;min-width:0;padding-right:14px}.cell-chevron{cursor:pointer;color:var(--ink-4);opacity:0;background:0 0;border:none;border-radius:3px;padding:2px 3px;font-size:9px;line-height:1;transition:opacity .12s,color .12s;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.cell-with-chevron:hover .cell-chevron,.cell-with-chevron:focus-within .cell-chevron,td.cell-anchor .cell-chevron,td.cell-selected .cell-chevron{opacity:.65}.cell-chevron:hover{opacity:1;color:var(--ink);background:var(--chip)}.at-risk-banner .risk-item-btn{font:inherit;cursor:pointer;line-height:1.2;transition:background .12s,border-color .12s,transform 60ms}.at-risk-banner .risk-item-btn:hover{background:var(--paper-2);border-color:color-mix(in oklch, var(--warn) 55%, var(--rule-2))}.at-risk-banner .risk-item-btn:active{transform:translateY(1px)}.at-risk-banner .risk-item-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.psu-topo-row.clickable{cursor:pointer;transition:background .12s,border-color .12s,transform 60ms}.psu-topo-row.clickable:hover{background:color-mix(in oklab, var(--warn) 9%, var(--paper));border-color:color-mix(in oklab, var(--warn) 55%, var(--rule))}.psu-topo-row.clickable:active{transform:translateY(1px)}.psu-topo-row.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}table.ports tr.port-row-flash>td{animation:2.8s ease-out portRowFlash}@keyframes portRowFlash{0%{background:color-mix(in oklch, var(--warn) 55%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--warn) 70%, transparent)}20%{background:color-mix(in oklch, var(--warn) 45%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--warn) 55%, transparent)}60%{background:color-mix(in oklch, var(--warn) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--warn) 25%, transparent)}to{background:0 0;box-shadow:inset 0 0 0 1px #0000}}table.ports td{position:relative}table.ports td .fill-handle{background:var(--accent);border:1.5px solid var(--paper-2);cursor:crosshair;z-index:6;border-radius:1px;width:8px;height:8px;transition:transform 80ms;position:absolute;bottom:-2px;right:-2px;box-shadow:0 1px 2px #00000040}table.ports td .fill-handle:hover{transform:scale(1.25)}table.ports td.cell-fill-target{background:color-mix(in oklab, var(--accent) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 38%, transparent)}.fill-options-badge{background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-md);z-index:200;font-family:var(--ui);border-radius:8px;gap:2px;padding:4px;font-size:11px;display:inline-flex}.fill-options-badge .fob-opt{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:5px 9px;font-family:inherit;font-size:11px;display:inline-flex}.fill-options-badge .fob-opt:hover{background:var(--chip);color:var(--ink)}.fill-options-badge .fob-opt.active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in oklab, var(--accent) 30%, transparent)}.fill-options-badge .fob-bullet{font-family:var(--mono);color:var(--ink-3);font-size:11px}.fill-options-badge .fob-opt.active .fob-bullet{color:var(--accent)}.fill-options-badge .fob-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 6px;font-size:14px;line-height:1}.fill-options-badge .fob-close:hover{background:var(--chip);color:var(--ink)}.changelog-pop h5{background:var(--paper-2);z-index:1;margin:0 -16px 10px;padding:0 16px 8px;position:sticky;top:0}header.doc .header-actions{flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.toolbar .toolbar-spacer{flex:auto}.toolbar .toolbar-meta{font-family:var(--mono);color:var(--ink-3);flex-wrap:nowrap;align-items:center;gap:8px;font-size:11px;display:inline-flex}.kpi-strip{gap:10px;margin-bottom:18px}.kpi{padding:12px 14px}.kpi .lbl{margin-bottom:8px}.kpi .big{font-size:23px}.kpi .big .unit{font-size:12px}.kpi .sub{margin-top:6px}.kpi .mini-bar{margin-top:9px}.hero{gap:10px;margin-bottom:18px}.phase-card{padding:14px 16px 16px}.phase-card .head{margin-bottom:10px}.phase-card .big{margin-bottom:4px;font-size:24px}.phase-card .big .unit{font-size:12px}.phase-card .sub{margin-bottom:12px}.phase-card .phasing-readout{margin-bottom:10px;padding:7px 10px}.phase-card .phasing-readout .ph-value{font-size:22px}.phase-card .phasing-readout .ph-value .ph-unit{font-size:12px}.phase-card .ticks{margin-top:5px}.section-head{margin-bottom:8px;padding-bottom:6px}.toolbar{flex-wrap:nowrap}.toolbar-spacer{flex:auto;min-width:8px}.toolbar-meta{flex:none;gap:8px}.toolbar-meta .chip.chip-info{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 14px;line-height:1.2;display:inline-flex}.toolbar-meta .chip.chip-info .k{letter-spacing:.08em;font-size:9px}.toolbar-meta .chip.chip-info strong{padding-right:4px;font-size:11px}.toolbar-meta .chip.chip-info:has(.chip-i){padding-right:22px}.toolbar-meta .chip.chip-info:has(.chip-i) strong{padding-right:0}.toolbar-meta .chip-i{width:12px;height:12px;font-size:9px;top:7px;right:7px}table.ports td.cell-locked{background:color-mix(in oklab, var(--ink) 3%, transparent)}table.ports td.cell-locked input[readonly],table.ports td.cell-locked select:disabled{cursor:not-allowed;color:var(--ink-3);opacity:.85}table.ports td.cell-locked .breaker-input{border-color:var(--rule-2);background:0 0}.status-pill-wrap{display:inline-block;position:relative}.status-pill{-webkit-user-select:none;user-select:none}.status-tip{z-index:200;background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-md);width:360px;max-width:90vw;font-family:var(--ui);color:var(--ink-2);text-align:left;border-left:3px solid;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.45;position:absolute;top:calc(100% + 8px);right:0}.status-tip-head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:600}.status-tip-section{margin-bottom:10px}.status-tip-section:last-of-type{margin-bottom:6px}.status-tip-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:4px;font-size:9.5px}.status-tip-row{font-family:var(--mono);border-bottom:1px dotted var(--rule-2);grid-template-columns:36px 1fr auto auto;align-items:baseline;gap:6px 10px;padding:2px 0;font-size:11px;display:grid}.status-tip-row:last-child{border-bottom:none}.status-tip-row .stp-phase{color:var(--ink);font-weight:600}.status-tip-row .stp-val{color:var(--ink-2);text-align:right}.status-tip-row .stp-pct{color:var(--ink-3);text-align:right;min-width:36px;font-size:10px}.status-tip-row .stp-over{color:var(--danger);font-size:10px}.status-tip-more{font-family:var(--mono);color:var(--ink-3);text-align:center;padding-top:4px;font-size:10px}.status-tip-hint{border-top:1px solid var(--rule-2);color:var(--ink-3);margin-top:8px;padding-top:8px;font-size:11px}.status-tip-hint strong{color:var(--ink)}.changelog-pop{max-height:70vh;overflow-y:auto}.changelog-pop h5{background:var(--paper-2);border-bottom:1px solid var(--rule);margin:-14px -16px 10px;padding:12px 16px 10px;position:sticky;top:0}.section-head .right .chip.chip-info{background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-sm);font-family:var(--mono);color:var(--ink-3);border-radius:999px;align-items:baseline;gap:5px;padding:4px 10px;font-size:11px;display:inline-flex;position:relative}.section-head .right .chip.chip-info .k{color:var(--ink-3);text-transform:none;letter-spacing:0;font-size:11px}.section-head .right .chip.chip-info strong{color:var(--ink);padding-right:14px;font-size:11px;font-weight:600}.section-head .right .chip.chip-info .chip-i{border:1px solid var(--rule);width:13px;height:13px;color:var(--ink-3);font-family:var(--mono);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:9px;font-style:italic;line-height:1;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.section-head .right .chip.chip-info .chip-i:hover{background:var(--chip);color:var(--ink);border-color:var(--ink-3)}.phase-card .phasing-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.phase-card .phasing-row .phasing-readout{margin-bottom:0}.phase-card .phasing-row .phasing-readout .ph-value{font-size:22px}.phase-card .phasing-row .phasing-readout .ph-value .ph-unit{font-size:11px}.phase-card .phasing-row .phasing-readout .ph-dev{font-size:9.5px}.balanced-over-banner{background:color-mix(in oklch, var(--danger) 12%, var(--paper));border:1px solid color-mix(in oklch, var(--danger) 45%, var(--rule-2));border-left:3px solid var(--danger);border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:0 0 14px;padding:12px 16px;display:grid}.balanced-over-banner .bob-icon{color:var(--danger);font-size:18px;line-height:1.2}.balanced-over-banner .bob-content{min-width:0}.balanced-over-banner .bob-head{font-family:var(--ui);color:var(--ink);margin-bottom:4px;font-size:12.5px;line-height:1.5}.balanced-over-banner .bob-head strong{color:var(--ink)}.balanced-over-banner .bob-body{font-family:var(--ui);color:var(--ink-2);font-size:11.5px;line-height:1.5}.seg.seg-grid{border-radius:10px;gap:2px;padding:2px}.seg.seg-grid button{border-radius:8px;min-width:36px;padding:4px 10px}.toolbar .tool-group:has(.seg.seg-grid){align-self:stretch;height:auto}.tool-group.tool-group-locked{cursor:not-allowed}.tool-group.tool-group-locked .label{opacity:.55}.seg.seg-disabled{opacity:.55;filter:saturate(.4);cursor:not-allowed}.tool-group.tool-group-locked .label{color:var(--ink-4)}.seg.seg-disabled{opacity:.55;cursor:not-allowed;filter:saturate(.6)}.seg.seg-disabled button{cursor:not-allowed;pointer-events:none}.seg.seg-disabled button.on{background:var(--paper-2);color:var(--ink-3);box-shadow:none}:root{--row:36px}.toolbar .tool-group .label{white-space:nowrap}.toolbar .tool-group.pdu-model-group{flex:0 320px;min-width:220px}.toolbar .tool-group.pdu-model-group select{text-overflow:ellipsis;max-width:220px}.toolbar .tool-group.pdu-model-group .pdu-spec{max-width:100%}.seg.seg-grid{gap:3px;padding:3px}.seg.seg-grid button{letter-spacing:.04em;min-width:48px;padding:5px 12px;font-size:10.5px}.toolbar .tool-group:not(.pdu-model-group){flex:none}.sticky-head{border-bottom:none}.toolbar-meta .chip.chip-info.chip-editable{cursor:text}.toolbar-meta .chip.chip-info.chip-editable .chip-input{font-family:var(--ui);color:var(--ink);background:0 0;border:none;outline:none;width:auto;min-width:0;padding:0;font-size:11px;font-weight:600}.toolbar-meta .chip.chip-info.chip-editable .chip-input::placeholder{color:var(--ink-4);font-weight:500}.toolbar-meta .chip.chip-info.chip-editable .chip-input:focus{outline:1px dashed var(--accent);outline-offset:2px;border-radius:2px}.toolbar-meta .chip.chip-info.chip-editable input[aria-label=Rack\ name]{width:92px}.toolbar-meta .chip.chip-info.chip-editable .chip-input-num{text-align:right;width:28px;font-family:var(--mono);appearance:textfield}.toolbar-meta .chip-input-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-meta .chip-input-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.toolbar-meta .chip-edit-prefix,.toolbar-meta .chip-edit-suffix{font-family:var(--mono);color:var(--ink);font-size:11px;font-weight:600}.toolbar.toolbar-stacked{flex-direction:column;align-items:stretch;gap:10px;display:flex}.toolbar.toolbar-stacked .toolbar-row-segs{justify-content:flex-start}.toolbar.toolbar-stacked .toolbar-row-segs .tool-group{flex:1 1 0;align-items:center;min-width:0}.toolbar.toolbar-stacked .toolbar-row-segs .seg.seg-grid{width:100%}.toolbar.toolbar-stacked .toolbar-row-info .tool-group.pdu-model-group{flex:none}.toolbar.toolbar-stacked .toolbar-row-info .tool-group.pdu-model-group select{max-width:none}.toolbar{flex-flow:row;align-items:center}.toolbar .tool-group.pdu-model-group.pdu-model-inline{flex:none;align-items:center;height:28px}.toolbar .pdu-spec.pdu-spec-inline{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;border-left:1px solid var(--rule);flex:none;max-width:320px;margin-left:4px;padding-left:8px;font-size:10px;font-weight:500;line-height:1.2;overflow:hidden}.toolbar.toolbar-stacked{gap:8px;flex-direction:column!important;align-items:stretch!important;display:flex!important}.toolbar.toolbar-stacked .toolbar-row{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.toolbar.toolbar-stacked .toolbar-row-info{align-items:center}.toolbar.toolbar-stacked .toolbar-row-info .toolbar-spacer{flex:auto}.toolbar.toolbar-stacked .toolbar-row-segs{align-items:center;gap:12px;display:flex}.toolbar.toolbar-stacked .toolbar-row-segs .tool-group{flex:1 1 0;align-items:center;min-width:0;height:28px}.toolbar.toolbar-stacked .toolbar-row-segs .seg button{flex:1 1 0}.toolbar.toolbar-stacked .toolbar-row-segs{justify-content:flex-start;gap:14px}.toolbar.toolbar-stacked .toolbar-row-segs .tool-group{flex:none;min-width:0}.toolbar.toolbar-stacked .toolbar-row-segs .seg{flex:none}.toolbar.toolbar-stacked .toolbar-row-segs .seg button{flex:none;padding:5px 10px}.toolbar.toolbar-stacked .toolbar-row-info{gap:14px}.toolbar.toolbar-stacked .toolbar-row-info .toolbar-spacer{flex:auto;width:0;min-width:8px}.toolbar-meta .chip.chip-info.chip-editable .chip-edit-row{align-items:baseline;gap:1px;display:inline-flex}.toolbar.toolbar-stacked,.toolbar{gap:14px;flex-flow:row!important;align-items:center!important}header.doc{gap:16px}header.doc .doc-meta.toolbar-meta{flex:0 auto;align-items:center;gap:8px;margin-left:auto;margin-right:12px;display:inline-flex}.toolbar .tool-group .label{white-space:normal;text-align:left;line-height:1.05}.toolbar .tool-group .label br{display:block}.toolbar .tool-group.pdu-model-group{flex-wrap:wrap;align-items:center;row-gap:4px;height:auto;padding-top:2px;padding-bottom:2px}.toolbar .tool-group.pdu-model-group .pdu-spec{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:clip;white-space:nowrap;border-left:none;flex-basis:100%;width:max-content;max-width:none;margin-left:0;padding-left:34px;font-size:9.5px;font-weight:500;line-height:1.2;overflow:visible}.toolbar>.toolbar-spacer{flex:auto;min-width:12px}.toolbar>.tool-group:not(.pdu-model-group){flex:none}.toolbar>.tool-group:not(.pdu-model-group) .seg.seg-grid{width:100%}.toolbar .tool-group.pdu-model-group{border-right:none;padding-right:0}.pdu-spec-edit{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.pdu-spec-edit .pdu-spec-input{border:1px dashed var(--rule);font-family:var(--mono);color:var(--ink);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:4px;outline:none;min-width:0;padding:2px 6px;font-size:9.5px;font-weight:500}.pdu-spec-edit .pdu-spec-input::placeholder{color:var(--ink-4);text-transform:uppercase}.pdu-spec-edit .pdu-spec-input:focus{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 5%, transparent);border-style:solid}.pdu-spec-edit .pdu-spec-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pdu-spec-edit .pdu-spec-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdu-spec-edit .pdu-spec-static{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;font-weight:500}.pdu-spec-edit .pdu-spec-sep{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.pdu-spec-edit .pdu-spec-input{background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;padding:1px 4px;transition:border-color .12s,background .12s}.pdu-spec-edit .pdu-spec-input:hover{border-bottom-color:var(--rule)}.pdu-spec-edit .pdu-spec-input:focus{border-bottom-color:var(--accent);background:color-mix(in oklab, var(--accent) 4%, transparent)}.pdu-spec-edit .pdu-spec-input-num{text-align:right;appearance:textfield;width:36px}.pdu-spec-edit .pdu-spec-input-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pdu-spec-edit .pdu-spec-input-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdu-spec-edit{min-width:0;overflow:hidden;flex-wrap:nowrap!important}.pdu-spec-edit .pdu-spec-input{min-width:0}.pdu-spec-edit .pdu-spec-input[type=text]{width:auto}.toolbar .tool-group.tool-group-pf{border-right:none;flex-direction:column;align-self:stretch;align-items:stretch;gap:4px;height:auto;padding-top:2px;padding-bottom:2px;padding-right:0;position:relative}.tool-group-pf .pf-label-row{justify-content:center;align-items:center;gap:6px;line-height:1;display:flex}.tool-group-pf .pf-label-row .label{margin-right:0}.scrub-input{width:64px;font-family:var(--mono);color:var(--ink);font-feature-settings:"zero","ss02";text-align:center;background:var(--paper-2);border:1px solid var(--rule);cursor:ew-resize;-webkit-user-select:none;user-select:none;border-radius:4px;outline:none;align-self:center;padding:4px 8px;font-size:11px;font-weight:600;transition:border-color .12s,background .12s}.scrub-input:hover{border-color:var(--ink-3);background:color-mix(in oklab, var(--ink) 4%, var(--paper-2))}.scrub-input.is-editing{cursor:text;-webkit-user-select:text;user-select:text;border-color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, var(--paper-2));caret-color:var(--accent)}.scrub-input:focus-visible{border-color:var(--accent)}.scrub-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scrub-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.toolbar .tool-group.tool-group-stacked{flex-direction:column;align-self:stretch;align-items:stretch;gap:4px;height:auto;padding-top:2px;padding-bottom:2px}.tool-group-stacked>.label{text-align:center;margin-right:0}.tool-group-stacked>.seg{align-self:center}.pf-info-btn{border:1px solid var(--rule);width:13px;height:13px;color:var(--ink-3);font-family:var(--mono);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:9px;font-style:italic;font-weight:600;line-height:1;display:inline-flex}.pf-info-btn:hover,.pf-info-btn:focus-visible{background:var(--chip);color:var(--ink);border-color:var(--ink-3);outline:none}.pf-info-pop{z-index:200;background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);width:360px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-md);pointer-events:none;font-family:var(--ui);padding:14px 16px;font-size:11.5px;line-height:1.5;position:fixed}.pf-pop-title{font-family:var(--ui);color:var(--paper);margin-bottom:8px;font-size:13px;font-weight:700}.pf-pop-body{color:color-mix(in oklab, var(--paper) 78%, transparent);margin-bottom:10px}.pf-pop-table{border-collapse:collapse;width:100%;font-family:var(--ui);margin-bottom:10px;font-size:11px}.pf-pop-table th,.pf-pop-table td{text-align:left;border-bottom:1px solid color-mix(in oklab, var(--paper) 12%, transparent);padding:5px 0}.pf-pop-table th{color:color-mix(in oklab, var(--paper) 60%, transparent);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:500}.pf-pop-table td{color:color-mix(in oklab, var(--paper) 88%, transparent)}.pf-pop-table td+td{text-align:right;font-family:var(--mono);font-feature-settings:"zero","ss02";white-space:nowrap;padding-left:12px}.pf-pop-table tr.pf-pop-tot td{color:var(--paper);border-bottom:none;padding-top:7px;font-weight:700}.pf-pop-foot{color:color-mix(in oklab, var(--paper) 78%, transparent);font-size:11px}.pf-pop-foot strong{color:var(--paper);font-weight:700}table.ports tbody td .cell-input::placeholder{opacity:.5}table.ports tbody td .cell-input:placeholder-shown{opacity:.55}table.ports tbody tr[data-empty=true] td.num,table.ports tbody tr[data-empty=true] td.num .cell-input,table.ports tbody tr[data-empty=true] td.ctr.mono{opacity:.45}.save-indicator{font-family:var(--mono);letter-spacing:.02em;font-feature-settings:"zero","ss02";border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-3);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:10.5px;display:inline-flex}.save-indicator .save-dot{background:var(--ink-3);border-radius:50%;flex-shrink:0;width:6px;height:6px}.save-indicator-saved{border-color:color-mix(in oklab, var(--ok) 30%, var(--rule));color:color-mix(in oklab, var(--ok) 50%, var(--ink-2))}.save-indicator-saved .save-dot{background:var(--ok);box-shadow:0 0 0 2px color-mix(in oklab, var(--ok) 25%, transparent)}.save-indicator-saving{border-color:color-mix(in oklab, var(--accent) 35%, var(--rule));color:color-mix(in oklab, var(--accent) 60%, var(--ink-2))}.save-indicator-saving .save-dot{background:var(--accent);animation:1.2s ease-in-out infinite save-pulse}@keyframes save-pulse{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.save-indicator-unsaved{border-color:color-mix(in oklab, var(--warn) 40%, var(--rule));color:color-mix(in oklab, var(--warn) 60%, var(--ink-2))}.save-indicator-unsaved .save-dot{background:var(--warn)}.save-indicator-failed{border-color:color-mix(in oklab, var(--danger) 50%, var(--rule));color:color-mix(in oklab, var(--danger) 70%, var(--ink-2));background:color-mix(in oklab, var(--danger) 6%, var(--paper-2))}.save-indicator-failed .save-dot{background:var(--danger);box-shadow:0 0 0 2px color-mix(in oklab, var(--danger) 30%, transparent)}.empty-state{background:var(--paper-2);border:1px dashed var(--rule);border-radius:var(--radius);color:var(--ink-3);align-items:center;gap:14px;margin-bottom:32px;padding:22px 24px;display:flex}.empty-state-icon{opacity:.55;background:var(--chip);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:inline-flex}.empty-state-text{font-family:var(--ui);flex-direction:column;gap:2px;font-size:12.5px;line-height:1.4;display:flex}.empty-state-text strong{color:var(--ink);font-size:13px;font-weight:600}.empty-state-text span{color:var(--ink-3)}.section-collapse-toggle{background:var(--paper-2);border:1px solid var(--rule);cursor:pointer;color:var(--ink-2);vertical-align:middle;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px;padding:0;font-size:18px;font-weight:600;line-height:1;transition:color .12s,background .12s,border-color .12s,transform 80ms;display:inline-flex}.section-collapse-toggle:hover{color:var(--ink);background:var(--chip);border-color:var(--ink-3)}.section-collapse-toggle:active{transform:scale(.94)}.section-collapse-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.section-collapse-toggle .chev{margin-top:-2px;transition:transform .16s;display:inline-block;transform:rotate(0)}.section-collapse-toggle .chev.chev-collapsed{transform:rotate(-90deg)}.section-head h2 .kicker.kicker-summary{border:1px dashed var(--rule);color:var(--ink-3);background:0 0;margin-left:8px}html.is-capturing .flip-card,html.is-capturing .flip-card.flipped,html.is-capturing .flip-card .flip-card-inner,html.is-capturing .flip-card.flipped .flip-card-inner{transform-style:flat!important;transition:none!important;transform:none!important}html.is-capturing .flip-card .face-back{display:none!important}html.is-capturing .flip-card .face-front{position:static!important;transform:none!important}html.is-capturing .flip-card .flip-chip,html.is-capturing .formula-pop,html.is-capturing .pf-info-pop,html.is-capturing .menu.open{display:none!important}html.is-capturing input[type=number]::-webkit-inner-spin-button{appearance:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}html.is-capturing input[type=number]::-webkit-outer-spin-button{appearance:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}html.is-capturing input::-webkit-inner-spin-button{appearance:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}html.is-capturing input::-webkit-outer-spin-button{appearance:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}html.is-capturing input[type=number],html.is-capturing input{appearance:textfield!important}@media print{*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}:root,html[data-theme=dark],html[data-theme=mono]{--paper:#fff;--paper-2:#fafafa;--ink:#111;--ink-2:#333;--ink-3:#555;--ink-4:#888;--rule:#d0d0d0;--rule-2:#e5e5e5;--chip:#f3f3f3;--shadow-sm:none;--shadow-md:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#111!important;background:#fff!important}@page{margin:.4in;size:auto}.header-actions,.changelog-trigger,.formula-pop,.pf-info-pop,.menu,.auto-balance,.pf-info-btn,.row-flip-hint,[data-no-print]{display:none!important}.sticky-head{margin-bottom:14px;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom:1px solid var(--rule)!important;background:0 0!important;position:static!important;top:auto!important}.page{max-width:none!important;padding:0!important}.section-head{break-after:avoid;page-break-after:avoid}.kpi-strip,.hero,.phase-card,.breaker-summary,.summary-grid,.breaker-cell-sum,.overview-card,.failover-panel,.rack-kpi-strip,.balanced-over-banner,.at-risk-banner{break-inside:avoid;page-break-inside:avoid}table.ports thead{display:table-header-group}table.ports tr,table.failover-table tr,table.sum-table tr{break-inside:avoid;page-break-inside:avoid}.flip-card,.flip-card.flipped,.flip-card .flip-card-inner,.flip-card.flipped .flip-card-inner{transform-style:flat!important;transition:none!important;transform:none!important}.flip-card .face-back{display:none!important}.flip-card .face-front{position:static!important;transform:none!important}.flip-card .flip-chip{display:none!important}.toolbar{box-shadow:none!important;background:var(--paper-2)!important;border:1px solid var(--rule)!important}.toolbar .seg button,.toolbar .num-input,.toolbar .scrub-input,.pdu-tab-strip,[class*=pdu-tab]{cursor:default!important}.pdu-tab-strip button:hover,[class*=pdu-tab] button:hover{background:inherit!important}.mini-bar,.bar,.breaker-bar,.oc-mini-bar,.mini-bar .fill,.bar .fill,.breaker-bar .fill,.oc-mini-bar .fill,.pill,.chip,.status-pill,.swatch{-webkit-print-color-adjust:exact;print-color-adjust:exact}.toast{display:none!important}.page,.sticky-head,.doc{color:#111!important;background:#fff!important}.toolbar{color:#111!important;background:#f7f7f8!important;border:1px solid #d8d8dc!important}.toolbar .label,.toolbar .pdu-spec,.toolbar .pdu-spec-static,.toolbar .pdu-spec-sep{color:#555!important}.toolbar .seg{background:#fff!important;border:1px solid #d8d8dc!important}.toolbar .seg button{color:#555!important;background:0 0!important}.toolbar .seg button.on{color:#fff!important;background:#111!important}.toolbar .num-input,.toolbar .scrub-input{color:#111!important;background:#fff!important;border-color:#d8d8dc!important}.toolbar select.num-input{color:#111!important;background:#fff!important}.toolbar .pdu-spec-input{color:#111!important;background:0 0!important}.pdu-tab-strip,[class*=pdu-tab]{color:#111!important;background:#fff!important}.kpi-strip,.kpi{color:#111!important;background:#f7f7f8!important;border:1px solid #d8d8dc!important}.kpi.lead{background:#f0f0f2!important;border-color:#c8c8cc!important}.kpi .lbl,.kpi .sub{color:#555!important}.kpi .big{color:#111!important}.kpi .unit{color:#555!important}.kpi .mini-bar{background:#e5e5e9!important}.kpi .mini-bar .fill{background:#111!important}.kpi.warn .mini-bar .fill{background:#b58900!important}.kpi.over .mini-bar .fill{background:#c0392b!important}.hero,.phase-card{color:#111!important;background:#f7f7f8!important;border:1px solid #d8d8dc!important}.phase-card .lbl,.phase-card .sub,.phase-card .ph-label,.phase-card .ticks span{color:#555!important}.phase-card .big,.phase-card .ph-value,.phase-card .pct{color:#111!important}.phase-card .phasing-readout{background:#fff!important;border:1px solid #d8d8dc!important}.phase-card .bar{background:#e5e5e9!important}.phase-card .bar .fill{background:#555!important}.phase-card[data-p="1"] .bar .fill,.phase-card[data-p="1"] .swatch{background:#4a8fde!important}.phase-card[data-p="2"] .bar .fill,.phase-card[data-p="2"] .swatch{background:#d4a72c!important}.phase-card[data-p="3"] .bar .fill,.phase-card[data-p="3"] .swatch{background:#c0392b!important}.chip,.chip-info,.pill{color:#111!important;box-shadow:none!important;background:#f0f0f2!important;border:1px solid #d8d8dc!important}.chip .k,.chip-info .k,.pill .k{color:#555!important}.status-pill{color:#111!important;background:#f0f0f2!important;border:1px solid #d8d8dc!important}table.ports,table.sum-table,table.failover-table,table.breaker-summary-table{color:#111!important;background:#fff!important;border-color:#d8d8dc!important}table.ports thead th,table.sum-table thead th,table.failover-table thead th{color:#444!important;background:#f0f0f2!important;border-color:#d8d8dc!important}table.ports td,table.sum-table td,table.failover-table td{color:#111!important;background:#fff!important;border-color:#ececef!important}table.ports tr:nth-child(2n) td{background:#fafafb!important}table.ports td.cell-locked{background:#f4f4f6!important}.phase-chip{color:#111!important;background:#f0f0f2!important;border:1px solid #d8d8dc!important}.ok{color:#1f6b3a!important;background:#e9f4ec!important}.warn{color:#7a5a00!important;background:#fff5dc!important}.over,td.over,.v.over{color:#8a2a22!important;background:#fbe4e2!important}.mini-bar,.breaker-bar,.oc-mini-bar,.bar{background:#e5e5e9!important}.mini-bar .fill,.breaker-bar .fill,.oc-mini-bar .fill,.bar .fill{background:#111!important}.mini-bar .fill.warn,.breaker-bar .fill.warn,.oc-mini-bar .fill.warn{background:#b58900!important}.mini-bar .fill.over,.breaker-bar .fill.over,.oc-mini-bar .fill.over{background:#c0392b!important}.breaker-cell-sum{color:#111!important;background:#f7f7f8!important;border:1px solid #d8d8dc!important}.breaker-cell-sum.warn{background:#fff5dc!important}.breaker-cell-sum.over{background:#fbe4e2!important}.overview-card,.rack-kpi-strip,.rack-kpi,.failover-panel{color:#111!important;background:#f7f7f8!important;border:1px solid #d8d8dc!important}.balanced-over-banner,.at-risk-banner{color:#5a4200!important;background:#fff5dc!important;border:1px solid #e8c97a!important}.section-head h2{color:#111!important}.section-head .kicker{color:#555!important;background:#f0f0f2!important;border:1px solid #d8d8dc!important}}
