:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #475569;--accent-color: #0ea5e9;--bg-body: #f8fafc;--bg-card: #ffffff;--bg-sidebar: #1e293b;--text-main: #0f172a;--text-secondary: #64748b;--text-light: #f1f5f9;--border-color: #e2e8f0;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out}[data-theme=dark]{--primary-color: #3b82f6;--primary-hover: #2563eb;--secondary-color: #94a3b8;--accent-color: #38bdf8;--bg-body: #0f172a;--bg-card: #1e293b;--bg-sidebar: #0f172a;--text-main: #f1f5f9;--text-secondary: #94a3b8;--text-light: #f1f5f9;--border-color: #334155;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-body);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-md)}.card{background:var(--bg-card);border-radius:.5rem;box-shadow:var(--shadow-md);padding:var(--spacing-lg);border:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;transition:background-color var(--transition-fast)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669}.sidebar{height:64px;background:linear-gradient(135deg,#1e293b,#0f172a);color:var(--text-light);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding:0 var(--spacing-xl);flex-shrink:0;box-shadow:0 4px 12px #00000026}.sidebar-nav{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 20px;border-radius:20px;color:#cbd5e1;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-size:.95rem;font-weight:500;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);opacity:0;transition:opacity .3s ease}.nav-item:hover{background:#ffffff14;color:#fff;transform:translateY(-2px)}.nav-item:hover:before{opacity:1}.nav-item.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px);border-radius:20px}.nav-item.active:before{opacity:0}.nav-item svg{flex-shrink:0;width:20px;height:20px}.logout-btn{margin-left:auto;background:transparent;border:none;cursor:pointer;color:#f87171}.logout-btn:hover{background:#f871711a;color:#ef4444}.logout-btn:hover:before{background:linear-gradient(135deg,#f8717126,#ef444426)}[data-theme=dark] .sidebar{background:linear-gradient(135deg,#0f172a,#020617);border-bottom-color:#ffffff0d}.notification-container,.notification-btn{position:relative}.notification-btn.has-notifications{animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444466;animation:bounce .5s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.notification-panel{position:absolute;top:calc(100% + 12px);right:0;width:380px;max-height:500px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;border:1px solid var(--border-color);display:flex;flex-direction:column;z-index:1000;animation:slideDown .3s ease}.notification-header{padding:16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.notification-header h3{font-size:1rem;font-weight:600;color:var(--text-main);margin:0}.notification-actions{display:flex;gap:8px}.btn-text{background:none;border:none;color:var(--primary-color);font-size:.8rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.btn-text:hover{background-color:#3b82f61a}.notification-list{overflow-y:auto;max-height:400px;padding:8px}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-secondary)}.notification-empty svg{margin-bottom:16px;opacity:.3}.notification-empty p{margin:0;font-size:.9rem}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;position:relative}.notification-item:hover{background-color:#00000005;transform:translate(2px)}.notification-item.unread{background-color:#3b82f60d}.notification-item.unread:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--primary-color);border-radius:50%}.notification-success{border-left-color:#10b981}.notification-success .notification-icon{color:#10b981}.notification-error{border-left-color:#ef4444}.notification-error .notification-icon{color:#ef4444}.notification-warning{border-left-color:#f59e0b}.notification-warning .notification-icon{color:#f59e0b}.notification-info{border-left-color:#3b82f6}.notification-info .notification-icon{color:#3b82f6}.notification-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#3b82f61a;border-radius:8px}.notification-content{flex:1;min-width:0}.notification-title{font-size:.875rem;font-weight:600;color:var(--text-main);margin-bottom:4px}.notification-message{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.notification-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;opacity:0;transition:all .2s ease}.notification-item:hover .notification-close{opacity:1}.notification-close:hover{background-color:#0000000d;color:var(--text-main)}@media(prefers-color-scheme:dark){.notification-panel{background:var(--bg-card);border-color:#ffffff1a}.notification-item:hover{background-color:#ffffff0d}.notification-item.unread{background-color:#3b82f61a}.notification-close:hover{background-color:#ffffff1a}}@media(max-width:480px){.notification-panel{width:calc(100vw - 32px);right:-8px}}.user-menu-container{position:relative}.user-profile.active{background-color:#3b82f61a}.chevron{transition:transform .2s ease;color:var(--text-secondary)}.chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;border:1px solid var(--border-color);z-index:1000;animation:slideDown .3s ease}.user-menu-header{padding:20px;display:flex;align-items:center;gap:12px}.avatar-large{width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #3b82f64d}.user-info{flex:1;min-width:0}.user-name{font-size:1rem;font-weight:600;color:var(--text-main);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background-color:var(--border-color);margin:0 12px}.user-menu-items{padding:8px}.user-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;color:var(--text-main);font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;border-radius:8px;transition:all .2s ease}.user-menu-item:hover{background-color:#3b82f614;transform:translate(2px)}.user-menu-item svg{color:var(--text-secondary);transition:color .2s ease}.user-menu-item:hover svg{color:var(--primary-color)}.user-menu-item.danger{color:#ef4444}.user-menu-item.danger svg{color:#ef4444}.user-menu-item.danger:hover{background-color:#ef444414}.user-menu-item.danger:hover svg{color:#dc2626}@media(prefers-color-scheme:dark){.user-menu-dropdown{background:var(--bg-card);border-color:#ffffff1a}.user-menu-item:hover{background-color:#ffffff0d}.user-menu-item.danger:hover{background-color:#ef44441a}}@media(max-width:480px){.user-menu-dropdown{width:calc(100vw - 32px);right:-8px}.username{display:none}}.global-search-container{position:relative;flex:1;max-width:500px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#3b82f60d;border:1px solid var(--border-color);border-radius:10px;padding:8px 12px;transition:all .3s ease}.search-input-wrapper.focused{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.search-icon{color:var(--text-secondary);flex-shrink:0}.search-input{flex:1;border:none;background:none;outline:none;padding:0 8px;font-size:.9rem;color:var(--text-main)}.search-input::placeholder{color:var(--text-secondary)}.search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#0000000d;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.search-clear:hover{background:#0000001a;color:var(--text-main)}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;border:1px solid var(--border-color);max-height:400px;overflow-y:auto;z-index:1000;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.search-results-header{padding:12px 16px;font-size:.8rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.search-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border-color)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#3b82f60d;transform:translate(4px)}.result-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:8px;color:#fff;flex-shrink:0}.result-content{flex:1;min-width:0}.result-title{font-size:.9rem;font-weight:600;color:var(--text-main);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-subtitle{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-detail{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.result-type-badge{padding:4px 8px;background:#3b82f61a;color:var(--primary-color);border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.search-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-secondary)}.search-no-results svg{margin-bottom:16px;opacity:.3}.search-no-results p{margin:0 0 8px;font-size:.9rem;font-weight:600}.search-no-results span{font-size:.8rem;opacity:.7}@media(prefers-color-scheme:dark){.search-input-wrapper{background:#ffffff0d}.search-input-wrapper.focused{background:var(--bg-card);border-color:var(--primary-color)}.search-results{background:var(--bg-card);border-color:#ffffff1a}.search-result-item:hover{background-color:#ffffff0d}.search-clear{background:#ffffff1a}.search-clear:hover{background:#fff3}}@media(max-width:768px){.global-search-container{max-width:100%}.search-input::placeholder{font-size:.85rem}.search-results{max-height:300px}}@media(max-width:480px){.search-input::placeholder{content:"Buscar..."}}.header{height:72px;background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl);flex-shrink:0;box-shadow:0 2px 8px #0000000d;gap:var(--spacing-lg)}.header-brand{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.header-logo{height:48px;width:auto;object-fit:contain}.header-title{display:flex;flex-direction:column;gap:2px}.header-title h1{font-size:1.35rem;font-weight:700;color:var(--text-main);line-height:1;margin:0}.header-subtitle{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.icon-btn{padding:var(--spacing-sm);color:var(--text-secondary);border-radius:8px;transition:all .2s ease;background:transparent}.icon-btn:hover{color:var(--primary-color);background-color:#3b82f61a;transform:translateY(-2px)}.user-profile{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:6px 12px;border-radius:10px;transition:all .2s ease}.user-profile:hover{background-color:#3b82f60d}.avatar{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 8px #3b82f64d}.username{font-size:.9rem;font-weight:600;color:var(--text-main)}[data-theme=dark] .header{background:linear-gradient(135deg,#1e293b,#0f172a);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .icon-btn:hover{background-color:#3b82f633}[data-theme=dark] .user-profile:hover{background-color:#3b82f61a}.app-footer{margin-top:auto;padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(135deg,#f8fafc,#fff);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-lg)}.footer-partners{display:flex;justify-content:center;padding:var(--spacing-md) 0}.partners-logos{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.partner-logo{height:50px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);transition:all .3s ease;filter:grayscale(100%) opacity(.5)}.partner-logo-primary{height:70px;filter:grayscale(0%) opacity(.9)}.partner-logo:hover{filter:grayscale(0%) opacity(1);transform:scale(1.05)}.partner-logo-primary:hover{transform:scale(1.08);filter:grayscale(0%) opacity(1)}.partner-logo img{height:100%;width:auto;object-fit:contain}.footer-copyright{text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.footer-copyright p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.footer-subtitle{font-size:.8rem!important;color:var(--text-secondary);opacity:.8;margin-top:4px!important}[data-theme=dark] .app-footer{background:linear-gradient(135deg,#1e293b,#0f172a);border-top-color:#ffffff1a}[data-theme=dark] .footer-copyright{border-top-color:#ffffff1a}@media(max-width:768px){.partners-logos{gap:var(--spacing-md)}.partner-logo{height:40px}.partner-logo-primary{height:55px}.footer-copyright p{font-size:.8rem}.footer-subtitle{font-size:.75rem!important}}.layout{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-body)}.page-content{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);max-width:100%;display:flex;flex-direction:column}.loading-spinner-container{display:flex;align-items:center;justify-content:center;min-height:400px;width:100%}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{color:var(--text-secondary);font-size:14px;font-weight:500}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:500px;pointer-events:all;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{flex-shrink:0;display:flex;align-items:center}.toast-message{flex:1;font-size:14px;line-height:1.4}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.6;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background-color:var(--bg-body)}.error-content{text-align:center;max-width:600px}.error-icon{color:#ef4444;margin-bottom:1.5rem}.error-content h1{font-size:2rem;margin-bottom:.5rem;color:var(--text-main)}.error-content p{color:var(--text-secondary);margin-bottom:2rem}.error-details{text-align:left;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;margin-bottom:2rem}.error-details summary{cursor:pointer;font-weight:600;margin-bottom:.5rem;color:var(--text-main)}.error-details pre{font-size:.875rem;overflow-x:auto;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word}.error-content .btn{margin-top:1rem}
