:root{--navy: #1f3a5f;--accent: #2b6cb0;--grey: #6b7280;--line: #e5e7eb;--bg: #f7f8fa;--danger: #b42318}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;color:#111827;background:var(--bg);font-size:14px}.shell header{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--navy);color:#fff}.shell header strong{font-size:16px;margin-right:8px}.shell header nav{display:flex;gap:16px;flex:1}.shell header nav a{color:#cbd5e1;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}.shell header nav a.active{color:#fff;border-bottom-color:#fff}.shell header .muted{color:#cbd5e1}.shell header button.link{color:#fff}main{padding:20px 24px;max-width:1200px}h2{font-size:15px;color:var(--navy);margin:24px 0 8px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef2f7;color:var(--navy);font-weight:600;font-size:12px;text-transform:uppercase}tr.running td{background:#f0f7ff}tr.failed td{background:#fff5f5}tr.cancelled td,tr.muted td{color:var(--grey)}.small{font-size:12px}.muted{color:var(--grey)}.error{color:var(--danger);background:#fff5f5;border:1px solid #fecaca;padding:8px 10px;border-radius:4px}button,.button{font:inherit;padding:6px 12px;border-radius:4px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.link{background:none;border:none;color:var(--accent);padding:4px 6px}button.danger{background:#fff;color:var(--danger);border-color:var(--danger)}.actions{white-space:nowrap}.actions button{margin-right:4px}.toolbar{display:flex;align-items:center;gap:16px;margin-bottom:8px}.progress{position:relative;height:20px;background:var(--line);border-radius:4px;min-width:220px;overflow:hidden}.progress .bar{position:absolute;inset:0 auto 0 0;background:var(--accent)}.progress span{position:relative;display:block;line-height:20px;padding:0 8px;font-size:12px;color:#111827;mix-blend-mode:multiply}form.inline{display:flex;gap:8px;margin-bottom:12px}input,select{font:inherit;padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px}.login{display:grid;place-items:center;min-height:100vh}.login form{background:#fff;padding:32px;border-radius:8px;width:320px;display:grid;gap:12px;box-shadow:0 2px 12px #00000014}.login h1{margin:0 0 8px;font-size:20px;color:var(--navy)}.login label{display:grid;gap:4px;font-size:12px;color:var(--grey)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center}.modal-body{background:#fff;width:min(900px,92vw);max-height:85vh;display:grid;grid-template-rows:auto 1fr;border-radius:8px}.modal-body header{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line)}.modal-body pre{margin:0;padding:12px 16px;overflow:auto;font-size:12px;white-space:pre-wrap}.notice{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;padding:8px 10px;border-radius:4px}form.settings{display:grid;gap:12px;max-width:640px;background:#fff;padding:16px;border-radius:8px}form.settings label{display:grid;gap:4px;font-size:12px;color:var(--grey)}form.settings input,form.settings select{font-size:14px;color:#111827}form.settings .actions{display:flex;gap:8px}.models ul{margin:6px 0 0;padding-left:18px}.models li{margin:2px 0}
