:root{color-scheme:light;--paper:#f4f6f2;--surface:#fff;--ink:#18291f;--muted:#526257;--green:#155c43;--green-soft:#e4f0e8;--copper:#a74621;--copper-soft:#faeee6;--line:#d8e1d7;--focus:#1746b6;font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:18px;line-height:1.65;--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:#c7e5d2;color:#102519}input,select{caret-color:var(--green)}button:disabled{opacity:.55;cursor:wait}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:white;z-index:20}.skip:focus{top:8px}h1,h2,h3,p{margin:0}h1{font-size:2rem;font-weight:750;line-height:1.3;letter-spacing:-.025em;text-wrap:balance}h2{font-size:1.35rem;line-height:1.45}h3{font-size:1.1rem}.wrap{max-width:1180px;margin:auto;padding:0 40px}.topbar{border-bottom:1px solid var(--line);background:#fff}.top-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:88px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;color:var(--ink);text-decoration:none;font-size:1.1rem}.brand svg{width:28px;height:34px;color:var(--green)}.top-actions{display:flex;gap:12px;align-items:center}.plain,.quiet{border:1px solid var(--line);background:transparent;border-radius:10px;color:var(--ink);padding:9px 15px;min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;font-size:.9rem}.plain:hover,.quiet:hover{background:#e9eee7}.quiet{border:0;color:var(--muted)}.primary{border:0;border-radius:10px;background:var(--green);color:white;display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:13px 24px;text-decoration:none;font-weight:650}.primary:hover{background:#104c37}.primary:active{transform:translateY(1px)}main.wrap{padding-top:40px;padding-bottom:48px}.title-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.sub{color:var(--muted);margin-top:8px;font-size:.94rem}.date-control{display:flex;flex-direction:column;gap:6px;font-size:.9rem;min-width:230px}select,input{border:1px solid #aab8ab;border-radius:9px;background:white;color:var(--ink);padding:11px 12px;min-height:50px;max-width:100%}.freshness{display:flex;align-items:center;gap:10px;margin-bottom:27px;font-size:.88rem;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;background:var(--green);flex-shrink:0}.freshness.stale .dot{background:var(--copper)}.sales-line{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:16px}.sales-count{font-size:1.15rem}.sales-count strong{font-size:2.3rem;line-height:1;font-weight:700;margin:0 7px;font-variant-numeric:tabular-nums}.sales-detail{display:flex;gap:28px;color:var(--muted);font-size:.95rem}.sales-detail strong{color:var(--ink);font-weight:700}.finance{display:grid;grid-template-columns:1.35fr 1fr;margin-top:24px;overflow:hidden;border-radius:var(--radius);background:var(--surface)}.received{background:var(--green);color:#fff;padding:32px 36px}.received .label{font-size:1.1rem;font-weight:550}.money{font-size:3.7rem;line-height:1.25;letter-spacing:-.035em;font-weight:700;font-variant-numeric:tabular-nums;margin-top:12px;white-space:nowrap}.money span{font-size:1.1rem;letter-spacing:0;font-weight:500;margin-left:10px}.received .explainer{color:#d7e9de;font-size:.9rem;margin-top:12px}.rate-line{display:flex;justify-content:space-between;align-items:center;margin-top:27px;gap:10px;font-size:.95rem}.rate-line strong{font-size:1.2rem}.split{display:block;width:100%;height:16px;margin-top:12px}.split rect{shape-rendering:geometricPrecision}.split .collected{fill:#a7d9b8}.split .remaining{fill:#67927d}.total-column{padding:28px 34px;display:flex;flex-direction:column;justify-content:center;gap:24px}.total-column section+section{border-top:1px solid var(--line);padding-top:20px}.total-column .label{font-size:1.05rem;color:var(--muted)}.total-column .money{font-size:2.35rem;margin-top:3px}.total-column .unpaid .money{color:var(--copper)}.total-column .caption{color:var(--muted);font-size:.83rem;margin-top:4px}.definition{font-size:.85rem;color:var(--muted);margin:14px 0 32px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.section-top p{font-size:.9rem;color:var(--muted);margin-top:4px}.section-top .quiet{white-space:nowrap}.charts-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;margin:30px 0}.collection-section{background:white;border-radius:var(--radius);padding:28px 30px}.legend{display:flex;gap:20px;font-size:.85rem;color:var(--muted);margin-bottom:18px}.legend span{display:inline-flex;align-items:center;gap:7px}.swatch{width:12px;height:12px;background:var(--green);border-radius:2px}.swatch.copper{background:#d3aa8c}.filter-group{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.filter-group button{min-height:46px;border:1px solid var(--line);border-radius:9px;background:white;padding:8px 13px;font-size:.9rem;color:var(--muted)}.filter-group button[aria-pressed=true]{border-color:var(--green);background:var(--green-soft);color:var(--green);font-weight:650}.home-row{padding:19px 0;border-top:1px solid var(--line)}.home-row:first-of-type{border-top:0}.home-summary{display:flex;justify-content:space-between;gap:14px;align-items:center}.home-name{font-weight:650;font-size:1.08rem}.home-balance{text-align:right;color:var(--copper);font-size:.95rem;white-space:nowrap}.home-balance.clear{color:var(--green)}.home-bar{display:block;width:100%;height:9px;border-radius:4px;margin:11px 0 8px}.home-bar .paid{fill:var(--green)}.home-bar .due{fill:#d3aa8c}.home-row .amounts{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.82rem}.home-row details{margin-top:9px}.home-row summary{color:var(--green);cursor:pointer;font-size:.83rem;min-height:36px;display:list-item;padding:5px 0}.home-row dl{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;margin:8px 0 0;font-size:.86rem}.home-row dt{color:var(--muted)}.home-row dd{margin:0;font-weight:550}.trend-section{padding:8px 0 0}.trend-chart{width:100%;height:auto;display:block;margin:26px 0 18px;overflow:visible}.trend-chart text{font-family:inherit;font-size:16px;fill:var(--muted)}.trend-chart .grid{stroke:var(--line);stroke-width:1}.trend-chart .trend{stroke:var(--green);stroke-width:3;fill:none}.trend-chart circle{fill:white;stroke:var(--green);stroke-width:2.5}.trend-chart .count{fill:var(--green);font-size:20px;font-weight:650}.trend-note{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.progress-facts{margin-top:24px;display:grid;gap:18px}.progress-fact{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid var(--line)}.progress-fact strong{font-size:1.3rem}.progress-fact span{color:var(--muted);font-size:.95rem}.notes{margin-top:24px;font-size:.83rem;color:var(--muted);line-height:1.8}.notes p+p{margin-top:5px}.footer{border-top:1px solid var(--line);padding:25px 0 35px;color:var(--muted);font-size:.83rem}.footer-inner{display:flex;justify-content:space-between;gap:16px}.error{background:#fff0e8;color:#7e2d11;padding:16px 20px;border-radius:10px;line-height:1.65;margin:18px 0;overflow-wrap:anywhere}.notice{background:var(--green-soft);color:#224d35;padding:17px 20px;border-radius:10px;line-height:1.65;margin:18px 0}.loading{max-width:680px;padding:70px 28px;margin:auto}.loading p{margin:22px 0}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:960px;margin:24px auto}.login-intro{padding:30px 0}.login-intro p{margin-top:20px;color:var(--muted)}.login-form{padding:30px;background:#fff;border-radius:var(--radius)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px}.field label{font-weight:550}.field small{color:var(--muted);font-size:.8rem}.login-form .primary{width:100%}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}.work-panel{background:white;padding:30px;border-radius:var(--radius)}.step-title{margin:0 0 16px}.file-pick{border:1px dashed #99b2a1;padding:24px;border-radius:12px;background:#f8faf7}.file-pick label{display:block;font-weight:650;margin-bottom:8px}.file-pick p{color:var(--muted);font-size:.88rem;margin-bottom:20px}.file-pick input{width:100%;background:white}.admin-aside h2{margin-bottom:18px}.admin-aside ol{padding-left:25px;color:var(--muted)}.admin-aside li{margin-bottom:14px}.admin-aside .last-update{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;color:var(--muted);font-size:.9rem}.admin-aside strong{color:var(--ink)}.review{margin-top:32px}.review-head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:22px}.review-stats{font-size:.95rem;color:var(--muted)}.review-list{display:grid;gap:14px;margin:20px 0}.edit-record{border:1px solid var(--line);border-radius:12px;padding:20px}.edit-record legend{padding:0 8px;font-weight:650}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-fields label{display:flex;flex-direction:column;gap:5px;font-size:.85rem}.edit-fields input,.edit-fields select{width:100%;font-size:.95rem;min-width:0}.edit-fields .wide{grid-column:1/-1}.check-label{display:flex;align-items:start;gap:12px;margin:20px 0;font-size:.94rem}.check-label input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--green)}.publish-settings{display:grid;grid-template-columns:1fr 1fr;gap:18px}.publish-settings .field{margin:0}.staff-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.import-notes{background:#fff4e9;color:#704116;border-radius:9px;padding:15px;margin-top:18px;font-size:.9rem}.history-list{list-style:none;padding:0;margin:20px 0}.history-list li{padding:12px 0;border-top:1px solid var(--line);font-size:.85rem}.template-link{display:inline-flex;margin-top:20px;min-height:48px;align-items:center}#announcer:empty{display:none}#announcer{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 24px;background:var(--ink);color:white;border-radius:10px;max-width:90vw;z-index:10;font-size:.95rem}.large-type{font-size:21px}.large-type .money{font-size:3.3rem}.large-type .total-column .money{font-size:2.2rem}small{font-size:.85rem}button{transition:background-color .15s ease}pre{white-space:pre-wrap}input[type=checkbox]{cursor:pointer}
@media(min-width:1440px){.wrap{max-width:1280px}.charts-grid{gap:48px}}
@media(max-width:850px){.wrap{padding:0 24px}.charts-grid{grid-template-columns:1fr;gap:30px}.trend-section{padding:0 12px}.finance{grid-template-columns:1.2fr 1fr}.received{padding:28px}.total-column{padding:24px}.admin-layout{grid-template-columns:1fr}.admin-aside{padding:0 8px}.login-layout{gap:30px}.money{font-size:3.3rem}.sales-detail{gap:16px}}
@media(max-width:600px){:root{font-size:18px}.wrap{padding:0 20px}.top-inner{min-height:76px;gap:8px}.brand{font-size:1rem;gap:8px}.brand svg{width:23px;height:28px}.top-actions{gap:2px}.plain,.quiet{padding:8px 10px;font-size:.86rem}.top-actions .backoffice{font-size:.85rem}main.wrap{padding-top:26px;padding-bottom:36px}h1{font-size:1.7rem}.title-row{align-items:stretch;flex-direction:column;gap:17px;margin-bottom:17px}.date-control{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;min-width:0}.date-control select{max-width:230px;font-size:.95rem;padding:8px 10px}.freshness{font-size:.83rem;margin-bottom:20px;align-items:start}.dot{margin-top:9px}.sales-line{padding:21px 0;align-items:start;flex-direction:column;gap:16px}.sales-count{font-size:1.05rem}.sales-count strong{font-size:2.4rem}.sales-detail{justify-content:space-between;width:100%;font-size:.9rem}.finance{grid-template-columns:1fr;margin-top:20px}.received{padding:26px 25px}.received .money{font-size:3.5rem;margin-top:11px}.rate-line{margin-top:23px}.total-column{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:23px 20px}.total-column section{padding:0 15px 0 0}.total-column section+section{border-top:0;border-left:1px solid var(--line);padding:0 0 0 18px}.total-column .label{font-size:.94rem}.total-column .money{font-size:1.95rem}.total-column .money span{font-size:.85rem;margin-left:5px}.total-column .caption{font-size:.77rem}.definition{margin:12px 0 27px;font-size:.8rem}.charts-grid{margin-top:0;gap:30px}.collection-section{padding:23px 20px}.section-top{align-items:start;margin-bottom:17px}.section-top h2{font-size:1.2rem}.section-top .quiet{font-size:.83rem;padding:5px 0}.home-name{font-size:1.03rem}.home-balance{font-size:.87rem}.home-row .amounts{font-size:.79rem}.filter-group{gap:6px}.filter-group button{padding:8px 10px;font-size:.85rem}.trend-section{padding:0 3px}.notes{font-size:.8rem}.footer-inner{flex-direction:column;gap:8px}.login-layout{display:block;margin:0}.login-intro{padding:5px 0 24px}.login-intro p{margin-top:14px}.login-form{padding:25px 22px}.work-panel{padding:22px 18px}.file-pick{padding:18px}.file-pick input{padding:9px;font-size:.9rem}.publish-settings{grid-template-columns:1fr}.edit-record{padding:15px 12px}.edit-fields{gap:12px 9px}.edit-fields input{font-size:.88rem;padding:9px}.large-type{font-size:21px}.large-type .received .money{font-size:3rem}.large-type .total-column{grid-template-columns:1fr}.large-type .total-column section{padding:0}.large-type .total-column section+section{border-left:0;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.large-type .total-column .money{font-size:2.4rem}.large-type .top-actions .backoffice{max-width:70px;line-height:1.3}.large-type .home-summary{align-items:start;flex-direction:column;gap:5px}.large-type .date-control{align-items:stretch;flex-direction:column;gap:6px}.large-type .date-control select{max-width:none}.large-type .edit-fields{grid-template-columns:1fr}.large-type .money span{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.top-actions,.filter-group,.date-control,.footer,.staff-actions{display:none}.wrap{max-width:none;padding:0}.finance,.collection-section{break-inside:avoid}.charts-grid{display:block}body{background:white}.received{color:var(--ink);background:#e4f0e8}.received .explainer{color:var(--muted)}}

@media(max-width:600px){.single-history{display:none}.title-row{gap:12px;margin-bottom:12px}.freshness{margin-bottom:16px}.sales-line{padding:17px 0;gap:13px}.received{padding:23px 25px}.received .explainer{margin-top:8px}.rate-line{margin-top:19px}}
.filter-group button,.home-row summary{min-height:48px}

.archive-record h2{font-size:1.2rem;overflow-wrap:anywhere}.file-hash{overflow-wrap:anywhere;font-size:.9rem}.archive-record a{display:inline-flex;min-height:48px;align-items:center}
@media(max-width:600px){.top-inner{flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px}.brand{font-size:.87rem;gap:6px;white-space:nowrap}.brand svg{width:20px;height:28px}.top-actions{gap:4px}.top-actions .plain,.top-actions .quiet{font-size:.89rem;padding:9px 6px;white-space:nowrap}}

[hidden]{display:none!important}

.owner-nav{display:flex;flex-wrap:wrap;gap:8px 20px;padding-bottom:12px}.owner-nav a{display:inline-flex;align-items:center;min-height:48px;font-size:1rem;text-underline-offset:5px}.owner-nav [aria-current=page]{font-weight:700;color:var(--ink)}.staff-page{max-width:760px}.staff-page>.sub{margin:12px 0 24px}.staff-page .work-panel{padding:28px}.staff-page .field{max-width:320px}.staff-currency{margin:14px 0 20px}.staff-help{margin-top:24px}.staff-help summary{min-height:48px;display:list-item;padding:10px 0;cursor:pointer}.staff-latest{font-variant-numeric:tabular-nums}
@media(max-width:600px){.staff-page .work-panel{padding:22px 18px}.owner-nav{gap:4px 16px}.owner-nav a{font-size:.95rem}}
