:root{--bg:#f2f3f5;--surface:#fff;--ink:#252b35;--muted:#818995;--line:#e5e7eb;--primary:#2876ed;--primary-hover:#1965d9;--radius:8px;--font:Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 13px;transition:background .15s,border-color .15s;display:inline-flex}button:hover{background:#f3f5f8;border-color:#d0d6df}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #9dc2fa}a{color:var(--primary)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:22px}h2{font-size:20px}h3{font-size:16px}input,select,textarea{width:100%;min-height:39px;color:var(--ink);background:#fff;border:1px solid #dce0e6;border-radius:6px;outline:none;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--primary)}@media (min-width:641px){input[type=date]{cursor:pointer;position:relative}input[type=date]::-webkit-datetime-edit{pointer-events:none}input[type=date]::-webkit-datetime-edit-fields-wrapper{pointer-events:none}input[type=date]::-webkit-datetime-edit-text{pointer-events:none}input[type=date]::-webkit-datetime-edit-year-field{pointer-events:none}input[type=date]::-webkit-datetime-edit-month-field{pointer-events:none}input[type=date]::-webkit-datetime-edit-day-field{pointer-events:none}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;background-position:right 11px center;background-size:16px 16px;width:auto;height:auto;margin:0;padding:0;position:absolute;inset:0}}input:disabled,select:disabled,textarea:disabled{color:#737b87;background:#f6f7f9}label{font-size:14px;line-height:1.6;display:block}label input,label select,label textarea{margin-top:6px;display:block}label small{color:var(--muted);margin-top:6px;font-size:12px;display:block}fieldset{border:0;min-width:0;margin:0;padding:0}textarea{resize:vertical}.primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:500}.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.tax-sync-panel{max-width:980px;margin:0 auto;padding:30px 0 48px}.tax-sync-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.tax-sync-head h2{align-items:center;gap:9px;margin-bottom:7px;display:flex}.tax-sync-head p{color:var(--muted);margin:0}.tax-rule-help{align-items:center;display:inline-flex;position:relative}.tax-rule-trigger{min-height:0;color:var(--primary);background:0 0;border:0;padding:0;font-size:13px;font-weight:400}.tax-rule-trigger:hover{color:var(--primary-hover);background:0 0;border-color:#0000}.tax-rule-pop{z-index:30;border:1px solid var(--line);text-align:left;white-space:normal;background:#fff;border-radius:8px;width:min(520px,100vw - 48px);padding:12px 16px;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #2230481f}.tax-rule-help:hover .tax-rule-pop,.tax-rule-help:focus-within .tax-rule-pop{display:block}.tax-rule-pop ul{color:var(--ink);margin:0;padding-left:1.15em;font-size:13px;font-weight:400;line-height:1.65}.tax-rule-pop li+li{margin-top:6px}.tax-state{color:#66707c;white-space:nowrap;background:#f1f3f5;border-radius:999px;padding:7px 12px;font-size:12px}.tax-state.signed_in{color:#227447;background:#e9f8ef}.tax-state.awaiting_qr,.tax-state.awaiting_sms,.tax-state.syncing{color:#9a6411;background:#fff5df}.tax-state.error{color:#b73d3d;background:#ffeded}.tax-sync-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:22px;box-shadow:0 4px 18px #2230480d}.tax-sync-fields{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.tax-main-button{width:100%;min-height:44px;margin-top:16px}.tax-main-button.tax-qr-start{justify-content:center;align-items:center;gap:8px;margin-top:0;display:flex}.tax-upload-button{justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:10px;display:flex}.tax-case-link{text-align:left;background:0 0;border:0;justify-content:flex-start;min-height:0;padding:0;font-weight:650}.tax-qr-login{text-align:center;flex-direction:column;align-items:center;display:flex}.tax-qr-login img{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:min(72vw,300px);padding:10px}.tax-qr-login strong{margin-top:14px}.tax-qr-login p{color:var(--muted);margin:7px 0 14px;font-size:13px;line-height:1.55}.tax-qr-actions{gap:10px;width:100%;display:flex}.tax-qr-actions a,.tax-qr-actions button{flex:1;justify-content:center;align-items:center;gap:7px;min-height:42px;text-decoration:none;display:flex}.tax-password-login{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.tax-password-login summary{cursor:pointer;color:var(--muted);font-size:13px}.tax-error{color:#b73d3d;background:#fff0f0;border-radius:7px;align-items:center;gap:7px;margin-top:14px;padding:10px 12px;display:flex}.tax-hint{color:var(--muted);margin:15px 0 0;font-size:12px;line-height:1.6}.tax-result-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.tax-result-grid>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px}.tax-result-grid small,.tax-result-grid strong{display:block}.tax-result-grid small{color:var(--muted);margin-bottom:7px}.tax-result-grid strong{font-size:22px}.tax-pending{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.tax-success{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:16px;padding:20px}.tax-success-row{border-top:1px solid #eef0f2;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.tax-success-row p{color:#68717c;margin:5px 0 0;font-size:13px}.tax-success-row .green{color:#2b8a57}.tax-success-row .red{color:#be4c4c}.tax-section-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tax-section-title h3{margin:0}.tax-section-title span{color:var(--muted);font-size:13px}.tax-pending+.tax-pending{margin-top:16px}.tax-pending-row{border-top:1px solid #eef0f2;grid-template-columns:1fr auto;gap:4px 14px;padding:13px 0;display:grid}.tax-pending-row p{color:#5f6773;margin:5px 0 0;font-size:13px}.tax-pending-row b{color:#2d3440}.tax-pending-row small{color:#ad6c17;grid-column:1/-1}.tax-pending-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.tax-pending-side button{white-space:nowrap;min-height:36px}.tax-reason-filters{flex-wrap:wrap;gap:8px;margin:0 0 8px;display:flex}.tax-reason-filters button{border-radius:999px;font-size:13px}.tax-reason-filters button[aria-pressed=true]{color:#1d4e89;background:#e8f0fb;border-color:#b9cfee;font-weight:650}@media (max-width:640px){.tax-sync-panel{padding:18px 0 32px}.tax-sync-head{gap:10px;position:relative}.tax-rule-help{position:static}.tax-rule-pop{width:auto;left:0;right:0}.tax-sync-head h2{font-size:19px}.tax-sync-head p{font-size:12px;line-height:1.5}.tax-sync-card,.tax-pending{border-radius:10px;padding:16px}.tax-sync-fields{grid-template-columns:1fr;gap:10px}.tax-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tax-result-grid>div{padding:11px 9px}.tax-result-grid strong{font-size:18px}.tax-result-grid small{font-size:11px}.tax-reason-filters button,.tax-pending-side button{min-height:44px}}.icon{background:0 0;border:0;width:34px;min-width:34px;padding:0}.text-button{background:0 0;border-color:#0000}.blue-text{color:var(--primary)}.danger-text{color:#d84444;border:0}.muted{color:var(--muted)}.brand-icon{background:var(--primary);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:37px;height:37px;display:inline-flex}.avatar{color:#2b66ae;background:#e6effb;border-radius:50%;flex:none;justify-content:center;align-items:center;width:33px;height:33px;font-size:12px;font-weight:600;display:inline-flex}.topbar{background:#fff;justify-content:space-between;align-items:center;gap:20px;height:80px;padding:0 29px;display:flex}.brand{white-space:nowrap;align-items:center;gap:12px;display:flex}.brand h1{letter-spacing:.2px;margin:0;font-size:22px}.workspace-tag{color:#358655;background:#edf8f0;border-radius:4px;margin-left:5px;padding:4px 7px;font-size:12px}.top-actions{align-items:center;gap:17px;display:flex}.access-hint{color:#7d8592;align-items:center;gap:6px;font-size:13px;display:flex}.profile{text-align:left;background:0 0;border:0;gap:9px;padding:0}.profile small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.tabs{border-bottom:1px solid var(--line);background:#fff;align-items:stretch;gap:22px;height:54px;padding:0 28px;display:flex;overflow-x:auto}.tabs button{color:#717986;border:0;border-radius:0;gap:8px;padding:0 6px;font-size:15px;position:relative}.tabs button:hover{color:var(--primary);background:#fff}.tabs button.active{color:var(--primary);font-weight:600}.tabs button.active:after{content:"";background:var(--primary);border-radius:3px;height:3px;position:absolute;bottom:0;left:4px;right:4px}.tab-count{color:#778ba7;background:#f0f4f9;border-radius:4px;margin-left:3px;padding:2px 5px;font-size:12px;font-weight:400}.main-surface{background:#fff;border:1px solid #dfe3e8;border-radius:10px;min-height:calc(100dvh - 175px);margin:20px 20px 0;overflow:hidden}.toolbar{border-bottom:1px solid var(--line);background:#fafbfc;flex-direction:column;align-items:stretch;gap:10px;min-height:67px;padding:12px 18px;display:flex}.toolbar-left,.toolbar-right,.search-row{align-items:center;gap:8px;min-width:0;display:flex}.search-row{width:100%}.toolbar-title{align-items:center;gap:8px;margin-right:18px;font-size:15px;font-weight:600;display:inline-flex}.divider{background:#dfe3e8;width:1px;height:22px;margin:0 8px}.search{color:#8b939f;background:#fff;border:1px solid #e3e6eb;border-radius:22px;flex:0 320px;align-items:center;width:320px;min-width:0;max-width:320px;padding:0 12px;display:flex}.search input{background:0 0;border:0;width:100%;min-height:36px;padding-left:7px;font-size:13px;box-shadow:none!important}.search input:focus{outline:none}.add-case{width:auto;min-width:0;height:auto;color:var(--primary);box-shadow:none;background:0 0;border:0;flex-shrink:0;padding:0 4px;font-size:14px;font-weight:500}.report-alert-text{margin:0;font-size:14px;line-height:1.7}.report-alert-list{gap:8px;margin:0;padding:0 0 0 1.15em;font-size:14px;line-height:1.6;display:grid}.report-alert-list li{overflow-wrap:anywhere}.add-case:hover:not(:disabled){color:var(--primary-hover);background:0 0;border-color:#0000}.filter-dot{background:var(--primary);border-radius:50%;width:6px;height:6px}.selected{color:var(--primary);background:#eaf2ff}.filter-panel{border-bottom:1px solid var(--line);background:#fafbfc;flex-wrap:wrap;align-items:flex-end;gap:13px;padding:0 18px 12px;display:flex}.filter-panel label,.filter-panel .filter-field{color:#66707e;width:180px;max-width:100%;font-size:12px}.filter-field{position:relative}.filter-field>span{line-height:1.6;display:block}.filter-multi{position:relative}.filter-multi-trigger{width:100%;min-height:39px;color:var(--ink);background:#fff;border:1px solid #dce0e6;border-radius:6px;justify-content:space-between;gap:6px;padding:8px 10px;font-size:14px;font-weight:400}.filter-multi-trigger span{text-overflow:ellipsis;min-width:0;overflow:hidden}.filter-multi-trigger svg{color:#7b8492;flex-shrink:0}.filter-multi-menu{z-index:30;background:#fff;border:1px solid #dce0e6;border-radius:8px;min-width:max(100%,168px);max-height:360px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #263a5c1f}.filter-multi-menu button{background:0 0;border:0;justify-content:space-between;width:100%;min-height:34px;padding:6px 8px;font-size:14px;font-weight:400}.filter-multi-menu button.active{color:var(--primary);background:#eaf2ff}.filter-multi-menu button:hover{background:#f4f7fb}.filter-period{color:#66707e;flex-direction:column;gap:6px;width:180px;font-size:12px;display:flex}.filter-period .period-trigger{text-overflow:ellipsis;white-space:nowrap;width:100%;min-height:36px;overflow:hidden}.filter-panel select,.filter-panel input{min-height:36px;font-size:13px}.filter-summary{color:#4a6d9e;background:#f1f6fd;padding:9px 22px;font-size:13px}.filter-summary button{min-height:24px;color:var(--primary);background:0 0;border:0;margin-left:10px;padding:0 8px;font-size:12px}.view-caption{color:#818995;border-bottom:1px solid var(--line);background:#fbfcfd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:47px;padding:10px 20px;font-size:13px;display:flex}.view-caption>span:first-child{color:var(--ink);align-items:center;gap:8px;display:flex}.view-caption .muted{color:#818995;margin-left:7px;font-size:12px}.view-caption strong{color:#3d4654;font-variant-numeric:tabular-nums;margin-left:7px;font-weight:500}.ledger-totals{flex-wrap:wrap;justify-content:flex-end;gap:4px 18px;margin-left:auto;display:flex}.ledger-totals>span{color:#818995}.view-caption .invoice-total{color:#e23b3b;font-weight:650}.table-scroll{scrollbar-width:thin;scrollbar-color:#c1c5cc #f7f8fa;min-height:300px;max-height:calc(100dvh - 330px);overflow:auto}.table-scroll::-webkit-scrollbar{width:10px;height:10px}.table-scroll::-webkit-scrollbar-thumb{background:#c1c5cc;border-radius:8px}.table-scroll::-webkit-scrollbar-track{background:#f7f8fa}.ledger-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;font-size:14px}.ledger-table th{z-index:3;color:#697280;text-align:left;white-space:nowrap;background:#f8f9fb;border-bottom:1px solid #dfe3e8;border-right:1px solid #e9ecf0;height:48px;padding:0 16px;font-size:13px;font-weight:500;position:sticky;top:0}.ledger-table th>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ledger-table td{white-space:nowrap;text-overflow:ellipsis;background:#fff;border-bottom:1px solid #e9ecf0;border-right:1px solid #edf0f3;height:51px;padding:0 16px;overflow:hidden}.ledger-table tbody tr:hover td{background:#f5f8fd}.ledger-table tbody tr.ledger-located td,.ledger-table tbody tr.ledger-located:hover td{background:#d9f5e4}.mobile-case-container.ledger-located{background:#d9f5e4;border-radius:12px}.ledger-table th.row-index,.ledger-table td.row-index{text-align:center;z-index:2;color:#969da7;background:#fbfcfd;width:49px;min-width:49px;padding:0;font-size:12px;position:sticky;left:0}.ledger-table th.row-index{z-index:5;background:#f5f7fa}.ledger-table td.sticky-case{z-index:2;white-space:nowrap;position:sticky;left:49px;box-shadow:2px 0 3px #263a5c07}.ledger-table th.sticky-case{z-index:4;white-space:nowrap;left:49px}.ledger-table td.sticky-case .case-link{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:block;overflow:hidden}.ledger-table th .col-resizer{cursor:col-resize;touch-action:none;z-index:2;background:0 0;border:0;width:8px;height:100%;padding:0;position:absolute;top:0;right:0}.ledger-table th .col-resizer:after{content:"";background:0 0;border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;right:2px}.ledger-table th .col-resizer:hover:after{background:#337ef0}body.col-resizing,body.col-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.ledger-table .number{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.case-link{font-family:var(--font);color:#333e4c;letter-spacing:.1px;border:0;min-height:34px;padding:0;font-size:14px;background:0 0!important}.case-link:hover{color:var(--primary);text-decoration:underline}.badge{white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:13px;font-weight:400;line-height:22px;display:inline-block}.badge.mint{color:#28694c;background:#d9f3e7}.badge.cyan{color:#306b82;background:#daf1fc}.badge.periwinkle{color:#365e95;background:#e0ebff}.badge.peach{color:#946c3d;background:#fff0df}.badge.rose{color:#8c5259;background:#ffe1e3}.badge.blue{color:#fff;background:#337ef0}.badge.red{color:#d84743;background:#fde9e8}.badge.gray{color:#717987;background:#e9ebef}.badge.neutral{color:#777f8d;background:#f0f2f5}.badge.lemon{color:#6a5d24;background:#f2e9b8}.badge.lilac{color:#6d3d86;background:#e6c4f4}.badge.pink{color:#8a3d56;background:#f4cad6}.badge.sage{color:#215c3d;background:#a9dfc0}.badge.forest{color:#fff;background:#2d9a68}.badge.slate{color:#fff;background:#8b9099}.badge.crimson{color:#fff;background:#e44a48}.choice-field{flex-direction:column;gap:6px;display:flex}.choice-label{color:#66707e;font-size:12px}.choice-create{align-items:center;gap:8px;display:flex}.choice-create input{flex:1;min-width:0}.choice-field small[role=alert]{color:#c2413a}.choice-chips{flex-wrap:wrap;gap:6px;display:none}.choice-chip{color:#5c6570;background:#fff;border:1px solid #e4e7ec;border-radius:6px;min-height:32px;padding:2px 9px;font-size:13px;font-weight:400}.choice-chip:hover{background:#f7f8fa;border-color:#d5dae2}.choice-chip.selected{box-shadow:none;color:#252b35;background:#f6f7f9;border-color:#cfd5de;font-weight:500}.choice-chip.cyan{background:#b7e4f6}.choice-chip.periwinkle{background:#c5d0f6}.choice-chip.mint{background:#c4ebd3}.choice-chip.rose{background:#f3c4c8}.choice-chip.peach{background:#f6d5b4}.choice-chip.lemon{background:#f2e9b8}.choice-chip.lilac{background:#e6c4f4}.choice-chip.pink{background:#f4cad6}.choice-chip.status.blue{color:#fff;background:#2f7dff}.choice-chip.status.sage{background:#a9dfc0}.choice-chip.status.forest{color:#fff;background:#2d9a68}.choice-chip.status.slate{color:#fff;background:#8b9099}.choice-chip.status.crimson{color:#fff;background:#e44a48}.choice-chip.all,.choice-field .choice-chip.cyan,.choice-field .choice-chip.periwinkle,.choice-field .choice-chip.mint,.choice-field .choice-chip.rose,.choice-field .choice-chip.peach,.choice-field .choice-chip.lemon,.choice-field .choice-chip.lilac,.choice-field .choice-chip.pink,.choice-field .choice-chip.status.blue,.choice-field .choice-chip.status.sage,.choice-field .choice-chip.status.forest,.choice-field .choice-chip.status.slate,.choice-field .choice-chip.status.crimson,.choice-field .choice-chip.all{color:#5c6570;background:#fff}.choice-field .choice-chip:hover{background:#f7f8fa;border-color:#d5dae2}.choice-field .choice-chip.selected.cyan{color:#2c6276;background:#f4fafd;border-color:#c3e4f2}.choice-field .choice-chip.selected.periwinkle{color:#3d4d86;background:#f5f7fd;border-color:#d0d8f2}.choice-field .choice-chip.selected.mint{color:#2a6a48;background:#f4fbf7;border-color:#c9e8d6}.choice-field .choice-chip.selected.rose{color:#8a454c;background:#fdf6f7;border-color:#f0d0d4}.choice-field .choice-chip.selected.peach{color:#8a5a32;background:#fdf8f3;border-color:#f0dcc4}.choice-field .choice-chip.selected.lemon{color:#746836;background:#fbfaf3;border-color:#e8e0c0}.choice-field .choice-chip.selected.lilac{color:#6d4580;background:#fbf6fd;border-color:#e6d0f0}.choice-field .choice-chip.selected.pink{color:#8a4a5c;background:#fdf6f8;border-color:#f0d4dc}.choice-field .choice-chip.selected.status.blue{color:#2a4f8a;background:#f4f7fd;border-color:#c9d8f6}.choice-field .choice-chip.selected.status.sage{color:#2f6a48;background:#f5fbf7;border-color:#cfe6d8}.choice-field .choice-chip.selected.status.forest{color:#246848;background:#f4faf7;border-color:#c5e4d4}.choice-field .choice-chip.selected.status.slate{color:#4a5564;background:#f6f7f8;border-color:#d5d8de}.choice-field .choice-chip.selected.status.crimson{color:#8d3d3c;background:#fdf6f6;border-color:#f0d0cf}.duplicate{color:#a27935;background:#fff3dc;border-radius:3px;margin-left:7px;padding:2px 4px;font-size:10px}.unassigned,.empty-value{color:#a0a7b0}.negative{color:#dc5757}.table-footer{color:#818995;border-top:1px solid var(--line);background:#fbfcfd;justify-content:space-between;align-items:center;gap:12px;min-height:47px;padding:12px 20px;font-size:12px;display:flex}.table-footer strong{color:#3d4654;font-variant-numeric:tabular-nums;margin-left:7px;font-weight:500}.footer-separator{color:#d3d8df;margin:0 14px}.reports-content{background:#f0f2f5;padding:24px}.report-caption{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;font-size:18px;font-weight:600;display:flex}.report-caption small{color:#8b93a0;font-size:12px;font-weight:400}.charts-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.chart-card{background:#fff;border:1px solid #e8ebef;border-radius:9px;min-width:0;padding:24px 24px 12px;overflow:visible}.wide-chart{grid-column:1/-1}.chart-heading{justify-content:space-between;gap:10px;display:flex}.chart-heading h3{color:#414954;margin:0 0 8px;font-size:16px}.chart-heading p{color:#929aa5;margin:0;font-size:12px}.chart-legend{color:#8b939f;justify-content:center;align-items:center;gap:7px;margin:17px 0 0;font-size:12px;display:flex}.chart-legend span{background:#3185f5;border-radius:2px;width:8px;height:8px}.chart-wrap{-webkit-tap-highlight-color:transparent;width:100%;min-width:0;height:286px;overflow:visible}.chart-wrap svg,.chart-wrap .recharts-surface,.chart-wrap .recharts-wrapper,.chart-wrap .recharts-wrapper *{-webkit-tap-highlight-color:transparent;outline:none}.wide-chart .chart-wrap{height:318px}.chart-data{color:#9ba2ad;border-top:1px solid #f0f2f5;padding-top:8px;font-size:12px}.chart-data summary{cursor:pointer;padding:3px 0}.chart-data .simple-table{margin-top:10px}.report-note{color:#8b939f;margin:18px 3px 0;font-size:12px;line-height:1.8}.management{padding:28px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.section-heading h2{margin:0 0 8px}.section-heading p{color:var(--muted);margin:0;line-height:1.6}.role-guide{color:#6e8099;background:#f3f7fd;border-radius:7px;align-items:flex-start;gap:12px;margin-bottom:22px;padding:17px 20px;font-size:13px;line-height:1.8;display:flex}.role-guide svg{color:#5188cb;flex:none;margin-top:3px}.role-guide strong{color:#476584;display:block}.simple-table-wrap{overflow:auto}.simple-table{border-collapse:collapse;width:100%;font-size:14px}.simple-table th{text-align:left;color:#7b8593;border-bottom:1px solid var(--line);white-space:nowrap;background:#f7f9fb;padding:14px 18px;font-size:13px;font-weight:500}.simple-table td{border-bottom:1px solid #edf0f3;padding:15px 18px}.member-name{align-items:center;gap:10px;display:flex}.member-name small{color:#8b95a4;font-size:11px}.management>.muted{margin-top:20px;font-size:12px}.empty-state{text-align:center;color:#a0a7b1;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:230px;padding:30px;display:flex}.empty-state h3{color:#737e8c;margin:6px 0 0;font-weight:500}.empty-state p{margin:0;font-size:13px;line-height:1.8}.audit-list details{border-bottom:1px solid var(--line)}.audit-list summary{cursor:pointer;align-items:center;gap:13px;padding:17px 4px;list-style:none;display:flex}.audit-list summary strong{font-weight:500}.audit-list time{color:#8b95a4;margin-left:auto;font-size:12px}.audit-icon{color:#7690b0;background:#f1f5fa;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.audit-detail{grid-template-columns:1fr 1fr;gap:15px;padding:10px 15px 20px;display:grid}.audit-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fb;max-height:320px;padding:15px;font-size:12px;line-height:1.6;overflow:auto}.audit-detail h4{color:#828c9a;font-size:13px;font-weight:500}.audit-changed{color:#c74843;background:#fff0ef;border-radius:3px;font-weight:650}.trace-cell{white-space:nowrap}.trace-mark{color:#2876ed;vertical-align:middle;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:3px;padding:0;display:inline-flex}.trace-mark:hover,.trace-mark:focus-visible,.trace-mark.open{background:#e8f1fd;outline:none}.trace-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.trace-tip{z-index:80;color:#fff;pointer-events:none;background:#252b35;border-radius:6px;max-width:280px;padding:6px 8px;font-size:12px;line-height:1.5;position:fixed}.trace-popover{z-index:81;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(340px,100vw - 16px);max-height:min(360px,100vh - 16px);padding:12px 14px 8px;position:fixed;overflow:auto;box-shadow:0 8px 28px #18274b1f}.trace-popover-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.trace-popover-head strong{font-size:14px;font-weight:600}.trace-popover-head button{color:#2876ed;cursor:pointer;background:0 0;border:0;font-size:13px}.trace-formula{background:#f7f9fb;border-radius:6px;margin-bottom:8px;padding:8px 10px}.trace-formula p{margin:0;font-size:13px;line-height:1.6}.trace-events h4{color:#818995;margin:8px 0 4px;font-size:12px;font-weight:500}.trace-events article{border-top:1px solid #eef1f4;flex-direction:column;gap:2px;padding:8px 0;display:flex}.trace-events p,.trace-events span,.trace-empty{margin:0;font-size:13px;line-height:1.55}.trace-events small,.trace-empty{color:#818995}.trace-sheet-backdrop{z-index:80;background:#18274b47;position:fixed;inset:0}.trace-sheet{border-radius:12px 12px 0 0;width:100%;max-height:70vh;inset:auto 0 0}.error{color:#c74843;background:#fff0ef;border-radius:6px;align-items:flex-start;gap:8px;margin:12px;padding:12px 15px;font-size:13px;line-height:1.7;display:flex}.error svg{flex:none;margin-top:3px}.toast{color:#338151;z-index:100;background:#fff;border:1px solid #d7e9dd;border-radius:7px;align-items:center;gap:8px;padding:13px 22px;display:flex;position:fixed;top:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 28px #162e4f12}.modal{width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;border:1px solid #dfe4eb;border-radius:12px;padding:0;box-shadow:0 20px 70px #15234130}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#172b464d}.modal.wide{width:780px}.modal-head{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;padding:18px 23px;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:18px}.modal-back{color:var(--primary);min-height:36px;box-shadow:none;background:0 0;border:0;gap:2px;padding:0 4px;font-size:16px}.modal-back:hover{background:#edf4ff;border-color:#0000}.form-body{flex-direction:column;gap:17px;padding:23px;display:flex}.form-body p{margin-bottom:0;font-size:13px;line-height:1.8}.form-body .error{margin:0}.field-target{outline-offset:3px;background:#fff6f6;border-radius:8px;outline:2px solid #e23b3b}.field-target>input,.field-target>textarea,.field-target>select,.field-target .choice-select{color:var(--ink);border-color:#e23b3b}label.field-target,.field-target .choice-label{color:#d84444}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.span-2{grid-column:span 2}.attachment-field{color:var(--ink);gap:6px;font-size:14px;display:grid}.attachment-field small,.attachment-list small{color:var(--muted);font-size:12px}.attachment-list{gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.attachment-list li{align-items:center;gap:10px;min-width:0;display:flex}.attachment-list a,.attachment-list li>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-list a{color:var(--primary)}.attachment-list button{min-height:32px;margin-left:auto;padding:4px 10px}.attachment-preview-trigger{max-width:160px;color:var(--primary);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:13px;line-height:1.4;overflow:hidden}.attachment-preview-trigger:hover{text-decoration:underline}.attachment-preview-body{gap:12px;padding:16px 20px 20px;display:grid}.attachment-preview-switch{flex-wrap:wrap;gap:8px;display:flex}.attachment-preview-switch button{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.attachment-preview-switch button[aria-current=true]{color:var(--primary);border-color:var(--primary)}.attachment-upload-button{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.attachment-preview-error{color:#bf4141;margin:0;font-size:13px}.attachment-preview-stage{background:#f4f6f8;border-radius:8px;place-items:center;min-height:180px;max-height:min(70vh,720px);display:grid;overflow:auto}.attachment-preview-stage.pages{padding:16px 12px 24px;display:block}.docx-preview-host,.pdf-preview-host{width:min(100%,860px);margin:0 auto}.pdf-preview-host .pdf-report-page{background:#fff;margin-bottom:16px;line-height:0;box-shadow:0 0 10px #00000080}.pdf-preview-host canvas{width:100%;height:auto;display:block}.docx-preview-host .docx-report-wrapper{background:0 0;padding:0}.docx-preview-host .docx-report-wrapper>section.docx-report{margin-bottom:16px}@font-face{font-family:宋体;src:local(宋体),local(SimSun),local(Songti SC),local(STSong)}@font-face{font-family:仿宋_GB2312;src:local(仿宋_GB2312),local("FangSong"),local(STFangsong),local(Songti SC),local(STSong)}@font-face{font-family:仿宋;src:local(仿宋),local("FangSong"),local(STFangsong),local(Songti SC)}.attachment-preview-stage img{object-fit:contain;max-width:100%;max-height:min(70vh,720px)}.attachment-preview-stage pre{box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;width:100%;margin:0;padding:12px;font-size:13px}.attachment-preview-stage>p{text-align:center;gap:6px;margin:0;padding:16px;display:grid}.attachment-preview-stage>p small,.attachment-preview-foot small{color:var(--muted);font-size:12px}.attachment-preview-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.attachment-preview-foot span{min-width:0;display:grid}.attachment-preview-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.attachment-delete-button,.attachment-preview-foot a{align-items:center;gap:6px;min-height:36px;display:inline-flex}.attachment-delete-button{background:0 0;padding:0 10px}.mobile-overview,.mobile-files{color:#596474;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}button.mobile-files{color:#5b7190;text-align:left;text-underline-offset:3px;justify-content:flex-start;max-width:100%;min-height:32px;font-size:12px;font-weight:400;text-decoration:underline}button.mobile-files:hover,button.mobile-files:active{color:var(--primary);background:0 0;border-color:#0000}.mobile-overview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.required{color:#e55a57}.case-form-scroll{max-height:calc(100dvh - 205px);padding:20px 26px 26px;overflow:auto}.case-form-scroll h3{border-left:3px solid #4387eb;margin:23px 0 17px;padding-left:9px;font-size:14px}.case-form-scroll h3 small{color:#9aa2ad;margin-left:9px;font-size:11px;font-weight:400}.detail-status{color:#8a93a0;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.detail-status>span{align-items:center;gap:7px;display:flex}.modal-footer{border-top:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:16px 23px;display:flex}.footer-spacer{flex:1}.form-actions{justify-content:flex-end;gap:9px;margin-top:8px;display:flex}.profit-preview{color:#7f8997;background:#f6f8fb;border-radius:6px;align-items:center;gap:10px;margin-top:15px;padding:12px 15px;font-size:12px;display:flex}.profit-preview strong{color:#476589;font-size:15px;font-weight:500}.profit-preview span{color:#9ba3ad;margin-left:auto}.warning{color:#997b3d;background:#fff8e8;border-radius:5px;margin-top:15px;padding:10px 13px;font-size:12px;line-height:1.7}.login-page{background:#f5f7fa;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:90px 22px 50px;display:flex;position:relative}.login-brand{align-items:center;gap:11px;font-size:18px;font-weight:600;display:flex;position:absolute;top:30px;left:36px}.login-card{background:#fff;border:1px solid #e4e8ed;border-radius:12px;width:420px;max-width:100%;padding:36px;box-shadow:0 10px 35px #1a375907}.login-lock{color:#337fee;background:#edf4ff;border-radius:11px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:22px;display:flex}.login-card h1{margin:0 0 12px;font-size:24px}.login-card>p{color:#939aa5;margin-bottom:26px;font-size:13px;line-height:1.8}.login-card form{flex-direction:column;gap:18px;display:flex}.login-card input{min-height:43px}.login-card .error{margin:0}.login-submit{min-height:44px;margin-top:4px}.login-help{color:#929ba8;border-top:1px solid #eef0f3;align-items:center;gap:6px;margin-top:25px;padding-top:19px;font-size:11px;display:flex}.login-page footer{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:28px;display:flex}.login-page footer p{letter-spacing:1px;color:#a8b0bc;margin:0;font-size:12px}.login-page footer a{color:#5c6778;font-size:13px;line-height:1.4;text-decoration:none}.login-page footer a:hover{color:#2876ed;text-decoration:underline}.login-card .form-body{padding:10px 0 0}.initial-loading{color:#8c97a6;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100dvh;display:flex}.initial-loading p{font-size:13px}@media (min-width:1600px){.topbar{height:87px}.table-scroll{max-height:calc(100dvh - 337px)}.ledger-table td{height:55px}.main-surface{margin:22px 24px 0}.reports-content{padding:28px}.chart-wrap{height:320px}.wide-chart .chart-wrap{height:360px}}@media (max-width:1050px){.access-hint,.workspace-tag{display:none}.topbar{padding:0 20px}.tabs{gap:15px;padding:0 18px}.toolbar{gap:9px}.table-scroll{max-height:calc(100dvh - 370px)}.charts-grid{grid-template-columns:1fr}.wide-chart{grid-column:auto}.report-caption{flex-direction:column;align-items:flex-start;gap:6px}.table-footer{flex-wrap:wrap;align-items:flex-start}.search{min-width:0}.search input{width:100%}}@media (max-width:640px){.topbar{gap:9px;height:70px;padding:0 14px}.brand h1{font-size:17px}.brand{gap:8px}.brand-icon{border-radius:6px;width:31px;height:31px}.top-actions{gap:4px}.profile>span:not(.avatar),.profile>svg{display:none}.top-actions>.icon{width:28px;min-width:28px}.tabs{gap:16px;height:48px;padding:0 14px}.tabs button{gap:5px;font-size:14px}.main-surface{border-radius:7px;margin:10px 7px 0}.toolbar{gap:8px;padding:10px}.search-row{gap:8px}.search{flex:1;width:auto;min-width:0;max-width:none;height:44px}.search input{width:100%;min-width:0;min-height:44px}.filter-panel{padding:0 10px 10px}.filter-panel label{width:100%;min-width:0}.view-caption{padding:10px 12px}.table-scroll{max-height:calc(100dvh - 335px)}.ledger-table td.sticky-case,.ledger-table th.sticky-case{box-shadow:none;position:static}.table-footer{padding:10px 12px;line-height:1.8}.table-footer>span:last-child{font-size:11px}.footer-separator{margin:0 8px}.filter-panel{gap:10px}.filter-panel label,.filter-panel .filter-field{width:100%}.choice-select{display:none}.choice-chips{display:flex}.choice-chip{min-height:32px}.form-grid .choice-field{grid-column:1/-1}.reports-content{padding:14px 10px}.chart-card{padding:17px 10px 10px}.chart-wrap,.wide-chart .chart-wrap{height:280px}.report-caption{font-size:16px}.report-caption small{font-size:11px}.management{padding:19px 12px}.section-heading h2{font-size:18px}.section-heading p{font-size:12px}.section-heading .primary{padding:7px 9px;font-size:12px}.role-guide{padding:13px;font-size:12px}.simple-table td,.simple-table th{padding:12px 10px}.audit-list summary{flex-wrap:wrap;gap:7px}.audit-list time{width:100%;margin-left:39px}.audit-detail{grid-template-columns:1fr}.modal{max-width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}.modal-head{padding:14px 17px}.case-form-scroll{max-height:calc(100dvh - 155px);padding:17px}.form-grid{grid-template-columns:1fr;gap:13px}.span-2{grid-column:auto}.case-form-scroll h3 small{margin:6px 0 0;display:block}.profit-preview{flex-wrap:wrap}.profit-preview span{margin-left:0}.modal-footer{padding:12px}.login-brand{font-size:17px;top:24px;left:20px}.login-card{padding:28px 24px}.form-body{padding:19px}.toast{max-width:calc(100vw - 28px);font-size:12px;top:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.mobile-cases{display:none}@media (max-width:640px){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button,button.icon,.tabs button{min-height:44px}button.icon{min-width:44px}input,select,textarea{min-height:44px;font-size:16px}.search{flex:1;min-width:0;height:44px}.search input{width:100%;min-width:0}.filter-panel label{min-width:0}.filter-panel input,.filter-panel select{width:100%;min-width:0}.desktop-ledger{display:none}.mobile-cases{background:var(--bg);gap:10px;padding:12px;display:grid}.mobile-case{text-align:left;white-space:normal;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:9px;padding:16px;display:flex}.mobile-case:active{background:0 0}.mobile-case strong{overflow-wrap:anywhere;font-size:17px;line-height:1.5}.mobile-case-top,.mobile-case-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-case-plate{font-size:15px}.mobile-case-number{color:#596474;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.mobile-case-bottom{border-top:1px solid var(--line);margin-top:3px;padding-top:12px;font-size:12px;line-height:1.6}.mobile-case-bottom>span:last-child{flex-shrink:0}.table-footer{flex-wrap:wrap;gap:6px}.table-footer>span:last-child{font-size:12px}.modal.wide{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);border-radius:0;margin:0}.modal.wide[open]{flex-direction:column;display:flex}.modal.wide>form{flex-direction:column;flex:1;min-height:0;display:flex}.modal.wide .modal-head{flex-shrink:0}.modal.wide .case-form-scroll{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;overflow-y:auto}.modal.wide .modal-footer{padding-bottom:max(12px, env(safe-area-inset-bottom));flex-shrink:0}.main-surface{margin-bottom:max(12px, env(safe-area-inset-bottom))}}.password-field{width:100%;display:block;position:relative}.password-field input{padding-right:48px}.password-field .password-toggle{width:44px;min-height:0;color:var(--muted);background:0 0;border:0;padding:0;position:absolute;top:0;bottom:0;right:1px}.password-field .password-toggle:hover{color:var(--primary);background:#2876ed0a}.password-field .password-toggle:focus-visible{outline-offset:-3px}.ledger-table .clickable-case-row{cursor:pointer}.ledger-table .clickable-case-row:focus-within td{background:#f5f8fd}@media (min-width:641px){.ledger-table th{height:38px;padding:0 10px}.ledger-table td{height:40px;padding:0 10px;font-size:13px}.ledger-table .badge{padding:3px 7px}}.mobile-case-container{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.mobile-case-container .mobile-case{width:100%;box-shadow:none;background:0 0;border:0}.mobile-case-detail{min-height:44px;color:var(--primary);background:0 0;border:0;flex-shrink:0;padding:0 4px;font-size:13px}.mobile-case-detail:hover,.mobile-case-detail:active{background:#edf4ff;border-color:#0000}.mobile-progress{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-size:15px;font-weight:600;line-height:1.5}.mobile-finance-actions{flex-wrap:nowrap;align-items:stretch;gap:8px;margin:0 16px 12px;display:flex}.mobile-finance-actions .trace-mark{flex:0 0 28px;align-self:center;width:28px;height:28px}.finance-action-button{min-width:0;color:var(--primary);flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:7px 6px;font-size:13px;display:inline-flex;overflow:hidden}.period-trigger{flex-shrink:0;min-height:44px}.calendar-dialog{--cal:#1a9b8a;color:#3d4654;border:0;border-radius:4px;width:320px;max-width:calc(100vw - 32px);max-height:88dvh;padding:0;overflow:hidden;box-shadow:0 12px 40px #16203340}.calendar-dialog[open]{flex-direction:column;display:flex}.calendar-dialog::backdrop{background:#16203366}.calendar-dialog button{box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0}.calendar-dialog button:hover{background:0 0;border-color:#0000}.calendar-banner{background:var(--cal);color:#fff;padding:18px 20px 16px}.calendar-banner p{opacity:.92;margin:0 0 6px;font-size:13px}.calendar-banner strong{letter-spacing:.02em;font-size:22px;font-weight:700}.calendar-nav{color:#252b35;grid-template-columns:44px 1fr 44px;align-items:center;padding:8px 8px 2px;font-size:15px;font-weight:600;display:grid}.calendar-nav strong{text-align:center}.calendar-nav-button{color:#7b8493;min-width:44px;min-height:44px}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week{text-align:center;color:#9aa3b2;padding:6px 10px 4px;font-size:12px}.calendar-months{padding:0 10px 16px}.calendar-grid{row-gap:2px}.calendar-grid button{place-items:center;min-width:0;min-height:42px;padding:0;display:grid}.calendar-grid button span{border-radius:50%;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.calendar-grid .is-today:not(.range-start):not(.range-end) span{color:var(--cal);font-weight:600}.calendar-grid .in-range{color:#252b35;background:#e7f6f3}.calendar-grid .range-start,.calendar-grid .range-end{background:#e7f6f3}.calendar-grid .range-start span,.calendar-grid .range-end span{background:var(--cal);color:#fff;font-weight:600}.calendar-grid .range-start{border-radius:22px 0 0 22px}.calendar-grid .range-end{border-radius:0 22px 22px 0}.calendar-grid .week-start{border-radius:22px 0 0 22px}.calendar-grid .week-end{border-radius:0 22px 22px 0}.calendar-grid .range-start.range-end{background:0 0;border-radius:22px}.calendar-footer{padding:4px 8px 12px;padding-bottom:max(12px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-footer-end{gap:4px;display:flex}.calendar-action{min-height:44px;color:var(--cal);padding:0 12px;font-size:15px;font-weight:500}.calendar-action.confirm{font-weight:700}@media (max-width:640px){.calendar-dialog{border-radius:4px;width:min(320px,100vw - 32px);max-height:88dvh;margin:auto}.period-trigger{max-width:100%;font-size:13px}.filter-period{width:calc(50% - 6px);min-width:0}.filter-period .period-trigger{min-height:44px}}.mobile-card-heading{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 0;display:flex}.quick-status-trigger{text-overflow:ellipsis;max-width:60%;min-height:44px;overflow:hidden}.status-picker-dialog{width:min(320px,100vw - 32px);color:var(--ink);border:0;border-radius:8px;padding:18px 16px 16px;box-shadow:0 12px 40px #16203340}.status-picker-dialog[open]{display:block}.status-picker-dialog::backdrop{background:#16203366}.status-picker-dialog p{margin:0 0 12px;font-size:15px;font-weight:600}.status-picker-chips{flex-wrap:wrap;gap:8px;display:flex!important}.mobile-only{display:none}mark{color:inherit;background:#fff0b3;border-radius:2px}.progress-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.progress-expand{color:var(--primary);background:0 0;border:0;padding:0;font-size:13px}.quick-status-trigger{background:0 0;border:0;flex-shrink:0;max-width:none;padding:0;overflow:visible}.quick-status-trigger:hover{background:0 0}.quick-status-trigger .badge{align-items:center;gap:4px;padding:0 8px;font-size:12px;line-height:24px;display:inline-flex}.quick-status-trigger .badge.blue{color:#255fae;background:#eaf2ff}.quick-status-trigger .badge.slate{color:#535d6b;background:#eef0f3}.quick-status-trigger .badge.forest{color:#256446;background:#e4f3eb}.quick-status-trigger .badge.crimson{color:#a63635;background:#fff0ef}.status-picker-head{justify-content:space-between;align-items:center;display:flex}.status-picker-head p{margin:0;font-size:18px}.status-picker-dialog .status-picker-hint{color:#596474;margin:4px 0 12px;font-size:12px;font-weight:400;line-height:1.6}.status-picker-chips{grid-template-columns:1fr 1fr;gap:8px;display:grid!important}.status-picker-chips .choice-chip.status{color:var(--ink);border:1px solid var(--line);text-align:left;white-space:normal;background:#f7f8fa;justify-content:flex-start;gap:8px;min-height:56px;padding:8px 10px;font-size:14px;display:flex}.status-picker-chips .choice-chip.status.selected{border-color:var(--primary);box-shadow:none;background:#edf4ff}.status-option-label{flex:1}.status-option-label small{color:#596474;margin-top:3px;font-size:12px;font-weight:400;display:block}.status-dot{background:#64748b;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.blue{background:#2876ed}.status-dot.sage,.status-dot.forest,.status-dot.mint{background:#2d825b}.status-dot.crimson{background:#bf4141}.account-menu>button{justify-content:flex-start;min-height:48px}@media (max-width:640px){.mobile-only{display:inline-flex}.desktop-brand-title,.topbar .brand-icon,.desktop-logout{display:none}.topbar{height:52px;padding:0 16px}.brand h1{font-size:18px;font-weight:600}.top-actions{gap:8px}.profile{justify-content:center;min-width:44px;min-height:44px}.mobile-new{color:var(--primary);border:0;min-width:60px;min-height:44px;padding:0 4px;font-size:14px;font-weight:500}.tabs{gap:20px;height:44px;padding:0 16px}.tabs button{padding:0;font-size:15px}.tabs button svg,.search-focused>.topbar,.search-focused>.tabs{display:none}.ledger-active .main-surface{border:0;border-radius:0;margin:0}.ledger-active .toolbar{border:0;padding:12px 16px 0}.ledger-active .search-row{width:100%}.ledger-active .search-row>button:not(.search-back){display:none}.ledger-active .search{background:#f6f7f9;border-radius:10px;flex:1;width:100%;max-width:none;height:44px;padding-left:12px}.ledger-active .search input{background:0 0;padding-left:8px;font-size:16px}.ledger-active .search input::placeholder{font-size:14px}.search .icon{flex-shrink:0;width:44px;height:44px;padding:0}.search-back{color:#1f2329;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0}.ledger-active .filter-panel{border:0;justify-content:space-between;align-items:center;gap:8px;padding:4px 16px;display:none}.mobile-filter-bar{color:#596474;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;min-height:38px;padding:0 16px;font-size:13px;display:flex}.mobile-filter-bar button{color:var(--primary);background:0 0;border:0;padding:8px 0;font-size:14px;font-weight:600}.mobile-filter-strip{z-index:8;background:var(--surface);border-bottom:1px solid #edf0f4;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;min-height:42px;padding:0 8px;display:grid;position:relative}.mobile-filter-strip.mine{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.mobile-filter-menu{z-index:1;width:100%;min-width:0;height:42px;position:relative}.mobile-filter-menu>button{color:#30343b;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;width:100%;height:36px;min-height:36px;margin:3px 0;font-size:13px;overflow:hidden}.mobile-filter-chevron{color:currentColor;flex:none;margin-left:1px}.mobile-filter-menu>button.selected{color:var(--primary)}.mobile-filter-menu.has-clear>button:first-child{background:#eef5ff;border-radius:8px;width:100%;min-height:36px;margin:3px 0;padding-right:24px}.mobile-filter-menu>.mobile-filter-clear{z-index:1;color:#8b949e;background:0 0;border:0;border-radius:50%;width:22px;height:22px;min-height:22px;padding:0;font-size:18px;line-height:24px;display:inline-flex;top:50%;right:3px;transform:translateY(-50%);position:absolute!important}.mobile-filter-clear:hover{color:var(--primary);background:#eef2f6}.mobile-filter-clear-all{color:#8b949e;background:0 0;border:0;border-left:1px solid #e5e7eb;justify-content:center;align-items:center;width:32px;height:36px;min-height:36px;margin:3px 0;padding:0;font-size:18px;display:inline-flex}.mobile-filter-clear-all:hover{color:var(--primary)}.mobile-filter-options{z-index:2;background:var(--surface);border:1px solid #e3e7ed;border-radius:0 0 10px 10px;max-height:280px;position:absolute;top:42px;left:4px;right:4px;overflow-y:auto;box-shadow:0 8px 18px #141e2d24}.mobile-filter-dismiss{z-index:0;background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:fixed;inset:0}.mobile-filter-options button{width:100%;min-height:42px;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:14px;display:flex}.mobile-filter-options button.active{color:var(--primary);background:#f1f6ff;font-weight:600}.mobile-filter-sheet{z-index:30;display:block;position:fixed;inset:0}.mobile-filter-backdrop{background:#141e2d59;border:0;width:100%;position:absolute;inset:0}.mobile-filter-dialog{box-sizing:border-box;height:min(82dvh,620px);padding:18px 16px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-radius:18px 18px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 28px #141e2d24}.mobile-filter-head,.mobile-filter-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-filter-head h2{margin:0;font-size:18px}.mobile-filter-head{border-bottom:1px solid #edf0f4;flex-shrink:0;padding-bottom:4px}.mobile-filter-head button,.mobile-filter-actions button{min-height:40px;color:var(--primary);background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:14px}.mobile-filter-fields{gap:12px;min-height:0;margin:18px 0;display:grid;overflow-y:auto}.mobile-filter-fields label{color:#596474;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;line-height:1.35;display:grid}.mobile-filter-fields select{background:var(--surface);width:100%;min-width:0;min-height:42px;color:var(--ink);border:1px solid #dfe4eb;border-radius:8px;padding:0 10px}.mobile-filter-actions{background:var(--surface);border-top:1px solid #edf0f4;flex-shrink:0;padding-top:12px}.mobile-filter-actions button:disabled{color:#aab2bd}.mobile-filter-actions .primary{background:var(--primary);color:#fff;flex:1}.ledger-active .filter-panel label{color:#596474;flex-direction:row;align-items:center;gap:6px;width:auto;font-size:13px}.ledger-active .filter-panel select{width:auto;max-width:150px;color:var(--ink);background-color:#0000;border:0;padding:8px 4px;font-size:14px}.result-count{color:#596474;flex-shrink:0;font-size:12px}.ledger-active .view-caption{display:none}.mobile-cases{gap:12px;min-height:160px;padding:12px 16px}.mobile-case-container{border-radius:12px}.mobile-card-heading{align-items:flex-start;gap:8px;padding:8px 12px 0}.mobile-case-identity{overflow-wrap:anywhere;flex:1;min-width:0;padding:10px 0 2px;font-size:16px;font-weight:600;line-height:24px}.identity-divider{color:#8a929e;font-weight:400}.mobile-case-container .mobile-case{gap:8px;padding:0 12px}.mobile-case-number{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px;display:flex}.mobile-case-number .badge{padding:0 6px;font-size:12px;line-height:24px}.mobile-progress{color:var(--ink);font-size:15px;font-weight:600;line-height:22px}.mobile-match-contact{color:#596474;overflow-wrap:anywhere;font-size:13px}.mobile-case-bottom{color:#596474;border:0;gap:4px;min-height:44px;margin:-4px 0 0;padding:0;font-size:12px}.mobile-case-bottom>span{overflow-wrap:anywhere;min-width:0}.mobile-case-detail{gap:0;min-width:48px;padding:0;font-size:13px}.mobile-finance-actions{border-top:1px solid var(--line);gap:4px;margin:0 12px;padding:4px 0}.finance-action-button{white-space:normal;overflow-wrap:anywhere;border:0;border-radius:6px;flex-wrap:wrap;gap:2px 4px;min-height:44px;padding:6px 2px;font-size:14px;font-weight:500}.finance-action-button span{font-size:12px;font-weight:400}.pull-refresh{text-align:center;color:#596474;padding:8px;font-size:13px}.modal:not(.wide),.status-picker-dialog{width:100%;max-width:100%;max-height:85dvh;padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0;margin:0;position:fixed;inset:auto 0 0;overflow-y:auto}.status-picker-dialog{padding:12px 16px max(20px, env(safe-area-inset-bottom))}.modal-head{padding:12px 16px}.status-picker-chips .choice-chip.status{min-height:60px}.ledger-active .filter-panel label{display:flex}.mobile-identity-plate{max-width:100%;display:inline-block}.search-focused .search input::placeholder{font-size:13px}.ledger-active .filter-panel{justify-content:flex-start;gap:0 12px}.ledger-active .filter-panel label{flex:140px;min-width:0}.ledger-active .filter-panel select{flex:1;min-width:0;max-width:100%}.ledger-active .filter-panel .result-count{justify-content:flex-end;width:100%;padding-bottom:4px}}.desktop-case-filters{display:contents}.dispatch-filter{color:#66707e;flex-direction:column;gap:6px;font-size:12px;display:flex}.dispatch-filter .period-trigger{min-height:39px;font-size:14px}@media (min-width:641px){.ledger-active .filter-panel{gap:12px;padding-top:8px}.ledger-active .filter-panel label,.ledger-active .filter-panel .filter-field{width:145px}}@media (max-width:640px){.desktop-case-filters{display:none}}.expense-summary{padding:24px}.expense-search-row{align-items:center;gap:8px;padding-bottom:16px;display:flex}.expense-summary .search{background:#f6f7f9;border-color:#0000;border-radius:10px;flex:1;width:100%;max-width:none;height:44px;padding-left:12px}.expense-summary .search input{background:0 0;padding-left:8px;font-size:13px}.expense-summary .search input::placeholder{font-size:14px}.expense-hint{color:#596474;font-size:13px}.expense-metrics{border:1px solid var(--line);background:#f7faff;border-radius:12px;grid-template-columns:1fr 1fr 1fr;display:grid}.expense-metrics>div{gap:10px;padding:20px;display:grid}.expense-metrics span{color:#596474;font-size:13px}.expense-metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:26px}.expense-hint{margin:10px 0 20px}.expense-people{margin-bottom:20px}.expense-people summary{cursor:pointer;padding:12px 0}.expense-people>div{flex-wrap:wrap;gap:8px;display:flex}.expense-people [aria-pressed=true]{color:#255fae;background:#edf4ff;border-color:#a7c8ef}.expense-list-heading{justify-content:flex-start;align-items:center;gap:12px;margin:0 0 8px;display:flex}.expense-list-heading>span{color:#596474;font-size:13px}.expense-table-wrap{overflow-x:auto}.expense-table{border-collapse:collapse;width:100%}.expense-table th,.expense-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px}.expense-table th{color:#596474;background:#f7f8fa;font-weight:500}.expense-table small{color:#596474;margin-top:6px;display:block}.expense-table td{vertical-align:top}.expense-note{white-space:pre-wrap;overflow-wrap:anywhere;max-width:360px}.expense-summary mark{color:inherit;background:#fff0b3;border-radius:2px}.expense-mobile-list{display:none}@media (max-width:640px){.expense-summary{padding:12px 16px 16px}.expense-search-row{padding-bottom:12px}.expense-summary .search input{font-size:16px}.expense-metrics>div{padding:12px 8px}.expense-metrics strong{font-size:18px}.expense-table-wrap{display:none}.expense-mobile-list{display:block}.expense-mobile-list details{border-bottom:1px solid var(--line)}.expense-mobile-list summary{cursor:pointer;align-items:center;gap:8px;padding:16px 0;list-style:none;display:flex}.expense-mobile-list summary::-webkit-details-marker{content:none;display:none}.expense-mobile-list summary::marker{content:none;display:none}.expense-chevron{color:#8b95a4;flex-shrink:0;transition:transform .15s ease-out}.expense-mobile-list details[open] .expense-chevron{transform:rotate(90deg)}.expense-mobile-list summary strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;font-weight:500}.expense-mobile-amount{color:#255fae;font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:2px;font-weight:600;display:inline-flex}.expense-edit{color:#7690b0;width:44px;min-width:44px;height:44px}.expense-mobile-detail{gap:6px;padding:0 0 16px 24px;display:grid}.expense-mobile-detail p{color:#596474;margin:0;font-size:13px}}.settlement-panel{max-width:1120px;margin:0 auto;padding:28px 22px 48px}.settlement-head h2{margin-bottom:6px}.settlement-head p,.settlement-note,.settlement-drop p,.settlement-side figcaption{color:var(--muted);margin:0}.settlement-drop{background:#fbfcfe;border:1.5px dashed #c5ceda;border-radius:12px;flex-direction:column;align-items:center;gap:8px;margin:16px 0;padding:22px 16px;display:flex;position:relative}.settlement-drop.drag{border-color:var(--primary);background:#f3f8ff}.settlement-drop input{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settlement-drop button{min-height:44px}.settlement-spinner{border:2px solid #d5dbe3;border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite settlement-spin}@keyframes settlement-spin{to{transform:rotate(360deg)}}.settlement-error,.settlement-warning,.settlement-confirm{border-radius:8px;margin:0 0 12px;padding:10px 12px}.settlement-error{color:#b73d3d;background:#fff0f0}.settlement-warning{color:#8a5a10;background:#fff8eb}.settlement-confirm{border:1px solid var(--line);background:#f7f8fa;justify-content:space-between;align-items:center;gap:12px;display:flex}.settlement-confirm p{margin:0}.settlement-confirm div{gap:8px;display:flex}.settlement-grid{grid-template-columns:minmax(0,1fr) minmax(300px,440px);align-items:start;gap:22px;margin-top:8px;display:grid}.settlement-grid>*{min-width:0}.settlement-fields,.settlement-fees{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.settlement-fields .wide,.settlement-fees label{grid-column:auto}.settlement-fields .wide,.settlement-fees .wide,.settlement-supplement .wide{grid-column:1/-1}.settlement-supplement{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:12px;display:grid}.settlement-panel h3{margin:18px 0 6px}.settlement-panel input.need{background:#fffdf8;border-color:#e2b15a}.customer-combo{position:relative}.customer-combo input{margin-top:6px}.customer-combo-list{z-index:30;background:#fff;border:1px solid #dce0e6;border-radius:8px;max-height:240px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #1820301f}.customer-combo-list button{width:100%;min-height:40px;color:var(--ink);white-space:normal;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:flex-start;padding:8px 10px;font-weight:400;line-height:1.4}.customer-combo-list button.active,.customer-combo-list button:hover{background:#f3f7fd;border-color:#0000}.customer-combo-note,.customer-combo-split{color:var(--muted);margin:0;padding:8px 10px;font-size:13px;line-height:1.45}.customer-combo-split{padding-bottom:2px;font-size:12px}@media (max-width:800px){.customer-combo-list{box-shadow:none;margin-top:4px;position:static}}.settlement-panel input::placeholder{color:#a8b0ba}.settlement-panel input.invalid{background:#fff8f8;border-color:#d26464}.settlement-total{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:14px 0;padding:12px 0;display:flex}.settlement-total strong{font-size:20px}.settlement-bank{gap:8px;margin:0 0 12px;display:grid}.settlement-bank div{grid-template-columns:72px 1fr;gap:8px;display:grid}.settlement-bank dt{color:var(--muted)}.settlement-bank dd{overflow-wrap:anywhere;margin:0}.settlement-side{gap:12px;display:grid}.settlement-side figure{margin:0}.settlement-side figcaption{color:var(--ink);margin-bottom:8px;font-size:15px;font-weight:600}.settlement-side img,.settlement-preview img{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-width:100%;height:auto;display:block}.settlement-preview{background:#f3f4f6;border-radius:8px;max-width:100%;overflow:hidden}.settlement-download{width:100%;min-height:44px}@media (max-width:800px){.settlement-panel{padding:16px 12px 28px}.settlement-grid{grid-template-columns:minmax(0,1fr)}.settlement-fields,.settlement-fees{gap:8px 10px}.settlement-fields label,.settlement-fees label,.settlement-supplement label{font-size:13px;line-height:1.3}.settlement-panel h3{margin:8px 0 4px}.settlement-cover img{object-fit:contain;object-position:top center;max-height:180px}.settlement-confirm{flex-direction:column;align-items:stretch}.settlement-panel input,.settlement-confirm button{min-height:44px}}.expense-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.expense-period{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.expense-toolbar .expense-search-row{flex:1;min-width:260px;max-width:480px;margin-left:auto;padding-bottom:0}.expense-period button{min-height:44px}.expense-metrics-personal{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-metrics strong small{color:#596474;font-size:13px;font-weight:400}.expense-staff{margin:24px 0}.expense-table .expense-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.expense-summary .expense-text-button{color:#255fae;min-height:32px;box-shadow:none;white-space:nowrap;background:0 0;border:0;padding:4px 0}.expense-staff-table{max-width:800px}.expense-staff-table tbody tr{cursor:pointer}.expense-staff-table tbody tr:hover,.expense-staff-table .is-selected{background:#edf4ff}.expense-summary .expense-person-button{color:inherit;min-height:32px;box-shadow:none;background:0 0;border:0;padding:0}.expense-staff-table .is-selected .expense-person-button{color:#255fae;font-weight:600}.expense-table .expense-note{width:28%}@media (max-width:640px){.expense-toolbar{gap:10px}.expense-toolbar .expense-search-row{flex-basis:100%;min-width:0;max-width:none}.expense-period{gap:4px;width:100%}.expense-period .period-trigger{padding:6px;font-size:12px}.expense-period>.icon{width:30px;padding:4px}.expense-period>button:last-child{padding:6px}.expense-staff-table th,.expense-staff-table td{padding:8px}.expense-summary .expense-person-button,.expense-summary .expense-text-button{min-height:44px}.expense-summary{font-size:14px;line-height:1.5}.expense-toolbar{margin-bottom:12px}.expense-summary .search input,.expense-summary .search input::placeholder{font-size:14px}.expense-metrics>div{gap:6px;min-width:0;padding:10px 8px}.expense-metrics span,.expense-metrics strong small,.expense-hint,.expense-list-heading>span{font-size:12px;line-height:1.5}.expense-metrics strong{font-size:20px;font-weight:600;line-height:1.3}.expense-hint{margin:8px 0 12px}.expense-staff{margin:12px 0 16px}.expense-list-heading{flex-wrap:wrap;gap:8px;min-height:32px;margin-bottom:6px}.expense-list-heading>strong{font-size:15px;font-weight:600;line-height:1.5}.expense-summary .expense-text-button{font-size:13px;line-height:1.5}.expense-staff-table th{vertical-align:middle;height:44px;padding:0 8px;font-size:13px}.expense-staff-table td{vertical-align:middle;height:48px;padding:0 8px;font-size:14px}.expense-summary .expense-person-button{font-size:14px;line-height:1.5}.expense-mobile-list summary{min-height:56px;padding:6px 0}.expense-mobile-list summary strong,.expense-mobile-amount{font-size:14px;line-height:1.5}.expense-mobile-detail{gap:4px;padding-bottom:12px}.expense-mobile-detail p{font-size:12px;line-height:1.5}}
