:root{--azul: #2d6a9f;--azul-claro: #e8f1f8;--verde: #27ae60;--rojo: #e74c3c;--naranja: #f39c12;--gris: #f5f6fa;--gris-borde: #dde1e7;--texto: #2c3e50;--texto-suave: #7f8c8d;--blanco: #ffffff;--sombra: 0 2px 8px rgba(0,0,0,.08);--radio: 10px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gris);color:var(--texto);font-size:14px}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primario{background:var(--azul);color:#fff}.btn-secundario{background:#49453e;color:#fff}.btn-verde{background:var(--verde);color:#fff}.btn-rojo{background:var(--rojo);color:#fff}.btn-gris{background:var(--gris-borde);color:var(--texto)}.btn-nas{background-color:#9dbcff}.btn-nas:hover{cursor:pointer}.card{background:var(--blanco);border-radius:var(--radio);box-shadow:var(--sombra);padding:20px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge-2{background:#fef9e7;color:#d68910}.badge-1{background:#f2f3f4;color:#7f8c8d}.badge-3{background:#eaf4fb;color:#2980b9}.badge-4{background:#7be7aa;color:#010101}.badge-5{background:#df5151;color:#fff}.barra-progreso{height:10px;background:var(--gris-borde);border-radius:10px;overflow:hidden}.barra-progreso-fill{height:100%;border-radius:10px;transition:width .4s ease}input,select,textarea{width:100%;padding:8px 12px;border:1px solid var(--gris-borde);border-radius:6px;font-size:13px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--azul)}label{font-size:12px;font-weight:600;color:var(--texto-suave);display:block;margin-bottom:4px}.form-group{margin-bottom:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:var(--radio);padding:28px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:20px;font-size:17px}.page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;margin-bottom:24px}.page-header h1{font-size:20px;margin-right:1rem}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--gris-borde)}th{font-size:11px;font-weight:700;color:var(--texto-suave);text-transform:uppercase}.fila-trabajo:hover{cursor:pointer}.codigo-trabajo{display:inline-block;margin-left:.5rem;background-color:var(--azul-claro);font-weight:700;padding:5px;border-radius:.5rem;color:#777}tr:hover td{background:var(--gris)}.error{color:var(--rojo);font-size:12px;margin-top:6px}.spinner{text-align:center;padding:40px;color:var(--texto-suave)}.item-option{width:270px}.imagen-trabajo{position:relative;display:inline-block}.imagen-trabajo img{width:100px;height:100px;object-fit:cover;border-radius:8px;border:1px solid var(--gris-borde);display:block}.btn-eliminar-imagen{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border:none;border-radius:50%;background:var(--rojo);color:#fff;cursor:pointer;font-size:14px;font-weight:700;line-height:22px;text-align:center;transition:transform .15s ease}.btn-eliminar-imagen:hover{transform:scale(1.1)}.historial{display:flex;flex-direction:column;gap:12px;margin-top:15px}.historial-item{display:flex;gap:15px;padding:12px 16px;border-left:4px solid #1976d2;background:#fafafa;border-radius:8px}.historial-fecha{min-width:150px;font-size:12px;color:#777}.historial-contenido{flex:1}.historial-titulo{font-size:15px;margin-bottom:6px}.historial-detalle{color:#555;margin-bottom:6px}.historial-cambio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.valor-anterior{background:#ffeaea;color:#b71c1c;padding:3px 8px;border-radius:5px}.valor-nuevo{background:#e8f5e9;color:#1b5e20;padding:3px 8px;border-radius:5px}.flecha{font-weight:700;color:#666}.historial-vacio{text-align:center;color:#888;padding:20px}.section-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin:1rem 0 1.5rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #0000000a}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group label{font-size:.8rem;font-weight:600;color:#555}.filter-group input,.filter-group select{height:40px;padding:0 .75rem;border:1px solid #d6d6d6;border-radius:8px;font-size:.95rem;background:#fff;transition:.2s;outline:none}.filter-group input:focus,.filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.filter-group input::placeholder{color:#999}.filter-group:first-child{grid-column:span 2}@media (max-width: 900px){.filter-group:first-child{grid-column:span 1}}.pagination{display:flex;justify-content:space-between;flex-direction:row;align-items:end;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.btn-pagination{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.btn-pagination button{min-width:36px;height:36px;border:1px solid #d6d6d6;background:#fff;border-radius:8px;cursor:pointer;transition:.2s}.btn-pagination button:hover:not(:disabled){background:#f5f5f5}.btn-pagination button.active{background:#2563eb;color:#fff;border-color:#2563eb}.btn-pagination button:disabled{opacity:.5;cursor:not-allowed}.pages-and-btns{display:flex;flex-direction:column;align-items:center}.drop-zone{border:2px dashed #9ca3af;border-radius:12px;padding:30px;text-align:center;color:#6b7280;background-color:#f9fafb;cursor:pointer;transition:all .2s ease;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop-zone:hover{border-color:#2563eb;background-color:#eff6ff;color:#2563eb}.drop-zone.drag-over{border-color:#2563eb;background-color:#dbeafe;transform:scale(1.02)}.drop-zone-icon{font-size:40px;margin-bottom:10px}.drop-zone-text{font-size:15px}.drop-zone-text strong{color:#2563eb}.info-tiempos{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.info-tiempo-item{display:flex;flex-direction:column;gap:2px;padding:6px 12px;background:var(--gris-fondo, #f4f5f7);border:1px solid var(--gris-borde, #e2e4e9);border-radius:8px;min-width:140px}.info-tiempo-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--texto-suave, #8a8f98)}.info-tiempo-valor{font-size:13px;font-weight:500;color:var(--texto, #1c1f26)}.info-tiempo-destacado{background:#eef4ff;border-color:#c7d9ff}.info-tiempo-destacado .info-tiempo-valor{color:#2451c4;font-weight:700}
