:root{--bg: #f3f5f8;--surface: #ffffff;--surface-alt: #f8fafc;--text: #15202b;--muted: #5b6b7a;--border: #d6dde5;--brand: #0f3d59;--brand-strong: #0a2b40;--danger: #b42318;--warn: #8a4b08;--queued: #6f42c1;--running: #0b69a3;--done: #127a48;--failed: #b42318;--cancelled: #626f7d}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,Segoe UI,Tahoma,sans-serif;color:var(--text);background:radial-gradient(circle at top,#e9eff6 0%,var(--bg) 45%,#eff3f7 100%)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.5rem,2.2vw,2rem)}h2{font-size:clamp(1.1rem,1.8vw,1.35rem)}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid var(--border);background:#fafcfff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-weight:700;letter-spacing:.02em}.topnav{display:flex;flex-wrap:wrap;gap:8px}.topnav-link{display:inline-block;padding:8px 12px;border-radius:10px;color:var(--muted);border:1px solid transparent}.topnav-link:hover{text-decoration:none;border-color:var(--border);color:var(--text)}.topnav-link.is-active{color:var(--brand-strong);border-color:#b6c8d7;background:#ebf3fa}.topbar-right{display:flex;align-items:center;gap:8px}.user-chip{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--muted)}.page{width:min(1200px,100%);margin:0 auto;padding:22px}.page-center{min-height:100vh;display:grid;place-items:center}.stack{display:grid;gap:16px}.stack-tight{display:grid;gap:8px}.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{display:grid;gap:12px;border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--surface);box-shadow:0 1px 2px #0a0f1408}.auth-card{width:min(460px,100%)}.warning-card{border-color:#e8c9a8;background:#fdf7ef}.muted{color:var(--muted)}.row{display:flex;align-items:center}.gap-sm{gap:8px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.form{display:grid;gap:12px}.field{display:grid;gap:6px;font-size:.92rem}.field-inline{grid-auto-flow:column;align-items:center;gap:8px}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;border:1px solid #b8c5d2;border-radius:10px;padding:10px 12px;background:#fff}textarea{min-height:84px;resize:vertical}.btn{border:1px solid transparent;border-radius:10px;background:var(--brand);color:#fff;padding:10px 14px;cursor:pointer;transition:transform .12s ease,filter .12s ease}.btn:hover{filter:brightness(.94);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-ghost{background:transparent;color:var(--brand);border-color:#b6c8d7}.btn-outline{background:#fff;color:var(--brand-strong);border-color:var(--brand-strong)}.inline-error{color:var(--danger);font-size:.9rem}.inline-note{color:var(--muted);font-size:.9rem}.inline-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.88rem}.auth-footnote{color:var(--muted);font-size:.92rem}.list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.list-item,.list-item-col{border:1px solid #e2e8ef;border-radius:10px;background:var(--surface-alt);padding:10px 12px}.list-item{display:flex;justify-content:space-between;gap:10px;align-items:center}.list-item-col{display:grid;gap:8px}.list-item-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.item-meta{color:var(--muted);font-size:.86rem}.item-message{display:grid;gap:4px;color:#253645;font-size:.9rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid transparent;font-size:.78rem;line-height:1;text-transform:lowercase}.status-badge.is-neutral{color:#3f4d5a;background:#e7edf3;border-color:#ced9e2}.status-badge.is-queued{color:var(--queued);background:#f3eeff;border-color:#daccff}.status-badge.is-running{color:var(--running);background:#e8f4fb;border-color:#b9def2}.status-badge.is-done{color:var(--done);background:#e8f7ee;border-color:#b7e4ca}.status-badge.is-failed{color:var(--failed);background:#ffefef;border-color:#f7cbcb}.status-badge.is-cancelled{color:var(--cancelled);background:#eef1f4;border-color:#d6dee6}.progress-track{width:100%;height:8px;border-radius:999px;background:#dce6ef;overflow:hidden}.progress-value{height:100%;background:linear-gradient(90deg,#1b6ca8,#2f8fcf);transition:width .25s ease}.error-state{border-color:#f1c4c4;background:#fff5f5}@media (max-width: 1024px){.grid.cols-3{grid-template-columns:1fr}.topbar{grid-template-columns:1fr;justify-items:start}.topbar-right{width:100%;justify-content:space-between}}@media (max-width: 640px){.page{padding:14px}.card{padding:12px}.section-header,.list-item{flex-direction:column;align-items:flex-start}}
