:root{color:#19212a;background:#eef2f4;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;white-space:nowrap}.appShell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#16251f;color:#f5fbf8;padding:24px 18px;display:flex;flex-direction:column;gap:24px;max-height:100vh;position:sticky;top:0}.brand{display:flex;gap:12px;align-items:center}.brand span,.topbar p,.listRow span:not(.statusBadge),.itemCard span{color:#6b7780;font-size:13px}.brand span{color:#b7c9c1;display:block}nav{display:grid;gap:8px;overflow:auto;padding-right:4px}nav button,.logout{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;color:#dce8e3;background:transparent;border-radius:8px;text-align:left}nav button.active,nav button:hover,.logout:hover{background:#284137}.logout{margin-top:auto}main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:18px}.policyBadge{background:#fff;border:1px solid #d8e1e5;padding:10px 14px;border-radius:8px;color:#4b5b63}.complianceStrip{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.complianceStrip span{background:#fff;border:1px solid #d7e0df;border-left:4px solid #2e7d5b;border-radius:6px;padding:8px 10px;font-size:13px}.stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px;margin-bottom:18px}.stats.small{grid-template-columns:repeat(5,minmax(100px,1fr))}.stat,.panel,.loginPanel{background:#fff;border:1px solid #dce4e7;border-radius:8px}.stat{padding:18px}.stat span{color:#687780;display:block;margin-bottom:8px}.stat strong{font-size:32px}.grid{display:grid;gap:18px}.stack{display:grid;gap:18px;align-content:start}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel{padding:18px;min-width:0}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.buttonRow{display:flex;gap:8px;align-items:center}.buttonRow button,.primary,.iconBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;background:#1f7a5a;color:#fff;border-radius:7px}.iconBtn{width:36px;padding:0}.list{display:grid;gap:10px}.listRow,.itemCard{border:1px solid #e2e8eb;border-radius:7px;padding:12px;background:#fbfcfc}.listRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:4px}.listRow strong{overflow-wrap:anywhere}.listRow div strong,.listRow div span{display:block}.empty{padding:28px;text-align:center;color:#75828a;background:#f8fafb;border-radius:7px}.form{display:grid;gap:10px}.form.narrow{max-width:640px}.checkLine{display:flex;gap:8px;align-items:center;color:#4b5961}.checkLine input{width:auto}input,select,textarea{width:100%;border:1px solid #ccd7dc;background:#fff;border-radius:7px;padding:10px 11px;color:#19212a}textarea{min-height:96px;resize:vertical}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.itemCard{display:grid;gap:8px}.itemCard.wide{grid-column:span 2}.rowActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rowActions button,.tableRow button,.dataRow button,.panelHead button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;border-radius:7px;color:#fff;background:#1f7a5a}button.ghost,.rowActions .ghost{background:#edf2f0;color:#315245}.table,.dataTable{display:grid;gap:10px}.tableRow{display:grid;grid-template-columns:minmax(160px,1fr) 120px 80px 80px;gap:10px;align-items:center;padding:12px;border:1px solid #e2e8eb;border-radius:7px;background:#fbfcfc}.dataHeader,.dataRow{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(120px,1fr) 70px 90px 80px 90px minmax(220px,1.2fr);gap:10px;align-items:center}.dataHeader,.dataRow.hotRow{grid-template-columns:minmax(220px,1.6fr) minmax(110px,1fr) 64px 90px 90px 72px 72px 72px 90px minmax(230px,1.2fr)}.dataHeader{color:#65737c;font-size:13px;padding:0 12px}.dataRow{padding:12px;border:1px solid #e2e8eb;border-radius:7px;background:#fbfcfc}.dataRow strong,.dataRow span{overflow-wrap:anywhere}.statusBadge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:26px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.statusBadge.success{color:#145238;background:#dff4ea}.statusBadge.warning{color:#755000;background:#fff1c7}.statusBadge.danger{color:#8d1f1f;background:#ffe1e1}.statusBadge.muted{color:#4d5b63;background:#edf2f4}.noticeBox,.warningBox{padding:11px 12px;border-radius:7px;margin-bottom:14px;line-height:1.6}.noticeBox{color:#315245;background:#f1faf5;border:1px solid #d4eadf}.warningBox{color:#755000;background:#fff7dd;border:1px solid #f0d78a}.subTitle{margin-top:20px;margin-bottom:10px}.infoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.infoItem{border:1px solid #e2e8eb;border-radius:7px;padding:12px;background:#fbfcfc;display:grid;gap:6px}.infoItem span{color:#687780;font-size:13px}.noticeList{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.noticeList span{border-left:4px solid #1f7a5a;background:#f7faf8;padding:8px 10px;border-radius:6px}.resultBox{margin-top:14px;padding:12px;background:#f7faf8;border:1px solid #dce7e1;border-radius:7px}pre{white-space:pre-wrap;margin:0;color:#334049;line-height:1.6}.loginPage{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e8f0ee,#f4f6f2 55%,#edf2f6);padding:20px}.loginPanel{width:min(420px,100%);padding:28px;display:grid;gap:14px}.loginPanel label{display:grid;gap:6px;color:#4b5961}.error{color:#a42323;background:#fff0f0;border:1px solid #f2c8c8;padding:10px;border-radius:7px}@media(max-width:900px){.appShell{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.grid.two,.stats,.stats.small,.tableRow,.dataHeader,.dataRow,.dataRow.hotRow{grid-template-columns:1fr}.topbar,.panelHead,.buttonRow{align-items:stretch;flex-direction:column}.itemCard.wide{grid-column:span 1}}
