/* La mesa a mano (5-nov-2026): en el Panel, el pipeline abre la herramienta de la tarea en grande. Arriba lo mínimo (pipeline,
   cliente, una frase y terminar); el resto de la pantalla es la herramienta. */
.pnl-main.con-mesa { padding: 10px 16px 12px; overflow: hidden; display: flex; flex-direction: column; }
.mam { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; position: relative; }
.mam [hidden] { display: none !important; }

/* ---------------------------------------------------------------- cabecera */
.mam-cab { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.mam-t { flex: 1; min-width: 220px; }
.mam-sala { margin: 0; font: 800 11.5px var(--letra); color: var(--madera-osc); letter-spacing: .03em; }
.mam-t h1 { margin: 1px 0 0; font: 700 23px/1.15 var(--titulo); color: var(--marca); }
.mam-caso { display: flex; align-items: center; gap: 4px; }
.mam-flecha { width: 34px; height: 40px; border: 0; border-radius: 10px; background: var(--papel); box-shadow: inset 0 0 0 1px rgba(27,58,92,.15); font: 700 20px var(--letra); color: var(--marca); cursor: pointer; }
.mam-flecha:disabled { opacity: .35; cursor: default; }
.mam-cliente { display: flex; align-items: center; gap: 10px; min-width: 230px; height: 46px; padding: 0 12px; border: 0; border-radius: 12px; background: var(--papel); box-shadow: inset 0 0 0 1.5px var(--marca); color: var(--marca); cursor: pointer; text-align: left; }
.mam-cliente svg { width: 20px; height: 20px; flex: none; }
.mam-cliente span { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.mam-cliente b { font: 800 15px/1.2 var(--letra); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mam-cliente small { font: 600 11.5px var(--letra); color: var(--tinta-3); }
.mam-cliente i { width: 0; height: 0; border-top: 6px solid currentColor; border-left: 5px solid transparent; border-right: 5px solid transparent; }
.mam-terminar { height: 46px; padding: 0 20px; font-size: 15px; }
.mam-terminar:disabled { opacity: .45; cursor: default; }
.mam-que { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; padding: 8px 12px; border-radius: 10px; background: var(--papel); box-shadow: inset 0 0 0 1px rgba(27,58,92,.08); }
.mam-que p { margin: 0; flex: 1 1 380px; font: 600 14px/1.4 var(--letra); color: var(--tinta); }
.mam-datos { display: flex; gap: 6px; flex-wrap: wrap; }
.mam-dato { display: inline-flex; align-items: baseline; gap: 5px; padding: 3px 9px; border-radius: 99px; background: var(--papel-2); font: 700 12.5px var(--letra); color: var(--marca); }
.mam-dato small { font: 600 11px var(--letra); color: var(--tinta-3); }
.mam-banda { margin: 0; display: flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 10px; font: 600 13px var(--letra); }
.mam-banda svg { width: 16px; height: 16px; flex: none; }
.mam-banda.hecho { background: #E6F6EF; color: var(--verde-osc); }
.mam-banda.agente { background: #E3EEF9; color: #1D4F7A; }

/* La lista de clientes del pipeline (al pulsar el cliente o la miga del pipeline). */
.mam-lista { position: absolute; z-index: 30; top: 54px; right: 150px; width: min(420px, 90vw); max-height: min(560px, 70vh); display: flex; flex-direction: column; gap: 8px; padding: 10px; border-radius: 14px; background: var(--papel); box-shadow: 0 14px 40px rgba(27,58,92,.25), inset 0 0 0 1px rgba(27,58,92,.12); }
.mam-lbuscar { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px; border-radius: 10px; background: var(--papel-2); }
.mam-lbuscar svg { width: 15px; height: 15px; color: var(--tinta-3); }
.mam-lbuscar input { flex: 1; border: 0; background: transparent; font: 600 13px var(--letra); color: var(--tinta); }
.mam-lbuscar input:focus { outline: none; }
.mam-lcuerpo { overflow: auto; display: flex; flex-direction: column; gap: 2px; }
.mam-lcuerpo h4 { margin: 8px 6px 4px; font: 800 11px var(--letra); text-transform: uppercase; letter-spacing: .06em; color: var(--tinta-3); }
.mam-l { display: grid; grid-template-columns: 12px 1fr; column-gap: 8px; align-items: center; padding: 7px 8px; border: 0; border-radius: 9px; background: transparent; text-align: left; cursor: pointer; color: var(--tinta); }
.mam-l:hover { background: rgba(27,58,92,.06); }
.mam-l.actual { background: #E3EEF9; }
.mam-l i { width: 9px; height: 9px; border-radius: 50%; background: var(--ambar); }
.mam-l.agente i { background: var(--celeste-osc); }
.mam-l.hecho i { background: var(--verde-osc); }
.mam-l b { font: 700 13.5px var(--letra); }
.mam-l small { grid-column: 2; font: 500 12px var(--letra); color: var(--tinta-3); }

/* ---------------------------------------------------------------- la herramienta */
.mam-herr { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.mam-herr.junto { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 10px; }
.mam-herr.junto.primero-hoja { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.mam-pest { display: flex; gap: 2px; padding-left: 4px; }
.mam-pest button { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border: 0; border-radius: 10px 10px 0 0; background: rgba(27,58,92,.06); color: var(--tinta-2); font: 700 13px var(--letra); cursor: pointer; }
.mam-pest button svg { width: 15px; height: 15px; }
.mam-pest button em { font-style: normal; font-size: 11px; padding: 0 6px; border-radius: 99px; background: rgba(27,58,92,.1); }
.mam-pest button[aria-selected="true"] { background: var(--papel); color: var(--marca); box-shadow: 0 -1px 0 rgba(27,58,92,.08); }
.mam-pane { flex: 1; min-height: 0; display: flex; flex-direction: column; border-radius: 12px; background: var(--papel); box-shadow: 0 1px 0 rgba(27,58,92,.06), inset 0 0 0 1px rgba(27,58,92,.1); overflow: hidden; }
.mam-pest + .mam-pane, .mam-pest ~ .mam-pane { border-top-left-radius: 0; }
.mam-vacio { margin: auto; color: var(--tinta-3); display: flex; gap: 8px; align-items: center; }

/* Terminar: un panel abajo a la derecha, sin tapar la herramienta entera. */
.mam-fin { position: absolute; z-index: 25; right: 4px; bottom: 4px; width: min(480px, 92%); display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 14px; background: var(--papel); box-shadow: 0 16px 44px rgba(27,58,92,.3), inset 0 0 0 1px rgba(27,58,92,.12); }
.mam-fin h3 { margin: 0; display: flex; align-items: center; gap: 8px; font: 700 17px var(--titulo); color: var(--marca); }
.mam-fin h3 svg { width: 18px; height: 18px; }
.mam-salidas { display: flex; flex-wrap: wrap; gap: 6px; }
.mam-salidas label { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 9px; background: var(--papel-2); font: 600 13px var(--letra); cursor: pointer; }
.mam-resumen { display: flex; flex-direction: column; gap: 4px; font: 700 12px var(--letra); color: var(--tinta-3); }
.mam-resumen textarea { resize: vertical; padding: 8px 10px; border: 0; border-radius: 9px; background: var(--papel-2); box-shadow: inset 0 0 0 1px rgba(27,58,92,.12); font: 500 13.5px/1.4 var(--letra); color: var(--tinta); }
.mam-falta, .mam-aviso { margin: 0; display: flex; gap: 6px; align-items: center; font: 600 13px var(--letra); }
.mam-falta { color: var(--rojo); } .mam-aviso { color: #7A4D05; } .mam-aviso.suave { color: var(--tinta-2); }
.mam-falta svg, .mam-aviso svg { width: 15px; height: 15px; flex: none; }
.mam-fin-b { display: flex; gap: 8px; }
.mam-fin-b .b-prin:disabled { opacity: .45; cursor: default; }

/* ---------------------------------------------------------------- documentos */
.hd { flex: 1; min-height: 0; display: grid; grid-template-columns: 230px minmax(0, 1fr); }
.mam-herr.junto .hd { grid-template-columns: 170px minmax(0, 1fr); }
.hd-lista { display: flex; flex-direction: column; gap: 3px; padding: 10px 8px; border-right: 1px solid rgba(27,58,92,.1); overflow: auto; background: var(--papel-2); }
.hd-doc { display: grid; grid-template-columns: 16px 1fr; gap: 2px 7px; align-items: center; padding: 8px; border: 0; border-radius: 9px; background: transparent; text-align: left; cursor: pointer; color: var(--tinta); font: 600 13px/1.25 var(--letra); }
.hd-doc svg { width: 15px; height: 15px; color: var(--tinta-3); }
.hd-doc:hover { background: rgba(27,58,92,.06); }
.hd-doc.actual { background: var(--papel); box-shadow: inset 0 0 0 1.5px var(--marca); }
.hd-doc em { grid-column: 2; justify-self: start; font: 700 10.5px var(--letra); font-style: normal; padding: 1px 7px; border-radius: 99px; }
.hd-doc em.bien { background: #E6F6EF; color: var(--verde-osc); } .hd-doc em.mal { background: var(--rojo-suave); color: #8A2F1F; } .hd-doc em.pend { background: var(--ambar-suave); color: #7A4D05; }
.hd-visor { min-height: 0; display: flex; flex-direction: column; }
.hd-acciones { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 14px; border-bottom: 1px solid rgba(27,58,92,.08); }
.hd-acc { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 0; border-radius: 10px; background: #FFF; font: 700 13.5px var(--letra); cursor: pointer; }
.hd-acc svg { width: 16px; height: 16px; }
.hd-acc.bien { color: var(--verde-osc); box-shadow: inset 0 0 0 1.5px var(--verde-osc); }
.hd-acc.mal { color: var(--rojo); box-shadow: inset 0 0 0 1.5px var(--rojo); }
.hd-acc.bien.on { background: var(--verde-osc); color: #FFF; } .hd-acc.mal.on { background: var(--rojo); color: #FFF; }
.hd-motivo { display: inline-flex; gap: 5px; align-items: center; font: 600 12.5px var(--letra); color: #8A2F1F; }
.hd-motivo svg { width: 14px; height: 14px; }
.hd-pedir { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 14px; background: var(--rojo-suave); }
.hd-pedir label { flex: 1; display: flex; align-items: center; gap: 6px; font: 700 13px var(--letra); color: #8A2F1F; }
.hd-pedir input { flex: 1; min-width: 200px; height: 34px; padding: 0 10px; border: 0; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(138,47,31,.35); font: 500 13.5px var(--letra); }
.hd-pagina { flex: 1; min-height: 0; overflow: auto; padding: 18px; background: #E9E6DF; }
.hd-pagina .r1d-pagina { max-width: 720px; margin: 0 auto; aspect-ratio: auto; min-height: 100%; }
.hd-vacio { margin: auto; display: flex; gap: 8px; align-items: center; color: var(--tinta-3); }
.hd-vacio svg { width: 18px; height: 18px; }

/* La bandeja (REN1T4). */
.hb { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; }
.hb-correo { min-height: 0; display: flex; flex-direction: column; }
.hb-correo dl { margin: 0; padding: 12px 16px; display: grid; gap: 4px; border-bottom: 1px solid rgba(27,58,92,.08); }
.hb-correo dl div { display: flex; gap: 10px; } .hb-correo dt { width: 60px; color: var(--tinta-3); font-weight: 700; } .hb-correo dd { margin: 0; }
.hb-adj { display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 16px; }
.hb-a { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 0; border-radius: 9px; background: var(--papel-2); font: 600 13px var(--letra); color: var(--tinta); cursor: pointer; }
.hb-a svg { width: 14px; height: 14px; } .hb-a.actual { box-shadow: inset 0 0 0 1.5px var(--marca); color: var(--marca); }
.hb-destino { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-left: 1px solid rgba(27,58,92,.1); background: var(--papel-2); overflow: auto; }
.hb-destino h3 { margin: 0; display: flex; gap: 7px; align-items: center; font: 700 16px var(--titulo); color: var(--marca); }
.hb-destino h3 svg { width: 18px; height: 18px; }
.hb-sub { margin: 0; font: 600 12px var(--letra); color: var(--tinta-3); }
.hb-cands { display: flex; flex-direction: column; gap: 4px; }
.hb-cand { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 0; border-radius: 9px; background: #FFF; box-shadow: inset 0 0 0 1px rgba(27,58,92,.12); font: 700 13.5px var(--letra); color: var(--tinta); cursor: pointer; text-align: left; }
.hb-cand svg { width: 15px; height: 15px; } .hb-cand.on { background: var(--marca); color: #FFF; }
.hb-buscar { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px; border-radius: 9px; background: #FFF; box-shadow: inset 0 0 0 1px rgba(27,58,92,.12); }
.hb-buscar svg { width: 15px; height: 15px; color: var(--tinta-3); } .hb-buscar input { flex: 1; border: 0; background: transparent; font: 600 13px var(--letra); }
.hb-buscar input:focus { outline: none; }
.hb-elegido { margin: 6px 0 0; display: flex; gap: 6px; align-items: center; font: 600 13px var(--letra); color: var(--tinta-2); }
.hb-elegido svg { width: 15px; height: 15px; }
.hb-dup { display: flex; gap: 8px; align-items: flex-start; font: 600 13px var(--letra); }

/* ---------------------------------------------------------------- correo y nota */
.hm { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.hm.con-lado { grid-template-columns: minmax(0, 1fr) 280px; }
.hm-correo { min-height: 0; display: flex; flex-direction: column; }
.hm-campo { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border-bottom: 1px solid rgba(27,58,92,.08); font: 500 14px var(--letra); }
.hm-campo > span { width: 56px; flex: none; color: var(--tinta-3); font-weight: 700; }
.hm-campo input { flex: 1; height: 40px; border: 0; background: transparent; font: 600 14.5px var(--letra); color: var(--tinta); }
.hm-campo input:focus, .hm-cuerpo:focus { outline: none; }
.hm-campo:focus-within { background: #FAFBFC; }
.hm-cuerpo { flex: 1; min-height: 0; resize: none; padding: 16px; border: 0; background: transparent; font: 500 15px/1.6 var(--letra); color: var(--tinta); }
.hm-pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; border-top: 1px solid rgba(27,58,92,.08); }
.hm-ayuda { display: flex; align-items: center; gap: 6px; font: 500 12.5px var(--letra); color: var(--tinta-3); }
.hm-ayuda svg { width: 14px; height: 14px; }
.hm-lado { padding: 14px; border-left: 1px solid rgba(27,58,92,.1); background: var(--papel-2); overflow: auto; display: flex; flex-direction: column; gap: 14px; }
.hm-lado h3 { margin: 0 0 6px; display: flex; gap: 6px; align-items: center; font: 800 12px var(--letra); text-transform: uppercase; letter-spacing: .05em; color: var(--tinta-3); }
.hm-lado h3 svg { width: 14px; height: 14px; }
.hm-lado ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; font: 600 13.5px/1.35 var(--letra); color: var(--tinta); }
.hn { padding: 20px; display: grid; gap: 14px; max-width: 640px; }
.hn label { display: grid; gap: 6px; font: 700 13px var(--letra); color: var(--tinta-2); }
.hn label span { display: flex; gap: 6px; align-items: center; } .hn label svg { width: 15px; height: 15px; }
.hn textarea, .hn input { padding: 9px 11px; border: 0; border-radius: 9px; background: var(--papel-2); box-shadow: inset 0 0 0 1px rgba(27,58,92,.14); font: 500 14px var(--letra); color: var(--tinta); }

/* ---------------------------------------------------------------- hoja */
.mam-hoja .hh { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 8px; }
.mam-hoja .hc { flex: 1; min-height: 0; }
.mam-hoja .hc-rejilla { flex: 1; min-height: 0; max-height: none; overflow: auto; }
.mam-hoja .hc-rejilla table { font-size: 14px; }

/* ---------------------------------------------------------------- navegador */
.hn-nav { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.nv-barra { display: flex; align-items: center; gap: 4px; padding: 8px 10px 6px; }
.nv-b { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; font: 700 18px var(--letra); color: var(--tinta-2); cursor: pointer; }
.nv-b:hover { background: rgba(27,58,92,.07); }
.nv-dir { flex: 1; display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 99px; background: var(--papel-2); box-shadow: inset 0 0 0 1px rgba(27,58,92,.1); }
.nv-dir input { flex: 1; border: 0; background: transparent; font: 500 13.5px var(--letra); color: var(--tinta); }
.nv-dir input:focus { outline: none; }
.nv-candado svg { width: 13px; height: 13px; color: var(--verde-osc); }
.nv-atajos { display: flex; gap: 6px; flex-wrap: wrap; padding: 0 10px 8px; }
.nv-atajo { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; border: 0; border-radius: 99px; background: var(--papel-2); font: 600 12.5px var(--letra); color: var(--tinta-2); cursor: pointer; }
.nv-atajo svg { width: 13px; height: 13px; }
.nv-atajo.suya { background: var(--marca); color: #FFF; }
.nv-pestanas { display: flex; gap: 2px; padding: 0 10px; }
.nv-pest { max-width: 220px; height: 30px; padding: 0 12px; border: 0; border-radius: 9px 9px 0 0; background: rgba(27,58,92,.06); font: 600 12px var(--letra); color: var(--tinta-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.nv-pest.actual { background: #FFF; color: var(--marca); }
.nv-pantalla { position: relative; flex: 1; min-height: 0; overflow: hidden; background: #FFF; border-top: 1px solid rgba(27,58,92,.1); outline: none; cursor: default; }
.nv-pantalla:focus-visible { box-shadow: inset 0 0 0 2px var(--celeste-osc); }
.nv-pantalla img { display: block; width: 100%; height: 100%; object-fit: fill; user-select: none; }
.nv-cargando { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; background: rgba(255,255,255,.85); font: 600 14px var(--letra); color: var(--tinta-2); }
.nv-dialogo { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(27,58,92,.25); }
.nv-dlg { max-width: 420px; padding: 18px; border-radius: 12px; background: #FFF; box-shadow: 0 12px 40px rgba(27,58,92,.3); display: grid; gap: 12px; }
.nv-dlg p { margin: 0; white-space: pre-wrap; } .nv-dlg div { display: flex; gap: 8px; justify-content: flex-end; }
.nv-dlg input { height: 34px; padding: 0 10px; border: 1px solid rgba(27,58,92,.2); border-radius: 8px; }
.nv-pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; min-height: 36px; padding: 4px 12px; border-top: 1px solid rgba(27,58,92,.08); font: 500 12px var(--letra); color: var(--tinta-3); }
.nv-aviso, .nv-descargas { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.nv-aviso svg, .nv-descargas svg { width: 13px; height: 13px; }
.nv-desc { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 99px; background: #E6F6EF; color: var(--verde-osc); font-weight: 700; }
.nv-ver { width: 24px; height: 24px; border: 0; border-radius: 6px; background: transparent; color: var(--tinta-2); cursor: pointer; }

/* Tarjetas del Panel con mesa a mano: tres cifras (por hacer, con un agente, hechos). */
.pnl-pipe .pnl-con { display: flex; gap: 6px; align-items: center; color: var(--tinta-2); }
.pnl-pipe .pnl-con svg { width: 15px; height: 15px; color: var(--madera-osc); flex: none; }
.pnl-etapas.tres { grid-template-columns: repeat(3, 1fr); }
.pnl-etapa.hecho:not(.cero) { background: #E6F6EF; }

@media (max-width: 1100px) {
  .mam-herr.junto { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); }
  .hb { grid-template-columns: minmax(0, 1fr); } .hm.con-lado { grid-template-columns: minmax(0, 1fr); } .hm-lado { display: none; }
}

/* 5-nov tarde (A189): la propuesta se ve prepararse y queda lista para validar. */
.mam-prep { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 7px 12px; border-radius: 10px; font: 600 13px var(--letra); }
.mam-prep svg { width: 16px; height: 16px; flex: none; }
.mam-prep.preparando { background: #FFF6D6; color: #7A4D05; }
.mam-prep.lista { background: #E6F6EF; color: var(--verde-osc); }
.mam-prep .r1t1-enlace { margin-left: auto; }
.mam-latido { width: 9px; height: 9px; border-radius: 50%; background: currentColor; animation: mam-latido 1s ease-in-out infinite; flex: none; }
@keyframes mam-latido { 0%, 100% { opacity: .3; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.1); } }
.mam-hoja td.hc-recien { animation: mam-celda .9s ease-out; }
@keyframes mam-celda { 0% { background: #FFE08A; box-shadow: inset 0 0 0 2px #C99A12; } 100% { background: inherit; box-shadow: none; } }
.hd.jugando .hd-lista, .hd.jugando .hd-acciones { pointer-events: none; }
.hd-motivo.bien { color: var(--verde-osc); }
.hd-motivo.mal { color: #8A2F1F; }
.hb-cand small { margin-left: auto; font: 700 10.5px var(--letra); padding: 1px 7px; border-radius: 99px; background: #E6F6EF; color: var(--verde-osc); }
.hb-cand.on small { background: rgba(255,255,255,.2); color: #FFF; }
.hm-correo.jugando textarea, .hm-correo.jugando input { caret-color: transparent; }

/* A191: el atajo de la web abierta, marcado. A190: barra fina mientras carga una página. */
.nv-atajo { box-shadow: inset 0 0 0 1px rgba(27,58,92,.08); }
.nv-atajo.on { background: var(--marca); color: #FFF; box-shadow: none; }
.nv-atajo:hover:not(.on) { background: rgba(27,58,92,.1); }
.nv-barra-carga { position: absolute; left: 0; top: 0; height: 3px; width: 40%; background: var(--celeste-osc); animation: nv-carga 1.1s ease-in-out infinite; z-index: 2; }
.nv-barra-carga[hidden] { display: none; }
@keyframes nv-carga { 0% { left: -40%; } 100% { left: 100%; } }
.nv-pantalla img { image-rendering: auto; }

/* La carpeta del cliente (5-nov, A192): una franja bajo la herramienta; lo de esta tarea, a la vista; lo de otros pasos, plegado. */
.mam-carpeta:empty { display: none; }
.cc { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 44px; padding: 6px 10px; border-radius: 12px; background: var(--papel);
  box-shadow: inset 0 0 0 1px rgba(27,58,92,.1); }
.cc-tit { display: inline-flex; align-items: center; gap: 6px; font: 800 12.5px var(--letra); color: var(--marca); white-space: nowrap; }
.cc-tit svg { width: 16px; height: 16px; color: var(--madera-osc); }
.cc-lista { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font: 500 12.5px var(--letra); color: var(--tinta-3); }
.cc-doc { display: inline-flex; align-items: center; border-radius: 99px; background: var(--papel-2); box-shadow: inset 0 0 0 1px rgba(27,58,92,.1); }
.cc-doc.esta { background: #E6F6EF; box-shadow: inset 0 0 0 1px rgba(30,107,85,.35); }
.cc-doc > button { display: inline-flex; align-items: center; gap: 5px; max-width: 280px; height: 28px; padding: 0 10px; border: 0; background: none; font: 600 12.5px var(--letra); color: var(--tinta); cursor: pointer; }
.cc-doc > button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-doc > button svg { width: 13px; height: 13px; flex: none; }
.cc-doc .cc-quitar { width: 24px; padding: 0; justify-content: center; color: var(--tinta-3); font-size: 16px; }
.cc-doc .cc-quitar:hover { color: var(--rojo); }
.cc-otras summary { cursor: pointer; font: 600 12px var(--letra); color: var(--tinta-3); }
.cc-otras > div { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.cc-subiendo { display: inline-flex; align-items: center; gap: 6px; color: #7A4D05; }
.cc-subir { padding: 7px 12px; font-size: 13px; cursor: pointer; }
.cc-subir svg { width: 15px; height: 15px; }
.mam-soltar { position: absolute; inset: 0; z-index: 40; display: grid; place-items: center; border-radius: 14px; background: rgba(27,58,92,.55); pointer-events: none; }
.mam-soltar[hidden] { display: none; }
.mam-soltar p { margin: 0; display: flex; align-items: center; gap: 10px; padding: 18px 26px; border-radius: 14px; background: var(--papel); font: 600 16px var(--letra); color: var(--marca); box-shadow: 0 0 0 3px var(--celeste-osc); }
.mam-soltar svg { width: 22px; height: 22px; }
.nv-guardar { padding: 5px 10px; font-size: 12.5px; }
.nv-guardar svg { width: 14px; height: 14px; }

/* A193 (5-nov): la herramienta manda. Botones discretos y cabecera plegable. */
.mam-cliente { min-width: 200px; height: 38px; padding: 0 10px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(27,58,92,.14); background: var(--papel); }
.mam-cliente:hover { box-shadow: inset 0 0 0 1px rgba(27,58,92,.3); }
.mam-cliente b { font-size: 14px; }
.mam-cliente small { font-size: 11px; }
.mam-cliente svg { width: 17px; height: 17px; color: var(--tinta-3); }
.mam-flecha { width: 30px; height: 38px; font-size: 18px; box-shadow: inset 0 0 0 1px rgba(27,58,92,.1); }
.mam-terminar { height: 38px; padding: 0 14px; font-size: 13.5px; border-radius: 10px; box-shadow: 0 2px 0 #05162A; }
.mam-terminar svg { width: 15px; height: 15px; }
.mam-t h1 { font-size: 21px; }
.mam-plegar { align-self: center; display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--tinta-3); cursor: pointer; }
.mam-plegar:hover { background: rgba(27,58,92,.07); color: var(--marca); }
.mam-plegar i { width: 0; height: 0; border-top: 6px solid currentColor; border-left: 5px solid transparent; border-right: 5px solid transparent; transition: transform .15s; }
.mam.plegada .mam-plegar i { transform: rotate(-90deg); }
.mam.plegada .mam-que, .mam.plegada .mam-sala, .mam.plegada .mam-prep.lista { display: none; }
.mam.plegada .mam-t h1 { font-size: 17px; }
.mam.plegada .mam-cab { gap: 10px; }
.mam.plegada .mam-cliente { height: 32px; } .mam.plegada .mam-cliente small { display: none; }
.mam.plegada .mam-flecha { height: 32px; } .mam.plegada .mam-terminar { height: 32px; }
.mam.plegada .mam-lista { top: 40px; }

/* El agente en el navegador: botón en la barra, círculo donde pulsa, pasos abajo y lo que te deja al acabar. */
.nv-agente { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 0; border-radius: 99px; background: #EEE8FB; color: #4B2E8F; font: 700 12.5px var(--letra); cursor: pointer; white-space: nowrap; }
.nv-agente svg { width: 15px; height: 15px; }
.nv-agente:hover { background: #E2D8F8; }
.nv-agente.on { background: #4B2E8F; color: #FFF; }
.nv-ag { position: absolute; inset: 0; z-index: 3; cursor: not-allowed; box-shadow: inset 0 0 0 3px rgba(75,46,143,.55); }
.nv-ag[hidden], .nv-ag-fin[hidden], .nv-ag-cursor[hidden] { display: none; }
.nv-ag-cursor { position: absolute; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; border: 3px solid #7B4FE0; background: rgba(123,79,224,.18); animation: nv-ag-pulso 1s ease-out infinite; pointer-events: none; transition: left .25s, top .25s; }
@keyframes nv-ag-pulso { 0% { transform: scale(.7); opacity: 1; } 100% { transform: scale(1.4); opacity: .3; } }
.nv-ag-caja { position: absolute; left: 12px; right: 12px; bottom: 12px; max-width: 640px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 10px 30px rgba(27,58,92,.28); cursor: default; }
.nv-ag-caja header { display: flex; align-items: center; gap: 8px; font: 700 13px var(--letra); color: #4B2E8F; }
.nv-ag-caja header svg { width: 17px; height: 17px; }
.nv-ag-caja header .b-sec { margin-left: auto; padding: 5px 10px; font-size: 12.5px; }
.nv-ag-caja ol { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 2px; font: 500 13px/1.35 var(--letra); color: var(--tinta-3); }
.nv-ag-caja li small { display: inline-block; width: 62px; color: #A9B5C1; font-weight: 600; }
.nv-ag-caja li.ahora { color: var(--tinta); font-weight: 700; }
.nv-ag-fin { position: absolute; z-index: 4; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; pointer-events: none; }
.nv-ag-fin-caja { pointer-events: auto; display: flex; align-items: center; gap: 10px; max-width: 720px; margin: 0 12px; padding: 12px 14px; border-radius: 12px; background: #FFF; box-shadow: 0 10px 30px rgba(27,58,92,.28), inset 4px 0 0 #4B2E8F; }
.nv-ag-fin-caja.pide { box-shadow: 0 10px 30px rgba(27,58,92,.28), inset 4px 0 0 var(--ambar); }
.nv-ag-fin-caja.error { box-shadow: 0 10px 30px rgba(27,58,92,.28), inset 4px 0 0 var(--rojo); }
.nv-ag-fin-caja svg { width: 20px; height: 20px; flex: none; color: #4B2E8F; }
.nv-ag-fin-caja p { margin: 0; font: 600 13.5px/1.4 var(--letra); color: var(--tinta); }
.nv-ag-fin-caja .b-prin { padding: 7px 12px; font-size: 13px; white-space: nowrap; }

/* A195 (5-nov): la carpeta, un botón en la cabecera con su desplegable (ya no una franja bajo la herramienta). */
.mam-carpeta { position: relative; display: inline-flex; }
.mam-carpeta .cc { display: block; min-height: 0; padding: 0; background: none; box-shadow: none; border-radius: 0; }
.cc-boton { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--papel); box-shadow: inset 0 0 0 1px rgba(27,58,92,.14); font: 700 13px var(--letra); color: var(--marca); cursor: pointer; white-space: nowrap; }
.cc-boton svg { width: 16px; height: 16px; color: var(--madera-osc); }
.cc-boton em { font-style: normal; min-width: 18px; padding: 0 5px; border-radius: 99px; background: var(--papel-2); font-size: 11.5px; text-align: center; }
.cc-boton.nuevo em, .cc-boton.nuevo { box-shadow: inset 0 0 0 1.5px var(--verde-osc); }
.cc-boton.nuevo em { background: #E6F6EF; color: var(--verde-osc); }
.mam.plegada .cc-boton { height: 32px; }
.cc-pop { position: absolute; z-index: 35; top: calc(100% + 6px); right: 0; width: min(440px, 80vw); display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 14px; background: var(--papel); box-shadow: 0 14px 40px rgba(27,58,92,.25), inset 0 0 0 1px rgba(27,58,92,.12); }
.cc-pop .cc-lista { flex-direction: column; align-items: stretch; max-height: 320px; overflow: auto; }
.cc-pop .cc-doc { justify-content: space-between; border-radius: 9px; }
.cc-pop .cc-doc > button:first-child { max-width: none; flex: 1; }
.cc-pop .cc-subir { align-self: flex-start; }

/* El navegador: PDF y aviso como iconos en la barra; la caja del agente se pliega al robot de la esquina. */
.nv-ico { display: inline-flex; align-items: center; justify-content: center; gap: 2px; width: auto; min-width: 32px; padding: 0 6px; color: var(--tinta-2); }
.nv-ico svg { width: 16px; height: 16px; }
.nv-ico small { font: 800 10px var(--letra); }
.nv-info { cursor: help; color: #9A6A12; }
.nv-ag-caja ol { max-height: 92px; overflow: hidden; }
.nv-ag-caja[hidden], .nv-ag-mini[hidden] { display: none; }
.nv-ag-plegar { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #4B2E8F; font: 700 14px var(--letra); cursor: pointer; }
.nv-ag-plegar:hover { background: #EEE8FB; }
.nv-ag-mini { position: absolute; left: 12px; bottom: 12px; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: #4B2E8F; color: #FFF; cursor: pointer; box-shadow: 0 6px 18px rgba(75,46,143,.45); animation: nv-ag-latido 1.6s ease-in-out infinite; }
.nv-ag-mini svg { width: 22px; height: 22px; }
.nv-ag-mini em { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: #FFF; color: #4B2E8F; font: 800 11px/18px var(--letra); font-style: normal; box-shadow: 0 0 0 2px #4B2E8F; }
.nv-ag-mini em:empty { display: none; }
@keyframes nv-ag-latido { 0%, 100% { box-shadow: 0 6px 18px rgba(75,46,143,.45); } 50% { box-shadow: 0 6px 26px rgba(75,46,143,.75); } }

/* A198 (5-nov): los atajos a las webs, en el hueco libre de la cabecera (entre el título y el cliente). */
.mam-t { flex: 0 1 auto; min-width: 0; }
.mam-t h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nv-atajos.en-cabecera { flex: 1 1 0; min-width: 120px; display: flex; flex-wrap: nowrap; gap: 5px; padding: 2px 0; overflow-x: auto; scrollbar-width: none; align-self: center; }
.nv-atajos.en-cabecera::-webkit-scrollbar { display: none; }
.nv-atajos.en-cabecera .nv-atajo { flex: none; height: 28px; padding: 0 9px; font-size: 12px; }
.mam.plegada .nv-atajos.en-cabecera .nv-atajo { height: 26px; }
.nv-atajos.en-cabecera .nv-atajo + .nv-atajo svg { display: none; } /* el icono, sólo en la Hacienda del cliente (la primera) */
.nv-atajos.en-cabecera .nv-atajo + .nv-atajo { padding: 0 8px; }

/* A199 (5-nov): el cliente, la carpeta y validar, anclados a la derecha; el hueco libre queda en el centro (o lo llenan los atajos). */
.mam-caso { margin-left: auto; }
.mam-cab { padding-right: 4px; }

/* El agente en segundo plano (5-nov, reunión con Lucas y Odette): una pestañita arriba a la derecha, a la altura de las migas;
   al pulsarla, la pantalla en pequeño (como al compartir en Meet) con los últimos pasos e «Ir allí». */
.agf { position: fixed; z-index: 60; top: calc(var(--bajo-cab, 84px) + 6px); right: 14px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.agf[hidden] { display: none; }
.agf-pest { display: flex; align-items: center; gap: 8px; max-width: 320px; height: 32px; padding: 0 10px 0 4px; border: 0; border-radius: 99px; background: #FFF; color: var(--tinta);
  cursor: pointer; box-shadow: 0 2px 10px rgba(27,58,92,.16), inset 0 0 0 1px rgba(75,46,143,.25); font: 600 12px var(--letra); }
.agf-robot { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #4B2E8F; color: #FFF; flex: none; }
.agf-robot svg { width: 14px; height: 14px; }
.agf-txt { display: flex; align-items: baseline; gap: 6px; min-width: 0; white-space: nowrap; }
.agf-txt b { font-weight: 800; color: #4B2E8F; }
.agf-txt small { overflow: hidden; text-overflow: ellipsis; color: var(--tinta-3); font-size: 12px; }
.agf-pest em { font-style: normal; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: #EEE8FB; color: #4B2E8F; font: 800 10.5px/18px var(--letra); }
.agf.trabaja .agf-robot { animation: agf-latido 1.6s ease-in-out infinite; }
.agf.pide .agf-pest { box-shadow: 0 2px 12px rgba(214,140,20,.4), inset 0 0 0 2px var(--ambar); animation: agf-llama 1.2s ease-in-out infinite; }
.agf.pide .agf-robot { background: var(--ambar); }
.agf.pide .agf-txt b { color: #7A4D05; }
.agf.hecho .agf-robot { background: var(--verde-osc); }
.agf.hecho .agf-txt b { color: var(--verde-osc); }
.agf.error .agf-robot { background: var(--rojo); }
.agf.error .agf-txt b { color: #8A2F1F; }
@keyframes agf-latido { 50% { box-shadow: 0 0 0 5px rgba(75,46,143,.18); } }
@keyframes agf-llama { 50% { transform: translateY(-1px); } }
.agf-pop { width: 300px; padding: 8px; border-radius: 12px; background: #FFF; box-shadow: 0 12px 32px rgba(27,58,92,.25), inset 0 0 0 1px rgba(27,58,92,.08); display: grid; gap: 8px; }
.agf-foto { display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: #EEF1F4; cursor: pointer; box-shadow: inset 0 0 0 2px rgba(75,46,143,.35); }
.agf-foto img { width: 100%; height: 100%; object-fit: cover; object-position: top left; display: block; }
.agf-foto span { display: grid; place-items: center; height: 100%; font-size: 12px; color: var(--tinta-3); }
.agf-pop ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font: 500 12px/1.35 var(--letra); color: var(--tinta-3); }
.agf-pop li:last-child { color: var(--tinta); font-weight: 700; }
.agf-pop li small { color: #A9B5C1; margin-right: 6px; }
.agf-fin { margin: 0; max-height: 120px; overflow: auto; font: 600 12.5px/1.4 var(--letra); color: var(--tinta); }
.agf-botones { display: flex; gap: 6px; justify-content: flex-end; }
.agf-botones button { padding: 5px 12px; font-size: 12.5px; }
body.con-agf .pnl-migas { right: 340px; }
.nv-ag-caja header [data-nv-ag-ir] { margin-left: auto; }
.nv-ag-caja header [data-nv-ag-ir]:not([hidden]) + .b-sec { margin-left: 0; }

/* 10-nov-2026 · El escrito (informes, fichas, dictámenes) en la mesa a mano fuera de Renta: como el correo, la hoja entera. */
.he { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.he-cab { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px 0 16px; border-bottom: 1px solid rgba(27,58,92,.08); font: 600 14px var(--letra); color: var(--tinta); }
.he-cab > svg { width: 16px; height: 16px; flex: none; color: var(--tinta-3); }
.he-cab b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.he-bajar { flex: none; height: 32px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.he-bajar svg { width: 14px; height: 14px; }
.he-texto { flex: 1; min-height: 0; width: 100%; resize: none; padding: 16px 20px; border: 0; background: transparent; font: 500 15px/1.65 var(--letra); color: var(--tinta); }
.he-texto:focus { outline: none; }
.he.jugando .he-texto { color: var(--tinta-2); }

/* ---------------------------------------------------------------- Gestiona (Disciplina, Getxo · 10-nov-2026) */
.hg { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 14px; padding: 14px 18px; }
.hg-cab { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-bottom: 10px; border-bottom: 1px solid var(--papel-3); }
.hg-marca { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; color: var(--marca); }
.hg-marca svg { width: 20px; height: 20px; }
.hg-exp { color: var(--tinta-2); margin-right: auto; }
.hg-exp b { color: var(--tinta); }
.hg-cab button { display: inline-flex; align-items: center; gap: 6px; }
.hg-cab button svg { width: 16px; height: 16px; }
.hg-falta { display: flex; gap: 10px; padding: 10px 14px; border-radius: 10px; background: var(--ambar-suave); color: #6B4504; font-size: 13px; }
.hg-falta > svg { flex: none; width: 18px; height: 18px; margin-top: 2px; }
.hg-falta ul { margin: 6px 0; padding-left: 18px; }
.hg h4 { margin: 0 0 8px; font: 700 12px/1.2 var(--letra); text-transform: uppercase; letter-spacing: .05em; color: var(--tinta-2); }
.hg-datos dl { margin: 0; display: grid; gap: 6px; }
.hg-datos dl > div { display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 8px; background: var(--papel-2); }
.hg-datos dt { color: var(--tinta-2); font-size: 12.5px; }
.hg-datos dd { margin: 0; font-weight: 600; }
.hg-copiar { border: 0; background: none; cursor: pointer; color: var(--tinta-3); padding: 4px; border-radius: 6px; }
.hg-copiar svg { width: 15px; height: 15px; }
.hg-copiar:hover, [data-hg-copiar].hecho { color: var(--verde-osc); background: #E5F4EE; }
.hg-pasos ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.hg-pasos li label { display: flex; gap: 10px; align-items: flex-start; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--papel-3); background: #FFF; cursor: pointer; }
.hg-pasos li label:has(input:checked) { background: #EEF8F3; border-color: #BFE3D3; }
.hg-pasos input { margin-top: 3px; accent-color: var(--marca); width: 16px; height: 16px; flex: none; }
.hg-pasos span { display: flex; flex-direction: column; gap: 3px; }
.hg-pasos small { color: var(--tinta-2); font-size: 12.5px; }
.hg-doc { font-style: normal; font-size: 12px; color: var(--marca); display: inline-flex; align-items: center; gap: 4px; }
.hg-doc svg, .hg-regla svg { width: 13px; height: 13px; flex: none; }
.hg-regla { display: flex; gap: 5px; align-items: flex-start; color: var(--tinta-3) !important; }
