:root{color-scheme:dark;--bg:#0c1220;--panel:#121c2d;--panel2:#182438;--line:#233149;--text:#e5edf8;--muted:#899ab3;--accent:#51d9b1;--blue:#6d9bff;--red:#fb8495;--amber:#f2bc70;--sidebar:#0e1727;--shadow:0 18px 65px #0004}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button{border:1px solid var(--line);color:var(--text);background:var(--panel2);border-radius:9px;padding:8px 14px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#09261e;border:0;font-weight:700;padding:13px 18px}.quiet{border:0;background:transparent;color:var(--muted);padding:6px 10px}.icon-btn{padding:6px 11px;font-size:20px}.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px;font-weight:700}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:1px}.brand img{width:40px;height:40px}.brand-sub{display:block;letter-spacing:2.5px;font-size:8px;color:var(--muted);margin-top:-2px}.brand.big{font-size:32px}.brand.big img{height:54px;width:54px}.sidebar{position:fixed;top:0;bottom:0;left:0;width:226px;border-right:1px solid var(--line);background:var(--sidebar);padding:28px 16px;display:flex;flex-direction:column}.sidebar .brand{padding-left:14px}.nav-caption{margin:45px 15px 12px;font-size:9px;letter-spacing:2px;color:var(--muted)}nav{display:grid;gap:6px}.nav-link{padding:11px 15px;border-radius:9px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.nav-link .nav-icon{width:19px;font-size:17px;text-align:center}.nav-link:hover{color:var(--text);background:var(--panel2)}.nav-link.active{color:var(--accent);background:#51d9b111;border:1px solid #51d9b124;padding:10px 14px}.sidebar-bottom{margin-top:auto;display:flex;gap:12px;align-items:center;padding:20px 12px 0;border-top:1px solid var(--line);font-size:11px}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px #51d9b140}.dot.bad{background:var(--red)}main{margin-left:226px}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--bg)}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{margin:0 14px;opacity:.5}.breadcrumb b{color:var(--text);font-weight:500}.header-actions{display:flex;align-items:center;gap:12px}.live{font-size:10px;letter-spacing:1px;color:var(--accent);display:flex;align-items:center;gap:8px}.avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#6d9bff22;color:var(--blue);font-size:11px;border:1px solid #6d9bff33}.content{max-width:1800px;margin:auto;padding:30px 32px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}h1{font-size:28px;letter-spacing:-.7px;line-height:1.2;margin:6px 0 8px;font-weight:650}h2{font-size:17px;letter-spacing:-.3px;margin:0 0 6px}h3{font-size:13px;font-weight:600;margin:0}p{margin:0 0 12px}.page-heading p{font-size:12px}.updated{font-size:10px;color:var(--muted);display:flex;gap:12px;align-items:center}.badge{font-size:10px;border:1px solid var(--line);padding:3px 8px;border-radius:5px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.cards.six{grid-template-columns:repeat(6,minmax(0,1fr))}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 9px #0000000a}.card{padding:18px;position:relative;overflow:hidden}.card-label{font-size:10px;letter-spacing:.4px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.card-value{font-size:28px;font-weight:620;letter-spacing:-1px;margin-top:10px}.card-value small{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:4px}.card-note{color:var(--muted);font-size:10px;margin-top:6px;min-height:15px}.spark{height:34px;margin-top:12px;width:100%}.spark path{stroke:var(--accent);stroke-width:1.8;fill:none;vector-effect:non-scaling-stroke}.spark .area{stroke:none;fill:#51d9b10b}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:22px}.grid-equal{grid-template-columns:1fr 1fr}.panel{padding:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.panel-head small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.text-link{color:var(--accent);font-size:10px}.chart{width:100%;height:170px;display:block;overflow:visible}.chart text{fill:var(--muted);font-size:9px}.chart .grid{stroke:var(--line);stroke-width:1}.chart .plot{stroke:var(--accent);stroke-width:2;fill:none;vector-effect:non-scaling-stroke}.chart .blue{stroke:var(--blue)}.chart .fill{fill:#51d9b10a;stroke:0}.chart-legend{display:flex;gap:20px;align-items:center;margin-top:12px;color:var(--muted);font-size:10px}.legend-dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:var(--accent);margin-right:6px}.legend-dot.blue{background:var(--blue)}.status{font-size:10px;padding:3px 7px;border-radius:5px;background:#51d9b115;color:var(--accent);white-space:nowrap}.status.warning{color:var(--amber);background:#f2bc7013}.status.danger{color:var(--red);background:#fb849513}.status.neutral{background:var(--panel2);color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{color:var(--muted);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr[data-container]{cursor:pointer}tbody tr:hover{background:#6d9bff04}td.primary-cell{font-weight:600}.mono{font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.subline{display:block;color:var(--muted);font-size:10px;margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}input,select{border:1px solid var(--line);background:var(--bg);border-radius:8px;color:var(--text);padding:10px 12px;font-size:12px}input[type=search]{width:260px}input::placeholder{color:var(--muted)}.search-count{color:var(--muted);font-size:11px}.meter{height:5px;border-radius:8px;background:var(--line);overflow:hidden;margin-top:10px}.meter svg{height:5px;width:100%;display:block}.disk-row{padding:20px 0;border-bottom:1px solid var(--line)}.disk-row:last-child{border:0}.disk-top{display:flex;justify-content:space-between;gap:14px}.disk-row .subline{max-width:none}.alert-item,.service-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-item:last-child,.service-row:last-child{border:0}.alert-name{font-size:12px}.alert-detail{font-size:10px;color:var(--muted);margin-top:4px}.empty{padding:38px 10px;text-align:center;color:var(--muted);font-size:12px}.empty .empty-icon{font-size:28px;display:block;color:var(--accent);margin-bottom:8px}.callout{padding:13px 16px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-size:11px;border-radius:8px;margin-bottom:20px;line-height:1.7}.callout.warning{border-color:#f2bc7040;color:var(--amber)}.flow{width:100%;height:290px}.flow .edge{stroke:var(--line);stroke-width:2;fill:none}.flow .edge.active{stroke:var(--accent);stroke-dasharray:7 5;animation:flow 1s linear infinite}.flow .edge.configured{stroke-dasharray:5 5;opacity:.6}.flow rect{fill:var(--panel2);stroke:var(--line);stroke-width:1}.flow text{fill:var(--text);font-size:11px;text-anchor:middle}.flow .detail{fill:var(--muted);font-size:9px}.flow .node-dot{fill:var(--accent)}.flow .node-dot.external{fill:var(--blue)}@keyframes flow{to{stroke-dashoffset:-24}}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;padding:25px 0 5px}.drawer{position:fixed;right:0;top:0;bottom:0;width:520px;max-width:95vw;background:var(--panel);box-shadow:var(--shadow);border-left:1px solid var(--line);padding:32px;z-index:30;overflow:auto}.close{position:absolute;right:20px;top:15px;border:0;background:transparent;font-size:24px;color:var(--muted)}#overlay{position:fixed;inset:0;background:#0007;z-index:20}.detail-row{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;word-break:break-word}.detail-row span:first-child{color:var(--muted)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:linear-gradient(145deg,#10283b,#0c1528 70%);padding:9vh 7vw;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.login-art h1{font-size:48px;line-height:1.2;margin:60px 0 20px;color:#e5edf8;letter-spacing:-1.5px}.login-art p{color:#899ab3;max-width:350px;font-size:15px}.login-status{display:flex;gap:10px;align-items:center;font-size:9px;letter-spacing:2px;color:#899ab3;margin-top:55px}.decor-grid{position:absolute;width:450px;height:450px;border:1px solid #51d9b114;border-radius:50%;right:-180px;bottom:-150px;box-shadow:0 0 0 60px #51d9b105,0 0 0 120px #51d9b104,0 0 0 180px #51d9b103}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:60px 35px}.login-form-wrap form{width:350px;max-width:100%}.login-form-wrap h2{font-size:25px;margin:10px 0}.login-form-wrap p{font-size:12px;margin-bottom:30px}label{display:block;font-size:11px;color:var(--muted);margin-top:20px}label input{display:block;width:100%;margin-top:8px;padding:12px}.login-form-wrap button.primary{margin-top:20px;width:100%;display:flex;justify-content:space-between}.login-foot{font-size:10px!important;color:var(--muted);text-align:center;margin-top:25px}.error{font-size:12px;color:var(--red);margin-top:12px}.settings-form{max-width:420px}.settings-form button{margin-top:20px}.settings-note{color:var(--muted);font-size:11px;margin-top:20px}.version-tag{font-size:10px;color:var(--blue)}
body.light{color-scheme:light;--bg:#f4f7fb;--panel:#fff;--panel2:#edf2f8;--line:#dce4ef;--text:#18263d;--muted:#6a7d98;--accent:#0b9975;--blue:#4374db;--red:#c9445a;--amber:#a16a16;--sidebar:#fff;--shadow:0 18px 65px #10203020}
@media(min-width:1550px){.content{padding:38px 42px}.cards.six .card-value{font-size:31px}}
@media(max-width:1200px){.cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.sidebar{width:195px}main{margin-left:195px}.content{padding:25px}.flow{height:320px}}
@media(max-width:800px){.sidebar{width:64px;padding:20px 7px}.sidebar .brand{padding:0;justify-content:center}.sidebar .brand>span,.nav-caption,.nav-link>span:not(.nav-icon),.sidebar-bottom{display:none}.brand img{width:36px}.nav-link,.nav-link.active{justify-content:center;padding:12px 5px}.nav-link .nav-icon{font-size:20px}.sidebar nav{margin-top:28px}main{margin-left:64px}header{padding:0 15px;height:62px}.breadcrumb{display:none}.header-actions{width:100%;justify-content:flex-end;gap:5px}.content{padding:22px 15px}.page-heading{display:block}.updated{margin-top:15px}h1{font-size:24px}.cards,.cards.six{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:14px}.card-value{font-size:25px}.panel{padding:16px}.toolbar{align-items:flex-start;flex-direction:column}input[type=search]{width:100%;min-width:190px}.filters{width:100%}.login-shell{grid-template-columns:1fr}.login-art{padding:30px;min-height:200px}.login-art h1{font-size:29px;margin:25px 0 0}.login-art p,.login-status{display:none}.login-art .brand.big{font-size:25px}.login-art .brand.big img{width:40px;height:40px}.login-form-wrap{padding:45px 25px}footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.flow .edge.active{animation:none}}
