*{box-sizing:border-box}
body{margin:0;background:#f3f5f8;color:#1f2937;font-family:Arial,Helvetica,sans-serif}
header{background:#17365d;color:#fff;padding:18px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}
h1{margin:0;font-size:25px}header p{margin:6px 0 0;opacity:.85}
.acciones{display:flex;gap:8px;flex-wrap:wrap}.acciones button{background:#fff;color:#17365d}
.panel{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0001;margin-bottom:16px;padding:16px}
main{width:94%;max-width:1700px;margin:20px auto}
.filtros{display:flex;align-items:end;gap:15px}.campo{flex:1;max-width:650px}
label{display:block;font-weight:700;font-size:14px;margin-bottom:12px}
label input,label select,label textarea,.barra input{display:block;width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:7px;padding:10px;font-size:14px;background:#fff}
button{border:0;border-radius:7px;padding:10px 14px;cursor:pointer;font-weight:700}button.primary{background:#2563eb;color:#fff}
button:focus,input:focus,select:focus{outline:3px solid #93c5fd;outline-offset:1px}
.encabezado{display:grid;grid-template-columns:1fr 1.5fr .7fr .8fr .8fr .9fr;gap:10px;background:#eef4fb}
.encabezado div{padding:10px;border-left:3px solid #2563eb}.encabezado span{display:block;font-size:11px;color:#64748b}.encabezado strong{font-size:16px}
.barra{display:flex;gap:12px;margin-bottom:10px}.barra input{flex:1;margin:0}
.ayuda-edicion{background:#f0f7ff;border:1px solid #bfdbfe;color:#174a7c;border-radius:7px;padding:9px 11px;margin-bottom:14px;font-size:13px}
.tabla-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:1250px}
th{background:#17365d;color:#fff;padding:10px 8px;font-size:12px;white-space:nowrap}
td{border:1px solid #dbe2ea;padding:7px;text-align:center;font-size:13px;vertical-align:middle}
td:nth-child(2),td:nth-child(3),td:nth-child(8){text-align:left}
.acciones-fila{white-space:nowrap}.acciones-fila button{padding:6px 9px;margin:2px;font-size:12px}
.editar{background:#e0f2fe;color:#075985}.eliminar{background:#fee2e2;color:#991b1b}
.verificado-cell{width:90px}.check-verificado{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:0;cursor:pointer;font-size:20px;color:#94a3b8;font-weight:700}
.check-verificado input{position:absolute;opacity:0;pointer-events:none}.check-verificado span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid #cbd5e1;border-radius:7px;background:#fff;color:transparent;font-size:19px}
.check-verificado input:checked + span{background:#dcfce7;border-color:#22c55e;color:#15803d}.check-verificado input:focus + span{outline:3px solid #93c5fd}
.fila-verificada{background:#f8fff9}.fila-verificada td:first-child{font-weight:700}
.fila-editando{background:#fffdf0}
.celda-input,.celda-select{width:100%;border:1px solid #94a3b8;border-radius:5px;padding:8px 7px;font-size:13px;background:#fff}
.celda-input.numero{min-width:70px}.guardar-fila{background:#dcfce7;color:#166534;padding:6px 9px;font-size:12px}.cancelar-fila{background:#f1f5f9;color:#475569;padding:6px 9px;font-size:12px}
.modal{position:fixed;inset:0;background:#0008;display:none;align-items:center;justify-content:center;padding:20px;z-index:10}.modal.activo{display:flex}
.modal-card{background:#fff;width:min(650px,100%);border-radius:12px;padding:20px}.modal-card.small{max-width:430px}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0}.cerrar{font-size:25px;background:transparent}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.form-actions button:first-child{background:#e5e7eb}
@media(max-width:850px){header{align-items:flex-start;flex-direction:column}.filtros,.barra{flex-direction:column;align-items:stretch}.encabezado{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:500px){.encabezado{grid-template-columns:1fr 1fr}h1{font-size:21px}}
