:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#172c2c;background:#f4f6f3;font-size:14px;--muted:#677572;--accent:#176a57}*{box-sizing:border-box}body{margin:0}header{height:72px;background:#fff;border-bottom:1px solid #dce3de;padding:0 40px;display:flex;align-items:center;gap:20px}header div{flex:1}header b{font-size:24px;letter-spacing:3px}.muted{color:var(--muted);line-height:1.7}.badge{padding:6px 10px;border-radius:6px;background:#e9efea;color:#45645b;font-size:12px}button,input,select{font:inherit;border:1px solid #ced8d1;border-radius:7px;padding:10px 13px;background:white;color:inherit}button{cursor:pointer}button:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#105342;color:white}input:focus,select:focus,button:focus-visible{outline:2px solid #78b7a3;outline-offset:2px}.login{max-width:560px;margin:10vh auto;padding:25px}.login h1{font-size:42px;line-height:1.35;font-weight:600}.login form{margin-top:34px;display:grid;gap:12px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}main{max-width:1500px;padding:32px 40px;margin:auto}h1{font-size:28px;margin:10px 0}h2{font-size:18px;margin:24px 0 14px}.title{display:flex;justify-content:space-between;align-items:center;gap:20px}.notice{padding:13px 18px;background:#fff7e5;border:1px solid #eadfc3;border-radius:7px;color:#715c30;margin:18px 0;line-height:1.7}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.metric,.card{background:#fff;border:1px solid #dce3de;padding:20px;border-radius:9px}.metric strong{display:block;font-size:31px;margin:12px 0 6px;font-weight:600}.metric p{margin:0;font-size:12px;color:var(--muted)}nav{display:flex;gap:6px;border-bottom:1px solid #d2dcd5;margin-bottom:22px}nav button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:15px 22px;color:var(--muted)}nav .selected{border-color:var(--accent);color:var(--accent);font-weight:600}.panel{background:#fff;border:1px solid #dce3de;padding:24px;border-radius:9px}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.toolbar input{flex:1;min-width:220px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-weight:500;color:var(--muted);background:#f6f8f5;padding:12px 10px;white-space:nowrap}td{padding:16px 10px;border-bottom:1px solid #e7ece7;vertical-align:top;max-width:400px;overflow-wrap:anywhere}td small{display:block;margin-top:5px;color:var(--muted)}.pager{display:flex;gap:18px;align-items:center;justify-content:flex-end;margin-top:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.card{background:#fafcf9;overflow-wrap:anywhere}.card h3{font-size:14px;margin:0 0 12px}.card p{margin:7px 0;line-height:1.6}.issue{padding:15px 0;border-bottom:1px solid #e0e7e1;line-height:1.7}.issue strong{font-size:13px}.warn{color:#936027}.ok{color:var(--accent)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f2;padding:14px;line-height:1.6;font-size:12px}a{color:var(--accent);overflow-wrap:anywhere}dialog{width:min(900px,94vw);max-height:90vh;border:1px solid #c6d4cc;border-radius:12px;padding:28px}dialog::backdrop{background:#122d2b88}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}dl{display:grid;grid-template-columns:110px 1fr;gap:12px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}#source-search{margin-bottom:18px;min-width:300px}[hidden]{display:none!important}@media(max-width:800px){header{padding:0 20px}main{padding:20px}.metrics{grid-template-columns:repeat(2,1fr)}nav button{padding:14px 10px}.panel{padding:15px}.title{align-items:flex-start}.title h1{font-size:24px}}

.case-actions{display:flex;flex-wrap:wrap;gap:6px}.case-actions button{white-space:nowrap}.case-detail{margin-top:28px;border-top:1px solid #dce3de;padding-top:8px}.case-result{margin:20px 0}.case-result .card{margin:10px 0}#case-progress{align-self:center;color:var(--muted)}
