/* Lía · estilos del chat. Hereda las variables del tema hijo (tokens.css); los valores tras la coma
   son un respaldo por si el tema cambia. Sin !important. */

.lia-main { padding-block: var(--space-6, 1.5rem) var(--space-12, 3rem); }
.lia-shell { display: grid; gap: var(--space-4, 1rem); }
.lia-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-3, .75rem) var(--space-8, 2rem); }
.lia-eyebrow { margin: 0 0 var(--space-2, .5rem); }
.lia-title { margin: 0; font-size: var(--text-h2, 1.75rem); line-height: var(--leading-snug, 1.25); letter-spacing: var(--tracking-snug, -.015em); }
.lia-sub { margin: 0; max-inline-size: 34rem; font-size: var(--text-body-sm, .875rem); line-height: 1.55; color: var(--text-secondary, #4d5262); }
.lia-off { padding: var(--space-6, 1.5rem); background: var(--bg-subtle, #f7f8fa); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-xl, 1.125rem); }
.lia-sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ------------------------------------------------------------------ marco */
.lia { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4, 1rem); block-size: clamp(30rem, calc(100dvh - 11.5rem), 58rem); }
.lia-chat { display: grid; grid-template-rows: minmax(0, 1fr) auto auto; min-block-size: 0; background: var(--neutral-0, #fff); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-2xl, 1.5rem); box-shadow: var(--shadow-sm, 0 1px 2px rgb(16 18 25 / .04)); overflow: hidden; }
.lia-work { display: none; min-block-size: 0; background: var(--bg-subtle, #f7f8fa); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-2xl, 1.5rem); overflow: hidden; }
.lia-work__body { block-size: 100%; overflow-y: auto; padding: var(--space-6, 1.5rem); display: grid; align-content: start; gap: var(--space-6, 1.5rem); overscroll-behavior: contain; }
.lia-work__empty { align-self: center; justify-self: center; max-inline-size: 18rem; margin-block: 30% 0; text-align: center; font-size: var(--text-body-sm, .875rem); color: var(--text-muted, #6b7182); }
.lia-work__empty p { margin: 0 0 var(--space-1, .25rem); }
.lia-work__empty strong { color: var(--text, #101219); }

@media (min-width: 64rem) {
	.lia { grid-template-columns: minmax(22rem, 5fr) minmax(0, 7fr); }
	.lia-work { display: block; }
}

/* ------------------------------------------------------------------ conversación */
.lia-log { position: relative; overflow-y: auto; padding: var(--space-6, 1.5rem) var(--space-4, 1rem) var(--space-4, 1rem); display: flex; flex-direction: column; gap: var(--space-4, 1rem); overscroll-behavior: contain; scroll-behavior: smooth; }
.lia-log:focus-visible { outline: 2px solid var(--focus, #5f62f8); outline-offset: -2px; }
.lia-msg { display: flex; gap: var(--space-3, .75rem); align-items: flex-start; max-inline-size: 100%; }
.lia-msg--user { justify-content: flex-end; }
.lia-avatar { flex: none; display: grid; place-items: center; inline-size: 2rem; block-size: 2rem; border-radius: var(--radius-full, 999px); background: var(--neutral-900, #101219); color: var(--lime-400, #c3ed45); }
.lia-avatar svg { inline-size: 1.05rem; block-size: 1.05rem; }
.lia-avatar:has(img) { background: var(--primary-100, #e5e6ff); overflow: hidden; }
.lia-avatar img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; border-radius: inherit; }
.lia-title { display: flex; align-items: center; gap: var(--space-3, .75rem); }
.lia-title__img { flex: none; inline-size: 3rem; block-size: 3rem; border-radius: var(--radius-full, 999px); object-fit: cover; background: var(--primary-100, #e5e6ff); }
.lia-bubble { min-inline-size: 0; flex: 1; display: grid; gap: var(--space-3, .75rem); font-size: var(--text-body, 1rem); line-height: 1.55; color: var(--text, #101219); }
.lia-bubble p { margin: 0; }
.lia-msg--user .lia-bubble { flex: 0 1 auto; max-inline-size: 85%; padding: var(--space-2, .5rem) var(--space-4, 1rem); background: var(--accent, #3c3cf5); color: var(--neutral-0, #fff); border-radius: var(--radius-xl, 1.125rem) var(--radius-xl, 1.125rem) var(--radius-sm, .375rem) var(--radius-xl, 1.125rem); overflow-wrap: anywhere; }
.lia-p--muted { font-size: var(--text-body-sm, .875rem); color: var(--text-muted, #6b7182); }
.lia-p--insight { padding-inline-start: var(--space-3, .75rem); border-inline-start: 3px solid var(--lime-400, #c3ed45); color: var(--text-secondary, #4d5262); }

.lia-chips { display: flex; flex-wrap: wrap; gap: var(--space-2, .5rem); }
.lia-suggestions { padding-inline-start: 2.75rem; }
.lia-chip { display: inline-flex; align-items: center; min-block-size: 2.5rem; padding: var(--space-2, .5rem) var(--space-4, 1rem); background: var(--neutral-0, #fff); border: 1px solid var(--border-strong, #ced1da); border-radius: var(--radius-full, 999px); font: inherit; font-size: var(--text-body-sm, .875rem); font-weight: var(--weight-medium, 500); line-height: 1.25; color: var(--neutral-700, #373b48); text-align: start; cursor: pointer; transition: border-color var(--dur-fast, .14s), background-color var(--dur-fast, .14s), color var(--dur-fast, .14s); }
.lia-chip:hover { border-color: var(--accent, #3c3cf5); color: var(--primary-800, #2725ab); background: var(--accent-soft, #f1f2ff); }
.lia-chip:focus-visible, .lia-send:focus-visible, .lia-show:focus-visible, .lia-feedback__btn:focus-visible, .lia-reset:focus-visible { outline: 2px solid var(--focus, #5f62f8); outline-offset: 2px; }
.lia-chip:disabled { opacity: .55; cursor: default; }
.lia-options .lia-chip { border-color: var(--primary-300, #abaeff); color: var(--primary-800, #2725ab); background: var(--accent-soft, #f1f2ff); }

.lia-links { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-2, .5rem); }
.lia-links li { display: grid; gap: 2px; padding: var(--space-3, .75rem) var(--space-4, 1rem); background: var(--bg-subtle, #f7f8fa); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-lg, .875rem); }
.lia-links a { font-weight: var(--weight-semibold, 600); color: var(--link, #2e2cd4); }
.lia-links span { font-size: var(--text-body-sm, .875rem); color: var(--text-secondary, #4d5262); }

.lia-show { justify-self: start; padding: var(--space-1, .25rem) var(--space-3, .75rem); background: none; border: 1px solid var(--border-strong, #ced1da); border-radius: var(--radius-full, 999px); font: inherit; font-size: var(--text-label, .8125rem); color: var(--text-secondary, #4d5262); cursor: pointer; }
.lia-show[aria-pressed="true"] { border-color: var(--accent, #3c3cf5); color: var(--primary-800, #2725ab); background: var(--accent-soft, #f1f2ff); }
.lia-inline { display: grid; gap: var(--space-4, 1rem); min-inline-size: 0; }
.lia-inline:empty { display: none; }

.lia-sources { font-size: var(--text-label, .8125rem); color: var(--text-secondary, #4d5262); }
.lia-sources summary { cursor: pointer; inline-size: fit-content; list-style: none; }
.lia-sources summary::-webkit-details-marker { display: none; }
.lia-sources summary::before { content: "+"; display: inline-block; inline-size: 1em; font-weight: var(--weight-semibold, 600); }
.lia-sources[open] summary::before { content: "–"; }
.lia-sources ul { margin: var(--space-2, .5rem) 0 0; padding: 0; list-style: none; display: grid; gap: var(--space-2, .5rem); }
.lia-sources li { display: grid; }
.lia-sources__label { font-weight: var(--weight-medium, 500); color: var(--text, #101219); }
a.lia-sources__label { color: var(--link, #2e2cd4); }
.lia-feedback { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2, .5rem); font-size: var(--text-label, .8125rem); color: var(--text-muted, #6b7182); }
.lia-feedback__btn { padding: 2px var(--space-2, .5rem); background: none; border: 0; border-radius: var(--radius-sm, .375rem); font: inherit; color: var(--text-secondary, #4d5262); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.lia-feedback__btn:hover { color: var(--text, #101219); background: var(--bg-muted, #f0f1f5); }

.lia-typing .lia-bubble { display: flex; align-items: center; gap: var(--space-2, .5rem); font-size: var(--text-body-sm, .875rem); color: var(--text-muted, #6b7182); min-block-size: 2rem; }
.lia-dots { display: inline-flex; gap: 4px; }
.lia-dots i { inline-size: 6px; block-size: 6px; border-radius: 50%; background: var(--neutral-400, #9da2b0); animation: lia-dot 1s infinite ease-in-out; }
.lia-dots i:nth-child(2) { animation-delay: .15s; }
.lia-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes lia-dot { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .lia-dots i { animation: none; } .lia-log { scroll-behavior: auto; } }

/* ------------------------------------------------------------------ entrada */
.lia-form { display: flex; align-items: flex-end; gap: var(--space-2, .5rem); margin: 0 var(--space-4, 1rem); padding: var(--space-2, .5rem) var(--space-2, .5rem) var(--space-2, .5rem) var(--space-4, 1rem); background: var(--neutral-0, #fff); border: 1px solid var(--border-strong, #ced1da); border-radius: var(--radius-xl, 1.125rem); box-shadow: var(--shadow-xs, 0 1px 2px rgb(16 18 25 / .05)); transition: border-color var(--dur-fast, .14s), box-shadow var(--dur-fast, .14s); }
.lia-form:focus-within { border-color: var(--focus, #5f62f8); box-shadow: var(--ring, 0 0 0 4px rgb(95 98 248 / .18)); }
.lia-form textarea { box-sizing: border-box; flex: 1; min-inline-size: 0; min-block-size: 2.5rem; max-block-size: 10rem; padding: var(--space-2, .5rem) 0; background: none; border: 0; outline: 0; resize: none; font: inherit; font-size: var(--text-body, 1rem); line-height: 1.5; color: var(--text, #101219); box-shadow: none; }
.lia-send { flex: none; display: grid; place-items: center; inline-size: 2.5rem; block-size: 2.5rem; padding: 0; background: var(--accent, #3c3cf5); color: var(--neutral-0, #fff); border: 0; border-radius: var(--radius-md, .625rem); cursor: pointer; transition: background-color var(--dur-fast, .14s); }
.lia-send:hover { background: var(--accent-hover, #2e2cd4); }
.lia-send:disabled { background: var(--neutral-300, #ced1da); cursor: default; }
.lia-send svg { inline-size: 1.125rem; block-size: 1.125rem; }
.lia-legal { margin: 0; padding: var(--space-2, .5rem) var(--space-4, 1rem) var(--space-3, .75rem); font-size: var(--text-caption, .75rem); line-height: 1.4; color: var(--text-muted, #6b7182); text-align: center; }
.lia-reset { padding: 0; background: none; border: 0; font: inherit; color: var(--text-secondary, #4d5262); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

/* ------------------------------------------------------------------ componentes de datos */
.lia-v { display: grid; gap: var(--space-3, .75rem); min-inline-size: 0; }
.lia-v__title { margin: 0; font-size: var(--text-h4, 1.0625rem); font-weight: var(--weight-semibold, 600); line-height: 1.3; letter-spacing: var(--tracking-snug, -.015em); }
.lia-v__note { margin: 0; font-size: var(--text-label, .8125rem); color: var(--text-muted, #6b7182); }
.lia-more { justify-self: start; font-size: var(--text-body-sm, .875rem); font-weight: var(--weight-medium, 500); color: var(--link, #2e2cd4); }

.lia-tablewrap { overflow-x: auto; background: var(--neutral-0, #fff); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-lg, .875rem); }
.lia-table { inline-size: 100%; border-collapse: collapse; font-size: var(--text-body-sm, .875rem); font-variant-numeric: tabular-nums; }
.lia-table th, .lia-table td { padding: var(--space-2, .5rem) var(--space-3, .75rem); text-align: start; vertical-align: top; border-block-end: 1px solid var(--border, #e4e6ec); }
.lia-table thead th { background: var(--bg-subtle, #f7f8fa); font-size: var(--text-label, .8125rem); font-weight: var(--weight-medium, 500); color: var(--text-secondary, #4d5262); white-space: nowrap; }
.lia-table tbody th { font-weight: var(--weight-medium, 500); min-inline-size: 9rem; }
.lia-table tbody tr:last-child > * { border-block-end: 0; }
.lia-table .is-num { text-align: end; white-space: nowrap; }
.lia-table a { color: var(--link, #2e2cd4); }
.lia-note { display: block; margin-block-start: 2px; font-size: var(--text-caption, .75rem); font-weight: var(--weight-regular, 400); line-height: 1.35; color: var(--text-muted, #6b7182); }
.lia-compare__group th { background: var(--bg-subtle, #f7f8fa); font-size: var(--text-caption, .75rem); font-weight: var(--weight-semibold, 600); letter-spacing: var(--tracking-wide, .045em); text-transform: uppercase; color: var(--text-muted, #6b7182); }
.lia-compare td { min-inline-size: 7rem; }
.lia-compare__value { display: block; }

.lia-bar { display: block; inline-size: 100%; block-size: 6px; margin-block-start: 6px; background: var(--chart-track, #f0f1f5); border-radius: var(--radius-full, 999px); overflow: hidden; }
.lia-bar i { display: block; block-size: 100%; background: var(--chart-1, #5f62f8); border-radius: inherit; }

.lia-band, .lia-badge { display: inline-block; padding: 2px var(--space-2, .5rem); border-radius: var(--radius-full, 999px); font-size: var(--text-caption, .75rem); font-weight: var(--weight-medium, 500); line-height: 1.5; white-space: nowrap; background: var(--bg-muted, #f0f1f5); color: var(--neutral-700, #373b48); }
.lia-band--above_margin, .lia-band--all_admitted, .lia-badge--alto { background: var(--success-50, #ecfdf3); color: var(--success-700, #067647); }
.lia-band--above_tight { background: var(--lime-100, #f3fcd6); color: var(--neutral-800, #232630); }
.lia-band--near, .lia-badge--medio { background: var(--warning-50, #fffaeb); color: var(--warning-700, #b54708); }
.lia-band--far, .lia-badge--bajo { background: var(--error-50, #fef3f2); color: var(--error-700, #b42318); }

.lia-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: var(--space-3, .75rem); }
.lia-card { display: grid; align-content: start; justify-items: start; gap: var(--space-1, .25rem); padding: var(--space-4, 1rem); background: var(--neutral-0, #fff); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-lg, .875rem); color: inherit; text-decoration: none; transition: border-color var(--dur, .22s), box-shadow var(--dur, .22s); }
a.lia-card:hover { border-color: var(--border-strong, #ced1da); box-shadow: var(--shadow-sm, 0 3px 8px -2px rgb(16 18 25 / .06)); }
.lia-card__title { font-weight: var(--weight-semibold, 600); line-height: 1.3; color: var(--text, #101219); }
.lia-card__line { font-size: var(--text-body-sm, .875rem); line-height: 1.45; color: var(--text-secondary, #4d5262); }

.lia-bars { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-3, .75rem); counter-reset: none; }
.lia-bars li { display: grid; gap: 2px; padding: var(--space-3, .75rem) var(--space-4, 1rem); background: var(--neutral-0, #fff); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-lg, .875rem); }
.lia-bars__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3, .75rem); }
.lia-bars__label { font-weight: var(--weight-medium, 500); color: var(--text, #101219); }
a.lia-bars__label { color: var(--link, #2e2cd4); }
.lia-bars__value { flex: none; font-size: var(--text-body-sm, .875rem); font-variant-numeric: tabular-nums; color: var(--text-secondary, #4d5262); }
.lia-bars__sub { margin-block-start: var(--space-1, .25rem); font-size: var(--text-label, .8125rem); color: var(--text-muted, #6b7182); }

.lia-facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: var(--space-2, .5rem); }
.lia-facts > div { padding: var(--space-3, .75rem) var(--space-4, 1rem); background: var(--neutral-0, #fff); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-lg, .875rem); }
.lia-facts dt { font-size: var(--text-label, .8125rem); color: var(--text-muted, #6b7182); }
.lia-facts dd { margin: 0; font-weight: var(--weight-semibold, 600); font-variant-numeric: tabular-nums; }

@media (max-width: 63.99rem) {
	.lia-main { padding-block-start: var(--space-4, 1rem); }
	.lia { block-size: clamp(28rem, calc(100dvh - 9.5rem), 52rem); }
	.lia-sub { display: none; }
	.lia-suggestions { padding-inline-start: 0; }
	.lia-avatar { display: none; }
	.lia-cards { grid-template-columns: minmax(0, 1fr); }
	.lia-table th, .lia-table td { padding-inline: var(--space-2, .5rem); }
	.lia-table tbody th { min-inline-size: 6.5rem; }
	.lia-compare td { min-inline-size: 5rem; }
	.lia-log { padding-inline: var(--space-3, .75rem); }
}

/* ------------------------------------------------------------------ chat desplegable (resto de la web) */
.liaw, .liaw * { box-sizing: border-box; }
.liaw { position: fixed; inset-block-end: 1rem; inset-inline-end: 1rem; z-index: 50; display: flex; flex-direction: column; inline-size: min(26rem, calc(100vw - 2rem)); block-size: min(42rem, calc(100dvh - 2rem)); background: var(--neutral-0, #fff); border: 1px solid var(--border, #e4e6ec); border-radius: var(--radius-2xl, 1.5rem); box-shadow: var(--shadow-lg, 0 24px 56px -16px rgb(16 18 25 / .22)); overflow: hidden; font-family: var(--font-sans, system-ui, sans-serif); color: var(--text, #101219); text-align: start; animation: liaw-in .18s ease-out; }
.liaw[hidden] { display: none; }
.liaw-head { flex: none; display: flex; align-items: center; gap: var(--space-3, .75rem); padding: var(--space-3, .75rem) var(--space-3, .75rem) var(--space-3, .75rem) var(--space-4, 1rem); background: var(--neutral-900, #101219); color: var(--neutral-0, #fff); }
.liaw-head .lia-avatar { background: rgb(255 255 255 / .12); }
.liaw-who { flex: 1; min-inline-size: 0; display: grid; line-height: 1.25; }
.liaw-who strong { font-size: var(--text-body, 1rem); font-weight: var(--weight-semibold, 600); }
.liaw-who span { font-size: var(--text-caption, .75rem); color: var(--neutral-300, #ced1da); }
.liaw-btn { flex: none; display: grid; place-items: center; inline-size: 2.25rem; block-size: 2.25rem; padding: 0; background: none; border: 0; border-radius: var(--radius-md, .625rem); color: var(--neutral-0, #fff); cursor: pointer; }
.liaw-btn:hover { background: rgb(255 255 255 / .14); color: var(--neutral-0, #fff); }
.liaw-btn:focus-visible { outline: 2px solid var(--lime-400, #c3ed45); outline-offset: 2px; }
.liaw-btn svg { inline-size: 1.125rem; block-size: 1.125rem; }
.liaw .lia-chat { flex: 1; min-block-size: 0; border: 0; border-radius: 0; box-shadow: none; }
.liaw .lia-log { padding: var(--space-4, 1rem) var(--space-3, .75rem) var(--space-3, .75rem); }
.liaw .lia-msg .lia-avatar { display: none; }
.liaw .lia-suggestions { padding-inline-start: 0; }
.liaw .lia-bubble { font-size: .9375rem; }
.liaw .lia-form { margin-inline: var(--space-3, .75rem); }
.liaw .lia-legal { padding-inline: var(--space-3, .75rem); }
.liaw .lia-chip { min-block-size: 2.25rem; padding: .375rem var(--space-3, .75rem); }
.liaw .lia-cards { grid-template-columns: minmax(0, 1fr); }
.liaw .lia-card { padding: var(--space-3, .75rem); }
.liaw .lia-table th, .liaw .lia-table td { padding-inline: var(--space-2, .5rem); }
.liaw .lia-table tbody th { min-inline-size: 7rem; }
.liaw .lia-compare td { min-inline-size: 5rem; }
.liaw .lia-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.liaw .lia-facts > div { padding: var(--space-2, .5rem) var(--space-3, .75rem); }
.liaw .lia-v__title { font-size: var(--text-body, 1rem); }
@keyframes liaw-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .liaw { animation: none; } }
@media (max-width: 40rem) {
	.liaw { inset: 0; inline-size: 100%; block-size: 100%; border: 0; border-radius: 0; }
	html.lia-open { overflow: hidden; }
}
.liaw .liaw-head .lia-avatar { display: grid; inline-size: 2.5rem; block-size: 2.5rem; }
