:root{--bg: #f6f7f9;--surface: #ffffff;--border: #dde1e6;--text: #1c2128;--muted: #667085;--accent: #2456d6;--pass: #17803d;--fail: #c02626;--running: #b26a00}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:15px}.layout main{max-width:1100px;margin:0 auto;padding:1.5rem}.topbar{display:flex;align-items:center;gap:1.25rem;padding:.6rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:700}.topbar nav{display:flex;gap:1rem}.topbar nav a{color:var(--muted);text-decoration:none;padding:.2rem 0}.topbar nav a.active{color:var(--accent);border-bottom:2px solid var(--accent)}.spacer{flex:1}h2{margin-top:.5rem}.health{display:flex;gap:1.25rem;margin:.25rem 0 1rem}tr.row-fail td{background:#fceaea}tr.row-warn td{background:#fcf3e2}tr.findings-row td{padding:.25rem .75rem}tr.findings-row summary{cursor:pointer;padding:.1rem 0}.findings.compact{padding-top:.35rem;gap:.3rem}.findings.compact .finding{padding:.3rem .6rem;font-size:.85rem;background:#ffffffa6}h3.section{margin-top:2rem}a{color:var(--accent)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95em}.muted{color:var(--muted)}.small{font-size:.85em}.error{color:var(--fail)}.pass{color:var(--pass);font-weight:600}.fail{color:var(--fail);font-weight:600}.centered{display:flex;align-items:center;justify-content:center;min-height:100vh}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.cards{display:flex;flex-wrap:wrap;gap:1rem}.cards .card{min-width:200px}.cards h3{margin:0 0 .5rem;font-size:.95rem}.login{width:340px;display:flex;flex-direction:column;gap:.9rem}.login h1{font-size:1.3rem;margin:0 0 .5rem}.form{display:flex;flex-direction:column;gap:1rem;max-width:560px}.form.wide{max-width:none}.mode-row{display:flex;gap:1.75rem;flex-wrap:wrap}.mode-row .row{font-weight:600}.mode-hint{margin:-.5rem 0 0;min-height:2.2em}.runner-row{display:flex;gap:1.5rem;flex-wrap:wrap}.runner-list{display:flex;flex-direction:column;gap:.5rem}.runner-list .runner{align-items:baseline}.runner-desc{display:block}.jobs{display:flex;flex-direction:column;gap:.75rem}.job{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:var(--text)}.job:hover{border-color:var(--accent)}.job-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.job-activity{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.flow{border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.flow-steps{display:flex;gap:.75rem;flex-wrap:wrap}.flow-step{padding:.25rem .9rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.85rem;font-weight:600}.flow-step.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-step.done{color:var(--pass);border-color:var(--pass)}.flow-actions{display:flex;gap:.75rem;flex-wrap:wrap}.findings{display:flex;flex-direction:column;gap:.5rem}.finding{display:flex;gap:.6rem;align-items:baseline;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.55rem .8rem}.finding .finding-body{flex:1;overflow-wrap:anywhere}.finding.is-ignored{opacity:.6}.livelog.small-log{max-height:12rem;font-size:.78rem}.schedule-fields{flex-wrap:wrap;align-items:flex-end}.schedule-fields select{min-width:9rem;max-width:100%}.livelog{background:#14181d;color:#cdd6e0;border-radius:8px;padding:.9rem 1.1rem;font-size:.82rem;line-height:1.5;max-height:45vh;overflow:auto;white-space:pre-wrap;word-break:break-word}label{display:flex;flex-direction:column;gap:.3rem;font-weight:500}label.row{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.row.gap{display:flex;gap:1.5rem}input,select{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;font:inherit;background:var(--surface)}fieldset{border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:.4rem}legend{font-weight:500;padding:0 .4rem}button{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;align-self:flex-start}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--accent);padding:0;font-weight:400;text-decoration:underline}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.tabs button.active{color:var(--accent);border-color:var(--accent)}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;color:#fff;background:var(--muted)}.badge.pass{background:var(--pass)}.badge.fail{background:var(--fail)}.badge.running{background:var(--running)}details{margin:.75rem 0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem}details summary{cursor:pointer;padding:.25rem 0}details table{border:none;margin-top:.5rem}iframe.report{width:100%;height:75vh;border:1px solid var(--border);border-radius:8px;background:#fff}.gallery{display:flex;flex-wrap:wrap;gap:1rem}.thumb{width:180px;text-decoration:none;color:var(--text)}.thumb img{width:100%;max-height:220px;object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:6px;background:#fff}.thumb span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
