/* Carril IAL: estilos propios de este carril. Se carga después de estilo.css; solo lo toca su dueño.
   Textos legales y declaración responsable (legal.js) · suscripción, panel de ventas (plataforma.js) · Revisar con Claude (bloque de gastos.js).
   Solo tokens de estilo.css (tamaños --t-*, huecos --e*, colores de estado): ni un #hex ni un tamaño suelto. */

/* ── lo que sustituye a los style="…" que había en legal.js y plataforma.js ── */
.enlace-marca { color: var(--marca); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.col-pila { gap: var(--e4); align-content: start; }
.fila.entre { justify-content: space-between; }
.sin-margen { margin: 0; }
.rg-h.primero { margin-top: 0; }
.legal-vista { max-width: none; }
.legal-pagina, .legal-aviso:has(+ .legal-pagina) { max-width: 860px; }          /* el aviso de arriba y el texto, a un mismo ancho de lectura y con el mismo borde derecho (ESTETICA-25) */
#main:has(> .legal-pagina) > .cab, #main:has(> .legal-pagina) > .decl-descargas, #main:has(> .legal-pagina) > .nota { max-width: 860px; }          /* y la cabecera y lo que va debajo, en la misma columna */
.copiable { flex-wrap: nowrap; }
.copiable > button { height: var(--alto-md); }          /* el campo mide 36 px y su botón «Copiar» también (ESTETICA-13: 32 junto a 36) */
.copiable input { flex: 1; min-width: 0; }

/* ── los textos legales dentro de Ajustes y la declaración responsable ── */
.decl-descargas { display: flex; flex-wrap: wrap; gap: var(--e2); margin-top: var(--e4); }
.decl-checks { list-style: none; display: grid; gap: var(--e2); padding: 0; margin: 0; }
.decl-checks li { display: flex; gap: var(--e2); align-items: flex-start; font-size: var(--t-sm); }
.decl-checks li .eti { flex: none; margin-top: 1px; }
.decl-conf { align-items: flex-start; margin-bottom: var(--e2); }
.decl-vista { max-height: 640px; overflow: auto; }
.decl-vista .legal-txt { padding: 0; border: 0; box-shadow: none; background: transparent; }
.decl-vista .legal-txt h1 { font-size: var(--t-lg); }

/* ── suscripción: aceptar las condiciones al contratar ── */
.sus-acepto { align-items: flex-start; }
.plan-iva:empty { display: none; }

/* ── Revisar con Claude ── */
.claude-icono { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--r); background: color-mix(in oklab, var(--claude, var(--marca)) 14%, transparent); }
.claude-icono svg { width: 26px; height: 26px; }
.claude-caminos { align-items: start; }
.claude-pasos { list-style: none; display: grid; gap: var(--e4); padding: 0; margin: 0; }
.claude-pasos li { display: flex; gap: var(--e3); align-items: flex-start; min-width: 0; }
.claude-pasos li > div { min-width: 0; flex: 1; }
.claude-pasos b { display: block; margin-bottom: var(--e1); }
.claude-pasos p { margin: 0 0 var(--e2); font-size: var(--t-sm); line-height: 1.5; }
.claude-prompt pre { margin: 0; padding: var(--e3); max-height: 260px; overflow: auto; white-space: pre-wrap; word-break: break-word; font: var(--t-xs)/1.55 var(--mono); background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--r); }
.claude-prompt pre:focus-visible { outline: 2px solid var(--foco); outline-offset: 1px; }
.claude-copiar { margin-top: var(--e2); }
.claude-progreso { display: grid; gap: var(--e2); margin-top: var(--e3); }
.claude-progreso .progreso i { background: var(--claude, var(--marca)); transition: width var(--dur) var(--curva); }
.claude-prov { max-width: 220px; }
.claude-dudas { max-width: 240px; }
.claude-error { color: var(--no-fg); margin-top: var(--e1); }
@media (max-width: 1100px) { .claude-caminos { grid-template-columns: minmax(0, 1fr); } }

/* Histórico de versiones de la declaración (columna de 260 px): la versión («2.1+9dc99216f4cd») se parte antes que obligar a la tabla a desplazarse 13 px de lado */
.tabla-version th, .tabla-version td { padding-left: 8px; padding-right: 8px; }
.tabla-version td.mono { font-size: var(--t-xs); }          /* la versión se parte por el «+» (<wbr> en legal.js), nunca a mitad del código */
