@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--bg-soft:#eef3fa;--surface:#fff;--surface-soft:#f7f9fc;--text:#1f2a3d;--muted:#71819e;--line:#d9e2f0;--line-strong:#c9d7ee;--primary:#3467eb;--primary-soft:#dbe7ff;--shadow:0 12px 32px #223e781f}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:radial-gradient(circle at 0 0,#3467eb1f,#0000 22%),linear-gradient(#f7faff 0%,#edf3fb 100%);margin:0;font-family:ui-sans-serif,system-ui,sans-serif}body{min-height:100dvh;overflow-x:hidden}@media (max-width:820px){input,select,textarea{font-size:16px}}img,svg,video,table{max-width:100%}a{color:inherit;text-decoration:none}.role-sidebar-toggle,.role-logout-button{color:#344a70;cursor:pointer;background:#fff;border:1px solid #c8d8f4;border-radius:10px;font-weight:800}.role-sidebar-toggle{justify-content:center;align-items:center;width:42px;height:42px;margin:22px 0 0 auto;font-size:18px;display:inline-flex}.role-sidebar-toggle svg{width:18px;height:18px}.role-logout-button{color:#fff;background:#2563eb;border-color:#2563eb;width:100%;min-height:40px;margin-top:16px}@media (min-width:821px){.role-shell-collapsed{grid-template-columns:76px minmax(0,1fr)!important}}.role-shell-collapsed .role-sidebar{align-items:center;padding:20px 12px}.role-shell-collapsed .role-sidebar>:not(.role-sidebar-toggle):not(.role-sidebar-header):not(nav),.role-shell-collapsed .role-sidebar-header>:not(.role-sidebar-toggle){display:none}.role-shell-collapsed .role-sidebar-header{justify-content:center;width:42px}.role-shell-collapsed .role-sidebar-toggle{margin:0}.role-shell-collapsed .role-sidebar nav{width:100%}.role-shell-collapsed .role-sidebar nav>p{display:none}.role-shell-collapsed .role-sidebar nav button,.role-shell-collapsed .role-sidebar nav a{justify-content:center;gap:0;padding:0}.role-shell-collapsed .role-sidebar nav button span,.role-shell-collapsed .role-sidebar nav a span{display:none}button,input,select{font:inherit}button{cursor:pointer}svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.eyebrow{border:1px solid var(--line);color:#235a51;letter-spacing:.08em;text-transform:uppercase;background:#ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.login-page{grid-template-columns:1.2fr .9fr;align-items:stretch;gap:24px;min-height:100vh;padding:28px;display:grid}.login-hero,.login-panel,.panel-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #0f172a14;border-radius:28px;box-shadow:0 28px 80px #0f172a24}.login-hero{align-content:space-between;gap:22px;padding:28px;display:grid}.hero-copy h1,.panel-header h2{margin:0;line-height:1.02}.hero-copy h1{max-width:11ch;font-size:clamp(2.8rem,6vw,5rem)}.hero-copy p,.panel-header p{color:var(--muted);line-height:1.6}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.role-card{text-align:left;background:#ffffff8f;border:1px solid #0f172a14;border-radius:22px;padding:18px;transition:transform .16s,border-color .16s,box-shadow .16s}.role-card:hover,.role-card.active{border-color:#0f766e4d;transform:translateY(-2px);box-shadow:0 18px 40px #0f172a1f}.role-card strong,.role-card p,.role-card small{display:block}.role-card p{min-height:4.5em}.role-card small{color:var(--muted)}.role-badge{color:#fff;border-radius:999px;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.role-badge.admin{background:linear-gradient(135deg,#0f172a,#334155)}.role-badge.hr{background:linear-gradient(135deg,#065f46,#047857)}.role-badge.employee{background:linear-gradient(135deg,#9a3412,#be123c)}.login-panel{padding:14px;display:flex}.panel-card{background:#ffffffeb;align-content:space-between;gap:24px;width:100%;padding:28px;display:grid}.login-form{gap:14px;display:grid}.login-form label{gap:8px;font-weight:600;display:grid}.login-form input,.login-form select{background:#ffffffe6;border:1px solid #0f172a14;border-radius:16px;width:100%;padding:14px 16px}.primary-button,.ghost-button{border:0;border-radius:16px;padding:14px 18px;font-weight:700}.primary-button{color:#fff;background:linear-gradient(135deg,#0f766e,#134e4a)}.ghost-button{color:var(--text);background:#0f172a0f}.error-banner{color:#991b1b;background:#b91c1c14;border-radius:14px;padding:12px 14px}.credential-chip{background:#0f766e14;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.credential-chip span{color:#134e4a;font-weight:700}.credential-chip code{color:var(--muted)}.dashboard-shell{background:var(--bg);grid-template-columns:230px 1fr;min-height:100vh;display:grid}.dashboard-shell.collapsed{grid-template-columns:92px 1fr}.dashboard-shell.collapsed .dashboard-sidebar{justify-items:center;padding-left:14px;padding-right:14px}.dashboard-shell.collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.dashboard-shell.collapsed .sidebar-toggle{margin-left:0}.dashboard-shell.collapsed .sidebar-section-label{text-align:center;padding:0}.dashboard-shell.collapsed .sidebar-nav{justify-self:stretch}.dashboard-shell.collapsed .sidebar-link{justify-content:center;width:64px;margin:0 auto;padding-left:0;padding-right:0}.dashboard-shell.collapsed .sidebar-profile{justify-content:center;padding-left:0;padding-right:0}.dashboard-sidebar{border-right:1px solid var(--line);background:linear-gradient(#fff 0%,#f9fbff 100%);grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:20px;min-height:100vh;padding:24px 14px 0;display:grid}.sidebar-brand{align-items:center;gap:12px;padding:4px 10px;display:flex}.brand-mark{gap:4px;display:flex}.brand-mark span{border-radius:4px;width:14px;height:14px}.brand-mark span:first-child{background:#171717}.brand-mark span:last-child{background:var(--primary)}.sidebar-brand strong{font-family:Georgia,serif;font-size:1.05rem;display:block}.sidebar-brand p{color:var(--primary);margin:4px 0 0;font-size:.82rem;font-style:italic}.sidebar-toggle{border:1px solid var(--line);background:var(--surface);color:#607394;border-radius:14px;width:42px;height:42px;margin-left:auto}.sidebar-section-label{color:#8190ab;letter-spacing:.16em;text-transform:uppercase;padding:0 10px;font-size:.72rem;font-weight:800}.sidebar-nav{align-content:start;gap:8px;display:grid}.sidebar-link{color:#5f7294;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:12px;min-height:48px;padding:0 12px;font-weight:600;display:flex}.sidebar-link-icon{flex:none;place-items:center;width:24px;height:24px;display:grid}.sidebar-count{color:#fff;background:#ff9f0a;border-radius:999px;min-width:22px;margin-left:auto;padding:2px 7px;font-size:.75rem;font-weight:800}.sidebar-role-tags{flex-wrap:wrap;gap:8px;padding:0 10px;display:flex}.role-tag{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:700}.sidebar-profile{border-top:1px solid var(--line);align-items:center;gap:12px;padding:18px 10px 24px;display:flex}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#2f66eb,#224ec7);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.sidebar-profile p{color:var(--muted);margin:4px 0 0}.dashboard-content{min-width:0}.dashboard-panel{padding:28px;position:relative}.panel-actions{position:absolute;top:20px;right:28px}.exit-button{color:#344a70;background:#fff;border:1px solid #c8d8f4;border-radius:12px;min-width:58px;height:38px;font-weight:800}.dashboard-heading{margin-bottom:24px}.dashboard-kicker{color:#5d739a;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:8px;font-size:.76rem;font-weight:800;display:inline-flex}.dashboard-kicker:before{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px}.dashboard-heading h1,.activity-header h2,.summary-card strong{font-family:Georgia,serif}.dashboard-heading h1{margin:12px 0 10px;font-size:clamp(2rem,4vw,3rem);line-height:1.02}.dashboard-heading p{color:#607394;margin:0}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.summary-card,.activity-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px}.summary-card{padding:20px 22px}.summary-dot{border-radius:2px;width:8px;height:8px;margin-bottom:12px;display:inline-block}.summary-dot.blue{background:#3467eb}.summary-dot.amber{background:#ff9f0a}.summary-dot.violet{background:#7c4dff}.summary-dot.cyan{background:#1290b5}.summary-card h2{color:#5d739a;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:.76rem;font-weight:800}.summary-card strong{margin-bottom:6px;font-size:3rem;line-height:1;display:block}.summary-card p{color:#607394;margin:0}.activity-card{margin-top:24px;overflow:hidden}.compact-card{margin-top:26px}.activity-header{border-bottom:1px solid var(--line);background:#f6f9fe;padding:18px 22px}.activity-header h2{margin:8px 0 0;font-size:2rem}.activity-list{display:grid}.activity-row{border-top:1px solid #edf2fa;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.review-row{border-top:1px solid #edf2fa;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 22px;display:flex}.review-row:first-child,.activity-row:first-child{border-top:0}.activity-user{align-items:center;gap:14px;display:flex}.activity-avatar{width:44px;height:44px;color:var(--primary);background:#dce8ff;border-radius:50%;place-items:center;font-weight:800;display:grid}.activity-user strong{margin-bottom:4px;display:block}.activity-user p,.request-code{color:#607394}.activity-user p{margin:0}.activity-meta{flex:none;align-items:center;gap:14px;display:flex}.review-side{justify-items:end;gap:12px;display:grid}.review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.review-input{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:220px;min-height:38px;padding:0 12px}.approve-button,.reject-button{border-radius:10px;min-height:38px;padding:0 14px;font-weight:800}.approve-button{color:#3467eb;background:#e7efff;border:1px solid #b9ccff}.reject-button{color:#ef4444;background:#ffe8e7;border:1px solid #ffc1be}.status-pill{border-radius:999px;padding:7px 12px;font-size:.86rem;font-weight:700}.status-pill.pendiente{color:#e08600;background:#fff2de;border:1px solid #ffd59a}.status-pill.aprobado{color:#3467eb;background:#e7efff;border:1px solid #b9ccff}.status-pill.rechazado{color:#ef4444;background:#ffe8e7;border:1px solid #ffc1be}.request-form{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:28px}.request-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.request-type-card{text-align:left;border:1px solid var(--line);min-height:142px;color:var(--text);background:#fff;border-radius:10px;padding:18px}.request-type-card.selected{border-color:var(--primary);background:var(--primary-soft);color:#1f57df;box-shadow:inset 0 0 0 1px var(--primary)}.request-type-card span,.request-type-card strong,.request-type-card p{display:block}.request-type-card span{color:#1f57df;margin-bottom:14px;font-size:1.4rem;font-weight:900}.request-type-card strong{margin-bottom:10px;font-family:Georgia,serif;font-size:1.08rem}.request-type-card p{color:#52678c;margin:0;line-height:1.45}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid label,.full-field{color:#5d739a;letter-spacing:.12em;text-transform:uppercase;gap:8px;font-size:.78rem;font-weight:900;display:grid}.form-grid input,.full-field textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);letter-spacing:0;text-transform:none;background:#fff;border-radius:10px;padding:12px 14px}.full-field{margin-top:16px}.full-field textarea{resize:vertical}.request-calculation{background:#f7f9fc;border:1px solid #d9e2f0;border-radius:10px;justify-content:space-between;gap:16px;margin-top:20px;padding:14px 16px;display:flex}.request-calculation span{color:#607394}.form-actions{border-top:1px solid var(--line);gap:14px;margin-top:26px;padding-top:24px;display:flex}.submit-button,.cancel-button{text-transform:uppercase;border-radius:10px;min-height:42px;padding:0 26px;font-weight:900}.submit-button{color:#fff;background:#050505;border:0}.submit-button:disabled{cursor:not-allowed;opacity:.55}.cancel-button{border:1px solid var(--line);color:#52678c;background:#fff}.empty-state{color:#607394;padding:24px}.toast-message{max-width:360px;box-shadow:var(--shadow);color:#344a70;background:#fff;border:1px solid #bfd3ff;border-radius:12px;padding:14px 16px;font-weight:700;position:fixed;bottom:24px;right:24px}@media (max-width:1180px){.summary-grid,.request-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.login-page,.dashboard-shell,.role-grid,.summary-grid,.request-type-grid,.form-grid{grid-template-columns:1fr}.dashboard-sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto auto auto auto auto auto;min-height:auto}.activity-row{flex-direction:column;align-items:flex-start}.review-row,.review-side,.review-actions{justify-content:flex-start;place-items:flex-start start}.review-input{width:100%;min-width:100%}.panel-actions{justify-content:flex-end;margin-bottom:18px;display:flex;position:static}.request-calculation,.form-actions{flex-direction:column}}:root{--bg-sistema:#f5f8ff;--bg-tarjeta:#fff;--color-acento:#3b82f6;--color-acento-hover:#2f6fe0;--acento-palido:#eff5ff;--texto-principal:#101c3f;--texto-secundario:#6b7280;--border-radius:12px;--transition-suave:all .3s ease-in-out;--sombra-tarjeta:0 4px 6px -1px #3b82f60d, 0 2px 8px #101c3f0a;--sombra-hover:0 10px 22px #3b82f61a;--borde-tarjeta:1px solid #e5ebf7}html,body{background:var(--bg-sistema);color:var(--texto-principal)}button,a,input,select,textarea{transition:var(--transition-suave)}input:focus,select:focus,textarea:focus{outline:0;box-shadow:0 0 0 3px #3b82f624;border-color:var(--color-acento)!important}.summary-card,.activity-card,.request-form{background:var(--bg-tarjeta);border:var(--borde-tarjeta);border-radius:var(--border-radius);box-shadow:var(--sombra-tarjeta)}.sidebar-link{position:relative}.sidebar-link:hover:not(.active){background:var(--acento-palido);color:var(--texto-principal)}.sidebar-link.active{background:var(--acento-palido);color:var(--color-acento);border-color:#0000}.sidebar-link.active:before{content:"";background:var(--color-acento);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.submit-button:hover:not(:disabled),.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #101c3f2e}.approve-button:hover:not(:disabled){background:var(--color-acento);border-color:var(--color-acento);color:#fff}.reject-button:hover:not(:disabled){color:#fff;background:#ef4444;border-color:#ef4444}.exit-button:hover,.role-sidebar-toggle:hover,.role-logout-button:hover{border-color:var(--color-acento);color:var(--color-acento)}.cancel-button:hover{background:var(--acento-palido);color:var(--texto-principal)}.request-type-card{border-radius:var(--border-radius)}.request-type-card:hover:not(.selected){box-shadow:var(--sombra-hover);border-color:#bfd7fd;transform:translateY(-2px)}.request-type-card.selected{border-color:var(--color-acento);background:var(--acento-palido);box-shadow:inset 0 0 0 1px var(--color-acento)}.dashboard-heading h1{color:var(--texto-principal)}.dashboard-heading p,.dashboard-kicker{color:var(--texto-secundario)}:root{--font-sans:var(--font-inter,"Inter"), "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--sombra-tarjeta:0 10px 15px -3px #3b82f614, 0 4px 6px -2px #3b82f608;--sombra-hover:0 16px 28px -6px #3b82f629, 0 6px 10px -4px #3b82f60f}body{font-family:var(--font-sans)}.dashboard-heading h1,.activity-header h2,.summary-card strong,.sidebar-brand strong,.request-type-card strong{font-family:var(--font-sans);letter-spacing:-.02em}.dashboard-heading h1{font-weight:800}.summary-card,.activity-card,.request-form{box-shadow:var(--sombra-tarjeta)}.summary-card:hover{box-shadow:var(--sombra-hover)}.summary-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,border-color .25s}.summary-card:hover{border-color:#bfd7fd;transform:translateY(-4px);box-shadow:0 12px 20px -5px #3b82f61f,0 8px 8px -5px #3b82f60a}.activity-row{transition:background-color .25s}.activity-row:hover{background:#3b82f60d}.sidebar-link:hover:not(.active){color:var(--color-acento);background:#3b82f614}.sidebar-link.active{background:#3b82f614;font-weight:700}.status-pill{transition:transform .2s,box-shadow .2s}.status-pill:hover{transform:scale(1.05);box-shadow:0 2px 8px #101c3f1f}.approve-button:hover:not(:disabled),.reject-button:hover:not(:disabled),.exit-button:hover,.role-logout-button:hover{transform:scale(1.02)}.submit-button:hover:not(:disabled),.primary-button:hover:not(:disabled){transform:translateY(-1px)scale(1.02)}:root{--bg-sistema:linear-gradient(135deg, #f0f4ff 0%, #e8efff 100%);--gradiente-acento:linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);--gradiente-tarjeta-destacada:linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);--gradiente-nav-activo:linear-gradient(135deg, #2563eb1f 0%, #3b82f60d 100%);--color-success:#10b981;--color-info:#0ea5e9;--sombra-premium:0 10px 25px -5px #3b82f614, 0 8px 12px -6px #3b82f60a;--sombra-premium-hover:0 20px 35px -8px #3b82f62e, 0 12px 16px -8px #3b82f614;--borde-tarjeta:1px solid #3b82f61a}html,body{background:linear-gradient(135deg,#f0f4ff 0%,#e8efff 100%) fixed}.summary-card,.activity-card,.request-form{border:var(--borde-tarjeta);box-shadow:var(--sombra-premium)}.summary-card:hover{box-shadow:var(--sombra-premium-hover);transform:translateY(-5px)scale(1.01)}.sidebar-link.active{background:var(--gradiente-nav-activo)}.sidebar-link.active:before{border-radius:0 4px 4px 0;width:4px;height:24px;box-shadow:0 0 8px #3b82f699}.status-pill{border-radius:9999px;font-weight:700}.status-pill.aprobado{color:#059669;background:#10b98126;border-color:#10b9814d}.submit-button,.primary-button{background:var(--gradiente-acento);color:#fff;border:0}.spinner{vertical-align:-2px;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:15px;height:15px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}.spinner-dark{border:2px solid #101c3f26;border-top-color:var(--color-acento,#3b82f6)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes welcomePop{0%{opacity:0;transform:translateY(14px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}
