:root{--bg:#071019;--p:#0c1620;--p2:#0e1a24;--line:#1c2b38;--text:#e8eef3;--muted:#8d9ba8;--blue:#35a7e8;--green:#63b98a;--amber:#f2ad32;--red:#ef514c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px Inter,system-ui,Arial}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}aside{padding:22px 16px;border-right:1px solid var(--line);background:#071019;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:3px 7px 24px}.mark{width:40px;height:45px;border:2px solid #dbe5ec;clip-path:polygon(50% 0,94% 15%,88% 75%,50% 100%,12% 75%,6% 15%);display:grid;place-items:center;font-weight:900}.brand b{display:block;letter-spacing:2px;font-size:15px}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px;margin-top:3px}.role-card{border:1px solid var(--line);border-radius:6px;padding:11px;margin:0 3px 16px;display:grid;gap:6px;background:var(--p)}.role-card small{color:var(--muted)}nav{display:grid;gap:4px}nav button{border:0;background:transparent;color:var(--muted);padding:11px 12px;text-align:left;border-radius:5px;font-weight:650}nav button.active,nav button:hover{background:#0d1c27;color:var(--blue)}.side-foot{margin-top:auto;border:1px solid var(--line);padding:11px;border-radius:6px;display:flex;gap:9px;align-items:center}.side-foot b,.side-foot small{display:block}.side-foot small{color:var(--muted);font-size:8px;margin-top:3px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#65737e;margin-right:5px}.dot.good{background:var(--green);box-shadow:0 0 9px #63b98a}.dot.warn{background:var(--amber)}.dot.bad{background:var(--red)}main{padding:23px 26px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}h1{font-size:25px;margin:0 0 4px}h2{font-size:16px;margin:0 0 4px}p{margin:0}.eyebrow,.label{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:1px;font-weight:750}.muted{color:var(--muted);font-size:10px}.header-actions{display:flex;gap:7px;align-items:center}.header-status{border:1px solid var(--line);padding:9px 11px;border-radius:5px;background:var(--p);font-size:10px}.ghost,.secondary,.primary{border:1px solid var(--line);border-radius:4px;padding:8px 11px;background:var(--p);color:var(--text);font-size:10px}.secondary{color:var(--blue)}.primary{background:#0c2a3b;border-color:#246a8f;color:#66c2ef}.icon-button{background:var(--p)}.badge{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:3px 6px;font-size:7px;letter-spacing:.5px;font-weight:800;color:var(--muted);background:#0a151e}.badge-live,.badge-pass,.badge-verified,.badge-active,.badge-ok{color:var(--green);border-color:#27543f}.badge-stale,.badge-warning{color:var(--amber);border-color:#5c4820}.badge-offline,.badge-fail,.badge-critical{color:var(--red);border-color:#632c2a}.badge-owned{color:var(--blue)}.fleet-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.fleet-head p{color:var(--muted);font-size:10px;margin-top:5px}.fleet-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:8px}.fleet-stats>div,.card{border:1px solid var(--line);background:linear-gradient(145deg,#0d1822,#09131c);border-radius:5px}.fleet-stats>div{padding:12px}.fleet-stats span,.fleet-stats b{display:block}.fleet-stats span{font-size:8px;text-transform:uppercase;color:var(--muted)}.fleet-stats b{font-size:20px;margin-top:6px}.fleet{border:1px solid var(--line);border-radius:5px;overflow:hidden}.fleet-cols,.node-row{display:grid;grid-template-columns:1.15fr 1.1fr 1.5fr .9fr 85px;gap:12px;align-items:center}.fleet-cols{padding:9px 13px;background:#0a141d;color:#6e7d88;text-transform:uppercase;font-size:7px;letter-spacing:.7px}.node-row{width:100%;border:0;border-top:1px solid #14232d;background:#0b151e;color:var(--text);padding:14px 13px;text-align:left}.node-row:hover,.node-row.selected{background:#0d1c27}.node-row b,.node-row small,.node-row span{display:block}.node-row small{font-size:8px;color:#758590;margin-top:4px}.node-row strong{font-size:9px}.enter{color:var(--blue);font-size:9px;text-align:right}.green{color:var(--green)}.amber{color:var(--amber)}.note{font-size:9px;color:#74838e;line-height:1.6;margin-top:9px}.node-banner{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:16px;border-radius:5px;background:linear-gradient(145deg,#0d1822,#09131c);margin-bottom:8px}.node-banner p{font-size:9px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.card{padding:14px}.card>b{display:block;font-size:21px;margin:7px 0 3px}.card>small{font-size:8px;color:var(--muted)}.two{display:grid;grid-template-columns:1.3fr .8fr;gap:8px;margin-bottom:8px}.card-title{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;margin-bottom:10px}.kv{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #14232d;padding:8px 0;font-size:9px}.kv:last-child{border-bottom:0}.kv span{color:var(--muted)}.kv b{text-align:right}.events{display:grid;gap:5px}.event{display:grid;grid-template-columns:10px 1fr;gap:8px;border-bottom:1px solid #14232d;padding:8px 0}.event b,.event small,.event p{display:block}.event b{font-size:9px}.event small{font-size:7px;color:var(--muted);margin-top:3px}.event p{font-size:8px;color:#87959e;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-line{display:flex;gap:10px;align-items:center;padding:9px 0}.status-line b,.status-line small{display:block}.status-line small{color:var(--muted);font-size:8px;margin-top:4px}.empty{border:1px dashed var(--line);padding:25px;text-align:center;color:var(--muted);font-size:9px;border-radius:4px}.timeline{padding:10px 0;border-bottom:1px solid #14232d}.timeline>div:first-child{display:flex;justify-content:space-between;font-size:9px}.timeline span,.timeline small{color:var(--muted);font-size:8px}.spark{height:4px;background:#071019;margin:7px 0;border-radius:3px}.spark span{display:block;height:100%;background:var(--blue);border-radius:3px}.batch-grid,.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.batch-card,.channel-card{border:1px solid var(--line);padding:11px;border-radius:4px;background:#0a141d}.batch-card>b,.channel-card>b{display:block;font-size:9px;margin-bottom:6px}.batch-card p{font-size:8px;color:var(--muted);margin:7px 0}.batch-card small{font-size:7px;color:var(--muted)}.channel-card code{display:block;color:#74b8d9;font-size:8px;margin-bottom:8px}.certificate-row{width:100%;border:1px solid var(--line);background:#0a141d;color:var(--text);padding:10px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;text-align:left;margin-bottom:5px}.certificate-row span{display:grid;gap:4px}.certificate-row small{color:var(--muted);font-size:8px}.verification{margin:10px 0;padding:10px;border-radius:4px;border:1px solid var(--line)}.verification.ok{color:var(--green);border-color:#27543f}.verification.bad{color:var(--red);border-color:#632c2a}.verification small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.dialog{width:min(720px,100%);max-height:90vh;overflow:auto;background:#0b151e;border:1px solid #263642;border-radius:6px;padding:17px}.dialog-head,.dialog-foot{display:flex;justify-content:space-between;align-items:center}.dialog-head p{font-size:9px;color:var(--muted);margin-top:4px}.close{border:0;background:none;color:var(--muted);font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.form-grid label{display:grid;gap:5px;color:var(--muted);font-size:8px;text-transform:uppercase}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.policy-choice select{width:100%;background:#071019;border:1px solid #263642;color:var(--text);border-radius:4px;padding:9px;font-size:9px}.policy-choice{border:1px solid var(--line);padding:11px;margin-top:9px}.policy-choice p{font-size:8px;color:var(--muted);margin:4px 0 8px}.dialog-foot{margin-top:12px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 0,#0d2a3a,transparent 35%),var(--bg)}.login-card{width:min(390px,100%);border:1px solid var(--line);border-radius:6px;background:#0b151e;padding:25px;display:grid;gap:13px}.login-card h1{font-size:23px}.login-card p{color:var(--muted);font-size:10px}.login-card label{display:grid;gap:6px;color:var(--muted);font-size:9px;text-transform:uppercase}.login-card input{background:#071019;border:1px solid #263642;color:var(--text);border-radius:4px;padding:10px}.login-card button{background:#0c2a3b;color:#66c2ef;border:1px solid #246a8f;border-radius:4px;padding:10px;font-weight:700}pre{background:#071019;border:1px solid var(--line);padding:10px;max-height:300px;overflow:auto;color:#9fc8b5;font-size:8px}footer{text-align:center;color:#596873;font-size:7px;margin-top:15px}@media(max-width:950px){.app{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line)}.side-foot{margin-top:15px}.fleet-cols,.node-row{grid-template-columns:1fr 1fr}.fleet-cols span:nth-child(n+3){display:none}.node-row>div:nth-child(n+3){margin-top:6px}.metrics{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.batch-grid,.channel-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){main{padding:15px}.fleet-stats,.metrics,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.batch-grid,.channel-grid{grid-template-columns:1fr}.header-actions{width:100%}header{align-items:flex-start;flex-direction:column}.fleet-head{align-items:flex-start;gap:10px;flex-direction:column}}
.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.form-grid label{display:grid;gap:4px;color:var(--muted);font-size:8px}.form-grid input{width:100%;background:#071019;border:1px solid #263642;color:var(--text);border-radius:4px;padding:8px;font-size:9px}.form{display:grid;gap:7px}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}
