/* Conciliar en lote DENTRO de la consola (index.html, `data-consola`): conciliar.css se escribió contra app.css (tema de Sereno). Las mismas
   equivalencias que base-consola.css da a Base administrativa, para #vConciliar. Los tokens (:root[data-consola]) ya los trae base-consola.css. */
#vConciliar .row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
#vConciliar .spacer { flex: 1; }
#vConciliar .scroll { overflow-x: auto; }
#vConciliar .small { font-size: 12px; }
#vConciliar .muted { color: var(--muted); }
#vConciliar .empty { padding: 28px 12px; text-align: center; color: var(--muted); }
#vConciliar .barra { display: flex; height: 8px; border-radius: 99px; overflow: hidden; background: hsl(var(--mutedbg)); min-width: 90px; }
#vConciliar button.ghost, #vConciliar button.icon-btn {
  background: var(--card); color: var(--txt); border: 1px solid var(--line); box-shadow: var(--sombra); }
#vConciliar button.ghost:hover, #vConciliar button.icon-btn:hover {
  background: hsl(var(--mutedbg)); opacity: 1; }
#vConciliar button.ghost.danger { border-color: var(--rojo); color: var(--rojo); }
#vConciliar button.ghost.danger:hover { background: var(--rojo); color: #fff; }
#vConciliar button.danger:not(.ghost) { background: var(--rojo); color: #fff; }
#vConciliar button.sm { padding: 4px 10px; font-size: 13px; }
#vConciliar button.dt-btn-ico { display: inline-flex; align-items: center; gap: 6px; }
#vConciliar button:disabled { opacity: .5; cursor: default; }
#vConciliar #dt-pane { padding-inline: 0; }
#vConciliar .dt-sub { margin: 6px 0 0; }
#vConciliar .dt-top { display: block; }
#vConciliar .dt-top-acts { display: none; }
#vConciliar .dt-srcs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: 12px; background: hsl(var(--mutedbg)); border: 1px solid var(--line); border-radius: var(--radio); width: fit-content; max-width: 100%; }
#vConciliar .dt-src { background: transparent; color: var(--muted); border: 1px solid transparent; box-shadow: none; padding: 6px 12px; font-size: 14px; }
#vConciliar .dt-src:hover { color: var(--txt); opacity: 1; }
#vConciliar .dt-src.active { background: var(--card); color: var(--txt); box-shadow: var(--sombra); }
#vConciliar .dt-src.active:hover { background: var(--card); }
#vConciliar .dt-chip { background: var(--card); color: var(--txt); border: 1px solid var(--line); box-shadow: var(--sombra); height: auto; padding: 4px 10px; font-size: 13px; }
#vConciliar .dt-chip:hover { background: hsl(var(--mutedbg)); opacity: 1; }
#vConciliar .dt-chip.active { background: hsl(var(--primary)); border-color: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
#vConciliar .dt-chip.active:hover { background: hsl(var(--primary) / .9); }
#vConciliar .dt-flagchip.active { background: hsl(var(--marca-bg)); border-color: hsl(var(--primary) / .5); color: var(--txt); }
#vConciliar .dt-filters { margin: 0 0 12px; }
#vConciliar .dt-filters select { width: auto; min-width: 150px; flex: 0 1 auto; }
#vConciliar .dt-filters .sx-trigger { width: auto; min-width: 150px; flex: 0 1 auto; }
#vConciliar .dt-filters .dt-search { flex: 1 1 240px; width: auto; }
#vConciliar .dt-tbl { width: 100%; border-collapse: collapse; }
#vConciliar .dt-tbl th { font-size: 12px; font-weight: 500; color: var(--muted); white-space: nowrap; background: transparent; position: static; }
#vConciliar .dt-tbl td { vertical-align: top; }
#vConciliar .dt-tbl tbody tr { cursor: pointer; }
#vConciliar .dt-tbl tbody tr:hover > td { background: hsl(var(--primary) / .08); }
#vConciliar .dt-foot { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--muted); font-size: 13px; }

/* ── Lo que app.css (Sereno) daba a la página suelta y la consola no ── */
#vConciliar [hidden], #vConciliar ~ [hidden] { display: none !important; }
#vConciliar #cn-pane { padding: 0; }
#vConciliar .cn-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#vConciliar .cn-toolbar select, #vConciliar .cn-toolbar input { width: auto; min-width: 0; }
#vConciliar .cn-toolbar #cn-rfc { max-width: 22rem; }
#vConciliar .cn-toolbar .spacer { flex: 1; }

/* ── conciliar.css pinta bordes con hsl(var(--line)) (tripleta de Sereno); en la consola --line ya es un color. Copia de esas reglas, con la
   tripleta resuelta, generada de conciliar.css: si cambia allí, se regenera. ── */
#vConciliar .cn-tabs { display: flex; gap: .3rem; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding-bottom: .4rem; }
#vConciliar .cn-barra { position: sticky; bottom: 0; z-index: 15; justify-content: flex-end; align-items: center;
  padding: .55rem 0; background: var(--bg); border-top: 1px solid var(--line); }
#vConciliar .cn-card { border: 1px solid var(--line); border-radius: var(--radius); padding: .5rem .8rem; margin: 0; background: var(--card); }
#vConciliar .cn-tag { font-size: var(--fs-sm); padding: .05rem .4rem; margin-left: .4rem; border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--muted); }
#vConciliar .cn-sticky { position: sticky; top: var(--pg-bar-h, 0px); z-index: 20; display: flex; flex-direction: column; gap: .5rem;
  padding: .6rem 0 .5rem; margin: 0; background: var(--bg); border-bottom: 1px solid var(--line); }
#vConciliar .cn-toolbar { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  padding: .55rem .7rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
#vConciliar .cn-badge { font-size: var(--fs-sm); padding: .1rem .5rem; border-radius: var(--radius-pill); border: 1px solid var(--line); color: var(--muted); }
#vConciliar .btn-link { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--radius);
  color: hsl(var(--primary-ink)); text-decoration: none; font-weight: 600; white-space: nowrap; }
#vConciliar .dt-modal { width: min(1080px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); margin: auto; padding: 0;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); color: var(--ink);
  overflow: hidden; box-shadow: 0 24px 60px -12px hsl(var(--shadow) / calc(var(--shadow-a) * 2)); }
#vConciliar .dt-modal-head { flex: none; display: flex; align-items: center; gap: 12px; padding: 14px 20px;
  border-bottom: 1px solid var(--line); }
#vConciliar .cn-tab { display: inline-flex; align-items: center; gap: .5rem; background: var(--bg); color: var(--ink);
  border: 1px solid var(--line); font-size: var(--fs-md); }
#vConciliar .cn-tab:hover { background: hsl(var(--primary) / .1); }
#vConciliar .cn-tab[aria-current="page"] { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); border-color: transparent; font-weight: 600; }
#vConciliar .cn-tab[aria-current="page"] .cn-tab-n { background: hsl(var(--primary-foreground) / .25); }
#vConciliar .cn-reg-grupo { border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: var(--radius);
  overflow: hidden; display: flex; flex-direction: column; gap: .5rem; padding-bottom: .6rem; }
#vConciliar .cn-pc { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card);
  overflow: hidden; box-shadow: 0 1px 2px hsl(var(--foreground) / .06); transition: border-color .12s, box-shadow .12s; }
#vConciliar .cn-pc:hover { border-color: var(--line); }
#vConciliar .cn-pc-head { display: flex; align-items: flex-start; gap: .7rem; padding: .7rem .9rem;
  background: hsl(var(--foreground) / .035); border-bottom: 1px solid var(--line); }
#vConciliar .cn-tag { display: inline-block; font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0;
  padding: .1rem .45rem; margin-left: 0; margin-right: .3rem;
  border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--muted); vertical-align: 2px; }
#vConciliar .cn-opt { display: flex; flex-direction: row; align-items: flex-start; gap: .6rem; margin: 0; font-size: var(--fs-base);
  padding: .6rem .7rem; border: 1px solid var(--line); border-left: 3px solid var(--line);
  border-radius: var(--radius); background: hsl(var(--foreground) / .02); overflow-wrap: anywhere; cursor: pointer;
  transition: border-color .12s, background .12s; }
#vConciliar .cn-pc-body .cp-rep { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem;
  padding: .55rem .6rem; border: 1px solid var(--line); border-radius: var(--radius);
  background: hsl(var(--foreground) / .02); }
#vConciliar .cn-pend { display: flex; flex-direction: column; gap: .4rem; padding: .7rem .8rem;
  border: 1px solid var(--line); border-radius: var(--radius); background: hsl(var(--foreground) / .02); }
#vConciliar .cn-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; font-size: var(--fs-base); font-weight: 500;
  border-radius: var(--radius-sm); border: 1px solid var(--line); background: var(--card); color: var(--ink);
  box-shadow: 0 1px 2px hsl(var(--shadow) / .05); transition: background-color .12s, color .12s, border-color .12s; }
#vConciliar .cn-sheet { position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; width: min(560px, 100vw); max-width: 100vw;
  height: 100dvh; max-height: none; border: 0; border-left: 1px solid var(--line); border-radius: 0;
  background: var(--card); color: var(--ink); flex-direction: column;
  box-shadow: -24px 0 60px -12px hsl(var(--shadow) / calc(var(--shadow-a) * 2)); }
#vConciliar .cn-sheet-head { display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px 14px; border-bottom: 1px solid var(--line); flex: none; }
#vConciliar .cn-kv { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; border-bottom: 1px solid var(--line); font-size: var(--fs-md); overflow-wrap: anywhere; }

/* La consola estira select e input a todo el ancho: aquí se quedan de su tamaño (barra de filtros, casillas, repartos). */
#vConciliar .cn-toolbar select#cn-rfc { flex: 0 1 22rem; width: auto; }
#vConciliar input[type="checkbox"], #vConciliar input[type="radio"] { width: auto; flex: none; }

/* Pestañas del modal de Ajustes: en la consola --line es un color y --primary-ink una tripleta. */
#vConciliar .cn-modal-tabs { border: 1px solid var(--line); background: hsl(var(--mutedbg)); }
#vConciliar button.cn-modal-tab[aria-selected="true"] { background: var(--card); color: hsl(var(--primary)); box-shadow: var(--sombra); }
#vConciliar .cn-modal .ficha-cab { display: flex; align-items: center; }

/* La consola cambia el <select> por un botón `.sx-trigger` a todo el ancho: en la barra de Conciliar se queda de su tamaño y todo cabe en una línea. */
#vConciliar .cn-toolbar .sx-trigger { width: auto; min-width: 14rem; max-width: 22rem; flex: 0 1 auto; }
#vConciliar .cn-toolbar .fx-trigger { flex: none; width: 11.5rem; }

/* Cabecera de la pestaña: la tarjeta de Base administrativa (título, descripción, filtros y acciones). */
#vConciliar #cn-cab h2 { display: flex; align-items: center; gap: 6px; }
#vConciliar #cn-cab .cn-toolbar { padding: 0; border: 0; background: none; gap: 8px; }
#vConciliar #cn-cab .cn-toolbar button { padding: 8px 14px; font-size: 14px; }
#vConciliar #cn-cab p:empty { display: none; }
#vConciliar #cn-cab #cn-msg { margin: 10px 0 0; }
#vConciliar #cn-cab #cn-cerrado { margin: 10px 0 0; }
#vConciliar .cn-sticky { padding-top: 0; border-bottom: 0; }

/* El engrane de ajustes en el extremo derecho de la línea del título. */
#vConciliar h2.cn-tit { display: flex; align-items: center; }
#vConciliar h2.cn-tit .cn-ajustes-btn { margin-left: auto; }

/* Globos de ayuda y resumen de veredictos (conciliar.css los escribe con los tokens de Sereno: aquí `--line` es un color, no un triplete). */
.cn-globo { border-color: var(--line); }
.cn-tip { border-color: var(--line); }
#vConciliar .cn-seg-b { border-color: var(--line); background: var(--card); color: var(--muted); box-shadow: var(--sombra); }
#vConciliar .cn-seg-b:hover { background: hsl(var(--mutedbg)); border-color: var(--line); color: var(--txt); }
#vConciliar .cn-seg-b.active { border-color: hsl(var(--primary)); color: var(--txt); box-shadow: 0 0 0 1px hsl(var(--primary)); }
