:root{color-scheme:dark;--bg:#091321;--card:#111f31;--card2:#17273b;--line:#283c53;--fg:#eef5ff;--mut:#8fa4bb;--run:#52e4a0;--wait:#eec77b;--idle:#89baff;--stale:#f3aa66;--off:#fa7b87;--unk:#94a4b8}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse 85% 32% at 60% -8%,#224461 0%,transparent 78%),var(--bg);color:var(--fg);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;padding:24px 25px 70px;max-width:1180px;margin-inline:auto}
button,input{font:inherit}button{cursor:pointer}
.top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:27px;border-bottom:1px solid #263a4a}
.identity{display:flex;align-items:center;gap:12px}.mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#65a8ff,#58e4c5);color:#071a2c;font-size:17px;font-weight:900;letter-spacing:-.07em;box-shadow:0 12px 30px #287ee12c}
.brand strong{display:block;font-size:16px;line-height:1.2}.brand span{display:block;font-size:10px;letter-spacing:.15em;color:#92a7c5;font-weight:730;margin-top:3px}
.live-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #246348;background:#173b31;color:#86efb5;padding:7px 12px;border-radius:99px;font-size:11px;letter-spacing:.09em;font-weight:800;white-space:nowrap}
.live-chip.offline{background:#4d2a30;border-color:#78454d;color:#f6a0a8}.led,.tiny-led{width:7px;height:7px;border-radius:100%;background:var(--run);display:inline-block;box-shadow:0 0 0 4px #2fc98e20;animation:ledpulse 2.4s infinite}.offline .led{background:var(--off);animation:none}@keyframes ledpulse{50%{opacity:.55}}
.intro{padding:32px 0 25px}.eyebrow{color:#77b5f7;font-weight:800;font-size:10px;letter-spacing:.2em;margin:0 0 9px}h1{font-size:clamp(27px,4.3vw,42px);letter-spacing:-.04em;line-height:1.12;font-weight:780;margin:0 0 12px}h2{font-size:18px;letter-spacing:-.025em;margin:0}.sub{color:var(--mut);font-size:13px;max-width:670px;line-height:1.7;margin:0}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 14px}.section-heading span{color:var(--mut);font-size:11px}.refresh{display:flex;align-items:center;gap:7px;white-space:nowrap}
.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}.metric{background:linear-gradient(155deg,#14263e,#111e30);border:1px solid var(--line);padding:17px;border-radius:18px;min-height:117px}
.metric-name{font-size:11px;color:var(--mut);display:block;line-height:1.4}.metric strong{font-size:29px;line-height:1.15;display:block;margin:9px 0 6px;letter-spacing:-.045em}.metric strong.fresh-indicator{font-size:24px;color:var(--run)}.metric small{font-size:10px;color:#7892af}.meta{font-size:11px;color:var(--mut);margin:3px 0 28px;line-height:1.5}
#machines{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{border:1px solid var(--line);background:linear-gradient(150deg,#13243a,#101d2d);border-radius:20px;padding:20px;min-width:0}
.card h2{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;margin:0 0 9px}.card h2 span:first-child{display:inline-flex;align-items:center;gap:9px}.card h2 span:first-child:before{content:'▣';font-size:16px;border:1px solid #36536c;background:#213a54;color:#b4d7f8;width:31px;height:31px;border-radius:9px;display:grid;place-items:center}
.badge{font-size:10px;white-space:nowrap;border:1px solid currentColor;border-radius:99px;padding:4px 8px;font-weight:780;line-height:1.3}
.s-running{color:var(--run)}.s-waiting{color:var(--wait)}.s-idle{color:var(--idle)}.s-stale{color:var(--stale)}.s-offline{color:var(--off)}.s-unknown,.s-none,.s-notconf{color:var(--unk)}
.small{color:var(--mut);font-size:12px;line-height:1.5}.agent{border-top:1px solid #293d51;margin-top:18px;padding-top:18px}.agent .row{display:flex;align-items:center;justify-content:space-between;gap:8px}.agent .name{font-weight:770;font-size:14px}.agent .counts{color:#8097ae;font-size:11px;margin:7px 0;line-height:1.5}.agent .small{font-size:11px;line-height:1.6;margin:8px 0}
.indicator-title{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#97b1c9;font-weight:800;margin:14px 0 3px}
.bar{position:relative;height:10px;background:#2c4054;border-radius:99px;overflow:hidden;margin-top:6px;border:1px solid #33485e}.bar .fill{height:100%;width:0}
.bar-label{font-size:11px;color:#99acc0;line-height:1.5;min-height:28px;margin-top:5px;overflow-wrap:anywhere}
.bar.activity .fill{width:100%;background:#2e4053}
.bar.activity.animate .fill{background:repeating-linear-gradient(55deg,#4cdda0 0 10px,#25845e 10px 20px);background-size:35px 35px;animation:move 0.85s linear infinite}
.bar.activity.frozen.tone-quiet .fill{background:var(--wait)}
.bar.activity.frozen.tone-hang .fill{background:var(--off)}
.bar.activity.frozen.tone-unknown .fill,.bar.activity.frozen.tone-off .fill{background:#37495a}
.bar.progress.exact .fill{background:linear-gradient(90deg,#5d96f6,#75ceff);transition:width .35s}
.bar.progress.grey{background:#253449}.bar.progress.grey .fill{width:0}
@keyframes move{from{background-position:0 0}to{background-position:35px 0}}
.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:19px 0 26px}.explain{padding:17px;border-radius:16px;background:#101e30;border:1px solid var(--line);display:flex;gap:12px}.explain-symbol{width:34px;height:34px;flex:none;display:grid;place-items:center;background:#1f374f;border-radius:10px;font-size:24px}.activity-symbol{color:var(--run)}.progress-symbol{color:var(--idle)}.explain strong{display:block;font-size:13px}.explain p{color:var(--mut);font-size:11px;line-height:1.6;margin:4px 0 0}
.tools{border:1px solid var(--line);background:#101d2d;border-radius:18px;padding:18px;display:grid;gap:12px}.tools h2{margin:0 0 8px}.note{font-size:12px;color:var(--mut);line-height:1.55;margin:0}
.tool-buttons{display:flex;flex-wrap:wrap;gap:10px}button{min-height:42px;border:1px solid #3d5772;border-radius:12px;padding:9px 14px;background:#1b3049;color:#d7e6f8;font-weight:630;transition:filter .2s}button:hover{filter:brightness(1.14)}button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:transparent}.primary{background:#3b81ee;border-color:#6897df;color:white}
#login{padding:26px;margin:0 0 30px;display:grid;gap:14px;background:linear-gradient(145deg,#1a2f47,#101d2e);border:1px solid #35526f;border-radius:20px;max-width:415px}.login-icon{background:#294d71;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:24px;color:#bbd8fe}#login h2{font-size:21px}#login label{color:#c8d8ed;font-size:12px;font-weight:680}#login input{background:#0d1b2d;border:1px solid #3b5773;border-radius:12px;padding:11px 13px;color:white;min-height:45px;outline-offset:3px}#login button{min-height:47px}#login-err{color:var(--off);font-size:12px;margin:0;min-height:10px}
footer{text-align:center;font-size:10px;color:#617c98;padding-top:28px;line-height:1.6}
@media(max-width:760px){body{padding:18px 14px 42px}.top{padding-bottom:20px}.mark{width:39px;height:39px}.brand strong{font-size:15px}.brand span{font-size:9px}.live-chip{font-size:9px;padding:6px 8px}.intro{padding:24px 0 22px}.sub{font-size:12px}.overview{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:13px;min-height:102px}.metric strong{font-size:27px;margin:7px 0 3px}.metric strong.fresh-indicator{font-size:21px}.section-heading h2{font-size:16px}.section-heading span{font-size:10px}#machines,.help-grid{grid-template-columns:1fr}.card{padding:16px}.card h2{font-size:16px}.explain{padding:15px}.bar-label{min-height:0}.meta{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.led,.tiny-led,.bar.activity.animate .fill{animation:none}button,.bar.progress.exact .fill{transition:none}}

.pushward-form{display:grid;gap:9px}
.pushward-form input[type=password]{background:#14243a;color:#fff;border:1px solid #3d5670;border-radius:11px;padding:12px;min-height:44px;max-width:600px;width:100%;font:inherit}
.pushward-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:var(--mut)}
.pushward-consent input{width:19px;height:19px;flex-shrink:0;accent-color:#5ce7b7}
.pushward-form button{max-width:450px}
