*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8f0fb;color:#171717;padding:24px}
.wrap{max-width:1050px;margin:25px auto}
.card{background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.back,.link{color:#245a9b;text-decoration:none;font-weight:700}
h1,h2{color:#245a9b} h1{margin:0}.muted{color:#5b6878}
.msg{padding:12px;border-radius:10px;background:#eaf2fc;border:1px solid #c9dbf2;margin:18px 0}
.btn{border:0;border-radius:9px;background:#245a9b;color:#fff;padding:10px 14px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-block}
.btn.secondary{background:#dce9f8;color:#214f86}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px 9px;border-bottom:1px solid #d9e5f3;font-size:14px;vertical-align:middle}
th{color:#245a9b}
.scroll{overflow-x:auto}
.employee-link{color:#245a9b;text-decoration:none;font-weight:800}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#dce9f8;color:#214f86;font-weight:700}
.active-view{display:block}
.inactive-view{display:none}
body:has(#inactivos:target) .active-view{display:none}
body:has(#inactivos:target) .inactive-view{display:block}
@media(max-width:700px){
 body{padding:12px}.card{padding:18px}
 th:nth-child(3),td:nth-child(3){display:none}
}

/* Centros: estilos aislados para no alterar la lista de empleados */
body.centros-page *{box-sizing:border-box}
body.centros-page{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8f0fb;color:#171717;padding:24px}
body.centros-page .wrap{max-width:1000px;margin:25px auto}
body.centros-page .card{background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.centros-page .top{display:flex;justify-content:space-between;align-items:center;gap:15px}
body.centros-page .back{color:#245a9b;text-decoration:none;font-weight:700}
body.centros-page h1{margin:0;color:#245a9b}
body.centros-page .muted{color:#5b6878}
body.centros-page .msg{padding:12px;border-radius:10px;background:#eaf2fc;border:1px solid #c9dbf2;margin:18px 0}
body.centros-page .grid{display:grid;grid-template-columns:2fr 1fr;gap:15px}
body.centros-page label{display:block;font-weight:650;margin-bottom:6px}
body.centros-page input{width:100%;padding:12px;border:1px solid #b8cbe4;border-radius:9px;font:inherit;background:#fff}
body.centros-page button{border:0;border-radius:9px;background:#245a9b;color:#fff;padding:12px 16px;font-weight:750;cursor:pointer;margin-top:18px}
body.centros-page table{width:100%;border-collapse:collapse}
body.centros-page th, body.centros-page td{text-align:left;padding:12px 8px;border-bottom:1px solid #d9e5f3;font-size:14px}
body.centros-page th{color:#245a9b}
body.centros-page .scroll{overflow-x:auto}
body.centros-page .badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#dce9f8;color:#214f86;font-weight:700}
body.centros-page .actions{display:flex;gap:7px;flex-wrap:wrap}
body.centros-page .actions form{margin:0}
body.centros-page .actions button{margin:0;padding:7px 10px;font-size:13px}
body.centros-page .danger{background:#8b1e1e}
body.centros-page .secondary{background:#52739a}
body.centros-page .delete-link{display:inline-block;background:#8b1e1e;color:#fff;text-decoration:none;border-radius:9px;padding:7px 10px;font-size:13px;font-weight:750}
body.centros-page .confirm{border:2px solid #8b1e1e}
body.centros-page .confirm-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
body.centros-page .cancel{color:#245a9b;font-weight:700;text-decoration:none}
@media(max-width:700px){body.centros-page .grid{grid-template-columns:1fr}}
@media(max-width:700px){body.centros-page th:nth-child(3),body.centros-page td:nth-child(3){display:table-cell}}

/* Dar de alta: estilos aislados */
body.alta-page *{box-sizing:border-box}
body.alta-pagebody{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8f0fb;color:#171717;padding:24px}
body.alta-page .wrap{max-width:700px;margin:35px auto}
body.alta-page .card{background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.alta-page h1{margin:0;color:#218739}
body.alta-page .muted{color:#5b6878}
body.alta-page .notice{background:#fff;border:1px solid #b8d9c0;border-radius:11px;padding:15px;margin:22px 0}
body.alta-page label{display:block;font-weight:750;margin-bottom:7px}
body.alta-page input[type=date]{width:100%;padding:12px;border:1px solid #bfd2ee;border-radius:9px;background:#fff;font:inherit}
body.alta-page .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
body.alta-page .btn{padding:11px 16px;border-radius:9px;text-decoration:none;font-weight:750;font:inherit}
body.alta-page .alta{background:#218739;color:#fff;border:0}
body.alta-page .cancel{background:#fff;color:#245a9b;border:1px solid #bfd2ee}
@media(max-width:700px){
body.alta-pagebody{padding:12px}
body.alta-page .card{padding:18px}
body.alta-page .actions{flex-direction:column}
body.alta-page .btn{text-align:center}
}

/* dar_baja.php — estilos aislados */
body.dar-baja-page * {box-sizing:border-box}
body.dar-baja-page {margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8f0fb;color:#171717;padding:24px}
body.dar-baja-page .wrap {max-width:700px;margin:35px auto}
body.dar-baja-page .card {background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.dar-baja-page h1 {margin:0;color:#9b2c2c}
body.dar-baja-page .muted {color:#5b6878}
body.dar-baja-page .notice {background:#fff;border:1px solid #e0b7b7;border-radius:11px;padding:15px;margin:22px 0}
body.dar-baja-page label {display:block;font-weight:750;margin-bottom:7px}
body.dar-baja-page input[type=date] {width:100%;padding:12px;border:1px solid #bfd2ee;border-radius:9px;background:#fff;font:inherit}
body.dar-baja-page .actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
body.dar-baja-page .btn {padding:11px 16px;border-radius:9px;text-decoration:none;font-weight:750;font:inherit}
body.dar-baja-page .danger {background:#b42318;color:#fff;border:0}
body.dar-baja-page .cancel {background:#fff;color:#245a9b;border:1px solid #bfd2ee}
@media(max-width:700px){body.dar-baja-page {padding:12px}
body.dar-baja-page .card {padding:18px}
body.dar-baja-page .actions {flex-direction:column}
body.dar-baja-page .btn {text-align:center}}


/* Eliminar documento: confirmación aislada */
body.eliminar-documento-page *{box-sizing:border-box}
body.eliminar-documento-page{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8f0fb;color:#171717;padding:24px}
body.eliminar-documento-page .card{max-width:620px;margin:70px auto;background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.eliminar-documento-page h1{margin-top:0;color:#b42318;font-size:1.55rem}
body.eliminar-documento-page .documento{background:#fff;border:1px solid #d5e1ef;border-radius:11px;padding:14px;margin:18px 0;font-weight:750;overflow-wrap:anywhere}
body.eliminar-documento-page .aviso{color:#5b6878}
body.eliminar-documento-page .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
body.eliminar-documento-page .btn{display:inline-block;text-decoration:none;font-weight:750;padding:10px 15px;border-radius:9px;border:0;cursor:pointer;font:inherit}
body.eliminar-documento-page .cancelar{background:#245a9b;color:#fff}
body.eliminar-documento-page .eliminar{background:#b42318;color:#fff}
body.eliminar-documento-page form{margin:0}
@media(max-width:600px){body.eliminar-documento-page{padding:12px}
body.eliminar-documento-page .card{margin:30px auto;padding:20px}
body.eliminar-documento-page .actions{flex-direction:column}
body.eliminar-documento-page .btn{text-align:center;width:100%}}

/* subir_documento.php: estilos aislados */
body.subir-documento-page *{box-sizing:border-box}
body.subir-documento-page{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#e8f0fb;color:#171717;padding:24px}
body.subir-documento-page .wrap{max-width:720px;margin:25px auto}
body.subir-documento-page .card{background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.subir-documento-page h1{margin:0;color:#245a9b}
body.subir-documento-page .muted{color:#5b6878}
body.subir-documento-page .form{display:grid;gap:16px;margin-top:24px}
body.subir-documento-page label{display:grid;gap:7px;font-weight:750;color:#425166}
body.subir-documento-page input, body.subir-documento-page select{width:100%;padding:12px;border:1px solid #bfd2ee;border-radius:10px;background:#fff;font:inherit;color:#171717}
body.subir-documento-page .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:5px}
body.subir-documento-page .btn{display:inline-block;background:#245a9b;color:#fff;text-decoration:none;font-weight:750;padding:10px 14px;border-radius:9px;border:0;cursor:pointer;font:inherit}
body.subir-documento-page .back{color:#245a9b;text-decoration:none;font-weight:700}
body.subir-documento-page .error{background:#fde3e1;color:#8f1d14;border:1px solid #f1b9b4;border-radius:10px;padding:12px;margin-top:18px}
body.subir-documento-page .success{background:#dff3e4;color:#176b2c;border:1px solid #add8b8;border-radius:10px;padding:12px;margin-top:18px;font-weight:750}
body.subir-documento-page .note{font-size:13px;color:#5b6878}
body.subir-documento-page .check-row{display:flex;grid-template-columns:none;align-items:center;gap:10px}
body.subir-documento-page .check-row input{width:20px;height:20px;flex:0 0 auto}
@media(max-width:700px){body.subir-documento-page{padding:12px}
body.subir-documento-page .card{padding:18px}
body.subir-documento-page .actions{align-items:stretch;flex-direction:column}
body.subir-documento-page .btn, body.subir-documento-page .back{text-align:center}}
body.subir-documento-page [hidden]{display:none!important}

/* Mis contratos: estilos aislados */
body.mis-contratos-page *{box-sizing:border-box}
body.mis-contratos-page{margin:0;padding:24px;background:#e5f3e9;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.mis-contratos-page .wrap{max-width:900px;margin:30px auto}
body.mis-contratos-page .card{background:#f3faf5;border:1px solid #b9d9c2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.mis-contratos-page .top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}
body.mis-contratos-page h1{margin:0;color:#24613a}
body.mis-contratos-page .muted{color:#5c6b61}
body.mis-contratos-page .btn{display:inline-block;border-radius:9px;background:#24613a;color:#fff;padding:10px 14px;font-weight:750;text-decoration:none}
body.mis-contratos-page table{width:100%;border-collapse:collapse}
body.mis-contratos-page th, body.mis-contratos-page td{text-align:left;padding:12px 8px;border-bottom:1px solid #d5e8da}
body.mis-contratos-page th{color:#24613a}
body.mis-contratos-page .scroll{overflow-x:auto}
body.mis-contratos-page .btn-firmar{background:#24613a}
body.mis-contratos-page .firmado{display:inline-block;margin-left:8px;padding:9px 12px;border-radius:9px;background:#e8f5e9;color:#176b2c;font-weight:750;white-space:nowrap}


/* Página: Mis nóminas */
body.mis-nominas-page *{box-sizing:border-box}
body.mis-nominas-page{margin:0;padding:24px;background:#e5f3e9;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.mis-nominas-page .wrap{max-width:900px;margin:30px auto}
body.mis-nominas-page .card{background:#f3faf5;border:1px solid #b9d9c2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.mis-nominas-page .top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}
body.mis-nominas-page h1{margin:0;color:#24613a}
body.mis-nominas-page .muted{color:#5c6b61}
body.mis-nominas-page .btn{display:inline-block;border-radius:9px;background:#24613a;color:#fff;padding:10px 14px;font-weight:750;text-decoration:none}
body.mis-nominas-page table{width:100%;border-collapse:collapse}
body.mis-nominas-page th, body.mis-nominas-page td{text-align:left;padding:12px 8px;border-bottom:1px solid #d5e8da}
body.mis-nominas-page th{color:#24613a}
body.mis-nominas-page .scroll{overflow-x:auto}

/* mis_horas.php — estilos aislados */
body.mis-horas-page * {box-sizing:border-box}
body.mis-horas-page {margin:0;padding:24px;background:#e5f3e9;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.mis-horas-page .wrap {max-width:900px;margin:30px auto}
body.mis-horas-page .card {background:#f3faf5;border:1px solid #b9d9c2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.mis-horas-page .top {display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}
body.mis-horas-page h1 {margin:0;color:#24613a}
body.mis-horas-page .muted {color:#5c6b61}
body.mis-horas-page .btn {display:inline-block;border-radius:9px;background:#24613a;color:#fff;padding:10px 14px;font-weight:750;text-decoration:none}
body.mis-horas-page table {width:100%;border-collapse:collapse}
body.mis-horas-page th, body.mis-horas-page td {text-align:left;padding:12px 8px;border-bottom:1px solid #d5e8da}
body.mis-horas-page th {color:#24613a}
body.mis-horas-page .scroll {overflow-x:auto}
body.mis-horas-page .firmado {display:inline-block;padding:9px 12px;border-radius:9px;background:#e8f5e9;color:#176b2c;font-weight:750;white-space:nowrap}
@media(max-width:650px) {body.mis-horas-page {padding:12px}
body.mis-horas-page .card {padding:18px}
body.mis-horas-page th, body.mis-horas-page td {padding:10px 6px}}

/* mis_documentos.php — estilos aislados */
body.mis-documentos-page * {box-sizing:border-box}
body.mis-documentos-page {margin:0;padding:24px;background:#e5f3e9;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.mis-documentos-page .wrap {max-width:900px;margin:30px auto}
body.mis-documentos-page .card {background:#f3faf5;border:1px solid #b9d9c2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.mis-documentos-page .top {display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}
body.mis-documentos-page h1 {margin:0;color:#24613a}
body.mis-documentos-page .muted {color:#5c6b61}
body.mis-documentos-page .btn {display:inline-block;border-radius:9px;background:#24613a;color:#fff;padding:10px 14px;font-weight:750;text-decoration:none}
body.mis-documentos-page table {width:100%;border-collapse:collapse}
body.mis-documentos-page th, body.mis-documentos-page td {text-align:left;padding:12px 8px;border-bottom:1px solid #d5e8da}
body.mis-documentos-page th {color:#24613a}
body.mis-documentos-page .scroll {overflow-x:auto}

/* mis_amonestaciones.php — estilos aislados */
body.mis-amonestaciones-page * {box-sizing:border-box}
body.mis-amonestaciones-page {margin:0;padding:24px;background:#e5f3e9;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.mis-amonestaciones-page .wrap {max-width:900px;margin:30px auto}
body.mis-amonestaciones-page .card {background:#f3faf5;border:1px solid #b9d9c2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.mis-amonestaciones-page .top {display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}
body.mis-amonestaciones-page h1 {margin:0;color:#24613a}
body.mis-amonestaciones-page .muted {color:#5c6b61}
body.mis-amonestaciones-page .btn {display:inline-block;border-radius:9px;background:#24613a;color:#fff;padding:10px 14px;font-weight:750;text-decoration:none}
body.mis-amonestaciones-page table {width:100%;border-collapse:collapse}
body.mis-amonestaciones-page th, body.mis-amonestaciones-page td {text-align:left;padding:12px 8px;border-bottom:1px solid #d5e8da}
body.mis-amonestaciones-page th {color:#24613a}
body.mis-amonestaciones-page .scroll {overflow-x:auto}
body.mis-amonestaciones-page .estado {font-weight:750}
body.mis-amonestaciones-page .pendiente {color:#9a6700}
body.mis-amonestaciones-page .firmado {color:#24613a}

/* Página de firma de documentos: estilos aislados */
body.firmar-documento-page * {box-sizing:border-box}
body.firmar-documento-page {margin:0;padding:20px;background:#e5f3e9;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.firmar-documento-page .wrap {max-width:760px;margin:25px auto}
body.firmar-documento-page .card {background:#f3faf5;border:1px solid #b9d9c2;border-radius:18px;padding:25px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.firmar-documento-page h1 {margin-top:0;color:#24613a}
body.firmar-documento-page .muted {color:#5c6b61}
body.firmar-documento-page .msg {padding:12px;border-radius:10px;background:#e8f5ec;margin:15px 0}
body.firmar-documento-page .err {background:#fff0f0;border:1px solid #f0bcbc}
body.firmar-documento-page canvas {display:block;width:100%;height:240px;border:2px solid #9fc9aa;border-radius:12px;background:#fff;touch-action:none}
body.firmar-documento-page .actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
body.firmar-documento-page button, body.firmar-documento-page .btn {border:0;border-radius:9px;background:#24613a;color:#fff;padding:11px 16px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}
body.firmar-documento-page .secondary {background:#5f7465}


/* Vista previa de documentos antes de firmar */
body.vista-previa-firma-page, body.vista-previa-firma-page * { box-sizing: border-box; }
body.vista-previa-firma-page { margin: 0; background: #dfe9e2; color: #171717; font-family: system-ui,-apple-system,"Segoe UI",sans-serif; }
body.vista-previa-firma-page .top { position: sticky; top: 0; z-index: 2; background: #f3faf5; border-bottom: 1px solid #b9d9c2; padding: 12px 16px; }
body.vista-previa-firma-page .top strong { color: #24613a; }
body.vista-previa-firma-page .notice { font-size: 14px; color: #5c6b61; margin-top: 4px; }
body.vista-previa-firma-page .pages { max-width: 1000px; margin: 18px auto; padding: 0 12px 30px; }
body.vista-previa-firma-page .page { display: block; width: 100%; height: auto; margin: 0 auto 18px; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.12); user-select: none; -webkit-user-drag: none; }

/* Firma del representante: estilos exclusivos de esta página */
body.firma-representante-page * {box-sizing:border-box}
body.firma-representante-page {margin:0;padding:20px;background:#e8f0fb;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#171717}
body.firma-representante-page .wrap {max-width:760px;margin:25px auto}
body.firma-representante-page .card {background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:25px}
body.firma-representante-page h1 {color:#245a9b}
body.firma-representante-page .muted {color:#5b6878}
body.firma-representante-page .msg {padding:12px;background:#eaf2fc;border:1px solid #c9dbf2;border-radius:10px;margin:15px 0}
body.firma-representante-page canvas {display:block;width:100%;height:240px;border:2px solid #9fb9da;border-radius:12px;background:#fff;touch-action:none}
body.firma-representante-page .actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
body.firma-representante-page button, body.firma-representante-page .btn {border:0;border-radius:9px;background:#245a9b;color:#fff;padding:11px 16px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}
body.firma-representante-page .secondary {background:#52739a}
body.firma-representante-page .preview {padding:18px;border:1px solid #c8d8ed;border-radius:12px;text-align:center}
body.firma-representante-page .preview img {max-width:100%;max-height:220px}


/* ver_firma_admin.php */
body.ver-firma-admin-page *{box-sizing:border-box}body.ver-firma-admin-page{margin:0;padding:24px;background:#e8f0fb;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}body.ver-firma-admin-page .wrap{max-width:800px;margin:30px auto}body.ver-firma-admin-page .card{background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}body.ver-firma-admin-page h1{margin-top:0;color:#245a9b}body.ver-firma-admin-page h2{color:#245a9b}body.ver-firma-admin-page .datos{display:grid;grid-template-columns:180px 1fr;gap:10px;margin:22px 0}body.ver-firma-admin-page .firma{margin:20px 0;padding:20px;border:1px solid #c8d8ed;background:#fff;border-radius:12px;text-align:center}body.ver-firma-admin-page .firma img{max-width:100%;max-height:280px}body.ver-firma-admin-page .ok{font-weight:750;color:#176b2c}body.ver-firma-admin-page .error{font-weight:750;color:#9b1c1c}body.ver-firma-admin-page .btn{display:inline-block;margin:5px 6px 5px 0;border-radius:9px;background:#245a9b;color:#fff;padding:10px 14px;font-weight:750;text-decoration:none}body.ver-firma-admin-page .hash{font-family:monospace;font-size:12px;overflow-wrap:anywhere}body.ver-firma-admin-page .muted{color:#5b6878}@media(max-width:600px){body.ver-firma-admin-page .datos{grid-template-columns:1fr}}


/* Carga masiva: estilos propios y estados visibles */
body.carga-masiva-page *{box-sizing:border-box}
body.carga-masiva-page{margin:0;padding:24px;background:#e8f0fb;color:#171717;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body.carga-masiva-page .wrap{max-width:950px;margin:25px auto}
body.carga-masiva-page .card{background:#f7faff;border:1px solid #bfd2ee;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body.carga-masiva-page .top{display:flex;justify-content:space-between;gap:15px;align-items:center}
body.carga-masiva-page h1{margin:0;color:#245a9b}body.carga-masiva-page .muted{color:#5b6878}body.carga-masiva-page .back{color:#245a9b;text-decoration:none;font-weight:700}
body.carga-masiva-page .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:25px}
body.carga-masiva-page .option{border:1px solid #c8d8ed;border-radius:14px;padding:20px;background:#f2f7fd;cursor:pointer;user-select:none}body.carga-masiva-page .option:hover{background:#eaf2fc}body.carga-masiva-page .option:focus{outline:3px solid rgba(36,90,155,.22);outline-offset:2px}body.carga-masiva-page .option-panel{display:none}body.carga-masiva-page .option-panel.open{display:block}
body.carga-masiva-page .option h2{margin-top:8px}
body.carga-masiva-page .tag{display:inline-block;background:#dce9f8;color:#214f86;border-radius:999px;padding:5px 9px;font-size:13px;font-weight:700}
body.carga-masiva-page .notice{margin-top:22px;padding:16px;border-radius:12px;background:#eaf2fc;border:1px solid #c9dbf2}
body.carga-masiva-page .upload{margin-top:24px;padding:20px;border:1px solid #c8d8ed;border-radius:14px;background:#f2f7fd}
body.carga-masiva-page button{padding:11px 16px;font-size:16px;font-weight:700;cursor:pointer;background:#245a9b;color:#fff;border:0;border-radius:9px}
body.carga-masiva-page input[type=file],body.carga-masiva-page select,body.carga-masiva-page input[type=number]{max-width:100%;padding:10px;border:1px solid #b8cbe4;border-radius:9px;font:inherit}
body.carga-masiva-page .periodo{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0}
body.carga-masiva-page .periodo label{font-weight:700;display:flex;flex-direction:column;gap:6px}
body.carga-masiva-page #estado{margin-top:12px;font-weight:700}
body.carga-masiva-page table{width:100%;border-collapse:collapse;margin-top:18px}
body.carga-masiva-page th,body.carga-masiva-page td{padding:12px 10px;border-bottom:1px solid #d9e5f3;text-align:left}
body.carga-masiva-page .ok,body.carga-masiva-page .warn{font-weight:700}
body.carga-masiva-page .review{margin-top:22px;padding:18px;border:1px solid #c8d8ed;border-radius:14px;background:#f7faff}
body.carga-masiva-page .review h2{margin-top:0}body.carga-masiva-page .summary{font-weight:700;margin-bottom:10px}
body.carga-masiva-page .confirm{margin-top:16px}body.carga-masiva-page .confirm button{background:#245a9b;color:#fff;border:0;border-radius:9px}
body.carga-masiva-page .confirm button:disabled{opacity:.45;cursor:not-allowed}body.carga-masiva-page .sel-doc{width:20px;height:20px;vertical-align:middle}body.carga-masiva-page .faltantes{margin-top:18px;padding:14px;border:1px solid #e2b8b8;border-radius:12px;background:#fff6f6}body.carga-masiva-page .acciones-pendiente{display:flex;gap:8px;flex-wrap:wrap;align-items:center}body.carga-masiva-page .acciones-pendiente select{max-width:260px}
body.carga-masiva-page .link-page{background:none;color:#245a9b;padding:0;border:0;text-decoration:underline;font-weight:700;cursor:pointer}
body.carga-masiva-page .modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:18px;z-index:9999}
body.carga-masiva-page .modal.open{display:flex}body.carga-masiva-page .modal-box{width:min(920px,96vw);height:min(92vh,1000px);background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
body.carga-masiva-page .modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #ddd}
body.carga-masiva-page .preview-scroll{overflow:auto;flex:1;background:#e8edf3;padding:14px}body.carga-masiva-page #previewCanvas{display:block;max-width:100%;height:auto;margin:auto}body.carga-masiva-page .cut-wrap{position:relative;display:block;width:max-content;max-width:100%;margin:auto}body.carga-masiva-page .cut-line{position:absolute;left:0;right:0;height:4px;background:#d40000;box-shadow:0 0 0 2px rgba(255,255,255,.8);pointer-events:none}body.carga-masiva-page .cut-label{position:absolute;right:8px;transform:translateY(-100%);background:#d40000;color:#fff;padding:4px 7px;border-radius:6px;font-weight:800;font-size:13px;pointer-events:none}
@media(max-width:750px){body.carga-masiva-page .grid{grid-template-columns:1fr}body.carga-masiva-page table{font-size:14px}}
body.carga-masiva-page #zonaResultados,body.carga-masiva-page #revision,body.carga-masiva-page #pendientesRevision,body.carga-masiva-page #faltanNominas,body.carga-masiva-page #faltanHoras,body.carga-masiva-page #resultadosHoras{display:none}
body.carga-masiva-page #zonaResultados.is-visible,body.carga-masiva-page #revision.is-visible,body.carga-masiva-page #pendientesRevision.is-visible,body.carga-masiva-page #faltanNominas.is-visible,body.carga-masiva-page #faltanHoras.is-visible,body.carga-masiva-page #resultadosHoras.is-visible{display:block}
body.carga-masiva-page #confirmacion,body.carga-masiva-page #estadoHoras{margin-top:12px}
body.carga-masiva-page #estadoHoras{font-weight:700}


/* Activación de cuentas: estilos aislados */
body.activar-page *{box-sizing:border-box}
body.activar-page{margin:0;padding:22px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f2f4f7;color:#17202a}
body.activar-page .wrap{max-width:760px;margin:30px auto}
body.activar-page .card{background:#fff;border:1px solid #d7dde5;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
body.activar-page h1{margin-top:0;color:#245a9b}
body.activar-page h2{margin-top:28px;color:#245a9b;font-size:20px}
body.activar-page label{font-weight:650;display:block;margin:15px 0 6px}
body.activar-page input[type=password]{width:100%;padding:12px;border:1px solid #b9c5d3;border-radius:9px;font:inherit}
body.activar-page .password-row{display:flex;gap:8px}
body.activar-page .password-row input{flex:1}
body.activar-page .eye{width:48px;border:1px solid #b9c5d3;background:#f4f7fa;border-radius:9px;cursor:pointer;font-size:18px}
body.activar-page .privacy-link{color:#245a9b;text-decoration:underline;cursor:pointer;font-weight:650}
body.activar-page .privacy-link:hover{text-decoration:none}
body.activar-page .privacy-details{margin:8px 0 22px 30px}
body.activar-page .privacy-details summary{display:none}
body.activar-page .privacy-content{background:#f7f9fc;border:1px solid #d8e0ea;border-radius:12px;padding:18px;line-height:1.55}
body.activar-page .privacy-content p,body.activar-page .privacy-content li{font-size:14px}
body.activar-page .check{display:flex;gap:10px;align-items:flex-start;margin:22px 0;font-weight:650}
body.activar-page .check input{margin-top:4px}
body.activar-page button[type=submit]{border:0;border-radius:9px;background:#245a9b;color:#fff;padding:12px 18px;font-weight:750;font-size:16px;cursor:pointer}
body.activar-page .error{background:#fff1f1;border:1px solid #efb7b7;padding:12px;border-radius:10px;margin:16px 0}
body.activar-page .muted{color:#667281}
