@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap";:root{--color-bg:#1c1c1c;--color-surface:#f5e8d80d;--color-surface-hover:#f5e8d81a;--color-primary:#ff6f61;--color-primary-hover:#ff4500;--color-text:#f5e8d8;--color-text-muted:#f5e8d899;--color-border:#f5e8d81a;--color-success:#daa520;--color-danger:#ef4444;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #0000004d;--shadow-glow:0 0 15px #ff6f6166;--transition-fast:.2s ease;--transition-normal:.3s ease;--app-font:"Inter", -apple-system, sans-serif;--bg-gradient:none;--glass-filter:blur(12px)}[data-theme=light]{--color-bg:#f5f5f5;--color-surface:#fff;--color-surface-hover:#f9f9f9;--color-primary:#000;--color-primary-hover:#333;--color-text:#111;--color-text-muted:#666;--color-border:#e5e5e5;--color-success:#10b981;--color-danger:#ef4444;--radius-md:0px;--radius-lg:0px;--radius-full:0px;--shadow-sm:none;--shadow-md:0 1px 3px #0000000d;--shadow-lg:0 4px 6px #0000000d;--shadow-glow:none;--app-font:"Montserrat", sans-serif;--bg-gradient:none;--glass-filter:none}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--app-font);background-color:var(--color-bg);background-image:var(--bg-gradient);color:var(--color-text);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);background-attachment:fixed;flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;text-transform:var(--title-transform,none);font-weight:600}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3{text-transform:uppercase;letter-spacing:1px}.glass{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-filter);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.app-layout{min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;margin-left:260px;transition:margin-left .3s;display:flex}.sidebar-container.collapsed~.main-content{margin-left:80px}@media (width<=768px){.main-content,.sidebar-container.collapsed~.main-content{margin-left:0}}.container{width:100%;max-width:1000px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:2rem}.header h1{color:var(--color-primary);margin-bottom:.5rem;font-size:2.5rem}.header p{color:var(--color-text-muted);font-size:1.1rem}.filters-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.search-input,.sort-select{border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0003;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.search-input:focus,.sort-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f640}.search-input{flex:1;min-width:250px}.search-input::placeholder{color:var(--color-text-muted)}.sort-select{cursor:pointer;min-width:200px}.sort-select option{background:var(--color-bg);color:var(--color-text)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.product-card{transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;padding:1.5rem;display:flex}.product-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);background:var(--color-surface-hover);transform:translateY(-4px)}.product-image-container{aspect-ratio:1;border-radius:var(--radius-md);background-color:#ffffff0d;justify-content:center;align-items:center;width:100%;margin-bottom:1rem;display:flex;overflow:hidden}.product-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.product-card:hover .product-image{transform:scale(1.05)}.product-info{flex:1}.product-title{color:var(--color-text);margin-bottom:.25rem;font-size:1.1rem}.product-sku{color:var(--color-text-muted);margin-bottom:1rem;font-size:.8rem;display:block}.stock-control-wrapper{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.stock-input-group{border-radius:var(--radius-full);border:1px solid var(--color-border);background:#0003;align-items:center;padding:.25rem;display:flex}.stock-btn{color:var(--color-text);cursor:pointer;width:28px;height:28px;transition:background var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex}.stock-btn:hover:not(:disabled){background:#ffffff1a}.stock-btn:disabled{opacity:.5;cursor:not-allowed}.stock-input{color:var(--color-text);text-align:center;-moz-appearance:textfield;background:0 0;border:none;width:40px;font-size:1rem;font-weight:600}.stock-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stock-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stock-input:focus{outline:none}.action-area{z-index:10;justify-content:center;display:flex;position:sticky;bottom:2rem}.action-bar{border-radius:var(--radius-full);align-items:center;gap:1.5rem;padding:1rem 2rem;display:flex}.changes-text{color:#fbbf24;font-weight:500}.sync-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;display:flex;box-shadow:0 4px 14px #3b82f663}.sync-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f663}.sync-button:active:not(:disabled){transform:translateY(0)}.sync-button:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;opacity:.8}.sync-button.success{background:var(--color-success);box-shadow:0 4px 14px #10b98163}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.container{padding:1rem}.header h1{font-size:1.8rem}.filters-bar{flex-direction:column;align-items:stretch}.search-input,.sort-select{width:100%;min-width:unset}.product-grid{grid-template-columns:1fr;gap:1rem}.action-bar{border-radius:var(--radius-md);text-align:center;flex-direction:column;gap:1rem;padding:1rem}.sync-button{justify-content:center;width:100%}.stock-control-wrapper{flex-direction:column;align-items:stretch;gap:1rem}.stock-input-group{justify-content:space-between}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:600px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-content.large{max-width:700px}.modal-content.small{max-width:500px}.instructions-flex{justify-content:space-between;gap:1rem;display:flex}.result-box{border-radius:var(--radius-lg);background:#8b5cf633;border:1px solid #8b5cf6;align-items:center;gap:1rem;padding:1.5rem 3rem;display:flex}@media (width<=768px){.modal-content{padding:1.5rem}.instructions-flex{flex-direction:column;gap:1.5rem}.result-box{text-align:center;flex-direction:column;padding:1rem 1.5rem}.image-upload-container{max-width:300px;margin:0 auto;width:100%!important}}.sidebar-container{z-index:50;border-right:1px solid var(--color-border);background:var(--color-surface);width:260px;height:100vh;-webkit-backdrop-filter:var(--glass-filter);flex-direction:column;transition:transform .3s,width .3s;display:flex;position:fixed;top:0;left:0}.sidebar-container.collapsed{width:80px}.sidebar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem 1rem;display:flex}.sidebar-brand{color:var(--color-text);white-space:nowrap;font-size:1.2rem;font-weight:700;overflow:hidden}.sidebar-container.collapsed .sidebar-brand{display:none}.sidebar-toggle-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.sidebar-toggle-btn:hover{color:var(--color-text)}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1rem 0;display:flex;overflow-y:auto}.sidebar-link{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:1rem;padding:.8rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-link:hover{color:var(--color-text);background:#ffffff0d}[data-theme=light] .sidebar-link:hover{background:#0000000d}.sidebar-link.active{color:var(--color-primary);background:var(--color-surface-hover);border-right:3px solid var(--color-primary)}[data-theme=light] .sidebar-link.active{background:#0000000d}.sidebar-link-icon{text-align:center;min-width:24px;font-size:1.2rem}.sidebar-container.collapsed .sidebar-link-text{display:none}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;padding:1rem;display:flex}.user-profile{align-items:center;gap:1rem;display:flex;overflow:hidden}.user-avatar{object-fit:cover;border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:40px;height:40px}.user-info{white-space:nowrap;flex-direction:column;display:flex}.user-name{color:var(--color-text);font-size:.9rem;font-weight:600}.user-role{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem}.sidebar-container.collapsed .user-info{display:none}.theme-toggle-btn{border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;background:#0003;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem;font-family:inherit;transition:all .2s;display:flex}.theme-toggle-btn:hover{background:#ffffff1a}[data-theme=light] .theme-toggle-btn{background:#eee;border-color:#ddd}[data-theme=light] .theme-toggle-btn:hover{background:#e0e0e0}.sidebar-container.collapsed .theme-toggle-text{display:none}.logout-btn{border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem;font-weight:600;transition:all .2s;display:flex}.logout-btn:hover{background:#ef44441a}.sidebar-container.collapsed .logout-text{display:none}.mobile-header{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-filter);border-bottom:1px solid var(--color-border);z-index:40;justify-content:space-between;align-items:center;padding:1rem;display:none;position:sticky;top:0}.mobile-brand{color:var(--color-text);font-weight:700}.mobile-menu-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;font-size:1.5rem}@media (width<=768px){.sidebar-container{width:260px;transform:translate(-100%)}.sidebar-container.mobile-open{transform:translate(0)}.sidebar-container.collapsed{width:260px}.sidebar-toggle-btn{display:none}.mobile-header{display:flex}}body:has(.vauthier-calculator-container){background-color:#0000!important;background-image:none!important}.vauthier-calculator-container{color:#111;box-sizing:border-box;background-color:#fff;width:100%;padding:20px;font-family:Montserrat,sans-serif}.vauthier-calculator-header{text-align:center;border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:15px}.vauthier-title{text-transform:uppercase;letter-spacing:2px;color:#000;margin:0 0 10px;font-size:1.5rem;font-weight:700}.vauthier-info-btn{color:#000;text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #000;padding:6px 15px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s}.vauthier-info-btn:hover{color:#fff;background:#000}.vauthier-instructions{background:#f9f9f9;border:1px solid #e0e0e0;margin-bottom:25px;padding:20px}.vauthier-instructions-title{text-transform:uppercase;letter-spacing:1px;margin-top:0;margin-bottom:10px;font-size:.85rem;font-weight:600}.vauthier-steps{margin:0;padding-left:20px;font-size:.9rem;line-height:1.6}.vauthier-steps li{margin-bottom:8px}.vauthier-input-section{text-align:center;margin-bottom:30px}.vauthier-label{text-transform:uppercase;letter-spacing:1px;color:#333;margin-bottom:15px;font-size:.85rem;font-weight:600;display:block}.vauthier-input{text-align:center;color:#000;background:0 0;border:none;border-bottom:2px solid #000;border-radius:0;outline:none;width:150px;padding:10px;font-family:Montserrat,sans-serif;font-size:1.8rem}.vauthier-input::placeholder{color:#ccc;font-weight:400}.vauthier-result-section{justify-content:center;align-items:center;min-height:100px;display:flex}.vauthier-result-box{text-align:center;color:#fff;background:#000;width:100%;max-width:300px;padding:25px 40px}.vauthier-result-subtitle{text-transform:uppercase;letter-spacing:2px;color:#ccc;margin-bottom:5px;font-size:.75rem;font-weight:400}.vauthier-result-value{font-size:3.5rem;font-weight:700;line-height:1}.vauthier-error-text{color:#d32f2f;text-transform:uppercase;letter-spacing:1px;text-align:center;font-size:.85rem}.fade-in{animation:.4s ease-in fadeIn}
