:root{--bg-base:#030712;--bg-card:#0f172a73;--bg-card-solid:#0d1527;--bg-surface:#0f172a;--bg-muted:#1e293b;--bg-popover:#090f1e;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-glow:#3b82f626;--color-success:#10b981;--color-success-hover:#059669;--color-success-glow:#10b98126;--color-danger:#f43f5e;--color-danger-hover:#e11d48;--color-danger-glow:#f43f5e26;--color-warning:#f59e0b;--border-color:#1e293bcc;--border-focus:#3b82f6;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--radius-lg:12px;--radius-md:8px;--radius-sm:6px;--sidebar-width:260px;--header-height:72px;--font-heading:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}.pos-container{background-color:var(--bg-base);width:100vw;height:100vh;animation:.4s ease-out forwards fadeIn;display:flex}.sidebar{width:var(--sidebar-width);background-color:var(--bg-surface);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;justify-content:space-between;padding:1.75rem;display:flex;box-shadow:4px 0 24px #0003}.logo-section{flex-direction:column;gap:.25rem;display:flex}.logo-section h2{font-family:var(--font-heading);letter-spacing:-.03em;background:linear-gradient(135deg,#f8fafc 30%,#94a3b8 90%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.6rem;font-weight:800}.badge{background-color:var(--color-primary-glow);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;border:1px solid #3b82f640;border-radius:4px;align-self:flex-start;margin-top:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.nav-menu{flex-direction:column;flex-grow:1;gap:.5rem;margin-top:2.5rem;display:flex}.nav-item{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-heading);background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.nav-item:hover{background-color:var(--bg-muted);color:var(--text-primary)}.nav-item.active{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px var(--color-primary-glow)}.sidebar-footer{border-top:1px solid var(--border-color);padding-top:1.25rem}.status-indicator{color:var(--text-secondary);align-items:center;gap:.6rem;font-size:.85rem;font-weight:500;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;position:relative}.status-dot.online{background-color:var(--color-success);box-shadow:0 0 8px var(--color-success)}.status-dot.online:after{content:"";border:2px solid var(--color-success);border-radius:50%;animation:2s infinite pulse;position:absolute;inset:-2px}.status-dot.offline{background-color:var(--color-warning);box-shadow:0 0 8px var(--color-warning)}.status-dot.offline:after{content:"";border:2px solid var(--color-warning);border-radius:50%;animation:2s infinite pulse;position:absolute;inset:-2px}@keyframes pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.sync-details{margin-top:.85rem;font-size:.8rem}.sync-row{justify-content:space-between;align-items:center;display:flex}.sync-btn{background:var(--bg-muted);border:1px solid var(--border-color);color:var(--color-primary);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.sync-btn:hover:not(:disabled){background-color:var(--border-color);color:var(--text-primary)}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.main-content{background-color:var(--bg-base);flex-direction:column;flex-grow:1;height:100vh;display:flex}.top-header{height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:5;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;box-shadow:0 4px 20px #00000026}.search-bar{background-color:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.75rem;width:400px;padding:.5rem 1rem;transition:all .2s;display:flex;position:relative}.search-bar:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f626}.search-bar svg{color:var(--text-secondary)}.search-bar input{color:var(--text-primary);font-family:var(--font-body);background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.kbd-badge{background-color:var(--bg-muted);border:1px solid var(--border-color);color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:4px;padding:.1rem .4rem;font-family:monospace;font-size:.7rem;font-weight:700}.header-actions{align-items:center;gap:1rem;display:flex}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-heading);box-shadow:0 4px 12px var(--color-primary-glow);border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f640}.btn-primary:active{transform:translateY(1px)}.success-toast{background:linear-gradient(135deg, var(--color-success), #059669);color:#fff;border-radius:var(--radius-lg);z-index:100;font-family:var(--font-heading);border:1px solid #ffffff26;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInDown;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 12px 30px #10b9814d}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.workspace-body{flex-grow:1;display:flex;overflow:hidden}.catalog-section{background-color:var(--bg-base);flex-grow:1;padding:1.75rem;overflow-y:auto}.catalog-title{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1.25rem;font-size:1.4rem;font-weight:800}.empty-catalog{color:var(--text-secondary);text-align:center;font-family:var(--font-body);background:var(--bg-surface);border:2px dashed var(--border-color);border-radius:var(--radius-lg);margin-top:1rem;padding:4rem 2rem;font-size:.95rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem;display:grid}.product-card{cursor:pointer;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;height:210px;padding:1.1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.product-card:before{content:"";border-radius:var(--radius-lg);-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(#ffffff0d,#0000);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.product-card:hover{border-color:#3b82f64d;transform:translateY(-4px);box-shadow:0 12px 24px -10px #0006,0 0 20px -5px #3b82f626}.product-icon-wrapper{border-radius:var(--radius-md);background:var(--bg-muted);border:1px solid var(--border-color);width:44px;height:44px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:.75rem;transition:all .3s;display:flex}.product-card:hover .product-icon-wrapper{background:var(--color-primary-glow);border-color:#3b82f64d;transform:scale(1.05)}.product-name{font-family:var(--font-heading);height:2.6rem;color:var(--text-primary);margin-bottom:auto;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden}.product-footer{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.product-price{font-family:var(--font-heading);color:var(--color-success);font-size:1.05rem;font-weight:800}.product-badge{background-color:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border-color);text-transform:capitalize;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.product-card:hover .product-badge{color:var(--color-primary);background-color:var(--color-primary-glow);border-color:#3b82f633}.cart-panel{background-color:var(--bg-surface);border-left:1px solid var(--border-color);z-index:4;flex-direction:column;justify-content:space-between;width:380px;display:flex;box-shadow:-4px 0 24px #00000026}.cart-header{border-bottom:1px solid var(--border-color);padding:1.25rem 1.5rem}.cart-header h3{font-family:var(--font-heading);color:var(--text-primary);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;display:flex}.cart-header svg{color:var(--color-primary)}.cart-items-container{flex-direction:column;flex-grow:1;gap:.75rem;padding:1.25rem;display:flex;overflow-y:auto}.empty-cart{text-align:center;color:var(--text-secondary);font-family:var(--font-body);margin-top:6rem}.empty-cart p{color:var(--text-muted);margin-top:.5rem;font-size:.9rem}.cart-item{background-color:var(--bg-base);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:.85rem;transition:all .2s}.cart-item:hover{background-color:#1e293b59;border-color:#ffffff1a}.cart-item-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.cart-item-name{font-family:var(--font-heading);color:var(--text-primary);padding-right:8px;font-size:.9rem;font-weight:600;line-height:1.3}.cart-item-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:all .2s;display:flex}.cart-item-remove:hover{color:var(--color-danger);background-color:var(--color-danger-glow)}.cart-item-actions{justify-content:space-between;align-items:center;display:flex}.cart-item-qty{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:.5rem;padding:2px;display:flex}.qty-btn{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;transition:all .1s;display:flex}.qty-btn:hover{background-color:var(--bg-muted);color:var(--text-primary)}.qty-val{font-family:var(--font-heading);text-align:center;width:20px;font-size:.85rem;font-weight:700}.cart-item-price{font-family:var(--font-heading);color:var(--text-primary);font-size:.95rem;font-weight:700}.cart-calculations{border-top:1px solid var(--border-color);background-color:var(--bg-surface);padding:1.25rem 1.5rem}.cart-total-row{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.cart-total-label{font-family:var(--font-heading);color:var(--text-secondary);font-size:1.05rem;font-weight:600}.cart-total-price{font-family:var(--font-heading);color:var(--color-success);text-shadow:0 0 20px var(--color-success-glow);font-size:1.45rem;font-weight:900}.btn-pay{width:100%;font-size:1rem;font-weight:700;font-family:var(--font-heading);background:linear-gradient(135deg, var(--color-success), #059669);color:#fff;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 4px 12px var(--color-success-glow);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.9rem;transition:all .3s;display:flex}.btn-pay:hover:not(:disabled){background:linear-gradient(135deg,#10b981,#047857);transform:translateY(-1px);box-shadow:0 8px 20px #10b9814d}.btn-pay:active:not(:disabled){transform:translateY(1px)}.btn-pay:disabled{background:var(--bg-muted);border:1px solid var(--border-color);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.btn-pay.pulse-active{animation:2.5s infinite payPulse}@keyframes payPulse{0%{box-shadow:0 0 #10b98173}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background-color:#020611d9;justify-content:center;align-items:center;animation:.2s ease-out forwards fadeInModal;display:flex;position:fixed;inset:0}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.modal-card{background-color:var(--bg-popover);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:420px;padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUpModal;position:relative;box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff0d}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-card h3{font-family:var(--font-heading);text-align:center;color:var(--text-primary);margin-bottom:1.5rem;font-size:1.3rem;font-weight:700}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{font-family:var(--font-heading);color:var(--text-secondary);font-size:.8rem;font-weight:600}.form-input{background-color:var(--bg-base);border:1px solid var(--border-color);color:#fff;border-radius:var(--radius-md);width:100%;font-family:var(--font-body);outline:none;padding:.65rem .85rem;font-size:.9rem;transition:all .2s}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f626}.form-input::placeholder{color:var(--text-muted)}.form-actions{gap:1rem;margin-top:1rem;display:flex}.btn-secondary{background-color:var(--bg-muted);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;text-align:center;flex:1;padding:.65rem;font-size:.9rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background-color:var(--border-color)}.btn-success{background-color:var(--color-success);color:#fff;font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;text-align:center;box-shadow:0 4px 12px var(--color-success-glow);border:none;flex:1;padding:.65rem;font-size:.9rem;font-weight:700;transition:all .2s}.btn-success:hover{background-color:var(--color-success-hover);box-shadow:0 6px 16px #10b98140}.btn-danger{background-color:var(--color-danger);color:#fff;font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;text-align:center;border:none;flex:1;padding:.65rem;font-size:.9rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #ef444433}.btn-danger:hover{background-color:#dc2626;box-shadow:0 6px 16px #ef444459}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#94a3b826;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#94a3b84d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1.2s linear infinite spin}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
