:root{color-scheme:dark;--bg:#07090d;--panel:#10141b;--line:#252b35;--text:#f5f7fa;--muted:#8c95a3;--lime:#b9ff45;--red:#ff5c68}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden}.orb{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(120px);opacity:.15}.orb.one{background:var(--lime);top:-200px;left:-100px}.orb.two{background:#5060ff;right:-180px;bottom:-230px}.login-card{width:min(460px,calc(100% - 32px));padding:38px;background:rgba(16,20,27,.91);border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 100px #0009;position:relative}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px}.brand i{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--lime);color:#091005;font-size:25px;font-style:normal}.brand span{display:flex;flex-direction:column}.brand small{font-size:9px;letter-spacing:2px;color:var(--muted)}.eyebrow{display:block;margin-top:35px;color:var(--lime);font-size:11px;font-weight:800;letter-spacing:1.8px}.login-card h1{font-size:38px;margin:10px 0}.login-card p,header p{color:var(--muted);line-height:1.55}.login-card label,dialog label{display:grid;gap:8px;margin:18px 0;color:#c4cad3;font-size:13px;font-weight:700}.login-card input,dialog input{width:100%;border:1px solid var(--line);background:#090c11;color:#fff;border-radius:12px;padding:14px;font-size:16px;outline:none}.login-card input:focus,dialog input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #b9ff4520}.login-card button,#confirm-action{width:100%;border:0;background:var(--lime);color:#091005;font-weight:900;border-radius:14px;padding:15px;font-size:15px;cursor:pointer}.login-card>small{display:block;text-align:center;color:var(--muted);margin-top:16px}.error,.notice.bad{background:#331419;color:#ffabb1;border:1px solid #68252c;padding:12px;border-radius:10px;margin:12px 0}#app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{position:sticky;top:0;height:100vh;padding:24px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#090c11}aside nav{display:grid;gap:8px;margin-top:55px}aside nav button,.logout{border:0;text-align:left;background:transparent;color:var(--muted);padding:13px 14px;border-radius:10px;font-size:14px}aside nav button.active{background:#171d25;color:#fff}aside nav em{float:right;font-size:9px;color:#5e6672}.logout{margin-top:auto;cursor:pointer}main{padding:44px clamp(24px,5vw,70px);max-width:1500px;width:100%}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}header .eyebrow{margin:0}header h1{font-size:clamp(30px,4vw,50px);margin:9px 0 6px;letter-spacing:-2px}#refresh,.service button,.secondary{border:1px solid var(--line);background:#141922;color:#fff;border-radius:10px;padding:11px 14px;font-weight:700;cursor:pointer}.host{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.host article{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column}.host small,.metrics small{color:var(--muted);font-size:10px;letter-spacing:1px}.host strong{font-size:24px;margin:5px 0}.host span{color:var(--muted);font-size:12px}.notice{padding:13px 15px;border:1px solid #3c6226;background:#152312;color:#cfffaa;border-radius:12px;margin-bottom:18px}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px}.service-head{display:flex;align-items:center;gap:13px}.service-logo{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;background:#1a2029;font-weight:900;color:var(--lime)}.service-head>div:nth-child(2){flex:1}.service-head span{color:var(--muted);font-size:11px}.service-head h2{font-size:19px;margin:3px 0}.state{font-size:11px;font-style:normal;color:#79e994;display:flex;gap:7px;align-items:center}.state b{width:7px;height:7px;background:#56e57c;border-radius:50%;box-shadow:0 0 14px #56e57c}.service.exited .state,.service.missing .state{color:#ff8b93}.service.exited .state b,.service.missing .state b{background:var(--red);box-shadow:0 0 14px var(--red)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0;padding:15px 0;border-block:1px solid var(--line)}.metrics span{display:flex;flex-direction:column;gap:5px;font-size:13px}.service-foot{display:flex;justify-content:space-between;align-items:flex-end}.service-foot>span{color:var(--muted);font-size:10px;line-height:1.7}.service-foot b{color:#cad0d9}.service-foot>div{display:flex;gap:8px;align-items:center}.service .danger,#confirm-action.danger{background:#40171c;color:#ffb2b7;border-color:#73272f}.service .start{background:#19331d;color:#a9f6b5;border-color:#315e37}footer{color:#606875;text-align:center;font-size:11px;margin:30px}dialog{border:1px solid var(--line);background:#10141b;color:#fff;border-radius:22px;width:min(460px,calc(100% - 30px));padding:0;box-shadow:0 25px 80px #000b}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog form{padding:28px}.close{float:right;border:0;background:transparent;color:#8e98a6;font-size:25px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.dialog-actions button{width:100%;padding:13px;border-radius:11px}.invalid{border-color:var(--red)!important}.secondary{background:transparent}@media(max-width:1000px){#app{grid-template-columns:1fr}aside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:15px}aside nav{display:none}.logout{margin:0 0 0 auto}main{padding:25px 16px}.host{grid-template-columns:repeat(2,1fr)}.services{grid-template-columns:1fr}}@media(max-width:560px){.login-card{padding:26px}.login-card h1{font-size:31px}header{align-items:end}header p{display:none}header h1{letter-spacing:-1px}.host{grid-template-columns:1fr 1fr;gap:8px}.host article{padding:14px}.host strong{font-size:19px}.service{padding:16px}.metrics{grid-template-columns:1fr 1fr}.service-foot{align-items:flex-start;gap:14px;flex-direction:column}.service-foot>div{width:100%}.service button{flex:1}aside .brand small{display:none}}
