@font-face{font-family:system-ui;src:local(Tahoma)}*{box-sizing:border-box}body{margin:0;background:#07100d;color:#ecfff5;font-family:Tahoma,Arial,sans-serif;font-size:14px}input,button{font:inherit}.install,.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#18382a,#07100d 55%)}.install-card,.login-card{width:min(720px,calc(100% - 28px));background:#0e1b16;border:1px solid #254534;border-radius:22px;padding:34px;box-shadow:0 30px 80px #0008}.login-card{width:min(430px,calc(100% - 28px))}.brand{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#b6ff72;color:#10200f;font-weight:900;font-size:21px}.install-card h1,.login-card h1{margin:18px 0 8px}form label{display:block;margin:15px 0;color:#b8d1c3}label small,.hint{display:block;color:#769486;margin-top:7px}input{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #2b4b3a;border-radius:11px;background:#09140f;color:#fff;outline:none}input:focus{border-color:#a9f36d;box-shadow:0 0 0 3px #a9f36d18}.grid,.inline-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:11px;background:#b6ff72;color:#10200f;font-weight:800;padding:13px 20px;cursor:pointer;text-decoration:none}.install-card>.button{margin-top:15px}.alert{padding:13px 16px;border-radius:11px;margin:15px 0}.alert.error{background:#4a181b;border:1px solid #84363c;color:#ffd9dc}.alert.success{background:#123f2b;border:1px solid #28764f;color:#d9ffea}.panel{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.panel aside{position:sticky;top:0;height:100vh;padding:24px 18px;background:#0b1712;border-left:1px solid #1c3428;display:flex;flex-direction:column}.logo{display:flex;gap:12px;align-items:center}.logo>b{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#b6ff72;color:#10200f}.logo span{font-weight:bold}.logo small{display:block;color:#759182;margin-top:3px}.panel nav{display:grid;gap:7px;margin-top:35px}.panel nav a,.logout{padding:13px 15px;border-radius:10px;color:#a9c2b5;text-decoration:none}.panel nav a:hover,.panel nav a.active{background:#172a20;color:#c9ff9b}.logout{margin-top:auto;color:#ff9da4}.panel>main{padding:28px;min-width:0}.panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel header h1{margin:0 0 6px}.panel header p{margin:0;color:#6f8d7e}.status{padding:8px 12px;border-radius:30px;font-size:12px}.status.good{background:#153f2c;color:#9ef2be}.status.bad{background:#4b1e22;color:#ffb4ba}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.cards article,.box{background:#0e1c16;border:1px solid #20392d;border-radius:16px;padding:20px}.cards small{color:#789485}.cards b{display:block;font-size:24px;margin-top:13px}.cards em{font-size:12px;font-style:normal}.box{margin-top:18px}.box h2{margin:0 0 16px;font-size:17px}.inline-form{grid-template-columns:1fr 1fr auto;align-items:end}.inline-form label{margin:0}.table{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:right;padding:13px;border-bottom:1px solid #1d3429}th{color:#7f9d8d;font-size:12px}code{color:#c9ff9b}.danger{border:0;background:#4a1b20;color:#ffc4c8;border-radius:8px;padding:7px 11px;cursor:pointer}.tag{padding:5px 9px;border-radius:20px}.tag.ok{background:#15402c;color:#a4f5c2}.tag.fail{background:#4a1b20;color:#ffc4c8}.search{display:flex;gap:10px;margin-bottom:18px}.search input{margin:0}dl{display:grid;grid-template-columns:150px 1fr;gap:10px}dt{color:#789485}dd{margin:0;overflow-wrap:anywhere}@media(max-width:900px){.panel{display:block}.panel aside{position:static;height:auto}.panel nav{grid-template-columns:repeat(2,1fr);margin-top:20px}.logout{margin-top:15px}.cards{grid-template-columns:repeat(2,1fr)}.panel>main{padding:18px}}@media(max-width:600px){.grid,.inline-form,.cards{grid-template-columns:1fr}.install-card,.login-card{padding:22px}.panel nav{grid-template-columns:1fr 1fr}.panel header{align-items:flex-start}.inline-form .button{width:100%}}
