:root,[data-theme=light]{--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #e0e0e0;--color-text-primary: #213547;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-border: #e0e0e0;--color-border-hover: #cccccc;--color-accent: #0066FF;--color-accent-hover: #0052CC;--color-accent-light: #e6f2ff;--color-success: #27ae60;--color-error: #e74c3c;--color-warning: #f39c12;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}[data-theme=dark]{--color-bg-primary: #1a1a1a;--color-bg-secondary: #2d2d2d;--color-bg-tertiary: #404040;--color-text-primary: #ffffff;--color-text-secondary: #b0b0b0;--color-text-tertiary: #808080;--color-border: #404040;--color-border-hover: #555555;--color-accent: #4dabf7;--color-accent-hover: #339af0;--color-accent-light: #1e3a5f;--color-success: #51cf66;--color-error: #ff6b6b;--color-warning: #ffd43b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}*,*:before,*:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}svg,img,iframe,video{transition:none}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary)}h1{font-size:3.2em;line-height:1.1}#root{margin:0;padding:0;width:100%;min-height:100vh}.input-basari-container{display:flex;flex-direction:column;gap:8px}.input-basari-label{display:block;font-size:clamp(12px,2.5vw,14px);font-weight:600;color:var(--color-text-primary)}.input-basari-required{color:#ef4444;margin-left:4px}.input-basari-wrapper{position:relative}.input-basari-field{width:100%;padding:clamp(10px,2.5vw,12px) clamp(14px,3vw,16px);border:2px solid var(--color-border);border-radius:clamp(10px,2vw,12px);font-size:clamp(14px,3vw,16px);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:all .2s ease-in-out;font-family:inherit}.input-basari-field.input-with-icon{padding-right:clamp(32px,7vw,36px)}.input-basari-field::placeholder{color:var(--color-text-tertiary)}.input-basari-field:not(:disabled):not(.input-error):hover{border-color:var(--color-border-hover)}.input-basari-field:not(:disabled):not(.input-error):focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-light)}.input-basari-field.input-error{border-color:#f87171;background-color:#fef2f2}.input-basari-field.input-error:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.input-basari-field:disabled{background-color:var(--color-bg-secondary);border-color:var(--color-border);cursor:not-allowed;color:var(--color-text-tertiary)}.input-basari-error{display:flex;align-items:center;gap:4px;color:#ef4444;font-size:clamp(12px,2.5vw,14px);font-weight:500}.input-basari-error-icon{color:#ef4444}.input-password-toggle{position:absolute;right:clamp(8px,2vw,10px);top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;border-radius:4px;z-index:1}.input-password-toggle:hover{color:#06f;background-color:#0066ff14}.input-password-toggle:active{transform:translateY(-50%) scale(.95)}.input-password-toggle:focus{outline:none;box-shadow:0 0 0 3px #06f3}.input-eye-icon{width:clamp(16px,3.5vw,18px);height:clamp(16px,3.5vw,18px);stroke-width:2.5}.input-password-toggle svg{transition:opacity .15s ease-in-out}@media(max-width:640px){.input-password-toggle{padding:8px}.input-eye-icon{width:20px;height:20px}}.btn-basari{width:100%;padding:clamp(10px,2.5vw,12px) clamp(20px,5vw,24px);border-radius:clamp(10px,2vw,12px);font-weight:600;font-size:clamp(14px,3vw,16px);color:#fff;border:none;cursor:pointer;transition:all .2s ease-in-out;font-family:inherit}.btn-basari:not(:disabled){background:linear-gradient(135deg,#06f,#0052cc);box-shadow:0 2px 8px #06f3}.btn-basari:not(:disabled):hover{background:linear-gradient(135deg,#0052cc,#003d99);box-shadow:0 4px 16px #0066ff4d;transform:translateY(-1px)}.btn-basari:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 8px #06f3}.btn-basari:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none}.btn-basari:focus{outline:none;box-shadow:0 0 0 4px #06f3}.btn-basari-secondary:not(:disabled){background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 2px 8px #6b728033}.btn-basari-secondary:not(:disabled):hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 16px #6b72804d;transform:translateY(-1px)}.btn-basari-secondary:focus{outline:none;box-shadow:0 0 0 4px #6b728033}.btn-basari-danger:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 8px #dc262633}.btn-basari-danger:not(:disabled):hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 4px 16px #dc26264d;transform:translateY(-1px)}.btn-basari-danger:focus{outline:none;box-shadow:0 0 0 4px #dc262633}.link-basari{color:#06f;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;display:inline}.link-basari:hover{color:#0052cc;text-decoration:underline;text-underline-offset:2px}.link-basari:active{color:#003d99}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--blue-light: #E0EFFF;--blue-lighter: #F0F7FF;--background-light: #FFFFFF;--error-red: #DC2626;--error-bg: #FEE2E2}.login-container{display:flex;min-height:100vh;background-color:var(--background-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-brand-panel{display:none;width:50%;background:linear-gradient(135deg,#003366d9,#001a4de6,#000033f2),url(/assets/distum_edificio-CENifRQC.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}@media(min-width:768px)and (max-width:1023px){.login-brand-panel{display:flex;align-items:center;justify-content:center;width:40%}}@media(min-width:1024px){.login-brand-panel{display:flex;align-items:center;justify-content:center}}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,32px)}@media(min-width:768px)and (max-width:1023px){.login-form-panel{padding:24px}}@media(min-width:1024px){.login-form-panel{padding:32px}}.login-form-wrapper{width:100%;max-width:clamp(320px,90vw,450px)}.login-mobile-logo{text-align:center;margin-bottom:clamp(24px,6vw,32px)}@media(min-width:768px){.login-mobile-logo{display:none}}.login-card{background-color:var(--white);border-radius:clamp(12px,2vw,16px);box-shadow:0 10px 40px #00000014,0 2px 8px #0000000a;padding:clamp(24px,6vw,48px);animation:slideUp .6s ease-out}.login-header{margin-bottom:32px}.login-title{font-size:32px;font-weight:700;color:var(--gray-800);margin-bottom:8px}.login-description{font-size:16px;color:var(--gray-500)}.login-form{display:flex;flex-direction:column;gap:20px}.login-error-message{background-color:var(--error-bg);color:var(--error-red);padding:12px 16px;border-radius:8px;border-left:4px solid var(--error-red);font-size:14px;font-weight:500;animation:slideDown .3s ease-out}.login-forgot-password{display:flex;justify-content:flex-end;margin-top:-8px}.login-submit-button{margin-top:8px}.login-divider{position:relative;padding:24px 0}.login-divider-line{position:absolute;inset:0;display:flex;align-items:center}.login-divider-border{width:100%;border-top:1px solid var(--gray-200)}.login-divider-content{position:relative;display:flex;justify-content:center;font-size:14px}.login-divider-text{padding:0 16px;background-color:var(--white);color:var(--gray-500)}.login-register-section{text-align:center;font-size:15px}.login-register-text{color:var(--gray-600)}.login-footer{text-align:center;font-size:14px;color:var(--gray-500);margin-top:24px}.login-card:hover{box-shadow:0 15px 50px #0000001a,0 4px 12px #0000000f;transition:box-shadow .3s ease}.login-card .input-basari-label{color:var(--gray-700)}.login-card .input-basari-field{background-color:var(--white);color:var(--gray-800);border:2px solid var(--gray-200)}.login-card .input-basari-field::placeholder{color:var(--gray-400)}.login-card .input-basari-field:not(:disabled):not(.input-error):hover{border-color:var(--gray-300)}.login-card .input-basari-field:not(:disabled):not(.input-error):focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 4px #0066ff1a}.login-card .input-basari-field:disabled{background-color:var(--gray-100);border-color:var(--gray-200);color:var(--gray-400)}.login-card .input-basari-field.input-error{border-color:#f87171;background-color:#fef2f2}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--blue-light: #E0EFFF;--blue-lighter: #F0F7FF;--background-light: #FFFFFF}.register-container{display:flex;min-height:100vh;background-color:var(--background-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.register-brand-panel{display:none;width:50%;background:linear-gradient(135deg,#003366d9,#001a4de6,#000033f2),url(/assets/distum_edificio-CENifRQC.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}@media(min-width:768px)and (max-width:1023px){.register-brand-panel{display:flex;align-items:center;justify-content:center;width:40%}}@media(min-width:1024px){.register-brand-panel{display:flex;align-items:center;justify-content:center}}.register-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,32px)}@media(min-width:768px)and (max-width:1023px){.register-form-panel{padding:24px}}@media(min-width:1024px){.register-form-panel{padding:32px}}.register-form-wrapper{width:100%;max-width:clamp(320px,90vw,500px)}.register-mobile-logo{text-align:center;margin-bottom:clamp(24px,6vw,32px)}@media(min-width:768px){.register-mobile-logo{display:none}}.register-card{background-color:var(--white);border-radius:clamp(12px,2vw,16px);box-shadow:0 10px 40px #00000014,0 2px 8px #0000000a;padding:clamp(24px,6vw,48px);animation:slideUp .6s ease-out}.register-header{margin-bottom:clamp(24px,6vw,32px)}.register-title{font-size:clamp(24px,4vw,32px);font-weight:700;color:var(--gray-800);margin-bottom:8px}.register-description{font-size:clamp(14px,2vw,16px);color:var(--gray-500)}.register-form{display:flex;flex-direction:column;gap:20px}.register-form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,3vw,16px)}@media(max-width:640px){.register-form-row{grid-template-columns:1fr;gap:20px}}@media(min-width:641px)and (max-width:768px){.register-form-row{gap:14px}}.register-submit-button{margin-top:8px}.register-divider{position:relative;padding:24px 0}.register-divider-line{position:absolute;inset:0;display:flex;align-items:center}.register-divider-border{width:100%;border-top:1px solid var(--gray-200)}.register-divider-content{position:relative;display:flex;justify-content:center;font-size:14px}.register-divider-text{padding:0 16px;background-color:var(--white);color:var(--gray-500)}.register-external-auth{margin-bottom:24px}.register-auth-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.register-auth-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid var(--gray-200);border-radius:12px;background-color:var(--white);color:var(--gray-700);font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease-in-out}.register-auth-btn:hover{border-color:var(--gray-300);background-color:var(--gray-50);transform:translateY(-1px)}.register-auth-btn:active{transform:translateY(0)}.register-auth-icon{font-size:16px}.register-login-section{text-align:center;font-size:15px}.register-login-text{color:var(--gray-600)}.register-footer{text-align:center;font-size:14px;color:var(--gray-500);margin-top:24px}.register-card .input-basari-label{color:var(--gray-700)}.register-card .input-basari-field{background-color:var(--white);color:var(--gray-800);border:2px solid var(--gray-200)}.register-card .input-basari-field::placeholder{color:var(--gray-400)}.register-card .input-basari-field:not(:disabled):not(.input-error):hover{border-color:var(--gray-300)}.register-card .input-basari-field:not(:disabled):not(.input-error):focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 4px #0066ff1a}.register-card .input-basari-field:disabled{background-color:var(--gray-100);border-color:var(--gray-200);color:var(--gray-400)}.register-card .input-basari-field.input-error{border-color:#f87171;background-color:#fef2f2}.register-card:hover{box-shadow:0 15px 50px #0000001a,0 4px 12px #0000000f;transition:box-shadow .3s ease}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--success-green: #10B981;--background-light: #FFFFFF}.forgot-container{display:flex;min-height:100vh;background-color:var(--background-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.forgot-brand-panel{display:none;width:50%;background:linear-gradient(135deg,#003366d9,#001a4de6,#000033f2),url(/assets/distum_edificio-CENifRQC.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}@media(min-width:768px)and (max-width:1023px){.forgot-brand-panel{display:flex;align-items:center;justify-content:center;width:40%}}@media(min-width:1024px){.forgot-brand-panel{display:flex;align-items:center;justify-content:center}}.forgot-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,32px)}@media(min-width:768px)and (max-width:1023px){.forgot-form-panel{padding:24px}}@media(min-width:1024px){.forgot-form-panel{padding:32px}}.forgot-form-wrapper{width:100%;max-width:clamp(320px,90vw,450px)}.forgot-mobile-logo{text-align:center;margin-bottom:clamp(24px,6vw,32px)}@media(min-width:768px){.forgot-mobile-logo{display:none}}.forgot-card{background-color:var(--white);border-radius:clamp(12px,2vw,16px);box-shadow:0 10px 40px #00000014,0 2px 8px #0000000a;padding:clamp(24px,6vw,48px);animation:slideUp .6s ease-out}.forgot-header{margin-bottom:32px;text-align:center}.forgot-title{font-size:clamp(24px,4vw,32px);font-weight:700;color:var(--gray-800);margin-bottom:12px}.forgot-description{font-size:clamp(14px,2vw,16px);color:var(--gray-500);line-height:1.5}.forgot-form{display:flex;flex-direction:column;gap:20px}.forgot-submit-button{margin-top:8px}.forgot-back-section{text-align:center;font-size:15px;margin-top:24px;padding-top:24px;border-top:1px solid var(--gray-200)}.forgot-back-text{color:var(--gray-600)}.forgot-success{text-align:center}.forgot-success-icon{width:clamp(80px,15vw,96px);height:clamp(80px,15vw,96px);margin:0 auto 24px;background:linear-gradient(135deg,#10b9811a,#10b98126);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--success-green);animation:pulse 2s ease-in-out infinite}.forgot-success-icon svg{width:clamp(40px,8vw,48px);height:clamp(40px,8vw,48px)}.forgot-success-title{font-size:clamp(24px,4vw,28px);font-weight:700;color:var(--gray-800);margin-bottom:12px}.forgot-success-description{font-size:clamp(14px,2vw,16px);color:var(--gray-600);margin-bottom:16px}.forgot-success-email{font-size:clamp(16px,3vw,18px);font-weight:600;color:var(--primary-blue);margin-bottom:24px;word-break:break-word}.forgot-success-info{background-color:var(--gray-50);border-radius:12px;padding:20px;margin-bottom:32px}.forgot-success-info-text{font-size:clamp(13px,2vw,14px);color:var(--gray-600);line-height:1.6;margin:0}.forgot-success-button{margin-top:24px}.forgot-footer{text-align:center;font-size:14px;color:var(--gray-500);margin-top:24px}.forgot-card:hover{box-shadow:0 15px 50px #0000001a,0 4px 12px #0000000f;transition:box-shadow .3s ease}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--success-green: #10B981;--warning-yellow: #F59E0B;--info-blue: #3B82F6;--background-light: #FFFFFF}.waiting-container{display:flex;min-height:100vh;background-color:var(--background-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.waiting-brand-panel{display:none;width:50%;background:linear-gradient(135deg,#003366d9,#001a4de6,#000033f2),url(/assets/distum_edificio-CENifRQC.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}@media(min-width:768px)and (max-width:1023px){.waiting-brand-panel{display:flex;align-items:center;justify-content:center;width:40%}}@media(min-width:1024px){.waiting-brand-panel{display:flex;align-items:center;justify-content:center}}.brand-decoration{position:absolute;inset:0;opacity:.15;pointer-events:none}.brand-decoration-circle-1{position:absolute;top:80px;left:80px;width:300px;height:300px;background-color:#ffffff4d;border-radius:50%;filter:blur(80px)}.brand-decoration-circle-2{position:absolute;bottom:80px;right:80px;width:400px;height:400px;background-color:#fff3;border-radius:50%;filter:blur(100px)}.brand-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;color:var(--white);padding:0 48px;text-align:center;animation:fadeIn .8s ease-out}.brand-logo{width:96px;height:96px;margin:0 auto 32px;background-color:#fff3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px #0006;border:1px solid rgba(255,255,255,.3)}.brand-logo-img{width:100%;height:100%;object-fit:contain;filter:brightness(1.1) contrast(1.1)}.brand-title{font-size:clamp(32px,5vw,48px);font-weight:700;letter-spacing:-.02em;margin-bottom:16px;color:var(--white);text-shadow:0 2px 8px rgba(0,0,0,.3)}.brand-subtitle{font-size:clamp(16px,2.5vw,20px);color:#ffffffe6;max-width:450px;margin-bottom:32px;text-shadow:0 1px 4px rgba(0,0,0,.3)}.brand-features{display:flex;flex-direction:column;gap:16px;color:#ffffffe6}.brand-feature-item{display:flex;align-items:center;justify-content:center;gap:12px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.brand-feature-bullet{width:8px;height:8px;background-color:#fffc;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px #ffffff80}.waiting-content-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,32px)}@media(min-width:768px)and (max-width:1023px){.waiting-content-panel{padding:24px}}@media(min-width:1024px){.waiting-content-panel{padding:32px}}.waiting-content-wrapper{width:100%;max-width:clamp(320px,90vw,500px)}.waiting-mobile-logo{text-align:center;margin-bottom:clamp(24px,6vw,32px)}@media(min-width:768px){.waiting-mobile-logo{display:none}}.mobile-logo-icon{width:64px;height:64px;margin:0 auto 16px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-darker) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #0066ff4d}.mobile-logo-img{width:100%;height:100%;object-fit:contain;filter:brightness(1.1) contrast(1.1)}.mobile-brand-title{font-size:clamp(20px,4vw,24px);font-weight:700;color:var(--gray-800)}.waiting-card{background-color:var(--white);border-radius:clamp(12px,2vw,16px);box-shadow:0 10px 40px #00000014,0 2px 8px #0000000a;padding:clamp(32px,6vw,48px);animation:slideUp .6s ease-out}.waiting-icon{display:flex;justify-content:center;margin-bottom:24px}.waiting-icon-circle{width:clamp(80px,15vw,96px);height:clamp(80px,15vw,96px);background:linear-gradient(135deg,#0066ff1a,#0052cc26);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s ease-in-out infinite}.waiting-icon-svg{width:clamp(40px,8vw,48px);height:clamp(40px,8vw,48px);color:var(--primary-blue)}.waiting-header{text-align:center;margin-bottom:32px}.waiting-title{font-size:clamp(24px,4vw,32px);font-weight:700;color:var(--gray-800);margin-bottom:8px}.waiting-description{font-size:clamp(14px,2vw,16px);color:var(--gray-500)}.waiting-info-box{display:flex;gap:16px;padding:20px;background-color:var(--blue-lighter);border-radius:12px;border:1px solid rgba(0,102,255,.1);margin-bottom:32px}.waiting-info-icon{font-size:24px;flex-shrink:0}.waiting-info-content{flex:1}.waiting-info-title{font-size:16px;font-weight:600;color:var(--gray-800);margin-bottom:8px}.waiting-info-text{font-size:14px;color:var(--gray-600);line-height:1.6;margin:0}.waiting-status-list{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.waiting-status-item{display:flex;align-items:center;gap:16px}.waiting-status-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.waiting-status-text{display:flex;flex-direction:column;gap:4px}.waiting-status-label{font-size:16px;font-weight:600;color:var(--gray-800)}.waiting-status-sublabel{font-size:14px;color:var(--gray-500)}.waiting-status-completed .waiting-status-icon{background-color:var(--success-green);color:var(--white)}.waiting-status-current .waiting-status-icon{background-color:var(--info-blue);color:var(--white);position:relative}.waiting-status-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin 1s linear infinite}.waiting-status-pending .waiting-status-icon{background-color:var(--gray-200);color:var(--gray-500)}.waiting-estimate{text-align:center;padding:16px;background-color:var(--gray-50);border-radius:8px;margin-bottom:24px}.waiting-estimate-text{font-size:14px;color:var(--gray-600);margin:0}.waiting-divider{position:relative;padding:24px 0}.waiting-divider-line{position:absolute;inset:0;display:flex;align-items:center}.waiting-divider-border{width:100%;border-top:1px solid var(--gray-200)}.waiting-action-button{margin-bottom:24px}.waiting-contact{text-align:center;padding:16px;background-color:var(--gray-50);border-radius:8px}.waiting-contact-text{font-size:14px;color:var(--gray-600);margin:0}.waiting-contact-link{color:var(--primary-blue);font-weight:600;text-decoration:none;margin-left:4px;transition:color .2s ease}.waiting-contact-link:hover{color:var(--primary-blue-dark);text-decoration:underline}.waiting-footer{text-align:center;font-size:14px;color:var(--gray-500);margin-top:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.waiting-card:hover{box-shadow:0 15px 50px #0000001a,0 4px 12px #0000000f;transition:box-shadow .3s ease}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--navy-blue: #1a237e;--navy-blue-dark: #0d1442;--navy-blue-light: #283593;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--success-green: #10B981;--warning-yellow: #F59E0B;--error-red: #EF4444;--background-light: #FFFFFF}.sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar{position:fixed;top:0;left:0;height:100vh;width:clamp(280px,25vw,320px);background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);border-right:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:999;transform:translate(-100%);transition:transform .3s ease-in-out;overflow-y:auto}.sidebar-open{transform:translate(0)}.sidebar-content{display:flex;flex-direction:column;height:100%;padding:clamp(16px,3vw,24px)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(20px,4vw,32px);padding-bottom:clamp(12px,2vw,16px);border-bottom:1px solid var(--color-border)}.sidebar-title{font-size:clamp(18px,3vw,22px);font-weight:700;color:var(--color-text-primary);margin:0}.sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.sidebar-close-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);transform:scale(1.05)}.sidebar-close-icon{width:16px;height:16px}.sidebar-nav{flex:1;margin-bottom:clamp(16px,3vw,24px)}.sidebar-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sidebar-nav-item{margin:0}.sidebar-nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:clamp(12px,2vw,16px);background-color:transparent;border:none;border-radius:12px;color:var(--color-text-primary);font-size:clamp(14px,2vw,16px);font-weight:500;text-align:left;cursor:pointer;transition:all .2s ease;position:relative}.sidebar-nav-link:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary);transform:translate(4px)}.sidebar-nav-link-active{background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-accent);box-shadow:var(--shadow-sm)}.sidebar-nav-link-active:hover{background:var(--color-accent-light);transform:translate(4px)}.sidebar-nav-icon{font-size:clamp(16px,2.5vw,18px);width:20px;text-align:center;flex-shrink:0}.sidebar-nav-label{flex:1;font-weight:500}.sidebar-nav-badge{background-color:var(--color-error);color:var(--color-bg-primary);font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0}.sidebar-footer{margin-top:auto;padding-top:clamp(16px,3vw,20px);border-top:1px solid var(--color-border)}.sidebar-footer-info{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border)}.sidebar-footer-icon{font-size:20px;flex-shrink:0}.sidebar-footer-text{flex:1}.sidebar-footer-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:0 0 2px}.sidebar-footer-subtitle{font-size:11px;color:var(--color-text-tertiary);margin:0}@media(min-width:1024px){.sidebar{position:fixed;height:100vh;top:0;width:clamp(260px,20vw,300px);transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-overlay{display:none}.sidebar-close-btn{display:flex}.sidebar-header{margin-bottom:24px}}@media(min-width:769px)and (max-width:1023px){.sidebar{width:clamp(240px,30vw,280px)}}@media(max-width:768px){.sidebar{width:clamp(260px,80vw,300px)}.sidebar-content{padding:16px}.sidebar-header{margin-bottom:20px}.sidebar-nav-link{padding:14px 12px}}@media(max-width:480px){.sidebar{width:100vw;max-width:320px}.sidebar-content{padding:12px}.sidebar-nav-link{padding:12px 10px;gap:10px}.sidebar-nav-icon{font-size:16px;width:18px}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.sidebar-nav-item{animation:slideInLeft .3s ease-out;animation-fill-mode:both}.sidebar-nav-item:nth-child(1){animation-delay:.1s}.sidebar-nav-item:nth-child(2){animation-delay:.15s}.sidebar-nav-item:nth-child(3){animation-delay:.2s}.sidebar-nav-item:nth-child(4){animation-delay:.25s}.sidebar-nav-item:nth-child(5){animation-delay:.3s}.sidebar-nav-item:nth-child(6){animation-delay:.35s}.sidebar-nav-item:nth-child(7){animation-delay:.4s}.sidebar-nav-link:focus,.sidebar-close-btn:focus{outline:none;box-shadow:0 0 0 3px #06f3}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;padding:0;transition:background-color .2s ease,border-color .2s ease,transform .1s ease}.theme-toggle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-hover);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus{outline:2px solid var(--color-accent);outline-offset:2px}.theme-icon{font-size:20px;line-height:1;display:block}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,var(--navy-blue) 0%,var(--navy-blue-dark) 100%);box-shadow:0 4px 20px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.navbar-container{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,24px);height:clamp(60px,8vw,70px);max-width:100%}.navbar-logo{display:flex;align-items:center;flex-shrink:0}.navbar-logo-img{height:clamp(80px,9vw,140px);width:auto;object-fit:contain;filter:brightness(1.2) contrast(1.1);transition:transform .2s ease}.navbar-logo-img:hover{transform:scale(1.05)}.navbar-menu-btn{display:flex;align-items:center;gap:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 16px;color:var(--white);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-right:20px}.navbar-spacer{flex:1}.navbar-menu-btn:hover{background:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.navbar-menu-icon{display:flex;flex-direction:column;gap:3px;width:20px;height:16px}.navbar-menu-line{width:100%;height:2px;background-color:var(--white);border-radius:1px;transition:all .3s ease}.navbar-menu-btn:hover .navbar-menu-line{background-color:#ffffffe6}.navbar-menu-text{font-size:clamp(12px,2vw,14px);font-weight:600;color:var(--white)}.navbar-profile{display:flex;align-items:center;gap:16px;flex-shrink:0;position:relative}.navbar-profile-info{display:flex;align-items:center;gap:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 12px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-profile-info:hover{background:#ffffff26;transform:translateY(-1px)}.navbar-profile-avatar{width:clamp(32px,5vw,36px);height:clamp(32px,5vw,36px);border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.3);background-color:#ffffff1a}.navbar-profile-img{width:100%;height:100%;object-fit:cover}.navbar-profile-details{display:flex;flex-direction:column;gap:2px}.navbar-profile-name{font-size:clamp(12px,2vw,14px);font-weight:600;color:var(--white);line-height:1.2}.navbar-profile-role{font-size:clamp(10px,1.5vw,12px);color:#fffc;line-height:1.2}.navbar-dropdown-arrow{color:#ffffffb3;transition:transform .2s ease}.navbar-dropdown-arrow.open{transform:rotate(180deg)}.navbar-profile-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 10px 40px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:180px;z-index:1001;animation:slideDown .2s ease-out}.navbar-flags{display:flex;align-items:center;gap:8px;margin-right:12px}.flag-btn{display:flex;align-items:center;justify-content:center;position:relative;width:36px;height:36px;border-radius:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--white);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.flag-btn:hover{background:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.flag-btn.flag-active{background:#10b98133;border:2px solid rgba(16,185,129,.6);box-shadow:0 0 12px #10b9814d}.flag-emoji{font-size:18px;line-height:1}.flag-indicator{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;color:#10b981;font-size:14px;animation:pulse-flag 2s ease-in-out infinite}@keyframes pulse-flag{0%,to{opacity:1}50%{opacity:.5}}.navbar-readonly-badge{display:flex;align-items:center;gap:6px;background:#f59e0b33;border:1px solid rgba(245,158,11,.4);border-radius:8px;padding:6px 12px;margin-right:12px;font-size:12px;font-weight:600;color:#fbbf24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .3s ease}.navbar-readonly-badge span:first-child{font-size:14px}.navbar-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:none;color:var(--gray-700);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.navbar-dropdown-item:first-child{border-radius:12px 12px 0 0}.navbar-dropdown-item:last-child{border-radius:0 0 12px 12px}.navbar-dropdown-item:hover{background:var(--gray-50);color:var(--gray-900)}.navbar-dropdown-item:active{background:var(--gray-100)}.navbar-dropdown-item svg{color:var(--gray-500);transition:color .2s ease}.navbar-dropdown-item:hover svg{color:var(--gray-700)}.navbar-logout-btn{display:flex;align-items:center;justify-content:center;width:clamp(36px,5vw,40px);height:clamp(36px,5vw,40px);background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#f87171;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-logout-btn:hover{background:#ef44444d;border-color:#ef444480;color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef444433}.navbar-logout-icon{width:clamp(16px,3vw,18px);height:clamp(16px,3vw,18px)}@media(max-width:768px){.navbar-container{padding:0 16px;height:60px}.navbar-menu-text,.navbar-profile-details{display:none}.navbar-profile-info{padding:6px}}@media(max-width:480px){.navbar-container{padding:0 12px;height:56px}.navbar-logo-img{height:38px}.navbar-menu-btn{padding:6px 12px;gap:8px}.navbar-menu-icon{width:18px;height:14px}.navbar-profile-avatar{width:28px;height:28px}.navbar-logout-btn{width:32px;height:32px}.navbar-logout-icon{width:14px;height:14px}}.navbar{animation:slideDown .3s ease-out}.navbar-online-users{position:relative;margin-right:16px}.online-users-list{display:flex;align-items:center;gap:10px}.online-user-avatar{position:relative;width:36px;height:36px;border-radius:50%;border:2px solid white;margin-left:0;cursor:pointer;transition:transform .2s ease}.online-user-avatar:hover{transform:scale(1.1);z-index:10}.online-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.online-indicator{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border:2px solid white;border-radius:50%;animation:pulse-online 2s ease-in-out infinite}.online-indicator.indicator-online{background:#10b981;animation:pulse-online 2s ease-in-out infinite}.online-indicator.indicator-idle{background:#f59e0b;animation:pulse-idle 2s ease-in-out infinite}@keyframes pulse-online{0%,to{box-shadow:0 0 #10b981b3}50%{box-shadow:0 0 0 6px #10b98100}}@keyframes pulse-idle{0%,to{box-shadow:0 0 #f59e0bb3}50%{box-shadow:0 0 0 6px #f59e0b00}}.online-users-more{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid white;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-left:4px}.online-users-more:hover{transform:scale(1.1);box-shadow:0 4px 12px #667eea66}.online-users-panel{position:absolute;top:calc(100% + 12px);right:0;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;width:320px;max-height:400px;overflow:hidden;animation:slideDown .3s ease;z-index:1000}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.panel-header h3{margin:0;font-size:16px;font-weight:700;color:#1f2937}.panel-close{background:transparent;border:none;font-size:20px;cursor:pointer;color:#6b7280;transition:color .2s ease;padding:4px;line-height:1}.panel-close:hover{color:#1f2937}.panel-users-list{max-height:340px;overflow-y:auto}.panel-user-item{display:flex;align-items:center;gap:12px;padding:12px 20px;transition:background .2s ease}.panel-user-item:hover{background:#f9fafb}.panel-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}.panel-user-info{flex:1;display:flex;flex-direction:column;gap:2px}.panel-user-name{font-weight:600;font-size:14px;color:#1f2937}.panel-user-email{font-size:12px;color:#6b7280}.panel-user-status{font-size:16px}.navbar-menu-btn:focus,.navbar-profile-info:focus,.navbar-logout-btn:focus{outline:none;box-shadow:0 0 0 3px #fff3}.admin-tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--color-bg-secondary);padding:4px;border-radius:12px}.tab-button{flex:1;padding:12px 20px;border:none;background:transparent;color:var(--color-text-secondary);font-weight:500;font-size:14px;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:8px}.tab-button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.tab-button.active{background:var(--color-bg-primary);color:var(--color-accent);box-shadow:var(--shadow-sm)}.loading-state,.empty-state{text-align:center;padding:clamp(40px,8vw,60px);color:var(--color-text-secondary);font-size:clamp(16px,3vw,18px)}.empty-state{background:var(--color-bg-secondary);border-radius:12px;border:2px dashed var(--color-border)}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500}.admin-section{background:var(--color-bg-primary);border-radius:16px;padding:clamp(24px,5vw,32px);box-shadow:var(--shadow-sm);margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.section-title{font-size:clamp(20px,4vw,24px);font-weight:600;color:var(--color-text-primary);margin:0}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:20px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.request-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:all .2s ease-in-out}.request-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.request-info{margin-bottom:16px}.request-email{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px;word-break:break-all}.request-detail{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.detail-label{color:var(--color-text-secondary);font-weight:500}.detail-value{color:var(--color-text-primary);font-weight:600}.request-actions{display:flex;gap:12px;margin-top:16px}.user-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:all .2s ease-in-out}.user-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-header{display:flex;justify-content:flex-end;margin-bottom:12px}.user-status-indicator{display:flex;align-items:center;gap:6px}.status-dot{width:10px;height:10px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-dot.status-online{background-color:#10b981;box-shadow:0 0 8px #10b98166}.status-dot.status-idle{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b66}.status-dot.status-offline{background-color:#6b7280;animation:none}.user-status-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-info{margin-bottom:16px}.user-name{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.user-detail{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.role-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.role-admin{background:#fef3c7;color:#d97706}.role-manager{background:#dbeafe;color:#2563eb}.role-empleado{background:#d1fae5;color:#059669}.status-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.status-online{background:#d1fae5;color:#059669}.status-offline{background:#f3f4f6;color:#6b7280}.status-idle{background:#fef3c7;color:#d97706}.action-btn{flex:1;padding:10px 16px;font-size:14px;font-weight:600;border-radius:8px;transition:all .2s ease-in-out}.approve-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none}.approve-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.reject-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none}.reject-btn:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.modal-content{background:var(--color-bg-primary);border-radius:16px;padding:32px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease-in-out}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-info{background:var(--color-bg-secondary);padding:16px;border-radius:8px;margin-bottom:24px;font-size:14px;color:var(--color-text-primary)}.modal-body{margin-bottom:24px}.modal-body label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:8px;font-size:14px}.modal-body select{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);margin-bottom:16px;transition:border-color .2s ease-in-out}.modal-body select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-welcome{max-width:700px!important}.welcome-message{display:flex;flex-direction:column;gap:24px}.welcome-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:20px;border-radius:12px;text-align:center;font-size:18px;font-weight:600;box-shadow:0 4px 12px #10b9814d}.welcome-info-section{background:var(--color-bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--color-border)}.welcome-info-section h4{margin:0 0 16px;color:var(--color-text-primary);font-size:16px;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.info-value{font-size:15px;color:var(--color-text-primary);font-weight:600}.password-item{grid-column:1 / -1;background:#fef3c7;border:2px solid #fbbf24;padding:16px;border-radius:8px}.password-value{font-family:Courier New,monospace;font-size:20px;color:#92400e;letter-spacing:2px;-webkit-user-select:all;user-select:all}.welcome-description-section{background:var(--color-bg-secondary);padding:20px;border-radius:12px;border:1px solid var(--color-border)}.welcome-description-section h4{margin:0 0 12px;color:var(--color-text-primary);font-size:16px;font-weight:600}.role-description{margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.welcome-warning{background:#fef3c7;border:2px solid #fbbf24;padding:16px;border-radius:8px;color:#92400e}.welcome-warning strong{display:block;margin-bottom:8px;font-size:15px}.welcome-warning ul{margin:0;padding-left:20px}.welcome-warning li{margin:4px 0;font-size:14px}.welcome-actions{display:flex;gap:12px;justify-content:center;padding-top:8px}.welcome-actions .action-btn{flex:1;max-width:250px}@media(max-width:768px){.requests-grid{grid-template-columns:1fr}.request-actions{flex-direction:column}.section-header{flex-direction:column;gap:16px;align-items:stretch}.modal-content{margin:10px;padding:24px}.modal-actions{flex-direction:column}}@media(max-width:480px){.request-card{padding:16px}.request-email{font-size:16px}.modal-content{padding:20px}}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--navy-blue: #1a237e;--navy-blue-dark: #0d1442;--navy-blue-light: #283593;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--success-green: #10B981;--warning-yellow: #F59E0B;--error-red: #EF4444;--info-blue: #3B82F6;--purple: #8B5CF6;--orange: #F59E0B;--background-light: #FFFFFF}.dashboard-home{padding:clamp(20px,4vw,32px);background-color:var(--color-bg-primary);min-height:calc(100vh - 70px)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(24px,5vw,32px);flex-wrap:wrap;gap:16px}.dashboard-header-content{flex:1;min-width:250px}.dashboard-title{font-size:clamp(24px,4vw,32px);font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.dashboard-subtitle{font-size:clamp(14px,2vw,16px);color:var(--color-text-secondary);margin:0}.dashboard-header-actions{display:flex;gap:12px}.dashboard-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard-action-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.dashboard-action-icon{width:16px;height:16px}.dashboard-stats{margin-bottom:clamp(24px,5vw,32px)}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(16px,3vw,20px)}.dashboard-stat-card{background-color:var(--color-bg-primary);border-radius:16px;padding:clamp(20px,4vw,24px);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:all .3s ease;position:relative;overflow:hidden}.dashboard-stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.dashboard-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-blue),var(--primary-blue-dark))}.dashboard-stat-card-blue:before{background:linear-gradient(90deg,var(--info-blue),#2563EB)}.dashboard-stat-card-orange:before{background:linear-gradient(90deg,var(--orange),#D97706)}.dashboard-stat-card-green:before{background:linear-gradient(90deg,var(--success-green),#059669)}.dashboard-stat-card-purple:before{background:linear-gradient(90deg,var(--purple),#7C3AED)}.dashboard-stat-card-red:before{background:linear-gradient(90deg,var(--error-red),#DC2626)}.dashboard-stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dashboard-stat-icon{font-size:clamp(24px,4vw,28px);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border-radius:12px}.dashboard-stat-change{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px}.dashboard-stat-change-positive{background-color:#10b9811a;color:var(--success-green)}.dashboard-stat-change-negative{background-color:#ef44441a;color:var(--error-red)}.dashboard-stat-change-neutral{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.dashboard-stat-content{text-align:left}.dashboard-stat-title{font-size:clamp(12px,2vw,14px);font-weight:500;color:var(--color-text-secondary);margin:0 0 8px}.dashboard-stat-value{font-size:clamp(20px,4vw,28px);font-weight:700;color:var(--color-text-primary);margin:0}.dashboard-content{margin-bottom:clamp(24px,5vw,32px)}.dashboard-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:clamp(20px,4vw,24px)}.dashboard-chart-card{background-color:var(--color-bg-primary);border-radius:16px;padding:clamp(20px,4vw,24px);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.dashboard-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dashboard-chart-title{font-size:clamp(16px,3vw,18px);font-weight:600;color:var(--color-text-primary);margin:0}.dashboard-chart-btn{padding:8px 16px;background-color:var(--color-accent);color:var(--color-bg-primary);border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard-chart-btn:hover{background-color:var(--color-accent-hover);transform:translateY(-1px)}.dashboard-chart-content{height:200px;display:flex;align-items:center;justify-content:center}.dashboard-chart-placeholder{text-align:center;color:var(--color-text-tertiary)}.dashboard-chart-icon{font-size:48px;margin-bottom:12px}.dashboard-chart-text{font-size:16px;font-weight:500;margin:0 0 4px}.dashboard-chart-subtext{font-size:14px;margin:0}.dashboard-recent-card{background-color:var(--color-bg-primary);border-radius:16px;padding:clamp(20px,4vw,24px);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.dashboard-recent-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dashboard-recent-title{font-size:clamp(16px,3vw,18px);font-weight:600;color:var(--color-text-primary);margin:0}.dashboard-recent-btn{padding:6px 12px;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard-recent-btn:hover{background-color:var(--color-accent);color:var(--color-bg-primary)}.dashboard-recent-list{display:flex;flex-direction:column;gap:12px}.dashboard-recent-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--color-bg-secondary);border-radius:10px;border:1px solid var(--color-border)}.dashboard-recent-item-info{flex:1}.dashboard-recent-item-name{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.dashboard-recent-item-category{font-size:12px;color:var(--color-text-tertiary);margin:0}.dashboard-recent-item-stock-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px}.dashboard-recent-item-stock-good{background-color:#10b9811a;color:var(--success-green)}.dashboard-recent-item-stock-low{background-color:#ef44441a;color:var(--error-red)}.dashboard-quick-actions{margin-bottom:24px}.dashboard-quick-title{font-size:clamp(18px,3vw,20px);font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.dashboard-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.dashboard-quick-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.dashboard-quick-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-quick-btn-primary{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.dashboard-quick-btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-lg)}.dashboard-quick-icon{font-size:18px;flex-shrink:0}.dashboard-quick-label{flex:1}@media(max-width:1024px){.dashboard-content-grid{grid-template-columns:1fr}.dashboard-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.dashboard-home{padding:16px;margin-top:0}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-header-actions{width:100%;justify-content:flex-end}.dashboard-stats-grid{grid-template-columns:1fr;gap:12px}.dashboard-quick-grid{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-home{padding:12px}.dashboard-stat-card,.dashboard-chart-card,.dashboard-recent-card{padding:16px}.dashboard-chart-content{height:150px}}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--navy-blue: #1a237e;--navy-blue-dark: #0d1442;--navy-blue-light: #283593;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--background-light: #FFFFFF;--success-green: #10B981;--error-red: #EF4444;--warning-yellow: #F59E0B}.profile-container{max-width:800px;margin:0 auto}.profile-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}.profile-header{display:flex;align-items:center;gap:24px;padding:32px;background:linear-gradient(135deg,var(--navy-blue) 0%,var(--navy-blue-dark) 100%);color:var(--white)}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.2);background:#ffffff1a;position:relative}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:0;transition:opacity .3s ease;cursor:pointer}.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-image-input{display:none}.profile-image-label{color:var(--white);font-size:14px;font-weight:600;cursor:pointer;text-align:center;padding:8px}.profile-image-label:hover{color:#ffffffe6}.profile-header-info{flex:1}.profile-name{font-size:28px;font-weight:700;margin:0 0 8px;color:var(--white)}.profile-role{font-size:16px;font-weight:500;margin:0 0 4px;color:#ffffffe6}.profile-location{font-size:14px;margin:0;color:#fffc}.profile-header-actions,.profile-edit-actions{display:flex;gap:12px}.profile-message{padding:16px 24px;border-radius:8px;margin:0 24px 24px;font-weight:500;animation:slideIn .3s ease-out}.profile-error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:var(--error-red)}.profile-success-message{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:var(--success-green)}.profile-info{padding:32px}.profile-info-section{margin-bottom:40px}.profile-info-section:last-child{margin-bottom:0}.profile-section-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 24px;padding-bottom:12px;border-bottom:2px solid var(--color-border)}.profile-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.profile-form-group{display:flex;flex-direction:column;gap:8px}.profile-form-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.profile-form-select{padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:all .2s ease}.profile-form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.profile-info-value{padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text-primary);min-height:44px;display:flex;align-items:center}.profile-readonly{background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-secondary);position:relative}.profile-readonly-badge{position:absolute;top:4px;right:8px;background:var(--gray-400);color:var(--white);font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.profile-role-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.profile-role-admin{background:#f59e0b1a;color:var(--warning-yellow);border:1px solid rgba(245,158,11,.2)}.profile-role-manager{background:#0066ff1a;color:var(--primary-blue);border:1px solid rgba(0,102,255,.2)}.profile-role-empleado{background:#10b9811a;color:var(--success-green);border:1px solid rgba(16,185,129,.2)}.profile-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.profile-status-item{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px}.profile-status-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.profile-status-value{font-size:16px;font-weight:500;color:var(--color-text-primary)}.profile-error{text-align:center;padding:60px 20px}.profile-error h2{color:var(--error-red);margin-bottom:16px}.profile-error p{color:var(--color-text-secondary);margin-bottom:24px}@media(max-width:768px){.profile-header{flex-direction:column;text-align:center;gap:20px;padding:24px}.profile-header-actions,.profile-edit-actions{width:100%;justify-content:center}.profile-form-grid{grid-template-columns:1fr;gap:20px}.profile-status-grid{grid-template-columns:1fr;gap:16px}.profile-info{padding:24px}}@media(max-width:480px){.profile-header{padding:20px}.profile-avatar{width:60px;height:60px}.profile-name{font-size:24px}.profile-role{font-size:14px}.profile-location{font-size:12px}.profile-edit-actions{flex-direction:column;gap:8px}.profile-edit-actions button{width:100%}.profile-info{padding:20px}.profile-section-title{font-size:18px}}.profile-card{animation:slideIn .4s ease-out}.profile-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px);transition:all .3s ease}.profile-status-item:hover{background:var(--color-bg-tertiary);transform:translateY(-1px);transition:all .2s ease}.profile-form-select:focus,.profile-edit-actions button:focus{outline:none;box-shadow:0 0 0 3px #06f3}.profile-edit-actions button:disabled{opacity:.6;cursor:not-allowed}.profile-edit-actions button:disabled:hover{transform:none;box-shadow:none}.pagination-container{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem;background:var(--color-bg-primary);border-top:1px solid var(--color-border);border-radius:0 0 12px 12px;flex-wrap:wrap}.pagination-info{font-size:.875rem;color:var(--color-text-secondary)}.pagination-info strong{color:var(--color-text-primary);font-weight:600}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{padding:.5rem 1rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-number{min-width:40px;height:40px;padding:.5rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-number:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.pagination-number.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.pagination-ellipsis{padding:.5rem;color:var(--color-text-secondary);font-weight:500}.pagination-jump{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.pagination-input{width:60px;padding:.5rem;border:1px solid var(--color-border);border-radius:8px;font-size:.875rem;background:var(--color-bg-primary);color:var(--color-text-primary);text-align:center}.pagination-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}@media(max-width:768px){.pagination-container{flex-direction:column;gap:1rem}.pagination-controls{flex-wrap:wrap;justify-content:center}.pagination-info,.pagination-jump{width:100%;justify-content:center}}.supplier-price-table-container{width:100%;margin:1rem 0}.supplier-price-table-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.75rem}.supplier-price-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--color-border)}.supplier-price-table{width:100%;border-collapse:collapse;background-color:var(--color-bg-primary)}.supplier-price-table thead{background-color:var(--color-bg-secondary)}.supplier-price-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em;border-bottom:2px solid var(--color-border)}.supplier-price-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.supplier-price-table tbody tr:hover{background-color:var(--color-bg-secondary)}.supplier-price-table tbody tr.inactive{opacity:.6}.supplier-price-table tbody tr.supplier-principal-row{background-color:#fef3c7}.supplier-price-table tbody tr.supplier-principal-row:hover{background-color:#fde68a}.supplier-price-table td{padding:.875rem 1rem;font-size:.9375rem;color:var(--color-text-primary)}.supplier-name{font-weight:500;display:inline-block;margin-right:.5rem}.supplier-badge{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.supplier-badge.principal{background-color:#fbbf24;color:#78350f}.supplier-badge.inactive{background-color:#e5e7eb;color:#6b7280}.supplier-price{font-weight:600}.price-value{color:#059669;font-size:1rem;display:flex;align-items:center;gap:.5rem}.price-value.best-price{color:#16a34a;font-weight:700}.best-price-badge{display:inline-block;padding:.125rem .5rem;font-size:.625rem;font-weight:600;background-color:#dcfce7;color:#166534;border-radius:9999px;text-transform:uppercase}.price-empty,.delivery-empty,.code-empty{color:var(--color-text-tertiary);font-style:italic}.delivery-value{color:var(--color-text-secondary)}.code-value{font-family:Courier New,monospace;font-size:.875rem;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);padding:.25rem .5rem;border-radius:4px}.no-suppliers{text-align:center;padding:2rem 1rem!important;color:var(--color-text-tertiary);font-style:italic}.supplier-best-price-summary{margin-top:.75rem;padding:.75rem 1rem;background-color:#dcfce7;border-left:4px solid #16a34a;border-radius:4px;color:#166534;font-size:.9375rem}@media(max-width:768px){.supplier-price-table th,.supplier-price-table td{padding:.625rem .75rem;font-size:.875rem}.supplier-name{display:block;margin-bottom:.25rem}.supplier-badge{display:inline-block}}.supplier-form-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;animation:fadeIn .2s ease-out}.supplier-form-modal-content{background-color:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out}.supplier-form-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.supplier-form-modal-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.supplier-form-modal-close{background:none;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.supplier-form-modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.supplier-form{padding:1.5rem}.supplier-form .form-group{margin-bottom:1.25rem}.supplier-form .form-group:last-of-type{margin-bottom:1.5rem}.supplier-form label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem}.supplier-form .form-select{width:100%;padding:.625rem .875rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.supplier-form .form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.supplier-form .form-select.error{border-color:#ef4444}.supplier-form .form-select:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed;opacity:.6}.supplier-form .error-message{display:block;margin-top:.375rem;font-size:.8125rem;color:#ef4444}.supplier-form .checkbox-group{display:flex;align-items:center}.supplier-form .checkbox-group label{display:flex;align-items:center;margin-bottom:0;cursor:pointer}.supplier-form .checkbox-group input[type=checkbox]{width:1.125rem;height:1.125rem;margin-right:.5rem;cursor:pointer}.supplier-form .checkbox-group span{font-size:.9375rem;color:var(--color-text-primary)}.supplier-form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.supplier-form-actions button{min-width:100px}@media(max-width:640px){.supplier-form-modal-content{width:95%;max-height:95vh}.supplier-form-modal-header,.supplier-form{padding:1rem}.supplier-form-actions{flex-direction:column}.supplier-form-actions button{width:100%}}.supplier-management-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease-out}.supplier-management-modal-content{background-color:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.supplier-management-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--color-border)}.supplier-management-modal-header h2{font-size:1.375rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.producto-info{font-size:.875rem;color:var(--color-text-secondary);margin:0}.producto-info strong{color:var(--color-text-primary);font-weight:600}.supplier-management-modal-close{background:none;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.supplier-management-modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.supplier-management-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.supplier-management-actions{margin-bottom:1.25rem}.supplier-management-table-wrapper{border-radius:8px;border:1px solid var(--color-border);overflow:hidden}.supplier-management-table{width:100%;border-collapse:collapse;background-color:var(--color-bg-primary)}.supplier-management-table thead{background-color:var(--color-bg-secondary)}.supplier-management-table th{padding:.75rem 1rem;text-align:left;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em;border-bottom:2px solid var(--color-border)}.supplier-management-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.supplier-management-table tbody tr:hover{background-color:var(--color-bg-secondary)}.supplier-management-table tbody tr.inactive-row{opacity:.6}.supplier-management-table tbody tr.principal-row{background-color:#fef3c7}.supplier-management-table tbody tr.principal-row:hover{background-color:#fde68a}[data-theme=dark] .supplier-management-table tbody tr.principal-row{background-color:#422006}[data-theme=dark] .supplier-management-table tbody tr.principal-row:hover{background-color:#78350f}.supplier-management-table tbody tr:last-child{border-bottom:none}.supplier-management-table td{padding:.875rem 1rem;font-size:.9375rem;color:var(--color-text-primary)}.supplier-name-cell{font-weight:500}.supplier-badge-inline{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.625rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.supplier-badge-inline.principal{background-color:#fbbf24;color:#78350f}.supplier-price-cell .price{font-weight:600;color:#059669}.supplier-price-cell .price.best-price{color:#16a34a}.supplier-price-cell .best-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.625rem;font-weight:600;background-color:#dcfce7;color:#166534;border-radius:9999px;text-transform:uppercase}.supplier-code-cell code{font-family:Courier New,monospace;font-size:.875rem;background-color:var(--color-bg-secondary);padding:.25rem .5rem;border-radius:4px;color:var(--color-text-secondary)}.empty-value{color:var(--color-text-tertiary);font-style:italic}.status-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.inactive{background-color:#fee2e2;color:#991b1b}.supplier-actions-cell{width:100px}.action-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.action-btn:hover{background-color:var(--color-bg-secondary)}.action-btn.edit:hover{background-color:#dbeafe}.action-btn.delete:hover{background-color:#fee2e2}.action-btn.delete.disabled{opacity:.3;cursor:not-allowed}.action-btn.delete.disabled:hover{background-color:transparent}.no-suppliers-message{text-align:center;padding:3rem 1.5rem;color:var(--color-text-tertiary)}.no-suppliers-icon{font-size:3rem;margin-bottom:1rem}.no-suppliers-message p{margin:.5rem 0}.no-suppliers-hint{font-size:.875rem;font-style:italic}.supplier-info-box{margin-top:1.25rem;padding:.875rem 1.25rem;background-color:#dbeafe;border-left:4px solid #3b82f6;border-radius:6px;color:#1e40af;font-size:.875rem}.supplier-info-box p{margin:0}.supplier-info-box strong{font-weight:600}[data-theme=dark] .supplier-info-box{background-color:#1e3a8a;color:#bfdbfe}.supplier-best-price-summary{margin-top:1.25rem;padding:.875rem 1.25rem;background-color:#dcfce7;border-left:4px solid #16a34a;border-radius:6px;color:#166534;font-size:.9375rem}.supplier-best-price-summary strong{font-weight:600}[data-theme=dark] .supplier-best-price-summary{background-color:#14532d;color:#dcfce7}.supplier-management-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--color-border);background-color:var(--color-bg-secondary)}@media(max-width:768px){.supplier-management-modal-content{width:98%;max-height:95vh}.supplier-management-modal-header{padding:1rem;flex-direction:column;align-items:flex-start}.supplier-management-modal-close{position:absolute;top:1rem;right:1rem}.supplier-management-modal-body{padding:1rem}.supplier-management-table-wrapper{overflow-x:auto}.supplier-management-table{min-width:600px}.supplier-management-table th,.supplier-management-table td{padding:.625rem .75rem;font-size:.875rem}.supplier-management-modal-footer{padding:1rem;flex-direction:column}.supplier-management-modal-footer button{width:100%}}.products-download-btn{margin-right:12px;background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;color:#fff!important;font-weight:600!important;padding:12px 20px!important;border-radius:12px!important;box-shadow:0 4px 15px #667eea4d!important;transition:all .3s ease!important}.products-download-btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #667eea66!important;background:linear-gradient(135deg,#5a67d8,#6b46c1)!important}.dashboard-action-btn-primary{background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important;color:#fff!important;font-weight:600!important;padding:12px 20px!important;border-radius:12px!important;box-shadow:0 4px 15px #10b9814d!important;transition:all .3s ease!important}.dashboard-action-btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #10b98166!important;background:linear-gradient(135deg,#059669,#047857)!important}.product-image{width:120px;height:120px;margin:0 auto 15px;border-radius:12px;overflow:hidden;background:#f8f9fa;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a;border:2px solid #e5e7eb;transition:transform .2s ease,box-shadow .2s ease}.product-image:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.product-image img{width:100%;height:100%;object-fit:contain;border-radius:10px;background:#fff}.dashboard-header{margin-top:80px!important;padding-top:20px!important}.dashboard-title{color:var(--color-text-primary)!important;font-size:24px!important}.dashboard-subtitle{color:var(--color-text-secondary)!important}.products-loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.1rem;color:#7f8c8d}.products-error{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;color:#c33}.products-error button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#c33;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.products-filters{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--color-bg-secondary);border-radius:8px;align-items:center;flex-wrap:wrap}.search-input{flex:1;min-width:300px}.filter-select{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.9rem;min-width:180px}.filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.products-list{margin-top:1rem}.products-empty{text-align:center;padding:3rem;color:#7f8c8d;font-size:1.1rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.product-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:all .3s ease}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.product-header h3{color:var(--color-text-primary);font-size:1.2rem;font-weight:600;margin:0}.product-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase}.product-status-activo{background:#d4edda;color:#155724}.product-status-inactivo{background:#fff3cd;color:#856404}.product-status-descontinuado{background:#f8d7da;color:#721c24}.product-info{margin-bottom:1.5rem}.product-info p{margin:.5rem 0;color:var(--color-text-secondary);font-size:.9rem}.product-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.products-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.products-modal-content{background:var(--color-bg-primary);border-radius:12px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.products-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.products-modal-header h2{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#f8f9fa;color:#495057}.products-form{padding:1.5rem}.channels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.channel-checkbox{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--color-bg-primary)}.channel-checkbox:hover{border-color:var(--color-accent);background:var(--color-bg-secondary)}.channel-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.channel-checkbox input[type=checkbox]:checked~.channel-name{font-weight:600;color:#007bff}.channel-name{flex:1;font-size:.9rem;color:#2c3e50}.channel-type{font-size:.75rem;padding:.25rem .5rem;border-radius:12px;font-weight:500;text-transform:uppercase}.channel-type-marketplace{background:#e3f2fd;color:#1976d2}.channel-type-tienda_propia{background:#e8f5e9;color:#388e3c}.channel-type-distribuidor{background:#fff3e0;color:#f57c00}.channels-selected{margin-top:.5rem;font-size:.85rem;color:#007bff;font-weight:500}.image-upload-container{margin-top:.5rem}.image-input{display:none}.image-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed #cbd5e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.image-upload-label:hover{border-color:#007bff;background:#e3f2fd}.upload-icon{font-size:2rem}.image-upload-label span:last-child{font-size:.9rem;color:#495057}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.image-preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-remove-btn{position:absolute;top:.25rem;right:.25rem;width:28px;height:28px;border:none;border-radius:50%;background:#dc3545e6;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-remove-btn:hover{background:#dc3545;transform:scale(1.1)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-weight:500;margin-bottom:.5rem;font-size:.9rem}.form-select{padding:.75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;background:var(--color-bg-primary);color:var(--color-text-primary);transition:all .2s ease}.form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e1e5e9}@media(max-width:768px){.products-header{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.products-header h1{text-align:center;font-size:1.5rem}.products-header-actions{width:100%;justify-content:center;gap:.75rem}.products-header-actions .btn-secondary,.products-header-actions .btn-primary{flex:1;min-width:120px;max-width:200px}.products-filters{flex-direction:column;align-items:stretch}.search-input,.filter-select{min-width:auto}.products-grid{grid-template-columns:1fr}.products-modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.form-row{grid-template-columns:1fr}.form-actions,.product-actions{flex-direction:column}.channels-grid{grid-template-columns:1fr}.image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media(max-width:480px){.products-header{padding:.75rem}.products-header h1{font-size:1.3rem}.products-header-actions{flex-direction:column}.products-header-actions .btn-secondary,.products-header-actions .btn-primary{width:100%;min-width:auto}.product-card,.products-form{padding:1rem}}.supplier-view-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.supplier-view-modal-content{background-color:var(--color-bg-primary);border-radius:12px;padding:1.5rem;max-width:800px;width:90%;max-height:80vh;overflow:auto;box-shadow:var(--shadow-lg);animation:slideIn .3s ease-out}.supplier-view-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.supplier-view-modal-header h2{margin:0;font-size:1.375rem;font-weight:600;color:var(--color-text-primary)}.supplier-view-modal-close{background:none;border:none;font-size:2rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);border-radius:4px;transition:background-color .2s,color .2s}.supplier-view-modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.proveedor-principal-datos{border:2px solid #3b82f6;border-radius:8px;padding:1rem;background-color:var(--color-accent-light);margin-bottom:1.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.proveedor-principal-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.supplier-management-section{border:2px solid var(--color-border);border-radius:8px;padding:1rem;background-color:var(--color-bg-secondary)}.supplier-summary{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.no-suppliers{color:var(--color-text-tertiary);font-style:italic;margin:0}.suppliers-count{color:var(--color-success);font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem}.view-suppliers-btn{transition:all .2s ease}.view-suppliers-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0ea5e94d}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.products-view-toggle{display:flex;gap:.5rem;padding:.5rem;background:var(--color-bg-secondary);border-radius:10px;margin-bottom:1.5rem}.view-toggle-btn{flex:1;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-toggle-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.view-toggle-btn.active{background:var(--color-bg-primary);color:var(--color-accent);box-shadow:var(--shadow-sm)}.products-table-container{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.products-table-wrapper{overflow-x:auto}.products-table{width:100%;border-collapse:collapse;font-size:.875rem}.products-table thead{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.products-table th{padding:1rem;text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap;position:sticky;top:0;background:var(--color-bg-secondary);z-index:10}.products-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;position:relative}.products-table th.sortable:hover{background:var(--color-bg-tertiary);color:var(--color-accent)}.products-table th.sortable:active{background:var(--color-bg-tertiary)}.products-table td{padding:1rem;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.products-table tbody tr{transition:background .15s}.products-table tbody tr:hover{background:var(--color-bg-secondary)}.product-image-cell{width:60px}.product-image-thumb{width:50px;height:50px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border)}.product-no-image{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:8px;color:var(--color-text-tertiary);font-size:1.5rem}.product-sku-cell{font-family:Courier New,monospace;font-weight:600;color:var(--color-text-primary);min-width:120px}.product-ean{font-size:.75rem;color:var(--color-text-tertiary);display:block;margin-top:.25rem}.product-desc-cell{min-width:200px;max-width:300px}.product-desc-name{font-weight:500;color:var(--color-text-primary);margin-bottom:.25rem;display:block}.product-desc-short{font-size:.75rem;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-brand-cell{min-width:120px}.product-brand-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--color-bg-secondary);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--color-text-primary)}.product-price-cell{min-width:100px;text-align:right}.product-price{font-weight:600;color:#059669;display:block}.product-price-label{font-size:.75rem;color:#9ca3af;display:block}.product-stock-cell{text-align:center;min-width:80px}.product-stock-value{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-weight:600;font-size:.875rem}.product-stock-value.high{background:#d1fae5;color:#065f46}.product-stock-value.medium{background:#fef3c7;color:#92400e}.product-stock-value.low{background:#fee2e2;color:#991b1b}.product-stock-value.zero{background:#f3f4f6;color:#6b7280}.product-tags-cell{min-width:150px}.product-tags{display:flex;flex-wrap:wrap;gap:.25rem}.product-tag{display:inline-block;padding:.125rem .5rem;background:#e0e7ff;color:#3730a3;border-radius:4px;font-size:.75rem;font-weight:500}.product-tag.more{background:#f3f4f6;color:#6b7280}.product-status-cell{text-align:center;min-width:100px}.product-status-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.product-status-badge.activo{background:#d1fae5;color:#065f46}.product-status-badge.inactivo{background:#f3f4f6;color:#6b7280}.product-status-badge.descontinuado{background:#fee2e2;color:#991b1b}.product-actions-cell{text-align:center;min-width:120px}.product-actions{display:flex;gap:.5rem;justify-content:center}.product-action-btn{padding:.5rem;background:transparent;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s;font-size:.875rem}.product-action-btn:hover{background:#f9fafb;border-color:#9ca3af}.product-action-btn.edit:hover{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.product-action-btn.delete:hover{background:#fee2e2;border-color:#ef4444;color:#991b1b}.products-table-empty{padding:3rem;text-align:center}.products-table-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.3}.products-table-empty h3{color:#374151;margin-bottom:.5rem}.products-table-empty p{color:#9ca3af;font-size:.875rem}.products-table-loading{padding:3rem;text-align:center}.loading-spinner-table{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.table-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.5rem;background:var(--color-bg-primary);border-radius:12px;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.table-filter-group{display:flex;flex-direction:column;gap:.5rem}.table-filter-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.table-filter-select{padding:.625rem;border:1px solid var(--color-border);border-radius:8px;font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;transition:all .2s}.table-filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}@media(max-width:1024px){.products-table{font-size:.8125rem}.products-table th,.products-table td{padding:.75rem .5rem}.product-desc-cell{max-width:200px}}@media(max-width:768px){.products-view-toggle{flex-direction:column}.table-filters{grid-template-columns:1fr}.products-table-wrapper{overflow-x:scroll;-webkit-overflow-scrolling:touch}}.categories-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.categories-form-section{background:var(--color-bg-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);height:fit-content}.categories-form{display:flex;flex-direction:column;gap:1rem}.form-textarea{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:.875rem;background:var(--color-bg-primary);color:var(--color-text-primary);resize:vertical;transition:border-color .2s ease}.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.categories-list-section{background:var(--color-bg-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.categories-grid{display:grid;gap:1rem}.category-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem;transition:all .2s ease}.category-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.category-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.category-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.category-status{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.category-status.active{background:#dcfce7;color:#166534}.category-status.inactive{background:#fee2e2;color:#991b1b}.category-description{color:var(--color-text-secondary);font-size:.875rem;margin:.5rem 0;line-height:1.4}.category-meta{display:flex;justify-content:space-between;align-items:center;margin:.75rem 0;font-size:.75rem;color:var(--color-text-secondary)}.category-level{background:var(--color-bg-tertiary);padding:.25rem .5rem;border-radius:6px;color:var(--color-text-primary)}.category-date{font-style:italic}.category-actions{display:flex;gap:.5rem;margin-top:1rem}.category-edit-btn,.category-delete-btn{flex:1;font-size:.75rem;padding:.5rem .75rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}.empty-state h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.empty-state p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}@media(max-width:768px){.categories-container{grid-template-columns:1fr;gap:1.5rem}.form-actions{flex-direction:column}.category-header,.category-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.category-actions{flex-direction:column}}.suppliers-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.suppliers-form-section{background:var(--color-bg-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);height:fit-content}.form-card{background:var(--color-bg-secondary);border-radius:8px;padding:1.5rem;border:1px solid var(--color-border)}.form-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-accent)}.suppliers-form{display:flex;flex-direction:column;gap:1rem}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.form-submit-btn{flex:1}.form-cancel-btn{min-width:100px}.suppliers-list-section{background:var(--color-bg-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.list-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.list-count{background:#06f;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.suppliers-grid{display:grid;gap:1rem}.supplier-card{background:var(--color-bg-secondary);border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s ease}.supplier-card:hover{border-color:#06f;box-shadow:0 2px 8px #0066ff1a}.supplier-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.supplier-name{font-size:1rem;font-weight:600;color:#1e293b;margin:0;flex:1}.supplier-status{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.supplier-status.active{background:#dcfce7;color:#166534}.supplier-status.inactive{background:#fee2e2;color:#991b1b}.supplier-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.supplier-detail{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem}.detail-label{font-weight:500;color:#64748b;min-width:80px;flex-shrink:0}.detail-value{color:#374151;flex:1;word-break:break-word}.supplier-meta{display:flex;justify-content:flex-end;margin:1rem 0 .75rem;font-size:.75rem;color:#64748b}.supplier-date{font-style:italic}.supplier-actions{display:flex;gap:.5rem;margin-top:1rem}.supplier-edit-btn,.supplier-delete-btn{flex:1;font-size:.75rem;padding:.5rem .75rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#64748b}.loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #0066ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#64748b}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 .5rem}.empty-state p{margin:0;font-size:.875rem}@media(max-width:768px){.suppliers-container{grid-template-columns:1fr;gap:1.5rem}.form-actions{flex-direction:column}.supplier-header{flex-direction:column;align-items:flex-start;gap:.5rem}.supplier-detail{flex-direction:column;gap:.25rem}.detail-label{min-width:auto}.supplier-actions{flex-direction:column}}.inventory-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--color-bg-primary);padding:8px;border-radius:12px;box-shadow:var(--shadow-sm);overflow-x:auto}.inventory-tab{flex:1;min-width:150px;padding:12px 20px;border:none;background:transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.inventory-tab:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.inventory-tab.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.inventory-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:var(--color-bg-primary);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-accent);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.stat-warning{border-left-color:#f59e0b}.stat-card.stat-danger{border-left-color:#ef4444}.stat-card.stat-success{border-left-color:#10b981}.stat-icon{font-size:2.5rem;line-height:1;color:var(--color-text-primary)}.stat-info{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.875rem;color:var(--color-text-secondary)!important;font-weight:500}.stat-value{font-size:2rem;font-weight:700;color:var(--color-text-primary)!important;line-height:1}.inventory-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;background:var(--color-bg-primary);padding:24px;border-radius:12px;box-shadow:var(--shadow-sm)}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.filter-select{padding:10px 12px;border:2px solid var(--color-border);border-radius:8px;font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:var(--color-border-hover)}.filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.inventory-list{background:var(--color-bg-primary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.inventory-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--color-border)}.inventory-table{overflow-x:auto}.inventory-table table{width:100%;border-collapse:collapse}.inventory-table thead{background:var(--color-bg-secondary)}.inventory-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border)}.inventory-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.inventory-table tbody tr:hover{background:var(--color-bg-secondary)}.inventory-table td{padding:16px;font-size:.875rem;color:var(--color-text-primary)}.product-cell{min-width:250px}.product-info strong{color:var(--color-text-primary);font-weight:600}.product-brand{font-size:.75rem;color:var(--color-text-secondary)}.location-badge{background:#e0e7ff;color:#4f46e5;padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600;font-family:Courier New,monospace}.stock-cell{text-align:center;font-weight:700;font-size:1.125rem}.stock-value{padding:6px 12px;border-radius:8px;display:inline-block;min-width:50px}.stock-value.stock-critical{background:#fee2e2;color:#dc2626}.stock-value.stock-low{background:#fef3c7;color:#d97706}.stock-value.stock-normal{background:#d1fae5;color:#059669}.stock-value.stock-high{background:#dbeafe;color:#2563eb}.stock-value.stock-empty{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.minmax-cell{font-size:.75rem;color:var(--color-text-secondary);text-align:center}.minmax-values{background:var(--color-bg-secondary);padding:4px 8px;border-radius:6px;font-family:Courier New,monospace}.status-badge{padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.status-critical{background:#fee2e2;color:#dc2626}.status-badge.status-low{background:#fef3c7;color:#d97706}.status-badge.status-normal{background:#d1fae5;color:#059669}.status-badge.status-high{background:#dbeafe;color:#2563eb}.date-cell{font-size:.75rem;color:var(--color-text-secondary)}.text-center,.actions-cell{text-align:center}.type-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block;text-transform:capitalize}.status-badge.status-activa{background:#d1fae5;color:#059669}.status-badge.status-cerrada{background:#e5e7eb;color:#374151}.status-badge.status-inactiva{background:#fee2e2;color:#dc2626}.action-btn-small{padding:6px 12px!important;font-size:.75rem!important;min-width:auto!important}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:var(--color-bg-secondary);color:#374151}.product-summary{background:#f9fafb;padding:16px;border-radius:12px;margin-bottom:24px}.product-summary h3{margin:0 0 12px;font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.product-summary p{margin:6px 0;font-size:.875rem;color:var(--color-text-secondary)}.current-stock{font-size:1.25rem;font-weight:700;color:#3b82f6}.adjust-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:.875rem;font-weight:600;color:#374151}.form-select{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;color:var(--color-text-primary);background:#fff;cursor:pointer;transition:all .2s ease}.form-select:hover{border-color:#d1d5db}.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;color:var(--color-text-primary);font-family:inherit;resize:vertical;transition:all .2s ease}.form-textarea:hover{border-color:#d1d5db}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.stock-preview{background:#eff6ff;border:2px solid #3b82f6;border-radius:12px;padding:16px;margin-top:8px}.stock-preview p{margin:0;font-size:.875rem;color:#1e40af}.preview-value{font-size:1.5rem;font-weight:700;color:#1e40af}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:2px solid #e5e7eb}.empty-state h3{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:#374151}.empty-state p{margin:0;color:var(--color-text-secondary);font-size:.875rem}@media(max-width:1024px){.inventory-stats{grid-template-columns:repeat(2,1fr)}.inventory-filters{grid-template-columns:1fr}}@media(max-width:768px){.inventory-stats{grid-template-columns:1fr}.inventory-table{font-size:.75rem}.inventory-table th,.inventory-table td{padding:8px}.product-cell{min-width:200px}.stat-value{font-size:1.5rem}.modal-content{width:95%}.dashboard-header{flex-direction:column;gap:16px}.dashboard-actions{width:100%;justify-content:stretch}.dashboard-actions button{flex:1}}.ubicaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:16px;margin-bottom:20px}.ubicacion-card{background:var(--color-bg-primary);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);border:2px solid transparent;transition:all .3s ease;cursor:pointer}.ubicacion-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626;transform:translateY(-2px)}.ubicacion-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.ubicacion-nombre{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.ubicacion-tipo{font-size:.75rem;padding:4px 12px;border-radius:12px;font-weight:600;text-transform:uppercase}.ubicacion-tipo.tipo-bodega{background:#3b82f61a;color:#3b82f6}.ubicacion-tipo.tipo-estanteria{background:#10b9811a;color:#10b981}.ubicacion-tipo.tipo-otro{background:#9ca3af1a;color:#6b7280}.ubicacion-stats{margin-bottom:16px}.ubicacion-stat{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ubicacion-stat .stat-label{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.ubicacion-stat .stat-value{font-size:1.5rem;font-weight:700;color:#3b82f6}.ubicacion-breakdown{display:flex;flex-direction:column;gap:12px;margin-top:16px}.breakdown-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--color-bg-secondary);border-radius:8px}.breakdown-icon{font-size:1.5rem}.breakdown-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.breakdown-value{font-size:.875rem;color:var(--color-text-primary);font-weight:600;margin-top:4px}.ubicacion-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--color-border)}.ubicacion-productos{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.ubicacion-action{font-size:.875rem;color:#3b82f6;font-weight:600;transition:transform .2s ease}.ubicacion-card:hover .ubicacion-action{transform:translate(4px)}.compact-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:12px;margin-bottom:16px}.compact-card{padding:14px}.stock-general-section{margin-top:20px;padding-top:16px;border-top:2px solid var(--color-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.section-count{font-size:.875rem;color:var(--color-text-secondary);font-weight:600;padding:6px 12px;background:var(--color-bg-secondary);border-radius:8px}.ubicacion-buttons{display:flex;gap:8px;margin-bottom:24px;padding:12px;background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-sm);overflow-x:auto;flex-wrap:wrap}.ubicacion-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ubicacion-btn:hover{border-color:#3b82f6;background:#3b82f61a;color:#3b82f6}.ubicacion-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.ubicacion-btn-count{padding:2px 8px;background:#fff3;border-radius:12px;font-size:.75rem;font-weight:700}.ubicacion-btn.active .ubicacion-btn-count{background:#ffffff4d}.shortcut-hint{margin-left:8px;padding:2px 6px;border-radius:6px;font-size:.7rem;font-weight:600;background:#0f172a0f;color:var(--color-text-secondary);font-family:Courier New,monospace}.readonly-badge{display:inline-block;padding:2px 8px;margin-left:8px;background:#ef44441a;color:#ef4444;font-size:.75rem;font-weight:600;border-radius:4px;vertical-align:middle}.box-badge{display:inline-block;padding:4px 10px;background:#3b82f61a;color:#3b82f6;font-size:.875rem;font-weight:600;border-radius:6px;font-family:Courier New,monospace}.loose-badge{display:inline-block;padding:4px 10px;background:#9ca3af1a;color:#6b7280;font-size:.875rem;font-weight:500;border-radius:6px;font-style:italic}.text-muted{color:var(--color-text-secondary);font-style:italic}.supplier-badge{display:inline-block;padding:4px 10px;background:#7c3aed1a;color:#7c3aed;font-size:.875rem;font-weight:600;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:1024px){.ubicaciones-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.ubicaciones-grid{grid-template-columns:1fr}.ubicacion-buttons{flex-direction:column;align-items:stretch}.ubicacion-btn{justify-content:space-between}.ubicacion-breakdown{gap:8px}.breakdown-item{padding:8px}}.bulk-approval-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-out}.bulk-approval-modal{background:var(--card-bg);border-radius:12px;padding:2rem;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}[data-theme=dark] .bulk-approval-modal{background:var(--dark-card-bg);box-shadow:0 20px 60px #0009}.bulk-approval-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.bulk-approval-modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.bulk-approval-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem .5rem;transition:all .2s;border-radius:6px}.bulk-approval-close-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.bulk-approval-summary{background:var(--info-bg);border:1px solid var(--info-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}[data-theme=dark] .bulk-approval-summary{background:#3b82f61a;border-color:#3b82f64d}.bulk-approval-summary h3{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--info-text)}.bulk-approval-summary p{margin:0;font-size:1.75rem;font-weight:700;color:var(--info-text)}.bulk-approval-global-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.bulk-approval-global-btn{padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.bulk-approval-global-btn.approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.bulk-approval-global-btn.approve:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.bulk-approval-global-btn.reject{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.bulk-approval-global-btn.reject:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.bulk-approval-global-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.bulk-approval-section{margin-bottom:2rem}.bulk-approval-section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.bulk-approval-type-list{display:flex;flex-direction:column;gap:.75rem}.bulk-approval-type-item{display:flex;align-items:center;justify-content:space-between;background:var(--hover-bg);padding:1rem;border-radius:8px;border:1px solid var(--border-color)}[data-theme=dark] .bulk-approval-type-item{background:#ffffff0d;border-color:#ffffff1a}.bulk-approval-type-info{flex:1}.bulk-approval-type-name{font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:.25rem}.bulk-approval-type-count{font-size:.85rem;color:var(--text-secondary)}.bulk-approval-type-count .count{font-weight:700;color:var(--primary-color)}.bulk-approval-type-actions{display:flex;gap:.5rem}.bulk-approval-type-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem}.bulk-approval-type-btn.approve{background:#10b981;color:#fff}.bulk-approval-type-btn.approve:hover{background:#059669;transform:scale(1.05)}.bulk-approval-type-btn.reject{background:#ef4444;color:#fff}.bulk-approval-type-btn.reject:hover{background:#dc2626;transform:scale(1.05)}.bulk-approval-envio-list{display:flex;flex-direction:column;gap:.75rem}.bulk-approval-envio-item{display:flex;align-items:center;justify-content:space-between;background:var(--hover-bg);padding:1rem;border-radius:8px;border:1px solid var(--border-color)}[data-theme=dark] .bulk-approval-envio-item{background:#ffffff0d;border-color:#ffffff1a}.bulk-approval-envio-info{flex:1}.bulk-approval-envio-number{font-weight:700;color:var(--primary-color);font-size:1rem;margin-bottom:.25rem}.bulk-approval-envio-count{font-size:.85rem;color:var(--text-secondary)}.bulk-approval-envio-actions{display:flex;gap:.5rem}.bulk-approval-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.bulk-approval-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}.bulk-approval-loading-text{color:var(--text-secondary);font-size:1rem}.bulk-approval-empty{text-align:center;padding:3rem;color:var(--text-secondary)}.bulk-approval-empty-icon{font-size:3rem;margin-bottom:1rem}.bulk-approval-empty-text{font-size:1.125rem;font-weight:600}@media(max-width:768px){.bulk-approval-modal{width:95%;padding:1.5rem;max-height:95vh}.bulk-approval-modal-title{font-size:1.25rem}.bulk-approval-global-actions{grid-template-columns:1fr}.bulk-approval-type-item,.bulk-approval-envio-item{flex-direction:column;align-items:flex-start;gap:1rem}.bulk-approval-type-actions,.bulk-approval-envio-actions{width:100%;justify-content:stretch}.bulk-approval-type-btn{flex:1}}.bulk-import-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}.bulk-import-modal-content{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease-out}.bulk-import-modal-content.dark{background:#1f2937;color:#f3f4f6}.bulk-import-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e5e7eb}.bulk-import-modal-content.dark .bulk-import-modal-header{border-bottom-color:#374151}.bulk-import-modal-title{font-size:1.5rem;font-weight:700;margin:0;color:#111827}.bulk-import-modal-content.dark .bulk-import-modal-title{color:#f3f4f6}.bulk-import-modal-subtitle{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.bulk-import-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.bulk-import-modal-close:hover{background:#f3f4f6;color:#111827}.bulk-import-modal-content.dark .bulk-import-modal-close:hover{background:#374151;color:#f3f4f6}.bulk-import-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.bulk-import-step-info{margin-bottom:1.5rem}.bulk-import-step-info h3{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:#111827}.bulk-import-modal-content.dark .bulk-import-step-info h3{color:#f3f4f6}.bulk-import-step-info p{color:#6b7280;margin:0;font-size:.875rem}.bulk-import-download-section{background:#f0f9ff;border:2px dashed #3b82f6;border-radius:12px;padding:1.5rem;text-align:center;margin-bottom:1.5rem}.bulk-import-modal-content.dark .bulk-import-download-section{background:#1e3a5f;border-color:#60a5fa}.bulk-import-help-text{margin-top:.75rem;font-size:.875rem;color:#6b7280}.bulk-import-dropzone{border:3px dashed #d1d5db;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:#f9fafb}.bulk-import-modal-content.dark .bulk-import-dropzone{border-color:#4b5563;background:#111827}.bulk-import-dropzone:hover{border-color:#3b82f6;background:#eff6ff}.bulk-import-modal-content.dark .bulk-import-dropzone:hover{border-color:#60a5fa;background:#1e3a5f}.bulk-import-dropzone.dragging{border-color:#10b981;background:#d1fae5;transform:scale(1.02)}.bulk-import-modal-content.dark .bulk-import-dropzone.dragging{border-color:#34d399;background:#064e3b}.bulk-import-dropzone-icon{font-size:3rem;margin-bottom:1rem}.bulk-import-dropzone-text{font-size:1rem;font-weight:600;color:#374151;margin:0}.bulk-import-modal-content.dark .bulk-import-dropzone-text{color:#d1d5db}.bulk-import-dropzone-hint{font-size:.875rem;color:#9ca3af;margin:.5rem 0 0}.bulk-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px}.bulk-import-modal-content.dark .bulk-import-summary{background:#111827}.bulk-import-summary-item{display:flex;flex-direction:column;gap:.25rem}.bulk-import-summary-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:600}.bulk-import-summary-value{font-size:1.125rem;font-weight:700;color:#111827}.bulk-import-modal-content.dark .bulk-import-summary-value{color:#f3f4f6}.bulk-import-summary-value.success{color:#10b981}.bulk-import-summary-value.error{color:#ef4444}.bulk-import-errors-section{background:#fef2f2;border:2px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.bulk-import-modal-content.dark .bulk-import-errors-section{background:#7f1d1d;border-color:#ef4444}.bulk-import-errors-section h4{margin:0 0 1rem;color:#991b1b;font-size:1rem}.bulk-import-modal-content.dark .bulk-import-errors-section h4{color:#fca5a5}.bulk-import-errors-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.bulk-import-error-item{display:flex;gap:.5rem;font-size:.875rem;padding:.5rem;background:#fff;border-radius:6px}.bulk-import-modal-content.dark .bulk-import-error-item{background:#1f2937}.bulk-import-error-fila{background:#ef4444;color:#fff;padding:.125rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem}.bulk-import-error-columna{color:#b91c1c;font-weight:600}.bulk-import-modal-content.dark .bulk-import-error-columna{color:#fca5a5}.bulk-import-error-text{color:#991b1b}.bulk-import-modal-content.dark .bulk-import-error-text{color:#fecaca}.bulk-import-error-help{margin-top:1rem;padding-top:1rem;border-top:1px solid #fecaca}.bulk-import-modal-content.dark .bulk-import-error-help{border-top-color:#7f1d1d}.bulk-import-error-help p{margin:0;font-size:.875rem;color:#991b1b}.bulk-import-modal-content.dark .bulk-import-error-help p{color:#fca5a5}.bulk-import-warnings-section{background:#fffbeb;border:2px solid #fde68a;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.bulk-import-modal-content.dark .bulk-import-warnings-section{background:#78350f;border-color:#f59e0b}.bulk-import-warnings-section h4{margin:0 0 .75rem;color:#92400e;font-size:1rem}.bulk-import-modal-content.dark .bulk-import-warnings-section h4{color:#fcd34d}.bulk-import-warnings-list{margin:0;padding-left:1.5rem;list-style:none}.bulk-import-warnings-list li{font-size:.875rem;color:#78350f;margin-bottom:.5rem;position:relative}.bulk-import-modal-content.dark .bulk-import-warnings-list li{color:#fde68a}.bulk-import-warnings-list li:before{content:"⚠️";position:absolute;left:-1.5rem}.bulk-import-items-section{margin-bottom:1.5rem}.bulk-import-items-section h4{margin:0 0 1rem;color:#059669;font-size:1rem}.bulk-import-modal-content.dark .bulk-import-items-section h4{color:#6ee7b7}.bulk-import-items-table-container{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.bulk-import-modal-content.dark .bulk-import-items-table-container{border-color:#374151}.bulk-import-items-table{width:100%;border-collapse:collapse;font-size:.875rem}.bulk-import-items-table thead{background:#f9fafb;position:sticky;top:0;z-index:1}.bulk-import-modal-content.dark .bulk-import-items-table thead{background:#111827}.bulk-import-items-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.bulk-import-modal-content.dark .bulk-import-items-table th{color:#d1d5db;border-bottom-color:#374151}.bulk-import-items-table td{padding:.75rem;border-bottom:1px solid #f3f4f6}.bulk-import-modal-content.dark .bulk-import-items-table td{border-bottom-color:#1f2937}.bulk-import-items-table tbody tr:hover{background:#f9fafb}.bulk-import-modal-content.dark .bulk-import-items-table tbody tr:hover{background:#1f2937}.bulk-import-sku{font-family:Courier New,monospace;font-weight:600;color:#3b82f6}.bulk-import-modal-content.dark .bulk-import-sku{color:#60a5fa}.bulk-import-descripcion{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-import-cantidad{font-weight:600;color:#059669}.bulk-import-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.bulk-import-modal-content.dark .bulk-import-actions{border-top-color:#374151}.bulk-import-warning-box{background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;padding:1rem;margin-top:1rem}.bulk-import-modal-content.dark .bulk-import-warning-box{background:#78350f;border-color:#f59e0b}.bulk-import-warning-box p{margin:0;font-size:.875rem;color:#92400e}.bulk-import-modal-content.dark .bulk-import-warning-box p{color:#fde68a}.bulk-import-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;color:#991b1b;font-size:.875rem;margin-top:1rem}.bulk-import-modal-content.dark .bulk-import-error-message{background:#7f1d1d;border-color:#ef4444;color:#fca5a5}.bulk-import-processing{text-align:center;padding:3rem 2rem}.bulk-import-processing h3{margin:1.5rem 0 .5rem;color:#111827}.bulk-import-modal-content.dark .bulk-import-processing h3{color:#f3f4f6}.bulk-import-processing p{color:#6b7280;margin:0}.bulk-import-success{text-align:center;padding:3rem 2rem}.bulk-import-success-icon{font-size:4rem;margin-bottom:1rem}.bulk-import-success h3{color:#059669;margin:0 0 .75rem}.bulk-import-success p{color:#6b7280;margin:.5rem 0}.bulk-import-success-hint{font-size:.875rem;color:#9ca3af;margin-top:1rem}.bulk-import-error{text-align:center;padding:3rem 2rem}.bulk-import-error-icon{font-size:4rem;margin-bottom:1rem}.bulk-import-error h3{color:#dc2626;margin:0 0 .75rem}.bulk-import-modal-content.dark .bulk-import-error h3{color:#f87171}.bulk-import-error p{color:#991b1b;margin:.5rem 0}.bulk-import-modal-content.dark .bulk-import-error p{color:#fca5a5}.bulk-import-spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.bulk-import-spinner-large{width:60px;height:60px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.bulk-import-modal-content.dark .bulk-import-spinner,.bulk-import-modal-content.dark .bulk-import-spinner-large{border-color:#374151;border-top-color:#60a5fa}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.bulk-import-modal-content{max-width:100%;margin:0;border-radius:0;max-height:100vh}.bulk-import-modal-header,.bulk-import-modal-body{padding:1rem}.bulk-import-items-table{font-size:.75rem}.bulk-import-items-table th,.bulk-import-items-table td{padding:.5rem}.bulk-import-dropzone{padding:2rem 1rem}}@media(max-width:768px){.hide-mobile{display:none!important}}@media(max-width:1024px){.hide-tablet{display:none!important}}.movements-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.movements-table table{min-width:600px}@media(max-width:768px){.movements-table table{min-width:100%;font-size:.85rem}.action-btn-small{padding:4px 8px!important;font-size:.85rem!important}.type-badge,.status-badge{padding:4px 6px!important;font-size:.75rem!important}}.movements-form-container{background:var(--color-bg-primary);border-radius:12px;padding:24px;margin-bottom:30px;box-shadow:var(--shadow-sm)}.form-card{display:flex;flex-direction:column;gap:24px}.form-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);padding-bottom:16px}.form-section{display:flex;flex-direction:column;gap:16px}.section-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.form-group-button{display:flex;align-items:flex-end}.form-select{padding:10px 12px;border:2px solid var(--color-border);border-radius:8px;font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;transition:all .2s ease}.form-select:hover{border-color:var(--color-border-hover)}.form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-select-large{font-size:.9375rem;font-weight:600;padding:12px 16px}.radio-group{display:flex;gap:16px;flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--color-bg-primary)}.radio-option:hover{border-color:#3b82f6;background:#eff6ff}.radio-option input[type=radio]{cursor:pointer}.radio-option input[type=radio]:checked+span{font-weight:600;color:#3b82f6}.radio-option span{font-size:.875rem;color:var(--color-text-primary)}.add-item-btn{width:100%}.movement-info-card{background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:12px;padding:16px;margin-top:12px}.info-header{display:flex;align-items:center;gap:16px}.info-icon{font-size:2.5rem;line-height:1}.info-header>div{flex:1}.info-title{margin:0 0 4px;font-size:1rem;font-weight:700;color:#1e40af}.info-description{margin:0;font-size:.875rem;color:#1e40af;line-height:1.4}.info-action{padding:8px 16px;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.info-action.action-suma{background:#d1fae5;color:#059669}.info-action.action-resta{background:#fee2e2;color:#dc2626}.info-action.action-mueve{background:#e0e7ff;color:#4f46e5}.info-action.action-ajusta{background:#fef3c7;color:#d97706}.adjustment-info-card{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;padding:16px;margin-top:12px}.info-content{display:flex;flex-direction:column;gap:4px;font-size:.875rem}.info-content strong{color:#92400e;font-weight:700}.info-content span{color:#78350f;line-height:1.4}.temp-items-list{background:var(--color-bg-secondary);border:2px dashed #d1d5db;border-radius:12px;padding:16px}.temp-items-table{width:100%;border-collapse:collapse;background:var(--color-bg-primary);border-radius:8px;overflow:hidden}.temp-items-table thead{background:var(--color-bg-secondary)}.temp-items-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border)}.temp-items-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.temp-items-table tbody tr:hover{background:var(--color-bg-secondary)}.temp-items-table td{padding:12px 16px;font-size:.875rem;color:var(--color-text-primary)}.temp-items-summary{margin-top:16px;padding:12px;background:var(--color-bg-secondary);border-radius:8px;border:2px solid var(--color-accent)}.temp-items-summary p{margin:0;font-size:.875rem;color:var(--color-text-primary);font-weight:600}.remove-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:4px;border-radius:4px;transition:all .2s ease}.remove-btn:hover{background:#fee2e2;transform:scale(1.1)}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:2px solid #e5e7eb}.movements-list-container{background:var(--color-bg-primary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--color-border)}.list-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.list-count{font-size:.875rem;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:6px 12px;border-radius:20px;font-weight:500}.movements-table{overflow-x:auto}.movements-table table{width:100%;border-collapse:collapse}.movements-table thead{background:var(--color-bg-secondary)}.movements-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border);white-space:nowrap}.movements-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.movements-table tbody tr:hover{background:var(--color-bg-secondary)}.movements-table td{padding:16px;font-size:.875rem;color:var(--color-text-primary)}.movement-row.status-pendiente{background:#fffbeb}.movement-row.status-aprobado{background:#f0fdf4}.movement-row.status-rechazado{background:#fef2f2}[data-theme=dark] .movement-row.status-pendiente{background:#fbbf2426}[data-theme=dark] .movement-row.status-aprobado{background:#22c55e26}[data-theme=dark] .movement-row.status-rechazado{background:#ef444426}[data-theme=dark] .movement-row td{color:var(--color-text-primary)!important}[data-theme=dark] .movement-row .sku-cell,[data-theme=dark] .movement-row td:not(.actions-cell){color:#e2e8f0!important}.id-cell{font-family:Courier New,monospace;font-weight:700;color:#6366f1}.sku-cell{font-family:Courier New,monospace;font-weight:600;color:var(--color-text-primary)}.text-center{text-align:center}.date-cell{font-size:.75rem;color:#6b7280;white-space:nowrap}[data-theme=dark] .movement-row .date-cell{color:#cbd5e1!important}.actions-cell{text-align:center}.action-buttons{display:flex;gap:8px;justify-content:center}.action-btn-small{padding:6px 12px!important;font-size:.75rem!important;min-width:auto!important;white-space:nowrap}.action-text{font-size:.75rem;color:#6b7280;font-style:italic}.action-text.text-danger{color:#dc2626;cursor:help}[data-theme=dark] .movement-row .action-text{color:#cbd5e1!important}[data-theme=dark] .movement-row .action-text.text-danger{color:#fca5a5!important}.type-badge{padding:6px 12px;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block;white-space:nowrap}.type-badge.type-ingreso{background:#dbeafe;color:#1e40af}.type-badge.type-salida{background:#fef3c7;color:#92400e}.type-badge.type-transferencia{background:#e0e7ff;color:#4f46e5}.type-badge.type-ajuste{background:#f3e8ff;color:#7c3aed}.type-badge.type-general{background:#dbeafe;color:#1e40af}.type-badge.type-reserva{background:#fef3c7;color:#92400e}.type-badge.type-damaged{background:#fee2e2;color:#991b1b}.status-badge{padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;display:inline-block;white-space:nowrap}.status-badge.status-pendiente{background:#fef3c7;color:#92400e}.status-badge.status-aprobado{background:#d1fae5;color:#059669}.status-badge.status-rechazado{background:#fee2e2;color:#dc2626}.stock-badge{padding:6px 12px;border-radius:20px;font-size:.875rem;font-weight:700;display:inline-block;white-space:nowrap;min-width:50px;text-align:center}.stock-badge.stock-actual{background:var(--color-bg-secondary);color:var(--color-text-primary);border:2px solid var(--color-border)}.stock-badge.stock-positive{background:#d1fae5;color:#059669;border:2px solid #10b981;font-weight:700}.stock-badge.stock-zero{background:#fef3c7;color:#92400e;border:2px solid #f59e0b}.stock-badge.stock-negative{background:#fee2e2;color:#dc2626;border:2px solid #ef4444;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}[data-theme=dark] .stock-badge.stock-actual{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}[data-theme=dark] .stock-badge.stock-positive{background:#14532d;color:#86efac}[data-theme=dark] .stock-badge.stock-zero{background:#422006;color:#fcd34d}[data-theme=dark] .stock-badge.stock-negative{background:#7f1d1d;color:#fca5a5}.quantity-badge{background:#eff6ff;color:#1e40af;padding:4px 12px;border-radius:8px;font-weight:700;font-family:Courier New,monospace}.location-badge{background:#e0e7ff;color:#4f46e5;padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.box-badge{background:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600;font-family:Courier New,monospace;white-space:nowrap}.loose-badge{background:var(--color-bg-secondary);color:#6b7280;padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.alert{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-size:.875rem;font-weight:500;position:relative;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.alert-error{background:#fee2e2;color:#dc2626;border:2px solid #fca5a5}.alert-success{background:#d1fae5;color:#059669;border:2px solid #6ee7b7}.alert-close{background:none;border:none;font-size:1.5rem;color:currentColor;cursor:pointer;padding:0;margin-left:auto;opacity:.6;transition:opacity .2s ease}.alert-close:hover{opacity:1}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.empty-state p{margin:0;color:#6b7280;font-size:.875rem}@media(max-width:1024px){.form-row{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column;gap:4px}.action-btn-small{width:100%}}@media(max-width:768px){.form-row{grid-template-columns:1fr}.radio-group{flex-direction:column;gap:8px}.movements-table{font-size:.75rem}.movements-table th,.movements-table td,.temp-items-table th,.temp-items-table td{padding:8px}.dashboard-header{flex-direction:column;gap:16px}.dashboard-actions,.dashboard-actions button{width:100%}.info-header{flex-direction:column;text-align:center;gap:12px}.info-icon{font-size:2rem}.info-action{width:100%;text-align:center}}@media(max-width:640px){.movements-table table,.temp-items-table{font-size:.7rem}.type-badge,.status-badge,.quantity-badge,.location-badge,.box-badge,.loose-badge{padding:3px 8px;font-size:.65rem}.search-container .form-input{min-width:200px}}.search-container{display:flex;gap:8px;align-items:center;position:relative;width:100%}.search-container .form-input{flex:1;min-width:300px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--color-bg-primary);color:var(--color-text-primary)}.search-container .form-input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.search-container .form-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.search-container .search-btn{min-width:50px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:16px;transition:all .2s ease}.search-container .search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.search-container .search-btn:disabled{opacity:.5;cursor:not-allowed}.product-found{margin-top:12px;padding:16px;background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:12px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.product-info{display:flex;flex-direction:column;gap:4px}.product-info strong{color:var(--color-accent);font-size:14px}.product-info span{color:var(--color-text-secondary);font-size:13px}.clear-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.clear-btn:hover{background:var(--color-bg-secondary);color:var(--color-error)}.error-message{margin-top:12px;padding:12px;background:var(--color-bg-secondary);border:2px solid var(--color-error);border-radius:8px;color:var(--color-error);font-size:13px;font-weight:500;box-shadow:var(--shadow-sm);animation:shake .3s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.stock-info-card{margin-top:16px;padding:16px;background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:12px;box-shadow:var(--shadow-md)}.stock-ubicacion{padding:12px;background:var(--color-bg-primary);border-radius:8px;margin-bottom:8px;border-left:3px solid var(--color-border-hover);transition:all .2s ease}.stock-ubicacion:last-child{margin-bottom:0}.stock-ubicacion.recomendada{border-left-color:var(--color-accent);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);border:2px solid var(--color-accent)}.stock-ubicacion-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--color-text-primary);font-size:.9rem}.badge-recomendada{padding:2px 8px;background:#3b82f6;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.stock-detalle{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--color-text-secondary)}.stock-item{display:flex;align-items:center;gap:4px}.stock-item strong{color:var(--color-text-primary);font-weight:600}:root{--primary-blue: #0066FF;--primary-blue-dark: #0052CC;--primary-blue-darker: #003D99;--navy-blue: #1a237e;--navy-blue-dark: #0d1442;--navy-blue-light: #283593;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--white: #FFFFFF;--background-light: #FFFFFF}.dashboard-layout{min-height:100vh;background-color:var(--color-bg-primary)}.dashboard-main{margin-left:0;transition:margin-left .3s ease-in-out;min-height:calc(100vh - 70px);margin-top:70px}.dashboard-main-content{width:100%;min-height:calc(100vh - 70px);overflow-x:auto}@media(min-width:1024px){.dashboard-main{margin-left:0;margin-top:0}.dashboard-main-sidebar-open{margin-left:clamp(260px,20vw,300px);margin-top:0}}@media(min-width:769px)and (max-width:1023px){.dashboard-main-sidebar-open{margin-left:clamp(240px,30vw,280px);margin-top:0}}@media(max-width:768px){.dashboard-main-sidebar-open{margin-left:clamp(260px,80vw,300px);margin-top:0}}@media(max-width:480px){.dashboard-main-sidebar-open{margin-left:100vw;max-width:320px;margin-top:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-main-content{animation:fadeIn .3s ease-out}.dashboard-main-content::-webkit-scrollbar{width:8px;height:8px}.dashboard-main-content::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dashboard-main-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.dashboard-main-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.finanzas-nav{display:flex;gap:8px;margin-bottom:24px;background:var(--color-bg-primary);padding:8px;border-radius:12px;box-shadow:var(--shadow-sm);overflow-x:auto}.nav-btn{flex:1;min-width:150px;padding:12px 20px;border:none;background:transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.nav-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.nav-btn.active{background:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-md)}.finanzas-content{background:var(--color-bg-primary);border-radius:16px;padding:24px;box-shadow:var(--shadow-md);min-height:500px}.products-section{width:100%}.search-section{margin-bottom:24px}.search-input{width:100%;max-width:400px;padding:12px 16px;border:2px solid var(--color-border);border-radius:12px;font-size:.875rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.product-card{background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a;border-color:#10b981}.product-card.selected{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);box-shadow:0 8px 25px #10b98133}.product-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.product-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#1f2937}.status{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status.activo{background:#dcfce7;color:#166534}.status.inactivo{background:#fef3c7;color:#92400e}.status.descontinuado{background:#fee2e2;color:#991b1b}.product-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#9ca3af}.product-meta span{display:flex;align-items:center;gap:4px}.history-section h2{color:var(--color-text-primary)!important;font-size:1.5rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:8px}.history-table{overflow-x:auto;border-radius:12px;border:1px solid var(--color-border)}.history-table table{width:100%;border-collapse:collapse;background:var(--color-bg-primary)}.history-table th{background:var(--color-bg-secondary);padding:16px;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);font-size:.875rem}.history-table td{padding:16px;border-bottom:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-primary)}.history-table tr:hover{background:var(--color-bg-secondary)}.price-cell{font-weight:700;color:#10b981!important;font-size:1rem}.action-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;background:#dbeafe;color:#1e40af}.stats-section h2{color:var(--color-text-primary)!important;font-size:1.5rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-card.highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;flex-shrink:0}.stat-card.highlight .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-content h3{margin:0 0 8px;font-size:.875rem;font-weight:600;color:var(--color-text-secondary)!important;text-transform:uppercase;letter-spacing:.05em}.stat-value{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)!important}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.empty-state p{font-size:1.1rem;margin:0;color:var(--color-text-secondary)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.1rem;color:#7f8c8d}.modal-content{background:var(--color-bg-primary);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-header h2{margin:0;color:#1f2937;font-size:1.25rem;font-weight:700}.close-btn{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#374151}.price-form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:.875rem}.form-input{width:100%;padding:12px 16px;border:2px solid var(--color-border);border-radius:8px;font-size:.875rem;transition:all .2s ease;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.form-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-textarea{width:100%;padding:12px 16px;border:2px solid var(--color-border);border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;transition:all .2s ease}.form-textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-secondary{background:#f3f4f6;color:#374151;border:2px solid var(--color-border);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.finanzas-nav{flex-direction:column;gap:4px}.nav-btn{min-width:auto}.products-grid,.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}.stat-icon{width:50px;height:50px;font-size:1.5rem}.modal-content{margin:10px;max-width:none}.form-actions{flex-direction:column}.btn-secondary,.btn-primary{width:100%}}@media(max-width:480px){.finanzas-content,.product-card{padding:16px}.stat-card{padding:20px}.modal-header{padding:16px 16px 0}.price-form{padding:0 16px 16px}}.products-table-container{width:100%;overflow-x:auto;border-radius:16px;border:2px solid var(--color-border);background:var(--color-bg-primary);box-shadow:0 4px 12px #0000000d}.products-table{width:100%;min-width:1200px;border-collapse:collapse;font-size:.875rem}.products-table thead{background:var(--color-bg-secondary);position:sticky;top:0;z-index:10;border:2px solid var(--color-border)}.products-table th{padding:18px 12px;text-align:left;font-weight:700;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);white-space:nowrap;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.products-table tbody tr{border-bottom:1px solid var(--color-border);transition:all .2s ease}.products-table tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.products-table tbody tr:hover{background:var(--color-bg-tertiary)!important;transform:scale(1.005);box-shadow:var(--shadow-sm)}.products-table td{padding:16px 12px;color:var(--color-text-primary);vertical-align:middle}.product-row{transition:all .2s ease}.product-row:hover{background:#f9fafb;transform:scale(1.01)}.product-row.selected{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-left:4px solid #10b981;box-shadow:inset 0 0 0 1px #10b98133}.sku-cell{font-weight:700;color:var(--color-text-primary)!important;font-family:Courier New,monospace}.sku-cell small{font-weight:400;color:var(--color-text-secondary);font-size:.75rem;opacity:.8}.desc-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)!important}.marca-cell{font-weight:600;color:var(--color-text-primary)!important}.price-cell-high{color:#10b981!important;font-weight:700;background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:4px 8px!important;border-radius:6px;font-size:.9rem}.price-cell-avg{color:#6366f1!important;font-weight:700;background:linear-gradient(135deg,#eef2ff,#e0e7ff);padding:4px 8px!important;border-radius:6px;font-size:.9rem}.price-cell-current{color:#dc2626!important;font-weight:800;background:linear-gradient(135deg,#fef2f2,#fee2e2);padding:4px 8px!important;border-radius:6px;font-size:.95rem;box-shadow:0 2px 4px #dc26261a}.stock-cell{font-weight:700;color:var(--color-text-primary)!important;background:var(--color-bg-secondary);padding:4px 8px!important;border-radius:6px;text-align:center}.value-cell{font-weight:800;color:var(--color-text-primary)!important;font-size:.95rem;background:var(--color-bg-secondary);padding:4px 8px!important;border-radius:6px;text-align:right;box-shadow:var(--shadow-sm)}@media(max-width:1024px){.products-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.products-table{min-width:1400px}.products-table th,.products-table td{padding:12px 8px;font-size:.8rem}}.import-section{padding:24px}.import-section h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:24px}.import-instructions{background:var(--color-bg-secondary);padding:20px;border-radius:12px;margin-bottom:24px;border-left:4px solid #3b82f6}.import-instructions h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:12px}.import-instructions ol{margin:16px 0;padding-left:24px;color:var(--color-text-secondary)}.import-instructions li{margin-bottom:8px;line-height:1.6}.import-instructions code{background:var(--color-bg-primary);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;color:#3b82f6}.import-form{display:flex;flex-direction:column;gap:20px;align-items:center}.file-upload-area{width:100%;max-width:600px}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;background:var(--color-bg-secondary);border:2px dashed var(--color-border);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:center}.file-upload-label:hover{border-color:#3b82f6;background:#3b82f60d}.file-size,.file-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:4px}.import-result{width:100%;margin-top:32px}.result-summary{background:var(--color-bg-primary);padding:24px;border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:20px}.result-summary.success{border-left:4px solid #10b981}.result-summary.partial{border-left:4px solid #f59e0b}.result-summary h3{font-size:1.125rem;font-weight:600;margin-bottom:16px;color:var(--color-text-primary)}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.result-stat{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-secondary);border-radius:8px}.result-icon{font-size:2rem}.result-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.result-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.result-stat.success{border-left:3px solid #10b981}.result-stat.error{border-left:3px solid #ef4444}.error-list{background:var(--color-bg-primary);padding:20px;border-radius:12px;border:1px solid var(--color-border)}.error-list h4{font-size:1rem;font-weight:600;margin-bottom:16px;color:#ef4444}.error-table{width:100%;border-collapse:collapse}.error-table th{text-align:left;padding:12px;background:var(--color-bg-secondary);font-weight:600;font-size:.875rem;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border)}.error-table td{padding:12px;border-bottom:1px solid var(--color-border);font-size:.875rem}.error-message{color:#ef4444;font-weight:500}.more-errors{margin-top:12px;text-align:center;color:var(--color-text-secondary);font-size:.875rem;font-style:italic}.modal-large{max-width:90vw!important;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-body{flex:1;overflow-y:auto;padding:24px}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-top:2px solid var(--color-border);background:var(--color-bg-secondary)}.cancel-message{color:#ef4444;font-weight:600;font-size:.875rem;margin:0}.validation-summary{display:flex;gap:20px;padding:24px;border-radius:12px;margin-bottom:24px}.validation-summary.valid{background:#10b9811a;border:2px solid #10b981}.validation-summary.invalid{background:#ef44441a;border:2px solid #ef4444}.validation-icon{font-size:3rem}.validation-content h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;color:var(--color-text-primary)}.validation-content p{font-size:1rem;color:var(--color-text-secondary);margin-bottom:12px}.warning-box{background:#f59e0b1a;border-left:4px solid #f59e0b;padding:12px 16px;border-radius:6px;margin-top:12px;font-size:.875rem;color:var(--color-text-primary)}.preview-table-container{margin-bottom:24px}.preview-table-container h4{font-size:1rem;font-weight:600;margin-bottom:12px;color:var(--color-text-primary)}.preview-table-scroll{overflow-x:auto;border-radius:8px;border:1px solid var(--color-border)}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th{background:var(--color-bg-secondary);padding:12px 8px;text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap}.preview-table td{padding:10px 8px;border-bottom:1px solid var(--color-border)}.preview-table .row-ok{background:#10b9810d}.preview-table .row-error{background:#ef44440d}.preview-table .status-cell{font-size:1.2rem;text-align:center;width:50px}.preview-table .obs-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.success-text{color:#10b981;font-weight:500}.preview-note{margin-top:8px;text-align:center;font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.progress-bar-container{margin-top:20px;padding:16px 24px;background:var(--color-bg-secondary);border-top:2px solid var(--color-border)}.progress-bar{width:100%;height:24px;background:var(--color-bg-primary);border-radius:12px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.75rem}.progress-text{margin-top:8px;text-align:center;font-size:.875rem;color:var(--color-text-secondary);font-weight:600}.success-message{background:#10b9811a;border-left:4px solid #10b981;padding:12px 16px;border-radius:6px;margin-top:16px;color:#10b981;font-weight:600}.error-message-box{background:#ef44441a;border-left:4px solid #ef4444;padding:12px 16px;border-radius:6px;margin-top:16px;color:#ef4444;font-weight:600}.reports-container{padding:clamp(20px,4vw,40px);max-width:1200px;margin:0 auto}.reports-header{margin-bottom:32px}.reports-title{font-size:clamp(24px,5vw,32px);font-weight:700;color:var(--color-text-primary);margin-bottom:8px;display:flex;align-items:center;gap:12px}.reports-subtitle{font-size:16px;color:var(--color-text-secondary);margin:0;display:flex;align-items:center;gap:8px}.reports-subtitle strong{color:#3b82f6;font-weight:700}.reports-subtitle .readonly-badge{display:inline-block;padding:2px 8px;background:#ef44441a;color:#ef4444;font-size:.75rem;font-weight:600;border-radius:4px}.report-card{background:var(--color-bg-primary);border-radius:16px;padding:24px;margin-bottom:24px;border:2px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;gap:24px;align-items:flex-start}.report-card:hover:not(.disabled){border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-2px)}.report-card.disabled{opacity:.6;background:var(--color-bg-secondary)}.report-icon{font-size:48px;flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:var(--shadow-md)}.report-card.disabled .report-icon{background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-border) 100%)}.report-content{flex:1}.report-card-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.report-card-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.6}.report-card-features{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669;font-size:12px;font-weight:600;border-radius:6px;border:1px solid #d1fae5}.report-card.disabled .feature-tag{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb}.report-card-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-end;min-width:200px}.report-button{width:100%;padding:12px 24px;font-weight:700;border-radius:8px;transition:all .2s ease}.report-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.last-generated{font-size:12px;color:#6b7280;text-align:center}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-bg-primary)!important;color:var(--color-text-primary)!important;border-radius:16px;padding:0;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.modal-header{background:var(--color-bg-primary)!important;padding:24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:var(--color-text-primary)!important;font-size:1.5rem;font-weight:700}.modal-close{background:var(--color-bg-secondary);border:1px solid var(--color-border);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-body{padding:24px}@media(max-width:768px){.report-card{flex-direction:column;align-items:center;text-align:center}.report-card-actions,.report-button{width:100%}.modal-content{margin:10px;max-width:calc(100% - 20px)}}.configuration-page{max-width:1200px;margin:0 auto;padding:3rem 2rem;min-height:calc(100vh - 80px);background:linear-gradient(180deg,#f1f5f9,#e2e8f0)}[data-theme=dark] .configuration-page{background:linear-gradient(180deg,#020617,#0f172a)}.configuration-header{margin-bottom:2.5rem;margin-top:1rem}.configuration-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.configuration-subtitle{font-size:1rem;color:var(--text-secondary)}.configuration-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color)}.configuration-tab{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.configuration-tab:hover{color:var(--text-primary);background:var(--hover-bg)}.configuration-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.configuration-content{background:#f8fafc;border-radius:16px;padding:2.5rem;box-shadow:0 4px 16px #00000014;border:1px solid #e2e8f0}[data-theme=dark] .configuration-content{background:#0f172a;border-color:#1e293b;box-shadow:0 8px 24px #0006}.config-section{margin-bottom:2.5rem}.config-section:last-child{margin-bottom:0}.config-section-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.config-section-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.5rem}.config-items{display:flex;flex-direction:column;gap:1rem}.config-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #e5e7eb;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.config-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}[data-theme=dark] .config-item{background:#1e293b;border-color:#334155;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .config-item:hover{border-color:#3b82f6;box-shadow:0 4px 16px #3b82f640;transform:translateY(-1px)}.config-item-info{flex:1;margin-right:2rem}.config-item-label{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .config-item-label{color:#f1f5f9}.config-item-description{font-size:.875rem;color:#64748b;line-height:1.6}[data-theme=dark] .config-item-description{color:#94a3b8}.config-item-control{flex-shrink:0}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:.75rem}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider-wrapper{position:relative;width:68px;height:34px;display:inline-block}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:34px;box-shadow:inset 0 2px 6px #00000026;border:2px solid #94a3b8}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:3px;bottom:2px;background:linear-gradient(135deg,#fff,#f1f5f9);transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 3px 8px #00000040,0 1px 3px #00000026}.toggle-slider:after{content:"OFF";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.65rem;font-weight:700;color:#64748b;letter-spacing:.5px;transition:opacity .3s}.toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider{background:linear-gradient(135deg,#10b981,#059669);border-color:#059669;box-shadow:inset 0 2px 6px #0003,0 0 16px #10b98180}.toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider:before{transform:translate(34px);background:linear-gradient(135deg,#fff,#f0fdf4);box-shadow:0 4px 12px #00000059,0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider:after{content:"ON";left:10px;right:auto;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.toggle-slider:hover{box-shadow:inset 0 2px 6px #0003,0 0 0 3px #94a3b833}.toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider:hover{box-shadow:inset 0 2px 6px #00000040,0 0 20px #10b98199,0 0 0 3px #10b98140}.toggle-switch input:focus+.toggle-slider-wrapper .toggle-slider{box-shadow:inset 0 2px 6px #00000026,0 0 0 4px #3b82f666}[data-theme=dark] .toggle-slider{background:#1e293b;border-color:#475569;box-shadow:inset 0 2px 8px #00000080}[data-theme=dark] .toggle-slider:before{background:linear-gradient(135deg,#cbd5e1,#94a3b8);box-shadow:0 3px 10px #00000080,0 1px 4px #0000004d}[data-theme=dark] .toggle-slider:after{color:#64748b}[data-theme=dark] .toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#1d4ed8;box-shadow:inset 0 2px 8px #0000004d,0 0 24px #3b82f699,0 0 8px #3b82f666}[data-theme=dark] .toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider:before{background:linear-gradient(135deg,#fff,#dbeafe);box-shadow:0 4px 16px #0009,0 2px 6px #0006}[data-theme=dark] .toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider:after{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}[data-theme=dark] .toggle-slider:hover{box-shadow:inset 0 2px 8px #0009,0 0 0 3px #4755694d}[data-theme=dark] .toggle-switch input:checked+.toggle-slider-wrapper .toggle-slider:hover{box-shadow:inset 0 2px 8px #0006,0 0 28px #3b82f6b3,0 0 0 3px #3b82f659}.config-number-input{width:100px;padding:.5rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--text-primary);text-align:center}.config-number-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .config-number-input{background:#ffffff0d;border-color:#ffffff1a}.config-text-input{width:120px;padding:.5rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--text-primary)}.config-text-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .config-text-input{background:#ffffff0d;border-color:#ffffff1a}.config-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--text-primary);cursor:pointer;min-width:180px}.config-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .config-select{background:#ffffff0d;border-color:#ffffff1a}.config-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.config-save-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.config-save-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.config-save-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.config-save-btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.config-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.config-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}@keyframes spin{to{transform:rotate(360deg)}}.config-message{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.config-message.success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#059669}.config-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626}[data-theme=dark] .config-message.success{background:#10b98126;color:#10b981}[data-theme=dark] .config-message.error{background:#ef444426;color:#ef4444}@media(max-width:768px){.configuration-page{padding:1rem}.configuration-content{padding:1.5rem}.config-item{flex-direction:column;align-items:flex-start}.config-item-info{margin-right:0;margin-bottom:1rem}.config-item-control,.config-select{width:100%}.configuration-tabs{overflow-x:auto;white-space:nowrap}.configuration-tab{font-size:.875rem;padding:.5rem 1rem}}
