:root{--color-primario:#2563eb;--color-primario-oscuro:#1d4ed8;--color-exito:#16a34a;--color-peligro:#dc2626;--color-aviso:#d97706;--color-texto:#1f2937;--color-texto-suave:#6b7280;--color-borde:#e5e7eb;--color-fondo:#f3f4f6;--color-tarjeta:#fff;--radio:12px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}.avisos-fijos{z-index:1000;overflow-wrap:anywhere;flex-direction:column;display:flex;position:fixed;top:0;left:0;right:0}.aviso-actualizacion{background:var(--color-primario-oscuro);color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600;display:flex}.aviso-copias{background:var(--color-peligro);color:#fff;text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600;display:flex}.aviso-actualizacion .boton{color:var(--color-primario-oscuro);background:#fff;margin-top:0}.aviso-actualizacion .boton:hover:not(:disabled){background:var(--color-fondo);color:var(--color-primario-oscuro)}body{background:var(--color-fondo);color:var(--color-texto);padding-top:var(--alto-avisos,0px);margin:0}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:2rem 0 .75rem;font-size:1.1rem}.pantalla-centrada{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.tarjeta{background:var(--color-tarjeta);border-radius:var(--radio);flex-direction:column;gap:.5rem;width:100%;max-width:380px;padding:2rem;display:flex;box-shadow:0 1px 3px #0000001a}.tarjeta-ancha{max-width:480px}.texto-ayuda{color:var(--color-texto-suave);margin:0 0 1rem;font-size:.95rem}label{margin-top:.5rem;font-size:.9rem;font-weight:600}input,select,textarea{border:1px solid var(--color-borde);border-radius:8px;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:1rem}textarea{resize:vertical;min-height:80px}.input-grande{padding:1rem;font-size:1.3rem}.input-pin{letter-spacing:.5rem;text-align:center}.pin-puntos{justify-content:center;gap:.75rem;margin:.5rem 0 1.5rem;display:flex}.pin-punto{border:2px solid var(--color-primario);background:0 0;border-radius:50%;width:18px;height:18px}.pin-punto-lleno{background:var(--color-primario)}.teclado-numerico{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.tecla{cursor:pointer;border-radius:var(--radio);background:var(--color-fondo);color:var(--color-texto);border:none;padding:1.1rem 0;font-size:1.6rem;font-weight:700}.tecla:disabled{opacity:.6}.tecla-secundaria{background:var(--color-borde);font-size:1.2rem}.boton{cursor:pointer;background:var(--color-borde);color:var(--color-texto);border:none;border-radius:8px;margin-top:.75rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:600}.boton:disabled{opacity:.6;cursor:not-allowed}.boton-primario{background:var(--color-primario);color:#fff}.boton-primario:hover:not(:disabled){background:var(--color-primario-oscuro)}.boton-secundario{border:1px solid var(--color-borde);color:var(--color-texto);background:0 0}.boton-exito{background:var(--color-exito);color:#fff}.boton-aviso{color:#fff;background:#d97706}.boton-grande{border-radius:var(--radio);text-align:center;padding:1.25rem;font-size:1.2rem;text-decoration:none;display:block}.boton-enlace{color:var(--color-primario);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:600}.enlace-volver{color:var(--color-texto-suave);margin-top:1rem;font-size:.9rem;text-decoration:none;display:inline-block}.mensaje-error{color:var(--color-peligro);margin:.25rem 0 0;font-size:.9rem}.mensaje-exito{color:var(--color-exito);margin:.25rem 0 0;font-size:.9rem}.grupo-botones-modo{flex-direction:column;gap:1rem;display:flex}.enlace-olvido-tablet{text-align:center;color:var(--color-texto-suave);margin-top:1.5rem;font-size:.95rem;text-decoration:none;display:block}.cabecera-tablet-simple{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.boton-salir-tablet,.boton-volver-tablet{cursor:pointer;border-radius:var(--radio);color:#fff;border:none;padding:.7rem 1.5rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-block}.boton-salir-tablet{background:var(--color-peligro)}.boton-volver-tablet{background:var(--color-exito)}.cabecera-tablet-solo-salir{justify-content:flex-end;padding:0 0 1rem}.grupo-botones-modo .boton-grande{background:var(--color-primario);color:#fff}.grupo-botones-fichar{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.grupo-botones-fichar .boton-grande{color:#fff}.aviso-pendientes{color:#92400e;background:#fef3c7;border-radius:8px;margin:0 0 .5rem;padding:.6rem .85rem;font-size:.9rem}.aviso-info{color:#1e40af;background:#dbeafe;border-radius:8px;margin:0 0 .5rem;padding:.6rem .85rem;font-size:.9rem}.aviso-info ul{margin:.35rem 0 0;padding-left:1.2rem}.aviso-info li{margin-bottom:.3rem}.aviso-info li:last-child{margin-bottom:0}.aviso-documento{color:#6b21a8;background:#f3e8ff;border-radius:8px;margin:0 0 .5rem;padding:.6rem .85rem;font-size:.9rem}.aviso-documento ul{margin:.35rem 0 0;padding-left:1.2rem}.aviso-documento li{margin-bottom:.3rem}.aviso-documento li:last-child{margin-bottom:0}.aviso-discreto{color:var(--color-texto-suave);background:0 0;padding:0 .1rem}.boton-entrada{background:var(--color-exito)}.boton-salida{background:var(--color-peligro)}.boton-pausa{background:var(--color-aviso)}.boton-comida{background:var(--color-primario)}.boton-fila-completa{grid-column:1/-1}.boton-corregir{background:var(--color-borde);color:var(--color-texto);margin-top:1.25rem}@media (width<=480px){.grupo-botones-fichar{gap:.6rem}.grupo-botones-fichar .boton-grande{padding:.9rem .5rem;font-size:1.05rem}.pantalla-fichar .pantalla-centrada{align-items:flex-start;padding:.75rem}.pantalla-fichar .tarjeta{gap:.35rem;padding:1.1rem}.pantalla-fichar .cabecera-identidad{margin-bottom:.25rem}.pantalla-fichar .logo-identidad{max-width:4.5rem;max-height:2.5rem}.pantalla-fichar .nombre-empleado-grande{font-size:1.3rem}.pantalla-fichar .texto-ayuda{margin:0 0 .5rem}.pantalla-fichar .aviso-pendientes,.pantalla-fichar .aviso-info,.pantalla-fichar .aviso-documento{padding:.5rem .7rem;font-size:.85rem}.pantalla-fichar .enlace-olvido-tablet{margin-top:.75rem}.pantalla-fichar .boton-corregir{margin-top:.9rem}}.confirmacion{text-align:center;align-items:center}.icono-confirmacion{background:var(--color-exito);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:2rem;display:flex}.hora-grande{margin:.5rem 0;font-size:2.5rem;font-weight:700}.barra-nav{background:var(--color-tarjeta);border-bottom:1px solid var(--color-borde);top:var(--alto-avisos,0px);z-index:20;flex-wrap:wrap;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex;position:sticky}.barra-nav-cabecera,.barra-nav-contenido{display:contents}.barra-nav-marca{font-weight:700}.barra-nav-toggle{display:none}.barra-nav-enlaces{flex-wrap:wrap;flex:1;gap:.75rem 1rem;min-width:0;display:flex}.barra-nav-enlaces a{color:var(--color-texto-suave);font-size:.9rem;font-weight:600;text-decoration:none}.barra-nav-enlaces a.activo{color:var(--color-primario)}.grupo-botones-motivo{gap:.5rem;margin-bottom:.75rem;display:flex}.grupo-botones-motivo .boton{margin-top:0}.badge-aviso{background:var(--color-peligro);color:#fff;text-align:center;vertical-align:middle;border-radius:999px;min-width:1.1rem;height:1.1rem;margin-left:.3rem;padding:0 .3rem;font-size:.7rem;font-weight:700;line-height:1.1rem;display:inline-block}.barra-nav-usuario{color:var(--color-texto-suave);white-space:nowrap;flex-shrink:0;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.barra-nav-usuario>span:not(.barra-nav-version){text-overflow:ellipsis;max-width:9rem;overflow:hidden}.barra-nav-version{color:var(--color-primario);font-size:.75rem}.barra-nav-version-movil,.menu-movil-cabecera{display:none}@media (width<=768px){.barra-nav{flex-direction:column;align-items:stretch}.barra-nav-cabecera{justify-content:space-between;align-items:center;width:100%;display:flex}.barra-nav-version-movil{display:inline-block}.barra-nav-toggle{background:var(--color-primario);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.1rem;font-size:1.05rem;font-weight:700;line-height:1;display:block}.barra-nav-contenido{flex-direction:column;align-items:stretch;gap:.6rem;width:100%;margin-top:.85rem;display:none}.barra-nav-abierta .barra-nav-contenido{inset:0;top:var(--alto-avisos,0px);z-index:60;padding:max(1rem, env(safe-area-inset-top)) 1rem max(2rem, env(safe-area-inset-bottom));background:var(--color-tarjeta);-webkit-overflow-scrolling:touch;margin:0;display:flex;position:fixed;overflow-y:auto}.menu-movil-cabecera{justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:1.3rem;display:flex}.barra-nav-enlaces{flex-direction:column;gap:.6rem}.barra-nav-enlaces a{background:var(--color-fondo);border-radius:8px;padding:.75rem 1rem;font-size:1rem}.barra-nav-enlaces a.activo{background:var(--color-primario);color:#fff}.barra-nav-separador{display:none}.barra-nav-usuario{border-top:1px solid var(--color-borde);justify-content:space-between;padding-top:.85rem}}.pestanas{border-bottom:1px solid var(--color-borde);flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem;padding-bottom:.75rem;display:flex}.pestana{cursor:pointer;border:1px solid var(--color-borde);background:var(--color-tarjeta);color:var(--color-texto-suave);border-radius:999px;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600}.pestana-activa{border-color:var(--color-primario);background:var(--color-primario);color:#fff}.pestana-grande{text-align:left;border-radius:14px;flex-direction:column;flex:14rem;align-items:flex-start;gap:.15rem;max-width:22rem;padding:.75rem 1.1rem;display:flex}.pestana-secundaria{background:var(--color-fondo);border-style:dashed}.pestana-grande .pestana-titulo{font-size:1.05rem;font-weight:700}.pestana-grande .pestana-detalle{opacity:.85;font-size:.82rem;font-weight:400;line-height:1.3}input[type=date]{box-sizing:border-box;min-width:0;max-width:100%;min-height:2.9rem}@media (width<=600px){.pestanas{flex-flow:wrap;gap:.4rem}.pestanas .pestana{white-space:nowrap;flex:none;width:auto;padding:.4rem .8rem;font-size:.86rem}.pestanas:has(.pestana-grande){flex-direction:column;overflow-x:visible}.pestanas .pestana.pestana-grande{white-space:normal;flex:none;width:100%;max-width:none}.pestana{text-align:left;border-radius:8px;width:100%}}.contenido-pagina{max-width:min(96vw,2200px);margin:0 auto;padding:2rem 1.5rem}.tabla-tarjetas-movil td.celda-ajustes-vacaciones{padding-left:0!important}.tabla-tarjetas-movil td.celda-ajustes-vacaciones:before{content:none!important}.panel-ajustes-vacaciones{flex-direction:column;gap:.6rem;padding:.75rem 0;display:flex}.lista-ajustes-vacaciones{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.lista-ajustes-vacaciones li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.formulario-ajuste-vacaciones{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.panel-cierre-anio{margin:1rem 0}.formulario-cierre-anio{border:1px solid var(--color-borde);border-radius:.5rem;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.lista-cierre-anio{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lista-cierre-anio li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.tabla-scroll{scrollbar-width:auto;scrollbar-color:var(--color-primario,#2563eb) #e5e7eb;padding-bottom:4px;overflow-x:auto}.tabla-scroll::-webkit-scrollbar{height:12px}.tabla-scroll::-webkit-scrollbar-track{background:#e5e7eb;border-radius:6px}.tabla-scroll::-webkit-scrollbar-thumb{background:var(--color-primario,#2563eb);border:2px solid #e5e7eb;border-radius:6px}.tabla-scroll table{width:auto;min-width:100%}@media (width>=769px){td[data-label=Motivo],td[data-label=Corrige\ a],td[data-label=Creada\ por],td[data-label=Estado],td[data-label=Solapes],td[data-label=Título],td[data-label=Aviso],td[data-label=Pausas],td[data-label=Justificante],td[data-label=Revisada\ por],td[data-label=Solicitado\ por],td[data-label=Declarado\ por],td[data-label=Horario],td[data-label="Qué se le solicitó"],td[data-label="Qué te solicitan"],td[data-label="Qué te solicitaron"],td[data-label=Departamento],td[data-label=Rol]{white-space:normal;overflow-wrap:anywhere;min-width:8rem}td[data-label=Acciones]{white-space:normal}td[data-label=Motivo]{min-width:12rem}td[data-label=Estado]{min-width:11rem}}table{border-collapse:collapse;background:var(--color-tarjeta);border-radius:var(--radio);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--color-borde);white-space:nowrap;padding:.75rem 1rem;font-size:.9rem}@media (width<=600px){th,td{padding:.5rem .6rem;font-size:.82rem}}.th-ordenable{cursor:pointer;-webkit-user-select:none;user-select:none}.th-ordenable:hover,.fila-grupo td{background:var(--color-fondo)}@media screen and (width<=768px){.tabla-tarjetas-movil{overflow:visible}.tabla-tarjetas-movil table,.tabla-tarjetas-movil tbody,.tabla-tarjetas-movil tr,.tabla-tarjetas-movil td{width:100%;display:block}.tabla-tarjetas-movil thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tabla-tarjetas-movil tbody{flex-direction:column;gap:.75rem;display:flex}.tabla-tarjetas-movil tr{border:1px solid var(--color-borde);border-radius:var(--radio);padding:.75rem 1rem}.tabla-tarjetas-movil td{text-align:left;white-space:normal;border-bottom:none;padding:.3rem 0 .3rem 42%;font-size:.9rem;position:relative}.tabla-tarjetas-movil td:before{content:attr(data-label);width:40%;color:var(--color-texto-suave);white-space:normal;padding-right:.5rem;font-weight:600;position:absolute;left:0}.tabla-tarjetas-movil td:first-child{border-bottom:1px solid var(--color-borde);margin-bottom:.3rem;padding:0 0 .5rem;font-size:1rem;font-weight:600}.tabla-tarjetas-movil td:first-child:before{content:none}.tabla-tarjetas-movil td.celda-acciones{flex-wrap:wrap;gap:.75rem;display:flex}}th{background:#f9fafb;font-weight:600}.formulario-solicitud{background:var(--color-tarjeta);border-radius:var(--radio);flex-direction:column;max-width:480px;padding:1.5rem;display:flex}@media (width>=860px){.formulario-solicitud.formulario-ancho{max-width:760px}}.fila-campos{grid-template-columns:1fr;gap:0 1.5rem;display:grid}@media (width>=640px){.fila-campos{grid-template-columns:1fr 1fr}}.campo{flex-direction:column;min-width:0;display:flex}.grupo-dias-semana{gap:.4rem;margin:.25rem 0 .5rem;display:flex}.dia-semana{border:1px solid var(--color-borde);background:var(--color-fondo);width:36px;height:36px;color:var(--color-texto-suave);cursor:pointer;border-radius:50%;font-weight:600}.dia-semana-activo{background:var(--color-primario);border-color:var(--color-primario);color:#fff}.dia-semana:disabled{opacity:.35;cursor:not-allowed}.editor-grupos-dias{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.grupo-horario-dia{border:1px solid var(--color-borde);border-radius:var(--radio);background:var(--color-fondo-suave,transparent);padding:1rem}.logo-empresa-preview{object-fit:contain;border:1px solid var(--color-borde);background:#fff;border-radius:8px;max-width:160px;max-height:80px;margin:.5rem 0;padding:.5rem}.estado{border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.estado-pendiente{color:#92400e;background:#fef3c7}.estado-aprobada{color:#166534;background:#dcfce7}.estado-rechazada{color:#991b1b;background:#fee2e2}.estado-pequeno{margin-left:.3rem;padding:.05rem .4rem;font-size:.72rem}.estado-anulada{color:#374151;background:#e5e7eb}.estado-ausencia{color:#e6f1fb;background:#185fa5}.estado-cerrado{color:#042c53;background:#b5d4f4}.barra-nav-separador{background:var(--color-borde);align-self:stretch;width:1px;margin:0 .25rem}.cabecera-pagina{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.cabecera-pagina h1,.cabecera-pagina .titulo-seccion{margin:0}.titulo-seccion{font-size:1.1rem}.check-linea{align-items:center;gap:.5rem;width:fit-content;margin:0 0 1rem;font-weight:400;display:flex}.check-linea input{width:auto}.celda-acciones{align-items:center;gap:1rem;display:flex}.celda-acciones-solicitud{flex-wrap:wrap}.boton-pequeno{margin-top:0;padding:.4rem .75rem;font-size:.85rem}.input-motivo-rechazo{width:220px}.formulario-filtros{background:var(--color-tarjeta);border-radius:var(--radio);flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.formulario-filtros>div{flex-direction:column;display:flex}.formulario-filtros label{margin-top:0}.formulario-filtros select,.formulario-filtros input{width:auto}.formulario-filtros button{margin-top:0}.grupo-botones-exportar{gap:.5rem;display:flex}.grupo-botones-exportar button{margin-top:0}.editor-tramos{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.tramo-horario{border:1px solid var(--color-borde);border-radius:var(--radio);padding:1rem}.tramo-horario-cabecera{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.fila-anomala{background:#dc354514}.fila-pendiente-aprobar{background:#d9770614}.fila-anulada{opacity:.6;text-decoration:line-through}.fila-cerrada{color:var(--color-texto-suave);background:#6b728014;font-style:italic}.fila-resaltada{outline:2px solid var(--color-aviso);outline-offset:-2px;background:#d977062e;animation:1.6s ease-in-out 2 parpadeo-resaltado}@keyframes parpadeo-resaltado{0%,to{background:#d9770647}50%{background:#d977061a}}.cabecera-identidad{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.logo-identidad{object-fit:contain;max-width:6rem;max-height:3.5rem}.nombre-empleado-grande{margin:0;font-size:1.6rem;font-weight:700}.calendario-controles{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.calendario-nav-mes{gap:.5rem;display:flex}.calendario-leyenda{flex-wrap:wrap;gap:.35rem 1.25rem;margin-bottom:1rem;font-size:.85rem;display:flex}.calendario-muestra{vertical-align:middle;border:1px solid #0003;border-radius:3px;width:14px;height:14px;margin-right:.4rem;display:inline-block}.calendario-scroll{max-width:100%;overflow-x:auto}.tabla-calendario{border-collapse:collapse;border-radius:0;font-size:.78rem;overflow:visible}.tabla-calendario th,.tabla-calendario td{text-align:center;border:1px solid #e5e7eb;padding:0}.calendario-col-nombre{white-space:nowrap;text-overflow:ellipsis;z-index:1;background:#fff;min-width:170px;max-width:220px;position:sticky;left:0;overflow:hidden;text-align:left!important;padding:.3rem .5rem!important}.tabla-calendario th{color:#6b7280;width:26px;min-width:26px;font-weight:400;line-height:1.15;padding:.2rem 0!important}.calendario-dia-num{font-size:.75rem;font-weight:600;display:block}.calendario-dia-mes{text-transform:uppercase;font-size:.6rem;display:block}.tabla-calendario td:not(.calendario-col-nombre){width:26px;height:24px}.calendario-fila-grupo td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f3f4f6;border-left:none;border-right:none;font-weight:600;text-align:left!important;padding:.4rem .5rem!important}.calendario-muestra,.cal-pendiente,.cal-aprobada-vacaciones,.cal-aprobada-otro,.cal-aprobada-festivo-trabajado,.cal-weekend,.cal-festivo{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal-pendiente{background:#facc15}.cal-aprobada-vacaciones{background:#22c55e}.cal-aprobada-otro{background:#6366f1}.cal-aprobada-festivo-trabajado{background:#f472b6}.cal-weekend{background:#e5e7eb}.cal-festivo,th.cal-festivo{color:#fff;background:#dc2626}@page{size:landscape;margin:8mm}.calendario-cabecera-impresion{display:none}@media print{.barra-nav,.formulario-filtros,.grupo-botones-exportar,.enlace-volver,.no-imprimir{display:none!important}.tabla-tarjetas-movil table,.tabla-tarjetas-movil tbody,.tabla-tarjetas-movil tr,.tabla-tarjetas-movil td{display:revert!important;width:auto!important}.tabla-tarjetas-movil thead{clip:auto!important;width:auto!important;height:auto!important;position:static!important;overflow:visible!important}.tabla-tarjetas-movil tr{border:none!important;padding:0!important}.tabla-tarjetas-movil td{border-bottom:1px solid var(--color-borde)!important;padding:.5rem .6rem!important}.tabla-tarjetas-movil td:before,.tabla-tarjetas-movil td:first-child:before{content:none!important}.calendario-scroll{overflow:visible}.calendario-col-nombre{position:static}.calendario-cabecera-impresion{margin-bottom:1rem;display:block}.calendario-cabecera-impresion h2{margin:0 0 .25rem}.calendario-cabecera-impresion p{color:#4b5563;margin:0}body[data-imprimir-calendario] h1,body[data-imprimir-calendario] .pestanas,body[data-imprimir-calendario] .panel-pestana>.titulo-seccion,body[data-imprimir-calendario] .panel-pestana>.texto-ayuda{display:none!important}}.menu-grupo{position:relative}.menu-grupo-boton{font:inherit;color:var(--color-texto-suave);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.menu-grupo-boton.activo,.menu-grupo-abierto .menu-grupo-boton{color:var(--color-primario)}.menu-grupo-flecha{margin-left:.25rem;font-size:.7rem}.menu-grupo-panel{background:var(--color-tarjeta);border:1px solid var(--color-borde);border-radius:var(--radio);z-index:30;flex-direction:column;gap:.15rem;min-width:15rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .55rem);left:-.75rem;box-shadow:0 8px 24px #0000001f}.menu-grupo-panel a{white-space:nowrap;border-radius:8px;padding:.5rem .75rem}.menu-grupo-panel a:hover{background:var(--color-fondo)}.menu-grupo-panel a.activo{background:var(--color-fondo);color:var(--color-primario)}.boton-buscar{background:var(--color-fondo);border:1px solid var(--color-borde);font:inherit;color:var(--color-texto-suave);cursor:pointer;border-radius:8px;padding:.35rem .7rem;font-size:.85rem}.migas{color:var(--color-texto-suave);padding:.5rem 1.5rem 0;font-size:.85rem}.migas a{color:var(--color-primario);text-decoration:none}.buscador-fondo{z-index:2000;background:#11182773;justify-content:center;align-items:flex-start;padding:8vh 1rem 1rem;display:flex;position:fixed;inset:0}.buscador-caja{background:var(--color-tarjeta);border-radius:var(--radio);width:100%;max-width:36rem;padding:1rem;box-shadow:0 16px 40px #00000040}.buscador-entrada{border:2px solid var(--color-primario);border-radius:10px;width:100%;padding:.75rem 1rem;font-size:1.05rem}.buscador-resultados{max-height:50vh;margin:.75rem 0 0;padding:0;list-style:none;overflow-y:auto}.buscador-resultado{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .75rem;display:flex}.buscador-resultado-activo{background:var(--color-fondo)}.buscador-titulo{font-weight:700}.buscador-detalle{color:var(--color-texto-suave);font-size:.8rem}.buscador-vacio{color:var(--color-texto-suave);padding:.75rem}.buscador-ayuda{color:var(--color-texto-suave);margin:.75rem 0 0;font-size:.75rem}@media (width<=768px){.menu-grupo-boton{text-align:left;background:var(--color-fondo);border-radius:8px;width:100%;padding:.75rem 1rem;font-size:1rem}.menu-grupo-boton.activo{background:var(--color-primario);color:#fff}.menu-grupo-flecha{float:right}.menu-grupo-panel{min-width:0;box-shadow:none;background:0 0;border:none;gap:.4rem;margin-top:.4rem;padding:0 0 0 .75rem;position:static}.menu-grupo-panel a{white-space:normal}.migas{padding:.5rem 1rem 0}.boton-buscar{margin-right:auto}}.pantalla-centrada-con-panel{flex-wrap:wrap;align-items:flex-start;gap:1.5rem}.panel-pendientes{background:var(--color-tarjeta);border-radius:var(--radio);flex-direction:column;gap:.5rem;width:100%;max-width:380px;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.columna-paneles{flex-direction:column;gap:1rem;width:100%;max-width:380px;display:flex}@media (width>=769px),(width>=600px) and (hover:hover) and (pointer:fine){.pantalla-centrada-con-panel{flex-wrap:nowrap;gap:1rem}.pantalla-centrada-con-panel>.tarjeta{flex:380px;min-width:0}.pantalla-centrada-con-panel>.columna-paneles{flex:0 380px;min-width:250px;position:sticky;top:1rem}}@media (width>=600px) and (width<=1000px){.pantalla-fichar .pantalla-centrada-con-panel{padding:.75rem}.pantalla-centrada-con-panel>.tarjeta{padding:1.1rem}.pantalla-centrada-con-panel .panel-pendientes{padding:1rem}.pantalla-centrada-con-panel .grupo-botones-fichar{gap:.6rem}.pantalla-centrada-con-panel .grupo-botones-fichar .boton-grande{padding:.9rem .4rem;font-size:1rem}}@media (width>=769px),(width>=600px) and (hover:hover) and (pointer:fine){.aviso-en-panel{display:none}}.panel-pendientes-titulo{margin:0 0 .25rem;font-size:1.15rem}.panel-pendientes-todo-bien{color:var(--color-exito,#15803d);margin:0;font-weight:700}.panel-linea{background:var(--color-fondo);color:var(--color-texto);border-radius:10px;align-items:center;gap:.75rem;padding:.6rem .75rem;text-decoration:none;display:flex}.panel-linea:hover{background:#e5e7eb}.panel-linea-con-pendiente{background:#fef2f2}.panel-linea-enlace{margin-top:.5rem}.panel-cifra{text-align:center;min-width:2rem;color:var(--color-texto-suave);font-size:1.1rem;font-weight:700}.panel-cifra-alerta{color:var(--color-peligro)}.panel-cifra-icono{font-size:1.1rem}.panel-texto{flex:1}.desglose-empresas{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.etiqueta-empresa-pequena{padding:.05rem .45rem;font-size:.72rem}.panel-copias{color:var(--color-texto-suave);margin:.25rem 0 0;font-size:.85rem}.panel-copias-fallo{color:var(--color-peligro);font-weight:700}@media (width>=769px){.barra-nav-enlaces{gap:.75rem 1.5rem}.barra-nav-enlaces a,.menu-grupo-boton{font-size:1.1rem;font-weight:700}.barra-nav-enlaces a.enlace-fichar,.barra-nav-enlaces a.enlace-fichar.activo{color:#fff;background:#16a34a;border-radius:999px;padding:.3rem 1rem}.barra-nav-enlaces a.enlace-fichar:hover{filter:brightness(.92)}.barra-nav-enlaces a.enlace-fichar.activo{filter:brightness(.9);box-shadow:0 0 0 3px #16a34a47}.enlace-resumen-movil{display:none}.menu-grupo-panel a{font-size:1rem}}@media (width<=768px){.menu-grupo-panel a.solo-escritorio{display:none}}@media (width<=599px),(width<=768px) and (hover:none),(width<=768px) and (pointer:coarse){.pantalla-centrada-con-panel>.panel-pendientes,.pantalla-centrada-con-panel>.columna-paneles{display:none}}@media (width>=769px) and (width<=1599px){.barra-nav-enlaces{gap:.75rem 1rem}.barra-nav-enlaces a,.menu-grupo-boton{font-size:.98rem}.barra-nav-usuario>span:not(.barra-nav-version){max-width:6.5rem}}.aviso-vista-previa{background:#fef9c3;border:1px solid #fde047;border-radius:10px;margin:0 0 1rem;padding:.6rem .9rem}.permisos-empresas{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.permisos-acciones{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.permisos-tabla{border-collapse:collapse;background:var(--color-tarjeta);border-radius:var(--radio);width:100%}.permisos-tabla th,.permisos-tabla td{text-align:left;border-bottom:1px solid var(--color-borde);vertical-align:top;padding:.7rem .9rem}.permisos-titulo-tabla{text-align:left;padding:.6rem .9rem;font-weight:700}.permisos-ayuda{margin-top:.15rem;font-size:.8rem}.permisos-nivel{border:2px solid #0000;border-radius:8px;padding:.35rem .5rem;font-weight:700}.permisos-nivel-nada{color:#6b7280;background:#f3f4f6}.permisos-nivel-ver{color:#1d4ed8;background:#dbeafe}.permisos-nivel-modificar{color:#15803d;background:#dcfce7}.permisos-cambiado{border-color:#f59e0b}.permisos-acciones select{width:auto;min-width:14rem}.permisos-tabla select{width:100%;min-width:8rem}.permisos-barra-guardar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.permisos-guardado{color:var(--color-exito);font-weight:700}.permisos-etiqueta-pendiente{color:#6b7280;background:#f3f4f6;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.permisos-sin-guardar{outline:2px dashed var(--color-primario);outline-offset:2px}.permisos-contenedor{margin-bottom:1rem}.permisos-tabla th,.permisos-tabla td{padding:.3rem .7rem}.permisos-tabla thead th{z-index:5;box-shadow:0 1px 0 var(--color-borde);background:#eef2f7;position:sticky;top:3.9rem}.permisos-ayuda{margin-top:0;font-size:.72rem;line-height:1.2}.permisos-nivel{padding:.2rem .4rem;font-size:.95rem}.permisos-tabla select{margin:0}.permisos-tabla{border-radius:0;overflow:visible}.permisos-tabla td strong{font-size:.95rem}.fieldset-sin-borde{border:0;min-width:0;margin:0;padding:0;display:contents}.etiqueta-empresa{white-space:nowrap;border:1px solid;border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:700;display:inline-block}.filtro-empresas{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.boton-otra-empresa{color:#9a3412;background:#fff7ed;border:2px solid #f97316}.boton-otra-empresa:hover{background:#ffedd5}.filtros-plegables-boton{display:none}@media (width<=768px){.filtros-plegables-boton{background:var(--color-tarjeta);border:1px solid var(--color-borde);text-align:left;cursor:pointer;width:100%;color:var(--color-texto);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.8rem 1rem;font-size:1rem;display:flex}.filtros-plegables-texto{flex-direction:column;gap:.15rem;min-width:0;display:flex}.filtros-plegables-resumen{color:var(--color-texto-suave);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.filtros-plegables .filtros-plegables-contenido{display:none}.filtros-plegables-abierto .filtros-plegables-contenido{display:block}}@media (width<=600px){.filtro-empresas{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.filtro-empresas .pestana{white-space:nowrap;flex:none;width:auto;padding:.35rem .75rem;font-size:.85rem}}.selector-empleado{margin-bottom:1rem}.selector-empleado .filtro-empresas{margin-bottom:.5rem}.selector-empleado input[type=search]{width:100%}.selector-empleado-lista{background:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:15rem;margin:.35rem 0 0;padding:0;list-style:none;overflow-y:auto}.selector-empleado-lista li{cursor:pointer;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .75rem;display:flex}.selector-empleado-lista li:last-child{border-bottom:none}.selector-empleado-lista li.resaltado{background:#eff6ff}.selector-empleado-lista li.selector-empleado-vacio{cursor:default;color:#6b7280}.selector-empleado-elegido{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.55rem .75rem;display:flex}.papeles-ausencia{margin:0;padding:0;list-style:none}.papeles-ausencia li{margin:.15rem 0}.tarjeta-ausencia{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem}.tarjeta-ausencia-cabecera{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.botonera-documentos{flex-wrap:wrap;gap:.6rem;margin:.5rem 0 1rem;display:flex}details.grupo-nominas{margin-bottom:.4rem}details.grupo-nominas summary{cursor:pointer;padding:.3rem 0;font-weight:600}.dos-columnas{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.dos-columnas>*{min-width:0}@media (width>=1000px){.dos-columnas{grid-template-columns:minmax(20rem,26rem) minmax(0,1fr);gap:2rem}.dos-columnas .selector-empleado-lista{max-height:26rem}}.columna-sin-elegir{border:2px dashed var(--color-borde);border-radius:var(--radio);color:var(--color-texto-suave);text-align:center;padding:2rem 1.5rem}.pestanas.pestanas-sub{border-bottom:none;margin:0 0 1.25rem;padding-bottom:0}.pestanas.pestanas-sub .pestana{padding:.4rem .9rem;font-size:.88rem}.visor-archivos{z-index:2000;background:#0f172aed;flex-direction:column;gap:.75rem;padding:.75rem;display:flex;position:fixed;inset:0}.visor-archivos-barra{justify-content:flex-end;gap:.6rem;display:flex}.visor-archivos-barra .boton{width:auto;margin:0;text-decoration:none}.visor-archivos-barra .boton-secundario{color:#1f2937;background:#fff;border-color:#fff}.visor-archivos-contenido{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.visor-archivos-contenido img{object-fit:contain;background:#fff;max-width:100%;max-height:100%}.visor-archivos-contenido iframe{background:#fff;border:none;border-radius:6px;width:min(100%,1100px);height:100%}.formulario-solicitud-documento{flex-direction:column;gap:.35rem;max-width:46rem;display:flex}.formulario-solicitud-documento textarea{resize:vertical;min-height:8rem;font:inherit}.formulario-solicitud-documento button{margin-top:.6rem}.texto-con-saltos{white-space:pre-line}.badge-espera{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:.35rem;padding:0 .4rem;font-size:.75rem;font-weight:700;line-height:1.4rem;display:inline-block}.panel-linea-en-espera{background:#fffbeb}.panel-cifra-espera{color:#b45309}.tabla-calendario th.cal-hoy{background:var(--color-primario);color:#fff}.tabla-calendario td.cal-hoy{box-shadow:inset 2px 0 0 var(--color-primario), inset -2px 0 0 var(--color-primario)}.calendario-hoy-etiqueta{text-transform:uppercase;letter-spacing:.03em;font-size:.6rem;font-weight:700;display:block}@media print{.tabla-calendario th.cal-hoy{color:inherit;background:0 0}.tabla-calendario td.cal-hoy{box-shadow:none}.calendario-hoy-etiqueta{display:none}}.calendario-grupo-texto{position:sticky;left:.5rem}@media (width<=600px){.calendario-col-nombre{min-width:105px;max-width:120px}}.texto-revisor{color:var(--color-texto-suave);margin-top:.2rem;font-size:.78rem;line-height:1.3}.acciones-envio{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.acciones-envio .check-linea{margin:0;font-size:.9rem}.formulario-envio fieldset{border:1px solid var(--color-borde,#e5e7eb);border-radius:var(--radio);margin:0 0 1rem;padding:.75rem 1rem}.formulario-envio legend{padding:0 .35rem;font-weight:700}.opcion-tipo-envio{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.5rem 0;font-weight:400;display:flex}.opcion-tipo-envio input{width:auto;margin-top:.25rem}.lista-empresas-envio{flex-direction:column;gap:.25rem;margin:.5rem 0;display:flex}.lista-personas-envio{border:1px solid var(--color-borde,#e5e7eb);border-radius:8px;max-height:320px;margin-top:.5rem;padding:.5rem .75rem;overflow-y:auto}.lista-personas-envio .check-linea{margin:.15rem 0}.fila-clicable{cursor:pointer}.opciones-tipo-fichaje{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;margin-bottom:.9rem;display:grid}.opcion-tipo,.opcion-parte{cursor:pointer;border:1px solid var(--color-borde);background:var(--color-tarjeta);color:var(--color-texto);font-weight:600}.opcion-tipo{border-radius:10px;padding:.75rem .6rem;font-size:.95rem}.opcion-parte{border-radius:999px;padding:.4rem .85rem;font-size:.88rem}.opcion-tipo.opcion-activa,.opcion-parte.opcion-activa{border-color:var(--color-primario);background:var(--color-primario);color:#fff}.opciones-parte,.filtros-solicitudes{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.fila-dia-rapido{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.9rem;display:flex}.fila-dia-rapido input[type=date]{flex:10rem;margin-bottom:0}.problemas-fichaje{max-width:640px;margin-bottom:1rem}.problemas-fichaje h2{margin-top:0}.problema-fichaje{color:#92400e;background:#fef3c7;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.5rem;padding:.6rem .85rem;display:flex}.problema-fichaje .boton{margin-top:0}.fichaje-equivocado{max-width:640px;margin:.5rem 0 1rem}.lista-fichajes-corregir{margin:.5rem 0 0;padding:0;list-style:none}.lista-fichajes-corregir li{border-bottom:1px solid var(--color-borde);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.lista-fichajes-corregir .boton{margin-top:0}.lista-solicitudes{flex-direction:column;gap:.6rem;max-width:720px;display:flex}.solicitud-tarjeta{background:var(--color-tarjeta);border:1px solid var(--color-borde);border-left:4px solid var(--color-aviso);border-radius:8px;padding:.7rem .9rem}.solicitud-tarjeta.solicitud-aprobada{border-left-color:var(--color-exito)}.solicitud-tarjeta.solicitud-rechazada{border-left-color:var(--color-peligro)}.solicitud-texto,.solicitud-estado{margin-bottom:.3rem}.solicitud-rechazo{color:#991b1b;background:#fee2e2;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .7rem;display:flex}.solicitud-rechazo .boton{margin-top:0}.aviso-cambio-tipo{color:#991b1b;background:#fee2e2;border-radius:6px;margin:.35rem 0 .75rem;padding:.45rem .65rem;font-size:.88rem}.esperando-documentos{max-width:900px}.grupo-esperando{background:var(--color-tarjeta);border:1px solid var(--color-borde);border-left:4px solid var(--color-aviso);border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem}.grupo-esperando-cabecera{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-bottom:.6rem;display:flex}.grupo-esperando-cabecera .texto-ayuda{margin:0}.grupo-esperando-cabecera .boton{margin:0 0 0 auto}.grupo-esperando-personas{flex-wrap:wrap;gap:.4rem;display:flex}.persona-esperando{background:var(--color-fondo);color:var(--color-texto);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.9rem;text-decoration:none;display:inline-flex}.persona-esperando:hover{background:#e5e7eb}.declaracion-recibido{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;max-width:34rem;margin:.25rem 0;padding:.6rem .8rem;font-size:.92rem}.campos-en-fila{flex-wrap:wrap;gap:0 1rem;display:flex}.campos-en-fila>div{flex-direction:column;flex:10rem;display:flex}.huella-larga{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.solapes-plegados summary{cursor:pointer;color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600;display:inline-block}.solapes-plegados ul{min-width:14rem;margin:.4rem 0 0;padding-left:1rem;font-size:.82rem}.solapes-plegados li{margin-bottom:.2rem}.texto-flotante{z-index:1000;color:#fff;white-space:pre-line;pointer-events:none;background:#111827;border-radius:8px;max-width:260px;padding:.45rem .7rem;font-size:.85rem;line-height:1.35;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 14px #0000004d}.cal-con-texto{cursor:help}.mi-anio-cabecera{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.mi-anio-cabecera h2{margin:0 .4rem}.mi-anio-meses{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin-top:.75rem;display:grid}.mi-anio-mes{background:var(--color-tarjeta);border-radius:var(--radio);padding:.7rem .8rem;box-shadow:0 1px 3px #00000014}.mi-anio-mes h3{text-transform:capitalize;margin:0 0 .4rem;font-size:.95rem}.mi-anio-rejilla{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mi-anio-dia-semana{color:var(--color-texto-suave);font-size:.7rem;font-weight:600}.mi-anio-dia{border-radius:4px;padding:.28rem 0;font-size:.8rem}.mi-anio-dia.cal-aprobada-vacaciones,.mi-anio-dia.cal-aprobada-otro,.mi-anio-dia.cal-festivo,.mi-anio-dia.cal-aprobada-festivo-trabajado{color:#fff;font-weight:600}.mi-anio-dia.cal-hoy{outline:2px solid var(--color-primario);outline-offset:-1px;font-weight:700}.filtros-estado-nominas{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;display:flex}
