:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#f4f6fa;background:#0c111b;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-width:320px}main{max-width:1050px;margin:auto;padding:32px 18px 80px}
[hidden]{display:none!important}h1{font-size:25px;letter-spacing:.2px;margin:0 0 6px}p{margin:0}.muted{color:#98a5b9}.brand{font-size:30px;font-weight:800;color:#76a9ff}.brand span{color:#f4f6fa}
button,input,select{font:inherit}button{border:1px solid #354258;cursor:pointer;border-radius:9px;padding:10px 14px;background:#243044;color:#fff;font-weight:600;transition:background .15s}button:hover{background:#35445b}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#3178ed;border-color:#3178ed}.primary:hover{background:#2468d5}.danger{background:#8e3340;border-color:#b13e4e}.danger:hover{background:#ad3c4d}.ghost{background:transparent;color:#cad5e5}.full{width:100%}
input,select{background:#111b2b;color:#fff;border:1px solid #354258;border-radius:9px;padding:10px 12px;min-width:0}input:focus,button:focus-visible,select:focus{outline:2px solid #64a0ff;outline-offset:2px}
.login-panel{width:100%;max-width:385px;margin:9vh auto;border:1px solid #2a3547;border-radius:16px;padding:30px;background:#171f2c;box-shadow:0 20px 70px #0003}.login-panel .muted{margin:12px 0 28px;font-size:14px}.login-panel form{display:grid;gap:10px}.login-panel input{margin-bottom:10px}.login-panel .primary{margin-top:10px}.login-panel label{font-size:14px;color:#c2ccda}.error{color:#ff8896;min-height:21px;margin-top:14px;font-size:13px}
header{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-bottom:28px;border-bottom:1px solid #253248}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px 0 15px;font-size:14px}.notice{padding:12px 14px;border:1px solid #53678a;background:#19283e;border-radius:10px;margin-top:16px;font-size:14px}.notice.fail{color:#ffb4bd;background:#3a1d26;border-color:#884454}
.nodes{display:grid;gap:12px}.node{border:1px solid #2b3950;border-radius:14px;background:#151f2d;padding:20px}.top{display:flex;justify-content:space-between;align-items:center;gap:15px}.node-name{font-size:17px;font-weight:700;overflow-wrap:anywhere}.meta{color:#a3b0c2;font-size:13px;margin-top:5px}.pill{display:inline-block;padding:4px 9px;border-radius:20px;font-size:12px;font-weight:700;margin-left:8px;vertical-align:2px}.pill.on{background:#1e463b;color:#66d8a8}.pill.off{background:#3b3440;color:#aab0bc}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:19px 0;padding:16px 0;border-top:1px solid #2b3950;border-bottom:1px solid #2b3950}.stats small{display:block;font-size:12px;color:#91a1b4;margin-bottom:5px}.stats strong{font-size:16px;font-variant-numeric:tabular-nums}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.schedule{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.schedule select{width:154px}.schedule input{width:85px}.pending{margin-top:13px;padding:11px 12px;border-radius:9px;background:#1b3048;color:#bcd7ff;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}.pending.failed{background:#3b242b;color:#ffadba}.pending button{padding:6px 10px;font-size:12px}.footnote{font-size:12px;line-height:1.7;color:#8493a7;margin-top:20px}
@media(max-width:620px){main{padding:20px 12px 60px}h1{font-size:21px}.node{padding:15px}.top{align-items:start}.node-name{font-size:15px}.stats{padding:13px 0;margin:15px 0}.stats strong{font-size:14px}.actions{align-items:stretch}.actions>.toggle{width:100%;order:2}.schedule{width:100%}.schedule select{flex:1}.schedule button{flex:0 0 auto}.pending{align-items:start}.login-panel{margin:8vh auto}}
