@font-face { font-family: Satoshi; src: url('/Content/fonts/Satoshi-Regular.otf') format('opentype'); }
@font-face { font-family: Satoshi; src: url('/Content/fonts/Satoshi-Black.otf') format('opentype'); font-weight: 800; }
@font-face { font-family: Roboto; src: url('/Content/fonts/Roboto-Regular.ttf') format('truetype'); }
@font-face { font-family: Roboto; src: url('/Content/fonts/Roboto-Bold.ttf') format('truetype'); font-weight: 700; }
@font-face { font-family: 'Font Awesome 6 Free'; src: url('/Content/fonts/fa-solid-900.woff2') format('woff2'); font-weight: 900; }
:root { --azul-oaaf: #2291d0; --gris-oaaf: #343334; --azul-claro: #6fafd3; --gris-claro: #a4a3a4; --gris-neutro: #e9e9e9; }
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--gris-oaaf); background: #f8f9fa; font-family: Roboto, Arial, sans-serif; }
a { color: var(--azul-oaaf); }
button, input, select { font: inherit; }
button { cursor: pointer; }
.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; background: url('/Content/images/fondoOAAF.png') right bottom / cover no-repeat; }
.login-card { width: min(400px, 92vw); }
.login-card form { display: block; }
.login-card h1 { margin: 0 0 40px; color: white; font-family: Satoshi, sans-serif; font-size: 2.5rem; font-weight: 400; }
.login-card label { display: block; margin: 0; color: white; font-family: Satoshi, sans-serif; }
.inputBonito { width: 100%; height: 42px; margin: 4px 0 14px; padding: 8px 14px; border: 1px solid white; border-radius: 4px; background: #ffffffea; color: var(--gris-oaaf); outline: none; }
.inputBonito:focus { border-color: var(--azul-oaaf); box-shadow: 0 0 0 3px #2291d055; }
.btnOAAFBlack { width: 400px; max-width: 92vw; height: 48px; border: 0; border-radius: 15px; background: var(--gris-oaaf); color: white; font-family: Satoshi, sans-serif; font-weight: 700; }
.btnOAAFBlack:hover { background: #2291d0; }
.login-buttons { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.login-error { min-height: 24px; margin: 0 0 10px; color: #ffdddd; word-break: break-word; }
.login-loading { display: none; position: fixed; inset: 0; align-items: center; justify-content: center; background: #00000055; z-index: 10; }
.login-loading img { width: 100px; padding: 20px; border-radius: 25px; background: white; }
.site-topbar { position: sticky; top: 0; z-index: 100; background: white; }
.site-header { display: flex; align-items: center; justify-content: space-between; min-height: 132px; padding: 12px 9.5%; background: white; border-bottom: 1px solid #f3f3f3; }
.site-header img { width: 190px; max-height: 88px; object-fit: contain; }
.site-user { display: flex; align-items: center; gap: 14px; color: #000; font-family: Satoshi, sans-serif; text-transform: uppercase; }
.site-user a { color: #000; font-size: 1.35rem; text-decoration: none; }
.site-user .fa-icon { display: inline-flex; align-items: center; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 1.15rem; }
.site-user .fa-retweet::before { content: '\f079'; }
.site-user .fa-user-gear::before { content: '\f4fe'; }
.site-user .fa-user-group::before { content: '\f500'; }
.site-user .fa-power-off::before { content: '\f011'; }
.fa-print::before { content: '\f02f'; }
.site-nav { position: relative; display: flex; width: 100%; justify-content: center; align-items: center; gap: 20px; min-height: 50px; background: #fff; box-shadow: 0 4px 12px #00000008; }
.site-nav a, .site-nav button { color: #888; font-family: Roboto, sans-serif; font-size: 1.05rem; text-decoration: none; }
.site-nav a:hover { color: var(--azul-oaaf); }
.site-nav .nav-back { position: absolute; left: 9%; margin: 0; padding: 10px 9px; border-radius: 5px; background: #e9e9e9; color: #000; font-weight: 700; }
.nav-dropdown { position: relative; height: 50px; display: flex; align-items: center; }
.nav-dropdown > button { border: 1px solid transparent; padding: 8px 10px; background: transparent; cursor: pointer; }
.nav-dropdown:hover > button, .nav-dropdown:focus-within > button { border-color: #222; color: #222; }
.nav-dropdown-menu { display: none; position: absolute; z-index: 20; top: 48px; left: 0; min-width: 475px; padding: 8px 0; border: 1px solid #d8d8d8; border-radius: 4px; background: #fff; box-shadow: 0 2px 8px #00000015; }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { display: flex; flex-direction: column; }
.nav-dropdown-menu a { display: block; padding: 8px 14px; color: #12233b; white-space: nowrap; }
.nav-dropdown-menu a:hover { background: #f0f0f0; color: #12233b; }
.nav-dropdown-empty { display: block; padding: 8px 14px; color: #777; white-space: nowrap; }
.container { width: min(1180px, 94vw); margin: 0 auto; padding: 28px 0; }
.picadas-page .container { width: 100%; max-width: none; padding: 0; }
.picadas-layout { width: 78%; margin: 60px auto 0; display: grid; grid-template-columns: 24% 76%; }
.picadas-lateral { padding: 0 25px 0 25px; color: #12233b; }
.picadas-lateral ul { margin: 0; padding-left: 28px; }
.picadas-lateral li { margin: 0 0 18px; padding-left: 0; line-height: 1.45; }
.picadas-lateral li a { color: #12233b; text-decoration: none; }
.picadas-lateral li.activo a { font-weight: 700; }
.picadas-principal { min-width: 0; padding: 0 25px; }
.migas-picadas { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin: 3px 0 42px; color: #777; }
.migas-picadas > * { white-space: nowrap; }
.solicitud-incidencia-migas a { color: var(--azul-oaaf); text-decoration: none; }
.solicitud-incidencia-miga-actual { color: #777; }
.picadas-filtros { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 0 auto 28px; }
.picadas-filtros label { width: 28px; color: #12233b; }
.picadas-filtros input { width: 140px; height: 35px; padding: 4px; border: 1px solid #ddd; border-radius: 5px; color: #12233b; font-size: 1rem; }
.btnBuscarPicadas { width: 225px; height: 43px; margin-left: 45px; border: 0; border-radius: 5px; background: #777; color: #fff; font-family: Roboto, sans-serif; font-size: 1rem; font-weight: 700; text-transform: uppercase; }
.btnBuscarPicadas:hover { background: #606060; }
.picadas-acciones { margin-top: 0; }
.picadas-acciones { display: flex; align-items: center; gap: 18px; }
.btnMostrarTodo { padding: 13px 16px; border: 0; border-radius: 17px; background: #343334; color: #fff; font-weight: 700; }
.filtro-incidencias { min-width: 225px; height: 35px; padding: 4px 10px; border: 1px solid #777; border-radius: 18px; background: #fff; color: #12233b; font-weight: 700; }
.filtro-incidencias summary { cursor: pointer; list-style: none; }
.filtro-incidencias summary::-webkit-details-marker { display: none; }
.filtro-incidencias[open] { position: relative; height: auto; border-radius: 5px; z-index: 5; }
.opciones-incidencias { position: absolute; top: 36px; left: 0; min-width: 225px; max-height: 280px; overflow-y: auto; padding: 10px; border: 1px solid #aaa; background: #fff; box-shadow: 0 2px 7px #0003; }
.buscar-incidencia { width: 100%; margin-bottom: 8px; padding: 6px 8px; border: 1px solid #aaa; border-radius: 3px; color: #12233b; background: #fff; font-weight: 400; }
.buscar-incidencia::placeholder { color: #777; }
.opciones-incidencias label { display: block; padding: 5px; color: #12233b; font-weight: 400; white-space: nowrap; }
.picadas-resultado { margin-top: 35px; }
.picada-persona { margin-bottom: 42px; color: #12233b; }
.picada-persona-titulo { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; font-size: 1.1rem; }
.btnMostrarPersona { padding: 10px 15px; border: 0; border-radius: 4px; background: #343334; color: #fff; font-weight: 700; }
.picada-persona-meta { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 24px; font-size: 1rem; }
.picada-turno { margin-bottom: 25px; overflow-x: auto; }
.picada-turno h4 { display: none; }
.tabla-picadas { min-width: 900px; margin: 0; box-shadow: none; font-size: .95rem; }
.picada-detalle { display: none; margin-top: 18px; overflow-x: auto; }
.picada-detalle.visible { display: block; }
.tabla-resumen { margin-bottom: 0; }
.tabla-resumen.oculto { display: none; }
.tabla-picadas .fila-dia td { background: #d7d7d7; text-align: left; font-weight: 700; }
.tabla-picadas th { padding: 6px 7px; background: #343334; color: #fff; white-space: nowrap; }
.tabla-picadas td { padding: 5px 7px; border: 1px solid #222; text-align: right; white-space: nowrap; }
.tabla-picadas td:nth-child(3) { text-align: left; }
.tabla-picadas .fila-totales td { font-weight: 700; }
.picadas-mensaje { margin-left: 24%; }
h1, h2, h3, h4 { font-family: Satoshi, sans-serif; color: var(--gris-oaaf); }
.menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; margin: 30px 0; }
.menu-page .container { width: 100%; max-width: none; padding: 0; }
.home-menu { width: 78.5vw; max-width: none; margin: 78px auto 0; display: flex; flex-direction: column; gap: 18px; }
.home-option { display: flex; align-items: center; justify-content: center; min-height: 72px; border-radius: 15px; background: var(--azul-oaaf); color: white; font-family: Satoshi, sans-serif; font-size: clamp(1.25rem, 2vw, 2rem); font-weight: 800; text-decoration: none; }
.home-option.home-personal { min-height: 89px; border-radius: 15px; background: #343334; font-size: 2.4rem; }
.home-option:hover { background: #176f9f; color: white; }
.incidencias-aviso-overlay { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgb(0 0 0 / 52%); }
.incidencias-aviso { width: min(520px, 92vw); padding: 28px 30px; border-radius: 4px; background: #fff; color: #12233b; box-shadow: 0 4px 18px #0005; text-align: center; }
.incidencias-aviso h2 { margin: 0 0 20px; color: #12233b; font-size: 1.35rem; }
.incidencias-aviso p { margin: 0; font-size: 1.1rem; }
.incidencias-aviso-acciones { display: flex; justify-content: center; gap: 12px; margin-top: 26px; }
.incidencias-aviso-acciones form { margin: 0; }
.incidencias-aviso-acciones button { min-width: 125px; }
.menu-card { min-height: 180px; padding: 0; overflow: hidden; border-radius: 5px; background: white; box-shadow: 0 2px 9px #0002; text-decoration: none; }
.menu-card img { width: 100%; height: 125px; object-fit: cover; }
.menu-card span { display: block; padding: 15px; color: var(--gris-oaaf); font-family: Satoshi, sans-serif; font-weight: 700; }
.btnAzul { border: 0; border-radius: 4px; padding: 9px 28px; background: var(--azul-oaaf); color: white; font-family: Satoshi, sans-serif; }
.btnAzul:hover { background: #176f9f; }
.btnGris { border: 0; border-radius: 4px; padding: 9px 28px; background: var(--gris-claro); color: white; }
form { display: grid; gap: 10px; }
table { width: 100%; border-collapse: collapse; margin: 20px 0; background: white; box-shadow: 0 1px 4px #0001; }
th { background: var(--azul-oaaf); color: white; font-family: Satoshi, sans-serif; }
th, td { padding: 10px; border: 1px solid #d7dce1; text-align: left; }
tr:nth-child(even) { background: #f4f8fa; }
.validation { color: #a61b1b; }
.success { color: #176b39; }
.modo-page { min-height: 100vh; background: white; }
.modo-header { display: flex; align-items: center; justify-content: space-between; height: 145px; padding: 25px 9.5%; border-bottom: 1px solid #f4f4f4; }
.modo-header img { width: 220px; max-height: 105px; object-fit: contain; }
.modo-user { display: flex; align-items: center; gap: 12px; color: #000; font-family: Satoshi, sans-serif; font-weight: 800; text-transform: uppercase; }
.modo-user button { border: 0; background: transparent; color: #000; font-size: 1.5rem; }
.modo-user form { display: contents; }
.modo-salir { display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.modo-salir img { width: 24px; height: 24px; object-fit: contain; }
.modo-content { width: min(1470px, 78vw); margin: 65px auto 0; }
.modo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.modo-option { display: flex; align-items: center; min-height: 84px; padding: 10px 14px; border: 0; border-radius: 15px; color: white; text-decoration: none; font-family: Satoshi, sans-serif; font-size: clamp(1.4rem, 2.4vw, 2.4rem); font-weight: 800; }
.modo-otras { background: #343334; }
.modo-propias { background: #2291d3; }
.modo-situacion { width: min(675px, 100%); margin: 32px auto 0; background: #c2c2c2; }
.usuarios-content { width: min(1200px, 80vw); margin: 65px auto 0; }
.usuarios-page .modo-header { height: 120px; }
.usuarios-content { margin-top: 55px; }
.usuarios-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.usuarios-lista, .usuarios-seleccionados { min-height: 530px; max-height: 530px; overflow-y: auto; background: #e9e9e9; }
.usuarios-busqueda { display: flex; gap: 10px; padding: 22px 16px 12px; }
.usuarios-busqueda input { flex: 1; min-width: 0; border: 1px solid #888; padding: 8px; }
.usuarios-cabecera, .usuarios-departamento { display: flex; align-items: center; gap: 25px; min-height: 56px; padding: 10px 40px; background: #2291d0; color: white; font-family: Roboto, sans-serif; }
.usuarios-cabecera span, .usuarios-departamento strong { font-size: 1.25rem; }
.usuarios-departamento { margin-top: 28px; background: #2291d0; }
.usuario-fila { display: flex; align-items: center; gap: 25px; min-height: 50px; padding: 8px 40px; color: #12233b; font-size: 1.05rem; }
.usuarios-fila:hover { background: #f7f7f7; }
.usuarios-seleccionados .usuarios-cabecera { justify-content: center; }
.usuarios-seleccionados { overflow-y: auto; scrollbar-color: #858585 #e9e9e9; }
.usuario-seleccionado { padding: 13px 45px; color: #12233b; font-size: 1.05rem; }
.usuarios-boton { display: block; width: min(505px, 100%); height: 38px; margin: 16px auto; padding: 9px 28px; border-radius: 5px; background: #2291d0; color: #fff; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 700; text-transform: uppercase; filter: opacity(.7); }
.usuarios-boton:hover { filter: opacity(1); }
.usuarios-lista, .usuarios-seleccionados { scrollbar-color: #858585 #e9e9e9; }
.formulario-control h2 { margin-bottom: 28px; }
.form-picada { width: min(520px, 100%); margin: 35px auto; display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 14px; }
.form-picada select, .form-picada input { width: 100%; min-height: 36px; padding: 5px 8px; border: 1px solid #aaa; border-radius: 3px; }
.form-picada button { grid-column: 1 / -1; width: 35%; margin: 32px auto 0; }
.int-picada-propia { width: min(560px, 100%); margin: 70px auto 0; text-align: center; }
.int-picada-fecha { margin: 0 0 35px; color: #12233b; font-size: 1.25rem; }
.int-picada-form { margin: 0 auto; }
.int-picada-form button { width: 45%; }
.incidencias-personal-layout { width: min(760px, 94vw); margin: 80px auto 40px; }
.incidencias-personal-formulario { max-width: 600px; margin: 0 auto; }
.incidencia-campo, .incidencia-horario { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; color: #12233b; }
.incidencia-campo[hidden], .incidencia-horario[hidden], .incidencia-detalle > .incidencia-tramo[hidden] { display: none; }
.incidencia-fechas [hidden], .incidencia-horas [hidden] { display: none; }
.incidencia-campo > label:first-child, .incidencia-horario > label:first-child { width: 145px; flex: 0 0 145px; }
.incidencia-campo select, .incidencia-campo input[type="date"], .incidencia-campo textarea { width: 100%; min-height: 38px; padding: 6px 9px; border: 1px solid #aaa; border-radius: 4px; color: #12233b; font: inherit; }
.incidencia-selector { position: relative; display: flex; flex: 1; flex-direction: column; gap: 5px; }
.selector-desplegable { width: 100%; min-height: 38px; padding: 6px 32px 6px 9px; border: 1px solid #aaa; border-radius: 4px; background: #fff; color: #12233b; font: inherit; text-align: left; cursor: pointer; }
.selector-desplegable::after { content: "▾"; float: right; color: #333; }
.selector-menu { position: absolute; z-index: 20; top: 43px; left: 0; width: 100%; padding: 6px; border: 1px solid #aaa; border-radius: 4px; background: #fff; box-shadow: 0 3px 9px #0003; }
.selector-menu[hidden] { display: none; }
.buscador-desplegable { width: 100%; min-height: 34px; padding: 5px 9px; border: 1px solid #aaa; border-radius: 4px; color: #12233b; font: inherit; }
.selector-opciones { max-height: 220px; overflow-y: auto; margin-top: 5px; }
.selector-opcion { display: block; width: 100%; padding: 8px 9px; border: 0; background: #fff; color: #12233b; font: inherit; text-align: left; cursor: pointer; }
.selector-opcion:hover, .selector-opcion.seleccionada { background: #e7f3fa; }
.selector-valor { position: absolute; width: 1px !important; height: 1px; opacity: 0; pointer-events: none; }
.incidencia-detalle { margin-top: 24px; }
.incidencia-detalle[hidden] { display: none; }
.incidencia-detalle > .incidencia-tramo { display: flex; align-items: center; justify-content: center; width: 100%; margin-bottom: 22px; }
.incidencia-fechas, .incidencia-horas { display: flex; align-items: center; flex: 1; gap: 5px; }
.incidencia-fechas input { min-width: 0; flex: 1; }
.incidencia-fechas label, .incidencia-horas label { font-size: .85rem; color: #555; }
.incidencia-horas { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; }
.incidencia-horas input { width: 100%; min-height: 36px; padding: 5px; border: 1px solid #aaa; border-radius: 4px; }
.incidencia-horas input[readonly] { background: #eee; color: #777; }
.incidencia-adjunto { flex-wrap: wrap; }
.incidencia-adjunto .btnAzul { cursor: pointer; }
.incidencia-adjunto span { flex: 1; }
.incidencia-campo textarea { resize: vertical; }
.incidencia-botones { display: flex; justify-content: center; gap: 12px; margin-top: 28px; }
.incidencia-botones button { min-width: 150px; }
.incidencia-necesario { font-size: .75rem; color: #555; }
.incidencia-necesario span, .incidencia-campo label span { color: red; }
.incidencia-mensaje { margin-top: 28px; text-align: center; font-weight: 700; }
.teletrabajo-contenido { width: min(1350px, calc(100vw - 40px)); margin: 22px auto 28px; color: #12233b; }
.teletrabajo-nuevo { display: flex; justify-content: center; margin-bottom: 36px; }
.teletrabajo-nuevo button { text-transform: uppercase; font-weight: 700; }
.teletrabajo-paneles { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.teletrabajo-listado { min-width: 0; padding: 0 16px; background: var(--gris-neutro); }
.teletrabajo-tabla { table-layout: fixed; margin: 0; box-shadow: none; background: transparent; font-size: 1rem; }
.teletrabajo-tabla .col-fecha { width: 21%; }
.teletrabajo-tabla .col-dias-posibles { width: 18%; }
.teletrabajo-tabla .col-motivo { width: 39%; }
.teletrabajo-tabla .col-excepcion { width: 9%; }
.teletrabajo-tabla .col-dias { width: 7%; }
.teletrabajo-tabla .col-borrar { width: 6%; }
.teletrabajo-tabla th { padding: 13px 8px; background: white; color: #12233b; font-family: Roboto, sans-serif; font-weight: 700; }
.teletrabajo-tabla td { padding: 14px 8px; border-color: white; vertical-align: middle; }
.teletrabajo-tabla tbody tr:nth-child(even) { background: #f4f4f4; }
.teletrabajo-tabla tr.pasado { opacity: .5; }
.teletrabajo-editar { padding: 0; border: 0; background: transparent; color: #12233b; text-align: left; }
.teletrabajo-editar:hover { font-weight: 700; text-decoration: underline; }
.teletrabajo-eliminar { padding: 0; border: 0; background: transparent; color: #888; font-size: 2rem; line-height: 1; }
.teletrabajo-eliminar:hover { color: #333; }
.teletrabajo-centro { text-align: center; }
.tt-badge { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 5px; color: white; }
.tt-1 { background: #cdf1b1; }
.tt-2 { background: #52ecf6; }
.tt-3 { background: #ea8361; }
.tt-ex { background: #ba65f5; }
.teletrabajo-vacio { color: #b11d1d; font-weight: 700; text-align: center !important; }
.teletrabajo-agenda { min-width: 0; padding: 10px 14px; text-align: center; }
.teletrabajo-agenda h2 { margin: 0 0 44px; font-family: Roboto, sans-serif; font-size: 1.1rem; font-weight: 400; }
.teletrabajo-mes { display: flex; align-items: center; justify-content: center; gap: 28px; margin-bottom: 38px; }
.teletrabajo-mes strong { min-width: 170px; font-weight: 400; }
.teletrabajo-mes button { padding: 0 7px; border: 0; background: transparent; color: #000; font-size: 2rem; line-height: 1; }
.teletrabajo-mes button:hover { color: var(--azul-oaaf); }
.teletrabajo-semana, .teletrabajo-calendario { display: grid; grid-template-columns: repeat(7, 1fr); }
.teletrabajo-semana { margin-bottom: 8px; color: #12233b; font-size: .78rem; }
.teletrabajo-dia { position: relative; min-height: 57px; padding: 7px 8px; background: white; color: #12233b; text-align: right; }
.teletrabajo-dia b { font-size: 1.45rem; }
.teletrabajo-dia small { display: block; min-height: 13px; font-size: .55rem; text-align: left; }
.teletrabajo-dia.fin-semana { background: #f7f7f7; }
.teletrabajo-dia.vacio { background: transparent; }
.teletrabajo-dia.tt-1 { background: #cdf1b1; color: white; }
.teletrabajo-dia.tt-2 { background: #52ecf6; color: white; }
.teletrabajo-dia.tt-3 { background: #ea8361; color: white; }
.teletrabajo-dia.tt-ex { background: #ba65f5; color: white; }
.teletrabajo-dia.pasado { opacity: .5; }
.teletrabajo-leyenda { display: flex; justify-content: space-around; gap: 10px; margin-top: 35px; font-size: .75rem; font-weight: 700; }
.teletrabajo-leyenda span { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.tt-color { display: inline-block; width: 20px; height: 20px; }
.teletrabajo-mensaje { min-height: 24px; margin-bottom: 14px; text-align: center; font-weight: 700; }
.teletrabajo-mensaje:empty { visibility: hidden; }
.teletrabajo-mensaje.error { color: #b11d1d; }
.teletrabajo-mensaje.correcto { color: #176b39; }
.teletrabajo-overlay { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 20px; background: #000000bf; }
.teletrabajo-overlay[hidden] { display: none; }
.teletrabajo-dialog { width: min(760px, 96vw); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; background: white; box-shadow: 0 4px 15px #0005; }
.teletrabajo-dialog h3 { margin: 0 0 22px; font-family: Roboto, sans-serif; font-size: 1.1rem; }
.teletrabajo-form-grid { display: grid; grid-template-columns: auto minmax(120px, 1fr) auto minmax(120px, 1fr) auto 80px; align-items: center; gap: 10px; }
.teletrabajo-form-grid input, .teletrabajo-excepcion input[type="text"] { min-height: 36px; padding: 5px 8px; border: 1px solid #aaa; border-radius: 3px; }
.teletrabajo-dias, .teletrabajo-excepcion { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.teletrabajo-excepcion { justify-content: flex-start; }
.teletrabajo-excepcion input[type="text"] { flex: 1; }
.teletrabajo-modal-mensaje { min-height: 24px; margin-top: 18px; color: #b11d1d; font-weight: 700; }
.teletrabajo-dialogo-botones { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.teletrabajo-dialog-confirmacion { width: min(560px, 96vw); }
.teletrabajo-dialog-confirmacion p { margin: 0; line-height: 1.45; }
.teletrabajo-excepciones-contenido { width: min(980px, 92vw); margin: 28px auto 40px; color: #12233b; }
.teletrabajo-excepciones-contenido > form { display: none; }
.teletrabajo-excepciones-cabecera { display: flex; align-items: end; justify-content: center; gap: 22px; margin-bottom: 28px; }
.teletrabajo-excepciones-persona { display: flex; align-items: center; gap: 12px; min-width: min(440px, 100%); }
.teletrabajo-excepciones-persona label { white-space: nowrap; }
.teletrabajo-excepciones-persona select { width: 100%; min-height: 38px; padding: 6px 9px; border: 1px solid #aaa; border-radius: 3px; background: white; color: #12233b; }
.teletrabajo-excepciones-todas { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.teletrabajo-excepciones-cabecera button { min-height: 38px; white-space: nowrap; }
.teletrabajo-excepciones-mensaje { min-height: 25px; margin: 15px 0; color: #b11d1d; font-weight: 700; text-align: center; }
.teletrabajo-excepciones-mensaje:empty { visibility: hidden; }
.teletrabajo-excepciones-mensaje.correcto { color: #176b39; }
.teletrabajo-excepciones-tabla { overflow-x: auto; }
.teletrabajo-excepciones-tabla table { min-width: 720px; margin: 0; color: #12233b; }
.teletrabajo-excepciones-tabla th { padding: 9px 12px; background: #343334; color: white; text-align: left; }
.teletrabajo-excepciones-tabla td { padding: 8px 12px; border: 1px solid #222; background: white; }
.teletrabajo-excepciones-tabla td:nth-child(4), .teletrabajo-excepciones-tabla td:nth-child(5) { width: 95px; text-align: center; }
.teletrabajo-excepcion-accion { border: 0; background: transparent; color: #12233b; cursor: pointer; text-decoration: underline; }
.teletrabajo-excepcion-accion:hover { font-weight: 700; }
.teletrabajo-excepcion-dialog { width: min(850px, 96vw); }
.teletrabajo-excepcion-form { display: grid; grid-template-columns: auto minmax(150px, 1fr) auto minmax(150px, 1fr) auto minmax(180px, 1.4fr); align-items: center; gap: 10px 14px; }
.teletrabajo-excepcion-form input { min-height: 36px; min-width: 0; padding: 5px 8px; border: 1px solid #aaa; border-radius: 3px; }
@media (max-width: 900px) {
    .teletrabajo-paneles { grid-template-columns: 1fr; }
    .teletrabajo-listado { overflow-x: auto; }
    .teletrabajo-tabla { min-width: 720px; }
    .teletrabajo-form-grid { grid-template-columns: auto 1fr; }
    .teletrabajo-dias, .teletrabajo-excepcion { flex-wrap: wrap; justify-content: flex-start; }
    .teletrabajo-excepciones-cabecera { align-items: stretch; flex-direction: column; gap: 12px; }
    .teletrabajo-excepciones-persona { min-width: 0; }
    .teletrabajo-excepcion-form { grid-template-columns: auto 1fr; }
}
.incidencia-tramo-extra { display: grid; grid-template-columns: 32px 70px 1fr 45px 1fr; align-items: center; gap: 7px; margin: 12px 0; color: #12233b; }
.incidencia-tramo-extra input[type="date"], .incidencia-tramo-extra input[type="time"] { min-width: 0; width: 100%; min-height: 34px; padding: 4px; border: 1px solid #aaa; border-radius: 4px; }
.incidencia-tramo-extra .quitar-tramo { padding: 6px 8px; cursor: pointer; }
.tramo-horas { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; margin-top: 6px; }
.tramo-horas[hidden] { display: none; }
.tramo-archivo { grid-column: 2 / -1; font-size: .85rem; }
@media (max-width: 700px) {
    .incidencias-personal-layout { margin-top: 35px; }
    .incidencia-campo, .incidencia-horario { align-items: stretch; flex-direction: column; }
    .incidencia-campo > label:first-child, .incidencia-horario > label:first-child { width: 100%; flex-basis: auto; }
    .incidencia-fechas { width: 100%; }
    .incidencia-horas { width: 100%; }
    .incidencia-tramo-extra { grid-template-columns: 32px 1fr 45px 1fr; }
    .incidencia-tramo-extra > label:first-of-type { display: none; }
    .tramo-horas, .tramo-archivo { grid-column: 2 / -1; }
}
.formulario-fechas { flex-wrap: wrap; }
.formulario-fechas select { min-width: 220px; min-height: 35px; padding: 5px; }
.tabla-anular { max-height: 325px; overflow: auto; margin: 25px auto; }
.tabla-anular table { margin: 0; }
.tabla-anular td:first-child, .tabla-anular th:first-child { text-align: center; width: 100px; }
.btnAlargado { min-width: 220px; }
.vaapbc-busqueda { display: flex; justify-content: center; gap: 12px; margin: 30px 0; }
.vaapbc-busqueda input { width: 130px; padding: 8px; border: 1px solid #aaa; }
.vaapbc-personas { width: 100%; max-width: 1090px; margin: 0 auto; }
.vaapbc-persona { margin: 12px 0; border: 1px solid #ddd; background: #fff; }
.vaapbc-persona summary { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 10px; padding: 10px 14px; cursor: pointer; list-style: none; }
.vaapbc-persona summary::-webkit-details-marker { display: none; }
.vaapbc-persona-nombre { display: flex; align-items: flex-start; gap: 10px; padding-top: 8px; color: #102b4e; font-size: .9rem; line-height: 1.35; }
.vaapbc-chevron { color: #087bf0; font-size: 1.45rem; line-height: .8; }
.vaapbc-resumen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.vaapbc-categoria { min-width: 0; }
.vaapbc-categoria + .vaapbc-categoria { margin-left: 1px; }
.vaapbc-categoria-titulo { padding: 5px 8px; background: #343334; color: #fff; text-align: center; font-size: 1rem; }
.vaapbc-categoria-cabecera, .vaapbc-categoria-valores { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.vaapbc-categoria-cabecera { background: #343334; color: #fff; font-size: .58rem; line-height: 1.1; }
.vaapbc-categoria-cabecera span { padding: 3px 2px; border-right: 1px solid #fff; }
.vaapbc-categoria-valores { color: #102b4e; font-size: 1.05rem; }
.vaapbc-categoria-valores span { padding: 5px 2px; border: 1px solid #222; border-top: 0; }
.vaapbc-detalle { padding: 0 12px 12px 190px; background: #fff; }
.vaapbc-detalle table { width: 100%; }
.vaapbc-detalle p { margin: 0; padding: 12px; }
.vaapbc-propio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr); gap: 18px; align-items: start; }
.vaapbc-propio table { width: 100%; }
@media (max-width: 900px) {
    .vaapbc-persona summary { grid-template-columns: 1fr; }
    .vaapbc-detalle { padding-left: 12px; overflow-x: auto; }
    .vaapbc-detalle table { min-width: 600px; }
    .vaapbc-propio { grid-template-columns: 1fr; }
}
.solicitudes-acciones { display: flex; align-items: center; gap: 18px; margin: 28px 0; }
.solicitud-persona { margin-bottom: 38px; }
.solicitud-persona h3 { display: flex; align-items: center; gap: 18px; margin-bottom: 12px; font-size: 1.1rem; }
.tabla-solicitudes { margin: 0; }
.tabla-solicitudes th { white-space: nowrap; }
.solicitudes-layout { margin-top: 62px; }
.solicitudes-fechas { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; margin: 0 auto 22px; }
.solicitud-fecha { display: flex; align-items: center; gap: 13px; }
.solicitud-fecha label { color: #12233b; }
.solicitud-fecha input { width: 140px; height: 35px; padding: 4px 7px; border: 1px solid #ddd; border-radius: 5px; color: #12233b; font-size: 1rem; }
.solicitud-fecha input[readonly] { background: #e9e9e9; }
.solicitud-sin-fecha { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: center; color: #12233b; }
.solicitud-sin-fecha input { margin: 0; }
.solicitudes-mensaje { text-align: center; margin: 15px 0; }
.solicitudes-page .solicitudes-acciones { margin: 26px 0 14px; }
.solicitudes-acciones > label { display: inline-flex; align-items: center; gap: 7px; color: #12233b; white-space: nowrap; }
.solicitudes-acciones > label input { accent-color: #168af3; }
.filtro-estados { display: flex; align-items: center; flex-wrap: wrap; gap: 26px 24px; margin: 14px 0 28px; padding: 18px 30px; border-radius: 12px; background: var(--gris-oaaf); color: #fff; }
.filtro-estados label { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.filtro-estados input { accent-color: #168af3; }
.solicitudes-sin-resultados { margin: 25px 0; color: #b11e1e; font-weight: 700; text-align: center; }
.solicitudes-resultado { margin-top: 22px; }
.solicitud-persona-titulo { display: flex; align-items: center; gap: 20px; margin: 0 0 12px; }
.solicitud-persona-titulo h3 { margin: 0; font-size: 1.1rem; }
.btnMostrarPersona { min-width: 82px; padding: 10px 15px; border: 0; border-radius: 4px; background: var(--gris-oaaf); color: #fff; font-weight: 700; }
.tabla-solicitudes-wrap { width: 100%; overflow-x: auto; }
.tabla-solicitudes { min-width: 850px; margin: 0 0 38px; background: #fff; box-shadow: none; font-size: .95rem; }
.tabla-solicitudes th { padding: 7px 10px; background: var(--gris-oaaf); color: #fff; font-family: Roboto, sans-serif; font-weight: 700; text-align: center; white-space: normal; }
.tabla-solicitudes td { padding: 8px 10px; border: 1px solid #222; color: #12233b; text-align: left; vertical-align: middle; }
.tabla-solicitudes td:nth-child(4), .tabla-solicitudes td:nth-child(5), .tabla-solicitudes td:nth-child(6), .tabla-solicitudes td:last-child { text-align: center; }
.tabla-solicitudes tbody tr:nth-child(even) { background: #f4f4f4; }
.tabla-solicitudes .linkIncidencia { color: #087bf0; }
.tabla-solicitudes .linkIncidencia a { color: #087bf0; text-decoration: none; }
.tabla-solicitudes .linkIncidencia a:hover { text-decoration: underline; }

.desglose-page h2 { margin: 0 0 24px; }
.desglose-page .migas-picadas a { color: #777; text-decoration: none; }
.tabla-desglose-wrap { width: 800px; max-width: 100%; margin: 0 auto 16px; }
.tabla-desglose-wrap h3 { margin: 0 0 12px; font-size: 1.2rem; text-transform: uppercase; }
.tabla-desglose { width: 100%; border-collapse: collapse; background: #fff; }
.tabla-desglose th { background: #333132; color: #fff; font-weight: 700; padding: 9px 10px; text-align: left; }
.tabla-desglose td { border: 1px solid #222; padding: 9px 10px; color: #102b4e; }
.tabla-desglose td span { font-weight: 700; }
.tabla-desglose .estado-desglose { font-weight: 700; }
.desglose-estado-accion { width: 800px; max-width: 100%; margin: 16px auto; display: grid; grid-template-columns: 180px 1fr; gap: 10px; align-items: center; }
.desglose-estado-accion select, .desglose-estado-accion textarea { width: 100%; padding: 8px; font: inherit; }
.desglose-estado-accion button { grid-column: 1 / -1; justify-self: center; }
.tabla-historico-desglose { margin-top: 28px; overflow-x: auto; }
.tabla-historico-desglose .tabla-desglose { min-width: 700px; }
.solicitud-oculta { display: none; }
.filtro-incidencias { position: relative; min-width: 238px; height: 36px; padding: 8px 12px; border: 1px solid #777; border-radius: 18px; background: #fff; color: #12233b; font-weight: 700; }
.filtro-incidencias summary { cursor: pointer; list-style: none; }
.filtro-incidencias summary::-webkit-details-marker { display: none; }
.filtro-incidencias[open] { height: auto; border-radius: 5px; z-index: 5; }
.filtro-incidencias[open] .opciones-incidencias { top: 35px; }
.opciones-incidencias { max-height: 300px; overflow-y: auto; }
.opciones-incidencias label { display: block; padding: 5px; font-weight: 400; white-space: nowrap; }
.opciones-incidencias input[type="checkbox"] { accent-color: #168af3; }
@media (max-width: 900px) { .solicitudes-fechas { justify-content: flex-start; } .filtro-estados { gap: 14px; } }
@media print {
    .site-header, .site-nav, .picadas-lateral, .migas-picadas, .solicitudes-fechas, .solicitudes-acciones, .filtro-estados, .solicitud-persona-titulo button { display: none !important; }
    .picadas-layout { width: 100%; margin: 0; display: block; }
    .picadas-principal { padding: 0; }
    .solicitud-persona { break-inside: avoid; }
    .solicitud-oculta { display: table-row !important; }
}
.incidencias-estado-form { display: flex; flex-direction: column; gap: 15px; max-width: 1060px; margin: 30px auto; }
.estado-filtros-linea { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.estado-filtros-linea .picadas-filtros { flex: 1 1 auto; margin: 0; justify-content: flex-start; }
.estado-origenes { display: flex; flex: 0 0 auto; justify-content: flex-end; gap: 68px; color: #12233b; }
.estado-origenes label { display: inline-flex; align-items: center; gap: 9px; }
.incidencias-busqueda { display: flex; width: 100%; }
.incidencias-busqueda input { flex: 1; height: 34px; padding: 5px 8px; border: 1px solid #777; color: #12233b; }
.incidencias-busqueda button { width: 29px; height: 34px; padding: 0; border: 1px solid #777; border-left: 0; background: #eee; color: #333; }
.incidencias-lista { max-height: 265px; overflow-y: auto; background: #e9e9e9; }
.tabla-incidencias-estado { margin: 0; box-shadow: none; color: #12233b; }
.tabla-incidencias-estado thead th { padding: 4px 8px; background: #343334; color: #fff; text-align: center; }
.tabla-incidencias-estado thead th:first-child { width: 135px; }
.tabla-incidencias-estado thead button { padding: 4px 10px; border: 1px solid #777; background: #eee; color: #12233b; font-weight: 400; }
.tabla-incidencias-estado tbody td { padding: 4px 7px; border: 1px solid #222; background: #fff; }
.tabla-incidencias-estado tbody td:first-child { width: 135px; text-align: center; }
.tabla-incidencias-estado tbody td input { margin: 0; }
.btnEstadoExcel { align-self: center; width: 160px; min-height: 49px; margin-top: 4px; padding: 10px 14px; border: 0; border-radius: 17px; background: #343334; color: #fff; font-weight: 700; }
.btnEstadoExcel:hover { background: #2291d0; }
.incidencia-item[hidden] { display: none; }
.situacion-personal { width: min(1000px, 92vw); margin: 60px auto; }
.situacion-personal h2 { margin: 25px 0 35px; }
.situacion-bloque { margin: 28px 0; }
.situacion-bloque h3 { padding: 12px 16px; margin: 0; background: #343334; color: #fff; font-size: 1.15rem; }
.situacion-bloque table { width: 100%; margin: 0; }
.situacion-bloque th { background: var(--azul-oaaf); color: #fff; }
.situacion-bloque td, .situacion-bloque th { padding: 10px 14px; text-align: left; }
.situacion-vacia { color: #c00; font-weight: 700; }
.situacion-modal-abierto { overflow: hidden; }
.situacion-overlay { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgb(0 0 0 / 52%); }
.situacion-overlay[hidden] { display: none; }
.situacion-modal { width: min(1315px, calc(100vw - 40px)); max-height: calc(100vh - 70px); padding: 22px; background: #fff; color: #12233b; box-sizing: border-box; }
.situacion-columnas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; min-height: 0; }
.situacion-panel { min-width: 0; min-height: 0; border: 1px solid #222; }
.situacion-panel h3 { margin: 0; padding: 5px 16px; background: #fff; color: #12233b; font-family: Roboto, sans-serif; font-size: 1rem; font-weight: 400; }
.situacion-tabla-contenedor { max-height: min(580px, calc(100vh - 190px)); overflow: auto; }
.situacion-tabla-contenedor table { width: 100%; min-width: 520px; margin: 0; border-collapse: collapse; }
.situacion-tabla-contenedor th { position: sticky; top: 0; z-index: 1; padding: 5px 7px; background: #343334; color: #fff; font-size: 1rem; text-align: center; }
.situacion-tabla-contenedor td { padding: 4px 7px; border: 1px solid #222; color: #12233b; font-size: .95rem; white-space: nowrap; }
.situacion-tabla-contenedor th:first-child, .situacion-tabla-contenedor td:first-child { width: 70%; }
.situacion-tabla-vacia, .situacion-cargando { margin: 15px; color: #b11d1d; font-weight: 700; text-align: center; }
.situacion-cargando { color: #12233b; }
.situacion-mensaje { margin: 15px 0 0; color: #b11d1d; font-weight: 700; text-align: center; }
.situacion-cerrar { margin-top: 10px; }
@media (max-width: 800px) { .usuarios-content { width: 94vw; margin-top: 30px; } .usuarios-grid { grid-template-columns: 1fr; gap: 20px; } .usuarios-lista, .usuarios-seleccionados { min-height: 360px; max-height: 450px; } }
@media (max-width: 700px) { .modo-header { height: 110px; padding: 15px 5%; } .modo-header img { width: 150px; } .modo-user { font-size: .75rem; } .modo-content { width: 90vw; margin-top: 45px; } .modo-grid { grid-template-columns: 1fr; gap: 15px; } .modo-option { min-height: 65px; } }
@media (max-width: 900px) { .situacion-modal { padding: 14px; } .situacion-columnas { grid-template-columns: 1fr; gap: 12px; } .situacion-tabla-contenedor { max-height: 280px; } }
@media (max-width: 800px) { .site-header { min-height: 110px; padding: 15px 5%; } .site-header img { width: 150px; } .site-user { font-size: .72rem; gap: 7px; } .site-nav { flex-wrap: wrap; gap: 10px; padding: 10px; } .nav-dropdown-menu { min-width: min(475px, calc(100vw - 20px)); max-width: calc(100vw - 20px); } .nav-dropdown-menu a { white-space: normal; } }
@media (max-width: 600px) { .container { padding: 20px 12px; } }
.menu-incidencias-layout { display: grid; width: 78%; margin: 60px auto 0; grid-template-columns: 24% 76%; }
.menu-incidencias-page { min-width: 0; padding: 0 25px; }
.datos-administrativos h1, .nominas-page-content h1 { margin: 25px 0; color: #12233b; }
.menu-incidencias-lista { display: grid; gap: 16px; }
.menu-incidencias-seccion { border: 1px solid #ddd; background: #fff; }
.menu-incidencias-seccion h2 { margin: 0; background: var(--azul-oaaf); color: #fff; font-family: Roboto, sans-serif; font-size: 1.15rem; font-weight: 400; }
.menu-incidencias-toggle { display: flex; align-items: center; width: 100%; padding: 14px 30px; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; text-align: left; }
.menu-incidencias-toggle span { display: inline-block; width: 20px; margin-right: 8px; font-size: 1.5rem; line-height: 1; }
.menu-incidencias-seccion ul { margin: 0; padding: 8px 20px 12px 35px; }
.menu-incidencias-seccion ul[hidden] { display: none; }
.menu-incidencias-seccion li { padding: 5px 0; }
.menu-incidencias-seccion a { color: darkgray; text-decoration: none; }
.menu-incidencias-seccion a:hover { color: var(--azul-oaaf); text-decoration: underline; }
.datos-administrativos, .nominas-page-content { width: min(1100px, 92vw); margin: 30px auto; color: #12233b; }
.datos-administrativos-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.datos-administrativos-tabs a { padding: 8px 12px; border-radius: 4px; background: #343334; color: #fff; text-decoration: none; }
.datos-administrativos-tabs a:hover { background: var(--azul-oaaf); }
.datos-administrativos-tabla-wrap { overflow-x: auto; }
.datos-administrativos-tabla { width: 100%; min-width: 650px; border-collapse: collapse; background: #fff; }
.datos-administrativos-tabla th { padding: 9px; background: #343334; color: #fff; text-align: left; }
.datos-administrativos-tabla td { padding: 8px 9px; border: 1px solid #d3dbe2; }
.datos-administrativos-tabla tbody tr:nth-child(even) { background: #f4f7f9; }
.datos-administrativos-page .container { width: 100%; max-width: none; padding: 0; }
.datos-administrativos-layout { display: grid; width: 78%; margin: 64px auto 55px; grid-template-columns: 24% 76%; color: #12233b; }
.datos-administrativos-lateral { min-width: 0; padding: 0 25px; }
.datos-administrativos-lateral ul { margin: 0; padding: 0 0 0 28px; }
.datos-administrativos-lateral li { padding: 0 0 18px; }
.datos-administrativos-lateral a { color: #12233b; text-decoration: none; }
.datos-administrativos-lateral a:hover { text-decoration: underline; }
.datos-administrativos-lateral li.activo a { font-weight: 700; }
.datos-administrativos-principal { min-width: 0; padding: 0 25px; }
.datos-administrativos-migas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 43px; color: #63758b; }
.datos-administrativos-mensaje { margin: 0; color: red; font-weight: 700; }
.datos-administrativos-tabla-wrap { overflow-x: auto; }
.datos-administrativos-tabla { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; }
.datos-administrativos-tabla th { padding: 6px 7px; border: 1px solid #222; background: var(--azul-oaaf); color: #fff; font-weight: 700; text-align: center; }
.datos-administrativos-tabla td { padding: 5px 7px; border: 1px solid #222; color: #12233b; vertical-align: middle; }
.datos-administrativos-tabla td.celda-marca { width: 1%; text-align: center; font-size: 1.1rem; }
.datos-administrativos-tabla tbody tr:nth-child(even) { background: #fff; }
.datos-administrativos-tabla tbody tr:hover { background: #f7fbfd; }
.nominas-busqueda { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 25px 0; }
.nominas-busqueda input { width: 110px; padding: 9px; }
.nominas-busqueda .btnAzul { padding: 9px 24px; border: 0; background: var(--azul-oaaf); color: #fff; font-weight: 700; }
.nominas-lista { width: min(310px, 100%); margin: 0 auto; padding: 0; list-style: none; }
.nominas-lista li { height: 56px; padding: 0; border: 1px solid #222; background: #aaa; cursor: pointer; }
.nominas-lista li:hover { opacity: .7; }
.nominas-lista a { display: flex; width: 100%; height: 100%; align-items: center; padding: 0 22px; color: #fff; font-weight: 400; text-decoration: none; }
.datos-personales-page .container { width: 100%; max-width: none; padding: 0; }
.datos-personales-layout { width: min(1440px, 78vw); margin: 64px auto 55px; color: #12233b; }
.datos-personales-migas { margin: 0 0 67px; color: #777; }
.datos-personales-form { display: block; }
.datos-personales-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 34px; row-gap: 25px; }
.datos-personales-campo { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.datos-personales-campo label { color: #12233b; }
.datos-personales-input { width: 100%; height: 32px; padding: 3px 14px; border: 1px solid #222; border-radius: 18px; background: #fff; color: #12233b; }
.datos-personales-input[readonly] { background: #d4d4d4; }
.datos-personales-iban { grid-column: 1 / -1; }
.datos-personales-acciones { display: flex; justify-content: center; gap: 16px; margin-top: 42px; }
.datos-personales-acciones .btnAzul { padding: 11px 9px; background: var(--azul-claro); font-weight: 700; }
.datos-personales-acciones .btnAzul:hover { background: var(--azul-oaaf); }
.datos-personales-mensaje { margin: 28px 0 18px; text-align: center; font-weight: 700; }
.datos-personales-modal { display: none; position: fixed; inset: 0; z-index: 200; align-items: center; justify-content: center; background: #000000a6; }
.datos-personales-modal.visible { display: flex; }
.datos-personales-modal-card { width: min(520px, 92vw); padding: 25px; border-radius: 4px; background: #fff; box-shadow: 0 4px 18px #0005; }
.datos-personales-modal-card h2 { margin: 0 0 18px; font-family: Roboto, sans-serif; font-size: 1.2rem; font-weight: 400; }
.datos-personales-modal-card form { display: block; }
.datos-personales-modal-campos { display: flex; flex-direction: column; gap: 5px; }
.datos-personales-modal-campos input { height: 34px; padding: 5px 9px; border: 1px solid #777; border-radius: 3px; }
.datos-personales-modal-mensaje { min-height: 22px; margin: 15px 0 0; font-weight: 700; }
.datos-personales-modal-acciones { display: flex; gap: 10px; margin-top: 10px; }
.datos-personales-modal-acciones .btnAzul, .datos-personales-modal-acciones .btnGris { padding: 9px 18px; }
@media (max-width: 800px) {
    .menu-incidencias-layout { display: block; width: 92vw; }
    .menu-incidencias-page { padding: 0; }
    .datos-administrativos-layout { display: block; width: 92vw; margin-top: 35px; }
    .datos-administrativos-lateral { padding: 0; margin-bottom: 28px; }
    .datos-administrativos-lateral ul { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-left: 20px; }
    .datos-administrativos-lateral li { padding-bottom: 0; }
    .datos-administrativos-principal { padding: 0; }
}
@media (max-width: 700px) {
    .datos-personales-layout { width: 92vw; margin-top: 35px; }
    .datos-personales-migas { margin-bottom: 35px; }
    .datos-personales-grid { grid-template-columns: 1fr; row-gap: 18px; }
    .datos-personales-iban { grid-column: auto; }
    .datos-personales-acciones { flex-wrap: wrap; margin-top: 30px; }
}
