:root{--bg:#f5f7fa;--card:#fff;--text:#172033;--muted:#667085;--line:#e4e7ec;--brand:#1769e0;--green:#138a4b;--red:#c62828;--amber:#a15c00}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
header{background:#101828;color:#fff;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}header h1{font-size:20px;margin:0}header p{margin:2px 0 0;color:#cbd5e1}header span{color:#cbd5e1}
main{max-width:1180px;margin:24px auto;padding:0 18px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
select,input,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}textarea{width:100%;min-height:90px}button{border:0;border-radius:8px;padding:9px 12px;cursor:pointer;font-weight:600}.primary{background:var(--brand);color:#fff}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}.tab{background:transparent;color:var(--muted);border-radius:8px 8px 0 0;white-space:nowrap}.tab.active{color:var(--brand);background:#eaf2ff}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric,.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.metric{padding:16px}.metric b{display:block;font-size:25px}.metric span,.muted{color:var(--muted)}
.card{padding:16px;margin-bottom:12px}.topline{display:flex;justify-content:space-between;gap:16px}.title{font-size:16px;font-weight:700}.meta{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.pill{font-size:12px;padding:3px 8px;border-radius:999px;background:#f2f4f7;color:#475467}.high,.failed,.rejected{background:#fee4e2;color:#b42318}.medium,.blocked,.deferred{background:#fef0c7;color:#93370d}.approved,.completed{background:#dcfae6;color:#067647}.running{background:#eaf2ff;color:#175cd3}
.detail{white-space:pre-wrap}.actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}.actions button{background:#eef2f6}.actions .primary{background:var(--brand)}.empty{text-align:center;color:var(--muted);padding:40px}.task-list{margin-top:14px;border-top:1px solid var(--line)}.task{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
dialog{border:0;border-radius:12px;padding:0;box-shadow:0 24px 48px rgba(16,24,40,.2)}dialog::backdrop{background:rgba(16,24,40,.5)}dialog form{width:min(560px,88vw);padding:22px}.field{display:grid;gap:6px;margin:14px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.error{padding:14px;border:1px solid #fecdca;background:#fff1f0;color:#b42318;border-radius:10px}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}.topline,.task{display:block}.toolbar{align-items:stretch}.toolbar label{flex:1}.toolbar select{width:100%}}
.identity{display:flex;align-items:center;gap:12px}.identity button{background:#344054;color:#fff}.signin{max-width:440px;margin:90px auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center}.signin .error{margin-top:16px;text-align:left}.result{max-height:55vh;overflow:auto;background:#101828;color:#e4e7ec;padding:14px;border-radius:8px;white-space:pre-wrap}.admin-only[hidden]{display:none}
