:root{--bg: #0f1720;--surface: #182231;--surface-2: #202c3d;--border: #2c3a4f;--text: #e7edf5;--text-muted: #93a2b8;--accent: #4fb0ff;--accent-2: #22c58b;--danger: #ff6b6b;--warn: #ffb84f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}h1,h2,h3{font-weight:600;margin:0 0 .5rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:.95rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.5rem .9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#071018;font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.danger{border-color:var(--danger);color:var(--danger)}input,select{font-family:inherit;font-size:.95rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.45rem .6rem}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem;max-width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.table-scroll{overflow-x:auto}th{color:var(--text-muted);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em}.muted{color:var(--text-muted)}.error-banner{background:#ff6b6b1f;border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:.6rem .9rem;margin-bottom:1rem}.form-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-2);border:1px solid var(--border)}.badge.setup{color:var(--warn);border-color:var(--warn)}.badge.in_progress{color:var(--accent);border-color:var(--accent)}.badge.finished{color:var(--accent-2);border-color:var(--accent-2)}.badge.paused{color:var(--warn);border-color:var(--warn)}.badge.cancelled{color:var(--danger);border-color:var(--danger)}@media(max-width:640px){.card{padding:1rem;border-radius:10px}button{padding:.6rem .9rem;min-height:40px}input,select{padding:.55rem .6rem;min-height:40px}h1{font-size:1.4rem}h2{font-size:1.15rem}}
