:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#233839;background:#f3f5f2;font-size:14px;line-height:1.6;--ink:#193e3b;--muted:#738482;--line:#dfe6df;--accent:#2e7567}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;padding:9px 16px;border-radius:8px;color:var(--ink);font-weight:600}button:hover{border-color:var(--accent);background:#eff6f0}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.danger{color:#a44038}input,select,textarea{width:100%;border:1px solid #ced9d0;border-radius:7px;padding:10px 12px;background:#fff;color:#233839}textarea{min-height:82px;resize:vertical}label{display:block;color:#4c6360;font-size:13px}label input,label select,label textarea{margin-top:5px}input[type=checkbox]{width:auto;margin-right:6px;accent-color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.6px}h2{font-size:18px}h3{font-size:15px}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:32px 20px;background:#183d39;color:#eaf1e9;display:flex;flex-direction:column}.brand{font-size:25px;letter-spacing:4px;margin:0 15px}.brand-sub{font-size:11px;letter-spacing:2px;color:#a7c4b8;margin:5px 15px 32px}.nav{display:grid;gap:7px}.nav button{text-align:left;background:transparent;border:0;color:#c6d7ce;padding:11px 16px;font-weight:400}.nav button:hover,.nav button.active{background:#2a5148;color:#fff}.nav .index{display:inline-block;width:28px;font-size:11px;color:#96b3a7}.sidebar-footer{margin-top:auto;font-size:12px;color:#a6c0b3;padding:24px 12px}.sidebar-footer button{margin-top:12px;background:transparent;color:#d9e7df;border-color:#47665a}.main{min-width:0;padding:32px 44px 60px}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#6c8579;margin-bottom:6px}.picker{width:245px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:16px}.page-head p{margin-top:7px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metric{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px}.metric .value{font-size:36px;line-height:1.4;color:var(--ink);font-weight:600;margin-top:8px}.metric small{font-size:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span2{grid-column:1/-1}.empty{padding:60px 24px;text-align:center;color:var(--muted);border:1px dashed #cfdbd0;border-radius:10px;background:#fafbf8}.empty strong{display:block;font-weight:500;color:#4c6860;margin-bottom:7px}.badge{display:inline-block;background:#edf3ee;color:#527060;padding:3px 9px;border-radius:5px;font-size:11px;white-space:nowrap}.badge.warn{background:#faf0dc;color:#8e6b22}.badge.red{background:#f8e6e0;color:#a34837}.row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid #edf0eb}.row:last-child{border:0}.row-title{font-weight:600;color:var(--ink);max-width:800px;overflow-wrap:anywhere}.row small{display:block;margin-top:4px}.row button{flex-shrink:0}.stack{display:grid;gap:12px}.note{padding:13px 16px;background:#f2f6f0;border-left:3px solid #80a38a;border-radius:4px;color:#5a7163;font-size:13px;margin-bottom:20px}.warning{background:#fff7e6;border-color:#c5a150;color:#836c3e}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.checklist{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.checklist label{display:inline-flex;align-items:center}.contact-card{padding:18px;border:1px solid var(--line);border-radius:8px;margin-bottom:14px}.timeline{border-left:2px solid #d7e2d8;margin-left:7px;padding-left:22px}.timeline>div{margin:0 0 18px}.quote{white-space:pre-wrap;background:#f6f8f3;padding:15px;border-radius:8px;margin:10px 0;overflow-wrap:anywhere}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.login-art{background:#183d39;color:#fff;padding:12vh 10%;display:flex;flex-direction:column;justify-content:space-between}.login-art .brand{margin:0}.login-art h1{font-size:46px;line-height:1.5;font-weight:400}.login-art p{color:#adc6b8;margin-top:22px;line-height:2}.login-area{display:flex;align-items:center;justify-content:center;padding:40px}.login-form{width:360px}.login-form h2{font-size:24px;margin-bottom:10px}.login-form label{margin-top:22px}.login-form button{width:100%;margin-top:28px}.login-form .muted{margin-top:15px;font-size:12px}.error{color:#b04637;white-space:pre-wrap;margin-top:12px}dialog{border:0;border-radius:14px;padding:28px;width:min(720px,90vw);max-height:88vh;box-shadow:0 20px 80px #11282233}dialog::backdrop{background:#10282066}dialog h2{margin-bottom:16px}dialog .close{float:right}.audit{font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:380px;overflow:auto}#toast{position:fixed;bottom:25px;right:25px;max-width:450px;background:#193e3b;color:white;border-radius:10px;padding:15px 24px;display:none;z-index:99}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:14px 10px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}.footer-note{font-size:12px;color:var(--muted);margin-top:25px}@media(max-width:1000px){.main{padding:25px}.shell{grid-template-columns:180px 1fr}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;padding:20px}.nav{display:flex;flex-wrap:wrap;gap:0}.nav button{padding:8px}.sidebar-footer{display:none}.brand-sub{margin-bottom:12px}.main{padding:20px}.fields{grid-template-columns:1fr}.span2{grid-column:auto}.topline{align-items:flex-start;flex-direction:column}.login{grid-template-columns:1fr}.login-art{display:none}.metrics{gap:10px}.metric{padding:16px}.page-head{align-items:flex-start}.picker{width:100%}}
.ops-strip{display:flex;gap:28px;flex-wrap:wrap;padding:16px 20px;background:#e9f0e9;border-radius:10px;margin-bottom:24px}.ops-strip b{margin-left:10px}.ops-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.ops-filters input{flex:2;min-width:180px}.ops-filters select{flex:1;min-width:140px}td small{display:block;margin-top:5px;color:var(--muted)}.widecell{min-width:220px;max-width:450px;overflow-wrap:anywhere}.ops-followup{margin-top:24px}.ops-followup details{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.ops-followup label{margin:12px 0}.ops-followup summary{cursor:pointer;color:var(--accent);font-weight:600}hr{border:0;border-top:1px solid var(--line);margin:20px 0}

.sidebar{overflow-y:auto}.ops-filters label{flex:1;min-width:145px}.ops-filters>button{align-self:flex-end}.ops-filters{align-items:flex-end}#own-password-button{white-space:nowrap}

.ops-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.ops-filters>*,.ops-filters input,.ops-filters select{min-width:0}.ops-filters>button{align-self:end}

.section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.section-nav button{background:transparent;color:var(--muted)}.section-nav button.active{background:var(--ink);color:white;border-color:var(--ink)}

#lab-manual>.panel{border:0;padding:16px 0 0;margin:0}#lab-manual h2{display:none}#test-lab-entry{white-space:nowrap}#lab-progress article{margin-top:16px}
