body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background-color:var(--color-primary);box-shadow:0 2px 10px #0000001a;color:#fff!important;padding:12px 0}.header-container{align-items:center;display:flex;justify-content:space-between;padding:0 20px;width:100%}.logo a{text-decoration:none!important}.logo a,.logo h1{color:#fff!important}.logo h1{font-size:24px;margin:0;padding:8px 0}.main-nav ul{display:flex;gap:10px;list-style-type:none;margin:0;padding:0}.nav-link{align-items:center;border-radius:8px;display:flex;flex-direction:column;padding:10px 16px;transition:background-color .3s}.nav-link,.nav-link:focus,.nav-link:hover{color:#fff!important;text-decoration:none!important}.nav-link:focus,.nav-link:hover{background-color:#ffffff26}.nav-link.active{background-color:#ffffff40;color:#fff!important;font-weight:600;text-decoration:none!important}.nav-link span{color:#fff!important;font-size:14px;margin-top:4px}.nav-link svg{fill:#fff!important;color:#fff!important}.login-btn,.user-section{align-items:center;display:flex}.login-btn{background-color:#fff;border:none;border-radius:8px;color:var(--color-primary);font-weight:600;padding:10px 20px;text-decoration:none!important;transition:background-color .3s}.login-btn:focus,.login-btn:hover{background-color:var(--color-accent-1);text-decoration:none!important}.login-btn span{margin-left:8px}.user-menu{gap:12px}.user-menu,.user-profile{align-items:center;display:flex}.user-profile{background-color:#ffffff26;border-bottom:none!important;border-radius:8px;padding:8px 12px;transition:background-color .3s}.user-profile,.user-profile:hover{color:#fff!important;text-decoration:none!important}.user-profile:hover{background-color:#fff3}.user-profile span{color:#fff!important;font-weight:600;margin-left:8px}.user-profile svg{fill:#fff!important;color:#fff!important}.user-menu-item{align-items:center;background-color:#ffffff1a;border-radius:6px;display:flex;font-size:14px;font-weight:500;padding:6px 10px;transition:all .3s ease}.user-menu-item,.user-menu-item:hover{color:#fff!important;text-decoration:none!important}.user-menu-item:hover{background-color:#fff3}.user-menu-item.active{background-color:#ff4c4ccc;color:#fff!important;font-weight:600;text-decoration:none!important}.user-menu-item span{color:#fff!important;margin-left:6px}.user-menu-item svg{fill:#fff!important;color:#fff!important}.admin-link{align-items:center;color:#ffffffb3!important;display:flex;justify-content:center;margin-left:8px;padding:5px;transition:color .3s}.admin-link,.admin-link:hover{text-decoration:none!important}.admin-icon,.admin-link:hover{color:#fff!important}.admin-icon{fill:#fff!important;opacity:.7;transition:opacity .3s}.admin-link:hover .admin-icon{opacity:1}.logout-btn{align-items:center;background-color:#ffffff1a;border:none;border-radius:8px;color:#fff!important;cursor:pointer;display:flex;padding:8px 12px;transition:background-color .3s}.logout-btn:hover{background-color:#fff3;color:#fff!important}.logout-btn span{color:#fff!important;margin-left:8px}.logout-btn svg{fill:#fff!important}.header *,.logout-btn svg{color:#fff!important}.header a,.header a:active,.header a:focus,.header a:hover,.header a:link,.header a:visited{border-bottom:none!important;color:#fff!important;outline:none!important;text-decoration:none!important}.header .nav-link,.header .nav-link:active,.header .nav-link:focus,.header .nav-link:hover,.header .nav-link:link,.header .nav-link:visited{border-bottom:none!important;outline:none!important;text-decoration:none!important}.header .login-btn,.header .login-btn *{color:var(--color-primary)!important}@media (max-width:768px){.header-container{flex-direction:column;padding:12px}.logo{margin-bottom:12px}.main-nav{margin:10px 0;width:100%}.main-nav ul{justify-content:space-between}.nav-link{padding:8px}.user-section{margin-top:12px}.user-menu{flex-direction:column;gap:8px;width:100%}.logout-btn,.user-menu-item,.user-profile{justify-content:center;width:100%}.user-menu-item span{margin-left:8px}}.footer{background-color:var(--color-primary);box-shadow:0 -2px 10px #0000001a;color:#fff;margin-top:auto}.footer-container{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1200px;padding:25px 20px 15px}.footer-section{display:flex;flex-direction:column}.footer-title{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:600;margin-bottom:15px}.footer-icon{font-size:14px;margin-right:6px}.footer-links{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.footer-link{align-items:center;border-radius:6px;color:#fffc;display:flex;font-size:14px;padding:6px 10px;text-decoration:none;transition:color .3s,background-color .3s}.footer-link:focus,.footer-link:hover{background-color:#ffffff26;color:#fff}.footer-link-icon{font-size:12px;margin-right:6px}.footer-button{background:none;border:none;cursor:pointer;text-align:left;width:100%}.footer-info{color:#fff9;font-size:13px;font-weight:500;padding:6px 10px}.footer-about-compact{grid-column:span 1}.footer-description{color:#ffffffd9;font-size:13px;line-height:1.5;margin-bottom:12px}.footer-about-btn{align-self:flex-start;background-color:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:10px;padding:8px 12px;transition:background-color .3s}.footer-about-btn:hover{background-color:#ffffff40}.footer-made-in-france{background-color:#ffffff1a;border-radius:6px;font-size:12px;font-weight:500;margin-top:8px;padding:6px 10px;text-align:center}.footer-bottom{background-color:#0003;border-top:1px solid #ffffff1a}.footer-bottom .footer-container{display:flex;gap:0;grid-template-columns:none;justify-content:center;padding:15px 20px}.footer-copyright{text-align:center}.footer-copyright p{color:#fffc;font-size:13px;margin:0}.footer-tagline{color:#fff9!important;font-size:12px!important;font-style:italic;margin-top:3px!important}.modal-overlay{background-color:#0009;padding:20px}.modal-content{box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.modal-header{align-items:center;background-color:var(--color-primary);border-bottom:1px solid #eee;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h2{font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;padding:5px;transition:background-color .3s}.modal-close:hover{background-color:#fff3}.modal-body{color:#333;line-height:1.6;overflow-y:auto;padding:25px}.modal-body h3{color:var(--color-primary);font-size:16px;font-weight:600;margin:20px 0 10px}.modal-body h3:first-child{margin-top:0}.modal-body p{font-size:14px;margin-bottom:15px}.modal-body strong{color:var(--color-primary);font-weight:600}@media (max-width:768px){.footer-container{gap:20px;grid-template-columns:1fr;padding:20px 15px 10px}.footer-about-compact{grid-column:span 1}.footer-title{font-size:15px;margin-bottom:12px}.footer-links{gap:6px}.footer-link{font-size:13px;padding:5px 8px}.footer-description{font-size:12px}.footer-about-btn{font-size:12px;padding:6px 10px}.footer-made-in-france{font-size:11px;padding:5px 8px}.footer-bottom .footer-container{padding:12px 15px}.modal-overlay{padding:10px}.modal-content{max-height:90vh}.modal-header{padding:15px 20px}.modal-header h2{font-size:16px}.modal-body{padding:20px}.modal-body h3{font-size:15px}.modal-body p{font-size:13px}}@media (max-width:480px){.footer-container{padding:15px 12px 8px}.footer-title{font-size:14px;margin-bottom:10px}.footer-copyright p{font-size:12px}.footer-tagline{font-size:11px!important}}:root{--primary-blue:#2563eb;--secondary-blue:#3b82f6;--light-blue:#dbeafe;--hover-blue:#1d4ed8;--text-dark:#1f2937;--text-gray:#6b7280;--background-gray:#f9fafb;--white:#fff;--success-green:#10b981;--warning-orange:#f59e0b;--purple:#8b5cf6;--pink:#ec4899;--gradient-primary:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);--gradient-secondary:linear-gradient(135deg,var(--light-blue) 0%,var(--white) 100%)}.home-container{background:#fff;background:var(--white);min-height:100vh}.hero{background:linear-gradient(135deg,#2563eb,#3b82f6);background:var(--gradient-primary);color:#fff;color:var(--white);overflow:hidden;padding:80px 20px;position:relative;text-align:center}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='20' cy='20' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='80' cy='80' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='40' cy='60' r='1' fill='rgba(255,255,255,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.hero-content{margin:0 auto;max-width:800px;position:relative;z-index:2}.hero-icon-wrapper{animation:float 3s ease-in-out infinite;margin-bottom:30px}.hero-main-icon{color:#fff;color:var(--white);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));font-size:4rem}.hero h1{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:20px;text-shadow:0 4px 8px #0000004d}.subtitle{font-size:1.3rem;font-weight:300;line-height:1.5;margin-bottom:40px;opacity:.95}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:60px}.cta-button{align-items:center;border-radius:12px;display:inline-flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;min-width:200px;overflow:hidden;padding:16px 32px;position:relative;text-decoration:none;transition:all .3s ease}.cta-button.large{font-size:18px;min-width:250px;padding:20px 40px}.cta-button.primary{background:#fff;background:var(--white);border:2px solid #fff;border:2px solid var(--white);color:#2563eb;color:var(--primary-blue)}.cta-button.primary:hover{background:#0000;box-shadow:0 10px 30px #0000004d;color:#fff;color:var(--white);transform:translateY(-3px)}.cta-button.secondary{background:#0000;border:2px solid #fff;border:2px solid var(--white);color:#fff;color:var(--white)}.cta-button.secondary:hover{background:#fff;background:var(--white);box-shadow:0 10px 30px #0000004d;color:#2563eb;color:var(--primary-blue);transform:translateY(-3px)}.button-icon{font-size:18px;transition:transform .3s ease}.cta-button:hover .button-icon{transform:scale(1.2) rotate(10deg)}.hero-stats{display:flex;flex-wrap:wrap;gap:60px;justify-content:center;margin-top:40px}.stat-item{animation:fadeInUp .8s ease-out;animation-fill-mode:both;text-align:center}.stat-item:first-child{animation-delay:.2s}.stat-item:nth-child(2){animation-delay:.4s}.stat-item:nth-child(3){animation-delay:.6s}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));margin-bottom:10px}.stat-icon,.stat-number{color:#fff;color:var(--white)}.stat-number{font-size:2.5rem;font-weight:800;text-shadow:0 2px 4px #0000004d}.stat-label{display:block;font-weight:300}.features,.how-it-works,.testimonials,.video-intro{margin:0 auto;max-width:1200px;padding:80px 20px}.section-header{margin-bottom:60px;text-align:center}.section-title{color:#1f2937;color:var(--text-dark);font-size:2.5rem;margin-bottom:20px;position:relative}.section-title:after{background:linear-gradient(135deg,#2563eb,#3b82f6);background:var(--gradient-primary);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.section-subtitle{color:#6b7280;color:var(--text-gray);font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px}.feature-cards{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:60px}.feature-card{background:#fff;background:var(--white);border:1px solid #dbeafe;border:1px solid var(--light-blue);border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:40px 30px;position:relative;text-align:center;transition:all .3s ease}.feature-card:before{background:linear-gradient(135deg,#2563eb,#3b82f6);background:var(--gradient-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{box-shadow:0 20px 40px #2563eb33;transform:translateY(-10px)}.feature-icon-wrapper{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);background:var(--gradient-primary);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 30px;transition:all .3s ease;width:80px}.feature-card:hover .feature-icon-wrapper{transform:scale(1.1) rotate(10deg)}.feature-icon{color:#fff;color:var(--white);font-size:2rem}.feature-card h3{color:#1f2937;color:var(--text-dark);font-size:1.5rem;font-weight:600;margin-bottom:20px}.feature-card p{color:#6b7280;color:var(--text-gray);line-height:1.6;margin-bottom:25px}.feature-highlights{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.highlight-item{align-items:center;background:#dbeafe;background:var(--light-blue);border-radius:20px;color:#2563eb;color:var(--primary-blue);display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:8px 15px}.highlight-icon{font-size:.8rem}.steps{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:60px}.step{position:relative;text-align:center}.step-number{background:linear-gradient(135deg,#2563eb,#3b82f6);background:var(--gradient-primary);box-shadow:0 8px 20px #2563eb4d;height:80px;margin:0 auto 30px;position:relative;width:80px}.step-icon,.step-number{align-items:center;border-radius:50%;display:flex;justify-content:center}.step-icon{background:#10b981;background:var(--success-green);font-size:1.2rem;height:30px;position:absolute;right:-5px;top:-5px;width:30px}.step-icon,.step-number span{color:#fff;color:var(--white)}.step-number span{font-size:1.8rem;font-weight:800}.step h3{color:#1f2937;color:var(--text-dark);font-size:1.3rem;font-weight:600;margin-bottom:15px}.step p{color:#6b7280;color:var(--text-gray);line-height:1.6}.testimonials{background:#f9fafb;background:var(--background-gray)}.testimonial-cards{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:60px}.testimonial-card{background:#fff;background:var(--white);border-radius:15px;box-shadow:0 8px 25px #0000001a;padding:30px;position:relative}.testimonial-stars{display:flex;gap:5px;margin-bottom:20px}.star-icon{color:#ffc107;font-size:1.2rem}.testimonial-card p{color:#6b7280;color:var(--text-gray);font-style:italic;line-height:1.6;margin-bottom:20px}.testimonial-author{color:#1f2937;color:var(--text-dark);font-weight:600}.video-container{margin:0 auto;max-width:800px;position:relative}.video-placeholder{background:linear-gradient(135deg,#dbeafe,#fff);background:var(--gradient-secondary);border:2px dashed #2563eb;border:2px dashed var(--primary-blue);border-radius:20px;cursor:pointer;padding:80px 40px;text-align:center;transition:all .3s ease}.video-placeholder:hover{background:#dbeafe;background:var(--light-blue);transform:scale(1.02)}.play-icon{color:#2563eb;color:var(--primary-blue);font-size:4rem;margin-bottom:20px}.video-placeholder p{color:#1f2937;color:var(--text-dark);font-size:1.5rem;font-weight:600;margin-bottom:10px}.video-placeholder span{color:#6b7280;color:var(--text-gray);font-size:1.1rem}.final-cta{background:linear-gradient(135deg,#2563eb,#3b82f6);background:var(--gradient-primary);color:#fff;color:var(--white);padding:80px 20px;text-align:center}.cta-content{margin:0 auto;max-width:800px}.final-cta h2{font-size:2.5rem;font-weight:700;margin-bottom:20px;text-shadow:0 2px 4px #0000004d}.final-cta p{font-size:1.2rem;line-height:1.6;margin-bottom:40px;opacity:.95}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width:768px){.hero{padding:60px 20px}.hero h1{font-size:2.5rem}.subtitle{font-size:1.1rem}.cta-buttons{align-items:center;flex-direction:column}.cta-button{max-width:300px;width:100%}.hero-stats{gap:30px}.section-title{font-size:2rem}.feature-cards,.steps,.testimonial-cards{gap:30px;grid-template-columns:1fr}.features,.how-it-works,.testimonials,.video-intro{padding:60px 20px}}@media (max-width:480px){.hero h1{font-size:2rem}.hero-main-icon{font-size:3rem}.stat-number{font-size:2rem}.feature-card,.testimonial-card{padding:25px 20px}.video-placeholder{padding:60px 20px}.play-icon{font-size:3rem}}.cta-button:focus,.video-placeholder:focus{outline:3px solid #fffc;outline-offset:2px}@media print{.final-cta,.hero{background:#fff!important;background:var(--white)!important;color:#1f2937!important;color:var(--text-dark)!important}.cta-buttons{display:none}}.auth-container{margin:40px auto;max-width:450px;padding:0 20px}.auth-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px}.auth-title{color:var(--color-primary);font-size:28px;margin-bottom:24px;text-align:center}.auth-error{background-color:#ffebee;color:#d32f2f;font-weight:500;margin-bottom:20px;padding:12px;text-align:center}.auth-form{margin-bottom:24px}.form-group label{align-items:center;color:#555;display:flex;font-size:16px;font-weight:500}.input-icon{color:var(--color-primary);margin-right:8px}.form-group input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:14px 16px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:var(--color-primary);outline:none}.password-hint{color:#777;display:block;font-size:14px;margin-top:6px}.forgot-password{margin-bottom:20px;text-align:right}.forgot-password a{color:var(--color-primary);font-size:14px;text-decoration:none}.auth-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;padding:14px;transition:all .3s;width:100%}.auth-button.primary{background-color:var(--color-primary);color:#fff}.auth-button.primary:focus,.auth-button.primary:hover{background-color:#0c63e1}.auth-button.primary:disabled{background-color:#ccc}.auth-button.google{background-color:#fff;border:1px solid #ddd;color:#444}.auth-button.google:focus,.auth-button.google:hover{background-color:#f5f5f5}.button-icon{margin-right:10px}.auth-divider{align-items:center;display:flex;margin:24px 0}.auth-divider:after,.auth-divider:before{background-color:#ddd;content:"";flex:1 1;height:1px}.auth-divider span{color:#777;font-size:14px;padding:0 12px}.auth-footer{color:#555;margin-top:24px;text-align:center}.auth-link{color:var(--color-primary);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:20px}.auth-title{font-size:24px}.form-group input{padding:12px 14px}}.reset-success-content{margin:2rem 0}.info-box{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:12px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.info-icon{color:#0284c7;flex-shrink:0;font-size:1.5rem;margin-top:.25rem}.info-content h3{color:#0c4a6e;font-size:1.1rem;margin:0 0 1rem}.info-content ol{color:#164e63;margin:0;padding-left:1.2rem}.info-content li{line-height:1.5;margin-bottom:.5rem}.reset-help{background:#fefce8;border:1px solid #facc15;border-radius:8px;padding:1.25rem}.reset-help h4{color:#92400e;font-size:1rem;margin:0 0 1rem}.reset-help ul{color:#a16207;margin:0;padding-left:1.2rem}.reset-help li{line-height:1.4;margin-bottom:.5rem}.auth-logo .logo-icon.success{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text}.auth-help{background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000000d;margin:2rem auto 0;max-width:600px;padding:2rem}.auth-help h3{color:#1f2937;font-size:1.25rem;margin:0 0 1.5rem;text-align:center}.help-items{grid-gap:1.5rem;display:grid;gap:1.5rem}.help-item{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;padding:1.25rem}.help-item h4{color:#1f2937;font-size:1rem;margin:0 0 .75rem}.help-item p{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0}.form-group small{color:#6b7280;display:block;font-size:.875rem;line-height:1.4;margin-top:.5rem}.auth-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.9rem;gap:.75rem;line-height:1.4;margin-bottom:1.5rem;padding:1rem 1.25rem}.error-icon{flex-shrink:0;font-size:1.1rem}@media (max-width:768px){.info-box{flex-direction:column;text-align:center}.info-icon{align-self:center;margin-top:0}.auth-help{margin:1rem;padding:1.5rem}.help-items{gap:1rem}.help-item{padding:1rem}}@media (max-width:480px){.reset-success-content{margin:1.5rem 0}.auth-help,.info-box,.reset-help{padding:1rem}}.reset-success-content{animation:slideInUp .5s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.info-box{animation:fadeIn .6s ease-out .2s both}.reset-help{animation:fadeIn .6s ease-out .4s both}.info-box:focus-within,.reset-help:focus-within{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion:reduce){.info-box,.reset-help,.reset-success-content{animation:none}}@media (prefers-contrast:high){.info-box,.reset-help{border-width:2px}.help-item{border-left-width:6px}}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}@media (max-width:768px){.form-row{gap:0;grid-template-columns:1fr}}.signup-success-content{margin:2rem 0}.signup-notice{margin:1.5rem 0}.notice-box{align-items:flex-start;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;display:flex;gap:1rem;padding:1.5rem}.notice-icon{color:#d97706;flex-shrink:0;font-size:1.5rem;margin-top:.25rem}.notice-content h4{color:#92400e;font-size:1rem;font-weight:600;margin:0 0 .5rem}.notice-content p{color:#a16207;font-size:.9rem;line-height:1.5;margin:0}.signup-help{background:#f0f9ff;border:1px solid #7dd3fc;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.signup-help h4{color:#0c4a6e;font-size:1rem;margin:0 0 1rem}.signup-help ul{color:#164e63;margin:0;padding-left:1.2rem}.signup-help li{line-height:1.4;margin-bottom:.5rem}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{flex:1 1;padding-right:3rem}.password-toggle{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1rem;padding:.25rem;position:absolute;right:1rem;transition:color .2s ease}.password-toggle:hover{color:#3b82f6}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.logo-icon.success{animation:successPulse 2s ease-in-out infinite;color:#10b981}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.auth-button.primary:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.auth-button.primary:disabled:hover{background:#9ca3af;box-shadow:none;transform:none}@media (max-width:768px){.notice-box{flex-direction:column;text-align:center}.notice-icon{align-self:center;margin-top:0}.signup-help{padding:1rem}.form-row .form-group{margin-bottom:1.5rem}}@media (max-width:480px){.signup-success-content{margin:1.5rem 0}.notice-box{padding:1rem}.signup-notice{margin:1rem 0}}.nutri-score{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:12px}.nutri-score.clickable{cursor:pointer;transition:all .3s ease}.nutri-score.clickable:hover{filter:brightness(1.1)}.nutri-score .score-label{color:#9a3412;font-size:16px;font-weight:600;white-space:nowrap}.nutri-score .score-display{align-items:center;display:flex;gap:8px}.nutri-score .smiley-container{align-items:center;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 15px #0003;display:flex;font-size:20px;height:32px;justify-content:center;position:relative;width:32px}.nutri-score .smiley-container.score-5{background:linear-gradient(135deg,#4caf50,#2e7d32)}.nutri-score .smiley-container.score-4{background:linear-gradient(135deg,#8bc34a,#689f38)}.nutri-score .smiley-container.score-3{background:linear-gradient(135deg,#ffc107,#f57c00)}.nutri-score .smiley-container.score-2{background:linear-gradient(135deg,#ff9800,#e65100)}.nutri-score .smiley-container.score-1{background:linear-gradient(135deg,#f44336,#c62828)}.nutri-score .smiley-container.animate{animation:smileyPulse 2s ease-in-out infinite}@keyframes smileyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.nutri-score .score-value{background:#ffffffe6;border:2px solid;border-radius:8px;box-shadow:0 2px 8px #0000001a;font-size:16px;font-weight:700;padding:4px 8px;white-space:nowrap}.nutri-score .score-value.score-5{border-color:#4caf50;color:#4caf50}.nutri-score .score-value.score-4{border-color:#8bc34a;color:#8bc34a}.nutri-score .score-value.score-3{border-color:#ffc107;color:#ffc107}.nutri-score .score-value.score-2{border-color:#ff9800;color:#ff9800}.nutri-score .score-value.score-1{border-color:#f44336;color:#f44336}.nutri-score.size-large .smiley-container{font-size:30px;height:48px;width:48px}.nutri-score.size-large .score-value{font-size:18px;padding:6px 12px}.nutri-score.size-large .score-label{font-size:18px}.nutri-score.size-small .smiley-container{border-width:2px;font-size:15px;height:24px;width:24px}.nutri-score.size-small .score-value{font-size:14px;padding:3px 6px}.nutri-score.size-small .score-label{font-size:14px}@media (max-width:768px){.nutri-score{gap:8px}.nutri-score .score-label{font-size:14px}.nutri-score .score-value{font-size:14px;padding:3px 6px}.nutri-score .smiley-container{font-size:18px;height:28px;width:28px}}.score-a,.score-b,.score-c,.score-d,.score-e{display:none}.nutri-score:hover{transform:none;transition:none}.nutri-score.clickable:hover{transform:translateY(-2px);transition:all .3s ease}.papydo-approved-badge-rect{align-items:center;background:#f97316;border-radius:6px;box-shadow:0 2px 8px #0003;color:#fff;cursor:default;display:inline-flex;font-size:10px;font-weight:800;gap:4px;letter-spacing:.5px;padding:6px 12px}.papydo-approved-badge-rect .badge-star{color:#fff;font-size:10px}.papydo-approved-badge-rect .badge-text{color:#fff;text-shadow:1px 1px 2px #0000004d;white-space:nowrap}.recipe-approved-badge{bottom:10px;position:absolute;right:10px;z-index:999}.shopping-category-container{animation:fadeInUp .5s ease-out;background:#fff;border:1px solid #fed7aa;border:1px solid var(--orange-light);border-radius:16px;box-shadow:0 4px 20px #f973161a;box-shadow:0 4px 20px var(--shadow-orange-light);margin-bottom:20px;overflow:hidden;transition:all .3s ease}.shopping-category-container:hover{box-shadow:0 8px 32px #f973164d;box-shadow:0 8px 32px var(--shadow-orange);transform:translateY(-2px)}.shopping-category-header{align-items:center;background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);color:#fff;cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:16px 20px;position:relative;transition:all .3s ease}.shopping-category-header:before{background:linear-gradient(45deg,#ffffff1a,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.shopping-category-header:hover{background:linear-gradient(135deg,#ea580c,#c2410c)}.shopping-category-title{align-items:center;display:flex;font-size:1.2rem;font-weight:600;gap:12px;margin:0;position:relative;text-shadow:0 1px 2px #0000001a;z-index:1}.shopping-category-icon{font-size:1.4rem}.shopping-category-count{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 10px}.shopping-category-toggle{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;padding:4px;position:relative;transition:all .3s ease;z-index:1}.shopping-category-toggle:hover{background:#fff3;transform:scale(1.1)}.shopping-category-toggle.expanded{transform:rotate(180deg)}.shopping-category-toggle.expanded:hover{transform:rotate(180deg) scale(1.1)}.shopping-category-content{background:#fef7ed;background:var(--orange-cream);max-height:0;overflow:hidden;transition:max-height .4s ease-out,padding .4s ease-out}.shopping-category-content.expanded{max-height:2000px;padding:20px}.shopping-category-items{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.shopping-category-item{align-items:center;background:#fff;border:2px solid #fed7aa;border:2px solid var(--orange-light);border-radius:12px;display:flex;gap:12px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.shopping-category-item:before{background:#f97316;background:var(--orange-primary);bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.shopping-category-item:hover{border-color:#f97316;border-color:var(--orange-primary);box-shadow:0 4px 16px #f973161a;box-shadow:0 4px 16px var(--shadow-orange-light);transform:translateY(-1px)}.shopping-category-item:hover:before{transform:scaleY(1)}.shopping-category-item.checked{background:linear-gradient(135deg,#fef7ed,#fff);background:linear-gradient(135deg,var(--orange-cream) 0,#fff 100%);border-color:#f97316;border-color:var(--orange-primary);opacity:.8}.shopping-category-item.checked:before{transform:scaleY(1)}.shopping-item-checkbox{align-items:center;background:#fff;border:2px solid #f97316;border:2px solid var(--orange-primary);border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .3s ease;width:24px}.shopping-item-checkbox:hover{background:#fed7aa;background:var(--orange-light);transform:scale(1.1)}.shopping-item-checkbox.checked{background:#f97316;background:var(--orange-primary);color:#fff;font-weight:700}.shopping-item-checkbox.checked:after{content:"✓";font-size:.9rem}.shopping-item-details{flex:1 1;min-width:0}.shopping-item-name{color:#9a3412;color:var(--orange-darker);font-size:1rem;font-weight:600;line-height:1.3;margin-bottom:4px}.shopping-item-quantity{color:#ea580c;color:var(--orange-dark);font-size:.9rem;font-weight:500;margin-bottom:2px}.shopping-item-recipes{color:#6b7280;font-size:.8rem;font-style:italic;line-height:1.2}.shopping-item-actions{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.shopping-item-btn{align-items:center;background:none;border:none;border-radius:4px;color:#f97316;color:var(--orange-primary);cursor:pointer;display:flex;font-size:.9rem;height:28px;justify-content:center;padding:4px;transition:all .3s ease;width:28px}.shopping-item-btn:hover{background:#fed7aa;background:var(--orange-light);color:#9a3412;color:var(--orange-darker);transform:scale(1.1)}.shopping-item-btn.danger{color:#ef4444}.shopping-item-btn.danger:hover{background:#fee2e2;color:#dc2626}.shopping-category-empty{color:#9a3412;color:var(--orange-darker);padding:40px 20px;text-align:center}.shopping-category-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.6}.shopping-category-empty p{font-size:1.1rem;font-weight:500;margin:0}@media (max-width:768px){.shopping-category-container{margin-bottom:16px}.shopping-category-header{padding:14px 16px}.shopping-category-title{font-size:1.1rem}.shopping-category-content.expanded{padding:16px}.shopping-category-items{gap:10px;grid-template-columns:1fr}.shopping-category-item{padding:12px}.shopping-item-checkbox{height:22px;width:22px}.shopping-item-name{font-size:.95rem}.shopping-item-quantity{font-size:.85rem}.shopping-item-recipes{font-size:.75rem}}@media (max-width:480px){.shopping-category-header{padding:12px 14px}.shopping-category-title{font-size:1rem;gap:8px}.shopping-category-icon{font-size:1.2rem}.shopping-category-item{padding:10px 12px}.shopping-item-actions{gap:2px}.shopping-item-btn{font-size:.8rem;height:24px;width:24px}}.shopping-category-item.checking{animation:checkPulse .3s ease-out}@keyframes checkPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.shopping-category-item.removing{animation:removeSlide .4s ease-in forwards}@keyframes removeSlide{0%{opacity:1;transform:translateX(0)}to{margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;transform:translateX(-100%)}}.shopping-category-toggle:focus,.shopping-item-btn:focus,.shopping-item-checkbox:focus{outline:3px solid #fed7aa;outline:3px solid var(--orange-light);outline-offset:2px}.shopping-category-toggle:focus:not(:focus-visible),.shopping-item-btn:focus:not(:focus-visible),.shopping-item-checkbox:focus:not(:focus-visible){outline:none}.shopping-category-header.has-checked{background:linear-gradient(135deg,#16a34a,#15803d)}.shopping-category-count.has-checked{animation:pulse 2s infinite;background:#ffffff4d}.pantry-reminder-container{animation:slideInDown .5s ease-out;background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);border-radius:16px;box-shadow:0 8px 32px #f973164d;box-shadow:0 8px 32px var(--shadow-orange);color:#fff;margin-bottom:24px;overflow:hidden;padding:24px;position:relative}.pantry-reminder-container:before{background:linear-gradient(45deg,#ffffff1a,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.pantry-reminder-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;position:relative;z-index:1}.pantry-reminder-title{align-items:center;display:flex;font-size:1.4rem;font-weight:600;gap:12px;margin:0;text-shadow:0 2px 4px #0000001a}.pantry-reminder-title-icon{font-size:1.6rem}.pantry-reminder-count{border-radius:20px;font-size:.85rem;font-weight:500;padding:4px 12px}.pantry-close-btn,.pantry-reminder-count{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3}.pantry-close-btn{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;position:relative;transition:all .3s ease;width:40px;z-index:1}.pantry-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.pantry-close-btn:active{transform:rotate(90deg) scale(.95)}.pantry-reminder-description{color:#ffffffe6;font-size:.95rem;line-height:1.5;margin-bottom:20px;position:relative;z-index:1}.pantry-items-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));position:relative;z-index:1}.pantry-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:10px;display:flex;font-weight:500;gap:8px;padding:12px 16px;transition:all .3s ease}.pantry-item:hover{background:#ffffff40;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.pantry-item-icon{font-size:1.1rem;opacity:.8}.pantry-item-name{flex:1 1;font-size:.9rem}.pantry-empty{padding:20px;position:relative;text-align:center;z-index:1}.pantry-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.7}.pantry-empty p{color:#fffc;font-size:1.1rem;margin:0}.pantry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;position:relative;z-index:1}.pantry-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 16px;transition:all .3s ease}.pantry-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.pantry-btn-primary{background:#fff;color:#ea580c;color:var(--orange-dark)}.pantry-btn-primary:hover{background:#fef7ed;background:var(--orange-cream);color:#9a3412;color:var(--orange-darker)}@media (max-width:768px){.pantry-reminder-container{margin-bottom:16px;padding:20px 16px}.pantry-reminder-header{align-items:flex-start;flex-direction:column;gap:12px}.pantry-close-btn{position:absolute;right:16px;top:16px}.pantry-reminder-title{font-size:1.3rem}.pantry-items-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pantry-item{font-size:.85rem;padding:10px 12px}.pantry-actions{flex-direction:column}.pantry-btn{justify-content:center}}@media (max-width:480px){.pantry-items-grid{grid-template-columns:1fr}}.pantry-reminder-container.closing{animation:slideOutUp .4s ease-in forwards}@keyframes slideOutUp{to{margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;transform:translateY(-20px)}}.pantry-btn:focus,.pantry-close-btn:focus{outline:3px solid #ffffff80;outline-offset:2px}.pantry-btn:focus:not(:focus-visible),.pantry-close-btn:focus:not(:focus-visible){outline:none}.pantry-reminder-container:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#fffc,#fff6 50%,#fffc);bottom:0;content:"";height:4px;left:0;position:absolute;right:0}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.pantry-item[title]:hover:after{background:#000c;border-radius:4px;bottom:100%;color:#fff;content:attr(title);font-size:.8rem;left:50%;margin-bottom:4px;padding:4px 8px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:100}.pantry-item{position:relative}.express-shopping-container{background:linear-gradient(135deg,#fef7ed,#fff);background:linear-gradient(135deg,var(--orange-cream) 0,#fff 100%);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.express-shopping-header{background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);border-radius:16px;box-shadow:0 8px 32px #f973164d;box-shadow:0 8px 32px var(--shadow-orange);color:#fff;margin-bottom:24px;overflow:hidden;padding:24px;position:relative}.express-shopping-header:before{background:linear-gradient(45deg,#ffffff1a,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.express-shopping-header h2{font-size:1.8rem;font-weight:600;margin:0 0 16px;position:relative;text-shadow:0 2px 4px #0000001a;z-index:1}.express-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.express-btn{align-items:center;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;min-height:44px;padding:12px 20px;text-decoration:none;transition:all .3s ease}.express-btn:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.express-btn:active{transform:translateY(0)}.express-btn-primary{background:#fff;color:#ea580c;color:var(--orange-dark);font-weight:600}.express-btn-primary:hover{background:#fef7ed;background:var(--orange-cream);color:#9a3412;color:var(--orange-darker)}.express-btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;color:#fff}.express-btn-secondary:hover{background:#ffffff4d}.express-btn-warning{background:#fbbf24;color:#92400e}.express-btn-warning:hover{background:#f59e0b;color:#78350f}.express-btn-danger{background:#ef4444;color:#fff}.express-btn-danger:hover{background:#dc2626}.express-loading-container{align-items:center;background:#fef7ed;background:var(--orange-cream);border-radius:16px;display:flex;flex-direction:column;justify-content:center;margin:20px;min-height:50vh;padding:40px}.express-loading-header{background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);border-radius:16px;box-shadow:0 8px 32px #f973164d;box-shadow:0 8px 32px var(--shadow-orange);color:#fff;margin-bottom:32px;max-width:600px;padding:24px;text-align:center;width:100%}.express-loading-header h2{font-size:1.6rem;font-weight:600;margin:0}.express-loading-spinner{background:#fff;border-radius:16px;box-shadow:0 4px 20px #f973161a;box-shadow:0 4px 20px var(--shadow-orange-light);max-width:400px;padding:40px;text-align:center;width:100%}.express-spinner{animation:spin 2s linear infinite;font-size:3rem;margin-bottom:20px}.express-loading-spinner p{color:#9a3412;color:var(--orange-darker);font-size:1.1rem;font-weight:500;margin:0}.express-shopping-errors{background:linear-gradient(135deg,#fef2f2,#fef7ed);border:2px solid #fed7aa;border-radius:16px;box-shadow:0 4px 16px #ef44441a;margin-bottom:24px;padding:24px}.express-shopping-errors h3{color:#9a3412;color:var(--orange-darker);font-size:1.3rem;font-weight:600;margin:0 0 16px}.express-shopping-errors ul{list-style:none;margin:0 0 16px;padding:0}.express-shopping-errors li{background:#fff;border-left:4px solid #f97316;border-left:4px solid var(--orange-primary);border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:8px;padding:12px 16px}.express-shopping-errors strong{color:#9a3412;color:var(--orange-darker)}.express-shopping-errors small{color:#6b7280;font-style:italic}.express-error-help{background:#fed7aa;background:var(--orange-light);border-radius:8px;color:#9a3412;color:var(--orange-darker);font-weight:500;margin:0;padding:12px 16px}.express-error-help code{background:#f97316;background:var(--orange-primary);border-radius:4px;color:#fff;font-size:.9rem;padding:2px 6px}.express-shopping-content{background:#fff;border-radius:16px;box-shadow:0 4px 20px #f973161a;box-shadow:0 4px 20px var(--shadow-orange-light);min-height:300px;padding:24px}.express-empty-list{color:#9a3412;color:var(--orange-darker);padding:60px 20px;text-align:center}.express-empty-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.express-empty-list p{font-size:1.3rem;font-weight:500;margin:0}@media (max-width:768px){.express-shopping-container{padding:12px}.express-shopping-header{margin-bottom:16px;padding:20px 16px}.express-shopping-header h2{font-size:1.5rem;margin-bottom:12px}.express-header-actions{align-items:stretch;flex-direction:column;gap:8px}.express-btn{justify-content:center;padding:12px 16px}.express-shopping-content{margin-bottom:16px;padding:16px}.express-loading-container{margin:12px;padding:24px 16px}.express-loading-header{margin-bottom:24px;padding:20px 16px}.express-loading-spinner{padding:24px 16px}.express-shopping-errors{margin-bottom:16px;padding:16px}}.express-btn:focus{outline:3px solid #fed7aa;outline:3px solid var(--orange-light);outline-offset:2px}.express-btn:focus:not(:focus-visible){outline:none}.express-shopping-container{animation:fadeInUp .6s ease-out}.express-shopping-header{animation:slideInDown .7s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.express-shopping-content{animation:fadeIn .8s ease-out .2s both}:root{--orange-primary:#f97316;--orange-dark:#ea580c;--orange-darker:#9a3412;--orange-medium:#c2410c;--orange-light:#fed7aa;--orange-cream:#fef7ed;--gradient-orange:linear-gradient(135deg,#f97316,#ea580c);--shadow-orange:#f973164d;--shadow-orange-light:#f973161a}.occasions-container{background:linear-gradient(135deg,#fef7ed,#fff);background:linear-gradient(135deg,var(--orange-cream) 0,#fff 100%);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:24px}.occasions-header{background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);border-radius:20px;box-shadow:0 8px 32px #f973164d;box-shadow:0 8px 32px var(--shadow-orange);color:#fff;margin-bottom:32px;overflow:hidden;padding:32px;position:relative}.occasions-header:before{background:linear-gradient(45deg,#ffffff1a,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.occasions-title-section{align-items:center;display:flex;gap:24px;margin-bottom:24px;position:relative;z-index:1}.papy-do-occasions-avatar{border:4px solid #ffffff4d;border-radius:50%;flex-shrink:0;height:80px;width:80px}.occasions-title-section h1{font-size:2rem;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px #0000001a}.occasions-title-section p{font-size:1.1rem;margin:0;opacity:.9}.occasions-express-summary{align-items:center;background:#ffffff26;border-radius:16px;display:flex;gap:20px;justify-content:space-between;padding:20px;position:relative;z-index:1}.express-counter{flex:1 1}.express-count{color:#fff;font-size:1.1rem;font-weight:600}.express-menu-global-btn{background:#fff;border:none;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#ea580c;color:var(--orange-dark);cursor:pointer;font-size:1.1rem;font-weight:700;padding:16px 24px;transition:all .3s ease}.express-menu-global-btn:hover{background:#fef7ed;background:var(--orange-cream);box-shadow:0 6px 20px #00000026;color:#9a3412;color:var(--orange-darker);transform:translateY(-2px)}.occasions-controls{align-items:center;background:#fff;border:2px solid #fed7aa;border:2px solid var(--orange-light);border-radius:16px;box-shadow:0 4px 20px #f973161a;box-shadow:0 4px 20px var(--shadow-orange-light);display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.occasions-count{color:#9a3412;color:var(--orange-darker);font-size:1.1rem;font-weight:600}.occasions-sort{align-items:center;display:flex;gap:12px}.occasions-sort label{font-weight:600}.occasions-sort label,.sort-selector{color:#9a3412;color:var(--orange-darker)}.sort-selector{background:#fef7ed;background:var(--orange-cream);border:2px solid #fed7aa;border:2px solid var(--orange-light);border-radius:8px;cursor:pointer;font-size:.95rem;padding:8px 12px;transition:all .3s ease}.sort-selector:focus,.sort-selector:hover{border-color:#f97316;border-color:var(--orange-primary)}.sort-selector:focus{box-shadow:0 0 0 3px #f973161a;box-shadow:0 0 0 3px var(--shadow-orange-light);outline:none}.occasions-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-bottom:32px}.occasion-card{animation:fadeInUp .5s ease-out;background:#fff;border:3px solid #fed7aa;border:3px solid var(--orange-light);border-radius:20px;box-shadow:0 8px 25px #f973161a;box-shadow:0 8px 25px var(--shadow-orange-light);overflow:hidden;transition:all .3s ease}.occasion-card:hover{border-color:#f97316;border-color:var(--orange-primary);box-shadow:0 15px 40px #f973164d;box-shadow:0 15px 40px var(--shadow-orange);transform:translateY(-5px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.occasion-card-image{height:240px;overflow:hidden;position:relative;width:100%}.occasion-card-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.occasion-card:hover .occasion-card-image img{transform:scale(1.05)}.difficulty-badge{background:#000000b3;padding:8px 12px;right:16px}.difficulty-badge,.selected-badge{border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;position:absolute;top:16px}.selected-badge{background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);box-shadow:0 4px 12px #f973164d;box-shadow:0 4px 12px var(--shadow-orange);left:16px;padding:8px 16px}.allergens-main-badge{background:#dc2626;border-radius:8px;bottom:16px;box-shadow:0 4px 12px #dc26264d;color:#fff;font-size:.85rem;font-weight:600;left:16px;padding:8px 12px;position:absolute}.allergens-tags-container{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.allergen-individual-tag{background:#dc2626;border-radius:6px;box-shadow:0 2px 8px #dc262633;color:#fff;font-size:.8rem;font-weight:500;padding:4px 8px;white-space:nowrap}.seasonal-tag-container{margin-bottom:20px}.seasonal-tag-unique{background:#fef7ed;background:var(--orange-cream);border:1px solid #fed7aa;border:1px solid var(--orange-light);border-radius:12px;color:#9a3412;color:var(--orange-darker);display:inline-block;font-size:.85rem;font-weight:600;padding:6px 12px}.occasion-card-content{padding:24px}.occasion-card-content h3{color:#9a3412;color:var(--orange-darker);font-size:1.3rem;font-weight:700;line-height:1.3;margin:0 0 12px}.occasion-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.95rem;line-height:1.5;margin-bottom:16px;overflow:hidden}.occasion-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.badge{align-items:center;border-radius:12px;display:flex;font-size:.85rem;font-weight:600;gap:4px;padding:6px 12px}.portions-badge{background:#fed7aa;background:var(--orange-light);color:#9a3412;color:var(--orange-darker)}.time-badge{background:#ddd6fe;color:#7c3aed}.cost-badge{background:#dcfce7;color:#16a34a}.occasion-actions{display:flex;flex-direction:column;gap:12px}.voir-recette-btn{background:linear-gradient(135deg,#f97316,#ea580c);background:var(--gradient-orange);border:none;border-radius:12px;box-shadow:0 4px 12px #f973161a;box-shadow:0 4px 12px var(--shadow-orange-light);color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:14px 20px;transition:all .3s ease}.voir-recette-btn:hover{background:linear-gradient(135deg,#ea580c,#c2410c);background:linear-gradient(135deg,var(--orange-dark) 0,var(--orange-medium) 100%);box-shadow:0 6px 20px #f973164d;box-shadow:0 6px 20px var(--shadow-orange);transform:translateY(-2px)}.express-menu-btn-toggle{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:6px;justify-content:center;padding:14px 20px;text-align:center;transition:all .3s ease;white-space:nowrap}.express-menu-btn-toggle.unselected{background:#fff;border:2px solid #f97316;border:2px solid var(--orange-primary);color:#f97316;color:var(--orange-primary)}.express-menu-btn-toggle.unselected:hover{background:#f97316;background:var(--orange-primary);box-shadow:0 6px 20px #f973164d;box-shadow:0 6px 20px var(--shadow-orange);color:#fff;transform:translateY(-2px)}.express-menu-btn-toggle.selected{background:#ea580c;background:var(--orange-dark);border:2px solid #ea580c;border:2px solid var(--orange-dark);color:#fff}.express-menu-btn-toggle.selected:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 6px 20px #dc26264d;transform:translateY(-2px)}.occasions-loading{color:#9a3412;color:var(--orange-darker);padding:80px 20px;text-align:center}.papy-do-loading-avatar{border:4px solid #fed7aa;border:4px solid var(--orange-light);border-radius:50%;height:120px;margin-bottom:24px;width:120px}.occasions-loading h2{color:#9a3412;color:var(--orange-darker);font-size:1.8rem;font-weight:700;margin-bottom:16px}.occasions-loading p{color:#6b7280;font-size:1.1rem;margin:0}.no-recipes{color:#9a3412;color:var(--orange-darker);grid-column:1/-1;padding:80px 20px;text-align:center}.papy-do-empty-avatar{border:4px solid #fed7aa;border:4px solid var(--orange-light);border-radius:50%;height:100px;margin-bottom:24px;width:100px}.no-recipes h3{color:#9a3412;color:var(--orange-darker);font-size:1.5rem;font-weight:700;margin-bottom:16px}.no-recipes p{color:#6b7280;font-size:1rem;margin:0}@media (max-width:768px){.occasions-container{padding:16px}.occasions-header{margin-bottom:24px;padding:24px 20px}.occasions-title-section{flex-direction:column;gap:16px;text-align:center}.papy-do-occasions-avatar{height:60px;width:60px}.occasions-title-section h1{font-size:1.6rem}.occasions-controls,.occasions-express-summary{flex-direction:column;gap:16px}.occasions-controls{text-align:center}.occasions-grid{gap:16px;grid-template-columns:1fr}.occasion-card-content{padding:20px}.occasion-actions{flex-direction:column;gap:12px}}.express-menu-btn-toggle:focus,.express-menu-global-btn:focus,.voir-recette-btn:focus{outline:3px solid #fed7aa;outline:3px solid var(--orange-light);outline-offset:2px}.express-menu-btn-toggle:focus:not(:focus-visible),.express-menu-global-btn:focus:not(:focus-visible),.voir-recette-btn:focus:not(:focus-visible){outline:none}.express-menu-btn-toggle{overflow:hidden;position:relative}.express-menu-btn-toggle:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.express-menu-btn-toggle:hover:before{left:100%}.admin-container{background-color:#fff;box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.admin-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:16px}.admin-header h1{color:#2c3e50;font-size:28px;font-weight:700;margin:0}.admin-back-link{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#007bff;display:inline-flex;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease}.admin-back-link:hover{background-color:#e3f2fd;box-shadow:0 2px 8px #007bff33;color:#0056b3;transform:translateY(-1px)}.admin-button{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:12px 20px;text-decoration:none;transition:all .2s ease}.admin-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.admin-button.primary{background-color:#007bff;border-color:#007bff;color:#fff}.admin-button.primary:hover:not(:disabled){background-color:#0056b3;border-color:#004085;box-shadow:0 4px 12px #007bff66;transform:translateY(-1px)}.admin-button.secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.admin-button.secondary:hover:not(:disabled){background-color:#545b62;border-color:#495057;box-shadow:0 4px 12px #6c757d66;transform:translateY(-1px)}.admin-button.danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.admin-button.danger:hover:not(:disabled){background-color:#c82333;border-color:#bd2130;box-shadow:0 4px 12px #dc354566;transform:translateY(-1px)}.admin-button.small{font-size:12px;min-height:36px;padding:8px 16px}.action-button{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:inline-flex;font-size:14px;height:36px;justify-content:center;margin:2px;opacity:1;padding:0;transition:all .2s ease;width:36px}.action-button:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.action-button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.action-button.approve{background-color:#28a745;border-color:#28a745;color:#fff}.action-button.approve:hover:not(:disabled){background-color:#218838;border-color:#1e7e34}.action-button.reject{background-color:#dc3545;border-color:#dc3545;color:#fff}.action-button.reject:hover:not(:disabled){background-color:#c82333;border-color:#bd2130}.action-button.suspend{background-color:#ffc107;border-color:#ffc107;color:#212529}.action-button.suspend:hover:not(:disabled){background-color:#e0a800;border-color:#d39e00}.action-button.reactivate{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.action-button.reactivate:hover:not(:disabled){background-color:#138496;border-color:#117a8b}.action-button.edit{background-color:#007bff;border-color:#007bff;color:#fff}.action-button.edit:hover:not(:disabled){background-color:#0056b3;border-color:#004085}.action-button.delete{background-color:#6c757d;border-color:#6c757d;color:#fff}.action-button.delete:hover:not(:disabled){background-color:#5a6268;border-color:#545b62}.action-button.export{background-color:#28a745;border-color:#28a745;color:#fff}.action-button.export:hover:not(:disabled){background-color:#218838;border-color:#1e7e34}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;border-color:#dee2e6;color:#6c757d;cursor:not-allowed}.form-group.checkbox{align-items:center;display:flex;gap:10px}.form-group.checkbox input{margin:0;width:auto}.form-group.checkbox label{cursor:pointer;margin:0}.form-group-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.checkbox-group{grid-gap:12px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:200px;overflow-y:auto;padding:16px}.checkbox-item{align-items:center;border-radius:4px;display:flex;gap:8px;padding:8px;transition:background-color .2s ease}.checkbox-item:hover{background-color:#007bff0d}.checkbox-item input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:16px;width:16px}.checkbox-item label{color:#495057;cursor:pointer;font-size:14px;margin:0;-webkit-user-select:none;user-select:none}.recipes-table,.users-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:20px;overflow:hidden;width:100%}.recipes-table td,.recipes-table th,.users-table td,.users-table th{border-bottom:1px solid #e9ecef;padding:12px 16px;text-align:left}.recipes-table th,.users-table th{background-color:#f8f9fa;color:#2c3e50;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.recipes-table tr:hover,.users-table tr:hover{background-color:#f8f9fa}.recipes-table tr:last-child td,.users-table tr:last-child td{border-bottom:none}.users-table-container{margin-bottom:25px;overflow-x:auto}.actions-cell{min-width:150px;padding:8px!important;text-align:center}.no-results{color:#6c757d;font-style:italic;padding:40px 20px}.role-badge,.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.role-badge.admin{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:1px solid #fbbf24;color:#92400e}.role-badge.moderator{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.role-badge.user{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.status-badge.pending{background-color:#fff3cd;border:1px solid #ffc107;color:#856404}.status-badge.approved{background-color:#d1fae5;border:1px solid #10b981;color:#065f46}.status-badge.rejected{background-color:#fee2e2;border:1px solid #ef4444;color:#991b1b}.status-badge.suspended{background-color:#f3f4f6;border:1px solid #9ca3af;color:#374151}.user-row{transition:all .2s ease}.user-row:hover{background:#3b82f605}.user-row.status-pending{background:#f973160d;border-left:4px solid #f97316}.user-row.status-approved{background:#22c55e0d;border-left:4px solid #22c55e}.user-row.status-rejected{background:#ef44440d;border-left:4px solid #ef4444}.user-row.status-suspended{background:#9ca3af0d;border-left:4px solid #9ca3af}.role-selector-inline{background-color:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;margin:1px;min-width:100px;padding:6px 10px;transition:all .2s ease}.role-selector-inline:hover{background-color:#f8f9fa;border-color:#007bff}.role-selector-inline:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.user-stats-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.stat-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #0000001a;color:#fff;display:flex;gap:1rem;min-width:150px;padding:1.5rem;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card.pending{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.approved{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.rejected{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-card.suspended{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#333}.stat-icon{font-size:2rem;opacity:.8}.stat-content{flex:1 1}.stat-number{font-size:2rem;line-height:1}.stat-label{font-size:.9rem;margin-top:.25rem;opacity:.9}.user-tabs{border-bottom:2px solid #e1e5e9;margin-bottom:2rem;overflow-x:auto;padding-bottom:0}.user-tab,.user-tabs{display:flex;gap:.5rem}.user-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-weight:500;padding:1rem 1.5rem;transition:all .2s ease;white-space:nowrap}.user-tab.active,.user-tab:hover{background:#3b82f60d;color:#3b82f6}.user-tab.active{border-bottom-color:#3b82f6}.tab-count{background:#3b82f6;border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;min-width:20px;padding:.2rem .6rem;text-align:center}.settings-tabs{border-bottom:1px solid #dee2e6;display:flex;gap:15px;margin-bottom:25px;padding-bottom:10px}.settings-tab{align-items:center;background-color:initial;border:none;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;position:relative;transition:all .2s ease}.settings-tab.active{background:#007bff1a;color:#007bff}.settings-tab.active:after{background-color:#007bff;bottom:-11px;content:"";height:2px;left:0;position:absolute;right:0}.settings-tab:hover:not(.active){background:#007bff0d;color:#0069d9}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.modal-content h2{color:#2c3e50;font-size:1.5rem;margin:0 0 1.5rem}.modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.role-selector{display:flex;flex-wrap:wrap;gap:.5rem}.role-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex!important;font-weight:500;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1rem;transition:all .2s ease}.role-option:hover{background:#3b82f60d;border-color:#3b82f6}.role-option.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.role-option input{display:none}.admin-actions{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.search-container{flex:1 1;max-width:400px}.search-input-wrapper{position:relative}.search-icon{color:#6c757d;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e1e5e9;border-radius:8px;font-size:14px;padding:12px 16px 12px 40px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.search-button{background-color:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-left:8px;padding:12px 20px;transition:background-color .2s ease}.search-button:hover{background-color:#0056b3}.action-buttons{display:flex;flex-wrap:wrap;gap:12px}.admin-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b}.admin-error,.admin-success{align-items:center;animation:slideDown .3s ease;display:flex;gap:8px;margin-bottom:20px;padding:12px 16px}.admin-success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534}.admin-warning{background-color:#fffbeb;border:1px solid #fed7aa;border-radius:8px;color:#92400e}.admin-info,.admin-warning{align-items:center;display:flex;gap:8px;margin-bottom:20px;padding:12px 16px}.admin-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-section{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.settings-section h2{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 20px}.settings-section h3{color:#495057;font-size:1.1rem;font-weight:500;margin:24px 0 16px}.settings-actions{border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px}.admin-card{align-items:center;background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;margin-bottom:20px;padding:20px;text-align:center;transition:transform .3s,box-shadow .3s}.admin-card,.admin-card:hover{color:#2c3e50;text-decoration:none}.admin-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.admin-card svg{color:#007bff;font-size:2.5rem;margin-bottom:15px}.admin-card h3{color:#2c3e50;font-size:1.2rem;margin:0 0 10px}.admin-card p{color:#6c757d;margin:0}.loading{align-items:center;color:#6c757d;display:flex;font-size:16px;gap:12px;justify-content:center;padding:40px;text-align:center}.recipes-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));margin-top:20px;padding:0 4px}.recipe-card.enhanced{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 8px #0000001a;max-width:100%;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.recipe-card.enhanced:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.inline-edit-section{background:linear-gradient(135deg,#e8f5e8,#f0fff4);border:2px solid #20c997;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-bottom:15px;padding:16px}.inline-edit-row{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.inline-edit-row:last-of-type,.inline-label{margin-bottom:0}.inline-label{color:#155724;display:block;font-size:14px;font-weight:600}.inline-checkboxes{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.inline-checkboxes.variants{gap:6px}.inline-checkbox{align-items:center;background:#fff;border:1px solid #20c997;border-radius:6px;box-sizing:border-box;cursor:pointer;display:flex;font-size:13px;gap:6px;min-height:32px;padding:6px 10px;transition:all .2s ease;white-space:nowrap}.inline-checkbox.small{font-size:12px;min-height:28px;padding:4px 8px}.inline-checkbox:hover{background:#e8f5e8;border-color:#17a2b8;transform:translateY(-1px)}.inline-checkbox input[type=checkbox]{flex-shrink:0;height:16px;margin:0;width:16px}.inline-checkbox input[type=checkbox]:disabled,.inline-checkbox input[type=checkbox]:disabled+span{opacity:.5}.inline-checkbox input[type=checkbox]:checked+span{color:#155724;font-weight:600}.inline-edit-actions{border-top:1px solid #20c9974d;display:flex;gap:10px;justify-content:flex-start;margin-top:16px;padding-top:12px}.inline-edit-actions .admin-button{font-size:13px;min-width:100px;padding:8px 16px}.seasonal-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-size:13px;margin-bottom:15px;padding:14px}.seasonal-row{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px}.seasonal-row:last-child{margin-bottom:0}.seasonal-label{color:#495057;flex-shrink:0;font-size:13px;font-weight:600;min-width:85px}.seasonal-value{word-wrap:break-word;color:#6c757d;flex:1 1;line-height:1.4}.seasonal-value.variants{font-size:12px}.recipe-actions{gap:8px;margin-top:15px}@media (max-width:1024px){.admin-container{padding:16px}.form-group-row{grid-template-columns:1fr}.checkbox-group{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:16px}.admin-header h1{font-size:24px}.admin-actions{align-items:stretch;flex-direction:column}.search-container{max-width:100%}.action-buttons{justify-content:center}.user-stats-summary{flex-direction:column}.stat-card{min-width:100%}.user-tabs{flex-wrap:wrap;gap:8px}.user-tab{font-size:14px;padding:8px 12px}.action-button{font-size:12px;height:32px;width:32px}.actions-cell{min-width:120px}.modal-content{margin:1rem;padding:1.5rem}.modal-actions{flex-direction:column;gap:8px}.admin-button{justify-content:center;width:100%}.role-selector{flex-direction:column}.role-option{min-width:100%}.recipes-grid{gap:16px;grid-template-columns:1fr}.inline-checkboxes{gap:4px}.inline-checkbox{font-size:12px;min-height:28px;padding:4px 8px}.inline-edit-actions{flex-direction:column;gap:8px}.inline-edit-actions .admin-button{width:100%}.recipe-actions{flex-direction:column}.recipe-actions .admin-button{justify-content:center;width:100%}}@media (max-width:480px){.admin-container{padding:12px}.user-tabs{border-bottom:none;flex-direction:column}.user-tab{border:1px solid #e5e7eb;border-radius:8px;justify-content:center;margin-bottom:4px}.user-tab.active{background:#3b82f61a;border-color:#3b82f6}.recipes-table,.users-table{font-size:12px}.recipes-table td,.recipes-table th,.users-table td,.users-table th{padding:8px 10px}.recipe-card.enhanced{padding:16px}.inline-edit-section{padding:12px}.recipes-grid{gap:12px}}.action-button:focus,.admin-button:focus,.role-option:focus,.settings-tab:focus,.user-tab:focus{outline:2px solid #007bff;outline-offset:2px}@media (prefers-contrast:high){.action-button,.admin-button{border-width:2px;font-weight:700}.role-badge,.status-badge{border-width:2px}}@media (prefers-reduced-motion:reduce){.action-button,.admin-button,.admin-card,.admin-error,.admin-success,.modal-content,.modal-overlay,.stat-card,.user-tab{animation:none;transition:none}.action-button:hover,.admin-button:hover,.admin-card:hover,.stat-card:hover{transform:none}.spin{animation:none}}:root{--admin-primary:#6366f1;--admin-primary-dark:#4f46e5;--admin-secondary:#8b5cf6;--admin-success:#10b981;--admin-warning:#f59e0b;--admin-danger:#ef4444;--admin-info:#3b82f6;--admin-bg-primary:#fff;--admin-bg-secondary:#f8fafc;--admin-bg-tertiary:#f1f5f9;--admin-bg-elevated:#fff;--admin-bg-overlay:#0f172a80;--admin-border-primary:#e2e8f0;--admin-border-secondary:#cbd5e1;--admin-text-primary:#0f172a;--admin-text-secondary:#64748b;--admin-text-tertiary:#94a3b8;--admin-shadow-sm:0 1px 2px 0 #0000000d;--admin-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--admin-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--admin-shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--admin-radius-sm:4px;--admin-radius-md:8px;--admin-radius-lg:12px;--admin-radius-xl:16px;--admin-radius-full:50px;--admin-space-xs:0.25rem;--admin-space-sm:0.5rem;--admin-space-md:1rem;--admin-space-lg:1.5rem;--admin-space-xl:2rem;--admin-space-2xl:3rem;--admin-transition-fast:0.15s ease;--admin-transition-base:0.2s ease;--admin-transition-slow:0.3s ease;--color-primary:#4a90e2;--color-primary-dark:#357abd;--color-success:#28a745;--color-success-dark:#218838;--color-warning:#ffc107;--color-warning-dark:#e0a800;--color-danger:#dc3545;--color-danger-dark:#c82333;--color-info:#17a2b8;--color-white:#fff;--color-gray-light:#f8f9fa;--color-gray:#6c757d;--color-gray-dark:#495057;--color-text-muted:#666;--border-radius:8px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 12px #00000026;--shadow-lg:0 8px 25px #0003;--transition:all 0.3s ease}.admin-container.modern{background:#f8fafc;background:var(--admin-bg-secondary);color:#0f172a;color:var(--admin-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.admin-header.modern{grid-gap:2rem;grid-gap:var(--admin-space-xl);align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--admin-primary) 0,var(--admin-secondary) 100%);display:grid;gap:2rem;gap:var(--admin-space-xl);grid-template-columns:auto 1fr auto;margin-bottom:3rem;margin-bottom:var(--admin-space-2xl);overflow:hidden;padding:2rem 3rem;padding:var(--admin-space-xl) var(--admin-space-2xl);position:relative}.admin-header.modern:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='2' fill='%23fff' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header-center,.header-left,.header-right{position:relative;z-index:1}.admin-back-link.modern{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50px;border-radius:var(--admin-radius-full);color:#fff;display:inline-flex;font-weight:500;gap:.5rem;gap:var(--admin-space-sm);padding:.5rem 1rem;padding:var(--admin-space-sm) var(--admin-space-md);text-decoration:none;transition:all .2s ease;transition:all var(--admin-transition-base)}.admin-back-link.modern:hover{background:#fff3;transform:translateY(-1px)}.header-center{text-align:center}.admin-title{align-items:center;color:#fff;display:flex;font-size:2.5rem;font-weight:700;gap:1rem;gap:var(--admin-space-md);justify-content:center;letter-spacing:-.025em;margin:0}.title-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2rem}.admin-subtitle{color:#fffc;font-size:1.1rem;font-weight:400;margin:.5rem 0 0;margin:var(--admin-space-sm) 0 0 0}.status-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:50px;border-radius:var(--admin-radius-full);color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;gap:var(--admin-space-sm);padding:.5rem 1rem;padding:var(--admin-space-sm) var(--admin-space-md)}.status-dot{animation:pulse 2s infinite;background:#10b981;background:var(--admin-success);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.admin-message.modern{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;border-radius:12px;border-radius:var(--admin-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--admin-shadow-md);display:flex;gap:1rem;gap:var(--admin-space-md);margin:0 3rem 1.5rem;margin:0 var(--admin-space-2xl) var(--admin-space-lg) var(--admin-space-2xl);overflow:hidden;padding:1.5rem;padding:var(--admin-space-lg);position:relative}.admin-message.modern:before{content:"";height:100%;left:0;position:absolute;top:0;width:4px}.admin-message.error.modern{background:#fecaca;border-color:#ef4444;border-color:var(--admin-danger);color:#7f1d1d}.admin-message.error.modern:before{background:#ef4444;background:var(--admin-danger)}.admin-message.success.modern{background:#d1fae5;border-color:#10b981;border-color:var(--admin-success);color:#14532d}.admin-message.success.modern:before{background:#10b981;background:var(--admin-success)}.admin-message.warning.modern{background:#fef3c7;border-color:#f59e0b;border-color:var(--admin-warning);color:#92400e}.admin-message.warning.modern:before{background:#f59e0b;background:var(--admin-warning)}.admin-message.info.modern{background:#dbeafe;border-color:#3b82f6;border-color:var(--admin-info);color:#1e40af}.admin-message.info.modern:before{background:#3b82f6;background:var(--admin-info)}.message-icon{flex-shrink:0;font-size:1.25rem;margin-top:2px}.message-content{flex:1 1}.message-content strong{display:block;font-weight:600;margin-bottom:.25rem;margin-bottom:var(--admin-space-xs)}.admin-filters.modern{margin:0 3rem 2rem;margin:0 var(--admin-space-2xl) var(--admin-space-xl) var(--admin-space-2xl)}.filter-card{grid-gap:1.5rem;grid-gap:var(--admin-space-lg);background:#fff;background:var(--admin-bg-elevated);border:1px solid #e2e8f0;border:1px solid var(--admin-border-primary);border-radius:12px;border-radius:var(--admin-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--admin-shadow-md);display:grid;gap:1.5rem;gap:var(--admin-space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:2rem;padding:var(--admin-space-xl)}.filter-group{flex-direction:column}.filter-group,.filter-label{display:flex;gap:.5rem;gap:var(--admin-space-sm)}.filter-label{align-items:center;color:#0f172a;color:var(--admin-text-primary);font-size:.875rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.label-icon{color:#6366f1;color:var(--admin-primary);font-size:1rem}.filter-select.modern{-webkit-appearance:none;appearance:none;background:#fff;background:var(--admin-bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236366f1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 1rem center;background-position:right var(--admin-space-md) center;background-repeat:no-repeat;background-size:1rem;border:2px solid #e2e8f0;border:2px solid var(--admin-border-primary);border-radius:8px;border-radius:var(--admin-radius-md);color:#0f172a;color:var(--admin-text-primary);font-size:1rem;font-weight:500;padding:1rem;padding:var(--admin-space-md);padding-right:3rem;padding-right:var(--admin-space-2xl);transition:all .2s ease;transition:all var(--admin-transition-base)}.filter-select.modern:focus{border-color:#6366f1;border-color:var(--admin-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.tabs.modern{background:#fff;background:var(--admin-bg-elevated);border:1px solid #e2e8f0;border:1px solid var(--admin-border-primary);border-radius:12px;border-radius:var(--admin-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--admin-shadow-md);margin:0 3rem 2rem;margin:0 var(--admin-space-2xl) var(--admin-space-xl) var(--admin-space-2xl);overflow:hidden;padding:.5rem;padding:var(--admin-space-sm)}.tab.modern,.tabs.modern{display:flex;position:relative}.tab.modern{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--admin-radius-md);color:#64748b;color:var(--admin-text-secondary);cursor:pointer;flex:1 1;font-weight:600;gap:.5rem;gap:var(--admin-space-sm);justify-content:center;padding:1rem 1.5rem;padding:var(--admin-space-md) var(--admin-space-lg);transition:all .2s ease;transition:all var(--admin-transition-base);z-index:1}.tab.modern:hover{background:#f1f5f9;background:var(--admin-bg-tertiary);color:#0f172a;color:var(--admin-text-primary)}.tab.modern.active{background:#fff;background:var(--admin-bg-primary);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--admin-shadow-sm);color:#6366f1;color:var(--admin-primary)}.tab-icon{font-size:1.1rem}.prompt-form.modern{margin:0 3rem 2rem;margin:0 var(--admin-space-2xl) var(--admin-space-xl) var(--admin-space-2xl)}.form-header{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--admin-bg-elevated) 0,var(--admin-bg-secondary) 100%);border:1px solid #e2e8f0;border:1px solid var(--admin-border-primary);border-radius:12px;border-radius:var(--admin-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--admin-shadow-md);margin-bottom:2rem;margin-bottom:var(--admin-space-xl);padding:2rem;padding:var(--admin-space-xl);text-align:center}.form-title{align-items:center;color:#0f172a;color:var(--admin-text-primary);display:flex;font-size:1.75rem;font-weight:700;gap:1rem;gap:var(--admin-space-md);justify-content:center;letter-spacing:-.025em;margin:0 0 .5rem;margin:0 0 var(--admin-space-sm) 0}.form-description{color:#64748b;color:var(--admin-text-secondary);font-size:1.1rem;margin:0 auto;max-width:600px}.form-section{background:#fff;background:var(--admin-bg-elevated);border:1px solid #e2e8f0;border:1px solid var(--admin-border-primary);border-radius:12px;border-radius:var(--admin-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--admin-shadow-md);margin-bottom:2rem;margin-bottom:var(--admin-space-xl);padding:2rem;padding:var(--admin-space-xl);transition:all .2s ease;transition:all var(--admin-transition-base)}.form-section:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--admin-shadow-lg)}.form-section.advanced{background:linear-gradient(135deg,#fff,#6366f105);background:linear-gradient(135deg,var(--admin-bg-elevated) 0,#6366f105 100%);border-left:4px solid #6366f1;border-left:4px solid var(--admin-primary)}.section-header{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--admin-border-primary);margin-bottom:2rem;margin-bottom:var(--admin-space-xl);padding-bottom:1.5rem;padding-bottom:var(--admin-space-lg)}.section-title{align-items:center;color:#0f172a;color:var(--admin-text-primary);display:flex;font-size:1.25rem;font-weight:700;gap:1rem;gap:var(--admin-space-md);margin:0 0 .5rem;margin:0 0 var(--admin-space-sm) 0}.section-icon{color:#6366f1;color:var(--admin-primary);font-size:1.5rem}.section-description{color:#64748b;color:var(--admin-text-secondary);font-size:1rem;margin:0}.form-grid{grid-gap:1.5rem;grid-gap:var(--admin-space-lg);display:grid;gap:1.5rem;gap:var(--admin-space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{display:flex;flex-direction:column;gap:.5rem;gap:var(--admin-space-sm)}.form-group.span-2{grid-column:span 2}.form-label{align-items:center;color:#0f172a;color:var(--admin-text-primary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;gap:var(--admin-space-sm);letter-spacing:.025em;text-transform:uppercase}.form-input.modern,.form-select.modern{background:#fff;background:var(--admin-bg-primary);border:2px solid #e2e8f0;border:2px solid var(--admin-border-primary);border-radius:8px;border-radius:var(--admin-radius-md);color:#0f172a;color:var(--admin-text-primary);font-size:1rem;font-weight:500;padding:1rem;padding:var(--admin-space-md);transition:all .2s ease;transition:all var(--admin-transition-base)}.form-input.modern:focus,.form-select.modern:focus{border-color:#6366f1;border-color:var(--admin-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-select.modern{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236366f1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 1rem center;background-position:right var(--admin-space-md) center;background-repeat:no-repeat;background-size:1rem;padding-right:3rem;padding-right:var(--admin-space-2xl)}.form-help{align-items:center;color:#64748b;color:var(--admin-text-secondary);display:flex;font-size:.875rem;gap:.25rem;gap:var(--admin-space-xs);margin:0}.checkbox-modern{align-items:flex-start;background:#fff;background:var(--admin-bg-primary);border:2px solid #e2e8f0;border:2px solid var(--admin-border-primary);border-radius:12px;border-radius:var(--admin-radius-lg);cursor:pointer;display:flex;gap:1rem;gap:var(--admin-space-md);padding:1rem;padding:var(--admin-space-md);transition:all .2s ease;transition:all var(--admin-transition-base)}.checkbox-modern:hover{background:#6366f105;border-color:#6366f1;border-color:var(--admin-primary)}.checkbox-input.modern{-webkit-appearance:none;appearance:none;background:#fff;background:var(--admin-bg-primary);border:2px solid #cbd5e1;border:2px solid var(--admin-border-secondary);border-radius:4px;border-radius:var(--admin-radius-sm);cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;position:relative;transition:all .2s ease;transition:all var(--admin-transition-base);width:20px}.checkbox-input.modern:checked{background:#6366f1;background:var(--admin-primary);border-color:#6366f1;border-color:var(--admin-primary)}.checkbox-input.modern:checked:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-grid.modern{grid-gap:1rem;grid-gap:var(--admin-space-md);display:grid;gap:1rem;gap:var(--admin-space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checkbox-item.modern{align-items:center;background:#fff;background:var(--admin-bg-primary);border:2px solid #e2e8f0;border:2px solid var(--admin-border-primary);border-radius:8px;border-radius:var(--admin-radius-md);cursor:pointer;display:flex;gap:.5rem;gap:var(--admin-space-sm);padding:.5rem 1rem;padding:var(--admin-space-sm) var(--admin-space-md);transition:all .2s ease;transition:all var(--admin-transition-base)}.checkbox-item.modern:hover{background:#6366f105;border-color:#6366f1;border-color:var(--admin-primary)}.checkbox-item.modern.primary{background:#6366f10d;border-color:#6366f1;border-color:var(--admin-primary)}.form-actions{display:flex;justify-content:center;margin-top:3rem;margin-top:var(--admin-space-2xl)}.admin-button.modern{align-items:center;border:none;border-radius:12px;border-radius:var(--admin-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--admin-shadow-sm);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;gap:var(--admin-space-sm);overflow:hidden;padding:1rem 2rem;padding:var(--admin-space-md) var(--admin-space-xl);position:relative;text-decoration:none;transition:all .2s ease;transition:all var(--admin-transition-base)}.admin-button.primary.modern{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--admin-primary) 0,var(--admin-primary-dark) 100%);color:#fff}.admin-button.primary.modern:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--admin-shadow-lg);transform:translateY(-2px)}.admin-button.secondary.modern{background:#fff;background:var(--admin-bg-primary);border:2px solid #e2e8f0;border:2px solid var(--admin-border-primary);color:#0f172a;color:var(--admin-text-primary)}.admin-button.secondary.modern:hover{border-color:#6366f1;border-color:var(--admin-primary);color:#6366f1;color:var(--admin-primary);transform:translateY(-1px)}.admin-button.danger.modern{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--admin-danger) 0,#dc2626 100%);color:#fff}.admin-button.danger.modern:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--admin-shadow-lg);transform:translateY(-2px)}.admin-button.generate{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--admin-primary) 0,var(--admin-secondary) 100%);border-radius:50px;border-radius:var(--admin-radius-full);font-size:1.125rem;min-width:300px;padding:1.5rem 3rem;padding:var(--admin-space-lg) var(--admin-space-2xl)}.admin-button.modern:disabled{cursor:not-allowed;opacity:.6;transform:none}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.admin-header.modern{gap:1.5rem;gap:var(--admin-space-lg);text-align:center}.admin-header.modern,.checkbox-grid.modern,.form-grid{grid-template-columns:1fr}}@media (max-width:768px){:root{--admin-space-2xl:1.5rem}.admin-header.modern{padding:1.5rem;padding:var(--admin-space-lg)}.admin-title{font-size:1.75rem}.form-section{padding:1.5rem;padding:var(--admin-space-lg)}.section-title{font-size:1.125rem}.tabs.modern{flex-direction:column;gap:.25rem;gap:var(--admin-space-xs)}}@media (prefers-reduced-motion:no-preference){.form-section{animation:slideUp .5s ease-out}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.allergenes-scanner-audit{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.scanner-container{background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md);overflow:hidden}.scanner-tabs{background:#f8f9fa;background:var(--color-gray-light);border-bottom:1px solid #dee2e6;display:flex}.scanner-tabs .tab{align-items:center;background:none;border:none;color:#6c757d;color:var(--color-gray);cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:500;gap:10px;justify-content:center;padding:18px 24px;position:relative;transition:all .3s ease;transition:var(--transition)}.scanner-tabs .tab:hover:not(:disabled){background:#e9ecef;color:#495057;color:var(--color-gray-dark)}.scanner-tabs .tab:disabled{cursor:not-allowed;opacity:.5}.scanner-tabs .tab.active{background:#fff;background:var(--color-white);border-bottom:3px solid #4a90e2;border-bottom:3px solid var(--color-primary);color:#4a90e2;color:var(--color-primary)}.scanner-tabs .tab-badge{align-items:center;background:#dc3545;background:var(--color-danger);border-radius:50%;color:#fff;color:var(--color-white);display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-left:8px;width:20px}.scanner-content{padding:35px}.scanner-dashboard{text-align:center}.dashboard-header h3{color:#333;color:var(--color-text);font-size:26px;font-weight:600;margin:0 0 12px}.dashboard-header p{color:#666;color:var(--color-text-muted);font-size:16px;margin:0 0 35px}.error-message{background:#f8d7da;border-radius:8px;border-radius:var(--border-radius);color:#721c24;font-weight:500;margin:20px 0;padding:12px 16px}.quick-stats{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:45px}.stat-card{background:#f8f9fa;background:var(--color-gray-light);border:2px solid #e9ecef;border-radius:12px;padding:30px;text-align:center;transition:all .3s ease;transition:var(--transition)}.stat-card:hover{box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card.success{background:#d4edda;border-color:#c3e6cb}.stat-card.warning{background:#fff3cd;border-color:#ffeaa7}.stat-card.error{background:#f8d7da;border-color:#f5c6cb}.stat-number{color:#333;color:var(--color-text);display:block;font-size:42px;font-weight:700;margin-bottom:10px}.stat-label{color:#666;color:var(--color-text-muted);font-size:14px;font-weight:500}.action-zone{text-align:center}.btn-scan-primary{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);color:#fff;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:18px;font-weight:600;gap:15px;min-width:320px;padding:20px 40px;transition:all .3s ease;transition:var(--transition)}.btn-scan-primary:hover:not(:disabled){box-shadow:0 6px 20px #4a90e266;transform:translateY(-2px)}.btn-scan-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinning{animation:spin 1s linear infinite}.scan-info{color:#666;color:var(--color-text-muted);font-size:14px;margin-top:20px}.btn-secondary{background:#6c757d;background:var(--color-gray);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--color-white);cursor:pointer;font-size:16px;font-weight:500;padding:14px 28px;transition:all .3s ease;transition:var(--transition)}.btn-secondary:hover{background:#495057;background:var(--color-gray-dark);transform:translateY(-1px)}.no-results{color:#666;color:var(--color-text-muted);padding:80px 20px;text-align:center}.no-results p{font-size:16px;margin:0 0 15px}.scan-results{max-width:100%}.results-header{margin-bottom:35px}.results-header h3{color:#333;color:var(--color-text);font-size:24px;margin:0 0 20px}.results-summary{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.summary-item{border-radius:20px;font-size:14px;font-weight:600;padding:10px 18px;white-space:nowrap}.summary-item.success{background:#d4edda;color:#155724}.summary-item.warning{background:#fff3cd;color:#856404}.summary-item.error{background:#f8d7da;color:#721c24}.results-section{margin-bottom:50px}.results-section h4{color:#333;color:var(--color-text);font-size:20px;font-weight:600;margin:0 0 15px}.section-description{font-size:14px;line-height:1.6;margin-bottom:25px}.collapsed-info,.section-description{color:#666;color:var(--color-text-muted)}.collapsed-info{font-style:italic;padding:30px;text-align:center}.recipes-grid{grid-gap:25px;display:grid;gap:25px}.recipe-card{background:#fff;background:var(--color-white);border:2px solid #e9ecef;border-radius:8px;border-radius:var(--border-radius);padding:25px;transition:all .3s ease;transition:var(--transition)}.recipe-card:hover{box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md);transform:translateY(-2px)}.recipe-card.corrigeable{background:#fffbf0;border-color:#ffc107;border-color:var(--color-warning)}.recipe-card.problematique{background:#fef5f5;border-color:#dc3545;border-color:var(--color-danger)}.recipe-card.ok{background:#f8fff9;border-color:#28a745;border-color:var(--color-success)}.recipe-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:18px}.recipe-header h4{color:#333;color:var(--color-text);flex:1 1;font-size:18px;font-weight:600;line-height:1.4;margin:0}.status-badge{align-items:center;border-radius:20px;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:6px;padding:8px 14px;white-space:nowrap}.status-badge.ok{background:#d4edda;color:#155724}.status-badge.corrigeable{background:#fff3cd;color:#856404}.status-badge.problematique{background:#f8d7da;color:#721c24}.recipe-details,.recipe-issues{margin-bottom:20px}.recipe-details strong,.recipe-issues strong{color:#333;color:var(--color-text);font-size:14px}.recipe-details ul,.recipe-issues ul{margin:10px 0 0;padding-left:20px}.recipe-details li,.recipe-issues li{color:#666;color:var(--color-text-muted);font-size:14px;line-height:1.4;margin-bottom:5px}.recipe-actions{display:flex;flex-wrap:wrap;gap:15px}.btn-correct{align-items:center;background:#28a745;background:var(--color-success);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--color-white);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 18px;transition:all .3s ease;transition:var(--transition)}.btn-correct:hover:not(:disabled){background:#218838;background:var(--color-success-dark);transform:translateY(-1px)}.btn-correct:disabled{cursor:not-allowed;opacity:.7}.btn-delete{align-items:center;background:#dc3545;background:var(--color-danger);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--color-white);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 18px;transition:all .3s ease;transition:var(--transition)}.btn-delete:hover:not(:disabled){background:#c82333;background:var(--color-danger-dark);transform:translateY(-1px)}.btn-delete:disabled{cursor:not-allowed;opacity:.7}.confirm-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{animation:slideIn .3s ease;background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 8px 25px #0003;box-shadow:var(--shadow-lg);max-height:80vh;max-width:550px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-header{border-bottom:1px solid #e9ecef;border-top:4px solid #4a90e2;border-top:4px solid var(--color-primary);padding:25px 30px 15px}.confirm-header h3{color:#333;color:var(--color-text);font-size:20px;font-weight:600;margin:0}.confirm-body{max-height:300px;overflow-y:auto;padding:25px 30px}.confirm-body p{color:#666;color:var(--color-text-muted);font-size:15px;line-height:1.6;margin:0;white-space:pre-line}.confirm-actions{border-top:1px solid #e9ecef;display:flex;gap:15px;justify-content:flex-end;padding:20px 30px}.btn-cancel{background:#fff;background:var(--color-white);border:2px solid #ddd;border-radius:8px;border-radius:var(--border-radius);color:#666;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease;transition:var(--transition)}.btn-cancel:hover{background:#f8f9fa;background:var(--color-gray-light);border-color:#adb5bd}.btn-confirm{border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--color-white);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease;transition:var(--transition)}.btn-confirm:hover{transform:translateY(-1px)}@media (max-width:768px){.allergenes-scanner-audit{padding:15px}.scanner-content{padding:25px}.dashboard-header h3{font-size:22px}.quick-stats{gap:20px;grid-template-columns:repeat(2,1fr)}.btn-scan-primary{font-size:16px;min-width:auto;padding:18px 30px;width:100%}.results-summary{align-items:stretch;flex-direction:column;gap:12px}.summary-item{text-align:center}.recipe-header{align-items:flex-start;gap:12px}.recipe-actions,.recipe-header{flex-direction:column}.btn-correct,.btn-delete{justify-content:center}.confirm-dialog{margin:20px;max-width:none}.confirm-actions,.confirm-body,.confirm-header{padding:20px}.confirm-actions{flex-direction:column;gap:12px}.btn-cancel,.btn-confirm{justify-content:center;width:100%}}@media (max-width:480px){.allergenes-scanner-audit{padding:10px}.scanner-content{padding:20px}.dashboard-header h3{font-size:20px}.quick-stats{gap:15px;grid-template-columns:1fr}.stat-card{padding:20px}.stat-number{font-size:32px}.scanner-tabs{flex-direction:column}.scanner-tabs .tab{padding:16px 20px}.results-section{margin-bottom:35px}.recipe-card{padding:20px}.recipe-header h4{font-size:16px}}.text-center{text-align:center}.text-muted{color:#666;color:var(--color-text-muted)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}:root{--color-primary:#1976d2;--color-secondary:#ff8f00;--color-background:#f5f9fc;--color-text:#333;--color-accent-1:#e3f2fd;--color-accent-2:#fff8e1}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}body{margin:0;padding:0}[class*=css-]:after,[class*=css-]:before{opacity:0!important;visibility:hidden!important}[class*=css-]:after,[class*=css-]:before,button[class*=css-] svg:after,button[class*=css-] svg:before,button[class*=css-]:after,button[class*=css-]:before{content:none!important;display:none!important}.favorite-btn :after,.favorite-btn :before,.favorite-btn:after,.favorite-btn:before,[class*=fa-]:after,[class*=fa-]:before,[class*=react-icons]:after,[class*=react-icons]:before,button[aria-label*=Favoris] :after,button[aria-label*=Favoris] :before,button[aria-label*=favoris] :after,button[aria-label*=favoris] :before,svg:after,svg:before{content:none!important;display:none!important;left:-9999px!important;opacity:0!important;position:absolute!important;visibility:hidden!important}i[class*=fa-]:after,i[class*=fa-]:before,span[class*=fa-]:after,span[class*=fa-]:before,svg[data-icon]:after,svg[data-icon]:before{content:none!important;display:none!important}i[class*=fa-],span[class*=fa-],svg[data-icon]{isolation:isolate;position:relative}.assistant-avatar:after,.assistant-avatar:before,[class*=chef-character]:after,[class*=chef-character]:before,div[class*=Avatar]:after,div[class*=Avatar]:before{content:none!important;display:none!important}.assistant-avatar,[class*=chef-character],div[class*=Avatar]{isolation:isolate}.assistant-avatar :after,.assistant-avatar :before,[class*=chef-character] :after,[class*=chef-character] :before,div[class*=Avatar] :after,div[class*=Avatar] :before{content:none!important;display:none!important}button{outline:none!important}button:focus{box-shadow:none;outline:none}button:after,button:before{content:none!important;display:none!important}button i,button span[class*=fa-],button svg{background:#0000!important;border:none!important;filter:none!important;outline:none!important}[style*="position: absolute"]:after,[style*="position: absolute"]:before,[style*="position: relative"]:after,[style*="position: relative"]:before,button i:after,button i:before,button span[class*=fa-]:after,button span[class*=fa-]:before,button svg:after,button svg:before{content:none!important;display:none!important}:active:after,:active:before,:focus:after,:focus:before,:hover:after,:hover:before{content:none!important;display:none!important;opacity:0!important;visibility:hidden!important}.fa:after,.fa:before,.fab:after,.fab:before,.fal:after,.fal:before,.far:after,.far:before,.fas:after,.fas:before,[class*=" icon-"]:after,[class*=" icon-"]:before,[class^=icon-]:after,[class^=icon-]:before{content:none!important;display:none!important}[role=button],a,button{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}*,:focus{outline:none!important}:focus{box-shadow:none!important}:after,:before{content:none!important;display:none!important}.needs-pseudo-elements:after,.needs-pseudo-elements:before{content:revert!important;display:revert!important}
/*# sourceMappingURL=main.7e43ec2f.css.map*/