:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#f3f8ff;background:radial-gradient(circle at top,rgba(82,121,255,.26),transparent 30%),radial-gradient(circle at 20% 80%,rgba(0,224,193,.14),transparent 30%),linear-gradient(135deg,#061018,#0d1a2a 48%,#112035)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.page-shell{min-height:100vh;padding:24px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.sidebar{border-radius:26px;border:1px solid rgba(255,255,255,.08);background:#08111dd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px;display:flex;flex-direction:column}.brand-block{margin-bottom:16px}.brand{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.brand-sub{margin:8px 0 0;color:#95aeca;font-size:.92rem}.menu-section{margin-bottom:16px}.menu-section-auth{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.menu-label{margin:0 0 8px;color:#95aeca;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.side-menu{display:grid;gap:4px}.side-menu-link{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;font-size:.92rem}.side-menu-link:hover{background:#1b2a3e99}.side-menu-link.active{border-color:#82c1ff59;background:#1b2a3ef2}.side-menu-link-content{display:flex;align-items:center;justify-content:space-between}.menu-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4a5568;flex-shrink:0}.menu-status-dot-up{background:#78d89d;box-shadow:0 0 6px #78d89d99}.auth-logout-btn{color:#ffb8b8}.auth-logout-btn:hover{background:#781e1e80}.content-panel{display:grid;gap:14px;align-content:start}.panel{border-radius:26px;border:1px solid rgba(255,255,255,.08);background:#0a1320cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:28px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eyebrow{margin:0;color:#82c1ff;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}h1,h2{margin:8px 0 0}h3{margin:0}.meta-text{margin:0 0 12px;font-size:.85rem;color:#95aeca}.health-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.88rem;margin:8px 0 16px}.health-meta dt{margin:0;color:#95aeca;font-weight:500}.health-meta dd{margin:0}.health-grid{display:grid;gap:12px}.health-card{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#070e18a6;padding:16px}.health-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.health-card-header h3{margin:0;font-size:.95rem}.health-card-header p{margin:2px 0 0;font-size:.82rem;color:#95aeca}.health-indicator{width:12px;height:12px;border-radius:50%;background:#4a5568;flex-shrink:0}.health-indicator-up{background:#3dd68c;box-shadow:0 0 8px #3dd68c99}.health-indicator-down{background:#e55;box-shadow:0 0 8px #ee555580}.health-detail{margin:0 0 4px;font-size:.88rem;color:#c8d6e5}.health-link{color:#82c1ff;text-decoration:none}.health-link:hover{text-decoration:underline}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric-card{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#070e18a6;padding:12px}.metric-card p{margin:0 0 6px;color:#9cb5ce}.metric-card strong{font-size:1.05rem}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.data-table th{font-size:.82rem;color:#95aeca;text-transform:uppercase;letter-spacing:.05em}.empty-state{color:#95aeca;font-style:italic}.worker-name{text-transform:capitalize;font-weight:500}.status-dot-wrap{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot-green{background:#3dd68c;box-shadow:0 0 6px #3dd68c99}.dot-yellow{background:#f5c542;box-shadow:0 0 6px #f5c54299}.dot-grey{background:#4a5568}.status-label{font-size:.85rem;color:#95aeca}.interval-display{cursor:pointer;border-bottom:1px dashed rgba(130,193,255,.5);padding-bottom:1px}.interval-display:hover{border-bottom-color:#82c1ffe6}.interval-edit-wrap{display:flex;align-items:center;gap:4px}.interval-input{width:72px;background:#070e18cc;border:1px solid rgba(130,193,255,.5);border-radius:6px;padding:4px 7px;color:#f3f8ff;font-size:.9rem}.interval-err{font-size:.75rem;color:#ffb8b8}.action-btns{display:flex;gap:6px;flex-wrap:wrap}.btn-sm{font-size:.8rem;padding:5px 10px;border-radius:7px}.btn-trigger{border-color:#82c1ff73;background:#1e3c5ee6}.btn-disable{border-color:#ff787859;background:#5a1414b3;color:#ffb8b8}.btn-enable{border-color:#78d89d66;background:#144628b3;color:#9de5b5}.ts-cell{font-size:.85rem;color:#95aeca;white-space:nowrap}.run-row{cursor:pointer}.run-row:hover td{background:#ffffff08}.expand-toggle{width:20px;color:#95aeca;font-size:.8rem}.run-log-row td{padding:0 8px 12px}.pill{font-size:.75rem;padding:4px 8px;border-radius:999px;border:1px solid transparent}.pill-manual{color:#82c1ff;border-color:#82c1ff66;background:#1e467859}.pill-worker{color:#c9b8ff;border-color:#b496ff66;background:#46287859}button{border:1px solid rgba(130,193,255,.45);background:#1e3c5ee6;color:inherit;border-radius:10px;padding:10px 12px;cursor:pointer}button.secondary{background:#0c1e33e6}button:disabled{opacity:.6;cursor:not-allowed}.button-row{display:flex;gap:10px;flex-wrap:wrap}.error-banner{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#b024244d;border:1px solid rgba(255,120,120,.4)}.log-box{background:#030a12e6;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;overflow:auto;font-size:.82rem;max-height:300px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;border-radius:26px;border:1px solid rgba(255,255,255,.08);background:#08111de6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:36px 32px}.login-card .brand{font-size:1.1rem;margin:0}.login-card .brand-sub{margin:6px 0 24px;color:#95aeca;font-size:.92rem}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:6px;font-size:.9rem;color:#95aeca}.login-form input{background:#070e18cc;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 12px;color:#f3f8ff;font-size:.95rem;width:100%}.login-form input:focus{outline:none;border-color:#82c1ff80}.login-form button{margin-top:4px}@media(max-width:900px){.page-shell,.metric-grid{grid-template-columns:1fr}}
