:root{--primary-bg: #F0F4F8;--surface-bg: #FFFFFF;--secondary-color: #212121;--border-color: #E2E8F0;--accent-color: #2563EB;--accent-hover: #1D4ED8;--color-success: #10B981;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #F59E0B;--color-warning-bg: rgba(245, 158, 11, .1);--color-danger: #E22427;--color-danger-bg: rgba(226, 36, 39, .1);--text-main: #212121;--text-secondary: #4B5563;--text-muted: #8E9CAE;--text-on-accent: #FFFFFF;--shadow-sm: 0 2px 4px rgba(33, 41, 54, .05);--shadow-md: 0 4px 12px rgba(33, 41, 54, .08);--shadow-lg: 0 12px 28px rgba(33, 41, 54, .15);--transition-fast: all .15s ease;--transition-normal: all .25s cubic-bezier(.4, 0, .2, 1);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px}*{box-sizing:border-box;margin:0;padding:0;outline-color:var(--accent-color)}body{background-color:var(--primary-bg);color:var(--text-main);font-family:Prompt,Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--primary-bg)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulse-dot{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.navbar{background-color:var(--secondary-color);color:#fff;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.navbar-brand{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;letter-spacing:.5px}.navbar-brand span.highlight{color:#60a5fa}.navbar-menu{display:flex;align-items:center;gap:1.5rem}.nav-link{color:#d1d5db;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:var(--transition-fast);cursor:pointer}.nav-link:hover{color:#fff;background-color:#ffffff14}.nav-link.active{color:#fff;background-color:var(--accent-color);box-shadow:var(--shadow-sm)}.user-badge{display:flex;align-items:center;gap:.5rem;background-color:#ffffff1a;padding:.4rem .8rem;border-radius:50px;font-size:.85rem;font-weight:500}.status-dot{width:8px;height:8px;background-color:var(--color-success);border-radius:50%;display:inline-block;animation:pulse-dot 2s infinite}.btn-logout{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ef4444;padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:var(--transition-fast)}.btn-logout:hover{background-color:#ef44441a;border-color:#ef4444}html,body{height:100%;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}#root{height:100%;overflow:hidden}.app-container{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-container.tab-pos{height:100vh;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0}.app-container.tab-pos .main-content{height:100vh;overflow:hidden!important;padding-top:.65rem;padding-bottom:1.25rem}.app-container.tab-stock .main-content,.app-container.tab-reports .main-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.main-content{flex:1;padding:.85rem 1.5rem 1rem;max-width:1600px;width:100%;margin:0 auto}.pos-layout{display:grid;grid-template-columns:1fr 380px;gap:1rem;height:100%;overflow:hidden}@media (max-width: 767px){.pos-layout{grid-template-columns:1fr;height:auto;overflow:visible}.cart-panel{position:sticky;bottom:0;z-index:90;height:auto!important;max-height:500px;box-shadow:0 -10px 25px #21293626!important}}.products-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.search-filter-section{background-color:var(--surface-bg);padding:.45rem .75rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.category-chips{display:flex;flex-wrap:wrap;gap:.35rem;flex:1}.chip{padding:.3rem .7rem;background-color:#fff;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:50px;font-size:.76rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #21293605;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;min-height:30px}.chip:hover{background-color:#f8fafc;border-color:#cbd5e1;color:var(--text-main)}.chip.active{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff;box-shadow:0 4px 10px #2563eb26}.search-wrapper{position:relative;width:220px;flex-shrink:0}.search-input{width:100%;padding:.35rem .65rem .35rem 1.85rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.78rem;font-family:inherit;transition:var(--transition-fast);background-color:#f8fafc}.search-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #2563eb26;background-color:#fff}.search-icon{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.products-scroll-area{flex:1;overflow-y:auto;padding-right:4px;padding-bottom:6.5rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding-bottom:1rem}.product-card{background-color:var(--surface-bg);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;border:1px solid var(--border-color);transition:var(--transition-normal);position:relative}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#cbd5e1}.product-image-container{position:relative;width:100%;padding-top:100%;background-color:#f8fafc;border-bottom:1px solid var(--border-color);overflow:hidden}.product-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:var(--transition-normal)}.product-card:hover .product-image{transform:scale(1.05)}.product-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--text-muted);gap:.5rem;background-color:#f1f5f9}.product-category-badge{position:absolute;top:.5rem;right:.5rem;background-color:#212936cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.7rem;font-weight:500;padding:.25rem .5rem;border-radius:4px}.product-info{padding:.85rem;display:flex;flex-direction:column;flex:1}.product-name{font-size:.9rem;font-weight:600;color:var(--text-main);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.7rem;line-height:1.35}.product-stock-status{font-size:.8rem;font-weight:500;margin-bottom:.75rem;display:flex;align-items:center;gap:.25rem}.product-price-section{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.product-price{font-size:1.1rem;font-weight:700;color:var(--accent-color)}.btn-add-cart{background-color:var(--accent-color);color:#fff;border:none;padding:.45rem 1rem;border-radius:12px;display:inline-flex;justify-content:center;align-items:center;gap:.35rem;cursor:pointer;font-size:.88rem;font-weight:700;transition:all .2s ease-in-out;box-shadow:0 4px 10px #2563eb33;animation:wiggle-pulse 3.5s infinite ease-in-out}.btn-add-cart:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-2px) scale(1.05);box-shadow:0 6px 14px #2563eb59}.btn-add-cart:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:0 2px 6px #2563eb33}.btn-add-cart:disabled{background-color:#94a3b8;color:#e2e8f0;cursor:not-allowed;box-shadow:none;animation:none}@keyframes wiggle-pulse{0%,to{transform:scale(1) rotate(0);box-shadow:0 4px 10px #2563eb33}20%{transform:scale(1.05) rotate(0);box-shadow:0 6px 14px #2563eb4d}23%{transform:scale(1.05) rotate(-3deg)}26%{transform:scale(1.05) rotate(3deg)}29%{transform:scale(1.05) rotate(-2deg)}32%{transform:scale(1.05) rotate(2deg)}35%,90%{transform:scale(1) rotate(0);box-shadow:0 4px 10px #2563eb33}}.cart-panel{background-color:var(--surface-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;overflow:hidden}.cart-header{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background-color:#f8fafc}.cart-header h3{font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.btn-clear-cart{background:transparent;border:none;color:var(--color-danger);font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.25rem}.cart-items-area{flex:1;overflow-y:auto;padding:1rem 1rem 6.5rem;display:flex;flex-direction:column;gap:.75rem}.cart-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;color:var(--text-muted);gap:.75rem;padding:2rem;text-align:center}.cart-item{display:flex;gap:1rem;padding:1.25rem .5rem;border-bottom:1.5px dashed var(--border-color);transition:background-color .2s ease;align-items:center}.cart-item-info{flex:1}.cart-item-name{font-size:1.05rem;font-weight:700;line-height:1.35;margin-bottom:.4rem;color:#0f172a}.cart-item-price-calc{font-size:.85rem;color:var(--text-secondary)}.scoop-price-per-unit{font-size:.95rem!important;color:#2563eb!important;font-weight:700!important;margin-top:.25rem;margin-bottom:.6rem!important;display:inline-block;background-color:#2563eb14;padding:.2rem .5rem;border-radius:4px}.cart-item-controls{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.5rem}.qty-controls{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background-color:#f8fafc}.btn-qty{background:transparent;border:none;width:24px;height:24px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-weight:700;transition:var(--transition-fast)}.btn-qty:hover{background-color:#e2e8f0}.qty-val{width:30px;text-align:center;font-size:.85rem;font-weight:600}.btn-remove-item{background:transparent;border:none;color:#ef4444;cursor:pointer;transition:var(--transition-fast)}.btn-remove-item:hover{color:#dc2626;transform:scale(1.15)}.cart-summary{padding:1rem;background-color:#f8fafc;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.summary-row.total{font-size:1.6rem;font-weight:800;color:#0f172a;padding-top:1rem;border-top:2px solid var(--border-color)}.summary-row.total .price-val{color:#2563eb;font-size:1.75rem;font-weight:800}.payment-section{margin-top:.5rem;padding:.75rem;background-color:#fff;border-radius:var(--radius-sm);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.payment-input-group{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.payment-input-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.payment-input{width:100px;padding:.4rem;border:1px solid var(--border-color);border-radius:4px;text-align:right;font-family:inherit;font-weight:700;font-size:.95rem}.payment-input:focus{border-color:var(--accent-color)}.change-amount{font-weight:700;color:var(--color-success)}.btn-checkout{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1.1rem;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #10b98159;width:100%;display:flex;justify-content:center;align-items:center;gap:.5rem}.btn-checkout:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.btn-checkout:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #10b9814d}.btn-checkout:disabled{background:#94a3b8;color:#e2e8f0;cursor:not-allowed;box-shadow:none}.badge-stock{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-stock.success{background-color:var(--color-success-bg);color:var(--color-success)}.badge-stock.warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-stock.danger{background-color:var(--color-danger-bg);color:var(--color-danger)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#21293666;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--surface-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:fadeIn .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.modal-header{padding:1.25rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.15rem;font-weight:700}.btn-modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:50%;display:flex;transition:var(--transition-fast)}.btn-modal-close:hover{background-color:var(--primary-bg);color:var(--text-main)}.modal-body{padding:1.25rem}.modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem;background-color:#f8fafc}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text-secondary)}.form-control{width:100%;padding:.65rem .85rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;transition:var(--transition-fast)}.form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #2563eb26}.btn{padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;border:none;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.5rem;justify-content:center}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-secondary{background-color:#e2e8f0;color:#1e293b}.btn-secondary:hover{background-color:#cbd5e1;color:#0f172a}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn:disabled{opacity:.5;cursor:not-allowed}.login-view{min-height:100vh;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 10% 20%,rgba(37,99,235,.1) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.08) 0%,transparent 40%),var(--primary-bg);padding:1.5rem}.login-card{background-color:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;animation:fadeIn .4s cubic-bezier(.16,1,.3,1)}.login-logo{font-size:2rem;font-weight:800;margin-bottom:.5rem;color:var(--secondary-color)}.login-logo span{color:var(--accent-color)}.login-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.password-input-container{position:relative}.btn-toggle-password{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex}.receipt-paper{background-color:#fff;border:1px solid var(--border-color);padding:1.5rem;border-radius:var(--radius-sm);font-family:Courier New,Courier,monospace;font-size:.85rem;color:#000;box-shadow:var(--shadow-sm);line-height:1.4}.receipt-title{text-align:center;font-weight:700;font-size:1.1rem;margin-bottom:.5rem}.receipt-divider{border-top:1px dashed #000000;margin:.75rem 0}.receipt-row{display:flex;justify-content:space-between}.receipt-item-row{margin-bottom:.4rem}.table-section{background-color:var(--surface-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:1.5rem}.table-header-bar{padding:1.25rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;background-color:#f8fafc}.table-header-title{font-size:1.1rem;font-weight:700}.table-responsive{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.admin-table th{background-color:#f1f5f9;color:#334155;font-weight:700;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.admin-table tbody tr:hover{background-color:#f8fafc}.summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:1.5rem}.summary-card{background-color:var(--surface-bg);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:1.25rem;position:relative;overflow:hidden}.summary-card-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;justify-content:center;align-items:center;font-size:1.5rem}.summary-card-icon.blue{background-color:#2563eb1a;color:var(--accent-color)}.summary-card-icon.green{background-color:var(--color-success-bg);color:var(--color-success)}.summary-card-icon.yellow{background-color:var(--color-warning-bg);color:var(--color-warning)}.summary-card-icon.red{background-color:var(--color-danger-bg);color:var(--color-danger)}.summary-card-info h4{font-size:.8rem;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.summary-card-info .value{font-size:1.5rem;font-weight:700}.reports-charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:1.5rem}.chart-card{background-color:var(--surface-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:1.25rem;display:flex;flex-direction:column}.chart-card-title{font-size:.95rem;font-weight:700;margin-bottom:1rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.progress-list{display:flex;flex-direction:column;gap:.75rem}.progress-item{display:flex;flex-direction:column;gap:.25rem}.progress-item-label{display:flex;justify-content:space-between;font-size:.8rem;font-weight:500}.progress-bar-bg{width:100%;height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.progress-bar-fill.blue{background-color:var(--accent-color)}.progress-bar-fill.green{background-color:var(--color-success)}.progress-bar-fill.yellow{background-color:var(--color-warning)}.filter-bar{background-color:var(--surface-bg);padding:1rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.filter-inputs{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.date-input{padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;min-height:44px;background-color:#fff}.date-input:focus{border-color:var(--accent-color);outline:none}.floating-top-brand{position:fixed;top:1rem;left:1.5rem;background-color:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:30px;padding:.45rem 1rem;display:flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:700;color:var(--text-main);box-shadow:0 4px 12px #2129360f;z-index:100;transition:all .2s ease-in-out;cursor:pointer}.floating-top-brand:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 16px #2129361a;border-color:#cbd5e1}.floating-top-brand:active{transform:translateY(0) scale(.98)}.floating-top-brand span.highlight{color:var(--accent-color)}.dock-divider{width:1px;height:20px;background-color:#0f172a1f;margin:0 .25rem}.dock-user-status{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background-color:#0f172a0a;border-radius:20px;font-size:.75rem;font-weight:600;color:#334155}.dock-user-role{letter-spacing:.3px;display:flex;align-items:center;gap:.3rem}.dock-refresh-btn{background-color:#3b82f614;border:1px solid rgba(59,130,246,.15);color:#3b82f6;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease}.dock-refresh-btn:hover{background-color:#3b82f6;border-color:#3b82f6;color:#fff;transform:scale(1.05)}.dock-logout-btn{background-color:#ef444414;border:1px solid rgba(239,68,68,.15);color:#ef4444;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease}.dock-logout-btn:hover{background-color:#ef444433;border-color:#ef4444;color:#fff;transform:scale(1.05)}.floating-dock{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(15,23,42,.08);border-radius:40px;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 10px 30px #0f172a1f,0 4px 12px #0f172a0a,inset 0 1px #fff9;z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1)}.dock-item{background:transparent;border:none;color:#475569;padding:.5rem 1.25rem;border-radius:30px;cursor:pointer;font-weight:600;font-size:.85rem;font-family:inherit;display:flex;align-items:center;gap:.45rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.dock-item:hover{color:#0f172a;background-color:#0f172a0d}.dock-item.active{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 6px 16px #2563eb59}.dock-label{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 480px){.dock-item:not(.active) .dock-label{display:none}}.btn-primary,.btn-checkout{position:relative;overflow:hidden}.btn-primary:before,.btn-checkout:before{content:"";position:absolute;top:0;left:-120%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff59,#fff0);transform:skew(-25deg);transition:.75s cubic-bezier(.19,1,.22,1);pointer-events:none}.btn-primary:hover:before,.btn-checkout:hover:before{left:130%}.summary-card{border-radius:var(--radius-lg);padding:1.5rem;border:none;color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 15px -3px #21293614,0 4px 6px -2px #2129360d;position:relative;overflow:hidden;transition:transform .25s ease}.summary-card:hover{transform:translateY(-4px)}.summary-card.revenue{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}.summary-card.profit{background:linear-gradient(135deg,#064e3b,#10b981)}.summary-card.bills{background:linear-gradient(135deg,#78350f,#d97706)}.summary-card-info h4{font-size:.85rem;color:#fffc;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.summary-card-info .value{font-size:1.85rem;font-weight:700;color:#fff}.summary-card-badge{background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);width:54px;height:54px;border-radius:var(--radius-md);display:flex;justify-content:center;align-items:center;color:#fff}.product-card{background-color:var(--surface-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 6px -1px #2129360d,0 2px 4px -1px #21293608;display:flex;flex-direction:column;border:1px solid var(--border-color);position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d;perspective:1000px;cursor:pointer}.product-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffffff26,#fff0,#ffffff0d);z-index:5;pointer-events:none;opacity:0;transition:opacity .3s ease}.product-card:hover{transform:translateY(-8px) scale(1.03) rotateX(1.5deg) rotateY(-1.5deg);box-shadow:0 20px 25px -5px #2129361a,0 10px 10px -5px #2129360a;border-color:#2563eb4d}.product-card:hover:before{opacity:1}.product-card:active{transform:scale(.97) translateY(0);box-shadow:0 4px 6px -1px #2129360d;transition:all .1s ease}.btn-close-cart-mobile,.mobile-cart-toggle{display:none}@media (max-width: 767px){.btn-close-cart-mobile{display:flex;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem}.cart-backdrop.open-mobile{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1004;animation:fadeIn .2s ease-out}.cart-panel{position:fixed;bottom:0;left:0;right:0;height:85vh!important;z-index:1005;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;box-shadow:0 -12px 32px #0f172a40!important;border:none!important;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1)}.cart-panel.open-mobile{transform:translateY(0)}.mobile-cart-toggle{display:flex;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:500px;background:var(--accent-color);color:#fff;padding:.85rem 1.5rem;border-radius:30px;justify-content:space-between;align-items:center;box-shadow:0 8px 24px #2563eb59;z-index:999;cursor:pointer;font-weight:700;font-size:.95rem;animation:fadeIn .25s cubic-bezier(.16,1,.3,1);transition:all .2s ease}.mobile-cart-toggle:active{transform:translate(-50%) scale(.97)}}@media (min-width: 768px) and (max-width: 1024px){.pos-layout{grid-template-columns:1fr 300px;gap:.75rem;height:100%}.main-content{padding:.5rem .75rem 1rem}.search-filter-section{padding:.4rem .5rem;margin-bottom:.4rem;gap:.3rem;border-radius:10px}.search-input{padding:.35rem .65rem .35rem 1.75rem;font-size:.78rem;border-radius:8px}.search-icon{left:.5rem}.category-chips{gap:.25rem;padding:.25rem}.chip{padding:.22rem .5rem;font-size:.68rem;border-radius:20px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.product-image-container{padding-top:85%}.product-info{padding:.5rem}.product-name{font-size:.78rem;height:2rem;line-height:1.3;margin-bottom:.25rem}.product-stock-status{margin-bottom:.35rem;font-size:.7rem}.product-price{font-size:.88rem}.btn-add-cart{padding:.3rem .55rem;font-size:.72rem;border-radius:8px}.cart-header{padding:.6rem}.cart-header h3{font-size:.9rem}.cart-items-area{padding:.6rem;gap:.4rem}.cart-item{padding:.6rem .2rem;gap:.4rem}.cart-item-name{font-size:.85rem;margin-bottom:.2rem}.scoop-price-per-unit{font-size:.75rem!important;margin-bottom:.3rem!important;padding:.1rem .3rem}.scoop-inputs-wrapper{gap:.3rem;margin-top:.3rem}.scoop-field{padding:.2rem .35rem;font-size:.8rem;border-radius:6px}.qty-controls{border-radius:4px}.btn-qty{width:20px;height:20px}.qty-val{width:24px;font-size:.8rem}.cart-summary{padding:.6rem}.summary-row.total{font-size:1.15rem;padding-top:.6rem}.summary-row.total .price-val{font-size:1.3rem}.btn-checkout{padding:.75rem;font-size:.9rem;border-radius:8px}.floating-top-brand{top:.4rem;left:.75rem;padding:.3rem .7rem;font-size:.85rem}.floating-dock{bottom:.75rem;padding:.35rem .5rem}.dock-item{padding:.35rem .75rem;font-size:.78rem;gap:.3rem}.product-category-badge{font-size:.6rem;padding:.15rem .4rem}}.app-container.tab-stock .main-content,.app-container.tab-reports .main-content{padding-bottom:7.5rem!important}.scoop-inputs-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.4rem}.scoop-input-group{display:flex;flex-direction:column;gap:.15rem}.scoop-input-group label{font-size:.7rem;color:#374151;font-weight:600}.scoop-field{padding:.2rem .4rem;border:1.5px solid #CBD5E1;border-radius:7px;font-size:.8rem;font-weight:700;width:100%;background-color:#fff;color:#0f172a;transition:all .2s ease;text-align:center}.scoop-field:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;background-color:#f8fafc}@keyframes pulse-glow{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.btn-checkout:not(:disabled){animation:pulse-glow 2s infinite}.success-animation-container{padding:10px}.success-checkmark{width:80px;height:80px;position:relative}.success-checkmark .check-icon{width:80px;height:80px;position:relative;border-radius:50%;box-sizing:content-box;border:4px solid #10B981}.success-checkmark .check-icon:before,.success-checkmark .check-icon:after{content:"";height:100px;position:absolute;background:#fff;transform:rotate(-45deg)}.success-checkmark .check-icon:before{border-radius:100px 0 0 100px;top:-7px;left:-20px;transform-origin:100% 50%;transform:rotate(-45deg)}.success-checkmark .check-icon:after{border-radius:0 100px 100px 0;top:-30px;left:30px;transform-origin:0 50%;transform:rotate(-45deg)}.success-checkmark .check-icon .icon-circle{top:-4px;left:-4px;position:absolute;box-sizing:content-box;width:80px;height:80px;border-radius:50%;border:4px solid rgba(16,185,129,.3);z-index:2}.success-checkmark .check-icon .icon-fix{top:8px;left:26px;width:5px;height:54px;position:absolute;z-index:1;background:#fff;transform:rotate(-45deg)}.success-checkmark .check-icon .icon-line{height:5px;background-color:#10b981;display:block;border-radius:2px;position:absolute;z-index:10}.success-checkmark .check-icon .icon-line.line-tip{width:25px;left:14px;top:46px;transform:rotate(45deg);animation:icon-line-tip .75s}.success-checkmark .check-icon .icon-line.line-long{width:47px;right:8px;top:38px;transform:rotate(-45deg);animation:icon-line-long .75s}@keyframes icon-line-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}to{width:25px;left:14px;top:46px}}@keyframes icon-line-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}to{width:47px;right:8px;top:38px}}.animate-scale-in{animation:scale-in-keyframes .22s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes scale-in-keyframes{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.pin-dots-container{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;margin-top:1.5rem}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-color);background-color:transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.pin-dot.active{background-color:var(--accent-color);border-color:var(--accent-color);box-shadow:0 0 10px #2563eb80;transform:scale(1.2)}.pin-dot.shake-dot{border-color:var(--color-danger);background-color:var(--color-danger);box-shadow:0 0 10px #e2242780}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:280px;margin:0 auto 1rem}.pin-btn{width:68px;height:68px;border-radius:50%;border:1px solid var(--border-color);background-color:#fff;color:var(--text-main);font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:transform .1s ease,background-color .1s ease,color .1s ease;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pin-btn:active{transform:scale(.9);background-color:#2563eb14;border-color:var(--accent-color);color:var(--accent-color)}.pin-btn.action-btn{background-color:#f1f5f9;font-size:.95rem;font-weight:600;color:var(--text-secondary);border:none}.pin-btn.action-btn:active{background-color:#e2e8f0;color:var(--text-main)}.login-card.shake{animation:loginShake .4s cubic-bezier(.36,.07,.19,.97) both;border-color:var(--color-danger)!important;box-shadow:0 10px 30px #e2242726,var(--shadow-lg)!important}.login-card.slide-up-out{animation:slideUpOut .45s cubic-bezier(.16,1,.3,1) forwards}@keyframes loginShake{10%,90%{transform:translate3d(-2px,0,0)}20%,80%{transform:translate3d(3px,0,0)}30%,50%,70%{transform:translate3d(-6px,0,0)}40%,60%{transform:translate3d(6px,0,0)}}@keyframes slideUpOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}select,select.form-control{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .85rem center!important;background-size:1.1rem!important;padding-right:2.5rem!important;background-color:#fff!important;border:1.5px solid #CBD5E1!important;border-radius:12px!important;font-size:.95rem!important;font-weight:600!important;color:#1e293b!important;transition:all .2s ease!important;cursor:pointer!important;box-shadow:0 1px 3px #21293608!important}select:focus,select.form-control:focus{border-color:var(--accent-color)!important;box-shadow:0 0 0 3px #2563eb26!important;outline:none!important}.custom-datepicker-wrapper{position:relative;display:inline-block}.datepicker-trigger-btn{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.1rem;border:1.8px solid #CBD5E1;border-radius:12px;background-color:#fff;font-size:.95rem;font-weight:700;color:#1e293b;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #21293608;min-width:175px;justify-content:space-between;outline:none}.datepicker-trigger-btn:hover{border-color:#94a3b8;background-color:#f8fafc}.datepicker-trigger-btn:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.datepicker-calendar-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:1001;background-color:#fff;border-radius:20px;border:1px solid #E2E8F0;box-shadow:0 20px 25px -5px #2129361a,0 10px 10px -5px #2129360a;padding:1.25rem;width:310px;animation:calendarFadeIn .22s cubic-bezier(.16,1,.3,1)}@keyframes calendarFadeIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.datepicker-nav-btn{width:34px;height:34px;border-radius:50%;border:none;background-color:#f1f5f9;color:#475569;cursor:pointer;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:.9rem;transition:all .2s ease}.datepicker-nav-btn:hover{background-color:#e2e8f0;color:#0f172a;transform:scale(1.05)}.datepicker-nav-btn:active{transform:scale(.95)}.calendar-day-btn{width:36px;height:36px;border-radius:50%;border:none;background-color:transparent;color:#1e293b;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .15s cubic-bezier(.4,0,.2,1);margin:auto}.calendar-day-btn:hover:not(.selected){background-color:#f1f5f9;transform:scale(1.08)}.calendar-day-btn.selected{background-color:#2563eb!important;color:#fff!important;font-weight:700!important;box-shadow:0 4px 10px #2563eb4d!important}.calendar-day-btn.muted{color:#cbd5e1!important}.calendar-day-btn.muted:hover{background-color:#f8fafc}.custom-select-wrapper{position:relative;display:inline-block}.custom-select-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.1rem;border:1.8px solid #CBD5E1;border-radius:12px;background-color:#fff;font-size:.95rem;font-weight:700;color:#1e293b;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #21293608;text-align:left;outline:none;min-height:44px}.custom-select-trigger:hover{border-color:#94a3b8;background-color:#f8fafc}.custom-select-trigger:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.custom-select-options-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10005;background-color:#fff;border-radius:16px;border:1px solid #E2E8F0;box-shadow:0 20px 25px -5px #2129361a,0 10px 10px -5px #2129360a;max-height:280px;overflow-y:auto;padding:.5rem;animation:selectPopoverFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes selectPopoverFadeIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-select-option-item{width:100%;text-align:left;padding:.65rem .95rem;border:none;border-radius:10px;background-color:transparent;color:#1e293b;font-weight:600;font-size:.92rem;cursor:pointer;transition:all .15s ease;margin-bottom:2px;display:block}.custom-select-option-item:hover{background-color:#f1f5f9;color:#0f172a;transform:translate(2px)}.custom-select-option-item.selected{background-color:#2563eb14;color:#2563eb;font-weight:700}.custom-select-option-item.selected:hover{background-color:#2563eb1f;color:#1d4ed8}.search-chip{display:inline-flex;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1)}.search-chip.expanded{flex:1;min-width:140px;max-width:240px}.search-chip-input-wrapper{position:relative;display:flex;align-items:center;width:100%;background-color:#f1f5f9;border:1px solid var(--border-color);border-radius:50px;padding:0 .5rem 0 1.8rem;height:30px}.search-chip-icon{position:absolute;left:.6rem;color:var(--text-secondary);pointer-events:none}.search-chip-input{border:none;background:transparent;font-family:inherit;font-size:.76rem;font-weight:600;width:100%;height:100%;color:var(--text-main);outline:none}.btn-clear-search-chip{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.15rem;font-size:.65rem;display:flex;align-items:center;justify-content:center}.btn-clear-search-chip:hover{color:var(--color-danger)}.cart-header-brand-pill{display:flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--border-color);padding:.25rem .5rem;border-radius:8px;box-shadow:0 1px 3px #21293608}@media (max-width: 767px){.cart-header-brand-pill{display:none}}.stock-product-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease}.stock-product-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000005!important;border-color:#cbd5e1!important}.stock-product-card:active{transform:translateY(-1px)}.stock-card-image-click{transition:all .2s cubic-bezier(.4,0,.2,1)}.stock-card-image-click:hover{border-color:#3b82f6!important;transform:scale(1.05);box-shadow:0 4px 6px -1px #3b82f626,0 2px 4px -1px #3b82f61a}.cash-calc-btn:hover{background-color:#f1f5f9!important;border-color:#94a3b8!important;color:#0f172a!important}.cash-calc-btn:active{transform:scale(.95)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
