:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui;background:#080a0d;color:#f5f7fb}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 20%,#101722 0,#080a0d 40%);min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:240px;padding:24px 18px;border-right:1px solid #242933;background:#0b0d11}aside h2{color:#3984ff}aside small{font-size:12px;color:#77808f}nav{display:grid;gap:8px;margin-top:28px}nav a,.logout{color:#c7cbd3;text-decoration:none;padding:12px;border-radius:8px}nav a:hover{background:#132038;color:#fff}.logout{position:absolute;bottom:22px}.content{margin-left:240px;padding:30px;max-width:1500px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px}.card{background:#0d0f13;border:1px solid #262b35;border-radius:14px;padding:20px;box-shadow:0 10px 35px #0006;margin-bottom:22px}.metrics .card b{display:block;font-size:38px;color:#4285ff}.metrics .card span{color:#aeb4bf}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #232832;vertical-align:top}th{color:#8992a1;font-weight:600}code{word-break:break-all;color:#82b1ff}.login{min-height:100vh;display:grid;place-items:center}.login form{width:min(420px,92vw)}label{display:grid;gap:8px;margin:16px 0;color:#b9c0cc}input{padding:13px;border-radius:8px;border:1px solid #303745;background:#11151c;color:#fff}button{width:100%;padding:13px;border:0;border-radius:8px;background:#3d82f6;color:#fff;font-weight:700}@media(max-width:900px){aside{position:static;width:auto}.content{margin-left:0}.metrics{grid-template-columns:1fr 1fr}}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.75}.hint{color:#77808f;font-size:11px}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;line-height:1.6}.badge.ok{background:#0f2f1d;color:#4ade80}.badge.bad{background:#3a1116;color:#f87171}.badge.warn{background:#3a2a0c;color:#fbbf24}.svc-active{background:#0f2f1d;color:#4ade80}.svc-inactive,.svc-not_found,.svc-unknown{background:#1c212b;color:#94a3b8}.svc-failed{background:#3a1116;color:#f87171}.warn-text{color:#fbbf24}.komari-bar{border-color:#1e3a5f;background:linear-gradient(180deg,#0d1420 0,#0d0f13 100%)}.komari-bar h3{color:#6ab0ff;margin-top:0}.komari-bar h3 small{color:#77808f;font-weight:400}.btn{display:inline-block;padding:4px 12px;border-radius:6px;background:#1c3a5e;color:#9ec5ff;text-decoration:none;font-size:12px}.btn:hover{background:#244d7a;color:#fff}
.btn.primary{background:#3d82f6;color:#fff}
.modal{display:none;position:fixed;inset:0;background:#0009;align-items:center;justify-content:center;z-index:50}
.modal-box{background:#0d1016;border:1px solid #2a3140;border-radius:14px;padding:24px;width:min(520px,92vw);max-height:86vh;overflow:auto}
.modal-box h3{margin-top:0;color:#9ec5ff}
.modal-box label{display:grid;gap:6px;margin:12px 0}
.modal-box input,.modal-box select,.modal-box textarea{padding:10px;border-radius:8px;border:1px solid #303745;background:#11151c;color:#fff;width:100%}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.modal-actions .btn{width:auto;padding:10px 18px}
pre.log{background:#07090c;border:1px solid #232832;border-radius:8px;padding:12px;max-height:260px;overflow:auto;font-size:11px;line-height:1.7;color:#b6c2d4;white-space:pre-wrap;word-break:break-all}
