:root{--teal: #0f766e;--teal-oscuro: #115e59;--teal-claro: #ccfbf1;--texto: #0f172a;--texto-suave: #64748b;--fondo: #f1f5f9;--borde: #e2e8f0;--card: #ffffff;--rojo: #dc2626;--radio: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fondo);color:var(--texto);-webkit-tap-highlight-color:transparent}.app{display:flex;flex-direction:column;min-height:100dvh}.cabecera{background:linear-gradient(135deg,var(--teal),var(--teal-oscuro));color:#fff;padding:14px 16px;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px #0f766e59}.cabecera-inner{display:flex;justify-content:space-between;align-items:center;gap:8px}.titulo{font-size:1.2rem;font-weight:700}.subtitulo{font-size:.8rem;opacity:.85}.cabecera-derecha{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chip-version{font-size:.62rem;background:#ffffff2e;padding:3px 8px;border-radius:999px;white-space:nowrap}.chip-red{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;background:#ffffff2e;padding:3px 8px;border-radius:999px}.chip-red .punto{width:8px;height:8px;border-radius:50%;background:#f87171}.chip-red.ok .punto{background:#4ade80}.chip-red.ok{color:#dcfce7}.chip-red.mal{color:#fee2e2}.aviso-error{margin:10px 12px 0;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;color:var(--rojo);border-radius:10px;font-size:.9rem}.contenido{flex:1;padding:14px 12px 90px;max-width:640px;width:100%;margin:0 auto}.panel{background:var(--card);border:1px solid var(--borde);border-radius:var(--radio);padding:16px;box-shadow:0 1px 3px #0f172a0f}.bloque+.bloque{margin-top:18px}.bloque-titulo{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--teal-claro)}.bloque-titulo.mt{margin-top:18px}.campo{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;flex:1}.campo>span{font-size:.75rem;font-weight:600;color:var(--texto-suave)}.campo input,.campo select,.campo textarea{font:inherit;font-size:1rem;padding:11px 12px;border:1px solid var(--borde);border-radius:10px;background:#f8fafc;color:var(--texto);width:100%;outline:none;transition:border .15s,box-shadow .15s}.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e26;background:#fff}.fila2,.fila3{display:flex;gap:10px}.fila2 .campo,.fila3 .campo{min-width:0}.check-grupo{border:none;margin:10px 0 14px}.check-grupo legend{font-size:.75rem;font-weight:600;color:var(--texto-suave);margin-bottom:6px}.check{display:flex;align-items:center;gap:8px;font-size:.95rem;margin-bottom:6px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--teal)}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.preview-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#e2e8f0}.preview-item img{width:100%;height:100%;object-fit:cover}.preview-borrar{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;border:none;background:#0f172abf;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.contador{font-size:.8rem;color:var(--texto-suave);margin-bottom:8px;font-weight:600}.boton-foto{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:2px dashed var(--teal);border-radius:12px;background:var(--teal-claro);color:var(--teal-oscuro);font-weight:700;font-size:1rem;cursor:pointer}.boton-foto.deshabilitado{opacity:.45;pointer-events:none}.boton-revision{border-style:dotted}.boton-primario{width:100%;padding:15px;border:none;border-radius:12px;background:var(--teal);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 3px 8px #0f766e59}.boton-primario:active{transform:scale(.99)}.boton-primario:disabled{opacity:.55}.boton-secundario{padding:9px 14px;border:1px solid var(--teal);border-radius:10px;background:#fff;color:var(--teal);font-weight:600;font-size:.85rem;cursor:pointer}.boton-peligro{padding:12px 14px;border:1px solid var(--rojo);border-radius:10px;background:#fff;color:var(--rojo);font-weight:700;cursor:pointer}.panel-exito{text-align:center;padding:40px 20px}.icono-exito{width:68px;height:68px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:2.2rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;border:3px solid #bbf7d0}.mensaje-exito{color:var(--texto-suave);margin-bottom:24px}.pendientes-cabecera{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.vacio{color:var(--texto-suave);text-align:center;padding:30px 0}.orden{background:#f8fafc;border:1px solid var(--borde);border-radius:10px;padding:12px;margin-bottom:10px;cursor:pointer}.orden-cabeza{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.orden-linea{font-size:.9rem}.orden-linea.suave{color:var(--texto-suave);font-size:.78rem}.badge{background:var(--teal);color:#fff;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;margin-left:6px}.badge.espera{background:#d97706}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal-caja{background:var(--card);border-radius:18px 18px 0 0;width:100%;max-width:640px;max-height:88dvh;overflow-y:auto;padding:16px 16px 90px}.modal-titulo{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-cerrar{width:32px;height:32px;border:none;border-radius:50%;background:#f1f5f9;color:var(--texto);font-size:1.3rem;cursor:pointer}.modal-acciones{display:flex;gap:10px;margin-top:14px}.modal-acciones .boton-primario{flex:1}.bottombar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--borde);padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:40}.tab{flex:1;padding:10px 6px;border:none;background:transparent;font-size:.85rem;font-weight:600;color:var(--texto-suave);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.tab.activo{color:var(--teal);background:var(--teal-claro)}@media(max-width:480px){.fila3{flex-direction:column;gap:0}}
