:root{--brand: #1d63d6;--brand-2: #3b8ef0;--brand-soft: #e8f1ff;--brand-hover: #1a56bb;--navy: #0f2544;--navy-2: #173a68;--navy-deep: #0c1e39;--amber: #f59e0b;--green: #16a34a;--red: #dc2626;--purple: #7c3aed;--bg: #f4f6fa;--card: #fff;--line: #e4e9f2;--line-soft: #edf1f8;--txt: #1a2233;--txt-2: #5b6b84;--txt-3: #93a1b8;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(16, 32, 64, .04), 0 8px 24px rgba(16, 32, 64, .06);--shadow-hover: 0 6px 16px rgba(31, 43, 61, .08);--shadow-pop: 0 8px 28px rgba(20, 35, 60, .14);--focus-ring: 0 0 0 3px rgba(29, 99, 214, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;color:var(--txt);background:var(--bg);-webkit-font-smoothing:antialiased}.num,.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9d4e4;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#b3c2d6}::-webkit-scrollbar-track{background:transparent}body .ant-layout-sider,body .ant-layout-sider-dark{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%)}body .ant-layout-sider-trigger{background:#0000002e}body .ant-layout-sider{position:sticky;top:0;height:100vh;align-self:flex-start;overflow:hidden}body .ant-layout-sider .ant-menu{max-height:calc(100vh - 62px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}body .ant-layout-sider .ant-menu::-webkit-scrollbar{width:6px}body .ant-layout-sider .ant-menu::-webkit-scrollbar-track{background:transparent}body .ant-layout-sider .ant-menu::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:3px}body .ant-layout-sider .ant-menu::-webkit-scrollbar-thumb:hover{background:#ffffff3d}body .ant-menu-dark,body .ant-layout-sider .ant-menu{background:transparent}body .ant-menu-dark .ant-menu-item{height:40px;line-height:40px;margin:2px 0;border-radius:var(--radius-sm);font-size:13.5px;color:#c6d4e8;transition:background .15s ease,color .15s ease}body .ant-menu-dark .ant-menu-item:hover{background:#ffffff12;color:#fff}body .ant-menu-dark .ant-menu-item-selected{background:linear-gradient(90deg,var(--brand) 0%,#2a74e0 100%);color:#fff;font-weight:500;box-shadow:0 4px 14px #1d63d666}body .ant-menu-dark .ant-menu-item-selected:after,body .ant-menu-inline .ant-menu-item:after{display:none}body .ant-menu-dark .ant-menu-item .anticon{font-size:14px;opacity:.95}body .ant-menu-dark .ant-menu-item-group-title{padding:12px 16px 4px;font-size:10.5px;font-weight:600;letter-spacing:1.2px;color:#5f7699}body .ant-layout-header{position:sticky;top:0;z-index:50;height:62px;line-height:62px;padding:0 24px;background:var(--card);border-bottom:1px solid var(--line)}body .ant-layout-content{width:100%;padding:20px 24px 40px}@keyframes ltsPageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-fade{animation:ltsPageIn .28s ease}body .ant-input:focus,body .ant-input-focused,body .ant-input:hover:focus{box-shadow:var(--focus-ring)}body .ant-select-focused:not(.ant-select-disabled) .ant-select-selector,body .ant-select-focused:not(.ant-select-disabled):hover .ant-select-selector{box-shadow:var(--focus-ring)!important}body .ant-input-number-focused,body .ant-input-number-focused:hover{box-shadow:var(--focus-ring)}body .ant-btn-primary:not(:disabled):hover{background:var(--brand-hover)}body .ant-btn{transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}body .ant-tag{border-radius:6px;font-size:11.5px;line-height:18px;padding-inline:8px}body .ant-progress-bg{background:linear-gradient(90deg,var(--brand) 0%,var(--brand-2) 100%)}body .ant-picker{background:#f2f5fa;border-color:transparent;border-radius:8px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}body .ant-picker:hover:not(.ant-picker-disabled){background:#e9eef7;border-color:transparent}body .ant-picker-focused,body .ant-picker-focused:hover:not(.ant-picker-disabled){background:#fff;border-color:var(--brand);box-shadow:var(--focus-ring)}body .ant-picker-disabled{background:#f5f6f8}body .ant-picker-dropdown .ant-picker-panel-container{border-radius:12px;box-shadow:var(--shadow-pop)}body .ant-picker-panel{padding-top:4px}body .ant-picker-dropdown .ant-picker-cell{padding:4px 0}body .ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner{position:relative;min-width:30px;height:30px;line-height:30px;border-radius:8px;transition:background .15s ease,color .15s ease}body .ant-picker-cell:hover:not(.ant-picker-cell-selected) .ant-picker-cell-inner{background:#eaf0fa}body .ant-picker-cell-today .ant-picker-cell-inner:before{display:none}body .ant-picker-cell-today:not(.ant-picker-cell-selected) .ant-picker-cell-inner:after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--brand)}body .ant-picker-cell-selected .ant-picker-cell-inner,body .ant-picker-cell-selected:hover .ant-picker-cell-inner{background:var(--brand);color:#fff;font-weight:600}body .ant-card{border-radius:var(--radius);box-shadow:var(--shadow)}body .ant-card-bordered{border-color:var(--line)}body .ant-card-head{min-height:48px;padding:0 20px;border-bottom:1px solid var(--line)}body .ant-card-head-title{font-size:14.5px;font-weight:600}body .ant-table table{table-layout:fixed!important;font-size:12.5px}body .ant-table-wrapper .ant-table-thead>tr>th.ant-table-cell{text-align:center!important;padding:11px 6px!important;font-size:12px;font-weight:600;color:var(--txt-2);background:#f3f7fd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .ant-table-wrapper .ant-table-tbody>tr>td.ant-table-cell{text-align:center!important;padding:10px 6px!important;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line-soft)}body .ant-table-wrapper .ant-table-tbody>tr:last-child>td.ant-table-cell{border-bottom:none}body .ant-table-thead>tr>th.ant-table-row-expand-icon-cell{text-align:center!important}body .ant-table-thead>tr>th.num,body .ant-table-tbody>tr>td.num{font-variant-numeric:tabular-nums}body .ant-table-tbody>tr>td.mono{font-size:11.5px;font-variant-numeric:tabular-nums}body .ant-table-tbody>tr>td.route-cell{font-size:11.5px;color:#5b6b84}body .ant-table col.ant-table-expand-icon-col{width:4%}body .ant-table-placeholder .ant-empty{padding:24px 0}body .ant-modal-content{padding:0;border-radius:16px;box-shadow:0 30px 80px #0000004d;overflow:hidden}body .ant-modal-header{margin:0;padding:16px 24px;border-bottom:1px solid var(--line)}body .ant-modal-title{font-size:16px;font-weight:600}body .ant-modal-close{top:16px;inset-inline-end:16px}body .ant-modal-body{padding:24px}body .ant-modal-footer{margin:0;padding:16px 24px;border-top:1px solid var(--line)}body .ant-drawer-content{border-start-start-radius:16px;border-end-start-radius:16px}body .ant-dropdown .ant-dropdown-menu,body .ant-select-dropdown{border-radius:12px;box-shadow:var(--shadow-pop);padding:4px}body .ant-dropdown-menu-item,body .ant-select-item{border-radius:8px}body .ant-descriptions-item-label{color:var(--txt-2)}.kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px;min-width:0;transition:box-shadow .18s ease,transform .18s ease}.kpi-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.kpi-card>*{position:relative;z-index:1}.kpi-label{font-size:12.5px;color:var(--txt-2);margin-bottom:2px}.kpi-value{font-size:24px;font-weight:700;letter-spacing:-.3px;line-height:1.25;color:var(--txt);font-variant-numeric:tabular-nums}.kpi-hint{font-size:12px;color:var(--txt-3);margin-top:2px}.kpi-card.tone-primary .kpi-value{color:var(--brand)}.kpi-card.tone-ok .kpi-value{color:#15803d}.kpi-card.tone-warn .kpi-value{color:#b06a00}.kpi-card.tone-danger .kpi-value{color:var(--red)}.bar-track{height:9px;background:#eef2f8;border-radius:6px;overflow:hidden}.bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-2) 100%);transition:width .8s cubic-bezier(.2,.8,.2,1)}body .ant-alert{padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}body .ant-alert-success{border-color:var(--line);border-left:3px solid var(--green);background:#fff}body .ant-alert-warning{border-color:var(--line);border-left:3px solid var(--amber);background:#fff}body .ant-alert-error{border-color:var(--line);border-left:3px solid var(--red);background:#fff}body .ant-alert-info{border-color:var(--line);border-left:3px solid var(--brand);background:#fff}body .ant-alert-message{color:var(--txt);font-weight:600}body .ant-alert-description{color:var(--txt-2)}.ledger-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.stat-card{position:relative;background:#fff;border:1px solid #e9eef6;border-radius:12px;padding:16px 20px;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease}.stat-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:4px;background:var(--accent, var(--brand))}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.stat-card-label{font-size:12.5px;color:#6b7a90}.stat-card-value{font-size:26px;font-weight:700;line-height:1.25;color:var(--txt);font-variant-numeric:tabular-nums}.stat-card-hint{font-size:12px;color:#8c9bb0}.ledger-sheet{background:#fff;border:1px solid #eef1f6;border-radius:12px;padding:8px;overflow-x:auto}.ledger-sheet .ledger-row{min-width:1124px}.ledger-sheet .ledger-head{color:#7d8ca1;font-size:12px;font-weight:600;padding:12px 16px;border-bottom:1px solid #f0f3f8}.ledger-card{border-radius:10px;border:1px solid transparent;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.ledger-card:hover{background:#f7faff;border-color:#c9dbf7;box-shadow:0 4px 14px #1d63d614}.ledger-card+.ledger-card{margin-top:2px}body .ant-table-wrapper .ant-table-tbody>tr.row-diff>td,body .ant-table-wrapper .ant-table-tbody>tr.row-diff:hover>td,body .ant-table-wrapper .ant-table-tbody>tr.row-diff>td.ant-table-cell-row-hover{background:#fff7f5}body .ant-table-wrapper .ant-table-tbody>tr.row-diff>td:first-child{box-shadow:inset 3px 0 #e5484d}.diff-reason-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.lg-page{min-height:100vh;display:grid;grid-template-columns:1.02fr 1fr}.lg-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px 48px 32px;color:#fff;background:linear-gradient(152deg,#0a1c33,#10305c,#1a4fa8)}.lg-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(115% 85% at 12% 0%,#000 26%,transparent 76%);mask-image:radial-gradient(115% 85% at 12% 0%,#000 26%,transparent 76%);pointer-events:none}.lg-brand:after{content:"";position:absolute;top:-180px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(closest-side,rgba(74,148,245,.42),transparent 72%);pointer-events:none}.lg-brand>*{position:relative;z-index:1}.lg-logo{display:flex;align-items:center;gap:12px}.lg-logo-mark{width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#3b8ef0,#1d63d6);box-shadow:0 8px 20px #1d63d673}.lg-logo-name{font-size:16px;font-weight:600;letter-spacing:.4px;color:#fff}.lg-logo-sub{display:block;margin-top:2px;font-size:10.5px;letter-spacing:1.8px;color:#ffffff80}.lg-hero{margin:auto 0;max-width:470px;padding:40px 0}.lg-hero h1{margin:0 0 16px;font-size:32px;line-height:1.36;font-weight:700;letter-spacing:.2px;color:#fff}.lg-hero h1 em{font-style:normal;color:#85b8ff}.lg-hero p{margin:0 0 32px;font-size:13.5px;line-height:1.95;color:#ffffffa3}.lg-feats{list-style:none;margin:0;padding:0;display:grid;gap:12px}.lg-feats li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;color:#ffffffe0}.lg-feats .lg-dot{flex:0 0 18px;width:18px;height:18px;margin-top:2px;border-radius:50%;display:grid;place-items:center;background:#85b8ff29;border:1px solid rgba(133,184,255,.34)}.lg-feats small{display:block;margin-top:2px;font-size:12px;color:#ffffff75}.lg-brand-foot{font-size:11.5px;letter-spacing:.3px;color:#ffffff61}.lg-art{position:absolute;right:-30px;bottom:-10px;width:320px;opacity:.5;pointer-events:none}.lg-side{display:grid;place-items:center;padding:40px 32px;background:#fff}.lg-form{width:100%;max-width:368px}.lg-form-logo{display:none}.lg-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:1.6px;color:#1d63d6}.lg-form h2{margin:12px 0 8px;font-size:25px;font-weight:700;letter-spacing:.2px;color:var(--txt)}.lg-tip{margin-bottom:24px;font-size:13px;color:var(--txt3)}body .lg-form .ant-form-item{margin-bottom:16px}body .lg-form .ant-form-item-label{padding-bottom:4px}body .lg-form .ant-form-item-label>label{height:auto;font-size:12.5px;color:var(--txt2)}body .lg-form .ant-input-affix-wrapper,body .lg-form .ant-input{padding:8px 12px;background:#f7f9fc;border:1px solid #e4e9f2;border-radius:10px;box-shadow:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}body .lg-form .ant-input-affix-wrapper .ant-input,body .lg-form .ant-input-affix-wrapper .ant-input-password{padding:0;background:transparent;border:none;box-shadow:none}body .lg-form .ant-input-affix-wrapper:hover,body .lg-form .ant-input:hover{background:#fff;border-color:#bcd2ef}body .lg-form .ant-input-affix-wrapper:focus,body .lg-form .ant-input-affix-wrapper-focused,body .lg-form .ant-input-affix-wrapper:focus-within,body .lg-form .ant-input:focus{background:#fff;border-color:#1d63d6;box-shadow:0 0 0 3px #1d63d61f}body .lg-form .ant-input-prefix{margin-inline-end:8px;color:#a7b4c8}body .lg-form .ant-input::placeholder{color:#b3bfd0}body .lg-form .ant-btn-primary{height:44px;border:none;border-radius:10px;font-size:14.5px;font-weight:600;letter-spacing:4px;text-indent:4px;background:linear-gradient(135deg,#1d63d6,#3b8ef0);box-shadow:0 8px 20px #1d63d642;transition:box-shadow .18s ease,filter .18s ease}body .lg-form .ant-btn-primary:hover{filter:brightness(1.05);box-shadow:0 10px 24px #1d63d657}body .lg-form .ant-btn-primary:active{filter:brightness(.96)}body .lg-form .ant-alert{margin-bottom:16px;border-radius:10px}.lg-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #eef1f6;font-size:12px;color:var(--txt3)}@media(max-width:920px){.lg-page{grid-template-columns:1fr}.lg-brand{display:none}.lg-side{padding:24px 20px;background:var(--bg)}.lg-form{max-width:400px;padding:24px;background:#fff;border:1px solid #e4e9f2;border-radius:16px;box-shadow:0 1px 2px #1020400a,0 12px 32px #10204012}.lg-form-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px}.lg-form-logo .lg-logo-mark{width:34px;height:34px;flex:0 0 34px;border-radius:9px}.lg-eyebrow{display:none}}body .ant-layout-sider-collapsed .ant-menu-item-group-title{display:none}body .ant-layout-sider-collapsed .ant-menu-item-group+.ant-menu-item-group{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.09)}@media(max-width:1180px){body .ant-layout-content{padding:16px 16px 32px}body .ant-layout-header{padding-inline:16px}}@media(max-width:992px){body .ant-layout-content{padding:16px 12px 24px}.hdr-meta{display:none!important}}@media(max-width:820px){body .ant-layout-content{padding:12px 12px 24px}body .ant-layout-header{padding-inline:12px}.hdr-user-text{display:none}}@media(max-width:1380px){.ledger-sheet .ledger-row{grid-template-columns:48px minmax(140px,1.2fr) 104px 56px 88px 116px minmax(120px,1fr) 76px 28px!important;gap:12px!important;min-width:0!important}.ledger-sheet .ledger-row>*:nth-child(3){display:none}}@media(max-width:1008px){.ledger-sheet .ledger-row{grid-template-columns:48px minmax(120px,1.2fr) 96px 52px 116px minmax(96px,1fr) 28px!important;min-width:0!important}.ledger-sheet .ledger-row>*:nth-child(6),.ledger-sheet .ledger-row>*:nth-child(9){display:none}}
