.login-wrapper{display:flex;justify-content:center;align-items:center;height:auto;padding:1rem}.login-container{width:100%;max-width:400px;padding:2rem;background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #0003}.login-form{display:flex;flex-direction:column}.login-form h2{text-align:center;color:#1d3557;margin-bottom:1.5rem}.login-form input{display:block;padding:.75rem;margin-bottom:.1rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;background-color:#e0efff;outline:none}.login-form input:focus{border-color:#1976d2;box-shadow:0 0 5px #1976d299}.login-form button{padding:.75rem;background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;width:100%}.login-form button:hover{background:linear-gradient(90deg,#0d47a1,#1976d2);box-shadow:0 4px 10px #1976d266}.google-login{display:flex;justify-content:center;align-items:center;width:100%}.error{color:#e63946;text-align:center;margin-top:1rem;font-weight:700}.login-header{text-align:center;margin-bottom:20px}.login-header h1{font-size:1.5rem;color:#333}.login-header p{font-size:14px;color:#666}.password-wrapper input{width:100%;padding-right:40px;box-sizing:border-box}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-80%);cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 1px rgba(0,0,0,.7))}@media (max-width: 600px){.login-header h1{font-size:1.2rem}.login-form h2{margin-bottom:1.2rem}.login-header-image{width:230px;object-fit:contain}}.register-wrapper{display:flex;justify-content:center;align-items:center;width:70%;height:auto;padding:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.register-container{width:100%;padding:2.5rem;background-color:#fff;border-radius:16px;box-shadow:0 15px 30px #00000040;display:flex;flex-direction:column;align-items:center}.tipo_usuario{margin-top:28px}.register-form{display:grid;width:100%;grid-template-columns:repeat(2,1fr);gap:15px 20px}.register-form h2{text-align:center;color:#1d3557}.fecha label{margin-bottom:5px}.register-form input,.register-form select,.register-form input[type=date],.password-wrapper input{width:100%;height:45px;padding:0 12px;border:1px solid #ccc;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;background-color:#e0efff;color:#717171}.register-form input:focus,.register-form select:focus,.register-form input[type=date]:focus,.password-wrapper input:focus{border-color:#1976d2;box-shadow:0 0 6px #1976d266;outline:none}.register-form button{grid-column:1 / -1;width:130px;padding:12px 0;margin-top:10px;background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;font-size:1.1rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.register-form button:hover{background:linear-gradient(90deg,#0d47a1,#1976d2);box-shadow:0 6px 15px #1976d266;transform:translateY(-2px)}.error{grid-column:1 / -1;color:#e63946;text-align:center;font-weight:700;margin-top:5px}.message{grid-column:1 / -1;text-align:center;color:#2a9d8f;margin-top:10px;font-weight:500}.password-wrapper{position:relative;display:flex;align-items:center}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 1px rgba(0,0,0,.7))}@media (max-width: 956px){.tipo_usuario{margin-top:50px}}@media (max-width: 900px){.register-wrapper{width:590px;padding:10px}}@media (max-width: 600px){.register-wrapper{width:100%;padding:10px}.register-container{padding:15px;border-radius:8px;box-shadow:none}.tipo_usuario{margin-top:0}.register-form{grid-template-columns:repeat(1,1fr);gap:10px 0}.register-form input,.register-form select,.register-form input[type=date]{height:35px;font-size:1rem}}.sin-acceso-wrapper{display:flex;justify-content:center;align-items:center;width:70%;height:auto;padding:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;flex-direction:column}.main-label{text-align:center;font-size:18px;font-weight:700;color:#c01e1e;margin-bottom:20px}.sin-acceso{width:100%;max-width:500px;padding:2.5rem;background-color:#fff;border-radius:16px;box-shadow:0 15px 30px #00000040;display:flex;flex-direction:column;align-items:center}.sin-acceso form{display:flex;flex-direction:column;width:100%;gap:15px}.sin-acceso h3{text-align:center;color:#1d3557;margin-bottom:.5rem}.sin-acceso form input,.sin-acceso form select,.sin-acceso form input[type=date]{width:100%;height:45px;padding:0 12px;border:1px solid #ccc;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;background-color:#e0efff;color:#717171}.sin-acceso form input:focus,.sin-acceso form select:focus,.sin-acceso form input[type=date]:focus{border-color:#1976d2;box-shadow:0 0 6px #1976d266;outline:none}.sin-acceso form button{width:150px;padding:12px 0;margin:10px auto 0;background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;font-size:1.1rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.sin-acceso form button:hover{background:linear-gradient(90deg,#0d47a1,#1976d2);box-shadow:0 6px 15px #1976d266;transform:translateY(-2px)}.error{color:#e63946;text-align:center;font-weight:700;margin-top:5px}.message{text-align:center;color:#2a9d8f;margin-top:10px;font-weight:500}.barra-lateral{position:fixed;top:59px;left:0;width:200px;height:100vh;background:#f1f1f1;color:#717171;display:flex;flex-direction:column;padding:20px;box-shadow:0 0 8px #0000004d;z-index:999;transition:width .3s ease}.barra-lateral.colapsada{width:40px}.barra-lateral.colapsada~.contenido-principal{margin-left:80px}.encabezado-barra{display:flex}.boton-colapsar{margin-left:20px;font-size:1.5rem;background:none;border:none;cursor:pointer;color:#000;outline:none}.barra-lateral h3{margin:0 0 10px;font-size:1.2rem;letter-spacing:1px}.barra-lateral nav ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.barra-lateral nav ul li{display:flex;flex-direction:column}.menu-titulo{display:flex;align-items:center;gap:10px;padding:5px 16px;border-radius:10px;transition:all .2s ease;cursor:pointer;font-weight:500;color:#555;font-size:1rem}.menu-titulo .icono-titulo{font-size:1.2rem}.menu-titulo:hover,.menu-titulo.activo{color:#2daeff}.sub-menu{list-style:none;padding-left:0;margin:5px 0 0;overflow:hidden;max-height:0;transition:max-height .3s ease;cursor:pointer}.sub-menu li{display:flex;gap:8px;margin-left:40px;justify-content:flex-start}.sub-menu li .icono{display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.sub-menu li .icono svg{vertical-align:middle;height:1em;width:1em}.sub-menu li:hover,.sub-menu li.activo{color:#2daeff}.barra-lateral.colapsada nav ul li .texto{display:none}.barra-lateral.colapsada nav ul li{justify-content:center}.barra-lateral ul li .icono,.barra-lateral ul li .icono-titulo{font-size:1.2rem}.contenido-principal{margin-left:235px;margin-top:-40px;padding:20px;overflow-y:auto;background-color:#f1f1f1;transition:margin-left .3s ease}.tarjeta-lista,.tarjeta-calendario,.tarjeta-notificaciones{background:#fff;border-radius:16px;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.tarjeta-lista h3,.tarjeta-calendario h3,.tarjeta-notificaciones h3{color:#0d47a1;margin-bottom:20px}.tarjeta-lista:hover,.tarjeta-calendario:hover,.tarjeta-notificaciones:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.submenu-flotante{position:absolute;left:60px;top:0;background:#fff;box-shadow:0 2px 10px #0000004d;padding:6px 0;min-width:160px;z-index:1000;animation:aparecer .2s ease}.submenu-flotante .submenu-titulo{color:#2daeff;font-weight:600;font-size:14px;padding:8px 12px;border-bottom:1px solid #bbdefb;cursor:default}.submenu-flotante li{padding:8px 16px;color:#000;cursor:pointer;white-space:nowrap}.submenu-flotante li:hover,.submenu-flotante li.activo{background:#fff;color:#2daeff}.grupo-menu{position:relative}.icono-notificacion{position:relative;display:inline-block}.indicador-rojo{position:absolute;top:2px;right:-3px;width:9px;height:9px;background-color:red;border:1.5px solid white;border-radius:50%;box-shadow:0 0 2px #fff}@keyframes aparecer{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.boton-colapsar,.contenido-principal{margin-left:0}.barra-lateral.colapsada{display:none}.barra-lateral.colapsada~.contenido-principal{margin-left:0}}.lista-solicitudes{display:flex;flex-direction:column;gap:16px!important}.tarjeta-solicitud{background:#fff;border-radius:5px;padding:16px 20px;box-shadow:0 3px 8px #00000014;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease}.numero{font-weight:700;font-size:1rem;color:#000}.revision-respuesta{display:flex;justify-content:space-between;background-color:#f1f5f9;padding:6px 12px;border-radius:10px;font-size:.85rem;color:#333}.comentario-contenedor{max-width:60vw}.comentario-contenedor label{display:block;margin-bottom:4px;font-weight:600}.comentario{background-color:#f1f5f9;padding:6px 12px;border-radius:10px;color:#333;font-size:.85rem;display:inline-block;word-wrap:break-word;white-space:normal}.acciones-solicitud{display:flex;gap:8px;justify-content:flex-end}.btn{border:none;padding:6px 14px;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s ease;font-size:.85rem}.btn.editar{background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff}.btn.editar:hover{background:linear-gradient(90deg,#0d47a1,#1976d2)}.btn.eliminar{background:linear-gradient(90deg,#e53935,#911614);color:#fff}.btn.eliminar:hover{background:linear-gradient(90deg,#911614,#e53935)}label{color:#000}p{color:#000}.modal-fondo{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000008c;display:flex;justify-content:center;align-items:center;z-index:9999;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.modal-contenido h2{text-align:center;color:#0d47a1;margin-bottom:1rem;font-weight:700}.modal-contenido form{display:grid;width:100%;grid-template-columns:1fr;gap:15px}.input-group label{font-weight:600;margin-bottom:6px;color:#333;font-size:.95rem}.input-group input[type=date]{width:100%;height:45px;padding:0 12px;border:1px solid #ccc;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;background-color:#e0efff;color:#717171}.input-group input[type=date]:focus{border-color:#1976d2;box-shadow:0 0 6px #1976d266;outline:none}.botones-modal{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:10px;width:100%}.btn-guardar1{width:100%;padding:12px 0;background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;font-size:1.05rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;text-align:center}.btn-guardar1:hover{background:linear-gradient(90deg,#0d47a1,#1976d2)}.btn-cancelar1{width:100%;padding:12px 0;background:linear-gradient(90deg,#e53935,#911614);color:#fff;font-size:1.05rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;text-align:center}.btn-cancelar1:hover{background:linear-gradient(90deg,#911614,#e53935)}.modal-contenido .mensaje-error p{color:red!important}@media (max-width: 600px){.fechas-solicitud{display:flex;flex-direction:column;row-gap:4px!important}.revision-respuesta{flex-direction:column;gap:6px;font-size:.8rem;justify-content:flex-start;align-items:flex-start;text-align:left}.revision-respuesta>*{width:auto!important;align-self:flex-start;text-align:left}.comentario-contenedor{max-width:100%}.lista-solicitudes{gap:0px!important}.fecha-respuesta{font-weight:400;font-size:.7rem}}.calendario-wrap{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:20px;background:#f0f0f0;color:#0d47a1;box-sizing:border-box;margin-bottom:50px}.calendario-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px;padding:0 10px;box-sizing:border-box}.calendario-table{width:100%;display:grid;grid-template-rows:auto 1fr;border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 12px #0000001a}.calendario-header button{background:#e0e0e0;color:#222;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s ease}.calendario-header button:hover{background:#d5d5d5}.calendario-title{font-size:1.5rem;text-transform:capitalize;font-weight:700}.calendario-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f1f1f1}.calendario-weekday{text-align:center;padding:10px;font-weight:600;font-size:.9rem;border-bottom:1px solid #ddd}.calendario-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.calendario-cell{padding:10px;text-align:right;border:1px solid #eee;font-size:1rem;position:relative;background:#fff;transition:background .3s ease}.calendario-cell span.hoy{display:inline-block;width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;background:#2196f3;color:#fff;font-weight:700}.calendario-cell.vacacion{background-color:#cdf3f6;border-radius:8px;font-weight:700}.inhabil{background-color:#ff000043;border-radius:8%}.fin-de-semana{background-color:#ffff9846}.cargando-calendario{display:flex;min-height:100px;margin-top:-40px}.cargando-texto_calendario{font-size:1rem;color:#333}.calendario-leyenda{display:flex;gap:15px;margin:10px 0 20px;flex-wrap:wrap}.leyenda-item{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#333}.color-bolita{width:14px;height:14px;border-radius:50%;display:inline-block}.bolitas-vacaciones{display:flex;gap:2px;flex-wrap:wrap}.bolita{width:15px;height:15px;border-radius:50%}@media (max-width: 600px){.calendario-wrap{padding:0}}.seccion-notificaciones{width:100%;display:flex;flex-direction:column;gap:12px;padding:10px;box-sizing:border-box;margin-bottom:50px}.tarjeta-notificacion{width:98%;background:#fff;border-radius:6px;padding:10px 15px;box-shadow:0 2px 5px #00000014;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;cursor:pointer;border-left:5px solid;display:flex;flex-direction:column;justify-content:center}.tarjeta-notificacion:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.tarjeta-notificacion.novista{border-left-color:#000}.tarjeta-notificacion.visto{border-left-color:#ccc}.cabecera-notificacion{display:flex;align-items:center;margin-bottom:5px;position:relative}.cabecera-notificacion h3{margin:0;font-size:1rem;padding-right:20px}.tarjeta-notificacion.novista h3{font-weight:700;color:#222}.tarjeta-notificacion.visto h3{font-weight:400;color:#888}.fecha-notificacion{font-size:.8rem;color:#666;margin-left:auto;margin-right:50px}.eliminar-notificacion{position:absolute;right:5px;top:50%;transform:translateY(-50%);font-weight:700;color:#999;cursor:pointer;font-size:1.6rem;transition:color .2s}.eliminar-notificacion:hover{color:red}.tarjeta-notificacion p{margin:0;font-size:.9rem;color:#555}.cargando-container{display:flex;min-height:100px;margin-top:-10px}.cargando-texto{font-size:1rem;color:#333}@media (max-width: 600px){.seccion-notificaciones{gap:12px;padding:0}.cabecera-notificacion h3{font-size:.9rem}.fecha-notificacion{font-size:.7rem;margin-right:30px}}.titulo1{color:#0d47a1}.content{padding:20px;display:flex;justify-content:center}.tarjeta_content{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}.tarjeta{background:#fff;border-radius:12px;padding:40px 10px;text-align:center;display:flex;flex-direction:column;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.tarjeta .valor{font-size:1.5rem;font-weight:700;color:#007bff;margin-bottom:5px}.tarjeta p{font-size:.9rem;color:#333;margin:0}.tarjeta p small{display:block;font-size:.75rem;color:#777}.seccion-formulario{display:flex;justify-content:center}.tarjeta-formulario{background:#fff;color:#000;border-radius:8px;padding:20px;width:100%}form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grupo-input{display:flex;flex-direction:column;margin-bottom:16px}.grupo-input label{font-weight:500;color:#333;font-size:1rem;margin-bottom:5px}.grupo-input input{padding:12px;border-radius:10px;border:1px solid #ccc;font-size:1rem;background-color:#e0efff;color:#000}.grupo-input input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 8px #1976d24d}form button{grid-column:2;justify-self:end;padding:14px 20px;border-radius:8px;font-weight:600;font-size:1rem;background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;border:none;cursor:pointer;transition:all .3s ease}form button:hover{background:linear-gradient(90deg,#0d47a1,#1976d2)}.mensaje-error{color:#d32f2f;font-weight:600}.mensaje-exito{color:#388e3c;font-weight:600}@media (max-width: 600px){.content{padding:0}.tarjeta_content{gap:5px}.tarjeta{padding:10px 5px}.tarjeta .valor{font-size:.8rem}.tarjeta p,.tarjeta p small{font-size:.65rem}.tarjeta-formulario{padding:10px}.grupo-input label{font-size:.8rem}.grupo-input input{padding:5px;font-size:.8rem;width:90%;margin-left:10px}form{grid-template-columns:1fr}form button{grid-column:1;justify-self:center;padding:7px 10px;font-size:.8rem}}@media (max-width: 350px){.tarjeta_content{grid-template-columns:repeat(1,1fr);gap:5px}}h2{color:#0d47a1}.girando{animation:girar 1s linear infinite}@keyframes girar{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.info-empleado{display:flex;flex-direction:column;gap:0}.info-empleado p{margin:0;display:flex}.label-jefe{margin-right:6px}p,label{color:#000}.seccion-lista{margin-bottom:50px}.lista-solicitudes{display:flex;flex-direction:column;gap:16px}.lista-solicitudes label{font-weight:600}.tarjeta-solicitud{position:relative;padding:16px;border:1px solid #ccc;border-radius:8px;margin-bottom:16px}.tarjeta-solicitud.cancelada{opacity:.5;font-style:italic}.cabecera-solicitud{display:flex;justify-content:space-between;align-items:flex-start}.numero{font-weight:700;font-size:1.1rem}.fecha-estado{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.fecha.gris{color:#717171;font-size:.85rem}.estado{font-weight:700;font-size:.9rem;color:#333;display:flex;align-items:center;gap:5px}.fechas-solicitud{display:flex;gap:24px;color:#000;font-size:.95rem;font-weight:500}.revision-respuesta{display:flex;justify-content:space-between;align-items:center;background-color:#f1f5f9;padding:6px 12px;border-radius:10px;font-size:.85rem;color:#333}.revision-respuesta span{display:flex;align-items:center;gap:4px}.comentario-container{display:flex;flex-direction:column;gap:6px;margin:10px 0}.comentario-container label{font-size:14px;color:#444;font-weight:500}.comentario-container textarea{resize:none;min-height:0px;width:250px;padding:5px;border:1px solid #e0e0e0;border-radius:16px;outline:none;font-size:14px;color:#333;background:#fff;box-shadow:0 1px 3px #0000000f;transition:all .2s ease}.comentario-container textarea:focus{border-color:#4a90e2;box-shadow:0 2px 6px #4a90e233}.btn{border:none;padding:6px 14px;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s ease;font-size:.85rem;color:#fff}.btn:hover{opacity:.9}.btn.editar{background:linear-gradient(90deg,#1976d2,#0d47a1)}.btn.eliminar{background:linear-gradient(90deg,#e53935,#911614)}.btn.aprobar{background:linear-gradient(90deg,#1976d2,#0d47a1);height:40px;margin-top:10px}.btn.rechazar{background:linear-gradient(90deg,#e53935,#911614);height:40px;margin-top:10px}.acciones-solicitud{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.modal-fondo{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-contenido{background-color:#fff;padding:24px;border-radius:12px;width:500px;max-width:90%;box-shadow:0 10px 25px #0000004d;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.modal-contenido h2{margin-bottom:12px}.input-group{display:flex;flex-direction:column;width:100%}.input-group label{font-weight:600;margin-bottom:4px}.input-group input[type=date],.input-group textarea{width:100%;padding:8px 12px;border-radius:6px;border:1px solid #ccc;font-size:.95rem;box-sizing:border-box}.input-group input[type=date]:focus,.input-group textarea:focus{border-color:#1976d2;outline:none}textarea{resize:vertical}.botones-modal{display:flex;justify-content:flex-end;gap:10px}.btn-guardar{background:linear-gradient(90deg,#1976d2,#0d47a1);padding:8px 16px}.btn-cancelar{background:linear-gradient(90deg,#e53935,#911614);padding:8px 16px}.buscador-container{display:flex;align-items:center;gap:8px;margin-bottom:16px;background:#fff;padding:8px 12px;border-radius:10px;box-shadow:0 1px 3px #0000001a}.icono-buscar{color:#555;font-size:16px}.input-busqueda{width:100%;border:none;outline:none;background:transparent;font-size:15px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-editar{background:#fff;padding:20px 24px;border-radius:12px;width:350px;max-width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 4px 20px #00000040;animation:aparecer .25s ease}@keyframes aparecer{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-editar h3{margin:0 0 10px;color:#1e293b;text-align:center;font-size:1.2rem}.modal-editar form{display:flex;flex-direction:column;gap:6px}.modal-editar label{font-weight:600;font-size:13px;margin-bottom:2px;color:#374151}.modal-editar input,.modal-editar select{padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:14px}.modal-botones{display:flex;justify-content:space-between;margin-top:14px;gap:8px}.modal-botones button{flex:1;padding:9px;border:none;border-radius:6px;cursor:pointer;font-weight:600;color:#fff}.modal-botones button:first-child{background:linear-gradient(90deg,#1976d2,#0d47a1)}.modal-botones .cancelar{background:linear-gradient(90deg,#d93838,#a10d0d)}.reportes-wrap{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px;color:#000;min-height:100vh}.reportes-wrap h1{font-size:2rem;margin-bottom:20px;color:#0d47a1;text-align:center;font-weight:700}label{display:flex;align-items:center;gap:10px;margin-bottom:25px;font-weight:600;font-size:1rem;color:#000}select{padding:6px 12px;font-size:1rem;border:1px solid #ccc;border-radius:6px;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 5px #1976d280}.reporte-empleado,.reporte-general{background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 12px #00000014;margin-bottom:30px}.reporte-empleado h2,.reporte-general h2{margin-bottom:15px;color:#0d47a1;border-bottom:2px solid #1976d2;padding-bottom:5px}.reporte-empleado p{margin:5px 0;font-size:1rem;color:#000}table{width:100%;border-collapse:collapse;margin-top:15px}thead{background-color:#1976d2;color:#fff}thead th{padding:10px;text-align:left;font-weight:600}tbody tr{border-bottom:1px solid #e1e4e8}tbody tr:nth-child(2n){background-color:#f6f8fa}tbody td{padding:10px;font-size:.95rem;color:#2c3e50}tbody tr:hover{background-color:#f1f5f9}.estado-indicador{display:inline-block;width:10px;height:10px;border-radius:50%}.estado-indicador.pendiente{background-color:#f0ad4e}.estado-indicador.aprobada{background-color:#5cb85c}.estado-indicador.rechazada{background-color:#d9534f}.estado-indicador.cancelada{background-color:#777}.fecha-respuesta{font-weight:700;color:#0d47a1}.botones-pdf{margin-bottom:20px}.botones-pdf button{background:linear-gradient(90deg,#d93838,#a10d0d);color:#fff;padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s,transform .2s}.botones-pdf button:hover{background:linear-gradient(90deg,#a10d0d,#d93838)}.filtros-fecha{display:flex;align-items:center;gap:15px;margin-left:30px;margin-top:21px}.filtros-fecha label{display:flex;align-items:center;gap:8px;font-weight:600;color:#000}.filtros-fecha input[type=date]{padding:6px 10px;font-size:1rem;border:1px solid #ccc;border-radius:6px;background-color:#fff;color:#333;cursor:pointer;transition:border-color .2s,box-shadow .2s}.filtros-fecha input[type=date]:focus{outline:none;border-color:#1976d2;box-shadow:0 0 5px #1976d266}@media (max-width: 1050px){.filtros-fecha{margin-left:0;flex-direction:column;align-items:flex-start;gap:10px;width:100%}.filtros-fecha label{width:100%;justify-content:space-between}.filtros-fecha input[type=date]{width:100%}}@media (max-width: 800px){.selector-empleado{flex-direction:column;align-items:flex-start;margin-left:0;gap:10px}.tabla-responsive{overflow-x:auto}table{font-size:.85rem;min-width:600px}thead th,tbody td{padding:8px}}@media (max-width: 600px){.reportes-wrap{padding:0}select{font-size:.9rem;width:100%}.reporte-empleado h2,.reporte-general h2{font-size:1.25rem}.tabla-responsive:before{content:"↔ Desliza para ver toda la tabla";display:block;text-align:center;font-size:.8rem;color:#555;background-color:#f8f9fa;padding:6px 0;border-radius:6px 6px 0 0}}.estadisticas{padding:20px}.estadisticas h2{color:#0d47a1;margin-bottom:20px}.grafica-pastel,.grafica-linea{margin-bottom:40px;background-color:#f9f9f9;padding:10px;border-radius:8px}.grafica-pastel h3,.grafica-linea h3{margin-bottom:12px;color:#333;font-size:1rem}.selector-anio{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;outline:none}.selector-anio button{background-color:#1976d200;color:#000;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.selector-anio .anio-actual{font-weight:700;font-size:1.1rem;color:#0d47a1;min-width:60px;text-align:center}.filtros-solicitudes{display:flex;gap:15px;margin:20px 0}.filtros-solicitudes button{background:none;border:none;font-size:15px;color:#444;cursor:pointer;transition:color .2s ease}.filtros-solicitudes button:hover{color:#000}.filtros-solicitudes button.activo{font-weight:700;color:#000}@media (max-width: 600px){.estadisticas{padding:0}}.dias-acumulables-container{padding:20px}.etiquetas-dias{display:flex;flex-direction:column;gap:15px;margin-top:10px}.etiqueta-dia{display:flex;flex-direction:column;border:1px solid #ccc;padding:12px;border-radius:8px;background-color:#f9f9f9}.etiqueta-dia p{margin:0 0 8px}.botones-acciones{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.botones-acciones button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;color:#fff;font-weight:500}.botones-acciones button:first-child{background:linear-gradient(90deg,#1976d2,#0d47a1)}.botones-acciones button:first-child:hover{background:linear-gradient(90deg,#0d47a1,#1976d2)}.botones-acciones button:last-child{background:linear-gradient(90deg,#d93838,#a10d0d)}.botones-acciones button:last-child:hover{background:linear-gradient(90deg,#a10d0d,#d93838)}.cargando,.sin-datos{margin-top:10px}@media (max-width: 600px){.dias-acumulables-container{padding:0}}.usuarios-lista{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:20px}.usuario-item{display:flex;flex-direction:column;background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000000d;transition:all .3s ease;border:1px solid #e2e8f0}.usuario-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.icono-usuario{color:#2563eb;font-size:42px;background:#eff6ff;border-radius:50%;padding:10px}.info-usuarios{flex-grow:1}.info-usuarios p{margin:4px 0;font-size:15px;color:#475569}.info-usuarios p strong{color:#1e293b}.usuario-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:10px}.aprobar{background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;width:120px;transition:all .2s ease}.aprobar:hover{background:linear-gradient(90deg,#0d47a1,#1976d2)}.eliminar{background:linear-gradient(90deg,#e53935,#911614);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;width:120px;transition:all .2s ease}.eliminar:hover{background:linear-gradient(90deg,#911614,#e53935)}.usuario-actions select{padding:10px 16px;border-radius:10px;border:1px solid #2563eb;background-color:#fff;color:#2563eb;font-weight:600;cursor:pointer;transition:all .2s ease}.usuario-actions select:hover{background-color:#eff6ff}@media (min-width: 768px){.usuarios-lista{grid-template-columns:1fr 1fr}}@media (min-width: 1200px){.usuarios-lista{grid-template-columns:1fr 1fr 1fr}}.dias-container{margin-bottom:50px}.dias-form{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.dias-form input[type=text],.dias-form input[type=date]{flex:1;display:block;padding:.75rem;margin-bottom:.1rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;background-color:#e0efff;outline:none}.dias-form input:focus{border-color:#1976d2;box-shadow:0 0 5px #1976d299}.dias-form label{display:flex;align-items:center;gap:4px}.dias-form button{padding:0 20px;border:none;border-radius:8px;background-color:#007bff;color:#fff;cursor:pointer}.dias-form button:hover{background-color:#0056b3}.dias-table button{margin:0 2px;padding:4px 8px;border:none;border-radius:4px;cursor:pointer}.dias-table button:first-child{background-color:#ffc107;color:#333}.dias-table button:first-child:hover{background-color:#e0a800}.dias-table button:last-child{background-color:#dc3545;color:#fff}.dias-table button:last-child:hover{background-color:#b02a37}.auth-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px}.texto-centrado{text-align:center;margin-top:10px}.texto-centrado button{background:none;border:none;color:#1976d2;cursor:pointer;text-decoration:underline;font-size:1rem;padding:0;outline:none}.encabezado-app{display:flex;justify-content:space-between;align-items:center;padding:.6em 1.2em;background:#fff;position:fixed;top:0;left:0;right:0;z-index:1000;flex-wrap:wrap;height:auto;gap:10px}.contenedor-logo{display:flex;align-items:center;flex-shrink:0}.logo{height:40px}.barra-navegacion{display:flex;gap:25px;justify-content:center;flex-grow:1;min-width:0;flex-shrink:1;flex-basis:auto}.boton-navegacion{background:none;border:none;padding:10px 15px;font-size:16px;cursor:pointer;color:#fff;font-weight:500;transition:color .3s ease,border-bottom-color .3s ease;outline:none;border-bottom:3px solid transparent}.boton-navegacion.activo{border-bottom:3px solid #222;color:#222;font-weight:700}.info-usuario{display:flex;align-items:center;flex-shrink:0}.nombre-usuario{margin-right:10px;color:#000;font-weight:700}.foto-perfil{width:40px;height:40px;border-radius:50%;object-fit:cover;margin-right:10px}.boton-logout{background-color:#222;border:none;color:#fff;padding:8px 12px;border-radius:5px;cursor:pointer;font-weight:700}.contenedor-dashboard{margin-top:100px}.menu-usuario{position:relative;display:flex;align-items:center;gap:5px}.boton-menu{font-size:1.5rem;background:none;border:none;cursor:pointer;color:#000;outline:none;padding:0 10px}.boton-menu:focus{outline:none;background:#e8e8e8;border-radius:15px}.menu-desplegable{position:absolute;top:60px;width:200px;right:0;background-color:#e0efff;color:#000;border-radius:8px;list-style:none;padding:1px 0;margin:0;min-width:140px;z-index:2000}.menu-desplegable li{padding:10px 15px;cursor:pointer;transition:background .2s ease}.menu-desplegable li:hover{background-color:#fff;border-radius:8px}.pie-app{position:fixed;bottom:0;left:0;right:0;height:50px;background-color:#f1f1f1;color:#717171;text-align:right;font-size:.9rem;padding-right:20px}.modal-fondo{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-contenido{background-color:#fff;padding:30px 20px 20px;border-radius:12px;position:relative;width:400px;max-width:90%;box-shadow:0 4px 12px #00000040}.cerrar-modal{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;border-radius:50%;background-color:#ff4d4d;color:#fff;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 2px 6px #0003;transition:transform .2s,background-color .2s}.cerrar-modal:hover{background-color:#e60000;transform:scale(1.1)}.perfil-modal{text-align:center;padding:20px 0}.perfil-modal h2{color:#0d47a1;margin-bottom:15px;font-size:22px}.perfil-foto{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #4CAF50;box-shadow:0 2px 8px #0003}.campo-perfil{text-align:left;max-width:300px;margin:10px auto}.campo-perfil label{display:block;font-weight:600;margin-bottom:5px}.valor-display{display:flex;align-items:center;justify-content:space-between;font-size:15px;padding:6px 10px;background-color:#f0f4ff;color:#000;border-radius:6px}.campo-editable{display:flex;align-items:center;gap:8px;margin-top:5px}.campo-editable input[type=text]{flex:1;padding:8px 12px;font-size:14px;border:1px solid #ccc;border-radius:8px;outline:none;width:120px;background-color:#f0f4ff;transition:border-color .3s,box-shadow .3s}.campo-editable input[type=text]:focus{border-color:#1976d2;box-shadow:0 0 6px #1976d266}.campo-editable button{padding:6px 14px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease}.campo-editable button.guardar{background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff}.campo-editable button.guardar:hover{background:linear-gradient(90deg,#0d47a1,#1976d2)}.campo-editable button.cancelar{background:linear-gradient(90deg,#e53935,#911614);color:#fff}.campo-editable button.cancelar:hover{background:linear-gradient(90deg,#911614,#e53935)}.boton-editar{margin-left:10px;padding:4px 6px;font-size:14px;border:none;border-radius:4px;color:#1556a5;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transform:scale(1.5);background-color:#f0f4ff;transition:background-color .2s,transform .2s}.boton-editar:hover{background-color:#f0f4ff;transform:scale(1.7)}.foto-contenedor{position:relative;display:inline-block}.boton-camara{position:absolute;bottom:0;right:0;width:36px;height:36px;background-color:#fff;border:none;border-radius:50%;cursor:pointer;color:#1556a5;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d;transition:transform .2s,background-color .2s}.boton-camara:hover{transform:scale(1.2)}.modal-password{display:flex;flex-direction:column;align-items:center;padding:10px;gap:20px;width:95%;text-align:center}.modal-password h2{margin-bottom:5px;color:#0d47a1}.modal-password p{margin-bottom:10px;color:#555;font-size:14px}.modal-password input{display:block;padding:.75rem;margin-bottom:.1rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;background-color:#e0efff;outline:none}.modal-password input:focus{border-color:#1976d2;box-shadow:0 0 5px #1976d299}.password-change{position:relative;display:flex;align-items:center;width:100%}.password-change input{width:100%;padding-right:40px;box-sizing:border-box}.password-togg{position:absolute;right:10px;top:50%;transform:translateY(-80%);cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 1px rgba(0,0,0,.7))}.boton-guardar-password{margin-top:10px;padding:12px 20px;background:linear-gradient(90deg,#1976d2,#0d47a1);color:#fff;font-size:15px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;width:100%}.boton-guardar-password:hover:not(:disabled){background:linear-gradient(90deg,#0d47a1,#1976d2);box-shadow:0 4px 10px #1976d266}.boton-guardar-password:disabled{opacity:.7;cursor:not-allowed}.errores{color:#e63946!important;font-weight:700;margin-top:10px}@media (max-width: 600px){.logo-header{display:none}.boton-menu:focus{background:none}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#f1f1f1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}
