@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@600;700&display=swap";:root{--pine: #123B34;--pine-2: #1E5548;--moss: #2E6B5B;--clay: #D9722B;--clay-soft: #FBEEE1;--brick: #C0453B;--brick-soft: #FBECE9;--paper: #F6F3EC;--card: #FFFFFF;--ink: #1C2421;--ink-2: #5A665F;--ink-3: #8A928B;--line: #E4DED1;--line-2: #D6CFC0;--green-soft: #E8F1EB;--gold: #B8893B;--sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--serif: "Noto Serif SC", "Songti SC", "SimSun", serif;--mono: "DM Mono", "Consolas", "Courier New", monospace;--radius: 6px;--radius-lg: 8px;--shadow-soft: 0 1px 2px rgba(28, 36, 33, .04), 0 8px 24px rgba(28, 36, 33, .05)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}.ledger-num,.ant-statistic-content,.ant-table-cell .ledger-num{font-family:var(--mono)!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ledger-serif{font-family:var(--serif)}.ledger-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.ledger-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-3)}.ledger-muted{color:var(--ink-3)}.ledger-clay{color:var(--clay)!important}.ledger-red{color:var(--brick)!important}.ledger-green{color:var(--moss)!important}.ledger-pine{color:var(--pine)!important}.ant-card{border-color:var(--line)!important;box-shadow:var(--shadow-soft)!important;border-radius:var(--radius-lg)!important}.ant-card-head{border-bottom-color:var(--line)!important;min-height:46px!important}.ant-card-head-title{font-family:var(--serif)!important;font-size:15px!important;color:var(--pine)!important}.ant-table-thead>tr>th{font-weight:500!important;font-size:11px!important;letter-spacing:.03em;border-bottom:1px solid var(--line-2)!important}.ant-table-tbody>tr>td{border-bottom-color:var(--line)!important}.ant-table-tbody>tr:hover>td{background:#faf8f2!important}.ant-table-tbody>tr:hover>td:first-child{box-shadow:inset 3px 0 0 var(--clay)}.ant-tag{border-radius:4px!important;font-size:11px!important}.ant-btn-primary{background:var(--clay)!important;border-color:var(--clay)!important;color:#fff!important}.ant-btn-primary:hover{background:#c4641f!important;border-color:#c4641f!important}.ant-btn-default,.ant-input,.ant-input-number,.ant-select-selector,.ant-picker{border-color:var(--line-2)!important}.ant-input:focus,.ant-input-focused,.ant-picker-focused{border-color:var(--moss)!important;box-shadow:0 0 0 2px #2e6b5b17!important}.ledger-page-search .ant-input-search-button{background:var(--clay);border-color:var(--clay)}.ledger-page-search .ant-input-search-button:hover{background:#c4641f!important;border-color:#c4641f!important}.ledger-page-search .ant-input-search-button .anticon{color:#fff;font-size:15px}.ledger-page-search .ant-input-group .ant-btn{box-shadow:none}.ant-divider-inner-text{font-family:var(--serif);font-size:14px;color:var(--pine)}.ant-divider-horizontal{border-top-color:var(--line)!important}.ant-descriptions-bordered .ant-descriptions-item-label{background:#faf8f2!important;color:var(--ink-3)!important;font-size:12px!important}.ant-drawer-header{border-bottom-color:var(--line)!important}.ant-drawer-title,.ant-modal-title{font-family:var(--serif)!important;color:var(--pine)!important}.ant-statistic-title{font-size:11px!important;color:var(--ink-3)!important}.ant-pagination-item-active{border-color:var(--clay)!important}.ant-pagination-item-active a{color:var(--clay)!important}.ledger-ticket-no{font-family:var(--mono);font-size:10px;color:var(--clay);border:1px solid #EBD3BC;background:var(--clay-soft);padding:3px 8px;border-radius:3px;letter-spacing:.04em;white-space:nowrap}.ledger-tag{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:1px 7px;font-size:10.5px;line-height:1.8;border:1px solid transparent;white-space:nowrap}.ledger-tag-red{background:var(--brick-soft);border-color:#efc9c3;color:var(--brick)}.ledger-tag-green{background:var(--green-soft);border-color:#c6dccc;color:var(--moss)}.ledger-tag-clay{background:var(--clay-soft);border-color:#eed4b8;color:var(--clay)}.ledger-tag-gray{background:#f1efe8;border-color:var(--line);color:var(--ink-2)}.ledger-tag-pine{background:#e4ede8;border-color:#c8dbd0;color:var(--pine)}.ledger-route{font-weight:400;color:var(--pine);border-bottom:1px dashed var(--moss);cursor:pointer}.ledger-route:hover{color:var(--clay);border-bottom-color:var(--clay)}.ledger-shell{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:100vh}.ledger-sider{background:var(--pine);color:#c6d8cf;padding:18px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.ledger-sider::-webkit-scrollbar{width:4px}.ledger-sider::-webkit-scrollbar-thumb{background:#3a6358;border-radius:4px}.ledger-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.ledger-brand-mark{width:32px;height:32px;border:1px solid rgba(255,255,255,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#e9b481;font-size:17px}.ledger-brand-name{font-family:var(--serif);font-size:15px;color:#fff;line-height:1.25}.ledger-brand-sub{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:#8fafa3}.ledger-nav-group{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:#7e9e92;padding:18px 10px 6px}.ledger-nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:2px 0;border-radius:5px;font-size:12.5px;color:#bfd3c9;cursor:pointer;transition:background .16s,color .16s;position:relative;border:0;background:transparent;width:100%;text-align:left}.ledger-nav-item:hover{background:#ffffff12;color:#fff}.ledger-nav-item.on{background:#e9b48126;color:#f3c79c}.ledger-nav-item.on:before{content:"";position:absolute;left:-12px;top:7px;width:3px;height:20px;background:var(--clay);border-radius:0 2px 2px 0}.ledger-nav-item .nav-arrow{margin-left:auto;font-size:10px;opacity:.6}.ledger-sider-foot{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:8px;font-size:11px;color:#9db8ac}.ledger-avatar{width:26px;height:26px;border-radius:50%;background:var(--moss);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-family:var(--mono);flex:none}.ledger-main{background:var(--paper);min-width:0;display:flex;flex-direction:column}.ledger-topbar{height:52px;border-bottom:1px solid var(--line);background:#fcfaf5;display:flex;align-items:center;gap:12px;padding:0 20px;flex:none}.ledger-crumb{font-size:12px;color:var(--ink-2)}.ledger-crumb b{color:var(--ink);font-weight:600}.ledger-content{padding:20px;flex:1;min-width:0}.ledger-page-title{display:flex;align-items:flex-end;gap:12px;margin:0 0 16px;flex-wrap:wrap}.ledger-page-title h3{font-family:var(--serif);font-size:20px;margin:0;color:var(--pine)}.ledger-page-title .sub{font-size:11.5px;color:var(--ink-3);padding-bottom:3px}.ledger-page-title .actions{margin-left:auto;display:flex;gap:8px;align-items:center}.ledger-section{position:relative}.ledger-section:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--pine);border-radius:3px}.ledger-section.alt:before{background:var(--clay)}.ledger-section-head{display:flex;align-items:center;gap:9px;margin:0 0 14px}.ledger-section-head .no{font-family:var(--mono);font-size:10px;color:var(--clay)}.ledger-section-head h4{font-family:var(--serif);font-size:14px;margin:0;color:var(--pine)}.ledger-section-head .line{flex:1;height:1px;background:var(--line)}.ledger-form-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:16px;align-items:start}.ledger-form-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.ledger-cost-line{border:1px solid var(--line);background:#fcfaf5;border-radius:6px;padding:8px 10px;margin-bottom:8px;position:relative}.ledger-cost-line:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--moss);border-radius:2px}.ledger-cost-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ledger-cost-row>.ant-form-item{margin-bottom:0!important}.ledger-cost-row .ant-form-item-explain{position:absolute;top:100%;left:0;white-space:nowrap;z-index:2}.ledger-cost-row>.ant-form-item{position:relative}.ledger-cost-remove{display:inline-flex;align-items:center;justify-content:center;color:var(--brick);cursor:pointer;font-size:14px;padding:0 2px}.ledger-cost-remove:hover{opacity:.7}.ledger-cost-remove.is-locked{color:#b9b4a8!important;cursor:not-allowed}.ledger-ticket-child{margin:0 0 10px 26px;border-left:2px dashed #E7C9A8;padding:6px 0 6px 12px}.ledger-settle{position:sticky;top:16px;background:var(--pine);color:#fff;border-radius:8px;padding:18px;overflow:hidden}.ledger-settle:after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}.ledger-settle h4{font-family:var(--serif);font-size:15px;margin:0 0 2px;color:#fff;position:relative}.ledger-settle .cap{font-size:10.5px;color:#9fc0b2;position:relative}.ledger-settle .big{font-family:var(--mono);font-size:30px;letter-spacing:-.04em;margin:16px 0 2px;position:relative}.ledger-settle .big.neg{color:#f0a79e}.ledger-settle .cap2{font-size:10.5px;color:#9fc0b2;margin-bottom:14px;position:relative}.ledger-settle-row{display:flex;justify-content:space-between;font-size:11.5px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.11);position:relative}.ledger-settle-row .ledger-mono{font-size:12px}.ledger-settle-row .deduct{color:#f3c79c}.ledger-settle-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:14px 0 7px;position:relative}.ledger-settle-note{font-size:10.5px;color:#9fc0b2;line-height:1.8;margin:8px 0 0;position:relative}.ledger-settle .ant-btn-primary{width:100%;margin-top:14px;height:38px;position:relative}.ledger-operated{display:inline-flex;align-items:center;gap:6px;font-family:inherit;border-radius:999px;padding:4px 11px 4px 9px;font-size:12px;font-weight:700;line-height:1.5;border:1px solid transparent;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px #0000000f;transition:background .15s ease,border-color .15s ease}.ledger-operated .anticon{font-size:13px}.ledger-operated.is-pending{background:#eef1f4;border-color:#d7dee6;color:#52606d}.ledger-operated.is-pending:hover{background:#e4e9ee;border-color:#c2ccd6}.ledger-operated.is-done{background:#2e6b5b;border-color:#2e6b5b;color:#fff}.ledger-operated.is-done:hover{background:#265c4e;border-color:#265c4e}.ledger-operated:disabled{opacity:.55;cursor:wait}.ledger-operated:focus-visible{outline:2px solid var(--clay);outline-offset:2px}.ledger-operated.is-readonly{cursor:default}.ledger-operated.is-readonly.is-pending:hover{background:#eef1f4;border-color:#d7dee6}.ledger-operated.is-readonly.is-done:hover{background:#265c4e;border-color:#265c4e}.ledger-order-line{display:flex;align-items:center;gap:5px;min-width:0}.ledger-order-no{display:inline-block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:10px;color:var(--ink-3);line-height:1.5;cursor:pointer}.ledger-order-no:hover{color:var(--pine)}.ledger-orderno-overlay .ant-popover-inner{padding:10px 12px}.ledger-orderno-pop{max-width:320px}.ledger-orderno-pop-label{font-size:10px;color:var(--ink-3);margin-bottom:6px}.ledger-orderno-pop-value{font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--ink);background:#f4f1ea;border:1px solid var(--line-2);border-radius:4px;padding:6px 8px;margin-bottom:8px;word-break:break-all;user-select:all;-webkit-user-select:all;cursor:text}.ledger-orderno-pop .ant-btn{font-size:11px}.ledger-src-badge{flex:none;display:inline-flex;align-items:center;border-radius:3px;padding:0 4px;font-size:9px;line-height:1.5;color:#fff;font-weight:500;white-space:nowrap}.ledger-date-traveled{color:var(--moss);font-weight:400}.ledger-date-nottraveled{color:var(--clay);font-weight:400}.ledger-order-table tr.ledger-list-row>td .ledger-date-stack{display:flex;flex-direction:column;line-height:1.45;white-space:nowrap;font-weight:400}.ledger-order-table tr.ledger-list-row>td .ledger-date-stack>span{font-weight:400}.ledger-operated-mini{padding:2px 0!important;width:22px;max-width:22px;height:20px;justify-content:center;gap:0;font-weight:600;font-size:12px;border-radius:999px;line-height:1}.ledger-operated-mini .anticon{font-size:15px}.ledger-cust-phone{font-family:var(--mono);font-size:10px;color:var(--ink-3);line-height:1.5;margin-top:1px}.ledger-detail-panel{background:#fcfaf5;padding:14px 18px 16px;border-top:1px solid var(--line-2)}.ledger-detail-panel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed var(--line-2);font-size:11px;color:var(--ink-3)}.ledger-ticket-detail-row>.ant-picker,.ledger-ticket-detail-row>.ant-input-number,.ledger-ticket-detail-row>.ant-switch{flex:none}.ledger-order-table .ant-table-expanded-row>td{background:#fcfaf5!important}.ledger-order-table .ant-table-tbody>tr[data-row-key]{cursor:pointer}.ledger-summary-flag{display:inline-flex;align-items:center;gap:6px;color:var(--brick);background:#fbe9e5;border:1px solid #EFC9C3;border-radius:4px;padding:2px 9px}.ledger-summary-flag b{color:var(--brick)!important;font-size:12px!important}.ledger-order-table .ant-table-tbody>tr.ledger-row-alt>td{background:#f2f0e9}.ledger-order-table .ant-table-tbody>tr.ledger-row-unoperated>td{background:#fffbf5}.ledger-order-table .ant-table-tbody>tr.ledger-row-unoperated:hover>td{background:#fff4e6}.ledger-order-table .ant-table-tbody>tr.ledger-row-unoperated>td:first-child{box-shadow:inset 3px 0 0 var(--brick)}.ledger-order-table .ant-table-thead>tr>th{padding-left:4px!important;padding-right:4px!important}.ledger-order-table .ant-table-thead .ledger-th-2line{display:inline-flex;flex-direction:column;line-height:1.3;white-space:nowrap;vertical-align:middle}.ledger-order-table .ant-table-tbody>tr>td{padding-left:4px!important;padding-right:4px!important;vertical-align:middle}.ledger-order-table .ant-table-tbody>tr>td:first-child{padding-left:5px!important;padding-right:3px!important}.ledger-order-table tr.ledger-list-row>td .ledger-route{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.ledger-order-table tr.ledger-list-row>td .ledger-order-no{max-width:120px}.ledger-order-table tr.ledger-list-row>td .ledger-mono{font-size:11px!important;white-space:nowrap}.ledger-order-table tr.ledger-list-row>td .ledger-cust-phone{font-size:9.5px}.ledger-order-table tr.ledger-list-row>td .ledger-pax{font-family:var(--sans)!important;font-size:10px!important;color:var(--ink)!important;font-weight:400!important;line-height:1.5;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-order-table .ledger-remark-cell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--ink-2)}.ledger-order-table .ledger-profit-pending{font-size:10px;color:var(--ink-3)}.ledger-order-table tr.ledger-list-row>td .ledger-profit-value{font-size:11px!important}.ledger-order-table .ledger-op-date{color:var(--pine);font-weight:600;font-family:var(--mono);font-size:10px;letter-spacing:-.02em}.ledger-order-table tr.ledger-list-row>td .ledger-op-main{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-width:0;white-space:nowrap}.ledger-order-table tr.ledger-list-row>td .ledger-tag.ledger-op-tag-stay{flex-wrap:wrap;row-gap:0;width:100%;white-space:normal}.ledger-order-table .ledger-op-stay{flex:0 0 100%;width:100%;color:var(--gold);font-weight:500;font-family:var(--mono);font-size:9px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px dashed var(--line-2);padding-top:2px}.ledger-order-table tr.ledger-list-row>td .ledger-tag{padding:1px 5px;font-size:10px;gap:3px}.ledger-order-table tr.ledger-list-row>td .ledger-op-tag{max-width:100%;overflow:hidden}.ledger-order-table tr.ledger-list-row>td .ledger-tag .anticon{font-size:10px}.ledger-order-table tr.ledger-list-row>td .ant-btn.ant-btn-sm.ant-btn-text{padding:0 3px!important;font-size:11px!important;gap:2px}.ledger-order-table tr.ledger-list-row>td .ant-btn-sm .anticon{font-size:12px}.ledger-order-table tr.ledger-list-row>td:last-child{padding-left:2px!important;padding-right:2px!important}.ledger-order-table .ant-table-thead>tr>th.ledger-col-op,.ledger-order-table .ant-table-tbody>tr>td.ledger-col-op{padding-left:12px!important}.ledger-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fcfaf5;border:1px solid var(--line);border-radius:6px;padding:8px 14px;margin-bottom:12px;font-size:11.5px;color:var(--ink-2)}.ledger-summary b{font-family:var(--mono);color:var(--pine);font-size:13px;font-weight:500}.ledger-summary .warn{margin-left:auto;color:var(--brick);display:flex;align-items:center;gap:6px}.ledger-travel-legend{display:inline-flex;align-items:center;gap:12px;padding:2px 10px;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2)}.ledger-travel-legend .legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:10.5px;color:var(--ink-3)}.ledger-travel-legend .legend-dot{width:9px;height:9px;border-radius:2px;display:inline-block}.ledger-travel-legend .legend-dot.not-traveled{background:var(--clay)}.ledger-travel-legend .legend-dot.traveled{background:var(--moss)}.ledger-filter-panel{margin-bottom:12px}.ledger-date-filter{display:flex;align-items:center;gap:6px;min-width:0}.ledger-date-filter-label{flex:none;font-size:11px;color:var(--ink-3);white-space:nowrap}.ledger-date-filter .ant-picker{flex:1 1 auto;min-width:0}.ledger-filter-hint{margin-top:6px;font-size:10.5px;color:var(--clay)}.ledger-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ledger-overview-item{background:#fbf9f3;border:1px solid var(--line);border-radius:6px;padding:14px 16px}.ledger-overview-item .lbl{font-size:11px;color:var(--ink-3)}.ledger-overview-item .val{font-family:var(--mono);font-size:24px;letter-spacing:-.03em;margin-top:8px}.ledger-dash-empty{padding:18px 4px;text-align:center;font-size:11.5px;color:var(--ink-3)}.ledger-todo-lines{max-height:310px;overflow-y:auto}.ledger-todo-line{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--line);font-size:11.5px}.ledger-todo-line:last-child{border-bottom:0}.ledger-todo-line .todo-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--clay)}.ledger-todo-line.is-overdue .todo-dot{background:var(--brick)}.ledger-todo-line .todo-name{flex:1 1 24%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pine)}.ledger-todo-line .todo-order{flex:1 1 26%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-size:10.5px}.ledger-todo-line .todo-amount{flex:none;font-family:var(--mono);color:var(--ink)}.ledger-todo-line .todo-due{flex:none;font-family:var(--mono);font-size:10px;color:var(--ink-3)}.ledger-todo-line .todo-pay-state{flex:none;font-size:10px;color:var(--clay);background:var(--clay-soft);border-radius:3px;padding:1px 6px}.ledger-todo-line .todo-pay-state.paid{color:var(--moss);background:#eaf3ee}.ledger-todo-line .todo-overdue{flex:none;font-size:10px;color:var(--brick);font-weight:600}.ledger-platform-footer{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0 6px;font-size:10.5px;color:var(--ink-3)}.ledger-platform-footer b{font-weight:500;color:var(--moss)}.ledger-platform-footer .line{width:46px;height:1px;background:var(--line-2)}.ledger-page-loading{display:flex;align-items:center;justify-content:center;min-height:220px}.ledger-kpi-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:12px;margin-bottom:14px}.ledger-kpi{background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px 16px;position:relative;overflow:hidden}.ledger-kpi.hero{background:var(--pine);border-color:var(--pine);color:#fff}.ledger-kpi .lbl{font-size:11px;color:var(--ink-3)}.ledger-kpi.hero .lbl{color:#a9c4b8}.ledger-kpi .val{font-family:var(--mono);font-size:22px;margin:8px 0 4px;letter-spacing:-.03em}.ledger-kpi .val.sm{font-size:18px}.ledger-kpi .delta{font-size:10.5px;color:var(--moss)}.ledger-kpi.hero .delta{color:#9ed3b8}.ledger-kpi .stripe{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--clay)}.ledger-kpi .spark{position:absolute;right:12px;bottom:12px;opacity:.85}.ledger-dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.ledger-bar-row{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:11.5px}.ledger-bar-track{flex:1;height:7px;background:#f0ede4;border-radius:4px;overflow:hidden}.ledger-bar-fill{height:100%;border-radius:4px}.ledger-todo{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}.ledger-todo:last-child{border:0}.ledger-todo .cnt{font-family:var(--mono);font-size:14px;margin-left:auto}.ledger-boss-only{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9.5px;color:var(--gold);border:1px solid #E4D3AE;background:#fbf6e9;padding:3px 8px;border-radius:3px}.ledger-login{display:grid;grid-template-columns:58% 42%;min-height:100vh}.ledger-login-art{background:var(--pine);position:relative;overflow:hidden;padding:44px 40px;color:#fff;display:flex;flex-direction:column}.ledger-login-art .contour{position:absolute;inset:0;width:100%;height:100%;opacity:.5}.ledger-login-art .brandline{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.ledger-login-art .brandline .mark{width:30px;height:30px;border:1px solid rgba(255,255,255,.35);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#e9b481;font-size:16px}.ledger-login-art h2{font-family:var(--serif);font-size:clamp(26px,3vw,38px);margin:auto 0 10px;position:relative;z-index:1;line-height:1.35}.ledger-login-art h2 em{font-style:normal;color:#e9b481}.ledger-login-art .en{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:#8fafa3;position:relative;z-index:1}.ledger-login-art .quote{margin-top:34px;font-size:12px;color:#a9c4b8;border-top:1px solid rgba(255,255,255,.16);padding-top:14px;position:relative;z-index:1}.ledger-login-art .stamp{position:absolute;right:34px;top:40px;border:1px solid rgba(233,180,129,.5);color:#e9b481;font-family:var(--mono);font-size:9px;padding:5px 8px;border-radius:3px;letter-spacing:.1em;z-index:1}.ledger-login-form{background:#fcfaf5;padding:48px clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center}.ledger-login-form h3{font-family:var(--serif);font-size:22px;margin:0 0 6px;color:var(--pine)}.ledger-login-form .tip{font-size:11.5px;color:var(--ink-3);margin:0 0 28px}.ledger-login-form .demo{margin-top:20px;border:1px dashed var(--line-2);border-radius:6px;padding:10px 12px;font-size:11px;color:var(--ink-2);background:#fff}.ledger-detail-head{background:var(--pine);color:#fff;margin:-20px -20px 16px;padding:16px 20px;border-left:3px solid var(--clay)}.ledger-detail-head h3{font-family:var(--serif);font-size:19px;margin:4px 0 8px}.ledger-ledger-box{background:#fcfaf5;border:1px solid var(--line);border-radius:6px;padding:12px 14px}.ledger-ledger-row{display:flex;justify-content:space-between;padding:4px 0;font-size:11.5px}.ledger-finance-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.ledger-finance-cell{display:flex;flex-direction:column;gap:3px}.ledger-finance-cell>label{font-size:10px;color:var(--ink-3)}.ledger-finance-sum{margin-left:auto;align-self:center;font-size:11.5px;color:var(--ink-2)}.ledger-finance-sum b{font-size:13px}.ledger-detail-edit-tip{font-size:10.5px;color:var(--ink-3);margin:-6px 0 10px;line-height:1.6}.ledger-ticket-detail{background:#fcfaf5;border-left:2px dashed #E7C9A8;padding:10px 14px}.ledger-ticket-detail-head{font-size:10.5px;color:var(--ink-3);margin-bottom:8px}.ledger-ticket-detail-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:11.5px}.ledger-ticket-detail-row:last-child{border-bottom:0}.ledger-ticket-detail-row>span:first-child{flex:1;min-width:0}.ant-table-expanded-row .ant-table-cell{padding:0!important;background:#fcfaf5!important}.ledger-timeline{position:relative;padding-left:18px}.ledger-timeline:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:var(--line-2)}.ledger-tl{position:relative;padding:5px 0;font-size:11.5px;display:flex;gap:8px;align-items:center}.ledger-tl:before{content:"";position:absolute;left:-18px;top:11px;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid var(--line-2)}.ledger-tl.done:before{border-color:var(--moss);background:var(--moss)}.ledger-tl.warn:before{border-color:var(--clay);background:var(--clay)}.ledger-tl .t{color:var(--ink-3);font-family:var(--mono);font-size:10px;margin-left:auto}.ant-form-item-label>label{font-size:11.5px!important;color:var(--ink-2)!important;height:auto!important}.ant-form-item{margin-bottom:16px!important}.ledger-section.ant-card .ant-card-body{padding:16px 18px!important}.ant-radio-button-wrapper{border-color:var(--line-2)!important;font-size:12px!important;height:32px!important;line-height:30px!important}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:var(--pine)!important;border-color:var(--pine)!important;color:#fff!important}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before{background-color:var(--pine)!important}.ant-radio-button-wrapper:not(:first-child):before{background-color:var(--line-2)!important}.ant-drawer-body{padding:20px!important}.ant-drawer-header{padding:14px 20px!important}@media (max-width: 1180px){.ledger-form-grid,.ledger-dash-grid{grid-template-columns:1fr}.ledger-settle{position:static}.ledger-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.ledger-shell{grid-template-columns:1fr}.ledger-sider{display:none}.ledger-content{padding:12px!important}.ledger-topbar{padding:0 12px}.ledger-login{grid-template-columns:1fr}.ledger-login-art{display:none}.ledger-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-summary{gap:10px}.ledger-summary .warn{margin-left:0}.ledger-ticket-no{display:none}}.od-panel{background:#fcfaf5;padding:12px 8px 18px;font-size:12px}.ledger-order-table .ant-table-expanded-row:hover>td:first-child{box-shadow:none}.od-num input{font-family:var(--mono)!important;font-variant-numeric:tabular-nums}.od-field-wide{flex:1 1 100%}.od-req{color:#c0453b;margin-left:2px;font-style:normal;font-weight:700}.od-field-error{border:1px solid #C0453B;background:#fdf1f0;border-radius:6px;padding:5px 7px 6px}.od-field-error>span:first-child{color:#c0453b;font-weight:600}.od-field-error-tip{font-size:10px;color:#c0453b;line-height:1.3}.od-field-error .ant-select-selector{border-color:#c0453b!important}.od-profit-pending{font-size:14px}.od-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px 15px 15px;box-shadow:0 1px 2px #1c242108;min-width:0}.od-card-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;margin-bottom:11px;border-bottom:1px solid var(--line)}.od-card-head h4{font-family:var(--serif);font-size:14px;color:var(--pine);margin:0;white-space:nowrap}.od-card-extra{margin-left:auto;font-size:10.5px;color:var(--ink-3);white-space:nowrap}.od-hint{font-size:10.5px;color:var(--ink-3);line-height:1.6;margin:0 0 10px}.od-hint-list{display:flex;flex-wrap:wrap;align-items:center;gap:5px 18px}.od-hint-stat{display:inline-flex;align-items:center;flex:none;white-space:nowrap;font-size:10.5px;color:var(--ink-2);line-height:1.6;border-left:1px solid var(--line-2);padding-left:12px;margin-left:2px}.od-hint-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.od-export-btn{display:inline-flex;align-items:center;flex:none;white-space:nowrap;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:10.5px;color:var(--clay);line-height:1.6;border-left:1px solid var(--line-2);padding-left:12px;margin-left:auto;transition:color .15s ease}.od-export-btn:hover{color:var(--pine);text-decoration:underline}.od-hint-no{display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;border-radius:50%;background:#efebe1;color:var(--ink-2);font-family:var(--mono);font-size:9px;font-style:normal;line-height:1}.od-tag{display:inline-flex;align-items:center;gap:3px;border-radius:4px;border:1px solid transparent;padding:1px 7px;font-size:10.5px;line-height:1.7;white-space:nowrap}.od-tag.ok{background:var(--green-soft);border-color:#c6dccc;color:var(--moss)}.od-tag.warn{background:var(--brick-soft);border-color:#efc9c3;color:var(--brick)}.od-tag.mute{background:#f1efe8;border-color:var(--line);color:var(--ink-3)}.od-tag.type{background:#f1efe8;border-color:var(--line);color:var(--ink-2)}.od-tag.od-tag-count{line-height:15px;padding-top:0;padding-bottom:0}.od-empty{text-align:center;color:var(--ink-3);font-size:11px;padding:18px 0}.od-tabbar{display:flex;gap:3px;margin-bottom:12px;background:#efebe1;border:1px solid var(--line);border-radius:7px;padding:3px}.od-tabbar button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font-family:inherit;font-size:12px;color:var(--ink-2);padding:7px 15px;cursor:pointer;border-radius:5px;border-bottom:0;margin-bottom:0;transition:background .15s ease,color .15s ease}.od-tabbar button:hover{color:var(--clay);background:#ffffff8c}.od-tabbar button.on{color:var(--clay);background:#fff;font-weight:600;box-shadow:0 1px 2px #1c242112}.od-tab-badge{font-style:normal;font-family:var(--mono);font-size:10px;line-height:1;background:var(--brick-soft);color:var(--brick);border:1px solid #EFC9C3;border-radius:999px;padding:2px 6px}.od-tabbody{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 12px;min-width:0}.od-tabbody .od-card{border:0;box-shadow:none;padding:0;background:transparent}.od-tabbody>.od-card,.od-tabbody>.od-tab-two{width:100%;max-width:none;margin-left:0;margin-right:0}.od-tab-two{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}.od-cost-scroll{overflow-x:auto;width:100%;max-width:none;margin:0}.od-cost-head,.od-cost-row,.od-cost-child{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(138px,1fr) minmax(146px,1fr) minmax(110px,.8fr) minmax(74px,.6fr);gap:8px;align-items:center;min-width:760px}.od-cost-head{padding:0 8px 8px;border-bottom:1px solid var(--line-2);font-size:10.5px;color:var(--ink-3)}.od-cost-head .ta-r{text-align:right;padding-right:14px}.od-cost-head>span:nth-child(4),.od-cost-head>span:nth-child(5){padding-left:6px}.od-cost-row{padding:9px 8px;border-bottom:1px solid var(--line)}.od-cost-row:hover{background:#faf8f2}.od-cost-row.is-parent{background:#f7f4ec}.od-cost-row.is-parent:hover{background:#f3efe4}.od-cost-row>*,.od-cost-child>*{min-width:0}.od-fold{display:flex;align-items:center;gap:6px;min-width:0;padding:0;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.od-fold .anticon{font-size:10px;color:var(--clay)}.od-fold b,.od-row-name b{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.od-row-name{display:flex;align-items:center;gap:6px;min-width:0}.od-count{font-size:10px;color:var(--ink-3);white-space:nowrap}.od-cell-muted{font-size:10.5px;color:var(--ink-3)}.od-cell-money{justify-self:end;text-align:right}.od-cost-child{padding:7px 8px;border-bottom:1px dashed var(--line);background:#fffdf9}.od-cost-child:last-child{border-bottom:1px solid var(--line)}.od-child-name{position:relative;display:block;padding-left:15px;line-height:22px;font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.od-child-name:before{content:"";position:absolute;left:2px;top:3px;bottom:3px;width:2px;background:#e7c9a8;border-radius:2px}.od-child-name em{font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--clay);background:var(--clay-soft);border-radius:50%;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:5px}.od-tag-btn{cursor:pointer;font-family:inherit;transition:filter .15s ease,box-shadow .15s ease}.od-tag-btn:hover{filter:brightness(.96);box-shadow:0 0 0 2px #2e6b5b29}.od-tag-btn:focus-visible{outline:2px solid var(--moss);outline-offset:1px}.od-cell-pay{display:inline-flex;align-items:center;justify-self:start;min-width:0}.od-cell-pay>.od-tag,.od-cell-pay>.od-advance-btn{width:48px;min-width:48px;flex:0 0 48px;justify-content:center;text-align:center}.od-cost-head>span:last-child{justify-self:start}.od-advance-btn{border:1px solid #E7C9A8;background:var(--clay-soft);color:var(--clay);border-radius:4px;padding:1px 8px;font-family:inherit;font-size:10.5px;line-height:1.7;cursor:pointer;white-space:nowrap}.od-advance-btn:hover{background:#f3e3ce}.od-date-stack{display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0}.od-stay-text{display:block;font-size:9.5px;line-height:1.4;color:var(--gold);background:#f7f1e5;border-radius:3px;padding:1px 5px;white-space:normal;word-break:keep-all}.od-advance-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;padding:8px 12px;background:#faf8f2;border:1px solid var(--line);border-radius:7px;font-size:11px;color:var(--ink-2)}.od-advance-strip>.anticon{color:var(--clay)}.od-advance-strip b{color:var(--clay);font-family:var(--mono)}.adv-chip-wrap{display:inline-flex;align-items:center;gap:1px}.adv-chip{margin:0}.adv-chip-editable{cursor:pointer}.adv-chip-editable:hover{filter:brightness(.97);box-shadow:0 0 0 2px #d9722b2e}.adv-chip-del{border:0;background:transparent;color:var(--brick);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.adv-chip-del:hover{opacity:.7}.adv-screenshot{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.adv-screenshot-preview{display:flex;align-items:center;gap:8px}.adv-screenshot-meta{font-size:10.5px;color:var(--ink-3)}.adv-screenshot-hint{font-size:10px;color:var(--ink-3);line-height:1.5}.od-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px}.od-kpi{background:#faf8f2;border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:0}.od-kpi>span{display:block;font-size:10.5px;color:var(--ink-3)}.od-kpi>b{display:block;margin-top:4px;font-size:14.5px;font-weight:500;white-space:nowrap}.od-sub-label{font-size:11.5px;font-weight:600;color:var(--pine);margin-bottom:9px}.od-sub-label span{font-weight:400;font-size:10.5px;color:var(--ink-3);margin-left:6px}.od-fin-fields{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.od-field{display:flex;flex-direction:column;gap:4px}.od-field>span{font-size:10px;color:var(--ink-3)}.od-fin-hint{flex-basis:100%;font-size:10px;color:var(--ink-3);line-height:1.6;margin-top:2px}.od-profit{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#faf8f2;border:1px solid var(--line);border-left:3px solid var(--moss);border-radius:6px;padding:10px 13px;margin-top:14px}.od-profit>div:first-child>span{display:block;font-size:10.5px;color:var(--ink-3)}.od-profit>div:first-child>b{display:block;font-size:21px;font-weight:600;line-height:1.35;white-space:nowrap;color:var(--ink)}.od-profit>div:first-child>b.od-profit-pending{font-size:14px;color:var(--ink-3)}.od-formula{font-family:var(--mono);font-size:10px;color:var(--ink-2);text-align:right;line-height:1.7;max-width:58%}.od-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}.od-fact{min-width:0}.od-fact>span{display:block;font-size:10.5px;color:var(--ink-3);margin-bottom:3px}.od-fact>b{display:block;font-size:12px;font-weight:500;color:var(--ink);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.od-flow-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:11.5px;color:var(--ink-2)}.od-flow-item:last-child{border-bottom:0}.od-flow-item .anticon{color:var(--ink-3);font-size:11px}.od-flow-item.done .anticon{color:var(--moss)}.od-flow-item.warn .anticon{color:var(--clay)}.od-flow-time{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--ink-3);white-space:nowrap}@media (max-width: 860px){.od-tab-two,.od-kpis{grid-template-columns:1fr}.od-profit{flex-direction:column;align-items:flex-start}.od-formula{text-align:left;max-width:100%}}
