@import "https://fonts.googleapis.com/css2?family=Delius&family=Nunito+Sans:wght@300;400;500;700;800&family=Nunito:wght@600;700;800&display=swap";.pantalla-cargando{min-height:40vh;padding:var(--space-6);color:var(--color-gray-700);font-size:var(--font-size-base);justify-content:center;align-items:center;display:flex}.layout{background-color:var(--surface-secondary);height:100vh;display:flex;overflow:hidden}.sidebar{background:linear-gradient(180deg, var(--color-primary-700), var(--color-primary-500));-webkit-backdrop-filter:blur(12px);width:280px;transition:transform var(--transition-base);z-index:40;box-shadow:var(--shadow-glass);border-right:1px solid #ffffff1a;flex-direction:column;display:flex}@media (width>=769px){.sidebar{width:76px;transition:width .2s;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar:hover,.sidebar:focus-within{width:280px}.main-content{margin-left:76px}.sidebar:not(:hover):not(:focus-within) .logo h2,.sidebar:not(:hover):not(:focus-within) .nav-label,.sidebar:not(:hover):not(:focus-within) .user-info-sidebar,.sidebar:not(:hover):not(:focus-within) .logout-label{opacity:0;max-width:0}.sidebar:not(:hover):not(:focus-within) .logo{justify-content:center;gap:0}.sidebar:not(:hover):not(:focus-within) .nav-link{padding-left:var(--space-3);padding-right:var(--space-3);justify-content:center;gap:0}.sidebar-header{padding:var(--space-6);transition:padding .2s}.sidebar:not(:hover):not(:focus-within) .sidebar-header{padding:var(--space-4) var(--space-3)}.logo-img{transition:width .2s}.sidebar:not(:hover):not(:focus-within) .logo-img{width:32px}.sidebar:not(:hover):not(:focus-within) .logout-btn{gap:0}}.sidebar-header{padding:var(--space-6);border-bottom:1px solid #ffffff26}.logo{align-items:center;gap:var(--space-3);display:flex}.logo h2{font-family:var(--font-family-display);font-size:var(--font-size-2xl);color:#fff;white-space:nowrap;opacity:1;max-width:200px;font-weight:700;transition:max-width .2s,opacity .15s;overflow:hidden}.logo-img{filter:brightness(0)invert();flex-shrink:0;width:44px;height:auto}.sidebar-nav{padding:var(--space-4) var(--space-3);flex:1;overflow-y:auto}.sidebar-nav ul{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:#ffffffd9;transition:all var(--transition-fast);font-weight:500;display:flex}.nav-link:hover{color:#fff;background:#ffffff1a;transform:translate(4px)}.nav-link.active{background:var(--color-accent-500);color:#fff;box-shadow:var(--shadow-glow-orange);font-weight:600}.nav-icon{flex-shrink:0;align-items:center;display:flex;position:relative}.nav-contador{border-radius:var(--radius-full);background:var(--color-accent-500);min-width:17px;color:var(--surface-primary);text-align:center;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-7px;right:-9px}.nav-link.active .nav-contador{background:var(--surface-primary);color:var(--color-accent-600)}.nav-label{white-space:nowrap;opacity:1;max-width:200px;transition:max-width .2s,opacity .15s;overflow:hidden}.sidebar-footer{padding:var(--space-4);gap:var(--space-3);border-top:1px solid #ffffff26;flex-direction:column;display:flex}.user-info-sidebar{opacity:1;flex-direction:column;max-width:200px;transition:max-width .2s,opacity .15s;display:flex;overflow:hidden}.user-name{color:#fff;font-weight:600;font-size:var(--font-size-sm)}.user-role{font-size:var(--font-size-xs);color:#ffffffb3}.logout-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-md);color:#fff;transition:all var(--transition-fast);background:#ffffff26;font-weight:500;display:flex}.logout-btn:hover{background:var(--color-error);color:#fff}.logout-label{white-space:nowrap;opacity:1;max-width:100px;transition:max-width .2s,opacity .15s;overflow:hidden}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background:var(--surface-primary);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-gray-200);height:64px;padding:0 var(--space-6);z-index:30;justify-content:space-between;align-items:center;display:flex}.menu-btn{font-size:var(--font-size-xl);color:var(--color-gray-600);display:none}.topbar-right{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.sucursal-badge{align-items:center;gap:var(--space-1);background:var(--color-primary-300);color:var(--color-primary-900);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;display:flex}.user-avatar{background:var(--color-accent-500);color:#fff;width:40px;height:40px;font-weight:600;font-family:var(--font-family-display);font-size:var(--font-size-base);box-shadow:var(--shadow-sm);text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;display:flex}.page-container{padding:var(--space-6);flex:1;overflow-y:auto}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:35;background:#0f172a66;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay,.menu-btn{display:block}}.mobile-layout{background-color:var(--surface-secondary);flex-direction:column;min-height:100vh;display:flex}.mobile-topbar{padding:var(--space-3) var(--space-4);background:linear-gradient(135deg, var(--color-primary-700), var(--color-primary-500));color:#fff;z-index:20;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-topbar-brand{align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-weight:700;font-size:var(--font-size-lg);display:flex}.mobile-logo-img{filter:brightness(0)invert();width:28px;height:auto}.mobile-logout-btn{color:#fff;border-radius:var(--radius-full);cursor:pointer;background:#ffffff26;border:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.mobile-content{padding:var(--space-4);padding-bottom:calc(var(--space-16) + env(safe-area-inset-bottom));flex:1;width:100%;max-width:640px;margin:0 auto}.mobile-bottom-nav{background:var(--surface-primary);border-top:1px solid var(--color-gray-200);padding-bottom:env(safe-area-inset-bottom);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-link{padding:var(--space-2) 0;color:var(--color-gray-500);font-size:var(--font-size-xs);flex-direction:column;flex:1;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.mobile-nav-link.active{color:var(--color-primary-700)}.toast-stack{top:var(--space-6);right:var(--space-6);z-index:2000;gap:var(--space-3);flex-direction:column;max-width:420px;display:flex;position:fixed}.toast-aviso{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid;animation:.25s ease-out toastSlideIn;display:flex}.toast-aviso-icon{flex-shrink:0;margin-top:1px}.toast-aviso-mensaje{font-size:var(--font-size-sm);color:var(--color-gray-800);flex:1;line-height:1.45}.toast-aviso-close{color:var(--color-gray-500);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.toast-aviso-close:hover{color:var(--color-gray-700);background-color:#0000000f}.toast-aviso-warning{background-color:#fffaeb;border-color:#f2d675}.toast-aviso-warning .toast-aviso-icon{color:#b8860b}.toast-aviso-error{background-color:#fee2e2;border-color:#fca5a5}.toast-aviso-error .toast-aviso-icon{color:var(--color-error)}.toast-aviso-success{background-color:#d1fae5;border-color:#6ee7b7}.toast-aviso-success .toast-aviso-icon{color:#065f46}.toast-aviso-info{background-color:var(--color-primary-50);border-color:var(--color-primary-200)}.toast-aviso-info .toast-aviso-icon{color:var(--color-primary-700)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (width<=500px){.toast-stack{left:var(--space-4);right:var(--space-4);max-width:none}}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-box{padding:var(--space-6);border-radius:var(--radius-lg);width:90%;max-width:450px;box-shadow:var(--shadow-xl);gap:var(--space-4);background-color:#fff;flex-direction:column;display:flex}.modal-box h3{font-family:var(--font-family-display);color:var(--color-primary-900)}.modal-box p{font-size:var(--font-size-sm);color:var(--color-gray-600)}.modal-box textarea,.modal-box input[type=date]{width:100%;padding:var(--space-2)}.modal-buttons{justify-content:flex-end;gap:var(--space-3);display:flex}.btn-modal-cancel{background-color:var(--color-gray-100);color:var(--color-gray-700);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.btn-modal-cancel:hover{background-color:var(--color-gray-200)}.btn-modal-confirm{background-color:var(--color-error);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.btn-modal-confirm:hover{background-color:#dc2626}.btn-modal-confirm-default{background-color:var(--color-primary-600);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.btn-modal-confirm-default:hover{background-color:var(--color-primary-700)}.btn-modal-confirm:disabled,.btn-modal-confirm-default:disabled{opacity:.5;cursor:not-allowed}.error-boundary-fallback{align-items:center;gap:var(--space-2);color:var(--color-error);background:var(--color-error-bg,#fee2e2);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-sm);display:flex}.login-container{background:linear-gradient(160deg, var(--color-primary-900) 0%, var(--color-primary-700) 45%, var(--color-primary-400) 100%);flex-direction:column;min-height:100vh;display:flex}.login-topsheet{background:var(--surface-primary);padding:var(--space-8) var(--space-4) var(--space-10);border-bottom-right-radius:50% 40px;border-bottom-left-radius:50% 40px;justify-content:center;display:flex;box-shadow:0 4px 16px #00000014}.login-logo{width:160px;height:auto}.login-body{padding:var(--space-8) var(--space-6) var(--space-10);flex-direction:column;flex:1;width:100%;max-width:420px;margin:0 auto;display:flex}.login-greeting{font-family:var(--font-family-display);font-size:var(--font-size-2xl);color:#fff;text-align:center;margin-bottom:var(--space-8);font-weight:700}.login-error{color:#fff;padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--font-size-sm);text-align:center;background:#ef444426;border:1px solid #ef444466;animation:.5s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-form{gap:var(--space-8);flex-direction:column;display:flex}.input-group{align-items:center;display:flex;position:relative}.input-group input{width:100%;padding:var(--space-3) var(--space-8) var(--space-3) 0;font-size:var(--font-size-base);color:#fff;transition:border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #ffffff80;outline:none}.input-group input::placeholder{color:#ffffffb3}.input-group input:focus{border-color:#fff}.input-icon{color:#ffffffd9;pointer-events:none;position:absolute;right:0}.login-btn{color:var(--color-primary-800);padding:var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-family-display);margin-top:var(--space-2);transition:all var(--transition-fast);background:#ffffff4d;justify-content:center;align-items:center;height:54px;display:flex}.login-btn-listo,.login-btn-listo:hover:not(:disabled){color:var(--color-primary-800);background:#fff;box-shadow:0 4px 14px #00000026}.login-btn:hover:not(:disabled){background:#ffffff73}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{border:3px solid #00000026;border-top-color:var(--color-primary-800);border-radius:50%;width:20px;height:20px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-divider{height:1px;margin-top:var(--space-8);background:#ffffff40}.login-footer{align-items:center;gap:var(--space-2);text-align:center;margin-top:var(--space-6);flex-direction:column;display:flex}.login-link-btn{color:#fff;font-size:var(--font-size-sm);text-underline-offset:3px;padding:var(--space-3);background:0 0;min-height:44px;font-weight:500;text-decoration:underline}.login-link-btn:hover{color:var(--color-primary-100)}@media (width<=480px){.login-body{padding:var(--space-6) var(--space-5) var(--space-8)}}.seleccionar-portal-opciones{gap:var(--space-4);margin-top:var(--space-2);display:flex}.seleccionar-portal-btn{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);border-radius:var(--radius-lg);color:#fff;font-family:var(--font-family-display);font-size:var(--font-size-base);transition:all var(--transition-fast);background:#ffffff14;border:2px solid #ffffff59;flex-direction:column;flex:1;font-weight:600;display:flex}.seleccionar-portal-btn:hover{background:#ffffff2e;border-color:#fff;transform:translateY(-2px)}.seleccionar-portal-btn:active{transform:translateY(0)}@media (width<=480px){.seleccionar-portal-opciones{flex-direction:column}}.login-greeting:has(+.login-subtitle){margin-bottom:var(--space-2)}.login-subtitle{color:#ffffffbf;font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--space-8)}.select-group select{width:100%;padding:var(--space-3) var(--space-8) var(--space-3) 0;font-size:var(--font-size-base);color:#fff;transition:border-color var(--transition-fast);appearance:none;background:0 0;border:none;border-bottom:2px solid #ffffff80;outline:none}.select-group select:focus{border-color:#fff}.select-group select option{color:var(--color-gray-900)}.field-error{color:var(--color-error-border);font-size:var(--font-size-xs);margin-top:calc(var(--space-2) * -1)}.onboarding-login-link{text-align:center;margin-top:var(--space-6);font-size:var(--font-size-sm);color:#ffffffbf}.onboarding-login-link a{color:#fff;font-weight:600}.onboarding-success{text-align:center;align-items:center;gap:var(--space-3);color:#fff;flex-direction:column;display:flex}.onboarding-success h1{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:700}.onboarding-success p{color:#ffffffd9}.onboarding-link-btn{width:100%;margin-top:var(--space-4);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}:root{--color-primary-900:#0a405c;--color-primary-800:#0d608a;--color-primary-700:#1280b7;--color-primary-600:#1590c2;--color-primary-500:#17a1d9;--color-primary-400:#39b3e1;--color-primary-300:#69c7eb;--color-primary-200:#9adbf4;--color-primary-100:#cceefb;--color-primary-50:#e8f7fd;--color-accent-700:#a74312;--color-accent-600:#d1571a;--color-accent-500:#e57d16;--color-accent-400:#ea933d;--color-accent-100:#fadfc1;--color-accent-50:#fef4e8;--color-gray-900:#212121;--color-gray-800:#333;--color-gray-700:#4b4b4b;--color-gray-600:#54595f;--color-gray-500:#7a7a7a;--color-gray-400:#a0a0a0;--color-gray-300:#d1d5db;--color-gray-200:#e5e7eb;--color-gray-100:#f3f4f6;--color-gray-50:#f9fafb;--color-success:#6be350;--color-success-dark:#4bad32;--color-success-bg:#d1fae5;--color-success-border:#6ee7b7;--color-success-text:#065f46;--color-warning:#e8ca1a;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-error-bg-soft:#fef2f2;--color-error-border:#fca5a5;--color-error-text:#b91c1c;--color-error-text-dark:#7f1d1d;--color-info:var(--color-primary-500);--color-brand-violet:#4b4f9d;--color-brand-violet-light:#8b6fd6;--color-brand-violet-bg:#ede9fe;--surface-primary:#fff;--surface-secondary:var(--color-gray-50);--surface-elevated:#fff;--surface-glass:#ffffffb3;--font-family:"Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display:"Nunito", var(--font-family);--font-family-serif:"Delius", cursive;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-glass:0 8px 32px #00000014;--shadow-glow-orange:0 4px 14px 0 #e77e1463;--shadow-glow-orange-hover:0 6px 20px #e77e1466;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--surface-secondary);color:var(--color-gray-700);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--color-gray-900);font-weight:600}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.filters-card{background-color:var(--surface-primary);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);gap:var(--space-4);flex-direction:column;display:flex}.filters-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.filter-item{gap:var(--space-1);flex-direction:column;display:flex}.filter-item label{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500}.filter-item input,.filter-item select{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);font-family:inherit;font-size:var(--font-size-sm);transition:border-color var(--transition-fast);background-color:#fff;outline:none}.filter-item input:focus,.filter-item select:focus{border-color:var(--color-primary-500)}.filters-actions{justify-content:flex-end;display:flex}.btn-clean{color:var(--color-gray-500);font-size:var(--font-size-xs);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-weight:600}.btn-clean:hover{background-color:var(--color-gray-100);color:var(--color-gray-800)}
