:root{font-family:Microsoft YaHei,system-ui,sans-serif;color:#243c31;background:#f5f6ef;font-size:18px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{min-height:50px;padding:12px 18px;border:1px solid #d9e3d8;border-radius:12px;background:#f3f6ef;color:#245e45;cursor:pointer;font-weight:600}button:hover{background:#e3eddf}button:focus-visible,a:focus-visible{outline:3px solid #bd832e;outline-offset:3px}.primary,.dark{background:#226348!important;color:#fff!important;border-color:#226348}.danger{color:#a13e32;background:#fff6f1}.layout{display:flex;min-height:100vh}aside{width:240px;padding:38px 24px;border-right:1px solid #dfe5d9;background:#fff;position:fixed;height:100vh;display:flex;flex-direction:column;gap:30px}.brand{text-decoration:none;font-size:29px;font-weight:800;color:#226348}.brand span{display:block;font-size:13px;font-weight:400;letter-spacing:2px;margin-top:8px}nav{display:grid;gap:10px}nav button{text-align:left;background:transparent;border:0;color:#6b776c}nav button span{font-size:24px;margin-right:16px}.active{background:#e8f0e3!important;color:#226348!important}.aside-note{margin-top:auto;color:#84917f;line-height:1.9}.workspace{margin-left:240px;width:calc(100% - 240px)}header{height:90px;border-bottom:1px solid #e0e4da;padding:16px 42px;display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#677669}.year{display:flex;align-items:center;gap:12px;margin:0}.year input{width:115px}main{max-width:1440px;margin:auto;padding:30px 42px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1px;margin:8px 0 12px}h2{font-size:22px;margin:0 0 20px}h3{margin:10px 0}.eyebrow{color:#789476;font-size:12px;letter-spacing:2px}.intro p{color:#758171}.local{white-space:nowrap;background:#e8efdf;color:#55733d;border-radius:22px;padding:10px 16px;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric,.card{background:#fff;border:1px solid #e0e6d8;border-radius:20px;padding:26px;margin-bottom:22px}.metric{margin:0;padding:24px 20px}.metric span{font-size:16px}.metric strong{display:block;font-size:clamp(24px,2.4vw,34px);margin:18px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}small{font-size:15px;font-weight:400}.metric p{font-size:13px;color:#7b8877}.dark p{color:#d2dfcb}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick button{text-align:left;padding:22px 16px}.quick small{display:block;margin-top:10px;font-size:13px}.twocol{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.warm{background:#f0eedc}.large{font-size:34px}progress{display:block;width:100%;height:12px;margin:22px 0;accent-color:#226348}.hint,footer{color:#73806e;font-size:15px;line-height:1.8}.row,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row{justify-content:space-between}.row h2{margin:0}.record{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e7ecdf;padding:24px 0;flex-wrap:wrap}.record:first-of-type{margin-top:20px}.record p{color:#657660;margin:8px 0;line-height:1.8}.tag{font-size:14px;color:#547342;background:#edf2df;border-radius:7px;padding:4px 8px}.empty{text-align:center;padding:48px 10px;color:#7a8773}footer{text-align:center;margin:28px 0}label{display:block;margin:18px 0 10px;font-weight:600}input,select{width:100%;min-height:52px;border:1px solid #cdd8c6;background:#fff;border-radius:10px;padding:12px;color:#243c31;margin-top:8px}input:focus,select:focus{outline:2px solid #669256}.overlay{position:fixed;inset:0;background:#17332688;z-index:50;display:grid;place-items:center;padding:16px}.editor{background:#fff;padding:26px;border-radius:22px;width:min(560px,100%);max-height:90dvh;overflow:auto}.wide{width:100%;margin-top:24px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.notice,.error{padding:18px;background:#f4ebc9;border-radius:12px;margin-bottom:18px;line-height:1.8}.error{background:#ffe8df;color:#873729;position:relative;z-index:60}.error button{margin-left:12px}body:has(.overlay){overflow:hidden}@media(max-width:1050px){aside{width:190px;padding:28px 16px}.workspace{margin-left:190px;width:calc(100% - 190px)}main{padding:24px}.stats,.quick{grid-template-columns:1fr 1fr}.twocol{grid-template-columns:1fr}header{padding:15px 24px}}@media(max-width:650px){aside{position:fixed;bottom:0;top:auto;width:100%;height:auto;padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:20;border-top:1px solid #dce3d5;border-right:0;display:block}aside .brand,aside .aside-note{display:none}aside>button{display:none}nav{display:flex;gap:0}nav button{flex:1;text-align:center;font-size:14px;min-width:0;padding:6px 2px}nav button span{display:block;margin:0;font-size:23px}.workspace{width:100%;margin:0}header{padding:10px 16px;height:78px}header>span{font-size:14px}main{padding:20px 16px 105px}.intro{align-items:flex-start}.local{font-size:12px;padding:8px}.intro h1{font-size:27px}.intro p:not(.eyebrow){font-size:15px}.intro .eyebrow{font-size:10px}.metric{padding:18px 14px;border-radius:16px}.stats{gap:12px}.metric strong{font-size:25px;margin:14px 0}.metric span{font-size:15px}.metric p{font-size:12px}.card{padding:20px}.quick{gap:10px}.quick button{padding:18px 12px}.quick small{font-size:12px}.formgrid{grid-template-columns:1fr}.record{display:block}.actions{margin-top:14px}.year{font-size:13px;gap:8px}footer{cursor:pointer}footer:after{content:"数据备份请在电脑侧栏进入，或使用下方入口。"}}.backup-mobile{margin-top:20px}
