:root{color-scheme:dark;--bg:#07100f;--panel:#101d1b;--panel2:#142522;--line:#24413b;--text:#edf7f4;--muted:#89a49f;--green:#55d691;--cyan:#72d8d2;--amber:#f4ba61;--red:#ff7878}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#12302c 0,#07100f 36rem);color:var(--text);font:14px/1.45 Inter,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:var(--text);background:#17302c;border:1px solid #31534d;border-radius:8px;padding:8px 12px}button:hover:not(:disabled){border-color:var(--cyan);background:#1d3935}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:#1f8269;border-color:#2ba480}button.danger{color:#ffadad;border-color:#753f3f;background:#2c1b1b}.full{width:100%}.hidden,.view{display:none!important}.view.active{display:block!important}.muted,small{color:var(--muted)}small{display:block}.spacer{flex:1}.logo{font-weight:900;letter-spacing:3px;font-size:18px}.logo span{color:var(--green);margin-left:5px}.login{display:grid;min-height:100vh;place-items:center}.login-panel{width:min(390px,92vw)}.login-panel>p{color:var(--muted)}label{display:block;color:var(--muted);margin:11px 0 5px}input,select{width:100%;background:#0b1715;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px}.panel{background:linear-gradient(145deg,#11211e,#0c1816);border:1px solid var(--line);border-radius:13px;padding:18px;margin-bottom:16px}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#0a1614;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column}.product{font-size:12px;color:var(--muted);margin:3px 0 28px}nav{display:grid;gap:4px}.nav{background:transparent;text-align:left;border-color:transparent}.nav.active{background:#193a34;border-color:#2f6359}.aside-foot{margin-top:auto;color:var(--muted)}.live{display:block;color:var(--green);margin-bottom:7px}.live.warn{color:var(--amber)}.live i,.path i{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:7px}header{height:68px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:0 24px;background:#091512dd;backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}header small{font-size:12px}.user{color:var(--green)}main{padding:24px;max-width:1500px}.notice{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:16px}.notice button{float:right;margin:-6px}.notice.warn{border-color:#725b30;background:#302612}.notice.info{border-color:#275a5c;background:#102829}.notice.danger{border-color:#753f3f;background:#2c1b1b}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:16px}.stat{padding:16px;border-radius:12px;background:linear-gradient(145deg,#132521,#0e1a18);border:1px solid var(--line)}.stat strong{display:block;font-size:31px;color:var(--cyan)}.stat.good strong{color:var(--green)}.stat.warn strong{color:var(--amber)}.stat span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.8px}.grid{display:grid;gap:16px}.split{grid-template-columns:2fr 1fr}.panel-head,.device-title,.iface,.copybox,.service-row{display:flex;align-items:center;gap:12px}.service-row{padding:12px 0;border-bottom:1px solid #1d3530}.button-link{display:inline-block;color:var(--text);background:#17302c;border:1px solid #31534d;border-radius:8px;padding:8px 12px;text-decoration:none}.button-link.primary{background:#1f8269;border-color:#2ba480}.panel-head{margin-bottom:12px}.panel-head h2{font-size:15px;margin:0}.panel-head span:last-child{margin-left:auto;color:var(--muted);font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #1d3530;padding:11px 9px;vertical-align:middle}th{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.7px}tbody tr[data-open]{cursor:pointer}tbody tr[data-open]:hover{background:#142724}.badge{display:inline-block;padding:3px 8px;border-radius:99px;background:#1e302e;border:1px solid var(--line);font-size:11px;white-space:nowrap}.badge.online{color:#8af0b4;border-color:#2e6c50;background:#113424}.badge.pending{color:#f5cf87;border-color:#725b30;background:#302612}.badge.offline,.badge.disabled{color:#b2c0bd}.badge.danger,.badge.failed{color:#ffadad;border-color:#753f3f;background:#2c1b1b}.path{display:inline-block;color:#6a7f7b;border:1px solid #29443f;border-radius:20px;margin:2px;padding:2px 8px;font-size:11px}.path.up{color:var(--green)}.empty{padding:20px;color:var(--muted);text-align:center}.attention{display:block;width:100%;text-align:left;background:transparent;border-color:transparent;border-bottom:1px solid #1d3530;border-radius:0;padding:12px 2px}.attention strong{margin-left:8px}.attention small{margin:5px 0 0}.toolbar{display:grid;grid-template-columns:1fr 180px;gap:10px;margin-bottom:14px}.back{margin-bottom:8px;background:transparent;border-color:transparent}.device-title h1{margin:0;font-size:26px}.device-title p{margin:3px 0 14px;color:var(--muted)}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:16px}.tab{background:transparent;border-color:transparent;border-radius:0;padding:11px}.tab.active{color:var(--green);border-bottom-color:var(--green)}.kv{display:grid;grid-template-columns:145px 1fr;gap:9px}.kv>div{color:var(--muted)}code,pre{font-family:ui-monospace,SFMono-Regular,monospace;color:#aee7dc;word-break:break-all}.actions{display:flex;gap:8px;flex-wrap:wrap}.iface{padding:12px 0;border-bottom:1px solid #1d3530}.steps{padding-left:21px}.steps li{margin:10px 0}.copybox{background:#091512;border:1px solid var(--line);border-radius:8px;padding:9px}.copybox code{flex:1}.check{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #1d3530}.check b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#1f8269}.command{border-bottom:1px solid #1d3530;padding:10px 0}.command summary{display:flex;align-items:center;gap:10px;cursor:pointer}.command pre{background:#091512;border:1px solid var(--line);border-radius:8px;padding:9px;white-space:pre-wrap}.modal{position:fixed;inset:0;display:grid;place-items:center;background:#0009;z-index:10}.modal-card{width:min(620px,92vw);background:#10201d;border:1px solid var(--line);border-radius:14px;padding:20px}#toasts{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:20}.toast{padding:11px 14px;background:#17302c;border:1px solid #31534d;border-radius:9px}.toast.danger{background:#2c1b1b;border-color:#753f3f}@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:static;height:auto}.aside-foot{display:none}nav{display:flex;overflow:auto}.workspace header{position:static}.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}main{padding:15px}.user{display:none}}
:root .service-card{padding:14px 0;border-bottom:1px solid #1d3530}:root .service-card-head{display:flex;align-items:center;gap:12px}:root .service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}:root .service-options>div{background:#0b1715;border:1px solid #1d3530;border-radius:9px;padding:11px}:root .service-options button{margin-top:9px}@media(max-width:900px){:root .service-options{grid-template-columns:1fr}}
:root .next{margin-bottom:16px}:root .next .attention{border:1px solid #1d3530;border-radius:10px;margin:8px 8px 0 0;padding:12px 14px;width:auto;min-width:220px;display:inline-block;vertical-align:top}:root .next .attention.primary{border-color:#2ba480;background:#123b30}:root .next .attention strong{display:block;margin:0 0 4px}
:root input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}:root .modal-card label:has(input[type=checkbox]){color:var(--text)}
:root .nav-label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.9px;margin:16px 8px 3px;text-transform:uppercase}:root .nav-label:first-child{margin-top:0}:root .notice.guide{border-color:#31534d;background:#10211f}:root .job-guide{margin-bottom:16px}:root .job-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}:root .job-card{text-align:left;background:#0b1715;border-color:#24413b;padding:14px}:root .job-card strong{display:block;margin-bottom:6px}:root .job-card small{line-height:1.45}:root .action-note{display:block;margin-top:9px;font-size:12px}@media(max-width:900px){:root .nav-label{align-self:center;margin:0 6px;white-space:nowrap}:root .job-cards{grid-template-columns:1fr}}
