:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-secondary: #64748b;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-color-hover: #cbd5e1;--card-bg: #ffffff;--accent-color: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-inverse: #0f172a;--border-color: #334155;--border-color-hover: #475569;--card-bg: #1e293b;--accent-color: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5)}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-base),color var(--transition-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-mono)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-md)}.text-left{text-align:left}[data-theme=dark] ::-webkit-scrollbar{width:12px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-secondary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,:root[data-theme=dark]{--bg-primary: #0f1419;--bg-secondary: #1a1f2e;--card-bg: #1e2433;--hover-bg: rgba(102, 126, 234, .1);--text-primary: #e6e9f0;--text-secondary: #9ca3af;--text-muted: #6b7280;--border-color: #2d3748;--border-light: #374151;--primary: #667eea;--primary-dark: #764ba2;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}:root[data-theme=light]{--bg-primary: #f9fafb;--bg-secondary: #ffffff;--card-bg: #ffffff;--hover-bg: rgba(102, 126, 234, .05);--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e5e7eb;--border-light: #d1d5db;--primary: #667eea;--primary-dark: #764ba2;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}#root{min-height:100vh;display:flex;flex-direction:column}a{font-weight:500;color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:all .2s}button:hover:not(:disabled){background-color:var(--hover-bg);border-color:var(--primary)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:.5em .75em;font-family:inherit;font-size:1em;transition:all .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}input::placeholder,textarea::placeholder{color:var(--text-muted)}.error-boundary{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.error-boundary-content{max-width:600px;text-align:center;padding:3rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.error-icon{font-size:4rem;margin-bottom:1rem}.error-boundary-content h1{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.error-message{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem;line-height:1.6}.error-details{text-align:left;margin:2rem 0;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.error-details summary{cursor:pointer;font-weight:600;color:var(--text-primary);padding:.5rem;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--primary)}.error-stack{margin-top:1rem;padding:1rem;background:var(--bg-primary);border-radius:4px;overflow-x:auto}.error-stack strong{color:var(--error);display:block;margin-bottom:.5rem}.error-stack pre{color:var(--text-secondary);font-size:.813rem;white-space:pre-wrap;word-break:break-word;margin:0}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.error-actions button{min-width:140px}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-spinner-container.full-page{min-height:calc(100vh - 80px)}.loading-spinner{display:flex;align-items:center;justify-content:center}.loading-spinner.small .spinner{width:24px;height:24px}.loading-spinner.medium .spinner{width:48px;height:48px}.loading-spinner.large .spinner{width:64px;height:64px}.spinner{border:4px solid var(--border-color);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:var(--text-primary);font-size:1rem;font-weight:500;margin:0}.loading-hint{color:var(--text-secondary);font-size:.875rem;margin:0}.navbar{background:var(--card-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-container{max-width:1600px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;min-height:80px}.navbar-brand{display:flex;align-items:center}.brand-link{text-decoration:none;color:inherit}.navbar-brand h1{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-links{display:flex;gap:.5rem;align-items:center}.nav-link{padding:.5rem 1rem;text-decoration:none;color:var(--text-secondary);font-weight:500;border-radius:6px;transition:all .2s;font-size:.938rem}.nav-link:hover{background:var(--hover-bg);color:var(--text-primary)}.nav-link.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.navbar-user{display:flex;align-items:center;gap:1rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.user-details{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.user-company{font-size:.75rem;color:var(--text-secondary)}.user-roles{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}.role-badge{font-size:.625rem;padding:.25rem .625rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;box-shadow:0 2px 4px #667eea4d;display:inline-flex;align-items:center;gap:.25rem}.role-icon{width:12px;height:12px;flex-shrink:0}.theme-toggle-button{padding:.5rem;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.theme-icon{width:20px;height:20px}.theme-toggle-button:hover{background:var(--hover-bg);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.logout-button{padding:.5rem 1.25rem;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-button:hover{background:#ef44441a;border-color:var(--error);color:var(--error);transform:translateY(-1px);box-shadow:0 2px 8px #ef444433}@media(max-width:768px){.navbar-container{padding:.75rem 1rem;height:auto;flex-wrap:wrap}.navbar-brand,.navbar-links{width:100%;justify-content:center;margin-bottom:.75rem}.navbar-user{width:100%;justify-content:center}.user-info,.user-details{align-items:center}}.footer{background:var(--card-bg);border-top:1px solid var(--border-color);margin-top:auto;box-shadow:0 -4px 12px #0000001a}.footer-container{max-width:1600px;margin:0 auto;padding:3rem 2rem 1.5rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section{display:flex;flex-direction:column}.footer-title{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.footer-description{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.footer-heading{font-size:.938rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-links li a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s}.footer-links li a:hover{color:var(--primary)}.footer-text{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.footer-email{color:var(--primary);text-decoration:none;font-weight:500}.footer-email:hover{color:var(--primary-dark);text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.footer-copyright{color:var(--text-secondary);font-size:.813rem}.footer-version{color:var(--text-muted);font-size:.813rem;font-weight:500}@media(max-width:768px){.footer-container{padding:2rem 1rem 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem}.footer-bottom{flex-direction:column;text-align:center;gap:.5rem}}.landing-page{min-height:100vh;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:3rem 2rem;overflow-x:hidden}.landing-container{max-width:1400px;margin:0 auto}.hero-section{text-align:center;margin-bottom:4rem;animation:fadeInUp .8s ease-out}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:1rem;color:var(--text-primary);line-height:1.2}.brand-gradient{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:700px;margin:0 auto;line-height:1.6}.steps-container{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:4rem;flex-wrap:wrap}.step-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem;flex:1;min-width:280px;max-width:350px;transition:all .3s ease;animation:fadeInUp .8s ease-out backwards}.step-card:nth-child(1){animation-delay:.1s}.step-card:nth-child(3){animation-delay:.2s}.step-card:nth-child(5){animation-delay:.3s}.step-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #667eea33;border-color:var(--primary)}.step-icon-wrapper{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;position:relative;overflow:hidden}.step-icon-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);opacity:.1}.step-1{background:#667eea1a}.step-2{background:#764ba21a}.step-3{background:#10b9811a}.step-icon{width:40px;height:40px;color:var(--primary);z-index:1}.step-3 .step-icon{color:var(--success)}.step-content{text-align:center}.step-number{font-size:.813rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem}.step-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.step-description{font-size:.938rem;color:var(--text-secondary);line-height:1.6}.step-arrow{width:40px;height:40px;color:var(--text-muted);flex-shrink:0;animation:fadeIn .8s ease-out .4s backwards}.step-arrow svg{width:100%;height:100%}.cta-section{text-align:center;margin-bottom:5rem;animation:fadeInUp .8s ease-out .5s backwards}.cta-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 3rem;font-size:1.125rem;font-weight:700;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:.75rem;transition:all .3s ease;box-shadow:0 8px 24px #667eea4d}.cta-button:hover{transform:translateY(-4px);box-shadow:0 12px 32px #667eea66}.cta-button:active{transform:translateY(-2px)}.cta-icon{width:24px;height:24px;transition:transform .3s ease}.cta-button:hover .cta-icon{transform:translate(4px)}.cta-hint{margin-top:1rem;font-size:.938rem;color:var(--text-muted)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;animation:fadeInUp .8s ease-out .6s backwards}.feature-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);border-color:var(--border-light);box-shadow:0 8px 16px #0003}.feature-icon{width:48px;height:48px;color:var(--primary);margin-bottom:1rem}.feature-card h4{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.feature-card p{font-size:.938rem;color:var(--text-secondary);line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.steps-container{flex-direction:column}.step-arrow{transform:rotate(90deg)}}@media(max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.125rem}.step-card{max-width:100%}.features-grid{grid-template-columns:1fr}.cta-button{width:100%;justify-content:center}}@media(max-width:480px){.landing-page{padding:2rem 1rem}.hero-title{font-size:2rem}.step-card{padding:1.5rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-container{width:100%;max-width:400px}.login-card{background:var(--card-bg);border-radius:12px;box-shadow:0 10px 40px #0000004d;overflow:hidden}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;text-align:center;color:#fff}.login-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:700}.login-header p{margin:0;font-size:.875rem;opacity:.9}.login-form{padding:2rem}.form-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.938rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--border-color)}.login-footer p{margin:0;color:var(--text-secondary);font-size:.875rem}.register-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.register-link:hover{color:#764ba2;text-decoration:underline}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.register-container{width:100%;max-width:500px}.register-card{background:var(--card-bg);border-radius:12px;box-shadow:0 10px 40px #0000004d;overflow:hidden}.register-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;text-align:center;color:#fff}.register-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:700}.register-header p{margin:0;font-size:.875rem;opacity:.9}.register-form{padding:2rem;max-height:70vh;overflow-y:auto}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.error-message{background:#ef44441a;border:1px solid var(--error);color:var(--error);padding:.75rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem}.success-message{background:#22c55e1a;border:1px solid #22c55e;color:#16a34a;padding:1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.captcha-group{display:flex;justify-content:center;margin-bottom:1.5rem}.register-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.938rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.register-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.register-button:active:not(:disabled){transform:translateY(0)}.register-button:disabled{opacity:.7;cursor:not-allowed}.register-footer{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--border-color)}.register-footer p{margin:0;color:var(--text-secondary);font-size:.875rem}.login-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.login-link:hover{color:#764ba2;text-decoration:underline}.upload-page{max-width:1000px;margin:0 auto;padding:2rem 1rem}.upload-container{display:flex;flex-direction:column;gap:2rem}.upload-header{text-align:center}.upload-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.upload-header p{font-size:1.125rem;color:var(--text-secondary)}.drop-zone{border:3px dashed var(--border-color);border-radius:var(--radius-xl);padding:4rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--bg-secondary);position:relative;overflow:hidden}.drop-zone:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#2563eb0d,#3b82f60d);opacity:0;transition:opacity .3s ease;pointer-events:none}.drop-zone:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.drop-zone:hover:before{opacity:1}.drop-zone.dragging{border-color:var(--color-primary);background-color:var(--color-primary-bg);transform:scale(1.02)}.drop-zone.dragging:before{opacity:1}.drop-zone-content{position:relative;z-index:1}.upload-icon{font-size:5rem;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.drop-zone h3{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.file-types{font-size:1rem;color:var(--text-secondary);margin-bottom:.5rem}.file-limit{font-size:.875rem;color:var(--text-tertiary)}.file-list{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:2rem;border:1px solid var(--border-color)}.file-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.file-list-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.success-badge,.uploading-badge,.error-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.success-badge{background-color:var(--color-success-bg);color:var(--color-success)}.uploading-badge{background-color:var(--color-warning-bg);color:var(--color-warning)}.error-badge{background-color:var(--color-error-bg);color:var(--color-error)}.clear-button{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.clear-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.files{display:flex;flex-direction:column;gap:1rem}.file-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .2s ease}.file-item:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.file-item.success{border-left:4px solid var(--color-success)}.file-item.error{border-left:4px solid var(--color-error)}.file-item.uploading{border-left:4px solid var(--color-warning)}.file-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.file-icon{font-size:2.5rem;flex-shrink:0}.file-details{flex:1;min-width:0}.file-name{font-size:1rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.file-size{font-size:.875rem;color:var(--text-secondary)}.file-status{display:flex;align-items:center;margin-right:1rem;min-width:120px;justify-content:flex-end}.status-text{font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:var(--radius-md)}.status-text.pending{color:var(--text-tertiary);background-color:var(--bg-tertiary)}.status-text.success{color:var(--color-success);background-color:var(--color-success-bg)}.status-text.error{color:var(--color-error);background-color:var(--color-error-bg)}.upload-progress{display:flex;align-items:center;gap:.75rem;width:100%}.progress-bar{flex:1;height:8px;background-color:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);transition:width .3s ease;border-radius:var(--radius-full)}.progress-text{font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:45px;text-align:right}.remove-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:all .2s ease;font-size:1.25rem;flex-shrink:0}.remove-button:hover{background-color:var(--color-error-bg);color:var(--color-error)}.upload-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.primary-button{padding:.875rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb4d}@media(max-width:768px){.upload-page{padding:1rem}.drop-zone{padding:3rem 1.5rem}.upload-icon{font-size:4rem}.drop-zone h3{font-size:1.25rem}.file-list{padding:1.5rem}.file-item{flex-direction:column;align-items:flex-start;gap:1rem}.file-status{width:100%;justify-content:flex-start;margin-right:0}.remove-button{position:absolute;top:1rem;right:1rem}.file-item{position:relative;padding-right:3rem}}.toast{position:fixed;top:2rem;right:2rem;min-width:300px;max-width:500px;padding:1rem 1.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;align-items:center;gap:1rem;z-index:9999;animation:slideIn .3s ease-out,fadeOut .3s ease-in 2.7s;cursor:pointer}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(400px)}}.toast-icon{font-size:1.5rem;font-weight:700;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981;background:#10b9811a}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444;background:#ef44441a}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6;background:#3b82f61a}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b;background:#f59e0b1a}.toast-message{flex:1;color:var(--text-primary);font-size:.95rem;line-height:1.4}.toast-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s;flex-shrink:0}.toast-close:hover{color:var(--text-primary)}@media(max-width:768px){.toast{right:1rem;left:1rem;min-width:auto}}.mapping-page{min-height:100vh;padding:2rem;background:var(--bg-primary)}.mapping-container{max-width:1400px;margin:0 auto}.mapping-header{text-align:center;margin-bottom:2rem}.mapping-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mapping-header p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.file-info{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem}.file-name{font-size:1rem;color:var(--text-primary)}.column-count{font-size:.9rem;color:var(--accent-color);font-weight:500}.mapping-content{display:grid;gap:2rem;margin-bottom:2rem}.mapped-section,.unmapped-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.mapped-section h2,.unmapped-section h2{font-size:1.3rem;margin-bottom:1.5rem;color:var(--text-primary)}.empty-state .hint{font-size:.9rem;margin-top:.5rem;opacity:.7}.mapping-list{display:flex;flex-direction:column;gap:1rem}.mapping-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:all .3s ease}.mapping-item:nth-child(2n){background:#00000005}[data-theme=dark] .mapping-item:nth-child(2n){background:#ffffff05}.mapping-item:hover{background:var(--bg-tertiary)!important;border-color:var(--border-color-hover)}.mapping-row{display:grid;grid-template-columns:1fr auto 1fr auto auto;align-items:center;gap:1rem}.source-column,.target-column{display:flex;flex-direction:column;gap:.5rem}.source-column label,.target-column label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.column-name{font-size:.95rem;color:var(--text-primary);font-weight:500;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px}.mapping-arrow{font-size:1.5rem;color:var(--accent-color);opacity:.5}.target-select,.target-select-small{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease}.target-select:hover,.target-select-small:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.target-select:focus,.target-select-small:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #667eea1a}.confidence-badge{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:60px}.confidence-indicator{font-size:.9rem;font-weight:600}.confidence-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.remove-mapping-button{padding:.5rem;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;cursor:pointer;transition:all .2s ease;font-size:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.remove-mapping-button:hover{background:#ef44441a;border-color:#ef4444}.unmapped-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.unmapped-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.unmapped-item .column-name{flex:1;font-size:.9rem;padding:.4rem .6rem}.unmapped-item .target-select-small{flex:1;font-size:.85rem}.mapping-actions{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-hint{font-size:.85rem;color:var(--text-secondary);opacity:.7}.error-state p{color:var(--text-secondary);margin:.5rem 0 1.5rem}@media(max-width:768px){.mapping-row{grid-template-columns:1fr;gap:1rem}.mapping-arrow{transform:rotate(90deg);justify-self:center}.confidence-badge{flex-direction:row;justify-content:center}.remove-mapping-button{justify-self:center}.unmapped-list{grid-template-columns:1fr}.mapping-actions{flex-direction:column}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:var(--text-primary)}.modal-input,.modal-textarea{width:100%;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .2s}.modal-input:focus,.modal-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #667eea1a}.modal-textarea{resize:vertical;min-height:80px}.form-info{padding:.75rem;background:var(--bg-tertiary);border-radius:6px;font-size:.9rem;color:var(--text-secondary)}.saved-configs-list{display:flex;flex-direction:column;gap:1rem}.saved-config-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.saved-config-item:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.config-info{flex:1}.config-name{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.config-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.config-meta{font-size:.75rem;color:var(--text-tertiary)}.modal-large{max-width:900px;max-height:85vh}.suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.suggestions-header p{color:var(--text-secondary);margin:0}.suggestions-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.suggestion-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:all .2s}.suggestion-item:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.suggestion-mapping{display:grid;grid-template-columns:2fr auto 2fr 100px 100px;gap:1rem;align-items:center;margin-bottom:.75rem}.suggestion-source,.suggestion-target{display:flex;flex-direction:column;gap:.25rem}.suggestion-source label,.suggestion-target label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.suggestion-confidence{display:flex;flex-direction:column;align-items:center;gap:.25rem}.suggestion-method{display:flex;justify-content:center}.method-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.method-exact{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.method-fuzzy{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.method-ai{background:#8b5cf61a;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.suggestion-reasoning{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-bottom:.75rem;font-size:.875rem;color:var(--text-secondary);font-style:italic}.suggestion-reasoning strong{color:var(--text-primary);font-style:normal;margin-right:.5rem}.suggestion-actions{display:flex;gap:.5rem;justify-content:flex-end}.accept-button{padding:.5rem 1rem;border:none;border-radius:6px;background:#10b981;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.accept-button:hover{background:#059669;transform:translateY(-1px)}.reject-button{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s}.reject-button:hover{background:var(--bg-tertiary);border-color:#ef4444;color:#ef4444}.smart-mapping-button{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;font-weight:600}.smart-mapping-button:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#663d8b)!important;transform:translateY(-2px)}.smart-mapping-button:disabled{opacity:.6;cursor:not-allowed}.edit-page{min-height:100vh;padding:2rem;background:var(--bg-primary)}.edit-container{max-width:1600px;margin:0 auto}.edit-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.edit-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.edit-header p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1rem}.file-badge{display:inline-block;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;color:var(--text-primary)}.record-count{font-size:.95rem;color:var(--text-secondary);white-space:nowrap;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.data-grid-wrapper{overflow-x:auto;overflow-y:auto;max-height:600px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);margin-bottom:2rem}.data-grid{width:100%;border-collapse:collapse;font-size:.9rem;min-width:max-content}.data-grid thead{position:sticky;top:0;background:var(--bg-secondary);z-index:10}.data-grid th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);white-space:nowrap}.data-grid .row-number-header{width:60px;text-align:center;background:var(--bg-tertiary)}.data-grid .action-header{width:120px;text-align:center;background:var(--bg-tertiary)}.data-grid tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s}.data-grid tbody tr:nth-child(2n){background:#00000005}[data-theme=dark] .data-grid tbody tr:nth-child(2n){background:#ffffff05}.data-grid tbody tr:hover{background:var(--bg-secondary)!important}.data-grid tbody tr:last-child{border-bottom:none}.data-grid td{padding:.75rem 1rem;color:var(--text-primary);cursor:pointer;position:relative}.data-grid .row-number{text-align:center;color:var(--text-tertiary);background:var(--bg-secondary);font-weight:500;cursor:default}.data-grid td.editing{padding:0;background:var(--bg-tertiary)}.cell-input{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:2px solid var(--accent-color);color:var(--text-primary);font-size:.9rem;font-family:inherit;outline:none}.data-grid td span{display:block;min-height:1.5em}.data-grid .action-cell{text-align:center;padding:.5rem;cursor:default}.delete-button,.restore-button{padding:.4rem .8rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.delete-button{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.delete-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #f5576c66}.restore-button{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.restore-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #4facfe66}.data-grid tbody tr.row-deleted{opacity:.5;background:#f5576c0d!important}[data-theme=dark] .data-grid tbody tr.row-deleted{background:#f5576c1a!important}.data-grid tbody tr.row-deleted td{text-decoration:line-through;color:var(--text-tertiary);cursor:not-allowed}.data-grid tbody tr.row-deleted .row-number{text-decoration:line-through}.data-grid tbody tr.row-deleted .action-cell{cursor:default}.edit-actions{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.error-icon{font-size:4rem}.error-state h2{color:var(--text-primary);margin:0}.error-state p{color:var(--text-secondary);margin:.5rem 0}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.primary-button,.secondary-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.secondary-button:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}@media(max-width:768px){.edit-header{flex-direction:column}.record-count{width:100%;text-align:center}.edit-actions{flex-direction:column}.data-grid th,.data-grid td{padding:.5rem;font-size:.85rem}}.export-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.export-dialog{background:var(--card-bg);border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #0000004d}.export-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.export-dialog-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-btn:hover{background:var(--hover-bg)}.export-dialog-content{padding:1.5rem}.export-option-group{margin-bottom:1.5rem}.export-option-group h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem;font-weight:600}.export-option{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.export-option input[type=checkbox],.export-option input[type=radio]{cursor:pointer;width:18px;height:18px}.export-option span{flex:1}.sort-options{display:flex;flex-direction:column;gap:1rem}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer}.form-group select:focus{outline:none;border-color:var(--primary-color)}.export-info{padding:1rem;background:var(--hover-bg);border-radius:4px;margin-top:1rem}.export-info p{margin:0;color:var(--text-secondary);font-size:.875rem}.export-dialog-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color)}.btn{padding:.625rem 1.25rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-secondary{background:var(--secondary-bg);color:var(--text-primary)}.btn-secondary:hover{background:var(--hover-bg)}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.history-page{min-height:100vh;padding:2rem;background:var(--bg-primary)}.history-container{max-width:1400px;margin:0 auto}.history-container h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.filters-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.5rem}.filters-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:.75rem}.filters-header:hover h3{color:var(--primary-color)}.filters-section h3{font-size:.875rem;font-weight:600;margin:0;color:var(--text-primary);transition:color .2s}.collapse-button{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.25rem .5rem;transition:color .2s}.collapse-button:hover{color:var(--primary-color)}.filter-row{display:flex;gap:0;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);align-items:stretch}.filter-row:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-row.admin-filters{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.filter-row.admin-filters .filter-group{border-right:none;padding-right:0}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:0 1.5rem;border-right:1px solid var(--border-color)}.filter-group:first-child{padding-left:0}.filter-group:last-child{border-right:none;padding-right:0}.filter-group.full-width{flex:1 1 100%;border-right:none;padding:0}.date-inputs{display:flex;align-items:center;gap:.375rem}.date-inputs input{flex:1;min-width:0;max-width:120px;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;height:32px}.date-inputs input:focus{outline:none;border-color:var(--primary-color)}.date-inputs span{color:var(--text-secondary);font-size:.6875rem;flex-shrink:0}@media(max-width:768px){.filter-row{flex-direction:column;gap:1rem}.filter-group{border-right:none;border-bottom:1px solid var(--border-color);padding:0 0 1rem}.filter-group:last-child{border-bottom:none;padding-bottom:0}.filter-row.admin-filters{grid-template-columns:1fr}}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.5rem 0}.checkbox-label{display:flex;align-items:center;gap:.375rem;font-weight:400;font-size:.8125rem;color:var(--text-primary);cursor:pointer;text-transform:uppercase}.checkbox-label input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--primary-color)}.multi-select{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;min-height:120px;max-height:150px}.multi-select option{padding:.375rem .5rem}.business-name-filter{padding:.5rem .625rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;width:100%;height:36px}.business-name-filter:focus{outline:none;border-color:var(--primary-color)}.filename-search{padding:.5rem .625rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;width:100%;height:36px}.filename-search:focus{outline:none;border-color:var(--primary-color)}.filename-dropdown{max-height:250px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);padding:.5rem;margin-top:.5rem}.filename-dropdown .checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;transition:background-color .2s}.filename-dropdown .checkbox-label:hover{background:var(--hover-bg)}.no-results{color:var(--text-secondary);text-align:center;padding:1rem;margin:0}.more-results{display:block;text-align:center;color:var(--text-secondary);padding:.5rem;font-style:italic}.advanced-filters-toggle{margin:1rem 0}.toggle-advanced-button{background:none;border:none;color:var(--primary-color);font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem;display:flex;align-items:center;gap:.5rem;transition:color .2s}.toggle-advanced-button:hover{color:var(--primary-hover);text-decoration:underline}.filter-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.results-summary{margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.results-summary p{color:var(--text-secondary);font-size:.95rem}.export-button{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-weight:500;cursor:pointer;transition:background-color .2s}.export-button:hover:not(:disabled){background:var(--primary-hover)}.export-button:disabled{opacity:.6;cursor:not-allowed}.uploads-list{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:2rem}.uploads-table{width:100%;border-collapse:collapse}.uploads-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.uploads-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;white-space:nowrap}.uploads-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.uploads-table tbody tr:nth-child(2n){background:#00000005}[data-theme=dark] .uploads-table tbody tr:nth-child(2n){background:#ffffff05}.uploads-table tbody tr:hover{background:var(--bg-secondary)!important}.file-type-badge,.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:500}.file-type-badge.csv{background:#e0f2fe;color:#0369a1}.file-type-badge.excel{background:#dcfce7;color:#15803d}.file-type-badge.pdf{background:#fee2e2;color:#b91c1c}.file-type-badge.jpeg{background:#fef3c7;color:#b45309}.status-badge.completed{background:var(--color-success-bg);color:var(--color-success)}.status-badge.pending{background:#fef3c7;color:#b45309}.status-badge.processing{background:#e0f2fe;color:#0369a1}.status-badge.failed{background:#fee2e2;color:#b91c1c}[data-theme=dark] .file-type-badge,[data-theme=dark] .status-badge{opacity:.9}.action-buttons{display:flex;gap:.5rem;align-items:center}.view-button{padding:.4rem .8rem;background:var(--primary);color:#fff!important;border:1px solid var(--primary);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.view-button:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);color:#fff!important}.view-button:disabled{opacity:.5;cursor:not-allowed}.delete-button{padding:.4rem .8rem;background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.delete-button:hover{background:#fca5a5;color:#7f1d1d}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination-button{padding:.5rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-secondary);font-size:.9rem}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;max-width:500px;width:90%;box-shadow:var(--shadow-xl)}.modal-content h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.modal-content p{color:var(--text-secondary);margin-bottom:1rem}.modal-content textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem;font-family:inherit;resize:vertical;margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.danger-button{padding:.75rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state p{font-size:1.1rem}.autocomplete-item.selected{background:#3b82f61a;color:var(--primary-color)}.autocomplete-item .checkmark{margin-left:.5rem;color:var(--primary-color);font-weight:700}.selected-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:16px;font-size:.875rem;font-weight:500}.chip-remove{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;margin-left:.25rem;transition:opacity .15s ease}.chip-remove:hover{opacity:.7}.user-filter-container{position:relative}.user-filter-input{padding:.5rem .625rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;width:100%;height:36px}.user-filter-input:focus{outline:none;border-color:var(--primary-color)}.profile-page{min-height:100vh;background:var(--bg-primary);padding:2rem}.profile-container{max-width:900px;margin:0 auto;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.profile-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.profile-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.profile-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.alert{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-size:.95rem}.alert-icon{font-size:1.25rem;font-weight:700}.profile-form{display:flex;flex-direction:column;gap:2rem}.form-section{padding:1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.section-description{font-size:.9rem;color:var(--text-secondary);margin:0 0 1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-top:1.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.required{color:var(--color-error);margin-left:.25rem}.form-input,.form-select{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--text-tertiary)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem}.form-select option{background-color:var(--bg-secondary);color:var(--text-primary);padding:.5rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color);margin-top:1rem}.btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;min-width:120px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);border-color:var(--text-tertiary)}@media(max-width:768px){.profile-page{padding:1rem}.profile-container{padding:1.5rem}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn{width:100%}}.profile-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color)}.tab-button{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.linked-users-content{display:flex;flex-direction:column;gap:2rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--text-secondary)}.invite-section{padding:1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.invite-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.invite-form .form-group{display:flex;flex-direction:row;gap:1rem}.email-input{flex:1;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem}.email-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.invite-hint{font-size:.875rem;color:var(--text-secondary);margin:0}.section{padding:1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.user-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.linked-user-card,.pending-invitation-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s}.linked-user-card:hover,.pending-invitation-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.user-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.user-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.user-email{font-size:.875rem;color:var(--text-secondary)}.user-company{font-size:.875rem;color:var(--text-tertiary)}.user-external-id{font-size:.875rem;color:var(--text-tertiary);font-family:monospace}.status-badge{padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.status-active{background:#22c55e1a;color:#22c55e}.status-badge.status-pending{background:#eab3081a;color:#eab308}.status-badge.status-rejected{background:#ef44441a;color:#ef4444}.linked-date{font-size:.8125rem;color:var(--text-tertiary)}.info-box{padding:1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.info-box h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.info-box ul{margin:0;padding-left:1.5rem;color:var(--text-secondary);line-height:1.6}.info-box li{margin-bottom:.5rem}@media(max-width:768px){.profile-tabs{flex-direction:row;overflow-x:auto}.tab-button{white-space:nowrap}.invite-form .form-group{flex-direction:column}.linked-user-card,.pending-invitation-card{flex-direction:column;align-items:flex-start;gap:1rem}.link-status{align-items:flex-start;width:100%}.invitation-actions{width:100%;justify-content:flex-start}}@media(max-width:480px){.profile-header h1{font-size:1.5rem}.form-section,.profile-page{padding:1rem}.profile-container{padding:1.5rem}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn{width:100%}}.user-links-management{padding:1.5rem}.header{margin-bottom:1.5rem}.header h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.header .description{color:var(--text-secondary);font-size:.9rem}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.alert .close-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7}.filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-weight:500;color:var(--text-primary);font-size:.9rem}.filter-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:.9rem;cursor:pointer}.results-count{color:var(--text-secondary);font-size:.9rem}.links-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color);margin-bottom:1rem}.links-table{width:100%;border-collapse:collapse;background:var(--card-bg)}.links-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.links-table th{padding:.75rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.links-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .15s ease}.links-table tbody tr:hover{background:var(--bg-secondary)}.links-table td{padding:.75rem;font-size:.9rem;color:var(--text-primary)}.user-cell{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:500;color:var(--text-primary)}.user-email{font-size:.8rem;color:var(--text-secondary)}.date-cell{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.small-text{font-size:.8rem;color:var(--text-secondary)}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-revoked{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.btn-revoke{padding:.375rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-revoke:hover{background:#dc2626;transform:translateY(-1px)}.revoked-info{display:flex;flex-direction:column;gap:.25rem}.revoke-comment{font-size:.75rem;color:var(--text-tertiary);font-style:italic;margin-top:.25rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.pagination-btn{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--primary-hover)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--text-secondary);font-size:.9rem}.loading{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:1.1rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--card-bg);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease}.modal-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.close-modal-btn{background:transparent;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;line-height:1;transition:color .2s ease}.close-modal-btn:hover{color:var(--text-primary)}.modal-body>p{color:var(--text-secondary);margin-bottom:1.5rem}.revoke-users{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem}.revoke-user{flex:1;display:flex;flex-direction:column;gap:.25rem}.revoke-user strong{color:var(--text-primary);font-size:1rem}.revoke-user span{color:var(--text-secondary);font-size:.85rem}.link-arrow{font-size:1.5rem;color:var(--text-tertiary)}.form-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.revoke-comment-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;background:var(--input-bg);color:var(--text-primary);font-family:inherit;resize:vertical}.revoke-comment-input:focus{outline:none;border-color:var(--primary-color)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border-color)}.btn-cancel{padding:.625rem 1.25rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-secondary)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-revoke{padding:.625rem 1.25rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-confirm-revoke:hover:not(:disabled){background:#dc2626}.btn-confirm-revoke:disabled{opacity:.5;cursor:not-allowed}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.user-links-management{padding:1rem}.filters{flex-direction:column;align-items:flex-start}.links-table{font-size:.85rem}.links-table th,.links-table td{padding:.5rem}.revoke-users{flex-direction:column}.link-arrow{transform:rotate(90deg)}}.confirm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--card-bg, #fff);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;width:90%;animation:slideIn .15s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-modal-header{padding:1.25rem 1.5rem 0}.confirm-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a2e)}.confirm-modal-body{padding:1rem 1.5rem}.confirm-modal-body p{margin:0;color:var(--text-secondary, #64748b);font-size:.938rem;line-height:1.5}.confirm-modal-footer{padding:1rem 1.5rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem}.confirm-modal-btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.confirm-modal-btn.cancel{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1a1a2e)}.confirm-modal-btn.cancel:hover{background:var(--border-color, #e2e8f0)}.confirm-modal-btn.confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.confirm-modal-btn.confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.confirm-modal-btn.confirm.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.confirm-modal-btn.confirm.danger:hover{box-shadow:0 4px 12px #ef444466}.confirm-modal-btn.confirm.success{background:linear-gradient(135deg,#10b981,#059669)}.confirm-modal-btn.confirm.success:hover{box-shadow:0 4px 12px #10b98166}.confirm-modal-btn:focus{outline:none;box-shadow:0 0 0 3px #667eea4d}.confirm-modal-btn.confirm.danger:focus{box-shadow:0 0 0 3px #ef44444d}.confirm-modal-btn.confirm.success:focus{box-shadow:0 0 0 3px #10b9814d}.manufacturers-management{padding:0}.filter-group select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;min-width:120px}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.type-badge.crop{background:#e0f2fe;color:#0369a1}.type-badge.seed{background:#fef3c7;color:#92400e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.products-management{padding:0}.section-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.header-actions{display:flex;gap:.75rem}.filters-section{background:var(--bg-secondary);border-radius:8px;padding:1rem;margin-bottom:1rem}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.search-box{display:flex;gap:.5rem;flex:1;min-width:300px}.search-box input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;color:var(--text-secondary)}.filter-group select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;min-width:150px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:var(--text-secondary);font-size:.875rem}.table-container{background:var(--bg-primary);border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background:var(--bg-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-secondary)}.data-table td{font-size:.875rem}.data-table code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-size:.8125rem}.text-right{text-align:right!important}.category-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.category-badge.category-herbicide{background:#dcfce7;color:#166534}.category-badge.category-fungicide{background:#dbeafe;color:#1e40af}.category-badge.category-insecticide{background:#fef3c7;color:#92400e}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.action-buttons button.small{padding:.25rem .5rem;font-size:.75rem}.loading-state,.empty-state{padding:3rem;text-align:center;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.page-info{color:var(--text-secondary);font-size:.875rem}.modal-content{background:var(--bg-primary);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content.modal-wide{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.25rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;box-sizing:border-box}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .full-width{grid-column:1 / -1}.import-instructions{background:var(--bg-secondary);padding:1rem;border-radius:4px;margin-bottom:1rem}.import-instructions h3{margin:0 0 .5rem;font-size:.875rem}.import-instructions p{margin:0 0 .5rem;font-size:.8125rem;color:var(--text-secondary)}.import-instructions ol{margin:0;padding-left:1.25rem;font-size:.8125rem}.import-instructions li{margin-bottom:.25rem}.file-upload{padding:1rem;border:2px dashed var(--border-color);border-radius:4px;text-align:center}.file-upload input{margin:0 auto}.import-result{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:4px}.import-result .success{color:#166534;margin:0 0 .5rem}.import-result .error{color:#991b1b;margin:0 0 .5rem}.error-list{max-height:150px;overflow-y:auto;font-size:.75rem}.error-item{padding:.25rem 0;color:var(--text-secondary)}.primary-button{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500}.primary-button:hover{opacity:.9}.secondary-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.secondary-button:hover{background:var(--border-color)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.danger-button{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.danger-button:hover{background:#b91c1c}.admin-dashboard{min-height:100vh;padding:2rem;background:var(--bg-primary)}.admin-container{max-width:1600px;margin:0 auto}.admin-container h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.subtitle{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color)}.tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.tab-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem}.tab-content h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.stat-card{display:flex;align-items:center;gap:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.stat-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-top:.25rem}.stat-detail{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-actions{display:flex;gap:.75rem}.btn-secondary{padding:.625rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--primary-color);color:var(--primary-color)}.users-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary)}.users-table{width:100%;border-collapse:collapse;min-width:900px}.users-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.users-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;white-space:nowrap}.users-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.users-table tbody tr:nth-child(2n){background:#00000005}[data-theme=dark] .users-table tbody tr:nth-child(2n){background:#ffffff05}.users-table tbody tr:hover{background:var(--bg-secondary)!important}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:500}.status-badge.active{background:var(--color-success-bg);color:var(--color-success)}.status-badge.inactive{background:#fee2e2;color:#b91c1c}.status-badge.approved{background:var(--color-success-bg);color:var(--color-success)}.status-badge.pending{background:#fef3c7;color:#d97706}[data-theme=dark] .status-badge.pending{background:#d9770633;color:#fbbf24}[data-theme=dark] .status-badge{opacity:.9}.action-buttons{display:flex;gap:.5rem}.btn-action{padding:.375rem;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all .2s;line-height:1}.btn-action:hover{background:var(--bg-secondary);transform:scale(1.1)}.loading-state{text-align:center;padding:4rem 2rem}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.loading-state p{color:var(--text-secondary);font-size:1.125rem}.activity-section{margin-top:2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #0000000d}.activity-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--card-bg) 100%);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .2s ease}.activity-header:hover{background:var(--bg-secondary)}.activity-header-left{display:flex;align-items:center;gap:1rem}.activity-header-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-color);border-radius:10px;box-shadow:0 4px 12px #4f46e533}.activity-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.activity-count{padding:.25rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;font-size:.875rem;color:var(--text-secondary);font-weight:500}.collapse-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s ease}.collapse-button:hover{background:var(--bg-primary);color:var(--primary-color)}.activity-list{max-height:600px;overflow-y:auto;padding:.5rem}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;margin-bottom:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease}.activity-item:hover{background:var(--bg-secondary);border-color:var(--primary-color);transform:translate(4px);box-shadow:0 4px 12px #00000014}.activity-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,#6366f1 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #4f46e533}.activity-content{flex:1;min-width:0}.activity-header-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem}.activity-user{font-weight:600;color:var(--text-primary);font-size:1rem}.activity-badge{padding:.25rem .625rem;background:var(--color-success-bg);color:var(--color-success);border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.activity-action{color:var(--text-secondary);font-size:.9rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-time{color:var(--text-tertiary);font-size:.8rem;display:flex;align-items:center;gap:.25rem}.activity-status{flex-shrink:0}.success-icon{color:var(--color-success)}.empty-state{padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.empty-state svg{color:var(--text-tertiary);opacity:.5;margin-bottom:1rem}.empty-state p{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem}.empty-state-subtitle{font-size:.875rem;color:var(--text-secondary);display:block}@media(max-width:768px){.admin-dashboard{padding:1rem}.stats-grid{grid-template-columns:1fr}.tabs{overflow-x:auto}.tab{white-space:nowrap}.activity-item{flex-direction:column;align-items:flex-start}.activity-header-info{flex-wrap:wrap}.chart-bar-group{flex-direction:row;gap:1rem}}.chart-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;margin-bottom:2rem}.chart-section h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.activity-chart{display:flex;flex-direction:column;gap:1rem}.chart-bar-group{display:flex;align-items:flex-end;justify-content:space-around;gap:2rem;min-height:300px;padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.chart-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.chart-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-align:center}.chart-bar-wrapper{width:100%;height:250px;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:100%;max-width:80px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem;transition:all .3s ease;cursor:pointer;position:relative;min-height:40px}.chart-bar:hover{opacity:.8;transform:scale(1.05)}.chart-bar.today{background:linear-gradient(180deg,#3b82f6,#2563eb)}.chart-bar.week{background:linear-gradient(180deg,#8b5cf6,#7c3aed)}.chart-bar.month{background:linear-gradient(180deg,#10b981,#059669)}.chart-bar.total{background:linear-gradient(180deg,#f59e0b,#d97706)}.chart-value{color:#fff;font-weight:700;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.chart-footer{text-align:center;padding:.5rem}.chart-footer p{color:var(--text-secondary);font-size:.875rem;margin:0}.success-button{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.success-button:hover{background:#059669}.stat-card.pending-approval{border-color:#f59e0b;background:linear-gradient(135deg,#f59e0b1a,#d977060d)}.stat-card.pending-approval .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.reconciliation-page{max-width:100%;margin:0 auto;padding:2rem}.tabs-container{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color)}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:-2px}.tab-button:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--primary-color);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.page-header h1{margin:0 0 .5rem;color:var(--text-primary)}.page-header p{margin:0;color:var(--text-secondary)}.filters-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.filters-header h2{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.filter-actions{display:flex;gap:.5rem}.filter-actions button{padding:.375rem .75rem;font-size:.75rem}.collapse-btn{margin-left:.5rem;padding:.25rem .5rem;background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;transition:all .2s ease}.collapse-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filters-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end;margin-bottom:.75rem}.filters-row.advanced{padding-top:.75rem;border-top:1px solid var(--border-color)}.filters-row.two-column{display:grid!important;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;flex-wrap:unset}.filters-row.two-column .filter-group.wide{min-width:unset;flex:unset}.filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:140px}.filter-group.wide{flex:1 1 calc(50% - .75rem);min-width:280px}.filter-group.search-field{min-width:320px}.filter-group.full-width{width:100%;flex:none}.advanced-filters-toggle{margin:.5rem 0}.toggle-advanced-btn{background:none;border:none;color:var(--primary-color);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem 0;display:flex;align-items:center;gap:.375rem}.toggle-advanced-btn:hover{text-decoration:underline}.selected-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.375rem}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--primary-color);color:#fff;border-radius:12px;font-size:.75rem}.chip-remove{background:none;border:none;color:#fff;cursor:pointer;padding:0;font-size:.875rem;line-height:1;opacity:.8}.chip-remove:hover{opacity:1}.filter-group label{font-weight:500;color:var(--text-secondary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em}.filter-group input,.filter-group select{padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;height:32px;width:100%;box-sizing:border-box}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary-color)}.date-range{display:flex;align-items:center;gap:.375rem}.date-range input{flex:1;min-width:0;max-width:120px}.date-range span{color:var(--text-secondary);font-size:.6875rem;flex-shrink:0}.filter-chips{display:flex;flex-wrap:wrap;gap:.375rem;max-height:80px;overflow-y:auto;padding:.375rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.filter-chip{padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:.6875rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-chip:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.filter-chip.active{background:var(--primary-color);color:#fff!important;border-color:var(--primary-color);font-weight:500}@media(max-width:768px){.filters-row{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}}[data-theme=light] .filter-chip.active{background:#06c;color:#fff!important;border-color:#06c}.product-search{margin-bottom:.5rem}.selected-count{font-size:.875rem;color:var(--text-secondary);font-style:italic}.no-results{color:var(--text-secondary);font-size:.875rem;padding:.5rem}.no-data-message{color:var(--text-secondary);font-size:.875rem;font-style:italic;padding:.5rem 0;display:block}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.results-actions{display:flex;gap:1rem;align-items:center}.results-info{display:flex;flex-direction:column;gap:.25rem}.results-info h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.results-range{font-size:.875rem;color:var(--text-secondary)}.table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow-x:auto;margin-bottom:1.5rem}.data-table{width:100%;min-width:1400px;border-collapse:collapse}.data-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.data-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;position:relative}.data-table th:hover{background:var(--bg-hover)}.data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.text-right{text-align:right}.loading-state,.empty-state{padding:4rem 2rem;text-align:center}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p,.empty-state p{margin:0;font-size:1.125rem;color:var(--text-primary)}.empty-state span{display:block;margin-top:.5rem;color:var(--text-secondary);font-size:.875rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem}.page-info{font-size:.875rem;color:var(--text-secondary)}@media(max-width:768px){.reconciliation-page{padding:1rem}.filters-grid{grid-template-columns:1fr}.filters-header{flex-direction:column;align-items:stretch;gap:1rem}.filter-actions{width:100%}.filter-actions button{flex:1}.results-header{flex-direction:column;align-items:stretch;gap:1rem}.table-container{overflow-x:auto}.data-table{min-width:800px}}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.reconciled{background:#10b981;color:#fff}.status-badge.pending{background:#f59e0b;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-primary)}.close-button{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.close-button:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.875rem}.form-group label:after{content:attr(data-required)}label:has(+input):not(:empty):after{color:#dc2626;margin-left:.125rem}.form-group input,.form-group select{padding:.625rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color)}.danger-button{padding:.625rem 1.25rem;border:1px solid #dc2626;border-radius:4px;background:#dc2626;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.danger-button:hover{background:#b91c1c;border-color:#b91c1c}.danger-button:disabled{opacity:.5;cursor:not-allowed}.editable-cell{cursor:pointer;padding:.25rem;display:block;border-radius:2px;transition:background .15s ease;position:relative}.editable-cell:hover:after{content:"✏️";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:.75rem;opacity:.5}.editable-cell:hover{background:var(--bg-hover)}.editing-input{width:100%;padding:.25rem;border:2px solid var(--primary-color);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);fontSize:.875rem;box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.editing-input:focus{outline:none}.column-toggle-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:250px;z-index:1000}.column-toggle-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.close-dropdown{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.close-dropdown:hover{color:var(--text-primary)}.column-toggle-actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.toggle-all-btn{flex:1;padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .2s ease}.toggle-all-btn:hover{background:var(--bg-hover);border-color:var(--primary-color)}.column-toggle-list{max-height:300px;overflow-y:auto;padding:.5rem}.column-toggle-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background .15s ease}.column-toggle-item:hover{background:var(--bg-hover)}.column-toggle-item input[type=checkbox]{cursor:pointer;width:16px;height:16px}.column-toggle-item span{color:var(--text-primary);font-size:.875rem;-webkit-user-select:none;user-select:none}.filter-group{position:relative}.autocomplete-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 6px #0000001a;max-height:200px;overflow-y:auto;z-index:1000}.autocomplete-item{padding:.5rem .75rem;cursor:pointer;transition:background .15s ease;color:var(--text-primary);font-size:.875rem}.autocomplete-item:hover{background:var(--bg-hover)}.autocomplete-dropdown .more-results{display:block;padding:.5rem .75rem;color:var(--text-secondary);font-size:.75rem;font-style:italic;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.view-toggle{display:flex;gap:.25rem;background:var(--bg-tertiary);padding:.25rem;border-radius:6px}.view-toggle-btn{padding:.5rem 1rem;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn.active{background:var(--bg-primary);color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.product-view-table{width:100%;border-collapse:collapse}.product-view-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.product-view-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.product-view-table th.sortable:hover{background:var(--bg-hover)}.product-view-table th.text-right,.product-view-table td.text-right{text-align:right}.product-view-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.8125rem}.product-view-table tbody tr:hover{background:var(--bg-hover)}.product-view-table tbody tr.clickable{cursor:pointer}.product-view-table tbody tr.clickable:hover{background:rgba(var(--primary-color-rgb),.1)}.product-row-reconcile-btn{padding:.25rem .5rem;border:1px solid var(--primary);border-radius:4px;background:transparent;color:var(--primary);font-size:.75rem;cursor:pointer;transition:all .2s ease;opacity:0}.product-view-table tbody tr:hover .product-row-reconcile-btn{opacity:1}.product-row-reconcile-btn:hover{background:var(--primary);color:#fff}.quantity-cell{font-variant-numeric:tabular-nums;font-weight:500}.total-row{background:var(--bg-tertiary);font-weight:600}.total-row td{border-bottom:none}.confirm-modal-content{text-align:center;padding:1rem}.confirm-modal-content h3{margin:0 0 1rem;color:var(--text-primary)}.confirm-modal-content p{margin:0 0 1.5rem;color:var(--text-secondary)}.confirm-modal-actions{display:flex;justify-content:center;gap:1rem}.failure-reason{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--error-color, #dc3545);font-size:.8125rem}.primary-button{background:var(--primary)!important;color:#fff!important;border:1px solid var(--primary)!important;font-weight:500}.primary-button:hover:not(:disabled){background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.secondary-button{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.secondary-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.action-icons{display:flex;gap:.375rem;align-items:center}.action-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);cursor:pointer;transition:all .2s ease;font-size:1rem}.action-icon-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary);transform:scale(1.05)}.action-icon-btn:disabled{opacity:.5;cursor:not-allowed}.action-icon-btn.primary{background:var(--primary);border-color:var(--primary)}.action-icon-btn.primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.action-icon-btn.danger:hover:not(:disabled){background:#ef44441a;border-color:var(--error)}.linked-users-page{padding:2rem;max-width:1200px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.page-description{color:var(--text-secondary);font-size:.95rem}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.alert-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.alert .close-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7;padding:0;margin-left:1rem}.alert .close-btn:hover{opacity:1}.invite-section{background:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:2rem;border:1px solid var(--border-color)}.invite-section h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.invite-form{display:flex;flex-direction:column;gap:.75rem}.form-group{display:flex;gap:.75rem}.email-input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s ease}.email-input:focus{outline:none;border-color:var(--primary-color)}.email-input:disabled{opacity:.6;cursor:not-allowed}.btn-invite{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-invite:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-invite:disabled{opacity:.6;cursor:not-allowed}.invite-hint{color:var(--text-secondary);font-size:.875rem;margin:0}.section{background:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid var(--border-color)}.section h2{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.section-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.user-list{display:flex;flex-direction:column;gap:1rem}.linked-user-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.linked-user-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.user-info{flex:1}.user-name{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:.25rem}.user-email{color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem}.user-company{color:var(--text-secondary);font-size:.875rem;font-weight:500}.user-external-id{color:var(--text-tertiary);font-size:.8rem;margin-top:.25rem}.link-status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.status-badge{padding:.375rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-pending{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.status-rejected{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.linked-date{color:var(--text-tertiary);font-size:.75rem}.pending-invitation-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fbbf240d;border:1px solid rgba(251,191,36,.3);border-radius:8px;transition:all .2s ease}.pending-invitation-card:hover{border-color:#fbbf2480;box-shadow:0 2px 8px #fbbf241a}.invitation-actions{display:flex;gap:.75rem}.btn-accept,.btn-reject{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-accept{background:#22c55e;color:#fff}.btn-accept:hover{background:#16a34a;transform:translateY(-1px)}.btn-reject{background:transparent;color:#ef4444;border:1px solid #ef4444}.btn-reject:hover{background:#ef44441a}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state p{margin:.5rem 0}.info-box{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);margin-top:2rem}.info-box h3{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.info-box ul{list-style:none;padding:0;margin:0}.info-box li{color:var(--text-secondary);font-size:.9rem;position:relative;padding:.5rem 0 .5rem 1.5rem}.info-box li:before{content:"•";position:absolute;left:.5rem;color:var(--primary-color);font-weight:700}.loading{text-align:center;padding:4rem 1rem;color:var(--text-secondary);font-size:1.1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.linked-users-page{padding:1rem}.linked-user-card,.pending-invitation-card{flex-direction:column;align-items:flex-start;gap:1rem}.link-status,.invitation-actions{align-self:stretch;flex-direction:row;justify-content:space-between}.form-group{flex-direction:column}.btn-invite{width:100%}}#root{min-height:100vh;background-color:var(--bg-primary)}.page-container{min-height:calc(100vh - 64px);padding:2rem;max-width:1600px;margin:0 auto}.card{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem;box-shadow:var(--shadow-md)}.card:hover{box-shadow:var(--shadow-lg);transition:box-shadow .2s}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.875rem}.form-input{width:100%;padding:.75rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.938rem;transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.form-error{color:var(--error);font-size:.813rem;margin-top:.5rem}.btn{padding:.75rem 1.5rem;border-radius:6px;font-weight:600;font-size:.938rem;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary)}.text-center{text-align:center}.text-muted{color:var(--text-secondary)}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
