:root{--lm-bg-deep:#131418;--lm-bg-card:#1a1d23;--lm-bg-header:#1f232a;--lm-bg-hover:#1f232a;--lm-bg-overlay:#21252c;--lm-bg-sidebar:#16181d;--lm-border:#252a31;--lm-border-strong:#333944;--lm-row-border:#252a3199;--lm-accent:#e0a33b;--lm-accent-hover:#c8862a;--lm-accent-subtle:#2a2012;--lm-accent-line:#574321;--lm-success:#5dbe8c;--lm-warning:#d8a552;--lm-error:#e47163;--lm-purple:#9a8cc0;--lm-slate:#7c96c0;--lm-grey:#717983;--lm-text:#eaecef;--lm-text-secondary:#9aa1ac;--lm-text-dim:#646b76;--lm-text-disabled:#4a5059;--lm-accent-text:#f0c374;--lm-accent-soft-text:#f3d199;--lm-success-text:#74d3a0;--lm-green-text:#74d3a0;--lm-warning-text:#e6bc73;--lm-error-text:#f08c7f;--lm-info-text:#9db4d6;--lm-stripe:#ffffff05;--lm-mask:#0a0b0ea8;--lm-shadow-sm:0 1px 2px #0000004d;--lm-shadow-md:0 24px 60px -20px #00000073;--lm-radius:9px;--lm-radius-lg:13px;--lm-alert-row-sticky:#221619;--lm-dirty-row-sticky:#211c12;--lm-scrollbar-thumb:#333944;--lm-font:"Inter", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-display:25px;--fs-h1:22px;--fs-h3:14.5px;--fs-base:14.5px;--fs-sm:12.5px;--fs-xs:11.5px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.light{--lm-bg-deep:#f7f6f3;--lm-bg-card:#fff;--lm-bg-header:#f4f3ef;--lm-bg-hover:#f4f3ef;--lm-bg-overlay:#fff;--lm-bg-sidebar:#fff;--lm-border:#eceae4;--lm-border-strong:#dedbd2;--lm-row-border:#eceae4;--lm-accent:#b5791c;--lm-accent-hover:#996414;--lm-accent-subtle:#f6ecd6;--lm-accent-line:#e3cfa3;--lm-success:#2f8157;--lm-warning:#b07a14;--lm-error:#c13b2e;--lm-purple:#6b5ba6;--lm-slate:#4d6699;--lm-grey:#8a8478;--lm-text:#1a1814;--lm-text-secondary:#5e5a52;--lm-text-dim:#9c988d;--lm-text-disabled:#c2beb3;--lm-accent-text:#8a5e14;--lm-accent-soft-text:#6f4b10;--lm-success-text:#226a45;--lm-green-text:#226a45;--lm-warning-text:#8a5e14;--lm-error-text:#a82e22;--lm-info-text:#3f5985;--lm-stripe:#1a181405;--lm-mask:#28262259;--lm-shadow-sm:0 1px 2px #1a18140f;--lm-shadow-md:0 26px 60px -26px #1a181440;--lm-alert-row-sticky:#fcf1ee;--lm-dirty-row-sticky:#fbf3e1;--lm-scrollbar-thumb:#dedbd2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--lm-bg-deep);color:var(--lm-text);font-family:var(--lm-font);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;line-height:1.5}#app{text-align:left;background:var(--lm-bg-deep);border:none;width:100%;max-width:100%;min-height:100vh;margin:0}.tnum,.lm-table td,.lm-table th{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--lm-accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--lm-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--lm-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{background:var(--lm-bg-deep);min-height:100%;padding:20px 24px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{box-shadow:0 0 0 2px var(--lm-accent-subtle), 0 0 0 1px var(--lm-accent);outline:none}.btn-primary{background:var(--lm-accent);color:#1a1206}.btn-primary:hover:not(:disabled){background:var(--lm-accent-hover)}.btn-secondary{background:var(--lm-bg-hover);color:var(--lm-text-secondary);border-color:var(--lm-border)}.btn-secondary:hover:not(:disabled){background:var(--lm-bg-overlay);color:var(--lm-text)}.btn-refresh{background:var(--lm-accent-subtle);color:var(--lm-accent-text);border-color:color-mix(in srgb, var(--lm-accent) 30%, transparent)}.btn-refresh:hover:not(:disabled){background:color-mix(in srgb, var(--lm-accent) 22%, transparent);border-color:var(--lm-accent);color:var(--lm-accent-soft-text)}.btn-sync{background:color-mix(in srgb, var(--lm-success) 10%, transparent);color:var(--lm-success-text);border-color:color-mix(in srgb, var(--lm-success) 30%, transparent)}.btn-sync:hover:not(:disabled){background:color-mix(in srgb, var(--lm-success) 20%, transparent);border-color:var(--lm-success);color:var(--lm-success-text)}.btn-alert{background:color-mix(in srgb, var(--lm-error) 12%, transparent);color:var(--lm-error-text);border-color:color-mix(in srgb, var(--lm-error) 35%, transparent)}.btn-alert:hover:not(:disabled){background:color-mix(in srgb, var(--lm-error) 22%, transparent);border-color:var(--lm-error)}.btn-export{background:color-mix(in srgb, var(--lm-slate) 10%, transparent);color:var(--lm-info-text);border-color:color-mix(in srgb, var(--lm-slate) 30%, transparent)}.btn-export:hover:not(:disabled){background:color-mix(in srgb, var(--lm-slate) 20%, transparent);border-color:var(--lm-slate);color:var(--lm-info-text)}.btn-danger-sm{background:color-mix(in srgb, var(--lm-error) 12%, transparent);color:var(--lm-error-text);border:1px solid color-mix(in srgb, var(--lm-error) 30%, transparent);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;transition:background .15s;display:inline-flex}.btn-danger-sm:hover{background:color-mix(in srgb, var(--lm-error) 22%, transparent)}.btn-icon{cursor:pointer;border:1px solid var(--lm-border-strong);color:var(--lm-text-dim);background:0 0;border-radius:5px;padding:5px 8px;font-size:14px;line-height:1;transition:color .15s,border-color .15s,background .15s}.btn-icon:hover{color:var(--lm-text);border-color:var(--lm-accent)}.btn-icon.active{color:var(--lm-accent-text);border-color:var(--lm-accent);background:var(--lm-accent-subtle)}.btn-hist{border:1px solid var(--lm-border-strong);width:28px;height:28px;color:var(--lm-text-dim);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;font-size:14px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.btn-hist:hover{color:var(--lm-accent-text);border-color:var(--lm-accent);background:var(--lm-accent-subtle)}.table-card{background:var(--lm-bg-card);border:1px solid var(--lm-border);border-radius:var(--lm-radius);box-shadow:var(--lm-shadow-sm);overflow:hidden}.table-hd{background:var(--lm-bg-header);border-bottom:1px solid var(--lm-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.table-title{color:var(--lm-text);font-size:15px;font-weight:600}.table-meta{color:var(--lm-text-dim);font-size:12px}.hd-right{align-items:center;gap:10px;display:flex}.table-wrap{overflow:auto}.pg-wrap,.pagination-wrap{border-top:1px solid var(--lm-border);justify-content:flex-end;padding:12px 16px;display:flex}.loading-wrap,.empty-wrap{color:var(--lm-text-dim);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 0;font-size:14px;display:flex}.empty-icon{font-size:48px;line-height:1}.empty-state{color:var(--lm-text-disabled);text-align:center;padding:40px 0;font-size:14px}.empty-row{text-align:center;color:var(--lm-text-dim);padding:32px!important}.spinner{border:3px solid var(--lm-border);border-top-color:var(--lm-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite lm-spin}@keyframes lm-spin{to{transform:rotate(360deg)}}.st{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.st thead tr{z-index:2;position:sticky;top:0}.st thead th{background:var(--lm-bg-header);color:var(--lm-text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--lm-border);-webkit-user-select:none;user-select:none;padding:10px;font-size:11px;font-weight:600}.st tbody td{color:var(--lm-text);border-bottom:1px solid var(--lm-row-border);vertical-align:middle;padding:8px 10px}.st tbody tr:hover td{background:var(--lm-bg-hover)}.st tbody tr:last-child td{border-bottom:none}.st.is-compact thead th{padding:6px 8px;font-size:10px}.st.is-compact tbody td{padding:5px 8px}.sort-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sort-th:hover{color:var(--lm-text)}.sort-th.is-sorted{color:var(--lm-accent-text)}.si{opacity:.6;margin-left:3px;font-size:9px}.sort-th.is-sorted .si{opacity:1;color:var(--lm-accent)}.st thead th.th-sticky{z-index:10;background:var(--lm-bg-header);position:sticky;left:0}.st tbody td.td-sticky{z-index:1;background:var(--lm-bg-card);position:sticky;left:0}.st tbody tr:hover td.td-sticky{background:var(--lm-bg-hover)}.st tbody tr.row-alert td.td-sticky{background:var(--lm-alert-row-sticky)}.st tbody tr.row-dirty td.td-sticky{background:var(--lm-dirty-row-sticky)}.st tbody tr.row-alert td{background:color-mix(in srgb, var(--lm-error) 6%, transparent)}.st tbody tr.row-alert{border-left:3px solid var(--lm-error)}.st tbody tr.row-alert:hover td{background:color-mix(in srgb, var(--lm-error) 10%, transparent)}.st tbody tr.row-dirty td{background:color-mix(in srgb, var(--lm-warning) 5%, transparent)}.st tbody tr.row-dirty{border-left:3px solid var(--lm-warning)}.st tbody tr.row-dirty:hover td{background:color-mix(in srgb, var(--lm-warning) 9%, transparent)}.st tbody tr.row-alert.row-dirty{border-left:3px solid var(--lm-error)}.td-input{background:color-mix(in srgb, var(--lm-accent) 4%, transparent)}.td-derived{color:var(--lm-text-secondary);font-style:italic}.st tbody tr:hover .td-input{background:color-mix(in srgb, var(--lm-accent) 7%, transparent)}.st tbody tr:hover .td-derived{background:0 0}.td-editable{cursor:pointer}.td-editable span{display:block}.td-adv{color:var(--lm-text);font-weight:600}.td-dim{color:var(--lm-text-secondary)}.td-mono{font-variant-numeric:tabular-nums;font-size:12px}.st tfoot tr.row-total>td{background:var(--lm-bg-header);border-top:2px solid var(--lm-border);padding-top:8px;padding-bottom:8px;font-weight:600}.td-total{cursor:pointer;color:var(--lm-text);transition:background .15s}.td-total:hover{background:var(--lm-bg-overlay)}.td-total-label{color:var(--lm-text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.col-adv{min-width:160px}.col-date,.col-money{min-width:110px}.col-input{min-width:115px}.col-datepick{min-width:145px}.col-period{min-width:200px}.col-status{min-width:155px}.col-label{min-width:145px}.col-note{min-width:160px;max-width:220px}.col-hist{text-align:center;width:44px;min-width:44px;padding:4px!important}.period-display{align-items:center;gap:4px;font-size:12px;display:flex}.dirty-dot{background:var(--lm-warning);vertical-align:middle;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:5px;display:inline-block}.kpi-row{gap:12px;margin-bottom:20px;display:grid}.kpi-card{background:var(--lm-bg-card);border:1px solid var(--lm-border);border-radius:var(--lm-radius-lg);box-shadow:var(--lm-shadow-md);flex-direction:column;padding:18px 20px;display:flex}.kpi-icon{font-size:18px;line-height:1}.kpi-body{flex-direction:column;gap:2px;display:flex}.kpi-lbl,.kpi-label{color:var(--lm-text-secondary);text-transform:none;letter-spacing:0;margin-top:8px;font-size:12.5px}.kpi-val,.kpi-value{letter-spacing:-.02em;color:var(--ac,var(--lm-text));font-variant-numeric:tabular-nums;margin-top:4px;font-size:25px;font-weight:700;line-height:1.15}.st-settle thead th{text-transform:none;letter-spacing:0;color:var(--lm-text-dim);padding:12px 11px;font-size:12.5px;font-weight:600}.st-settle tbody td{padding:11px;font-size:14px}.st-settle .td-mono{font-size:14px}.st-settle .td-derived{font-style:normal}.st-settle .td-adv{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.st-settle thead th.th-in{color:var(--lm-accent-text);box-shadow:inset 0 -2px 0 var(--lm-accent-line)}.st-settle .col-adv{min-width:148px;max-width:190px}.st-settle .col-money{min-width:88px}.st-settle .col-input{min-width:102px}.st-settle .col-status{min-width:124px}.st-settle :is(thead th,tbody td,tfoot td).col-money,.st-settle :is(thead th,tbody td,tfoot td).col-input{text-align:right}.st-settle td.col-input .input-money,.st-settle td.col-money .input-money{margin-left:auto}.status-pill{align-items:center;gap:7px;font-size:13px;display:inline-flex}.status-pill .sdot{border-radius:50%;flex:none;width:7px;height:7px}.sdot.s-CHUA_CHOT{background:var(--lm-grey)}.sdot.s-DA_CHOT_SO{background:var(--lm-slate)}.sdot.s-TT_1_PHAN{background:var(--lm-warning)}.sdot.s-DA_THANH_TOAN{background:var(--lm-success)}.sdot.s-TRU_HET{background:var(--lm-slate)}.qpanel{background:var(--lm-bg-card);border:1px solid var(--lm-border);border-radius:var(--lm-radius-lg);box-shadow:var(--lm-shadow-md);flex-direction:column;display:flex;overflow:hidden}.qpanel--hot{border-color:var(--lm-accent-line)}.qpanel-hd{border-bottom:1px solid var(--lm-border);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.qpanel-title{color:var(--lm-text);align-items:center;gap:8px;margin:0;font-size:14.5px;font-weight:700;display:flex}.qpanel-count{color:#1a1206;background:var(--lm-accent);border-radius:20px;padding:1px 9px;font-size:11.5px;font-weight:700}.qpanel-link{color:var(--lm-text-dim);cursor:pointer;background:0 0;border:none;font-size:12.5px}.qpanel-link:hover{color:var(--lm-text)}.qpanel-empty{text-align:center;color:var(--lm-text-dim);padding:26px 18px;font-size:13px}.qpanel-list{flex-direction:column;display:flex}.qpanel-item{border-bottom:1px solid var(--lm-border);align-items:center;gap:14px;padding:13px 18px;display:flex}.qpanel-item:last-child{border-bottom:none}.qpanel-info{flex:1;min-width:0}.qpanel-main{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.qpanel-meta{color:var(--lm-text-dim);margin-top:2px;font-size:12px}.qpanel-meta b{color:var(--lm-text-secondary);font-weight:600}.qpanel-acts{flex:none;gap:7px;display:flex}.qpanel-more{color:var(--lm-text-dim);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 18px;font-size:12px}.qpanel-more:hover{color:var(--lm-text)}.stats-bar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stat-card{background:var(--lm-bg-hover);border:1px solid var(--lm-border);border-radius:8px;flex-direction:column;gap:2px;min-width:140px;padding:10px 18px;display:flex}.stat-label{color:var(--lm-text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.stat-value{color:var(--lm-text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.card-title{color:var(--lm-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:13px;font-weight:600}.status-text{font-size:12px;font-weight:500}.status-CHUA_CHOT{color:var(--lm-grey)}.status-DA_CHOT_SO{color:var(--lm-slate)}.status-TT_1_PHAN{color:var(--lm-warning-text)}.status-DA_THANH_TOAN{color:var(--lm-success-text)}.status-TRU_HET{color:var(--lm-slate)}.badge-green{background:color-mix(in srgb, var(--lm-success) 15%, transparent);color:var(--lm-green-text);border-radius:10px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.badge-red{background:color-mix(in srgb, var(--lm-error) 15%, transparent);color:var(--lm-error-text);border-radius:10px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.badge-dim{color:var(--lm-text-disabled);font-size:12px}.period-badge{background:var(--lm-accent-subtle);color:var(--lm-accent-soft-text);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.label-badge{background:var(--lm-accent-subtle);color:var(--lm-accent-soft-text);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.rate-good{color:var(--lm-green-text);font-weight:600}.rate-mid{color:var(--lm-warning-text);font-weight:600}.rate-bad,.val-alert{color:var(--lm-error-text);font-weight:600}.val-bonus{color:var(--lm-green-text)}.val-loss{color:var(--lm-error-text)}.kt-alert-value{color:var(--lm-error-text);cursor:help;font-weight:600}.dim,.text-dim{color:var(--lm-text-dim)}.dim{font-size:12px}.note-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--lm-text-secondary);font-size:12px;display:block;overflow:hidden}.note-display{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.dialog-desc{color:var(--lm-text-secondary);margin-bottom:12px;font-size:13px;line-height:1.5}.sync-banner{background:var(--lm-accent-subtle);border:1px solid var(--lm-accent-line);color:var(--lm-accent-soft-text);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.sync-bar{background:var(--lm-border);border-radius:2px;height:4px;overflow:hidden}.sync-fill{background:var(--lm-accent);border-radius:2px;height:100%;transition:width .3s}.lm-dd-item{cursor:pointer;text-align:left;width:100%;color:var(--lm-text);background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:8px 11px;font-family:inherit;font-size:13px;transition:background .12s,color .12s;display:flex}.lm-dd-item:hover{background:var(--lm-bg-hover)}.lm-dd-item--danger{color:var(--lm-error-text)}.lm-dd-item--danger:hover{background:color-mix(in srgb, var(--lm-error) 12%, transparent)}.lm-dd-item--ok{color:var(--lm-success-text)}.lm-dd-item--ok:hover{background:color-mix(in srgb, var(--lm-success) 12%, transparent)}.lm-dd-item:disabled{opacity:.45;cursor:not-allowed}.lm-dd-sep{background:var(--lm-border);height:1px;margin:5px 0}.lm-alert{border-radius:var(--lm-radius);border:1px solid;padding:10px 14px;font-size:13px;line-height:1.5}.lm-alert--error{background:color-mix(in srgb, var(--lm-error) 10%, transparent);border-color:color-mix(in srgb, var(--lm-error) 32%, transparent);color:var(--lm-error-text)}.lm-alert--warning{background:color-mix(in srgb, var(--lm-warning) 10%, transparent);border-color:color-mix(in srgb, var(--lm-warning) 32%, transparent);color:var(--lm-warning-text)}.lm-alert--success{background:color-mix(in srgb, var(--lm-success) 10%, transparent);border-color:color-mix(in srgb, var(--lm-success) 32%, transparent);color:var(--lm-success-text)}.lm-alert--info{background:var(--lm-accent-subtle);border-color:var(--lm-accent-line);color:var(--lm-accent-text)}.seg-chips{flex-wrap:wrap;gap:8px;display:flex}.seg-chip{border:1px solid var(--lm-border);background:var(--lm-bg-hover);color:var(--lm-text-secondary);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:border-color .12s,background .12s,color .12s}.seg-chip:hover{border-color:var(--lm-accent);color:var(--lm-text)}.seg-chip.active{border-color:var(--lm-accent);background:var(--lm-accent-subtle);color:var(--lm-accent-text);box-shadow:inset 0 0 0 1px var(--lm-accent)}
