@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+Khmer:wght@400;500;700&display=swap");:root{--ink:#333;--muted:#777;--line:#ddd;--primary:#428bca;--primary-dark:#3071a9;--info:#5bc0de;--success:#78cd51;--danger:#ff5454;--warning:#fabb3d;--teal:#16a085;--sidebar:#2f3133;--sidebar-line:#232526;--page:#e9ebee;--font:"Inter","Noto Sans Khmer",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--page);font:13px/1.45 var(--font)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #66afe9;outline-offset:1px}h1,h2,h3,p{margin-top:0}.icon{flex-shrink:0;vertical-align:-3px}a.btn,a.hbtn{text-decoration:none}.muted{color:var(--muted)}.text-danger{color:#c9302c;font-weight:700}.text-warning{color:#b5760a;font-weight:700}.center{text-align:center}.unit{color:var(--primary)}.app-shell{--sidebar-width:234px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);min-height:100dvh}.header{grid-column:1/-1;position:sticky;top:0;z-index:20;height:60px;background:#000}.brand,.header{display:flex;align-items:center;color:#fff}.brand{width:var(--sidebar-width);height:100%;padding:0 10px;border:0;background:transparent;font-size:18px;font-weight:700;letter-spacing:-.3px;text-align:left;white-space:nowrap;overflow:hidden;text-decoration:none}.brand img{max-height:32px;max-width:100%;object-fit:contain}.menu-toggle{display:none;width:44px;height:60px;border:0;background:transparent;color:#fff}.header-actions{display:flex;margin-left:auto;padding-right:12px;height:100%}.hbtn,.header-actions{align-items:center;gap:6px}.hbtn{display:inline-flex;justify-content:center;min-width:36px;height:30px;padding:0 8px;border:0;border-radius:2px;background:#3a3a3a;color:#fff;font-size:12px}.hbtn:hover{filter:brightness(1.2)}.language-menu{position:relative}.hbtn.lang{gap:6px;min-width:46px;font-weight:700}.flag{width:20px;height:13px;flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px #0003}.language-dropdown{animation:language-open .18s cubic-bezier(.2,.8,.2,1) both;transform-origin:top right;position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:170px;padding:5px 0;background:#fff;border:1px solid #00000026;border-radius:3px;box-shadow:0 6px 16px #00000040}.language-dropdown:before{content:"";position:absolute;top:-6px;right:14px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:0;border-bottom:6px solid #fff}.language-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:0;background:none;color:#333;text-align:left}.language-dropdown button:hover{background:#f2f6fa;padding-left:17px}.language-dropdown button{transition:background .15s,padding-left .15s;animation:language-item .22s ease-out both}.language-dropdown.closing{animation:language-close .14s ease-in both}.language-dropdown button.active .icon{animation:language-check .3s cubic-bezier(.3,1.6,.5,1) both}.hbtn.lang .icon{transition:transform .2s ease}.hbtn.lang[aria-expanded=true] .icon{transform:rotate(180deg)}@keyframes language-open{0%{opacity:0;transform:translateY(-6px) scale(.96)}}@keyframes language-close{to{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes language-item{0%{opacity:0;transform:translateX(6px)}}@keyframes language-check{0%{opacity:0;transform:scale(.3)}}.language-switching body{animation:language-switch .35s ease-out}@keyframes language-switch{0%{opacity:.55}}@media (prefers-reduced-motion:reduce){.language-dropdown,.language-dropdown button,.language-dropdown button.active .icon,.language-switching body{animation:none}}.language-dropdown button.active{color:var(--primary);font-weight:700}.language-dropdown button .icon{margin-left:auto}.hbtn.yellow{background:var(--warning)}.hbtn.green{background:var(--success)}.hbtn.blue{background:var(--primary)}.badge-host{position:relative}.badge{position:absolute;top:-7px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e53935;color:#fff;font:700 10px/18px var(--font);font-style:normal;text-align:center}.hbtn.wide{padding:0 16px;font-weight:500}.sidebar{position:sticky;top:44px;height:calc(100dvh - 44px);overflow-y:auto;overflow-x:hidden;background:#000;scrollbar-width:thin;scrollbar-color:#444 transparent}.erp-navigation{flex-direction:column}.erp-navigation,.nav-item{display:flex;background:var(--sidebar)}.nav-item{align-items:center;gap:14px;width:100%;min-height:38px;padding:8px 16px 8px 13px;border:0;border-bottom:1px solid var(--sidebar-line);color:#d6d6d6;font-size:12px;font-weight:500;text-align:left;text-transform:uppercase;white-space:nowrap}.nav-item>span{overflow:hidden;text-overflow:ellipsis}.nav-item i{margin-left:auto;font-style:normal;display:flex}.nav-item:hover{background:#3b3e40;color:#fff}.nav-item.active{background:var(--primary);color:#fff}.nav-children{display:flex;flex-direction:column;background:#000}.nav-children a{display:flex;align-items:center;gap:14px;min-height:37px;padding:8px 14px 8px 15px;border:0;border-bottom:1px solid #1a1a1a;background:#000;color:#fff;font-size:12px;text-align:left}.nav-children a:hover{background:#1d1d1d}.nav-children a.active{background:var(--info);color:#fff}.content{display:flex;flex-direction:column;min-width:0;min-height:calc(100dvh - 44px)}.breadcrumb-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;min-height:38px;padding:6px 10px;background:#f1f1f1;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:14px;color:#777}.breadcrumb li+li:before{content:"/";padding:0 7px;color:#ccc}.breadcrumb a:hover{text-decoration:underline}.session-info{font-size:13px;color:#333}.page{flex:1 1;display:flex;flex-direction:column;gap:18px;padding:14px 14px 24px}.mobile-scrim{display:none}.nav-system-label{margin-top:14px;padding:8px 16px 4px;color:#8a8f98;font-size:10.5px;letter-spacing:.08em}.nav-item.nav-server{margin:4px 10px 12px;width:calc(100% - 20px);border:0;border-radius:8px;background:#e8481c;color:#fff;font-weight:600}.nav-item.nav-server:hover{background:#ff5a2b}.nav-item.nav-server.active{background:#c93a12}.box{background:#fff;border:1px solid #ddd;box-shadow:0 1px 1px #0000000d}.box-header{display:flex;align-items:stretch;min-height:38px;background:#f9f9f9;border-bottom:1px solid #ddd}.box-icon{display:grid;place-items:center;width:38px;flex-shrink:0;border-right:1px solid #ddd;color:var(--primary)}.box-header h2{display:flex;align-items:center;margin:0;padding:0 16px;font-size:14px;font-weight:500;color:var(--primary)}.box-actions{display:flex;margin-left:auto}.box-actions a,.box-actions button{display:grid;place-items:center;width:38px;border:0;border-left:1px solid #ddd;background:transparent;color:var(--primary)}.box-actions a:hover,.box-actions button:hover:not(:disabled){background:#eee}.introtext{margin:0;padding:8px 10px;border-bottom:1px solid #eee;font-size:13.5px}.box-content{padding:14px 18px 18px}.box-content.flush{padding:0}.help-note{margin:8px 0 0;font-size:12px;color:var(--muted)}.sub-box{border:1px solid #ddd;padding:0 12px 12px}.sub-box h3{margin:0 -12px 10px;padding:9px 12px;background:#f9f9f9;border-bottom:1px solid #ddd;color:var(--primary);font-size:14px;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 14px;border:1px solid transparent;border-radius:2px;font-size:13px;line-height:1.2;white-space:nowrap;cursor:pointer}.btn-primary{background:var(--primary);border-color:#357ebd;color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-danger{background:#f34541;border-color:#e23733;color:#fff}.btn-warning{background:#f0ad4e;border-color:#eea236;color:#fff}.btn-default{background:#fff;border-color:#ccc;color:#333}.btn-default:hover{background:#ebebeb}.btn-xs{min-height:24px;padding:2px 8px;font-size:12px}.btn-lg{min-height:44px;font-size:17px}.btn-block{width:100%}.button-row{display:flex;flex-wrap:wrap;gap:6px}.button-row.center{justify-content:center}.form-actions{margin-top:18px}.button-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-top:14px}.button-bar .btn{border-radius:0;min-height:38px}.icon-actions{display:inline-flex;gap:3px}.btn-icon{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:2px;color:#fff}.btn-icon:hover{filter:brightness(1.1)}.btn-icon.success{background:#5cb85c}.btn-icon.info{background:var(--info)}.btn-icon.primary{background:var(--primary)}.btn-icon.warning{background:#f0ad4e}.btn-icon.danger{background:#e05b52}.link-danger{border:0;background:none;color:#c9302c;font-size:18px;line-height:1}.sort-header,.th-button{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit}.form-label{display:block;margin:14px 0 6px;font-weight:700}.form-control,.inline-control input,.inline-control select{height:34px;padding:6px 10px;border:1px solid #ccc;border-radius:2px;background:#fff;box-shadow:inset 0 1px 1px #00000013}.form-control{width:100%}textarea.form-control{height:auto;resize:vertical}.column-filter:focus,.form-control:focus,.inline-control input:focus,.inline-control select:focus{border-color:#66afe9;outline:0;box-shadow:0 0 6px #66afe999}.form-grid{display:grid;gap:12px 24px}.form-grid.cols-1{grid-template-columns:1fr}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.full,.full{grid-column:1/-1}.field-label{font-weight:700}.field-hint{color:var(--muted);font-size:11.5px}.fieldset{margin:0 0 22px;padding:10px 16px 18px;border:1px solid #ddd}.fieldset legend{padding:4px 12px;border:1px solid #ddd;background:#fff;color:var(--primary);font-weight:700}.checkbox-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:16px 0}.checkbox-row.compact{gap:6px 14px;margin:0}.checkbox-inline,.checkbox-row label{display:inline-flex;align-items:center;gap:6px}.checkbox-inline{margin:14px 0 10px;font-weight:700}input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.file-input{display:flex;width:100%}.file-input .form-control{flex:1 1;min-width:0;cursor:pointer}.file-input .btn{border-radius:0 2px 2px 0}.input-group{display:flex}.input-group .form-control{flex:1 1;min-width:0}.addon,.addon-select{min-width:36px;border:1px solid #ccc;border-left:0;background:#f5f5f5;color:var(--primary)}.alert{padding:10px 12px;border:1px solid transparent;border-radius:2px}.alert-info{background:#d9edf7;border-color:#bce8f1;color:#31708f}.label{display:inline-block;padding:2px 7px;border-radius:2px;color:#fff;font-size:10.5px;font-weight:700;line-height:1.4;white-space:nowrap}.label-success{background:#4cae4c}.label-info{background:#39b3d7}.label-primary{background:var(--primary)}.label-warning{background:#ec971f}.label-danger{background:#d9534f}.label-default{background:#999}.table-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:10px}.inline-control{display:flex;align-items:center;gap:6px}.search-control{margin-left:auto}.search-control input{width:180px}.table-responsive{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;border:1px solid #ddd;font-size:12.5px}.data-table th{padding:8px 6px;background:var(--primary);border:1px solid #357ebd;color:#fff;font-weight:700;text-align:center;white-space:nowrap}.data-table th.row-head{background:#f5f5f5;border-color:#ddd;color:#333;text-align:left;white-space:normal}.data-table td{padding:6px;border:1px solid #ddd;vertical-align:middle}.data-table tbody tr:nth-child(odd){background:#f9f9f9}.data-table tbody tr:hover{background:#eef5fb}.data-table tbody tr.register-open,.data-table tbody tr.register-open:nth-child(odd),.data-table tbody tr.row-returned,.data-table tbody tr.row-returned:nth-child(odd){background:#fff1f0}.data-table tbody tr.register-open:hover,.data-table tbody tr.register-open:nth-child(odd):hover,.data-table tbody tr.row-returned:hover,.data-table tbody tr.row-returned:nth-child(odd):hover{background:#ffe0dd}.data-table tbody tr.register-open td:first-child,.data-table tbody tr.row-returned td:first-child{box-shadow:inset 4px 0 #c43d35}.data-table tbody tr.selected{background:#d9ebf7}.data-table tbody tr.row-warning td:first-child{box-shadow:inset 3px 0 #ec971f}.data-table tfoot td{background:#f5f5f5;border-top:2px solid #ddd}.data-table.compact td,.data-table.compact th{padding:5px 6px}.data-table .cell-input input,.data-table .cell-input select{width:100%;min-width:70px;height:30px;padding:3px 6px;border:1px solid #ccc;border-radius:2px;background:#fff}.align-left{text-align:left}.align-right{text-align:right;white-space:nowrap}.align-center{text-align:center}.sort-header{display:inline-flex;align-items:center;gap:6px}.sort-icon{display:inline-flex;flex-direction:column;gap:2px}.sort-icon:after,.sort-icon:before{content:"";border:4px solid transparent;opacity:.45}.sort-icon:before{border-top:0;border-bottom-color:#fff}.sort-icon:after{border-bottom:0;border-top-color:#fff}.sort-icon.asc:before,.sort-icon.desc:after{opacity:1}.sort-icon.asc:after,.sort-icon.desc:before{opacity:.15}.column-filter{width:100%;min-width:60px;height:26px;padding:2px 6px;border:1px solid #ddd;border-radius:2px;background:#fff;font-size:11.5px}.check-col{width:34px;text-align:center}.actions-col{width:90px;text-align:center;white-space:nowrap}.icon-col{width:40px;text-align:center}.qty-col{width:130px}.no-data{padding:10px!important;background:#fff;color:#555}.product-thumb{display:grid;place-items:center;width:34px;height:30px;margin:auto;border:1px solid #ddd;background:#fff;color:#bbb;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:contain}.table-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.pagination{display:flex}.pagination button{min-width:32px;height:30px;padding:0 10px;margin-left:-1px;border:1px solid #ddd;background:#fff;color:var(--primary);font-size:12px}.pagination button:first-child{border-radius:2px 0 0 2px}.pagination button:last-child{border-radius:0 2px 2px 0}.pagination button.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination button:disabled{color:#999}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;right:0;top:calc(100% + 2px);z-index:15;min-width:180px;padding:5px 0;background:#fff;border:1px solid #00000026;border-radius:2px;box-shadow:0 6px 12px #0000002d;text-align:left}.dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 16px;border:0;background:none;white-space:nowrap}.dropdown-menu button:hover{background:#f5f5f5}.dropdown-menu button.danger{color:#c9302c}.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #ddd}.tabs button{margin-bottom:-1px;margin-right:2px;padding:9px 15px;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#eee;color:var(--primary);font-size:14px}.tabs button.active{background:#fff;border-bottom-color:#fff;color:#555}.tab-panel{padding:10px;border:1px solid #ddd;border-top:0}.segmented{display:inline-flex;margin-bottom:12px}.segmented button{padding:6px 14px;margin-left:-1px;border:1px solid #ccc;background:#fff}.segmented button.active{background:var(--primary);border-color:var(--primary);color:#fff}.panel-warning{margin:18px 0;border:1px solid #faebcc}.panel-warning .panel-heading{padding:8px 14px;background:#fcf8e3;border-bottom:1px solid #faebcc;color:#8a6d3b;font-weight:700}.panel-warning .panel-body{max-width:420px;padding:10px 14px 14px}.autocomplete{position:relative}.autocomplete-list{position:absolute;left:0;right:0;top:100%;z-index:12;max-height:280px;overflow:auto;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #ccc;box-shadow:0 6px 12px #0000002d}.autocomplete-list button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:7px 12px;border:0;background:none;text-align:left}.autocomplete-list button:hover{background:var(--primary);color:#fff}.no-match{padding:6px 12px;color:var(--muted)}.chart,.chart-scroll{position:relative}.chart-scroll{overflow-x:auto}.chart-grid{stroke:#e6e6e6;stroke-width:1}.chart-baseline{stroke:#bbb}.chart-axis{fill:#666;font-size:11px}.chart-value{fill:#333;font-size:11px;font-weight:700}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:6px;font-size:12px}.chart-legend span,.chart-tooltip span{display:inline-flex;align-items:center;gap:6px}.chart-legend i,.chart-tooltip i,.pie-legend i{width:11px;height:11px;border-radius:2px;flex-shrink:0}.chart-tooltip{position:absolute;z-index:5;display:grid;gap:2px;padding:6px 9px;background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 3px 10px #0002;font-size:12px;pointer-events:none;white-space:nowrap}.chart-empty{padding:30px;text-align:center;color:var(--muted)}.chart-title{margin:0 0 8px;font-size:13px;font-weight:700;text-align:center}.pie-chart{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 28px}.pie-legend{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:12.5px}.pie-legend li{display:grid;grid-template-columns:11px auto auto auto;align-items:center;gap:8px;padding:3px 6px;border-radius:2px}.pie-legend li.active{background:#f1f6fb}.pie-legend small{color:var(--muted)}.toast{position:fixed;top:18px;left:50%;z-index:2000;display:flex;align-items:center;gap:10px;max-width:min(480px,calc(100vw - 32px));padding:10px 18px 10px 10px;background:#fff;border:1px solid #e3e8ef;border-radius:14px;box-shadow:0 12px 32px #0f254a24,0 2px 6px #0f254a14;color:#1f2a37;font-weight:500;line-height:1.4;transform:translateX(-50%);animation:toast-in .28s cubic-bezier(.2,.9,.3,1.2)}.toast[popover]{right:auto;bottom:auto;margin:0;overflow:visible}.toast[popover]:not(:popover-open){display:none}.toast-icon{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7f6ec;color:#1e8e4a}.toast.error .toast-icon{background:#fdecec;color:#d93025}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-16px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.nowrap{white-space:nowrap}.password-input{position:relative}.password-input .form-control{padding-right:42px}.password-toggle{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:32px;height:28px;border:0;border-radius:5px;background:none;color:#7a889b;transform:translateY(-50%)}.password-toggle:hover{background:#eef3fa;color:var(--primary)}.password-toggle[aria-pressed=true]{color:var(--primary)}.sync-notice{position:fixed;bottom:16px;right:16px;z-index:2000;max-width:440px}.sync-blocker{position:fixed;inset:0;z-index:850;display:grid;place-items:center;background:rgb(0 0 0/35%)}.sync-panel{background:#fff;color:#172b4d;border:1px solid #d6deeb;border-radius:8px;padding:20px;max-width:620px;box-shadow:0 4px 20px rgb(0 0 0/15%)}.data-table td,.data-table th{text-align:center!important;vertical-align:middle}.data-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:20px}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82px;padding:8px;overflow:hidden;color:#fff;box-shadow:1px 2px 3px #0000002e;text-shadow:1px 1px 1px #00000040}.tile strong{position:relative;font-size:24px;line-height:1.2;white-space:nowrap}.tile>span:last-child{position:relative;font-size:14px}.tile-bg{position:absolute;right:-6px;top:-8px;opacity:.22}.tiles.two .tile{min-height:96px;box-shadow:none}.tiles.two .tile strong{font-size:30px;font-weight:400}.blue{background:var(--primary)}.red{background:var(--danger)}.cyan{background:var(--info)}.yellow{background:#dfdf68}.green{background:var(--success)}.teal{background:var(--teal)}.pink{background:#e84c8a}.gray{background:#b2b8bd}.orange{background:#fabb3d}.coral{background:#ff7350}.quick-links{display:flex;flex-wrap:wrap;gap:28px;padding:8px 23px 6px}.quick-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:54px;height:58px;padding:2px;color:#fff;font-size:10px;line-height:1.1;overflow:hidden;text-decoration:none}.quick-link span,.report-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-link:hover,.report-link:hover{filter:brightness(1.08);box-shadow:0 2px 6px #0000003a}.report-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.report-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:8px;color:#fff;font-size:12px;font-weight:500;text-decoration:none;text-shadow:1px 1px 1px #0003}.overview-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);align-items:center;gap:24px}.stock-pie{display:grid;justify-items:center;gap:8px}.best-sellers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.add-item-bar{position:relative;display:flex;margin:10px 0 6px;border:1px solid #ccc;background:#fff}.add-item-icon{display:grid;place-items:center;width:42px;border-right:1px solid #ccc;background:#f5f5f5}.add-item-bar input{flex:1 1;height:40px;padding:0 12px;border:0;font-size:15px}.add-item-bar input:focus{outline:2px solid #66afe9;outline-offset:-2px}.totals-bar{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:14px;padding:8px 12px;background:#fcf8e3;border:1px solid #faebcc}.totals-bar b{margin-left:6px}.totals-bar+.field{margin-top:16px}.return-sale-info{margin:14px 0 0;padding:8px 12px;background:#f5f8fc;border:1px solid #dde5ef;border-radius:4px}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 18px;margin-bottom:14px}.details-grid div{display:grid;gap:2px}.details-grid span{color:var(--muted);font-size:12px}.details-totals td{background:#fff!important;border-top:1px solid #ddd!important}.details-note{margin:10px 0 0}.product-details{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px}.product-details-image{display:grid;place-items:center;aspect-ratio:1;border:1px solid #ddd;background:#fafafa;color:#999}.product-details-image img{max-width:100%;max-height:100%;object-fit:contain}.old-price{color:#a94442;text-decoration:line-through}.new-price{color:#3c763d;font-weight:700}.logo-page{display:grid;gap:16px;max-width:520px}.logo-preview{display:grid;place-items:center;height:70px;background:#000;color:#fff;font-size:20px;font-weight:700}.logo-preview img{max-height:46px;max-width:90%}.permissions td{vertical-align:middle}.check-all-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check-all-label.column{flex-direction:column;gap:6px}.check-all{width:15px;height:15px;accent-color:var(--brand,var(--primary));cursor:pointer}.email-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:22px}.code-editor{font-family:Courier New,monospace;font-size:13px;line-height:1.5}.short-tags{display:grid;align-content:start;gap:12px}.short-tags b{display:block;margin-bottom:4px;font-size:12.5px}.short-tags code{display:block;padding:8px 10px;background:#f5f5f5;border:1px solid #e3e3e3;font-size:12px}.calculator output{display:block;padding:10px 12px;margin-bottom:10px;background:#222;color:#fff;font:24px/1.2 Courier New,monospace;text-align:right;overflow-x:auto}.calculator-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calculator-keys button{height:44px;border:1px solid #ddd;background:#fafafa;font-size:17px}.calculator-keys button.op{background:var(--primary);border-color:#357ebd;color:#fff}.calculator-keys button.clear{grid-column:span 3;background:#f34541;border-color:#e23733;color:#fff}.planned-state{padding:20px 10px}.planned-state h3{margin-bottom:6px;font-size:18px;font-weight:500}.planned-state p{max-width:640px;color:var(--muted)}.not-found{display:grid;place-content:center;justify-items:center;gap:10px;min-height:100dvh;text-align:center}.not-found h1{margin:0;font-size:64px;color:var(--primary)}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;left:0;top:0;width:100%;padding:0;background:none}.actions-col,.column-filter,.table-controls,.table-footer{display:none!important}.page>.box:has(.data-table-wrap){height:auto}.data-table-wrap .table-responsive{flex:none;overflow:visible}.data-table-wrap tfoot td,.data-table-wrap thead{position:static}}.product-editor{display:grid;gap:16px}.product-editor-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.product-editor-head h1{margin:0 0 2px;font-size:20px;font-weight:500;color:#2a3a4a}.product-editor-head p{margin:0;color:var(--muted);font-size:12.5px}.product-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 40px}.product-editor-main,.product-editor-side{display:grid;gap:12px;min-width:0}.product-editor-details{display:grid;gap:12px;margin-top:12px}.product-check{font-weight:600;cursor:pointer}.product-check,.product-side-title{display:flex;align-items:center;gap:8px}.file-browse .btn{display:inline-flex;flex:none;align-items:center;gap:6px;border-radius:0 4px 4px 0;cursor:pointer}.form-card{background:#fff;border:1px solid #dde3ea;border-radius:4px;box-shadow:0 1px 2px #0000000a}.form-card>header{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid #edf0f3}.form-card-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#eaf2fa;color:var(--primary)}.form-card h3{margin:0;font-size:14px;font-weight:700;color:#2a3a4a}.form-card header p{margin:1px 0 0;color:var(--muted);font-size:11.5px}.form-card-action{margin-left:auto}.form-card-body{display:grid;gap:14px;padding:16px}.type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.type-picker label{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d5dbe1;border-radius:4px;background:#fff;color:#556;cursor:pointer}.type-picker label:hover{border-color:#9fc3e6}.type-picker label.active{border-color:var(--primary);background:#f2f8fd;color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.type-picker input{position:absolute;opacity:0;pointer-events:none}.type-picker label:has(input:focus-visible){outline:2px solid #66afe9;outline-offset:1px}.type-picker span{display:grid}.type-picker b{color:#2a3a4a;font-size:13px}.type-picker small{color:var(--muted);font-size:11px}.input-affix{position:relative}.input-affix .form-control{padding-right:30px}.input-affix span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.readonly-value{display:flex;align-items:center;height:34px;padding:0 10px;background:#f5f7f9;border:1px solid #e3e7eb;border-radius:2px;font-weight:700}.addon-check{display:grid;place-items:center;cursor:pointer}.sub-fields{padding:12px;background:#f8fafc;border:1px solid #e7ecf1;border-left:3px solid var(--primary);border-radius:3px}.toggle{position:relative;display:inline-flex;align-items:center;gap:10px;width:fit-content;font-weight:700;cursor:pointer}.toggle input{position:absolute;opacity:0}.toggle span{position:relative;width:36px;height:20px;border-radius:10px;background:#c9d1d9;transition:background .15s}.toggle span:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.toggle input:checked+span{background:var(--primary)}.toggle input:checked+span:after{transform:translateX(16px)}.toggle input:focus-visible+span{outline:2px solid #66afe9;outline-offset:2px}.image-drop{display:grid;place-items:center;aspect-ratio:16/9;border:2px dashed #c9d3dd;border-radius:4px;background:#f8fafc;color:var(--muted);text-align:center;cursor:pointer;overflow:hidden}.image-drop:hover{border-color:var(--primary);color:var(--primary)}.image-drop span{display:grid;justify-items:center;gap:6px;padding:10px;font-size:12.5px}.image-drop.has-image{border-style:solid;background:#fff}.image-drop img{width:100%;height:100%;object-fit:contain}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.gallery-add,.gallery-grid figure{position:relative;aspect-ratio:1;margin:0;border:1px solid #dde3ea;border-radius:3px;background:#fff}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:3px}.gallery-grid figure button{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border:0;border-radius:50%;background:#d9534f;color:#fff;font-size:12px;line-height:1}.gallery-add{display:grid;place-items:center;border-style:dashed;color:var(--muted);cursor:pointer}.gallery-add:hover{border-color:var(--primary);color:var(--primary)}.supplier-row{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px dashed #e3e7eb}.supplier-row:last-child{padding-bottom:0;border-bottom:0}.combo-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.combo-list li{display:grid;grid-template-columns:minmax(0,1fr) 58px auto 78px auto;align-items:center;gap:6px;padding:7px 8px;background:#f8fafc;border:1px solid #e7ecf1;border-radius:3px}.combo-list li.combo-empty{display:block;color:var(--muted);text-align:center}.combo-name{display:grid;min-width:0}.combo-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-name small{color:var(--muted)}.combo-list input{width:100%;height:28px;padding:2px 6px;border:1px solid #ccc;border-radius:2px;text-align:right}.combo-list .times{color:var(--muted)}.combo-total{display:flex;align-items:center;justify-content:space-between;gap:8px}.summary-list{display:grid;gap:8px;margin:0}.summary-list div{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #f0f2f4}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;font-weight:700}label.btn.disabled{opacity:.55;cursor:default}.tile{display:grid;place-items:center;place-content:center;cursor:pointer}.tile strong,.tile>span:last-child{grid-area:1/1;transition:opacity .2s ease,transform .2s ease}.tile>span:last-child{font-size:20px;font-weight:700;opacity:1}.tile strong{opacity:0;transform:translateY(6px)}.tile:active strong,.tile:focus-within strong,.tile:hover strong{opacity:1;transform:none}.tile:active>span:last-child,.tile:focus-within>span:last-child,.tile:hover>span:last-child{opacity:0;transform:translateY(-6px)}.erp-navigation{min-height:100%}.nav-system{margin-top:auto;padding:14px 12px 16px;border-top:1px solid #ffffff14}.nav-system-label{padding:0 4px 8px;color:#ffffff6b;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.nav-server{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid #ffffff1a;border-radius:10px;background:#ffffff0d;color:#fff;text-decoration:none;transition:background .15s,border-color .15s}.nav-server:hover{background:#ffffff1a;border-color:#ffffff33}.nav-server.active{background:#ffffff1f;border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.nav-server-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:#ffffff1a;color:#cfe0f7}.nav-server-text{display:grid;min-width:0;line-height:1.25}.nav-server-text b{font-size:12.5px;font-weight:600;white-space:nowrap}.nav-server-text small{color:#3ddc84;font-size:11px}.nav-server-dot{width:8px;height:8px;margin-left:auto;flex-shrink:0;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px #3ddc8433;animation:server-pulse 2s ease-in-out infinite}@keyframes server-pulse{50%{box-shadow:0 0 0 6px #3ddc8400}}@media (prefers-reduced-motion:reduce){.nav-server-dot{animation:none}}.app-shell.collapsed .nav-system{padding:12px 8px}.app-shell.collapsed .nav-server{justify-content:center;padding:6px}.app-shell.collapsed .nav-server-dot{position:absolute;top:5px;right:5px;margin:0}.sv-page{display:grid;gap:18px}.sv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px}.sv-toolbar .segmented{margin:0}.sv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.sv-card{display:grid;align-content:start;gap:8px;padding:14px;background:#fff;border:1px solid #dde3ea;border-radius:6px}.sv-card-head{display:flex;justify-content:space-between;font-weight:700;color:#2a3a4a}.sv-big{font-size:22px;font-weight:600}.sv-status{display:flex;align-items:center;gap:12px}.sv-status>div{display:grid}.sv-ok{color:#2e9e5b;font-weight:600}.sv-dot{width:12px;height:12px;border-radius:50%}.sv-dot.good{background:#3ddc84;box-shadow:0 0 0 4px #3ddc8433}.sv-dot.bad{background:#e53935;box-shadow:0 0 0 4px #e5393533}.sv-meter{height:8px;overflow:hidden;border-radius:4px;background:#e8edf2}.sv-meter i{display:block;height:100%;border-radius:4px;transition:width .4s}.sv-meter i.good{background:#3ddc84}.sv-meter i.warn{background:#fabb3d}.sv-meter i.bad{background:#e53935}.sv-net{display:flex;gap:8px}.sv-logs{display:grid;gap:4px;max-height:320px;margin:0;padding:0;overflow:auto;list-style:none}.sv-logs li{display:grid;grid-template-columns:80px 80px 1fr;align-items:center;gap:10px;padding:7px 8px;border-bottom:1px solid #eef1f4}.line-note{display:block;color:var(--muted)}.qoh-cell{white-space:nowrap}.warehouse-picker{width:220px}.payment-summary{margin:12px 0 0}.no-access{display:grid;justify-items:center;gap:10px;max-width:520px;margin:40px auto;padding:32px 24px;text-align:center;color:var(--muted)}.no-access h2{margin:0;color:#c9302c}.sv-topbar{position:sticky;top:0;z-index:50;border:1px solid #e2eaf5;box-shadow:0 2px 8px #0f254a14}.data-table tr.clickable{cursor:pointer}.details-subtitle{margin:18px 0 8px;font-size:15px}.stock-by-location .stock-flag{margin-left:6px;padding:1px 6px;border-radius:8px;background:#fff3cd;color:#8a6d3b;font-size:11px}.stock-by-location .row-danger .stock-flag{background:#fdecec;color:#c9302c}.alerts-menu{position:relative}.alerts-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:grid;gap:10px;width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);overflow-y:auto;padding:12px;background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 14px 32px #0f254a2e;color:#1f2a37;text-align:left}.alerts-section header{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid #eef1f5}.alerts-section header b{flex:1 1;font-size:13px}.alerts-count,.alerts-section header a{font-size:12px}.alerts-count{min-width:22px;padding:1px 7px;border-radius:10px;background:#eef1f5;color:#66788a;font-weight:700;text-align:center}.alerts-count.on{background:#fdecec;color:#c9302c}.alerts-section ul{margin:4px 0 0;padding:0;list-style:none}.alerts-section li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 2px;font-size:13px}.alerts-section li+li{border-top:1px dashed #eef1f5}.alerts-section li span small{display:block;color:var(--muted)}.alerts-section li>small{white-space:nowrap}.alerts-empty{margin:6px 2px 0;color:var(--muted);font-size:12px}.transfer-banner{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;border-radius:8px;background:#eaf2ff;color:#0b4fb3;font-weight:600}.cell-note{display:block;color:#6b7a90;font-size:11px}.transfer-actions .btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.notice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.notice-card{display:flex;flex-direction:column;border:1px solid #e3e9f2;border-top:3px solid var(--notice,#0c64e6);border-radius:8px;background:#fff;animation:notice-in .25s ease-out both}.notice-card.danger{--notice:#d93025}.notice-card.warning{--notice:#f0a020}.notice-card.info{--notice:#0c64e6}.notice-card header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #eef2f7}.notice-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--notice);background:color-mix(in srgb,var(--notice) 12%,#fff)}.notice-count{margin-left:auto;min-width:26px;padding:2px 8px;border-radius:999px;text-align:center;font-weight:700;color:#fff;background:var(--notice)}.notice-card.empty .notice-count{background:#c8d2e0}.notice-card ul{margin:0;padding:4px 0;list-style:none;flex:1 1}.notice-card li a{display:block;padding:7px 14px;color:inherit;text-decoration:none}.notice-card li a:hover{background:#f4f7fb}.notice-card li small,.notice-empty{display:block;color:#6b7a90;font-size:12px}.notice-empty{flex:1 1;padding:14px}.notice-card footer{padding:8px 14px;border-top:1px solid #eef2f7;font-size:12px}@keyframes notice-in{0%{opacity:0;transform:translateY(6px)}}.shop-hero{display:flex;align-items:center;gap:18px;padding:16px;margin-bottom:16px;border-radius:10px;background:linear-gradient(90deg,#eef4ff,#fff)}.shop-hero h2{margin:0 0 4px;font-size:22px}.shop-hero p{margin:0;color:#4a5a70}.shop-hero .shop-edit{margin-left:auto}.shop-logo{display:grid;place-items:center;width:92px;height:64px;border-radius:10px;background:#fff;box-shadow:0 2px 8px #0c3a7a1a}.shop-logo img{max-width:84px;max-height:56px}.shop-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.shop-card{border:1px solid #e3e9f2;border-radius:8px;padding:12px 14px;background:#fff}.shop-card header{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#0b4fb3}.shop-edit{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:12px}.shop-rows{margin:0}.shop-rows div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed #e8edf4}.shop-rows dt{color:#6b7a90}.shop-rows dd{margin:0;font-weight:600;text-align:right}.shop-table{width:100%;border-collapse:collapse}.shop-table td,.shop-table th{padding:5px 4px;border-bottom:1px dashed #e8edf4;text-align:left;font-size:13px}.shop-card .muted,.shop-table .muted{color:#6b7a90;font-size:12px}.shop-subtitle{margin:22px 0 10px;font-size:15px}.shop-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.shop-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e3e9f2;border-radius:8px;color:#0b4fb3;text-decoration:none;background:#fff;transition:transform .15s,box-shadow .15s}.shop-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0c3a7a1f}.shop-link b{display:block;color:#1d2b3f}.shop-link small{color:#6b7a90}@media (prefers-reduced-motion:reduce){.notice-card{animation:none}.shop-link{transition:none}}.login-history{width:100%;border-collapse:collapse}.login-history td,.login-history th{padding:7px 10px;border-bottom:1px solid #eef2f7;text-align:left}.login-history tr.failed td{background:#fff5f5}.login-history-filter{display:inline-flex;align-items:center;gap:6px;margin-right:auto}.record-history{margin-top:16px;border-top:1px solid var(--border,#e2e8f0);padding-top:8px}.record-history-toggle{display:block;margin:0 auto 6px;border:0;background:none;color:var(--primary,#1e40af);font-size:13px;cursor:pointer}.record-history-toggle:hover{text-decoration:underline}.record-history-list{list-style:none;margin:0;padding:0 8px;border:1px solid var(--border,#e2e8f0);border-radius:6px;max-height:220px;overflow-y:auto;font-size:12.5px;animation:record-history-in .18s ease-out}.record-history-list>li{padding:6px 0;border-bottom:1px solid var(--border,#e2e8f0)}.record-history-list>li:last-child{border-bottom:0}.audit-action{font-weight:600}.audit-action.success{color:#15803d}.audit-action.info{color:#1d4ed8}.audit-action.warning{color:#b45309}.audit-action.danger{color:#dc2626}@keyframes record-history-in{0%{opacity:0;transform:translateY(-4px)}}.audit-changes{list-style:none;margin:4px 0 0;padding:0;font-size:12px}.audit-changes s{color:var(--muted,#94a3b8)}.audit-filters{flex-wrap:wrap;gap:8px}.audit-filters .form-control,.audit-filters .native-select{width:auto;min-width:160px}.audit-log td:last-child{max-width:420px}.report-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 14px;align-items:end;margin-bottom:14px;padding:12px;border:1px solid var(--border,#e2e8f0);border-radius:6px;animation:record-history-in .18s ease-out}.report-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}.report-form-buttons{display:flex;gap:8px}.product-sales-report td.align-center,.product-sales-report th{text-align:center}.product-sales-report .group-toggle{width:36px}.product-sales-report .group-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:50%;background:#111827;color:#fff;font-size:12px;line-height:1;cursor:pointer}.product-sales-report thead .group-dot{background:#fff;color:#1e3a8a}.product-sales-report .category-row td{background:#eceef1;cursor:pointer;-webkit-user-select:none;user-select:none}.product-sales-report .subtotal-row td,.product-sales-report tfoot td{color:#1d4ed8;font-weight:600;background:#f1f6fd}.product-sales-report tfoot td{background:#e4edf9;color:inherit}.product-sales-report .unit{color:#2563eb}.product-sales-report .text-danger{color:#dc2626}.data-table.product-sales-report td{text-align:left!important}.data-table.product-sales-report td.align-right{text-align:right!important}.data-table.product-sales-report td.align-center{text-align:center!important}.data-table.product-sales-report{border-collapse:collapse;border:1px solid #d5dbe3}.data-table.product-sales-report td,.data-table.product-sales-report th{border:1px solid #d5dbe3;padding:7px 10px}.data-table.product-sales-report thead th{background:#3c7ac9;color:#fff;border-color:#5a8fd4}.data-table.product-sales-report tbody tr:not(.category-row):not(.subtotal-row):nth-child(2n) td{background:#f7f9fc}.report-grid .table-responsive{border-color:#d5dbe3}.report-grid .data-table td,.report-grid .data-table th{border:0;border-right:1px solid #d5dbe3;border-bottom:1px solid #d5dbe3;padding:7px 10px}.report-grid .data-table td:last-child,.report-grid .data-table th:last-child{border-right:0}.report-grid .data-table thead th{background:#3c7ac9;color:#fff;border-right-color:#5a8fd4;border-bottom-color:#3c7ac9}.report-grid .data-table thead th *{color:inherit}.report-grid .data-table tbody tr:nth-child(2n) td{background:#f7f9fc}.report-grid .data-table tfoot td{background:#e4edf9;font-weight:700}.report-toolbar-select{width:auto;min-width:160px}.data-table.dashboard-latest{border-collapse:collapse}.data-table.dashboard-latest tbody tr:last-child td,.data-table.dashboard-latest td,.data-table.dashboard-latest th{border:1px solid #dde4ee}.field-image{display:flex;align-items:center;gap:10px}.field-image img{width:96px;height:48px;object-fit:contain;border:1px solid #dde4ee;border-radius:4px}.product-sales-report .combo-part-row td{background:#f4f6f9;color:#4a5870;font-size:12.5px}.product-sales-report .combo-part-row td:nth-child(2){padding-left:28px}.pos{--brand:#0866e9;--brand-dark:#0652ba;--brand-deep:#043a85;--brand-soft:#e6effe;--brand-line:#d5deeb;--flag-red:#b42318;--ink:#14233a;--muted:#4a5870;--success:#0b6b3a;--warning-text:#8a4f00;--surface:#ffffff;--page:#eef3fb;--disabled-bg:#e7ecf4;--disabled-border:#c3cedd;--disabled-ink:#4a5870;--touch:44px;--text-body:15px;--text-muted:13px;display:grid;grid-template-rows:60px minmax(0,1fr);height:100dvh;background:var(--page);font-size:var(--text-body);font-family:Noto Sans Khmer,Khmer OS,system-ui,sans-serif;color:var(--ink)}.pos-header{position:sticky;top:0;z-index:20;gap:18px;padding:0 16px;background:linear-gradient(90deg,var(--brand-dark),var(--brand));box-shadow:0 2px 8px #043a8540}.pos-brand,.pos-header{display:flex;align-items:center;color:#fff}.pos-brand{gap:10px;text-decoration:none}.pos-logo{display:grid;place-items:center;height:46px;padding:4px 10px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0003}.pos-logo img{height:38px;width:auto;max-width:120px;object-fit:contain}.pos-brand-text{display:grid;line-height:1.15}.pos-brand-text b{font-size:16px;letter-spacing:.3px}.pos-brand-text small{color:#c7d8f2;font-size:var(--text-muted)}.pos-clock{display:inline-flex;padding:5px 10px;border-radius:20px;background:#ffffff1f;font-size:var(--text-muted)}.pos-clock,.pos-nav{align-items:center;gap:6px}.pos-nav{display:flex;flex:1 1 auto;min-width:0;margin-left:auto;overflow-x:auto;scrollbar-width:none}.pos-nav::-webkit-scrollbar{display:none}.pos-nav>*{flex:0 0 auto}.pos-nav>:first-child{margin-left:auto}.pos-nav-btn{display:inline-flex;align-items:center;gap:6px;min-height:var(--touch);padding:0 12px;border:1px solid #ffffff40;border-radius:6px;background:#ffffff14;color:#fff;font-size:var(--text-muted);text-decoration:none}.pos-nav-btn:hover{background:#ffffff2e}.pos .language-menu .hbtn.lang{min-height:var(--touch);height:auto;padding-top:4px;padding-bottom:4px;border:1px solid #ffffff40;border-radius:6px;background:#ffffff14}.pos-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;height:calc(100dvh - 60px);min-height:0;padding:12px;overflow:hidden}.pos-layout>.pos-left{order:1}.pos-layout>.pos-order{order:2}.pos-panel{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface);border:1px solid var(--brand-line);border-radius:10px;box-shadow:0 2px 10px #0866e90d}.pos-left,.pos-panel{min-width:0;min-height:0}.pos-left{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px}.pos-browser{padding:14px;gap:10px}.pos .form-control{min-height:var(--touch);border-color:var(--brand-line);border-radius:6px;box-shadow:none;font-size:var(--text-body)}.pos .input-group .form-control{border-radius:0}.pos .input-group>:first-child{border-radius:6px 0 0 6px}.pos .input-group>:last-child{border-radius:0 6px 6px 0}.pos .addon,.pos-field-icon{display:grid;place-items:center;min-width:var(--touch);border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand)}.pos-field-icon{border-right:0}.pos .addon{border-left:0}.pos-order{padding:14px;gap:10px}.pos-order-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px}.pos-order-head>*{min-width:0}.pos-scan{display:flex;align-items:center;gap:10px;padding:0 14px;border:2px solid var(--brand);border-radius:8px;background:#fff;color:var(--brand)}.pos-scan input{flex:1 1;min-height:var(--touch);border:0;background:none;font-size:var(--text-body);outline:none}.pos-scan:focus-within{box-shadow:0 0 0 3px #0866e92e}.pos-cart-head{display:flex;align-items:center;gap:8px;padding-top:4px;color:var(--ink);font-size:var(--text-body)}.pos-count{min-width:22px;padding:1px 7px;border-radius:10px;background:var(--brand);color:#fff;font-size:var(--text-muted);font-weight:700;text-align:center}.pos-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:var(--touch);padding:0 6px;border:0;background:none;color:var(--brand);font-size:var(--text-body)}.pos-link:hover{text-decoration:underline}.pos-cart-head .pos-link{margin-left:auto}.pos-link.danger{color:var(--flag-red)}.pos-cart{flex:1 1;min-height:120px;overflow:auto;border:1px solid var(--brand-line);border-radius:8px;background:#fbfcfe}.cart-line{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"thumb info    remove" "thumb stepper subtotal";align-items:center;gap:4px 10px;padding:8px 10px;border-bottom:1px solid #e9eef5;background:#fff}.cart-thumb{grid-area:thumb;align-self:center;display:grid;place-items:center;width:36px;height:36px;border-radius:4px;background:var(--brand-soft);color:var(--brand);font-size:15px;font-weight:700;overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-line .cart-info{grid-area:info}.cart-line .cart-remove{grid-area:remove;justify-self:end;width:34px;height:34px}.cart-line .qty-stepper{grid-area:stepper;justify-self:start}.cart-line .cart-subtotal{grid-area:subtotal;justify-self:end}.cart-line .qty-stepper button{width:34px;height:34px}.cart-line .qty-stepper input{width:42px;height:34px;font-size:14px}.cart-info{display:grid;min-width:0}.cart-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:var(--text-body)}.cart-info small{color:var(--muted);font-size:var(--text-muted)}.cart-info .cart-discount,.receipt .receipt-discount{color:var(--flag-red)}.cart-subtotal{text-align:right;color:var(--ink);font-size:var(--text-body);white-space:nowrap}.cart-remove{display:grid;place-items:center;width:var(--touch);height:var(--touch);border:0;border-radius:8px;background:none;color:var(--muted)}.cart-remove:focus-visible,.cart-remove:hover{background:#fde8ea;color:var(--flag-red)}.cart-empty{display:grid;justify-items:center;gap:6px;padding:40px 16px;color:var(--muted);font-size:var(--text-body);text-align:center}.cart-empty .icon{color:#b8c7da}.cart-empty b{color:var(--ink)}.qty-stepper{display:flex;border:1px solid var(--brand-line);border-radius:6px;overflow:hidden}.qty-stepper button{display:grid;place-items:center;width:var(--touch);height:var(--touch);border:0;background:var(--brand-soft);color:var(--brand)}.qty-stepper button:disabled{background:var(--disabled-bg);color:var(--disabled-ink)}.qty-stepper input{width:56px;height:var(--touch);border:0;border-left:1px solid var(--brand-line);border-right:1px solid var(--brand-line);color:var(--ink);font-size:var(--text-body);text-align:center}.pos-summary{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;padding:2px 4px;font-size:var(--text-muted)}.pos-summary-column{display:grid;align-content:start;min-width:0}.pos-summary-column>div{display:flex;justify-content:space-between;gap:8px;min-width:0;padding:3px 0;border-bottom:1px dashed var(--brand-line);color:var(--muted)}.pos-summary-column b{color:var(--ink);text-align:right;white-space:nowrap}.pos-summary-edit{display:inline-flex;align-items:center;gap:4px}.pos-summary-edit input,.pos-summary-edit select{min-height:var(--touch);border:1px solid var(--brand-line);border-radius:6px;background:#fff;color:var(--ink);font-size:var(--text-body)}.pos-summary-edit input{width:96px;padding:0 8px;text-align:right}.pos-summary-edit select{padding:0 4px}.pos-summary-edit small{color:var(--muted);font-size:var(--text-muted);font-weight:400}.pos-summary-edit input:focus,.pos-summary-edit select:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #0866e91f}.pos-payable{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:6px;background:var(--brand);color:#fff}.pos-payable>span{font-size:var(--text-body);opacity:.95}.pos-payable div{display:grid;justify-items:end}.pos-payable strong{font-size:28px;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pos-payable .riel{font-size:1em;margin-left:4px}.pos-payable small{font-size:var(--text-muted);color:#dce7f7}.pos-actions{display:flex;flex-wrap:wrap;gap:8px}.pos-actions .pos-btn{flex:1 1;min-width:92px;min-height:50px}.pos-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--touch);border:1.5px solid;border-radius:8px;background:#fff;font-size:var(--text-body);font-weight:600}.pos-btn:disabled,.pos-btn[aria-disabled=true]{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-ink);opacity:1;cursor:default}.pos-btn.warning{border-color:#f79009;background:#f79009;color:#fff}.pos-btn.warning:hover:not(:disabled):not([aria-disabled=true]){background:#e08208;border-color:#e08208}.pos-btn.danger{border-color:#d92d20;background:#d92d20;color:#fff}.pos-btn.danger:hover:not(:disabled):not([aria-disabled=true]){background:#b42318;border-color:#b42318}.pos-btn.outline{border-color:var(--brand);background:#fff;color:var(--brand)}.pos-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-soft)}.pos-btn.primary{border-color:var(--brand);background:var(--brand);color:#fff;font-size:16px}.pos-btn.primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-dark);border-color:var(--brand-dark)}.pos-btn.primary:disabled,.pos-btn.primary[aria-disabled=true]{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-ink)}.pos-weight{padding:16px;gap:12px}.pos-discount-editor{display:grid;align-content:start;gap:8px;padding:4px}.pos-discount-editor .field{min-width:0;gap:3px}.pos-discount-editor .field-label{color:var(--ink);font-weight:600;font-size:12px}.pos-discount-editor .pos-sale-input{min-height:34px;padding:4px 8px}.pos-discount-editor .pos-sale-input.active,.pos-discount-editor .pos-sale-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px #0866e91f}.pos-sale-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.pos-sale-keypad button{display:grid;place-items:center;min-width:0;min-height:clamp(44px,6dvh,58px);border:1px solid var(--brand-line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:24px;font-weight:700;box-shadow:0 1px 3px #043a8514}.pos-sale-keypad button:hover{border-color:var(--brand)}.pos-sale-keypad button.action,.pos-sale-keypad button:hover{background:var(--brand-soft);color:var(--brand)}.pos-discount-product{display:block;overflow:hidden;padding:10px 12px;border:1px solid var(--brand-line);border-radius:6px;background:var(--brand-soft);color:var(--brand-dark);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.pos-discount-editor .addon-select{min-width:58px;border-color:var(--brand-line);border-radius:0 6px 6px 0;background:var(--brand-soft);color:var(--brand);font-size:var(--text-body);font-weight:700}.pos-discount-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border:1px solid var(--brand-line);border-radius:8px;background:var(--brand-soft);color:var(--ink)}.pos-discount-preview b{color:var(--brand)}.pos-discount-empty{padding:16px 8px;color:var(--muted);text-align:center}.pos-filter{display:grid;gap:8px}.pos-filter-search{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--brand-line);border-radius:6px;background:#fff;color:var(--muted)}.pos-filter-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #0866e91f}.pos-filter-search input{flex:1 1;min-width:0;min-height:38px;border:0;background:none;color:var(--ink);font-size:14px;outline:none}.pos-filter-cats{display:flex;flex-wrap:wrap;min-width:0;gap:6px}.pos-filter-cats button{min-height:32px;padding:0 12px;border:1px solid var(--brand-line);border-radius:6px;background:#fff;color:var(--muted);font-size:13px;white-space:nowrap}.pos-filter-cats button:hover{border-color:var(--brand);color:var(--brand)}.pos-filter-cats button.active{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:600}.pos-products{flex:1 1;min-height:140px;overflow-y:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:8px;padding:8px;background:#b9c6dc;border-radius:4px}.pos-products-empty{grid-column:1/-1;display:grid;justify-items:center;gap:6px;padding:40px 16px;color:var(--muted);text-align:center}.pos-products-empty b{color:var(--ink)}.pos-card{position:relative;display:block;min-width:0;padding:0;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-soft);overflow:hidden;text-align:left;transition:border-color .12s,box-shadow .12s,transform .12s}.pos-card:before{content:"";display:block;padding-top:75%}.pos-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 5px 14px #043a8526}.pos-card:active{transform:scale(.98)}.pos-card.in-cart{border:2px solid var(--brand);box-shadow:0 0 0 2px #0866e933}.pos-card.selected{border:3px solid var(--brand-dark);box-shadow:0 0 0 3px #0866e955}.pos-card-image{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;background:var(--brand-soft);overflow:hidden}.pos-card-image img{display:block;width:100%;height:100%;object-fit:contain;padding:6px}.pos-initial{color:var(--brand);font-size:34px;font-weight:700}.pos-card-count{position:absolute;top:7px;right:7px;min-width:26px;height:26px;padding:0 7px;border:1px solid #ffffffa6;border-radius:13px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;line-height:24px;text-align:center;box-shadow:0 2px 6px #043a8540}.pos-card-info{position:absolute;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:28px 9px 9px;background:linear-gradient(180deg,transparent 12%,#0866e9a6 62%,#043a85dc);text-align:left}.pos-card-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0;color:#fff;font-size:13px;font-weight:600;line-height:1.25;text-shadow:0 1px 2px #043a8570}.pos-card-name,.pos-card-price{font-family:Noto Sans Khmer,Khmer OS,Inter,system-ui,sans-serif}.pos-card-price{overflow:hidden;color:#dceaff;font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 2px #043a8570}.pos-card-old-price{margin-right:4px;color:#9fc0ef;font-size:11px;font-weight:500;opacity:.85}.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:24px}.pay-summary,.pay-table{width:100%;margin-top:14px;border-collapse:collapse;font-size:var(--text-muted)}.pay-summary td,.pay-summary th,.pay-table td,.pay-table th{padding:8px 10px;border:1px solid #ddd}.pay-table thead th{background:#f5f5f5}.pay-table th{text-align:left}.pay-summary td,.pay-table td{text-align:right}.pay-summary{font-size:var(--text-body)}.pay-summary th{text-align:left}.pay-input{width:100%;height:var(--touch);padding:0 10px;border:2px solid var(--brand);border-radius:6px;background:var(--brand-soft);color:var(--brand-dark);font-weight:700;font-size:20px;text-align:right}.pay-input:focus{outline:2px solid #66afe9}.pay-method{display:flex;align-items:center;gap:6px;min-width:180px}.pay-method .select{flex:1 1}.quick-cash{display:grid;align-content:start}.quick-cash b{padding-bottom:6px;text-align:center}.quick-cash{gap:6px}.quick-cash button{position:relative;min-height:var(--touch);border:1.5px solid var(--brand-line);border-radius:6px;background:#fff;color:var(--brand);font-size:var(--text-body);font-weight:600}.quick-cash button:hover{background:var(--brand-soft)}.quick-cash button.exact{border-color:var(--brand);background:var(--brand);color:#fff}.quick-cash button.clear{border-color:var(--flag-red);color:var(--flag-red)}.quick-cash sup{position:absolute;top:3px;right:4px;padding:0 4px;background:#fff;color:#333;font-size:10px}.receipt{width:320px;max-width:100%;margin:0 auto;font-size:var(--text-muted);color:var(--ink)}.receipt-head{display:grid;justify-items:center;gap:2px;margin-bottom:10px;text-align:center}.receipt-head b{font-size:18px}.receipt-head img{max-height:50px}.receipt-head span{color:var(--muted);font-size:var(--text-muted)}.receipt-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;padding:8px 0;border-top:1px dashed var(--brand-line);border-bottom:1px dashed var(--brand-line)}.receipt-meta p{margin:0 0 2px;font-size:12px}.receipt-meta b{font-weight:600}.receipt-meta-info{flex:none;white-space:nowrap}.receipt-meta-points{min-width:0;text-align:right}.receipt-paid{display:block;margin:0 0 10px;padding:6px 10px;border:2px solid var(--success);border-radius:6px;background:#e7f3ec;color:var(--success);font-size:var(--text-body);font-weight:700;letter-spacing:.04em;text-align:center}.receipt table{width:100%;border-collapse:collapse}.receipt td{padding:4px 0;border-bottom:1px dashed #ccc;vertical-align:top}.receipt th{padding:4px 0;border-bottom:1px solid var(--ink);font-weight:700;text-align:left}.receipt tbody td+td,.receipt th+th{padding-left:6px}.receipt tbody td:first-child,.receipt tr.receipt-cols th:first-child{width:1.5em}.receipt td small{display:block;color:var(--muted);font-size:var(--text-muted)}.receipt .num{text-align:right;white-space:nowrap}.receipt tr.strong td{font-weight:700;font-size:var(--text-body)}.receipt tr.grand td{border-bottom:0;border-top:2px solid var(--ink);padding-top:8px}.receipt-grand{font-size:20px;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.receipt-grand .riel{font-size:1em;margin-left:2px}.receipt tr.receipt-returned-head td{background:#fff7e6;font-weight:700;padding-top:4px}.receipt tr.receipt-returned td{color:#c43d35}.receipt-thanks{white-space:pre-line;margin:12px 0 0;color:var(--muted);text-align:center}.pos dialog .btn-primary{border-color:var(--brand);background:var(--brand)}.pos dialog .btn-primary:hover{background:var(--brand-dark)}@media print{body *{visibility:hidden}.pos .receipt,.pos .receipt *{visibility:visible}.pos{display:block;height:auto;min-height:0}.pos-header,.pos-layout{display:none}dialog.modal:has(.receipt){position:static;display:block;width:auto;max-height:none;overflow:visible;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}dialog.modal:has(.receipt)::backdrop{background:none}dialog.modal:has(.receipt) .modal-footer,dialog.modal:has(.receipt) .modal-header{display:none}dialog.modal:has(.receipt) .modal-body{padding:0;overflow:visible}.pos .receipt{position:static;width:80mm;max-width:none;margin:0;padding:4mm;font-size:12px;color:#000;background:#fff;box-shadow:none}.pos .receipt .receipt-paid{border-color:#000;background:none;color:#000;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.register-form{display:grid;gap:12px}.register-total{margin:0;padding:10px 12px;border-radius:6px;background:var(--brand-soft,#e8f0fe)}.register-summary small,.register-total small{color:var(--muted)}.register-print{display:inline-flex;align-items:center;gap:5px;margin-left:auto;margin-right:10px;padding:4px 10px;font-size:12.5px}.register-summary{margin:0 0 16px}.register-summary>div{display:flex;justify-content:space-between;gap:16px;padding:8px 2px;border-bottom:1px solid #edf1f6}.register-summary dt{color:#3d4b60}.register-summary dd{margin:0;text-align:right}.register-summary .strong dd,.register-summary .strong dt{font-weight:700;color:var(--ink,#14233a)}.register-count{padding-top:14px;border-top:1px solid #dfe6ef}.text-success{color:#0b6b3a}.print-only{display:none}.pos-nav-btn.close-register{background:#c0392b;border-color:#c0392b;color:#fff}.pos-nav-btn.close-register:hover{background:#a93226}@media print{.print-only{display:block}}.pin-input{font-size:20px;letter-spacing:.4em;text-align:center}.pin-input.invalid{border-color:#c0392b;animation:pin-shake .3s}.pin-error{margin:8px 0 0;color:#c0392b;font-size:13px}.pin-ok{min-width:90px}@keyframes pin-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@media (prefers-reduced-motion:reduce){.pin-input.invalid{animation:none}}.pos-member-wrap{position:relative;z-index:4}.pos-member .form-control{flex:1 1;min-height:var(--touch);border:1px solid var(--brand-line)}.pos-member-results{position:absolute;top:calc(100% + 4px);right:0;left:0;max-height:260px;overflow:auto;border:1px solid var(--brand-line);border-radius:8px;background:#fff;box-shadow:0 8px 24px #102e5530}.pos-member-results button{display:flex;align-items:center;width:100%;gap:10px;padding:9px 12px;border:0;border-bottom:1px solid var(--brand-line);background:#fff;color:var(--brand);text-align:left}.pos-member-results button:last-of-type{border-bottom:0}.pos-member-results button:focus-visible,.pos-member-results button:hover{background:var(--brand-soft);outline:0}.pos-member-results button>span{display:grid;flex:1 1;min-width:0}.pos-member-results button b,.pos-member-results button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-member-results button b{color:var(--ink)}.pos-member-results button small{color:var(--muted)}.pos-member-results button i{padding:3px 7px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-size:11px;font-style:normal;font-weight:700;white-space:nowrap}.pos-member-results p{margin:0;padding:12px;color:var(--muted);font-size:var(--text-muted)}.pos-member-chip{display:flex;align-items:center;gap:8px;margin-top:-4px;padding:6px 10px;border:1px solid #bfe3cc;border-radius:6px;background:#eaf7ef;color:#0b6b3a;font-size:13px}.pos-member-chip span{flex:1 1}.pos-member-chip button{display:grid;place-items:center;border:0;background:none;color:inherit;cursor:pointer}.sync-icon{position:relative;justify-content:center;width:var(--touch);padding:0}.sync-dot{position:absolute;right:6px;bottom:6px;width:10px;height:10px;border:2px solid var(--brand);border-radius:50%;background:#2ecc71}.sync-button.busy .sync-dot{background:#5bc0de;animation:sync-pulse 1s ease-in-out infinite}.sync-button.offline .sync-dot{background:#f0ad4e}.sync-button.error .sync-dot{background:#ff5b4f}@keyframes sync-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.sync-button.busy .sync-dot{animation:none}}.sync-title{display:flex;align-items:center;gap:6px}.sync-button.ok .sync-title svg{color:#1e8e4a}.sync-button.offline .sync-title svg{color:#c77c0e}.sync-button.error .sync-title svg{color:#d93025}.sync-popover{position:fixed;z-index:70;width:min(320px,calc(100vw - 24px));padding:12px 14px;background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 14px 32px #0f254a2e;color:#1f2a37}.sync-popover p{margin:6px 0 0;font-size:13px;line-height:1.45}.sync-popover .sync-pending{color:var(--muted)}.sync-popover .button-row{margin-top:10px}.pos-nav .user-dropdown{position:fixed;top:calc(var(--pos-header, 64px) + 6px);right:12px;z-index:70}.header,.pos-header{transition:background .3s}.header:has(.sync-button.offline),.pos-header:has(.sync-button.offline){background:#111}.header:has(.sync-button.offline) .sync-dot,.pos-header:has(.sync-button.offline) .sync-dot{border-color:#111}.header .sync-button{position:relative}.input-group-addon{display:inline-flex;align-items:center;padding:0 12px;border:1px solid #ced4da;border-left:0;border-radius:0 6px 6px 0;background:#f3f6fa;color:#34465f;font-weight:600}.receipt .receipt-payment td{padding-top:8px}.receipt .receipt-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}.receipt .receipt-payment span{display:block;font-size:11px;color:#556070}.receipt .receipt-payment small{display:block;font-size:11px}.discount-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.discount-label .field-label{margin:0}.segmented.discount-mode{margin-bottom:10px}.discount-label .segmented.discount-mode{margin-bottom:0}.segmented.discount-mode button{min-width:28px;padding:0 8px;font-size:12px;font-weight:700;line-height:20px;cursor:pointer}.segmented.discount-mode button:first-child{margin-left:0;border-radius:6px 0 0 6px}.segmented.discount-mode button:last-child{border-radius:0 6px 6px 0}@page receipt{margin:0}@media print{.receipt.print-area{page:receipt;left:0;right:0;box-sizing:border-box;width:100%;max-width:80mm;margin:0 auto;padding:3mm 2mm}dialog.modal:has(.receipt){max-width:none}.receipt .grand td:first-child{white-space:nowrap}}dialog.modal{width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;padding:0;border:1px solid #0003;border-radius:3px;box-shadow:0 5px 15px #00000080;color:var(--ink)}dialog.modal-sm{width:min(380px,calc(100vw - 24px))}dialog.modal-lg{width:min(900px,calc(100vw - 24px))}dialog.modal-xl{width:min(1060px,calc(100vw - 24px))}dialog::backdrop{background:#00000080}.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 15px;background:#fff;border-bottom:1px solid #e5e5e5}.modal-header h2{flex:1 1;margin:0;font-size:14px;font-weight:700;text-transform:uppercase}.close-button{border:0;background:none;color:#000;opacity:.35;font-size:26px;font-weight:300;line-height:1}.close-button:hover{opacity:.7}.modal-body{padding:15px}.modal-intro{margin:-2px 0 14px}.modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:6px;padding:12px 15px;background:#fff;border-top:1px solid #e5e5e5}.upload-box{display:flex;align-items:center;gap:12px;padding:10px;border:1px dashed #ccc;background:#fafafa}.upload-preview{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border:1px solid #ddd;background:#fff;color:#aaa;font-size:22px;overflow:hidden}.upload-preview img{width:100%;height:100%;object-fit:cover}