:root{--bg:#f6f7f9;--surface:#fff;--border:#e3e6eb;--text:#16181d;--muted:#646b78;--accent:#2f5bea;--accent-hover:#244bcc;--accent-text:#fff;--danger:#c4314b;--danger-bg:#fdecef;--success:#1f7a4d;--success-bg:#e7f6ee;--warn:#9a6200;--warn-bg:#fff4dd;--info:#2f5bea;--info-bg:#eaf0ff;--flash:#fff8d6;--radius:10px;--shadow:0 1px 2px #1018280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--surface:#171a21;--border:#2a2f3a;--text:#e8eaee;--muted:#9aa2b1;--accent:#6d8cff;--accent-hover:#87a0ff;--accent-text:#0f1115;--danger:#ff7b8f;--danger-bg:#3a1a21;--success:#5fd39a;--success-bg:#15301f;--warn:#f3b84b;--warn-bg:#352812;--info:#8aa4ff;--info-bg:#1c2445;--flash:#2f2b16;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2{margin:0;line-height:1.25}h1{font-size:1.2rem;font-weight:650}h2{font-size:1.05rem;font-weight:620}p{margin:0}.app{max-width:1120px;margin:0 auto;padding:20px 16px 48px}.header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.health{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.health .dot{background:var(--border);border-radius:50%;width:8px;height:8px}.health.up .dot{background:var(--success)}.health.down{color:var(--danger)}.health.down .dot{background:var(--danger)}.layout{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:860px){.layout{grid-template-columns:minmax(0,1fr)}}.stack{gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:14px;min-width:0;padding:20px;display:grid}.card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:420px){.row{grid-template-columns:1fr}}.field{gap:6px;min-width:0;font-size:.9rem;font-weight:550;display:grid}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-weight:400}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,.button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hint{color:var(--muted);margin-top:-6px;font-size:.85rem}.field-error{color:var(--danger);margin-top:-6px;font-size:.85rem}button,.button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:560;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.link{color:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.alert,.success{border-radius:8px;padding:10px 12px;font-size:.9rem}.alert{color:var(--danger);background:var(--danger-bg)}.success{color:var(--success);background:var(--success-bg)}.empty{text-align:center;gap:4px;padding:32px 8px;display:grid}.reports{margin:0;padding:0;list-style:none}.report{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 4px;transition:background-color .6s;display:grid}.report:first-child{border-top:0}.report.flash{background:var(--flash)}@media (max-width:560px){.report{grid-template-columns:minmax(0,1fr) auto}.report-action{grid-column:1/-1}.report-action:empty{display:none}}.report-main{gap:2px;min-width:0;display:grid}.report-main .small{overflow-wrap:anywhere}.report-title{font-weight:600}.report-error{color:var(--danger);font-size:.85rem}.report-meta{text-align:right;justify-items:end;gap:4px;display:grid}.badge{border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-pending{color:var(--warn);background:var(--warn-bg)}.badge-running{color:var(--info);background:var(--info-bg)}.badge-ready{color:var(--success);background:var(--success-bg)}.badge-failed{color:var(--danger);background:var(--danger-bg)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.report{transition:none}}.center{justify-items:center;gap:12px;padding:80px 16px;display:grid}.center-text{text-align:center}.login{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{width:100%;max-width:380px}.stack-tight{gap:12px;display:grid}.divider{color:var(--muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.account{align-items:center;gap:10px;min-width:0;display:flex}.account-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:28ch;font-size:.9rem;overflow:hidden}@media (max-width:560px){.header{flex-wrap:wrap}.account-email{max-width:18ch}}.badge-admin{color:var(--accent);background:var(--info-bg)}.banner{border-radius:var(--radius);color:var(--warn);background:var(--warn-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:20px;padding:10px 14px;font-size:.9rem;display:flex}.banner-actions{gap:16px;display:flex}.checkbox{align-items:flex-start;gap:8px;font-size:.9rem;display:flex}.checkbox input{width:auto;margin-top:3px}.card-head-right{align-items:center;gap:12px;display:flex}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-radius:0;padding:4px 10px;font-size:.8rem}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}
