:root{--color-white: #ffffff;--color-light-gray: #f8f9fa;--color-gray: #6c757d;--color-dark-gray: #495057;--color-black: #212529;--color-burgundy: #8b1538;--color-burgundy-light: #a91d42;--color-sonder: #171717;--color-sonder-light: #252525;--color-bonjour: #ffc107;--color-bonjour-light: #ffed4e;--shadow-sm: 0 2px 4px rgba(33, 37, 41, .1);--shadow-md: 0 4px 12px rgba(33, 37, 41, .15);--shadow-lg: 0 8px 25px rgba(33, 37, 41, .2);--shadow-xl: 0 12px 40px rgba(33, 37, 41, .25);--border-radius-sm: 6px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-full: 50%;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--color-light-gray) 0%,#e9ecef 100%);min-height:100vh;color:var(--color-dark-gray);line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp var(--transition-normal) ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-light-gray);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-gray);border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-dark-gray)}input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-center{justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}button:focus-visible,input:focus-visible,label:focus-visible{outline:2px solid var(--color-burgundy);outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-light-gray);min-height:100vh}.App{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--color-white) 0%,var(--color-light-gray) 100%)}.main-content{flex:1;padding:2rem;margin:0 auto;width:100%}@media (max-width: 768px){.main-content{padding:1rem}}.fade-in{animation:fadeIn var(--transition-slow) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn var(--transition-normal) ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modern-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:2rem;transition:all var(--transition-normal);border:1px solid #e9ecef}.modern-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.btn-modern{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;position:relative;overflow:hidden}.btn-modern:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-normal)}.btn-modern:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--color-burgundy) 0%,var(--color-burgundy-light) 100%);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background:var(--color-gray);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--color-dark-gray);box-shadow:var(--shadow-md);transform:translateY(-2px)}.modern-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 768px){.modern-grid{grid-template-columns:1fr;gap:1.5rem}}.modern-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:2px solid #e9ecef;position:relative}.modern-header:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:var(--color-burgundy);border-radius:1px}.modern-title{font-size:2rem;font-weight:700;color:var(--color-black);margin:0;line-height:1.2}.modern-subtitle{font-size:1.1rem;color:var(--color-gray);margin:.5rem 0 0;line-height:1.4}.spinner-modern{width:24px;height:24px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.hover-lift{transition:transform var(--transition-normal)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.05)}@media (max-width: 1200px){.main-content{max-width:100%}}@media (max-width: 992px){.modern-title{font-size:1.75rem}.modern-subtitle{font-size:1rem}}@media (max-width: 576px){.modern-title{font-size:1.5rem}.modern-card{padding:1.5rem}.btn-modern{padding:.625rem 1.25rem;font-size:.9rem}}#root{margin:0 auto;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.header{background:linear-gradient(135deg,var(--color-burgundy) 0%,var(--color-burgundy-light) 100%);padding:1.5rem 0;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.05) 0%,transparent 30%);pointer-events:none}.header-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;z-index:1}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center;padding:0 1rem}}@media (max-width: 480px){.header-content{padding:0 1rem}}.header-logo{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem}@media (max-width: 480px){.header-logo{gap:.75rem}}.header-logo .logo-image{width:200px;transition:all var(--transition-normal)}.header-logo .logo-image:hover{transform:scale(1.05);box-shadow:var(--shadow-lg);border-color:#fff6}@media (max-width: 480px){.header-logo .logo-image{width:100px}}.header-logo .title-sub{color:var(--color-white);font-size:1.5rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.3);letter-spacing:-.5px;margin:0}@media (max-width: 768px){.header-logo .title-sub{font-size:1.25rem}}@media (max-width: 480px){.header-logo .title-sub{font-size:1.125rem}}.header-decoration{width:120px;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),rgba(255,255,255,.8),rgba(255,255,255,.4),transparent);border-radius:2px;position:relative;overflow:hidden}.header-decoration:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}@media (max-width: 768px){.header-decoration{width:100px;height:3px}}@media (max-width: 480px){.header-decoration{width:80px}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media (max-width: 768px){.header{padding:1rem 0}}.provider-selector{max-width:900px;margin:0 auto;padding:3rem 2rem}@media (max-width: 768px){.provider-selector{padding:2rem 1rem}}@media (max-width: 480px){.provider-selector{padding:1.5rem 1rem}}.provider-selector .selector-header{text-align:center;margin-bottom:3rem}.provider-selector .selector-header .selector-title{font-size:2.5rem;line-height:1.2;font-weight:800;color:var(--color-black);margin-bottom:.75rem;text-shadow:0 2px 4px rgba(0,0,0,.1);background:linear-gradient(135deg,var(--color-black) 0%,var(--color-dark-gray) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.provider-selector .selector-header .selector-title{font-size:2rem}}@media (max-width: 480px){.provider-selector .selector-header .selector-title{font-size:1.75rem}}.provider-selector .selector-header .selector-subtitle{font-size:1.125rem;color:var(--color-gray);line-height:1.6;max-width:600px;margin:0 auto}@media (max-width: 768px){.provider-selector .selector-header .selector-subtitle{font-size:1rem}}.provider-selector .providers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2.5rem}@media (max-width: 768px){.provider-selector .providers-grid{grid-template-columns:1fr;gap:1.5rem}}.provider-card{background:var(--color-white);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-md);transition:all var(--transition-normal);cursor:pointer;position:relative;overflow:hidden;border:2px solid transparent}.provider-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--provider-color);transform:scaleX(0);transition:transform var(--transition-normal);transform-origin:left}.provider-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--provider-color)}.provider-card:hover:before{transform:scaleX(1)}.provider-card:hover .provider-card-content{transform:translateY(-2px)}.provider-card:hover .icon-circle:before{opacity:1;animation:shimmer .6s ease-out}.provider-card.disabled{opacity:.65;cursor:not-allowed;background:#fafbfc}.provider-card.disabled:hover{transform:none;box-shadow:var(--shadow-md);border-color:transparent}.provider-card.disabled:hover .provider-card-content{transform:none}.provider-card.disabled .provider-arrow{display:none}@media (max-width: 768px){.provider-card{padding:1.5rem}}@media (max-width: 480px){.provider-card{padding:1.25rem}}.provider-card .provider-card-content{display:flex;align-items:center;gap:1.5rem;position:relative;transition:transform var(--transition-normal)}@media (max-width: 768px){.provider-card .provider-card-content{gap:1.25rem}}@media (max-width: 480px){.provider-card .provider-card-content{gap:1rem}}.provider-card .provider-icon{flex-shrink:0}.provider-card .provider-icon .icon-circle{width:72px;height:72px;border-radius:var(--border-radius-full);background:var(--provider-color);display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:1.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.provider-card .provider-icon .icon-circle:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.2),transparent);transform:rotate(45deg);transition:all var(--transition-normal);opacity:0}@media (max-width: 768px){.provider-card .provider-icon .icon-circle{width:60px;height:60px;font-size:1.5rem}}@media (max-width: 480px){.provider-card .provider-icon .icon-circle{width:56px;height:56px;font-size:1.25rem}}.provider-card .provider-info{flex:1}.provider-card .provider-info .provider-name{font-size:1.375rem;font-weight:700;color:var(--color-black);margin:0 0 .5rem;line-height:1.3}@media (max-width: 768px){.provider-card .provider-info .provider-name{font-size:1.25rem}}@media (max-width: 480px){.provider-card .provider-info .provider-name{font-size:1.125rem}}.provider-card .provider-info .provider-description{font-size:1rem;color:var(--color-gray);margin:0;line-height:1.5}@media (max-width: 768px){.provider-card .provider-info .provider-description{font-size:.9rem}}.provider-card .coming-soon-badge{position:absolute;top:-25px;right:-25px;background:var(--color-gray);color:var(--color-white);padding:.375rem .75rem;border-radius:var(--border-radius-sm);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.provider-card .provider-arrow{color:var(--provider-color);transition:all var(--transition-normal);padding:.5rem;border-radius:var(--border-radius-full);background:rgba(var(--provider-color-rgb),.1)}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.provider-card[style*="--provider-color: #8b1538"]{--provider-color-rgb: 139, 21, 56}.provider-card[style*="--provider-color: #17a2b8"]{--provider-color-rgb: 23, 162, 184}.provider-card[style*="--provider-color: #ffc107"]{--provider-color-rgb: 255, 193, 7}.provider-card[style*="--provider-color: #1a1a1a"]{--provider-color-rgb: 26, 26, 26}.sonder-upload{max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.sonder-upload{padding:1.5rem}}@media (max-width: 480px){.sonder-upload{padding:1rem}}.sonder-upload .upload-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef;position:relative}.sonder-upload .upload-header:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:2px;background:var(--color-sonder);border-radius:1px}@media (max-width: 768px){.sonder-upload .upload-header{flex-direction:column;align-items:flex-start;gap:1rem}}.sonder-upload .upload-header .back-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-gray);color:var(--color-white);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-normal);text-decoration:none;box-shadow:var(--shadow-sm)}.sonder-upload .upload-header .back-button:hover{background:var(--color-dark-gray);transform:translateY(-2px);box-shadow:var(--shadow-md)}.sonder-upload .upload-header .upload-title-section{flex:1}.sonder-upload .upload-header .upload-title-section .upload-title{font-size:2rem;text-align:left;font-weight:800;color:var(--color-sonder);margin:0 0 .5rem;line-height:1.2}@media (max-width: 768px){.sonder-upload .upload-header .upload-title-section .upload-title{font-size:1.75rem}}.sonder-upload .upload-header .upload-title-section .upload-subtitle{font-size:1rem;text-align:left;color:var(--color-gray);margin:0;line-height:1.5}.sonder-upload .upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem}@media (max-width: 768px){.sonder-upload .upload-grid{grid-template-columns:1fr;gap:1.5rem}}.sonder-upload .upload-section{background:var(--color-white);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-md);border:2px solid transparent;transition:all var(--transition-normal);position:relative}.sonder-upload .upload-section:hover{border-color:var(--color-sonder);box-shadow:var(--shadow-lg);transform:translateY(-4px)}@media (max-width: 768px){.sonder-upload .upload-section{padding:1.5rem}}@media (max-width: 480px){.sonder-upload .upload-section{padding:1.25rem}}.sonder-upload .upload-section .section-title{font-size:1.25rem;font-weight:700;color:var(--color-black);margin:0 0 1.5rem;text-align:center;position:relative;padding-bottom:.75rem}.sonder-upload .upload-section .section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:var(--color-sonder);border-radius:1px}.sonder-upload .upload-section .dropzone{border:2px dashed #dee2e6;border-radius:var(--border-radius-md);padding:2.5rem 1.5rem;text-align:center;transition:all var(--transition-normal);cursor:pointer;background:var(--color-light-gray);position:relative;overflow:hidden}.sonder-upload .upload-section .dropzone:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(23,162,184,.1),transparent);transition:left var(--transition-normal)}.sonder-upload .upload-section .dropzone:hover{border-color:var(--color-sonder);background:#17a2b80d;transform:translateY(-2px)}.sonder-upload .upload-section .dropzone:hover:before{left:100%}.sonder-upload .upload-section .dropzone:hover .dropzone-icon{opacity:1;transform:scale(1.1)}.sonder-upload .upload-section .dropzone.active{border-color:var(--color-sonder);background:#17a2b81a;transform:scale(1.02)}@media (max-width: 768px){.sonder-upload .upload-section .dropzone{padding:2rem 1rem}}@media (max-width: 480px){.sonder-upload .upload-section .dropzone{padding:1.5rem .75rem}}.sonder-upload .upload-section .dropzone .dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer}.sonder-upload .upload-section .dropzone .dropzone-content .dropzone-icon{color:var(--color-sonder);opacity:.8;transition:all var(--transition-normal)}.sonder-upload .upload-section .dropzone .dropzone-content .dropzone-text{font-size:1rem;font-weight:600;color:var(--color-dark-gray);margin:0}.sonder-upload .upload-section .dropzone .dropzone-content .dropzone-hint{font-size:.875rem;color:var(--color-gray);margin:0}.sonder-upload .upload-section .file-preview{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:var(--color-light-gray);border-radius:var(--border-radius-md);border:2px solid #e9ecef;transition:all var(--transition-normal)}.sonder-upload .upload-section .file-preview:hover{border-color:var(--color-sonder);box-shadow:var(--shadow-sm)}@media (max-width: 480px){.sonder-upload .upload-section .file-preview{padding:1.25rem}}.sonder-upload .upload-section .file-preview .file-info{display:flex;align-items:center;gap:1rem;flex:1}@media (max-width: 480px){.sonder-upload .upload-section .file-preview .file-info{gap:.75rem}}.sonder-upload .upload-section .file-preview .file-info .file-icon{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-white);box-shadow:var(--shadow-sm)}.sonder-upload .upload-section .file-preview .file-info .file-icon.excel{background:linear-gradient(135deg,#217346,#1e6b42)}.sonder-upload .upload-section .file-preview .file-info .file-icon.pdf{background:linear-gradient(135deg,#dc3545,#c82333)}@media (max-width: 480px){.sonder-upload .upload-section .file-preview .file-info .file-icon{width:40px;height:40px}}.sonder-upload .upload-section .file-preview .file-info .file-details{flex:1}.sonder-upload .upload-section .file-preview .file-info .file-details .file-name{font-size:1rem;font-weight:600;color:var(--color-black);margin:0 0 .25rem;word-break:break-all;line-height:1.3}.sonder-upload .upload-section .file-preview .file-info .file-details .file-size{font-size:.875rem;color:var(--color-gray);margin:0;font-weight:500}.sonder-upload .upload-section .file-preview .remove-file{padding:.5rem;background:linear-gradient(135deg,#dc3545,#c82333);color:var(--color-white);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.sonder-upload .upload-section .file-preview .remove-file:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.sonder-upload .process-section{text-align:center}.sonder-upload .process-section .process-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-sonder) 0%,var(--color-sonder-light) 100%);color:var(--color-white);border:none;border-radius:var(--border-radius-md);font-size:1.125rem;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);min-width:220px;justify-content:center;position:relative;overflow:hidden}.sonder-upload .process-section .process-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-normal)}.sonder-upload .process-section .process-button:hover:not(.disabled){transform:translateY(-3px);box-shadow:var(--shadow-xl)}.sonder-upload .process-section .process-button:hover:not(.disabled):before{left:100%}.sonder-upload .process-section .process-button.disabled{background:var(--color-gray);cursor:not-allowed;box-shadow:var(--shadow-sm);opacity:.7}@media (max-width: 768px){.sonder-upload .process-section .process-button{padding:.875rem 1.5rem;font-size:1rem;min-width:200px}}@media (max-width: 480px){.sonder-upload .process-section .process-button{padding:.75rem 1.25rem;font-size:.95rem;min-width:180px}}.sonder-upload .process-section .process-button .spinner{width:24px;height:24px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.modal-overlay .success-modal .modal-body p strong{color:var(--color-sonder);font-weight:700}.modal-overlay .success-modal .modal-footer .download-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-normal)}.bonjour-lulu-upload{max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.bonjour-lulu-upload{padding:1.5rem}}@media (max-width: 480px){.bonjour-lulu-upload{padding:1rem}}.bonjour-lulu-upload .upload-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef;position:relative}.bonjour-lulu-upload .upload-header:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:2px;background:var(--color-bonjour);border-radius:1px}@media (max-width: 768px){.bonjour-lulu-upload .upload-header{flex-direction:column;align-items:flex-start;gap:1rem}}.bonjour-lulu-upload .upload-header .back-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-gray);color:var(--color-white);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-normal);text-decoration:none;box-shadow:var(--shadow-sm)}.bonjour-lulu-upload .upload-header .back-button:hover{background:var(--color-dark-gray);transform:translateY(-2px);box-shadow:var(--shadow-md)}.bonjour-lulu-upload .upload-header .upload-title-section{flex:1}.bonjour-lulu-upload .upload-header .upload-title-section .upload-title{font-size:2rem;font-weight:800;text-align:left;color:var(--color-bonjour);margin:0 0 .5rem;line-height:1.2;text-shadow:0 1px 2px rgba(255,193,7,.3)}@media (max-width: 768px){.bonjour-lulu-upload .upload-header .upload-title-section .upload-title{font-size:1.75rem}}.bonjour-lulu-upload .upload-header .upload-title-section .upload-subtitle{font-size:1rem;text-align:left;color:var(--color-gray);margin:0;line-height:1.5}.bonjour-lulu-upload .upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem}@media (max-width: 768px){.bonjour-lulu-upload .upload-grid{grid-template-columns:1fr;gap:1.5rem}}.bonjour-lulu-upload .upload-section{background:var(--color-white);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-md);border:2px solid transparent;transition:all var(--transition-normal);position:relative}.bonjour-lulu-upload .upload-section:hover{border-color:var(--color-bonjour);box-shadow:var(--shadow-lg);transform:translateY(-4px)}@media (max-width: 768px){.bonjour-lulu-upload .upload-section{padding:1.5rem}}@media (max-width: 480px){.bonjour-lulu-upload .upload-section{padding:1.25rem}}.bonjour-lulu-upload .upload-section .section-title{font-size:1.25rem;font-weight:700;color:var(--color-black);margin:0 0 .5rem;text-align:center;position:relative;padding-bottom:.75rem}.bonjour-lulu-upload .upload-section .section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:var(--color-bonjour);border-radius:1px}.bonjour-lulu-upload .upload-section .section-description{font-size:.875rem;color:var(--color-gray);margin:0 0 1.5rem;text-align:center;line-height:1.4}.bonjour-lulu-upload .upload-section .dropzone{border:2px dashed #dee2e6;border-radius:var(--border-radius-md);padding:2.5rem 1.5rem;text-align:center;transition:all var(--transition-normal);cursor:pointer;background:var(--color-light-gray);position:relative;overflow:hidden}.bonjour-lulu-upload .upload-section .dropzone:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,193,7,.1),transparent);transition:left var(--transition-normal)}.bonjour-lulu-upload .upload-section .dropzone:hover{border-color:var(--color-bonjour);background:#ffc1070d;transform:translateY(-2px)}.bonjour-lulu-upload .upload-section .dropzone:hover:before{left:100%}.bonjour-lulu-upload .upload-section .dropzone:hover .dropzone-icon{opacity:1;transform:scale(1.1)}.bonjour-lulu-upload .upload-section .dropzone.active{border-color:var(--color-bonjour);background:#ffc1071a;transform:scale(1.02)}@media (max-width: 768px){.bonjour-lulu-upload .upload-section .dropzone{padding:2rem 1rem}}@media (max-width: 480px){.bonjour-lulu-upload .upload-section .dropzone{padding:1.5rem .75rem}}.bonjour-lulu-upload .upload-section .dropzone .dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer}.bonjour-lulu-upload .upload-section .dropzone .dropzone-content .dropzone-icon{color:var(--color-bonjour);opacity:.8;transition:all var(--transition-normal)}.bonjour-lulu-upload .upload-section .dropzone .dropzone-content .dropzone-text{font-size:1rem;font-weight:600;color:var(--color-dark-gray);margin:0}.bonjour-lulu-upload .upload-section .dropzone .dropzone-content .dropzone-hint{font-size:.875rem;color:var(--color-gray);margin:0}.bonjour-lulu-upload .upload-section .file-preview{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:var(--color-light-gray);border-radius:var(--border-radius-md);border:2px solid #e9ecef;transition:all var(--transition-normal)}.bonjour-lulu-upload .upload-section .file-preview:hover{border-color:var(--color-bonjour);box-shadow:var(--shadow-sm)}@media (max-width: 480px){.bonjour-lulu-upload .upload-section .file-preview{padding:1.25rem}}.bonjour-lulu-upload .upload-section .file-preview .file-info{display:flex;align-items:center;gap:1rem;flex:1}@media (max-width: 480px){.bonjour-lulu-upload .upload-section .file-preview .file-info{gap:.75rem}}.bonjour-lulu-upload .upload-section .file-preview .file-info .file-icon{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-white);box-shadow:var(--shadow-sm)}.bonjour-lulu-upload .upload-section .file-preview .file-info .file-icon.excel{background:linear-gradient(135deg,#217346,#1e6b42)}.bonjour-lulu-upload .upload-section .file-preview .file-info .file-icon.image{background:linear-gradient(135deg,#17a2b8,#138496)}@media (max-width: 480px){.bonjour-lulu-upload .upload-section .file-preview .file-info .file-icon{width:40px;height:40px}}.bonjour-lulu-upload .upload-section .file-preview .file-info .file-details{flex:1}.bonjour-lulu-upload .upload-section .file-preview .file-info .file-details .file-name{font-size:1rem;font-weight:600;color:var(--color-black);margin:0 0 .25rem;word-break:break-all;line-height:1.3}.bonjour-lulu-upload .upload-section .file-preview .file-info .file-details .file-size{font-size:.875rem;color:var(--color-gray);margin:0;font-weight:500}.bonjour-lulu-upload .upload-section .file-preview .remove-file{padding:.5rem;background:linear-gradient(135deg,#dc3545,#c82333);color:var(--color-white);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.bonjour-lulu-upload .upload-section .file-preview .remove-file:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.bonjour-lulu-upload .process-section{text-align:center}.bonjour-lulu-upload .process-section .process-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-bonjour) 0%,var(--color-bonjour-light) 100%);color:var(--color-black);border:none;border-radius:var(--border-radius-md);font-size:1.125rem;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);min-width:220px;justify-content:center;position:relative;overflow:hidden}.bonjour-lulu-upload .process-section .process-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);transition:left var(--transition-normal)}.bonjour-lulu-upload .process-section .process-button:hover:not(.disabled){transform:translateY(-3px);box-shadow:var(--shadow-xl)}.bonjour-lulu-upload .process-section .process-button:hover:not(.disabled):before{left:100%}.bonjour-lulu-upload .process-section .process-button.disabled{background:var(--color-gray);color:var(--color-white);cursor:not-allowed;box-shadow:var(--shadow-sm);opacity:.7}@media (max-width: 768px){.bonjour-lulu-upload .process-section .process-button{padding:.875rem 1.5rem;font-size:1rem;min-width:200px}}@media (max-width: 480px){.bonjour-lulu-upload .process-section .process-button{padding:.75rem 1.25rem;font-size:.95rem;min-width:180px}}.bonjour-lulu-upload .process-section .process-button .spinner{width:24px;height:24px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.modal-overlay .success-modal{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}.modal-overlay .success-modal .modal-header{padding:2rem 2rem 1rem;text-align:center;position:relative;border-bottom:1px solid #e9ecef}.modal-overlay .success-modal .modal-header .success-icon{color:#28a745;margin-bottom:1rem}.modal-overlay .success-modal .modal-header .success-icon svg{filter:drop-shadow(0 2px 4px rgba(40,167,69,.2))}.modal-overlay .success-modal .modal-header h3{font-size:1.5rem;font-weight:700;color:var(--color-black);margin:0}.modal-overlay .success-modal .modal-header .close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-gray);border-radius:var(--border-radius-md);transition:all var(--transition-normal)}.modal-overlay .success-modal .modal-header .close-modal:hover{background:var(--color-light-gray);color:var(--color-black)}.modal-overlay .success-modal .modal-body{padding:1.5rem 2rem;text-align:center}.modal-overlay .success-modal .modal-body p{margin:0 0 1rem;color:#1b1b1b;line-height:1.6}.modal-overlay .success-modal .modal-body p:last-child{margin-bottom:0}.modal-overlay .success-modal .modal-body p strong{color:var(--color-bonjour);font-weight:700}.modal-overlay .success-modal .modal-footer{padding:1rem 2rem 2rem;display:flex;gap:1rem;justify-content:center}@media (max-width: 480px){.modal-overlay .success-modal .modal-footer{flex-direction:column}}.modal-overlay .success-modal .modal-footer .download-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#217346,#1e6f42);color:#fff;text-decoration:none;border-radius:var(--border-radius-md);font-weight:600;transition:all var(--transition-normal);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.modal-overlay .success-modal .modal-footer .download-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);transition:left var(--transition-normal)}.modal-overlay .success-modal .modal-footer .download-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.modal-overlay .success-modal .modal-footer .download-button:hover:before{left:100%}.modal-overlay .success-modal .modal-footer .close-button{padding:.875rem 1.5rem;background:var(--color-gray);color:var(--color-white);border:none;border-radius:var(--border-radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.modal-overlay .success-modal .modal-footer .close-button:hover{background:var(--color-dark-gray);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 480px){.modal-overlay .success-modal{margin:1rem}.modal-overlay .success-modal .modal-header{padding:1.5rem 1.5rem 1rem}.modal-overlay .success-modal .modal-body{padding:1rem 1.5rem}.modal-overlay .success-modal .modal-footer{padding:1rem 1.5rem 1.5rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
