:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-surface:#fff;--bg-elevated:#ffffffe0;--bg-glass:#ffffffd9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--accent-primary:#2563eb;--accent-hover:#1d4ed8;--accent-secondary:#4f46e5;--accent-glow:#2563eb38;--accent-soft:#2563eb14;--success:#10b981;--success-soft:#10b9811f;--warning:#f59e0b;--warning-soft:#f59e0b1f;--error:#ef4444;--error-soft:#ef44441f;--info:#06b6d4;--info-soft:#06b6d41f;--border-color:#e2e8f0f2;--border-hover:#cbd5e1f2;--border-focus:#3b82f6;--ring-focus:#3b82f640;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Plus Jakarta Sans", "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--shadow-xs:0 1px 2px 0 #0f172a08;--shadow-sm:0 1px 3px 0 #0f172a0f, 0 1px 2px -1px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a12, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 25px -5px #0f172a14, 0 8px 10px -6px #0f172a0a;--shadow-xl:0 20px 30px -10px #0f172a1f, 0 10px 15px -5px #0f172a0a;--shadow-glow:0 0 25px var(--accent-glow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.03em;color:var(--text-primary);font-weight:700;line-height:1.25}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;transition:all var(--transition-fast);background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}.glass-panel{background:var(--bg-elevated);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-panel:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.text-gradient{background:linear-gradient(135deg,#0f172a 0%,#334155 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.accent-gradient{background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-premium{border-radius:var(--radius-md);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-premium:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:hover{opacity:.94;box-shadow:0 6px 16px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.btn-outline{color:var(--accent-primary);border:1px solid var(--accent-primary);background:0 0}.btn-outline:hover{background:var(--accent-soft)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-danger{background:var(--error);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.input-premium,.select-premium,.textarea-premium{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:all var(--transition-fast);box-shadow:var(--shadow-xs);outline:none;padding:.65rem 1rem;font-size:.9rem}.input-premium:focus,.select-premium:focus,.textarea-premium:focus{border-color:var(--border-focus);box-shadow:0 0 0 4px var(--ring-focus)}.input-premium::placeholder,.textarea-premium::placeholder{color:var(--text-muted)}.badge-premium{border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--error-soft);color:var(--error)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-accent{background:var(--accent-soft);color:var(--accent-primary)}.table-premium{border-collapse:separate;border-spacing:0;width:100%}.table-premium th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);padding:.85rem 1rem;font-size:.75rem;font-weight:600}.table-premium td{color:var(--text-primary);border-bottom:1px solid var(--border-color);transition:background var(--transition-fast);padding:.85rem 1rem;font-size:.9rem}.table-premium tr:hover td{background:#2563eb06}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.skeleton-loader{background:linear-gradient(90deg, var(--bg-tertiary) 25%, #e2e8f0 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 1rem}@media (width>=768px){.container{padding:0 2rem}}.product-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=480px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}}@media (width>=768px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}}@media (width>=1024px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.75rem}}.features-grid{grid-template-columns:repeat(1,1fr);gap:1.25rem;display:grid}@media (width>=640px){.features-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem}}.categories-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=640px){.categories-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}.category-card{border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:2rem 1.5rem}.category-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-detail-top{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem;display:grid}@media (width>=768px){.product-detail-top{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:4rem}}@media (width>=1024px){.product-detail-top{gap:4rem}}.main-header{z-index:100;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#ffffffe6;justify-content:space-between;align-items:center;margin:.5rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}@media (width>=768px){.main-header{border-radius:var(--radius-xl);max-width:1240px;margin:1rem auto;padding:1rem 2rem}}.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}@media (width>=1024px){.hide-on-mobile{display:inline-flex!important}.show-on-mobile{display:none!important}}.hide-mobile{display:none!important}.show-mobile-only{display:block!important}@media (width>=1024px){.hide-mobile{display:inline-flex!important}.show-mobile-only{display:none!important}}.catalogue-layout{flex-direction:column;gap:2rem;display:flex}@media (width>=768px){.catalogue-layout{flex-direction:row;align-items:flex-start}}.catalogue-sidebar{width:100%}@media (width>=768px){.catalogue-sidebar{flex-shrink:0;width:280px}}.product-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);height:100%;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);cursor:pointer;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lg);border-color:#2563eb4d;transform:translateY(-4px)}.product-card-image-wrapper{aspect-ratio:1;background:var(--bg-tertiary);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.product-card-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.product-card:hover .product-card-image{transform:scale(1.06)}.product-badge{border-radius:var(--radius-full);color:#fff;z-index:10;box-shadow:var(--shadow-xs);letter-spacing:.02em;padding:.25rem .65rem;font-size:.7rem;font-weight:700;position:absolute;top:10px}.badge-rupture{background:var(--error);right:10px}.badge-promo{background:var(--error);left:10px}.badge-nouveau{background:var(--accent-primary);left:10px}.product-card-content{flex-direction:column;flex:1;padding:1rem;display:flex}.product-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.35rem;font-size:.95rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.product-card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin-bottom:1rem;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-footer{justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.5rem;display:flex}.product-card-price{color:var(--accent-primary);font-size:1.1rem;font-weight:800}.admin-layout-wrapper{background-color:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}@media (width>=1024px){.admin-layout-wrapper{flex-direction:row}}.admin-mobile-header{z-index:60;background:var(--bg-surface);border-bottom:1px solid var(--border-color);height:60px;min-height:60px;box-shadow:var(--shadow-sm);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1rem;display:flex;position:fixed;top:0;left:0;right:0}@media (width>=1024px){.admin-mobile-header{display:none!important}}.admin-sidebar-overlay{-webkit-backdrop-filter:blur(2px);z-index:49;background:#0f172a8c;animation:.2s forwards fadeIn;position:fixed;inset:0}@media (width>=1024px){.admin-sidebar-overlay{display:none!important}}.admin-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-color);z-index:50;width:280px;transition:transform var(--transition-normal);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}@media (width>=1024px){.admin-sidebar{height:100vh;box-shadow:none;flex-shrink:0;transition:none;position:sticky;top:0;transform:none!important}}.admin-main-content{flex:1;width:100%;min-width:0;max-width:100vw;padding:calc(60px + 1.25rem) 1.5rem 1.5rem;overflow-x:hidden}@media (width>=768px){.admin-main-content{padding:calc(60px + 1.5rem) 2rem 2rem}}@media (width>=1024px){.admin-main-content{max-width:calc(100vw - 280px);padding:2.25rem}}.admin-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-surface);width:100%;box-shadow:var(--shadow-xs);overflow-x:auto}.pos-layout{flex-direction:column;gap:1.5rem;display:flex}@media (width>=1024px){.pos-layout{grid-template-columns:1fr 420px;gap:1.5rem;height:calc(100vh - 120px);display:grid;overflow:hidden}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.admin-main-content h1{font-size:1.5rem!important}.admin-main-content h2{font-size:1.2rem!important}}.admin-main-content *{max-width:100%}.admin-table-wrapper table{max-width:none}
