@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--g9:#064e3b;--g8:#065f46;--g7:#047857;--g6:#059669;--g5:#10b981;--g2:#a7f3d0;--g1:#d1fae5;--g0:#ecfdf5;--a8:#78350f;--a7:#92400e;--a6:#b45309;--a5:#d97706;--a1:#fef3c7;--a0:#fffbeb;--r8:#7f1d1d;--r7:#991b1b;--r6:#b91c1c;--r1:#fee2e2;--b8:#1e3a8a;--b7:#1d4ed8;--b6:#2563eb;--b1:#dbeafe;--b0:#eff6ff;--p8:#4c1d95;--p6:#7c3aed;--p1:#ede9fe;--n9:#0f172a;--n8:#1e293b;--n7:#334155;--n6:#475569;--n5:#64748b;--n4:#94a3b8;--n3:#cbd5e1;--n2:#e2e8f0;--n1:#f1f5f9;--n0:#f8fafc}body{font-family:Be Vietnam Pro,system-ui,sans-serif;background:var(--n1);color:var(--n8);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--n3);border-radius:3px}.mono,[style*=monospace]{font-family:Be Vietnam Pro,system-ui,sans-serif!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input::placeholder,textarea::placeholder{color:#cbd5e1}button:not(:disabled){transition:background .13s,color .13s,box-shadow .13s}button:not(:disabled):hover{box-shadow:inset 0 0 0 999px rgba(0,0,0,.07)}button:not(:disabled):active{box-shadow:inset 0 0 0 999px rgba(0,0,0,.13)}.dropbar-head{transition:background .13s}.dropbar-head:hover{background:rgba(0,0,0,.045)}.dropbar-head:focus-visible{outline:2px solid #0e7490;outline-offset:-2px}.tab-item{transition:color .13s,background .13s;border-radius:4px 4px 0 0}.tab-item:hover{background:#f1f5f9}@media (min-width:821px) and (max-width:1180px){.app-brand{width:170px!important}.app-header-mid{min-width:0;padding:0 10px!important;gap:8px!important}.app-header-mid>button{flex-shrink:0;white-space:nowrap;padding:5px 10px!important}.app-header-mid>button .app-season-name{white-space:nowrap}.app-header-mid>button .app-hide-m,.app-header-user .app-hide-m{display:none!important}.qs-wrap{min-width:0}.app-header-mid>:last-child{flex-shrink:0;gap:6px!important}.app-header-mid>:last-child button{padding:6px 9px!important;font-size:12px!important;white-space:nowrap}.app-header-user{flex-shrink:0;padding-left:8px!important}}.app-burger{display:none}@media (max-width:820px){.app-burger{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;margin-right:6px;font-size:20px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer}.app-header{height:auto!important;min-height:52px;flex-wrap:wrap;padding:6px 10px!important;gap:6px 8px}.app-brand{width:auto!important;border-right:none!important;padding-right:0!important;font-size:13px!important}.app-training{margin-left:0!important;font-size:10.5px!important;padding:3px 7px!important}.app-header-mid{display:contents!important}.app-header-mid>button{order:3;padding:5px 10px!important;gap:7px!important;flex:1 1 150px;min-width:150px;overflow:hidden}.app-header-mid>button .app-season-name{font-size:13.5px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-mid>:last-child{flex:0 0 auto}.app-header-mid>button>div:first-child{width:8px!important;height:8px!important;min-width:8px;flex-shrink:0!important}.app-header-mid>:last-child button{padding:6px 9px!important;font-size:12px!important}.app-header-mid>.qs-wrap{order:4}.app-header-mid>:last-child{order:3;margin-left:auto}.app-header-user{order:2;margin-left:auto;padding-left:8px!important;gap:6px!important;border-left:none!important}.app-hide-m{display:none!important}.app-nav{position:fixed!important;top:0;bottom:0;left:0;z-index:450;width:260px!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:4px 0 24px rgba(0,0,0,.25);padding-top:8px}.app-nav.open{transform:translateX(0)}.app-nav-backdrop{position:fixed;inset:0;z-index:440;background:rgba(15,23,42,.45)}.app-content{padding:10px!important;overflow-x:auto!important}.app-nav a:not([data-m]){display:none!important}.app-nav .app-nav-group:not(:has(a[data-m])){display:none}.app-nav a[data-m]{padding:12px 14px!important;font-size:15px!important}.qs-wrap{max-width:none!important;flex:1 1 100%!important}.qs-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}.qs-list{border-right:none!important}.qs-list [data-row]{padding:13px 14px!important}.qs-grid[data-mdetail="0"] .qs-detail,.qs-grid[data-mdetail="1"] .qs-list{display:none}.qs-grid[data-mdetail="1"] .qs-back{display:inline-flex!important}.app-content [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.app-content .keep-cols[style*=grid-template-columns]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.inv-table,.inv-table tbody{display:block;width:100%!important}.inv-table colgroup,.inv-table thead{display:none}.inv-table tr.inv-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1.3fr);grid-template-areas:"p p x" "k k k" "q u t";grid-gap:8px 8px;gap:8px 8px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;align-items:start}.inv-table.inv-1wh tr.inv-row{grid-template-areas:"p p x" "q u t"}.inv-table tr.inv-row>td{display:block;padding:0!important;min-width:0;text-align:left!important}.inv-table tr.inv-row>td:first-child{grid-area:p}.inv-table tr.inv-row>td:nth-child(2){grid-area:k}.inv-table tr.inv-row>td:nth-child(3){grid-area:q}.inv-table tr.inv-row>td:nth-child(4){grid-area:u}.inv-table tr.inv-row>td:nth-child(5){grid-area:t}.inv-table tr.inv-row>td:nth-child(6){grid-area:x;text-align:right!important}.inv-table tr.inv-row>td:nth-child(3):before{content:"SL";display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:2px}.inv-table tr.inv-row>td:nth-child(4):before{content:"Đơn giá";display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:2px}.inv-table tr.inv-row>td:nth-child(5):before{content:"Thành tiền";display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:2px}.inv-table tr.inv-row input:not([type=checkbox]),.inv-table tr.inv-row select{width:100%!important}.inv-table tfoot,.inv-table tfoot td,.inv-table tfoot tr{display:block;width:100%}.inv-footer{flex-wrap:wrap!important;padding:10px 12px!important;gap:8px!important}.inv-footer>div:empty{display:none}.inv-footer>label{flex:1 1 auto}.inv-footer>label,.inv-footer>label span{white-space:nowrap}.inv-footer>button:last-child{flex:1 1 100%;order:3;padding:14px!important}.app-content [style*="justify-content: space-between"]{flex-wrap:wrap;gap:8px}.rt,.rt tbody,.rt tfoot,.rt thead{display:block;width:100%!important}.rt thead{display:none}.rt tbody tr:has(>td:nth-child(2)){display:grid;grid-template-columns:auto auto 1fr;grid-gap:4px 10px;gap:4px 10px;padding:10px 12px;align-items:center;border-bottom:1px solid #f1f5f9}.rt tbody tr>td{display:block;padding:0!important;border:none!important;min-width:0}.rt tbody tr>td:only-child{padding:6px 12px!important}.rt tfoot tr{display:flex;justify-content:space-between;align-items:center;padding:10px 12px}.rt tfoot td{display:block;padding:0!important}.rt-thu tbody tr:has(>td:nth-child(2)){grid-template-areas:"n n a" "t y h" "c c c"}.rt-thu td:first-child{grid-area:t}.rt-thu td:nth-child(2){grid-area:n}.rt-thu td:nth-child(3){grid-area:c}.rt-thu td:nth-child(4){grid-area:y}.rt-thu td:nth-child(5){grid-area:h}.rt-thu td:nth-child(6){grid-area:a;text-align:right!important}.rt-chi tbody tr:has(>td:nth-child(2)){grid-template-areas:"n n a" "t g h"}.rt-chi td:first-child{grid-area:t}.rt-chi td:nth-child(2){grid-area:n}.rt-chi td:nth-child(3){grid-area:g}.rt-chi td:nth-child(4){grid-area:h}.rt-chi td:nth-child(5){grid-area:a;text-align:right!important}.cust-table,.cust-table tbody{display:block;width:100%!important}.cust-table thead{display:none}.cust-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n d" "p a";grid-gap:3px 12px;gap:3px 12px;padding:12px 14px;align-items:center}.cust-table tbody tr>td{display:block;padding:0!important;border:none!important;background:transparent!important;min-width:0}.cust-table tbody tr>td:only-child{grid-area:auto;grid-column:1/-1;text-align:center!important;padding:24px 0!important}.cust-table tbody tr>td:not(:only-child):first-child,.cust-table tbody tr>td:not(:only-child):nth-child(4),.cust-table tbody tr>td:not(:only-child):nth-child(5),.cust-table tbody tr>td:not(:only-child):nth-child(6){display:none}.cust-table td:not(:only-child):nth-child(2){grid-area:n;font-size:15.5px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-table td:not(:only-child):nth-child(3){grid-area:p;font-size:13px!important;color:#64748b}.cust-table td:not(:only-child):nth-child(7){grid-area:d;text-align:right!important;font-size:15px!important;white-space:nowrap}.cust-table td:not(:only-child):nth-child(8){grid-area:a;text-align:right!important;font-size:12px!important;font-weight:600;opacity:.85}.inv-body{padding:12px 14px!important}.inv-mode-btn{padding:9px 12px!important}.inv-mode-sub{display:none}.cust-actions{display:grid!important;grid-template-columns:1fr 1fr;grid-gap:10px!important;gap:10px!important}.cust-actions>button{padding:16px 8px!important;font-size:15px!important;white-space:nowrap}.app-content{padding-bottom:84px!important}.wrap-m{flex-wrap:wrap;row-gap:8px}.wrap-m button{white-space:nowrap}}.kho-cost::placeholder{color:#475569;opacity:1}.kho-cost{color:#0f172a;font-weight:700}.dboard{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;--ink:#0f172a;--mute:#64748b;--line:#e2e8f0}.dhero{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.dhero.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.dhero.clickable:hover{border-color:#cbd5e1;box-shadow:0 2px 8px -2px rgba(15,23,42,.12)}.dhero.clickable:focus-visible{outline:2px solid #334155;outline-offset:2px}.dhero.active{border-color:#334155;box-shadow:0 0 0 1px #334155}.dhero-hint{font-size:12px;color:#475569;font-weight:600;margin-top:4px}.dhero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}.dhero-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.dhero-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:38px;line-height:1.15;margin-top:4px;white-space:nowrap;color:var(--ink);letter-spacing:-.01em}.dhero-val span{font-size:16px;font-weight:500;color:#94a3b8;margin-left:6px;letter-spacing:0}.dhero-sub{font-size:13px;color:var(--mute);text-align:right;line-height:1.55}.dhero-sub b{font-weight:700;color:#334155}.dbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#f1f5f9;margin-top:16px;gap:2px}.dbar i{display:block;height:100%;min-width:3px}.dparts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.dpart{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;box-shadow:0 1px 2px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:6px;min-width:0}.dpart-head{display:flex;justify-content:space-between;min-height:24px}.dpart-head,.dpart-title{align-items:center;gap:8px}.dpart-title{display:inline-flex;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);min-width:0}.dpart-dot{width:10px;height:10px;border-radius:3px;background:var(--c);flex-shrink:0}.dpart-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:24px;line-height:1.2;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.dpart-val span{font-size:12px;font-weight:500;margin-left:4px;color:#94a3b8;letter-spacing:0}.dpart.empty .dpart-val{color:#cbd5e1}.dpart-bar{height:4px;border-radius:2px;background:#eef2f7;overflow:hidden}.dpart-bar i{display:block;height:100%;background:var(--c);border-radius:2px}.dpart-sub{line-height:1.45}.dpart-pct,.dpart-sub{font-size:12px;color:var(--mute)}.dpart-pct{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dpart.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.dpart.clickable:hover{border-color:#cbd5e1;box-shadow:0 2px 8px -2px rgba(15,23,42,.12)}.dpart.clickable:focus-visible{outline:2px solid var(--c);outline-offset:2px}.dpart.active{border-color:var(--c)!important;box-shadow:0 0 0 1px var(--c),0 2px 8px -2px rgba(15,23,42,.12)!important;background:#fff!important;border-style:solid!important}.dpart-hint{font-size:11.5px;color:#94a3b8;margin-top:2px}.dpart.active .dpart-hint{color:var(--c);font-weight:600}.dpart.later{border-style:dashed;background:#fafbfc}@media (max-width:1100px){.dparts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.dhero{padding:14px 16px}.dhero-val{font-size:29px}.dhero-val span{font-size:14px}.dhero-sub{text-align:left}.dparts{gap:8px}.dpart{padding:11px 12px}.dpart-val{font-size:19px}.dpart-title{font-size:10.5px;letter-spacing:.03em}.iitems-wrap{max-height:none!important;overflow:visible!important}.iitems thead{display:none}.iitems,.iitems tbody{display:block}.iitems tbody tr{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-gap:1px 8px;gap:1px 8px;padding:9px 12px;align-items:baseline}.iitems tbody tr td{padding:0!important;text-align:left!important}.iitems tbody tr td:first-child{grid-column:1;grid-row:1}.iitems tbody tr td:nth-child(2){grid-column:2/4;grid-row:1}.iitems tbody tr td:nth-child(3){grid-column:2;grid-row:2}.iitems tbody tr td:nth-child(3) div{display:inline;margin-left:6px}.iitems tbody tr td:nth-child(4){grid-column:2;grid-row:3;font-size:11.5px}.iitems tbody tr td:nth-child(4):before{content:"đơn giá "}.iitems tbody tr td:nth-child(5){grid-column:3;grid-row:2/4;align-self:center;text-align:right!important;font-size:14px}}.ch-card{background:#fff;border-radius:12px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.07),0 0 0 1px #e2e8f0;border-left:4px solid #047857;overflow:hidden}.ch-top{display:flex;align-items:flex-start;gap:14px;padding:14px 18px 12px}.ch-avatar{width:46px;height:46px;background:#047857;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.ch-id{flex:1 1;min-width:0}.ch-name-row{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap}.ch-name{font-weight:800;font-size:18px;color:#0f172a;line-height:1.25}.ch-code{font-size:11px;font-family:monospace;background:#f1f5f9;color:#64748b;padding:2px 7px;border-radius:5px;font-weight:600}.ch-edit{padding:2px 9px;font-size:11px;border:1px solid #cbd5e1;border-radius:5px;background:#f8fafc;color:#475569;cursor:pointer;font-family:inherit}.ch-contact{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;color:#64748b;margin-top:4px}.ch-phone{color:#0f172a;font-weight:600}.ch-note{font-size:12px;color:#94a3b8;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-debt{text-align:right;flex-shrink:0;max-width:46%}.ch-lbl{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.ch-debt-val{font-size:28px;font-weight:800;font-family:monospace;line-height:1.1;margin-top:1px}.ch-debt-val span{font-size:13px;font-weight:700;opacity:.7}.ch-opening{font-size:12px;color:#92400e;margin-top:3px}.ch-opening b{font-family:monospace}.ch-seasons{display:flex;flex-wrap:wrap;gap:4px 6px;justify-content:flex-end;margin-top:6px}.ch-season{font-size:11px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:2px 9px}.ch-season b{font-family:monospace;color:#ea580c}.ch-season.cur{background:#fff1f2;border-color:#fecaca;color:#991b1b}.ch-season.cur b{color:#dc2626}.ch-stats{display:flex;align-items:center;flex-wrap:wrap;gap:6px 28px;padding:8px 18px;background:#f8fafc;border-top:1px solid #f1f5f9;font-size:13px;color:#334155}.ch-stats b{font-family:monospace;font-size:14px}.ch-stats .ch-lbl{text-transform:none;letter-spacing:0;font-size:12px;margin-right:2px}.ch-unit{font-size:11px;color:#94a3b8}.ch-points{display:flex;align-items:center;gap:6px}.ch-ico{padding:1px 7px;background:#f5f3ff;color:#7c3aed;border:1px solid #ddd6fe;border-radius:6px;font-size:12px;cursor:pointer;line-height:1.4}.ch-redeem{padding:2px 10px;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}.ch-alerts{border-top:1px solid #f1f5f9;display:flex;flex-direction:column}.ch-alert{display:flex;gap:10px;padding:9px 18px;font-size:13px;border-left:3px solid transparent}.ch-alert+.ch-alert{border-top:1px solid #f1f5f9}.ch-alert.warn{background:#fffbeb;border-left-color:#f59e0b;color:#78350f}.ch-alert.bad{background:#fef2f2;border-left-color:#dc2626;color:#991b1b}.ch-alert-ico{font-size:16px;line-height:1.3}.ch-alert-body{flex:1 1;min-width:0}.ch-alert-title{font-weight:800}.ch-alert-hint{font-weight:400;font-size:11.5px;opacity:.75}.ch-alert-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:2px}.ch-alert-line>b{font-family:monospace}.ch-alert-btn{padding:4px 12px;background:#b45309;color:#fff;border:none;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;flex-shrink:0}@media (max-width:820px){.ch-top{flex-wrap:wrap;padding:12px 14px 10px;gap:10px}.ch-avatar{width:40px;height:40px}.ch-name{font-size:17px}.ch-id{flex:1 1}.ch-debt{order:3;flex:1 1 100%;max-width:none;text-align:left;border-top:1px solid #f1f5f9;padding-top:10px;display:flex;justify-content:space-between;align-items:flex-end;gap:8px 12px;flex-wrap:wrap}.ch-debt-val{font-size:26px}.ch-opening{flex:1 1 100%;text-align:right;margin-top:0}.ch-seasons{justify-content:flex-end;margin-top:0}.ch-stats{padding:8px 14px;gap:6px 16px}.ch-alert{padding:9px 14px}.ch-alert-line{flex-wrap:wrap}.ch-alert-hint{display:none}}