:root{--ink:#17221d;--muted:#6c766f;--green:#174c3b;--mint:#e8f1ed;--gold:#c99539;--paper:#fff;--line:#dfe5e1;--bg:#f3f5f2;--red:#a13b36}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Microsoft YaHei","PingFang SC",sans-serif}a{color:var(--green);text-decoration:none}header{height:72px;background:#123b2f;color:#fff;display:flex;align-items:center;padding:0 4vw;gap:40px;box-shadow:0 2px 10px #0002}.brand{display:flex;align-items:center;gap:12px;min-width:180px}.brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--gold);color:#fff;font:700 22px serif}.brand b,.brand small{display:block}.brand small{font-size:11px;opacity:.75;letter-spacing:1px}nav{display:flex;gap:6px;flex:1}nav a{color:#d8e5df;padding:10px 13px;border-radius:8px}nav a:hover{background:#ffffff14;color:#fff}.user{font-size:13px}.user a{color:#f1cf91;margin-left:12px}main{max-width:1280px;margin:auto;padding:34px 30px 70px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.pagehead h1{margin:0;font:700 28px serif}.pagehead p{margin:0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.metric,.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 20px #18392c08}.metric{padding:21px;border-top:3px solid var(--green)}.metric small,.metric span{display:block;color:var(--muted)}.metric strong{display:block;font:700 25px Georgia;margin:10px 0}.grid{display:grid;grid-template-columns:3fr 1fr;gap:18px}.panel{padding:22px;overflow:auto}.paneltitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.paneltitle h2,.panel h2{margin:0;font-size:17px}.paneltitle p{margin:4px 0 0;color:var(--muted)}.primary,.secondary,button{display:inline-block;border:0;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer}.primary,button.primary,form button{background:var(--green);color:#fff}.secondary{background:var(--mint);color:var(--green)}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;padding:11px;border-bottom:1px solid var(--line)}td{padding:13px 11px;border-bottom:1px solid #edf0ee}tfoot td{font-weight:700;background:#f7f9f7}.tag{display:inline-block;padding:3px 9px;border-radius:99px;background:#f4e8d3;color:#805c20;font-size:12px}.tag.ok{background:#e0f0e8;color:#236047}.empty{text-align:center;color:var(--muted);padding:35px}.mono{font-family:Consolas,monospace}.checklist{list-style:none;padding:0;margin:8px 0}.checklist li{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.checklist b{font:700 20px Georgia;color:var(--green);min-width:42px}.checklist span{color:var(--muted)}footer{text-align:center;color:var(--muted);padding:25px}.formrow{display:flex;gap:18px;margin-bottom:25px}.formrow label,.voucherform label{color:var(--muted)}.formrow .grow{flex:1}input,select{display:block;width:100%;border:1px solid #cbd4ce;border-radius:7px;padding:10px;background:#fff;color:var(--ink);font:inherit;margin-top:6px}.voucherform table input,.voucherform table select{margin:0}.voucherform th:nth-last-child(-n+3),.voucherform td:nth-last-child(-n+3){text-align:right}.icon{background:transparent!important;color:var(--red)!important;padding:5px 10px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.error,.success{padding:13px 16px;border-radius:9px;margin-bottom:15px}.error{background:#f7dfdc;color:#7e2924}.success{background:#dff0e6;color:#205c42}.voucherhead{display:flex;justify-content:space-between;align-items:center}.voucherhead h2{font:700 24px serif;letter-spacing:8px}.voucherhead span,.voucherhead b{display:block}.voucherhead span{font-size:12px;color:var(--muted)}.summary{background:#f7f9f7;padding:12px}.voucherfoot{display:flex;justify-content:space-between;color:var(--muted);margin-top:18px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0e3328,#1e5a46)}.loginbox{width:min(420px,90vw);background:#fff;padding:40px;border-radius:18px;box-shadow:0 20px 60px #061d1766}.brand.large{margin-bottom:32px}.loginbox h1{font:700 28px serif;margin:0}.loginbox>p{color:var(--muted)}.loginbox label{display:block;margin:16px 0;color:var(--muted)}.loginbox button{width:100%;margin-top:8px;padding:12px}.hint{text-align:center;background:var(--mint);color:var(--green);padding:10px;margin-top:18px;border-radius:8px;font-size:12px}@media(max-width:850px){header{height:auto;padding:16px;flex-wrap:wrap}nav{order:3;width:100%;overflow:auto}.user{margin-left:auto}.metrics{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}main{padding:24px 14px}.formrow{display:block}.formrow label{margin-bottom:14px}}@media(max-width:500px){.metrics{grid-template-columns:1fr}.pagehead p{display:none}}

/* 手机与平板触控布局 */
@media(max-width:900px){
body{font-size:15px;-webkit-text-size-adjust:100%}header{height:auto;min-height:0;padding:11px 14px 9px;gap:8px 12px;flex-wrap:wrap;position:sticky;top:0;z-index:20}.brand{min-width:0;flex:1}.brand>span{width:34px;height:34px;flex:0 0 34px}.brand b{font-size:14px;white-space:nowrap}.brand small{font-size:10px}.user{margin-left:auto;white-space:nowrap;font-size:12px}.user a{margin-left:7px}header nav{order:3;flex:0 0 calc(100% + 28px);width:calc(100% + 28px);margin:2px -14px -9px;padding:5px 12px 9px;gap:6px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}header nav::-webkit-scrollbar,.adminnav::-webkit-scrollbar{display:none}header nav a{flex:0 0 auto;white-space:nowrap;padding:9px 12px;min-height:40px;display:flex;align-items:center;scroll-snap-align:start;background:#ffffff0a}main{padding:19px 14px 72px}.pagehead{margin-bottom:15px;align-items:center}.pagehead h1{font-size:23px}.pagehead p{font-size:12px}.panel{padding:17px;border-radius:11px;-webkit-overflow-scrolling:touch}.metric{padding:16px;min-width:0}.metric strong{overflow-wrap:anywhere}.grid{grid-template-columns:1fr}.paneltitle{gap:12px}.paneltitle p{font-size:13px}input,select{min-height:46px;padding:11px 12px;font-size:16px}input[type="date"]{height:46px;min-height:46px;padding-top:9px;padding-bottom:9px}button,.primary,.secondary{min-height:44px;padding:11px 15px;touch-action:manipulation}table{min-width:680px}th,td{padding:12px 10px;white-space:nowrap}.panel>table{margin-bottom:2px}.actions{gap:9px;flex-wrap:wrap}.actions>*{min-height:44px}.adminnav{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.adminnav a{min-height:42px;display:flex;align-items:center;scroll-snap-align:start}.filterbar label{min-width:min(220px,100%)}.filterbar button,.filterbar .secondary{min-width:110px}
}
@media(max-width:600px){
.pagehead p{display:none}.paneltitle{align-items:stretch;flex-direction:column}.paneltitle .buttonrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.paneltitle .buttonrow a{text-align:center}.metrics,.metrics-five,.adminmetrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.metric{min-height:108px!important}.metric strong{font-size:20px!important;margin:7px 0}.metric span{font-size:11px}.homeactions{padding:12px 14px}.homeactions strong{font-size:14px}.homeactions button{min-width:76px}.simplegrid,.filterrow,.exportfilters{grid-template-columns:1fr!important;gap:11px!important}.advancedfilters,.exportfilters{padding:13px}.filteractions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.filteractions button,.filteractions a{text-align:center;width:100%}.filtertotals{grid-template-columns:repeat(2,minmax(0,1fr))!important}.simpleform{padding-bottom:6px}.simpleform .actions{position:sticky;bottom:8px;z-index:5;background:#fffffff2;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 8px 24px #28143e20}.simpleform .actions>*{flex:1;text-align:center}.billfacts{grid-template-columns:1fr 1fr}.billhero{display:block}.billamount{text-align:left;margin-top:14px}.viewoptions>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.loginbox{width:calc(100vw - 24px);padding:27px 22px;border-radius:14px}.brand.large{margin-bottom:24px}.backuplist li,.commonlist>div{align-items:flex-start;flex-direction:column}.backupactions{width:100%;flex-wrap:wrap}.settingslist form{grid-template-columns:1fr auto}.settingslist form>button{grid-column:1/-1;width:100%}footer{padding:18px 14px 28px;font-size:12px}
}
@media(max-width:370px){.brand b{font-size:12px}.user{font-size:11px}.metrics,.metrics-five,.filtertotals{grid-template-columns:1fr!important}}
