:root{--primary:#087f5b;--primary-dark:#12372a;--accent:#d4a017;--page:#f4f7f5;--surface:#fff;--surface-2:#eef5f1;--text:#24322d;--muted:#687970;--border:#dde6e1;--nav-text:#40534b;--active:#e5f4ee;--shadow:rgba(18,55,42,.08);color-scheme:light}
:root[data-theme="ocean"]{--primary:#1677c8;--primary-dark:#123d67;--accent:#39c6e8;--page:#f2f7fb;--surface-2:#e7f2fa;--active:#e1f1fc;--border:#d7e5ef;--shadow:rgba(18,61,103,.09)}
:root[data-theme="royal"]{--primary:#7451b9;--primary-dark:#38245f;--accent:#d6aa4f;--page:#f7f4fb;--surface-2:#f0eafa;--active:#ede5fa;--border:#e2d9ef;--shadow:rgba(56,36,95,.09)}
:root[data-theme="sunset"]{--primary:#d65d2f;--primary-dark:#6d2e20;--accent:#f2b84b;--page:#fff7f2;--surface-2:#faece4;--active:#fde7da;--border:#f0ddd2;--shadow:rgba(109,46,32,.09)}
:root[data-mode="dark"]{--page:#111714;--surface:#1b2420;--surface-2:#26322d;--text:#edf5f1;--muted:#aabbb2;--border:#34443c;--nav-text:#cbd8d1;--active:#293d34;--shadow:rgba(0,0,0,.3);color-scheme:dark}
body{background:var(--page);color:var(--text);transition:background .2s,color .2s}.navbar{height:62px;background:linear-gradient(110deg,var(--primary-dark),var(--primary));z-index:1040}.navbar-brand span{color:var(--accent)}.theme-picker{width:128px;background-color:rgba(255,255,255,.94);color:#222;border:0}.sidebar{position:fixed;top:62px;bottom:0;width:245px;background:var(--surface);border-right:1px solid var(--border)}.sidebar .nav-link{color:var(--nav-text);border-radius:.55rem;padding:.7rem .85rem;margin:.12rem 0}.sidebar .nav-link i{width:1.7rem;display:inline-block}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:var(--active);color:var(--primary);font-weight:600}.main-content{padding-top:62px;margin-left:245px}.card,.modal-content,.list-group-item{background:var(--surface);color:var(--text);border-color:var(--border)}.card{border:0;box-shadow:0 2px 12px var(--shadow);border-radius:.8rem}.card-header.bg-white{background:var(--surface)!important}.stat-card{border-left:4px solid var(--primary)}.text-success{color:var(--primary)!important}.text-muted{color:var(--muted)!important}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{filter:brightness(.88);background:var(--primary);border-color:var(--primary)}.table{--bs-table-bg:var(--surface);--bs-table-color:var(--text);--bs-table-border-color:var(--border)}.table thead th{background:var(--surface-2);color:var(--text);white-space:nowrap}.form-control,.form-select{background-color:var(--surface);color:var(--text);border-color:var(--border)}.form-control::placeholder{color:var(--muted)}.money{font-variant-numeric:tabular-nums}.pos-search{font-size:1.2rem;padding:.8rem}.receipt{max-width:80mm;margin:auto;font:12px monospace;background:white;color:#111}.receipt table{width:100%}@media(max-width:991.98px){.main-content{margin-left:0}.sidebar{top:0}.theme-picker{width:104px}}@media(max-width:575px){.navbar-brand{font-size:.9rem}.theme-picker{display:none}}@media print{.no-print,.navbar,.sidebar{display:none!important}.main-content{margin:0;padding:0}.receipt{max-width:80mm;box-shadow:none}}
.receipt-page{margin:0;padding:20px;background:#ececec;color:#111}.receipt-page .receipt{box-sizing:border-box;width:80mm;max-width:100%;margin:auto;padding:5mm 4mm;background:#fff;color:#111;font:11px/1.35 "Courier New",Courier,monospace;box-shadow:0 3px 18px rgba(0,0,0,.16)}.receipt-header{text-align:center}.receipt-header h1{margin:0 0 2px;font:700 17px/1.15 Arial,sans-serif;text-transform:uppercase;letter-spacing:.3px}.receipt-tagline{margin-bottom:8px;font-style:italic}.receipt-store{font-weight:700}.receipt-rule{margin:8px 0;border-top:1px dashed #111}.receipt-meta>div{display:flex;justify-content:space-between;gap:8px}.receipt-page .receipt table{width:100%;border-collapse:collapse;color:#111;font:inherit}.receipt th{padding:0 0 4px;border-bottom:1px solid #111;text-align:left}.receipt td{padding:4px 0;vertical-align:top}.receipt-items small{display:block;font-size:9px;color:#444}.receipt-qty{width:12%;text-align:center!important}.receipt-money{width:30%;text-align:right!important;white-space:nowrap}.receipt-totals td:last-child{text-align:right;white-space:nowrap}.receipt-total td{padding-top:7px;font-size:16px;font-weight:700}.receipt-footer{text-align:center}.receipt-footer p{margin:2px 0}.receipt-number{margin:10px 0 6px;padding:5px 2px;border-top:3px double #111;border-bottom:3px double #111;font-size:9px;letter-spacing:.35px;overflow-wrap:anywhere}.receipt-powered{margin-top:9px;padding-top:7px;border-top:1px dashed #111;font-weight:700}.receipt-actions{display:flex;justify-content:center;gap:8px;margin-top:16px}.receipt-actions button,.receipt-actions a{padding:7px 10px;border:1px solid #333;border-radius:4px;background:#fff;color:#111;font:12px Arial,sans-serif;text-decoration:none;cursor:pointer}@page{size:80mm auto;margin:0}@media print{html,body.receipt-page{width:80mm;margin:0!important;padding:0!important;background:#fff!important}.receipt-page .receipt{width:80mm;max-width:80mm;margin:0;padding:4mm 3mm;box-shadow:none}}
.receipt-page .receipt{font-family:Arial,Helvetica,sans-serif;font-size:12.5px;line-height:1.42;font-weight:600;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-header h1{font-size:18px;font-weight:800}.receipt-tagline{font-weight:600}.receipt-rule{border-top:2px dashed #000}.receipt th{padding-bottom:5px;border-bottom:2px solid #000;font-weight:800}.receipt td{padding:5px 0}.receipt-items small{font-size:10.5px;font-weight:600;color:#000}.receipt-total td{font-size:17px;font-weight:800}.receipt-footer p{font-weight:700}.receipt-barcode-wrap{margin:12px auto 6px;padding:8px 3px 5px;background:#fff}.receipt-barcode{display:block;width:100%;height:18mm;shape-rendering:crispEdges}.receipt-barcode-text{margin-top:3px;color:#000;font:700 10px/1.2 "Courier New",monospace;letter-spacing:.4px;overflow-wrap:anywhere}.receipt-powered{border-top:2px dashed #000;font-size:12px;font-weight:800}@media print{.receipt-page,.receipt-page .receipt,.receipt-page .receipt *{color:#000!important;text-shadow:none!important}.receipt-page .receipt{font-size:12.5px;font-weight:600}.receipt-barcode{height:18mm}}
.sidebar{overflow:hidden}.sidebar .offcanvas-body{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain}.sidebar .offcanvas-body::-webkit-scrollbar{width:7px}.sidebar .offcanvas-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}
