:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#233b36;background:#f5f7f5;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:228px;background:#183f36;color:#d7e8df;position:fixed;height:100vh;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:29px;font-weight:650;letter-spacing:4px}.brand small{font-size:11px;letter-spacing:1px;display:block;margin-top:8px;color:#a4beb2}.workspace{border-top:1px solid #ffffff20;margin-top:30px;padding-top:26px;line-height:2}.workspace span{font-size:12px;color:#9cbbad}nav{margin-top:30px;display:grid;gap:7px}nav button{background:none;color:#c0d6cb;text-align:left;padding:13px 16px;border-radius:8px}nav button.active{background:#ffffff18;color:white;border-left:3px solid #c7dc92}.sidefoot{margin-top:auto;line-height:1.8;font-size:11px;color:#9cbbad}main{margin-left:228px;width:calc(100% - 228px);padding:0 38px 50px}header{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde5df;margin-bottom:32px;color:#6c7e74}.local{font-size:11px;margin-left:16px;color:#487862;background:#e6eee8;padding:5px 9px;border-radius:20px}.switch{display:flex;gap:8px}select,input,textarea{font:inherit;border:1px solid #d8e1d9;border-radius:7px;padding:10px;background:white;color:#233b36;min-width:0}h1{font-size:28px;margin:0 0 12px;font-weight:650}h2{font-size:18px;margin:0}p{line-height:1.8}.muted{color:#7a8b80;font-size:12px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:18px}.pagehead p{margin:0;color:#78887d}button,.button{border:0;border-radius:7px;padding:11px 17px;font:inherit;cursor:pointer;background:#285c47;color:white;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(1.08)}button:disabled{opacity:.45;cursor:wait}.ghost{background:#eef2ed;color:#3c5c4a}.small{font-size:12px;padding:6px 9px;margin:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stat{background:white;border:1px solid #e2e9e1;border-radius:12px;padding:23px}.stat strong{display:block;font-size:34px;font-weight:550;margin:14px 0 5px}.stat:first-child{background:#e9efdc}.panel{background:white;border:1px solid #e0e7df;border-radius:12px;margin-bottom:24px;overflow:hidden}.panelhead{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0eb}.panelbody{padding:24px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th{font-size:12px;color:#7e8b80;background:#fafbf8;font-weight:500}th,td{padding:15px 20px;border-bottom:1px solid #edf1eb}td{font-size:13px}td.wrap{white-space:normal;min-width:180px;max-width:320px}.badge{display:inline-block;padding:5px 8px;border-radius:5px;background:#eaf2e9;color:#47735a;font-size:11px}.badge.warn{color:#a87921;background:#fff4da}.empty{text-align:center;padding:55px 20px;color:#89958b}.empty strong{display:block;font-size:17px;color:#48634f;margin-bottom:10px}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.notice{padding:14px 18px;background:#eef2e5;border-left:3px solid #aabf78;line-height:1.8;margin-bottom:24px;font-size:12px}.toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar input{flex:1}.money{font-weight:650;color:#346b4c}.progress{height:5px;width:100px;background:#e8ede5;border-radius:5px;margin-top:7px}.progress i{display:block;height:5px;background:#91ac6b;border-radius:5px}dialog{border:0;border-radius:15px;width:540px;padding:28px;box-shadow:0 30px 100px #10281b33}dialog::backdrop{background:#13261c65}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}label{display:grid;gap:8px;margin-bottom:16px;font-size:12px}#fields{max-height:62vh;overflow:auto;padding:2px}#error{color:#a43c32;font-size:13px}#toast{position:fixed;bottom:24px;right:30px;background:#233e30;color:white;padding:14px 22px;border-radius:8px;display:none}a{color:#376b51}.steps{display:flex;gap:8px;flex-wrap:wrap}.steps span{background:#f1f5ec;padding:10px;border-radius:6px;font-size:12px}details{max-width:330px;white-space:normal;font-size:12px}summary{cursor:pointer}#file{max-width:240px} @media(max-width:1100px){main{padding:0 20px 30px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}aside{width:190px}main{margin-left:190px;width:calc(100% - 190px)}}@media(max-width:700px){aside{width:100%;position:static;height:auto;padding:20px}.workspace,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;padding:10px}body{display:block}main{margin:0;width:100%;padding:0 14px 24px}header{height:auto;gap:14px;flex-wrap:wrap;padding:18px 0}.pagehead{align-items:flex-start}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:28px}h1{font-size:23px}}
.receipt{display:block;max-width:240px;max-height:360px;object-fit:contain;margin:12px 0;border:1px solid #e0e7df;border-radius:7px}
.desklinks{display:grid;gap:6px;margin-top:24px}.desklinks a{display:block;color:#aac8b7;text-decoration:none;font-size:12px;padding:8px 12px;border:1px solid #ffffff20;border-radius:6px}.desklinks a.selected{color:#ecf3d7;border-color:#bfd39270;background:#ffffff0d}.workspace{margin-top:18px;padding-top:18px}nav{margin-top:20px}.portal{display:block;background:#f5f7f2}.portalwrap{max-width:1100px;margin:0 auto;padding:80px 36px}.eyebrow{font-size:15px;letter-spacing:3px;color:#557963;margin-bottom:42px}.portal h1{font-size:40px;letter-spacing:1px}.intro{color:#7a8a7e;font-size:16px;margin:18px 0 42px}.deskcards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.deskcard{display:block;text-decoration:none;border-radius:16px;padding:34px;border:1px solid #dce5d7;background:white;transition:transform .15s}.deskcard:hover{transform:translateY(-3px)}.deskcard.operations{background:#204738;color:#ecf0e7}.desklabel{font-size:12px;letter-spacing:2px;opacity:.65}.deskcard h2{font-size:27px;margin:28px 0 20px}.deskcard h2 span{float:right}.deskcard p{line-height:2.3;font-size:14px;opacity:.8}.enter{margin-top:30px;border-top:1px solid #a7bea44a;padding-top:22px}.portalnote{font-size:12px;line-height:1.9;margin-top:32px;background:#eaf0e2;padding:18px;border-radius:8px}@media(max-width:700px){.desklinks{display:flex;margin-top:16px}.desklinks a{flex:1}.portalwrap{padding:40px 22px}.portal h1{font-size:28px}.deskcards{grid-template-columns:1fr}.deskcard{padding:25px}}
#appRoot{width:100%;display:flex}#appRoot[hidden],#authRoot[hidden]{display:none}.authpage{display:block;min-height:100vh;background:#edf2e8}.authcard{max-width:470px;margin:8vh auto;padding:38px;background:white;border:1px solid #dfe7d9;border-radius:16px;box-shadow:0 20px 60px #274b3510}.authcard .eyebrow{margin-bottom:24px;font-size:12px;letter-spacing:2px;color:#65805e}.authcard h1{font-size:25px;margin-bottom:18px}.authcard form{margin-top:28px}.authcard button{width:100%;margin:10px 0 20px}#loginError{color:#9f4336;font-size:13px}#identity{font-size:12px;color:#5c7566}@media(max-width:700px){#appRoot{display:block}.authcard{margin:5vh 16px;padding:28px}}
.navsection{font-size:10px;letter-spacing:2px;color:#a3bcae;margin:22px 14px 8px}.liveIndicator{display:flex;align-items:center;color:#567c59;font-size:11px}.stats strong{font-variant-numeric:tabular-nums}

.brand{font-size:22px;letter-spacing:1px;white-space:nowrap}.brand small{font-size:11px;letter-spacing:1px}
