.nombre-upper,.input-upper{text-transform:uppercase}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;background:#f8f9fa;color:#333}.sidebar{width:260px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;padding:20px 0;flex-shrink:0;min-height:100vh}.sidebar .sidebar-header{padding:15px 25px 20px;border-bottom:1px solid #e0e0e0;margin-bottom:10px}.sidebar .sidebar-header h3{color:#dc143c;font-size:1rem;margin:0 0 .25rem;font-weight:700}.sidebar .sidebar-header p{color:#999;font-size:.8rem;margin:0}.sidebar .nav-menu{list-style:none;padding:0;margin:0;flex:1}.sidebar .nav-menu li{padding:14px 25px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s;border-left:3px solid transparent}.sidebar .nav-menu li:hover{background:#f5f5f5;color:#dc143c}.sidebar .nav-menu li.active{background:#fff0f0;color:#dc143c;border-left-color:#dc143c;font-weight:600}.sidebar .sidebar-footer{border-top:1px solid #e0e0e0;padding:15px 25px 0;font-size:.85rem}.sidebar .sidebar-footer span{display:block;color:#333;font-weight:600;margin-bottom:.5rem}.sidebar .sidebar-footer button{width:100%;padding:.5rem;background:transparent;border:1px solid #ddd;color:#666;border-radius:6px;cursor:pointer;font-size:.85rem}.sidebar .sidebar-footer button:hover{background:#f5f5f5;color:#dc143c}.main-content{flex:1;padding:30px;background:#f8f9fa;overflow-y:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{font-size:28px;color:#333;margin:0}.alert-success{background:#e8f5e9;color:#2e7d32;padding:15px 20px;border-radius:8px;margin-bottom:20px;border:1px solid #a5d6a7;font-size:15px}.alert-error{background:#ffebee;color:#c62828;padding:15px 20px;border-radius:8px;margin-bottom:20px;border:1px solid #ef9a9a;font-size:15px}.loading{color:#666;padding:1rem}.tabla-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #00000014;margin-bottom:20px}.tabla-container table{width:100%;border-collapse:collapse}.tabla-container th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#333;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.tabla-container td{padding:15px;border-top:1px solid #f0f0f0;font-size:14px;color:#666}.tabla-container tr:hover td{background:#f8f9fa}.tabla-container tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge.activo,.badge.aprobado,.badge.vigente{background:#e8f5e9;color:#2e7d32}.badge.rechazado,.badge.suspendido,.badge.vencido{background:#ffebee;color:#c62828}.badge.solicitado{background:#e3f2fd;color:#1565c0}.badge.en-proceso,.badge.pendiente{background:#fff3e0;color:#f57c00}.badge.entregado,.badge.inactivo{background:#f5f5f5;color:#666}.badge.suspension{background:#ffebee;color:#c62828}.badge.amonestacion{background:#fff3e0;color:#f57c00}.form-card,.upload-card,.asignar-panel{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 4px #00000014;margin-bottom:20px}.form-card h3,.upload-card h3,.asignar-panel h3{font-size:18px;color:#333;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #dc143c}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:13px;font-weight:600;color:#666;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#dc143c}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.btn-primary,.btn-nuevo,.btn-asignar,.btn-guardar,.btn-solicitar,.btn-agregar,.btn-subir,.btn-registrar,.btn-aprobar,.btn-login{background:#dc143c;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled),.btn-nuevo:hover:not(:disabled),.btn-asignar:hover:not(:disabled),.btn-guardar:hover:not(:disabled),.btn-solicitar:hover:not(:disabled),.btn-agregar:hover:not(:disabled),.btn-subir:hover:not(:disabled),.btn-registrar:hover:not(:disabled),.btn-aprobar:hover:not(:disabled),.btn-login:hover:not(:disabled){background:#b01030}.btn-primary:disabled,.btn-nuevo:disabled,.btn-asignar:disabled,.btn-guardar:disabled,.btn-solicitar:disabled,.btn-agregar:disabled,.btn-subir:disabled,.btn-registrar:disabled,.btn-aprobar:disabled,.btn-login:disabled{opacity:.6;cursor:not-allowed}.btn-secondary,.btn-cancelar{background:#fff;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.btn-secondary:hover,.btn-cancelar:hover{background:#f5f5f5}.btn-rechazar{background:#fff;color:#dc143c;border:1px solid #dc143c;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-rechazar:hover{background:#fff0f0}.btn-rechazar:disabled{opacity:.6;cursor:not-allowed}.btn-ver,.btn-docs,.btn-evidencia{background:#dc143c;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.btn-ver:hover,.btn-docs:hover,.btn-evidencia:hover{background:#b01030}.btn-eliminar,.btn-remover,.btn-danger{background:#fff;color:#dc143c;border:1px solid #dc143c;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn-eliminar:hover,.btn-remover:hover,.btn-danger:hover{background:#fff0f0}.btn-levantar{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.btn-levantar:hover{background:#c8e6c9}.btn-toggle{padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.btn-toggle.desactivar{background:#ffebee;color:#c62828;border-color:#ef9a9a}.btn-toggle:hover{opacity:.8}.total-badge{background:#dc143c;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}.stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 4px #00000014;text-align:center;border-top:3px solid #dc143c}.stat-valor,.stat-number{font-size:36px;font-weight:700;color:#dc143c;line-height:1;margin-bottom:8px}.stat-label{font-size:14px;color:#666}.filtros{display:flex;align-items:center;gap:15px;margin-bottom:20px;background:#fff;padding:15px 20px;border-radius:12px;box-shadow:0 2px 4px #00000014}.filtros input,.filtros select{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit}.filtros input:focus,.filtros select:focus{outline:none;border-color:#dc143c}.filtros input{flex:1}.total{margin-left:auto;font-size:14px;color:#666}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-contenido{background:#fff;border-radius:16px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 20px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e0e0e0;background:#fff;font-size:18px;font-weight:600;color:#333}.btn-cerrar{background:#f5f5f5;border:none;color:#666;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s}.btn-cerrar:hover{background:#dc143c;color:#fff}.modal-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;min-height:400px}.img-visor{max-width:100%;max-height:75vh;object-fit:contain;border-radius:8px}.pdf-visor{width:100%;height:75vh;border:none}.areas-tabs,.roles-tabs{display:flex;gap:5px;background:#fff;padding:10px;border-radius:12px;margin-bottom:20px;overflow-x:auto;box-shadow:0 2px 4px #00000014}.tab-btn{padding:10px 20px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:14px;color:#666;white-space:nowrap;transition:all .2s}.tab-btn:hover{background:#f5f5f5}.tab-btn.active{background:#dc143c;color:#fff;font-weight:600}.empty,.sin-pendientes,.sin-solicitudes,.sin-docs{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;color:#999;box-shadow:0 2px 4px #00000014;font-size:16px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.esp-card,.cambio-card,.card-pendiente,.esp-pendiente-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 4px #00000014;border-left:4px solid #dc143c}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.info-row label{color:#999;font-weight:600;font-size:13px}.info-row span{color:#333}.info-row:last-child{border-bottom:none}.link-jefe{margin-top:.5rem;border-top:1px solid #e0e0e0;padding-top:14px!important;color:#dc143c!important;font-weight:600}.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel-docs{width:280px;background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000014;overflow:hidden;flex-shrink:0}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#dc143c;color:#fff;font-size:14px;font-weight:600}.btn-cerrar-panel{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px}.btn-cerrar-panel:hover{background:#0003}.docs-lista{padding:8px}.doc-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer;border:1px solid transparent}.doc-item:hover{background:#f8f9fa;border-color:#e0e0e0}.doc-icono{font-size:1.5rem}.doc-info{flex:1}.doc-nombre{font-size:13px;font-weight:600;color:#333}.doc-fecha{font-size:12px;color:#999}.contenido-principal{display:flex;gap:20px;align-items:flex-start}.contenido-principal .tabla-container{flex:1}.tabla-container tr.seleccionado td{background:#fff5f5}.fuerza-bar{height:4px;background:#e0e0e0;border-radius:4px;margin-top:6px;overflow:hidden}.fuerza-fill{height:100%;border-radius:4px;transition:width .3s}.debil{color:#dc143c;background:#dc143c}.media{color:#f57c00;background:#f57c00}.fuerte{color:#2e7d32;background:#2e7d32}.main-header{position:fixed;top:0;left:260px;right:0;height:70px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;padding:0 30px;z-index:999}.logo-header{height:55px;object-fit:contain}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:45px;height:45px;border-radius:50%;background:#dc143c;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.user-name{font-weight:600;color:#333;font-size:14px}.user-role{font-size:13px;color:#666}.sidebar{position:fixed!important;left:0;top:0;height:100vh;overflow-y:auto;z-index:1000}.voluntario-layout,.coordinador-layout,.admin-layout,.jefe-layout{display:flex;min-height:100vh}.main-content{margin-left:260px;margin-top:70px;flex:1;padding:30px;background:#f8f9fa;min-height:calc(100vh - 70px)}.sidebar-user{padding:20px 15px;text-align:center;border-bottom:1px solid #e0e0e0;margin-bottom:10px}.sidebar-avatar{display:flex;align-items:center;justify-content:center;margin-bottom:10px}.sidebar-user-name{font-weight:700;color:#333;font-size:14px;margin-bottom:4px}.sidebar-user-role{font-size:13px;color:#dc143c;font-weight:600}.sidebar-nav{display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 25px;color:#666;cursor:pointer;transition:all .2s;border-left:3px solid transparent;text-decoration:none;font-size:14px}.nav-item:hover{background:#f5f5f5;color:#dc143c}.nav-item.active{background:#fff0f0;color:#dc143c;border-left-color:#dc143c;font-weight:600}.nav-icon{font-size:18px;width:24px;text-align:center}.nav-separator{height:1px;background:#e0e0e0;margin:8px 15px}.nav-logout{color:#999}.nav-logout:hover{background:#fff0f0;color:#dc143c}
