@charset "UTF-8";
.ledger-table .offer-id{white-space:pre;font-variant-numeric:normal}.ledger-filter .search-field input{min-width:0}
.offer-badge{font-family:var(--font)}.badge.offer-unmapped{background:var(--yellow-soft);color:#755a18;border:1px solid #d8c66d}.sample-scope-note{display:block;min-width:12rem;max-width:24rem;white-space:normal;font-size:10px;color:var(--muted);margin-top:4px}#unmapped-offer-audit[hidden]{display:none}.unmapped-offer-details{border:1px solid var(--line);border-left:3px solid #d8c66d;background:#fffdf4;border-radius:4px;margin-bottom:18px;padding:12px 14px}.unmapped-offer-details>summary{cursor:pointer;font-size:12px;font-weight:600;color:#755a18}.unmapped-offer-details>.small-note{margin:10px 0 0}.unmapped-offer-details .table-scroll{margin-top:12px;max-width:100%}.unmapped-offer-details table{min-width:900px}.unmapped-offer-details td{vertical-align:top}
.report-basis-bar{display:flex;align-items:center;gap:20px;padding:14px 0 10px}.report-basis-bar label{flex:0 0 180px}.report-basis-bar p{margin:18px 0 0;font-size:11px;color:var(--muted);max-width:800px}.click-sync-strip{display:flex;align-items:baseline;gap:12px;padding:9px 12px;background:#eef1e8;border:1px solid var(--line);border-radius:4px;font-size:11px;color:var(--muted)}.click-sync-label{font-weight:600;white-space:nowrap;color:var(--ink)}.click-sync-strip #click-sync-status{flex:1}.click-sync-strip.error{background:#fff1ec;color:var(--red)}.kpi-model-compare{display:block;margin-top:4px}.click-coverage{display:block;font-size:10px;color:var(--muted);white-space:normal}.click-coverage.warning{color:#8b7031}@media(max-width:768px){.report-basis-bar{align-items:stretch;flex-direction:column;gap:8px}.report-basis-bar label{flex:auto;max-width:100%}.report-basis-bar p{margin:0}.click-sync-strip{flex-wrap:wrap}.click-sync-strip #click-sync-status{flex:1 1 60%}}
.section-range-form .section-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:0 0 100%;grid-column:1/-1;min-width:0}.section-presets .section-preset{min-height:34px;padding:6px 13px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.5;white-space:nowrap}.section-presets .section-preset:hover,.section-presets .section-preset.active{background:var(--yellow-soft);border-color:var(--yellow)}.section-presets>span{font-size:12px;color:var(--muted);line-height:1.7}
:root{--paper:#f5f5f0;--surface:#fff;--ink:#20221d;--muted:#73776c;--line:#e2e4da;--yellow:#f4d647;--yellow-soft:#fff8d5;--green:#22634f;--red:#a44436;--nav:#1c211d;--nav-muted:#9ca59b;--radius:6px;--font:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.48}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #b39a27;outline-offset:3px}input,select{min-height:39px;width:100%;border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:7px 10px;color:var(--ink)}input:disabled{background:#eeefe8;color:#85897f}label{display:flex;flex-direction:column;gap:6px;color:#676c60;font-size:12px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-weight:600;font-size:32px;letter-spacing:-1.1px;line-height:1.35;margin-bottom:9px}h2{font-weight:600;font-size:18px;letter-spacing:-.4px;line-height:1.5;margin-bottom:0}strong{font-weight:600}small{font-size:11px}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;padding:10px 16px;background:var(--yellow)}.skip-link:focus{top:10px}.sidebar{width:222px;background:var(--nav);color:#f9faee;position:fixed;inset:0 auto 0 0;padding:34px 20px 24px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:13px;padding:0 10px;margin-bottom:58px;font-size:20px;letter-spacing:1.4px;font-weight:800;line-height:1.2}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:3px;color:var(--nav-muted);margin-top:7px}.brand-symbol{font-size:43px;letter-spacing:-9px;color:var(--yellow);font-weight:800;font-style:italic;position:relative;padding-right:8px;line-height:1}.brand-symbol span{font-size:20px;position:absolute;top:-5px;right:-4px;letter-spacing:0;font-style:normal}.nav-label{font-size:9px;letter-spacing:2px;color:#778476;padding:0 14px;margin-bottom:16px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{min-height:46px;padding:11px 14px;color:#b7c0b4;display:flex;align-items:center;gap:13px;border-radius:4px;font-size:13px;transition:background .15s,color .15s}.sidebar nav a>span:first-child{font-size:19px;line-height:1;width:20px;text-align:center}.sidebar nav a.active{color:var(--ink);background:var(--yellow);font-weight:600}.sidebar nav a:not(.active):hover{background:#2e352e;color:#fff}.nav-dot{width:5px;height:5px;background:#7e8b76;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;font-size:10px;color:#a9b3a2;padding:0 12px}.sidebar-bottom p{margin:17px 0 24px;line-height:1.8;color:#687661;font-size:11px}.local-indicator,.status-dot{width:6px;height:6px;display:inline-block;background:#9bb77c;border-radius:50%;margin-right:7px}.sidebar-backup{border:0;border-top:1px solid #3b4436;background:transparent;padding:15px 0 0;width:100%;text-align:left;color:#aab5a3;font-size:11px}.sidebar-backup span{float:right}.workspace{margin-left:222px}.topbar{height:65px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:11px;background:#fafaf6}.breadcrumb{color:#8b8f81;letter-spacing:.2px}.breadcrumb span{padding:0 13px;color:#bcc1b3}.breadcrumb strong{color:#4d5548;font-weight:500}.topbar-status{font-size:10px;color:#818878}.topbar-status .status-dot{width:5px;height:5px}main{max-width:1680px;margin:0 auto;padding:34px 38px 0}.page{animation:enter .24s ease-out}.page[hidden]{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:2px;color:#8a907f;font-weight:600;margin-bottom:12px}.subheading{font-size:12px;color:var(--muted);margin-bottom:0}.button{min-height:40px;padding:9px 15px;border:1px solid transparent;border-radius:4px;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button.primary{background:var(--ink);color:#f8f9f0}.button.primary:hover{background:#3c4434}.button.secondary{background:#fafbf5;border-color:#d9decf;color:#515b44}.button.secondary:hover{background:#eef1e6}.filterbar{display:flex;gap:16px;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.filterbar label{flex:1;min-width:105px}.filterbar .date-pair{flex:1.8;display:flex;gap:8px;align-items:flex-end;min-width:282px}.date-pair>span{height:39px;display:flex;align-items:center;color:#b2b7a8}.filterbar input,.filterbar select{font-size:11px;padding:7px 8px}.filterbar .worker-filter{flex:1.6;min-width:150px}.filterbar .worker-filter select{max-width:100%;text-overflow:ellipsis}.report-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 20px;font-size:10px;color:#949986}.preset-buttons{display:flex;gap:5px}.preset-buttons button{border:0;background:transparent;font-size:10px;color:#7e856f;padding:3px 8px;border-radius:3px}.preset-buttons button:hover,.preset-buttons button.active{background:#e7ebdc;color:#394a2e}.notice{padding:12px 15px;border-radius:4px;border:1px solid var(--line);font-size:12px;margin-bottom:16px;line-height:1.7}.notice[hidden],.toast[hidden]{display:none}.notice.error{background:#fff1ec;border-color:#edc5b9;color:#943c2e}.notice.success{background:#edf6ed;border-color:#cedfca;color:#2b653d}.notice.neutral{background:#f0f2e9;color:#69715c;border-color:#dfe5d5}.notice.scenario{background:var(--yellow-soft);border-color:#ecdc86;display:flex;gap:15px;align-items:center;color:#6e5c1d}.notice.scenario a{margin-left:auto;text-decoration:underline;white-space:nowrap}.warnings{margin-bottom:0}.warning-line{background:#fff8e9;border-left:2px solid #d9ad4a;padding:8px 12px;font-size:11px;color:#8b7031;margin-bottom:6px}.warning-line:last-child{margin-bottom:20px}.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:22px;background:#fcfcf8}.kpi{padding:20px 22px;border-right:1px solid var(--line);position:relative}.kpi:last-child{border-right:0}.kpi-label{font-size:11px;color:#7b826f;display:flex;justify-content:space-between;gap:8px}.kpi-label>span{font-size:9px;color:#a1a895;font-weight:400}.kpi-value{font-size:30px;line-height:1.25;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-weight:600;margin:10px 0 8px;white-space:nowrap}.kpi-sub{color:#999f8c;font-size:10px;min-height:16px}.kpi.profit{background:#f2f2e5}.kpi.profit:before{content:"";height:3px;background:var(--yellow);position:absolute;top:-1px;left:0;right:0}.positive{color:var(--green)}.negative{color:var(--red)}.kpi-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-column:1/-1;border-top:1px solid var(--line);background:var(--surface)}.secondary-metric{padding:12px 22px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-right:1px solid var(--line);font-size:10px;color:#858c78}.secondary-metric:last-child{border-right:0}.secondary-metric strong{font-size:13px;font-variant-numeric:tabular-nums;color:#444d3b}.trend-section,.data-section{margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-kicker{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#9a9f8e;margin-bottom:5px}.chart-legend{display:flex;align-items:center;gap:16px;font-size:10px;color:#7a826d}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{display:inline-block;width:14px;height:3px;border-radius:3px}.legend-reg{background:#354f3b}.legend-dep{background:#c8a62a}.chart-wrap{height:228px;background:#fafbf6;border:1px solid var(--line);border-radius:5px;padding:16px 13px 2px}.chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-caption{font-size:10px;color:#969d88;margin-top:9px;display:flex;justify-content:space-between}.unit-label{font-size:10px;color:#969c89;text-align:right}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:5px;background:var(--surface);max-width:100%;scrollbar-color:#d0d7c3 transparent;scrollbar-width:thin}.table-scroll table{width:100%;border-collapse:separate;border-spacing:0;text-align:right;font-size:11px;white-space:nowrap}.table-scroll th{font-weight:500;padding:11px 14px;background:#f0f3e9;border-bottom:1px solid var(--line);color:#6b755b;text-align:right}.table-scroll th:first-child,.table-scroll td:first-child{text-align:left}.table-scroll td{padding:13px 14px;border-bottom:1px solid #edf0e6;font-variant-numeric:tabular-nums;vertical-align:middle;color:#505b43}.table-scroll tbody tr:last-child td{border-bottom:0}.table-scroll tbody tr:hover td{background:#fafbf5}.table-scroll .total-row td{background:#f0f2e5;font-weight:600;border-top:1px solid var(--line)}.table-scroll .sticky{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--line);min-width:170px;max-width:270px;white-space:normal}.table-scroll th.sticky{background:#f0f3e9;z-index:2}.table-scroll .group-name{display:block;font-weight:600;color:#36482e;white-space:nowrap}.group-number{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid #d6ddc8;background:#f2f5e9;font-size:10px;margin-right:8px;border-radius:3px}.table-scroll .cell-muted{color:#969f86;font-size:10px}.table-scroll .mono{font-family:var(--mono);font-size:10px}.table-scroll .text-left{text-align:left}.table-scroll .negative{color:var(--red)}.table-scroll .positive{color:var(--green)}.table-footnote{font-size:10px;color:#8c947e;margin:10px 0 0;line-height:1.8}.table-scroll .row-sub{display:block;font-size:9px;color:#98a086}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs{display:flex;gap:20px}.tabs button{background:none;border:0;padding:6px 0;color:#8c957d;font-size:12px;position:relative}.tabs button[aria-selected=true]{color:#34462b;font-weight:600}.tabs button[aria-selected=true]:after{content:"";height:3px;background:var(--yellow);position:absolute;bottom:-13px;left:0;right:0}.search-field{display:flex;flex-direction:row;gap:8px;align-items:center;border:1px solid var(--line);background:#fff;padding:0 10px;border-radius:4px;width:265px}.search-field>span{font-size:22px;font-weight:400;color:#a1aa92}.search-field input{border:0;min-height:34px;padding:6px 0;background:transparent;font-size:11px;outline-offset:7px}.small-note{font-size:10px;line-height:1.8;color:#8c957d;margin:11px 0 15px}.table-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#939c84;margin-top:10px;gap:15px}.text-button{border:0;background:none;color:#596b46;font-size:11px;padding:5px}.text-button:hover{text-decoration:underline}.page-footer{display:flex;justify-content:space-between;gap:14px;padding:22px 0;margin-top:30px;border-top:1px solid var(--line);color:#9aA28b;font-size:10px}.page-footer a{color:#6c7c59;white-space:nowrap}.empty-state{text-align:center;padding:44px 16px;color:#929c82;font-size:12px;width:100%;grid-column:1/-1}.import-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:32px;align-items:start}.dropzone{border:1px dashed #c0c9af;background:#fbfcf6;text-align:center;padding:35px 20px 32px;border-radius:6px;transition:background .2s,border-color .2s}.dropzone.dragover{background:var(--yellow-soft);border-color:#b2982c}.upload-symbol{width:44px;height:44px;background:#eef0e3;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;font-size:25px;color:#73815f}.dropzone h2{font-size:17px}.dropzone p{font-size:11px;color:#929b81;margin:8px 0 20px}.file-picker{position:relative;overflow:hidden;cursor:pointer;display:inline-flex;color:white}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;min-height:100%;font-size:0}.file-picker:focus-within{outline:3px solid #b39a27;outline-offset:3px}.selected-file{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.file-icon{font-size:9px;padding:4px 6px;background:#edf1e5;color:#63764f;border:1px solid #d9e1cc;border-radius:3px;font-weight:600}.file-description{flex:1;min-width:0}.file-description strong{display:block;font-size:11px;overflow-wrap:anywhere}.file-description small{color:#9ca68c;font-size:9px}.selected-file select{width:115px;min-height:33px;font-size:11px}.icon-button{border:0;background:none;color:#919c80;font-size:20px;padding:2px 5px;line-height:1.2}.import-controls{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-top:20px}.import-controls label{max-width:180px}.import-guide{border-left:1px solid var(--line);padding:20px 0 0 28px}.import-guide h2{font-size:18px}.import-guide ol{list-style:none;counter-reset:step;padding:0;margin:25px 0 27px}.import-guide li{counter-increment:step;position:relative;padding-left:29px;margin-bottom:23px}.import-guide li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font-size:10px;color:#b2b99f;letter-spacing:.3px;font-family:var(--mono)}.import-guide li strong{font-size:12px;color:#667854}.import-guide li p{font-size:11px;margin:4px 0 0;color:#939d82}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.preview-stats{display:flex;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:15px}.preview-stats>div{font-size:10px;color:#939b83}.preview-stats strong{display:block;font-size:22px;color:#425536;font-weight:500}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.preview-footer p{font-size:11px;color:#929d81;margin-bottom:0}.preview-files{font-size:11px;color:#778869;margin-bottom:15px}.preview-files div{padding:3px 0}.mapping-summary{border:1px solid #d5dfc6;background:#edf1e4;border-radius:4px;padding:9px 13px;font-size:11px;color:#6c8056}.ledger-filter{display:flex;gap:20px;align-items:flex-end;background:#fff;border:1px solid var(--line);padding:15px 18px;margin-bottom:18px;border-radius:5px}.ledger-filter .search-field{width:360px;max-width:100%;align-self:flex-end}.ledger-filter>label:not(.search-field){min-width:145px}.ledger-table{max-height:680px}.ledger-table thead th{position:sticky;top:0;z-index:3}.badge{display:inline-block;font-size:9px;line-height:1.5;border:1px solid #d8e3cc;padding:2px 6px;border-radius:3px;color:#657f4d;background:#f0f5e9}.badge.muted{color:#9a967e;background:#f6f3e8;border-color:#e5e0cb}.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:25px}.settings-section{background:#fff;border:1px solid var(--line);border-radius:5px;padding:25px}.currency-pill{font-size:10px;border:1px solid var(--line);border-radius:3px;padding:3px 8px;color:#97a386;font-family:var(--mono)}.price-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.input-unit{position:relative;display:flex;align-items:center}.input-unit input{padding-right:28px;font-size:14px;min-width:0;font-variant-numeric:tabular-nums}.input-unit>span{font-size:9px;position:absolute;right:9px;bottom:-21px;color:#a1aa93;font-weight:400;white-space:nowrap;pointer-events:none}.combined-cost{margin-top:40px;border-top:1px solid var(--line);padding:15px 0;font-size:11px;color:#8b977c;display:flex;justify-content:space-between}.combined-cost strong{color:#4b603a;font-family:var(--mono);font-size:12px}.toggle-row{display:flex;flex-direction:row;gap:12px;position:relative;align-items:center;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}.toggle-row>input{position:absolute;right:0;width:38px;opacity:0;min-height:23px}.toggle-row>span:not(.toggle-visual){flex:1}.toggle-row strong{font-size:11px;color:#63774f;display:block}.toggle-row small{font-size:10px;font-weight:400;color:#a1aa94;display:block;margin-top:2px}.toggle-visual{display:block;width:34px;height:19px;background:#dce2d2;border-radius:20px;position:relative;transition:background .15s}.toggle-visual:after{content:"";position:absolute;width:13px;height:13px;background:white;border-radius:50%;left:3px;top:3px;transition:transform .15s}.toggle-row input:checked~.toggle-visual{background:#788e4b}.toggle-row input:checked~.toggle-visual:after{transform:translateX(15px)}.toggle-row input:focus-visible~.toggle-visual{outline:3px solid #b39a27;outline-offset:3px}.config-save{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:18px}.config-save label{max-width:180px}.settings-section .small-note:last-child{margin-bottom:0}.formula-panel{background:#ecefe2;border-color:#dfe5d3}.formula-panel h2{font-size:19px;margin:9px 0 20px}.formula-panel dl{margin:0}.formula-panel dl>div{display:grid;grid-template-columns:92px 1fr;gap:12px;border-top:1px solid #d8e0ca;padding:9px 0;font-size:11px}.formula-panel dt{color:#7e8f6c}.formula-panel dd{margin:0;color:#60764c;font-size:10px}.formula-panel>p:last-child{font-size:10px;color:#8d9d7a;margin:18px 0 0;line-height:1.8}.worker-settings{margin-top:25px}.worker-form-grid{display:grid;grid-template-columns:140px 1fr 180px;gap:20px;max-width:900px}.delivery-mode{padding:18px 0 0;border:0;margin:0;display:flex;gap:24px;align-items:center}.delivery-mode legend{padding:15px 0 0;font-size:11px;color:#7e8d6e}.delivery-mode label{flex-direction:row;align-items:center;gap:7px;font-size:11px;font-weight:400;color:#7d8b6c}.delivery-mode input{width:14px;min-height:14px;accent-color:#5e763f}.worker-volume-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px;max-width:900px}.worker-save-row{margin-top:40px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.worker-save-row p{font-size:11px;color:#8c9b7c;margin:0}.worker-save-row strong{font-size:15px;color:#4a6537;margin-left:12px;font-weight:500}.worker-settings .table-scroll{margin-top:23px}.toast{position:fixed;bottom:24px;right:28px;z-index:100;max-width:430px;padding:13px 20px;color:#f5f7ed;background:#293c24;box-shadow:0 8px 28px #15240c24;border-radius:5px;font-size:12px}.toast.error{background:#8d4537}.loading-overlay{opacity:.5;pointer-events:none}.muted{color:var(--muted)}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){main{padding-right:48px;padding-left:48px}.topbar{padding-right:48px;padding-left:48px}.kpi-value{font-size:34px}}
@media(max-width:1250px){.sidebar{width:190px;padding-left:15px;padding-right:15px}.workspace{margin-left:190px}main{padding:26px 25px 0}.topbar{padding:0 25px}.brand{font-size:18px;gap:10px;padding:0 5px}.brand-symbol{font-size:38px}.filterbar{flex-wrap:wrap;gap:13px}.filterbar .date-pair{flex:1.5}.filterbar .worker-filter{min-width:200px}.filterbar>.button{margin-left:auto}.kpi{padding:19px 16px}.kpi-value{font-size:25px}.secondary-metric{padding:12px 16px;gap:5px}.import-layout{gap:23px}.price-fields{gap:12px}.settings-section{padding:20px}.settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}}
@media(max-width:1000px){.sidebar{width:174px;padding-left:12px;padding-right:12px}.workspace{margin-left:174px}.brand{font-size:16px}.brand small{font-size:8px;letter-spacing:2px}.sidebar nav a{padding:10px;font-size:12px}.sidebar-bottom{padding:0 8px}.topbar-status{display:none}h1{font-size:27px}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(2){border-right:0}.kpi:nth-child(3),.kpi:nth-child(4){border-top:1px solid var(--line)}.kpi-value{font-size:29px}.kpi-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.secondary-metric:nth-child(2){border-right:0}.secondary-metric:nth-child(3),.secondary-metric:nth-child(4){border-top:1px solid var(--line)}.settings-grid{grid-template-columns:1fr}.formula-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.import-layout{grid-template-columns:1fr}.import-guide{border-left:0;border-top:1px solid var(--line);padding:20px 0}.import-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:10px}.import-guide li{margin-bottom:0}.ledger-filter{flex-wrap:wrap}.ledger-filter .search-field{width:100%}.worker-form-grid{grid-template-columns:130px 1fr}.worker-form-grid>label:last-child{grid-column:1/-1;max-width:200px}}
@media(max-width:700px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:0;display:flex;flex-direction:row;align-items:center;box-shadow:0 1px 0 #ffffff10}.brand{margin:0;padding:15px 16px;gap:9px;font-size:15px}.brand-symbol{font-size:29px}.brand-symbol span{font-size:15px;right:-3px;top:-3px}.brand small{display:none}.sidebar nav{margin-left:auto;display:flex;gap:2px;padding:0 9px}.sidebar nav a{padding:10px 9px;min-height:36px;font-size:10px;gap:0}.sidebar nav a>span:first-child{display:none}.nav-label,.sidebar-bottom,.nav-dot{display:none!important}.workspace{margin-left:0}.topbar{height:42px;padding:0 18px;font-size:10px}main{padding:24px 18px 0}.page-heading{gap:16px;margin-bottom:22px;align-items:flex-start}h1{font-size:24px;letter-spacing:-.7px}.eyebrow{font-size:8px;margin-bottom:9px}.subheading{font-size:11px}.page-heading>.button{font-size:0;gap:0;min-width:35px;min-height:35px;padding:6px 9px;margin-top:25px}.page-heading>.button span{font-size:17px}.filterbar{padding:13px;gap:12px;display:grid;grid-template-columns:1fr 1fr}.filterbar .date-pair{grid-column:1/-1;min-width:0;width:100%}.date-pair>label{min-width:0;flex:1}.filterbar label{min-width:0;font-size:10px}.filterbar .worker-filter{grid-column:1/-1;min-width:0}.filterbar>.button{grid-column:1/-1;width:100%;font-size:11px}.report-context{align-items:flex-start;font-size:9px;margin-bottom:17px}.preset-buttons{gap:0;white-space:nowrap}.preset-buttons button{font-size:9px;padding:3px 6px}.report-context>span{text-align:right;max-width:45%}.kpi{padding:17px 13px}.kpi-label{font-size:10px}.kpi-label>span{font-size:8px}.kpi-value{font-size:25px;margin:9px 0 6px}.kpi-sub{font-size:9px}.secondary-metric{padding:10px 12px;font-size:9px;gap:8px}.secondary-metric strong{font-size:11px}.section-heading{gap:12px;align-items:flex-end;margin-bottom:14px}h2{font-size:16px}.section-kicker{font-size:8px;letter-spacing:1.4px}.chart-legend{font-size:9px;gap:10px}.unit-label{font-size:9px;max-width:42%}.trend-section,.data-section{margin-top:25px}.chart-wrap{height:210px;padding:12px 7px 0}.chart-caption{font-size:9px}.detail-toolbar{align-items:stretch;flex-direction:column;gap:20px;padding-bottom:14px}.tabs{gap:25px}.tabs button[aria-selected=true]:after{bottom:-6px}.search-field{width:100%}.table-scroll .sticky{min-width:156px}.table-scroll td,.table-scroll th{padding:11px 12px}.page-footer{font-size:9px;align-items:flex-start}.notice.scenario{flex-wrap:wrap;gap:3px 10px;font-size:11px}.notice.scenario span{order:3;width:100%}.notice{font-size:11px}.dropzone{padding:25px 15px}.dropzone h2{font-size:15px}.dropzone p{font-size:10px}.selected-file{flex-wrap:wrap;gap:9px}.file-description{min-width:145px}.selected-file select{width:97px;font-size:10px}.import-guide ol{grid-template-columns:1fr}.import-guide li{margin-bottom:16px}.import-guide h2{font-size:17px}.import-controls label{max-width:160px}.preview-stats{gap:23px}.preview-stats strong{font-size:20px}.preview-footer{flex-direction:column;align-items:stretch;gap:10px}.preview-files{font-size:10px}.mapping-summary{display:none}.ledger-filter{padding:13px;gap:12px;display:grid;grid-template-columns:1fr 1fr}.ledger-filter .search-field{grid-column:1/-1}.ledger-filter>label:not(.search-field){min-width:0}.settings-section{padding:18px}.price-fields{grid-template-columns:1fr;gap:28px}.input-unit>span{position:static;font-size:10px;white-space:nowrap;margin-left:10px;min-width:74px;color:#929e82}.input-unit input{width:100%;font-size:14px}.combined-cost{margin-top:20px}.config-save{flex-wrap:wrap;gap:13px}.config-save label{flex:1;max-width:none}.config-save .button{font-size:11px}.formula-panel dl{display:block}.formula-panel dl>div{grid-template-columns:85px 1fr;gap:12px}.worker-form-grid{grid-template-columns:1fr;gap:15px}.worker-form-grid>label:last-child{max-width:none}.delivery-mode{gap:14px;flex-wrap:wrap}.worker-volume-fields{grid-template-columns:1fr;gap:15px}.worker-save-row{margin-top:22px;flex-wrap:wrap;gap:13px}.worker-save-row .button{width:100%}.worker-save-row p{font-size:10px}.worker-save-row strong{font-size:14px}.toast{left:18px;right:18px;bottom:18px;max-width:none;font-size:11px}.table-bottom{font-size:9px}.warning-line{font-size:10px}.chart-caption{flex-direction:column;gap:3px}}
@media(max-width:360px){.brand{padding:15px 9px;font-size:12px;gap:7px}.brand-symbol{font-size:26px}.sidebar nav{padding:0 5px;gap:0}.sidebar nav a{padding:9px 7px;font-size:9px}main{padding:20px 12px 0}.topbar{padding:0 12px}h1{font-size:21px}.kpi-value{font-size:23px}.kpi-label>span{display:none}.secondary-metric{padding:9px 10px;font-size:8px}.secondary-metric strong{font-size:10px}.section-heading h2{font-size:15px}.chart-legend{gap:7px}.report-context>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kpi-divider{color:#bac2ad;font-size:.7em;font-weight:400;margin:0 3px}.section-kicker,.eyebrow{color:#748064}.kpi-sub,.unit-label,.small-note,.table-footnote,.report-context,.table-bottom,.chart-caption,.page-footer{color:#727e62}.secondary-metric,.kpi-label>span,.table-scroll .cell-muted,.table-scroll .row-sub{color:#778467}.input-unit>span,.dropzone p,.file-description small,.import-guide li p{color:#768465}.chart-caption{line-height:1.7}
@media(max-width:540px){.brand>span:last-child{display:none}.sidebar nav{margin-left:auto}.brand{padding-right:8px}.sidebar nav a{font-size:11px;padding-left:10px;padding-right:10px}}
@media(max-width:360px){.sidebar nav a{font-size:10px;padding-left:8px;padding-right:8px}.brand{padding-left:10px;padding-right:4px}.sidebar nav{padding-right:6px}}
[hidden]{display:none!important}
.city-comparison>.section-heading{flex-wrap:wrap;gap:16px}.comparison-metric-label{display:flex;align-items:center;gap:12px;font-weight:500}.comparison-metric-label select{width:112px;min-height:38px}.comparison-legend{justify-content:flex-end;margin:16px 0 12px}.legend-xian{background:#3d5c3e}.legend-chengdu{background:transparent!important;border-top:2px dashed #a67b19;border-radius:0!important}.comparison-table{margin-top:24px;max-height:440px;overflow:auto}.comparison-table table{width:100%;min-width:720px}.comparison-table tbody th{font-weight:500;white-space:nowrap}.comparison-table tfoot th,.comparison-table tfoot td{position:sticky;bottom:0;background:#eef2e5;border-top:1px solid var(--line);font-weight:600}.comparison-table .comparison-difference{color:#697452}.comparison-table th,.comparison-table td{font-variant-numeric:tabular-nums}.comparison-table .click-coverage{font-weight:400}#city-comparison-chart{height:238px}#city-comparison-chart text{font-size:12px;font-family:var(--font)}
@media(max-width:700px){.comparison-table{margin-top:16px}#city-comparison-chart{height:220px}.comparison-metric-label{font-size:12px}.comparison-legend{font-size:12px}}
.toggle-visual{pointer-events:none}
/* Readable data typography: keep dense tables scrollable, never shrink figures to fit. */
body{font-size:15px}h2{font-size:20px}label{font-size:13px}.button{font-size:13px}.subheading{font-size:14px}.topbar{font-size:12px}.topbar-status{font-size:12px}.sidebar nav a{font-size:14px}.sidebar-bottom,.sidebar-bottom p,.sidebar-backup{font-size:12px}.nav-label{font-size:11px}.eyebrow,.section-kicker{font-size:11px}.filterbar label{font-size:13px}.filterbar input,.filterbar select{font-size:13px}.report-context{font-size:12px}.preset-buttons button{font-size:12px}.notice{font-size:13px}.warning-line{font-size:12px;padding:10px 13px}.kpi-label{font-size:13px}.kpi-label>span{font-size:11px}.kpi-sub{font-size:12px}.secondary-metric{font-size:12px}.secondary-metric strong{font-size:14px}.chart-legend,.unit-label,.chart-caption{font-size:12px}.table-scroll table{font-size:14px}.table-scroll th{font-size:13px;padding:12px 16px}.table-scroll td{padding:14px 16px}.table-scroll .mono{font-size:12px}.table-scroll .cell-muted,.table-scroll .row-sub{font-size:12px}.table-scroll .sticky{min-width:215px;max-width:300px}.group-number{font-size:12px;width:22px;height:22px}.tabs button{font-size:14px}.search-field input{font-size:13px}.small-note,.table-footnote,.table-bottom,.page-footer,.text-button{font-size:12px}.badge{font-size:11px}.file-description strong,.selected-file select,.preview-files{font-size:13px}.file-description small,.dropzone p,.import-guide li p,.import-guide li strong{font-size:12px}.import-guide li strong{font-size:14px}.preview-stats>div{font-size:12px}.preview-footer p{font-size:13px}.mapping-summary,.currency-pill{font-size:12px}.input-unit>span,.combined-cost,.toggle-row strong,.config-save .button,.worker-save-row p,.delivery-mode label{font-size:13px}.toggle-row small{font-size:12px}.formula-panel dl>div,.formula-panel dd{font-size:13px}.formula-panel>p:last-child{font-size:12px}.formula-panel dl>div{grid-template-columns:110px 1fr}.toast{font-size:13px}.section-date-controls{margin:8px 0 13px}.section-range-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:5px;background:#f8faf3;padding:13px 15px}.section-range-form label{font-size:12px;min-width:155px}.section-range-form input,.section-range-form select{font-size:13px;min-height:38px;max-width:100%;min-width:0}.section-range-form .range-mode{min-width:168px}.section-range-form .button{min-height:38px}.section-range-form .text-button{min-height:38px;font-size:12px}.section-range-note{flex-basis:100%;margin:2px 0 0;border-top:1px solid var(--line);padding-top:9px;font-size:12px;color:#67785a}.section-range-note>span{display:inline-block;margin-right:10px;font-weight:600;color:#6d7f5e}.section-range-note .range-custom{color:#876f1d}.section-status{padding:10px 13px;border-left:2px solid #b6c5a1;background:#f0f4e8;color:#6c7f58;font-size:12px;margin:0 0 13px}.section-status.error{background:#fff1ec;border-color:#c88273;color:#974735}.section-status.loading{color:#64774f}.chart-wrap text{font-size:11px;fill:#6a795d}.details-section .section-date-controls{margin-top:16px}.section-range-form button:disabled{cursor:default;opacity:.5}
@media(max-width:1000px){.section-range-form{gap:11px}.section-range-form label{min-width:0;flex:1 1 145px}.section-range-form .range-mode{flex-basis:100%;min-width:0}.section-range-form>.button{flex:1 1 90px}.section-range-form>.text-button{flex:1 1 120px}.price-fields{column-gap:14px}.secondary-metric{font-size:12px;flex-wrap:wrap;gap:3px}}
@media(max-width:700px){h1{font-size:25px}h2{font-size:19px}.subheading{font-size:13px}.eyebrow,.section-kicker{font-size:10px}.sidebar nav a{font-size:12px}.topbar,.filterbar label{font-size:12px}.filterbar input,.filterbar select{font-size:13px}.preset-buttons button,.report-context{font-size:11px}.report-context>span{font-size:11px;max-width:50%}.kpi-label{font-size:12px}.kpi-label>span{font-size:10px}.kpi-sub{font-size:11px}.secondary-metric{font-size:11px;display:block}.secondary-metric strong{display:block;font-size:13px;margin-top:3px}.chart-legend,.unit-label,.chart-caption,.small-note,.table-footnote,.page-footer,.table-bottom{font-size:12px}.table-scroll td,.table-scroll th{padding:12px 14px}.table-scroll table{font-size:14px}.table-scroll th{font-size:13px}.table-scroll .sticky{min-width:205px}.table-scroll .mono{font-size:12px}.section-range-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px}.section-range-form label{min-width:0}.section-range-form .range-mode{grid-column:1/-1}.section-range-form .text-button{grid-column:auto}.section-range-note{grid-column:1/-1;font-size:12px}.section-range-form>.button{font-size:12px;padding:8px 10px}.formula-panel dl>div{grid-template-columns:94px 1fr}.formula-panel dd{font-size:12px}.input-unit>span{font-size:11px}.ledger-filter>label{font-size:12px}.worker-save-row p{font-size:12px}.worker-save-row strong{display:block;margin-left:0;font-size:15px}.page-footer{flex-direction:column;gap:7px}.selected-file select{font-size:12px}.import-controls{flex-wrap:wrap}.preview-stats{gap:18px;flex-wrap:wrap}.preview-stats>div{min-width:70px}.preview-stats strong{font-size:23px}}
@media(max-width:360px){.sidebar nav a{font-size:11px;padding-left:7px;padding-right:7px}.sidebar nav{padding-right:5px}.brand{padding-left:8px;padding-right:3px}.kpi-label>span{display:none}.kpi-value{font-size:23px}.kpi-sub{font-size:11px}.section-heading h2{font-size:18px}.section-heading>.button{font-size:12px;padding-left:10px;padding-right:10px}.section-range-note{font-size:11px}}
.section-range-form .range-city{min-width:180px}.detail-toolbar{flex-wrap:wrap;align-items:flex-end}.detail-filters{display:flex;align-items:flex-end;gap:12px;margin-left:auto;min-width:0}.detail-filters .search-field{height:39px;width:285px;min-width:0}.detail-filters .search-field input{min-width:0}.reuse-cell{min-width:145px;white-space:normal;text-align:left!important}.reuse-cell>strong{font-weight:600;white-space:nowrap}.reuse-cell .row-sub{white-space:nowrap;margin-top:4px}
@media(max-width:1000px){.detail-filters{flex:1 1 100%;margin-left:0}.detail-filters .search-field{flex:1;width:auto}}
@media(max-width:700px){.section-range-form .range-city{grid-column:1/-1;min-width:0}}
@media(max-width:540px){.detail-filters{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:12px}.detail-filters .search-field{width:100%}.reuse-cell{min-width:145px}}
.ledger-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.move-drawer{padding:0;border:0;border-left:1px solid var(--line);width:min(720px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;background:var(--surface);color:var(--ink);box-shadow:-12px 0 60px #15210d20}.move-drawer[open]{display:flex;flex-direction:column}.move-drawer::backdrop{background:#15201065;backdrop-filter:blur(2px)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:none;padding:23px 28px;border-bottom:1px solid var(--line);background:#fbfcf6}.drawer-header h2{font-size:23px}.drawer-close{width:35px;height:35px;display:grid;place-items:center;border:1px solid #dce2d1;border-radius:4px;background:white;color:#6c7f59;font-size:25px;line-height:1;flex:none}.drawer-close:hover{background:#eff2e7}.drawer-body{padding:23px 28px 35px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}.drawer-intro{font-size:13px;color:#738263;line-height:1.8;margin-bottom:18px}.move-fields{margin:0;padding:0;border:0;min-width:0}.move-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.move-form-grid label{font-size:13px;min-width:0}.move-full{grid-column:1/-1}.move-form-grid input,.move-form-grid select{font-size:13px;min-width:0;max-width:100%}.move-form-grid textarea{width:100%;font:inherit;font-size:13px;line-height:1.8;color:var(--ink);border:1px solid var(--line);border-radius:4px;background:white;padding:10px 12px;resize:vertical;min-height:72px}.move-form-grid textarea#move-tags{font-family:var(--mono);font-size:12px;line-height:1.9;min-height:142px}.move-tag-count{grid-column:1/-1;font-size:12px;color:#758667;margin:-9px 0 0}.move-tag-count.negative{color:var(--red)}.optional-label{font-size:11px;color:#94a083;font-weight:400}.move-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;margin-bottom:20px}.move-form-actions>span{font-size:12px;color:#8a987c}.move-preview{border-top:1px solid var(--line);margin-top:24px;padding-top:5px}.move-preview-scope{font-size:13px;color:#7a8a6b}.move-preview-scope strong{color:#50673d}.move-impact{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:18px}.move-impact span{font-size:12px;color:#7c8b6d}.move-impact strong{display:block;font-size:23px;color:#4e673b;font-weight:500;margin-top:3px}.move-confirm{width:100%;margin-bottom:4px}.move-preview .table-scroll th,.move-preview .table-scroll td{font-size:12px;padding:12px}.move-preview .table-scroll .mono{font-size:11px}.move-preview .table-scroll td:first-child{min-width:170px}.move-history-section{border-top:1px solid var(--line);margin-top:29px;padding-top:22px}.move-history-section h2{font-size:18px}.move-history-item{border:1px solid var(--line);border-radius:5px;margin-top:10px;padding:13px 15px;background:#fcfdf8}.move-history-item summary{cursor:pointer;display:flex;gap:12px;align-items:center;color:#657a52;font-size:12px;list-style:none}.move-history-item summary::-webkit-details-marker{display:none}.move-history-item summary:before{content:'+';font-family:var(--mono);font-size:17px;line-height:1;min-width:12px;color:#8c9c7b}.move-history-item[open] summary:before{content:'−'}.move-history-item summary strong{font-size:13px}.move-history-item summary>span{margin-left:auto}.history-route{display:grid;gap:2px;margin:15px 0 10px;font-family:var(--mono);font-size:12px;color:#728663;overflow-wrap:anywhere}.history-reason{font-size:12px;color:#7c8d6b;border-left:2px solid #d8dfcc;padding-left:10px;overflow-wrap:anywhere}.history-tags{display:flex;flex-wrap:wrap;gap:6px}.history-tags code{font-family:var(--mono);font-size:11px;background:#eef2e5;color:#6d805a;border-radius:3px;padding:3px 6px;max-width:100%;overflow-wrap:anywhere;white-space:normal}.drawer-open{overflow:hidden}.move-fields:disabled textarea{background:#f0f3e9;color:#89977a}
@media(max-width:700px){#page-ledger .page-heading{flex-wrap:wrap}.ledger-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.move-drawer{width:100vw;border-left:0}.drawer-header{padding:18px}.drawer-header h2{font-size:21px}.drawer-body{padding:20px 18px 30px}.move-form-grid{gap:15px}.move-form-grid select{font-size:12px}.move-form-actions{align-items:stretch;flex-direction:column;gap:10px}.move-form-actions .button{width:100%}.move-form-actions>span{font-size:12px}.move-preview .preview-heading{align-items:flex-start;gap:10px}.move-preview .preview-heading h2{font-size:18px}.move-impact{gap:10px}.move-impact span{font-size:11px}.move-impact strong{font-size:22px}.move-confirm{font-size:12px}.move-history-item{padding:12px}.move-history-item summary{flex-wrap:wrap;gap:6px}.move-history-item summary>span{margin-left:0}.drawer-header .section-kicker{font-size:9px}}
.topbar-actions{display:flex;align-items:center;gap:20px;min-width:0}.assistant-launch{min-height:34px;display:inline-flex;align-items:center;gap:7px;border:1px solid #d6deca;border-radius:4px;padding:6px 12px;background:#fffdf0;font-size:12px;color:#586943;font-weight:600;white-space:nowrap}.assistant-launch:hover{background:#fff5c3;border-color:#dacc86}.assistant-launch-mark{font-size:17px;line-height:1;color:#917c24}.assistant-drawer{width:min(680px,100vw)}.assistant-drawer .drawer-header{padding:21px 24px}.assistant-drawer .drawer-header h2{font-size:23px}.assistant-connection{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:none;border-bottom:1px solid var(--line);padding:13px 24px;background:#f4f6ed}.assistant-connection>div{min-width:0}.assistant-connection strong{font-size:13px;color:#52683c}.assistant-connection p{font-size:11px;line-height:1.7;color:#7a896c;margin:3px 0 0;overflow-wrap:anywhere}.assistant-connection .text-button{font-size:11px;white-space:nowrap;flex:none}.assistant-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 24px 12px;border-bottom:1px solid var(--line);flex:none;background:#fff}.assistant-toolbar p{font-size:12px;line-height:1.8;color:#7b8b6c;margin:0;min-width:0}.assistant-toolbar .text-button{white-space:nowrap;flex:none;font-size:12px;padding-top:0}.assistant-thread{overflow:auto;overscroll-behavior:contain;min-height:90px;flex:1;padding:22px 24px;background:#f8f9f3}.assistant-messages{display:flex;flex-direction:column;gap:19px}.assistant-welcome{padding:24px 9px 28px;text-align:center;color:#81916f;max-width:440px;margin:auto}.assistant-welcome>span{display:block;color:#ac9431;font-size:35px;line-height:1;margin-bottom:16px}.assistant-welcome h3{font-size:19px;color:#5b7246;margin-bottom:11px;font-weight:600}.assistant-welcome p{font-size:13px;line-height:1.9;margin:0}.assistant-message{max-width:93%;min-width:0}.assistant-message.from-user{align-self:flex-end;max-width:90%}.assistant-message-label{display:block;margin-bottom:5px;font-size:10px;color:#90a07d}.assistant-message.from-user .assistant-message-label{text-align:right}.assistant-message-content{font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #e2e8d7;border-radius:5px;background:#fff;padding:11px 14px;color:#4d6140}.from-user .assistant-message-content{background:#e9efdf;border-color:#dce5cd;color:#4c623b}.assistant-preview{border:1px solid #d9d49f;border-top:3px solid var(--yellow);border-radius:4px;background:#fffef5;padding:17px;margin-top:22px}.assistant-plan-heading h3{font-size:18px;line-height:1.6;font-weight:600;color:#5e6538;margin:10px 0 7px;overflow-wrap:anywhere}.assistant-plan-heading .badge{background:#fff8ce;border-color:#e3d58a;color:#8d7630}.assistant-plan-scope{font-size:12px;color:#91906a;margin:0 0 10px;line-height:1.8}.assistant-plan-scope strong{color:#73733f}.assistant-plan-summary{font-size:13px;color:#7a8056;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px}.assistant-plan-table{overflow:auto;border:1px solid #e4e4cf;border-radius:4px;background:#fff}.assistant-plan-table table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.assistant-plan-table th,.assistant-plan-table td{border-bottom:1px solid #e9eadc;vertical-align:top;padding:10px;text-align:left;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.8}.assistant-plan-table thead th{color:#818964;background:#f2f4e7;font-weight:500}.assistant-plan-table th{font-weight:500;color:#6c7a54;width:38%}.assistant-plan-table td{color:#5b7046}.assistant-plan-table .row-sub{display:block;color:#93a17e;font-size:10px;line-height:1.6;margin-top:4px}.assistant-plan-table tr:last-child td,.assistant-plan-table tr:last-child th{border-bottom:0}.assistant-preview h4{font-size:12px;color:#7e885d;font-weight:600;margin:15px 0 8px}.assistant-plan-warning{border-left:2px solid #cdb75d;background:#fbf5d9;padding:8px 10px;color:#958343;font-size:12px;line-height:1.8;margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-plan-boundary{font-size:11px;line-height:1.8;color:#999470;margin:13px 0}.assistant-confirm{width:100%;background:#5a6639!important;font-size:13px}.assistant-confirm:hover{background:#707f46!important}.assistant-receipt{border:1px solid #cddfc4;background:#eef7e8;padding:15px 16px;margin-top:19px;color:#547743;border-radius:5px;overflow-wrap:anywhere}.assistant-receipt strong{font-size:14px}.assistant-receipt p{font-size:13px;line-height:1.8;margin:7px 0;white-space:pre-wrap}.assistant-receipt>span{font-size:11px;color:#7a9368}.assistant-compose{flex:none;border-top:1px solid var(--line);padding:15px 24px 16px;background:#fff}.assistant-compose textarea{display:block;width:100%;min-height:88px;max-height:170px;resize:vertical;font:inherit;font-size:13px;line-height:1.7;background:#fbfcf7;color:var(--ink);border:1px solid #dce3d0;border-radius:5px;padding:11px 12px;outline-offset:2px}.assistant-compose textarea:disabled{background:#f0f2e9;color:#8b987a}.assistant-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}.assistant-compose-actions>span{font-size:11px;color:#98a585;font-variant-numeric:tabular-nums}.assistant-compose-actions .button{font-size:12px;min-height:36px;padding:7px 13px}.assistant-safety{font-size:10px;line-height:1.8;color:#91a17e;margin:10px 0 0}.assistant-error,.assistant-progress{margin:0;border-top:1px solid var(--line);padding:10px 24px;flex:none;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.assistant-error{background:#fff1e9;color:#a06648}.assistant-progress{background:#f1f5e7;color:#7d8b5d}.assistant-drawer .drawer-close{flex:none}
@media(max-width:1000px){.topbar-actions{gap:10px}}
@media(max-width:700px){.assistant-launch{font-size:11px;min-height:30px;padding:4px 8px}.assistant-launch-mark{font-size:15px}.topbar .breadcrumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.topbar-actions{flex:none;margin-left:10px}.assistant-drawer{width:100vw}.assistant-drawer .drawer-header{padding:16px 18px}.assistant-drawer .drawer-header h2{font-size:20px}.assistant-connection{padding:11px 18px;gap:8px}.assistant-connection strong{font-size:12px}.assistant-connection p{font-size:11px}.assistant-connection .text-button{font-size:10px;padding-right:0}.assistant-toolbar{padding:11px 18px;gap:10px}.assistant-toolbar p{font-size:11px;line-height:1.8}.assistant-toolbar .text-button{font-size:11px}.assistant-thread{padding:18px;min-height:70px}.assistant-message{max-width:97%}.assistant-message-content{font-size:13px;padding:10px 12px}.assistant-message-label{font-size:10px}.assistant-compose{padding:12px 18px 14px}.assistant-compose textarea{font-size:12px;min-height:76px;max-height:125px;padding:9px 10px}.assistant-safety{font-size:10px;line-height:1.7;margin-top:8px}.assistant-error,.assistant-progress{padding:9px 18px;font-size:11px}.assistant-preview{padding:13px}.assistant-plan-heading h3{font-size:16px}.assistant-plan-summary{font-size:12px}.assistant-plan-table th,.assistant-plan-table td{font-size:11px;padding:8px}.assistant-plan-warning{font-size:11px}.assistant-plan-boundary{font-size:10px}.assistant-welcome{padding:16px 4px}.assistant-welcome h3{font-size:17px}.assistant-welcome p{font-size:12px}}
@media(max-height:700px){.assistant-drawer .drawer-header{padding-top:12px;padding-bottom:12px}.assistant-toolbar{padding-top:8px;padding-bottom:8px}.assistant-compose textarea{min-height:60px;max-height:95px}.assistant-connection{padding-top:8px;padding-bottom:8px}.assistant-safety{font-size:9px;margin-top:6px}.assistant-thread{min-height:60px}.assistant-compose{padding-top:10px;padding-bottom:10px}}
.page-heading{flex-wrap:wrap}.page-heading>div:first-child{min-width:0;flex:1 1 320px}.page-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;max-width:100%;min-width:0}.page-heading-actions>.button{max-width:100%;white-space:normal;text-align:center}.page-heading .assistant-page-entry{border-color:#dbce89;background:var(--yellow-soft);color:#665b25;min-height:40px}.page-heading .assistant-page-entry:hover{border-color:#c6ad3c;background:#fff0ac}.page-heading-actions .ledger-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.details-section .table-bottom{flex-wrap:wrap;align-items:center}.pagination-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;max-width:100%;margin-left:auto}.pagination-controls[hidden]{display:none}.pagination-controls>label{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap;font-size:12px;font-weight:500}.pagination-controls select{width:88px;min-height:36px;font-size:12px;padding:6px 10px}.pagination-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.pagination-actions .button{min-height:36px;padding:6px 12px;font-size:12px}.pagination-actions .button:disabled{cursor:default}.pagination-actions>span{min-width:88px;max-width:200px;text-align:center;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:700px){.page-heading-actions{width:100%;justify-content:flex-start}.page-heading-actions .ledger-actions{justify-content:flex-start}.page-heading .assistant-page-entry{font-size:13px;min-height:40px}.pagination-controls{width:100%;justify-content:flex-start;margin-left:0}.pagination-actions{width:100%;justify-content:space-between}.pagination-actions>span{flex:1;min-width:72px}.details-section .table-bottom{gap:12px}}
.worker-group-settings{margin-top:28px}.worker-group-settings>.section-heading{flex-wrap:wrap;align-items:flex-start}.worker-group-settings>.section-heading .text-button{flex:none;min-height:36px}.worker-group-form-grid{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) minmax(150px,1fr);gap:16px;margin:20px 0 16px}.worker-group-form-grid label{min-width:0;font-size:13px}.worker-group-form-grid input,.worker-group-form-grid select{min-width:0;max-width:100%;font-size:13px}.worker-group-form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.worker-group-form-actions .small-note{margin:0;flex:1 1 240px}.worker-group-preview{margin-top:20px;border:1px solid #dfd398;border-top:3px solid var(--yellow);border-radius:4px;padding:20px;background:#fffef5}.worker-group-preview[hidden]{display:none}.worker-group-preview .section-heading{flex-wrap:wrap;gap:8px;margin-bottom:12px}.worker-group-preview h3{font-size:17px;margin:0;color:#626a3b}.worker-group-preview-scope{font-size:13px;color:#7c825d;line-height:1.9;overflow-wrap:anywhere}.worker-group-preview-scope strong{color:#626e43}.worker-group-preview .warning-line{margin-top:12px;margin-bottom:0}.worker-group-preview>.small-note{margin:14px 0}.worker-group-preview>.button{width:100%;white-space:normal}.worker-group-history-heading{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.worker-group-history-heading h3{font-size:16px;margin:0}.worker-group-history-heading .small-note{margin-top:7px}
@media(max-width:1000px){.worker-group-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.worker-group-worker-field{grid-column:1/-1}}
@media(max-width:700px){.worker-group-form-grid{grid-template-columns:minmax(0,1fr);gap:14px}.worker-group-form-actions{align-items:stretch}.worker-group-form-actions>.button{width:100%}.worker-group-preview{padding:14px}.worker-group-preview-scope{font-size:12px}.worker-group-preview h3{font-size:16px}.worker-group-settings>.section-heading{gap:10px}}
.worker-settings>.section-heading{flex-wrap:wrap;align-items:center}.worker-settings>.section-heading>.button{background:var(--yellow-soft);border-color:#d8c66d;color:#655a2a}.worker-batch-panel{margin-top:24px}.worker-batch-panel[hidden]{display:none}.worker-batch-datebar,.worker-batch-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}.worker-batch-datebar{margin-bottom:10px}.worker-batch-datebar label{min-width:180px}.worker-batch-datebar [hidden]{display:none}.worker-batch-panel input,.worker-batch-panel select{font-size:13px;min-width:0}.worker-batch-filters>label{flex:1 1 160px;min-width:0}.worker-batch-filters>label:nth-child(2){flex:2 1 240px}.worker-batch-uniform{padding:16px;border:1px solid var(--line);border-radius:4px;background:#f8faf1;margin:16px 0 20px}.worker-batch-uniform h3{font-size:15px;margin:0 0 8px}.worker-batch-uniform .small-note{margin:0 0 14px}.worker-batch-uniform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.worker-batch-uniform-grid label{font-size:12px;min-width:0}.worker-batch-table table{min-width:1060px}.worker-batch-table td{min-width:130px;vertical-align:top}.worker-batch-table td:first-child{min-width:260px}.worker-batch-table input[type=number],.worker-batch-table select{width:145px;min-height:38px}.worker-batch-table input:disabled{background:#f0f2e9;color:#89957c}.batch-row-check{display:flex;align-items:flex-start;flex-direction:row;gap:10px;font-weight:500}.batch-row-check input[type=checkbox]{width:17px;height:17px;min-height:17px;flex:none;margin:3px 0 0;accent-color:#6e7d43}.batch-row-check>span{min-width:0;max-width:235px;white-space:normal;overflow-wrap:anywhere}.batch-row-check .row-sub{white-space:normal}.worker-batch-preview-actions{display:flex;justify-content:flex-end;margin-top:20px}.worker-batch-panel>.worker-group-preview>p{overflow-wrap:anywhere;font-size:13px}.batch-future{font-size:12px;margin-top:14px;padding:10px 12px;background:#f4f5e8;border:1px solid var(--line);border-radius:4px;color:#73805b}.batch-future summary{cursor:pointer}.batch-future li{margin-top:6px;overflow-wrap:anywhere}.worker-batch-panel fieldset:disabled{opacity:.65}
@media(max-width:1000px){.worker-batch-uniform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.worker-settings>.section-heading>.button{width:100%;min-height:40px}.worker-batch-datebar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.worker-batch-datebar label{min-width:0}.worker-batch-filters{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.worker-batch-filters>.text-button{text-align:left}.worker-batch-uniform{padding:12px}.worker-batch-uniform-grid{grid-template-columns:minmax(0,1fr)}.worker-batch-uniform>.button,.worker-batch-preview-actions>.button{width:100%;white-space:normal}.worker-batch-table table{font-size:13px}.worker-batch-table td:first-child{min-width:235px}}
.subtab-bar{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-top:4px}
.subtab{background:none;border:0;padding:10px 2px 13px;color:#8c957d;font-size:13px;position:relative}
.subtab[aria-selected=true]{color:#34462b;font-weight:600}
.subtab[aria-selected=true]:after{content:"";height:3px;background:var(--yellow);position:absolute;bottom:-2px;left:0;right:0}
.subtab:not([aria-selected=true]):hover{color:#5d6a4c}
.subpage[hidden]{display:none}
#sub-imports .import-heading{flex-wrap:wrap;align-items:flex-start}
#sub-imports .import-heading>div:first-child{flex:1 1 280px;min-width:0}
#sub-imports .import-heading .subheading{margin:8px 0 0;max-width:720px;font-size:14px}
#sub-imports .import-scope-badge{white-space:normal;overflow-wrap:anywhere}
#sub-imports .import-main{min-width:0}
#sub-imports .import-controls{justify-content:flex-start;gap:16px;flex-wrap:wrap}
.subpage>.trend-section:first-child,.subpage>.data-section:first-child{margin-top:24px}
#sub-overview .kpi-strip{margin-top:20px}
@media(min-width:1600px){.subtab{font-size:15px}}
@media(max-width:700px){.subtab-bar{gap:16px;overflow-x:auto;scrollbar-width:thin}.subtab{font-size:12px;padding:8px 2px 11px;white-space:nowrap}}
.subtab-bar{position:sticky;top:65px;z-index:8;background:var(--paper);box-shadow:0 6px 10px -8px #2a2e2340}
#report-content .section-date-controls{position:sticky;top:113px;z-index:7;background:var(--paper);box-shadow:0 8px 12px -10px #2a2e2340}
#report-content .section-range-form{padding:10px 12px;gap:10px}
#report-content .section-range-form label{min-width:128px}
#report-content .section-range-note{padding-top:6px;margin-top:0}
#report-content .section-presets{margin-left:auto}
@media(max-width:700px){.subtab-bar{top:42px}#report-content .section-range-form{top:82px}}
.column-toggle-wrap{position:relative}
.column-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:15;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px #2a2e2330;padding:12px 14px;display:grid;gap:6px;min-width:216px;max-height:340px;overflow:auto}
.column-menu[hidden]{display:none}
.column-option{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:400;color:var(--ink);margin:0}
.column-option input{width:auto;min-height:0}
.col-filter-btn{border:0;background:none;color:#9aa28c;font-size:11px;padding:2px 3px;margin-left:2px;vertical-align:middle;line-height:1}
.col-filter-btn:hover{color:#4d5a3d}
.col-filter-btn.active{color:#8a6d1d;background:var(--yellow-soft);border-radius:3px}
.column-filter-menu{position:fixed;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px #2a2e2330;padding:12px 14px;display:grid;gap:8px;min-width:230px;max-height:360px;overflow:auto}
.column-filter-menu[hidden]{display:none}
.column-filter-title{font-size:12px;font-weight:600;color:#4d5a3d;margin:0}
.column-filter-text{min-height:32px;font-size:12px}
.column-filter-values{display:grid;gap:5px;max-height:220px;overflow:auto;border-top:1px solid var(--line);padding-top:8px}
.column-filter-actions{border-top:1px solid var(--line);padding-top:8px;display:flex;justify-content:flex-end}
#click-sync-menu{width:360px;min-width:0;max-width:calc(100vw - 16px);max-height:min(520px,calc(100dvh - 16px));overflow-x:hidden;overflow-y:auto}
#click-sync-menu .small-note{white-space:normal;overflow-wrap:anywhere}
#click-sync-menu .click-sync-custom{display:block}
.click-sync-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;align-items:end}
.click-sync-range label{min-width:0;font-size:12px;gap:4px}
.click-sync-range input{width:100%;min-width:0;max-width:100%;min-height:36px;padding:6px 8px;font-size:13px}
.click-sync-range>.button{grid-column:1/-1;width:100%;min-height:36px;white-space:normal}
@media(max-width:400px){.click-sync-range{grid-template-columns:minmax(0,1fr)}}
/* 紧凑密度（2026-10-28）：整体缩小字体与留白 */
body{font-size:13px;line-height:1.5}
h1{font-size:26px;letter-spacing:-.8px;margin-bottom:6px}
h2{font-size:16px}
h3{font-size:15px}
.subheading{font-size:11px}
.topbar{height:54px;padding:0 26px}
main{padding:22px 26px 0}
.page-heading{margin-bottom:16px}
.eyebrow{margin-bottom:8px}
.filterbar{padding:11px 13px;gap:12px}
.filterbar .date-pair{min-width:250px}
.report-basis-bar,.click-sync-strip{font-size:11px}
.report-context{margin:9px 0 12px}
.notice{padding:9px 11px;margin-bottom:10px}
.warning-line{padding:6px 10px;margin-bottom:4px}
.kpi{padding:13px 15px}
.kpi-value{font-size:24px;margin:7px 0 5px}
.kpi-sub{font-size:9.5px}
.secondary-metric{padding:9px 15px;font-size:9.5px}
.secondary-metric strong{font-size:12px}
.subtab{padding:8px 2px 10px;font-size:12.5px}
.trend-section,.data-section{margin-top:18px}
.section-heading{margin-bottom:11px}
#report-content .section-range-form{padding:8px 10px;gap:8px}
#report-content .section-range-form label{min-width:118px;font-size:11px}
#report-content .section-range-form input,#report-content .section-range-form select{min-height:32px}
#report-content .section-range-note{padding-top:5px;font-size:11px}
.section-status{padding:7px 10px;margin:0 0 9px;font-size:11px}
.table-scroll table{font-size:10.5px}
.table-scroll th{padding:8px 6px}
.table-scroll td{padding:9px 6px}
.table-scroll .sticky{min-width:150px;max-width:250px}
.table-footnote,.small-note{font-size:9.5px;margin:7px 0 0}
.chart-caption{font-size:9.5px;margin-top:6px}
.chart-wrap{height:208px;padding:12px 10px 2px}
.empty-state{padding:26px 12px}
.subtab-bar{top:54px}
#report-content .section-date-controls{top:92px}
@media(max-width:700px){main{padding:16px 14px 0}.subtab-bar{top:42px}#report-content .section-date-controls{top:78px}}
.heading-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.worker-select-col{width:34px;text-align:center}
.worker-select-col input{width:auto;min-height:0}
.worker-summary-check{flex-direction:row;align-items:center;gap:7px;font-size:11px;color:#67715c;font-weight:400}
.worker-summary-check input{width:auto;min-height:0}
.table-scroll th,.table-scroll td{text-align:center}
.table-scroll th:first-child,.table-scroll td:first-child,.table-scroll .text-left{text-align:left}
.table-scroll .sticky{text-align:left}
#worker-summary-table .sticky,#details-table .sticky{min-width:110px;max-width:170px;overflow-wrap:anywhere}
.col-sort-btn{border:0;background:none;color:#9aa28c;font-size:11px;padding:2px 3px;margin-right:2px;vertical-align:middle;line-height:1}
.col-sort-btn:hover{color:#4d5a3d}
.col-sort-btn.active{color:#8a6d1d;background:var(--yellow-soft);border-radius:3px}
.column-drag-handle{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:18px;height:22px;min-height:0;margin:0 4px 0 0;padding:3px;border:0;border-radius:3px;background:transparent;color:var(--muted);opacity:.65;cursor:grab;touch-action:none}
.column-drag-handle svg{display:block;fill:currentColor;pointer-events:none}
.column-drag-handle:hover,.column-drag-handle:focus-visible{opacity:1;color:var(--green);background:#e7ebdc}
.column-drag-handle:active{cursor:grabbing}
.column-reorderable.column-drag-source{opacity:.45}
.column-reorderable.column-drop-before{box-shadow:inset 3px 0 var(--green)}
.column-reorderable.column-drop-after{box-shadow:inset -3px 0 var(--green)}
.table-scroll .sticky.column-sticky-metric{text-align:right;min-width:110px;max-width:none}
.curve-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 48px #2a2e2345;padding:20px 24px;width:min(1120px,94vw);max-height:90vh;overflow:auto}
.curve-panel[hidden]{display:none}
.curve-panel h3{margin:0;font-size:18px}
.curve-panel-actions{display:flex;align-items:center;gap:16px}
.curve-panel-actions .button{min-height:34px}
.curve-options{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 12px}
.curve-options .column-option{font-size:13px}
.curve-svg{display:block;min-width:100%;max-width:none;height:var(--curve-chart-height,320px);background:#fafbf6;border:1px solid var(--line);border-radius:5px}
.curve-close{float:right}
.curve-legend{margin:12px 0;background:#f7f8f3;border:1px solid var(--line);border-radius:6px;padding:12px}
.curve-legend:empty{display:none}
.curve-legend-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#626b58;margin-bottom:10px}
.curve-legend-heading strong{font-size:14px;color:var(--ink)}
.curve-legend-heading small{font-size:12px;margin-left:auto}
.curve-legend-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:8px}
.curve-legend-item{display:flex;align-items:center;gap:9px;text-align:left;min-height:40px;padding:8px 10px;background:#fff;border:1px solid #dbe1d3;border-left:4px solid var(--curve-color);border-radius:5px;font-size:13px;font-weight:600;color:#30382a;transition:background .12s,border-color .12s,opacity .12s}
.curve-legend-swatch{width:36px;height:14px;flex:none}
.curve-legend-label{min-width:0;overflow-wrap:anywhere;line-height:1.5}
.curve-legend-label small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}
.curve-legend-item:hover,.curve-legend-item:focus-visible,.curve-legend-item.is-highlighted{background:#fffbea;border-color:var(--curve-color);box-shadow:0 0 0 1px var(--curve-color)}
.curve-legend-item.is-hidden{opacity:.5;background:#f0f1ed;border-left-color:#a1a89a;box-shadow:none}
.curve-legend-item.is-hidden .curve-legend-label{text-decoration:line-through}
.curve-series{transition:opacity .12s}
.curve-series.is-muted{opacity:.16}
.curve-series.is-hidden{display:none}
.curve-series.is-highlighted>path{stroke-width:4}
.curve-series.is-highlighted>circle{stroke:#fff;stroke-width:2}
.curve-chart-wrap{position:relative;overflow-x:auto;border-radius:5px}
.curve-selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:12px 0;font-size:13px}
.curve-selection-tools .button{min-height:34px;padding:5px 12px}
.curve-selection-tools .button[aria-pressed=true]{background:var(--yellow-soft);border-color:var(--yellow);color:var(--ink)}
.curve-selection-tools>span{color:var(--muted);flex:1 1 260px}
.curve-svg.is-brush-enabled{cursor:crosshair;user-select:none}
#curve-selection-region[hidden]{display:none}
.curve-svg circle.is-selected{stroke:var(--green);stroke-width:3px}
.curve-selection-summary{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:12px 16px;margin-top:12px}
.curve-selection-summary[hidden]{display:none}
.curve-mean-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;font-size:14px}
.curve-mean-heading>span{font-size:13px;color:var(--muted)}
.curve-selection-summary .table-scroll{max-height:260px;margin-top:8px}
.curve-selection-summary table{font-size:14px;min-width:480px}
.curve-selection-summary th[scope=row]{text-align:left;max-width:380px;white-space:normal;overflow-wrap:anywhere}
.curve-mean-color{display:inline-block;width:20px;height:3px;vertical-align:middle;margin-right:8px;background:var(--curve-color)}
.curve-scroll-note{font-size:12px;color:var(--muted);margin:0 0 8px}
.curve-tooltip{position:absolute;z-index:5;background:#fffdf2;border:1px solid #d8c883;border-radius:5px;box-shadow:0 8px 20px #2a2e2330;padding:8px 10px;font-size:13px;pointer-events:none;min-width:150px;max-width:min(420px,calc(100vw - 48px));overflow-wrap:anywhere}
.curve-tooltip-title{font-weight:600;color:#4d5a3d;margin-bottom:4px}
.curve-tooltip-row{display:flex;align-items:center;gap:6px;white-space:nowrap}
.curve-tooltip-row i{display:inline-block;width:10px;height:3px;border-radius:2px}
.curve-axis-controls{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:12px;align-items:end;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.curve-axis-controls label{font-size:13px;min-width:0}
.curve-axis-controls select{font-size:14px;min-height:42px}
.curve-axis-controls .button{min-height:42px;font-size:14px}
.curve-scope{font-size:12px;color:var(--muted);margin:0 0 14px}
.curve-extra-metrics{margin:14px 0 8px;font-size:13px;color:var(--muted)}
.curve-extra-metrics summary{cursor:pointer}
.curve-display-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 8px;font-size:13px;color:var(--muted)}
.curve-mode-buttons{display:flex;gap:6px;flex-wrap:wrap}
.curve-mode-button{padding:8px 14px;min-height:36px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer}
.curve-mode-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.curve-mode-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.curve-baseline-control{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:13px;max-width:100%}
.curve-baseline-control[hidden]{display:none}
.curve-baseline-control select{width:230px;max-width:100%;min-width:0;flex:1;min-height:36px;font-size:13px}
.curve-mode-note{font-size:12px;color:var(--muted);line-height:1.7;margin:6px 0 10px;overflow-wrap:anywhere}
.curve-values-option{display:inline-flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;margin:4px 0}
.curve-values-option input{width:16px;min-height:16px;accent-color:var(--green)}
.curve-status{min-height:20px;font-size:12px;color:var(--muted);margin:6px 0 8px}
.curve-axis-title{fill:var(--ink);font-size:13px;font-weight:600}
.curve-value-label{font-size:13px;font-weight:600;paint-order:stroke;stroke:#fafbf6;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.curve-panel .small-note{font-size:12px;line-height:1.7;margin:12px 0 0}
.curve-svg circle[role=button]:focus{outline:none;stroke:var(--ink);stroke-width:3px}
.click-sync-strip.warning{border-color:#d8c66d;background:var(--yellow-soft)}
.daily-chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:12px 0 8px}
.daily-trend-controls{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap;margin-left:auto}
.daily-trend-controls>label{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:13px;white-space:nowrap}
.daily-trend-controls select{width:210px;min-height:40px;font-size:14px}
#daily-metric-note{flex:1 1 260px;font-size:12px;margin:0;color:var(--muted)}
@media(max-width:700px){.daily-chart-toolbar{align-items:flex-start}.daily-trend-controls{gap:10px;justify-content:flex-start;margin-left:0}.daily-trend-controls>label{font-size:12px}.daily-trend-controls select{width:180px}.trend-section>.section-heading{align-items:flex-start;flex-wrap:wrap}}
.group-by-label{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:13px;white-space:nowrap}
.group-by-label select{width:210px;font-size:14px;min-height:40px}
.group-daily-table th:first-child,.group-daily-table td:first-child{min-width:125px;text-align:left}
.group-daily-table th:nth-child(2),.group-daily-table td:nth-child(2){min-width:180px;text-align:left}
#group-by-note{margin:0 0 12px;font-size:13px}
#group-daily-status{font-size:13px;padding:8px 0}
@media(max-width:700px){.group-by-label{flex-direction:column;align-items:flex-start;font-size:12px}.group-by-label select{width:190px}.group-daily-table th:first-child,.group-daily-table td:first-child{min-width:115px}}
@media(max-width:700px){.curve-panel{padding:16px;width:96vw;max-height:94vh}.curve-axis-controls{grid-template-columns:1fr 1fr;padding:12px}.curve-axis-controls .button{width:100%}.curve-panel .section-heading{align-items:center}.curve-tooltip{max-width:270px}.curve-tooltip-row{white-space:normal}}
@media(max-width:380px){.curve-axis-controls{grid-template-columns:1fr}}
.section-follow-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:5px;background:#f8faf3;padding:8px 12px;font-size:12px;color:#67785a}
.section-follow-line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-info-btn{border:1px solid #c9d0b8;border-radius:50%;background:#f4f6ec;color:#7c8a68;font-size:9px;font-weight:700;width:14px;height:14px;padding:0;margin-left:2px;vertical-align:middle;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.metric-info-btn:hover{background:var(--yellow-soft);color:#8a6d1d}
.metric-info-menu{position:fixed;z-index:22;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px #2a2e2330;padding:12px 14px;max-width:290px;font-size:12px}
.metric-info-menu[hidden]{display:none}
.metric-info-text{margin:6px 0 0;color:#5d6a4d;line-height:1.7}
.kpi-strip>.kpi{display:flex;flex-direction:column}
.kpi-city-breakdown{margin-top:auto;padding-top:10px;font-size:11px;line-height:1.6;color:var(--muted)}
.kpi-city-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding-top:6px;margin-top:6px;border-top:1px solid var(--line);min-width:0}
.kpi-city-name{font-weight:500;color:var(--ink)}
.kpi-city-value{min-width:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.kpi-city-value strong{font-size:11px;font-weight:600;color:var(--ink)}
.kpi-city-value small{display:block;font-size:10px;line-height:1.6}
.kpi-city-note{display:block;color:var(--muted)}
.worker-grain-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11px;font-weight:500;margin:0}
#filters input[type=date],.section-range-form input[type=date]{cursor:pointer}
#report-content .section-range-form .range-date{flex:1 1 130px;min-width:118px}
#report-content .section-range-form .range-city{flex:1 1 140px;min-width:130px}
#report-content .section-range-form .range-group{flex:1.3 1 165px;min-width:150px}
#report-content .section-range-form .range-worker{flex:2 1 220px;min-width:180px}
.trend-point{cursor:pointer;outline:none}.trend-point:hover .trend-point-dot,.trend-point:focus-visible .trend-point-dot,.trend-point.selected .trend-point-dot{stroke:var(--ink);stroke-width:2.5}
.trend-point:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
#daily-chart,#city-comparison-chart{height:240px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
.chart-wrap text.chart-value-label{font-size:11px;font-weight:600;fill:var(--label-color,var(--ink));stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;paint-order:stroke}
.comparison-metric-label select{width:190px;max-width:100%}#city-comparison-metric-note{margin:0 0 8px;font-size:12px}
.conversion-gap-audit{margin:10px 0 16px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:5px}.conversion-gap-audit>summary{cursor:pointer;font-size:13px;font-weight:600}.conversion-gap-audit .table-scroll{margin-top:12px;max-height:430px;overflow:auto}.conversion-gap-audit table{min-width:1160px}.conversion-gap-audit .gap-state{display:inline-block;padding:3px 7px;background:var(--yellow-soft);color:#765f1e;border-radius:3px;white-space:normal}.conversion-gap-audit .gap-state.has-clicks{background:#fff1e8;color:#8e4b26}.conversion-gap-audit .gap-state.unverified{background:#eef1e8;color:var(--muted)}.conversion-gap-audit .mono{white-space:nowrap}.conversion-gap-audit .gap-note{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0 0}
.trend-point-detail{position:fixed;z-index:45;width:250px;max-width:calc(100vw - 24px);padding:12px 14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px #25321f25;font-size:13px}
.trend-point-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.trend-point-heading .text-button{min-width:28px;min-height:28px;font-size:20px;padding:0}
.trend-point-detail dl{display:grid;gap:8px;margin:10px 0 0}.trend-point-detail dl>div{display:flex;justify-content:space-between;gap:18px}.trend-point-detail dt{color:var(--muted)}.trend-point-detail dd{margin:0;font-weight:600}.trend-point-detail dd small{display:block;font-size:11px;font-weight:400;color:var(--muted);text-align:right}
@media(max-width:700px){#report-content .section-range-form .range-date,#report-content .section-range-form .range-city,#report-content .section-range-form .range-group{grid-column:auto;min-width:0}#report-content .section-range-form .range-worker{grid-column:1/-1;min-width:0}}
.worker-grain-label select{width:180px;min-height:32px;font-size:11px;padding:5px 8px}
.details-mode-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:14px 0}
.details-mode-controls>label{font-size:12px;min-width:170px}
.details-mode-controls select{font-size:12px;min-height:34px}
.detail-aggregation-form{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px;background:#f5f7ef;border:1px solid var(--line);border-radius:5px;margin-bottom:12px}
.detail-aggregation-form[hidden],#details-original-tabs[hidden],#detail-aggregate-curve[hidden],#detail-aggregate-export[hidden],#detail-aggregation-context[hidden],#detail-aggregation-filter-note[hidden],#worker-grain-note[hidden]{display:none}
.detail-aggregation-form fieldset{border:0;padding:0;margin:0;min-width:0}
.detail-aggregation-form legend{font-size:12px;font-weight:600;margin-bottom:10px}
.detail-aggregation-form legend span{font-size:11px;font-weight:400;color:var(--muted);margin-left:8px}
.aggregation-dim-options{display:flex;gap:12px;flex-wrap:wrap}
.aggregation-dim-options label,.aggregation-metric-grid label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:12px;font-weight:400;margin:0}
.aggregation-dim-options input,.aggregation-metric-grid input{width:15px;height:15px;min-height:15px;margin:0;accent-color:#6e7d43}
.aggregation-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.aggregation-metrics{position:relative}
.aggregation-metrics summary{list-style:none;cursor:pointer}
.aggregation-metrics summary::-webkit-details-marker{display:none}
.aggregation-metric-options{position:absolute;right:0;top:calc(100% + 6px);z-index:18;width:340px;max-width:80vw;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:12px;box-shadow:0 10px 24px #2a2e2325}
.aggregation-metrics:not([open])>.aggregation-metric-options{display:none}
.aggregation-presets{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}
.aggregation-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-aggregation-form>.small-note{flex-basis:100%;margin:0}
@media(max-width:700px){.details-mode-controls{flex-wrap:wrap;align-items:center}.aggregation-form-actions{width:100%;justify-content:space-between}.aggregation-metric-options{left:0;right:auto;width:300px}.worker-grain-label{width:100%}.worker-grain-label select{flex:1}}

/* 国家效果：独立筛选与服务端聚合，不缩小指标字体。 */
.country-section{margin-top:22px}
.country-section .section-heading{flex-wrap:wrap}
.country-filter-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);margin-bottom:12px}
.country-filter-form>.range-date-range{flex:0 1 265px;min-width:220px}
.country-filter-form>label{flex:1 1 145px;min-width:120px}
.country-filter-form>.country-tag-filter{flex:1.5 1 230px}
.country-filter-form>.button{min-height:36px}
.country-filter-form>.section-presets,.country-filter-form>.section-range-note{flex-basis:100%}
.country-filter-form .section-range-note{margin:0}
.country-upload{border:1px solid var(--line);background:#fcfdf8;border-radius:5px;margin:0 0 14px}
.country-upload>summary{cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600;color:#526747}
.country-upload-body{border-top:1px solid var(--line);padding:12px 14px 14px}
.country-upload-body>.small-note{font-size:12px;margin:0 0 12px}
.country-upload-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.country-upload-actions>label{flex:1 1 300px;font-size:12px}
.country-upload-actions>label:has(select){flex:0 1 170px}
.country-upload-actions>.button{min-height:39px}
.country-upload-scope-note{font-size:11px;margin:8px 0 0;color:var(--muted)}
#country-player-import-status{margin:12px 0 0}
#country-player-preview{margin-top:12px;padding:12px;border:1px solid #ddd09a;border-radius:4px;background:#fffdf3;font-size:12px}
#country-player-preview[hidden]{display:none}
#country-player-preview p{margin:0 0 8px}
#country-player-preview ul{padding-left:20px;margin:8px 0}
.country-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:5px;background:#fcfdf9;margin:12px 0 18px}
.country-kpi{padding:12px 15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.country-kpi:nth-child(4n){border-right:0}
.country-kpi:nth-last-child(-n+3){border-bottom:0}
.country-kpi>span{display:block;color:var(--muted);font-size:12px}
.country-kpi>strong{display:block;font-size:21px;font-weight:600;line-height:1.25;margin:5px 0;font-variant-numeric:tabular-nums;white-space:nowrap}
.country-kpi>span:last-child:not(:first-child){font-size:11px;color:#8a7231}
.country-group-bar{margin-bottom:12px;flex-wrap:wrap}
.country-group-bar .group-dimension-options{display:flex;flex-wrap:wrap;gap:8px 16px}
.country-group-bar label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:500;color:var(--ink)}
.country-group-bar input{width:16px;height:16px;min-height:16px;margin:0;accent-color:#6e7d43}
.country-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}
.country-table-toolbar .small-note{font-size:12px;margin:0}
.country-table-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}
.country-metric-picker{position:relative;flex:none}
.country-metric-picker>summary{cursor:pointer;list-style:none}
.country-metric-picker>summary::-webkit-details-marker{display:none}
.country-metric-options{position:absolute;right:0;top:calc(100% + 6px);z-index:15;display:grid;grid-template-columns:1fr;gap:6px;min-width:216px;max-height:340px;overflow:auto;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:0 12px 28px #2a2e2330}
.country-metric-picker:not([open]) .country-metric-options{display:none}
.country-metric-options label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:400;color:var(--ink)}
.country-metric-options input{width:16px;height:16px;min-height:16px;margin:0;accent-color:#6e7d43}
.country-drill{border:0;background:transparent;color:inherit;text-decoration:none;padding:0;font-size:inherit;text-align:left}
.country-drill:hover{color:#355b40;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.country-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.country-kpi:nth-child(4n){border-right:1px solid var(--line)}.country-kpi:nth-child(2n){border-right:0}.country-kpi:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.country-kpi:last-child{border-bottom:0}}
@media(max-width:700px){.country-filter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.country-filter-form>.range-date-range,.country-filter-form>.country-tag-filter,.country-filter-form>.section-presets,.country-filter-form>.section-range-note{grid-column:1/-1;min-width:0}.country-filter-form>.button{grid-column:1/-1}.country-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.country-table-actions{width:100%;margin-left:0}.country-metric-options{left:auto;right:0;width:min(280px,85vw);min-width:0}}
.worker-linked-form-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(280px,2.5fr) minmax(220px,1.5fr);gap:18px;align-items:end;margin:20px 0}.worker-linked-form-grid label{min-width:0}.worker-linked-form-grid input,.worker-linked-form-grid select{min-width:0;width:100%}.worker-city-scope{display:flex;flex-direction:column;gap:9px;min-width:0}.worker-city-scope>span{font-size:13px;color:var(--muted);font-weight:600}.worker-city-scope strong{display:flex;align-items:center;min-height:40px;padding:9px 12px;background:#f0f3e7;border:1px solid var(--line);border-radius:3px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.worker-linked-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.worker-save-row p{max-width:65%;line-height:1.8}#worker-linked-preview h3{font-size:17px;margin:0 0 12px}#worker-linked-preview p{font-size:13px;line-height:1.8}.worker-show-inactive{display:flex;flex-direction:row;align-items:center;gap:8px;margin:12px 0;font-size:13px;font-weight:400}.worker-show-inactive input[type=checkbox]{width:16px;min-height:16px;margin:0;accent-color:#6e7d43}
@media(max-width:900px){.worker-linked-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.worker-city-scope{grid-column:1/-1}.worker-save-row{flex-wrap:wrap}.worker-save-row p{max-width:100%}}
@media(max-width:600px){.worker-linked-form-grid{grid-template-columns:minmax(0,1fr)}.worker-linked-actions{width:100%;justify-content:flex-start}.worker-linked-actions .button{flex:1}}
.click-schedule-settings{margin-bottom:28px}.click-schedule-settings>.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.click-schedule-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin:18px 0}.click-schedule-details>div{min-width:0;display:flex;flex-direction:column;gap:8px}.click-schedule-details span{font-size:12px;color:var(--muted)}.click-schedule-details strong{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.click-schedule-details p{grid-column:1/-1;font-size:13px;line-height:1.8;margin:0;color:#59664b}@media(max-width:800px){.click-schedule-details{grid-template-columns:minmax(0,1fr)}}
.ledger-filter{flex-wrap:wrap;column-gap:12px;row-gap:10px}.ledger-filter .search-field{flex:2 1 280px}.ledger-filter>label:not(.search-field){flex:1 1 140px;min-width:125px}
.ledger-filter #ledger-worker{max-width:100%;text-overflow:ellipsis}
.ledger-filter .search-field{flex-basis:240px}.ledger-filter>label:not(.search-field){flex-basis:125px}
.ledger-filter>label:has(>#ledger-worker){flex:2 1 280px;min-width:260px}
@media(max-width:700px){.ledger-filter>label:has(>#ledger-worker){min-width:0;flex-basis:100%}}
.assistant-data{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;white-space:normal}
.assistant-data>summary{cursor:pointer;font-size:13px;color:var(--green);font-weight:600;line-height:1.7}
.assistant-data-table{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:4px;margin:10px 0}
.assistant-data-table table{font-size:13px;min-width:760px;border-collapse:collapse;width:100%}
.assistant-data-table th,.assistant-data-table td{padding:9px 12px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--line)}
.assistant-data-table th:first-child{max-width:220px;white-space:normal;overflow-wrap:anywhere;text-align:left}
.assistant-data-table thead,.assistant-data-table tfoot{background:var(--paper);font-weight:600}
.assistant-data-table tfoot td,.assistant-data-table tfoot th{border-bottom:0}
@media(max-width:700px){.ledger-filter>label:not(.search-field){min-width:0}}
.login-overlay{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;align-items:center;justify-content:center}
.login-overlay[hidden]{display:none}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 48px #2a2e2330;padding:36px 40px;width:min(360px,90vw);display:grid;gap:14px}
.login-card h2{margin:0 0 4px}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#67715c}
.login-card .button{width:100%;margin-top:8px;min-height:42px}
.app-registration{margin:12px 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.app-registration summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--green)}
.app-registration form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px}
.app-registration form label{flex:1 1 170px}
.app-registration form button{min-height:39px}
.app-registration .small-note{margin-top:10px}
.user-chip{font-size:11px;color:#5d6a4d;background:#eef2e3;border:1px solid #d5ddc5;border-radius:4px;padding:4px 10px;white-space:nowrap}
.nav-group-label{font-size:9px;letter-spacing:2px;color:#778476;padding:0 14px;margin-bottom:8px;margin-top:4px}
.app-nav-items{display:grid;gap:2px;margin-bottom:8px}
.app-nav-item{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 24px;color:#b7c0b4;font-size:12px;border-radius:4px;cursor:pointer;transition:background .15s,color .15s;border:0;background:none;text-align:left;width:100%}
.app-nav-item:hover{background:#2e352e;color:#fff}
.app-nav-item.active{color:var(--ink);background:var(--yellow);font-weight:600}
.app-nav-item .app-nav-icon{font-size:10px;width:16px;text-align:center;opacity:.7}
.nav-separator{border-top:1px solid #3b4436;margin:8px 14px}
.reg-panel{border:1px solid var(--line);border-radius:5px;background:#fff;padding:20px;margin-top:18px}
.reg-panel>.section-heading{margin-bottom:12px}
.reg-panel h3{font-size:15px;margin:0}
.reg-city-row{display:flex;gap:14px;align-items:center;min-height:39px}
.reg-city-check{flex-direction:row;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--ink)}
.reg-city-check input{width:14px;min-height:14px;accent-color:#5e763f}
@media(max-width:700px){.reg-panel{padding:14px}}
.config-scope-selector{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.config-scope-selector label{flex-direction:row;align-items:center;gap:6px;font-size:11px;color:#67715c;margin:0}
.config-scope-selector select{min-height:32px;font-size:11px;padding:4px 8px;min-width:90px}

/* Shared reporting typography and workspace layout. */
:root{--report-font:14px;--report-note:12px}
.table-scroll table,.country-table table{font-size:var(--report-font)}
.table-scroll th,.table-scroll td{padding:12px 14px}
.table-scroll .mono,.table-scroll .row-sub,.table-scroll .cell-muted{font-size:12px}
.table-scroll .row-sub{line-height:1.6;white-space:normal}
.table-footnote,.small-note,.section-range-note,.subheading,.kpi-sub,.kpi-city-note,.click-coverage,.sample-scope-note,.report-context,.click-sync-strip,.report-basis-bar p{font-size:var(--report-note);line-height:1.65}
.table-scroll td.mono,.table-scroll th.mono{min-width:200px;white-space:nowrap}
#worker-summary-table td.mono,#config-table td.mono,.batch-identity{min-width:250px}
.kpi-label{font-size:13px}.kpi-label>span{font-size:11px}.kpi-sub{color:var(--muted)}
.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px;letter-spacing:0}.eyebrow{margin-bottom:6px;font-size:11px}
.topbar{height:auto;min-height:65px;gap:12px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}
.config-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:12px}
.config-tabs button{font-size:14px;background:transparent;border:1px solid transparent;border-radius:4px;padding:8px 14px;color:var(--muted)}
.config-tabs button[aria-selected=true]{color:var(--ink);background:var(--yellow-soft);border-color:#e4d281;font-weight:600}
[data-config-panel][hidden]{display:none}[data-config-panel]>.settings-section:first-child,[data-config-panel]>.data-section:first-child{margin-top:0}
.navigation-toggle{display:none}
.country-file-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;min-width:240px;flex:2}
.country-player-dropzone{border:2px dashed #c5ccba;border-radius:6px;padding:16px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#fafbf7;transition:background .15s,border-color .15s;min-height:100px}
.country-player-dropzone.drag-over{background:var(--yellow-soft);border-color:#a88e22}.country-player-dropzone:focus-visible{outline:3px solid #b39a27;outline-offset:3px}
.country-file-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd2bf;border-radius:4px;background:var(--surface);color:var(--ink);padding:7px 12px;cursor:pointer;overflow:hidden;font-size:13px}
.country-file-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
#country-player-filename{overflow-wrap:anywhere;flex:1;min-width:130px;font-size:13px}.country-player-dropzone small{width:100%;font-size:12px;font-weight:400;color:var(--muted)}
#users-table select{width:100px;min-width:100px}#users-table .button,#users-table .text-button{font-size:12px;padding:6px 9px;margin:3px}
@media(max-width:900px){
  .sidebar{position:fixed;inset:0 auto 0 0;width:250px;height:100dvh;padding:28px 18px;transform:translateX(-101%);transition:transform .18s;overflow-y:auto;display:flex;z-index:50}
  .sidebar .brand{margin-bottom:28px}.sidebar nav{display:grid;grid-template-columns:1fr;gap:8px}.sidebar nav a{display:flex;white-space:nowrap;font-size:14px;min-height:44px}.sidebar-bottom{display:block}
  .navigation-open .sidebar{transform:translateX(0);box-shadow:10px 0 30px #0003}.workspace{margin-left:0}.navigation-toggle{display:block;border:1px solid var(--line);background:var(--surface);border-radius:4px;min-width:40px;min-height:40px}
  .topbar{padding:12px 16px;align-items:center}.breadcrumb{font-size:12px}.topbar-status{display:none}.topbar-actions{margin-left:auto;gap:8px}
  main{padding:24px 16px 0}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.page-heading-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.config-scope-selector{width:100%}
  .app-nav-items{display:grid;grid-template-columns:1fr;width:100%}.sidebar .app-nav-item{width:100%;white-space:nowrap}
  .settings-grid{grid-template-columns:1fr}.country-upload-actions{align-items:stretch}.country-file-field{min-width:0;width:100%}
}
@media(max-width:480px){
  .topbar{flex-wrap:wrap}.topbar-actions{gap:6px}.breadcrumb{flex:1}.topbar-actions .assistant-launch{min-width:0;padding:8px;font-size:12px}.topbar-actions .text-button{font-size:12px}.user-chip{max-width:100px;overflow:hidden;text-overflow:ellipsis}
  main{padding:20px 12px 0}.filterbar,.section-range-form{padding:12px;gap:10px}.filterbar .date-pair{min-width:0}.config-tabs{gap:4px}.config-tabs button{padding:7px 9px;font-size:13px}.country-player-dropzone{padding:12px}
}

.assistant-scope-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line)}.assistant-scope-selector label{font-size:12px}.assistant-scope-selector select{font-size:13px}
@media(max-width:900px){
  .page-heading>div:first-child{flex:initial;width:100%}
  .config-scope-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
  .config-scope-selector label{display:flex;flex-direction:column;min-width:0}
  .config-scope-selector select{min-width:0;width:100%}
  .sidebar{visibility:hidden}.navigation-open .sidebar{visibility:visible}
}
@media(max-width:480px){.topbar-actions{width:100%;max-width:100%;min-width:0;flex-wrap:wrap;justify-content:flex-start}}

/* Report navigation sits above the report heading and follows the viewport. */
.report-top-controls{position:sticky;top:var(--workspace-topbar-height,65px);z-index:35;background:var(--paper,#f7f8f1);margin:0 0 18px;border-bottom:1px solid var(--line)}
.report-top-controls .subtab-bar{position:static;margin:0;padding:0;box-shadow:none;background:transparent}
.report-top-controls .click-sync-strip{margin:0;padding:9px 12px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;font-size:12px;gap:10px}
.report-top-controls .click-sync-label{white-space:nowrap}
#page-overview>.page-heading{margin-bottom:16px}
#page-overview>.page-heading .eyebrow{display:none}
#page-overview>.page-heading h1{font-size:22px}
#page-overview>.page-heading .subheading{margin-top:5px}
#report-content .section-range-form{top:calc(var(--workspace-topbar-height,65px) + var(--report-controls-height,80px))}
@media(max-width:700px){.report-top-controls{margin-bottom:12px}.report-top-controls .subtab-bar{overflow-x:auto;flex-wrap:nowrap}.report-top-controls .subtab{flex:none;white-space:nowrap}.report-top-controls .click-sync-strip{flex-wrap:wrap}.report-top-controls #click-sync-status{flex:1 1 180px}#page-overview>.page-heading h1{font-size:20px}}

/* Cross-application report shares the country facts and table controls. */
#page-analysis .country-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#page-analysis .country-filter-form>label{min-width:0}
#page-analysis .country-filter-form>.range-date-range{min-width:0}
#page-analysis .section-presets,#page-analysis .section-range-note{grid-column:1/-1}
#page-analysis .country-upload[hidden]{display:none}
.heading-actions .country-metric-picker{align-self:center}
@media(max-width:1024px){#page-analysis .country-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){#page-analysis .country-filter-form{grid-template-columns:minmax(0,1fr)}.country-filter-form>label{min-width:0}.heading-actions{flex-wrap:wrap}}

/* Report totals use the full filtered range and stay outside sortable rows. */
.table-scroll tfoot .total-row>th,.table-scroll tfoot .total-row>td{background:#f0f2e5;font-weight:600;border-top:1px solid var(--line);border-bottom:0;font-variant-numeric:tabular-nums}
.table-scroll tfoot .total-row>th{color:#505b43}

/* Scope delivery-review layout to its own table; retain the group report styles. */
.delivery-reminder-table td:first-child{min-width:112px}
.delivery-reminder-table td:nth-child(4){max-width:240px;white-space:normal}
.delivery-reminder-table th:last-child,.delivery-reminder-table td:last-child{position:sticky;right:0;background:var(--surface);box-shadow:-1px 0 var(--line);min-width:112px;z-index:1}
.delivery-reminder-table th:last-child{background:var(--paper);z-index:2}
.delivery-batch-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0}
.delivery-select-all{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
.delivery-batch-toolbar input[type=checkbox],.delivery-select-cell input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink);cursor:pointer}
.delivery-batch-toolbar [data-tag-delivery-count]{font-variant-numeric:tabular-nums;color:var(--muted)}
.delivery-batch-toolbar .small-note{flex-basis:100%;margin:0}
.delivery-select-cell{text-align:center}

.country-filter-form [data-analysis-basis][hidden]{display:none}

.section-range-form .report-os-filter{flex:0.65 1 118px;min-width:118px}
.report-os-filter[hidden]{display:none}
.worker-picker{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.worker-picker-label{font-size:11px;font-weight:600;color:var(--muted)}
.worker-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;text-align:left}
.worker-picker-trigger [data-worker-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.worker-picker-trigger[aria-expanded=true]{outline:2px solid var(--yellow);outline-offset:1px}
.worker-picker-popover{position:absolute;top:100%;right:0;z-index:60;width:max(100%,360px);max-width:calc(100vw - 32px);margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);box-shadow:0 6px 20px #25321f25}
.worker-picker-popover[hidden],.worker-picker-option[hidden]{display:none}
.worker-picker>select[hidden],#report-content .section-range-form .worker-picker-option[hidden]{display:none}
.worker-picker-actions{display:flex;justify-content:space-between;gap:12px;margin:8px 0}
.worker-picker-options{max-height:260px;overflow:auto;overscroll-behavior:contain}
#report-content .section-range-form .worker-picker-option{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;min-height:34px;padding:4px 6px;margin:0;font-size:12px;font-weight:400;cursor:pointer}
.worker-picker-option:hover{background:var(--paper)}
.worker-picker-option input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--ink)}
.worker-picker-option span{overflow-wrap:anywhere}
.worker-picker-popover .small-note{margin:8px 0 0}

.player-import-module{border-top:1px solid var(--line);padding-top:28px}
.player-import-module[hidden]{display:none}
.player-import-dropzone{margin-top:18px;padding:24px 20px}
.player-import-dropzone h3{font-size:18px;font-weight:600;margin:0}
.player-import-dropzone p{font-size:14px}
.player-import-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px;margin-top:16px}
.player-import-actions .small-note{margin:0 auto 0 0;font-size:13px}
.player-import-module .selected-file{gap:14px}
.player-import-module .selected-file strong{font-size:14px}
.player-import-module .selected-file small{font-size:12px}
.player-import-module .selected-file select{width:160px;min-height:40px;font-size:14px}
.player-import-module .preview-heading{gap:16px;flex-wrap:wrap}
.player-import-module .preview-heading h3{margin:0}
.player-import-module .preview-heading>span{color:var(--muted);font-size:13px}
.player-import-warnings{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:600px){.player-import-module .selected-file{flex-wrap:wrap}.player-import-module .file-description{flex-basis:calc(100% - 70px)}.player-import-module .selected-file label{flex:1}.player-import-module .selected-file select{width:100%}.player-import-module .preview-footer{align-items:stretch;flex-direction:column}}
.import-batch-toggle { display:flex; align-items:center; gap:10px; margin:20px 0 8px; font-weight:600; }
.import-batch-toggle input { width:18px; height:18px; flex-shrink:0; }
.click-schedule-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin:20px 0; }
.click-schedule-form[hidden] { display:none; }
.click-schedule-form label { display:flex; flex-direction:column; gap:8px; min-width:220px; }
.click-schedule-form input { min-height:42px; }
.click-schedule-form .small-note { flex-basis:100%; margin:0; }
@media (max-width:480px) { .click-schedule-form label,.click-schedule-form .button { width:100%; min-width:0; } }
.assistant-config-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.assistant-config-form label { display:flex; flex-direction:column; gap:8px; }
.assistant-config-key, .assistant-config-actions { grid-column:1 / -1; }
.assistant-config-actions { display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:640px) { .assistant-config-form { grid-template-columns:1fr; } }
