:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#18302c;background:#f3f6f4;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{width:236px;position:fixed;inset:0 auto 0 0;background:#112f29;color:#fff;padding:32px 22px}.brand{display:flex;gap:12px;align-items:center;font-size:22px;font-weight:650}.brand b{background:#bddac5;color:#163e32;border-radius:12px;padding:7px 13px;font-size:27px}.brand small{display:block;color:#abc3ba;font-size:11px;font-weight:400;margin-top:5px}.project{margin:38px 0 26px;font-weight:600;font-size:16px}.project span{display:block;color:#9bb7ac;font-size:11px;margin-top:10px;font-weight:400}nav button{display:block;text-align:left;width:100%;border:0;background:none;color:#b8cdc5;padding:14px 12px;margin:7px 0}nav button.active{background:#285046;color:#fff}.aside-foot{position:absolute;bottom:27px;line-height:1.9;font-size:11px;color:#9bb7ac}main{margin-left:236px}header{height:78px;border-bottom:1px solid #e0e8e2;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:#fff;font-size:12px;color:#688078}a{color:#286b55;text-decoration:none}button{font:inherit;cursor:pointer;background:#fff;color:#274d40;border:1px solid #d8e2dc;border-radius:7px;padding:8px 12px}button:hover{background:#edf4ee}button.primary{background:#286b55;color:white;border-color:#286b55}button:disabled{opacity:.5;cursor:default}section{padding:28px 34px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{font-size:27px;margin:0 0 9px;letter-spacing:-.6px}h2{font-size:17px;margin:0}h3{font-size:15px}p{line-height:1.7}.muted,small{color:#7a8d83;font-size:12px}.notice{padding:13px 17px;background:#fff8e8;border:1px solid #eddfbf;color:#81682c;font-size:12px;border-radius:8px;line-height:1.8;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:20px 0}.metric{background:white;border:1px solid #e0e8e2;border-radius:10px;padding:20px}.metric label{font-size:12px;color:#72877b}.metric strong{display:block;font-size:25px;letter-spacing:-.7px;margin:12px 0 7px;font-weight:600}.metric small{font-size:10px}.panel{background:#fff;border:1px solid #e0e8e2;border-radius:10px;margin-top:20px;overflow:hidden}.panel-head{padding:19px;display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1ee}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input,select,textarea{font:inherit;padding:9px 11px;border:1px solid #d6e1da;border-radius:6px;background:#fff;color:#203e31}input[type=search]{width:240px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f7faf7;font-weight:500;color:#708477;white-space:nowrap;padding:13px}td{padding:14px 13px;border-bottom:1px solid #eef2ef;line-height:1.6;max-width:230px}td.money{font-variant-numeric:tabular-nums;font-weight:600}.scroll{overflow:auto}.tag{padding:3px 7px;background:#eaf3ed;color:#397158;border-radius:4px;font-size:11px;white-space:nowrap}.warn{background:#fff2dc;color:#96702c}.empty{text-align:center;padding:36px;color:#7d8d85}.pager{padding:14px 19px;display:flex;justify-content:space-between}.text-btn{padding:0;border:none;background:none;color:#286b55;text-align:left}dialog{border:0;border-radius:14px;box-shadow:0 20px 70px #14291c44;width:min(960px,94vw);max-height:90vh;padding:0}dialog::backdrop{background:#132c2866}#dialogbody{padding:26px}.close{float:right}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{background:#f5f8f5;padding:12px;border-radius:6px}.field small{display:block;margin-bottom:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}form label{display:flex;flex-direction:column;gap:7px;font-size:12px}form .full{grid-column:1/-1}textarea{min-height:80px;resize:vertical}.history{padding:12px 0;border-bottom:1px solid #e3eae5;line-height:1.8;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;background:#183b2f;color:white;padding:14px 24px;border-radius:8px;display:none;z-index:10}.bread{display:flex;gap:9px;align-items:center}.danger{color:#b05c36}.tabs{display:flex;gap:8px;margin:16px 0}.tabs .active{background:#e2efe6;border-color:#85ad95}.footnote{line-height:1.8;font-size:11px;color:#819087;margin-top:12px}@media(max-width:1000px){aside{width:190px;padding:24px 14px}main{margin-left:190px}section{padding:22px}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:15px}.project,.aside-foot{display:none}nav{display:flex;flex-wrap:wrap}nav button{width:auto}.brand small{display:none}main{margin:0}header{padding:14px;height:auto;gap:15px}.detail-grid,.form-grid{grid-template-columns:1fr}.title{align-items:start;gap:12px}section{padding:15px}}

.login-panel{max-width:540px;margin:60px auto}.login-form{padding:28px}

@media(max-width:700px){input,select,textarea{font-size:16px;min-height:44px}button{min-height:44px}header{flex-wrap:wrap}header>div{max-width:100%}h1{font-size:22px}.title{flex-wrap:wrap}.metric{padding:14px}.metric strong{font-size:21px;overflow-wrap:anywhere}.panel-head{flex-wrap:wrap}input[type=search]{max-width:100%;width:210px}.login-panel{margin:15px auto}.login-form{padding:18px}dialog{width:96vw}.brand{font-size:20px}.brand small{display:block}.tools{max-width:100%}nav button{padding:10px}.scroll{max-width:100%}}
