@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary: #4178f1;--primary-dark: #2a5cc7;--primary-light: #eef4ff;--bg-dark-white: #f0f2f5;--surface: #ffffff;--text-main: #1a1a1a;--text-muted: #666666;--border: #e1e4e8;--radius: 12px;--shadow: 0 10px 25px rgba(0, 0, 0, .05);--error: #ef4444;--success: #10b981}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}html,body{overflow-x:hidden}body{font-family:Inter,sans-serif;background-color:var(--bg-dark-white);color:var(--text-main);line-height:1.5;min-height:100%;height:100%}#root{min-height:100%;height:100%}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;color:#111}input,button{font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}button{cursor:pointer;border:none;outline:none;transition:all .2s ease}input{border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;outline:none;transition:all .2s ease}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.login-container{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(16px,4vw,32px);padding-left:max(clamp(16px,4vw,32px),env(safe-area-inset-left));padding-right:max(clamp(16px,4vw,32px),env(safe-area-inset-right));padding-bottom:max(clamp(16px,4vw,32px),env(safe-area-inset-bottom));padding-top:max(clamp(16px,4vw,32px),env(safe-area-inset-top));background:radial-gradient(circle at top right,#eef4ff,#f0f2f5,#e8ecf3);position:relative;overflow:auto;box-sizing:border-box}.login-container:before{content:"";position:absolute;top:-10%;right:-5%;width:min(400px,80vw);height:min(400px,80vw);background:var(--primary);filter:blur(150px);opacity:.1;z-index:0}.login-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:min(440px,92vw);padding:clamp(24px,5vw,40px) clamp(24px,5vw,48px);padding-bottom:clamp(20px,4vw,32px);border-radius:clamp(16px,4vw,24px);box-shadow:0 20px 40px #00000014,0 0 0 1px #ffffff80 inset;position:relative;z-index:1;box-sizing:border-box;margin:auto;flex-shrink:0}.login-header{text-align:center;margin-bottom:clamp(20px,4vw,32px)}.login-logo{display:block;margin:0 auto clamp(16px,3vw,24px);max-width:clamp(80px,22vw,120px);height:auto}.login-header h1{font-size:clamp(22px,4vw,28px);margin-bottom:8px;letter-spacing:-.02em}.login-header p{color:var(--text-muted);font-size:clamp(14px,2vw,15px)}.login-form{display:flex;flex-direction:column;gap:clamp(16px,3vw,20px)}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:clamp(13px,1.8vw,14px);font-weight:500;color:#444}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .icon{position:absolute;left:clamp(12px,2.5vw,14px);color:#a0aec0}.input-with-icon input{width:100%;padding-left:44px;height:clamp(44px,10vw,48px);font-size:clamp(14px,2vw,15px);background:#f8fafc;box-sizing:border-box}.password-toggle{position:absolute;right:12px;background:none;color:#a0aec0;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--primary)}.pin-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(6px,1.5vw,10px)}.pin-inputs input{width:100%;height:clamp(44px,10vw,54px);padding:0;text-align:center;font-size:clamp(16px,3vw,20px);font-weight:600;background:#f8fafc;box-sizing:border-box}.submit-btn{background:var(--primary);color:#fff;height:clamp(48px,10vw,54px);border-radius:clamp(10px,2vw,12px);font-size:clamp(14px,2vw,16px);font-weight:600;margin-top:clamp(8px,2vw,12px);display:flex;align-items:center;justify-content:center;gap:10px}.submit-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4178f133}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.remember-me-group{margin-top:-8px;margin-bottom:4px}.remember-me-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;color:#666}.remember-me-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.remember-me-label span{font-size:14px;color:#555}.remember-me-label:hover span{color:var(--primary)}.login-footer{margin-top:clamp(24px,4vw,32px);text-align:center}.login-footer p{font-size:clamp(12px,1.5vw,13px);color:var(--text-muted)}.login-footer .version{color:#557af0;text-transform:uppercase;margin-top:clamp(8px,2vw,12px)}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.login-card{padding:24px 20px}.pin-inputs{gap:6px}.pin-inputs input{height:46px;font-size:17px}}@media(min-width:600px)and (max-width:1024px){.login-card{max-width:min(420px,85vw)}}@media(min-width:1025px){.login-card{max-width:440px}}.documentos-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.documentos-modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.documentos-modal-header{background:#264499;color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-radius:8px 8px 0 0}.documentos-modal-header h2{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;color:#fff;letter-spacing:.5px}.btn-cerrar-modal{background:transparent;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-cerrar-modal:hover{opacity:.8;transform:scale(1.1)}.documentos-modal-body{padding:30px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;flex:1}.documentos-actions{display:flex;gap:15px;justify-content:center}.btn-subir-pdf,.btn-descargar-pdf,.btn-eliminar-pdf{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:6px;font-size:13px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-subir-pdf{background:#3b4ca3;color:#fff}.btn-descargar-pdf{background:#10b981;color:#fff}.btn-descargar-pdf:hover:not(:disabled){background:#059669}.btn-descargar-pdf:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.btn-eliminar-pdf{background:#dc2626;color:#fff}.btn-eliminar-pdf:hover:not(:disabled){background:#b91c1c}.btn-eliminar-pdf:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.documentos-list-header{display:flex;justify-content:flex-start;padding-bottom:10px;border-bottom:2px solid #e1e4e8}.btn-seleccionar-todos{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#3b4ca3;font-size:13px;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:4px;transition:all .2s ease}.btn-seleccionar-todos:hover{background:#f1f3f6}.documentos-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.documento-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border:2px solid #e1e4e8;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease}.documento-item:hover{border-color:#3b4ca3;background:#f8f9ff}.documento-item.seleccionado{border-color:#3b4ca3;background:#e8edff}.documento-checkbox{display:flex;align-items:center;justify-content:center}.documento-nombre{flex:1;font-size:14px;color:#333;font-weight:400}.documentos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#9ca3af}.documentos-empty p{margin:10px 0 0;font-size:14px}.documentos-empty-hint{font-size:12px!important;color:#6b7280!important}.btn-descargar-individual{display:flex;align-items:center;justify-content:center;background:#10b981;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s ease;margin-left:auto}.btn-descargar-individual:hover{background:#059669}.plataformas-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.plataformas-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.plataformas-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.btn-regresar-plataformas{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.btn-regresar-plataformas:hover{background:#ffffff26;border-color:#ffffff80}.plataformas-controls{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;border-bottom:1px solid #e1e4e8}.instruccion-text{margin:0;font-size:14px;color:#333}.btn-agregar-plataforma{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-agregar-plataforma:hover{background:#2d3d7a}.plataformas-list{padding:20px 40px;background:#fff;display:flex;flex-direction:column;gap:10px}.plataforma-item{display:flex;flex-direction:column;gap:0;margin-bottom:10px}.plataforma-content{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:6px;background:#fff;transition:all .2s ease}.plataforma-disponible{border:2px solid #4ade80}.plataforma-ocupada{border:2px solid #dc2626}.plataforma-status{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:#4ade80}.plataforma-item.ocupada{opacity:.9}.plataforma-item[draggable=true]{cursor:grab}.plataforma-item[draggable=true]:active{cursor:grabbing}.plataforma-ocupada-texto{font-size:11px;font-weight:600;color:#dc2626;text-transform:uppercase;padding:2px 8px;background:#fee2e2;border-radius:4px}.btn-editar{display:flex;align-items:center;justify-content:center;background:#10b981;color:#fff;border:none;padding:6px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-editar:hover{background:#059669}.btn-docs{display:flex;align-items:center;gap:6px;background:#3b4ca3;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-docs:hover{background:#2d3d7a}.btn-eliminar{background:transparent;border:none;color:#dc2626;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-eliminar:hover{color:#b91c1c;transform:scale(1.1)}.btn-desasignar{display:flex;align-items:center;gap:6px;background:#f59e0b;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-desasignar:hover{background:#d97706}.btn-editar:disabled{opacity:.5;cursor:not-allowed}.categoria-placeholder{margin:20px 40px;padding:40px;border:2px dashed #d1d5db;border-radius:8px;text-align:center;color:#6b7280;font-size:14px;background:#fff}.obras-en-curso{padding:20px 40px;background:#fff;margin-top:20px}.obras-title{font-size:14px;font-weight:500;color:#333;text-transform:uppercase;margin-bottom:15px}.obra-item{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid #e1e4e8;border-radius:6px;background:#fff;transition:all .2s ease}.obra-item.drop-zone{min-height:80px}.obra-item:hover{border-color:#3b4ca3;box-shadow:0 2px 4px #0000000d}.obra-item.drag-over{border-color:#3b4ca3;background:#e8edff;border-style:dashed}.obra-icon{width:50px;height:50px;border:1px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#6b7280;background:#f9fafb;flex-shrink:0}.obra-info{flex:1;display:flex;flex-direction:column;gap:4px}.obra-nombre{font-size:14px;font-weight:500;color:#333;text-transform:uppercase}.obra-estado{font-size:12px;color:#6b7280}.plataformas-asignadas-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.plataforma-tag{padding:4px 10px;background:#fee2e2;border:1px solid #dc2626;border-radius:4px;font-size:11px;font-weight:500;color:#dc2626;text-transform:uppercase}.obras-vacias-plataformas{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#9ca3af}.obras-vacias-plataformas p{margin:10px 0 0;font-size:14px}.input-nombre-plataforma{width:100%;padding:12px 15px;border:2px solid #e1e4e8;border-radius:6px;font-size:14px;font-family:Inter,sans-serif;margin-bottom:20px;box-sizing:border-box;text-transform:uppercase}.input-nombre-plataforma:focus{outline:none;border-color:#3b4ca3}.asistencias-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.asistencias-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.asistencias-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#fff;flex:1;text-align:center}.btn-regresar-inicio{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.btn-regresar-inicio:hover{background:#ffffff26;border-color:#ffffff80}.asistencias-body{padding:30px 40px;background:#fff;min-height:400px}.asistencias-instruction{margin:0 0 20px;font-size:14px;color:#333}.obras-activas-list{display:flex;flex-direction:column;gap:12px;max-width:320px}.obra-activa-item{display:flex;flex-direction:column;gap:12px;padding:15px 20px;border:2px solid #3b4ca3;border-radius:6px;background:#fff;transition:all .2s ease}.obra-activa-item:hover{background:#e8edff;border-color:#2d3d7a;box-shadow:0 2px 6px #3b4ca326}.obra-activa-info{display:flex;flex-direction:column;gap:8px;min-height:56px}.obra-line{display:flex;align-items:center;gap:8px}.obra-label{font-size:14px;font-weight:600;color:#3b4ca3;text-transform:uppercase}.obra-activa-nombre{font-size:15px;font-weight:500;color:#333;text-transform:uppercase}.cabo-label{font-size:14px;font-weight:600;color:#3b4ca3;text-transform:uppercase}.cabo-nombre{font-size:14px;font-weight:500;color:#333;text-transform:uppercase}.cabo-rol{font-size:13px;font-weight:400;color:#666;text-transform:uppercase}.btn-abrir-obra{background:#3b4ca3;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:13px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease;width:100%;align-self:stretch}.btn-abrir-obra:hover{background:#2d3d7a}.obras-vacias{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#9ca3af;max-width:600px}.obras-vacias p{margin:10px 0 0;font-size:14px}.obras-vacias-hint{font-size:12px!important;color:#6b7280!important}.calendario-header{display:flex;align-items:center;justify-content:center;gap:20px;position:relative}.btn-volver{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:none;color:#fff;font-size:14px;cursor:pointer;padding:6px 0;transition:opacity .2s}.btn-volver:hover{opacity:.9}.calendario-nav{display:flex;align-items:center;justify-content:center;gap:25px;margin-bottom:25px;padding:12px;background:#f1f3f6;border-radius:8px}.btn-nav-mes{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-nav-mes:hover{border-color:#3b4ca3;color:#3b4ca3}.mes-año{font-size:16px;font-weight:500;color:#333;min-width:140px;text-align:center}.calendario-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;max-width:700px;margin:0 auto 25px}.calendario-dia-header{font-size:12px;font-weight:600;color:#666;text-align:center;padding:8px}.calendario-celda{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid #e1e4e8;border-radius:4px;font-size:14px;color:#333;cursor:pointer;background:#fff;transition:all .2s}.calendario-celda:hover:not(.vacia){border-color:#3b4ca3;background:#e8edff}.calendario-celda.vacia{background:transparent;border-color:transparent;cursor:default}.calendario-celda.domingo{background:#fce7f3;border-color:#f9a8d4}.calendario-celda.con-registro{background:#bbf7d0;border-color:#86efac}.calendario-celda.con-registro.clickeable{cursor:pointer}.calendario-celda.con-registro.clickeable:hover{background:#86efac;border-color:#22c55e}.calendario-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;padding-top:15px;border-top:1px solid #e1e4e8}.leyenda{display:flex;gap:20px;flex-wrap:wrap}.leyenda-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.cuadro{width:18px;height:18px;border-radius:2px;display:inline-block}.cuadro.sin-registro{background:#e5e7eb;border:1px solid #d1d5db}.cuadro.con-registro{background:#bbf7d0;border:1px solid #86efac}.cuadro.domingo{background:#fce7f3;border:1px solid #f9a8d4}.btn-descargar-excel{display:flex;align-items:center;gap:8px;background:#111;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:13px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s}.btn-descargar-excel:hover{background:#333}.trabajadores-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.btn-volver-gris{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:8px 0;transition:color .2s}.btn-volver-gris:hover{color:#3b4ca3}.tab-trabajadores{padding:8px 20px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;color:#333;text-transform:uppercase}.trabajadores-list{display:flex;flex-direction:column;gap:12px}.trabajador-item{display:flex;align-items:center;gap:20px;padding:15px 20px;border:1px solid #e1e4e8;border-radius:6px;background:#fff;transition:all .2s}.trabajador-item:hover{border-color:#3b4ca3;box-shadow:0 2px 6px #3b4ca31a}.trabajador-foto{width:60px;height:60px;min-width:60px;border:1px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9ca3af;background:#f9fafb}.trabajador-nombre{flex:1;font-size:14px;font-weight:500;color:#333;text-transform:uppercase}.btn-mostrar{background:#3b4ca3;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s}.btn-mostrar:hover{background:#2d3d7a}.detalle-header{display:flex;flex-direction:column;align-items:center;gap:8px}.detalle-header h1{text-transform:uppercase}.subtitle-horas{font-size:14px;font-weight:400;opacity:.95}.btn-regresar{text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:6px;background:transparent;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:8px 0;margin-bottom:25px;transition:color .2s}.btn-regresar:hover{color:#3b4ca3}.eventos-list{display:flex;flex-direction:column;gap:12px}.evento-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding:14px 20px;border:2px solid #1f2937;border-radius:6px;background:#fff}.evento-campo{font-size:14px;font-weight:500;color:#333;text-transform:uppercase}.evento-hora{font-size:14px;font-weight:600;color:#264499}.evento-foto-actions{display:flex;align-items:center;gap:10px}.btn-ver-foto,.btn-descargar-foto{display:inline-flex;align-items:center;gap:6px;background:#264499;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s}.btn-ver-foto:hover,.btn-descargar-foto:hover{background:#1e3a7a}.asistencias-modal-foto{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.asistencias-modal-foto-inner{background:#fff;border-radius:12px;padding:24px;max-width:90vw;max-height:90vh;overflow:auto;position:relative}.asistencias-modal-foto-cerrar{position:absolute;top:12px;right:12px;background:#e5e7eb;border:none;border-radius:6px;padding:6px;cursor:pointer;color:#374151}.asistencias-modal-foto-cerrar:hover{background:#d1d5db}.asistencias-modal-foto-titulo{margin:0 0 16px;font-size:14px;font-weight:600;color:#111;text-transform:uppercase}.asistencias-modal-foto-inner img{display:block;max-width:100%;height:auto;border-radius:8px;margin-bottom:16px}.asistencias-sin-trabajadores,.asistencias-sin-horas{margin:20px 0 0;font-size:14px;color:#6b7280}.btn-descargar-evento{background:#3b4ca3;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s}.btn-descargar-evento:hover{background:#2d3d7a}.obras-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.obras-header{background:#264499;color:#fff;padding:18px 40px;text-align:center}.obras-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#fff}.obras-body{padding:30px 40px;background:#fff;min-height:400px}.obras-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.obras-instruction{margin:0;font-size:14px;color:#333}.btn-agregar-obra{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:13px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-agregar-obra:hover{background:#2d3d7a}.obras-list{display:flex;flex-direction:column;gap:12px}.obra-item{display:flex;align-items:center;gap:15px;padding:15px 20px;border:2px solid #e1e4e8;border-radius:6px;background:#fff;transition:all .2s ease;flex-wrap:wrap}.obra-item:hover{border-color:#3b4ca3;box-shadow:0 2px 6px #3b4ca31a}.btn-estado{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.btn-estado:hover{transform:scale(1.1)}.obra-info-principal{flex:1;display:flex;flex-direction:column;gap:10px}.obra-nombre{font-size:15px;font-weight:500;color:#333;text-transform:uppercase;text-align:left}.obra-nombre.inactiva{color:#9ca3af;text-decoration:line-through}.obra-resumen-cabo{display:flex;gap:20px;flex-wrap:wrap;padding:8px 0}.resumen-item{display:flex;align-items:center;gap:6px}.resumen-label{font-size:12px;font-weight:500;color:#666;text-transform:uppercase}.resumen-valor{font-size:13px;font-weight:600;color:#3b4ca3;background:#e8edff;padding:2px 8px;border-radius:4px}.obra-estado-texto{font-size:12px;font-weight:500;color:#666;text-transform:uppercase;padding:4px 12px;border-radius:4px;background:#f1f3f6}.btn-eliminar-obra{background:transparent;border:none;color:#dc2626;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-eliminar-obra:hover{color:#b91c1c;transform:scale(1.1)}.obra-asignaciones{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.asignaciones-label{font-size:12px;font-weight:500;color:#666;text-transform:uppercase}.asignaciones-list{display:flex;flex-wrap:wrap;gap:6px}.asignacion-tag{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#e8edff;border:1px solid #3b4ca3;border-radius:4px;font-size:11px;color:#3b4ca3}.btn-remover-asignacion{background:transparent;border:none;color:#dc2626;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remover-asignacion:hover{color:#b91c1c;transform:scale(1.1)}.btn-asignar{display:flex;align-items:center;justify-content:center;background:#f97316;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-asignar:hover{background:#ea580c}.btn-seleccionar-obra-item{display:flex;align-items:center;justify-content:center;background:#242d56;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-seleccionar-obra-item:hover{background:#1a2340;transform:scale(1.05)}.btn-editar-obra{display:flex;align-items:center;justify-content:center;background:#10b981;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-editar-obra:hover{background:#059669}.modal-hint{font-size:12px!important;color:#6b7280!important;margin:-10px 0 10px!important}.modal-inputs-group{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.modal-input-field{display:flex;flex-direction:column;gap:6px}.modal-input-field label{font-size:13px;font-weight:500;color:#333;text-transform:uppercase}.obras-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#9ca3af}.obras-empty p{margin:10px 0 0;font-size:14px}.obras-empty-hint{font-size:12px!important;color:#6b7280!important}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:30px;width:90%;max-width:500px;box-shadow:0 10px 40px #0003}.modal-content h3{margin:0 0 10px;font-size:18px;font-weight:500;color:#333;text-transform:uppercase}.modal-content p{margin:0 0 20px;font-size:14px;color:#666}.input-nombre-obra{width:100%;padding:12px 15px;border:2px solid #e1e4e8;border-radius:6px;font-size:14px;font-family:Inter,sans-serif;margin-bottom:20px;box-sizing:border-box;text-transform:uppercase}.input-nombre-obra:focus{outline:none;border-color:#3b4ca3}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.btn-cancelar,.btn-confirmar{padding:10px 20px;border:none;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-cancelar{background:#e1e4e8;color:#333}.btn-cancelar:hover{background:#d1d5db}.btn-confirmar{background:#3b4ca3;color:#fff}.btn-confirmar:hover:not(:disabled){background:#2d3d7a}.btn-confirmar:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.modal-nueva-obra{background:#fff;border-radius:8px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;overflow:hidden}.modal-nueva-obra-header{background:#264499;color:#fff;padding:18px 30px;display:flex;align-items:center;gap:15px;position:relative}.btn-regresar-modal{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease}.btn-regresar-modal:hover{background:#ffffff26;border-color:#ffffff80}.modal-nueva-obra-header h2{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.modal-nueva-obra-body{padding:30px;overflow-y:auto;flex:1}.seccion-titulo{font-size:16px;font-weight:600;color:#333;margin:0 0 20px;text-transform:uppercase}.asignaciones-secciones{margin-top:30px;display:flex;flex-direction:column;gap:25px}.asignacion-seccion{border:1px solid #e1e4e8;border-radius:6px;padding:20px;background:#f9fafb}.asignacion-seccion h4{margin:0 0 15px;font-size:14px;font-weight:600;color:#333;text-transform:uppercase}.trabajadores-lista{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto;padding:10px;background:#fff;border:1px solid #e1e4e8;border-radius:6px;margin-bottom:15px}.trabajador-item-checkbox{display:flex;align-items:center;gap:10px;padding:10px;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.trabajador-item-checkbox:hover{background-color:#f1f3f6}.trabajador-item-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b4ca3}.trabajador-nombre{flex:1;font-size:14px;color:#333;font-weight:500}.trabajador-rango{font-size:12px;color:#6b7280;font-style:italic}.sin-trabajadores{padding:20px;text-align:center;color:#9ca3af;font-size:14px;font-style:italic;background:#fff;border:1px dashed #e1e4e8;border-radius:6px}.asignacion-inputs{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.input-asignacion{flex:1;min-width:150px;padding:10px 12px;border:2px solid #e1e4e8;border-radius:6px;font-size:13px;font-family:Inter,sans-serif;box-sizing:border-box}.input-asignacion:focus{outline:none;border-color:#3b4ca3}.btn-agregar-asignacion{display:flex;align-items:center;justify-content:center;background:#10b981;color:#fff;border:none;padding:10px 15px;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:45px}.btn-agregar-asignacion:hover:not(:disabled){background:#059669}.btn-agregar-asignacion:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.asignaciones-list-modal{display:flex;flex-wrap:wrap;gap:8px}.asignacion-tag-modal{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#e8edff;border:1px solid #3b4ca3;border-radius:4px;font-size:12px;color:#3b4ca3}.asignacion-tag-modal button{background:transparent;border:none;color:#dc2626;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:all .2s}.asignacion-tag-modal button:hover{color:#b91c1c;transform:scale(1.1)}.modal-nueva-obra-footer{padding:20px 30px;background:#f9fafb;border-top:1px solid #e1e4e8;display:flex;justify-content:flex-end}.btn-crear-obra{background:#3b4ca3;color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-crear-obra:hover:not(:disabled){background:#2d3d7a;transform:translateY(-1px);box-shadow:0 4px 12px #3b4ca333}.btn-crear-obra:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.bitacoras-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.bitacoras-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.bitacoras-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#fff;flex:1;text-align:center}.btn-regresar-bitacoras{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.btn-regresar-bitacoras:hover{background:#ffffff26;border-color:#ffffff80}.bitacoras-body{padding:30px 40px;background:#fff;min-height:400px}.bitacoras-instruction{font-size:14px;color:#333;margin-bottom:25px;text-align:center}.obras-vacias-bitacoras{text-align:center;padding:60px 20px;color:#666}.obras-vacias-bitacoras p{margin:10px 0}.obras-vacias-hint{font-size:12px;color:#999}.obras-grid-bitacoras{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto}.obra-card-bitacoras{background:#fff;border:2px solid #00BDFF;border-radius:8px;overflow:hidden;transition:all .2s ease}.obra-card-bitacoras:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.obra-card-content{display:flex;flex-direction:column;height:100%}.obra-nombre-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;min-height:120px}.obra-nombre-placeholder span{font-size:14px;font-weight:500;color:#333;text-transform:uppercase;text-align:center;line-height:1.5}.btn-seleccionar-obra{width:100%;background:#242d56;color:#fff;border:none;padding:12px 20px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.btn-seleccionar-obra:hover{background:#1a2340}.bitacoras-vacias{text-align:center;padding:60px 20px;color:#666}.bitacoras-vacias p{margin:10px 0}.bitacoras-list{display:flex;flex-direction:column;gap:15px;max-width:900px;margin:0 auto}.bitacora-item{background:#fff;border:2px solid #00BDFF;border-radius:8px;padding:20px;display:flex;align-items:center;cursor:pointer;transition:all .2s ease}.bitacora-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#3b4ca3}.bitacora-item-left{flex:1;display:flex;align-items:center}.bitacora-item-separator{width:1px;height:40px;background:#333;margin:0 20px}.bitacora-item-right{flex:1;display:flex;align-items:center;justify-content:flex-end}.bitacora-item-con-acciones{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px}.bitacora-item-con-acciones .bitacora-item-left{flex:1}.bitacora-item-con-acciones .bitacora-item-separator{margin:0 8px}.bitacora-item-con-acciones .bitacora-item-right{flex:1;justify-content:flex-end}.bitacora-item-acciones{display:flex;gap:8px;flex-shrink:0}.btn-bitacora-pdf{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.btn-abrir-pdf{background:#264499;color:#fff}.btn-abrir-pdf:hover{background:#1e3680}.btn-descargar-pdf{background:#0d9488;color:#fff}.btn-descargar-pdf:hover{background:#0f766e}.btn-eliminar-bitacora{background:#dc2626;color:#fff}.btn-eliminar-bitacora:hover{background:#b91c1c}.btn-restaurar-bitacora{background:#64748b;color:#fff}.btn-restaurar-bitacora:hover{background:#475569}.bitacoras-eliminadas-section{margin-top:28px;padding-top:20px;border-top:1px solid #e2e8f0}.bitacoras-eliminadas-title{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.bitacoras-list-eliminadas .bitacora-item-eliminada{opacity:.85;background:#f8fafc}.bitacoras-list-eliminadas .bitacora-item-eliminada .bitacora-nombre-label,.bitacoras-list-eliminadas .bitacora-item-eliminada .bitacora-folio-label{color:#64748b}.bitacora-nombre-label{font-size:14px;font-weight:400;color:#333;text-transform:none}.bitacora-folio-label{font-size:14px;font-weight:400;color:#333;text-transform:uppercase}.btn-crear-bitacora{display:inline-block;margin-top:24px;padding:12px 28px;background:#557af0;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-crear-bitacora:hover{background:#4361d4}.bitacoras-crear-wrap{text-align:center;margin-top:24px}.bitacora-form-body{max-width:720px;margin:0 auto}.bitacora-form-step1{display:flex;flex-direction:column;gap:16px}.bitacora-form-step1 .bitacora-label{font-size:13px;font-weight:600;color:#333;text-transform:uppercase}.bitacora-form-step1 .bitacora-input{width:100%;max-width:400px;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.btn-siguiente-bitacora{align-self:flex-start;padding:10px 24px;background:#557af0;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.btn-siguiente-bitacora:hover:not(:disabled){background:#4361d4}.btn-siguiente-bitacora:disabled{opacity:.6;cursor:not-allowed}.bitacora-form-grid{display:flex;flex-direction:column;gap:20px}.bitacora-form-row{display:flex;gap:24px;flex-wrap:wrap}.bitacora-form-row .bitacora-field{flex:1;min-width:200px}.bitacora-field{display:flex;flex-direction:column;gap:6px}.bitacora-label{font-size:12px;font-weight:600;color:#333;text-transform:uppercase}.bitacora-input{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.bitacora-textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;resize:vertical;min-height:80px}.bitacora-folio-row{align-items:center}.bitacora-folio-value{font-size:14px;font-weight:600;color:#264499}.bitacora-file-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bitacora-file-input{width:0;height:0;opacity:0;position:absolute}.btn-subir-croquis{display:inline-block;padding:10px 20px;background:#e8ecf3;border:1px solid #ccc;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.btn-subir-croquis:hover{background:#dde2ea}.bitacora-file-ok{font-size:12px;color:#10b981}.bitacora-clausula{margin-top:8px}.bitacora-radio-row{display:flex;gap:20px;margin-bottom:12px}.bitacora-radio-row label{display:flex;align-items:center;gap:6px;font-size:14px;color:#333;cursor:pointer}.bitacora-clausula-texto{font-size:13px;color:#555;line-height:1.6;margin:0;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.bitacora-firmas{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}.bitacora-firma-block{display:flex;flex-direction:column;gap:8px}.bitacora-firma-container{margin-top:4px}.firma-container{display:flex;flex-direction:column;gap:10px}.canvas-firma.bitacora-canvas-firma{width:100%;height:160px;border:2px solid #e1e4e8;border-radius:6px;background:#fff;cursor:crosshair;touch-action:none;display:block}.btn-limpiar-firma{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.bitacora-form-actions{margin-top:24px;text-align:center}.btn-crear-bitacora-final{padding:12px 32px;background:#264499;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s}.btn-crear-bitacora-final:hover{background:#1e3680}@media(max-width:768px){.obras-grid-bitacoras{grid-template-columns:1fr}.bitacora-item{flex-direction:column;gap:15px}.bitacora-item-separator{width:100%;height:1px;margin:0}.bitacora-item-right{justify-content:flex-start}.bitacora-firmas{grid-template-columns:1fr}.bitacora-form-row{flex-direction:column}.bitacora-item-con-acciones{grid-template-columns:1fr;gap:10px}.bitacora-item-con-acciones .bitacora-item-separator{display:none}.bitacora-item-acciones{justify-content:flex-start}}.plataformas-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.plataformas-obra-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.plataformas-obra-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#fff;flex:1;text-align:center}.btn-regresar-plataformas-obra{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.btn-regresar-plataformas-obra:hover{background:#ffffff26;border-color:#ffffff80}.plataformas-obra-body{padding:30px 40px;background:#fff;min-height:400px}.plataformas-vacias-obra{text-align:center;padding:60px 20px;color:#666}.plataformas-vacias-obra p{margin:10px 0}.plataformas-vacias-hint{font-size:12px;color:#999}.plataformas-obra-list{display:flex;flex-direction:column;gap:10px;max-width:800px;margin:0 auto}.plataforma-obra-item{margin-bottom:10px}.plataforma-obra-content{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:6px;background:#fff;border:2px solid #dc2626}.plataforma-status{width:12px;height:12px;border-radius:50%;background:#dc2626;flex-shrink:0}.plataforma-status.status-ocupada{background:#dc2626}.plataforma-codigo{flex:1;font-size:14px;font-weight:500;color:#333;text-transform:uppercase}.btn-docs-obra{display:flex;align-items:center;gap:6px;background:#3b4ca3;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-docs-obra:hover{background:#2d3d7a}.asistencias-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.asistencias-obra-header{background:#264499;color:#fff;padding:18px 40px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;position:relative}.asistencias-obra-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#fff;flex:1;text-align:center}.asistencias-obra-btn-regresar{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.asistencias-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80}.asistencias-obra-cabo{font-size:13px;opacity:.95;text-transform:uppercase}.asistencias-obra-body{padding:30px 40px;background:#fff;min-height:400px}.asistencias-obra-instruction{margin:0 0 24px;font-size:14px;color:#333}.asistencias-obra-input-foto{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.asistencias-obra-botones{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:28px}.asistencias-obra-btn-evento{background:#22c55e;color:#fff;border:none;padding:16px 20px;border-radius:8px;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s}.asistencias-obra-btn-evento:hover:not(:disabled){background:#16a34a}.asistencias-obra-btn-evento:disabled{background:#9ca3af;cursor:not-allowed}.asistencias-obra-extra{margin-bottom:24px}.asistencias-obra-extra-titulo{background:#264499;color:#fff;padding:10px 16px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px 6px 0 0}.asistencias-obra-btn-extra{border-radius:0 0 6px 6px;margin-top:0}.asistencias-obra-footer{margin-top:32px;display:flex;justify-content:flex-end}.asistencias-obra-btn-finalizar{background:#eab308;color:#111;border:none;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s}.asistencias-obra-btn-finalizar:hover:not(:disabled){background:#ca8a04}.asistencias-obra-btn-finalizar:disabled{background:#9ca3af;cursor:not-allowed}.asistencias-obra-lista{display:flex;flex-direction:column;gap:12px}.asistencias-obra-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.asistencias-obra-item-info{display:flex;flex-direction:column;gap:4px}.asistencias-obra-item-nombre{font-size:15px;font-weight:600;color:#111;text-transform:uppercase}.asistencias-obra-item-rango{font-size:13px;color:#6b7280}.asistencias-obra-btn-foto{display:flex;align-items:center;gap:8px;background:#264499;color:#fff;border:none;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s}.asistencias-obra-btn-foto:hover{background:#1e3a7a}.asistencias-obra-badge{font-size:13px;font-weight:500;color:#16a34a;text-transform:uppercase}.asistencias-obra-exito{background:#dcfce7;color:#166534;padding:12px 20px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500}.asistencias-obra-sin-participantes{color:#6b7280;font-size:14px;margin:20px 0 0}.asistencias-obra-dia-finalizado{background:#fef3c7;color:#92400e;padding:12px 20px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500}.asistencias-obra-fecha{margin:0 0 16px;font-size:14px;color:#374151}.asistencias-obra-pregunta{margin:0 0 12px;font-size:16px;font-weight:600;color:#111}.asistencias-obra-aviso{margin:0 0 24px;font-size:14px;color:#6b7280;font-style:italic}.asistencias-obra-aviso strong{color:#dc2626}.asistencias-obra-btn-finalizar-dia{background:#eab308;color:#111;border:none;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s}.asistencias-obra-btn-finalizar-dia:hover{background:#ca8a04}.insumos-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.insumos-obra-header{background:#264499;color:#fff;padding:18px 40px;position:relative;display:flex;align-items:center;justify-content:center}.insumos-obra-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#93c5fd;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80;color:#fff}.insumos-obra-titulo-pagina{margin:0;font-size:20px;font-weight:600;font-style:italic;color:#93c5fd;text-align:right;flex:1;padding-right:20px}.insumos-obra-content{padding:28px 40px 40px;background:#fff;border:1px solid #e2e8f0;border-top:none;margin:0 40px}.insumos-obra-seccion{margin-bottom:32px}.insumos-obra-seccion:last-child{margin-bottom:0}.insumos-obra-seccion-titulo{font-size:18px;font-weight:700;color:#334155;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.insumos-obra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.insumos-obra-grid-trabajadores{grid-template-columns:repeat(3,1fr)}@media(min-width:900px){.insumos-obra-grid-trabajadores{grid-template-columns:repeat(4,1fr)}}.insumos-obra-tarjeta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 14px;background:#264499;color:#fff;border:none;border-radius:8px;cursor:pointer;text-align:center;transition:background .2s,transform .15s;min-height:72px}.insumos-obra-tarjeta:hover{background:#1e3680;transform:translateY(-1px)}.insumos-obra-tarjeta-nombre{font-size:13px;font-weight:600;line-height:1.2;display:block}.insumos-obra-tarjeta-rango{font-size:11px;font-weight:400;opacity:.95;display:block}.insumos-obra-vacio{grid-column:1 / -1;color:#64748b;font-size:14px;margin:0;padding:12px 0}.insumos-obra-persona-top{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.insumos-obra-persona-nombre{margin:0 0 4px;font-size:22px;font-weight:700;color:#1e293b}.insumos-obra-persona-rango{margin:0;font-size:14px;color:#64748b}.insumos-obra-cuadros{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;margin-bottom:24px}.insumos-obra-cuadro-insumo{display:flex;flex-direction:column;align-items:center;gap:8px}.insumos-obra-cuadro-imagen{width:100%;aspect-ratio:1;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center}.insumos-obra-cuadro-imagen img{width:100%;height:100%;object-fit:cover}.insumos-obra-cuadro-placeholder{font-size:12px;color:#94a3b8}.insumos-obra-cuadro-nombre{margin:0;font-size:13px;font-weight:500;color:#334155;text-align:center}.insumos-obra-cuadro-cantidad{margin:0;font-size:11px;color:#64748b}.insumos-obra-otorgados{margin:0;font-size:14px;color:#475569}.insumos-obra-otorgados strong{color:#1e293b}.insumos-obra-sin-insumos{margin:0;font-size:15px;color:#64748b;font-style:italic}.seguridad-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.seguridad-obra-header{background:#264499;color:#fff;padding:18px 40px;position:relative;display:flex;align-items:center;justify-content:center}.seguridad-obra-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#93c5fd;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80;color:#fff}.seguridad-obra-titulo-pagina{margin:0;font-size:20px;font-weight:600;font-style:italic;color:#93c5fd;text-align:right;flex:1;padding-right:20px}.seguridad-obra-container.seguridad-obra-vista-detalle .seguridad-obra-titulo-pagina{color:#fff;font-style:normal;text-align:center;padding-right:0}.seguridad-obra-content{padding:28px 40px 40px;background:#fff;border:1px solid #e2e8f0;border-top:none;margin:0 40px}.seguridad-obra-seccion{margin-bottom:32px}.seguridad-obra-seccion:last-child{margin-bottom:0}.seguridad-obra-seccion-titulo{font-size:18px;font-weight:700;color:#334155;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.seguridad-obra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.seguridad-obra-grid-trabajadores{grid-template-columns:repeat(3,1fr)}@media(min-width:900px){.seguridad-obra-grid-trabajadores{grid-template-columns:repeat(4,1fr)}}.seguridad-obra-tarjeta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 14px;background:#264499;color:#fff;border:none;border-radius:8px;cursor:pointer;text-align:center;transition:background .2s,transform .15s;min-height:72px}.seguridad-obra-tarjeta:hover{background:#1e3680;transform:translateY(-1px)}.seguridad-obra-tarjeta-nombre{font-size:13px;font-weight:600;line-height:1.2;display:block}.seguridad-obra-tarjeta-rango{font-size:11px;font-weight:400;opacity:.95;display:block}.seguridad-obra-vacio{grid-column:1 / -1;color:#64748b;font-size:14px;margin:0;padding:12px 0}.seguridad-obra-otorgados{margin:0 0 20px;font-size:14px;color:#475569;text-align:center}.seguridad-obra-otorgados strong{color:#1e293b}.seguridad-obra-cuadros{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px}.seguridad-obra-cuadro-item{display:flex;flex-direction:column;align-items:center;gap:8px}.seguridad-obra-cuadro-imagen{width:100%;aspect-ratio:1;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#264499;display:flex;align-items:center;justify-content:center}.seguridad-obra-cuadro-imagen img{width:100%;height:100%;object-fit:cover}.seguridad-obra-cuadro-placeholder{font-size:12px;color:#fffc}.seguridad-obra-cuadro-nombre{margin:0;font-size:13px;font-weight:500;color:#334155;text-align:center}.seguridad-obra-cuadro-cantidad{margin:0;font-size:11px;color:#64748b}.seguridad-obra-sin-insumos{margin:0;font-size:15px;color:#64748b;font-style:italic}.incidentes-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.incidentes-obra-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.incidentes-obra-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.incidentes-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80}.incidentes-obra-titulo{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.incidentes-obra-titulo-italic{font-style:italic;color:#93c5fd}.incidentes-obra-content{padding:24px 40px 32px;background:#3b4e99;min-height:calc(100vh - 200px);margin:0 40px}.incidentes-obra-content-inicio{background:#fff;border:1px solid #264499;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:280px}.incidentes-obra-btn-principal{display:block;width:100%;max-width:320px;padding:16px 24px;background:#264499;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s}.incidentes-obra-btn-principal:hover{background:#1e3680}.incidentes-obra-content-form{background:#fff;border:1px solid #e2e8f0;max-width:720px;margin-left:auto;margin-right:auto}.incidentes-obra-field{margin-bottom:20px}.incidentes-obra-label{display:block;font-size:13px;font-weight:700;color:#264499;margin-bottom:6px;text-transform:uppercase}.incidentes-obra-input,.incidentes-obra-textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px}.incidentes-obra-textarea{resize:vertical;min-height:100px}.incidentes-obra-fotos{margin-bottom:24px}.incidentes-obra-fotos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px}.incidentes-obra-foto-slot{display:flex;flex-direction:column;align-items:center;gap:8px}.incidentes-obra-foto-preview{width:100%;aspect-ratio:1;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}.incidentes-obra-foto-preview img{width:100%;height:100%;object-fit:cover}.incidentes-obra-foto-preview span{font-size:11px;color:#94a3b8;text-align:center;padding:8px}.incidentes-obra-btn-subir-foto{display:inline-block;padding:8px 14px;background:#264499;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:background .2s}.incidentes-obra-btn-subir-foto:hover{background:#1e3680}.incidentes-obra-btn-subir-incidente{display:block;width:100%;max-width:280px;margin:0 auto;padding:14px 24px;background:#264499;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s}.incidentes-obra-btn-subir-incidente:hover{background:#1e3680}.incidentes-obra-content-lista{background:#fff;border:1px solid #e2e8f0}.incidentes-obra-sin-texto{text-align:center;color:#64748b;font-size:16px;margin:0;padding:40px 20px}.incidentes-obra-lista{display:flex;flex-direction:column;gap:12px}.incidentes-obra-fila{display:flex;align-items:stretch;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.incidentes-obra-fila-izq{flex:1;padding:14px 16px;background:#264499;color:#fff;display:flex;flex-direction:column;gap:4px}.incidentes-obra-fila-titulo{font-weight:700;font-size:14px}.incidentes-obra-fila-realizado{font-size:12px;opacity:.95}.incidentes-obra-fila-der{padding:14px 16px;min-width:180px;background:#3b4e99;color:#fff;display:flex;flex-direction:column;gap:4px;text-align:right}.incidentes-obra-fila-fecha-label{font-size:11px;text-transform:uppercase;opacity:.9}.incidentes-obra-fila-fecha{font-size:13px;font-weight:600}.incidentes-obra-fila-click{cursor:pointer;transition:opacity .2s,box-shadow .2s}.incidentes-obra-fila-click:hover{opacity:.95;box-shadow:0 2px 12px #00000026}.incidentes-obra-content-detalle{background:#fff;border:1px solid #e2e8f0;max-width:800px;margin-left:auto;margin-right:auto}.incidentes-obra-detalle-meta{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.incidentes-obra-detalle-cabo,.incidentes-obra-detalle-fecha{margin:0 0 8px;font-size:14px;color:#334155}.incidentes-obra-detalle-desc{margin-bottom:24px}.incidentes-obra-detalle-desc-texto{margin:8px 0 0;padding:12px;background:#f8fafc;border-radius:8px;font-size:14px;line-height:1.5;color:#334155;white-space:pre-wrap}.incidentes-obra-detalle-fotos{margin-bottom:0}.incidentes-obra-detalle-fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:10px}.incidentes-obra-detalle-foto-item{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#f8fafc;aspect-ratio:1}.incidentes-obra-detalle-foto-item img{width:100%;height:100%;object-fit:cover;display:block}.incidentes-obra-sin-incidentes{padding:60px 20px;text-align:center}.incidentes-obra-sin-incidentes p{color:#fffc;font-size:16px;margin:0}.incidentes-obra-hint{font-size:13px;margin-top:8px!important;opacity:.85}.incidentes-obra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;max-width:100%}.incidentes-obra-card{background:#fff;border-radius:8px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s}.incidentes-obra-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.incidentes-obra-card-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#111;text-transform:uppercase;text-align:center}.incidentes-obra-btn-descargar{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#6a90e3;color:#fff;border:none;padding:10px 16px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s;width:100%}.incidentes-obra-btn-descargar:hover{background:#5a80d3}.incidentes-obra-btn-descargar:active{transform:scale(.98)}.vehiculos-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.vehiculos-obra-header{background:#264499;color:#fff;padding:18px 40px;position:relative;display:flex;align-items:center;justify-content:center}.vehiculos-obra-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#93c5fd;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80;color:#fff}.vehiculos-obra-titulo-pagina{margin:0;font-size:20px;font-weight:600;font-style:italic;color:#93c5fd;text-align:right;flex:1;padding-right:20px}.vehiculos-obra-content{padding:28px 40px 40px;background:#fff;border:1px solid #e2e8f0;border-top:none;margin:0 40px}.vehiculos-obra-seccion{margin-bottom:32px}.vehiculos-obra-seccion:last-child{margin-bottom:0}.vehiculos-obra-seccion-titulo{font-size:18px;font-weight:700;color:#334155;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.vehiculos-obra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.vehiculos-obra-grid-oficiales{grid-template-columns:repeat(3,1fr)}@media(min-width:900px){.vehiculos-obra-grid-oficiales{grid-template-columns:repeat(4,1fr)}}.vehiculos-obra-tarjeta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 14px;background:#264499;color:#fff;border:none;border-radius:8px;cursor:pointer;text-align:center;transition:background .2s,transform .15s;min-height:72px}.vehiculos-obra-tarjeta:hover{background:#1e3680;transform:translateY(-1px)}.vehiculos-obra-tarjeta-nombre{font-size:13px;font-weight:600;line-height:1.2;display:block}.vehiculos-obra-tarjeta-rango{font-size:11px;font-weight:400;opacity:.95;display:block}.vehiculos-obra-vacio{grid-column:1 / -1;color:#64748b;font-size:14px;margin:0;padding:12px 0}.vehiculos-obra-persona-top{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.vehiculos-obra-persona-nombre{margin:0 0 4px;font-size:22px;font-weight:700;color:#1e293b}.vehiculos-obra-persona-rango{margin:0;font-size:14px;color:#64748b}.vehiculos-obra-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.vehiculos-obra-card{display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;transition:box-shadow .2s}.vehiculos-obra-card:hover{box-shadow:0 4px 12px #00000014}.vehiculos-obra-card-imagen{width:100%;aspect-ratio:16/10;background:#e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden}.vehiculos-obra-card-imagen img{width:100%;height:100%;object-fit:cover}.vehiculos-obra-card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#64748b}.vehiculos-obra-card-color{width:32px;height:32px;border-radius:50%;display:block}.vehiculos-obra-card-info{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.vehiculos-obra-card-nombre{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:4px}.vehiculos-obra-card-dato{font-size:13px;color:#475569}.vehiculos-obra-card-obra{font-size:12px;color:#64748b;margin-top:4px}.vehiculos-obra-sin-vehiculos{margin:0;font-size:15px;color:#64748b;font-style:italic}.vehiculos-obra-btn-generar-reporte{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:10px 14px;background:#264499;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .15s;width:100%}.vehiculos-obra-btn-generar-reporte:hover{background:#1e3680;transform:translateY(-1px)}.vehiculos-obra-reportes-enviados{margin-top:10px;font-size:13px;color:#475569}.vehiculos-obra-reportes-enviados strong{color:#264499;font-size:16px}.vehiculos-obra-btn-logs{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:10px 14px;width:100%;background:#64748b;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .15s}.vehiculos-obra-btn-logs:hover{background:#475569;transform:translateY(-1px)}.vehiculos-obra-logs-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.vehiculos-obra-logs-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:420px;width:100%;overflow:hidden}.vehiculos-obra-logs-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#264499;color:#fff}.vehiculos-obra-logs-header h3{margin:0;font-size:16px;font-weight:600;text-transform:uppercase;color:#fff}.vehiculos-obra-logs-cerrar{display:inline-flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:none;color:#fff;cursor:pointer;border-radius:6px}.vehiculos-obra-logs-cerrar:hover{background:#fff3}.vehiculos-obra-logs-body{padding:20px}.vehiculos-obra-logs-label{margin:0 0 4px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase}.vehiculos-obra-logs-valor{margin:0 0 14px;font-size:15px;color:#1e293b}.vehiculos-obra-logs-valor:last-child{margin-bottom:0}.vehiculos-obra-logs-vacio{margin:0;font-size:14px;color:#64748b;font-style:italic}.vehiculos-obra-content-reporte{width:100%;max-width:1200px;min-width:720px}.vehiculos-obra-form-section{margin-bottom:18px}.vehiculos-obra-form-section label{display:block;font-size:12px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.vehiculos-obra-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;box-sizing:border-box}.vehiculos-obra-textarea{min-height:80px;resize:vertical}.vehiculos-obra-fotos-section{margin:24px 0 18px}.vehiculos-obra-fotos-section h3{margin:0 0 8px;font-size:14px;font-weight:700;color:#334155;text-transform:uppercase}.vehiculos-obra-fotos-aviso{margin:0 0 12px;font-size:12px;color:#64748b}.vehiculos-obra-fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.vehiculos-obra-foto-item{display:flex;flex-direction:column;align-items:center;gap:6px}.vehiculos-obra-foto-preview{width:100%;aspect-ratio:1;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.vehiculos-obra-foto-preview img{width:100%;height:100%;object-fit:cover}.vehiculos-obra-foto-preview span{font-size:11px;color:#94a3b8}.vehiculos-obra-btn-subir-foto{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:#264499;color:#fff;border:none;border-radius:6px;font-size:11px;cursor:pointer}.vehiculos-obra-btn-subir-foto:hover{background:#1e3680}.vehiculos-obra-foto-label{font-size:10px;color:#64748b;text-align:center}.vehiculos-obra-docs-section{margin:24px 0 18px}.vehiculos-obra-docs-section h3{margin:0 0 14px;font-size:14px;font-weight:700;color:#334155;text-transform:uppercase}.vehiculos-obra-doc-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;background:#264499;color:#fff;border-radius:8px;margin-bottom:10px}.vehiculos-obra-doc-label{font-size:13px;font-weight:600;text-transform:uppercase;min-width:120px}.vehiculos-obra-doc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vehiculos-obra-btn-cargar{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;color:#264499;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.vehiculos-obra-btn-cargar:hover{background:#f8fafc}.vehiculos-obra-doc-hint{font-size:11px;opacity:.9}.vehiculos-obra-doc-count{font-size:11px;margin-left:auto;opacity:.95}.vehiculos-obra-otros-pagos{margin-top:16px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.vehiculos-obra-otros-pagos .vehiculos-obra-doc-label{display:block;color:#334155;background:none;margin-bottom:6px}.vehiculos-obra-otros-hint{font-size:12px;color:#64748b;margin:0 0 12px}.vehiculos-obra-otro-pago-item{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.vehiculos-obra-otro-pago-item:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.vehiculos-obra-otro-desc{margin-bottom:10px}.vehiculos-obra-otro-foto-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vehiculos-obra-otro-preview{width:140px;height:105px;min-width:140px;min-height:105px;aspect-ratio:auto}.vehiculos-obra-btn-quitar{display:inline-flex;align-items:center;justify-content:center;padding:8px;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;cursor:pointer}.vehiculos-obra-btn-quitar:hover{background:#fecaca}.vehiculos-obra-btn-agregar-otro{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;background:#264499;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.vehiculos-obra-btn-agregar-otro:hover{background:#1e3680}.vehiculos-obra-reporte-clausula{margin:16px 0;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#475569;font-style:italic}.vehiculos-obra-firma-container{display:flex;flex-direction:column;gap:8px}.vehiculos-obra-canvas-firma{border:1px solid #e2e8f0;border-radius:8px}.vehiculos-obra-btn-limpiar-firma{align-self:flex-start;padding:6px 12px;background:#94a3b8;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer}.vehiculos-obra-btn-limpiar-firma:hover{background:#64748b}.vehiculos-obra-form-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}.vehiculos-obra-btn-enviar-reporte{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:#264499;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s}.vehiculos-obra-btn-enviar-reporte:hover{background:#1e3680}.suapagos-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.suapagos-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.suapagos-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.suapagos-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.suapagos-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80}.suapagos-content{padding:24px 40px 32px;margin:0 40px;background:#fff;border:1px solid #e1e4e8;border-top:none;min-height:calc(100vh - 200px)}.suapagos-content-inicio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:400px;background:#e8eef9}.suapagos-icon-wrap{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:#ffffffe6;border-radius:12px;box-shadow:0 2px 12px #00000014}.suapagos-btn-ver-todos{background:#264499;color:#fff;border:none;padding:14px 28px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .2s}.suapagos-btn-ver-todos:hover{background:#1e3580;transform:translateY(-2px);box-shadow:0 4px 12px #2644994d}.suapagos-content-pagos{background:#f9fafb}.suapagos-actions{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;justify-content:center}.suapagos-btn-action{background:#6a95f8;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.suapagos-btn-action:hover:not(:disabled){background:#5a85e8}.suapagos-btn-action:disabled{opacity:.5;cursor:not-allowed}.suapagos-btn-refrescar{background:#059669}.suapagos-btn-refrescar:hover{background:#047857}.suapagos-btn-subir{background:#10b981}.suapagos-btn-subir:hover{background:#059669}.suapagos-paneles-subir{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}.suapagos-panel-subir{padding:20px;background:#264499;border:2px solid rgba(255,255,255,.3);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:14px}.suapagos-panel-titulo{margin:0;font-size:18px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-decoration:underline;font-style:italic}.suapagos-btn-cargar{padding:12px 28px;background:#fff;color:#264499;border:2px solid rgba(255,255,255,.5);border-radius:8px;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .2s;font-style:italic}.suapagos-btn-cargar:hover{background:#f0f4ff;transform:translateY(-1px)}.suapagos-btn-subir-confirmar{padding:10px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:background .2s}.suapagos-btn-subir-confirmar:hover{background:#059669}.suapagos-panel-mensaje-ok{margin:0;font-size:13px;color:#fff;font-weight:600;font-style:italic}.suapagos-mensaje-ok{margin:0 0 16px;padding:12px 16px;background:#d1fae5;color:#065f46;border-radius:8px;font-size:14px;font-weight:600}.suapagos-btn-logs{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:12px 22px;background:#64748b;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s}.suapagos-btn-logs:hover{background:#475569}.suapagos-header-titulo-logs{margin:0!important;font-size:20px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;color:#fff!important;flex:1!important;text-align:center!important}.suapagos-content-logs{background:#fff}.suapagos-logs-header-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;padding:14px 20px;background:#264499;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.suapagos-logs-lista{display:flex;flex-direction:column}.suapagos-logs-fila{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;padding:12px 20px;border-bottom:1px solid #e2e8f0;font-size:14px;color:#334155}.suapagos-logs-fila:hover{background:#f8fafc}.suapagos-logs-vacio{margin:24px 20px;font-size:15px;color:#64748b;font-style:italic}.suapagos-sin-pagos{padding:60px 20px;text-align:center}.suapagos-sin-pagos p{margin:0 0 8px;color:#6b7280;font-size:16px}.suapagos-sin-pagos-hint{font-size:14px!important;color:#9ca3af!important;font-style:italic}.suapagos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:560px}.suapagos-item{display:flex;align-items:center;gap:10px;background:#264499;color:#fff;border:2px solid transparent;padding:12px 16px;border-radius:8px;cursor:pointer;text-align:left;font-size:14px;font-weight:500;transition:all .2s}.suapagos-item:hover{background:#1e3580}.suapagos-item.selected{border-color:#10b981;box-shadow:0 0 0 2px #10b9814d}.suapagos-item span:first-of-type{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suapagos-download{display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;cursor:pointer;transition:background .2s}.suapagos-download:hover{background:#fff3}.suapagos-ver{display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;cursor:pointer;transition:background .2s}.suapagos-ver:hover{background:#fff3}.suapagos-content-info{background:#e8eef9;padding:24px;max-width:640px}.suapagos-info-titulo{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#264499;color:#fff;padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:16px;font-weight:600}.suapagos-btn-download-titulo{display:inline-flex;align-items:center;justify-content:center;background:#fff3;border:none;color:#fff;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s}.suapagos-btn-download-titulo:hover{background:#ffffff4d}.suapagos-info-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.suapagos-info-row label{flex:0 0 180px;background:#264499;color:#fff;padding:10px 14px;border-radius:6px;font-size:13px;font-weight:600;text-transform:uppercase}.suapagos-info-row input{flex:1;padding:10px 14px;border:2px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#111}.suapagos-info-row input:focus{outline:none;border-color:#264499}.fichas-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.fichas-obra-header{background:#264499;color:#fff;padding:18px 40px;position:relative;display:flex;align-items:center;justify-content:center}.fichas-obra-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#93c5fd;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.fichas-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80;color:#fff}.fichas-obra-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.fichas-obra-content{padding:28px 40px 40px;background:#fff;border:1px solid #e2e8f0;border-top:none;margin:0 40px}.fichas-obra-intro{color:#64748b;font-size:14px;margin:0 0 24px}.fichas-obra-vacio{text-align:center;padding:48px 24px;color:#94a3b8}.fichas-obra-vacio svg{margin-bottom:16px;opacity:.6}.fichas-obra-vacio p{margin:0;font-size:15px}.fichas-obra-lista{list-style:none;margin:0;padding:0}.fichas-obra-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;background:#f8fafc}.fichas-obra-item-info{display:flex;flex-direction:column;gap:4px}.fichas-obra-item-tipo{font-size:11px;font-weight:700;text-transform:uppercase;color:#264499;letter-spacing:.5px}.fichas-obra-item-nombre{font-size:15px;font-weight:600;color:#334155}.fichas-obra-item-fecha{font-size:12px;color:#64748b}.fichas-obra-item-actions{display:flex;gap:8px;align-items:center}.fichas-obra-btn-ver{padding:8px 14px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.fichas-obra-btn-ver:hover{background:#f1f5f9;border-color:#94a3b8}.fichas-obra-btn-descargar{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:#264499;color:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.fichas-obra-btn-descargar:hover{background:#1e3a7a}.facturas-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.facturas-obra-header{background:#264499;color:#fff;padding:18px 40px;position:relative;display:flex;align-items:center;justify-content:center}.facturas-obra-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#93c5fd;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.facturas-obra-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80;color:#fff}.facturas-obra-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.facturas-obra-content{padding:28px 40px 40px;background:#fff;border:1px solid #e2e8f0;border-top:none;margin:0 40px}.facturas-obra-titulo-seccion{margin:0 0 8px;font-size:18px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.5px}.facturas-obra-hint{color:#64748b;font-size:14px;margin:0 0 24px}.facturas-obra-opciones-carga{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.facturas-obra-btn-cargar{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.facturas-obra-btn-cargar:hover{background:#f1f5f9;border-color:#264499;color:#264499}.facturas-obra-btn-camara{border-color:#264499;color:#264499}.facturas-obra-btn-camara:hover{background:#264499;color:#fff}.facturas-obra-form-subir{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:20px;max-width:420px}.facturas-obra-archivo-info{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:14px;font-weight:600;color:#334155}.facturas-obra-archivo-info span{word-break:break-all}.facturas-obra-label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:6px;text-transform:uppercase}.facturas-obra-input-fecha{width:100%;max-width:220px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;margin-bottom:16px}.facturas-obra-btn-subir{padding:12px 24px;border:none;background:#264499;color:#fff;border-radius:8px;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer}.facturas-obra-btn-subir:hover{background:#1e3a7a}.facturas-obra-mensaje-ok{color:#059669;font-size:14px;font-weight:600;margin:0 0 20px}.facturas-obra-listado-titulo{margin:24px 0 12px;font-size:16px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.3px}.facturas-obra-vacio{color:#64748b;font-size:14px;margin:0}.facturas-obra-lista{list-style:none;margin:0;padding:0}.facturas-obra-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;background:#f8fafc}.facturas-obra-item-info{display:flex;flex-direction:column;gap:4px}.facturas-obra-item-nombre{font-size:15px;font-weight:600;color:#334155}.facturas-obra-item-fecha,.facturas-obra-item-hora{font-size:12px;color:#64748b}.facturas-obra-btn-ver{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.facturas-obra-btn-ver:hover{background:#f1f5f9;border-color:#264499;color:#264499}.detalle-obra-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.detalle-obra-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.detalle-obra-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#fff;flex:1;text-align:center}.btn-regresar-detalle{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.btn-regresar-detalle:hover{background:#ffffff26;border-color:#ffffff80}.detalle-obra-body{padding:30px 40px;background:#fff;min-height:400px}.detalle-obra-info{max-width:800px;margin:0 auto}.info-section{background:#fff;border:2px solid #e1e4e8;border-radius:8px;padding:25px;margin-bottom:20px}.info-section h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#333;text-transform:uppercase;border-bottom:2px solid #3b4ca3;padding-bottom:10px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f3f6}.info-item:last-child{border-bottom:none}.info-label{font-size:14px;font-weight:500;color:#666;text-transform:uppercase}.info-value{font-size:14px;font-weight:400;color:#333}.info-value.activa{color:#10b981;font-weight:600}.info-value.inactiva{color:#9ca3af;font-weight:600}.asignaciones-detalle{display:flex;flex-direction:column;gap:12px}.asignacion-item-detalle{display:flex;align-items:center;gap:10px;padding:12px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:6px}.asignacion-nombre{font-size:14px;font-weight:500;color:#333}.asignacion-rango{font-size:13px;color:#666}.asignacion-email{font-size:12px;color:#9ca3af;margin-left:auto}.sin-asignaciones{color:#9ca3af;font-size:14px;font-style:italic;margin:0}.acceso-restringido-obra{text-align:center;padding:60px 20px;color:#666}.acceso-restringido-obra p{margin:10px 0}.acceso-restringido-hint{font-size:12px;color:#999}.instruccion-contenedores{font-size:14px;color:#333;margin-bottom:25px;text-align:center}.contenedores-obra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;max-width:1200px;margin:0 auto}.contenedor-obra-item{display:flex;flex-direction:column;gap:0;background:#fff;padding:0;border-radius:8px;box-shadow:0 2px 8px #00000008;align-items:center;border:1px solid #eee;overflow:hidden;transition:all .2s ease}.contenedor-obra-item.contenedor-clickeable{cursor:pointer}.contenedor-obra-item.contenedor-clickeable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#3b4ca3}.contenedor-obra-header{width:100%;background:#264499;color:#fff;height:36px;border-radius:0;border:none;font-size:13px;font-weight:500;text-transform:uppercase;display:flex;align-items:center;justify-content:center;cursor:default;pointer-events:none}.contenedor-obra-icon{display:flex;align-items:center;justify-content:center;padding:20px;flex:1;min-height:80px}.btn-abrir-contenedor{width:100%;background:#fff;color:#333;height:32px;border-radius:0;border:none;border-top:1px solid #eee;font-size:10px;font-weight:400;text-transform:uppercase;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;margin-top:auto}.btn-abrir-contenedor:hover{background:#242d56;color:#fff;border-top:none}@media(max-width:768px){.contenedores-obra-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.personal-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.personal-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center;gap:20px;min-height:60px}.personal-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;flex:1;text-align:center;color:#fff}.btn-regresar-personal{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10;white-space:nowrap}.btn-regresar-personal:hover{background:#ffffff26;border-color:#ffffff80}.personal-body{padding:30px 40px;background:#fff;min-height:400px}.personal-actions{display:flex;gap:20px;justify-content:center;margin-top:40px}.btn-agregar-trabajador,.btn-ver-trabajadores{display:flex;align-items:center;gap:10px;background:#3b4ca3;color:#fff;border:none;padding:15px 30px;border-radius:6px;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-agregar-trabajador:hover,.btn-ver-trabajadores:hover{background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 12px #3b4ca333}.form-registro-trabajador{max-width:1000px;margin:0 auto}.form-field label{font-size:13px;font-weight:500;color:#333;text-transform:uppercase}.form-field input,.form-field select{padding:12px 15px;border:2px solid #e1e4e8;border-radius:6px;font-size:14px;font-family:Inter,sans-serif;transition:all .2s ease}.form-field input:focus,.form-field select:focus{outline:none;border-color:#3b4ca3}.firma-container{display:flex;flex-direction:column;gap:15px}.canvas-firma{width:100%;height:200px;border:2px solid #e1e4e8;border-radius:6px;background:#fff;cursor:crosshair;touch-action:none;display:block}.firma-actions{display:flex;gap:10px}.btn-limpiar-firma{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-limpiar-firma:hover{background:#b91c1c}.firma-preview{padding:15px;background:#fff;border:1px solid #e1e4e8;border-radius:6px}.firma-preview p{margin:0 0 10px;font-size:12px;color:#10b981;font-weight:500}.foto-container{display:flex;flex-direction:column;gap:15px}.foto-preview-final{position:relative;display:inline-block;max-width:200px}.foto-preview-final img{width:100%;max-width:200px;height:auto;border-radius:8px;border:2px solid #e1e4e8}.btn-eliminar-foto{position:absolute;top:-10px;right:-10px;background:#dc2626;color:#fff;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0003}.foto-opciones{display:flex;gap:15px}.btn-foto-option{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-foto-option:hover{background:#2d3d7a}.lista-dinamica{display:flex;flex-direction:column;gap:15px}.agregar-item{display:flex;gap:10px}.agregar-item input{flex:1;padding:10px 15px;border:2px solid #e1e4e8;border-radius:6px;font-size:14px}.agregar-item button{background:#10b981;color:#fff;border:none;padding:10px 15px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.agregar-item button:hover{background:#059669}.items-list{display:flex;flex-wrap:wrap;gap:10px}.item-tag{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e8edff;border:1px solid #3b4ca3;border-radius:4px;font-size:13px;color:#3b4ca3}.item-tag button{background:transparent;border:none;color:#dc2626;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.item-tag button:hover{color:#b91c1c}.estudio-medico-container{display:flex;flex-direction:column;gap:15px}.btn-subir-pdf{display:flex;align-items:center;gap:10px;background:#3b4ca3;color:#fff;border:none;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:fit-content}.btn-subir-pdf:hover{background:#2d3d7a}.estudio-medico-preview{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#e8edff;border:1px solid #3b4ca3;border-radius:6px;font-size:14px;color:#3b4ca3}.estudio-medico-preview button{background:transparent;border:none;color:#dc2626;cursor:pointer;margin-left:auto}.modal-recorte-foto{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-recorte-content{background:#fff;border-radius:8px;padding:30px;max-width:600px;width:90%}.modal-recorte-content h3{margin:0 0 20px;font-size:18px;font-weight:500;text-transform:uppercase}.recorte-container{margin-bottom:20px}.instrucciones-recorte{font-size:13px;color:#666;margin:-10px 0 15px;font-style:italic}.recorte-viewport{width:100%;height:400px;border:2px solid #e1e4e8;border-radius:6px;overflow:hidden;position:relative;background:#f9fafb;display:flex;align-items:center;justify-content:center}.foto-preview-recorte{max-width:none;max-height:none;-webkit-user-select:none;user-select:none;transition:transform .1s ease}.controles-recorte{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:15px;padding:10px;background:#f9fafb;border-radius:6px}.btn-zoom{background:#3b4ca3;color:#fff;border:none;width:35px;height:35px;border-radius:50%;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-zoom:hover{background:#2d3d7a}.controles-recorte span{font-size:14px;font-weight:500;color:#333;min-width:100px;text-align:center}.btn-reset{background:#6b7280;color:#fff;border:none;padding:8px 15px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-reset:hover{background:#4b5563}.recorte-actions{display:flex;gap:15px;justify-content:flex-end}.recorte-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.recorte-actions button:first-child{background:#e1e4e8;color:#333}.recorte-actions button:first-child:hover{background:#d1d5db}.recorte-actions button:last-child{background:#3b4ca3;color:#fff}.recorte-actions button:last-child:hover{background:#2d3d7a}.btn-registrar-trabajador{background:#3b4ca3;color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-registrar-trabajador:hover{background:#2d3d7a;transform:translateY(-1px);box-shadow:0 4px 12px #3b4ca333}.filtros-trabajadores{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.buscador-trabajadores{flex:1;min-width:250px;display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border:2px solid #e1e4e8;border-radius:8px;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.buscador-trabajadores:focus-within{border-color:#3b4ca3;box-shadow:0 0 0 3px #3b4ca31a}.buscador-trabajadores svg{color:#9ca3af;flex-shrink:0}.buscador-trabajadores input{flex:1;border:none;outline:none;font-size:14px;color:#333}.buscador-trabajadores input::placeholder{color:#9ca3af}.filtro-puesto{display:flex;align-items:center;gap:10px}.filtro-puesto label{font-size:14px;font-weight:500;color:#333}.filtro-puesto select{padding:14px 18px;border:2px solid #e1e4e8;border-radius:8px;font-size:14px;min-width:250px;background:#fff;color:#333;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.filtro-puesto select:focus{outline:none;border-color:#3b4ca3;box-shadow:0 0 0 3px #3b4ca31a}.filtro-puesto select:hover{border-color:#cbd5e1}.trabajadores-vacios{text-align:center;padding:60px 20px;color:#9ca3af}.trabajadores-por-categoria{display:flex;flex-direction:column;gap:30px}.categoria-trabajadores{background:#fff;border:1px solid #e1e4e8;border-radius:12px;padding:30px;box-shadow:0 1px 3px #0000000d}.categoria-trabajadores h3{margin:0 0 25px;font-size:17px;font-weight:600;color:#1f2937;text-transform:uppercase;letter-spacing:.5px;border-bottom:3px solid #3b4ca3;padding-bottom:12px;position:relative}.categoria-trabajadores h3:after{content:"";position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:#242d56}.lista-trabajadores{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.tarjeta-trabajador{background:#fff;border:1px solid #e1e4e8;border-radius:12px;padding:20px;display:flex;gap:20px;align-items:center;transition:all .3s ease;box-shadow:0 1px 3px #0000000d;position:relative;overflow:hidden}.tarjeta-trabajador:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3b4ca3;opacity:0;transition:opacity .3s ease}.tarjeta-trabajador:hover{border-color:#3b4ca3;box-shadow:0 4px 12px #3b4ca326;transform:translateY(-2px)}.tarjeta-trabajador:hover:before{opacity:1}.trabajador-foto{flex-shrink:0;width:110px;height:110px;border-radius:8px;overflow:hidden;border:2px solid #e8edff;background:#f9fafb;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.tarjeta-trabajador:hover .trabajador-foto{border-color:#3b4ca3;box-shadow:0 4px 12px #3b4ca333;transform:scale(1.02)}.trabajador-foto img{width:100%;height:100%;object-fit:cover}.trabajador-info{flex:1;min-width:0}.trabajador-info h4{margin:0 0 12px;font-size:17px;font-weight:600;color:#1f2937;text-transform:uppercase;letter-spacing:.3px;line-height:1.3}.trabajador-info p{margin:6px 0;font-size:13px;color:#6b7280;line-height:1.5}.trabajador-info strong{color:#374151;font-weight:600;margin-right:6px}.trabajador-acciones{display:flex;flex-direction:column;gap:10px;align-items:center;flex-shrink:0}.btn-accion-trabajador{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-accion-trabajador:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-accion-trabajador.btn-ver{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-accion-trabajador.btn-ver:hover{background:linear-gradient(135deg,#5568d3,#653a8f);transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #667eea80}.btn-accion-trabajador.btn-editar{background:#10b981;color:#fff}.btn-accion-trabajador.btn-editar:hover{background:#059669}.btn-accion-trabajador.btn-eliminar{background:#dc2626;color:#fff}.btn-accion-trabajador.btn-eliminar:hover{background:#b91c1c}.btn-accion-trabajador.btn-credencial{background:#f59e0b;color:#fff}.btn-accion-trabajador.btn-credencial:hover{background:#d97706}.boton-ver-credencial-container{margin-top:30px;display:flex;justify-content:center;padding-top:30px;border-top:2px solid #e1e4e8}.btn-ver-credencial-todos{display:flex;align-items:center;gap:10px;background:#3b4ca3;color:#fff;border:none;padding:15px 30px;border-radius:6px;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-ver-credencial-todos:hover:not(:disabled){background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 12px #3b4ca333}.btn-ver-credencial-todos:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.detalle-trabajador{display:flex;gap:30px;max-width:1000px;margin:0 auto}.detalle-foto-container{flex-shrink:0;display:flex;flex-direction:column;gap:15px;align-items:flex-start;max-width:200px}.detalle-foto{width:200px;height:250px;border-radius:8px;overflow:hidden;border:3px solid #3b4ca3;box-shadow:0 4px 12px #00000026;background:#fff;display:flex;align-items:center;justify-content:center}.detalle-foto img{width:100%;height:100%;object-fit:cover;object-position:center}.detalle-foto-acciones{width:100%;display:flex;justify-content:center}.btn-editar-foto-detalle{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b4ca333}.btn-editar-foto-detalle:hover{background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 8px #3b4ca34d}.opciones-foto-detalle{display:flex;flex-direction:column;gap:10px;width:100%;padding:15px;background:#f9fafb;border:2px solid #e1e4e8;border-radius:8px}.btn-opcion-foto{display:flex;align-items:center;gap:8px;background:#fff;color:#333;border:2px solid #e1e4e8;padding:10px 15px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.btn-opcion-foto:hover{background:#f3f4f6;border-color:#3b4ca3;color:#3b4ca3;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-opcion-foto.btn-cancelar-foto{background:#fee2e2;border-color:#dc2626;color:#dc2626}.btn-opcion-foto.btn-cancelar-foto:hover{background:#fecaca;border-color:#b91c1c;color:#b91c1c}.detalle-info{flex:1}.detalle-info h2{margin:0 0 25px;font-size:24px;font-weight:600;color:#333;text-transform:uppercase;border-bottom:2px solid #3b4ca3;padding-bottom:15px}.detalle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.detalle-item{padding:15px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:6px}.detalle-item strong{display:block;margin-bottom:5px;font-size:12px;text-transform:uppercase;color:#666}.detalle-item span,.detalle-item p{font-size:14px;color:#333;margin:0}.firma-detalle{max-width:300px;margin-top:10px;border:1px solid #e1e4e8;border-radius:4px}.perfil-trabajador{display:grid;grid-template-columns:300px 1fr 300px;gap:30px;max-width:1400px;margin:0 auto;padding:20px}.perfil-foto-section,.perfil-foto-container{display:flex;flex-direction:column;gap:0}.perfil-foto{width:200px;height:250px;border-radius:8px;overflow:hidden;border:3px solid #3b4ca3;box-shadow:0 4px 12px #00000026;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:0}.perfil-foto img{width:100%;height:100%;object-fit:cover;object-position:center}.btn-editar-foto-perfil{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b4ca333;width:100%;justify-content:center;margin-top:0;margin-bottom:0}.btn-editar-foto-perfil:hover{background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 8px #3b4ca34d}.opciones-foto-perfil{display:flex;flex-direction:column;gap:10px;width:100%;padding:15px;background:#f9fafb;border:2px solid #e1e4e8;border-radius:8px}.perfil-info-section{flex:1}.perfil-info-section h2{margin:0 0 25px;font-size:28px;font-weight:600;color:#333;text-transform:uppercase;border-bottom:3px solid #3b4ca3;padding-bottom:15px}.perfil-info-grid{display:flex;flex-direction:column;gap:15px}.perfil-info-item{padding:15px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:6px;display:flex;flex-direction:column;gap:5px}.perfil-info-item strong{font-size:12px;text-transform:uppercase;color:#666;font-weight:600}.perfil-info-item span{font-size:14px;color:#333}.perfil-info-item.firma-item{padding:20px}.firma-preview-perfil{margin-top:10px;padding:15px;background:#fff;border:2px solid #e1e4e8;border-radius:6px;display:flex;justify-content:center;align-items:center;min-height:100px}.firma-preview-perfil img{max-width:100%;max-height:200px;object-fit:contain}.perfil-qr-section{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;background:#f9fafb;border:2px solid #e1e4e8;border-radius:8px;height:fit-content}.perfil-qr-section h3{margin:0;font-size:18px;font-weight:600;color:#333;text-transform:uppercase}.qr-display-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.btn-generar-qr{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b4ca333}.btn-generar-qr:hover{background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 8px #3b4ca34d}.credencial-actions-header{display:flex;gap:10px;position:absolute;right:40px;z-index:10}.btn-imprimir-credencial{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #10b98133}.btn-imprimir-credencial:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 8px #10b9814d}.credencial-container-completo{display:flex;gap:20px;justify-content:center;align-items:flex-start;padding:40px;background:#fff;border-radius:0;margin-bottom:30px}.credencial-anverso,.credencial-reverso{width:207px;height:324px;background:#1a237e;color:#fff;padding:10px 12px;box-sizing:border-box;display:flex;flex-direction:column;position:relative;border-radius:0;box-shadow:0 4px 12px #0000004d}.credencial-anverso{padding-top:12px}.credencial-logo{display:flex;justify-content:center;align-items:center;margin-bottom:12px}.credencial-logo img{width:90px;height:auto;filter:brightness(0) invert(1)}.credencial-foto-container{width:70%;height:150px;background:#fff;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border:none;border-radius:0;overflow:hidden;position:relative}.credencial-foto-container img{width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center}.foto-placeholder{color:#1a237e;font-size:7px;text-align:center;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.credencial-puesto{font-size:8px;font-weight:700;text-align:center;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}.credencial-nombre{font-size:9px;font-weight:700;text-align:center;margin-bottom:12px;text-transform:uppercase;line-height:1.1;letter-spacing:.3px}.credencial-info-row{display:flex;align-items:center;margin-bottom:4px;font-size:6px;gap:4px}.credencial-info-label{font-weight:700;flex-shrink:0;min-width:35px;font-size:6px;white-space:nowrap}.credencial-info-value{background:#fff;color:#1a237e;padding:2px 4px;flex:1;min-height:10px;border-radius:0;font-weight:400;font-size:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center}.credencial-firma-container{width:100%;height:35px;background:#fff;margin-top:8px;margin-bottom:3px;display:flex;align-items:center;justify-content:center;border:none;border-radius:0;overflow:hidden}.credencial-firma{max-width:100%;max-height:100%;object-fit:contain}.credencial-firma-placeholder{width:100%;height:100%;background:#fff}.credencial-firma-label{font-size:6px;text-align:center;color:#fff;margin-top:0;margin-bottom:0;text-transform:uppercase;letter-spacing:.3px}.credencial-reverso .credencial-info-row{margin-bottom:2px;flex-direction:row;align-items:center}.credencial-reverso .credencial-qr-container+.credencial-info-row{margin-top:8px}.credencial-reverso .credencial-info-value{min-height:10px}.credencial-reverso .credencial-info-row.enfermedades-row,.credencial-reverso .credencial-info-row.medicinas-row{flex-direction:column;align-items:flex-start;gap:3px;margin-top:4px;margin-bottom:2px}.credencial-reverso .credencial-info-row.enfermedades-row .credencial-info-label,.credencial-reverso .credencial-info-row.medicinas-row .credencial-info-label{margin-bottom:2px}.credencial-reverso .credencial-info-row.enfermedades-row .credencial-info-value,.credencial-reverso .credencial-info-row.medicinas-row .credencial-info-value{width:100%;min-height:35px;padding:6px 8px;font-size:7px;white-space:normal;word-wrap:break-word;line-height:1.3}.credencial-firma-container{width:100%;height:40px;background:#fff;margin-top:10px;border:none;border-radius:0;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative}.credencial-firma-container img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.firma-placeholder{width:100%;height:100%;background:#fff}.credencial-firma-label{font-size:5px;text-align:center;margin-top:2px;font-weight:400;letter-spacing:.2px}.credencial-reverso{padding-top:12px}.credencial-qr-container{width:60%;height:110px;background:#fff;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border:none;border-radius:0;padding:0;box-sizing:border-box}.credencial-qr-container svg{width:110px;height:110px;padding:0;margin:0;display:block}.qr-placeholder{color:#1a237e;font-size:7px;text-align:center;font-weight:700;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.qr-section-credencial{display:flex;flex-direction:column;align-items:center;gap:20px;padding:30px;background:#fff;border:2px solid #e1e4e8;border-radius:8px;max-width:600px;margin:30px auto 0;text-align:center}.qr-section-credencial h3{margin:0;font-size:20px;font-weight:600;color:#333;text-transform:uppercase;text-align:center;width:100%}.qr-display-credencial{padding:20px;background:#f9fafb;border-radius:8px;border:2px solid #e1e4e8}.btn-generar-qr-credencial{display:flex;align-items:center;gap:8px;background:#3b4ca3;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b4ca333}.btn-generar-qr-credencial:hover{background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 8px #3b4ca34d}@media print{@page{size:A4;margin:1cm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact}body{margin:0;padding:0;display:flex;justify-content:center;align-items:center}.no-print{display:none!important}.credencial-container-completo{background:#fff;padding:0;gap:20px;margin:0 auto;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;width:100%;page-break-inside:avoid}.credencial-anverso,.credencial-reverso{width:5.5cm!important;height:8.6cm!important;max-width:5.5cm!important;max-height:8.6cm!important;min-width:5.5cm!important;min-height:8.6cm!important;margin:0;padding:10px 12px;box-sizing:border-box;page-break-inside:avoid;break-inside:avoid;flex-shrink:0}.credencial-firma-container,.credencial-firma-label,.qr-section-credencial,.personal-header,.personal-body,.credencial-actions-header{display:none!important}}.credencial-container{display:flex;justify-content:center;align-items:center;min-height:500px;padding:40px}.credencial-preview{background:#fff;border:2px solid #e1e4e8;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:207px;height:324px;position:relative}.credencial-content{text-align:center;color:#666;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.credencial-content h3{margin:0 0 10px;font-size:16px;color:#333}.credencial-content p{margin:5px 0;font-size:14px}.administradores-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px);font-family:Inter,sans-serif}.administradores-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center;gap:20px;min-height:60px}.administradores-header h1{margin:0;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;flex:1;text-align:center;color:#fff}.btn-regresar-administradores{position:absolute;left:40px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s ease;z-index:10}.btn-regresar-administradores:hover{background:#ffffff26;border-color:#ffffff80}.administradores-body{padding:30px 40px;background:#fff;min-height:400px}.administradores-actions{display:flex;gap:20px;margin-bottom:40px;justify-content:center;flex-wrap:wrap}.btn-agregar-admin,.btn-agregar-cabo-oficial,.btn-seleccionar-cabo-oficial{display:flex;align-items:center;gap:10px;background:#3b4ca3;color:#fff;border:none;padding:15px 30px;border-radius:6px;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-agregar-admin:hover,.btn-agregar-cabo-oficial:hover,.btn-seleccionar-cabo-oficial:hover{background:#2d3d7a;transform:translateY(-2px);box-shadow:0 4px 8px #3b4ca34d}.btn-seleccionar-cabo-oficial{background:#10b981}.btn-seleccionar-cabo-oficial:hover{background:#059669}.form-agregar-usuario{max-width:800px;margin:0 auto}.form-section{margin-bottom:40px;padding:25px;background:#f9fafb;border-radius:8px;border:1px solid #e1e4e8}.form-section h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#333;text-transform:uppercase;border-bottom:2px solid #3b4ca3;padding-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:500;color:#333}.form-field input,.form-field select{width:100%;padding:12px 15px;border:2px solid #e1e4e8;border-radius:6px;font-size:14px;font-family:Inter,sans-serif;transition:all .2s ease}.form-field input:focus,.form-field select:focus{outline:none;border-color:#3b4ca3;box-shadow:0 0 0 3px #3b4ca31a}.avatar-selector{margin-top:20px}.avatar-tipo-selector{display:flex;gap:10px;margin-bottom:20px}.btn-tipo-avatar{flex:1;padding:12px 20px;border:2px solid #e1e4e8;border-radius:6px;background:#fff;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-tipo-avatar.active{background:#3b4ca3;color:#fff;border-color:#3b4ca3}.btn-tipo-avatar:hover{border-color:#3b4ca3}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:15px;margin-top:20px}.avatar-option{width:100px;height:100px;border-radius:8px;overflow:hidden;border:3px solid #e1e4e8;cursor:pointer;transition:all .2s ease;background:#f9fafb;display:flex;align-items:center;justify-content:center;position:relative}.avatar-option:hover{border-color:#3b4ca3;transform:scale(1.05)}.avatar-option.selected{border-color:#3b4ca3;border-width:4px;box-shadow:0 0 0 3px #3b4ca333}.avatar-option img{width:100%;height:100%;object-fit:contain;background:transparent}.btn-cargar-avatar{position:absolute;bottom:4px;right:4px;width:28px;height:28px;border-radius:50%;background:#3b4ca3;color:#fff;border:2px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;box-shadow:0 2px 4px #0003}.btn-cargar-avatar:hover{background:#2d3d7a;transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.avatar-option:hover .btn-cargar-avatar{opacity:1}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:30px;border-top:2px solid #e1e4e8}.btn-cancelar-form{background:#e1e4e8;color:#333;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-cancelar-form:hover{background:#d1d5db}.btn-registrar-form{background:#10b981;color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-registrar-form:hover{background:#059669}.usuarios-list{margin-top:40px}.usuarios-list h3{margin:0 0 25px;font-size:17px;font-weight:600;color:#1f2937;text-transform:uppercase;letter-spacing:.5px}.usuarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.usuario-card{background:#fff;border:1px solid #e1e4e8;border-radius:8px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:start;transition:all .3s ease;box-shadow:0 1px 3px #0000000d;position:relative}.usuario-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.usuario-avatar{width:80px;height:80px;border-radius:8px;overflow:hidden;border:2px solid #e1e4e8;flex-shrink:0;grid-row:1 / 3}.usuario-avatar img{width:100%;height:100%;object-fit:cover}.usuario-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-right:10px}.usuario-info h4{margin:0;font-size:15px;font-weight:600;color:#1f2937;word-break:break-word}.usuario-rango{margin:0;font-size:13px;color:#3b4ca3;font-weight:500}.usuario-fecha{margin:0;font-size:12px;color:#6b7280}.usuario-acciones{display:flex;flex-direction:column;gap:10px;flex-shrink:0;align-items:flex-end;grid-column:3;grid-row:1}.btn-eliminar-usuario{background:#dc2626;color:#fff;border:none;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;box-shadow:0 2px 4px #dc262633}.btn-eliminar-usuario:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 3px 6px #dc26264d}.btn-editar-perfil{background:#3b4ca3;color:#fff;border:none;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;box-shadow:0 2px 4px #3b4ca333}.btn-editar-perfil:hover{background:#2d3d7a;transform:translateY(-1px);box-shadow:0 3px 6px #3b4ca34d}.usuario-actual-badge{background:#10b981;color:#fff;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;white-space:nowrap;box-shadow:0 2px 4px #10b98133;display:flex;align-items:center;gap:6px}.usuario-actual-badge svg{color:#fbbf24;fill:#fbbf24;filter:drop-shadow(0 1px 2px rgba(251,191,36,.4))}.no-usuarios{text-align:center;color:#9ca3af;padding:40px;font-size:14px}.trabajadores-seleccion-container{margin-top:20px}.trabajadores-seleccion-container h3{margin:0 0 25px;font-size:17px;font-weight:600;color:#1f2937;text-transform:uppercase;letter-spacing:.5px}.trabajadores-grid-seleccion{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.trabajador-card-seleccion{background:#fff;border:1px solid #e1e4e8;border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:15px;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.trabajador-card-seleccion:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.trabajador-foto-seleccion{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid #e1e4e8}.trabajador-info-seleccion{text-align:center;width:100%}.trabajador-info-seleccion h4{margin:0 0 8px;font-size:15px;font-weight:600;color:#1f2937}.trabajador-rango-seleccion{margin:0 0 8px;font-size:13px;color:#3b4ca3;font-weight:500}.badge-ya-tiene-acceso{display:inline-block;background:#10b981;color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.btn-seleccionar-trabajador{width:100%;background:#3b4ca3;color:#fff;border:none;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-seleccionar-trabajador:hover:not(:disabled){background:#2d3d7a;transform:translateY(-1px);box-shadow:0 2px 4px #3b4ca34d}.btn-seleccionar-trabajador:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.sin-trabajadores-mensaje{text-align:center;color:#9ca3af;padding:40px;font-size:14px;background:#f9fafb;border:1px dashed #e1e4e8;border-radius:8px}.insumos-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.insumos-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.insumos-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.insumos-header-alt{background:#264499;color:#fff}.insumos-header-alt h1{color:#fff}.insumos-header-form{background:#264499;border-radius:0 0 12px 12px;color:#fff}.insumos-header-form h1{color:#fff}.insumos-header-list{background:#264499;border-radius:12px 12px 0 0;color:#fff}.insumos-header-list h1{color:#fff}.insumos-content{padding:24px 40px 32px;background:#fff;border:1px solid #e1e4e8;border-top:none;margin:0 40px}.insumos-content-centered{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.insumos-btn-regresar-header{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-btn-regresar-header:hover{background:#ffffff26;border-color:#ffffff80}.insumos-btn-administrar{background:#3b4ca3;color:#fff;border:none;padding:14px 28px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-administrar:hover{background:#2d3d82}.insumos-action-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.insumos-btn-agregar-categoria{display:inline-flex;align-items:center;gap:8px;background:#a7c7f5;color:#fff;border:none;padding:10px 18px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-btn-agregar-categoria:hover{background:#8eb5f0}.insumos-categorias-list{display:flex;flex-direction:column;gap:12px}.insumos-categoria-block{background:#e8eaf0;border:1px solid #d1d5db;color:#111;font-size:14px;font-weight:500;text-transform:uppercase;padding:14px 20px;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s}.insumos-categoria-block:hover{background:#dde0e8}.insumos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px;max-width:100%}.insumos-grid-cell{background:#fff;padding:12px;font-size:14px;color:#374151;min-height:56px;display:flex;align-items:center;gap:12px;border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 1px 3px #0000001a;min-width:200px}.insumos-grid-cell-image{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid #e1e4e8;flex-shrink:0}.insumos-grid-cell-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.insumos-grid-cell-text{text-align:left;word-wrap:break-word;line-height:1.4;font-weight:500}.insumos-grid-cell-id{font-size:11px;color:#000;font-weight:600;font-family:Courier New,monospace;text-align:left}.insumos-busqueda-container{margin-bottom:20px;padding:16px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:8px}.insumos-busqueda-input-group{display:flex;gap:10px;align-items:center}.insumos-busqueda-input{flex:1;padding:10px 14px;border:2px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s}.insumos-busqueda-input:focus{outline:none;border-color:#3b4ca3}.insumos-btn-buscar{background:#3b4ca3;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-btn-buscar:hover{background:#2d3d82}.insumos-btn-limpiar-busqueda{background:#6b7280;color:#fff;border:none;padding:10px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-btn-limpiar-busqueda:hover{background:#4b5563}.insumos-sin-insumos-container{padding:40px 20px;text-align:center;margin-bottom:24px}.insumos-sin-insumos{color:#9ca3af;font-size:15px;font-style:italic;margin:0}.insumos-seleccion-editar{margin-bottom:24px}.insumos-texto-seleccion{font-size:15px;color:#374151;margin-bottom:16px;font-weight:500}.insumos-grid-editar{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.insumos-grid-cell-editable{background:#fff;padding:12px;font-size:14px;color:#374151;min-height:56px;display:flex;align-items:center;gap:12px;border:2px solid #e1e4e8;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.insumos-grid-cell-editable img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid #e1e4e8;flex-shrink:0}.insumos-grid-cell-editable .insumos-grid-cell-content{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0}.insumos-grid-cell-editable span:first-of-type{word-wrap:break-word;line-height:1.4;font-weight:500}.insumos-grid-cell-editable .insumos-grid-cell-id{font-size:11px;color:#000;font-weight:600;font-family:Courier New,monospace}.insumos-grid-cell-editable.selected .insumos-grid-cell-id{color:#000}.insumos-grid-cell-editable:hover{border-color:#3b4ca3;background:#f0f4ff}.insumos-grid-cell-editable.selected{border-color:#3b4ca3;background:#3b4ca3;color:#fff;font-weight:600}.insumos-btn-cancelar-editar{background:#ef4444;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-cancelar-editar:hover{background:#dc2626}.insumos-lista-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.insumos-lista-footer .insumos-btn-agregar-insumos{flex:1;justify-content:center;min-width:200px;max-width:280px;margin:0 auto}.insumos-btn-editar{display:inline-flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-editar:hover{background:#059669}.insumos-btn-guardar{display:inline-flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-guardar:hover{background:#059669}.insumos-btn-agregar-insumos{display:inline-flex;align-items:center;gap:10px;background:#3b4ca3;color:#fff;border:none;padding:12px 24px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-agregar-insumos:hover{background:#2d3d82}.insumos-btn-asignar{background:#6a89f8;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-asignar:hover{background:#5a79e8}.insumos-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;background:#e8eaf5;padding:24px 40px 32px}.insumos-form-left{display:flex;flex-direction:column;gap:16px}.insumos-form-left label{font-size:14px;color:#374151;font-weight:500}.insumos-input-line{border:none;border-bottom:2px solid #d1d5db;background:transparent;padding:8px 0;font-size:15px;color:#111}.insumos-color-selector{display:flex;align-items:center;gap:12px;padding:8px 0}.insumos-color-picker{width:60px;height:40px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;background:transparent;padding:0;flex-shrink:0}.insumos-color-picker::-webkit-color-swatch-wrapper{padding:0}.insumos-color-picker::-webkit-color-swatch{border:none;border-radius:4px}.insumos-color-text{flex:1;min-width:0}.insumos-color-code{font-size:14px;font-weight:600;color:#3b4ca3;font-family:Courier New,monospace;background:#f3f4f6;padding:6px 10px;border-radius:4px;min-width:80px;text-align:center;flex-shrink:0}.insumos-id-display{padding:8px 0;margin-bottom:8px}.insumos-id-value{font-size:15px;font-weight:700;color:#000;font-family:Courier New,monospace;background:#f3f4f6;padding:8px 12px;border-radius:6px;display:inline-block;border:2px solid #d1d5db}.insumos-form-right{display:flex;flex-direction:column;align-items:center;gap:12px}.insumos-foto-preview{width:160px;height:160px;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.insumos-foto-preview img{width:100%;height:100%;object-fit:cover}.insumos-foto-preview span{color:#9ca3af;font-size:13px}.insumos-btn-cargar-foto{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#111;border:1px solid #d1d5db;padding:10px 18px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-btn-cargar-foto:hover{background:#f9fafb}.insumos-form-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:#fff;border:1px solid #e1e4e8;border-top:none;margin:0 40px;flex-wrap:wrap;gap:12px}.insumos-btn-submit{background:#a7c7f5;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-submit:hover{background:#8eb5f0}.insumos-btn-config{background:#242d56;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-config:hover{background:#1a2250}.insumos-modal-card{max-width:560px;margin-left:auto;margin-right:auto;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.insumos-modal-card .insumos-content{margin:0;border:none;border-left:1px solid #e1e4e8;border-right:1px solid #e1e4e8}.insumos-list-body{background:#a5aacf;padding:20px 24px;max-height:320px;overflow-y:auto}.insumos-list-empty{margin:0;color:#6b7280;font-size:14px}.insumos-dotted-list{list-style:none;margin:0;padding:0}.insumos-dotted-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#374151;font-size:14px}.insumos-list-item-image{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,255,255,.3);flex-shrink:0;background:#fff}.insumos-list-item-info{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.insumos-dot-name{font-weight:500}.insumos-dot-id{font-size:11px;color:#000;font-weight:600;font-family:Courier New,monospace}.insumos-dot-dots{flex:1;min-width:16px;border-bottom:1px dotted #9ca3af;align-self:flex-end;margin-bottom:4px}.insumos-dot-qty{flex-shrink:0}.insumos-list-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border:1px solid #e1e4e8;border-top:none;flex-wrap:wrap;gap:12px}.insumos-btn-asignar-trabajador{background:#6089ff;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-asignar-trabajador:hover{background:#5078eb}.insumos-asignar-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;max-height:200px;overflow-y:auto}.insumos-asignar-item{display:flex;align-items:center;gap:8px;background:#e8eaf5;border:1px solid #d1d5db;padding:10px 16px;border-radius:6px;cursor:pointer;text-align:left;font-size:14px;color:#374151;transition:all .2s}.insumos-asignar-item:hover,.insumos-asignar-item.selected{background:#a7c7f5;color:#fff;border-color:#8eb5f0}.insumos-workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}.insumos-worker-btn{background:#a7c7f5;color:#fff;border:none;padding:12px 16px;font-size:13px;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.insumos-worker-btn:hover,.insumos-worker-btn.selected{background:#3b4ca3}.insumos-btn-confirm-asignar{width:100%;background:#3b4ca3;color:#fff;border:none;padding:14px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.insumos-btn-confirm-asignar:hover:not(:disabled){background:#2d3d82}.insumos-btn-confirm-asignar:disabled{opacity:.5;cursor:not-allowed}.insumos-seleccionado-display{display:flex;align-items:center;gap:8px;background:#e8eaf5;border:1px solid #d1d5db;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.insumos-seleccionado-nombre{font-weight:600;color:#374151}.insumos-seleccionado-cantidad{color:#059669;font-weight:600}.insumos-seleccionado-cantidad.sin-stock{color:#dc2626}.insumos-cantidad-input-container{margin-bottom:24px;padding:16px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:8px}.insumos-cantidad-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.insumos-cantidad-input{width:100%;max-width:200px;padding:10px 12px;border:2px solid #d1d5db;border-radius:6px;font-size:16px;margin-bottom:8px}.insumos-cantidad-input:focus{outline:none;border-color:#3b4ca3}.insumos-cantidad-max{display:block;font-size:12px;color:#6b7280}.insumos-worker-card{background:#a7c7f5;color:#fff;border:2px solid transparent;padding:16px;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.insumos-worker-card:hover{background:#8eb5f0;border-color:#3b4ca3}.insumos-worker-card.selected{background:#3b4ca3;border-color:#242d56;box-shadow:0 4px 12px #3b4ca34d}.insumos-worker-foto{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid white;background:#fff;display:flex;align-items:center;justify-content:center}.insumos-worker-foto img{width:100%;height:100%;object-fit:cover}.insumos-worker-foto-placeholder{width:100%;height:100%;background:#6b7280;color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.insumos-worker-info{display:flex;flex-direction:column;gap:4px}.insumos-worker-nombre{font-size:14px;font-weight:600}.insumos-worker-puesto{font-size:12px;opacity:.9}.insumos-worker-card.tiene-insumos{border:2px solid #10b981;background:#d1fae5}.insumos-worker-card.tiene-insumos .insumos-worker-nombre,.insumos-worker-card.tiene-insumos .insumos-worker-puesto{color:#065f46}.insumos-worker-asignaciones{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3);width:100%}.insumos-worker-card.tiene-insumos .insumos-worker-asignaciones{border-top-color:#0000001a}.insumos-worker-asignaciones-header{margin-bottom:8px}.insumos-worker-badge{display:inline-block;background:#10b981;color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.insumos-worker-card.tiene-insumos .insumos-worker-badge{background:#059669}.insumos-worker-insumos-list{display:flex;flex-direction:column;gap:4px;font-size:11px}.insumos-worker-insumo-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#ffffff80;border-radius:4px;color:#374151}.insumos-worker-card.tiene-insumos .insumos-worker-insumo-item{background:#10b9811a;color:#065f46}.insumos-worker-insumo-nombre{font-weight:500;flex:1;text-align:left}.insumos-worker-insumo-cantidad{font-weight:600;color:#059669}.insumos-worker-card.tiene-insumos .insumos-worker-insumo-cantidad{color:#047857}.insumos-worker-sin-asignaciones{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3);width:100%}.insumos-worker-sin-badge{display:inline-block;background:#ffffff4d;color:#fffc;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;font-style:italic}.insumos-asignar-item.sin-stock{opacity:.5;cursor:not-allowed;background:#f3f4f6;color:#9ca3af}.insumos-dot-qty.sin-stock{color:#dc2626;font-weight:600}.insumos-asignaciones-section{padding:20px;background:#f9fafb;border-top:1px solid #e1e4e8}.insumos-asignaciones-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 16px}.insumos-asignaciones-list{display:flex;flex-direction:column;gap:12px}.insumos-asignacion-item{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:12px 16px;border:1px solid #e1e4e8;border-radius:8px}.insumos-asignacion-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151}.insumos-asignacion-insumo{font-weight:600}.insumos-asignacion-separator{color:#9ca3af}.insumos-asignacion-trabajador{color:#3b4ca3;font-weight:500}.insumos-asignacion-cantidad{color:#6b7280;font-size:12px}.insumos-btn-regresar-insumo{background:#10b981;color:#fff;border:none;padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.insumos-btn-regresar-insumo:hover{background:#059669}.insumos-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.insumos-modal{background:#fff;padding:24px;border-radius:12px;min-width:320px;box-shadow:0 8px 32px #00000026}.insumos-modal h3{margin:0 0 16px;font-size:16px;color:#111}.insumos-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-bottom:16px;box-sizing:border-box}.insumos-modal-actions{display:flex;gap:12px;justify-content:flex-end}.insumos-modal-actions button{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:1px solid #d1d5db;background:#f9fafb}.insumos-modal-actions button:last-child{background:#00bdff;color:#fff;border-color:#00bdff}.insumos-modal-actions button:last-child:hover{background:#00a8e6}.seguridad-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.seguridad-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.seguridad-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.seguridad-header-alt{background:#264499;color:#fff}.seguridad-header-alt h1{color:#fff}.seguridad-header-form{background:#264499;border-radius:0 0 12px 12px;color:#fff}.seguridad-header-form h1{color:#fff}.seguridad-header-list{background:#264499;border-radius:12px 12px 0 0;color:#fff}.seguridad-header-list h1{color:#fff}.seguridad-content{padding:24px 40px 32px;background:#fff;border:1px solid #e1e4e8;border-top:none;margin:0 40px}.seguridad-content-centered{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.seguridad-btn-regresar-header{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-regresar-header:hover{background:#ffffff26;border-color:#ffffff80}.seguridad-btn-administrar{background:#3b4ca3;color:#fff;border:none;padding:14px 28px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-administrar:hover{background:#2d3d82}.seguridad-action-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.seguridad-btn-agregar-categoria{display:inline-flex;align-items:center;gap:8px;background:#a7c7f5;color:#fff;border:none;padding:10px 18px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-agregar-categoria:hover{background:#8eb5f0}.seguridad-btn-subir-excel{display:inline-flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:10px 18px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-subir-excel:hover{background:#059669}.seguridad-categorias-list{display:flex;flex-direction:column;gap:12px}.seguridad-categoria-block{background:#e8eaf0;border:1px solid #d1d5db;color:#111;font-size:14px;font-weight:500;text-transform:uppercase;padding:14px 20px;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s}.seguridad-categoria-block:hover{background:#dde0e8}.seguridad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px;max-width:100%}.seguridad-grid-cell{background:#fff;padding:12px;font-size:14px;color:#374151;min-height:56px;display:flex;align-items:center;gap:12px;border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 1px 3px #0000001a;min-width:200px}.seguridad-grid-cell-image{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid #e1e4e8;flex-shrink:0}.seguridad-grid-cell-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.seguridad-grid-cell-text{text-align:left;word-wrap:break-word;line-height:1.4;font-weight:500}.seguridad-grid-cell-id{font-size:11px;color:#000;font-weight:600;font-family:Courier New,monospace;text-align:left}.seguridad-busqueda-container{margin-bottom:20px;padding:16px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:8px}.seguridad-busqueda-input-group{display:flex;gap:10px;align-items:center}.seguridad-busqueda-input{flex:1;padding:10px 14px;border:2px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s}.seguridad-busqueda-input:focus{outline:none;border-color:#3b4ca3}.seguridad-btn-buscar{background:#3b4ca3;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-buscar:hover{background:#2d3d82}.seguridad-btn-limpiar-busqueda{background:#6b7280;color:#fff;border:none;padding:10px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-limpiar-busqueda:hover{background:#4b5563}.seguridad-sin-seguridad-container{padding:40px 20px;text-align:center;margin-bottom:24px}.seguridad-sin-materiales{color:#9ca3af;font-size:15px;font-style:italic;margin:0}.seguridad-seleccion-editar{margin-bottom:24px}.seguridad-texto-seleccion{font-size:15px;color:#374151;margin-bottom:16px;font-weight:500}.seguridad-grid-editar{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.seguridad-grid-cell-editable{background:#fff;padding:12px;font-size:14px;color:#374151;min-height:56px;display:flex;align-items:center;gap:12px;border:2px solid #e1e4e8;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.seguridad-grid-cell-editable img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid #e1e4e8;flex-shrink:0}.seguridad-grid-cell-editable .seguridad-grid-cell-content{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0}.seguridad-grid-cell-editable span:first-of-type{word-wrap:break-word;line-height:1.4;font-weight:500}.seguridad-grid-cell-editable .seguridad-grid-cell-id{font-size:11px;color:#000;font-weight:600;font-family:Courier New,monospace}.seguridad-grid-cell-editable.selected .seguridad-grid-cell-id{color:#000}.seguridad-grid-cell-editable:hover{border-color:#3b4ca3;background:#f0f4ff}.seguridad-grid-cell-editable.selected{border-color:#3b4ca3;background:#3b4ca3;color:#fff;font-weight:600}.seguridad-btn-cancelar-editar{background:#ef4444;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-cancelar-editar:hover{background:#dc2626}.seguridad-lista-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.seguridad-lista-footer .seguridad-btn-agregar-materiales{flex:1;justify-content:center;min-width:200px;max-width:280px;margin:0 auto}.seguridad-btn-editar{display:inline-flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-editar:hover{background:#059669}.seguridad-btn-guardar{display:inline-flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-guardar:hover{background:#059669}.seguridad-btn-agregar-materiales{display:inline-flex;align-items:center;gap:10px;background:#3b4ca3;color:#fff;border:none;padding:12px 24px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-agregar-materiales:hover{background:#2d3d82}.seguridad-btn-asignar{background:#6a89f8;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-asignar:hover{background:#5a79e8}.seguridad-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;background:#e8eaf5;padding:24px 40px 32px}.seguridad-form-left{display:flex;flex-direction:column;gap:16px}.seguridad-form-left label{font-size:14px;color:#374151;font-weight:500}.seguridad-input-line{border:none;border-bottom:2px solid #d1d5db;background:transparent;padding:8px 0;font-size:15px;color:#111}.seguridad-color-selector{display:flex;align-items:center;gap:12px;padding:8px 0}.seguridad-color-picker{width:60px;height:40px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;background:transparent;padding:0;flex-shrink:0}.seguridad-color-picker::-webkit-color-swatch-wrapper{padding:0}.seguridad-color-picker::-webkit-color-swatch{border:none;border-radius:4px}.seguridad-color-text{flex:1;min-width:0}.seguridad-color-code{font-size:14px;font-weight:600;color:#3b4ca3;font-family:Courier New,monospace;background:#f3f4f6;padding:6px 10px;border-radius:4px;min-width:80px;text-align:center;flex-shrink:0}.seguridad-id-display{padding:8px 0;margin-bottom:8px}.seguridad-id-value{font-size:15px;font-weight:700;color:#000;font-family:Courier New,monospace;background:#f3f4f6;padding:8px 12px;border-radius:6px;display:inline-block;border:2px solid #d1d5db}.seguridad-form-right{display:flex;flex-direction:column;align-items:center;gap:12px}.seguridad-foto-preview{width:160px;height:160px;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.seguridad-foto-preview img{width:100%;height:100%;object-fit:cover}.seguridad-foto-preview span{color:#9ca3af;font-size:13px}.seguridad-btn-cargar-foto{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#111;border:1px solid #d1d5db;padding:10px 18px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-cargar-foto:hover{background:#f9fafb}.seguridad-form-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:#fff;border:1px solid #e1e4e8;border-top:none;margin:0 40px;flex-wrap:wrap;gap:12px}.seguridad-btn-submit{background:#a7c7f5;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-submit:hover{background:#8eb5f0}.seguridad-btn-config{background:#242d56;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-config:hover{background:#1a2250}.seguridad-modal-card{max-width:560px;margin-left:auto;margin-right:auto;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.seguridad-modal-card .seguridad-content{margin:0;border:none;border-left:1px solid #e1e4e8;border-right:1px solid #e1e4e8}.seguridad-list-body{background:#a5aacf;padding:20px 24px;max-height:320px;overflow-y:auto}.seguridad-list-empty{margin:0;color:#6b7280;font-size:14px}.seguridad-dotted-list{list-style:none;margin:0;padding:0}.seguridad-dotted-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#374151;font-size:14px}.seguridad-list-item-image{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,255,255,.3);flex-shrink:0;background:#fff}.seguridad-list-item-info{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.seguridad-dot-name{font-weight:500}.seguridad-dot-id{font-size:11px;color:#000;font-weight:600;font-family:Courier New,monospace}.seguridad-dot-dots{flex:1;min-width:16px;border-bottom:1px dotted #9ca3af;align-self:flex-end;margin-bottom:4px}.seguridad-dot-qty{flex-shrink:0}.seguridad-list-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border:1px solid #e1e4e8;border-top:none;flex-wrap:wrap;gap:12px}.seguridad-btn-asignar-trabajador{background:#6089ff;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-asignar-trabajador:hover{background:#5078eb}.seguridad-asignar-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;max-height:200px;overflow-y:auto}.seguridad-asignar-item{display:flex;align-items:center;gap:8px;background:#e8eaf5;border:1px solid #d1d5db;padding:10px 16px;border-radius:6px;cursor:pointer;text-align:left;font-size:14px;color:#374151;transition:all .2s}.seguridad-asignar-item:hover,.seguridad-asignar-item.selected{background:#a7c7f5;color:#fff;border-color:#8eb5f0}.seguridad-workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}.seguridad-worker-btn{background:#a7c7f5;color:#fff;border:none;padding:12px 16px;font-size:13px;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.seguridad-worker-btn:hover,.seguridad-worker-btn.selected{background:#3b4ca3}.seguridad-btn-confirm-asignar{width:100%;background:#3b4ca3;color:#fff;border:none;padding:14px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.seguridad-btn-confirm-asignar:hover:not(:disabled){background:#2d3d82}.seguridad-btn-confirm-asignar:disabled{opacity:.5;cursor:not-allowed}.seguridad-seleccionado-display{display:flex;align-items:center;gap:8px;background:#e8eaf5;border:1px solid #d1d5db;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.seguridad-seleccionado-nombre{font-weight:600;color:#374151}.seguridad-seleccionado-cantidad{color:#059669;font-weight:600}.seguridad-seleccionado-cantidad.sin-stock{color:#dc2626}.seguridad-cantidad-input-container{margin-bottom:24px;padding:16px;background:#f9fafb;border:1px solid #e1e4e8;border-radius:8px}.seguridad-cantidad-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.seguridad-cantidad-input{width:100%;max-width:200px;padding:10px 12px;border:2px solid #d1d5db;border-radius:6px;font-size:16px;margin-bottom:8px}.seguridad-cantidad-input:focus{outline:none;border-color:#3b4ca3}.seguridad-cantidad-max{display:block;font-size:12px;color:#6b7280}.seguridad-worker-card{background:#a7c7f5;color:#fff;border:2px solid transparent;padding:16px;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.seguridad-worker-card:hover{background:#8eb5f0;border-color:#3b4ca3}.seguridad-worker-card.selected{background:#3b4ca3;border-color:#242d56;box-shadow:0 4px 12px #3b4ca34d}.seguridad-worker-foto{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid white;background:#fff;display:flex;align-items:center;justify-content:center}.seguridad-worker-foto img{width:100%;height:100%;object-fit:cover}.seguridad-worker-foto-placeholder{width:100%;height:100%;background:#6b7280;color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.seguridad-worker-info{display:flex;flex-direction:column;gap:4px}.seguridad-worker-nombre{font-size:14px;font-weight:600}.seguridad-worker-puesto{font-size:12px;opacity:.9}.seguridad-worker-card.tiene-materiales{border:2px solid #10b981;background:#d1fae5}.seguridad-worker-card.tiene-materiales .seguridad-worker-nombre,.seguridad-worker-card.tiene-materiales .seguridad-worker-puesto{color:#065f46}.seguridad-worker-asignaciones{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3);width:100%}.seguridad-worker-card.tiene-materiales .seguridad-worker-asignaciones{border-top-color:#0000001a}.seguridad-worker-asignaciones-header{margin-bottom:8px}.seguridad-worker-badge{display:inline-block;background:#10b981;color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.seguridad-worker-card.tiene-materiales .seguridad-worker-badge{background:#059669}.seguridad-worker-materiales-list{display:flex;flex-direction:column;gap:4px;font-size:11px}.seguridad-worker-material-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#ffffff80;border-radius:4px;color:#374151}.seguridad-worker-card.tiene-materiales .seguridad-worker-material-item{background:#10b9811a;color:#065f46}.seguridad-worker-material-nombre{font-weight:500;flex:1;text-align:left}.seguridad-worker-material-cantidad{font-weight:600;color:#059669}.seguridad-worker-card.tiene-materiales .seguridad-worker-material-cantidad{color:#047857}.seguridad-worker-sin-asignaciones{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3);width:100%}.seguridad-worker-sin-badge{display:inline-block;background:#ffffff4d;color:#fffc;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;font-style:italic}.seguridad-asignar-item.sin-stock{opacity:.5;cursor:not-allowed;background:#f3f4f6;color:#9ca3af}.seguridad-dot-qty.sin-stock{color:#dc2626;font-weight:600}.seguridad-asignaciones-section{padding:20px;background:#f9fafb;border-top:1px solid #e1e4e8}.seguridad-asignaciones-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 16px}.seguridad-asignaciones-list{display:flex;flex-direction:column;gap:12px}.seguridad-asignacion-item{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:12px 16px;border:1px solid #e1e4e8;border-radius:8px}.seguridad-asignacion-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151}.seguridad-asignacion-material{font-weight:600}.seguridad-asignacion-separator{color:#9ca3af}.seguridad-asignacion-trabajador{color:#3b4ca3;font-weight:500}.seguridad-asignacion-cantidad{color:#6b7280;font-size:12px}.seguridad-btn-regresar-material{background:#10b981;color:#fff;border:none;padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.seguridad-btn-regresar-material:hover{background:#059669}.seguridad-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.seguridad-modal{background:#fff;padding:24px;border-radius:12px;min-width:320px;box-shadow:0 8px 32px #00000026}.seguridad-modal h3{margin:0 0 16px;font-size:16px;color:#111}.seguridad-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-bottom:16px;box-sizing:border-box}.seguridad-modal-actions{display:flex;gap:12px;justify-content:flex-end}.seguridad-modal-actions button{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:1px solid #d1d5db;background:#f9fafb}.seguridad-modal-actions button:last-child{background:#00bdff;color:#fff;border-color:#00bdff}.seguridad-modal-actions button:last-child:hover{background:#00a8e6}.incidentes-container{padding:0;background:#f1f3f6;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.incidentes-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.incidentes-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.incidentes-btn-regresar-header{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.incidentes-btn-regresar-header:hover{background:#ffffff26;border-color:#ffffff80}.incidentes-content{padding:24px 40px 32px;background:#fff;border:1px solid #e2e8f0;min-height:calc(100vh - 200px);margin:0 40px}.incidentes-sin-incidentes{padding:60px 20px;text-align:center}.incidentes-sin-incidentes p{color:#64748b;font-size:16px;margin:0}.incidentes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;max-width:100%}.incidentes-card{background:#fff;border-radius:8px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s}.incidentes-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.incidentes-card-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#111;text-transform:uppercase;text-align:center}.incidentes-card-buttons{display:flex;flex-direction:column;gap:10px}.incidentes-btn-ver{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#264499;color:#fff;border:none;padding:10px 16px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s;width:100%}.incidentes-btn-ver:hover{background:#1e3680}.incidentes-btn-descargar{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#6a90e3;color:#fff;border:none;padding:10px 16px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s;width:100%}.incidentes-btn-descargar:hover{background:#5a80d3}.incidentes-btn-descargar:active,.incidentes-btn-ver:active{transform:scale(.98)}.incidentes-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.incidentes-modal{background:#fff;border-radius:12px;max-width:560px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.incidentes-modal-header{padding:16px 20px;background:#264499;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.incidentes-modal-titulo{margin:0;font-size:16px;font-weight:600;text-transform:uppercase;flex:1}.incidentes-modal-cerrar{background:#fff3;color:#fff;border:none;padding:8px 14px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:background .2s}.incidentes-modal-cerrar:hover{background:#ffffff4d}.incidentes-modal-body{padding:20px;overflow-y:auto}.incidentes-modal-meta{margin:0 0 10px;font-size:14px;color:#334155}.incidentes-modal-desc{margin-top:16px}.incidentes-modal-desc p{margin:8px 0 0;font-size:14px;line-height:1.5;color:#475569;white-space:pre-wrap}.incidentes-modal-fotos{margin-top:20px}.incidentes-modal-fotos strong{display:block;margin-bottom:10px;font-size:14px;color:#334155}.incidentes-modal-fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.incidentes-modal-foto-item{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;aspect-ratio:1}.incidentes-modal-foto-item img{width:100%;height:100%;object-fit:cover;display:block}.vehiculos-container{padding:0;background:#3b4e99;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.vehiculos-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.vehiculos-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.vehiculos-btn-regresar-header{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-btn-regresar-header:hover{background:#ffffff26;border-color:#ffffff80}.vehiculos-content{padding:24px 40px 32px;background:#3b4e99;min-height:calc(100vh - 200px);margin:0 40px}.vehiculos-content-inicio{display:flex;flex-direction:column;gap:12px;max-width:480px;margin:0 auto;padding-top:24px}.vehiculos-content-inicio .vehiculos-btn-agregar,.vehiculos-content-inicio .vehiculos-btn-ver-todos,.vehiculos-content-inicio .vehiculos-btn-ver-reportes{display:flex;align-items:center;gap:12px;width:100%;background:#fff;color:#264499;border:none;padding:14px 20px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .2s;justify-content:flex-start;text-align:left}.vehiculos-content-inicio .vehiculos-btn-agregar:hover,.vehiculos-content-inicio .vehiculos-btn-ver-todos:hover,.vehiculos-content-inicio .vehiculos-btn-ver-reportes:hover{background:#f8fafc;color:#1e3680;transform:translate(4px);box-shadow:0 2px 8px #0000001a}.vehiculos-content-form{background:#3b4e99;padding:24px}.vehiculos-form-section{margin-bottom:20px}.vehiculos-form-section label{display:block;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;margin-bottom:8px}.vehiculos-input{width:100%;padding:12px;border:none;border-radius:6px;font-size:14px;background:#fff;color:#111}.vehiculos-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vehiculos-color-selector{display:flex;align-items:center;gap:12px;padding:0}.vehiculos-color-picker{width:60px;height:40px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;background:transparent;padding:0;flex-shrink:0}.vehiculos-color-picker::-webkit-color-swatch-wrapper{padding:0}.vehiculos-color-picker::-webkit-color-swatch{border:none;border-radius:4px}.vehiculos-color-text{flex:1;min-width:0}.vehiculos-color-code{font-size:14px;font-weight:600;color:#3b4ca3;font-family:Courier New,monospace;background:#f3f4f6;padding:6px 10px;border-radius:4px;min-width:80px;text-align:center;flex-shrink:0;color:#fff;background:#fff3}.vehiculos-fotos-section{margin-top:32px;margin-bottom:32px}.vehiculos-fotos-section h3{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase;margin-bottom:8px}.vehiculos-fotos-aviso{color:#ffffffe6;font-size:13px;margin:0 0 14px;line-height:1.4}.vehiculos-fotos-aviso strong{color:#fff}.vehiculos-fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.vehiculos-foto-item{display:flex;flex-direction:column;align-items:center;gap:8px}.vehiculos-foto-preview{width:100%;height:120px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}.vehiculos-foto-preview img{width:100%;height:100%;object-fit:cover}.vehiculos-foto-preview span{color:#9ca3af;font-size:12px}.vehiculos-btn-subir-foto{display:inline-flex;align-items:center;gap:6px;background:#6a90e3;color:#fff;border:none;padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:all .2s}.vehiculos-btn-subir-foto:hover{background:#5a80d3}.vehiculos-foto-label{color:#fff;font-size:11px;text-align:center;text-transform:uppercase}.vehiculos-archivos-section{margin-top:32px;margin-bottom:32px}.vehiculos-archivos-section h3{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase;margin-bottom:16px}.vehiculos-archivos-list{display:flex;flex-direction:column;gap:12px}.vehiculos-archivo-item{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 16px;border-radius:6px}.vehiculos-archivo-item span:first-child{font-weight:600;color:#111;min-width:100px}.vehiculos-btn-subir-pdf{background:#6a90e3;color:#fff;border:none;padding:8px 16px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:all .2s}.vehiculos-btn-subir-pdf:hover{background:#5a80d3}.vehiculos-archivo-nombre{color:#059669;font-size:12px;font-weight:500}.vehiculos-form-footer{display:flex;justify-content:flex-end;margin-top:32px}.vehiculos-btn-guardar{background:#3b4e99;color:#fff;border:2px solid white;padding:12px 32px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-btn-guardar:hover{background:#2d3d82}.vehiculos-content-asignar{background:#3b4e99;padding:24px}.vehiculos-item-asignar{display:flex;align-items:center;gap:16px;background:#fff;padding:16px;border-radius:8px;margin-bottom:12px;border:2px solid #e1e4e8}.vehiculos-item-asignar.vehiculo-libre{border-color:#22c55e;background:#22c55e14}.vehiculos-item-asignar.vehiculo-ocupado{border-color:#dc2626;background:#dc262614}.vehiculos-item-nombre,.vehiculos-item-obra{flex:1;display:flex;flex-direction:column;gap:4px}.vehiculos-item-nombre span,.vehiculos-item-obra span{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase}.vehiculos-content-asignar .vehiculos-item-nombre span,.vehiculos-content-asignar .vehiculos-item-obra span{color:#fff}.vehiculos-input-readonly{padding:8px;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb;color:#111;font-size:14px}.vehiculos-select{padding:8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#111;font-size:14px}.vehiculos-toggle-container{display:flex;align-items:center}.vehiculos-toggle{display:flex;align-items:center;background:#e5e7eb;border:2px solid #d1d5db;border-radius:6px;padding:4px;cursor:pointer;transition:all .2s}.vehiculos-toggle span{padding:6px 12px;font-size:12px;font-weight:600;color:#6b7280;transition:all .2s}.vehiculos-toggle.on span:first-child.active{color:#10b981;background:#d1fae5;border-radius:4px}.vehiculos-toggle.off span:last-child.active{color:#ef4444;background:#fee2e2;border-radius:4px}.vehiculos-toggle:disabled{cursor:not-allowed;opacity:.9}.vehiculos-item-remover{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:140px}.vehiculos-asignado-a{font-size:11px;color:#374151;font-weight:500}.vehiculos-content-asignar .vehiculos-asignado-a{color:#fff}.vehiculos-btn-remover{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.vehiculos-btn-remover:hover{background:#b91c1c}.vehiculos-btn-seleccionar{width:40px;height:40px;border:2px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:20px;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center}.vehiculos-btn-seleccionar:hover{border-color:#3b4e99}.vehiculos-btn-seleccionar.selected{background:#10b981;border-color:#10b981;color:#fff}.vehiculos-cabos-section{margin-top:32px;margin-bottom:24px}.vehiculos-cabos-section h3{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase;margin-bottom:8px}.vehiculos-cabos-hint{color:#ffffffd9;font-size:13px;margin:0 0 12px}.vehiculos-cabos-vacio{grid-column:1 / -1;color:#ffffffe6;font-size:14px;margin:0;padding:12px 0}.vehiculos-cabos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vehiculos-btn-cabo{background:#3b4e99;color:#fff;border:2px solid white;padding:12px 16px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-btn-cabo:hover{background:#2d3d82}.vehiculos-btn-cabo.selected{background:#10b981;border-color:#10b981}.vehiculos-btn-cabo{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px}.vehiculos-btn-cabo-nombre{font-weight:600;display:block}.vehiculos-btn-cabo-detalle{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:400;opacity:.95;line-height:1.3}.vehiculos-btn-cabo-con-vehiculo .vehiculos-btn-cabo-detalle{margin-top:2px}.vehiculos-btn-cabo-deshabilitado,.vehiculos-btn-cabo-deshabilitado:hover{background:#6b7280!important;border-color:#9ca3af!important;cursor:not-allowed;opacity:.9}.vehiculos-btn-cabo-deshabilitado:disabled{pointer-events:none}.vehiculos-asignar-footer{display:flex;justify-content:flex-end;margin-top:24px}.vehiculos-logs-footer{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:center}.vehiculos-btn-logs{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;text-transform:uppercase;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.vehiculos-btn-logs:hover{background:#ffffff40;border-color:#fff9}.vehiculos-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.vehiculos-modal-logs{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.vehiculos-modal-logs-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb}.vehiculos-modal-logs-header h3{margin:0;font-size:18px;font-weight:700;color:#111}.vehiculos-modal-cerrar{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:22px;line-height:1;cursor:pointer;color:#6b7280;transition:background .2s}.vehiculos-modal-cerrar:hover{background:#e5e7eb;color:#111}.vehiculos-modal-logs-body{padding:24px;overflow:auto}.vehiculos-logs-vacio{margin:0;color:#6b7280;font-size:15px;text-align:center;padding:40px}.vehiculos-logs-tabla{width:100%;border-collapse:collapse;font-size:14px}.vehiculos-logs-tabla th,.vehiculos-logs-tabla td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.vehiculos-logs-tabla th{background:#f9fafb;font-weight:600;color:#374151}.vehiculos-logs-tabla td{color:#4b5563}.vehiculos-logs-tabla tbody tr:hover{background:#f9fafb}.vehiculos-btn-asignar{background:#fff;color:#111;border:none;padding:12px 32px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-btn-asignar:hover{background:#f0f0f0}.vehiculos-content-asignados{background:#fff;padding:24px}.vehiculos-sin-asignaciones{padding:60px 20px;text-align:center}.vehiculos-sin-asignaciones p{color:#6b7280;font-size:16px}.vehiculos-asignados-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.vehiculos-asignado-card{background:#3b4e99;border-radius:8px;padding:20px}.vehiculos-asignado-cabo{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase;margin:0 0 16px}.vehiculos-asignado-item{display:flex;align-items:center;gap:8px;background:#10b981;padding:12px;border-radius:6px;margin-bottom:12px;position:relative}.vehiculos-asignado-info{flex:1;display:flex;flex-direction:column;gap:4px}.vehiculos-asignado-label{font-size:10px;color:#fffc;text-transform:uppercase}.vehiculos-asignado-value{font-size:12px;color:#fff;font-weight:600}.vehiculos-asignado-separator{width:1px;height:30px;background:#ffffff4d}.vehiculos-btn-eliminar{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.vehiculos-btn-eliminar:hover{background:#ef44441a;border-radius:4px}.vehiculos-asignados-footer{display:flex;justify-content:flex-end;margin-top:24px}.vehiculos-btn-guardar-asignaciones{background:#3b4e99;color:#fff;border:none;padding:12px 32px;font-size:14px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-btn-guardar-asignaciones:hover{background:#2d3d82}.vehiculos-content-todos{background:#fff;padding:24px}.vehiculos-todos-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.vehiculos-btn-agregar-vehiculo,.vehiculos-btn-asignar-vehiculos,.vehiculos-btn-ver-asignados{background:#3b4e99;color:#fff;border:none;padding:10px 20px;font-size:13px;font-weight:600;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .2s}.vehiculos-btn-agregar-vehiculo:hover,.vehiculos-btn-asignar-vehiculos:hover,.vehiculos-btn-ver-asignados:hover{background:#2d3d82}.vehiculos-sin-vehiculos{padding:60px 20px;text-align:center}.vehiculos-sin-vehiculos p{color:#6b7280;font-size:16px}.vehiculos-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.vehiculos-card{background:#f9fafb;border:1px solid #e1e4e8;border-radius:8px;padding:20px}.vehiculos-card.vehiculo-libre{border-color:#22c55e;background:#22c55e14}.vehiculos-card.vehiculo-ocupado{border-color:#dc2626;background:#dc262614}.vehiculos-estado-asignacion{display:inline-block;margin-top:10px;margin-left:8px;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.vehiculos-estado-asignacion.libre{background:#dcfce7;color:#166534}.vehiculos-estado-asignacion.ocupado{background:#fee2e2;color:#991b1b}.vehiculos-btn-editar-card{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;font-size:12px;font-weight:600;text-transform:uppercase;background:#264499;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.vehiculos-btn-editar-card:hover{background:#1e3680}.vehiculos-card h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#111}.vehiculos-card p{margin:8px 0;font-size:14px;color:#6b7280}.vehiculos-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;margin-top:12px}.vehiculos-status.activo{background:#d1fae5;color:#065f46}.vehiculos-status.inactivo{background:#fee2e2;color:#991b1b}.vehiculos-content-reporte .vehiculos-textarea{min-height:80px;resize:vertical}.vehiculos-reporte-clausula{font-size:12px;font-style:italic;color:#374151;margin:16px 0;padding:12px;background:#f9fafb;border-radius:8px;border-left:4px solid #264499}.vehiculos-firma-container{display:flex;flex-direction:column;gap:8px;margin-top:8px}.vehiculos-canvas-firma{max-width:100%;height:auto}.vehiculos-btn-limpiar-firma{align-self:flex-start;padding:6px 12px;font-size:12px;background:#e5e7eb;border:none;border-radius:6px;cursor:pointer}.vehiculos-btn-limpiar-firma:hover{background:#d1d5db}.vehiculos-btn-enviar-reporte{background:#059669;color:#fff;border:none}.vehiculos-btn-enviar-reporte:hover{background:#047857}.vehiculos-content-reportes{padding:24px;background:#f9fafb}.vehiculos-reportes-vacio{text-align:center;color:#6b7280;font-size:16px;margin:40px 0}.vehiculos-reportes-lista{display:flex;flex-direction:column;gap:16px}.vehiculos-reporte-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000f}.vehiculos-reporte-info{display:flex;flex-direction:column;gap:4px}.vehiculos-reporte-vehiculo{font-size:16px;font-weight:700;color:#111}.vehiculos-reporte-fecha,.vehiculos-reporte-quien,.vehiculos-reporte-obra{font-size:13px;color:#6b7280}.vehiculos-reporte-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vehiculos-btn-ver-pdf{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;background:#fff;color:#264499;border:2px solid #264499;border-radius:8px;cursor:pointer;transition:all .2s}.vehiculos-btn-ver-pdf:hover{background:#f0f4ff}.vehiculos-btn-descargar-pdf{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;background:#264499;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.vehiculos-btn-descargar-pdf:hover{background:#1e3680}.fichas-tecnicas-container{padding:0;background:#3b4e99;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.fichas-tecnicas-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.fichas-tecnicas-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.fichas-tecnicas-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.fichas-tecnicas-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80}.fichas-tecnicas-content{padding:24px 40px 32px;background:#3b4e99;min-height:calc(100vh - 200px);margin:0 40px}.fichas-tecnicas-intro{color:#ffffffe6;max-width:560px;margin:0 auto 24px;text-align:center;font-size:14px}.fichas-tecnicas-botones{display:flex;flex-direction:column;gap:14px;max-width:420px;margin:0 auto}.fichas-tecnicas-btn-tipo{display:flex;align-items:center;gap:12px;width:100%;background:#fff;color:#264499;border:none;padding:14px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.fichas-tecnicas-btn-tipo:hover{background:#e8eeff;transform:translateY(-1px)}.fichas-tecnicas-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.fichas-tecnicas-modal{background:#fff;border-radius:12px;padding:24px;max-width:440px;width:90%;box-shadow:0 8px 32px #0003}.fichas-tecnicas-modal h3{margin:0 0 8px;font-size:18px;color:#334155}.fichas-tecnicas-modal-archivo{margin:0 0 20px;font-size:13px;color:#64748b;word-break:break-all}.fichas-tecnicas-form label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:6px;text-transform:uppercase}.fichas-tecnicas-select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;margin-bottom:16px}.fichas-tecnicas-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.fichas-tecnicas-btn-cancelar{padding:10px 18px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:6px;font-size:14px;cursor:pointer}.fichas-tecnicas-btn-cancelar:hover{background:#f1f5f9}.fichas-tecnicas-btn-guardar{padding:10px 18px;border:none;background:#264499;color:#fff;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.fichas-tecnicas-btn-guardar:hover{background:#1e3a7a}.fichas-tecnicas-zona-asignar{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);max-width:900px;margin-left:auto;margin-right:auto}.fichas-tecnicas-zona-titulo{margin:0 0 6px;font-size:16px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.fichas-tecnicas-zona-hint{margin:0 0 16px;font-size:13px;color:#ffffffd9}.fichas-tecnicas-pdf-card{display:flex;align-items:center;gap:12px;background:#fff;color:#264499;padding:12px 16px;border-radius:10px;margin-bottom:20px;box-shadow:0 4px 12px #00000026;max-width:480px}.fichas-tecnicas-pdf-card-draggable{cursor:grab}.fichas-tecnicas-pdf-card-draggable:active{cursor:grabbing}.fichas-tecnicas-pdf-card-body{flex:1;display:flex;flex-direction:column;gap:2px}.fichas-tecnicas-pdf-card-tipo{font-size:11px;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.5px}.fichas-tecnicas-pdf-card-nombre{font-size:14px;font-weight:600;color:#334155;word-break:break-all}.fichas-tecnicas-pdf-card-btn-form{padding:8px 12px;border:1px solid #264499;background:transparent;color:#264499;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.fichas-tecnicas-pdf-card-btn-form:hover{background:#264499;color:#fff}.fichas-tecnicas-pdf-card-btn-quitar{padding:6px 10px;border:none;background:#00000014;color:#64748b;border-radius:6px;font-size:14px;cursor:pointer;line-height:1}.fichas-tecnicas-pdf-card-btn-quitar:hover{background:#fee2e2;color:#b91c1c}.fichas-tecnicas-drop-zona{background:#ffffff14;border-radius:12px;padding:20px;border:1px dashed rgba(255,255,255,.3)}.fichas-tecnicas-drop-titulo{margin:0 0 16px;font-size:13px;font-weight:600;color:#fffffff2;text-transform:uppercase;letter-spacing:.5px}.fichas-tecnicas-obras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.fichas-tecnicas-obra-block{background:#ffffff1f;border-radius:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.2)}.fichas-tecnicas-obra-nombre{font-size:12px;font-weight:700;color:#fffffff2;text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2)}.fichas-tecnicas-cabos-list{display:flex;flex-direction:column;gap:8px}.fichas-tecnicas-sin-cabos{font-size:12px;color:#fff9;font-style:italic}.fichas-tecnicas-cabo-drop{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff26;border:2px solid transparent;border-radius:8px;color:#fff;font-size:13px;font-weight:500;transition:all .2s}.fichas-tecnicas-cabo-drop:hover{background:#fff3}.fichas-tecnicas-cabo-drop-over{background:#ffffff4d;border-color:#fff;box-shadow:0 0 0 2px #264499}.facturas-admin-container{padding:0;background:#3b4e99;min-height:100%;margin:-25px -40px;width:calc(100% + 80px)}.facturas-admin-header{background:#264499;color:#fff;padding:18px 40px;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.facturas-admin-header h1{margin:0;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1;text-align:center}.facturas-admin-btn-regresar{position:absolute;left:40px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:500;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.facturas-admin-btn-regresar:hover{background:#ffffff26;border-color:#ffffff80}.facturas-admin-content{padding:24px 40px 32px;background:#3b4e99;min-height:calc(100vh - 200px);margin:0 40px}.facturas-admin-intro{color:#ffffffe6;max-width:560px;margin:0 auto 24px;text-align:center;font-size:14px}.facturas-admin-vacio{text-align:center;padding:48px 24px;color:#ffffffb3}.facturas-admin-vacio svg{margin-bottom:16px;opacity:.6}.facturas-admin-vacio p{margin:0;font-size:15px}.facturas-admin-tabla-wrap{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000026;overflow-x:auto}.facturas-admin-tabla{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}.facturas-admin-tabla thead{background:#264499;color:#fff}.facturas-admin-tabla th{padding:14px 12px;text-align:left;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.facturas-admin-tabla tbody tr{border-bottom:1px solid #e2e8f0}.facturas-admin-tabla tbody tr:hover{background:#f8fafc}.facturas-admin-tabla td{padding:12px;color:#334155}.facturas-admin-cell-nombre{max-width:200px;word-break:break-all;font-size:13px}.facturas-admin-acciones{display:flex;gap:8px;flex-wrap:wrap}.facturas-admin-btn-ver{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.facturas-admin-btn-ver:hover{background:#f1f5f9;border-color:#264499;color:#264499}.facturas-admin-btn-descargar{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:#264499;color:#fff;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.facturas-admin-btn-descargar:hover{background:#1e3a7a}.facturacion-app{min-height:100vh;background:linear-gradient(160deg,#1c1917,#292524 40%,#1c1917);color:#fef3c7;padding:0;margin:-25px -40px;width:calc(100% + 80px);box-sizing:border-box}.facturacion-app-header{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:#1c1917e6;border-bottom:2px solid #eab308;flex-wrap:wrap;gap:16px}.facturacion-app-btn-regresar{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:1px solid #eab308;color:#facc15;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;cursor:pointer;transition:all .2s}.facturacion-app-btn-regresar:hover{background:#eab30833;color:#fde047}.facturacion-app-header h1{margin:0;font-size:24px;font-weight:700;color:#fef3c7;letter-spacing:-.5px}.facturacion-header-derecha{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.facturacion-selector-empresa{display:flex;align-items:center;gap:8px;font-size:13px;color:#a8a29e}.facturacion-selector-empresa span{white-space:nowrap}.facturacion-select-empresa{padding:8px 12px;border:1px solid #57534e;border-radius:8px;background:#1c1917cc;color:#fef3c7;font-size:14px;min-width:160px}.facturacion-btn-nueva-empresa{padding:10px 18px;border:1px solid #eab308;border-radius:8px;background:#eab30826;color:#facc15;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.facturacion-btn-nueva-empresa:hover{background:#eab30840}.facturacion-header-acciones{display:flex;gap:12px}.facturacion-btn-sec{padding:10px 20px;border:1px solid #78716c;background:transparent;color:#a8a29e;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer}.facturacion-btn-prim{padding:10px 20px;border:none;background:#eab308;color:#1c1917;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer}.facturacion-btn-prim:hover{background:#facc15}.facturacion-app-body{padding:32px 40px 48px;max-width:900px;margin:0 auto}.facturacion-wizard .facturacion-wizard-body{padding:48px 40px;max-width:560px;margin:0 auto}.facturacion-paso{background:#29252499;border:1px solid rgba(234,179,8,.3);border-radius:16px;padding:40px;text-align:center}.facturacion-paso h2{margin:0 0 12px;font-size:22px;font-weight:700;color:#fef3c7}.facturacion-paso-desc{margin:0 0 24px;color:#a8a29e;font-size:14px}.facturacion-input-grande{width:100%;max-width:360px;padding:14px 18px;border:1px solid #57534e;border-radius:10px;background:#1c1917cc;color:#fef3c7;font-size:16px;margin-bottom:24px;box-sizing:border-box}.facturacion-input-grande:focus{outline:none;border-color:#eab308;box-shadow:0 0 0 3px #eab30833}.facturacion-btn-continuar{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border:none;border-radius:10px;background:#eab308;color:#1c1917;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.facturacion-btn-continuar:hover:not(:disabled){background:#facc15;transform:translateY(-1px)}.facturacion-btn-continuar:disabled{opacity:.5;cursor:not-allowed}.facturacion-industrias{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px}.facturacion-industria-btn{padding:12px 20px;border:1px solid #57534e;border-radius:10px;background:#1c191799;color:#d6d3d1;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.facturacion-industria-btn:hover{border-color:#eab308;color:#fef3c7}.facturacion-industria-btn.active{background:#eab30840;border-color:#eab308;color:#facc15}.facturacion-input-file{position:absolute;width:0;height:0;opacity:0}.facturacion-btn-subir-logo{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:2px dashed #eab308;border-radius:10px;background:#eab3081a;color:#facc15;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:20px}.facturacion-btn-subir-logo:hover{background:#eab30833}.facturacion-logo-preview{margin:20px auto;max-width:200px;max-height:100px}.facturacion-logo-preview img{max-width:100%;max-height:100px;object-fit:contain}.facturacion-progreso-wrap{position:relative;height:28px;background:#0000004d;border-radius:14px;overflow:hidden;margin-bottom:24px;max-width:360px;margin-left:auto;margin-right:auto}.facturacion-progreso-bar{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:14px;transition:width .3s ease}.facturacion-progreso-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fef3c7;pointer-events:none}.facturacion-plantillas{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:28px}.facturacion-plantilla-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px;border:2px solid #57534e;border-radius:12px;background:#1c191799;color:#d6d3d1;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.facturacion-plantilla-btn:hover{border-color:#eab308;color:#fef3c7}.facturacion-plantilla-btn.active{border-color:#eab308;background:#eab30826;color:#facc15}.facturacion-plantilla-muestra{width:60px;height:12px;border-radius:6px}.facturacion-plantilla-desc{font-size:11px;font-weight:400;color:#a8a29e}.facturacion-paso-cargando{padding:60px 40px}.facturacion-spinner{color:#eab308;animation:facturacion-spin 1s linear infinite;margin-bottom:24px}@keyframes facturacion-spin{to{transform:rotate(360deg)}}.facturacion-paso-cuenta-creada{padding:48px 40px}.facturacion-cuenta-creada-icon{width:100px;height:100px;border-radius:50%;background:#22c55e4d;border:3px solid #22c55e;color:#4ade80;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.facturacion-btn-primera-factura{display:inline-flex;align-items:center;justify-content:center;padding:18px 40px;border:none;border-radius:12px;background:#eab308;color:#1c1917;font-size:16px;font-weight:700;cursor:pointer;margin-top:24px;transition:all .2s}.facturacion-btn-primera-factura:hover{background:#facc15;transform:translateY(-2px)}.facturacion-acciones-principales{margin-bottom:32px}.facturacion-btn-crear{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border:none;border-radius:12px;background:#eab308;color:#1c1917;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.facturacion-btn-crear:hover{background:#facc15;transform:translateY(-1px)}.facturacion-lista-facturas h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#fef3c7}.facturacion-vacio{color:#a8a29e;font-style:italic;padding:32px 0;margin:0}.facturacion-facturas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.facturacion-factura-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 20px;background:#29252499;border:1px solid rgba(234,179,8,.25);border-radius:12px}.facturacion-factura-info{font-size:14px;color:#e7e5e4}.facturacion-factura-acciones{display:flex;gap:8px}.facturacion-btn-mini{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #57534e;border-radius:8px;background:transparent;color:#a8a29e;cursor:pointer;transition:all .2s}.facturacion-btn-mini:hover{border-color:#eab308;color:#facc15}.facturacion-btn-mini.danger:hover{border-color:#ef4444;color:#f87171}.facturacion-crear-body{max-width:720px}.facturacion-crear-seccion{margin-bottom:28px}.facturacion-crear-seccion h4{margin:0 0 12px;font-size:15px;font-weight:600;color:#facc15}.facturacion-select,.facturacion-input{width:100%;padding:12px 14px;border:1px solid #57534e;border-radius:8px;background:#1c1917cc;color:#fef3c7;font-size:14px;margin-bottom:10px;box-sizing:border-box}.facturacion-input:focus,.facturacion-select:focus{outline:none;border-color:#eab308}.facturacion-inputs-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.facturacion-inputs-row .facturacion-input{margin-bottom:0}.facturacion-btn-guardar-cliente{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid #eab308;border-radius:8px;background:#eab30826;color:#facc15;font-size:13px;font-weight:600;cursor:pointer;margin-top:8px}.facturacion-btn-guardar-cliente:hover{background:#eab30840}.facturacion-add-item{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.facturacion-add-item .facturacion-input{flex:1;min-width:120px;margin-bottom:0}.facturacion-add-item .facturacion-input.num{max-width:80px}.facturacion-btn-add-item{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;border:none;border-radius:8px;background:#eab308;color:#1c1917;font-size:13px;font-weight:600;cursor:pointer}.facturacion-btn-add-item:hover{background:#facc15}.facturacion-items-list{list-style:none;margin:0;padding:0;border:1px solid #57534e;border-radius:8px;overflow:hidden}.facturacion-items-list li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #57534e;font-size:13px;color:#e7e5e4}.facturacion-items-list li:last-child{border-bottom:none}.facturacion-items-list li span:first-child{flex:1}.facturacion-btn-quitar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:#ef444433;color:#f87171;cursor:pointer}.facturacion-btn-quitar:hover{background:#ef444459}.facturacion-totales{margin-bottom:16px}.facturacion-totales div{margin-bottom:8px;font-size:14px;color:#e7e5e4}.facturacion-total-final{font-size:16px!important;margin-top:12px!important;padding-top:12px;border-top:1px solid #57534e;color:#facc15!important}.facturacion-input-inline{width:70px;padding:6px 8px;margin:0 8px;border:1px solid #57534e;border-radius:6px;background:#1c1917cc;color:#fef3c7;font-size:13px}.facturacion-textarea{width:100%;padding:12px 14px;border:1px solid #57534e;border-radius:8px;background:#1c1917cc;color:#fef3c7;font-size:14px;resize:vertical;box-sizing:border-box}.facturacion-textarea:focus{outline:none;border-color:#eab308}@media(max-width:768px){.facturacion-app,.facturacion-app-body,.facturacion-wizard .facturacion-wizard-body{padding:20px}.facturacion-app-header{flex-direction:column;align-items:stretch}.facturacion-inputs-row{grid-template-columns:1fr}.facturacion-add-item{flex-direction:column;align-items:stretch}.facturacion-add-item .facturacion-input.num{max-width:none}}.gerencia-wrap{position:relative;min-height:100%}.gerencia-btn-volver-flotante{position:fixed;bottom:24px;right:24px;z-index:100;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 4px 20px #ea580c66;cursor:pointer;transition:transform .2s,box-shadow .2s}.gerencia-btn-volver-flotante:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ea580c80}.gerencia-container{min-height:100vh;background:linear-gradient(160deg,#0f172a,#1e293b 40%,#0f172a);margin:-25px -40px;padding:0;width:calc(100% + 80px);color:#e2e8f0;font-family:Inter,system-ui,sans-serif}.gerencia-header{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:#0f172ad9;border-bottom:1px solid rgba(234,88,12,.25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.gerencia-btn-regresar{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:1px solid rgba(234,88,12,.5);color:#f97316;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;cursor:pointer;transition:all .2s}.gerencia-btn-regresar:hover{background:#ea580c26;border-color:#ea580c;color:#fdba74}.gerencia-header-center{display:flex;flex-direction:column;align-items:center;gap:4px}.gerencia-logo-badge{width:48px;height:48px;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;letter-spacing:-1px;box-shadow:0 4px 16px #ea580c59}.gerencia-header h1{margin:0;font-size:24px;font-weight:700;color:#fff;letter-spacing:-.5px}.gerencia-subtitle{margin:0;font-size:13px;color:#94a3b8;font-weight:400}.gerencia-body{display:flex;min-height:calc(100vh - 100px)}.gerencia-sidebar{width:260px;flex-shrink:0;background:#0f172a99;border-right:1px solid rgba(71,85,105,.3);padding:24px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto}.gerencia-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px}.gerencia-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:transparent;border:none;border-radius:10px;color:#94a3b8;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:all .2s}.gerencia-nav-item:hover{background:#47556933;color:#e2e8f0}.gerencia-nav-item.active{background:linear-gradient(135deg,#ea580c33,#c2410c26);color:#f97316;border:1px solid rgba(234,88,12,.35)}.gerencia-nav-separador{height:1px;background:#47556966;margin:12px 0;flex-shrink:0}.gerencia-nav-item-facturacion{color:#eab308;border:1px solid rgba(234,179,8,.4)}.gerencia-nav-item-facturacion:hover{background:#eab30826;color:#facc15}.gerencia-nav-item-facturacion.active{background:linear-gradient(135deg,#eab30840,#eab30826);color:#facc15;border:1px solid rgba(234,179,8,.5)}.gerencia-main{flex:1;padding:32px 40px 48px;overflow-y:auto}.gerencia-section{max-width:1200px;margin:0 auto}.gerencia-section-title{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px}.gerencia-section-title svg{color:#f97316}.gerencia-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:0}.gerencia-section-header .gerencia-section-title{margin-bottom:0}.gerencia-info-wrap{position:relative;flex-shrink:0}.gerencia-info-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ea580c33;border:1px solid rgba(234,88,12,.4);border-radius:50%;color:#f97316;cursor:help;transition:all .2s}.gerencia-info-btn:hover{background:#ea580c59;border-color:#ea580c;color:#fff}.gerencia-info-tooltip{position:absolute;top:100%;right:0;margin-top:8px;padding:14px 18px;max-width:360px;background:#1e293b;border:1px solid rgba(234,88,12,.3);border-radius:10px;font-size:13px;line-height:1.5;color:#e2e8f0;box-shadow:0 8px 24px #0000004d;z-index:50;pointer-events:auto}.gerencia-info-tooltip:before{content:"";position:absolute;bottom:100%;right:12px;border:6px solid transparent;border-bottom-color:#ea580c4d}.gerencia-section-desc{margin:0 0 28px;font-size:14px;color:#94a3b8;line-height:1.5}.gerencia-obras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.gerencia-obra-card{background:#1e293b99;border:1px solid rgba(71,85,105,.35);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s,box-shadow .2s}.gerencia-obra-card:hover{border-color:#ea580c4d;box-shadow:0 8px 32px #0003}.gerencia-obra-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(71,85,105,.3)}.gerencia-obra-nombre{font-size:16px;font-weight:700;color:#fff}.gerencia-obra-gasto{font-size:14px;font-weight:600;color:#f97316}.gerencia-obra-avance label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:6px}.gerencia-avance-input-wrap{display:flex;align-items:center;gap:8px}.gerencia-avance-input-wrap input{width:80px;padding:10px 12px;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:8px;color:#fff;font-size:16px;font-weight:600}.gerencia-avance-input-wrap input:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 2px #ea580c33}.gerencia-avance-pct{font-size:14px;color:#94a3b8;font-weight:600}.gerencia-gastos-mini{margin:12px 0 0;padding:0;list-style:none;font-size:12px;color:#94a3b8}.gerencia-gastos-mini li{padding:4px 0}.gerencia-empty{grid-column:1 / -1;text-align:center;padding:48px 24px;color:#64748b;font-size:15px}.gerencia-gastos-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:32px;padding:20px;background:#1e293b80;border-radius:12px;border:1px solid rgba(71,85,105,.3)}.gerencia-select,.gerencia-input{padding:10px 14px;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:8px;color:#fff;font-size:14px;min-width:140px}.gerencia-select:focus,.gerencia-input:focus{outline:none;border-color:#ea580c}.gerencia-input::placeholder{color:#64748b}.gerencia-btn-agregar{padding:10px 20px;background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.gerencia-btn-agregar:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ea580c66}.gerencia-gastos-list h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#e2e8f0}.gerencia-gastos-obra-block{background:#1e293b80;border:1px solid rgba(71,85,105,.3);border-radius:12px;padding:16px 20px;margin-bottom:16px}.gerencia-gastos-obra-block h4{margin:0 0 12px;font-size:15px;font-weight:600;color:#f97316}.gerencia-gastos-obra-block ul{list-style:none;margin:0;padding:0}.gerencia-gastos-obra-block li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:13px;color:#94a3b8;border-bottom:1px solid rgba(71,85,105,.2)}.gerencia-gastos-obra-block li:last-child{border-bottom:none}.gerencia-total{margin:12px 0 0;font-size:14px;font-weight:700;color:#f97316}.gerencia-admins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.gerencia-admin-card{background:#1e293b99;border:1px solid rgba(71,85,105,.35);border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:border-color .2s}.gerencia-admin-card:hover{border-color:#ea580c4d}.gerencia-admin-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center}.gerencia-admin-nombre{font-size:15px;font-weight:600;color:#fff}.gerencia-admin-email{font-size:12px;color:#94a3b8}.gerencia-admin-ultimo{font-size:11px;color:#64748b;margin-top:4px}.gerencia-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.gerencia-dashboard-card{background:#1e293b99;border:1px solid rgba(71,85,105,.35);border-radius:16px;padding:20px}.gerencia-dashboard-card h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#fff}.gerencia-dashboard-presup{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gerencia-dashboard-presup span{font-size:12px;color:#94a3b8}.gerencia-dashboard-presup input{width:100px;padding:8px 10px;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:6px;color:#fff;font-size:14px}.gerencia-dashboard-gastado{font-size:14px;font-weight:600;color:#f97316;margin-bottom:10px}.gerencia-dashboard-bar-wrap{height:8px;background:#47556966;border-radius:4px;overflow:hidden;margin-bottom:8px}.gerencia-dashboard-bar{height:100%;background:linear-gradient(90deg,#22c55e,#f97316);border-radius:4px;transition:width .3s}.gerencia-dashboard-proy{margin:0;font-size:12px;color:#94a3b8}.gerencia-resumen-cards{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.gerencia-resumen-card{background:#1e293b99;border:1px solid rgba(71,85,105,.35);border-radius:12px;padding:20px;min-width:180px;display:flex;flex-direction:column;gap:8px}.gerencia-resumen-label{font-size:12px;color:#94a3b8;text-transform:uppercase}.gerencia-resumen-valor{font-size:22px;font-weight:700;color:#fff}.gerencia-resumen-valor.verde{color:#22c55e}.gerencia-resumen-valor.rojo{color:#dc2626}.gerencia-subsection-title{margin:24px 0 12px;font-size:16px;font-weight:600;color:#e2e8f0}.gerencia-categoria-list{list-style:none;margin:0;padding:0}.gerencia-categoria-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(71,85,105,.2);font-size:14px;color:#e2e8f0}.gerencia-he-totales{margin-bottom:24px;padding:16px;background:#1e293b80;border-radius:10px}.gerencia-he-totales p{margin:0 0 8px;font-size:15px;color:#e2e8f0}.gerencia-he-totales p:last-child{margin-bottom:0}.gerencia-margen-list{list-style:none;margin:0;padding:0}.gerencia-margen-list li{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(71,85,105,.2);font-size:14px;color:#e2e8f0}.gerencia-margen-list .verde{color:#22c55e}.gerencia-margen-list .rojo{color:#dc2626}.gerencia-indicadores-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(71,85,105,.3)}.gerencia-indicadores-table{width:100%;border-collapse:collapse;font-size:14px}.gerencia-indicadores-table th,.gerencia-indicadores-table td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(71,85,105,.2);color:#e2e8f0}.gerencia-indicadores-table th{background:#1e293bcc;font-weight:600;color:#94a3b8}.gerencia-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.gerencia-badge.verde{background:#22c55e33;color:#22c55e}.gerencia-badge.rojo{background:#dc262633;color:#dc2626}.gerencia-alertas-list{list-style:none;margin:0;padding:0}.gerencia-alerta{padding:14px 18px;margin-bottom:10px;border-radius:10px;font-size:14px;border-left:4px solid #f97316;background:#1e293b99;color:#e2e8f0}.gerencia-alerta.presupuesto{border-left-color:#dc2626}.gerencia-alerta.atraso{border-left-color:#eab308}.gerencia-alerta.factura{border-left-color:#f97316}.gerencia-btn-reporte{display:inline-flex;align-items:center;gap:10px}.gerencia-nomina-week-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gerencia-nomina-week-row label{color:#e2e8f0;font-size:14px}.gerencia-week-input-wrap{position:relative;display:inline-block;min-width:180px}.gerencia-week-input-native{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:1;min-width:100%;min-height:100%}.gerencia-week-input-display{display:block;padding:10px 36px 10px 14px;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:8px;color:#fff;font-size:14px;pointer-events:none}.gerencia-week-label{color:#94a3b8;font-size:13px}.gerencia-nomina-obra-block .gerencia-nomina-obra-titulo{margin:0 0 12px;font-size:16px;font-weight:700;color:#39ff14;text-shadow:0 0 10px rgba(57,255,20,.8),0 0 20px rgba(57,255,20,.4)}.gerencia-fosfo{color:#39ff14!important;text-shadow:0 0 8px rgba(57,255,20,.6)}.gerencia-nomina-rango-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.gerencia-nomina-rango-row label{color:#e2e8f0;font-size:14px}.gerencia-input-fosfo{background:#0f172ae6!important;border:1px solid #39ff14!important;color:#39ff14!important;box-shadow:0 0 12px #39ff1433}.gerencia-input-fosfo:focus{border-color:#39ff14!important;box-shadow:0 0 16px #39ff1466!important}.gerencia-nomina-presets{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.gerencia-nomina-presets-label{color:#94a3b8;font-size:13px}.gerencia-btn-preset{padding:8px 14px;background:#39ff1426;border:1px solid #39ff14;color:#39ff14;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.gerencia-btn-preset:hover{background:#39ff1440;box-shadow:0 0 14px #39ff144d}.gerencia-nomina-calendario-wrap{margin-top:24px;padding:20px;background:#0f172a99;border:1px solid rgba(57,255,20,.4);border-radius:12px;box-shadow:0 0 24px #39ff1426;display:flex;flex-direction:column;align-items:center}.gerencia-nomina-calendario-titulo{margin:0 0 16px;font-size:16px;font-weight:700;color:#39ff14;text-shadow:0 0 10px rgba(57,255,20,.8);display:flex;align-items:center;gap:8px}.gerencia-nomina-calendario-mes-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.gerencia-nomina-calendario-mes-label{color:#39ff14;font-size:15px;font-weight:600;text-transform:capitalize;min-width:160px;text-align:center}.gerencia-btn-calendar-nav{padding:6px 12px;background:#39ff1433;border:1px solid #39ff14;color:#39ff14;font-size:14px;border-radius:8px;cursor:pointer;transition:all .2s}.gerencia-btn-calendar-nav:hover{background:#39ff1459;box-shadow:0 0 12px #39ff1466}.gerencia-nomina-calendario-dias-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;max-width:320px;width:100%}.gerencia-cal-dia-header{text-align:center;font-size:11px;font-weight:600;color:#39ff14;opacity:.9}.gerencia-nomina-calendario-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:320px;width:100%}.gerencia-cal-dia{aspect-ratio:1;min-height:32px;max-width:40px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:#1e293b99;border:1px solid rgba(57,255,20,.3);color:#94a3b8;border-radius:8px;cursor:pointer;transition:all .2s}.gerencia-cal-dia:hover:not(.gerencia-cal-dia-empty){background:#39ff1433;color:#39ff14;border-color:#39ff14;box-shadow:0 0 12px #39ff144d}.gerencia-cal-dia-empty{background:transparent;border-color:transparent;cursor:default}.gerencia-cal-dia-seleccionado{background:#39ff1459!important;color:#39ff14!important;border-color:#39ff14!important;box-shadow:0 0 14px #39ff1480}.gerencia-cal-dia-hoy{border-color:#f97316;color:#fdba74}.gerencia-cal-dia-hoy.gerencia-cal-dia-seleccionado{color:#39ff14;border-color:#39ff14}.gerencia-nomina-stats-obra{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.gerencia-nomina-stat-obra-card{padding:16px 20px;background:#1e293b99;border:1px solid rgba(57,255,20,.35);border-radius:12px;min-width:220px;box-shadow:0 0 16px #39ff141a}.gerencia-nomina-stat-obra-nombre{display:block;font-size:15px;font-weight:700;color:#39ff14;text-shadow:0 0 8px rgba(57,255,20,.6);margin-bottom:10px}.gerencia-nomina-stat-obra-filas{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#e2e8f0}.almacen-container{padding:28px 40px;max-width:1600px;width:100%;margin:0 auto;background:#f8fafc;min-height:100%;box-sizing:border-box}.almacen-header{margin-bottom:32px}.almacen-title{color:#1e40af;font-size:28px;font-weight:700;margin:0 0 8px}.almacen-subtitle{color:#64748b;font-size:15px;margin:0}.almacen-section-title{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 20px}.almacen-form-section{background:#fff;border-radius:14px;padding:28px 32px;margin-bottom:28px;box-shadow:0 1px 4px #00000014;border:1px solid #e2e8f0}.almacen-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-bottom:24px}@media(max-width:768px){.almacen-container{padding:20px}.almacen-form-section{padding:20px 22px}.almacen-form-grid{grid-template-columns:1fr;gap:18px}}.almacen-field label{display:block;font-size:14px;font-weight:600;color:#334155;margin-bottom:8px}.almacen-input{width:100%;padding:14px 16px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;color:#1e293b;box-sizing:border-box}.almacen-input:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af26}.almacen-field-categoria{position:relative}.almacen-input-categoria{font-size:15px}.almacen-categoria-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:4px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 4px 20px #0000001f;overflow:hidden}.almacen-categoria-dropdown-list{max-height:352px;overflow-y:auto;padding:4px 0}.almacen-categoria-dropdown-item{display:block;width:100%;padding:12px 16px;border:none;background:none;font-size:15px;color:#334155;text-align:left;cursor:pointer;transition:background .15s}.almacen-categoria-dropdown-item:hover{background:#f1f5f9}.almacen-categoria-dropdown-empty{padding:16px;font-size:14px;color:#64748b;text-align:center}.almacen-field-clave .almacen-clave-display{padding:14px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;font-weight:600;color:#1e40af;font-family:ui-monospace,monospace}.almacen-foto-section{margin-bottom:24px;padding-top:20px;border-top:1px solid #e2e8f0}.almacen-foto-title{font-size:15px;font-weight:600;color:#475569;margin:0 0 12px}.almacen-foto-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.almacen-btn.foto{background:#6366f1;color:#fff}.almacen-btn.foto:hover{background:#4f46e5;box-shadow:0 2px 8px #6366f14d}.almacen-foto-preview-wrap{position:relative;display:inline-block}.almacen-foto-preview{display:block;max-width:160px;max-height:120px;width:auto;height:auto;object-fit:contain;border-radius:10px;border:2px solid #e2e8f0}.almacen-foto-quitar{position:absolute;top:4px;right:4px;width:28px;height:28px;border:none;border-radius:50%;background:#dc2626e6;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.almacen-foto-quitar:hover{background:#dc2626}.almacen-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s}.almacen-btn.agregar{background:#1e40af;color:#fff}.almacen-btn.agregar:hover{background:#1d4ed8;box-shadow:0 2px 10px #1e40af4d}.almacen-btn.excel{background:#0d9488;color:#fff}.almacen-btn.excel:hover{background:#0f766e;box-shadow:0 2px 10px #0d94884d}.almacen-mensaje{margin:14px 0 0;font-size:15px;color:#0d9488}.almacen-actions{margin-bottom:28px}.almacen-upload-wrap{display:inline-block}.almacen-input-file{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.almacen-filtros{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:24px}.almacen-buscar-wrap{position:relative;flex:1;min-width:260px;max-width:480px}.almacen-icon-buscar{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.almacen-input-buscar{padding:14px 16px 14px 48px;font-size:15px}.almacen-categorias-wrap{display:flex;align-items:center;gap:10px}.almacen-select-cat{min-width:200px;padding:14px 16px;font-size:15px}.almacen-list-section{background:#fff;border-radius:14px;padding:28px 32px;box-shadow:0 1px 4px #00000014;border:1px solid #e2e8f0}.almacen-table-wrap{overflow-x:auto}.almacen-table{width:100%;border-collapse:collapse;font-size:15px}.almacen-table th{text-align:left;padding:14px 18px;background:#f1f5f9;color:#475569;font-weight:600;border-bottom:2px solid #e2e8f0}.almacen-th-foto{width:80px;text-align:center}.almacen-table td{padding:14px 18px;border-bottom:1px solid #e2e8f0;color:#334155}.almacen-cell-foto{text-align:center;vertical-align:middle}.almacen-foto-mini-wrap{display:inline-block;padding:0;border:none;background:none;cursor:pointer;border-radius:8px;overflow:hidden}.almacen-foto-mini{display:block;width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.almacen-foto-mini-wrap:hover .almacen-foto-mini{border-color:#1e40af;box-shadow:0 0 0 2px #1e40af33}.almacen-sin-foto{color:#94a3b8}.almacen-cell-clave{font-family:ui-monospace,monospace;font-weight:600;color:#1e40af}.almacen-empty{color:#64748b;font-style:italic;padding:28px!important;text-align:center}.almacen-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.almacen-modal-inner{position:relative;background:#fff;border-radius:14px;padding:24px;max-width:90vw;max-height:90vh;overflow:auto}.almacen-modal-cerrar{position:absolute;top:12px;right:12px;width:40px;height:40px;border:none;border-radius:50%;background:#f1f5f9;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.almacen-modal-cerrar:hover{background:#e2e8f0;color:#1e293b}.almacen-modal-titulo{margin:0 0 16px;font-size:16px;font-weight:600;color:#1e293b}.almacen-modal-img{display:block;max-width:100%;max-height:75vh;width:auto;height:auto;object-fit:contain;border-radius:8px}.almacen-section-desc{color:#64748b;font-size:14px;margin:0 0 20px}.almacen-asignar-section,.almacen-existencias-section,.almacen-prestamos-section{background:#fff;border-radius:14px;padding:28px 32px;margin-bottom:28px;box-shadow:0 1px 4px #00000014;border:1px solid #e2e8f0}.almacen-asignar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px 24px;margin-bottom:24px}.almacen-asignar-section .almacen-btn.agregar{margin-top:0}.almacen-table-prestamos th,.almacen-table-prestamos td{font-size:14px;padding:12px 14px}.almacen-row-devuelto{background:#f0fdf4;color:#166534}.almacen-btn-devolver{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;background:#0d9488;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.almacen-btn-devolver:hover{background:#0f766e}.almacen-devuelto-label{font-size:13px;color:#166534}.almacen-btn-logs{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#475569;font-size:12px;cursor:pointer;transition:all .2s}.almacen-btn-logs:hover{background:#f1f5f9;border-color:#94a3b8}.almacen-logs-cell{background:#f8fafc;padding:12px 18px!important;border-bottom:1px solid #e2e8f0;vertical-align:top}.almacen-logs-list{display:flex;flex-direction:column;gap:8px}.almacen-log-item{display:flex;gap:12px;font-size:13px}.almacen-log-fecha{color:#64748b;min-width:160px}.almacen-log-accion{color:#334155;font-weight:500}@media(max-width:640px){.almacen-title{font-size:22px}.almacen-filtros{flex-direction:column;align-items:stretch}.almacen-buscar-wrap{max-width:none}.almacen-table th,.almacen-table td{padding:10px 12px;font-size:14px}.almacen-foto-mini{width:40px;height:40px}.almacen-asignar-grid{grid-template-columns:1fr}.almacen-table-prestamos{font-size:12px}}.documentos-container{padding:28px 40px;max-width:1600px;width:100%;margin:0 auto;background:#f8fafc;min-height:100%;box-sizing:border-box}.documentos-header{margin-bottom:28px}.documentos-header-with-back{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.documentos-btn-regresar{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid #1e40af;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0}.documentos-btn-regresar:hover{background:#dbeafe;border-color:#1d4ed8}.documentos-title{color:#1e40af;font-size:28px;font-weight:700;margin:0 0 8px}.documentos-subtitle{color:#64748b;font-size:15px;margin:0}.documentos-buscar-wrap{position:relative;max-width:480px;margin-bottom:28px}.documentos-icon-buscar{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.documentos-input-buscar{width:100%;padding:14px 16px 14px 48px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;color:#1e293b;box-sizing:border-box}.documentos-input-buscar:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af26}.documentos-lista{background:#fff;border-radius:14px;padding:28px 32px;box-shadow:0 1px 4px #00000014;border:1px solid #e2e8f0}.documentos-section-title{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 24px}.documentos-empty{color:#64748b;font-style:italic;padding:24px 0;margin:0}.documentos-trabajadores-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}.documentos-trabajador-card{display:flex;flex-wrap:wrap;gap:24px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.documentos-trabajador-info{display:flex;align-items:center;gap:20px;min-width:280px}.documentos-trabajador-foto{width:80px;height:80px;border-radius:10px;overflow:hidden;background:#e2e8f0;flex-shrink:0}.documentos-trabajador-foto img{width:100%;height:100%;object-fit:cover}.documentos-trabajador-foto-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:12px;color:#64748b}.documentos-trabajador-datos{flex:1;min-width:0}.documentos-trabajador-nombre{margin:0 0 6px;font-size:18px;font-weight:600;color:#1e293b}.documentos-trabajador-rango{margin:0 0 4px;font-size:14px;color:#475569}.documentos-trabajador-curp{margin:0;font-size:13px;color:#64748b}.documentos-docs-block{flex:1;min-width:300px}.documentos-docs-title{margin:0 0 12px;font-size:15px;font-weight:700;color:#1e40af}.documentos-docs-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.documentos-doc-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.documentos-doc-titulo{font-size:14px;font-weight:500;color:#334155}.documentos-doc-acciones{display:flex;align-items:center;gap:10px}.documentos-btn-ver,.documentos-btn-descargar{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}.documentos-btn-ver{background:#e0e7ff;color:#3730a3}.documentos-btn-ver:hover{background:#c7d2fe}.documentos-btn-descargar{background:#d1fae5;color:#065f46}.documentos-btn-descargar:hover{background:#a7f3d0}.documentos-doc-sin-archivo{font-size:13px;color:#94a3b8}.documentos-btn-editar-doc,.documentos-btn-borrar-doc{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.documentos-btn-editar-doc{background:#fef3c7;color:#92400e}.documentos-btn-editar-doc:hover{background:#fde68a}.documentos-btn-borrar-doc{background:#fee2e2;color:#991b1b}.documentos-btn-borrar-doc:hover{background:#fecaca}.documentos-trabajadores-list-vista-principal{gap:12px}.documentos-trabajador-card-fila{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:16px 20px}.documentos-trabajador-foto-fila{width:64px;height:64px}.documentos-trabajador-datos-fila{flex:1;min-width:180px}.documentos-trabajador-fecha{margin:4px 0 0;font-size:13px;color:#64748b}.documentos-trabajador-accion{flex-shrink:0}.documentos-btn-ver-documentos{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:8px;background:#1e40af;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.documentos-btn-ver-documentos:hover{background:#1d4ed8}.documentos-detalle{display:flex;flex-wrap:wrap;gap:32px;background:#fff;border-radius:14px;padding:28px 32px;box-shadow:0 1px 4px #00000014;border:1px solid #e2e8f0}.documentos-trabajador-info-detalle{min-width:260px}.documentos-docs-block-detalle{flex:1;min-width:320px}.documentos-empty-docs{color:#94a3b8;font-size:14px;margin:0;padding:16px 0}.documentos-btn-subir{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px dashed #1e40af;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.documentos-btn-subir:hover{background:#dbeafe;border-color:#1d4ed8}.documentos-input-file{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.documentos-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.documentos-modal-inner{background:#fff;border-radius:14px;padding:28px;max-width:420px;width:100%;box-shadow:0 4px 24px #00000026}.documentos-modal-inner h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#1e293b}.documentos-modal-inner label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#334155}.documentos-input{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;color:#1e293b;box-sizing:border-box;margin-bottom:20px}.documentos-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.documentos-btn-cancelar{padding:10px 20px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;font-size:14px;font-weight:600;cursor:pointer}.documentos-btn-cancelar:hover{background:#f1f5f9}.documentos-btn-confirmar{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background:#1e40af;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.documentos-btn-confirmar:hover{background:#1d4ed8}@media(max-width:768px){.documentos-container{padding:20px}.documentos-header-with-back{flex-direction:column;align-items:stretch}.documentos-trabajador-card,.documentos-trabajador-card-fila{flex-direction:column;align-items:flex-start}.documentos-trabajador-info{min-width:0}.documentos-trabajador-accion,.documentos-btn-ver-documentos{width:100%}.documentos-detalle{flex-direction:column;padding:20px}.documentos-trabajador-info-detalle,.documentos-docs-block-detalle{min-width:0}.documentos-doc-acciones{flex-wrap:wrap}}.dashboard-container{display:flex;min-height:100vh;background-color:#f1f3f6;font-family:Inter,sans-serif;overflow-x:hidden}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:1000}.sidebar{width:260px;min-width:260px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:20px 15px;box-shadow:2px 0 10px #00000005;border-right:1px solid #e1e4e8}.logo-container{margin-bottom:30px;padding:0 5px}.sidebar-logo{width:100%;height:auto;display:block}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.nav-item{text-decoration:none;color:#000;background-color:#fff;font-size:16px;font-weight:400;padding:10px 15px;border-radius:12px;letter-spacing:.2px;transition:all .2s ease;font-family:Inter,sans-serif;text-transform:uppercase;border:1px solid #e1e4e8;cursor:pointer;width:100%;text-align:left}.nav-item.active{background-color:#242d56;color:#fff;font-weight:500;box-shadow:0 2px 4px #0000001a;border:1px solid #242D56}.nav-item:hover:not(.active){background-color:#f1f3f6;border-color:#d1d5db}.sidebar-bottom{border-top:1px solid #eee;padding-top:20px}.user-profile{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:15px}.profile-image-placeholder{width:110px;height:120px;border:1px solid #333;background:#fff}.profile-image{width:110px;height:120px;border:1px solid #333;background:#fff;object-fit:cover;border-radius:4px}.user-name{font-size:15px;font-weight:400;color:#333;text-transform:uppercase}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:none;border:none;font-size:16px;font-weight:400;color:#dc2626;padding:8px;cursor:pointer}.logout-btn:hover{color:#b91c1c}.mobile-header{display:none;align-items:center;gap:12px;padding:12px 0 16px;margin-bottom:4px}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#242d56;color:#fff;border:none;border-radius:10px;cursor:pointer;flex-shrink:0}.mobile-menu-btn:active{opacity:.9}.mobile-header-title{font-size:18px;font-weight:600;color:#1e293b;text-transform:uppercase;letter-spacing:.5px}.main-content{flex:1;min-width:0;padding:25px 40px;display:flex;flex-direction:column;overflow-x:hidden;box-sizing:border-box}.action-grid-wrapper{margin-bottom:30px}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.action-group{display:flex;flex-direction:column;gap:0;background:#fff;padding:0;border-radius:8px;box-shadow:0 2px 8px #00000008;align-items:center;border:1px solid #eee;overflow:hidden}.action-group-iniciar-sesion .action-main,.action-group-iniciar-sesion .action-sub-view:hover{background:#ea580c;color:#fff}.action-group-bloqueado .action-main{background:#9ca3af;color:#fff}.action-group-bloqueado .action-icon svg{opacity:.5}.action-group-bloqueado .action-sub{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.action-group-bloqueado .action-sub:hover{background:#f3f4f6;color:#6b7280}.action-main{width:100%;background:#00bdff;color:#fff;height:36px;border-radius:0;border:none;font-size:13px;font-weight:500;text-transform:uppercase;display:flex;align-items:center;justify-content:center;cursor:default;pointer-events:none}.action-icon{display:flex;align-items:center;justify-content:center;padding:20px;flex:1;min-height:80px}.action-sub{width:100%;background:#fff;color:#333;height:32px;border-radius:0;border:none;border-top:1px solid #eee;font-size:10px;font-weight:400;text-transform:uppercase;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;margin-top:auto}.action-sub-view{background:#fff;color:#333;border-top:1px solid #eee}.action-sub-view:hover{background:#242d56;color:#fff;border-top:none}.action-sub-edit{background:#fff;color:#333;border-top:1px solid #eee}.action-sub-edit:hover{background:#242d56;color:#fff;border-top:none}.divider{width:100%;height:8px;background-color:#6a95f8;margin-bottom:30px}.lists-container{display:flex;gap:30px;flex:1}.list-section{flex:1;display:flex;flex-direction:column}.section-title{font-size:15px;color:#333;margin-bottom:12px;font-weight:400;text-align:center;text-transform:uppercase}.list-box{background:#f1f3f6;border:1px solid #6a95f8;padding:15px;flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.list-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-text{font-size:13px;color:#333;font-weight:400;text-transform:uppercase}.status-dot{width:12px;height:12px;background-color:#000;border-radius:50%;flex-shrink:0}.dashboard-footer{margin-top:30px;padding-bottom:10px;text-align:right}.dashboard-footer span{font-size:11px;color:#666;text-transform:uppercase}@media(max-width:1400px){.action-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1100px){.action-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.lists-container{flex-direction:column}}@media(max-width:768px){.sidebar-overlay{display:block}.sidebar{position:fixed;left:0;top:0;height:100%;width:280px;max-width:85vw;min-width:0;z-index:1002;transform:translate(-100%);transition:transform .25s ease;box-shadow:none;border-right:none}.sidebar.sidebar-open{transform:translate(0);box-shadow:4px 0 20px #00000026}.main-content{width:100%;padding:12px 16px 16px}.mobile-header{display:flex}.action-grid{grid-template-columns:1fr 1fr;gap:12px}.action-main{font-size:11px}.action-sub,.action-sub-view,.action-sub-edit{font-size:9px}.lists-container{flex-direction:column;gap:16px}.section-title{font-size:13px}.list-box{padding:12px}.item-text{font-size:12px}}@media(max-width:480px){.action-grid{grid-template-columns:1fr}.main-content{padding:12px}}.gerencia-login-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.gerencia-login-modal{background:#fff;border-radius:12px;width:100%;max-width:400px;box-shadow:0 12px 40px #0003;overflow:hidden}.gerencia-login-header{background:#ea580c;color:#fff;padding:16px 24px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:center}.gerencia-login-subtitle{margin:0;padding:16px 24px 8px;font-size:13px;color:#64748b;text-align:center}.gerencia-login-form{padding:16px 24px 24px}.gerencia-login-form label{display:block;font-size:12px;font-weight:600;color:#334155;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.gerencia-login-form input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;margin-bottom:14px;box-sizing:border-box}.gerencia-login-password-wrap{position:relative;margin-bottom:14px}.gerencia-login-password-wrap input{margin-bottom:0;padding-right:44px}.gerencia-login-toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#64748b;cursor:pointer;border-radius:6px;transition:color .2s,background .2s}.gerencia-login-toggle-password:hover{color:#ea580c;background:#ea580c14}.gerencia-codigo-cajas{display:flex;gap:8px;margin-bottom:14px;justify-content:center}.gerencia-codigo-cell{display:flex;flex-direction:column;align-items:center;gap:0;flex:1;max-width:48px}.gerencia-codigo-input{width:100%;height:44px;text-align:center;font-size:20px;font-weight:700;border:1px solid #cbd5e1;border-radius:8px;padding:0;margin-bottom:6px;box-sizing:border-box}.gerencia-codigo-input:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 2px #ea580c26}.gerencia-codigo-linea{width:100%;height:4px;border-radius:2px;transition:background .2s}.gerencia-codigo-cell .gerencia-codigo-linea-neutral{background:#e2e8f0}.gerencia-codigo-cell .gerencia-codigo-linea-verde{background:#22c55e}.gerencia-codigo-cell .gerencia-codigo-linea-rojo{background:#dc2626}.gerencia-login-form input:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 2px #ea580c26}.gerencia-login-error{margin:0 0 12px;font-size:13px;color:#dc2626;font-weight:500}.gerencia-login-actions{display:flex;gap:12px;margin-top:20px}.gerencia-login-cancelar{flex:1;padding:10px 16px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.gerencia-login-cancelar:hover{background:#f1f5f9}.gerencia-login-acceder{flex:1;padding:10px 16px;border:none;background:#ea580c;color:#fff;border-radius:8px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.gerencia-login-acceder:hover{background:#c2410c}.gerencia-bienvenida-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1001}.gerencia-bienvenida-modal{background:#fff;border-radius:16px;padding:32px 40px;max-width:440px;width:90%;text-align:center;box-shadow:0 16px 48px #0003}.gerencia-bienvenida-icon{width:56px;height:56px;margin:0 auto 16px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:28px;font-weight:700;line-height:56px;border-radius:50%}.gerencia-bienvenida-titulo{margin:0 0 12px;font-size:22px;font-weight:700;color:#1e293b}.gerencia-bienvenida-mensaje{margin:0 0 24px;font-size:15px;line-height:1.5;color:#475569}.gerencia-bienvenida-btn{padding:12px 28px;background:#ea580c;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.gerencia-bienvenida-btn:hover{background:#c2410c}.App{min-height:100%;height:100%;overflow-x:hidden}@media(max-width:768px){.main-content .obras-container,.main-content .personal-container,.main-content .administradores-container,.main-content .plataformas-container,.main-content .asistencias-container,.main-content .bitacoras-container,.main-content .insumos-container,.main-content .seguridad-container,.main-content .incidentes-container,.main-content .vehiculos-container,.main-content .sua-pagos-container,.main-content .fichas-tecnicas-container,.main-content .facturas-container,.main-content .detalle-obra-container,.main-content .obras-body,.main-content .personal-body,.main-content .administradores-body,.main-content .plataformas-body,.main-content .asistencias-body{margin-left:-16px!important;margin-right:-16px!important;width:calc(100% + 32px)!important;max-width:none!important;box-sizing:border-box}.main-content .obras-header,.main-content .personal-header,.main-content .administradores-header,.main-content .plataformas-header,.main-content .asistencias-header,.main-content .obras-body,.main-content .personal-body,.main-content .administradores-body,.main-content .plataformas-body,.main-content .asistencias-body{padding-left:16px!important;padding-right:16px!important}.main-content .btn-regresar-personal,.main-content .btn-regresar-administradores,.main-content .btn-regresar-plataformas,.main-content .btn-regresar-asistencias{left:12px!important;padding:6px 10px!important;font-size:12px!important}}
