:root{--purple:#67266f;--purple2:#7b3485;--purple-soft:#f5eff7;--orange:#ea3a06;--ink:#241a27;--muted:#7b7080;--bg:#f6f4f7;--card:#fff;--line:#e7e1e9;--green:#13865a;--green-soft:#eaf7f1;--red:#c7382b;--red-soft:#fdecea;--amber:#a66b08;--amber-soft:#fff4df;--blue:#2968cc;--shadow:0 8px 30px rgba(52,31,57,.07);--radius:16px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.app-sidebar{height:100vh;position:sticky;top:0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:50}.sidebar-brand{padding:22px 20px 15px;border-bottom:1px solid #f0ebf1;position:relative}.brand-link{text-decoration:none;display:inline-flex;align-items:baseline;font-size:38px;font-weight:950;letter-spacing:-4px}.brand-b{color:var(--orange)}.brand-mart{color:var(--purple)}.brand-tagline{display:block;color:var(--purple);font-size:11px;font-weight:850;margin-top:-4px;letter-spacing:.02em}.sidebar-close{display:none;position:absolute;right:12px;top:16px}.sidebar-nav{padding:12px 10px 18px;overflow:auto;flex:1}.nav-group{margin-bottom:13px}.nav-label{font-size:10px;font-weight:900;letter-spacing:.09em;color:#aa9eae;padding:10px 12px 5px}.nav-item{display:flex;align-items:center;gap:11px;text-decoration:none;color:#64586a;border-radius:11px;padding:10px 12px;margin:2px 0;font-size:13px}.nav-item span{width:20px;text-align:center}.nav-item b{font-weight:720}.nav-item:hover{background:#faf7fb;color:var(--purple)}.nav-item.active{background:var(--purple-soft);color:var(--purple);box-shadow:inset 3px 0 0 var(--purple)}html[dir=rtl] .nav-item.active{box-shadow:inset -3px 0 0 var(--purple)}.sidebar-user{border-top:1px solid var(--line);padding:14px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:12px;background:var(--purple);color:#fff;display:grid;place-items:center;font-weight:900}.user-meta{min-width:0}.user-meta b,.user-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta b{font-size:13px}.user-meta span{font-size:11px;color:var(--muted);margin-top:2px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:38px;height:38px;display:inline-grid;place-items:center;color:#66586b}.icon-btn:hover{background:#faf7fb}.app-main{min-width:0}.app-topbar{height:76px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar-left{display:flex;gap:10px;align-items:center;min-width:0}.topbar-left h1{margin:0;font-size:21px;line-height:1.1}.topbar-left p{margin:4px 0 0;color:var(--muted);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:8px}.lang-btn{text-decoration:none;border:1px solid var(--line);padding:8px 9px;border-radius:9px;font-size:11px;font-weight:900;color:var(--muted)}.lang-btn.active{background:var(--purple);border-color:var(--purple);color:#fff}.mobile-menu{display:none}.page-content{padding:22px}.toast{margin:16px 22px 0;padding:12px 14px;border-radius:12px;border:1px solid}.toast.success{background:var(--green-soft);border-color:#ccebdc;color:#166f4d}.toast.danger{background:var(--red-soft);border-color:#f3d0cb;color:#a32c22}.toast ul{margin:6px 0 0 18px}.page-grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card.flat{box-shadow:none}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2,.card h2{margin:0;font-size:16px}.card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.kpi-card{padding:16px 17px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.kpi-card .label{font-size:12px;color:var(--muted);font-weight:700}.kpi-card .value{display:block;font-size:25px;font-weight:900;margin-top:7px;letter-spacing:-.02em}.kpi-card .meta{display:block;font-size:11px;color:var(--muted);margin-top:5px}.kpi-card.good .value{color:var(--green)}.kpi-card.warn .value{color:var(--amber)}.kpi-card.danger .value{color:var(--red)}.btn,.primary,.secondary{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 13px;font-weight:750;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover,.secondary:hover{background:#faf7fb}.btn-primary,.primary{background:var(--purple);border-color:var(--purple);color:#fff}.btn-primary:hover,.primary:hover{background:#5c2164}.btn-danger{background:#fff5f4;color:var(--red);border-color:#f2d3cf}.btn-sm{padding:7px 10px;font-size:12px}.btn-wide{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{min-width:0}.field label{display:block;font-size:11px;color:var(--muted);font-weight:750;margin:0 0 6px}.field input,.field select,.field textarea,.search-input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 11px;outline:none;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:#b991c0;box-shadow:0 0 0 3px #f2e9f4}.field .help{font-size:10px;color:var(--muted);margin-top:5px}.field.check{display:flex;align-items:center;gap:8px}.field.check input{width:auto}.field.check label{margin:0;color:var(--ink)}.table-card{padding:0;overflow:hidden}.table-toolbar{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.table-toolbar .left,.table-toolbar .right{display:flex;align-items:center;gap:8px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#968a9b;background:#fbf9fb;padding:10px 13px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:11px 13px;border-bottom:1px solid #f0ecf1;font-size:12px;vertical-align:middle}.data-table tbody tr:hover{background:#fdfbfd}.data-table .main-cell b{display:block;font-size:13px}.data-table .main-cell span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;background:#efebf0;color:#6f6374}.status.green{background:var(--green-soft);color:var(--green)}.status.red{background:var(--red-soft);color:var(--red)}.status.amber{background:var(--amber-soft);color:var(--amber)}.status.purple{background:var(--purple-soft);color:var(--purple)}.metric-list{display:grid;gap:9px}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0ebf1}.metric-row:last-child{border:0}.metric-row span{color:var(--muted);font-size:12px}.metric-row b{font-size:13px}.empty-state{padding:34px 20px;text-align:center;color:var(--muted)}.empty-state b{display:block;color:var(--ink);margin-bottom:4px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;text-decoration:none;min-height:118px;box-shadow:var(--shadow);transition:.15s}.quick-card:hover{transform:translateY(-2px);border-color:#ceb5d2}.quick-card .qicon{font-size:23px}.quick-card b{display:block;margin-top:10px;font-size:14px}.quick-card span{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:4px}.section-title{margin:6px 0 12px;font-size:16px}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums}.search-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.search-row .search-input{max-width:320px}.modal{position:fixed;inset:0;background:rgba(28,18,31,.48);display:none;align-items:center;justify-content:center;padding:18px;z-index:100}.modal.open{display:flex}.modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 20px 60px rgba(27,13,31,.25);padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-head h2{margin:0;font-size:18px}.sidebar-backdrop{display:none}.pos-shell .app-sidebar{display:none}.pos-shell .app-shell{grid-template-columns:1fr}.pos-shell .app-topbar{display:none}
/* compatibility for legacy module views */
.shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.side{background:#fff;border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:7px;min-height:100vh}.side .brand-word{font-size:38px;font-weight:950;letter-spacing:-4px;color:var(--purple)}.side .brand-word span{color:var(--orange)}.side .tagline{font-size:11px;font-weight:850;color:var(--purple);margin-top:-5px;margin-bottom:12px}.side .nav{padding:10px 11px;border-radius:10px;text-decoration:none;color:#66596b;font-size:13px}.side .nav.active{background:var(--purple-soft);color:var(--purple);font-weight:800}.side .userbox{background:#f8f4f9;border-radius:11px;padding:11px;font-size:12px}.side .userbox small{display:block;color:var(--muted);margin-top:3px}.side .logout{margin-top:auto}.side .logout button{border:0;background:none;color:var(--red)}.main{min-width:0}.main>header,header{min-height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 22px}.main>header h1,header h1{margin:0;font-size:20px}.main>header p,header p{margin:4px 0 0;color:var(--muted);font-size:12px}.content-pad{padding:22px}.intel-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.two-input{display:grid;grid-template-columns:1fr 1fr;gap:10px}.three-input{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.filterbar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end}.chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;background:var(--purple-soft);color:var(--purple)}.chip.warn{background:var(--amber-soft);color:var(--amber)}.chip.danger{background:var(--red-soft);color:var(--red)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee8ef;font-size:12px}th{font-size:10px;text-transform:uppercase;color:#998d9d;background:#fbf9fb}.scanner{display:flex;gap:8px;border:1px solid #d8c7dc;background:#fff;border-radius:12px;padding:10px}.scanner input{border:0;outline:0;flex:1}.wide{width:100%}.hidden{display:none!important}.okmsg{background:var(--green-soft);color:var(--green);padding:10px;border-radius:9px}.errmsg{background:var(--red-soft);color:var(--red);padding:10px;border-radius:9px}.primary,.secondary{border-radius:10px}.login-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f8f3f9,#fff)}.login-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.login-card input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px}.login-lang{display:flex;justify-content:flex-end;gap:6px}.login-lang a{text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:11px;color:var(--purple)}.login-lang a.active{background:var(--purple);color:#fff}.error-box{background:var(--red-soft);color:var(--red);padding:10px;border-radius:9px}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app-shell,.shell{grid-template-columns:1fr}.app-sidebar,.side{position:fixed;left:0;top:0;bottom:0;width:min(84vw,320px);z-index:80;transform:translateX(-105%);transition:transform .2s;box-shadow:12px 0 35px rgba(35,20,39,.18);overflow:auto}.app-sidebar.open,.side.open{transform:translateX(0)}html[dir=rtl] .app-sidebar,html[dir=rtl] .side{left:auto;right:0;transform:translateX(105%)}html[dir=rtl] .app-sidebar.open,html[dir=rtl] .side.open{transform:translateX(0)}.sidebar-backdrop.open{display:block;position:fixed;inset:0;background:rgba(20,12,22,.4);z-index:70}.sidebar-close,.mobile-menu{display:inline-grid}.page-content,.content-pad{padding:14px}.app-topbar{padding:0 14px;height:70px}.topbar-actions{gap:5px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3,.grid-4,.intel-grid{grid-template-columns:1fr}.form-grid,.form-grid.cols-3,.form-grid.cols-4,.two-input,.three-input,.filterbar{grid-template-columns:1fr}.main>header,header{padding:12px 14px}.legacy-menu-btn{display:inline-grid!important;position:fixed;left:12px;bottom:18px;z-index:60;background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 8px 25px #0003}}
@media(max-width:560px){.kpi-grid,.quick-grid{grid-template-columns:1fr}.topbar-left h1{font-size:18px}.topbar-left p{display:none}.page-content,.content-pad{padding:10px}.card{padding:14px}.app-topbar{height:64px}.data-table{min-width:650px}.table-toolbar{align-items:flex-start;flex-direction:column}.table-toolbar .left,.table-toolbar .right{width:100%;flex-wrap:wrap}.search-input{max-width:none!important}}
/* POS and workflow compatibility */
.pos-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.7fr);gap:16px;padding:22px}.product-result{margin:14px 0;padding:13px;border-radius:12px;background:#faf8fb;border:1px dashed #d9cedb}.product-result.empty{color:var(--muted)}.product-card{display:flex;justify-content:space-between;gap:12px}.product-card small{display:block;color:var(--muted);margin-top:4px}.cart-title{display:flex;align-items:center;justify-content:space-between}.text-danger{border:0;background:transparent;color:var(--red);cursor:pointer}.cart-line{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.cart-line.selected{outline:2px solid rgba(103,38,111,.38);background:#faf5fb}.qtybtn{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:8px}.qty{min-width:38px;text-align:center}.checkout label,.card label{display:block;color:var(--muted);font-size:12px;margin:13px 0 6px}.checkout select,.checkout input,.card select,.card input{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.checkout select,.checkout input{width:100%}.total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:17px}.total strong{font-size:27px}.checkout .primary{margin-top:16px;height:48px}.cart-keyboard-help{font-size:11px;color:var(--muted);margin-top:8px;text-align:center}.header-actions{display:flex;align-items:center;gap:8px}.badge{padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850}.neutral{background:#eee9ef;color:#6b5e6f}.open{background:var(--green-soft);color:var(--green)}.pos-shortcut-bar{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:9px 18px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:76px;z-index:15}.shortcut-chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;color:var(--ink);font-size:11px;font-weight:700}.shortcut-chip.primary-kb{background:var(--purple);color:#fff;border-color:var(--purple)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 5px;border:1px solid rgba(0,0,0,.13);border-bottom-width:2px;border-radius:5px;background:#f5f5f7;font:700 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.primary-kb kbd,.primary kbd{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}.sale-controls{display:flex;gap:8px;flex-wrap:wrap}.receipt-preview{background:#fff;border:1px dashed var(--line);padding:12px;border-radius:10px}.pick-item{display:grid;grid-template-columns:minmax(220px,2fr) 1.2fr .7fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.pick-item small{display:block;color:var(--muted);margin-top:3px}.pick-item>div:nth-child(2){display:flex;gap:14px;font-size:12px;color:var(--muted)}.pick-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.permission-item{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px}.permission-item input{width:auto!important}.allocation{display:block!important;padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink)!important}.allocation input{width:auto!important}.receive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.receive-grid .secondary{grid-column:1/-1}.alert{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px}.alert small{display:block;color:var(--muted);margin:4px 0 8px}.rank{width:28px;height:28px;border-radius:8px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-weight:800}.good{color:var(--green)}
@media(max-width:900px){.pos-layout{grid-template-columns:1fr;padding:12px}.pos-shortcut-bar{top:0}.pick-item{grid-template-columns:1fr}.admin-form,.permission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.admin-form,.permission-grid{grid-template-columns:1fr}.shortcut-chip span{display:none}.pos-shortcut-bar{padding:7px}.pos-layout{padding:10px}}
/* Laravel paginator */
nav[role=navigation]{margin-top:12px}nav[role=navigation] p{font-size:11px;color:var(--muted)}nav[role=navigation] a,nav[role=navigation] span{font-size:12px}nav[role=navigation] .relative.inline-flex{display:inline-flex;gap:4px}nav[role=navigation] svg{width:16px;height:16px}
/* Bmart polished UI v220 */
body{background:radial-gradient(circle at 78% 0%,rgba(103,38,111,.045),transparent 30%),linear-gradient(180deg,#f8f6f9,#f5f3f6)}
.app-topbar{box-shadow:0 1px 0 rgba(44,28,47,.02),0 7px 28px rgba(44,28,47,.035)}
.page-content{max-width:1680px;width:100%;margin:0 auto}.module-workspace{display:grid;gap:16px}.page-content .embedded-workflow,.page-content>.module-workspace>.pos-layout{padding:0}.table-wrap{overflow:auto}.table-wrap table tbody tr:hover{background:#fcfafc}.module-workspace>.card+.card{margin-top:0!important}
.module-workspace label{font-size:11px;font-weight:800;color:var(--muted)}.module-workspace select,.module-workspace input,.module-workspace textarea{border:1px solid var(--line);border-radius:10px;background:#fff;min-height:40px}.module-workspace select:focus,.module-workspace input:focus,.module-workspace textarea:focus{outline:none;border-color:#b991c0;box-shadow:0 0 0 3px #f2e9f4}
.top-filter{display:flex;gap:7px}.top-filter select,.top-filter input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 9px;max-width:170px}
.owner-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#67266f,#8b4294);color:#fff;border-radius:20px;padding:23px 25px;box-shadow:0 18px 45px rgba(103,38,111,.16);margin-bottom:16px}.owner-hero .eyebrow{font-size:10px;font-weight:950;letter-spacing:.13em;opacity:.72}.owner-hero h2{margin:6px 0 0;font-size:25px}.owner-hero p{margin:5px 0 0;color:#ffffffbd;font-size:12px}.owner-hero-actions{display:flex;gap:8px}.owner-hero .btn{background:#fff;color:var(--purple);border-color:#fff}.owner-hero .btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}
.owner-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;display:flex;gap:11px;box-shadow:var(--shadow)}.metric-icon{width:38px;height:38px;border-radius:11px;background:#f2edf3;color:var(--purple);display:grid;place-items:center;font-size:11px;font-weight:950;flex:0 0 auto}.metric-card.orange .metric-icon{background:#fff0eb;color:var(--orange)}.metric-card.green .metric-icon{background:var(--green-soft);color:var(--green)}.metric-card.amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.metric-card.red .metric-icon{background:var(--red-soft);color:var(--red)}.metric-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.metric-card strong{display:block;font-size:19px;margin-top:5px;white-space:nowrap}.metric-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.metric-card small.positive{color:var(--green)}.metric-card small.negative{color:var(--red)}
.owner-grid-main{grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);margin-bottom:16px}.owner-second-row{margin-bottom:16px}.chart-card{min-height:300px}.chart-total{font-size:11px;color:var(--muted)}.bar-chart{height:210px;display:flex;align-items:flex-end;gap:10px;padding:20px 5px 0}.bar-col{flex:1;height:100%;display:grid;grid-template-rows:20px 1fr 18px;gap:5px;text-align:center}.bar-value{font-size:9px;color:var(--muted)}.bar-track{height:100%;background:#f4eff5;border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;min-height:4px;background:linear-gradient(180deg,#8f4c98,#67266f);border-radius:8px 8px 3px 3px}.bar-col span{font-size:10px;color:var(--muted);font-weight:750}
.attention-row{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;text-decoration:none;padding:12px 2px;border-top:1px solid #f0ebf1}.attention-row:first-of-type{border-top:0}.attention-row b{display:block;font-size:12px}.attention-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.attention-dot{width:8px;height:8px;border-radius:99px}.attention-dot.red{background:var(--red)}.attention-dot.amber{background:var(--amber)}.attention-dot.purple{background:var(--purple)}.attention-dot.grey{background:#aaa}.attention-row>span:last-child{font-size:20px;color:#aaa}
.hour-chart{height:180px;display:flex;gap:3px;align-items:flex-end}.hour-cell{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.hour-bar{width:75%;min-height:2px;background:linear-gradient(180deg,#ef6639,#ea3a06);border-radius:4px 4px 1px 1px}.hour-cell span{font-size:8px;color:var(--muted)}
.payment-mix{display:grid;gap:14px}.progress{height:7px;background:#f0ebf2;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#67266f,#9d60a5)}.progress.large{height:10px}.risk-item{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #f0ebf1}.risk-level{width:7px;height:28px;border-radius:99px;background:#aaa}.risk-level.medium{background:var(--amber)}.risk-level.high,.risk-level.critical{background:var(--red)}.risk-item b{display:block;font-size:12px}.risk-item small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.empty-state.compact{padding:24px 12px}
.picker-board{display:grid;gap:16px}.picker-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.picker-summary>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.picker-summary span{display:block;color:var(--muted);font-size:11px}.picker-summary strong{display:block;margin-top:6px;font-size:20px}.picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.picker-order-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:var(--shadow)}.order-number{font-size:18px;font-weight:950;color:var(--purple)}.picker-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 15px}.picker-meta span{background:#f7f3f8;border-radius:8px;padding:6px 8px;font-size:10px}.empty-panel{grid-column:1/-1;background:#fff;border:1px dashed #d7cadb;border-radius:18px;padding:50px;text-align:center}
.pick-screen{display:grid;gap:14px;max-width:1100px;margin:auto}.scan-focus-card{display:grid;grid-template-columns:50px 1fr minmax(280px,.7fr);align-items:center;gap:14px;border:2px solid #e3d4e6}.scan-icon{width:50px;height:50px;border-radius:13px;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:22px}.scan-copy b,.scan-copy span{display:block}.scan-copy span{font-size:11px;color:var(--muted)}.scan-primary{width:100%;font-size:17px!important;padding:13px!important}.pick-progress-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.pick-lines{display:grid;gap:8px}.pick-line-card{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.pick-line-card.done{background:#f5fbf8}.pick-line-icon{width:34px;height:34px;border-radius:10px;background:#f4eff5;color:var(--purple);display:grid;place-items:center}.pick-line-card b,.pick-line-card span{display:block}.pick-line-card span{font-size:10px;color:var(--muted)}.sticky-actions{position:sticky;bottom:10px;background:#ffffffeb;backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;justify-content:flex-end;gap:8px;box-shadow:0 12px 35px #0002}
@media(max-width:1380px){.owner-kpis{grid-template-columns:repeat(3,1fr)}.picker-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.owner-grid-main{grid-template-columns:1fr}.owner-hero{align-items:flex-start;flex-direction:column}.top-filter{display:none}.picker-grid{grid-template-columns:1fr}.scan-focus-card{grid-template-columns:42px 1fr}.scan-primary{grid-column:1/-1}.owner-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.owner-kpis{grid-template-columns:1fr}.owner-hero{padding:18px}.picker-summary{grid-template-columns:1fr}}
/* POS polished workspace */
.pos-commandbar{display:flex;gap:7px;overflow-x:auto;margin:-4px 0 14px;padding:2px 0 6px;scrollbar-width:thin}.pos-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.55fr);gap:16px;align-items:start}.pos-sale-panel{min-height:620px}.pos-scan-zone{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;border:2px solid #dac9de;background:#fff;border-radius:15px;padding:8px}.scan-symbol{width:42px;height:42px;border-radius:11px;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:21px}.pos-scan-zone input{border:0!important;box-shadow:none!important;font-size:18px;min-height:44px}.scan-hint{font-size:9px;font-weight:900;color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:5px 7px}.pos-cart-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.pos-cart-head h2{margin:0;font-size:18px}.pos-cart-head span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.empty-cart-visual{display:grid;place-items:center;text-align:center;padding:52px 20px;color:var(--muted)}.empty-cart-visual span{font-size:34px;color:#cbbdce}.empty-cart-visual b{color:var(--ink);margin-top:8px}.empty-cart-visual small{margin-top:4px}.checkout-panel{position:sticky;top:98px}.checkout-title{display:flex;justify-content:space-between;align-items:flex-start}.checkout-title .eyebrow{font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--muted)}.checkout-title h2{margin:3px 0 0;font-size:21px}.checkout-lock{font-size:10px;color:var(--green);background:var(--green-soft);padding:6px 8px;border-radius:999px}.checkout-total{margin:18px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}.checkout-total span{font-size:12px;color:var(--muted)}.checkout-total strong{font-size:30px;letter-spacing:-.04em}.complete-sale-btn{height:52px;margin-top:16px;font-size:15px}.checkout-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:12px}.pos-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.control-panel{padding:0;overflow:hidden}.control-panel summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:15px 17px;cursor:pointer}.control-panel summary::-webkit-details-marker{display:none}.control-panel summary b,.control-panel summary small{display:block}.control-panel summary small{color:var(--muted);font-size:10px;margin-top:3px}.control-panel summary>span:last-child{font-size:20px;color:#aaa}.control-panel[open] summary{border-bottom:1px solid var(--line)}.control-body{padding:16px}.action-field{display:flex;align-items:end}.action-field .btn{width:100%}
@media(max-width:1050px){.pos-workspace{grid-template-columns:1fr}.checkout-panel{position:static}.pos-controls-grid{grid-template-columns:1fr}}@media(max-width:600px){.pos-commandbar .shortcut-chip span{display:none}.pos-sale-panel{min-height:0}.pos-scan-zone{grid-template-columns:40px 1fr}.scan-hint{display:none}.checkout-total strong{font-size:26px}}


/* =====================================================================
   BMART PREMIUM RETAIL UI v300 — inspired by modern supermarket systems
   ===================================================================== */
:root{--purple:#67266f;--purple-2:#7f3a88;--purple-light:#f2eaf4;--orange:#ea3a06;--ink:#16213a;--muted:#718096;--page:#eef4fb;--panel:#fff;--line:#dfe8f2;--soft:#f6f9fc;--cyan:#6d3f79;--green:#18a46b;--red:#e54949;--yellow:#efac2f;--shadow:0 8px 28px rgba(35,55,80,.055);--radius:18px}
body{background:var(--page);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.app-shell{grid-template-columns:214px minmax(0,1fr);padding:14px;gap:14px;min-height:100vh}.app-sidebar{height:calc(100vh - 28px);top:14px;border:0;border-radius:20px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.premium-brand{border:0;padding:21px 18px 12px}.brand-link{font-size:30px}.brand-tagline{display:none}.store-switcher{margin:0 10px 12px;padding:12px;background:#eef5fb;border-radius:12px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px}.store-switch-icon{width:28px;height:28px;border-radius:8px;background:#fff;display:grid;place-items:center;color:var(--purple)}.store-switcher b,.store-switcher span{display:block}.store-switcher b{font-size:11px}.store-switcher div>span{font-size:9px;color:var(--muted);margin-top:2px}.store-chevron{font-size:15px;color:#6d7785}.premium-nav{padding:5px 9px;overflow:auto}.premium-nav .nav-group{margin:0}.premium-nav .nav-item{padding:10px 11px;border-radius:11px;margin:3px 0;color:#3d5168;font-size:11px;gap:10px}.premium-nav .nav-item.active{background:linear-gradient(135deg,#6f3479,#8c4a95);color:#fff;box-shadow:none}.premium-nav .nav-item:hover{background:#f2edf4;color:var(--purple)}.premium-nav .nav-item.active:hover{color:#fff}.nav-icon{width:22px!important;height:22px;display:grid;place-items:center;font-size:13px}.nav-divider{height:1px;background:#edf2f6;margin:10px 7px}.nav-more{margin:7px 4px}.nav-more summary{list-style:none;display:flex;justify-content:space-between;padding:10px 8px;color:#7b8795;font-size:10px;font-weight:800;cursor:pointer}.nav-more summary::-webkit-details-marker{display:none}.nav-more-body{display:grid;gap:2px;padding:0 5px 5px}.nav-more-body a{padding:7px 10px;border-radius:8px;text-decoration:none;color:#647386;font-size:10px}.nav-more-body a:hover{background:#f6f2f7;color:var(--purple)}.sidebar-bottom-links{margin-top:auto;padding:10px;border-top:1px solid #edf2f6}.sidebar-bottom-links a,.sidebar-bottom-links button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;text-decoration:none;color:#4d6075;padding:9px 10px;border-radius:9px;font-size:11px}.sidebar-bottom-links a:hover,.sidebar-bottom-links button:hover{background:#f5f7fa;color:var(--purple)}
.app-main{min-width:0}.premium-topbar{height:60px;position:sticky;top:14px;border:0;border-radius:16px;padding:7px 10px;background:#fff;box-shadow:var(--shadow);z-index:30;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px}.global-search{height:44px;background:#f8fafc;border:1px solid #edf2f6;border-radius:12px;display:flex;align-items:center;padding:0 12px;gap:9px;min-width:0}.global-search .search-icon{font-size:18px;color:#59708a}.global-search input{border:0;background:transparent;outline:none;width:100%;font-size:11px;color:var(--ink)}.topbar-quick-actions{display:flex;gap:8px}.command-btn{height:44px;border:1px solid #e9eff5;border-radius:12px;padding:0 14px;display:flex;align-items:center;gap:8px;text-decoration:none;font-size:10px;font-weight:800;color:#29445f;background:#fff;white-space:nowrap}.command-primary{background:var(--purple);border-color:var(--purple);color:#fff}.notification-btn{width:44px;height:44px;border:1px solid #e9eff5;border-radius:12px;background:#fff;position:relative;color:#355069}.notification-btn i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--orange);right:10px;top:9px}.user-chip{height:44px;display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:0 8px;border-radius:12px;background:#fff;min-width:150px}.avatar.small{width:32px;height:32px;border-radius:9px}.user-chip b,.user-chip span{display:block}.user-chip b{font-size:10px}.user-chip div>span{font-size:8px;color:var(--muted);margin-top:2px}.user-chevron{font-size:12px;color:#7a8898}.page-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:19px 4px 12px}.page-title-wrap h1{margin:0;font-size:22px;letter-spacing:-.02em}.page-title-wrap p{margin:4px 0 0;color:var(--muted);font-size:11px}.page-heading-actions{display:flex;gap:7px;align-items:center}.page-content{padding:0 4px 18px;max-width:none}.compact-select,.filter-chip,.head-filters span{border:0;background:#edf5fb;color:#43617a;border-radius:10px;padding:8px 11px;font-size:9px;font-weight:750}.panel{background:#fff;border:0;border-radius:18px;box-shadow:var(--shadow);padding:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h2{font-size:14px;margin:0;font-weight:800}.panel-head p{margin:3px 0 0;font-size:9px;color:var(--muted)}.head-filters{display:flex;gap:7px}.mini-link{font-size:9px;text-decoration:none;color:var(--purple);font-weight:800}.empty-card-state{padding:24px;text-align:center;color:var(--muted);font-size:10px}
.reference-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.ref-kpi{background:#fff;border-radius:16px;padding:13px;box-shadow:var(--shadow);position:relative;min-height:112px}.ref-kpi.featured{background:linear-gradient(135deg,#6f3479,#86508f);color:#fff}.ref-kpi .kpi-icon{width:31px;height:31px;border-radius:10px;background:#edf5fb;color:#496982;display:grid;place-items:center;margin-bottom:12px}.ref-kpi.featured .kpi-icon{background:#ffffff2e;color:#fff}.ref-kpi>span{display:block;font-size:11px}.ref-kpi strong{display:block;font-size:21px;margin-top:5px;letter-spacing:-.02em}.ref-kpi small{font-size:8px;color:var(--muted);display:block;margin-top:4px}.ref-kpi.featured small{color:#ffffffbd}.ref-kpi .trend{position:absolute;right:11px;bottom:13px;border-radius:999px;padding:4px 7px;background:#e7fbef;color:#168a57;font-weight:900}.ref-kpi.featured .trend{background:#fff;color:#168a57}
.dashboard-reference-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,1fr);gap:12px}.sales-trend-panel,.top-products-panel{min-height:300px}.reference-bar-chart{height:220px;display:flex;align-items:flex-end;gap:12px;padding:18px 6px 0}.ref-bar-col{height:100%;flex:1;display:grid;grid-template-rows:18px 1fr 18px;gap:4px;text-align:center}.ref-bar-value{font-size:8px;color:#789}.ref-bar-stack{height:100%;background:repeating-linear-gradient(180deg,#eff7fb 0 18px,#fff 18px 22px);border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.ref-bar-stack i{display:block;width:100%;background:repeating-linear-gradient(180deg,#d8bfde 0 18px,#f8eef9 18px 22px);border-top:3px solid var(--purple);border-radius:8px 8px 0 0}.ref-bar-col span{font-size:8px;color:#556a80}.top-product-list{display:grid;gap:8px}.top-product-row{display:grid;grid-template-columns:44px 1fr 70px 95px 62px;gap:9px;align-items:center;border:1px solid #edf2f6;border-radius:12px;padding:8px}.top-product-row.selected{background:#f3ebf4;border-color:#e2d0e5}.product-art{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-size:18px;font-weight:900;color:#fff;flex:0 0 auto}.tone-1{background:linear-gradient(135deg,#7a3b83,#a46dac)}.tone-2{background:linear-gradient(135deg,#f07a46,#f3aa6c)}.tone-3{background:linear-gradient(135deg,#4b9f84,#81c2aa)}.tone-4{background:linear-gradient(135deg,#477da7,#7bb0cf)}.tone-5{background:linear-gradient(135deg,#b07c39,#d6b06b)}.top-product-copy b,.top-product-copy span{display:block}.top-product-copy b{font-size:10px}.top-product-copy span{font-size:8px;color:var(--muted);margin-top:2px}.tp-metric small,.tp-metric b{display:block}.tp-metric small{font-size:7px;color:var(--muted)}.tp-metric b{font-size:9px;margin-top:3px}.stock-pill{padding:5px 7px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap;text-align:center;background:#eef4f7;color:#607487}.stock-pill.good{background:#eaf8f0;color:#13865a}.stock-pill.low{background:#fff5df;color:#a66b08}.stock-pill.bad{background:#fdecea;color:#c7382b}.inventory-health-panel,.employees-panel{min-height:260px}.inventory-donut-wrap{display:grid;grid-template-columns:145px 1fr;gap:15px;align-items:center}.inventory-donut{width:128px;height:128px;border-radius:50%;background:conic-gradient(#4ba783 0 calc(var(--healthy)*1%),#efac2f calc(var(--healthy)*1%) calc((var(--healthy) + var(--low))*1%),#e65d5d calc((var(--healthy) + var(--low))*1%) 100%);display:grid;place-items:center;position:relative}.inventory-donut:after{content:"";width:84px;height:84px;border-radius:50%;background:#fff;position:absolute}.inventory-donut>div{z-index:1;text-align:center}.inventory-donut strong,.inventory-donut span{display:block}.inventory-donut strong{font-size:22px}.inventory-donut span{font-size:8px;color:var(--muted)}.legend-list{display:grid;gap:7px}.legend-list>div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:9px}.legend{width:7px;height:7px;border-radius:50%}.legend.healthy{background:#4ba783}.legend.low{background:#efac2f}.legend.out{background:#e65d5d}.legend.expiry{background:#7f3a88}.compact-business-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.compact-business-metrics div{background:#f7f9fb;border-radius:9px;padding:7px}.compact-business-metrics span,.compact-business-metrics b{display:block}.compact-business-metrics span{font-size:7px;color:var(--muted)}.compact-business-metrics b{font-size:9px;margin-top:3px}.employee-list{display:grid;gap:8px}.employee-row{display:grid;grid-template-columns:38px 1fr 90px 62px;gap:9px;align-items:center;border:1px solid #edf2f6;padding:8px;border-radius:12px}.employee-row:nth-child(2){background:#f3ebf4}.employee-avatar{background:linear-gradient(135deg,#6f3479,#a76faf)}.employee-row b,.employee-row span,.employee-hours small,.employee-hours b{display:block}.employee-row b{font-size:9px}.employee-row span{font-size:8px;color:var(--muted);margin-top:2px}.employee-hours small{font-size:7px;color:var(--muted)}.employee-hours b{font-size:8px}.status-dot{display:inline-flex;align-items:center;gap:4px;font-size:8px;padding:5px 7px;border-radius:999px;background:#eef4f7;color:#5d7286}.status-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:#8aa}.status-dot.online{background:#eaf8f0;color:#19875b}.status-dot.online:before{background:#22b875}.status-dot.warn{background:#fff5df;color:#9a6b16}.status-dot.warn:before{background:#efac2f}.status-dot.danger{background:#fdecec;color:#bd3838}.status-dot.danger:before{background:#e54949}
.pos-reference-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:12px}.pos-products-column{display:grid;gap:12px;min-width:0}.pos-search-bar{height:52px;background:#fff;border-radius:15px;box-shadow:var(--shadow);display:grid;grid-template-columns:24px 1fr auto;align-items:center;padding:6px 7px 6px 14px;gap:7px}.pos-search-bar input{border:0;outline:none;background:transparent;font-size:11px}.scan-inline{height:40px;border:0;border-radius:11px;background:var(--purple);color:#fff;padding:0 15px;font-size:9px;font-weight:850}.compact-result{display:none}.pos-product-panel{min-height:350px}.category-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:9px}.category-tabs button{border:1px solid #e9eff5;background:#fff;color:#637489;border-radius:999px;padding:7px 10px;font-size:8px;white-space:nowrap}.category-tabs button.active{background:var(--purple);border-color:var(--purple);color:#fff}.product-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-height:320px;overflow:auto;padding:3px}.pos-product-card{border:1px solid #e6edf3;background:#fff;border-radius:12px;padding:8px;text-align:left;min-height:135px;display:flex;flex-direction:column;align-items:flex-start;position:relative}.pos-product-card:hover{border-color:#c9aed0;background:#fbf8fc}.pos-product-card:disabled{opacity:.55;cursor:not-allowed}.pos-product-card .product-art{width:100%;height:62px;border-radius:9px;margin-bottom:7px}.pos-product-card b{font-size:9px;line-height:1.2}.pos-product-card small{font-size:7px;color:var(--muted);margin-top:2px}.pos-product-card strong{font-size:9px;margin-top:5px;color:#263f59}.pos-product-card em{font-size:7px;font-style:normal;margin-top:auto;padding-top:3px}.in-stock{color:#159262}.out-stock{color:#c7382b}.billing-history-panel{padding-bottom:8px}.billing-list{display:grid;gap:6px}.billing-row{display:grid;grid-template-columns:34px 1fr 95px 100px 20px;gap:8px;align-items:center;border:1px solid #e8eef4;border-radius:11px;padding:8px}.billing-row.selected{background:#f2eaf4;border-color:#e1cde5}.bill-avatar{width:34px;height:34px;border-radius:9px;background:#6f3479;color:#fff;display:grid;place-items:center;font-weight:900}.billing-row b,.billing-row span,.billing-row small{display:block}.billing-row b{font-size:9px}.billing-row span,.billing-row small{font-size:7px;color:var(--muted);margin-top:2px}.pos-cart-column{padding:11px;display:flex;flex-direction:column;min-height:650px}.cart-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cart-title-row>div{display:flex;align-items:center;gap:8px}.cart-title-row h2{font-size:16px}.cart-icon{width:31px;height:31px;border-radius:9px;background:#f0f5f8;display:grid;place-items:center}.trash-btn{width:32px;height:32px;border:0;border-radius:9px;background:#fff0ef;color:#d7463f}.reference-cart{display:grid;gap:5px;max-height:330px;overflow:auto}.reference-cart .cart-line{grid-template-columns:1fr 78px 72px!important;border:0!important;background:#fff;padding:7px 4px!important;border-radius:9px}.reference-cart .cart-line.selected{background:#f8f2f9}.reference-cart .cart-line b{font-size:9px}.reference-cart .cart-line small{font-size:7px}.reference-cart .qty-controls{gap:5px}.reference-cart .qtybtn{width:22px;height:22px}.reference-cart strong{font-size:9px}.cart-summary{margin-top:auto;background:#f0f6fb;border-radius:11px;padding:10px;display:grid;gap:6px}.cart-summary>div{display:flex;justify-content:space-between;font-size:8px}.cart-summary .grand-total{border-top:1px dashed #cddae5;padding-top:7px}.cart-summary .grand-total span,.cart-summary .grand-total strong{font-size:11px}.checkout-reference{padding-top:9px}.checkout-reference label{font-size:8px;color:var(--muted);display:block;margin:0 0 4px}.checkout-reference select,.checkout-reference input{width:100%;border:1px solid #e2eaf1;border-radius:9px;padding:8px;font-size:9px}.purchase-btn{margin-top:9px;height:42px;justify-content:center}.purchase-btn span{margin-left:auto;background:#ffffff24;padding:3px 5px;border-radius:5px}.pos-shortcut-dock{display:flex;gap:6px;margin:11px 0;overflow:auto}.pos-shortcut-dock button{border:0;background:#fff;border-radius:10px;padding:7px 10px;font-size:8px;color:#52677c;box-shadow:var(--shadow)}.pos-shortcut-dock kbd{border:0;background:#eef4f7;border-radius:5px;padding:3px 5px;font-size:7px}.pos-shortcut-dock .accent{background:#f2eaf4;color:var(--purple)}.compact-controls{margin-top:4px}.empty-cart-visual{padding:35px 10px}
.inventory-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.inventory-summary-strip>div{background:#fff;border-radius:14px;padding:12px;box-shadow:var(--shadow)}.inventory-summary-strip span,.inventory-summary-strip strong{display:block}.inventory-summary-strip span{font-size:8px;color:var(--muted)}.inventory-summary-strip strong{font-size:16px;margin-top:4px}.inventory-summary-strip .warn strong{color:#a66b08}.inventory-summary-strip .danger strong{color:#c7382b}.inventory-reference-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.86fr);gap:12px}.stock-card-list{display:grid;gap:7px;max-height:680px;overflow:auto}.stock-list-row{display:grid;grid-template-columns:44px 1.2fr 86px 75px 72px;gap:9px;align-items:center;border:1px solid #e7eef4;border-radius:12px;padding:8px}.stock-list-row.warning{background:#fffcf5}.stock-list-row.critical{background:#fff8f8}.stock-product b,.stock-product span,.stock-list-row small,.stock-list-row>div>b{display:block}.stock-product b{font-size:9px}.stock-product span,.stock-list-row small{font-size:7px;color:var(--muted)}.stock-list-row>div>b{font-size:8px;margin-top:3px}.inventory-side-stack{display:grid;gap:12px;align-content:start}.supplier-order-list,.expiry-list{display:grid;gap:7px}.supplier-order-row{display:grid;grid-template-columns:85px 1fr 82px 70px;gap:8px;align-items:center;border:1px solid #e7eef4;border-radius:11px;padding:8px}.supplier-order-row.selected,.expiry-row.selected{background:#f2eaf4;border-color:#e1cce4}.supplier-order-row small,.supplier-order-row b{display:block}.supplier-order-row small{font-size:7px;color:var(--muted)}.supplier-order-row b{font-size:8px;margin-top:3px}.expiry-row{display:grid;grid-template-columns:38px 1fr 90px 82px;gap:8px;align-items:center;border:1px solid #e7eef4;border-radius:11px;padding:8px}.small-art{width:38px;height:38px;font-size:14px}.expiry-row b,.expiry-row span,.expiry-row small{display:block}.expiry-row b{font-size:8px}.expiry-row span,.expiry-row small{font-size:7px;color:var(--muted)}
.customer-insight-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;margin-bottom:12px}.customer-chart-panel{min-height:250px}.segment-chart,.line-like-chart{height:150px;display:flex;align-items:flex-end;gap:22px;padding:10px 22px 0}.segment-col,.activity-node{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;text-align:center}.segment-stack,.activity-node i{width:45px;height:100%;background:#eef6fa;border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.segment-stack i{width:100%;background:repeating-linear-gradient(180deg,#d8bfde 0 17px,#f7eef8 17px 21px);border-top:3px solid var(--purple)}.segment-col b,.activity-node b{font-size:8px}.segment-col span,.activity-node span{font-size:7px;color:#52677b}.activity-node i{width:28px;background:linear-gradient(180deg,#9b6ba3,#67266f);height:var(--node-h,30%)}.line-like-chart .activity-node i{height:auto;min-height:5px;background:#d4badd;border-top:3px solid var(--purple)}.customer-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.customer-stat-row div{background:#f6f9fb;border-radius:9px;padding:8px}.customer-stat-row span,.customer-stat-row b{display:block}.customer-stat-row span{font-size:7px;color:var(--muted)}.customer-stat-row b{font-size:10px;margin-top:3px}.customer-list-panel{padding-bottom:10px}.catalog-head{align-items:flex-start}.inline-search{display:flex;align-items:center;border:1px solid #e5edf3;background:#f9fbfc;border-radius:10px;height:34px;padding:0 7px;gap:5px}.inline-search input{border:0;background:transparent;outline:none;font-size:9px;width:190px}.inline-search button{border:0;background:var(--purple);color:#fff;border-radius:7px;padding:5px 8px;font-size:8px}.customer-detail-list{display:grid;gap:7px}.customer-detail-row{display:grid;grid-template-columns:42px 1fr 110px 140px 100px 110px 110px 100px;gap:9px;align-items:center;border:1px solid #e6edf3;border-radius:12px;padding:8px}.customer-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#6f3479,#a66ead);color:#fff;display:grid;place-items:center;font-weight:900}.customer-detail-row b,.customer-detail-row span,.customer-detail-row small{display:block}.customer-detail-row b{font-size:8px}.customer-detail-row small,.customer-detail-row span{font-size:7px;color:var(--muted);margin-top:2px}.customer-actions{display:flex;gap:4px}.pagination-wrap{padding:10px 0}.catalog-toolbar{display:flex;gap:8px;align-items:center}.catalog-card-list{display:grid;gap:7px}.catalog-product-row{display:grid;grid-template-columns:44px minmax(150px,1fr) 120px 100px 80px 80px 80px 62px 70px;gap:8px;align-items:center;border:1px solid #e7eef4;border-radius:12px;padding:8px}.catalog-name b,.catalog-name span,.catalog-product-row small,.catalog-product-row>div>b{display:block}.catalog-name b{font-size:9px}.catalog-name span,.catalog-product-row small{font-size:7px;color:var(--muted)}.catalog-product-row>div>b{font-size:8px;margin-top:3px}.row-actions{display:flex;gap:4px}
.btn,.primary,.secondary{border-radius:10px;font-size:9px;padding:8px 10px}.btn-primary,.primary{background:var(--purple);border-color:var(--purple)}.form-grid .field label{font-size:9px}.form-grid input,.form-grid select,.form-grid textarea{font-size:10px}.modal-card{border-radius:18px}.toast{border-radius:12px;font-size:10px}.card{border:0;box-shadow:var(--shadow)}
@media(max-width:1300px){.product-card-grid{grid-template-columns:repeat(4,1fr)}.customer-detail-row{grid-template-columns:42px 1fr 110px 110px 90px 100px}.customer-detail-row>div:nth-child(4),.customer-detail-row>div:nth-child(6){display:none}.catalog-product-row{grid-template-columns:44px minmax(150px,1fr) 100px 90px 70px 70px 62px 70px}.catalog-product-row>div:nth-child(4){display:none}}
@media(max-width:1000px){.app-shell{display:block;padding:8px}.app-sidebar{position:fixed;left:8px;top:8px;bottom:8px;height:auto;width:min(84vw,260px);transform:translateX(-110%);transition:.2s;z-index:100;border-radius:18px}.app-sidebar.open{transform:translateX(0)}html[dir=rtl] .app-sidebar{left:auto;right:8px;transform:translateX(110%)}html[dir=rtl] .app-sidebar.open{transform:translateX(0)}.sidebar-backdrop.show{display:block}.premium-topbar{top:8px;grid-template-columns:44px minmax(0,1fr) auto}.mobile-menu{display:grid}.topbar-quick-actions .command-btn:not(.command-primary),.user-chip{display:none}.page-heading-row{padding:16px 2px 10px}.reference-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-reference-grid{grid-template-columns:1fr}.pos-reference-layout{grid-template-columns:1fr}.pos-cart-column{min-height:auto}.inventory-reference-grid{grid-template-columns:1fr}.customer-insight-grid{grid-template-columns:1fr}.customer-detail-row{grid-template-columns:42px 1fr 100px 90px 100px}.customer-detail-row>div:nth-child(4),.customer-detail-row>div:nth-child(6),.customer-detail-row>div:nth-child(7){display:none}.catalog-product-row{grid-template-columns:44px 1fr 100px 70px 62px 70px}.catalog-product-row>div:nth-child(4),.catalog-product-row>div:nth-child(5),.catalog-product-row>div:nth-child(7){display:none}}
@media(max-width:640px){.app-shell{padding:5px}.premium-topbar{grid-template-columns:40px 1fr 44px;height:56px}.topbar-quick-actions{display:contents}.topbar-quick-actions .command-primary{width:44px;padding:0;font-size:0}.topbar-quick-actions .command-primary span{font-size:15px}.notification-btn{display:none}.global-search{height:42px}.page-title-wrap h1{font-size:19px}.page-heading-actions{max-width:42vw;overflow:auto}.reference-kpis{grid-template-columns:1fr 1fr;gap:8px}.ref-kpi{min-height:100px}.ref-kpi strong{font-size:17px}.top-product-row{grid-template-columns:40px 1fr 70px}.top-product-row .tp-metric:nth-of-type(2),.top-product-row .stock-pill{display:none}.compact-business-metrics{grid-template-columns:repeat(2,1fr)}.employee-row{grid-template-columns:34px 1fr 62px}.employee-hours{display:none}.pos-reference-layout{gap:8px}.product-card-grid{grid-template-columns:repeat(3,1fr);max-height:none}.pos-product-card{min-height:125px}.pos-cart-column{position:relative}.billing-row{grid-template-columns:34px 1fr 90px}.billing-row>div:nth-child(3){display:none}.inventory-summary-strip{grid-template-columns:1fr 1fr}.stock-list-row{grid-template-columns:40px 1fr 76px 70px}.stock-list-row>div:nth-child(4){display:none}.supplier-order-row{grid-template-columns:75px 1fr 66px}.supplier-order-row>div:nth-child(3){display:none}.expiry-row{grid-template-columns:36px 1fr 80px}.expiry-row .status-dot{display:none}.customer-detail-row{grid-template-columns:38px 1fr 90px}.customer-detail-row>div:not(.customer-avatar):not(.cust-name):not(.customer-actions){display:none}.customer-actions{justify-self:end}.catalog-toolbar{flex-direction:column;align-items:stretch}.inline-search input{width:100%}.catalog-product-row{grid-template-columns:40px 1fr 62px 60px}.catalog-product-row>div:not(:nth-child(1)):not(:nth-child(2)):not(.row-actions),.catalog-product-row>.stock-pill{display:none}.segment-chart,.line-like-chart{gap:8px;padding-left:2px;padding-right:2px}.panel{padding:11px}}


/* v4.1 transaction payment methods + saved receipt drawer */
.billing-row{
  grid-template-columns:48px minmax(180px,1.4fr) minmax(70px,.55fr) minmax(90px,.7fr) minmax(105px,.8fr) auto!important;
  align-items:center;
}
.billing-payment{color:var(--purple)}
.receipt-open-btn{
  border:1px solid #d9cadd;background:#f8f1f9;color:var(--purple);
  border-radius:9px;padding:7px 10px;font-weight:850;font-size:10px;cursor:pointer
}
.receipt-open-btn:hover{background:var(--purple);color:#fff;border-color:var(--purple)}

.receipt-drawer{
  position:fixed;inset:0;z-index:1600;display:grid;grid-template-columns:1fr minmax(340px,520px)
}
.receipt-drawer.hidden{display:none}
.receipt-drawer-backdrop{background:rgba(28,17,31,.42);backdrop-filter:blur(2px)}
.receipt-drawer-card{
  background:#f8f6f9;box-shadow:-18px 0 55px rgba(35,20,39,.2);
  display:grid;grid-template-rows:auto 1fr auto;min-height:100vh
}
.receipt-drawer-head{display:flex;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--line);background:#fff}
.receipt-drawer-head h3{margin:6px 0 3px;font-size:18px}
.receipt-drawer-head p{margin:0;color:var(--muted);font-size:10px}
.receipt-saved-pill{display:inline-block;background:#eef9f4;color:#176b48;border:1px solid #cee9dd;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}
.receipt-frame-wrap{padding:14px;overflow:hidden}
#receiptFrame{width:100%;height:100%;min-height:600px;border:1px solid #ded4e1;border-radius:14px;background:#fff}
.receipt-drawer-actions{display:flex;gap:9px;justify-content:flex-end;padding:13px 16px;border-top:1px solid var(--line);background:#fff}
body.receipt-preview-open{overflow:hidden}

.transaction-report{padding:0;overflow:hidden}
.report-filters{
  display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(180px,1.3fr) auto;
  gap:10px;padding:16px;border-bottom:1px solid var(--line);align-items:end
}
.report-filters .field{margin:0}
.transaction-table td{vertical-align:top}
.payment-method-badge{
  display:inline-block;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;
  background:#f0ebf2;color:#5f5162
}
.method-cash{background:#eef9f4;color:#176b48}
.method-card{background:#eef4ff;color:#315b9e}
.method-instapay{background:#fff3ea;color:#a04a16}
.method-wallet{background:#f4effb;color:#633a98}
.method-mixed{background:#f5edf7;color:#742b7d}
.payment-breakdown{display:grid;gap:3px;margin-top:5px}
.payment-breakdown span{font-size:9px;color:var(--muted);white-space:nowrap}

@media(max-width:1000px){
  .billing-row{grid-template-columns:42px 1fr auto!important}
  .billing-row>div:nth-child(3),
  .billing-row>div:nth-child(4){display:none}
  .billing-row>div:nth-child(5){grid-column:2}
  .billing-row>.receipt-open-btn{grid-column:3;grid-row:1/3}
  .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-filters .action-field{grid-column:1/-1}
}
@media(max-width:700px){
  .receipt-drawer{grid-template-columns:1fr}
  .receipt-drawer-backdrop{display:none}
  .receipt-drawer-card{min-height:100dvh}
  #receiptFrame{min-height:65dvh}
}


/* ==================================================================
   BMART v4.2 PREMIUM RETAIL VISUAL SYSTEM
   Exact Bmart logo + stronger system-wide visual hierarchy
   ================================================================== */
:root{
  --purple:#67266f;--purple2:#81398b;--purple3:#9b56a3;
  --purple-soft:#f5edf7;--purple-pale:#fbf7fc;
  --orange:#ea3a06;--orange2:#ff6730;
  --ink:#192235;--ink2:#303b4e;--muted:#768398;--muted2:#9aa5b5;
  --bg:#eef4fb;--bg2:#f7f9fc;--card:#fff;
  --line:#e3eaf2;--line-strong:#d6e0eb;
  --green:#17845f;--green-soft:#eaf8f2;
  --red:#c33e39;--red-soft:#fff0ee;
  --amber:#a36a08;--amber-soft:#fff7e4;
  --blue:#3a7cc8;--blue-soft:#edf5ff;
  --shadow:0 10px 32px rgba(44,64,91,.07);
  --shadow-strong:0 18px 50px rgba(41,54,79,.12);
  --radius:18px;--radius-lg:24px;
}
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 80% -12%,rgba(103,38,111,.075),transparent 32%),
    radial-gradient(circle at 8% 12%,rgba(58,124,200,.06),transparent 27%),
    linear-gradient(180deg,#eef5fb 0%,#f7f9fc 55%,#eef4f9 100%);
  color:var(--ink);
  letter-spacing:-.005em
}
::selection{background:#eadbed;color:var(--purple)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#cfd8e5;border:2px solid transparent;background-clip:padding-box;border-radius:999px}

/* Exact uploaded logo. Source bytes are unchanged; CSS only crops white margins. */
.exact-logo{position:relative;overflow:hidden;display:block;background:#fff}
.exact-logo img{position:absolute;max-width:none;height:auto;display:block}
.exact-logo-sidebar{width:168px;height:58px}
.exact-logo-sidebar img{width:218px;left:-23px;top:-60px}
.exact-logo-login{width:272px;height:93px;background:transparent}
.exact-logo-login img{width:352px;left:-37px;top:-97px}
.exact-logo-mobile-login{display:none;width:220px;height:76px;margin:0 auto 12px}
.exact-logo-mobile-login img{width:285px;left:-30px;top:-79px}

/* Shell */
.app-shell{grid-template-columns:252px minmax(0,1fr);gap:0}
.app-sidebar{
  background:rgba(255,255,255,.98);
  border-right:1px solid #dfe7f0;
  box-shadow:10px 0 35px rgba(54,73,99,.04)
}
.app-main{min-width:0}
.page-content{max-width:1680px;padding:0 22px 28px;margin:0 auto}
.app-footer{
  max-width:1680px;margin:6px auto 0;padding:16px 22px 24px;
  display:flex;justify-content:space-between;color:#9aa5b5;font-size:10px;font-weight:700
}

/* Sidebar */
.sidebar-brand{
  min-height:82px;padding:12px 15px 8px;
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,#fff,#fcfbfd)
}
.sidebar-close{display:none}
.store-switcher{
  margin:8px 12px 10px;padding:10px;
  display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;
  border:1px solid #e2e9f1;border-radius:14px;
  background:linear-gradient(145deg,#f8fbfe,#f5f1f8)
}
.store-switch-icon{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(145deg,var(--purple),#8e4697);
  box-shadow:0 8px 18px rgba(103,38,111,.18)
}
.store-switch-copy{min-width:0}
.store-switch-copy small{display:block;font-size:7px;letter-spacing:.12em;color:#9aa5b3;font-weight:900}
.store-switch-copy b{display:block;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-switch-copy span{display:block;font-size:8px;color:var(--muted);margin-top:2px}
.store-chevron{color:#8591a1}
.sidebar-nav{padding:5px 10px 14px}
.nav-section-title{padding:12px 12px 5px;font-size:8px;font-weight:950;letter-spacing:.14em;color:#a4aebb}
.nav-group{margin:0 0 4px}
.nav-item{
  position:relative;display:flex;align-items:center;gap:9px;min-height:42px;
  padding:7px 9px;margin:3px 0;border:1px solid transparent;border-radius:12px;
  color:#566276;text-decoration:none;transition:.16s ease
}
.nav-item b{font-size:11px;font-weight:780}
.nav-item:hover{color:var(--purple);background:#f8f3f9;border-color:#eee2f0;transform:translateX(2px)}
.nav-item.active{
  color:#fff;background:linear-gradient(135deg,#67266f,#82398d);
  border-color:#67266f;box-shadow:0 10px 22px rgba(103,38,111,.18)
}
.nav-item.active:before{
  content:"";position:absolute;left:-10px;top:12px;bottom:12px;width:3px;
  background:var(--orange);border-radius:0 4px 4px 0
}
.nav-icon{
  width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;
  border-radius:9px;background:#f0f4f8;color:#526378;font-size:13px;font-weight:900
}
.nav-item.active .nav-icon{background:#ffffff20;color:#fff}
.nav-hotkey{margin-left:auto;font-size:7px;padding:3px 5px;border-radius:5px;background:#ffffff18;color:#fff;font-weight:900}
.nav-more{margin:9px 2px 0;padding-top:8px;border-top:1px solid #edf1f6}
.nav-more summary{padding:9px 10px;border-radius:10px;color:#697589;font-size:10px;font-weight:800;cursor:pointer}
.nav-more summary:hover{background:#f6f8fb;color:var(--purple)}
.nav-more summary i{font-style:normal;color:var(--purple)}
.nav-more-body{margin:4px 0 0 12px;padding-left:11px;border-left:1px dashed #dbe4ee}
.nav-more-body a{display:block;padding:7px 9px;border-radius:8px;color:#758195;font-size:9px;text-decoration:none}
.nav-more-body a:hover{background:#f7f2f8;color:var(--purple)}
.sidebar-bottom-links{margin-top:auto;padding:10px 12px 14px;border-top:1px solid #eef2f6;background:#fbfcfe}
.sidebar-user-mini{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:6px 6px 10px}
.sidebar-user-mini b,.sidebar-user-mini span{display:block}
.sidebar-user-mini b{font-size:9px}.sidebar-user-mini span{font-size:8px;color:var(--muted)}
.sidebar-bottom-links>a,.sidebar-bottom-links button{
  width:100%;display:flex;gap:7px;align-items:center;border:0;background:transparent;
  padding:8px 9px;border-radius:9px;color:#687487;font-size:9px;font-weight:750;text-decoration:none
}
.sidebar-bottom-links>a:hover,.sidebar-bottom-links button:hover{background:#f5f1f7;color:var(--purple)}

/* Top command bar */
.premium-topbar{
  height:72px;padding:10px 22px;grid-template-columns:minmax(300px,1fr) auto auto;gap:12px;
  background:rgba(247,250,253,.88);border-bottom:1px solid rgba(218,228,239,.92);
  box-shadow:0 8px 30px rgba(41,58,82,.04);backdrop-filter:blur(18px) saturate(1.2)
}
.global-search{
  max-width:620px;height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;
  border:1px solid #dce5ef;border-radius:14px;background:#fff;
  box-shadow:0 5px 18px rgba(49,69,95,.05)
}
.global-search:focus-within{border-color:#c5a7cb;box-shadow:0 0 0 4px rgba(103,38,111,.07),0 8px 22px rgba(49,69,95,.06)}
.global-search input{border:0!important;box-shadow:none!important;background:transparent;min-height:0!important;padding:0!important;font-size:11px;flex:1}
.global-search kbd{margin-left:auto;border:1px solid #e0e7ef;background:#f7f9fc;color:#8b96a6;border-radius:6px;padding:4px 6px;font-size:7px;font-weight:800}
.topbar-quick-actions{display:flex;align-items:center;gap:8px}
.command-btn{
  height:46px;padding:0 13px;display:flex;align-items:center;gap:7px;
  border-radius:13px;border:1px solid #dce5ee;background:#fff;color:#48566b;
  font-size:9px;font-weight:800;text-decoration:none;box-shadow:0 5px 15px rgba(54,73,97,.04)
}
.command-btn span{font-size:14px}.command-btn:hover{background:#fafcff;border-color:#cbd6e2}
.command-btn.command-primary{background:linear-gradient(135deg,#6e2976,#8d4596);border-color:#6e2976;color:#fff;box-shadow:0 9px 20px rgba(103,38,111,.2)}
.notification-btn{position:relative;width:46px;height:46px;border-radius:13px;border:1px solid #dde5ee;background:#fff;color:#536177}
.notification-btn i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--orange);border:2px solid #fff;right:9px;top:9px}
.user-chip{min-width:176px;height:48px;display:grid;grid-template-columns:34px 1fr auto;gap:7px;align-items:center;border:1px solid #dde5ee;background:#fff;border-radius:14px;padding:5px 8px}
.user-chip b,.user-chip span{display:block}.user-chip b{font-size:9px}.user-chip span{font-size:7px;color:var(--muted)}
.avatar.small{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#67266f,#914d9a);font-weight:900}

/* Context & headings */
.workspace-bar{max-width:1680px;margin:0 auto;padding:10px 22px 0;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#95a0b0}
.workspace-context,.workspace-status{display:flex;align-items:center;gap:7px}
.workspace-dot,.workspace-status span{width:6px;height:6px;border-radius:50%}.workspace-dot{background:var(--purple)}
.workspace-status span{background:#2cb47e;box-shadow:0 0 0 4px rgba(44,180,126,.1)}
.workspace-sep{color:#c0c8d2}
.page-heading-row{max-width:1680px;margin:0 auto;padding:18px 22px 14px;display:flex;justify-content:space-between;gap:14px;align-items:flex-end}
.page-eyebrow{display:block;margin-bottom:5px;color:#9b73a2;font-size:8px;font-weight:950;letter-spacing:.13em}
.page-title-wrap h1{margin:0;font-size:28px;line-height:1.07;letter-spacing:-.035em;color:#1c2536}
.page-title-wrap p{margin:6px 0 0;color:#7d899a;font-size:11px;line-height:1.45}
.page-heading-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Global cards */
.card,.panel{
  background:linear-gradient(180deg,#fff,#fefefe);
  border:1px solid #e2eaf2;border-radius:18px;box-shadow:var(--shadow)
}
.card:hover,.panel:hover{border-color:#d7e1eb}
.panel{padding:15px}
.panel-head,.card-head{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eef2f6}
.panel-head h2,.card-head h2{font-size:14px;letter-spacing:-.015em;color:#243044}
.panel-head p,.card-head p{font-size:9px;color:#8b96a5}
.btn,.primary,.secondary{
  min-height:36px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid #dbe4ed;border-radius:10px;background:#fff;color:#4f5d70;
  font-size:9px;font-weight:850;text-decoration:none;box-shadow:0 3px 10px rgba(42,59,83,.035)
}
.btn:hover,.secondary:hover{background:#f7f9fc;border-color:#cfd9e5;transform:translateY(-1px)}
.btn-primary,.primary{color:#fff;background:linear-gradient(135deg,#67266f,#873d91);border-color:#67266f;box-shadow:0 9px 18px rgba(103,38,111,.18)}
.icon-btn{border:1px solid #dce4ed;background:#fff;color:#5f6c7e;border-radius:10px}
.icon-btn:hover{background:#f6f8fb;color:var(--purple);border-color:#d3c0d7}

/* Forms */
.field label,.form-grid .field label{color:#617086;font-size:9px;font-weight:850}
.field small{font-size:8px;color:#98a3b2}
input,select,textarea,.form-grid input,.form-grid select,.form-grid textarea{
  min-height:42px;border:1px solid #dce5ee;border-radius:11px;background:#fff;color:#253045;
  padding:9px 11px;font-size:10px;transition:.15s ease
}
input:focus,select:focus,textarea:focus{outline:none;border-color:#b991c0!important;box-shadow:0 0 0 4px rgba(103,38,111,.07)!important}
input[readonly]{background:#f5f7fa;color:#7c8797}

/* Tables */
.table-wrap{border:1px solid #e4ebf2;border-radius:13px;overflow:auto;background:#fff}
.data-table thead th,.table-wrap table thead th{
  background:#f6f9fc;color:#768397;font-size:8px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;
  padding:10px 11px;border-bottom:1px solid #e4ebf2;white-space:nowrap
}
.data-table tbody td,.table-wrap table tbody td{padding:11px;border-bottom:1px solid #edf1f5;font-size:9px;color:#48566a}
.data-table tbody tr:hover,.table-wrap table tbody tr:hover{background:#fafcff}
.main-cell b{color:#263247;font-size:10px}.main-cell span{color:#8b96a5;font-size:8px}
.money{font-weight:850;color:#263247}

/* Dashboard */
.reference-kpis{gap:12px}
.ref-kpi{
  min-height:124px;padding:16px;border:1px solid #e2eaf2!important;border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fbfdff)!important;box-shadow:var(--shadow)!important
}
.ref-kpi.featured{
  color:#fff!important;border-color:#7c3486!important;
  background:radial-gradient(circle at 100% 0,rgba(255,255,255,.16),transparent 35%),linear-gradient(135deg,#67266f,#864090)!important;
  box-shadow:0 18px 38px rgba(103,38,111,.2)!important
}
.ref-kpi strong{font-size:22px;letter-spacing:-.03em;margin-top:10px}
.kpi-icon{width:36px;height:36px;border-radius:11px;background:#edf3f9;color:#536a84}
.featured .kpi-icon{background:#ffffff20;color:#fff}
.dashboard-reference-grid{gap:13px}
.ref-bar-stack{border-radius:9px;background:#edf4fa}.ref-bar-stack i{background:linear-gradient(180deg,#a45dad,#67266f)}
.top-product-row,.employee-row{border:1px solid #e4ebf2!important;border-radius:13px!important;background:#fff}
.top-product-row.selected{background:linear-gradient(135deg,#f6eef8,#fff)!important;border-color:#d9c4de!important}

/* POS */
.pos-reference-layout{gap:13px}
.category-chip{
  border:1px solid #dfe7ef!important;background:#fff!important;color:#647287!important;
  border-radius:999px!important;padding:7px 10px!important;font-size:8px!important;font-weight:800!important
}
.category-chip.active{background:linear-gradient(135deg,#67266f,#84408e)!important;color:#fff!important;border-color:#67266f!important;box-shadow:0 7px 16px rgba(103,38,111,.16)}
.product-card-grid{gap:8px}
.pos-product-card{
  border:1px solid #e3eaf2!important;border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 5px 16px rgba(49,71,98,.04)!important;transition:.16s ease!important
}
.pos-product-card:not(:disabled):hover{border-color:#ccb3d1!important;box-shadow:0 12px 26px rgba(103,38,111,.1)!important;transform:translateY(-2px)}
.pos-cart-column{border:1px solid #dfe7ef!important;box-shadow:0 14px 36px rgba(47,67,93,.08)!important}
.cart-line{border:1px solid #e6edf4!important;border-radius:12px!important;background:#fff!important}
.checkout-total{background:linear-gradient(135deg,#f3edf5,#f9fbfd)!important;border:1px solid #e2d6e5!important;border-radius:13px!important}
.complete-sale-btn{min-height:48px!important;border-radius:13px!important;background:linear-gradient(135deg,#67266f,#8a4193)!important;box-shadow:0 12px 24px rgba(103,38,111,.2)!important}
.billing-row{border:1px solid #e3eaf2!important;border-radius:13px!important;background:#fff!important;margin-bottom:7px!important}
.billing-row.selected{background:linear-gradient(135deg,#f2e8f5,#fff)!important;border-color:#d8c1de!important}

/* Product catalog */
.catalog-product-row{
  border:1px solid #e3eaf2!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 4px 14px rgba(47,67,93,.035);transition:.15s ease
}
.catalog-product-row:hover{border-color:#d6c4da!important;box-shadow:0 10px 24px rgba(103,38,111,.07)}
.catalog-status-tabs a{box-shadow:0 3px 10px rgba(47,67,93,.03)}

/* Inventory / purchasing / operations generic legacy classes */
.kpi,.stat,.metric,.summary-card,.inventory-card,.account-card,.settings-card,.module-card{
  border-radius:16px!important;border-color:#e3eaf2!important;box-shadow:var(--shadow)!important
}
.workflow-grid,.inventory-grid,.accounting-grid,.report-grid,.settings-grid,.module-grid{gap:13px!important}
.status.green,.stock-pill.good{background:#eaf8f2!important;color:#177455!important}
.status.red,.stock-pill.bad{background:#fff0ee!important;color:#ad3d38!important}
.stock-pill.low{background:#fff7e5!important;color:#986307!important}
.payment-method-badge{box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}

/* Receipt drawer */
.receipt-drawer-card{background:#f5f8fc!important}
.receipt-drawer-head,.receipt-drawer-actions{background:#fff!important}
#receiptFrame{box-shadow:0 12px 30px rgba(40,55,78,.08)}

/* Login */
.premium-login-bg{
  min-height:100vh;padding:24px;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 15% 15%,rgba(234,58,6,.12),transparent 28%),
    radial-gradient(circle at 82% 22%,rgba(103,38,111,.18),transparent 32%),
    linear-gradient(135deg,#eef4fb,#f7f2f8)
}
.login-scene{
  width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:1.15fr .85fr;
  background:#fff;border:1px solid #dde6ef;border-radius:28px;overflow:hidden;
  box-shadow:0 28px 80px rgba(38,48,69,.16)
}
.login-brand-panel{
  position:relative;padding:42px;display:flex;flex-direction:column;justify-content:space-between;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.16),transparent 30%),
    linear-gradient(145deg,#fdfbfe 0%,#f3ebf5 48%,#e8f1fa 100%);
  border-right:1px solid #e2e8f0
}
.login-brand-copy{max-width:500px}
.login-kicker{font-size:9px;font-weight:950;letter-spacing:.13em;color:#9a6ea0}
.login-brand-copy h2{font-size:38px;line-height:1.03;letter-spacing:-.045em;margin:10px 0 12px;color:#20293a}
.login-brand-copy p{max-width:430px;font-size:12px;line-height:1.7;color:#728095}
.login-feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.login-feature-strip div{padding:12px;border:1px solid #dde6ef;border-radius:13px;background:#ffffffa6}
.login-feature-strip b,.login-feature-strip span{display:block}.login-feature-strip b{font-size:11px;color:var(--purple)}.login-feature-strip span{font-size:8px;color:#8490a0;margin-top:3px}
.premium-login-card{align-self:center;margin:38px;padding:32px!important;border:0!important;box-shadow:none!important}
.login-lang{display:flex;justify-content:flex-end;gap:5px;margin-bottom:28px}
.login-lang a{padding:5px 8px;border-radius:7px;color:#8994a3;font-size:8px;text-decoration:none;font-weight:800}
.login-lang a.active{background:#f3ebf5;color:var(--purple)}
.premium-login-card h1{font-size:30px;letter-spacing:-.035em;margin:6px 0}
.login-sub{color:#8590a1;font-size:11px;margin-bottom:22px}
.premium-login-card form{display:grid;gap:8px}
.premium-login-card label{font-size:9px;font-weight:850;color:#637085}
.login-input-wrap{height:46px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #dce5ee;border-radius:12px;background:#fff}
.login-input-wrap:focus-within{border-color:#b991c0;box-shadow:0 0 0 4px rgba(103,38,111,.07)}
.login-input-wrap input{border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;background:transparent;flex:1}
.login-submit{margin-top:10px;min-height:46px;border-radius:12px}
.login-security-note{margin-top:16px;text-align:center;color:#97a2b1;font-size:8px}
.login-security-note span{color:var(--green)}
.exact-logo-mobile-login{display:none}

/* Toast */
.toast{max-width:calc(100% - 44px);margin:0 auto 12px;border-radius:13px;padding:10px 13px;display:flex;gap:9px;box-shadow:0 10px 28px rgba(45,62,87,.08);transition:.3s}
.toast.success{background:#effaf5;border:1px solid #d0ebdf;color:#176c4c}
.toast.danger{background:#fff1f0;border:1px solid #f0d1ce;color:#9b3732}
.toast-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#ffffffb8;font-weight:950}
.toast-hide{opacity:0;transform:translateY(-8px)}

/* Responsive */
@media(max-width:1180px){
  .premium-topbar{grid-template-columns:minmax(240px,1fr) auto}
  .user-chip{display:none}
  .page-title-wrap h1{font-size:25px}
}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr}
  .app-sidebar{
    position:fixed!important;inset:0 auto 0 0;width:min(86vw,292px);z-index:1200;
    transform:translateX(-105%);transition:.22s ease
  }
  .app-sidebar.open{transform:translateX(0)}
  .sidebar-close{display:grid}
  .sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(27,20,29,.46);z-index:1190}
  .premium-topbar{height:auto;min-height:72px;padding:10px 12px;grid-template-columns:46px 1fr auto}
  .mobile-menu{display:grid!important}
  .global-search{height:46px}
  .global-search kbd,.topbar-quick-actions .command-btn b,.notification-btn{display:none}
  .topbar-quick-actions .command-btn{width:46px;padding:0;justify-content:center}
  .workspace-bar{padding:8px 14px 0}
  .workspace-status{display:none}
  .page-heading-row{padding:15px 14px 12px;align-items:flex-start;flex-direction:column}
  .page-content{padding:0 12px 24px}
  .page-heading-actions{width:100%}
  .login-scene{grid-template-columns:1fr;min-height:auto}
  .login-brand-panel{display:none}
  .premium-login-card{margin:0;padding:28px 22px!important}
  .exact-logo-mobile-login{display:block}
  .app-footer{padding:14px}
}
@media(max-width:560px){
  .global-search{border-radius:12px}
  .global-search input{font-size:10px}
  .page-title-wrap h1{font-size:23px}
  .page-heading-actions .btn{flex:1}
  .premium-login-bg{padding:0}
  .login-scene{border-radius:0;min-height:100vh}
  .premium-login-card{align-self:start;margin-top:30px}
  .exact-logo-mobile-login{width:190px;height:65px}
  .exact-logo-mobile-login img{width:246px;left:-26px;top:-68px}
}


/* ==============================================================
   v4.3 — Phone camera barcode scanning
   ============================================================== */
.camera-scan-inline{
  background:linear-gradient(135deg,#67266f,#843d8e)!important;
  color:#fff!important;
  border-color:#67266f!important;
  box-shadow:0 8px 18px rgba(103,38,111,.18)!important;
}
.pos-scan-buttons{display:flex;gap:6px;align-items:center}
.camera-pos-search{gap:9px}
.camera-pos-search>input{min-width:0;flex:1}

.camera-scanner{
  position:fixed;inset:0;z-index:3000;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,520px)
}
.camera-scanner.hidden{display:none!important}
.camera-scanner-backdrop{
  background:rgba(17,13,19,.72);
  backdrop-filter:blur(5px)
}
.camera-scanner-sheet{
  min-height:100dvh;background:#101215;color:#fff;
  display:grid;grid-template-rows:auto minmax(320px,1fr) auto auto auto;
  box-shadow:-20px 0 70px rgba(0,0,0,.32)
}
.camera-scanner-head{
  display:flex;justify-content:space-between;gap:14px;
  padding:18px 18px 14px;background:#17131a;border-bottom:1px solid rgba(255,255,255,.08)
}
.camera-scanner-kicker{
  display:block;color:#c894cf;font-size:8px;font-weight:950;letter-spacing:.14em
}
.camera-scanner-head h3{margin:5px 0 3px;color:#fff;font-size:20px}
.camera-scanner-head p{margin:0;color:#aeb3ba;font-size:10px;line-height:1.45}
.camera-close-btn{
  width:40px;height:40px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);color:#fff;border-radius:12px;font-size:22px
}
.camera-stage{
  position:relative;overflow:hidden;background:#050606;min-height:360px
}
.camera-stage video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#050606
}
.camera-stage:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(#0008,#0000 22%,#0000 78%,#0008),
    linear-gradient(90deg,#0006,#0000 22%,#0000 78%,#0006)
}
.camera-reticle{
  position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(78%,360px);height:145px;border-radius:18px
}
.camera-reticle .corner{
  position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid
}
.camera-reticle .c1{left:0;top:0;border-width:3px 0 0 3px;border-radius:12px 0 0 0}
.camera-reticle .c2{right:0;top:0;border-width:3px 3px 0 0;border-radius:0 12px 0 0}
.camera-reticle .c3{left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 12px}
.camera-reticle .c4{right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 12px 0}
.camera-reticle .scan-line{
  position:absolute;left:5%;right:5%;top:50%;height:2px;border-radius:999px;
  background:linear-gradient(90deg,transparent,#ff5a22 15%,#fff 50%,#ff5a22 85%,transparent);
  box-shadow:0 0 16px #ff5a22;
  animation:bmart-camera-line 1.8s ease-in-out infinite
}
@keyframes bmart-camera-line{
  0%,100%{transform:translateY(-45px);opacity:.75}
  50%{transform:translateY(45px);opacity:1}
}
.camera-stage-message{
  position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);
  max-width:86%;padding:8px 11px;border-radius:999px;
  background:rgba(8,8,9,.75);border:1px solid rgba(255,255,255,.12);
  color:#fff;text-align:center;font-size:9px;font-weight:800
}
.camera-stage-message.success{background:rgba(18,110,77,.88)}
.camera-stage-message.error{background:rgba(160,48,44,.9)}
.camera-result-row{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:12px 16px;background:#17131a;border-top:1px solid rgba(255,255,255,.07)
}
.camera-result-row span{display:block;color:#8f959e;font-size:7px;font-weight:900;letter-spacing:.1em}
.camera-result-row b{display:block;color:#fff;margin-top:3px;font-size:12px;word-break:break-all}
.camera-live-pill{
  flex:0 0 auto;padding:6px 9px;border-radius:999px!important;
  background:#202429;color:#cbd1d8!important;border:1px solid #30363d;
  font-size:8px!important;font-weight:900!important
}
.camera-live-pill.live{background:#15362c;color:#72deb4!important;border-color:#245843}
.camera-live-pill.reading{background:#322c16;color:#f4d879!important;border-color:#514722}
.camera-live-pill.success{background:#15362c;color:#72deb4!important;border-color:#245843}
.camera-live-pill.error{background:#3c1d1d;color:#ff9b96!important;border-color:#61302d}
.camera-scanner-actions{
  display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;
  background:#17131a;border-top:1px solid rgba(255,255,255,.07)
}
.camera-scanner-actions .btn{
  background:#242127;color:#fff;border-color:#39343c
}
.camera-scanner-actions .camera-torch-btn{
  margin-right:auto;background:#2f2431;color:#fff;border-color:#56375a
}
.camera-fallback{
  margin:0 16px 16px;padding:12px;border-radius:12px;background:#421f1f;color:#fff;
  border:1px solid #683231
}
.camera-fallback b,.camera-fallback span{display:block}
.camera-fallback span{margin-top:4px;color:#e8bebe;font-size:9px;line-height:1.5}
body.camera-scanner-open{overflow:hidden}

/* Collector / picker */
.collector-scan-card{grid-template-columns:48px minmax(0,1fr)}
.collector-scan-actions{
  grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:4px
}
.collector-scan-actions .scan-primary{grid-column:auto!important;min-height:50px}
.camera-open-btn{min-width:150px;min-height:50px;font-size:10px}
.camera-button-icon{font-size:16px}
.scan-method-hints{
  grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:2px
}
.scan-method-hints span{
  padding:5px 8px;border-radius:999px;background:#f5f7fa;color:#778497;font-size:8px
}
.pick-line-card.done{
  border-color:#cde8dc!important;background:linear-gradient(135deg,#f0faf5,#fff)!important
}
.pick-line-card.done .pick-line-icon{
  color:#fff;background:#17845f!important
}

@media(max-width:900px){
  .camera-scanner{grid-template-columns:1fr}
  .camera-scanner-backdrop{display:none}
  .camera-scanner-sheet{min-height:100dvh}
  .camera-stage{min-height:55dvh}
  .pos-scan-buttons .scan-inline{padding:8px 10px}
}
@media(max-width:620px){
  .camera-pos-search{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr)!important
  }
  .camera-pos-search .pos-scan-buttons{
    grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%
  }
  .camera-pos-search .scan-inline{
    min-height:44px;justify-content:center
  }
  .collector-scan-actions{grid-template-columns:1fr}
  .camera-open-btn{width:100%}
  .scan-method-hints{display:grid;grid-template-columns:1fr}
  .camera-stage{min-height:58dvh}
  .camera-scanner-head{padding-top:max(14px,env(safe-area-inset-top))}
}


/* ==============================================================
   v4.3.1 CAMERA HOTFIX
   ============================================================== */
.camera-scanner{
  z-index:2147483000!important;
  isolation:isolate;
}
.camera-scanner-sheet{
  position:relative;
  z-index:2;
}
.camera-scanner-backdrop{
  position:relative;
  z-index:1;
}

/* POS phone layout: v4.3 inherited height:52px from the old search bar.
   That made the Scanner/Camera row overflow underneath Products. */
@media(max-width:620px){
  .pos-search-bar.camera-pos-search{
    height:auto!important;
    min-height:0!important;
    padding:10px!important;
    row-gap:9px!important;
    overflow:visible!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
  }

  .camera-pos-search>span{
    grid-column:1;
    grid-row:1;
  }

  .camera-pos-search>input{
    grid-column:2;
    grid-row:1;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
  }

  .camera-pos-search .pos-scan-buttons{
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    position:static!important;
    transform:none!important;
  }

  .camera-pos-search .scan-inline{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    position:static!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
  }

  .camera-stage{
    min-height:58dvh!important;
  }
}

@media(max-width:390px){
  .camera-scanner-head h3{font-size:18px}
  .camera-scanner-head p{font-size:9px}
  .camera-result-row{padding:10px 12px}
}


/* v4.3.2 stable camera + automatic cart add */
.stable-reticle{
  width:min(84%,390px)!important;
  height:132px!important;
}
.camera-autoadd-badge{
  position:absolute;z-index:5;top:14px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:6px;
  padding:6px 9px;border-radius:999px;
  background:rgba(18,39,31,.82);border:1px solid rgba(103,222,170,.34);
  color:#9ff0cd;font-size:8px;font-weight:900;
  backdrop-filter:blur(5px)
}
.autoadd-dot{
  width:7px;height:7px;border-radius:50%;background:#3ed39b;
  box-shadow:0 0 0 4px rgba(62,211,155,.13)
}
.camera-result-copy{min-width:0}
.camera-result-copy small{
  display:block;margin-top:3px;color:#8fe2bf;font-size:9px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.camera-added-product{
  border-color:#c9e8da!important;
  background:linear-gradient(135deg,#eefaf4,#fff)!important
}
.camera-stage-message.success{
  box-shadow:0 8px 22px rgba(18,110,77,.25)
}
@media(max-width:620px){
  .stable-reticle{height:116px!important}
  .camera-autoadd-badge{top:10px}
}


/* v4.3.3 — camera success confirmation + anti-double-scan */
.camera-success-overlay{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(72%,270px);
  min-height:180px;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:24px;
  background:rgba(10,92,61,.94);
  border:1px solid rgba(148,246,203,.5);
  box-shadow:0 26px 70px rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
  color:#fff;
  pointer-events:none;
}
.camera-success-overlay.hidden{display:none!important}
.camera-success-overlay.flash{
  animation:bmart-camera-success .26s ease-out both;
}
@keyframes bmart-camera-success{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}
  70%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
.camera-success-icon{
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  border-radius:50%;
  background:#fff;
  color:#16835d;
  font-size:48px;
  line-height:1;
  font-weight:950;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.camera-success-overlay b{
  font-size:18px;
  line-height:1.15;
  color:#fff;
}
.camera-success-overlay span{
  display:block;
  max-width:100%;
  margin-top:7px;
  font-size:11px;
  line-height:1.35;
  color:#c9f6e4;
  white-space:normal;
}
.camera-live-pill.success{
  background:#154c38!important;
  color:#a8f0d1!important;
  border-color:#287459!important;
}


/* BMART v4.4 — Cashier-first desktop POS */
.pos-cashier-toolbar{
  display:flex;align-items:center;gap:12px;min-height:56px;margin-bottom:10px;padding:7px 9px;
  border:1px solid #e0e8f0;border-radius:14px;background:rgba(255,255,255,.97);
  box-shadow:0 7px 22px rgba(42,61,86,.055)
}
.cashier-toolbar-left{width:116px;flex:0 0 116px}
.cashier-toolbar-title{display:block;color:#253247;font-size:9px;font-weight:900}
.cashier-toolbar-status{display:block;margin-top:3px;color:#8a96a6;font-size:7px;font-weight:800}
.cashier-toolbar-status.ok,.cashier-toolbar-status.flash{color:#17845f}
.cashier-toolbar-status.bad{color:#c33e39}

.primary-shortcut-dock{
  flex:1;display:grid;grid-template-columns:repeat(7,minmax(68px,1fr)) minmax(120px,1.4fr);
  gap:6px;margin:0!important;overflow:visible!important
}
.primary-shortcut-dock button{
  min-height:41px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;
  align-items:center;justify-content:center;column-gap:5px;padding:5px 7px!important;
  border:1px solid #e2e9f1!important;border-radius:10px!important;background:#f9fbfd!important;
  box-shadow:none!important;color:#4c5c70!important;font-size:8px!important;font-weight:850;white-space:nowrap
}
.primary-shortcut-dock button kbd{
  grid-row:1/3;min-width:27px;padding:4px 5px!important;border-radius:6px!important;
  background:#edf2f7!important;color:#4d5c6d!important;font-size:7px!important;font-weight:950;text-align:center
}
.primary-shortcut-dock button small{font-size:6px;color:#98a3b1}
.primary-shortcut-dock button.accent{color:#fff!important;border-color:#67266f!important;background:linear-gradient(135deg,#67266f,#863d90)!important}
.primary-shortcut-dock button.accent kbd{background:#ffffff22!important;color:#fff!important}
.primary-shortcut-dock button.accent small{color:#ead9ed}

@media(min-width:1001px){
  .app-main:has(.pos-reference-layout) .workspace-bar{padding-top:6px}
  .app-main:has(.pos-reference-layout) .page-heading-row{padding-top:9px;padding-bottom:8px}
  .app-main:has(.pos-reference-layout) .page-title-wrap h1{font-size:24px}
  .app-main:has(.pos-reference-layout) .page-title-wrap p{margin-top:2px}

  .pos-reference-layout{
    height:clamp(500px,calc(100dvh - 286px),700px);min-height:500px;
    overflow:hidden;align-items:stretch
  }
  .pos-products-column{
    display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;
    gap:9px!important;min-height:0;height:100%;overflow:hidden
  }
  .pos-product-panel{
    min-height:0!important;height:100%;display:flex;flex-direction:column;overflow:hidden
  }
  .pos-product-panel .panel-head{flex:0 0 auto;margin-bottom:8px}
  .pos-product-panel .category-tabs{flex:0 0 auto}
  .pos-product-panel .product-card-grid{
    flex:1;min-height:0;max-height:none!important;overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px
  }
  .pos-cart-column{height:100%;min-height:0!important;overflow:hidden;position:relative}
  .reference-cart{flex:1;min-height:0;max-height:none!important;overflow-y:auto;overscroll-behavior:contain}
  .empty-cart-visual{flex:1;min-height:72px;padding:12px 8px!important}
  .cart-summary{flex:0 0 auto;margin-top:7px!important;padding:8px 10px!important}
  .checkout-reference{flex:0 0 auto;padding-top:6px!important}
  .checkout-reference select,.checkout-reference input{min-height:35px!important;padding:7px 8px!important}
  .purchase-btn{min-height:46px!important;height:46px!important;margin-top:7px!important;display:flex!important;justify-content:space-between!important;align-items:center!important}
}

.purchase-hotkeys{display:flex!important;gap:5px;align-items:center;margin-left:auto}
.purchase-hotkeys b,.purchase-hotkeys small{display:block;padding:3px 5px;border-radius:5px;background:#ffffff20;color:#fff}
.purchase-hotkeys b{font-size:7px}.purchase-hotkeys small{font-size:6px}

.category-tabs.search-mode-hidden{opacity:.42;pointer-events:none}
.search-result-status{padding:5px 0;color:#59697d;font-size:9px}
.search-result-status b{color:#67266f}

.pos-secondary-section{margin-top:12px}
.pos-secondary-section .billing-history-panel{margin:0}
.billing-head-actions{display:flex;gap:7px;align-items:center}

.cashier-history-page{padding:0;overflow:hidden}
.history-summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px;border-bottom:1px solid var(--line);background:#fafcff}
.history-summary-bar>div{padding:10px;border:1px solid #e2eaf2;border-radius:11px;background:#fff}
.history-summary-bar span,.history-summary-bar b{display:block}
.history-summary-bar span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:850}
.history-summary-bar b{margin-top:3px;font-size:11px}
.history-filters{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) minmax(180px,1.4fr) auto;gap:9px;padding:14px;border-bottom:1px solid var(--line);align-items:end}
.history-filters .field{margin:0}
.history-table td{vertical-align:top}

.receipt-paper-control{margin-right:auto;display:flex;align-items:center;gap:7px}
.receipt-paper-control span{font-size:8px;color:var(--muted);font-weight:850}
.receipt-paper-control select{min-height:34px!important;padding:6px 8px!important;width:130px}

@media(max-width:1000px){
  .pos-cashier-toolbar{align-items:flex-start;flex-direction:column}
  .cashier-toolbar-left{width:auto;flex:0 0 auto}
  .primary-shortcut-dock{width:100%;display:flex;overflow-x:auto!important;padding-bottom:2px}
  .primary-shortcut-dock button{flex:0 0 auto;min-width:84px}
  .primary-shortcut-dock .complete-shortcut{min-width:140px}
  .pos-reference-layout{height:auto;overflow:visible}
  .history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .history-filters .action-field{grid-column:1/-1}
}
@media(max-width:620px){
  .history-summary-bar{grid-template-columns:1fr}
  .billing-head-actions{align-items:flex-end;flex-direction:column}
  .receipt-drawer-actions{flex-wrap:wrap}
  .receipt-paper-control{width:100%;margin-right:0;justify-content:space-between}
}

/* =====================================================================
   BMART v5.0 — POS production completion
   Transaction safety, payments, loyalty, offline queue and cashier tools
   ===================================================================== */
.network-badge{
  display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:4px 7px;
  border-radius:999px;font-size:7px;font-weight:900;vertical-align:middle
}
.network-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.network-badge.online{background:#eaf8f2;color:#17845f}
.network-badge.offline{background:#fff0ee;color:#bd413a}
.network-badge.syncing{background:#fff7e4;color:#976407}

.price-check-inline.active{
  background:linear-gradient(135deg,#ea3a06,#ff6a34)!important;color:#fff!important;
  border-color:#ea3a06!important;box-shadow:0 8px 18px rgba(234,58,6,.18)!important
}
.price-check-result{border-color:#f0c4b4!important;background:#fff8f4!important}
.price-check-card{border-color:#f0c4b4!important;background:#fff8f4!important}
.price-check-label{
  display:inline-block;margin-bottom:4px;padding:3px 6px;border-radius:999px;
  background:#ffe5db;color:#b83913;font-size:7px;font-weight:950;letter-spacing:.08em
}

.pos-customer-box,.payment-detail-box,.mixed-payment-box,.sale-note-row{
  margin-top:8px;padding:9px;border:1px solid #e5ebf2;border-radius:11px;background:#fafcff
}
.pos-customer-box>label,.payment-detail-box>label,.sale-note-row>label{
  display:block;margin-bottom:5px;color:#637086;font-size:8px;font-weight:900
}
.customer-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
.customer-info{margin-top:6px;font-size:8px;line-height:1.4}
.loyalty-wrap{display:grid;grid-template-columns:auto minmax(80px,120px) 1fr;align-items:center;gap:7px;margin-top:7px;padding-top:7px;border-top:1px dashed #dce4ec}
.loyalty-wrap label{font-size:8px;font-weight:850;color:#667489}
.loyalty-wrap input{min-height:34px!important}
.loyalty-wrap small{font-size:7px;color:#8a95a5}
.payment-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.payment-inline-grid label,.mixed-grid label{display:block;margin-bottom:3px;font-size:7px;font-weight:850;color:#718094}
.payment-inline-grid input,.mixed-grid input{min-height:34px!important;padding:6px 8px!important}
#cashChangeGiven{font-weight:950;color:#17845f;background:#effaf5!important}
.mixed-payment-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}
.mixed-payment-head b{font-size:9px}.mixed-payment-head span{font-size:8px;color:#a04a16;font-weight:850}
.mixed-payment-head span.balanced{color:#17845f}
.mixed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.sale-note-row input{width:100%}

.sale-save-state{
  margin-top:7px;min-height:34px;padding:7px 9px;border:1px solid #d9e4ee;border-radius:9px;
  display:flex;align-items:center;justify-content:center;gap:8px;background:#f7fafc;color:#556579;font-size:8px
}
.save-spinner{width:13px;height:13px;border-radius:50%;border:2px solid #d2dce7;border-top-color:#67266f;animation:bmart-save-spin .8s linear infinite}
@keyframes bmart-save-spin{to{transform:rotate(360deg)}}

.cart-line{position:relative}
.cart-line.selected{outline:2px solid rgba(103,38,111,.16);outline-offset:-1px}
.cart-product-copy{min-width:0}
.cart-product-copy small{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-line-tools{
  grid-column:1/-1;display:flex;gap:5px;justify-content:flex-end;padding-top:5px;border-top:1px dashed #edf1f5
}
.cart-line-tools button{
  min-height:25px;padding:4px 7px;border:1px solid #e1e8ef;border-radius:7px;background:#f8fafc;
  color:#667489;font-size:7px;font-weight:850;cursor:pointer
}
.cart-line-tools button:last-child{color:#b6403a;background:#fff5f4;border-color:#f0d4d1}

.blind-close-note{
  display:flex;flex-direction:column;gap:3px;margin-bottom:10px;padding:9px 10px;border:1px solid #dce7f0;
  border-radius:10px;background:#f6f9fc
}
.blind-close-note b{font-size:9px}.blind-close-note span{font-size:8px;color:#7d8999}
.denomination-grid{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:7px;margin-bottom:10px}
.denomination-grid label{font-size:7px;font-weight:900;color:#6a778a}
.denomination-grid input{display:block;width:100%;margin-top:3px;min-height:34px!important}

.sale-control-loaded{padding:0!important;background:transparent!important;border:0!important}
.return-sale-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}
.return-sale-summary>div{padding:8px;border:1px solid #e3eaf2;border-radius:9px;background:#fff}
.return-sale-summary span,.return-sale-summary b{display:block}
.return-sale-summary span{font-size:7px;color:#8a96a7}.return-sale-summary b{margin-top:2px;font-size:9px}
.return-control-table input,.return-control-table select{min-height:32px!important;padding:5px 7px!important}
.return-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}

.pos-tool-links{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.pos-tool-links .muted{font-size:8px;color:#7d8998}

.printer-settings-card{max-width:1040px;margin:0 auto;padding:20px}
.printer-settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}
.printer-settings-form{display:grid;gap:10px}
.printer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.printer-help{padding:16px;border:1px solid #e2e9f1;border-radius:14px;background:linear-gradient(145deg,#f8fbfe,#f7f2f8)}
.printer-help h3{margin:0 0 7px;font-size:13px}.printer-help p{font-size:9px;line-height:1.6;color:#718095}

/* Keep the production checkout compact enough for a cashier screen. */
@media(min-width:1001px){
  .checkout-reference{font-size:8px}
  .checkout-reference>label{margin-top:6px!important;margin-bottom:3px!important}
  .pos-customer-box{padding:7px;margin-top:5px}
  .payment-detail-box,.mixed-payment-box,.sale-note-row{padding:7px;margin-top:5px}
  .mixed-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .mixed-grid input{min-width:0}
  .sale-note-row input{min-height:33px!important}
}

@media(max-width:760px){
  .loyalty-wrap{grid-template-columns:1fr 1fr}.loyalty-wrap small{grid-column:1/-1}
  .mixed-grid{grid-template-columns:1fr}
  .denomination-grid{grid-template-columns:repeat(2,1fr)}
  .printer-settings-grid{grid-template-columns:1fr}
  .return-sale-summary{grid-template-columns:1fr}
}

/* v5.1 safe pre-payment manager discount */
#manualDiscountMirror{color:#17845f}
#discountControlPanel[open]{border-color:#d9c5dd}
#discountControlPanel .okmsg{margin-top:8px}
#discountControlPanel .errmsg{margin-top:8px}


/* ==============================================================
   BMART v5 PART 2 — CART-FIRST FULL-WIDTH CASHIER WORKSPACE
   ============================================================== */
.pos-cashier-scan-stage{display:grid;gap:8px;margin-bottom:10px}
.pos-search-priority{box-shadow:0 10px 28px rgba(48,66,92,.08)!important;border:1px solid #dfe7ef}

.pos-cart-fullscreen{
  width:100%;
  min-height:clamp(560px,calc(100dvh - 255px),760px);
  padding:16px!important;
  border:1px solid #d9e3ed!important;
  box-shadow:0 18px 44px rgba(42,60,86,.10)!important;
  overflow:hidden;
}
.cart-title-strong{margin-bottom:12px!important;padding-bottom:11px;border-bottom:1px solid #e6edf4}
.cart-title-strong h2{font-size:24px!important;font-weight:950!important;letter-spacing:-.025em;margin:0}
.cart-eyebrow{display:block;color:#94709a;font-size:8px;font-weight:950;letter-spacing:.14em;margin-bottom:2px}
.cart-title-meta{display:flex;align-items:center;gap:8px}
.cart-count-chip{min-width:72px;padding:7px 10px;border:1px solid #dfe7ef;border-radius:11px;background:#f8fbfd;text-align:center}
.cart-count-chip b,.cart-count-chip span{display:block}
.cart-count-chip b{font-size:16px;line-height:1;color:#28354a;font-weight:950}
.cart-count-chip span{margin-top:3px;font-size:7px;color:#8290a2;text-transform:uppercase;font-weight:900}

.pos-cart-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(390px,.72fr);
  gap:14px;
  min-height:0;
  height:calc(100% - 58px);
}
.cart-items-stage{
  min-width:0;min-height:0;display:flex;flex-direction:column;
  border:1px solid #e3eaf2;border-radius:15px;background:#fbfdff;overflow:hidden
}
.cart-column-head{
  display:grid;grid-template-columns:38px minmax(220px,1fr) 110px 150px 125px 154px;
  gap:10px;align-items:center;padding:9px 12px;background:#f2f6fa;border-bottom:1px solid #e1e9f1;
  color:#7a8799;font-size:8px;font-weight:950;letter-spacing:.045em;text-transform:uppercase
}
.cart-list-large{flex:1;min-height:0;max-height:none!important;overflow-y:auto!important;padding:7px!important;display:grid;align-content:start;gap:7px!important}
.cart-line-large{
  display:grid!important;
  grid-template-columns:38px minmax(220px,1fr) 110px 150px 125px 154px!important;
  gap:10px!important;align-items:center!important;
  min-height:78px!important;padding:10px 12px!important;
  border:1px solid #e0e8f1!important;border-radius:13px!important;
  background:#fff!important;box-shadow:0 5px 14px rgba(49,68,94,.035)!important
}
.cart-line-large.selected{background:linear-gradient(135deg,#f8f1fa,#fff)!important;border-color:#ccb6d1!important;box-shadow:0 8px 18px rgba(103,38,111,.08)!important}
.cart-line-number{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eef3f8;color:#68788d;font-size:11px;font-weight:950}
.cart-product-copy b{display:block;font-size:16px!important;line-height:1.18!important;color:#1f2a3c;font-weight:950!important}
.cart-product-copy small{display:block;margin-top:5px;font-size:10px!important;line-height:1.35;color:#8290a2!important;font-weight:650}
.cart-unit-price span,.cart-line-total span{display:block;font-size:8px;color:#8b97a7;text-transform:uppercase;font-weight:900}
.cart-unit-price b{display:block;margin-top:3px;font-size:13px;color:#354359;font-weight:900}
.cart-line-total strong{display:block;margin-top:3px;font-size:17px!important;color:#202b3e;font-weight:950!important}
.qty-controls-large{display:grid!important;grid-template-columns:38px minmax(48px,1fr) 38px;gap:7px!important;align-items:center!important}
.qty-controls-large .qtybtn{width:38px!important;height:38px!important;border-radius:10px!important;font-size:20px!important;font-weight:900!important}
.qty-controls-large>span{min-width:48px;text-align:center;font-size:17px!important;font-weight:950!important;color:#263348}
.cart-line-tools-large{display:flex!important;justify-content:flex-end;gap:5px!important;flex-wrap:nowrap!important}
.cart-line-tools-large button{min-height:34px!important;padding:6px 8px!important;font-size:8px!important;font-weight:850!important;border-radius:8px!important}
.cart-line-tools-large .remove-line-btn{width:34px;padding:0!important;font-size:17px!important}
.empty-cart-large{flex:1;min-height:330px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px!important}
.empty-cart-large>span{font-size:50px!important;color:#b5c0ce}.empty-cart-large b{font-size:18px!important;font-weight:950!important}.empty-cart-large small{font-size:10px!important}

.cart-checkout-stage{
  min-height:0;overflow-y:auto;padding:11px;border:1px solid #ded5e1;border-radius:15px;
  background:linear-gradient(180deg,#fff,#fbf8fc);box-shadow:0 8px 22px rgba(77,48,82,.05)
}
.cart-summary-large{margin-top:9px!important;padding:13px!important;border:1px solid #d9e3ed!important;background:#f0f6fb!important}
.cart-summary-large>div{font-size:10px!important;padding:2px 0}.cart-summary-large>div b{font-size:11px!important;font-weight:900}
.cart-summary-large .grand-total{margin-top:3px;padding-top:10px!important;border-top:2px solid #c9d7e3!important}
.cart-summary-large .grand-total span{font-size:13px!important;font-weight:900!important;color:#3c4b5e}
.cart-summary-large .grand-total strong{font-size:29px!important;line-height:1!important;color:#67266f!important;font-weight:950!important;letter-spacing:-.035em}
.checkout-reference-large>label{font-size:10px!important;font-weight:900!important;color:#566477!important}
.checkout-reference-large select,.checkout-reference-large input{min-height:42px!important;font-size:11px!important;font-weight:700}
.purchase-btn-large{min-height:56px!important;height:56px!important;border-radius:13px!important;font-size:12px!important;font-weight:950!important;box-shadow:0 14px 26px rgba(103,38,111,.22)!important}
.purchase-btn-large .purchase-copy{font-size:12px!important;font-weight:950!important}

.pos-products-below{margin-top:14px}
.products-below-head h2{font-size:18px!important;font-weight:950!important}
.pos-products-below .product-card-grid{grid-template-columns:repeat(8,minmax(0,1fr));max-height:none!important;overflow:visible!important}
.pos-products-below .pos-product-card{min-height:145px}
.pos-products-below .pos-product-card b{font-size:10px!important;font-weight:900!important}
.pos-products-below .pos-product-card strong{font-size:11px!important;font-weight:950!important}

.return-control-table .return-qty{font-size:12px!important;font-weight:900!important}
.sale-control-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.sale-control-actions .btn{min-height:38px;font-weight:850}

@media(max-width:1450px){
  .cart-column-head,.cart-line-large{grid-template-columns:34px minmax(180px,1fr) 96px 138px 112px 132px!important}
  .pos-products-below .product-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:1180px){
  .pos-cart-fullscreen{min-height:auto;overflow:visible}
  .pos-cart-workspace{grid-template-columns:1fr;height:auto}
  .cart-checkout-stage{overflow:visible}
  .cart-list-large{max-height:520px!important}
  .pos-products-below .product-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:860px){
  .cart-column-head{display:none}
  .cart-line-large{grid-template-columns:34px minmax(0,1fr) 110px!important;grid-template-areas:'num product total' 'num qty tools'!important;min-height:104px!important}
  .cart-line-number{grid-area:num}
  .cart-product-copy{grid-area:product}
  .cart-unit-price{display:none}
  .qty-controls-large{grid-area:qty;max-width:150px}
  .cart-line-total{grid-area:total;text-align:right}
  .cart-line-tools-large{grid-area:tools}
  .pos-products-below .product-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:620px){
  .pos-cart-fullscreen{padding:10px!important}
  .cart-title-meta{gap:5px}.cart-count-chip{min-width:58px;padding:6px 7px}.cart-title-strong h2{font-size:20px!important}
  .cart-line-large{grid-template-columns:30px minmax(0,1fr)!important;grid-template-areas:'num product' 'num total' 'num qty' 'num tools'!important;gap:7px!important}
  .cart-line-total{text-align:left}.cart-line-tools-large{justify-content:flex-start}.qty-controls-large{max-width:170px}
  .cart-product-copy b{font-size:14px!important}.cart-line-total strong{font-size:16px!important}
  .cart-summary-large .grand-total strong{font-size:26px!important}
  .pos-products-below .product-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* BMART v5 Part 3 — Multi-cart / shift report */
.pos-top-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.multi-cart-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:10px 0 12px;padding:10px 12px;border:1px solid #ded5e2;border-radius:16px;background:linear-gradient(135deg,#fff,#faf7fb);box-shadow:0 8px 24px rgba(56,35,63,.05)}.multi-cart-title{min-width:110px;display:flex;flex-direction:column}.multi-cart-title>b{font-size:12px;color:#33283a}.multi-cart-title small{margin-top:2px;font-size:7px;color:#8c8291}.multi-cart-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px}.multi-cart-tab{position:relative;flex:0 0 auto;min-width:145px;min-height:52px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;padding:7px 10px;border:1px solid #e1dae5;border-radius:12px;background:#fff;color:#4d4252;text-align:left;cursor:pointer}.multi-cart-tab:hover{border-color:#bda8c2}.multi-cart-tab.active{border-color:#67266f;background:linear-gradient(135deg,#67266f,#7f3488);color:#fff;box-shadow:0 8px 20px rgba(103,38,111,.18)}.multi-cart-tab>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#f0ebf2;color:#67266f;font-size:9px;font-weight:950}.multi-cart-tab.active>span{background:#ffffff22;color:#fff}.multi-cart-tab div{min-width:0}.multi-cart-tab b,.multi-cart-tab small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-cart-tab b{font-size:10px}.multi-cart-tab small{margin-top:2px;font-size:7px;color:#8c8291}.multi-cart-tab.active small{color:#eadced}.multi-cart-tab i{position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#ef7d2c}.multi-cart-actions{display:flex;gap:5px}.shift-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:min(680px,80vw)}.shift-report-grid>div{padding:12px;border:1px solid #e3e8ef;border-radius:11px;background:#fafcff}.shift-report-grid span,.shift-report-grid b{display:block}.shift-report-grid span{font-size:8px;color:#7b8798;text-transform:uppercase;font-weight:850}.shift-report-grid b{margin-top:4px;font-size:14px}.shift-closed{display:flex;gap:8px;margin-top:10px;padding:10px;border-radius:10px;background:#f5f0f7;font-size:9px}.shift-closed b{margin-left:auto;color:#67266f}@media(max-width:1000px){.multi-cart-bar{grid-template-columns:1fr}.multi-cart-actions{overflow-x:auto}.shift-report-grid{grid-template-columns:repeat(2,1fr);min-width:0}}@media(max-width:620px){.multi-cart-tab{min-width:132px}.shift-report-grid{grid-template-columns:1fr}}


/* ==============================================================
   BMART v5 PART 4 — FULLSCREEN CASHIER MODE
   ============================================================== */
body.pos-fullscreen-mode{overflow-x:hidden;background:#f4f7fa}

/* POS occupies the whole browser workspace. Main navigation becomes a drawer. */
.pos-fullscreen-mode .app-shell{
  display:block!important;
  grid-template-columns:1fr!important;
  padding:0!important;
  min-height:100dvh!important;
}
.pos-fullscreen-mode .app-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.pos-fullscreen-mode .app-sidebar{
  position:fixed!important;
  left:10px!important;
  right:auto!important;
  top:10px!important;
  bottom:10px!important;
  width:min(88vw,286px)!important;
  height:auto!important;
  z-index:1300!important;
  transform:translateX(calc(-100% - 26px))!important;
  transition:transform .18s ease!important;
  box-shadow:18px 0 50px rgba(30,20,34,.25)!important;
}
.pos-fullscreen-mode .app-sidebar.open{transform:translateX(0)!important}
html[dir=rtl] .pos-fullscreen-mode .app-sidebar{
  left:auto!important;right:10px!important;
  transform:translateX(calc(100% + 26px))!important;
}
html[dir=rtl] .pos-fullscreen-mode .app-sidebar.open{transform:translateX(0)!important}
.pos-fullscreen-mode .sidebar-close{display:grid!important}
.pos-fullscreen-mode .sidebar-backdrop.open,
.pos-fullscreen-mode .sidebar-backdrop.show{
  display:block!important;position:fixed!important;inset:0!important;
  background:rgba(23,15,26,.48)!important;backdrop-filter:blur(2px);
  z-index:1290!important;
}

/* The generic admin chrome is redundant in POS. */
.pos-fullscreen-mode .premium-topbar,
.pos-fullscreen-mode .workspace-bar,
.pos-fullscreen-mode .page-heading-row,
.pos-fullscreen-mode .app-footer{display:none!important}
.pos-fullscreen-mode .page-content{
  padding:8px 10px 18px!important;
  max-width:none!important;
  width:100%!important;
}
.pos-fullscreen-mode .toast{margin:8px 10px 0!important}

/* Compact POS-only top bar with hamburger navigation. */
.pos-focus-header{
  position:sticky;top:0;z-index:85;
  min-height:52px;margin:-8px -10px 8px;padding:6px 10px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
  border-bottom:1px solid #e3e9ef;box-shadow:0 5px 18px rgba(43,60,82,.06)
}
.pos-focus-left,.pos-focus-actions{display:flex;align-items:center;gap:7px}
.pos-hamburger{
  width:42px;height:40px;display:grid;place-items:center;
  border:1px solid #dfd6e2;border-radius:11px;background:#fff;
  color:#67266f;font-size:21px;font-weight:900;line-height:1
}
.pos-hamburger:hover{background:#f7f0f8;border-color:#cab5cf}
.pos-focus-brand{display:flex;flex-direction:column;min-width:0}
.pos-focus-brand>b{font-size:14px;line-height:1.1;color:#273347;font-weight:950}
.pos-focus-brand>span{margin-top:3px;font-size:8px;color:#7d8999;white-space:nowrap}
.pos-focus-actions .btn,.pos-focus-actions .status-chip{min-height:36px;padding:7px 10px;font-size:9px}

/* Save vertical room for the cart. */
.pos-fullscreen-mode .pos-cashier-toolbar{
  min-height:46px!important;margin-bottom:7px!important;padding:5px 7px!important
}
.pos-fullscreen-mode .primary-shortcut-dock button{min-height:34px!important}
.pos-fullscreen-mode .pos-cashier-scan-stage{margin-bottom:7px!important;gap:5px!important}
.pos-fullscreen-mode .pos-search-bar{height:46px!important}
.pos-fullscreen-mode .multi-cart-bar{
  min-height:50px!important;margin:7px 0 8px!important;padding:7px 9px!important;border-radius:13px!important
}
.pos-fullscreen-mode .multi-cart-tab{min-height:43px!important;min-width:132px!important;padding:5px 8px!important}
.pos-fullscreen-mode .multi-cart-tab>span{width:24px!important;height:24px!important}

/* Cart truly uses the available viewport. */
.pos-fullscreen-mode .pos-cart-fullscreen{
  min-height:calc(100dvh - 238px)!important;
  height:calc(100dvh - 238px)!important;
  max-height:none!important;
  padding:11px!important;
  border-radius:15px!important;
}
.pos-fullscreen-mode .cart-title-strong{
  min-height:42px;margin-bottom:7px!important;padding-bottom:7px!important
}
.pos-fullscreen-mode .cart-title-strong h2{font-size:19px!important}
.pos-fullscreen-mode .cart-icon{width:28px!important;height:28px!important}

/* Count indicators should inform, not dominate the cart header. */
.pos-fullscreen-mode .cart-title-meta{gap:5px!important}
.pos-fullscreen-mode .cart-count-chip{
  min-width:48px!important;padding:4px 7px!important;border-radius:9px!important
}
.pos-fullscreen-mode .cart-count-chip b{font-size:12px!important;line-height:1!important}
.pos-fullscreen-mode .cart-count-chip span{margin-top:2px!important;font-size:6px!important}
.pos-fullscreen-mode .trash-btn{width:30px!important;height:30px!important}

/* Compact product lines: more products are visible without making text tiny. */
.pos-fullscreen-mode .pos-cart-workspace{
  grid-template-columns:minmax(0,1fr) minmax(350px,410px)!important;
  gap:10px!important;height:calc(100% - 49px)!important
}
.pos-fullscreen-mode .cart-column-head{
  grid-template-columns:30px minmax(240px,1fr) 88px 120px 108px 126px!important;
  gap:7px!important;padding:7px 9px!important;font-size:7px!important
}
.pos-fullscreen-mode .cart-list-large{padding:5px!important;gap:5px!important}
.pos-fullscreen-mode .cart-line-large{
  grid-template-columns:30px minmax(240px,1fr) 88px 120px 108px 126px!important;
  gap:7px!important;min-height:58px!important;padding:7px 9px!important;border-radius:10px!important
}
.pos-fullscreen-mode .cart-line-number{
  width:25px!important;height:25px!important;border-radius:7px!important;font-size:9px!important
}
.pos-fullscreen-mode .cart-product-copy b{
  font-size:13px!important;line-height:1.13!important;font-weight:950!important
}
.pos-fullscreen-mode .cart-product-copy small{
  margin-top:3px!important;font-size:8px!important;line-height:1.2!important
}
.pos-fullscreen-mode .cart-unit-price span,
.pos-fullscreen-mode .cart-line-total span{font-size:6px!important}
.pos-fullscreen-mode .cart-unit-price b{font-size:11px!important}
.pos-fullscreen-mode .cart-line-total strong{font-size:14px!important}
.pos-fullscreen-mode .qty-controls-large{
  grid-template-columns:31px minmax(38px,1fr) 31px!important;gap:5px!important
}
.pos-fullscreen-mode .qty-controls-large .qtybtn{
  width:31px!important;height:31px!important;border-radius:8px!important;font-size:17px!important
}
.pos-fullscreen-mode .qty-controls-large>span{
  min-width:38px!important;font-size:14px!important
}
.pos-fullscreen-mode .cart-line-tools-large{gap:4px!important}
.pos-fullscreen-mode .cart-line-tools-large button{
  min-height:29px!important;padding:4px 7px!important;font-size:7px!important;border-radius:7px!important
}
.pos-fullscreen-mode .cart-line-tools-large .remove-line-btn{
  width:29px!important;font-size:15px!important
}
.pos-fullscreen-mode .empty-cart-large{min-height:210px!important}

/* Checkout stays visible while the line list scrolls. */
.pos-fullscreen-mode .cart-checkout-stage{
  padding:9px!important;overflow-y:auto!important;border-radius:12px!important
}
.pos-fullscreen-mode .cart-summary-large{margin-top:6px!important;padding:9px!important}
.pos-fullscreen-mode .cart-summary-large>div{font-size:8px!important;padding:1px 0!important}
.pos-fullscreen-mode .cart-summary-large>div b{font-size:9px!important}
.pos-fullscreen-mode .cart-summary-large .grand-total{padding-top:7px!important}
.pos-fullscreen-mode .cart-summary-large .grand-total span{font-size:10px!important}
.pos-fullscreen-mode .cart-summary-large .grand-total strong{font-size:24px!important}
.pos-fullscreen-mode .checkout-reference-large select,
.pos-fullscreen-mode .checkout-reference-large input{min-height:36px!important;font-size:10px!important}
.pos-fullscreen-mode .purchase-btn-large{min-height:48px!important;height:48px!important}

/* Products stay below the cart, full width. */
.pos-fullscreen-mode .pos-products-below{margin-top:10px!important}
.pos-fullscreen-mode .pos-products-below .product-card-grid{
  grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:7px!important
}
.pos-fullscreen-mode .pos-products-below .pos-product-card{min-height:124px!important}

@media(max-width:1450px){
  .pos-fullscreen-mode .pos-cart-workspace{grid-template-columns:minmax(0,1fr) 365px!important}
  .pos-fullscreen-mode .cart-column-head,
  .pos-fullscreen-mode .cart-line-large{
    grid-template-columns:28px minmax(180px,1fr) 78px 110px 96px 112px!important
  }
  .pos-fullscreen-mode .pos-products-below .product-card-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important}
}
@media(max-width:1180px){
  .pos-fullscreen-mode .pos-cart-fullscreen{height:auto!important;min-height:auto!important;overflow:visible!important}
  .pos-fullscreen-mode .pos-cart-workspace{grid-template-columns:1fr!important;height:auto!important}
  .pos-fullscreen-mode .cart-list-large{max-height:460px!important}
  .pos-fullscreen-mode .cart-checkout-stage{overflow:visible!important}
  .pos-fullscreen-mode .pos-products-below .product-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .pos-focus-header{align-items:flex-start;flex-wrap:wrap}
  .pos-focus-actions{width:100%;overflow-x:auto;padding-bottom:2px}
  .pos-fullscreen-mode .pos-cashier-toolbar{display:none!important}
  .pos-fullscreen-mode .pos-cart-fullscreen{padding:8px!important}
  .pos-fullscreen-mode .cart-count-chip{min-width:43px!important}
  .pos-fullscreen-mode .pos-products-below .product-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


/* ==============================================================
   BMART v5 PART 5 — READABLE POS + EGYPTIAN ARABIC / RTL
   ============================================================== */

/* Language controls */
.app-language-switch,
.pos-language-switch{
  display:flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid #e0e5ec;
  border-radius:10px;
  background:#fff;
}
.app-language-switch a,
.pos-language-switch a{
  min-width:34px;
  padding:6px 8px;
  border-radius:7px;
  color:#687587;
  font-size:10px;
  font-weight:900;
  text-align:center;
  text-decoration:none;
}
.app-language-switch a.active,
.pos-language-switch a.active{
  background:#67266f;
  color:#fff;
}
.pos-language-switch{
  margin-right:2px;
}

/* Overall system readability — removes the old 7/8px feel. */
body{
  font-size:14px;
}
.app-sidebar a,
.sidebar-nav a{
  font-size:12px!important;
}
.sidebar-section-title{
  font-size:9px!important;
}
.page-title-wrap h1{
  font-size:28px!important;
}
.page-title-wrap p,
.workspace-context,
.workspace-status{
  font-size:10px!important;
}
.btn,
button,
select,
input,
textarea{
  font-size:12px;
}
.field label,
.control-body label{
  font-size:10px!important;
}
.data-table th{
  font-size:10px!important;
}
.data-table td{
  font-size:12px!important;
}
.data-table td small,
.table-sub{
  font-size:9px!important;
}

/* POS: keep it compact, but make it genuinely readable from cashier distance. */
.pos-fullscreen-mode .pos-focus-brand b{
  font-size:17px!important;
}
.pos-fullscreen-mode .pos-focus-brand span{
  font-size:10px!important;
}
.pos-fullscreen-mode .pos-focus-actions .btn,
.pos-fullscreen-mode .pos-focus-actions .status-chip{
  font-size:10px!important;
  min-height:34px!important;
}
.pos-fullscreen-mode .cashier-toolbar-title{
  font-size:11px!important;
}
.pos-fullscreen-mode .cashier-toolbar-status{
  font-size:9px!important;
}
.pos-fullscreen-mode .primary-shortcut-dock button{
  min-height:40px!important;
  font-size:10px!important;
}
.pos-fullscreen-mode .primary-shortcut-dock button span{
  font-size:10px!important;
}
.pos-fullscreen-mode .primary-shortcut-dock button small{
  font-size:8px!important;
}
.pos-fullscreen-mode .primary-shortcut-dock button kbd{
  font-size:8px!important;
}

.pos-fullscreen-mode .pos-search-bar input{
  font-size:14px!important;
}
.pos-fullscreen-mode .scan-inline{
  font-size:11px!important;
  font-weight:900!important;
}

.pos-fullscreen-mode .multi-cart-title .cart-eyebrow{
  font-size:9px!important;
}
.pos-fullscreen-mode .multi-cart-title b{
  font-size:13px!important;
}
.pos-fullscreen-mode .multi-cart-title small{
  font-size:9px!important;
}
.pos-fullscreen-mode .multi-cart-tab{
  min-width:150px!important;
  min-height:50px!important;
}
.pos-fullscreen-mode .multi-cart-tab b{
  font-size:12px!important;
}
.pos-fullscreen-mode .multi-cart-tab small{
  font-size:9px!important;
}

.pos-fullscreen-mode .cart-eyebrow{
  font-size:9px!important;
  letter-spacing:.08em!important;
}
.pos-fullscreen-mode .cart-title-strong h2{
  font-size:22px!important;
}
.pos-fullscreen-mode .cart-count-chip{
  min-width:48px!important;
  min-height:36px!important;
}
.pos-fullscreen-mode .cart-count-chip b{
  font-size:14px!important;
}
.pos-fullscreen-mode .cart-count-chip span{
  font-size:8px!important;
}

/* Cart header */
.pos-fullscreen-mode .cart-column-head{
  min-height:34px!important;
}
.pos-fullscreen-mode .cart-column-head span{
  font-size:9px!important;
  font-weight:950!important;
}

/* Cart rows — bigger text without making each item excessively tall. */
.pos-fullscreen-mode .cart-line-large{
  min-height:76px!important;
  padding:10px 12px!important;
}
.pos-fullscreen-mode .cart-line-number{
  width:30px!important;
  height:30px!important;
  font-size:11px!important;
}
.pos-fullscreen-mode .cart-product-copy b{
  font-size:16px!important;
  line-height:1.18!important;
  font-weight:950!important;
}
.pos-fullscreen-mode .cart-product-copy small{
  margin-top:3px!important;
  font-size:10px!important;
}
.pos-fullscreen-mode .cart-unit-price span,
.pos-fullscreen-mode .cart-line-total span{
  font-size:8px!important;
  font-weight:850!important;
}
.pos-fullscreen-mode .cart-unit-price b{
  font-size:13px!important;
}
.pos-fullscreen-mode .cart-line-total strong{
  font-size:17px!important;
}
.pos-fullscreen-mode .qty-controls-large .qtybtn{
  width:34px!important;
  height:34px!important;
  font-size:18px!important;
}
.pos-fullscreen-mode .qty-controls-large>span{
  min-width:38px!important;
  font-size:17px!important;
  font-weight:950!important;
}
.pos-fullscreen-mode .cart-line-tools-large button{
  min-height:31px!important;
  padding:5px 9px!important;
  font-size:9px!important;
}

/* Checkout side is now readable too. */
.pos-fullscreen-mode .cart-checkout-stage label{
  font-size:10px!important;
  font-weight:900!important;
}
.pos-fullscreen-mode .customer-info,
.pos-fullscreen-mode .loyalty-wrap small{
  font-size:9px!important;
}
.pos-fullscreen-mode .cart-summary-large>div{
  min-height:27px!important;
  font-size:11px!important;
}
.pos-fullscreen-mode .cart-summary-large>div span{
  font-size:11px!important;
}
.pos-fullscreen-mode .cart-summary-large>div b{
  font-size:12px!important;
}
.pos-fullscreen-mode .cart-summary-large .grand-total span{
  font-size:13px!important;
  font-weight:950!important;
}
.pos-fullscreen-mode .cart-summary-large .grand-total strong{
  font-size:27px!important;
}
.pos-fullscreen-mode .checkout-reference-large select,
.pos-fullscreen-mode .checkout-reference-large input{
  min-height:40px!important;
  font-size:12px!important;
}
.pos-fullscreen-mode .payment-detail-box label,
.pos-fullscreen-mode .sale-note-row label{
  font-size:9px!important;
}
.pos-fullscreen-mode .purchase-btn-large{
  min-height:54px!important;
  height:54px!important;
  font-size:13px!important;
}
.pos-fullscreen-mode .purchase-copy{
  font-size:13px!important;
  font-weight:950!important;
}

/* Products below cart stay compact but no tiny names. */
.pos-fullscreen-mode .products-below-head h2{
  font-size:18px!important;
}
.pos-fullscreen-mode .products-below-head p{
  font-size:10px!important;
}
.pos-fullscreen-mode .category-tabs button{
  font-size:10px!important;
}
.pos-fullscreen-mode .pos-products-below .pos-product-card b{
  font-size:12px!important;
  line-height:1.2!important;
}
.pos-fullscreen-mode .pos-products-below .pos-product-card small{
  font-size:9px!important;
}
.pos-fullscreen-mode .pos-products-below .pos-product-card strong{
  font-size:12px!important;
}

/* --------------------------------------------------------------
   Arabic / Egyptian Arabic layout
   -------------------------------------------------------------- */
html[dir="rtl"] body,
body.bmart-arabic{
  font-family:Tahoma,Arial,"Segoe UI",sans-serif!important;
}

html[dir="rtl"] .app-shell,
html[dir="rtl"] .app-main,
html[dir="rtl"] .page-content{
  direction:rtl;
}

html[dir="rtl"] input[type="number"],
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[name*="sku" i],
html[dir="rtl"] input[name*="barcode" i],
html[dir="rtl"] kbd,
html[dir="rtl"] .money,
html[dir="rtl"] .receipt-id,
html[dir="rtl"] [data-no-i18n]{
  direction:ltr;
  unicode-bidi:isolate;
}

html[dir="rtl"] .global-search input,
html[dir="rtl"] #barcode{
  text-align:right;
}

html[dir="rtl"] .sidebar-nav a,
html[dir="rtl"] .workspace-context,
html[dir="rtl"] .page-title-wrap,
html[dir="rtl"] .field,
html[dir="rtl"] .panel-head,
html[dir="rtl"] .card,
html[dir="rtl"] .control-body{
  text-align:right;
}

/* Keep POS item table logical in Arabic: product starts on the right. */
html[dir="rtl"] .pos-cart-workspace,
html[dir="rtl"] .cart-items-stage,
html[dir="rtl"] .cart-checkout-stage{
  direction:rtl;
}
html[dir="rtl"] .cart-product-copy,
html[dir="rtl"] .cart-unit-price,
html[dir="rtl"] .cart-line-total{
  text-align:right!important;
}
html[dir="rtl"] .cart-line-tools-large{
  justify-content:flex-start!important;
}
html[dir="rtl"] .grand-total{
  direction:rtl;
}
html[dir="rtl"] .grand-total strong{
  direction:ltr;
  unicode-bidi:isolate;
}

html[dir="rtl"] .pos-focus-actions,
html[dir="rtl"] .multi-cart-actions,
html[dir="rtl"] .billing-head-actions{
  direction:rtl;
}

html[dir="rtl"] .app-language-switch,
html[dir="rtl"] .pos-language-switch{
  direction:ltr;
}

/* Arabic needs slightly more line-height than English. */
html[dir="rtl"] .cart-product-copy b,
html[dir="rtl"] .pos-product-card b,
html[dir="rtl"] .data-table td,
html[dir="rtl"] .btn,
html[dir="rtl"] label{
  line-height:1.45!important;
}

@media(max-width:900px){
  .pos-fullscreen-mode .cart-product-copy b{font-size:14px!important}
  .pos-fullscreen-mode .cart-summary-large .grand-total strong{font-size:24px!important}
  .app-language-switch a,.pos-language-switch a{font-size:9px}
}


/* ==============================================================
   BMART v5 PART 6 — MOBILE CAMERA + SCANNER
   ============================================================== */

/* Phone scan controls: Scanner + Camera are primary, Price Check is below.
   This overrides the older 2-column camera rules that caused the third
   button to wrap unpredictably. */
@media(max-width:620px){
  .pos-fullscreen-mode .pos-cashier-scan-stage{
    position:relative;
    z-index:5;
  }

  .pos-fullscreen-mode .pos-search-bar.camera-pos-search{
    height:auto!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    padding:9px!important;
    gap:8px!important;
    overflow:visible!important;
  }

  .pos-fullscreen-mode .camera-pos-search .pos-scan-buttons{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "scanner camera"
      "price price"!important;
    gap:7px!important;
    width:100%!important;
  }

  .pos-fullscreen-mode #posPhysicalScannerBtn{grid-area:scanner}
  .pos-fullscreen-mode #posCameraScanBtn{grid-area:camera}
  .pos-fullscreen-mode #posPriceCheckBtn{
    grid-area:price;
    min-height:38px!important;
    height:38px!important;
  }

  .pos-fullscreen-mode .camera-pos-search .scan-inline{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:12px!important;
  }
}

/* Mobile hardware/Bluetooth scanner sheet. */
.mobile-scanner-sheet{
  position:fixed;
  inset:0;
  z-index:2147482990;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.mobile-scanner-sheet.hidden{display:none!important}
.mobile-scanner-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,10,15,.65);
  backdrop-filter:blur(4px);
}
.mobile-scanner-card{
  position:relative;
  z-index:2;
  width:min(100%,560px);
  border-radius:22px 22px 0 0;
  background:#fff;
  box-shadow:0 -20px 60px rgba(0,0,0,.28);
  overflow:hidden;
  padding-bottom:max(12px,env(safe-area-inset-bottom));
}
.mobile-scanner-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  background:#241927;
  color:#fff;
}
.mobile-scanner-head span{
  display:block;
  color:#cfa8d4;
  font-size:9px;
  font-weight:950;
  letter-spacing:.1em;
}
.mobile-scanner-head h3{
  margin:4px 0 3px;
  color:#fff;
  font-size:20px;
}
.mobile-scanner-head p{
  margin:0;
  color:#c3bac6;
  font-size:11px;
  line-height:1.4;
}
.mobile-scanner-focus{padding:15px}
.mobile-scanner-focus label{
  display:block;
  margin-bottom:6px;
  color:#6f6474;
  font-size:10px;
  font-weight:900;
}
.mobile-scanner-focus input{
  width:100%;
  min-height:54px;
  padding:12px;
  border:2px solid #d8c4dc;
  border-radius:13px;
  background:#fbf8fc;
  color:#2b2430;
  font-size:16px;
  font-weight:800;
  outline:none;
}
.mobile-scanner-focus input:focus{
  border-color:#67266f;
  box-shadow:0 0 0 4px rgba(103,38,111,.1);
}
.mobile-scanner-status{
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:#eef4f7;
  color:#596a7b;
  font-size:11px;
  font-weight:850;
}
.mobile-scanner-status.success{background:#e9f8f1;color:#147453}
.mobile-scanner-status.error{background:#fff0ef;color:#b5362f}
.mobile-scanner-status.working{background:#fff7df;color:#8d6a13}
.mobile-scanner-cart{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 15px 12px;
  padding:12px 13px;
  border:1px solid #dfd4e2;
  border-radius:13px;
  background:#faf7fb;
}
.mobile-scanner-cart span,
.mobile-scanner-cart b{
  display:block;
}
.mobile-scanner-cart span{
  color:#756a79;
  font-size:10px;
  font-weight:900;
}
.mobile-scanner-cart b{
  margin-top:2px;
  font-size:12px;
}
.mobile-scanner-cart strong{
  color:#67266f;
  font-size:22px;
  font-weight:950;
}
.mobile-scanner-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 15px;
}
.mobile-scanner-actions .btn{
  min-height:48px;
  font-size:12px;
}
body.mobile-scanner-open{overflow:hidden}

/* Camera on phone: camera stays in the upper area and the live cart is
   always visible below it. No scrolling is required to see cart total. */
.camera-cart-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  background:linear-gradient(135deg,#201624,#2a1a2e);
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  color:#fff;
}
.camera-cart-strip.hidden{display:none!important}
.camera-cart-copy{min-width:0}
.camera-cart-copy span,
.camera-cart-copy b,
.camera-cart-copy small{display:block}
.camera-cart-copy span{
  color:#caa7cf;
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.camera-cart-copy b{
  margin-top:3px;
  color:#fff;
  font-size:13px;
}
.camera-cart-copy small{
  margin-top:2px;
  max-width:62vw;
  overflow:hidden;
  color:#aee6cb;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.camera-cart-strip strong{
  flex:0 0 auto;
  color:#fff;
  font-size:22px;
  font-weight:950;
}

@media(max-width:900px){
  .camera-scanner{
    grid-template-columns:1fr!important;
  }
  .camera-scanner-sheet{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;
  }
  .camera-stage{
    min-height:0!important;
    height:auto!important;
  }
  .camera-result-row{
    padding:9px 12px!important;
  }
  .camera-scanner-actions{
    padding:9px 12px max(9px,env(safe-area-inset-bottom))!important;
  }
  .camera-fallback{
    margin:0 12px 10px!important;
  }
}

@media(max-width:620px){
  .camera-scanner-head{
    padding:11px 12px 9px!important;
    padding-top:max(11px,env(safe-area-inset-top))!important;
  }
  .camera-scanner-head h3{font-size:17px!important}
  .camera-scanner-head p{font-size:9px!important}
  .camera-stage{
    min-height:42dvh!important;
  }
  .stable-reticle{
    width:min(88%,390px)!important;
    height:112px!important;
  }
  .camera-stage-message{
    bottom:12px!important;
    max-width:92%!important;
    font-size:9px!important;
  }
  .camera-result-row b{font-size:11px!important}
  .camera-cart-strip{
    padding:10px 12px!important;
  }
  .camera-cart-copy b{font-size:12px!important}
  .camera-cart-copy small{max-width:58vw!important;font-size:9px!important}
  .camera-cart-strip strong{font-size:20px!important}
}

@media(max-width:390px){
  .camera-stage{min-height:38dvh!important}
  .camera-result-row{padding:7px 10px!important}
  .camera-cart-strip{padding:8px 10px!important}
  .camera-scanner-actions{padding:7px 10px max(7px,env(safe-area-inset-bottom))!important}
}


/* ==============================================================
   BMART v5 PART 6.2 — VERIFIED CAMERA CART
   ============================================================== */

/* Success must be impossible to miss. */
.camera-success-overlay{
  z-index:50!important;
  width:min(92%,430px)!important;
  min-height:300px!important;
  padding:30px 22px!important;
  border-radius:30px!important;
  background:rgba(7,119,76,.97)!important;
  border:3px solid rgba(255,255,255,.8)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.5)!important;
}
.camera-success-icon{
  width:150px!important;
  height:150px!important;
  margin-bottom:18px!important;
  border:5px solid rgba(255,255,255,.7)!important;
  font-size:94px!important;
  box-shadow:0 18px 45px rgba(0,0,0,.28)!important;
}
.camera-success-overlay b{
  font-size:27px!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
}
.camera-success-overlay span{
  margin-top:10px!important;
  font-size:16px!important;
  font-weight:800!important;
  color:#e0fff2!important;
}
@keyframes bmart-camera-success{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}
  60%{opacity:1;transform:translate(-50%,-50%) scale(1.07)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

/* Camera cart is a real cart, not only a tiny total strip. */
.camera-cart-strip{
  display:block!important;
  flex:0 0 auto!important;
  padding:0!important;
  background:#fff!important;
  border-top:3px solid #67266f!important;
  color:#283443!important;
}
.camera-cart-strip.hidden{display:none!important}
.camera-cart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  background:linear-gradient(135deg,#241728,#35203b);
  color:#fff;
}
.camera-cart-copy span{
  color:#d8b9dc!important;
  font-size:9px!important;
}
.camera-cart-copy b{
  color:#fff!important;
  font-size:14px!important;
}
.camera-cart-copy small{
  color:#b9f2d8!important;
  font-size:10px!important;
  max-width:62vw!important;
}
.camera-cart-head>strong{
  color:#fff!important;
  font-size:24px!important;
  font-weight:950!important;
}
.camera-cart-lines{
  max-height:154px;
  overflow-y:auto;
  background:#fff;
}
.camera-cart-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:47px;
  padding:7px 13px;
  border-bottom:1px solid #edf0f3;
}
.camera-cart-line>div{
  min-width:0;
}
.camera-cart-line b{
  display:block;
  overflow:hidden;
  color:#273343;
  font-size:12px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.camera-cart-line small{
  display:block;
  margin-top:2px;
  color:#798697;
  font-size:9px;
}
.camera-cart-line strong{
  flex:0 0 auto;
  color:#67266f;
  font-size:13px;
  font-weight:950;
}
.camera-cart-empty{
  padding:14px;
  color:#8994a2;
  font-size:10px;
  font-weight:800;
  text-align:center;
}

@media(max-width:900px){
  .camera-scanner-sheet{
    grid-template-rows:auto minmax(230px,1fr) auto auto auto auto!important;
  }
}

@media(max-width:620px){
  .camera-success-overlay{
    width:94%!important;
    min-height:285px!important;
  }
  .camera-success-icon{
    width:138px!important;
    height:138px!important;
    font-size:86px!important;
  }
  .camera-success-overlay b{font-size:24px!important}
  .camera-success-overlay span{font-size:14px!important}

  .camera-stage{
    min-height:34dvh!important;
  }
  .camera-cart-lines{
    max-height:142px!important;
  }
  .camera-cart-head>strong{
    font-size:21px!important;
  }
}

@media(max-height:700px) and (max-width:620px){
  .camera-stage{min-height:29dvh!important}
  .camera-cart-lines{max-height:96px!important}
  .camera-success-overlay{min-height:250px!important}
  .camera-success-icon{
    width:118px!important;
    height:118px!important;
    font-size:72px!important;
  }
}

/* Bmart Part 8 — POS FX / exact quantity */
.cart-fx-conversion{grid-column:1/-1;padding-top:6px;color:#6f7c8d;font-size:9px;font-weight:800;text-align:right}
.cart-qty-key{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:32px;padding:0 8px;border:1px solid #ded4e1;border-radius:9px;background:#fbf7fc;color:#67266f;font-size:9px;font-weight:950}
.cart-unit-price small{display:block;margin-top:2px;color:#7f8998;font-size:8px;font-weight:850}


/* Part 8 — offline POS reliability */
.offline-sync-details{
  display:block;
  width:100%;
  margin-top:6px;
  color:#718092;
  font-size:9px;
  line-height:1.4;
}
.offline-sync-details.has-error{color:#b2443b}
.offline-receipt-pending{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 9px;
  border-radius:9px;
  background:#fff4dc;
  color:#8a6514;
  font-size:8px;
  font-weight:900;
}
.network-badge.offline{background:#fff0ed!important;color:#b34135!important}
.network-badge.syncing{background:#fff7df!important;color:#8b6813!important}
.network-badge.online{background:#e9f8f1!important;color:#176d51!important}
