/* Paleta. Tema: data-tema = sistema | claro | oscuro (preferencia de cada usuario). Acento: data-acento. */
:root{--bg:#f6f7f9;--card:#fff;--ink:#1c2430;--mut:#667085;--line:#e3e7ee;--ok:#1a7f4b;--bad:#b42318;--warn:#b7791f;--okbg:#e7f6ee;--badbg:#fdecea;--warnbg:#fff5e0;--b1:#9fb8e0;--b2:#e0a94a;
  --acc-l:#1f5fbf;--acc-d:#6ea2f0;--acc:var(--acc-l);--b3:var(--acc);--accbg:color-mix(in srgb,var(--acc) 12%,transparent);--side:#fff}
:root[data-acento=verde]{--acc-l:#1a7f4b;--acc-d:#4cc38a}
:root[data-acento=morado]{--acc-l:#6a3fb5;--acc-d:#a98be8}
:root[data-acento=naranjo]{--acc-l:#c2561a;--acc-d:#f0965a}
:root[data-acento=rojo]{--acc-l:#b42335;--acc-d:#f07d8a}
:root[data-acento=turquesa]{--acc-l:#0f7f86;--acc-d:#4cc4cc}
:root[data-acento=grafito]{--acc-l:#3d4756;--acc-d:#a9b4c4}
@media(prefers-color-scheme:dark){:root:not([data-tema=claro]){--bg:#10151c;--card:#182029;--ink:#e6eaf0;--mut:#9aa6b6;--line:#2a3542;--ok:#4cc38a;--bad:#ff8a7d;--warn:#e8b75a;--okbg:#14301f;--badbg:#3a1a17;--warnbg:#3a2d12;--b1:#47608a;--b2:#b98a34;--acc:var(--acc-d);--side:#141b23}}
:root[data-tema=oscuro]{--bg:#10151c;--card:#182029;--ink:#e6eaf0;--mut:#9aa6b6;--line:#2a3542;--ok:#4cc38a;--bad:#ff8a7d;--warn:#e8b75a;--okbg:#14301f;--badbg:#3a1a17;--warnbg:#3a2d12;--b1:#47608a;--b2:#b98a34;--acc:var(--acc-d);--side:#141b23}
:root[data-tema=oscuro],:root:not([data-tema=claro]){color-scheme:light dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
header{background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
header b{font-size:16px}header .sp{flex:1}header a{color:var(--ink);text-decoration:none;padding:4px 8px;border-radius:6px}header a.on,header a:hover{background:var(--bg)}
nav{display:flex;flex-wrap:wrap;gap:2px}small,.mut{color:var(--mut)}
main{max-width:1100px;margin:0 auto;padding:16px}
h1{font-size:20px;margin:4px 0 12px}h2{font-size:16px;margin:22px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px;overflow-x:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}.kpi .v{font-size:19px;font-weight:650;white-space:nowrap}.kpi .l{color:var(--mut);font-size:12px}
table{border-collapse:collapse;width:100%}th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;color:var(--mut);font-weight:600}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
.tag{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;background:var(--bg);border:1px solid var(--line)}
.tag.ok{background:var(--okbg);color:var(--ok);border-color:transparent}.tag.bad{background:var(--badbg);color:var(--bad);border-color:transparent}.tag.warn{background:var(--warnbg);color:var(--warn);border-color:transparent}
.flash{padding:10px 12px;border-radius:8px;margin-bottom:10px}.flash.ok{background:var(--okbg);color:var(--ok)}.flash.error{background:var(--badbg);color:var(--bad)}
button,.btn{background:var(--acc);color:#fff;border:0;border-radius:7px;padding:7px 12px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:transparent;color:var(--acc);border:1px solid var(--acc)}button.neg{background:var(--bad)}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);max-width:100%}
label{display:block;font-size:12px;color:var(--mut);margin:8px 0 2px}.row{display:flex;flex-wrap:wrap;gap:10px}.row>div{flex:1;min-width:160px}
.bar{height:10px;border-radius:5px;background:var(--bg);position:relative;margin:3px 0}.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.lg{display:flex;gap:14px;font-size:12px;color:var(--mut);margin-bottom:8px}.lg span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;background:var(--c)}
.over{color:var(--bad);font-weight:600}
form.inline{display:inline}
@media(max-width:600px){main{padding:10px}.kpi .v{font-size:17px}}
/* Menú: horizontal (barra superior) o vertical (columna izquierda), según la preferencia del usuario */
a{color:var(--acc)}
header .marca,.side .marca{font-weight:700;font-size:16px;color:var(--acc)}
.nav-h{display:flex;flex-wrap:wrap;gap:2px;align-items:center}.nav-h .sep{width:1px;height:18px;background:var(--line);margin:0 4px}
.nav-h .gt,.nav-h .sub{display:none}
header button.ic{background:transparent;color:var(--mut);border:1px solid var(--line);padding:2px 8px;font-size:13px}
.lay-v{display:flex;min-height:100vh}
.side{width:230px;flex:0 0 230px;background:var(--side);border-right:1px solid var(--line);padding:14px 10px;position:sticky;top:0;height:100vh;overflow-y:auto}
.side .marca{padding:2px 8px 12px}
.side nav{display:block}.side .gt{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin:14px 8px 4px}
.side a{display:block;color:var(--ink);text-decoration:none;padding:6px 10px;border-radius:7px;margin:1px 0}
.side a.on,.side a:hover{background:var(--accbg);color:var(--acc)}.side a.on{font-weight:600}
.side .sub a{padding:4px 10px 4px 24px;font-size:13.5px}.side .sep{display:none}
.lay-v .col{flex:1;min-width:0}.lay-v header{justify-content:flex-end}
.lay-v main{max-width:1300px}
/* Sub-menú de módulo (pestañas) */
.tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--line);padding-bottom:6px}
.tabs a{padding:5px 10px;border-radius:7px;text-decoration:none;color:var(--ink);font-size:14px}.tabs a.on{background:var(--accbg);color:var(--acc);font-weight:600}
:root[data-menu=vertical] .tabs.conta{display:none}
/* Densidad compacta */
:root[data-densidad=compacta] body{font-size:14px}:root[data-densidad=compacta] th,:root[data-densidad=compacta] td{padding:4px 6px}
:root[data-densidad=compacta] .card{padding:10px}
/* Informes */
.filtros{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-bottom:12px}.filtros label{margin:0 0 2px}
.filtros>div{min-width:130px}
tr.tot td{font-weight:650;border-top:2px solid var(--line)}tr.sub td{font-weight:600;background:var(--bg)}
td.neg{color:var(--bad)}.num-in{width:120px;text-align:right}
table.lineas td{padding:3px 4px}table.lineas select,table.lineas input{width:100%;min-width:70px}table.lineas td.c{min-width:230px}
.cuadra{font-weight:650}.cuadra.no{color:var(--bad)}.cuadra.si{color:var(--ok)}
.req{outline:2px solid var(--warn)}
.swatch{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:-3px;margin-right:6px;border:1px solid var(--line)}
.opciones{display:flex;flex-wrap:wrap;gap:8px}.opciones label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font-size:14px;margin:0;cursor:pointer}
.opciones input{margin:0}
.minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.mini{border:1px solid var(--line);border-radius:8px;height:110px;display:flex;overflow:hidden;background:var(--bg)}
.mini .s{width:28%;background:var(--card);border-right:1px solid var(--line)}.mini .t{height:18%;background:var(--card);border-bottom:1px solid var(--line)}
.mini i{display:block;height:6px;margin:8px;border-radius:3px;background:var(--line)}.mini i.a{background:var(--acc)}
.colbar{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:8px}.colbar>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:100%}
.colbar i{display:block;width:42%;border-radius:3px 3px 0 0}.colbar small{font-size:11px}.colbar .pair{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;gap:2px}
@media(max-width:800px){.lay-v{display:block}.side{width:auto;height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);padding:8px}
  .side nav{display:flex;flex-wrap:wrap;gap:2px}.side .gt,.side .sub{display:none}.side a{padding:5px 8px}}
@media print{header,.side,.tabs,.filtros,form,button{display:none!important}.card{border:0}main{max-width:none}}
td.n,th.n{white-space:nowrap}main{max-width:1280px}
table.ancha{font-size:13.5px}table.ancha td,table.ancha th{padding:6px 6px}
table.lineas input[name=glosa_linea]{min-width:150px}table.lineas td.c select{min-width:260px}
/* Barra de navegación: Volver + migas */
.migas{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 12px;font-size:13.5px}
.migas nav a{color:var(--mut);text-decoration:none}.migas nav a:hover{color:var(--acc);text-decoration:underline}.migas nav span:last-child{color:var(--ink);font-weight:600}
.migas .volver{padding:4px 12px;font-size:13.5px}
@media print{.migas{display:none}}
.migas nav{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:center}
/* Fichas */
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.tarjeta{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:var(--ink)}
.tarjeta:hover{border-color:var(--acc)}.tarjeta b{font-size:15.5px;color:var(--acc)}.tarjeta .v{font-size:22px;font-weight:700}.tarjeta small{color:var(--mut)}
details summary{cursor:pointer;color:var(--acc)}
.vista-doc h1{font-size:18px;text-align:center;color:var(--c)}.vista-doc h2{font-size:14.5px;color:var(--c);margin:14px 0 4px}.vista-doc p{text-align:justify}
.vista-doc table{width:100%;border-collapse:collapse}.vista-doc th{background:var(--c);color:#fff}.vista-doc table.firmas{margin-top:40px}.vista-doc table.firmas td{border:0;text-align:center}
.falta{background:#fff3c4;color:#8a5a00;padding:0 3px;border-radius:3px}
.marca .marca-erp{font-weight:300;font-size:10px;letter-spacing:.12em;margin-left:3px;vertical-align:-1px;opacity:.85}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.grid2 .card{margin:0}
.btn.neg{background:var(--bad);color:#fff}
.filtro-area{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff)}.filtro-area label{margin:0;font-weight:600}
.solo-imprimir{display:none}@media print{.solo-imprimir{display:block;font-weight:600}}

.sug{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:8px;font-size:11px}
.sug-ok{background:#e6f4ea;color:#1e6b34}
.sug-rev{background:#fff4d6;color:#8a5a00}

/* Menú por módulos: el módulo en uso queda abierto y los demás contraídos */
details.grupo>summary{list-style:none;cursor:pointer;user-select:none}details.grupo>summary::-webkit-details-marker{display:none}
.nav-h{gap:4px}
.nav-h>a{padding:4px 10px}
.nav-h details.grupo{position:relative;display:flex;align-items:center}
.nav-h details.grupo>summary{padding:4px 10px;border-radius:6px;color:var(--ink);white-space:nowrap}
.nav-h details.grupo>summary::after{content:"▾";font-size:10px;margin-left:5px;color:var(--mut)}
.nav-h details.grupo>summary:hover{background:var(--bg)}
.nav-h details.grupo:not(.activo)[open]>summary{background:var(--bg)}
.nav-h details.grupo.activo{background:var(--accbg);border-radius:8px;padding:2px 4px 2px 0}
.nav-h details.grupo.activo>summary{color:var(--acc);font-weight:650}
.nav-h details.grupo.activo>summary::after{content:"›";font-size:13px;color:var(--acc)}
.nav-h details.grupo.activo>.items{display:flex;flex-wrap:wrap;gap:2px;align-items:center}
.nav-h details.grupo.activo>.items a.on{background:var(--card);color:var(--acc);font-weight:600}
.nav-h details.grupo:not(.activo)>.items{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:210px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:6px;display:flex;flex-direction:column}
.nav-h details.grupo:not(.activo)>.items a{display:block;padding:7px 10px}
.nav-h details.grupo .sub{display:none}
.nav-v>a{display:block;margin-bottom:6px}
.nav-v details.grupo{border-radius:8px;margin:2px 0}
.nav-v details.grupo>summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);padding:8px 10px;border-radius:7px}
.nav-v details.grupo>summary::after{content:"▸";font-size:11px}.nav-v details.grupo[open]>summary::after{content:"▾"}
.nav-v details.grupo>summary:hover{background:var(--bg)}
.nav-v details.grupo.activo>summary{color:var(--acc);font-weight:700}
.nav-v details.grupo[open]{background:color-mix(in srgb,var(--bg) 60%,transparent);padding-bottom:4px}
.side .nav-v .sub{display:block}  /* las opciones de Contabilidad siempre a la vista al abrir Finanzas */
.menu-oculto{display:none!important}
/* Pantalla dentro de una pestaña del escritorio: sin barra ni menú */
.en-marco header,.en-marco .side{display:none!important}.en-marco .lay-v{display:block}.en-marco main{max-width:1300px}
/* Escritorio con pestañas */
html.escritorio-html,body.escritorio{height:100%}
body.escritorio{display:flex;flex-direction:column;height:100vh;overflow:hidden}
body.escritorio .lay-v{flex:1;min-height:0;height:100vh}body.escritorio .lay-v .col{display:flex;flex-direction:column;min-height:0;height:100vh}
body.escritorio header{flex:0 0 auto;position:relative;z-index:20}
.pestanas{flex:0 0 auto;display:flex;align-items:flex-end;gap:6px;padding:6px 10px 0;background:var(--bg);border-bottom:1px solid var(--line)}
.lista-pestanas{display:flex;gap:3px;overflow-x:auto;min-width:0;scrollbar-width:thin}
.pestana{display:flex;align-items:center;max-width:220px;min-width:110px;background:color-mix(in srgb,var(--card) 55%,var(--bg));border:1px solid var(--line);border-bottom:0;
  border-radius:9px 9px 0 0;padding:0 2px 0 0}
.pestana .tit{flex:1;min-width:0;background:transparent;color:var(--mut);padding:7px 6px 7px 12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;border-radius:9px 0 0 0}
.pestana .x{background:transparent;color:var(--mut);padding:2px 7px;font-size:15px;line-height:1;border-radius:5px}
.pestana .x:hover{background:var(--badbg);color:var(--bad)}
.pestana.on{background:var(--card);position:relative;top:1px;box-shadow:inset 0 2px 0 var(--acc)}.pestana.on .tit{color:var(--ink);font-weight:600}
.pestana.lado{box-shadow:inset 0 2px 0 var(--b1)}.pestana.lado .tit{color:var(--ink)}
.pestanas .nueva{background:transparent;color:var(--acc);font-size:18px;line-height:1;padding:4px 10px;margin-bottom:4px;border-radius:7px}
.pestanas .nueva:hover{background:var(--accbg)}
.pestanas .sp{flex:1}.pestanas .ic{margin-bottom:5px;background:transparent;color:var(--mut);border:1px solid var(--line);padding:3px 10px;font-size:13px}
.pestanas .ic.on{color:var(--acc);border-color:var(--acc);background:var(--accbg)}
.marcos{flex:1;min-height:0;display:flex;gap:6px;background:var(--bg)}
.marcos iframe{display:none;flex:1;min-width:0;border:0;background:var(--bg);width:100%;height:100%}
.marcos iframe.visible{display:block}
.marcos.dividido{padding:6px}.marcos.dividido iframe{border:1px solid var(--line);border-radius:8px}
.marcos.dividido iframe.activo{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.side .ayuda-v{padding:10px 8px 0;border-top:1px solid var(--line);margin-top:14px}
@media(max-width:800px){.marcos.dividido{flex-direction:column}.pestana{min-width:90px}body.escritorio .lay-v{display:flex;flex-direction:column}
  .nav-v details.grupo:not([open])>.items{display:none}}
@media(max-width:700px){.nav-h details.grupo.activo{flex-wrap:wrap;width:100%;padding:2px 4px}.nav-h details.grupo.activo>.items{width:100%;flex-direction:row}
  .nav-h details.grupo:not(.activo)>.items{position:fixed;left:12px;right:12px;top:auto}}
/* Fondo del menú (preferencia de cada usuario): data-fondo-menu = blanco | gris | tinte | color | marino | grafito | bosque | vino */
:root{--menu-bg:var(--card);--menu-ink:var(--ink);--menu-mut:var(--mut);--menu-line:var(--line);--menu-hov:var(--bg);--menu-act:var(--accbg);
  --menu-act-ink:var(--acc);--menu-on:var(--card);--menu-marca:var(--acc);--menu-grupo:color-mix(in srgb,var(--bg) 60%,transparent)}
:root[data-fondo-menu=gris]{--menu-bg:color-mix(in srgb,var(--ink) 7%,var(--card));--menu-hov:color-mix(in srgb,var(--ink) 12%,var(--card));--menu-on:var(--card)}
:root[data-fondo-menu=tinte]{--menu-bg:color-mix(in srgb,var(--acc) 11%,var(--card));--menu-hov:color-mix(in srgb,var(--acc) 20%,var(--card));
  --menu-act:color-mix(in srgb,var(--acc) 24%,var(--card));--menu-line:color-mix(in srgb,var(--acc) 22%,var(--card));--menu-grupo:color-mix(in srgb,var(--acc) 7%,transparent)}
:root[data-fondo-menu=color]{--menu-oscuro:var(--acc-l)}
:root[data-fondo-menu=marino]{--menu-oscuro:#1b2a41}
:root[data-fondo-menu=grafito]{--menu-oscuro:#262b33}
:root[data-fondo-menu=bosque]{--menu-oscuro:#1d3b2f}
:root[data-fondo-menu=vino]{--menu-oscuro:#4a1d2b}
:root[data-fondo-menu=color],:root[data-fondo-menu=marino],:root[data-fondo-menu=grafito],:root[data-fondo-menu=bosque],:root[data-fondo-menu=vino]{
  --menu-bg:var(--menu-oscuro);--menu-ink:#f3f5f8;--menu-mut:rgba(255,255,255,.68);--menu-line:rgba(255,255,255,.18);--menu-hov:rgba(255,255,255,.12);
  --menu-act:rgba(255,255,255,.16);--menu-act-ink:#fff;--menu-on:rgba(255,255,255,.26);--menu-marca:#fff;--menu-grupo:rgba(255,255,255,.07)}
header,.side{background:var(--menu-bg);border-color:var(--menu-line);color:var(--menu-ink)}
header a,.side a,header small{color:var(--menu-ink)}header .mut,header small span{color:var(--menu-mut)}
header a.on,header a:hover{background:var(--menu-hov)}
header .marca,.side .marca{color:var(--menu-marca)}
header button.ic{color:var(--menu-mut);border-color:var(--menu-line)}
header button.sec{color:var(--menu-ink);border-color:var(--menu-line)}
.side a.on,.side a:hover{background:var(--menu-act);color:var(--menu-act-ink)}
.nav-h details.grupo>summary{color:var(--menu-ink)}.nav-h details.grupo>summary::after{color:var(--menu-mut)}
.nav-h details.grupo>summary:hover,.nav-h details.grupo:not(.activo)[open]>summary{background:var(--menu-hov)}
.nav-h details.grupo.activo{background:var(--menu-act)}
.nav-h details.grupo.activo>summary,.nav-h details.grupo.activo>summary::after{color:var(--menu-act-ink)}
.nav-h details.grupo.activo>.items a.on{background:var(--menu-on);color:var(--menu-act-ink)}
.nav-h details.grupo:not(.activo)>.items a{color:var(--ink)}.nav-h details.grupo:not(.activo)>.items a:hover{background:var(--bg)}
.nav-v details.grupo>summary{color:var(--menu-mut)}.nav-v details.grupo>summary:hover{background:var(--menu-hov)}
.nav-v details.grupo.activo>summary{color:var(--menu-act-ink)}.nav-v details.grupo[open]{background:var(--menu-grupo)}
.side .ayuda-v{border-color:var(--menu-line)}.side .ayuda-v small{color:var(--menu-mut)}
.swatch.fondo-tinte{background:color-mix(in srgb,var(--acc) 15%,#fff)}.swatch.fondo-color{background:var(--acc-l)}
tr.sel td{background:var(--accbg)}
.tag.tipo-indefinido{background:var(--okbg);color:var(--ok);border-color:transparent;font-weight:600}
.tag.tipo-plazo_fijo{background:var(--warnbg);color:var(--warn);border-color:transparent;font-weight:600}
.tag.tipo-por_obra_faena{background:var(--accbg);color:var(--acc);border-color:transparent;font-weight:600}
.resumen-contrato{margin:-6px 0 14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
h3{font-size:14px;margin:8px 0 6px}
.tag[class*="tipo-"]{white-space:nowrap}
/* Documentos relacionados y ventana emergente */
.docs-rel{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.doc-rel{display:flex;flex-direction:column;padding:6px 12px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink);background:var(--bg);min-width:120px}
.doc-rel:hover{border-color:var(--acc);background:var(--accbg)}.doc-rel b{color:var(--acc)}.doc-rel small{color:var(--mut);font-size:12px}
dialog#emergente{width:min(1100px,94vw);height:min(820px,88vh);padding:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);
  box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}
dialog#emergente[open]{display:flex;flex-direction:column}
dialog#emergente::backdrop{background:rgba(15,20,30,.45)}
.emergente-barra{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line)}.emergente-barra .sp{flex:1}
#emergente-marco{flex:1;border:0;width:100%;background:var(--bg)}
a[data-emergente]:not(.doc-rel){text-decoration:underline dotted;text-underline-offset:3px}
@media print{dialog#emergente{display:none!important}}
/* Rendiciones: gastos como tarjetas con la foto del documento (cómodo en el celular) */
.gastos{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-bottom:14px}
.gasto{display:flex;gap:10px;margin:0;padding:10px}.gasto.rechazado{opacity:.6}
.g-foto{flex:0 0 84px}.g-foto img{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.g-sin,.g-pdf{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:8px;border:1px dashed var(--line);color:var(--mut);font-size:12px;text-decoration:none}
.g-pdf{border-style:solid;font-weight:650;color:var(--acc)}
.g-datos{flex:1;min-width:0;font-size:14px;line-height:1.45}.g-monto{float:right;font-weight:650;font-size:16px;margin-left:8px}
.g-acc{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.g-acc details.inline{display:inline-block}
.g-archivo{width:100%;padding:14px;border:1px dashed var(--line);border-radius:10px;background:var(--bg)}
@media(max-width:600px){.gastos{grid-template-columns:1fr}}
.rend-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-bottom:14px}
.card.rend{display:block;margin:0;text-decoration:none;color:var(--ink);line-height:1.5}.card.rend:hover{border-color:var(--acc)}.r-monto{float:right;font-weight:650;margin-left:8px}

/* Informes a la medida: colores de series (orden fijo, validados para daltonismo en claro y oscuro) y gráficos SVG */
:root{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--s8:#e34948}
@media(prefers-color-scheme:dark){:root:not([data-tema=claro]){--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767}}
:root[data-tema=oscuro]{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767}
.kg{margin:0}.kg-svg{width:100%;height:auto;display:block;font-family:inherit}
.kg-grid{stroke:var(--line);stroke-width:1}.kg-grid.cero{stroke:var(--mut)}
.kg-eje{fill:var(--mut);font-size:11px}.kg-cat{fill:var(--ink);font-size:12px}.kg-val{fill:var(--mut);font-size:11px}
.kg-l{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.kg-p{stroke:var(--card);stroke-width:2}
.kg-hit{fill:transparent;cursor:default}.kg-hit:hover{fill:var(--ink);fill-opacity:.05}
.kg-leyenda{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--mut);margin:0 0 6px}.kg-ley{display:inline-flex;align-items:center}
.kg-sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.kg-sw.ln{width:14px;height:2px;border-radius:1px}
.kg-m.c1{fill:var(--s1)}.kg-l.c1{stroke:var(--s1)}.kg-p.c1{fill:var(--s1)}.kg-sw.c1{background:var(--s1)}.kg-m.c2{fill:var(--s2)}.kg-l.c2{stroke:var(--s2)}.kg-p.c2{fill:var(--s2)}.kg-sw.c2{background:var(--s2)}.kg-m.c3{fill:var(--s3)}.kg-l.c3{stroke:var(--s3)}.kg-p.c3{fill:var(--s3)}.kg-sw.c3{background:var(--s3)}.kg-m.c4{fill:var(--s4)}.kg-l.c4{stroke:var(--s4)}.kg-p.c4{fill:var(--s4)}.kg-sw.c4{background:var(--s4)}.kg-m.c5{fill:var(--s5)}.kg-l.c5{stroke:var(--s5)}.kg-p.c5{fill:var(--s5)}.kg-sw.c5{background:var(--s5)}.kg-m.c6{fill:var(--s6)}.kg-l.c6{stroke:var(--s6)}.kg-p.c6{fill:var(--s6)}.kg-sw.c6{background:var(--s6)}.kg-m.c7{fill:var(--s7)}.kg-l.c7{stroke:var(--s7)}.kg-p.c7{fill:var(--s7)}.kg-sw.c7{background:var(--s7)}.kg-m.c8{fill:var(--s8)}.kg-l.c8{stroke:var(--s8)}.kg-p.c8{fill:var(--s8)}.kg-sw.c8{background:var(--s8)}
.kg-globo{position:fixed;z-index:50;pointer-events:none;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 4px 14px rgba(0,0,0,.15);min-width:150px}
.kg-globo b{display:block;margin-bottom:4px}.kg-globo div{display:flex;justify-content:space-between;gap:14px}.kg-globo div span:last-child{font-weight:650;font-variant-numeric:tabular-nums}
/* Editor y vistas de informes */
.inf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:14px}
.inf-tarjeta{display:block;text-decoration:none;color:var(--ink);margin:0}.inf-tarjeta:hover{border-color:var(--acc)}.inf-tarjeta small{color:var(--mut)}
.tablero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tablero-grid .ancho2{grid-column:1/-1}
@media(max-width:900px){.tablero-grid{grid-template-columns:1fr}}
.inf-editor fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 12px}.inf-editor legend{font-weight:600;padding:0 6px}
.inf-tabla td.n,.inf-tabla th.n{font-variant-numeric:tabular-nums}.inf-tabla tr.otros td{color:var(--mut);font-style:italic}
.inf-tabla a.drill{color:inherit;text-decoration:none;border-bottom:1px dotted var(--mut)}
.kg-cel{display:none}@media(max-width:600px){.kg-pc{display:none}.kg-cel{display:block}}
@media print{.kg-cel{display:none!important}.kg-pc{display:block!important}}
.inf-checks{display:flex;flex-wrap:wrap;gap:4px 14px;margin:2px 0 8px}.inf-checks label{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-size:13px;margin:0}
.arc-tabla tr.baja td{color:var(--mut);text-decoration:line-through}.arc-tabla tr.baja td:last-child,.arc-tabla tr.baja td:nth-last-child(2){text-decoration:none}
/* Teams integrado */
.tm-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tm{display:grid;grid-template-columns:290px 1fr;gap:12px;min-height:70vh}
.tm-lado{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;overflow-y:auto;max-height:78vh}
.tm-sec{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin:12px 6px 4px}
.tm-item{display:block;padding:6px 8px;border-radius:7px;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.35;overflow:hidden}.tm-item:hover{background:var(--bg)}.tm-item.on{background:var(--accbg);color:var(--acc)}
.tm-n{font-weight:600}.tm-h{float:right}.tm-eq{font-size:13px;font-weight:600;padding:6px 8px;cursor:pointer}.tm-canal{padding-left:18px}
.tm-main{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;min-width:0}
.tm-titulo{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
.tm-msgs{flex:1;overflow-y:auto;max-height:62vh;display:flex;flex-direction:column;gap:8px;padding:4px}
.tm-msg{max-width:78%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:6px 10px;align-self:flex-start}
.tm-msg.mio{align-self:flex-end;background:var(--accbg)}.tm-msg.evento{align-self:center;background:none;border:0;color:var(--mut);font-size:12px}
.tm-txt{white-space:pre-wrap;word-break:break-word;font-size:14px}.tm-meta{font-size:12px}
.tm-enviar{display:flex;gap:8px;margin-top:8px}.tm-enviar textarea{flex:1;resize:vertical}
.tm-reu{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
@media(max-width:800px){.tm{grid-template-columns:1fr}.tm-lado{max-height:40vh}.tm-msg{max-width:92%}}
/* Organizar el menú */
.mo-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.mo-grupo{margin:0}
.mo-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mo-nombre{flex:1;font-weight:600}
.mo-items{list-style:none;margin:0;padding:0}.mo-item{display:flex;align-items:center;gap:6px;padding:5px 0;border-top:1px solid var(--line)}
.mo-et{flex:1;min-width:0;font-size:14px}.mo-item select{max-width:140px;font-size:13px;padding:3px 4px}
.mo-flechas{display:inline-flex;gap:3px;align-items:center}.mo-flechas button{padding:1px 7px}.mo-orden{width:44px;text-align:center;padding:3px}
.js .mo-orden{display:none}
/* Outlook */
.ol-cuenta{float:right;background:var(--acc);color:#fff;border-radius:9px;padding:0 6px;font-size:11px;font-weight:600}
.ol-buscar{margin:0 0 8px;align-items:center}
.ol-lista{display:flex;flex-direction:column;overflow-y:auto;max-height:68vh}
.ol-fila{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:7px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13px}
.ol-fila:hover{background:var(--bg)}.ol-fila.nuevo{border-left:3px solid var(--acc)}.ol-fila.nuevo .ol-quien,.ol-fila.nuevo .ol-asunto{font-weight:700}
.ol-quien,.ol-asunto,.ol-vista{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-asunto,.ol-vista{grid-column:1/-1}
.ol-cuando{font-size:12px;white-space:nowrap;float:right;margin-left:8px}
.ol-cab{border-bottom:1px solid var(--line);padding-bottom:8px;margin:6px 0 8px}
.ol-adjuntos{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.ol-aviso{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:4px 8px;margin:4px 0}
.ol-cuerpo{width:100%;min-height:60vh;border:1px solid var(--line);border-radius:7px;background:#fff;resize:vertical}
.ol-texto{white-space:pre-wrap;word-break:break-word;font-size:14px;padding:6px}
.ol-form{display:flex;flex-direction:column;gap:4px;max-width:900px}.ol-form input:not([type=checkbox]):not([type=file]),.ol-form textarea{width:100%}
.ol-cita{border-left:3px solid var(--line);padding-left:10px;margin-top:10px;max-height:40vh;overflow-y:auto}
.ol-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ol-dia{border:1px solid var(--line);border-radius:7px;padding:5px;min-height:90px;font-size:12px}.ol-dia.hoy{border-color:var(--acc);background:var(--accbg)}
.ol-dia-t{font-weight:600;text-transform:capitalize;margin-bottom:4px;white-space:nowrap}.ol-ev{border-left:3px solid var(--acc);padding:2px 5px;margin-bottom:4px;background:var(--card)}
.ol-ev.cancelado{opacity:.55;text-decoration:line-through}
@media(max-width:800px){.ol-cal{grid-template-columns:1fr}.ol-dia{min-height:0}}
/* Kuantika Conecta */
.cx-prueba{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:13.5px;line-height:1.7}
.cx-graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;margin-bottom:12px}
.cx-graficos .kg{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;margin:0}
.cx-sec a{font-size:13.5px}
.nw{white-space:nowrap}
@media print{.no-imprimir{display:none!important}}
/* Conecta · documento recibido (factura a la izquierda, OC y reparto a la derecha) */
.cx-dte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px;align-items:start}
@media(max-width:1100px){.cx-dte{grid-template-columns:1fr}}
.cx-dte .card label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-bottom:3px}
.cx-dte .cx-reparto label,.cx-dte .cx-nota-form label{text-transform:none;letter-spacing:0;font-size:13px}
.cx-dte-cab{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cx-notas{background:#fff8ec;border-color:#f3d39b}.cx-nota{border-top:1px solid #f3d39b;padding:6px 0}.cx-nota.resuelta{opacity:.6}
:root[data-tema=oscuro] .cx-notas{background:var(--card)}
.cx-nota-form{display:flex;gap:8px;margin-top:6px;align-items:flex-start}.cx-nota-form textarea{flex:1}
.cx-reparto{border:2px solid var(--acc)}.cx-rep-resumen{background:var(--bg);border-radius:8px;padding:6px 10px;margin:6px 0}
.cx-rep-resumen [data-rep-estado]{font-size:13px;margin-top:3px}
.cx-oc-grupo-t{background:var(--acc);color:#fff;border-radius:6px;padding:4px 10px;font-weight:600;font-size:13px;margin-bottom:6px}
.cx-barra{display:inline-block;width:70px;height:6px;background:var(--line);border-radius:3px;vertical-align:middle;overflow:hidden}.cx-barra i{display:block;height:100%;background:var(--acc)}
/* lista desplegable con varias opciones */
details.multi{position:relative;display:inline-block;min-width:150px}
details.multi>summary{list-style:none;border:1px solid var(--line,#cbd5e1);border-radius:6px;padding:5px 26px 5px 9px;background:var(--card,#fff);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
details.multi>summary::-webkit-details-marker{display:none}
details.multi>summary::after{content:"▾";position:absolute;right:9px;top:6px;font-size:11px;color:var(--mut)}
details.multi .multi-caja{position:absolute;z-index:30;top:100%;left:0;margin-top:3px;background:var(--card,#fff);border:1px solid var(--line,#cbd5e1);border-radius:8px;padding:8px 10px;box-shadow:0 6px 18px rgba(0,0,0,.15);min-width:240px}
details.multi .multi-caja label{display:flex;gap:7px;align-items:center;font-weight:400;color:var(--ink);padding:3px 0;white-space:nowrap}
details.multi .multi-acciones{display:flex;gap:6px;margin-bottom:6px}
details.multi .multi-acciones button{padding:2px 8px;font-size:12px}
.card:has(details.multi){overflow:visible}

/* Observación a corregir: el lugar al que se llega queda resaltado */
:target{scroll-margin-top:90px;outline:3px solid #f2a33a;outline-offset:3px;border-radius:6px;animation:obs-destello 1.6s ease-out 2}
@keyframes obs-destello{0%{background:#fff3dc}100%{background:transparent}}
ul.obs{padding-left:18px}ul.obs li{margin:6px 0;font-size:13px}ul.obs a{text-decoration:none}ul.obs a b{white-space:nowrap}ul.obs a:hover{text-decoration:underline}

/* ---- Navegación por módulos: Home, módulos abiertos como botones y menú solo del módulo en uso ---- */
.mod-home{font-weight:650;padding:4px 12px!important;border:1px solid var(--line);border-radius:8px}
.mod-barra{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.mod-btn{display:inline-flex;align-items:center;gap:2px;padding:4px 4px 4px 12px;border-radius:8px;border:1px solid var(--line);white-space:nowrap}
.mod-btn a{padding:0!important;border-radius:0!important;background:none!important}
.mod-btn.on{background:var(--accbg);border-color:var(--acc);font-weight:650}
.mod-btn.on a{color:var(--acc)}
.mod-btn button.mod-x{background:transparent;border:0;color:var(--mut);padding:0 8px;font-size:15px;line-height:1;cursor:pointer}
.mod-btn button.mod-x:hover{color:var(--ink)}
.mod-btn.solo-uno button.mod-x{display:none}
.nav-h .mod-sub{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:2px;align-items:center;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.nav-h .mod-sub a{padding:4px 10px}
.nav-h .mod-sub .sub{display:none}
.nav-v .mod-home{display:block;text-align:center;margin-bottom:8px}
.nav-v .mod-barra{flex-direction:column;align-items:stretch;margin-bottom:6px}.nav-v .mod-btn{justify-content:space-between}
.nav-v .mod-sub{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}
.nav-v .mod-sub a{display:block;padding:6px 10px;border-radius:7px;margin:1px 0}
.nav-v .mod-sub .sub a{padding-left:24px;font-size:13.5px}
.mod-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:18px 0}
.mod-tile{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.mod-tile:hover,.mod-tile:focus-visible{border-color:var(--acc);box-shadow:0 2px 10px rgba(0,0,0,.08);outline:none}
.mod-ic{flex:0 0 44px;height:44px;border-radius:10px;background:var(--accbg);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}
.mod-tx{display:flex;flex-direction:column;gap:4px;min-width:0}.mod-tx b{font-size:16px}
.mod-desc{font-size:13.5px;color:var(--mut)}.mod-tx small{font-size:12px}
header .mod-home{color:var(--menu-ink);border-color:var(--menu-line)}header .mod-home.on,header .mod-home:hover{background:var(--menu-act);color:var(--menu-act-ink)}
header .mod-btn{border-color:var(--menu-line)}header .mod-btn.on{background:var(--menu-act);border-color:var(--menu-act)}header .mod-btn.on a{color:var(--menu-act-ink)}
header .mod-btn button.mod-x{color:var(--menu-mut)}
.nav-h .mod-sub{border-color:var(--menu-line)}.nav-h .mod-sub a.on{background:var(--menu-on);color:var(--menu-act-ink)}
.side .mod-home{color:var(--menu-ink);border-color:var(--menu-line)}.side .mod-btn{border-color:var(--menu-line)}.side .mod-btn.on{background:var(--menu-act)}.side .mod-btn.on a{color:var(--menu-act-ink)}
@media(max-width:700px){.mod-tiles{grid-template-columns:1fr}.nav-h .mod-barra{flex-wrap:nowrap;overflow-x:auto;max-width:100%}}
/* en la barra superior los botones de módulo comparten la fila con los datos del usuario; las opciones del módulo van en una fila propia */
.nav-mod{display:contents}
.nav-mod .mod-sub{order:10;flex:1 0 100%;margin-top:0}
@media(max-width:700px){.nav-mod .mod-barra{flex:1 0 100%;order:1}}
header>small:last-child{margin-left:auto}

/* ---- Copiloto operativo (panel lateral colapsable) ---- */
.copiloto{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:92vw;background:var(--card);color:var(--ink);border-left:1px solid var(--line);box-shadow:-6px 0 18px rgba(0,0,0,.12);z-index:40;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .2s ease;visibility:hidden}
.copiloto-abierto .copiloto{transform:none;visibility:visible}
.copiloto-cab{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.copiloto-cab .sec{padding:3px 10px}
.copiloto-cuerpo{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.copiloto-pie{padding:6px 12px;border-top:1px solid var(--line);margin:0}
.copiloto-sug{border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:8px 10px;background:var(--bg)}
.copiloto-sug.nivel-critico{border-left-color:var(--bad)}.copiloto-sug.nivel-aviso{border-left-color:var(--warn)}.copiloto-sug.nivel-info{border-left-color:var(--acc)}.copiloto-sug.nivel-ok{border-left-color:var(--ok)}
.tag.nivel-critico{background:var(--badbg);color:var(--bad);border-color:transparent}.tag.nivel-aviso{background:var(--warnbg);color:var(--warn);border-color:transparent}.tag.nivel-ok{background:var(--okbg);color:var(--ok);border-color:transparent}.tag.nivel-info{background:var(--accbg);color:var(--acc);border-color:transparent}
.copiloto-det{margin:6px 0 0;font-size:13px;line-height:1.4}
.copiloto-acc{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.copiloto-acc button{padding:5px 10px;font-size:13px}
.copiloto-aviso{background:var(--warnbg);color:var(--warn);border-radius:6px;padding:6px 8px;font-size:13px}
.copiloto-pestana{position:fixed;right:0;top:45%;z-index:39;border-radius:8px 0 0 8px;padding:10px 8px;writing-mode:vertical-rl;box-shadow:-2px 2px 8px rgba(0,0,0,.15)}
.copiloto-abierto .copiloto-pestana{display:none}
.copiloto-n{display:inline-block;min-width:18px;text-align:center;border-radius:99px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;margin-top:4px}.copiloto-n:empty{display:none}
.copiloto-pestana.hay-critico{background:var(--bad)}.copiloto-pestana.hay-aviso{background:var(--warn)}
.copiloto-resaltado{outline:3px solid var(--acc);outline-offset:3px;border-radius:8px;transition:outline-color .3s}
@media(min-width:1280px){.copiloto-abierto main{margin-right:380px}.copiloto-abierto header{padding-right:380px}}
@media print{.copiloto,.copiloto-pestana{display:none!important}}

/* Asistente interactivo (pestaña «Preguntar» del copiloto) */
.copiloto-tabs{display:flex;gap:4px;padding:6px 10px 0;border-bottom:1px solid var(--line)}
.copiloto-tabs button{background:none;color:inherit;border:0;border-bottom:2px solid transparent;border-radius:0;padding:6px 10px;font-weight:600;cursor:pointer;opacity:.7}
.copiloto-tabs button.activa{border-bottom-color:var(--acc);opacity:1}
.copiloto-chat{display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 10px;gap:8px;overflow:hidden}
.copiloto-chat[hidden],.copiloto-cuerpo[hidden]{display:none}
.chat-mensajes{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:120px}
.chat-burbuja{max-width:92%;padding:8px 10px;border-radius:12px;font-size:.92em;line-height:1.4;background:rgba(127,127,127,.14)}
.chat-burbuja p{margin:0}
.chat-burbuja.yo{align-self:flex-end;background:var(--acc);color:#fff}
.chat-burbuja.espera{opacity:.6;font-style:italic}
.chat-burbuja.error{background:rgba(200,40,40,.15)}
.chat-pasos{margin:6px 0 0;padding-left:20px}.chat-pasos li{margin:2px 0}
.chat-valora{margin-top:6px;display:flex;gap:6px;align-items:center}.chat-valora button{padding:2px 8px}
.chat-rapidas{display:flex;flex-wrap:wrap;gap:6px}.chat-rapida{font-size:.82em;padding:4px 8px;text-align:left}
.chat-form{display:flex;gap:6px}.chat-form input{flex:1;min-width:0}
.copiloto-cab b{white-space:nowrap}.copiloto-cab small{line-height:1.2}

.chat-burbuja p{white-space:pre-line}
.chat-prellenado{margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(22,130,70,.12);font-size:.88em}
.agente-prellenado{outline:2px solid var(--acc);outline-offset:1px;background-image:linear-gradient(rgba(37,99,235,.08),rgba(37,99,235,.08))}
