:root{--bg:#0f1117;--panel:#171a23;--panel-2:#1e2230;--border:#2a2f3d;--text:#e6e8ee;--muted:#9aa1b1;--accent:#5b8def;--ok:#3fb27f;--warn:#e0b341;--err:#e5484d}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}main{max-width:1200px;margin:0 auto;padding:32px 24px 64px}header.page{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}h1{margin:0;font-size:20px}.subtitle{color:var(--muted);font-size:13px}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}select,input{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px}input{width:64px}.client-group{margin-bottom:28px}.group-header{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;border-radius:0;align-items:center;gap:8px;margin:0 0 8px;padding:6px 4px;font-size:15px;font-weight:600;display:flex}.group-header:hover:not(:disabled){border-color:var(--border);color:var(--accent)}.group-header .chevron{color:var(--muted);font-size:11px;transition:transform .12s;display:inline-block}.group-header .chevron.collapsed{transform:rotate(-90deg)}.group-header .group-name{font-weight:600}.group-header .group-errors{color:var(--err);margin-left:auto;font-size:12px;font-weight:600}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}th{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}tr:last-child td{border-bottom:none}.job-name{font-weight:600}.job-fn{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{color:var(--ok);background:#3fb27f26}.badge.off{color:var(--muted);background:#9aa1b126}.badge.webhook{color:var(--accent);background:#5b8def26}.schedule-editor{align-items:center;gap:6px;display:flex}.current-rate{color:var(--muted);margin-top:4px;font-size:12px}.errors-none{color:var(--ok)}.error-item{margin-bottom:6px;display:block}.error-item a{color:var(--err);text-decoration:none}.error-item a:hover{text-decoration:underline}.error-meta{color:var(--muted);font-size:12px}.banner{border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:10px 14px}.banner.warn{border-color:var(--warn);color:var(--warn);background:#e0b3411a}.banner.err{border-color:var(--err);color:var(--err);background:#e5484d1a}.row-status{margin-top:4px;font-size:12px}.row-status.err{color:var(--err)}.row-status.ok{color:var(--ok)}.muted{color:var(--muted)}.user{flex-shrink:0;align-items:center;gap:12px;display:flex}.user-email{color:var(--muted);white-space:nowrap;font-size:13px}.signout-btn{padding:4px 10px;font-size:13px}.login{justify-content:center;align-items:center;min-height:70vh;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:360px;padding:32px}.login-card h1{margin-bottom:2px}.login-card .subtitle{margin-bottom:24px}.login-card form{margin-top:8px}.google-btn{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;padding:10px 16px;font-weight:600}.login-note{margin-top:16px;font-size:12px}.login .banner{text-align:left;margin-bottom:20px}
