:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17213a;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}header{height:72px;border-bottom:1px solid #e3e8f2;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));position:sticky;top:0;z-index:3}.brand{font-weight:800;font-size:20px;color:#17213a;text-decoration:none}.brand span{color:#4f46e5}nav{display:flex;align-items:center;gap:20px}nav a{color:#52617b;text-decoration:none}main{max-width:1200px;margin:0 auto;padding:54px 24px}.intro,.detail-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.intro>div{max-width:680px}.eyebrow{color:#6366f1;font-weight:750;font-size:12px;letter-spacing:.11em;margin:0 0 12px}h1{font-size:38px;line-height:1.12;margin:0 0 12px;letter-spacing:-.04em}h2{font-size:17px;margin:0 0 18px}h3{margin:10px 0 5px;font-size:17px;color:#17213a}.intro p:not(.eyebrow),.title>p{color:#65718a;line-height:1.6;margin:0}.button,button{border:0;border-radius:7px;padding:10px 15px;font:inherit;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:#4f46e5;color:#fff}.quiet{background:#eef1f7;color:#24304a}.danger{color:#b42318;background:#fef3f2}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stats div,.panel,.blocker{background:#fff;border:1px solid #e4e8f0;border-radius:10px}.stats div{padding:20px}.stats span{font-size:28px;font-weight:750;display:block}.stats small{color:#68758c;text-transform:capitalize}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head span{font-size:13px;color:#68758c}.job{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #edf0f5;padding:18px 0}.job p{margin:0;color:#78839a;font-size:14px}.actions{display:flex;gap:8px;align-items:center}.actions button{background:#eef1f7;color:#24304a}.badge{font-size:11px;letter-spacing:.05em;font-weight:800;border-radius:20px;padding:5px 8px;background:#eef1f7;color:#52617b}.running,.analysing,.verifying,.repairing{background:#eef2ff;color:#4338ca}.blocked,.failed{background:#fff0ed;color:#c43220}.completed,.passed{background:#ecfdf3;color:#15803d}.paused,.stopped{background:#f3f4f6;color:#64748b}.empty{color:#65718a;padding:25px 0}.title{margin-bottom:30px;max-width:700px}.form{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form label{font-size:13px;font-weight:700;color:#394761;display:grid;gap:7px}.wide{grid-column:1/-1}input,select,textarea{border:1px solid #d8deea;border-radius:7px;background:#fff;padding:11px;font:inherit;color:#17213a;width:100%}textarea{min-height:100px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px}.warning,.error{grid-column:1/-1}.warning{background:#fffbeb;border:1px solid #f8db8b;padding:13px;border-radius:7px;color:#775d11}.warning p{margin:5px 0 0}.error{color:#b42318;margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.log{grid-column:1/-1;max-height:340px;overflow:auto}.log p{font-size:13px;border-bottom:1px solid #eef1f5;padding:8px 0;margin:0}.log time{color:#8993a6;margin-right:12px}.log .error{color:#b42318}.result{border-top:1px solid #edf0f5;padding:14px 0}.result strong{display:inline-block;width:70px;text-transform:capitalize}.result pre,.requirement{white-space:pre-wrap;overflow:auto;max-height:220px;background:#f8f9fc;border-radius:6px;padding:11px;color:#45516a;font-size:12px}.blocker{margin-top:20px;padding:22px}.blocker form{display:flex;gap:10px}.login{min-height:100vh;display:grid;place-items:center}.login .panel{width:min(410px,calc(100% - 40px));display:grid;gap:15px}@media(max-width:700px){main{padding:32px 16px}.intro,.detail-title,.job{align-items:flex-start;flex-direction:column}.stats,.detail-grid,.form{grid-template-columns:1fr}.log{grid-column:auto}h1{font-size:31px}.form-actions,.blocker form{flex-direction:column}.actions{flex-wrap:wrap}}
