@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary:#090d16;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--bg-glass:#0f172aa6;--border-glass:#ffffff14;--border-glow:#06b6d426;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--color-primary:#06b6d4;--color-primary-hover:#0891b2;--color-primary-glow:#06b6d466;--color-success:#10b981;--color-success-hover:#059669;--color-success-glow:#10b9814d;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-glow:#ef44444d;--font-sans:"Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--border-radius:12px;--border-radius-sm:8px;--transition-smooth:all .25s cubic-bezier(.4, 0, .2, 1);--box-shadow-glass:0 8px 32px 0 #0000005e;--sidebar-width:260px}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-glass:#ffffffbf;--border-glass:#00000014;--border-glow:#06b6d414;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--color-primary-glow:#06b6d426;--color-success-glow:#10b9811a;--color-danger-glow:#ef44441a;--box-shadow-glass:0 8px 32px 0 #0f172a14}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-glass);flex-direction:column;flex-shrink:0;padding:1.5rem;display:flex}.brand-section{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.brand-logo{color:var(--color-primary);letter-spacing:1px;font-size:1.5rem;font-weight:700}.brand-logo span{color:var(--text-primary)}.nav-links{flex-direction:column;flex-grow:1;gap:.5rem;list-style:none;display:flex}.nav-item{border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);text-align:left;background-color:#0000;border:none;align-items:center;gap:1rem;width:100%;padding:.85rem 1rem;font-family:inherit;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--text-primary);background-color:#ffffff08}.nav-item.active{color:var(--bg-primary);background-color:var(--color-primary);box-shadow:0 0 15px var(--color-primary-glow)}.sync-status-sidebar{border-top:1px solid var(--border-glass);flex-direction:column;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.sync-indicator{align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.dot{border-radius:50%;width:8px;height:8px}.dot.online{background-color:var(--color-success);box-shadow:0 0 8px var(--color-success-glow)}.dot.offline{background-color:var(--color-danger);box-shadow:0 0 8px var(--color-danger-glow)}.dot.syncing{background-color:var(--color-warning);animation:1s infinite alternate pulse}@keyframes pulse{0%{opacity:.4}to{opacity:1}}.main-content{flex-direction:column;flex-grow:1;max-height:100vh;display:flex;position:relative;overflow-y:auto}.top-bar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.page-title h1{font-size:1.5rem;font-weight:600}.top-actions{align-items:center;gap:1rem;display:flex}.sync-badge{border:1px solid var(--border-glass);background-color:#ffffff08;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.glass-card{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--border-radius);box-shadow:var(--box-shadow-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem}.btn{border-radius:var(--border-radius-sm);font-family:var(--font-sans);cursor:pointer;transition:var(--transition-smooth);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--bg-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:0 0 15px var(--color-primary-glow)}.btn-primary:disabled{background-color:var(--text-muted);cursor:not-allowed;box-shadow:none}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover{background-color:var(--color-success-hover);box-shadow:0 0 15px var(--color-success-glow)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:var(--color-danger-hover);box-shadow:0 0 15px var(--color-danger-glow)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-glass)}.btn-secondary:hover{background-color:#ffffff0d}.btn-icon{border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.input-control{background-color:var(--bg-secondary);border:1px solid var(--border-glass);color:var(--text-primary);border-radius:var(--border-radius-sm);font-family:var(--font-sans);transition:var(--transition-smooth);outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem}.input-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #06b6d426}.input-control::placeholder{color:var(--text-muted)}.input-control::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-control[type=number]{-moz-appearance:textfield}.grid-2{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.table-container{border-radius:var(--border-radius);border:1px solid var(--border-glass);overflow-x:auto}.pos-table{border-collapse:collapse;text-align:left;width:100%}.pos-table th{background-color:var(--bg-secondary);color:var(--text-secondary);border-bottom:1px solid var(--border-glass);padding:1rem;font-size:.9rem;font-weight:600}.pos-table td{border-bottom:1px solid var(--border-glass);vertical-align:middle;padding:1rem;font-size:.95rem}.pos-table tr:last-child td{border-bottom:none}.pos-table tr:hover td{background-color:#ffffff03}.pos-layout{grid-template-columns:1fr 400px;height:calc(100vh - 74px);display:grid;overflow:hidden}.pos-products-side{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;overflow-y:auto}.pos-cart-side{background-color:var(--bg-secondary);border-left:1px solid var(--border-glass);flex-direction:column;display:flex;overflow:hidden}.pos-search-bar{flex-shrink:0;align-items:center;gap:1rem;display:flex}.categories-scroll{flex-shrink:0;gap:.5rem;padding-bottom:.5rem;display:flex;overflow:auto hidden}.category-tab{background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border:1px solid var(--border-glass);transition:var(--transition-smooth);border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.category-tab:hover{color:var(--text-primary);background-color:#ffffff14}.category-tab.active{background-color:var(--color-primary);color:var(--bg-primary);border-color:var(--color-primary)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.product-card{background-color:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition-smooth);flex-direction:column;justify-content:space-between;padding:1rem;display:flex;position:relative;overflow:hidden}.product-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 20px #06b6d426}.product-card.low-stock{border-color:#f59e0b66}.product-card.no-stock{opacity:.6;cursor:not-allowed;border-color:#ef444466}.product-card .stock-tag{border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600;position:absolute;top:8px;right:8px}.stock-tag.ok{color:var(--color-success);background-color:#10b98126}.stock-tag.low{color:var(--color-warning);background-color:#f59e0b26}.stock-tag.empty{color:var(--color-danger);background-color:#ef444426}.product-name{margin-top:1rem;margin-bottom:.5rem;font-size:.95rem;font-weight:600;line-height:1.3}.product-barcode{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem}.product-price-section{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.product-price{color:var(--color-primary);font-size:1.1rem;font-weight:700}.cart-header{border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.cart-items{flex-direction:column;flex-grow:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.cart-item{background-color:var(--bg-tertiary);border-radius:var(--border-radius-sm);border:1px solid var(--border-glass);gap:.75rem;padding:.75rem;display:flex}.cart-item-details{flex-direction:column;flex-grow:1;justify-content:space-between;display:flex}.cart-item-name{font-size:.9rem;font-weight:500}.cart-item-price{color:var(--color-primary);font-size:.95rem;font-weight:700}.cart-qty-control{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.cart-qty-btn{background-color:var(--bg-secondary);border:1px solid var(--border-glass);width:24px;height:24px;color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-weight:700;display:flex}.cart-qty-input{text-align:center;width:36px;color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:none;font-weight:600}.cart-summary{border-top:1px solid var(--border-glass);background-color:var(--bg-secondary);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.summary-row{justify-content:space-between;font-size:.95rem;display:flex}.summary-row.total{border-top:1px solid var(--border-glass);color:var(--text-primary);margin-top:.25rem;padding-top:.75rem;font-size:1.3rem;font-weight:700}.summary-row.total .total-amount{color:var(--color-primary)}.cart-actions{padding:0 1.25rem 1.25rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000bf;justify-content:center;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--border-radius);width:90%;max-width:500px;box-shadow:var(--box-shadow-glass);flex-direction:column;gap:1.5rem;margin:auto;padding:2rem;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:1.3rem;font-weight:600}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.widget-card{align-items:center;gap:1.25rem;display:flex}.widget-icon{width:48px;height:48px;color:var(--color-primary);background-color:#06b6d41a;border-radius:12px;justify-content:center;align-items:center;display:flex}.widget-icon.success{color:var(--color-success);background-color:#10b9811a}.widget-icon.warning{color:var(--color-warning);background-color:#f59e0b1a}.widget-info{flex-direction:column;display:flex}.widget-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.widget-value{margin-top:.25rem;font-size:1.6rem;font-weight:700}.charts-section{grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}.chart-card{flex-direction:column;height:320px;display:flex}.chart-card h3{color:var(--text-secondary);margin-bottom:1rem;font-size:1rem}.chart-container{flex-grow:1;width:100%;height:100%}.barcode-sheet-config{grid-template-columns:350px 1fr;gap:1.5rem;display:grid}.barcode-preview-container{max-height:calc(100vh - 120px);overflow-y:auto}@media print{@page{margin:0}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#000!important;background-color:#fff!important;margin:0!important;padding:0!important}.sidebar,.top-bar,.pos-cart-side,.pos-products-side,.btn,.modal-overlay,.app-container>:not(.print-container){display:none!important}.print-container{width:100%;margin:0;padding:0;position:absolute;top:0;left:0;display:block!important}.receipt-print-layout{box-sizing:border-box;padding:2mm 3mm;font-size:12px;line-height:1.4;width:100%!important;max-width:100%!important;margin:0!important}.receipt-print-layout.w-58mm{font-size:11px}.receipt-header{text-align:center;margin-bottom:4mm}.receipt-header h2{margin-bottom:1mm;font-size:18px;font-weight:700}.receipt-divider{border-top:1px dashed #000;margin:2mm 0}.receipt-info-row{justify-content:space-between;font-size:11px;display:flex}.receipt-items-table{border-collapse:collapse;width:100%;margin:2mm 0}.receipt-items-table th{text-align:left;border-bottom:1px solid #000;padding:1mm 0;font-size:11px}.receipt-items-table td{vertical-align:top;padding:1.5mm 0}.receipt-summary{flex-direction:column;align-items:flex-end;gap:1mm;margin-top:2mm;display:flex}.receipt-summary-row{justify-content:space-between;width:100%;font-size:11px;display:flex}.receipt-summary-row.total{border-top:1px solid #000;padding-top:1mm;font-size:14px;font-weight:700}.receipt-footer{text-align:center;margin-top:5mm;font-size:10px}.invoice-print-layout{box-sizing:border-box;color:#333;background-color:#fff;min-height:297mm;padding:15mm;font-size:14px;width:100%!important;max-width:210mm!important;margin:0 auto!important}.invoice-banner{justify-content:space-between;align-items:flex-start;margin-bottom:10mm;display:flex}.invoice-logo-details h1{color:#111;font-size:28px;font-weight:700}.invoice-title-meta{text-align:right}.invoice-title-meta h2{color:#444;margin-bottom:2mm;font-size:24px}.invoice-details-grid{grid-template-columns:1fr 1fr;gap:10mm;margin-bottom:8mm;display:grid}.invoice-party-box h4{text-transform:uppercase;color:#555;border-bottom:2px solid #333;margin-bottom:2mm;padding-bottom:1mm;font-size:12px}.invoice-table{border-collapse:collapse;width:100%;margin-bottom:10mm}.invoice-table th{-webkit-print-color-adjust:exact;color-adjust:exact;text-align:left;border:1px solid #ddd;padding:3mm;font-weight:700;background-color:#f0f0f0!important}.invoice-table td{border:1px solid #ddd;padding:3mm}.invoice-financials{justify-content:flex-end;margin-bottom:15mm;display:flex}.invoice-financials-table{border-collapse:collapse;width:300px}.invoice-financials-table td{border:none;padding:2mm}.invoice-financials-table tr.total td{border-top:2px solid #333;border-bottom:2px solid #333;font-size:18px;font-weight:700}.invoice-terms{color:#666;border-top:1px solid #ddd;margin-top:20mm;padding-top:5mm;font-size:12px}.barcodes-print-layout{grid-template-columns:repeat(4,1fr);gap:5mm;width:210mm;padding:10mm;display:grid}.barcode-label{text-align:center;page-break-inside:avoid;background:#fff;border:1px solid #ccc;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;height:38mm;padding:3mm;display:flex}.barcode-label-store{text-transform:uppercase;color:#666;margin-bottom:1px;font-size:9px;font-weight:700}.barcode-label-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;height:24px;margin-bottom:2px;font-size:10px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.barcode-label-svg{max-width:95%;height:12mm}.barcode-label-price{margin-top:1mm;font-size:12px;font-weight:700}}.product-card-thumbnail{object-fit:cover;border-radius:var(--border-radius-sm);background-color:var(--bg-tertiary);cursor:zoom-in;border:1px solid var(--border-glass);justify-content:center;align-items:center;width:100%;height:120px;margin-top:.5rem;margin-bottom:.5rem;display:flex}.product-card-thumbnail.placeholder{background-color:var(--bg-tertiary);color:var(--text-muted)}.zoomed-image-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.zoomed-image{object-fit:contain;border-radius:var(--border-radius);border:1px solid var(--border-glass);background-color:#000;max-width:100%;max-height:350px}
