:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#73809b;--line:#e6eaf1;--primary:#ff6a2a;--primary2:#ff8b54;--nav:#152033;--nav2:#1d2a40;--green:#17a673;--red:#e64f5f;--blue:#3b82f6;--purple:#7c5cff;--shadow:0 12px 35px rgba(23,32,51,.08);--r:18px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav),#0e1727);color:#dfe8f7;padding:20px 14px;position:fixed;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;z-index:20}.brand,.brand-row{display:flex;align-items:center;gap:12px}.brand{padding:2px 10px 22px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#ffb071);color:#fff;font-weight:900;font-size:20px;box-shadow:0 8px 20px rgba(255,106,42,.35)}.brand-copy{display:flex;flex-direction:column}.brand-copy b{font-size:15px}.brand-copy small{color:#91a0b7;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:3px}.sidebar nav button{border:0;background:transparent;color:#b9c4d5;text-align:left;padding:11px 12px;border-radius:11px;display:flex;align-items:center;gap:11px;transition:.18s}.sidebar nav button span{width:20px;text-align:center;font-size:17px}.sidebar nav button:hover,.sidebar nav button.active{background:rgba(255,255,255,.09);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--primary)}.nav-label{font-size:10px;letter-spacing:.12em;color:#6f7d95;margin:14px 12px 4px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:16px 8px 0;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot b{font-size:12px}.sidebar-foot small{font-size:10px;color:#8f9db3}.sidebar-foot a{color:#b9c4d5;text-decoration:none;font-size:20px}.user-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#42516b,#26334b);display:grid;place-items:center;font-weight:800}.main{grid-column:2;min-width:0}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 26px;position:sticky;top:0;z-index:10}.topbar h1{margin:1px 0 0;font-size:23px;letter-spacing:-.03em}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:#9aa5b6}.top-actions{display:flex;gap:10px;align-items:center}.live-pill,.date-pill{border:1px solid var(--line);background:#fafbfc;border-radius:999px;padding:8px 11px;font-size:12px;color:#5f6c83}.live-pill i{width:7px;height:7px;background:var(--green);border-radius:50%;display:inline-block;margin-right:6px}.icon-btn{width:38px;height:38px;border:0;border-radius:11px;background:var(--primary);color:#fff;font-size:22px}.mobile-menu{display:none}.content{padding:24px;max-width:1700px;margin:auto}.grid{display:grid;gap:18px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:0 5px 18px rgba(23,32,51,.03);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-28px;top:-32px;background:linear-gradient(135deg,rgba(255,106,42,.08),rgba(124,92,255,.03))}.kpi .label{font-size:12px;color:var(--muted);font-weight:650}.kpi .value{font-size:28px;font-weight:850;letter-spacing:-.04em;margin:7px 0 4px}.kpi .delta{font-size:11px;color:var(--green)}.kpi .icon{float:right;width:36px;height:36px;border-radius:10px;background:#fff3ed;display:grid;place-items:center;color:var(--primary)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 5px 18px rgba(23,32,51,.035);overflow:hidden}.panel-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{font-size:14px;margin:0}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.panel-body{padding:18px}.dashboard-grid{grid-template-columns:1.6fr .8fr;margin-top:18px}.chart{height:260px;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{background:#fafbfc;color:#7b879a;font-size:10px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px 13px;border-bottom:1px solid #eef1f5;vertical-align:middle;white-space:nowrap}.data-table tr:hover td{background:#fbfcfe}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750;background:#eef2f7;color:#526077}.badge.green{background:#e8f7f1;color:#138159}.badge.red{background:#fdecef;color:#c83c4b}.badge.orange{background:#fff0e8;color:#cf581d}.badge.blue{background:#eaf2ff;color:#2e65bd}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:750;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 7px 18px rgba(255,106,42,.22)}.btn.secondary{background:#eef2f7;color:#334158}.btn.ghost{background:#fff;border:1px solid var(--line);color:#526077}.btn.danger{background:#fdecef;color:#c83c4b}.btn.small{padding:7px 10px;font-size:11px}.btn.wide{width:100%}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.search{position:relative}.search input{width:300px;padding-left:36px}.search:before{content:'⌕';position:absolute;left:12px;top:8px;color:#8b96a8;font-size:19px}.input,input,select,textarea{border:1px solid #dfe4ec;border-radius:10px;background:#fff;padding:10px 11px;outline:none;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:#ffad87;box-shadow:0 0 0 3px rgba(255,106,42,.09)}label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#536078;font-weight:700}label small{font-weight:500;color:#8c97a8}.pos-layout{display:grid;grid-template-columns:minmax(0,1.7fr) 420px;gap:18px;height:calc(100vh - 136px)}.pos-products{min-width:0;display:flex;flex-direction:column}.pos-search{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 14px;display:flex;gap:10px;align-items:center}.pos-search input{border:0;padding:5px;width:100%;box-shadow:none}.category-strip{display:flex;gap:8px;overflow:auto;padding:12px 0}.cat-chip{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:700;color:#5f6b80}.cat-chip.active{background:#172033;color:#fff;border-color:#172033}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;overflow:auto;padding-right:4px}.product-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:.18s;min-height:170px;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#f8b89a}.prod-art{height:86px;display:grid;place-items:center;font-size:46px;background:linear-gradient(180deg,#fff,#fbfbfc);position:relative}.stock-bubble{position:absolute;right:8px;top:8px;border-radius:999px;background:#fff;border:1px solid var(--line);padding:4px 7px;font-size:9px;color:#6b7688}.product-card .pcopy{padding:10px 11px}.product-card h4{margin:0 0 7px;font-size:12px}.product-card .price{font-size:14px;font-weight:850}.product-card small{display:block;color:var(--muted);margin-top:3px;font-size:9px}.cart-panel{background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 35px rgba(23,32,51,.06)}.cart-head{padding:15px;border-bottom:1px solid var(--line)}.cart-head .customer-select{display:flex;gap:8px}.cart-head select{flex:1}.cart-items{padding:10px;overflow:auto;flex:1}.cart-empty{height:100%;display:grid;place-items:center;text-align:center;color:#8c97a8}.cart-empty b{display:block;color:#536078;margin-top:7px}.cart-item{border:1px solid var(--line);border-radius:13px;padding:10px;margin-bottom:8px}.cart-line{display:flex;justify-content:space-between;gap:10px}.cart-item h4{margin:0;font-size:12px}.cart-item .price{font-size:12px;font-weight:800}.qty-row{display:flex;align-items:center;gap:6px;margin-top:8px}.qty-row button{width:25px;height:25px;border:1px solid var(--line);background:#fff;border-radius:7px}.qty-row .qty{min-width:28px;text-align:center;font-size:11px}.qty-row .remove{margin-left:auto;color:var(--red);border:0}.cart-summary{border-top:1px solid var(--line);padding:14px}.sum-row{display:flex;justify-content:space-between;font-size:11px;color:#6d788b;margin:8px 0}.sum-row.total{font-size:18px;font-weight:900;color:var(--text);margin-top:12px}.checkout-btn{width:100%;height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--primary),#ff7f45);color:#fff;font-weight:900;font-size:14px;display:flex;justify-content:space-between;padding:0 17px;align-items:center}.muted{color:var(--muted)}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-title h2{font-size:19px;margin:0}.section-title p{margin:4px 0 0;font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.span-2{grid-column:span 2}.form-grid hr{border:0;border-top:1px solid var(--line);width:100%}.modal-backdrop{position:fixed;inset:0;background:rgba(10,17,29,.58);z-index:100;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.25);width:min(680px,100%);max-height:90vh;overflow:auto}.modal.wide{width:min(980px,100%)}.modal-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0;font-size:16px}.modal-close{border:0;background:#f1f4f8;width:30px;height:30px;border-radius:9px}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.alert{padding:11px 13px;border-radius:10px;font-size:12px}.alert.danger{background:#fdecef;color:#b73645}.alert.success{background:#e9f8f2;color:#16805a}.filters-card{display:flex;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:16px;flex-wrap:wrap}.filters-card label{min-width:140px}.report-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.report-grid{grid-template-columns:1.2fr .8fr;margin-bottom:18px}.insight-box{border-radius:15px;background:linear-gradient(135deg,#172033,#23334e);color:#fff;padding:18px}.insight-box h3{margin:0 0 8px}.insight-box p{color:#bdc8d9;font-size:12px;line-height:1.6}.insight-list{display:grid;gap:8px;margin-top:12px}.insight-list div{background:rgba(255,255,255,.07);border-radius:10px;padding:10px;font-size:11px}.mini-bars{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:10px}.mini-bars .bar{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#ff8c56,#ff6a2a);min-height:4px;position:relative}.mini-bars .bar span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:9px;color:#778398;white-space:nowrap}.donut-wrap{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center}.donut:after{content:"";width:92px;height:92px;border-radius:50%;background:#fff}.donut-legend{display:grid;gap:8px}.donut-legend div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.donut-legend i{width:8px;height:8px;border-radius:3px;display:inline-block;margin-right:6px}.login-page,.install-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(255,106,42,.18),transparent 30%),linear-gradient(135deg,#101a2d,#1d2a42);display:grid;place-items:center;padding:25px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.3)}.login-brand{padding:56px;background:linear-gradient(145deg,#172033,#253550);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:35px;margin:22px 0 8px}.login-brand p{color:#bdc7d8;line-height:1.6}.login-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px}.login-feature-grid div{padding:12px;background:rgba(255,255,255,.06);border-radius:12px;display:flex;gap:8px;align-items:center;font-size:11px}.login-feature-grid b{color:#ff9a6c}.login-card{padding:56px;display:flex;flex-direction:column;gap:17px}.login-card h2{margin:5px 0;font-size:25px}.login-foot{text-align:center;color:#9aa5b5;font-size:10px}.install-card{width:min(760px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.install-card h1{font-size:20px;margin:0}.install-card h2{margin-top:28px}.success-panel{padding:22px 0}.success-panel .btn{margin-top:12px}.empty-state{text-align:center;padding:40px 20px;color:#8b96a8}.empty-state b{display:block;color:#536078;margin:7px 0}.metric-line{display:flex;align-items:center;gap:10px}.metric-line .track{height:7px;background:#eef1f5;border-radius:99px;overflow:hidden;flex:1}.metric-line .fill{height:100%;background:linear-gradient(90deg,var(--primary),#ff9a69)}#toast{position:fixed;right:22px;bottom:22px;z-index:150;display:grid;gap:8px}.toast{background:#172033;color:#fff;border-radius:11px;padding:11px 14px;box-shadow:var(--shadow);font-size:12px;animation:slide .2s ease}.toast.error{background:#b93645}@keyframes slide{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.report-kpis{grid-template-columns:repeat(3,1fr)}.pos-layout{grid-template-columns:1fr 360px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}@media(max-width:850px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin:0}.mobile-menu{display:block;border:0;background:#eef2f7;width:38px;height:38px;border-radius:10px;margin-right:10px}.topbar>div:first-of-type{margin-right:auto}.date-pill,.live-pill{display:none}.content{padding:16px}.dashboard-grid,.report-grid{grid-template-columns:1fr}.pos-layout{height:auto;grid-template-columns:1fr}.pos-products{min-height:500px}.cart-panel{min-height:540px}.report-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.kpi-grid,.report-kpis{grid-template-columns:1fr}.topbar{padding:12px 14px;height:74px}.topbar h1{font-size:19px}.content{padding:12px}.search input{width:220px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:32px 24px}.donut-wrap{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ================= VisualPOS Pro V3 ================= */
.brand-logo{width:42px;height:42px;border-radius:13px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 42px;box-shadow:0 10px 28px rgba(255,106,42,.18)}
.brand-logo img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.toolbar.wrap,.toolbar-left.wrap,.filters-card.wrap{flex-wrap:wrap}.toolbar label,.filters-card label{font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.toolbar label input,.toolbar label select,.filters-card label input,.filters-card label select{display:block;margin-top:5px;min-width:145px}
.toolbar-right,.action-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.btn.warn{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.btn.warn:hover{background:#ffedd5}
.sortable-head{cursor:pointer;user-select:none;position:relative;padding-right:20px!important}.sortable-head:after{content:'↕';position:absolute;right:7px;opacity:.35;font-size:10px}.sortable-head[data-dir="asc"]:after{content:'↑';opacity:.9}.sortable-head[data-dir="desc"]:after{content:'↓';opacity:.9}
.section-tabs{display:flex;gap:8px;align-items:center;overflow:auto;padding:4px;background:#edf1f7;border-radius:14px;margin:0 0 16px}.section-tabs button{border:0;background:transparent;padding:10px 14px;border-radius:10px;color:#667085;font:800 11px/1 inherit;white-space:nowrap;cursor:pointer}.section-tabs button.active{background:#fff;color:#111827;box-shadow:0 3px 12px rgba(15,23,42,.08)}
.modal-kpis{grid-template-columns:repeat(4,1fr);margin-bottom:15px}.detail-strip{display:flex;gap:18px;flex-wrap:wrap;background:#f8fafc;border:1px solid #edf1f5;border-radius:12px;padding:10px 13px;margin-bottom:12px;font-size:11px;color:#475467}.alert.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.role-guide{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:0 0 16px}.role-guide>div{background:#fff;border:1px solid #e8edf3;border-radius:14px;padding:13px;box-shadow:0 5px 18px rgba(15,23,42,.03)}.role-guide b{display:block;font-size:11px;color:#101828}.role-guide span{display:block;font-size:9px;color:#7d899b;margin-top:4px;line-height:1.35}
.permission-toolbar{display:flex;gap:8px;margin-bottom:12px}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.permission-grid section{border:1px solid #e6ebf1;border-radius:14px;padding:12px;background:#fbfcfe}.permission-grid h4{margin:0 0 9px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#667085}.perm-item{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:8px!important;border-radius:9px;margin:0!important;cursor:pointer}.perm-item:hover{background:#fff}.perm-item input{width:16px!important;height:16px!important;min-width:16px!important;margin-top:1px!important}.perm-item span{display:block}.perm-item b{display:block;font-size:11px;color:#172033}.perm-item small{display:block;font-size:9px;color:#98a2b3;margin-top:2px}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:16px}.logo-upload{text-align:center}.logo-upload img,.logo-placeholder{width:150px;height:110px;object-fit:contain;border:1px dashed #d7dee8;border-radius:14px;margin:0 auto 14px;background:#fbfcfe}.logo-placeholder{display:grid;place-items:center;font-weight:900;color:#98a2b3;font-size:24px}.logo-upload form{display:flex;flex-direction:column;gap:10px}.logo-upload input{border:1px solid #dfe5ec;border-radius:10px;padding:9px;background:#fff}
.receipt-preview{background:#fff;border:1px solid #e6ebf1;border-radius:16px;padding:20px;max-width:330px;margin:auto;text-align:center;font-family:ui-monospace,Consolas,monospace;box-shadow:0 10px 28px rgba(15,23,42,.05)}.preview-logo{width:60px;height:60px;border-radius:12px;background:#fff3ed;color:#ff6a2a;display:grid;place-items:center;margin:0 auto 8px;font-weight:900;font-size:24px;overflow:hidden}.preview-logo img{width:100%;height:100%;object-fit:contain}.receipt-preview h3{margin:5px 0}.receipt-line{border-top:1px dashed #98a2b3;margin:13px 0}.receipt-demo-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:6px 0;text-align:left}.receipt-demo-row.total{font-size:15px;font-weight:900}.tiny-label{display:block;font-size:9px;font-weight:800;color:#667085;text-transform:uppercase;margin-bottom:4px}
.insight-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.insight-metrics span{font-size:10px;color:#c7d0dd}.insight-metrics b{display:block;color:#fff;font-size:13px;margin-top:2px}.report-tabs{margin-top:18px}.report-tabs+div>.panel,.report-tabs+div>.grid{margin-bottom:16px}
.stock-bubble.out{background:#fee4e2!important;color:#b42318!important}.product-card:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}
textarea{font:inherit;border:1px solid #dfe5ec;border-radius:10px;padding:10px;color:#152033;background:#fff;resize:vertical;outline:none}textarea:focus{border-color:#ff9a70;box-shadow:0 0 0 3px rgba(255,106,42,.09)}
@media(max-width:1180px){.role-guide{grid-template-columns:repeat(3,1fr)}.settings-layout{grid-template-columns:1fr}.receipt-preview{max-width:420px}.permission-grid{grid-template-columns:1fr}}
@media(max-width:720px){.role-guide{grid-template-columns:repeat(2,1fr)}.modal-kpis{grid-template-columns:1fr 1fr}.section-tabs{border-radius:10px}.toolbar label input,.toolbar label select,.filters-card label input,.filters-card label select{min-width:120px}.action-row{min-width:180px}.insight-metrics{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.filters-card,.section-tabs,.no-print,.btn{display:none!important}.main{margin:0!important}.content{padding:0!important}.panel{break-inside:avoid;box-shadow:none}.data-table{font-size:9px}}


/* ================= VisualPOS Pro V4 ================= */
.dashboard-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e7ecf3;border-radius:16px;padding:12px 14px;margin-bottom:14px;box-shadow:0 5px 18px rgba(15,23,42,.03)}.dashboard-filter>div{margin-right:auto}.dashboard-filter label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#718096}.dashboard-filter input,.dashboard-filter select{display:block;margin-top:5px;min-width:145px}.quick-periods{display:flex;gap:6px;margin-top:5px}.executive-hero,.report-hero,.accounting-banner,.shift-hero{border-radius:22px;padding:22px 24px;margin-bottom:16px;display:flex;align-items:center;gap:20px;overflow:hidden;position:relative}.executive-hero{background:linear-gradient(135deg,#162136 0%,#24344f 60%,#ff6a2a 160%);color:#fff}.executive-hero:after{content:'';position:absolute;width:250px;height:250px;border:45px solid rgba(255,255,255,.035);border-radius:50%;right:-80px;top:-110px}.executive-hero>div:first-child{flex:1}.executive-hero h2,.report-hero h2,.accounting-banner h2,.shift-hero h2{margin:4px 0 6px;font-size:23px}.executive-hero p,.report-hero p,.accounting-banner p,.shift-hero p{margin:0;color:#c9d3e0;font-size:11px}.hero-number{text-align:right;z-index:1}.hero-number small{display:block;color:#aebbd0;text-transform:uppercase;font-size:9px;font-weight:900}.hero-number b{display:block;font-size:30px;margin:4px 0}.hero-number span{font-size:10px;font-weight:800}.hero-number .up{color:#55d6a5}.hero-number .down{color:#ff8e9a}.premium-kpis .kpi{border-top:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#ff6a2a,#ffb18d) border-box}.visual-panel{background:linear-gradient(180deg,#fff,#fcfdff)}.rank-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eef2f6}.rank-row:last-child{border:0}.rank{width:28px;height:28px;border-radius:9px;background:#fff1ea;color:#e85a1d;display:grid;place-items:center;font-weight:900}.rank-row b{display:block;font-size:11px}.rank-row small{display:block;color:#98a2b3;font-size:9px;margin-top:2px}.rank-row strong{font-size:11px}.report-hero{background:linear-gradient(135deg,#fff1e9,#fff 58%,#edf4ff);border:1px solid #f0e5df}.report-hero>div:first-child{flex:1}.report-hero p{color:#667085}.report-hero-icon,.ledger-badge{width:72px;height:72px;border-radius:22px;background:linear-gradient(145deg,#ff6a2a,#ff915f);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900;box-shadow:0 14px 30px rgba(255,106,42,.22)}.premium-filter{box-shadow:0 8px 28px rgba(15,23,42,.05)}.access-note{background:linear-gradient(90deg,#fff7ed,#fff);border:1px solid #fed7aa;border-left:4px solid #ff6a2a;border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:11px;color:#7c2d12}.rights-matrix-wrap{overflow:auto;border:1px solid #e7ecf3;border-radius:14px}.rights-matrix{width:100%;border-collapse:collapse;min-width:760px}.rights-matrix th{background:#f8fafc;color:#667085;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:11px;text-align:center}.rights-matrix th:first-child{text-align:left}.rights-matrix td{border-top:1px solid #edf1f5;padding:10px;text-align:center;font-size:10px}.rights-matrix td:first-child{text-align:left;min-width:200px}.matrix-check{display:inline-flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:6px 9px!important;border:1px solid #dfe5ec;border-radius:9px;background:#fff;cursor:pointer}.matrix-check input{width:15px!important;height:15px!important;margin:0!important}.matrix-check.full{background:#fff5ef;border-color:#ffd2bd}.na{color:#c2c9d3}.extra-right{display:block!important;margin:5px 0 0!important;font-size:9px!important;color:#8b5e4b!important}.extra-right input{width:13px!important;height:13px!important}.approval-card{text-align:center;padding:6px 10px 18px}.approval-icon{font-size:40px}.approval-card h3{margin:7px 0 4px}.approval-card p{color:#667085;font-size:11px;max-width:440px;margin:auto}.shift-hero{background:linear-gradient(135deg,#172033,#24344f);color:#fff}.shift-hero.closed{background:linear-gradient(135deg,#202b3d,#34415a)}.shift-hero>div:first-child{flex:1}.shift-metrics{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;min-width:480px}.shift-metrics span,.reconcile-summary span{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;font-size:9px;color:#bfc9d8}.shift-metrics b,.reconcile-summary b{display:block;color:#fff;font-size:14px;margin-top:3px}.reconcile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#172033;border-radius:14px;padding:10px;margin-bottom:14px}.variance-box{display:flex;justify-content:space-between;align-items:center;border-radius:14px;padding:14px;margin-top:12px;font-size:11px}.variance-box b{font-size:22px}.variance-box.ok{background:#eaf9f3;color:#087a55}.variance-box.over{background:#eef5ff;color:#265fb5}.variance-box.short{background:#fff0f1;color:#b52f40}.accounting-banner{background:linear-gradient(135deg,#152033,#25395c);color:#fff}.accounting-banner>div:first-child{flex:1}.coa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.account-list{padding:6px 14px 14px}.account-list button{width:100%;border:0;background:transparent;border-bottom:1px solid #edf1f5;padding:10px 2px;display:flex;justify-content:space-between;text-align:left;align-items:center}.account-list button:hover{background:#fbfcfe}.account-list b{display:block;font-size:10px}.account-list small{display:block;color:#98a2b3;font-size:8px;margin-top:2px}.account-list strong{font-size:10px}.journal-lines{display:grid;gap:8px;margin:14px 0}.journal-line{display:grid;grid-template-columns:1.4fr 1.3fr .7fr .7fr 34px;gap:7px}.journal-line select,.journal-line input{min-width:0}.journal-line button{border:0;border-radius:8px;background:#fff0f1;color:#c83d4e}.financial-kpis{grid-template-columns:repeat(3,1fr)}
@media(max-width:1050px){.shift-hero{display:block}.shift-metrics{min-width:0;margin:14px 0;grid-template-columns:repeat(2,1fr)}.coa-grid{grid-template-columns:1fr}.journal-line{grid-template-columns:1fr 1fr}.journal-line button{height:36px}.executive-hero{align-items:flex-start}.hero-number{min-width:190px}}
@media(max-width:680px){.executive-hero,.report-hero,.accounting-banner{display:block}.hero-number{text-align:left;margin-top:14px}.report-hero-icon,.ledger-badge{margin-top:14px}.reconcile-summary{grid-template-columns:repeat(2,1fr)}.dashboard-filter{align-items:stretch}.dashboard-filter label,.dashboard-filter input,.dashboard-filter select{width:100%}.financial-kpis{grid-template-columns:1fr}.shift-metrics{grid-template-columns:1fr 1fr}}


/* ================= VisualPOS Pro V5 ================= */
.inventory-hero,.transfer-hero{background:linear-gradient(135deg,#132039,#213453 68%,#ff6a2a 170%);color:#fff;border-radius:22px;padding:22px 24px;margin-bottom:15px;display:flex;align-items:center;gap:18px}.inventory-hero>div:first-child,.transfer-hero>div:first-child{flex:1}.inventory-hero h2,.transfer-hero h2{font-size:23px;margin:4px 0 6px}.inventory-hero p,.transfer-hero p{margin:0;color:#c8d3e2;font-size:11px}.inventory-hero-actions{display:flex;gap:8px}.stock-kpis{margin-bottom:15px}.purchase-guide{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;gap:8px;align-items:center;margin:0 0 15px;background:#fff;border:1px solid #e6ebf2;border-radius:16px;padding:12px}.purchase-guide>div{display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-items:center}.purchase-guide>div span{grid-row:1/3;width:30px;height:30px;border-radius:10px;background:#fff1ea;color:#e85a1d;display:grid;place-items:center;font-weight:900}.purchase-guide b{font-size:10px}.purchase-guide small{font-size:8px;color:#98a2b3}.purchase-guide i{text-align:center;color:#b2bdca}.po-builder{margin-top:14px}.po-add{display:grid;grid-template-columns:1.5fr .55fr .65fr auto;gap:8px;margin:10px 0}.po-add select,.po-add input{min-width:0}.receipt-confirm{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;padding:9px 10px;border:1px solid #e9edf3;border-radius:10px;margin-top:6px;font-size:9px}.receiving-banner{background:linear-gradient(135deg,#eef7ff,#fff);border:1px solid #d6e8f9;border-left:4px solid #4389d6;border-radius:14px;padding:12px 14px;margin-bottom:13px}.receiving-banner span{display:block;font-size:8px;text-transform:uppercase;font-weight:900;color:#6283a8}.receiving-banner b{display:block;font-size:16px;margin:2px 0}.receiving-banner small{color:#667085}.transfer-route{display:grid;grid-template-columns:1fr 50px 1fr;gap:10px;align-items:center;margin-bottom:15px}.transfer-route>div{background:#f8fafc;border:1px solid #e6ebf1;border-radius:14px;padding:14px}.transfer-route span{display:block;font-size:8px;color:#98a2b3;font-weight:900}.transfer-route b{display:block;font-size:15px;margin-top:3px}.transfer-route i{text-align:center;font-size:22px;color:#ff6a2a}.selling-header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e8edf3;border-radius:16px;padding:9px 12px;margin-bottom:10px}.selling-identity{display:flex;align-items:center;gap:9px}.sell-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#ff6a2a,#ff9360);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.selling-identity b,.selling-identity small{display:block}.selling-identity b{font-size:13px}.selling-identity small{font-size:9px;color:#7f8a99;margin-top:2px}.selling-actions{display:flex;align-items:end;gap:7px}.sell-branch span{display:block;font-size:8px;font-weight:900;color:#7a8798;text-transform:uppercase}.sell-branch select{min-width:155px}.branch-lock{padding:8px 10px;border-radius:10px;background:#f6f8fb;font-size:9px;font-weight:800}.v5-pos{height:calc(100vh - 200px);min-height:585px}.v5-pos .pos-products,.v5-pos .cart-panel{min-height:0}.v5-pos .product-grid{overflow:auto;align-content:start}.v5-report-kpis{grid-template-columns:repeat(6,1fr)}
body.selling-mode .sidebar,body.selling-mode .topbar{display:none!important}body.selling-mode .main{margin-left:0!important}body.selling-mode .content{padding:10px!important;height:100vh;overflow:hidden}body.selling-mode .selling-header{margin-bottom:8px}body.selling-mode .v5-pos{height:calc(100vh - 72px);min-height:0}body.selling-mode .pos-layout{gap:10px}body.selling-mode .pos-products,body.selling-mode .cart-panel{height:100%}body.selling-mode .cart-items{max-height:none;overflow:auto}body.cashier-selling-shell:not(.selling-mode) .topbar{display:none}body.cashier-selling-shell:not(.selling-mode) .main{padding-top:0}.cashier-selling-shell .content{padding-top:10px}
@media(max-width:1180px){.v5-report-kpis{grid-template-columns:repeat(3,1fr)}.purchase-guide{grid-template-columns:1fr 16px 1fr 16px 1fr 16px 1fr}.po-add{grid-template-columns:1fr 1fr}.inventory-hero,.transfer-hero{display:block}.inventory-hero-actions{margin-top:12px}}
@media(max-width:760px){.selling-header{display:block}.selling-actions{margin-top:8px;flex-wrap:wrap}.v5-pos{height:auto}.purchase-guide{grid-template-columns:1fr}.purchase-guide i{transform:rotate(90deg)}.transfer-route{grid-template-columns:1fr}.transfer-route i{transform:rotate(90deg)}.v5-report-kpis{grid-template-columns:1fr 1fr}.po-add{grid-template-columns:1fr}.receipt-confirm{grid-template-columns:1fr}body.selling-mode .content{height:auto;overflow:auto}body.selling-mode .v5-pos{height:auto}}

/* V5.1 branch control centre */
.branch-hero{background:linear-gradient(135deg,#111f36,#1f3657 70%,#ff6a2a 155%);color:#fff;border-radius:22px;padding:23px 25px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.branch-hero h2{margin:4px 0 6px;font-size:24px}.branch-hero p{margin:0;color:#c9d5e5;font-size:11px;max-width:780px}.branch-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.branch-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 6px 20px rgba(23,32,51,.04)}.branch-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.branch-card-top span:not(.badge){font-size:9px;font-weight:900;color:#ff6a2a;letter-spacing:.08em}.branch-card h3{margin:4px 0 0;font-size:16px}.branch-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 11px}.branch-card-stats>div{background:#f7f9fc;border:1px solid #edf0f5;border-radius:11px;padding:9px}.branch-card-stats small{display:block;font-size:8px;color:#8c97a8;text-transform:uppercase;font-weight:850}.branch-card-stats b{display:block;font-size:13px;margin-top:3px}.branch-card>p{font-size:9px;color:#7b8798;min-height:26px}.branch-card .action-row{margin-top:9px}.full-selling-tip{font-size:9px;color:#7b8798}
@media(max-width:1180px){.branch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.branch-hero{display:block}.branch-hero .btn{margin-top:12px}.branch-card-grid{grid-template-columns:1fr}}


/* ===== VisualPOS Pro V6 ===== */
.product-photo{width:100%;height:100%;object-fit:cover;display:block}.product-table-name{display:flex;align-items:center;gap:9px}.product-table-name img,.product-table-name>span{width:36px;height:36px;border-radius:9px;object-fit:cover;background:#f5f7fa;display:grid;place-items:center;font-size:20px}.product-image-field{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;border:1px dashed #d9e0e9;border-radius:13px;padding:10px}.product-image-field img,.image-placeholder{width:90px;height:78px;border-radius:10px;object-fit:cover;background:#f5f7fa;display:grid;place-items:center;color:#98a2b3}.product-image-field small{grid-column:2}.import-guide{display:grid;gap:14px}.import-guide>div{border:1px solid var(--line);border-radius:13px;padding:14px}.import-guide p{color:var(--muted);font-size:11px}.sync-pill{border:1px solid #dfe5ed;background:#fff;border-radius:999px;padding:8px 10px;font-size:9px;font-weight:900;white-space:nowrap}.sync-pill.online{color:#11845c;background:#ebf9f3}.sync-pill.pending{color:#b45c16;background:#fff4e9}.sync-pill.offline{color:#b42318;background:#fff0ef}.view-tools{display:flex;align-items:center;gap:4px}.view-tools select{padding:8px;font-size:10px}.active-view{border-color:#ff9b6c!important;color:#e45a1f!important;background:#fff3ed!important}.v6-pos{height:calc(100vh - 196px);min-height:560px;grid-template-columns:minmax(0,1fr) minmax(330px,390px);overflow:hidden}.v6-pos .pos-products,.v6-pos .cart-panel{min-width:0;min-height:0}.v6-pos .cart-panel{overflow:hidden}.v6-pos .cart-items{min-width:0;overflow-y:auto;overflow-x:hidden}.v6-pos .cart-item{min-width:0;overflow:hidden}.v6-pos .qty-row{min-width:0}.v6-pos .qty-row .remove{max-width:110px;white-space:normal;text-align:right;font-size:10px}.v6-pos .product-grid{min-height:0;overflow-y:auto;overflow-x:hidden}.product-grid.list-view{display:flex;flex-direction:column;gap:7px}.product-grid.list-view .product-card{min-height:76px;height:76px;display:grid;grid-template-columns:88px 1fr;text-align:left}.product-grid.list-view .prod-art{height:76px}.product-grid.list-view .pcopy{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 16px}.product-grid.list-view .pcopy h4{font-size:13px;margin:0}.product-grid.list-view .pcopy .price{grid-column:2;grid-row:1/3;font-size:16px}.camera-scanner{position:relative;max-width:720px;margin:auto}.camera-scanner video{width:100%;max-height:60vh;border-radius:16px;background:#111}.scan-frame{position:absolute;inset:25% 14%;border:3px solid #ff6a2a;border-radius:16px;box-shadow:0 0 0 9999px rgba(0,0,0,.18);pointer-events:none}.camera-scanner p{text-align:center;color:var(--muted)}.device-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.device-test{margin-top:16px;padding:14px;background:#f8fafc;border-radius:12px}.device-test input{width:100%;margin-bottom:6px}.offline-success{background:#fff8ed;border-radius:16px;padding:20px}body.selling-mode{overflow:hidden}body.selling-mode .content{max-width:none!important;width:100%!important;padding:8px!important}body.selling-mode .v6-selling-header{height:58px;margin:0 0 7px;border-radius:12px}body.selling-mode .v6-pos{height:calc(100vh - 73px)!important;min-height:0!important;grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important}body.selling-mode .pos-products,body.selling-mode .cart-panel{height:100%!important}body.selling-mode .product-grid{height:100%;align-content:start}html.selling-mode,html.selling-mode body{height:100%;overflow:hidden}.cart-line>*{min-width:0}.cart-line h4{overflow-wrap:anywhere}.qty-row{flex-wrap:wrap}.qty-row .remove{margin-left:auto!important}.pos-search{flex:0 0 auto}.category-strip{flex:0 0 auto}
@media(max-width:1000px){.v6-pos{grid-template-columns:minmax(0,1fr) 340px}.selling-actions{flex-wrap:wrap}.view-tools{order:5}.device-grid{grid-template-columns:1fr}}
@media(max-width:760px){body.selling-mode{overflow:auto}body.selling-mode .content{height:auto!important;overflow:visible!important}.v6-selling-header{position:sticky;top:0;z-index:30;display:flex!important;align-items:center}.selling-identity small{display:none}.selling-actions{margin:0 0 0 auto}.selling-actions .sell-branch,.selling-actions .branch-lock,.selling-actions>a,.selling-actions>#sellingModeBtn,.selling-actions>.view-tools{display:none}.v6-pos,body.selling-mode .v6-pos{height:auto!important;display:block!important}.v6-pos .pos-products{min-height:auto}.v6-pos .product-grid{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.v6-pos .cart-panel{margin-top:10px;min-height:440px}.product-card{min-height:155px}.prod-art{height:78px}.camera-scan-btn{display:inline-flex}.pos-search .badge{display:none}.category-strip{position:sticky;top:60px;z-index:20;background:var(--bg);padding:8px 0}.device-grid{grid-template-columns:1fr}}
@media(min-width:761px){.camera-scan-btn{display:none}}

body.selling-mode .app-shell{display:block!important;min-height:100vh!important}body.selling-mode .main{grid-column:auto!important;width:100%!important;min-width:0!important}.v6-pos .cart-panel *{min-width:0}.v6-pos .cart-head select{min-width:0;width:100%}.v6-pos .cart-summary{overflow:hidden}


/* ===== VisualPOS Pro V6.1 Mobile App UX ===== */
.mobile-cart-dock,.mobile-cart-close{display:none}
@media(max-width:760px){
  body{padding-bottom:76px}
  body.selling-mode{padding-bottom:76px}
  body.selling-mode .content{padding:6px 8px 82px!important}
  .v6-selling-header{height:54px!important;border-radius:12px!important;padding:7px 9px!important;margin-bottom:7px!important}
  .selling-identity{min-width:0}.selling-identity b{font-size:12px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sell-mark{width:34px;height:34px;font-size:18px}
  .selling-actions{gap:5px!important}.selling-actions #syncBadge{padding:6px 8px;font-size:8px}.selling-actions .camera-scan-btn{padding:8px 10px!important}
  .v6-pos .pos-products{width:100%}.pos-search{position:sticky;top:60px;z-index:24;background:var(--bg);padding-bottom:5px}.pos-search input{font-size:15px;min-height:47px}
  .category-strip{top:112px!important;padding:6px 0!important;gap:5px!important}.cat-chip{padding:8px 12px!important}
  .v6-pos .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding-bottom:90px}
  .product-card{min-height:148px!important;border-radius:14px!important}.prod-art{height:84px!important}.pcopy{padding:9px!important}.pcopy h4{font-size:12px!important}.pcopy .price{font-size:14px!important}
  .stock-bubble{font-size:8px!important;right:6px!important;top:6px!important}
  .v6-pos .cart-panel{position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important;height:100dvh!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;z-index:90!important;transform:translateY(102%);transition:transform .22s ease;background:#fff;display:flex!important;flex-direction:column!important;padding-top:max(8px,env(safe-area-inset-top))!important}
  body.mobile-cart-open .v6-pos .cart-panel{transform:translateY(0)}
  body.mobile-cart-open{overflow:hidden!important}
  .mobile-cart-close{display:flex;align-items:center;justify-content:flex-start;border:0;background:#f5f7fb;padding:13px 16px;font-weight:800;color:#243149;border-bottom:1px solid var(--line);width:100%}
  .cart-head{padding:10px 12px!important}.cart-items{flex:1!important;max-height:none!important;overflow:auto!important;padding:8px 12px!important}.cart-summary{padding:12px!important;padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
  .mobile-cart-dock{position:fixed;display:flex;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:58px;z-index:75;border:0;border-radius:17px;padding:0 17px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#ff6a2a,#ff8a50);color:#fff;box-shadow:0 16px 36px rgba(255,106,42,.35);font-weight:850}
  .mobile-cart-dock span{display:flex;align-items:center;gap:7px}.mobile-cart-dock b{min-width:23px;height:23px;border-radius:999px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:11px}.mobile-cart-dock strong{font-size:16px}
  .camera-scanner video{height:62vh;object-fit:cover}.camera-scanner{max-width:none}.modal-card{max-height:96dvh!important}
}
@media(max-width:390px){.v6-pos .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.product-card{min-height:136px!important}.prod-art{height:72px!important}.selling-identity b{max-width:115px}.mobile-cart-dock{left:7px;right:7px}}

/* ===== Ranwell POS V6.2 SaaS white-label themes ===== */
.powered-by{font-style:normal;font-size:8px;color:#7f8ca4;margin-top:3px;letter-spacing:.02em}.theme-toggle,.login-theme-toggle{border:1px solid var(--line);background:var(--panel);color:var(--text);width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:18px}.login-theme-toggle{position:fixed;right:24px;top:24px;z-index:50;box-shadow:var(--shadow)}.login-main-logo{width:72px;height:72px;border-radius:18px}.login-powered{display:block;color:#8ea0ba;margin-top:7px}.theme-presets,.preview-theme-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.brand-preview-card{border-radius:22px;padding:26px;background:linear-gradient(145deg,var(--nav),#253550);color:#fff;min-height:320px;display:flex;flex-direction:column;justify-content:center}.brand-preview-card p{color:#c4cedd;line-height:1.6}.brand-preview-logo{width:76px;height:76px;background:#fff;border-radius:20px;display:grid;place-items:center;overflow:hidden;color:var(--primary);font-size:38px;font-weight:900;margin:16px 0}.brand-preview-logo img{width:100%;height:100%;object-fit:contain;padding:7px}
html[data-theme="dark"]{--bg:#0d1420;--panel:#121c2b;--text:#edf3fb;--muted:#98a8bd;--line:#243148;--green:#34d399;--red:#fb7185;--blue:#60a5fa;--shadow:0 14px 38px rgba(0,0,0,.28)}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .kpi,html[data-theme="dark"] .cart-panel,html[data-theme="dark"] .pos-search,html[data-theme="dark"] .product-card,html[data-theme="dark"] .cat-chip,html[data-theme="dark"] .modal,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .filters-card,html[data-theme="dark"] .login-shell,html[data-theme="dark"] .receipt-preview{background:#121c2b;color:var(--text);border-color:var(--line)}html[data-theme="dark"] .data-table th{background:#101927;color:#9badc4;border-color:var(--line)}html[data-theme="dark"] .data-table td{border-color:#1e2a3d}html[data-theme="dark"] .data-table tr:hover td{background:#152235}html[data-theme="dark"] .btn.ghost,html[data-theme="dark"] .theme-toggle{background:#172337;color:#dce7f5;border-color:#2b3a51}html[data-theme="dark"] .btn.secondary{background:#223047;color:#e6eef8}html[data-theme="dark"] .date-pill,html[data-theme="dark"] .live-pill{background:#152235;border-color:#2b3a51;color:#b8c6d8}html[data-theme="dark"] .prod-art{background:linear-gradient(180deg,#152235,#121c2b)}html[data-theme="dark"] .stock-bubble{background:#172337;border-color:#2b3a51;color:#c1cede}html[data-theme="dark"] .cart-item{border-color:#26344a}html[data-theme="dark"] .qty-row button{background:#172337;color:#eaf2fb;border-color:#2b3a51}html[data-theme="dark"] .login-page,html[data-theme="dark"] .install-page{background:radial-gradient(circle at 10% 10%,rgba(181,138,47,.18),transparent 30%),linear-gradient(135deg,#08111e,#101b2d)}html[data-theme="dark"] .login-card{background:#121c2b}html[data-theme="dark"] .login-brand{background:linear-gradient(145deg,#0f1928,#1a2940)}html[data-theme="dark"] .modal-backdrop{background:rgba(0,0,0,.72)}html[data-theme="dark"] .empty-state b,html[data-theme="dark"] .section-title h2{color:#e7eef8}

/* =====================================================
   Ranwell POS V7 Sprint 001 — Premium Commerce Design System
   ===================================================== */
:root{
  --v7-page:#f3f6fb;--v7-surface:#ffffff;--v7-surface-2:#f8faff;--v7-ink:#10203d;--v7-sub:#73809a;
  --v7-border:#e4eaf3;--v7-blue:#244596;--v7-blue-2:#17377f;--v7-soft-blue:#eef3ff;
  --v7-shadow:0 18px 50px rgba(19,39,78,.08);--v7-shadow-sm:0 8px 24px rgba(19,39,78,.06);
  --r:var(--ui-radius,22px);
}
html[data-theme="dark"]{--v7-page:#091222;--v7-surface:#101b2d;--v7-surface-2:#142239;--v7-ink:#f3f7ff;--v7-sub:#9eb0c8;--v7-border:#233552;--v7-soft-blue:#14284b;--v7-shadow:0 20px 60px rgba(0,0,0,.30);--v7-shadow-sm:0 9px 26px rgba(0,0,0,.24)}
body.ui-premium{background:var(--v7-page);letter-spacing:-.005em}
body.ui-premium .content{padding:26px 30px 40px;max-width:1760px}
body.ui-premium .sidebar{width:250px;padding:18px 15px;background:linear-gradient(180deg,var(--nav) 0%,color-mix(in srgb,var(--nav) 78%,#020817) 100%);box-shadow:12px 0 38px rgba(8,18,36,.08)}
body.ui-premium .app-shell{grid-template-columns:250px 1fr}
body.ui-premium .brand{padding:7px 10px 25px}.brand-logo{border-radius:15px!important;box-shadow:0 10px 28px rgba(0,0,0,.13)}
body.ui-premium .brand-copy b{font-size:16px;letter-spacing:-.02em}.brand-copy small{font-size:11px}
body.ui-premium .sidebar nav{gap:7px}.sidebar nav button{padding:12px 13px;border-radius:14px;font-size:13px;font-weight:650}.sidebar nav button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 26%,transparent),rgba(255,255,255,.08));box-shadow:inset 4px 0 var(--primary),0 10px 24px rgba(0,0,0,.08)}
body.ui-premium .nav-label{margin-top:18px;font-size:9px;letter-spacing:.16em}
body.ui-premium .topbar{height:94px;padding:17px 30px;border:0;background:color-mix(in srgb,var(--v7-surface) 94%,transparent);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--v7-border)}
body.ui-premium .topbar h1{font-size:25px}.top-actions{gap:9px}.live-pill,.date-pill,.theme-toggle{border-color:var(--v7-border);background:var(--v7-surface-2)}
body.ui-premium .icon-btn{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 30%,transparent)}
body.ui-premium .panel,body.ui-premium .kpi{border-color:var(--v7-border);border-radius:var(--r);box-shadow:var(--v7-shadow-sm)}
body.ui-premium .panel-head{padding:20px 22px}.panel-head h3{font-size:15px}.panel-body{padding:21px}
body.ui-premium .kpi{padding:21px}.kpi .value{font-size:30px}.kpi .icon{border-radius:13px;width:40px;height:40px}
body.ui-premium .btn{border-radius:13px;padding:11px 16px}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 24%,transparent)}.btn.ghost{background:var(--v7-surface);border-color:var(--v7-border)}
body.ui-premium input,body.ui-premium select,body.ui-premium textarea{border-radius:13px;border-color:var(--v7-border);background:var(--v7-surface)}
body.ui-premium .data-table th{background:var(--v7-surface-2);padding:13px 15px}.data-table td{padding:14px 15px}.data-table tr:hover td{background:color-mix(in srgb,var(--primary) 4%,var(--v7-surface))}

/* dashboard foundation */
.v7-dashboard-hero{position:relative;overflow:hidden;border-radius:30px;padding:30px 32px;margin-bottom:18px;color:#fff;background:linear-gradient(115deg,var(--nav) 0%,color-mix(in srgb,var(--nav) 72%,var(--primary)) 70%,var(--primary) 160%);box-shadow:0 24px 60px color-mix(in srgb,var(--nav) 22%,transparent);display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:28px;align-items:center}
.v7-dashboard-hero:after{content:"";position:absolute;width:360px;height:360px;border:70px solid rgba(255,255,255,.06);border-radius:50%;right:-130px;top:-170px}.v7-dashboard-hero>*{position:relative;z-index:1}.v7-dashboard-hero .eyebrow{color:color-mix(in srgb,var(--primary2) 76%,#fff);font-weight:900}.v7-dashboard-hero h2{font-size:31px;line-height:1.1;margin:9px 0 10px;letter-spacing:-.04em}.v7-dashboard-hero p{margin:0;color:#d9e3f4;max-width:720px;font-size:13px;line-height:1.6}.v7-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.v7-hero-actions .v7-action{min-width:120px;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px 16px;background:rgba(255,255,255,.09);color:#fff;text-align:left;backdrop-filter:blur(8px);font-weight:800}.v7-action span{display:block;font-size:20px;margin-bottom:7px}.v7-action small{display:block;color:#ced9eb;font-weight:500;margin-top:2px}
.dashboard-filter{border:1px solid var(--v7-border)!important;background:var(--v7-surface)!important;border-radius:20px!important;box-shadow:var(--v7-shadow-sm)!important;padding:15px 17px!important}

/* selling screen / digital mall inspired composition */
.v7-selling .selling-header{border:0!important;border-radius:22px!important;background:linear-gradient(110deg,var(--nav),color-mix(in srgb,var(--nav) 80%,var(--primary)))!important;color:#fff!important;box-shadow:0 16px 38px color-mix(in srgb,var(--nav) 20%,transparent);padding:12px 16px!important}.v7-selling .selling-header .tiny-label{color:#aebbd0}.v7-selling .selling-header small{color:#c8d3e4}.v7-selling .sell-mark{background:#fff!important;color:var(--primary)!important;border-radius:14px!important;box-shadow:0 8px 22px rgba(0,0,0,.12)}.v7-selling .selling-actions .btn.ghost,.v7-selling .selling-actions select,.v7-selling .branch-lock,.v7-selling .sync-pill{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.15)!important}.v7-selling .selling-actions option{color:#111}
.v7-selling .pos-layout{gap:15px!important}.v7-selling .pos-products{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:26px;padding:16px;box-shadow:var(--v7-shadow-sm)}
.v7-selling .pos-search{border:2px solid color-mix(in srgb,var(--primary) 55%,var(--v7-border));border-radius:20px!important;padding:10px 14px!important;box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 10%,transparent)}.v7-selling .pos-search>span:first-child{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%,var(--v7-surface));color:var(--primary);font-size:20px}.v7-selling .pos-search input{font-size:15px!important;font-weight:650}.v7-selling .category-strip{gap:9px;padding:13px 1px}.v7-selling .cat-chip{padding:10px 15px;border-radius:15px!important;font-size:11px;border-color:var(--v7-border);box-shadow:0 4px 10px rgba(20,38,70,.03)}.v7-selling .cat-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary2));border-color:transparent;color:#fff;box-shadow:0 9px 20px color-mix(in srgb,var(--primary) 22%,transparent)}
.v7-selling .product-grid{gap:12px}.v7-selling .product-card{border-radius:20px!important;border-color:var(--v7-border);min-height:188px;background:var(--v7-surface);box-shadow:0 5px 16px rgba(18,39,76,.045)}.v7-selling .product-card:hover{transform:translateY(-3px);box-shadow:var(--v7-shadow);border-color:color-mix(in srgb,var(--primary) 50%,var(--v7-border))}.v7-selling .prod-art{height:108px!important;background:linear-gradient(180deg,var(--v7-surface),var(--v7-surface-2))}.v7-selling .product-photo{width:100%;height:100%;object-fit:cover}.v7-selling .stock-bubble{top:9px;right:9px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--v7-surface) 92%,transparent);backdrop-filter:blur(10px)}.v7-selling .pcopy{padding:12px 13px!important}.v7-selling .pcopy h4{font-size:13px!important;margin-bottom:6px}.v7-selling .pcopy .price{font-size:16px!important;color:var(--primary)}
.v7-selling .cart-panel{border-radius:26px!important;border-color:var(--v7-border);box-shadow:var(--v7-shadow)!important}.v7-selling .cart-head{padding:16px!important;background:var(--v7-surface-2)}.v7-selling .customer-select select{height:46px;font-weight:700}.v7-selling .cart-items{padding:12px!important}.v7-selling .cart-item{border-radius:16px!important;padding:12px!important;background:var(--v7-surface)}.v7-selling .cart-summary{padding:17px!important;background:linear-gradient(180deg,var(--v7-surface),var(--v7-surface-2))}.v7-selling .sum-row.total{font-size:21px!important}.v7-selling .checkout-btn{height:54px!important;border-radius:16px!important;background:linear-gradient(135deg,var(--primary),var(--primary2))!important;box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 25%,transparent)}
body.selling-mode.v7-selling .content{padding:8px!important;background:var(--v7-page)}body.selling-mode.v7-selling .v6-pos{height:calc(100vh - 82px)!important}

/* report hub */
.v7-report-hero{border-radius:30px;padding:30px 32px;background:linear-gradient(120deg,var(--nav),color-mix(in srgb,var(--nav) 80%,var(--primary)));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 22px 52px color-mix(in srgb,var(--nav) 20%,transparent);margin-bottom:18px}.v7-report-hero h2{font-size:30px;margin:8px 0}.v7-report-hero p{color:#cbd6e7;max-width:820px;margin:0;line-height:1.6}.v7-report-hero .eyebrow{color:color-mix(in srgb,var(--primary2) 70%,#fff)}.v7-report-mark{width:76px;height:76px;border-radius:22px;background:rgba(255,255,255,.10);display:grid;place-items:center;font-size:34px;border:1px solid rgba(255,255,255,.15)}.premium-filter{border-radius:20px!important;box-shadow:var(--v7-shadow-sm);border-color:var(--v7-border)!important;background:var(--v7-surface)!important}

/* theme configurator */
.v7-theme-config{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.v7-theme-preview{border-radius:28px;padding:26px;background:linear-gradient(145deg,var(--nav),color-mix(in srgb,var(--nav) 72%,var(--primary)));color:#fff;min-height:430px;position:relative;overflow:hidden;box-shadow:var(--v7-shadow)}.v7-theme-preview:after{content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(255,255,255,.06);border-radius:50%;right:-100px;top:-100px}.v7-theme-preview>*{position:relative;z-index:1}.v7-preview-window{margin-top:22px;background:var(--v7-surface);color:var(--v7-ink);border-radius:20px;padding:13px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.v7-preview-nav{display:flex;gap:8px}.v7-preview-nav i{height:10px;border-radius:999px;background:var(--v7-border);flex:1}.v7-preview-nav i:first-child{background:var(--primary);flex:1.4}.v7-preview-card{height:112px;border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--v7-surface)),var(--v7-surface));margin-top:12px;border:1px solid var(--v7-border);padding:16px}.v7-swatch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.v7-swatch{height:42px;border-radius:13px;border:2px solid rgba(255,255,255,.16)}

/* clean & compact modes */
body.ui-clean .panel,body.ui-clean .kpi{box-shadow:none!important}body.ui-clean .sidebar{box-shadow:none!important}body.ui-clean .topbar{box-shadow:none!important}
body.density-compact .content{padding:18px 22px 28px}body.density-compact .panel-body{padding:15px}body.density-compact .data-table td{padding:10px 12px}body.density-compact .data-table th{padding:10px 12px}body.density-compact .btn{padding:9px 12px}

/* dark mode premium corrections */
html[data-theme="dark"] .v7-selling .pos-products,html[data-theme="dark"] .v7-theme-preview .v7-preview-window{background:var(--v7-surface);border-color:var(--v7-border)}
html[data-theme="dark"] .v7-selling .cart-head,html[data-theme="dark"] .v7-selling .cart-summary{background:var(--v7-surface-2)}
html[data-theme="dark"] .dashboard-filter,html[data-theme="dark"] .premium-filter{background:var(--v7-surface)!important;border-color:var(--v7-border)!important}

@media(max-width:1100px){.v7-dashboard-hero{grid-template-columns:1fr}.v7-hero-actions{justify-content:flex-start}.v7-theme-config{grid-template-columns:1fr}.v7-selling .pos-layout{grid-template-columns:minmax(0,1fr) 355px}}
@media(max-width:850px){body.ui-premium .content{padding:16px}.v7-dashboard-hero,.v7-report-hero{border-radius:22px;padding:22px}.v7-dashboard-hero h2,.v7-report-hero h2{font-size:24px}.v7-report-mark{display:none}.v7-selling .pos-products{border-radius:18px;padding:10px}.v7-selling .cart-panel{border-radius:18px!important}}
@media(max-width:760px){.v7-selling .pos-products{border:0;box-shadow:none;padding:4px;background:transparent}.v7-selling .selling-header{border-radius:16px!important}.v7-selling .product-card{min-height:160px!important}.v7-selling .prod-art{height:88px!important}.v7-dashboard-hero{margin:0 0 12px}.v7-hero-actions{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.v7-hero-actions .v7-action{min-width:0}.v7-theme-config{display:block}.v7-theme-preview{margin-top:16px;min-height:330px}}


/* ===== Ranwell POS V7.0.1 — Full-system theme propagation ===== */
.colour-control{display:flex;align-items:center;gap:10px}.colour-control input[type="color"]{width:54px!important;height:40px!important;padding:3px!important;border-radius:12px!important;cursor:pointer}.colour-control code{font-size:10px;color:var(--v7-sub);background:var(--v7-surface-2);border:1px solid var(--v7-border);border-radius:9px;padding:7px 9px;text-transform:uppercase}.theme-help{margin-top:14px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--primary) 7%,var(--v7-surface));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--v7-border));font-size:11px;color:var(--v7-sub)}.theme-preset-active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 22%,transparent)!important}
body.ui-premium,body.ui-clean{background:var(--v7-page)!important;color:var(--v7-ink)}body.ui-premium .main,body.ui-clean .main{background:var(--v7-page)}
body.ui-premium .panel,body.ui-premium .kpi,body.ui-premium .cart-panel,body.ui-premium .product-card,body.ui-premium .filters-card,body.ui-premium .dashboard-filter,body.ui-premium .purchase-guide,body.ui-premium .device-test,body.ui-premium .transfer-route>div,body.ui-premium .rights-matrix-wrap,body.ui-premium .receipt-preview,body.ui-premium .section-tabs,body.ui-clean .panel,body.ui-clean .kpi{background:var(--v7-surface)!important;color:var(--v7-ink);border-color:var(--v7-border)!important}
body.ui-premium .topbar,body.ui-clean .topbar{background:color-mix(in srgb,var(--v7-surface) 96%,transparent)!important;color:var(--v7-ink);border-color:var(--v7-border)!important}
body.ui-premium input,body.ui-premium select,body.ui-premium textarea,body.ui-clean input,body.ui-clean select,body.ui-clean textarea{background:var(--v7-surface)!important;color:var(--v7-ink)!important;border-color:var(--v7-border)!important}
body.ui-premium input:focus,body.ui-premium select:focus,body.ui-premium textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)!important}
body.ui-premium .data-table th,body.ui-clean .data-table th{background:var(--v7-surface-2)!important;color:var(--v7-sub)!important;border-color:var(--v7-border)!important}.data-table td{border-color:var(--v7-border)!important}.data-table tr:hover td{background:color-mix(in srgb,var(--primary) 5%,var(--v7-surface))!important}
body.ui-premium .btn.primary,body.ui-clean .btn.primary,body.ui-premium .icon-btn,body.ui-premium .checkout-btn,body.ui-premium .mobile-cart-dock{background:linear-gradient(135deg,var(--primary),var(--primary2))!important;color:#fff!important;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 25%,transparent)!important}
body.ui-premium .btn.ghost,body.ui-clean .btn.ghost{background:var(--v7-surface)!important;color:var(--v7-ink)!important;border-color:var(--v7-border)!important}.btn.ghost:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--v7-border))!important;color:var(--primary)!important}
body.ui-premium .badge.blue{background:color-mix(in srgb,var(--primary) 10%,var(--v7-surface-2))!important;color:var(--primary)!important}.kpi .icon{background:color-mix(in srgb,var(--primary) 10%,var(--v7-surface))!important;color:var(--primary)!important}.metric-line .fill{background:linear-gradient(90deg,var(--primary),var(--primary2))!important}
body.ui-premium .cat-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary2))!important;border-color:transparent!important}.product-card:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--v7-border))!important}.product-card .price{color:var(--primary)}
body.ui-premium .section-tabs button.active,body.ui-premium .settings-tabs button.active{color:var(--primary)!important;border-color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 7%,var(--v7-surface))!important}
body.ui-premium .inventory-hero,body.ui-premium .transfer-hero,body.ui-premium .accounting-banner,body.ui-premium .shift-hero,body.ui-premium .executive-hero,body.ui-premium .v7-dashboard-hero,body.ui-premium .v7-report-hero{background:linear-gradient(120deg,var(--nav),color-mix(in srgb,var(--nav) 76%,var(--primary)))!important}
body.ui-premium .report-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--v7-surface)),var(--v7-surface) 58%,color-mix(in srgb,var(--primary2) 8%,var(--v7-surface)))!important;border-color:var(--v7-border)!important}.report-hero-icon,.ledger-badge{background:linear-gradient(145deg,var(--primary),var(--primary2))!important;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 24%,transparent)!important}
body.ui-premium .purchase-guide>div span,body.ui-premium .rank{background:color-mix(in srgb,var(--primary) 10%,var(--v7-surface))!important;color:var(--primary)!important}.transfer-route i{color:var(--primary)!important}.receiving-banner{background:color-mix(in srgb,var(--primary) 6%,var(--v7-surface))!important;border-color:color-mix(in srgb,var(--primary) 22%,var(--v7-border))!important;border-left-color:var(--primary)!important}
body.ui-premium .sidebar{background:linear-gradient(180deg,var(--nav),color-mix(in srgb,var(--nav) 76%,#020817))!important}.sidebar nav button.active{box-shadow:inset 4px 0 var(--primary),0 10px 24px rgba(0,0,0,.08)!important}.sidebar nav button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 25%,transparent),rgba(255,255,255,.08))!important}
body.ui-premium .v7-theme-preview,body.ui-premium .brand-preview-card{background:linear-gradient(145deg,var(--nav),color-mix(in srgb,var(--nav) 72%,var(--primary)))!important}
html[data-theme="dark"] body.ui-premium .purchase-guide,html[data-theme="dark"] body.ui-premium .device-test,html[data-theme="dark"] body.ui-premium .transfer-route>div,html[data-theme="dark"] body.ui-premium .rights-matrix-wrap,html[data-theme="dark"] body.ui-premium .section-tabs{background:var(--v7-surface)!important;color:var(--v7-ink)!important;border-color:var(--v7-border)!important}html[data-theme="dark"] .account-list button{border-color:var(--v7-border)!important;color:var(--v7-ink)}html[data-theme="dark"] .account-list button:hover{background:var(--v7-surface-2)!important}html[data-theme="dark"] .rights-matrix th{background:var(--v7-surface-2)!important;color:var(--v7-sub)!important}html[data-theme="dark"] .rights-matrix td{border-color:var(--v7-border)!important}html[data-theme="dark"] .matrix-check{background:var(--v7-surface-2)!important;border-color:var(--v7-border)!important;color:var(--v7-ink)!important}


/* =========================================================
   Ranwell POS V7 Sprint 002 — Preview-to-Live UI Alignment
   ========================================================= */
:root{--v72-max:1500px;--v72-shell-h:92px;--v72-soft-shadow:0 18px 50px rgba(19,39,78,.10)}
.v72-app-shell{display:block!important;min-height:100vh}.v72-main{margin:0!important;grid-column:auto!important;min-width:0;background:var(--v7-page)}
.v72-shellbar{min-height:var(--v72-shell-h);background:linear-gradient(105deg,var(--nav),color-mix(in srgb,var(--nav) 90%,var(--primary)));color:#fff;display:flex;align-items:center;gap:24px;padding:15px 28px;position:sticky;top:0;z-index:60;box-shadow:0 12px 34px rgba(9,25,55,.18)}
.v72-brand{display:flex;align-items:center;gap:12px;min-width:210px}.v72-brand .brand-logo{width:48px;height:48px;border-radius:15px;background:#fff}.v72-brand-copy{display:flex;flex-direction:column}.v72-brand-copy b{font-size:19px;line-height:1.15}.v72-brand-copy small{font-size:10px;color:rgba(255,255,255,.68);margin-top:4px}
.v72-primary-nav{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.v72-primary-nav button{border:0;color:#fff;background:rgba(255,255,255,.08);padding:12px 17px;border-radius:14px;font-weight:750;font-size:13px;white-space:nowrap;transition:.18s}.v72-primary-nav button:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}.v72-primary-nav button.active{background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 10px 26px color-mix(in srgb,var(--primary) 34%,transparent)}
.v72-shell-actions{display:flex;align-items:center;gap:9px}.v72-online{display:flex;gap:7px;align-items:center;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.09);font-size:11px}.v72-online i{width:8px;height:8px;border-radius:50%;background:#35d49a}.v72-icon-action,.v72-menu-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-size:18px}.v72-new-sale{height:42px;border:0;border-radius:13px;padding:0 15px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:800;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 30%,transparent)}
.v72-more-menu{position:fixed;right:22px;top:82px;z-index:80;width:min(720px,calc(100vw - 44px));background:var(--v7-surface);color:var(--v7-ink);border:1px solid var(--v7-border);border-radius:24px;padding:18px;box-shadow:0 30px 90px rgba(8,20,42,.28)}.v72-more-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 14px}.v72-more-head b,.v72-more-head small{display:block}.v72-more-head small{color:var(--v7-sub);font-size:11px;margin-top:3px}.v72-more-head button{width:34px;height:34px;border:0;border-radius:10px;background:var(--v7-surface-2);color:var(--v7-ink);font-size:20px}.v72-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v72-more-grid button{border:1px solid var(--v7-border);background:var(--v7-surface);color:var(--v7-ink);border-radius:17px;padding:14px;text-align:left;display:grid;grid-template-columns:34px 1fr;column-gap:9px;align-items:center}.v72-more-grid button>span{grid-row:span 2;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--primary) 10%,var(--v7-surface));color:var(--primary);display:grid;place-items:center}.v72-more-grid button b{font-size:12px}.v72-more-grid button small{font-size:9px;color:var(--v7-sub)}.v72-more-grid button:hover,.v72-more-grid button.active{border-color:color-mix(in srgb,var(--primary) 50%,var(--v7-border));background:color-mix(in srgb,var(--primary) 5%,var(--v7-surface))}.v72-user-strip{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;margin-top:14px;padding:14px 4px 2px;border-top:1px solid var(--v7-border)}.v72-user-strip b,.v72-user-strip small{display:block}.v72-user-strip small{font-size:10px;color:var(--v7-sub)}.v72-user-strip a{color:var(--primary);font-size:11px;font-weight:800}
.v72-contextbar{height:72px!important;max-width:var(--v72-max);margin:0 auto;padding:14px 30px!important;background:transparent!important;border:0!important;box-shadow:none!important;position:relative!important}.v72-contextbar h1{font-size:23px}.v72-content{max-width:var(--v72-max)!important;padding:26px 30px 40px!important;margin:0 auto!important}.v72-content>.section-title:first-child{margin-top:0}
body[data-page="dashboard"] .v72-contextbar,body[data-page="pos"] .v72-contextbar{display:none}.v72-main{padding-top:0}

/* Dashboard mirrors preview hierarchy */
.v72-preview-hero{background:linear-gradient(115deg,var(--nav),color-mix(in srgb,var(--nav) 84%,#17377f) 68%,color-mix(in srgb,var(--nav) 74%,var(--primary)));color:#fff;border-radius:30px;padding:32px 38px;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:30px;box-shadow:0 24px 60px rgba(19,39,78,.16);overflow:hidden;position:relative}.v72-preview-hero:after{content:"";position:absolute;width:350px;height:350px;border:70px solid rgba(255,255,255,.055);border-radius:50%;right:-150px;top:-180px}.v72-hero-copy,.v72-preview-actions{position:relative;z-index:1}.v72-preview-hero .eyebrow{color:rgba(255,255,255,.78)}.v72-preview-hero h2{font-size:36px;line-height:1.08;max-width:620px;margin:10px 0 10px;letter-spacing:-.045em}.v72-preview-hero p{color:#dbe5f6;font-size:14px;max-width:660px;line-height:1.7}.v72-preview-actions{display:grid;grid-template-columns:repeat(2,150px);gap:12px;align-self:center}.v72-preview-actions button{min-height:112px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);color:#fff;border-radius:20px;padding:17px;text-align:left;backdrop-filter:blur(8px)}.v72-preview-actions button:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}.v72-preview-actions span{display:block;font-size:24px;margin-bottom:12px}.v72-preview-actions b,.v72-preview-actions small{display:block}.v72-preview-actions b{font-size:15px}.v72-preview-actions small{color:rgba(255,255,255,.70);font-size:10px;margin-top:5px}.v72-dashboard-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}.v72-dashboard-controls select,.v72-dashboard-controls input{height:38px;padding:7px 10px!important;background:rgba(255,255,255,.96)!important;border-color:rgba(255,255,255,.18)!important;font-size:10px}.v72-dashboard-controls select{min-width:150px}.v72-period-pills{display:flex;gap:6px}.v72-period-pills button,.v72-apply{height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.15);padding:0 12px;font-size:10px;font-weight:800}.v72-period-pills button{background:rgba(255,255,255,.10);color:#fff}.v72-apply{border:0;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}
.v72-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.v72-kpis article{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:22px;padding:22px 24px;box-shadow:0 8px 24px rgba(19,39,78,.055)}.v72-kpis small{display:block;color:var(--v7-sub);font-size:11px}.v72-kpis strong{display:block;font-size:28px;margin-top:8px;letter-spacing:-.035em}.v72-kpis span{display:block;margin-top:7px;color:var(--v7-sub);font-size:10px}
.v72-commerce-snapshot{display:grid;grid-template-columns:minmax(0,1.5fr) 390px;gap:18px;margin-bottom:20px}.v72-catalog-preview,.v72-pulse-card{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:26px;box-shadow:0 10px 28px rgba(19,39,78,.055)}.v72-catalog-preview{padding:18px}.v72-preview-search{border:2px solid color-mix(in srgb,var(--primary) 68%,#fff);border-radius:20px;padding:13px 15px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:var(--v7-sub);font-size:12px}.v72-preview-search>span:first-child{font-size:19px;color:var(--primary)}.v72-preview-search button{border:0;background:var(--primary);color:#fff;border-radius:11px;padding:8px 12px;font-weight:800;font-size:10px}.v72-category-preview{display:flex;gap:8px;overflow:auto;padding:14px 0}.v72-category-preview span{white-space:nowrap;border:1px solid var(--v7-border);border-radius:14px;padding:8px 12px;font-size:10px}.v72-category-preview .active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-color:transparent}.v72-product-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.v72-product-preview button{padding:0;text-align:left;overflow:hidden;border:1px solid var(--v7-border);background:var(--v7-surface);color:var(--v7-ink);border-radius:19px}.v72-product-preview button:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--v7-border));transform:translateY(-2px);box-shadow:var(--v72-soft-shadow)}.v72-product-art{height:96px;display:grid;place-items:center;background:linear-gradient(180deg,var(--v7-surface),var(--v7-surface-2));font-size:38px}.v72-product-art img{width:100%;height:100%;object-fit:contain;padding:7px}.v72-product-preview button>div:last-child{padding:12px}.v72-product-preview b,.v72-product-preview strong,.v72-product-preview small{display:block}.v72-product-preview b{font-size:11px}.v72-product-preview strong{color:var(--primary);font-size:14px;margin-top:7px}.v72-product-preview small{font-size:8px;color:var(--v7-sub);margin-top:4px}.v72-pulse-card{padding:20px;display:flex;flex-direction:column}.v72-pulse-head{display:flex;justify-content:space-between;gap:15px}.v72-pulse-head h3{margin:5px 0 0;font-size:18px}.v72-change{border-radius:999px;padding:7px 9px;font-size:10px;font-weight:900;height:max-content}.v72-change.up{background:#e8f7f1;color:#138159}.v72-change.down{background:#fdecef;color:#c83c4b}.v72-pulse-total{padding:24px 0 18px}.v72-pulse-total small,.v72-pulse-total strong{display:block}.v72-pulse-total small{color:var(--v7-sub);font-size:10px}.v72-pulse-total strong{font-size:34px;margin-top:7px}.v72-mini-stat{display:flex;justify-content:space-between;border-top:1px solid var(--v7-border);padding:12px 0;font-size:11px}.v72-checkout-look{margin-top:auto;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border:0;border-radius:16px;padding:15px 16px;font-weight:900;display:flex;justify-content:space-between}.v72-analysis-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:18px;margin-bottom:18px}.v72-panel{border-radius:24px!important}.v72-top-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--v7-border)}.v72-top-row>span{width:28px;height:28px;border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,var(--v7-surface));color:var(--primary);display:grid;place-items:center;font-weight:850;font-size:10px}.v72-top-row b,.v72-top-row small{display:block}.v72-top-row small{color:var(--v7-sub);font-size:8px}.v72-top-row>div>div{height:5px;background:var(--v7-surface-2);border-radius:99px;overflow:hidden;margin:5px 0}.v72-top-row i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary2));border-radius:99px}.v72-top-row strong{font-size:11px}

/* POS looks like the preview, but uses the real checkout engine. */
body[data-page="pos"] .v72-content{padding-top:22px!important;max-width:1650px!important}.v72-selling-header{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 14px!important;border-radius:0!important}.v72-selling-header .selling-identity{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:17px;padding:9px 12px}.v72-pos-layout{grid-template-columns:minmax(0,1fr) 390px!important;gap:18px!important;height:calc(100vh - 152px)!important}.v72-pos-layout .pos-products,.v72-pos-layout .cart-panel{border-radius:26px!important;background:var(--v7-surface)!important;border:1px solid var(--v7-border)!important;box-shadow:0 12px 34px rgba(19,39,78,.07)!important}.v72-pos-layout .pos-products{padding:17px!important}.v72-pos-layout .pos-search{border:2px solid color-mix(in srgb,var(--primary) 72%,#fff)!important;border-radius:20px!important;padding:12px 15px!important;box-shadow:none!important}.v72-pos-layout .category-strip{padding:14px 0!important}.v72-pos-layout .cat-chip{border-radius:14px!important;padding:9px 14px!important}.v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.v72-pos-layout .product-card{border-radius:20px!important;min-height:185px!important;overflow:hidden}.v72-pos-layout .prod-art{height:105px!important}.v72-pos-layout .product-card .pcopy{padding:12px!important}.v72-pos-layout .product-card h4{font-size:11px!important;margin-bottom:7px!important}.v72-pos-layout .product-card .price{font-size:15px!important;color:var(--primary)!important}.v72-pos-layout .cart-panel{position:sticky;top:110px}.v72-pos-layout .cart-head{padding:16px!important}.v72-pos-layout .cart-item{border-radius:16px!important;padding:13px!important}.v72-pos-layout .cart-summary{padding:16px!important}.v72-pos-layout .checkout-btn{border-radius:16px!important;height:52px!important;font-size:13px!important}
body.selling-mode .v72-shellbar,body.selling-mode .v72-contextbar{display:none!important}body.selling-mode .v72-content{max-width:none!important;padding:12px!important}body.selling-mode .v72-pos-layout{height:calc(100vh - 90px)!important}

/* Reports and all secondary modules share the same composition system. */
.v72-report-hero{border-radius:28px!important}.section-tabs,.settings-tabs{border-radius:18px!important;padding:7px!important;background:var(--v7-surface)!important;border:1px solid var(--v7-border)!important;box-shadow:0 8px 24px rgba(19,39,78,.045)}.section-tabs button,.settings-tabs button{border-radius:12px!important}.toolbar,.filters-card,.dashboard-filter{border-radius:18px!important}.panel,.kpi,.inventory-hero,.transfer-hero,.accounting-banner,.shift-hero,.report-hero{border-radius:22px}

html[data-theme="dark"] .v72-shellbar{box-shadow:0 12px 34px rgba(0,0,0,.34)}html[data-theme="dark"] .v72-more-menu{box-shadow:0 30px 90px rgba(0,0,0,.48)}

@media(max-width:1180px){.v72-brand{min-width:auto}.v72-brand-copy small{display:none}.v72-primary-nav{overflow:auto}.v72-primary-nav button{padding:11px 13px}.v72-commerce-snapshot{grid-template-columns:1fr 340px}.v72-product-preview{grid-template-columns:repeat(2,1fr)}.v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.v72-shellbar{padding:12px 15px;gap:12px}.v72-primary-nav{display:none}.v72-brand-copy b{font-size:15px}.v72-new-sale span,.v72-online span{display:none}.v72-more-grid{grid-template-columns:repeat(2,1fr)}.v72-contextbar{padding:12px 16px!important}.v72-content{padding:18px 16px 32px!important}.v72-preview-hero{grid-template-columns:1fr;padding:24px}.v72-preview-actions{grid-template-columns:repeat(4,1fr);width:100%}.v72-preview-actions button{min-height:100px}.v72-kpis{grid-template-columns:repeat(2,1fr)}.v72-commerce-snapshot,.v72-analysis-grid{grid-template-columns:1fr}.v72-pos-layout{grid-template-columns:minmax(0,1fr) 350px!important}.v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.v72-shellbar{min-height:70px}.v72-brand .brand-logo{width:40px;height:40px}.v72-shell-actions{margin-left:auto}.v72-online{display:none}.v72-more-menu{right:8px;top:66px;width:calc(100vw - 16px);border-radius:20px}.v72-more-grid{grid-template-columns:1fr 1fr}.v72-preview-hero{border-radius:22px;padding:20px}.v72-preview-hero h2{font-size:26px}.v72-preview-actions{grid-template-columns:repeat(2,1fr)}.v72-dashboard-controls{display:grid;grid-template-columns:1fr 1fr}.v72-dashboard-controls select{grid-column:span 2}.v72-period-pills{grid-column:span 2}.v72-kpis{grid-template-columns:1fr 1fr;gap:10px}.v72-kpis article{padding:16px}.v72-kpis strong{font-size:22px}.v72-product-preview{grid-template-columns:repeat(2,1fr)}.v72-pulse-card{min-height:320px}.v72-pos-layout{display:block!important;height:auto!important}.v72-pos-layout .pos-products{min-height:calc(100vh - 150px)}.v72-pos-layout .cart-panel{position:fixed!important;inset:0!important;z-index:130!important;border-radius:0!important;transform:translateY(100%);transition:.22s}.mobile-cart-open .v72-pos-layout .cart-panel{transform:none}.v72-selling-header{gap:8px}.v72-selling-header .selling-actions{overflow:auto}.v72-content{padding:14px 10px 28px!important}}


/* ===== Ranwell POS V7 Sprint 003 — Smart Checkout ===== */
.v73-checkout-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:22px;align-items:stretch}.v73-due-card{border-radius:var(--ui-radius,22px);padding:24px;background:linear-gradient(145deg,var(--nav),color-mix(in srgb,var(--nav) 72%,var(--primary)));color:#fff;min-height:310px;display:flex;flex-direction:column}.v73-due-card>.eyebrow{color:color-mix(in srgb,var(--primary2) 75%,#fff)}.v73-due-card>strong{font-size:42px;line-height:1.05;margin:12px 0 4px;letter-spacing:-.04em}.v73-due-card>p{color:rgba(255,255,255,.72);font-size:12px}.v73-payment-summary{margin-top:auto;display:grid;gap:8px}.v73-payment-summary>div{display:flex;justify-content:space-between;gap:15px;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.09);font-size:12px}.v73-payment-summary>div b{font-size:15px}.v73-payment-summary>div:not(.short)#v73ChangeRow{background:color-mix(in srgb,#16a36f 24%,transparent)}.v73-payment-summary .short{background:rgba(224,63,82,.22)}.v73-pay-form{display:grid;gap:14px;align-content:start}.v73-pay-form label{font-size:12px}.v73-pay-form input,.v73-pay-form select{min-height:48px;font-size:15px}.v73-quick-tender{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v73-quick-tender button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:10px 8px;font-weight:800}.v73-quick-tender button:hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}#v73ConfirmSale.disabled,#v73ConfirmSale:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.v7-theme-config .badge.green{background:#e8f7f1;color:#138159}@media(max-width:720px){.v73-checkout-grid{grid-template-columns:1fr}.v73-due-card{min-height:230px}.v73-due-card>strong{font-size:34px}.v73-quick-tender{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   Ranwell POS V7 Sprint 004 — Advanced Cashier Workflow
   ========================================================= */
.v74-pos-actions{display:flex;gap:8px;align-items:center}.v74-pos-actions .btn{white-space:nowrap}.v74-pos-actions #v74HeldBtn span{min-width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);display:inline-grid;place-items:center;font-size:10px;font-weight:900;padding:0 5px}.v74-hold-panel{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,#fff),#fff);border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));padding:18px;border-radius:var(--ui-radius,18px);margin-bottom:16px}.v74-hold-panel h3{margin:0 0 5px}.v74-hold-panel p{margin:0;color:var(--muted);line-height:1.5}.v74-hold-icon{width:48px;height:48px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:23px;flex:0 0 48px}.v74-held-list{display:grid;gap:10px}.v74-held-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:14px 15px}.v74-held-list h4{margin:8px 0 3px;font-size:14px}.v74-held-list p{margin:0;color:var(--muted);font-size:11px}.v74-held-list .action-row{display:flex;gap:7px;flex:0 0 auto}
.v74-payment-workspace{min-width:0}.v74-pay-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:color-mix(in srgb,var(--text) 5%,transparent);padding:5px;border-radius:14px;margin-bottom:14px}.v74-pay-tab{border:0;background:transparent;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:850;color:var(--muted)}.v74-pay-tab.active{background:var(--panel);color:var(--text);box-shadow:0 4px 14px rgba(23,32,51,.08)}.v74-split-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.v74-split-head b,.v74-split-head small{display:block}.v74-split-head small{color:var(--muted);margin-top:2px;font-size:10px}.v74-split-row{display:grid;grid-template-columns:145px 120px minmax(140px,1fr) 34px;gap:8px;margin-bottom:8px}.v74-split-row select,.v74-split-row input{min-width:0;width:100%}.v74-remove-pay{border:1px solid var(--line);background:var(--panel);border-radius:10px;color:var(--red);font-size:18px}.v74-split-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.v74-split-summary div{border:1px solid var(--line);border-radius:12px;padding:11px;background:color-mix(in srgb,var(--panel) 92%,var(--primary) 8%)}.v74-split-summary span,.v74-split-summary b{display:block}.v74-split-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}.v74-split-summary b{font-size:16px;margin-top:4px}.v74-split-hint{border-radius:10px;padding:9px 11px;background:#fff3e8;color:#a34d18;font-size:10px;font-weight:700;margin-bottom:12px}.v74-split-hint.ok{background:#e9f8f2;color:#16805a}.v74-complete-payments,.v74-sale-payment-detail{display:grid;gap:7px;margin:13px auto;max-width:420px}.v74-complete-payments>div,.v74-sale-payment-detail>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--panel)}.v74-complete-payments span,.v74-sale-payment-detail span{font-size:10px;font-weight:850;letter-spacing:.05em}.v74-sale-payment-detail small{color:var(--muted);font-size:9px;margin-left:auto}.v74-success-check{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e9f8f2;color:#16805a;font-size:30px;font-weight:900;margin:auto}.v74-complete-total{font-size:32px;font-weight:950;letter-spacing:-.04em}.v74-change-callout{margin:16px auto 0;max-width:360px;border-radius:16px;padding:13px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.v74-change-callout span,.v74-change-callout strong{display:block}.v74-change-callout span{font-size:9px;font-weight:900;letter-spacing:.12em}.v74-change-callout strong{font-size:27px;margin-top:3px}
[data-theme="dark"] .v74-hold-panel{background:color-mix(in srgb,var(--panel) 88%,var(--primary) 12%)}[data-theme="dark"] .v74-pay-tab.active{background:#172234}[data-theme="dark"] .v74-split-hint{background:#3b2c20;color:#ffbd90}[data-theme="dark"] .v74-split-hint.ok{background:#15372d;color:#74d8b6}
@media(max-width:1050px){.v74-pos-actions{order:8;width:100%}.v74-split-row{grid-template-columns:1fr 1fr}.v74-split-row .v74-reference{grid-column:span 1}.v74-remove-pay{min-height:42px}}@media(max-width:650px){.v74-held-list article{align-items:flex-start;flex-direction:column}.v74-held-list .action-row{width:100%}.v74-held-list .action-row .btn{flex:1}.v74-split-row{grid-template-columns:1fr 1fr}.v74-split-row .v74-reference{grid-column:1/-1}.v74-split-summary{grid-template-columns:1fr}.v74-pay-tabs{position:sticky;top:0;z-index:2}.v74-pos-actions{display:grid;grid-template-columns:1fr 1fr}.v74-pos-actions .btn{width:100%}}


/* ===== RC2.1.009B4.1.9 — product media & POS catalogue polish ===== */
.prod-art{overflow:hidden!important;padding:10px!important;font-size:0!important;background:linear-gradient(180deg,#fff,#fbfaf6)!important}
.prod-art .product-photo{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;border-radius:12px;background:#fff}
.prod-art .product-photo-fallback{opacity:.72;padding:10px}
.product-card{min-height:228px!important;height:228px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.product-card .prod-art{height:132px!important;min-height:132px!important;flex:0 0 132px!important}
.product-card .pcopy{padding:10px 12px 11px!important;display:flex!important;flex-direction:column!important;min-height:94px!important;flex:1!important;text-align:left!important;overflow:hidden!important}
.product-card h4{font-size:12px!important;line-height:1.28!important;margin:0 0 5px!important;min-height:31px!important;max-height:31px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important}
.product-card .price{font-size:15px!important;line-height:1.15!important;margin-top:auto!important}
.product-card small{font-size:9px!important;line-height:1.2!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.product-card .stock-bubble{font-size:9px!important;line-height:1!important;max-width:78%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;z-index:2!important;background:rgba(255,255,255,.94)!important;box-shadow:0 3px 10px rgba(18,32,55,.06)!important}
.product-table-name{min-width:240px}.product-table-name img{width:48px!important;height:48px!important;object-fit:contain!important;object-position:center!important;background:#fff!important;border:1px solid var(--line)!important;padding:3px!important;border-radius:10px!important;flex:0 0 48px!important}
.product-image-field img{object-fit:contain!important;background:#fff!important;padding:4px!important}
.v72-product-art img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;background:#fff!important}
body[data-page="pos"] .v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;align-content:start!important}
body[data-page="pos"] .v72-pos-layout .product-card{min-width:0!important}
body[data-page="pos"] .v72-pos-layout .product-grid{padding-bottom:92px!important}
.product-grid.list-view .product-card{height:86px!important;min-height:86px!important;display:grid!important;grid-template-columns:92px minmax(0,1fr)!important}
.product-grid.list-view .product-card .prod-art{height:86px!important;min-height:86px!important;flex-basis:86px!important;padding:7px!important}
.product-grid.list-view .product-card .pcopy{min-height:86px!important;padding:10px 12px!important}
.product-grid.list-view .product-card h4{min-height:auto!important;max-height:32px!important}
@media(max-width:1180px){body[data-page="pos"] .v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(3,minmax(170px,1fr))!important}}
@media(max-width:900px){body[data-page="pos"] .v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(2,minmax(150px,1fr))!important}.product-card{height:216px!important;min-height:216px!important}.product-card .prod-art{height:120px!important;min-height:120px!important;flex-basis:120px!important}}
@media(max-width:600px){body[data-page="pos"] .v72-pos-layout .product-grid:not(.list-view){grid-template-columns:repeat(2,minmax(135px,1fr))!important;gap:9px!important}.product-card{height:205px!important;min-height:205px!important}.product-card .prod-art{height:110px!important;min-height:110px!important;flex-basis:110px!important}.product-card .pcopy{padding:9px!important}.product-card h4{font-size:11px!important}}


/* ===== RC2.1.009B4.1.10 — demo showcase image visibility ===== */
.public-demo-mode .prod-art{background:#f8fafc!important;padding:6px!important}
.public-demo-mode .prod-art .product-photo{border-radius:14px!important;background:#f8fafc!important;box-shadow:inset 0 0 0 1px rgba(35,66,143,.08)}
.public-demo-mode .product-card{border-color:rgba(35,66,143,.16)!important}
.public-demo-mode .product-card:hover{border-color:rgba(241,90,18,.58)!important;box-shadow:0 12px 28px rgba(35,66,143,.12)!important}
.public-demo-mode .stock-bubble{color:#23428f!important}
.public-demo-mode .selling-identity .sell-mark{background:#23428f!important;color:#fff!important}


/* ===== RC2.1.009B4.1.11 — real photographic public-demo catalogue ===== */
.public-demo-mode .prod-art{padding:0!important;background:#fff!important}
.public-demo-mode .prod-art .product-photo{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.public-demo-mode .product-card{background:#fff!important;overflow:hidden!important}
.public-demo-mode .product-card .pcopy{background:#fff!important}
.public-demo-mode .product-table-name img{object-fit:cover!important;padding:0!important;background:#fff!important}
.public-demo-mode .v72-product-art img{object-fit:cover!important;padding:0!important;background:#fff!important}
.public-demo-mode .product-photo-fallback{object-fit:contain!important;padding:14px!important;background:#f7f8fb!important}
@media(max-width:600px){.public-demo-mode .prod-art .product-photo{object-position:center center!important}}
