:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1d2733;font-synthesis:none;text-rendering:optimizelegibility;--blue:#0b5cab;--blue-dark:#073d73;--green:#1c9c64;--amber:#c47b0c;--red:#c8453c;--line:#d8e0e7;--muted:#637184;--panel:#fff;--panel-soft:#f7f9fb;--shadow:0 16px 36px #1a27361c;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:progress;opacity:.65}.app-shell{grid-template-columns:292px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f6fbff;background:#132638;flex-direction:column;gap:22px;padding:22px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand strong,.brand span{display:block}.brand span{color:#a8bac9;margin-top:3px;font-size:13px}.brand-mark{width:42px;height:42px;color:var(--blue);background:#f3f8fc;border-radius:8px;place-items:center;display:grid}.nav-list{gap:6px;display:grid}.nav-item,.preset-button,.secondary-button,.primary-button,.icon-button{border:1px solid #0000;border-radius:8px;min-height:40px;transition:background .14s,border-color .14s,transform .14s}.nav-item{color:#d9e6f0;text-align:left;background:0 0;align-items:center;gap:10px;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#1e3b54}.connection-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;gap:12px;margin-top:auto;padding:14px;display:grid}.connection-title{align-items:center;gap:8px;font-weight:700;display:flex}label{color:#d1dee8;gap:6px;font-size:13px;display:grid}input,select,textarea{border:1px solid var(--line);color:#16202b;background:#fff;border-radius:8px;width:100%;padding:10px 11px}.main{align-content:start;gap:18px;padding:24px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:28px;line-height:1.2}.eyebrow{color:var(--blue);text-transform:uppercase;margin:0 0 5px;font-size:13px;font-weight:800}.muted{color:var(--muted);max-width:850px;margin:8px 0 0}.topbar-actions,.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-pill,.state-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.good,.state-badge.good{color:#0e623d;background:#daf4e8}.status-pill.warn{color:#7a4a00;background:#ffedc7}.status-pill.neutral,.state-badge.neutral{color:#536274;background:#edf1f5}.state-badge.bad{color:#8a251f;background:#ffe0dd}.icon-button{color:#18324a;border-color:var(--line);background:#fff;place-items:center;width:42px;display:grid}.alert{color:#912c25;background:#fff0ef;border:1px solid #f3b7b2;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.switch-panel{box-shadow:var(--shadow);background:#0b3e6f;border:1px solid #082f55;border-radius:8px;overflow:hidden}.switch-panel-top{color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.switch-panel-top strong,.switch-panel-top span{display:block}.switch-panel-top span{color:#b8d1e6;font-size:13px}.mini-stats{gap:12px;display:flex}.front-panel{background:#e8edf2;border-top:5px solid #427da8;grid-template-columns:132px minmax(360px,1fr) 150px;align-items:center;gap:18px;padding:18px;display:grid}.status-leds{color:#273747;grid-template-columns:auto 16px;align-items:center;gap:8px 10px;font-size:13px;font-weight:700;display:grid}.led,.service-dot{border-radius:999px;width:12px;height:12px;display:inline-block}.led.good,.service-dot.good{background:var(--green);box-shadow:0 0 0 4px #1c9c6429}.led.idle{background:#9aa7b4}.service-dot.bad{background:var(--red);box-shadow:0 0 0 4px #c8453c1f}.port-grid{grid-template-columns:repeat(var(--port-columns,12), minmax(52px, 1fr));grid-template-rows:repeat(2,minmax(88px,auto));gap:8px;min-width:640px;display:grid}.port-jack{color:#fff;background:#202933;border:2px solid #0f151b;border-radius:5px;align-content:end;justify-items:center;gap:3px;min-height:88px;padding:17px 4px 5px;font-size:10px;display:grid;position:relative}.port-jack.selected{outline-offset:2px;outline:3px solid #4aa3ff}.port-led{background:#808b96;border-radius:999px;width:9px;height:9px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.port-jack.up .port-led{background:#35d07f}.port-jack.down .port-led{background:#e45d55}.port-jack.testing .port-led{background:#f3a928}.port-jack.issue{border-color:var(--amber)}.port-jack.active-rate{box-shadow:inset 0 -8px #35d07f21,0 0 18px #35d07f2e}.port-number{font-size:15px;font-weight:900;line-height:1}.port-host-label{color:#e7f4ff;text-overflow:ellipsis;white-space:nowrap;background:#ffffff1a;border-radius:999px;max-width:100%;min-height:13px;padding:1px 4px;font-size:8px;font-weight:900;line-height:1.25;overflow:hidden}.port-host-label.distributed{color:#ffe4a3;background:#f0a11a2e}.port-host-label.lldp{color:#aee8ff;background:#36c7ff26}.port-host-label.direct{color:#bdffd8;background:#2fd27f1f}.port-host-label.empty{color:#9cadbd;background:0 0}.port-speed-stack{color:#dce9f4;gap:1px;width:100%;min-width:0;font-size:8px;font-weight:900;line-height:1.05;display:grid}.port-speed-stack span{white-space:nowrap;justify-content:center;gap:2px;display:flex}.port-speed-stack b{color:#8ca0b3;font-weight:900}.port-jack.up .port-speed-stack b{color:#88dab0}.port-speed-detail{background:#ffffffa3;border:1px solid #c9d7e4;border-radius:8px;grid-column:2/-1;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;padding:10px;display:grid}.port-speed-detail>div{background:#f8fbfd;border:1px solid #d8e2eb;border-radius:7px;min-width:0;padding:8px}.port-speed-detail span,.port-speed-detail p{color:var(--muted);font-size:11px;font-weight:800}.port-speed-detail strong{color:#1f2b37;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;display:block;overflow:hidden}.port-speed-detail p{grid-column:1/-1;margin:0}.sfp-block{color:#273747;grid-template-columns:repeat(2,1fr);gap:8px;font-size:12px;font-weight:800;display:grid}.sfp-block>span:first-child{grid-column:1/-1}.sfp-slot{background:#3e4852;border:2px solid #1d252d;border-radius:4px;height:34px}.content-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-panel,.wide-panel,.table-panel,.detail-panel,.console-panel,.transcript-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #1a27360f}.metric-panel{gap:14px;min-height:122px;padding:16px;display:flex}.metric-icon{width:42px;height:42px;color:var(--blue);background:#e8f2fb;border-radius:8px;flex:none;place-items:center;display:grid}.metric-panel p,.metric-panel strong,.metric-panel span{display:block}.metric-panel p{color:var(--muted);margin:0 0 5px;font-size:13px;font-weight:800}.metric-panel strong{font-size:26px;line-height:1.15}.metric-panel span{color:var(--muted);margin-top:7px;font-size:13px}.wide-panel{grid-column:span 2;padding:16px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.section-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.section-heading h2{letter-spacing:0;margin:0;font-size:18px}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:14px}.service-list{gap:8px;display:grid}.service-row{background:var(--panel-soft);border-radius:8px;grid-template-columns:18px 1fr 58px minmax(80px,auto);align-items:center;gap:8px;padding:9px 10px;display:grid}.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.compact-field{color:#526174;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:18px minmax(150px,1fr);align-items:center;gap:8px;min-height:40px;padding:7px 10px;display:grid}.compact-field input,.compact-field select{background:0 0;border:0;min-height:24px;padding:0}.compact-field input:focus,.compact-field select:focus{outline:none}.check-field{color:#263647;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:7px 10px;font-weight:800;display:inline-flex}.check-field input{width:auto}.preset-button,.secondary-button,.primary-button{justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:800;display:inline-flex}.preset-button,.secondary-button{color:#1d344b;border-color:var(--line);background:#f5f8fb}.preset-button:hover,.secondary-button:hover,.icon-button:hover{background:#eaf2f9}.primary-button{color:#fff;background:var(--blue);border-color:var(--blue)}.primary-button:hover{background:var(--blue-dark)}.split-layout{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.traffic-console{grid-template-columns:300px minmax(430px,1fr) 360px;align-items:stretch;gap:16px;display:grid}.traffic-panel,.traffic-fabric-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #1a27360f}.traffic-panel{min-width:0;padding:16px}.traffic-left,.traffic-right{align-content:start;gap:14px;display:grid}.traffic-total{grid-template-columns:1fr 1fr;gap:10px;display:grid}.traffic-total>div,.traffic-summary-list>div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;padding:11px}.traffic-total span,.traffic-summary-list span{color:var(--muted);font-size:12px;font-weight:800;display:block}.traffic-total strong,.traffic-summary-list strong{margin-top:4px;font-size:18px;display:block}.traffic-port-list{gap:7px;display:grid}.traffic-port-row{grid-template-columns:32px minmax(0,1fr) 96px;align-items:center;gap:9px;min-height:36px;display:grid}.traffic-port-index{color:#fff;background:#202933;border-radius:6px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:grid}.traffic-port-row.down .traffic-port-index{background:#596575}.traffic-port-meter{background:linear-gradient(90deg, #2fd27f, #42a5ff 62%, #d96cf3) 0 / var(--traffic-level) 100% no-repeat, #e6ecf2;border-radius:999px;height:12px;overflow:hidden}.traffic-port-rate{color:#273747;text-align:right}.traffic-port-rate strong,.traffic-port-rate em{display:block}.traffic-port-rate strong{font-size:12px;font-weight:900}.traffic-port-rate em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.traffic-fabric-panel{background:linear-gradient(180deg, #f8fbfff0, #e7eff7eb), var(--panel);align-content:start;gap:16px;min-width:0;min-height:540px;padding:16px;display:grid;overflow:hidden}.fabric-header{grid-template-columns:minmax(0,1fr) minmax(320px,44%);align-items:start;gap:16px;display:grid}.fabric-header h2{letter-spacing:0;margin:0;font-size:24px}.fabric-header p{color:var(--muted);margin:5px 0 0;font-weight:700}.fabric-stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fabric-stat-strip>div{background:#ffffffbd;border:1px solid #ccdae6;border-radius:8px;min-width:0;padding:10px}.fabric-stat-strip span,.fabric-lanes-heading span,.fabric-port-topline em,.fabric-port-max,.fabric-port-macs,.fabric-lane-port em,.fabric-lane-meta em,.fabric-lane-rate em{color:var(--muted);font-size:11px;font-style:normal;font-weight:850}.fabric-stat-strip span,.fabric-stat-strip strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.fabric-stat-strip strong{margin-top:3px;font-size:17px}.fabric-port-grid{background-color:#eef4f8;background-image:linear-gradient(90deg,#0d22320a 1px,#0000 1px),linear-gradient(#0d22320a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #cad9e5;border-radius:8px;gap:9px;padding:12px;display:grid;overflow-x:auto}.fabric-port-row{grid-template-columns:repeat(12,minmax(64px,1fr));gap:9px;display:grid}.fabric-port-tile{color:#f8fbff;background:linear-gradient(#ffffff0a,#fff0),#1e2a36;border:2px solid #111923;border-radius:8px;align-content:start;gap:5px;min-width:0;min-height:104px;padding:9px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -1px #ffffff14}.fabric-port-tile.down{background:#46505b;border-color:#5e6b79}.fabric-port-tile.active{border-color:#f0a11a}.fabric-port-fill{height:var(--heat-level);background:linear-gradient(#2dd27f1f,#2dd27f80);position:absolute;inset:auto 0 0}.fabric-port-topline,.fabric-port-rate,.fabric-port-max,.fabric-port-mini-bars,.fabric-port-macs{z-index:1;position:relative}.fabric-port-topline{justify-content:space-between;align-items:center;gap:6px;display:flex}.fabric-port-topline strong{font-size:17px}.fabric-port-topline em{color:#9ed7b6}.fabric-port-tile.down .fabric-port-topline em{color:#c0c8d1}.fabric-port-rate{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-height:17px;font-size:12px;font-weight:900;overflow:hidden}.fabric-port-max,.fabric-port-macs{color:#cbd8e4}.fabric-port-mini-bars{gap:3px;margin-top:1px;display:grid}.fabric-port-mini-bars i{background:#ffffff29;border-radius:999px;height:4px;display:block}.fabric-port-mini-bars .fabric-port-in{background:linear-gradient(90deg, #36c7ff, #2fd27f) 0 / var(--in-level) 100% no-repeat, #ffffff29}.fabric-port-mini-bars .fabric-port-out{background:linear-gradient(90deg, #f0a11a, #d96cf3) 0 / var(--out-level) 100% no-repeat, #ffffff29}.fabric-lanes{gap:8px;display:grid}.fabric-lanes-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.fabric-lanes-heading strong{font-size:16px}.fabric-lane{background:#ffffffd1;border:1px solid #ccd9e4;border-radius:8px;grid-template-columns:70px minmax(0,1fr) 96px;align-items:center;gap:10px;padding:9px;display:grid}.fabric-lane.down{opacity:.68}.fabric-lane-port{color:#1f2b37;justify-items:center;gap:2px;display:grid}.fabric-lane-port strong{color:#fff;background:#202933;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.fabric-lane-body{gap:5px;min-width:0;display:grid}.fabric-lane-meta{justify-content:space-between;gap:12px;display:flex}.fabric-lane-meta strong,.fabric-lane-meta em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fabric-lane-bar{background:#e3ebf2;border-radius:999px;height:7px;display:block}.fabric-lane-bar.in{background:linear-gradient(90deg, #36c7ff, #2fd27f) 0 / var(--in-level) 100% no-repeat, #e3ebf2}.fabric-lane-bar.out{background:linear-gradient(90deg, #f0a11a, #d96cf3) 0 / var(--out-level) 100% no-repeat, #e3ebf2}.fabric-lane-rate{color:#1f2b37;justify-items:end;gap:2px;display:grid}.fabric-lane-rate strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:900;overflow:hidden}.traffic-summary-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mac-table-wrap{border:1px solid var(--line);border-radius:8px;max-height:286px;overflow:auto}.compact-table th,.compact-table td{padding:8px;font-size:12px}.traffic-empty{color:var(--muted);text-align:center;padding:16px}.inspection-boundary{background:#fff8eb;border:1px solid #f0d39f;border-radius:8px;gap:8px;padding:12px;display:grid}.inspection-boundary strong{color:#6c4300}.inspection-boundary span{color:#6d5a38;font-size:13px}.table-panel,.detail-panel,.console-panel,.transcript-panel{padding:16px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;font-size:14px}.bounded-cell{overflow-wrap:anywhere;max-width:460px}.chip-list{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.port-chip{color:#17324b;background:#e7f1fa;border-radius:999px;justify-content:center;align-items:center;min-width:26px;min-height:24px;padding:3px 7px;font-size:12px;font-weight:800;display:inline-flex}.muted-inline{color:var(--muted);font-size:13px}th{color:#526174;text-transform:uppercase;font-size:12px}tbody tr{transition:background .12s}tbody tr:hover,.selected-row{background:#f1f7fc}.detail-list{gap:10px;margin:0;display:grid}.detail-list div{grid-template-columns:96px minmax(0,1fr);gap:10px;display:grid}.detail-list dt{color:var(--muted);font-weight:800}.detail-list dd{overflow-wrap:anywhere;margin:0}.empty-state{color:var(--muted);background:var(--panel-soft);text-align:center;border-radius:8px;justify-items:center;gap:8px;padding:36px 20px;display:grid}.empty-state strong{color:#263647}.console-layout{grid-template-columns:420px minmax(0,1fr);gap:16px;display:grid}textarea{resize:vertical;min-height:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.5}.button-row{margin-top:12px}.transcript-panel{min-width:0}pre{color:#d8f1e4;white-space:pre-wrap;overflow-wrap:anywhere;background:#101821;border-radius:8px;min-height:260px;max-height:560px;margin:0;padding:14px;font-size:13px;line-height:1.5;overflow:auto}@media (width<=1880px){.traffic-console{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.traffic-right{grid-column:1/-1}}@media (width<=1160px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.front-panel{grid-template-columns:1fr}.port-speed-detail{grid-column:1}.status-leds{grid-template-columns:auto 16px auto 16px}}@media (width<=860px){.app-shell,.split-layout,.console-layout,.traffic-console{grid-template-columns:1fr}.sidebar{position:static}.nav-list{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.nav-item{justify-content:center;padding:9px 6px}.connection-card{margin-top:0}.topbar{display:grid}.port-grid{grid-template-columns:repeat(var(--port-columns,12), minmax(52px, 1fr));overflow-x:auto}.port-speed-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.fabric-header{grid-template-columns:1fr}.fabric-port-row{grid-template-columns:repeat(6,minmax(58px,1fr))}.fabric-lane{grid-template-columns:54px minmax(0,1fr)}.fabric-lane-rate{grid-column:2;justify-items:start}}@media (width<=620px){.main,.sidebar{padding:16px}.content-grid,.preset-grid{grid-template-columns:1fr}.wide-panel{grid-column:span 1}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.front-panel{padding:12px}.port-grid{grid-template-columns:repeat(var(--port-columns,12), minmax(52px, 1fr));overflow-x:auto}.fabric-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.fabric-port-grid{padding:8px}.fabric-port-row{grid-template-columns:repeat(4,minmax(58px,1fr))}.service-row{grid-template-columns:18px 1fr}}
