:root{--accent: #12304f;--accent-ink: #ffffff;--accent-soft: #eaf0f6;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fafbfc;--ink: #0e1116;--ink-2: #3d4652;--muted: #5a6472;--line: #e3e6eb;--line-2: #eef0f3;--field: #d5dae1;--ok: #1f8a4c;--danger: #b42318;--danger-soft: #fdecea;--warn: #9a4a06;--warn-soft: #fdf0e1;--info: #1e40af;--info-soft: #e8eefc;--radius: 10px;--radius-lg: 14px;--shadow: 0 8px 30px rgba(14, 17, 22, .12);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--accent: #8db4dd;--accent-ink: #0b1622;--accent-soft: #1b2a3a;--bg: #0f1216;--surface: #171b21;--surface-2: #1c2129;--ink: #eef1f5;--ink-2: #c5ccd6;--muted: #9aa4b2;--line: #2a313b;--line-2: #232a33;--field: #3a434f;--ok: #4cc485;--danger: #f2877c;--danger-soft: #3a1f1d;--warn: #f0b36a;--warn-soft: #3a2a17;--info: #9db7f5;--info-soft: #1d2741;--shadow: 0 8px 30px rgba(0, 0, 0, .5);color-scheme:dark}}:root[data-theme=dark]{--accent: #8db4dd;--accent-ink: #0b1622;--accent-soft: #1b2a3a;--bg: #0f1216;--surface: #171b21;--surface-2: #1c2129;--ink: #eef1f5;--ink-2: #c5ccd6;--muted: #9aa4b2;--line: #2a313b;--line-2: #232a33;--field: #3a434f;--ok: #4cc485;--danger: #f2877c;--danger-soft: #3a1f1d;--warn: #f0b36a;--warn-soft: #3a2a17;--info: #9db7f5;--info-soft: #1d2741;--shadow: 0 8px 30px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent)}h1,h2,h3{margin:0;letter-spacing:-.01em}h1{font-size:22px;font-weight:700}h2{font-size:17px;font-weight:600}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--field);background:var(--surface);color:var(--ink);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--danger)}.btn-ghost{border-color:transparent;background:transparent}.btn-block{width:100%;min-height:50px;font-size:15px}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.icon-btn{width:42px;padding:0}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:13px;font-weight:600;color:var(--ink-2)}.input,select.input,textarea.input{width:100%;min-height:44px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--field);background:var(--surface);color:var(--ink);font:inherit}textarea.input{padding:10px 12px;min-height:80px;resize:vertical}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hint{font-size:12px;color:var(--muted)}.error-box{padding:10px 12px;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:13px}.ok-box{padding:10px 12px;border-radius:var(--radius);background:var(--accent-soft);color:var(--ink);font-size:13px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 560px){.grid-2{grid-template-columns:minmax(0,1fr)}}.check{display:flex;align-items:flex-start;gap:10px;padding:6px 0;cursor:pointer}.check input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.card-pad{padding:18px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 16px}.table td{padding:12px 16px;border-top:1px solid var(--line-2);vertical-align:middle}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--accent)}.tag-ok{background:transparent;color:var(--ok);padding-left:0}.tag-off{background:var(--danger-soft);color:var(--danger)}.tag-bh{background:var(--info-soft);color:var(--info)}.tag-sc{background:var(--warn-soft);color:var(--warn)}.shell{min-height:100%;display:flex}.sidebar{width:232px;flex:none;background:var(--surface);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-weight:700;font-size:16px}.brand-mark{width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--ink-2);text-decoration:none}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.content{padding:24px;display:flex;flex-direction:column;gap:20px;width:100%;max-width:1280px}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}.bottom-nav{display:none}.offline-bar{padding:8px 24px;background:var(--danger);color:#fff;font-size:13px;font-weight:500;text-align:center}@media (max-width: 1023px){.sidebar{display:none}.topbar{padding:10px 16px}.content{padding:16px 16px 96px}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--sab)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;font-size:11px;color:var(--muted);text-decoration:none}.bottom-nav a.active{color:var(--accent);font-weight:600}.hide-mobile{display:none!important}}.tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}.tabs::-webkit-scrollbar{display:none}.tabs a{white-space:nowrap;flex-shrink:0;padding:10px 14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}.split{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.split>.side{flex:1 1 240px;max-width:320px}.split>.body{flex:999 1 420px;min-width:0}.list-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:0;border-top:1px solid var(--line-2);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.list-item:first-child{border-top:0}.list-item.active{background:var(--accent-soft)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1473;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:hidden;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line-2)}.modal-body{padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line-2);flex-wrap:wrap}@media (max-width: 560px){.modal-back{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:92vh}}.auth{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:24px}.auth-wide{max-width:640px}.choice{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--ink);width:100%}.choice[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.choice:disabled{opacity:.55;cursor:not-allowed}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}.status-dot.off{background:var(--danger)}.center-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.tile{padding:16px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}.pos{display:flex;gap:16px;padding:16px 24px;align-items:flex-start;width:100%}.pos-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:12px}.pos-cart-wrap{flex:0 0 400px;position:sticky;top:76px}.pos-cart{display:flex;flex-direction:column;height:calc(100vh - 96px);overflow:hidden}.pos-tabs{display:flex;align-items:center;gap:4px;padding:8px;border-bottom:1px solid var(--line-2);overflow-x:auto}.pos-tab{display:flex;align-items:center;border-radius:8px;flex:none}.pos-tab button{border:0;background:transparent;font:inherit;color:var(--ink-2);padding:8px;cursor:pointer;min-height:36px;display:inline-flex;align-items:center}.pos-tab.active{background:var(--accent-soft)}.pos-tab.active button:first-child{color:var(--accent);font-weight:600}.pos-tab-add{border:1px dashed var(--field);background:transparent;border-radius:8px;width:36px;height:36px;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}.pos-customer{padding:12px;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}.pos-lines{flex:1;overflow-y:auto}.pos-line{display:flex;gap:10px;width:100%;padding:12px;border:0;border-bottom:1px solid var(--line-2);background:transparent;font:inherit;color:var(--ink);cursor:pointer;text-align:left}.pos-line:hover{background:var(--surface-2)}.pos-total{padding:12px;border-top:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;gap:8px}.pos-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.chip{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--field);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.pos-item{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;min-height:110px}.pos-item:hover:not(:disabled){border-color:var(--accent)}.pos-item:disabled{opacity:.5;cursor:not-allowed}.pos-item-name{font-weight:600;line-height:1.35;flex:1}.pos-cartbar,.pos-cart-close{display:none}@media (max-width: 1023px){.pos{padding:12px 16px 160px}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pos-cart-wrap{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.pos-cart-wrap.open{display:block}.pos-cart{height:100%;border-radius:0;border:0}.pos-cart-close{display:inline-flex}.pos-cartbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(68px + var(--sab));z-index:15;align-items:center;justify-content:space-between;padding:10px 12px 10px 16px;border:0;border-radius:14px;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;box-shadow:var(--shadow)}.pos-cartbar-go{background:var(--accent-ink);color:var(--accent);padding:10px 16px;border-radius:10px;font-weight:600}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.stat{padding:16px;display:flex;flex-direction:column;gap:4px}.stat b{font-size:22px;letter-spacing:-.01em}.bars{display:flex;align-items:flex-end;gap:4px;height:160px;padding:8px 4px 0}.bar{flex:1;min-width:4px;background:var(--accent);border-radius:4px 4px 0 0;opacity:.85}.bar:hover{opacity:1}.meter{height:4px;background:var(--line-2);border-radius:2px;margin-top:6px;overflow:hidden;max-width:240px}.meter>span{display:block;height:100%;background:var(--accent);opacity:.7}.public{min-height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column}.public-head{background:var(--accent);color:var(--accent-ink);padding:24px 20px 48px}.public-head h1{font-size:22px;margin-top:4px}.public-body{margin-top:-32px;padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.public-foot{padding:8px 16px 24px;display:flex;flex-direction:column;gap:8px}.public-status{padding:14px;border-radius:12px;background:var(--accent-soft);display:flex;flex-direction:column;gap:4px}.public-status b{font-size:20px;color:var(--accent)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.steps li{position:relative;padding:0 0 16px 28px;color:var(--muted)}.steps li:before{content:"";position:absolute;left:4px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--field);background:var(--surface);box-sizing:border-box}.steps li:after{content:"";position:absolute;left:9px;top:18px;bottom:0;width:2px;background:var(--line)}.steps li:last-child:after{display:none}.steps li.done{color:var(--ink)}.steps li.done:before{background:var(--ok);border-color:var(--ok)}.steps li.now{color:var(--ink);font-weight:700}.steps li.now:before{border-color:var(--accent);border-width:3px}.pay-extra{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius)}.hint-bar{padding:8px 12px;border-radius:var(--radius);background:var(--accent-soft);font-size:13px}.hint-bar a{font-weight:600;color:var(--accent)}.denoms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 16px}.report-tabs{margin-bottom:4px}html,body{max-width:100%;touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}html{overflow-x:hidden}body{overflow-x:clip}.main{max-width:100%}.content{min-width:0}@media (max-width: 1023px){.input,select.input,textarea.input,input,select,textarea{font-size:16px}}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--field);background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer;min-height:30px}.chip:hover{border-color:var(--accent);color:var(--accent)}.link-btn{border:0;background:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.chip-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip-on:hover{color:var(--accent-ink)}.online-box{border:1px dashed var(--field);border-radius:var(--radius);padding:8px}.tag-bad{background:var(--danger-soft);color:var(--danger)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-gold{background:#f6ebcf;color:#8a5f00}.tag-muted{background:var(--line-2);color:var(--muted)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .tag-gold{background:#3a3018;color:#e2b54e}}:root[data-theme=dark] .tag-gold{background:#3a3018;color:#e2b54e}.ln-list{display:flex;flex-direction:column}.ln-row{display:flex;gap:12px;align-items:center;padding:12px 14px;border:0;border-top:1px solid var(--line-2);background:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.ln-row:first-child{border-top:0}.ln-row:hover{background:var(--surface-2)}.ln-row .main{flex:1;min-width:0}.ln-row .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ln-row .s{font-size:13px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ln-row .amt{text-align:right;font-weight:700;flex:none}.ln-row .amt small{display:block;font-weight:500;font-size:12px;color:var(--muted)}.ln-thumb{width:42px;height:42px;border-radius:10px;background:var(--line-2);color:var(--muted);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}.ln-thumb.lv-bad{background:var(--danger-soft);color:var(--danger)}.ln-thumb.lv-warn{background:var(--warn-soft);color:var(--warn)}.ln-thumb.lv-fair{background:#f6ebcf;color:#8a5f00}.ln-thumb.lv-good{background:var(--accent-soft);color:var(--ok)}.kv-list{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:14px}.kv-list dt{color:var(--ink-2)}.kv-list dd{margin:0;text-align:right;font-weight:600;min-width:0;overflow-wrap:anywhere}.kv-list dd small{font-weight:500;color:var(--muted);font-size:12px;margin-right:4px}.kv-list .sep{grid-column:1 / -1;border-top:1px solid var(--line-2);margin:2px 0}.big-amt{font-size:26px;font-weight:800;line-height:1.15}.c-ok{color:var(--ok)}.c-bad{color:var(--danger)}.c-gold{color:#8a5f00}.periods{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.per{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:7px 8px;text-align:left;font:inherit;font-size:12.5px;line-height:1.35;color:inherit}.per b{display:block;font-size:13px}.per.paid{background:var(--accent-soft);border-color:transparent;color:var(--ok)}.per.late{background:var(--danger-soft);border-color:transparent;color:var(--danger)}button.per{cursor:pointer}.progress{height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}.progress i{display:block;height:100%;background:var(--ok)}.verdict{border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.verdict b{font-size:17px;letter-spacing:.02em}.v-bad{background:var(--danger-soft);color:var(--danger)}.v-warn{background:var(--warn-soft);color:var(--warn)}.v-fair{background:#f6ebcf;color:#8a5f00}.v-good{background:var(--accent-soft);color:var(--ok)}.v-none{background:var(--line-2);color:var(--muted)}.lend-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sched-table{width:100%;border-collapse:collapse;font-size:13px}.sched-table th,.sched-table td{padding:6px 4px;border-bottom:1px solid var(--line-2);text-align:right;white-space:nowrap}.sched-table th:first-child,.sched-table td:first-child{text-align:left}.sched-table th{color:var(--muted);font-weight:600}.chart-box svg{display:block;width:100%;height:auto}.chart-box .grid{stroke:var(--line);stroke-width:1}.chart-box .ax{fill:var(--muted);font-size:11px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:14px;height:3px;border-radius:2px;display:inline-block}.bank-ok{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--ok);text-align:center}.bank-ok .tick{width:84px;height:84px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 8px color-mix(in srgb,var(--ok) 18%,transparent)}.bank-ok .tick svg{width:50px;height:50px}.bank-ok b{font-size:20px;margin-top:8px}.bank-ok .amt{font-size:26px;font-weight:800;color:var(--ink)}.bank-ok .sub{font-size:13px;color:var(--muted)}@media (prefers-reduced-motion: no-preference){.bank-ok .tick{animation:tick-pop .45s cubic-bezier(.25,1,.5,1)}@keyframes tick-pop{0%{transform:scale(.3);opacity:0}}}.loan-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:12px}.loan-cards .kv-list dd{white-space:nowrap}.offline-bar a{color:#fff;font-weight:700;text-decoration:underline}.plan-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px}.plan-card{text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px}.plan-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.product-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:none;background:var(--line-2);color:var(--muted);display:inline-grid;place-items:center;font-size:11px;font-weight:700;border:1px solid var(--line-2)}.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:14px}.timeline li{position:relative}.timeline .dot{position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;border:2px solid var(--surface)}.pos-item-img{width:100%;height:84px;object-fit:contain;border-radius:8px;background:var(--surface-2)}.variant-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font:inherit;color:inherit;cursor:pointer;width:100%}.variant-row:hover{border-color:var(--accent)}.variant-row:disabled{opacity:.5;cursor:not-allowed}.kbd-hint kbd,kbd{font:inherit;font-size:11px;padding:1px 5px;border:1px solid var(--field);border-bottom-width:2px;border-radius:4px;background:var(--surface)}.bar-track{flex:1;height:8px;border-radius:4px;background:var(--line-2);overflow:hidden;min-width:60px}.bar-track i{display:block;height:100%;background:var(--accent);border-radius:4px}@media (max-width: 560px){.pos-item-img{height:56px}}.swatch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--field);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.swatch .dot{width:22px;height:22px;border-radius:50%}.swatch.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);font-weight:600}.range-pill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;cursor:pointer}.range-pill select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;font-size:16px}.dash-summary{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.dash-big{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--accent)}.dash-big.c-ok{color:var(--ok)}.dash-sep{border-top:1px solid var(--line-2)}.dash-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dash-quick-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:var(--radius);text-decoration:none;color:var(--ink);font-size:13px;text-align:center}.dash-quick-item:hover{background:var(--surface)}.dash-quick-icon{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:16px;align-items:start}.dash-title{font-size:17px}.dash-chart{display:block;width:100%;height:auto}.dash-chart .grid{stroke:var(--line);stroke-width:1}.dash-chart .ax{fill:var(--muted);font-size:11px}.dash-row{display:flex;gap:10px;align-items:flex-start}.dash-name{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dash-tile{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}.dash-tile span{font-size:13px;color:var(--ink-2)}.dash-tile b{font-size:15px;overflow-wrap:anywhere}.dash-tile.t1{background:color-mix(in srgb,var(--ok) 14%,var(--surface))}.dash-tile.t2{background:var(--accent-soft)}.dash-tile.t3{background:color-mix(in srgb,var(--warn) 14%,var(--surface))}.dash-stock{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dash-stock>div{background:var(--accent-soft);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px}.dash-stock b{font-size:18px}@media (max-width: 560px){.dash-big{font-size:28px}.dash-tiles{grid-template-columns:minmax(0,1fr)}.dash-quick-item{font-size:12px}}.page-loading{display:flex;justify-content:center;padding:48px 16px}.main{overflow-x:clip}@media (max-width: 1023px){.tabs{flex-wrap:wrap;overflow:visible;gap:6px;border-bottom:0}.tabs a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;margin:0;font-size:13px}.tabs a.active{background:var(--accent-soft);border-color:transparent}.main,.content{min-width:0;max-width:100vw}}@media (max-width: 640px){h1{font-size:19px}.content{padding:12px 12px 92px;gap:14px}.card-pad{padding:14px}.topbar{padding:8px 12px}.page-head{gap:8px}.page-head h1{flex:1 1 100%}.page-head .spacer{display:none}.page-head .btn{min-height:36px;padding:0 12px;font-size:13px;gap:6px}.row>.input,.row>select.input{min-width:0}.row>select.input{flex:1 1 140px}.row input[type=date].input{flex:1 1 120px;width:auto;min-width:0;font-size:14px;padding:0 8px}.table-wrap{overflow:visible}.table{min-width:0!important;display:block}.table thead{display:none}.table tbody,.table tfoot{display:block}.table tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 14px;border-top:1px solid var(--line-2)}.table tbody tr:first-child{border-top:0}.table td{display:block;padding:0;border:0;text-align:left!important;min-width:0;font-size:13px}.table td:first-child{flex:1 1 100%;font-size:14px}.table td:empty{display:none}.table td[data-label]:not([data-label=""]):not(:first-child):before{content:attr(data-label) " ";color:var(--muted);font-size:12px;font-weight:400}.table tr.clickable:hover td{background:transparent}.table tr.clickable:active{background:var(--surface-2)}.table td .btn{min-height:32px}.sched-table{width:100%;font-size:13px}}.card{box-shadow:0 1px 2px #1018280a}.tag{border-radius:6px;font-size:11.5px;letter-spacing:.01em}.table th{font-size:11.5px;letter-spacing:.05em;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line-2)}.table thead th:first-child{border-top-left-radius:var(--radius-lg)}.table thead th:last-child{border-top-right-radius:var(--radius-lg)}.table td{padding:11px 16px}.table tbody tr:first-child td{border-top:0}@media (min-width: 1024px){.sidebar{width:236px;padding:16px 12px;gap:1px}.brand{padding:2px 10px 16px;font-size:15px;letter-spacing:.02em}.brand-mark{width:30px;height:30px;font-size:12px}.nav-link{padding:8px 10px;font-size:13.5px;color:var(--ink-2)}.nav-link svg{color:var(--muted);flex:none}.nav-link.active svg{color:var(--accent)}.topbar{min-height:58px;padding:8px 28px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}.topbar select.input{border-color:transparent;background-color:var(--surface-2);min-height:36px!important}.topbar select.input:hover{border-color:var(--line)}.avatar{width:34px;height:34px;font-size:13px}.content{padding:28px 32px 40px;margin:0 auto;max-width:1320px;gap:18px}h1{font-size:21px;font-weight:650;letter-spacing:-.02em}.page-head{min-height:40px}.page-head .btn{min-height:38px;padding:0 14px}.btn{min-height:40px;border-color:var(--line);box-shadow:0 1px #10182808}.btn-primary{box-shadow:0 1px 2px #1018281f}.btn-ghost{box-shadow:none}.input,select.input{min-height:40px}.tabs a{padding:9px 14px;font-size:13.5px}}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.pos-item{padding:10px;gap:8px;min-height:0;border-radius:12px;transition:border-color .12s,box-shadow .12s}.pos-item:hover:not(:disabled){box-shadow:0 4px 14px #10182814}.pos-item-img{width:100%;height:76px;object-fit:contain;border-radius:8px;background:var(--surface-2)}.pos-item-ph{display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);font-weight:600;font-size:17px;letter-spacing:.06em;border:1px dashed var(--line)}.pos-item-name{font-size:13.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;flex:none}.pos-item-meta{display:flex;flex-direction:column;gap:1px;width:100%;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden}.pos-item-meta b{color:var(--ink);font-size:14px}.pos-item-meta .low{color:var(--warn);font-weight:600}@media (max-width: 560px){.pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pos-item-img{height:56px}}.tag-color{gap:5px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);font-weight:500}.swatch-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:none}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 720px){.grid-3{grid-template-columns:minmax(0,1fr)}}.unit-list{display:flex;flex-direction:column;gap:8px}.unit-row{display:flex;gap:12px;align-items:center;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.unit-row:hover,.unit-row:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.unit-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.unit-imei{font-size:15px;letter-spacing:.02em}.unit-price{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px;flex:none}.unit-price b{font-size:16px;color:var(--accent)}.unit-edit{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:var(--surface-2)}.unit-edit-head,.unit-edit-row{display:grid;grid-template-columns:1.3fr .9fr .9fr 1.2fr 1.2fr 1fr .6fr;gap:8px;align-items:center}.unit-edit-head{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 2px}.unit-edit-row .input{min-height:36px}@media (max-width: 900px){.unit-edit-row{grid-template-columns:1fr 1fr;padding-bottom:8px;border-bottom:1px solid var(--line)}.unit-edit-row>:first-child{grid-column:1 / -1}.unit-edit-row:last-child{border-bottom:0;padding-bottom:0}}.notif{position:relative}.notif-btn{position:relative;width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.notif-btn:hover,.notif-btn.on{background:var(--surface-2);color:var(--ink)}.notif-badge{position:absolute;top:3px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.notif-panel{position:absolute;right:-8px;top:calc(100% + 8px);width:380px;max-height:min(560px,calc(100vh - 90px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:30;overflow:hidden}.notif-head{display:flex;align-items:center;gap:8px;padding:14px 16px 8px;font-size:15px}.notif-filter{display:flex;gap:4px;padding:0 12px 8px;border-bottom:1px solid var(--line-2)}.notif-filter button{border:0;background:transparent;font:inherit;font-size:13px;color:var(--muted);padding:5px 10px;border-radius:999px;cursor:pointer}.notif-filter button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.notif-list{overflow-y:auto;flex:1}.notif-item{display:flex;gap:12px;align-items:flex-start;width:100%;padding:12px 16px;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.notif-ico{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;background:var(--accent-soft);color:var(--accent)}.notif-ico.k-repair{background:var(--info-soft);color:var(--info)}.notif-ico.k-order{background:var(--warn-soft);color:var(--warn)}.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-title{font-size:13.5px;font-weight:500}.notif-item.unread .notif-title{font-weight:650}.notif-body{font-size:12.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-time{font-size:11.5px;color:var(--muted)}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px;flex:none}.notif-empty{padding:36px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px}.notif-foot{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line-2)}@media (max-width: 640px){.notif-panel{position:fixed;left:8px;right:8px;top:56px;width:auto;max-height:calc(100vh - 140px)}}.iu-list{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.iu-row{display:grid;align-items:center;column-gap:12px;row-gap:3px;padding:8px 6px 8px 14px;border-top:1px solid var(--line-2);grid-template-columns:150px minmax(0,220px) minmax(0,1fr) auto auto;grid-template-areas:"imei tags sub price act"}.iu-row:first-child{border-top:0}.iu-row:hover{background:var(--surface-2)}.iu-imei{grid-area:imei;font-size:14px;letter-spacing:.02em;white-space:nowrap}.iu-tags{grid-area:tags;display:flex;gap:5px;flex-wrap:nowrap;overflow:hidden;min-width:0}.iu-tags .tag{white-space:nowrap;flex:none}.iu-sub{grid-area:sub;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.iu-price{grid-area:price;font-size:14px;white-space:nowrap;text-align:right}.iu-act{grid-area:act;display:flex}.iu-act .icon-btn{width:32px;min-height:32px;color:var(--muted)}.iu-act .icon-btn:hover{color:var(--accent)}@media (max-width: 720px){.iu-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"imei price act" "tags tags tags" "sub sub sub";padding:8px 2px 8px 12px;column-gap:8px}.iu-imei,.iu-price{font-size:13.5px}.iu-act .icon-btn{width:30px;min-height:30px}.iu-sub:empty{display:none}}.pos-item-meta b{white-space:normal}@media (max-width: 560px){.iu-row{gap:6px;padding:8px 2px 8px 10px;align-items:flex-start}.iu-price{font-size:13.5px;padding-top:7px}.iu-imei{font-size:13.5px}.iu-act{flex-direction:row}.iu-act .icon-btn{width:30px;min-height:30px}}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 720px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.products-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:0;padding:9px 12px;align-items:center}.products-table td:first-child{grid-row:1 / span 2;font-size:14px}.products-table td.p-kind{display:none}.products-table td{padding:0!important}.products-table td.p-price{grid-column:2;font-weight:600;font-size:13.5px;max-width:44vw;text-align:right!important;line-height:1.3}.products-table td.p-stock{grid-column:2;font-size:12px;font-weight:500!important;color:var(--muted);text-align:right!important}.products-table td.p-stock:before{content:"Tồn "!important}.products-table td.p-price:before{content:none!important}.products-table .product-thumb{width:40px;height:40px}.products-table .p-name,.products-table .p-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.products-table td:first-child td,.products-table td:first-child>.row{flex-wrap:nowrap}}.ui-head{display:flex;flex-direction:column;gap:6px}.ui-note{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px 10px;display:flex;flex-direction:column;gap:2px}.ui-note-text{white-space:pre-wrap;user-select:text;-webkit-user-select:text}.ui-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ui-photo{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2);display:flex;flex-direction:column}.ui-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:var(--line-2)}.ui-photo figcaption{display:flex;align-items:center;gap:2px;padding:6px}.ui-photo figcaption .btn:first-child{flex:1;padding:0 8px;font-size:12.5px;gap:4px}.ui-photo figcaption .icon-btn{width:32px;min-height:32px}.iu-row{cursor:pointer}@media (max-width: 560px){.ui-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.pos-line-wrap{display:flex;align-items:stretch;border-bottom:1px solid var(--line-2)}.pos-line-wrap .pos-line{border-bottom:0;padding-right:4px}.pos-line-x{flex:none;width:40px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.pos-line-x:hover{color:var(--danger);background:var(--danger-soft)}.scan-box{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:4 / 3;max-height:62vh}.scan-box video{width:100%;height:100%;display:block;object-fit:cover}.scan-roi{position:absolute;left:4%;right:4%;top:30%;height:40%;border:2px solid rgba(255,255,255,.9);border-radius:12px;box-shadow:0 0 0 9999px #00000059;overflow:hidden}.scan-line{position:absolute;left:6%;right:6%;top:50%;height:2px;background:#ff4d4f;box-shadow:0 0 8px #ff4d4f;opacity:.85}.scan-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}@media (max-width: 640px){.table td{padding:0}}.phone-only{display:none}@media (max-width: 640px){.phone-only{display:inline}.wide-only{display:none}}.grade-new{background:color-mix(in srgb,var(--ok) 15%,var(--surface));color:var(--ok)}.grade-mint{background:var(--info-soft);color:var(--info)}.grade-99{background:var(--accent-soft);color:var(--accent)}.grade-fair{background:var(--warn-soft);color:var(--warn)}.grade-poor{background:var(--danger-soft);color:var(--danger)}.toasts{position:fixed;top:66px;right:16px;z-index:60;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 24px))}.toast{display:flex;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);animation:toast-in .22s ease-out}.toast-main{flex:1;min-width:0;display:flex;gap:10px;align-items:flex-start;padding:12px 6px 12px 12px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.toast-main .notif-title{font-weight:650}.toast-x{flex:none;width:34px;height:34px;margin:6px 6px 0 0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.toast-x:hover{background:var(--surface-2)}.notif-ico.k-tradein{background:color-mix(in srgb,var(--ok) 15%,var(--surface));color:var(--ok)}@keyframes toast-in{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}@media (max-width: 640px){.toasts{top:58px;right:12px;left:12px;width:auto}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.brand-logo{object-fit:cover;background:var(--surface);border:1px solid var(--line)}.brand-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;font-weight:500;background:var(--info-soft);color:var(--info)}.brand-banner.lv-warn{background:var(--warn-soft);color:var(--warn)}.brand-banner.lv-danger{background:var(--danger);color:#fff}.brand-banner button{border:0;background:transparent;color:inherit;cursor:pointer;padding:4px;display:flex;opacity:.8}.swatches{display:flex;flex-wrap:wrap;gap:8px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:8px}.login-brand .brand-mark{border-radius:22px;box-shadow:0 6px 20px #1018281f}.login-brand b{font-size:26px;letter-spacing:.02em}.push-prompt{position:fixed;z-index:45;left:12px;right:12px;margin:0 auto;top:72px;max-width:440px;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);animation:toast-in .25s ease-out}.push-prompt-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink-2)}.push-prompt-text b{color:var(--ink);font-size:14px}.push-prompt-act{display:flex;gap:4px;flex:none}@media (max-width: 1023px){.push-prompt{top:64px;flex-wrap:wrap}.push-prompt-act{width:100%;justify-content:flex-end}}.print-settings{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.print-preview{position:sticky;top:80px;display:flex;flex-direction:column;gap:8px}.print-frame{width:100%;height:70vh;border:1px solid var(--line);border-radius:12px;background:#fff}.print-frame.roll{width:330px;margin:0 auto}.print-frame.roll.k58{width:250px}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}@media (max-width: 1100px){.print-settings{grid-template-columns:minmax(0,1fr)}.print-preview{position:static}.print-frame{height:60vh}}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px}.legal-page{max-width:760px;margin:0 auto;padding:16px 16px 48px}.legal-top{display:flex;align-items:center;gap:8px;padding:8px 0 16px;border-bottom:1px solid var(--line-2);margin-bottom:16px}.legal-body{line-height:1.65}.legal-body h1{font-size:26px;margin:8px 0 12px}.legal-body h2{font-size:17px;margin:22px 0 6px}.legal-body ul{padding-left:20px;margin:6px 0}.legal-body p{margin:6px 0}.legal-links a{color:inherit;text-decoration:underline}:root{--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--status-bg: var(--accent)}html{background:var(--bg);overscroll-behavior:none;-webkit-text-size-adjust:100%}body{overscroll-behavior:none;padding-top:var(--sat);padding-left:var(--sal);padding-right:var(--sar)}:root .boot{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--bg);color:var(--ink);font:700 29px/1 -apple-system,Be Vietnam Pro,Helvetica,Arial,sans-serif;letter-spacing:.08em;z-index:100}:root .boot img{width:104px;height:104px;border-radius:24px;object-fit:contain}.status-fill{position:fixed;top:0;left:0;right:0;height:var(--sat);background:var(--status-bg);z-index:200;pointer-events:none}.topbar{top:var(--sat)}.pos-cart-wrap.open{padding-top:var(--sat);background:var(--surface)}.toasts{top:calc(66px + var(--sat))}.push-prompt{top:calc(72px + var(--sat))}@media (max-width: 1023px){.content{padding-bottom:calc(96px + var(--sab))}.pos{padding-bottom:calc(160px + var(--sab))}.push-prompt{top:calc(64px + var(--sat))}.notif-panel{top:calc(56px + var(--sat))}}@media (max-width: 640px){.toasts{top:calc(58px + var(--sat))}}*{-webkit-tap-highlight-color:transparent}@media (hover: none) and (pointer: coarse){.btn,.chip,button,a,label,.bottom-nav,.sidebar,.topbar,.tabs,.modal-head,.list-item,.pos-item,.pos-line,.pos-tabs,.notif-item,.table th,.sheet-handle{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable],.selectable,.selectable *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.btn,.chip,.pos-item,.pos-line,.list-item,.notif-item,.bottom-nav a,.choice,.icon-btn,.pos-tab-add,.pos-cartbar{transition:transform .08s ease,background-color .12s ease,filter .12s ease}.btn:active:not(:disabled),.chip:active,.pos-item:active:not(:disabled),.choice:active:not(:disabled),.pos-cartbar:active,.pos-tab-add:active{transform:scale(.97)}.btn:active:not(:disabled):not(.btn-primary){background:var(--line-2)}.btn-primary:active:not(:disabled){filter:brightness(.9)}.pos-line:active,.list-item:active,.notif-item:active,.table tr.clickable:active td{background:var(--line-2)}.bottom-nav a:active{transform:scale(.92)}}button[aria-busy=true],.btn[aria-busy=true]{pointer-events:none;opacity:.7}.sk{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--line-2) 0%,var(--line) 50%,var(--line-2) 100%);background-size:200% 100%;animation:sk-shine 1.2s ease-in-out infinite}.sk-row td{padding-top:14px;padding-bottom:14px}.sk-list{display:flex;flex-direction:column}.sk-item{display:flex;gap:12px;align-items:center;padding:14px;border-top:1px solid var(--line-2)}.sk-item:first-child{border-top:0}.sk-ava{width:38px;height:38px;border-radius:10px;flex:none}.sk-lines{flex:1;display:flex;flex-direction:column;gap:8px}.sk-detail{display:flex;flex-direction:column;gap:12px;padding:4px 0}.sk-page{padding:16px;display:flex;flex-direction:column;gap:14px;width:100%;max-width:1280px}@keyframes sk-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.route-anim{animation:route-in .2s ease-out}@keyframes route-in{0%{opacity:.35}to{opacity:1}}.route-page{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.ptr{position:fixed;left:50%;top:calc(var(--sat) + 8px);z-index:30;width:38px;height:38px;margin-left:-19px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;color:var(--accent);transform:translateY(-60px);opacity:0;pointer-events:none}.ptr.go svg{animation:spin .8s linear infinite}.swipe-back{position:fixed;left:0;top:50%;z-index:70;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0}.swipe-back.ready{background:var(--accent);color:var(--accent-ink)}.sheet-handle{display:none}@media (max-width: 767px){.modal-back{align-items:flex-end;padding:0;animation:back-in .2s ease-out}.modal{border-radius:18px 18px 0 0;max-height:min(86dvh,calc(100dvh - var(--sat) - 48px));max-width:none!important;animation:sheet-in .26s cubic-bezier(.2,.8,.2,1);will-change:transform}.modal-head{padding-top:4px;border-bottom:0;touch-action:none}.modal-head h2{font-size:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.modal-body{padding-top:6px}.modal-body:last-child{padding-bottom:calc(18px + var(--sab))}.modal-foot{padding-bottom:calc(14px + var(--sab))}.modal-foot .btn{flex:1 1 auto;min-height:46px}.sheet-handle{display:block;width:100%;padding:8px 0 4px;touch-action:none;cursor:grab;flex:none}.sheet-handle:before{content:"";display:block;width:40px;height:5px;border-radius:3px;background:var(--field);margin:0 auto}.modal.dragging{transition:none;animation:none}.modal.snap{transition:transform .22s cubic-bezier(.2,.8,.2,1)}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}@keyframes back-in{0%{background:transparent}}.confirm-msg{margin:0;font-size:15px;line-height:1.5;white-space:pre-line}.pick-list{display:flex;flex-direction:column;margin:0 -18px}.pick-item{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 18px;border:0;border-top:1px solid var(--line-2);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.pick-item:first-child{border-top:0}.pick-item.on{color:var(--accent);font-weight:600}.pick-item .pick-sub{display:block;font-size:12.5px;color:var(--muted);font-weight:400}.store-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid var(--field);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;max-width:56vw}.store-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd-bar{position:fixed;left:0;right:0;z-index:120;display:flex;gap:6px;align-items:center;padding:6px 8px;background:var(--surface-2);border-top:1px solid var(--line)}.kbd-bar button{min-height:38px;min-width:52px;padding:0 12px;border:1px solid var(--field);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600}.kbd-bar .kbd-done{margin-left:auto;color:var(--accent);border-color:transparent;background:transparent}.ios-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.ios-steps li{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.ios-step-n{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}.ios-step-ico{width:40px;height:40px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#0a84ff;flex:none}.ios-arrow{text-align:center;color:var(--muted);font-size:13px}@media (prefers-reduced-motion: reduce){.route-anim,.modal,.modal-back{animation:none!important}}.icon-btn{flex:none}.foot-hint{flex-basis:100%;font-size:12.5px;color:var(--muted)}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}b.num,span.num,strong.num{white-space:nowrap}@media (hover: none) and (pointer: coarse){.chip{min-height:40px;padding:0 14px;font-size:14px}.btn,.page-head .btn{min-height:44px}.table td .btn,.btn-sm{min-height:40px}.iu-act .icon-btn{width:40px;min-height:40px}.tabs a{min-height:40px;display:inline-flex;align-items:center}.btn-sm{min-height:40px}label.check{min-height:44px;align-items:center}label.check input{margin-top:0}.notif-btn{width:44px;height:44px}.topbar a[aria-label="Tài khoản của tôi"]{min-height:44px;min-width:44px;justify-content:center}.pos-tab button{min-height:40px}.pos-tab-add{width:40px;height:40px}.pos-line-x{min-width:44px;min-height:44px}}.pos-cartbar-wrap{display:none}@media (max-width: 1023px){.pos-cartbar-wrap{display:flex;position:fixed;left:12px;right:12px;bottom:calc(68px + var(--sab));z-index:15;align-items:stretch;gap:0;border-radius:14px;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);overflow:hidden}.pos-cartbar-wrap .pos-cartbar{position:static;display:flex;flex:1;min-width:0;box-shadow:none;border-radius:0;background:transparent;padding:10px 8px 10px 16px}.pos-cartbar-pay{flex:none;margin:8px;padding:0 18px;border:0;border-radius:10px;background:var(--accent-ink);color:var(--accent);font:inherit;font-weight:700;min-height:44px}.pos-cartbar-pay:disabled{opacity:.6}.pos-cartbar-cust{flex:none;width:48px;border:0;background:#ffffff29;color:inherit;display:inline-flex;align-items:center;justify-content:center}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 20px;color:var(--muted)}.empty-ico{width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.empty b{color:var(--ink);font-size:15px}.empty p{margin:0;max-width:360px;font-size:13.5px}.empty .row{justify-content:center;margin-top:4px}.starter{display:flex;flex-direction:column;gap:4px}.starter-step{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--line-2);color:var(--ink);text-decoration:none}.starter-step:first-of-type{border-top:0}.starter-n{width:28px;height:28px;border-radius:50%;border:2px solid var(--field);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none;color:var(--muted)}.starter-step.done .starter-n{background:var(--ok);border-color:var(--ok);color:#fff}.starter-step.done .starter-t{color:var(--muted);text-decoration:line-through}.starter-t{flex:1;min-width:0}.starter-t small{display:block;color:var(--muted);font-size:12.5px}.starter-bar{height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}.starter-bar>span{display:block;height:100%;background:var(--ok)}.pos-item-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.pos-line b,.unit-row b,.ln-row .t{overflow-wrap:anywhere}.sample-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 8px 8px 14px;border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);font-size:13.5px}.sample-bar b{color:var(--warn)}.tag-founder{background:var(--warn-soft);color:var(--warn)}html.android{-webkit-text-size-adjust:100%;text-size-adjust:100%}html.android body{font-size:13px}html.android h1{font-size:20px}html.android h2{font-size:16px}html.android .small,html.android .btn-sm,html.android .field>label,html.android .label{font-size:12px}html.android .hint{font-size:11px}html.android .btn,html.android .input,html.android select.input,html.android textarea.input{font-size:13.5px}html.android .bottom-nav a,html.android .bottom-nav button{font-size:11px}html.android .modal-head h2{font-size:15px}.report-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;margin:8px 0 14px}.report-bar-right{display:contents}.report-bar select.input,.report-bar .btn,.report-export .btn{height:44px;min-height:44px;box-sizing:border-box}.report-bar select.input{width:100%;font-weight:600}.report-bar .report-type{grid-column:1;grid-row:1}.report-bar:not(.has-range) .report-type{grid-column:1 / -1}.report-bar .range-pill-btn{grid-column:2;grid-row:1;white-space:nowrap;justify-content:center}.report-bar .report-store{grid-column:1;grid-row:2}.report-bar:not(.has-range) .report-store{grid-row:2}.report-export{grid-column:2;grid-row:2;display:flex}.report-export .btn{width:100%;justify-content:center;white-space:nowrap}.report-export:empty{display:none}@media (min-width: 721px){.report-bar{display:flex;flex-wrap:wrap}.report-bar select.input{width:auto;min-width:200px;height:40px;min-height:40px}.report-bar .btn,.report-export .btn{height:40px;min-height:40px}}html.android body{font-size:12.5px}html.android h1{font-size:18px}html.android h2{font-size:15px}html.android .small,html.android .btn-sm,html.android .field>label,html.android .label{font-size:11.5px}html.android .hint{font-size:10.5px}html.android .btn,html.android .input,html.android select.input,html.android textarea.input{font-size:13px}html.android .bottom-nav a,html.android .bottom-nav button{font-size:10.5px}html.android .list-item,html.android .card{font-size:12.5px}@media (max-width: 720px){.fbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.fbar>.spacer{display:none}.fbar>*{min-width:0}.fbar .input,.fbar select.input{width:100%!important;max-width:none!important;height:44px;min-height:44px;box-sizing:border-box}.fbar>.btn,.fbar .range-pill-btn{height:44px;min-height:44px;width:100%;justify-content:center;white-space:nowrap;box-sizing:border-box}.fbar .span2{grid-column:1 / -1}.fbar .fbar-search{display:flex;gap:8px}.fbar .fbar-search .input{flex:1 1 auto;width:auto!important}.fbar .fbar-search .btn{height:44px;min-height:44px;flex:0 0 auto}.fbar .row.span2{flex-wrap:wrap}}
