:root{--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg: #f5f7f9;--surface: #ffffff;--surface-2: #f2f5f8;--surface-3: #e9eef3;--border: #e4e9ef;--border-strong: #d2dae3;--text: #0d141c;--text-muted: #56626f;--text-faint: #98a4b2;--accent: #0aa896;--accent-strong: #068575;--accent-soft: rgba(10, 168, 150, .12);--accent-contrast: #ffffff;--focus: rgba(10, 168, 150, .3);--success: #0f9d58;--success-bg: rgba(15, 157, 88, .1);--danger: #d24545;--danger-bg: rgba(210, 69, 69, .09);--warn: #a66407;--warn-bg: rgba(245, 158, 11, .12);--r-sm: 8px;--r: 12px;--r-lg: 16px;--pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 28px -14px rgba(15, 23, 42, .16);--glow: 0 0 0 1px var(--accent-soft), 0 6px 18px -6px rgba(10, 168, 150, .5);--atmosphere: radial-gradient( 900px 500px at 100% -10%, rgba(10, 168, 150, .08), transparent 60% ), radial-gradient(700px 500px at -10% 110%, rgba(10, 168, 150, .05), transparent 55%)}@media (prefers-color-scheme: dark){:root{--bg: #0a0c10;--surface: #12161d;--surface-2: #171c25;--surface-3: #212834;--border: #232a35;--border-strong: #323b49;--text: #e9eef5;--text-muted: #8a94a4;--text-faint: #565f6d;--accent: #2fe6cf;--accent-strong: #19cdb6;--accent-soft: rgba(47, 230, 207, .13);--accent-contrast: #04221e;--focus: rgba(47, 230, 207, .35);--success: #48d189;--success-bg: rgba(72, 209, 137, .13);--danger: #ff6f6f;--danger-bg: rgba(255, 111, 111, .12);--warn: #ffc24b;--warn-bg: rgba(255, 194, 75, .13);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 18px 40px -20px rgba(0, 0, 0, .7);--glow: 0 0 0 1px rgba(47, 230, 207, .35), 0 0 22px -4px rgba(47, 230, 207, .55);--atmosphere: radial-gradient( 1000px 560px at 100% -12%, rgba(47, 230, 207, .1), transparent 60% ), radial-gradient(800px 560px at -12% 112%, rgba(47, 230, 207, .06), transparent 55%)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:14px;background:var(--bg);color:var(--text);line-height:1.5;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--atmosphere);pointer-events:none}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em}h1{font-size:21px}h2{font-size:16px}a{color:var(--accent-strong)}::selection{background:var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 28px;box-shadow:var(--shadow)}.card-head{margin-bottom:22px}.card-head .eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:6px}.card-head p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.card-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(150deg,var(--accent),var(--accent-strong));color:var(--accent-contrast);font-family:var(--font-mono);font-weight:600;font-size:15px;box-shadow:var(--glow)}.brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-sub{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}main{max-width:880px;margin:0 auto;padding:32px 20px 64px;display:flex;flex-direction:column;gap:22px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.span-all{grid-column:1 / -1}.schedule-field{margin-top:18px}label,.label{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.01em;display:flex;align-items:center;gap:6px}.hint{font-size:12px;color:var(--text-faint)}input,select{width:100%;font:inherit;font-size:14px;padding:10px 13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder{color:var(--text-faint)}input:hover,select:hover{border-color:var(--border-strong)}input:focus,select:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--focus)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%238a94a4' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.divider{height:1px;background:var(--border);margin:22px 0;border:0}button{font:inherit;font-size:14px;font-weight:500;padding:10px 18px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .05s,box-shadow .15s;white-space:nowrap}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.primary{background:var(--accent);color:var(--accent-contrast);font-weight:600;box-shadow:var(--shadow-sm)}.primary:not(:disabled):hover{background:var(--accent-strong);box-shadow:var(--glow)}.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.secondary:not(:disabled):hover{background:var(--surface-3);border-color:var(--text-faint)}.ghost{background:transparent;color:var(--text-muted);border-color:var(--border);padding:7px 13px}.ghost:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actions .spacer{flex:1}.message{margin:0;padding:11px 14px;border-radius:var(--r-sm);font-size:13px;display:flex;align-items:center;gap:9px}.message.success{color:var(--success);background:var(--success-bg);border:1px solid color-mix(in srgb,var(--success) 24%,transparent)}.message.error{color:var(--danger);background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent)}.message.warning{color:var(--warn);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 26%,transparent)}.form-messages{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.status-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--success)}.status-pill .dot{width:7px;height:7px;border-radius:var(--pill);background:var(--success);box-shadow:0 0 0 4px var(--success-bg)}.turnstile{margin:4px 0;min-height:65px}.turnstile-dev-note{margin:2px 0;font-size:12px;font-family:var(--font-mono);color:var(--text-faint)}.schedule{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);padding:16px}.schedule-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.schedule-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tz-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);padding:4px 9px;border-radius:var(--pill)}.tz-chip .dot{width:6px;height:6px;border-radius:var(--pill);background:var(--accent)}.schedule-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.schedule-count b{color:var(--text);font-weight:600}.schedule-presets{display:flex;gap:6px}.schedule-presets button{padding:5px 12px;font-size:12px;font-weight:500}.schedule-grid-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px 2px}.schedule-grid{border-collapse:separate;border-spacing:3px;-webkit-user-select:none;user-select:none;margin:0 auto}.schedule-grid th{padding:0;border:none;font-weight:500;color:var(--text-faint);font-family:var(--font-mono)}.schedule-corner{width:34px}.schedule-hour{font-size:10px;text-align:left;height:16px;position:relative}.schedule-hour span{position:absolute;left:0;bottom:0;transform:translate(-1px)}.schedule-day{font-size:11px;text-align:right;padding-right:10px!important;color:var(--text-muted);white-space:nowrap;width:34px}.schedule-cell{width:21px;height:21px;padding:0;border-radius:4px;background:var(--surface-3);border:1px solid transparent;cursor:pointer;transition:background .1s,box-shadow .1s,transform .05s}.schedule-cell:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}.schedule-cell.major{position:relative}.schedule-cell.major:before{content:"";position:absolute;left:-3px;top:-1px;bottom:-1px;width:1px;background:var(--border-strong);opacity:.5}.schedule-cell.active{background:var(--accent);box-shadow:0 0 10px -2px var(--accent-soft)}.schedule-cell.active:hover{background:var(--accent-strong)}.schedule-cell.selecting{box-shadow:inset 0 0 0 1.6px var(--accent)}.schedule-hint{margin:12px 0 0;font-size:12px;color:var(--text-faint);display:flex;align-items:center;gap:7px}.schedule-hint svg{flex-shrink:0;opacity:.7}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r)}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{text-align:left;padding:11px 16px;font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);background:var(--surface-2);border-bottom:1px solid var(--border)}tbody td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}td.query-cell{font-weight:500;color:var(--text)}td.time-cell{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--pill);font-size:12px;font-weight:500;background:var(--surface-3);color:var(--text-muted)}.chip:before{content:"";width:6px;height:6px;border-radius:var(--pill);background:currentColor}.chip-pending{background:#f59e0b24;color:#b3730a}.chip-running{background:var(--success-bg);color:var(--success)}.chip-stopped{background:var(--surface-3);color:var(--text-muted)}.chip-failed{background:var(--danger-bg);color:var(--danger)}@media (prefers-color-scheme: dark){.chip-pending{background:#ffc24b29;color:var(--warn)}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:44px 20px;color:var(--text-muted)}.empty-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);margin-bottom:6px}.empty-title{font-weight:600;color:var(--text);font-size:14px}.empty-sub{font-size:13px;max-width:320px}.list-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.total{font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:384px;display:flex;flex-direction:column;gap:14px;padding:34px 32px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:8px;text-align:center}.login-brand .brand-mark{width:44px;height:44px;border-radius:13px;font-size:20px}.login-brand h1{font-size:20px}.login-brand p{margin:2px 0 0;color:var(--text-muted);font-size:13px}.login-card .field-stack{display:flex;flex-direction:column;gap:14px}.login-card button.primary{margin-top:4px;padding:11px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.rise-1{animation-delay:.05s}.rise-2{animation-delay:.13s}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (max-width: 560px){main{padding:20px 14px 48px}.card{padding:20px 18px}}
