@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-800.woff2)format("woff2")}:root{--primary:#d12127;--primary-hover:#b7191e;--primary-dark:#9e1216;--primary-light:#fdf2f2;--primary-glow:#d1212747;--primary-gradient:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);--primary-gradient-hover:linear-gradient(135deg, #e02c32 0%, var(--primary) 100%);--accent-yellow:#f5ee31;--accent-cyan:#06b6d4;--accent-blue:#2563eb;--accent-purple:#7c3aed;--accent-amber:#f59e0b;--accent-emerald:#10b981;--danger-text:#991b1b;--success-text:#065f46;--warning-text:#92400e;--info-text:#1d4ed8;--danger:#dc2626;--danger-hover:#b91c1c;--danger-light:#fef2f2;--danger-border:#fecdd3;--danger-tint:#fee2e2;--danger-tint-border:#fca5a5;--danger-glow:#dc26264d;--success:#10b981;--success-hover:#059669;--success-light:#ecfdf5;--success-border:#a7f3d0;--success-glow:#10b9814d;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#fffbeb;--warning-border:#fde68a;--info:#2563eb;--info-hover:#1d4ed8;--info-light:#eff6ff;--info-border:#bfdbfe;--white:#fff;--white-alpha-10:#ffffff1a;--white-alpha-20:#fff3;--white-alpha-40:#fff6;--white-alpha-60:#fff9;--white-alpha-85:#ffffffd9;--dark-950:#0b0f19;--dark-900:#0f172a;--dark-800:#1e293b;--dark-700:#334155;--gray-600:#475569;--gray-500:#64748b;--gray-400:#94a3b8;--gray-300:#cbd5e1;--gray-200:#e2e8f0;--gray-100:#f1f5f9;--gray-50:#f8fafc;--bg-page:#f1f4f8;--bg-surface:var(--white);--bg-surface-subtle:var(--gray-50);--border-color:var(--gray-200);--border-light:#edf2f7;--font-heading:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-xs:0 0 0 1px #0f172a0a, 0 1px 2px -1px #0f172a0f;--shadow-sm:0 0 0 1px #0f172a0a, 0 2px 4px -2px #0f172a14, 0 1px 2px -1px #0f172a0a;--shadow-md:0 0 0 1px #0f172a0a, 0 6px 12px -4px #0f172a1a, 0 2px 5px -2px #0f172a0f;--shadow-lg:0 0 0 1px #0f172a0d, 0 14px 28px -8px #0f172a24, 0 5px 10px -4px #0f172a12;--shadow-xl:0 0 0 1px #0f172a0f, 0 26px 50px -12px #0f172a38, 0 10px 20px -8px #0f172a1a;--shadow-glow:0 0 25px var(--primary-glow);--state-hover:#0f172a0a;--state-pressed:#0f172a14;--state-selected:#d1212712;--focus-ring:0 0 0 3px #d1212740;--focus-ring-offset:0 0 0 2px var(--bg-surface), 0 0 0 5px #d1212740;--radius-xs:8px;--radius-sm:8px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--radius-2xl:8px;--radius-full:999px;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{font-family:var(--font-body);background-color:var(--bg-page);color:var(--dark-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--dark-900);font-weight:700;line-height:1.25}a{color:inherit;transition:all var(--transition-fast);text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--border-color);box-shadow:none;outline:none}.mini-spinner{border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.mini-spinner{animation-duration:2s}}select{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:46px;color:var(--dark-900);cursor:pointer;transition:all var(--transition-fast);padding:0 14px;font-size:.88rem}select:not([multiple]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:36px}select:not([multiple]):hover:not(:disabled){border-color:var(--gray-300)}select:not([multiple]):focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #d121271f}select:disabled{cursor:not-allowed;background-color:var(--bg-surface-subtle);color:var(--gray-400);opacity:1}select:not([multiple]):has(option[value=""]:checked:first-child){color:var(--gray-400)}input.has-error:focus,select.has-error:focus,textarea.has-error:focus,.input-error:focus{border-color:var(--danger)}.container{width:100%;max-width:1320px;margin:0 auto;padding:0 16px}.btn{border-radius:var(--radius-sm);font-family:var(--font-heading);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast), transform 90ms ease, color var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible,.auth-text-input:focus-visible,.admin-table-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;white-space:nowrap}.btn-primary{background:var(--primary-gradient);color:var(--white);box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{background:var(--primary-gradient-hover);box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--gray-100);color:var(--dark-900);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--gray-200);border-color:var(--gray-300);transform:translateY(-2px)}.btn-danger{background:var(--danger);color:var(--white);box-shadow:none}.btn-danger:hover{background:var(--danger-hover);box-shadow:none;transform:translateY(-2px)}.btn-dark{background:var(--dark-900);color:var(--white);box-shadow:var(--shadow-sm)}.btn-dark:hover{background:var(--dark-800);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary-light);transform:translateY(-2px)}.btn-outline-white{background:var(--white-alpha-10);color:var(--white);border:1px solid var(--white-alpha-40);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-outline-white:hover{background:var(--white);color:var(--dark-900);border-color:var(--white);transform:translateY(-2px)}.btn-ghost{color:var(--gray-600);box-shadow:none;background:0 0;border:none}.btn-ghost:hover{background:var(--gray-100);color:var(--dark-900)}.btn-sm{border-radius:var(--radius-xs);padding:6px 14px;font-size:.8rem}.btn-md{border-radius:var(--radius-sm);padding:10px 20px;font-size:.9rem}.btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:1rem}.btn-block,.btn-full{width:100%}.btn:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.custom-checkbox-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--dark-800);align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.custom-checkbox-input{appearance:none;border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:var(--white);cursor:pointer;width:18px;height:18px;transition:all var(--transition-fast);flex-shrink:0;place-content:center;display:grid}.custom-checkbox-input:checked{background-color:var(--primary);border-color:var(--primary)}.custom-checkbox-input:checked:before{content:"";border-left:2px solid var(--white);border-bottom:2px solid var(--white);width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.custom-checkbox-input:focus{box-shadow:0 0 0 3px var(--primary-glow);outline:none}.custom-checkbox-input:disabled{background-color:var(--gray-100);border-color:var(--gray-200);cursor:not-allowed}.form-control-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-surface);width:100%;color:var(--dark-900);font-size:.92rem;font-family:var(--font-body);transition:all var(--transition-fast);padding:10px 14px}.form-control-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #d121271f}.form-control-input.has-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #dc26261f}.form-control-input.has-error{border-color:var(--danger);background-color:var(--danger-light)}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-control-label{font-family:var(--font-heading);color:var(--dark-800);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-control-error{color:var(--danger);margin-top:4px;font-size:.78rem;font-weight:500;display:block}.badge{border-radius:var(--radius-xs);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-discount{background:var(--primary);color:var(--white);box-shadow:0 2px 8px var(--primary-glow)}.badge-save{background:var(--danger-light);color:var(--primary);border:1px solid var(--danger-border);font-weight:700}.badge-stock-in{background:var(--success-light);color:var(--success-hover);border:1px solid var(--success-border)}.badge-hot{background:linear-gradient(135deg, var(--accent-amber) 0%, #ea580c 100%);color:var(--white)}.badge-new{background:linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-purple) 100%);color:var(--white)}.card-hover{transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);border-color:var(--primary-glow)!important}.glass-panel{background:var(--white-alpha-85);-webkit-backdrop-filter:blur(12px);border:1px solid var(--white-alpha-60)}.dark-glass-panel{-webkit-backdrop-filter:blur(16px);background:#0f172ad9;border:1px solid #ffffff1a}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--primary-glow)}50%{box-shadow:0 0 0 10px #d1212700}}.pulse-active{animation:2s infinite pulse-glow}@keyframes live-pulse{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}to{opacity:.8;transform:scale(.95)}}.live-dot{background-color:var(--success);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite live-pulse;display:inline-block}.truncate-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.required-asterisk{color:var(--primary);margin-left:3px;font-weight:700}.brand-logo-img-header{-o-object-fit:contain;object-fit:contain;width:auto;height:44px;display:block}.brand-logo-img-footer{background:var(--white);border-radius:var(--radius-sm);width:auto;height:38px;padding:4px 10px;display:inline-block}.brand-logo-img-auth{-o-object-fit:contain;object-fit:contain;width:auto;height:42px;display:block}.brand-logo-img-admin{-o-object-fit:contain;object-fit:contain;width:auto;height:36px;display:block}.empty-state-wrapper{text-align:center;background:var(--bg-surface-subtle);border:1px dashed var(--border-color);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;width:100%;padding:60px 20px;display:flex}.empty-state-icon-box{border-radius:var(--radius-full);background:var(--primary-light);width:64px;height:64px;color:var(--primary);justify-content:center;align-items:center;margin-bottom:16px;display:flex}.empty-state-title{color:var(--dark-900);font-size:1.2rem;font-weight:700;font-family:var(--font-heading);margin-bottom:8px}.empty-state-desc{color:var(--gray-500);max-width:420px;font-size:.88rem;line-height:1.5}.empty-state-desc.has-action{margin-bottom:20px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.card-header{border-bottom:1px solid var(--border-color);font-weight:600;font-family:var(--font-heading);padding:16px 20px}.card-body{flex:1;padding:20px}.card-footer{border-top:1px solid var(--border-color);background:var(--bg-surface-subtle);padding:14px 20px}.pagination-container{justify-content:center;align-items:center;gap:6px;margin-top:32px;display:flex}.pagination-ellipsis{color:var(--gray-500);padding:0 4px}.status-pill{border-radius:var(--radius-sm);text-transform:capitalize;align-items:center;gap:5px;padding:4px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.status-pending{color:var(--accent-amber);background:#f59e0b1f;border:1px solid #f59e0b4d}.status-processing{color:var(--accent-blue);background:#2563eb1f;border:1px solid #2563eb4d}.status-shipped{color:var(--accent-purple);background:#7c3aed1f;border:1px solid #7c3aed4d}.status-delivered{color:var(--accent-emerald);background:#10b9811f;border:1px solid #10b9814d}.status-cancelled{color:var(--danger);background:#ef44441f;border:1px solid #ef44444d}.loading-spinner-wrapper{color:var(--primary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.loading-spinner-wrapper.full-height{min-height:280px;padding:60px 20px}.loading-spinner-text{color:var(--gray-600);font-size:.9rem;font-weight:500}.toast-container{z-index:10000;pointer-events:none;flex-direction:column-reverse;gap:10px;max-height:calc(100vh - 48px);display:flex;position:fixed;bottom:24px;right:24px}.toast-item{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;border:1px solid #0000;align-items:flex-start;gap:12px;min-width:300px;max-width:420px;padding:13px 14px;animation:.3s cubic-bezier(.16,1,.3,1) toastIn;display:flex}.toast-success{background:var(--success-light);border-color:var(--success-border);color:var(--success-text)}.toast-error{background:var(--danger-light);border-color:var(--danger-border);color:var(--danger-text)}.toast-warning{background:var(--warning-light);border-color:var(--warning-border);color:var(--warning-text)}.toast-info{background:var(--info-light);border-color:var(--info-border);color:var(--info-text)}.toast-icon-box{flex-shrink:0;margin-top:1px}.toast-success .toast-icon-box{color:var(--success)}.toast-error .toast-icon-box{color:var(--danger)}.toast-warning .toast-icon-box{color:var(--warning)}.toast-info .toast-icon-box{color:var(--info)}.toast-content{flex:1;min-width:0}.toast-title{margin-bottom:2px;font-size:.85rem;font-weight:700;display:block}.toast-message{color:inherit;overflow-wrap:anywhere;margin:0;font-size:.84rem;line-height:1.45}.toast-close-btn{border-radius:var(--radius-full);width:24px;height:24px;color:inherit;opacity:.55;cursor:pointer;transition:opacity var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-2px -2px 0 4px;display:inline-flex}.toast-close-btn:hover{opacity:1;background-color:var(--state-hover)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (width<=480px){.toast-container{bottom:12px;left:12px;right:12px}.toast-item{min-width:0;max-width:none}}.modal-backdrop-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;background:#0b0f198c;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-dialog-container{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-height:90vh;animation:.24s cubic-bezier(.16,1,.3,1) modalRise;display:flex;overflow:hidden;box-shadow:0 24px 60px -12px #0f172a47,0 8px 20px -8px #0f172a1f}@keyframes modalRise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.modal-header-bar{background:var(--bg-surface);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 16px;display:flex}.modal-title-text{letter-spacing:-.01em;color:var(--dark-900);font-size:1.0625rem;font-weight:700;font-family:var(--font-heading);min-width:0;margin:0}.modal-close-btn{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-full);width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{background:var(--bg-surface-subtle);color:var(--danger)}.modal-body-content{flex:1;padding:4px 24px 24px;overflow-y:auto}.modal-footer-bar,.modal-actions-row{border-top:1px solid var(--border-light);background:var(--bg-surface);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px 20px;display:flex}.custom-checkbox-group{flex-direction:column;display:inline-flex}.skeleton-shimmer{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}.product-card-skeleton{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.skeleton-footer-row{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.skeleton-stack{flex-direction:column;gap:6px;min-width:0;display:flex}.skeleton-line-items{flex-direction:column;gap:14px;display:flex}.skeleton-line-item{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:16px;padding:16px;display:flex}.skeleton-line-item-thumb{flex-shrink:0}.skeleton-line-item-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.skeleton-line-item-price{flex-shrink:0}.skeleton-pdp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding:32px 0;display:grid}.skeleton-pdp-gallery{flex-direction:column;gap:12px;min-width:0;display:flex}.skeleton-pdp-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.skeleton-pdp-info{flex-direction:column;gap:14px;min-width:0;display:flex}.skeleton-pdp-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:8px;display:grid}@media (width<=900px){.skeleton-pdp{grid-template-columns:minmax(0,1fr);gap:24px}}.share-link-help{color:var(--gray-600);margin:0 0 14px;font-size:.9rem;line-height:1.5}.share-link-row{align-items:stretch;gap:10px;display:flex}.share-url-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface-subtle);min-width:0;height:42px;color:var(--dark-900);font-size:.88rem;font-family:var(--font-mono,ui-monospace, SFMono-Regular, monospace);text-overflow:ellipsis;flex:1;padding:0 14px}.share-url-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #d121271f}.share-link-row .btn{flex-shrink:0}.pdp-preorder-notice{border-radius:var(--radius-sm);color:#7a5c12;background:#fdf6e3;border:1px solid #f0d391;align-items:flex-start;gap:12px;margin-top:20px;padding:14px 16px;display:flex}.pdp-preorder-notice svg{flex-shrink:0;margin-top:2px}.pdp-preorder-notice strong{margin-bottom:3px;font-size:.9rem;font-weight:800;display:block}.pdp-preorder-notice p{margin:0;font-size:.85rem;line-height:1.5}.compare-grid-skeleton{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}@media (prefers-reduced-motion:reduce){.skeleton-shimmer{background:var(--gray-200);animation:none}}.quick-view-grid{grid-template-columns:1fr 1fr;gap:24px;padding:24px;display:grid;position:relative}@media (width<=640px){.quick-view-grid{grid-template-columns:1fr}}.quick-view-image-box{text-align:center;background:var(--bg-surface-subtle);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:20px;display:flex}.quick-view-img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:260px;margin:0 auto}.quick-view-info-box{flex-direction:column;justify-content:space-between;display:flex}.quick-view-brand{color:var(--gray-500);text-transform:uppercase;font-size:.74rem;font-weight:700}.quick-view-title{color:var(--dark-900);margin-top:2px;font-size:1.15rem;font-weight:800;line-height:1.3}.quick-view-price-stack{align-items:baseline;gap:8px;margin:12px 0;display:flex}.quick-view-current-price{color:var(--dark-900);font-size:1.25rem;font-weight:900}.quick-view-old-price{color:var(--gray-400);font-size:.88rem;text-decoration:line-through}.quick-view-desc{color:var(--gray-600);margin-bottom:16px;font-size:.84rem;line-height:1.5}.quick-view-qty-row{align-items:center;gap:14px;margin-bottom:16px;display:flex}.quick-view-qty-label{color:var(--gray-600);font-size:.82rem;font-weight:700}.quick-view-qty-control{border:1px solid var(--border-color);border-radius:var(--radius-xs);align-items:center;display:inline-flex;overflow:hidden}.quick-view-qty-btn{cursor:pointer;color:var(--dark-900);transition:background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px 10px;display:flex}.quick-view-qty-btn:hover{background:var(--bg-surface-subtle)}.quick-view-qty-val{color:var(--dark-900);padding:0 10px;font-size:.88rem;font-weight:700}.quick-view-cta-row{gap:10px;display:flex}.quick-view-details-btn{white-space:nowrap}.standard-products-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=1200px){.standard-products-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=860px){.standard-products-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (width<=520px){.standard-products-grid{grid-template-columns:1fr}}.standard-products-grid,.flash-products-grid{grid-template-columns:repeat(4,1fr);display:grid}.standard-products-grid{gap:16px}.flash-products-grid{gap:0}.flash-products-grid>.flash-product-card,.flash-products-grid>.standard-product-card{background:var(--bg-surface);box-shadow:0 0 0 1px var(--border-color);border:0;border-radius:0}@media (width<=1024px){.standard-products-grid,.flash-products-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.standard-products-grid,.flash-products-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.standard-products-grid,.flash-products-grid{grid-template-columns:1fr}}.standard-product-card,.flash-product-card{--card-pad:16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--card-pad);transition:all var(--transition-normal);flex-direction:column;display:flex;position:relative;overflow:hidden}.standard-product-card:hover,.flash-product-card:hover{box-shadow:var(--shadow-md);border-color:#d1212766;transform:translateY(-3px)}.card-badge{border-radius:var(--radius-xs);z-index:5;padding:3px 8px;font-size:.68rem;font-weight:800;position:absolute;top:12px;left:12px}.discount-badge{background:var(--primary);color:var(--white);align-items:center;gap:4px;display:inline-flex}.card-floating-actions{z-index:5;opacity:.9;transition:opacity var(--transition-fast);flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;right:12px}.standard-product-card:hover .card-floating-actions,.flash-product-card:hover .card-floating-actions{opacity:1}.card-action-btn{background:var(--white);border:1px solid var(--border-color);width:32px;height:32px;box-shadow:var(--shadow-xs);color:var(--gray-500);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.card-action-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary);transform:scale(1.1)}.card-action-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.card-action-cart:hover:not(:disabled){background:var(--primary-dark,#b01016);border-color:var(--primary-dark,#b01016)}.card-action-btn:disabled{cursor:not-allowed;opacity:.45;background:var(--bg-surface-subtle);color:var(--gray-400);border-color:var(--border-color)}.card-action-btn:disabled:hover{transform:none}@media (hover:none){.card-floating-actions{opacity:1}}.product-image-box{margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 12px;aspect-ratio:4/3;background:var(--bg-surface-subtle);border-radius:0;justify-content:center;align-items:center;width:auto;max-height:200px;padding:0;text-decoration:none;display:flex;overflow:hidden}.product-image-box img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;transition:transform var(--transition-normal)}.standard-product-card:hover .product-image-box img,.flash-product-card:hover .product-image-box img{transform:scale(1.06)}.product-body{flex-direction:column;flex:1;display:flex}.product-brand-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);margin-bottom:4px;font-size:.7rem;font-weight:700}.product-title{color:var(--dark-900);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:8px;font-size:.9rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.product-title a{color:inherit;transition:color var(--transition-fast);text-decoration:none}.product-title a:hover{color:var(--primary)}.product-specs-list{flex-direction:column;gap:3px;min-height:48px;margin-bottom:8px;list-style:none;display:flex}.product-specs-list li{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.product-rating-row{align-items:center;gap:6px;margin-bottom:10px;display:flex}.star-rating{color:var(--dark-800);align-items:center;gap:3px;font-size:.75rem;font-weight:700;display:flex}.review-count{color:var(--gray-400);font-size:.7rem}.stock-status-row{margin-bottom:8px}.in-stock-pill{color:var(--success-hover);align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:inline-flex}.out-of-stock-pill{color:var(--accent-amber);align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:inline-flex}.stock-progress-container{margin-bottom:12px}.stock-labels{color:var(--gray-500);justify-content:space-between;margin-bottom:4px;font-size:.72rem;display:flex}.stock-none{color:var(--danger-text);font-weight:700}.sold-count{color:var(--dark-900);font-weight:700}.progress-track{background:var(--gray-200);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--warning) 0%, #ea484f 100%);border-radius:var(--radius-full);height:100%}.product-card-footer,.flash-card-footer{border-top:1px solid var(--border-light);flex-direction:column;align-items:stretch;gap:10px;margin-top:auto;padding-top:10px;display:flex}.price-stack{flex-wrap:wrap;align-items:baseline;gap:0 7px;min-width:0;display:flex}.current-price{font-size:1.15rem;font-weight:800;font-family:var(--font-heading);color:var(--dark-900);line-height:1.2}.old-price{color:var(--gray-400);font-size:.75rem;text-decoration:line-through}.btn-add-cart{background:var(--primary);width:100%;color:var(--white);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:700;display:inline-flex}.btn-add-cart:disabled{background:var(--gray-200);color:var(--gray-500);cursor:not-allowed}.btn-add-cart:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 2px 8px var(--primary-glow);transform:translateY(-1px)}textarea,textarea.form-control-input,textarea.admin-form-input{resize:vertical;min-height:150px}.auth-form-group{width:100%;margin-bottom:18px}.auth-label{color:var(--dark-800);margin-bottom:6px;font-size:.82rem;font-weight:700;display:block}.auth-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.auth-input-icon{color:var(--gray-400);pointer-events:none;z-index:2;position:absolute;left:14px}.phone-prefix-box{color:var(--gray-600);pointer-events:none;z-index:2;background:var(--gray-100);border-radius:var(--radius-xs);border:1px solid var(--border-color);align-items:center;gap:4px;padding:3px 8px;font-size:.84rem;font-weight:700;display:flex;position:absolute;left:12px}.auth-text-input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;height:46px;font-size:.88rem;font-family:var(--font-body);color:var(--dark-900);transition:all var(--transition-fast);outline:none;padding:10px 14px}.auth-text-input:hover:not(:focus):not(:disabled){border-color:var(--gray-300)}.auth-text-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #d121271f}.auth-text-input::placeholder{color:var(--gray-400)}.auth-text-input:disabled{background:var(--bg-surface-subtle);color:var(--gray-500);cursor:not-allowed}.auth-text-input.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #dc26261f}.auth-text-input.phone-padded{padding-left:96px}.auth-text-input.icon-padded{padding-left:42px}.auth-text-input.password-padded{padding-right:44px}.auth-text-input.input-error{border-color:var(--danger);background-color:var(--danger-light)}.password-toggle-btn{color:var(--gray-400);cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:var(--dark-700)}.auth-field-error{color:var(--danger);margin-top:5px;font-size:.76rem;font-weight:600;display:block}.auth-field-hint{color:var(--gray-400);margin-top:6px;font-size:.75rem;line-height:1.5;display:block}.cropper-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;background-color:#0f172abf;justify-content:center;align-items:center;padding:16px;animation:.18s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.cropper-modal-dialog{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-direction:column;width:820px;max-width:95vw;max-height:calc(100vh - 40px);margin:auto;animation:.2s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;overflow:hidden;box-shadow:0 20px 48px #0f172a40}.cropper-modal-header{border-bottom:1px solid var(--border-color);background:var(--bg-surface-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.cropper-title-group{align-items:center;gap:8px;display:flex}.cropper-icon-accent{color:var(--primary)}.cropper-title-group h3{color:var(--dark-900);font-size:1.05rem;font-weight:800;font-family:var(--font-heading);margin:0}.cropper-close-btn{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .14s;display:flex}.cropper-close-btn:hover{color:var(--danger);background:#ea484f14}.cropper-modal-body{grid-template-columns:500px minmax(0,1fr);gap:20px;min-height:0;padding:20px;display:grid;overflow-y:auto}@media (width<=800px){.cropper-modal-body{grid-template-columns:minmax(0,1fr)}}.cropper-canvas-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.cropper-interactive-canvas{border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;max-width:100%;height:auto;box-shadow:inset 0 0 0 1px #ffffff1a}.cropper-interactive-canvas:active{cursor:grabbing}.cropper-upload-empty{background:var(--bg-surface-subtle);border:2px dashed var(--border-color);border-radius:var(--radius-sm);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:500px;max-width:100%;height:400px;padding:20px;display:flex}.empty-upload-icon{color:var(--gray-400)}.cropper-upload-empty p{color:var(--gray-500);margin:0;font-size:.88rem}.cropper-upload-limits-text{color:var(--gray-400);font-size:.74rem;font-weight:600}.cropper-error-banner{color:var(--danger);border-radius:var(--radius-xs);background:#ea484f1a;border:1px solid #ea484f4d;max-width:90%;padding:6px 12px;font-size:.78rem;font-weight:700}.cropper-file-upload-btn{background:var(--primary);color:var(--white);border-radius:var(--radius-xs);cursor:pointer;padding:8px 16px;font-size:.84rem;font-weight:700;transition:background .14s}.cropper-file-upload-btn:hover{background:var(--primary-hover)}.cropper-canvas-tip{color:var(--gray-500);font-size:.74rem}.cropper-sidebar-controls{flex-direction:column;gap:18px;display:flex}.control-group{flex-direction:column;gap:8px;display:flex}.control-label{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);font-size:.78rem;font-weight:800}.control-label-row{justify-content:space-between;align-items:center;display:flex}.zoom-value{color:var(--primary);font-size:.78rem;font-weight:800}.aspect-ratio-btn-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.aspect-btn{border:1px solid var(--border-color);background:var(--bg-surface-subtle);border-radius:var(--radius-xs);color:var(--dark-800);cursor:pointer;text-align:center;padding:7px 10px;font-size:.78rem;font-weight:600;transition:all .14s}.aspect-btn:hover{border-color:var(--gray-400);background:var(--white)}.aspect-btn.active{border-color:var(--primary);color:var(--primary);background:#ea484f14;font-weight:800}.dimensions-input-row{align-items:center;gap:8px;display:flex}.dim-field{border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--bg-surface-subtle);flex:1;align-items:center;display:flex;overflow:hidden}.dim-field span{color:var(--gray-400);border-right:1px solid var(--border-color);background:#0f172a0a;padding:6px 10px;font-size:.75rem;font-weight:800}.dim-field input{width:100%;color:var(--dark-900);background:0 0;border:none;outline:none;padding:6px 8px;font-size:.84rem;font-weight:600}.dim-separator{color:var(--gray-400);font-weight:800}.zoom-slider-row{color:var(--gray-500);align-items:center;gap:10px;display:flex}.zoom-slider{height:6px;accent-color:var(--primary);cursor:pointer;flex:1}.transform-tools-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tool-action-btn{border:1px solid var(--border-color);background:var(--bg-surface-subtle);border-radius:var(--radius-xs);color:var(--dark-800);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;font-weight:600;transition:all .14s;display:flex}.tool-action-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--white)}.cropper-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-surface-subtle);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.text-primary{color:var(--primary)}.text-muted{color:var(--gray-500)}.text-gray-400{color:var(--gray-400)}.text-xs{font-size:.72rem}.text-sm{font-size:.82rem}.font-semibold{font-weight:600}.font-heading{font-family:var(--font-heading)}.tracking-wide{letter-spacing:.4px}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.block{display:block}.ml-auto{margin-left:auto}.min-w-0{min-width:0}.w-full,.w-100{width:100%}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.plp-filter-skeleton-rows{flex-direction:column;gap:12px;padding:4px 0 2px;display:flex}.plp-filters-body.is-busy{pointer-events:none;opacity:.55;transition:opacity var(--transition-fast)}.plp-filters-body.is-busy a,.plp-filters-body.is-busy button,.plp-filters-body.is-busy input{pointer-events:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{box-shadow:var(--focus-ring);z-index:1;outline:none;position:relative}.btn-primary:focus-visible,.btn-danger:focus-visible,.admin-nav-link.active:focus-visible{box-shadow:var(--focus-ring-offset)}.admin-table tbody tr,.rep-table tbody tr,.cmp-history tr,.po-lines tbody tr{transition:background-color var(--transition-fast)}.admin-table tbody tr:hover,.rep-table tbody tr:hover,.cmp-history tr:hover,.po-lines tbody tr:hover{background-color:var(--state-hover)}button,a,.btn,[role=button]{transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast)}.btn:active:not(:disabled),button:active:not(:disabled){transform:translateY(1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:hover,:active{transform:none!important}}
