:root{--primary:#0E7C66;--primary-2:#17A97C;--accent:#F0A93A;--grad-primary:linear-gradient(135deg,#0E7C66,#17A97C);--grad-ink:linear-gradient(165deg,#0C241C,#071511);--canvas:#081310;--panel:#0E1F1A;--panel2:#122621;--rail:#060F0C;--border:rgba(230,240,236,.08);--border2:rgba(230,240,236,.14);--text:#E7F0EC;--muted:#8CA39B;--dim:#5E726B;--st-avail:#2DD4A7;--st-inuse:#4C8DFF;--st-maint:#F5A524;--st-offline:#6B7F78;--st-danger:#F0696D;--glass:color-mix(in srgb,#0E1F1A 62%,transparent);--blur:saturate(150%) blur(18px);--e1:0 1px 2px rgba(0,0,0,.4);--e2:0 8px 24px rgba(0,0,0,.4);--e3:0 20px 50px rgba(0,0,0,.55);--glow:0 6px 20px color-mix(in srgb,#17A97C 40%,transparent);--font:"Inter",system-ui,sans-serif;--disp:"Space Grotesk","Inter",sans-serif;--rad:16px;--rads:11px}[data-theme=light]{--canvas:#EEF3F1;--panel:#fff;--panel2:#F5F8F6;--rail:#0B1512;--border:rgba(12,26,22,.09);--border2:rgba(12,26,22,.16);--text:#0C1A16;--muted:#5E716B;--dim:#8699A0;--glass:color-mix(in srgb,#fff 70%,transparent);--e1:0 1px 2px rgba(7,21,17,.06);--e2:0 8px 24px rgba(7,21,17,.1);--e3:0 20px 50px rgba(7,21,17,.14)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-family:var(--disp);letter-spacing:-.02em}.mono{font-variant-numeric:tabular-nums;font-family:var(--disp)}.id{font-family:ui-monospace,Menlo,monospace;font-size:.9em}.muted{color:var(--muted)}.dim{color:var(--dim)}.row{display:flex;gap:14px;align-items:center}.col{display:flex;flex-direction:column}.spread{justify-content:space-between}.center{justify-content:center;align-items:center}.grow{flex:1}.wrap{flex-wrap:wrap}.gap2{gap:8px}.gap4{gap:16px}input,select,button{font-family:var(--font)}.occ{display:grid;grid-template-columns:76px 1fr;min-height:100vh}.rail{background:var(--rail);display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0;position:sticky;top:0;height:100vh}.rail .mark{width:44px;height:44px;border-radius:13px;background:var(--grad-primary);box-shadow:var(--glow);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.rail a{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#7f978f;position:relative;transition:.15s}.rail a svg{width:22px;height:22px;stroke-width:1.8;fill:none;stroke:currentColor}.rail a:hover{background:#ffffff12;color:#fff}.rail a.on{color:#fff;background:color-mix(in srgb,var(--primary-2) 26%,transparent)}.rail a:after{content:attr(data-t);position:absolute;left:56px;white-space:nowrap;background:#000;color:#fff;font-size:12px;padding:5px 9px;border-radius:7px;opacity:0;pointer-events:none;transition:.12s;z-index:50;box-shadow:var(--e2)}.rail a:hover:after{opacity:1}.rail .sp{flex:1}.rail .me{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15);cursor:pointer}.work{display:flex;flex-direction:column;min-width:0}.cmdbar{height:62px;display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.cmdbar h1{font-size:19px}.search{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:9px 13px;min-width:220px;flex:1;max-width:420px}.search input{background:none;border:none;outline:none;color:var(--text);flex:1;font-size:14px}.live{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--st-avail)}.blip{width:8px;height:8px;border-radius:50%;background:var(--st-avail);box-shadow:0 0 color-mix(in srgb,var(--st-avail) 60%,transparent);animation:blip 2s infinite}@keyframes blip{0%{box-shadow:0 0 color-mix(in srgb,var(--st-avail) 55%,transparent)}to{box-shadow:0 0 0 10px transparent}}.env{font-size:11px;font-weight:700;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;padding:4px 10px}.canvas{padding:22px 24px;overflow:auto}.canvas.full{padding:0;height:calc(100vh - 62px);display:flex}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--rad);box-shadow:var(--e1)}.panel.pad{padding:18px}.ph{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.ph .t{font-family:var(--disp);font-weight:600;font-size:15px}.grid{display:grid;gap:18px}.g-4{grid-template-columns:repeat(4,1fr)}.g-2{grid-template-columns:1.6fr 1fr}@media (max-width:1100px){.g-4{grid-template-columns:repeat(2,1fr)}.g-2{grid-template-columns:1fr}}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--rad);padding:16px;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--grad-primary)}.stat .lbl{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.stat .v{font-family:var(--disp);font-size:30px;font-weight:700;margin-top:6px}.dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}.dot.a{background:var(--st-avail)}.dot.u{background:var(--st-inuse)}.dot.m{background:var(--st-maint)}.dot.o{background:var(--st-offline)}.dot.d{background:var(--st-danger)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--border2);color:var(--muted)}.pill.a{color:var(--st-avail);background:color-mix(in srgb,var(--st-avail) 12%,transparent);border-color:transparent}.pill.u{color:var(--st-inuse);background:color-mix(in srgb,var(--st-inuse) 12%,transparent);border-color:transparent}.pill.m{color:var(--st-maint);background:color-mix(in srgb,var(--st-maint) 14%,transparent);border-color:transparent}.pill.d{color:var(--st-danger);background:color-mix(in srgb,var(--st-danger) 12%,transparent);border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border:none;border-radius:11px;font-family:var(--disp);font-weight:600;font-size:14px;cursor:pointer;background:var(--grad-primary);color:#061511;box-shadow:var(--glow);transition:.15s}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn.sm{height:34px;padding:0 13px;font-size:13px}.btn.ghost{background:var(--panel);color:var(--text);box-shadow:none;border:1px solid var(--border2)}.btn.danger{background:linear-gradient(135deg,#e5484d,#f0696d);color:#fff}.btn.accent{background:linear-gradient(135deg,#f0a93a,#f5c56b);color:#2a1c05}.tbl{width:100%;border-collapse:separate;border-spacing:0}.tbl th,.tbl td{text-align:left;padding:13px 16px;font-size:13px;border-bottom:1px solid var(--border)}.tbl th{color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.4px;text-transform:uppercase}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td{background:color-mix(in srgb,var(--primary) 8%,transparent)}.drawer{width:340px;flex:none;background:var(--panel);border-left:1px solid var(--border);padding:18px;overflow:auto}.kv{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.kv:last-child{border:none}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select{padding:11px 13px;border:1px solid var(--border2);border-radius:var(--rads);background:var(--canvas);color:var(--text);font-size:14px}.bar{height:8px;border-radius:999px;background:var(--border2);overflow:hidden}.bar>i{display:block;height:100%;background:var(--primary-2)}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--panel2)}.ava{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--grad-primary);color:#061511;font-family:var(--disp);font-weight:700;flex:none}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300}.modal{background:var(--panel);border:1px solid var(--border2);border-radius:var(--rad);padding:20px;width:420px;max-width:92vw;box-shadow:var(--e3)}.map{position:relative;width:100%;height:100%;min-height:240px;overflow:hidden;border-radius:var(--rad);background-color:#0b1a16;background-image:url(/map.png);background-size:cover;background-position:center}[data-theme=dark] .map{filter:saturate(.9) brightness(.62) contrast(1.05)}.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;z-index:2}.pin .b{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--grad-primary);border:2px solid #fff;box-shadow:var(--e2)}.pin.d .b{background:var(--st-danger)}.pin.u .b{background:var(--st-inuse)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-card{position:relative;width:400px;max-width:92vw;background:var(--panel);border:1px solid var(--border);border-radius:var(--rad);padding:28px;text-align:center;box-shadow:var(--e3)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--border2);color:var(--text);padding:12px 18px;border-radius:12px;box-shadow:var(--e3);z-index:200;font-size:14px}
