/* Capa móvil · núcleo y armazón (tokens --mv-*, barras, FAB, hojas, snackbar, listas, filtros, Más,
   páginas genéricas). Dueño: agente ARMAZÓN (23-sep-2026).
   Especificación: qa/diseno/movil/variante_bc (B con las listas de C) y su LEEME.md.
   REGLA: toda regla cuelga de html.mv, que movil.js pone SOLO en pantallas de < 768 px.
   El escritorio y la tablet no leen nada de este archivo.
   Capas: barras 242 · FAB 246 · búsqueda 250 · velo 257 · hoja 258 · (.modal 260) · snackbar #toast 300. */

/* ── 1 · TOKENS — claro ─────────────────────────────────────────────────────────────────────
   Los de la B, por rol. La acción se deriva de la capa base (--accion = #1556C0 / #7AA8FF). */
html.mv{
  --mv-accion:var(--accion,#1556C0);
  --mv-navy:#0F172A; --mv-lha-azul:#48A8E0; --mv-lha-verde:#78C828;
  --mv-on-navy-2:rgba(255,255,255,.74); --mv-on-navy-3:rgba(255,255,255,.6);
  --mv-navy-aviso:#F5B84A; --mv-navy-error:#FF9A90;
  --mv-pri:var(--mv-accion); --mv-on-pri:#FFFFFF; --mv-pri-cont:#E3ECFA; --mv-on-pri-cont:#0B3A86;
  --mv-bg:#FFFFFF; --mv-card:#FFFFFF; --mv-hj-bg:#FFFFFF; --mv-s1:#F5F7FB; --mv-s2:#EEF2F8; --mv-s3:#E2E8F1;
  --mv-tx:#0F172A; --mv-tx2:#475569; --mv-tx3:#5F6B7E;
  --mv-linea:#E6EBF2; --mv-borde:#C6D0DD;
  --mv-ok:#497918; --mv-ok-cont:#E8F3D8; --mv-av:#9A5B00; --mv-av-cont:#FFF0D6; --mv-er:#C0262D; --mv-er-cont:#FDE7E7;
  --mv-sombra-1:0 1px 2px rgba(15,23,42,.05),0 4px 12px -3px rgba(15,23,42,.09);
  --mv-sombra-2:0 2px 6px rgba(15,23,42,.08),0 16px 32px -10px rgba(15,23,42,.26);
  --mv-card-borde:rgba(15,23,42,.06); --mv-velo:rgba(7,12,24,.5);
  --mv-inv:#1B2536; --mv-on-inv:#EEF2F8; --mv-inv-acc:#8CCBF0;
  --mv-nav-bg:#FFFFFF; --mv-nav-pill:#E3ECFA; --mv-nav-ico:#1556C0;
  --mv-carro-bg:#0F172A; --mv-sel-fila:#F2F6FD;
  --mv-ag0:#1556C0; --mv-ag1:#6E9BE3; --mv-ag2:#E2A11E; --mv-ag3:#D9741B; --mv-ag4:#C4481F; --mv-ag5:#9E1C24; --mv-ag6:#5E0E14;
  --mv-e-std:cubic-bezier(.2,0,0,1); --mv-e-sal:cubic-bezier(.3,0,1,1);
  --mv-top:env(safe-area-inset-top,0px); --mv-bot:env(safe-area-inset-bottom,0px);
  --mv-barra-h:64px; --mv-nav-h:80px;
  /* tokens de la APP recoloreados para las páginas genéricas (render de escritorio dentro del
     armazón): fondo de pantalla blanco con tarjetas que flotan, como la B */
  --fondo:#FFFFFF;
  color-scheme:light;
}
/* ── 1b · TOKENS — oscuro (diseñado, no invertido; la fuente de verdad es data-theme) ── */
html.mv[data-theme="dark"]{
  --mv-navy:#070C18;
  --mv-pri-cont:#1D3561; --mv-on-pri:#0A1F45; --mv-on-pri-cont:#D8E5FF;
  --mv-bg:#111A2B; --mv-card:#172235; --mv-hj-bg:#172235; --mv-s1:#152033; --mv-s2:#1C2940; --mv-s3:#26354F;
  --mv-tx:#E7ECF4; --mv-tx2:#AEB9CB; --mv-tx3:#8F9BB0;
  --mv-linea:#243149; --mv-borde:#3A4A66;
  --mv-ok:#96D65C; --mv-ok-cont:#1D3217; --mv-av:#F2B660; --mv-av-cont:#3A2A12; --mv-er:#FF8A84; --mv-er-cont:#3D1C20;
  --mv-sombra-1:0 1px 2px rgba(0,0,0,.28),0 4px 14px -3px rgba(0,0,0,.4);
  --mv-sombra-2:0 2px 6px rgba(0,0,0,.35),0 18px 36px -10px rgba(0,0,0,.65);
  --mv-card-borde:rgba(255,255,255,.045); --mv-velo:rgba(0,0,0,.62);
  --mv-inv:#E7ECF4; --mv-on-inv:#111A2B; --mv-inv-acc:#1556C0;
  --mv-nav-bg:#162033; --mv-nav-pill:#1D3561; --mv-nav-ico:#A9C6FF;
  --mv-carro-bg:#26354F; --mv-sel-fila:#16263F;
  --mv-ag0:#7AA8FF; --mv-ag1:#3F6CC0; --mv-ag2:#F2B660; --mv-ag3:#EE8A42; --mv-ag4:#E0603A; --mv-ag5:#C9383E; --mv-ag6:#8F1D28;
  --fondo:#111A2B; --panel:#172235; --panel-2:#1C2940; --panel-3:#26354F;
  --glass-bg:#172235; --glass-overlay:#1C2940; --input:#172235;
  color-scheme:dark;
}

/* ── 2 · SUPERFICIE Y CROMO VIEJO ───────────────────────────────────────────────────────────
   Los nodos del cromo de escritorio NO se borran (renderNav() los usa): solo se ocultan. Los que
   la app muestra con estilo en línea (#filtros, #pushBanner) necesitan !important. */
html.mv body{ background:var(--mv-bg); color:var(--mv-tx); overflow-x:hidden; -webkit-tap-highlight-color:transparent; }
/* La barra superior y la inferior son fixed (no ocupan espacio de scroll): sin esto, llevar un
   elemento a la vista (scrollIntoView, buscador, foco de teclado) puede alinearlo justo detrás de
   una de las dos y dejarlo tapado — 27-sep-2026. --mv-extra-top: algunas pantallas (Facturar, Cartera)
   tienen además su propia cabecera sticky justo debajo de la barra (movil.js::pintarMovil la deja en 0
   y cada pantalla la ajusta a su alto real tras montar). */
html.mv{ scroll-padding-top:calc(var(--mv-barra-h) + var(--mv-top) + var(--mv-extra-top,0px)); scroll-padding-bottom:calc(var(--mv-nav-h) + var(--mv-bot)); }
html.mv.mv-bloqueo{ overflow:hidden; }
html.mv #appLayout>.content>header,
html.mv #mobnav,html.mv #sidebar,html.mv #scrim,html.mv #burger,html.mv #pmPanel,
html.mv #pushBanner,html.mv #filtros,html.mv #bnrSide,
html.mv #editBar,html.mv .cardTools,html.mv .rsz{ display:none !important; }
html.mv .content{
  margin-left:0 !important;
  padding:calc(var(--mv-barra-h) + var(--mv-top)) 0 calc(var(--mv-nav-h) + var(--mv-bot) + 24px);
  min-width:0;
}
html.mv.mv-con-fab .content{ padding-bottom:calc(var(--mv-nav-h) + var(--mv-bot) + 88px); }
html.mv #main{ padding:8px 16px 16px; max-width:none; min-width:0; }
html.mv #loadbar{ z-index:301; }
/* modo Diseño: en el teléfono no se arrastran tarjetas (bloqueaba el desplazamiento) */
html.mv .card.editing{ touch-action:auto; }
/* «ver como» (fijo abajo, z 9000): encima de la barra inferior y por debajo de las hojas */
html.mv #vcBanner{ bottom:calc(var(--mv-nav-h) + var(--mv-bot)) !important; z-index:241 !important; padding:6px 12px !important; }
html.mv body:has(#vcBanner) .content{ padding-bottom:calc(var(--mv-nav-h) + var(--mv-bot) + var(--mv-vc,0px) + 88px); }
html.mv body:has(#vcBanner) .mv-fab{ bottom:calc(var(--mv-nav-h) + var(--mv-bot) + var(--mv-vc,0px) + 16px); }
html.mv body:has(#vcBanner) #toast{ bottom:calc(var(--mv-nav-h) + var(--mv-bot) + var(--mv-vc,0px) + 12px); }
html.mv #nuevaVersionBar{ bottom:calc(var(--mv-nav-h) + var(--mv-bot) + 12px) !important; max-width:calc(100vw - 24px) !important; }
html.mv #avisosWrap{ left:12px; right:12px; bottom:calc(var(--mv-nav-h) + var(--mv-bot) + 12px); max-width:none; }

/* ── 3 · RESETEO de lo propio (especificidad baja: los componentes mandan) ── */
html.mv :where(.mv-app,.mv-pantalla,.mv-hoja,.mv-bus,#mvChips) :where(button),
html.mv :where(button[class^="mv-"],button[class*=" mv-"]){
  font:inherit; color:inherit; background:none; border:0; padding:0; margin:0; cursor:pointer;
  text-align:inherit; letter-spacing:inherit; box-shadow:none; min-height:0; text-transform:none;
}
html.mv :where(.mv-app,.mv-pantalla,.mv-hoja,.mv-bus) :where(h1,h2,h3,p){ margin:0; }
html.mv :where(.mv-app,.mv-pantalla,.mv-hoja,.mv-bus){ font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; line-height:1.5; font-variant-numeric:tabular-nums; }
html.mv svg.mv-i{ display:block; flex:none; }
html.mv :where(.mv-app,.mv-pantalla,.mv-hoja,.mv-bus,#main) [hidden]{ display:none !important; }
html.mv :where(.mv-app,.mv-pantalla,.mv-hoja,.mv-bus,#main,#mvChips) :focus-visible{ outline:2px solid var(--mv-pri); outline-offset:2px; }
html.mv .mv-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── 4 · PRESIÓN: capa de estado + onda desde el dedo, sin mover el layout ── */
html.mv :where(.mv-tap){ position:relative; }
html.mv .mv-tap{ overflow:hidden; isolation:isolate; }
html.mv .mv-tap::after,html.mv .mv-chip::after,html.mv .mv-ind::after{
  content:''; position:absolute; inset:0; border-radius:inherit; background:currentColor; opacity:0;
  transition:opacity .1s linear; pointer-events:none; z-index:-1;
}
html.mv .mv-tap.mv-prs::after,html.mv .mv-tap-in.mv-prs>.mv-chip::after,html.mv .mv-dest.mv-prs .mv-ind::after{ opacity:.09; }
html.mv .mv-onda{ position:absolute; border-radius:50%; background:currentColor; opacity:.1; transform:scale(0); pointer-events:none;
  animation:mv-onda .42s var(--mv-e-std) forwards; z-index:-1; }
html.mv .mv-onda.fuera{ opacity:0; transition:opacity .22s linear; }
@keyframes mv-onda{ to{ transform:scale(1); } }

/* ── 5 · BARRA SUPERIOR (top app bar M3) ── */
html.mv .mv-barra{
  --mv-barra-bg:var(--mv-bg); --mv-p:0;
  position:fixed; top:0; left:0; right:0; z-index:242;
  height:calc(var(--mv-barra-h) + var(--mv-top)); padding:var(--mv-top) 4px 0;
  display:flex; align-items:center;
  background:var(--mv-barra-bg); color:var(--mv-tx);
  transition:background-color .2s linear;
}
html.mv.mv-alzada .mv-barra{ --mv-barra-bg:var(--mv-s1); }
html.mv.mv-marca .mv-barra{ --mv-barra-bg:var(--mv-navy); color:#FFFFFF; }
html.mv .mv-barra-t{ flex:1; min-width:0; position:relative; height:64px; margin-left:12px; }
html.mv .mv-barra .mv-ib:not([hidden])+.mv-barra-t{ margin-left:0; }
html.mv .mv-t1{
  position:absolute; left:0; right:0; top:18px; margin:0;
  font-family:inherit; font-size:1.375rem; line-height:1.75rem; font-weight:650; letter-spacing:-.018em; color:inherit;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  display:block;
}
html.mv .mv-t1.largo{ font-size:1.1875rem; letter-spacing:-.012em; }
html.mv .mv-barra.compacta .mv-t1{ opacity:clamp(0,calc(1 - var(--mv-p)*2.4),1); transform:translateY(calc(var(--mv-p)*-10px)); }
html.mv .mv-t2{ position:absolute; left:0; top:11px; margin:0; font-size:.75rem; line-height:1rem; font-weight:500; white-space:nowrap;
  color:var(--mv-tx2); opacity:clamp(0,calc(var(--mv-p)*2.6 - 1.6),1); }
html.mv .mv-t2n{ position:absolute; left:0; top:29px; margin:0; font-size:1.25rem; line-height:1; font-weight:700; letter-spacing:-.035em;
  white-space:nowrap; color:var(--mv-tx); opacity:0; }
html.mv.mv-marca .mv-t2{ color:var(--mv-on-navy-2); }
html.mv.mv-marca .mv-t2n{ color:#FFFFFF; }
html.mv .mv-barra.plegada .mv-t2n{ opacity:1; }
/* héroe cuya cifra no viaja a la barra (barraCompacta(…,{fundido:true})): la cifra entra con la
   misma curva que la etiqueta, en vez de aparecer de golpe en p = 1 */
html.mv .mv-barra.compacta.fundido .mv-t2n{ opacity:clamp(0,calc(var(--mv-p)*2.6 - 1.6),1); }
/* con una capa encima («Más», un grupo) la barra dice el título de la capa, no la cifra plegada */
html.mv.mv-capa .mv-barra.compacta .mv-t1{ opacity:1; transform:none; }
html.mv.mv-capa .mv-barra .mv-t2,html.mv.mv-capa .mv-barra .mv-t2n,html.mv.mv-capa .mv-barra.compacta.fundido .mv-t2n{ opacity:0; }
html.mv .mv-barra-acc{ display:flex; align-items:center; margin-left:auto; }
html.mv .mv-ib{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; flex:none; color:inherit; }
html.mv .mv-ib.mv-tap::after{ inset:4px; border-radius:50%; }
html.mv .mv-ib.mv-tap{ overflow:visible; }
html.mv .mv-badge{
  position:absolute; top:7px; left:25px; min-width:17px; height:17px; padding:0 4px; border-radius:9px;
  background:#C0262D; color:#FFFFFF; font-size:.6875rem; line-height:17px; font-weight:700; text-align:center;
  box-shadow:0 0 0 2px var(--mv-barra-bg); z-index:2; font-variant-numeric:tabular-nums;
}
html.mv .mv-perf{ width:48px; height:48px; display:grid; place-items:center; border-radius:50%; flex:none; }
html.mv .mv-perf b,html.mv .mv-avatar{
  width:32px; height:32px; border-radius:50%; background:var(--mv-lha-azul); color:#0F172A;
  display:grid; place-items:center; font-size:.75rem; font-weight:700; letter-spacing:.02em;
}

/* ── 6 · BARRA INFERIOR (navigation bar M3, 5 destinos) ── */
html.mv .mv-nav{
  position:fixed; left:0; right:0; bottom:0; z-index:242;
  height:calc(var(--mv-nav-h) + var(--mv-bot)); padding-bottom:var(--mv-bot);
  display:flex; background:var(--mv-nav-bg);
  box-shadow:0 -1px 0 var(--mv-linea),0 -8px 20px -12px rgba(15,23,42,.18);
}
html.mv .mv-dest{
  flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; padding-top:12px; gap:4px;
  color:var(--mv-tx2); font-size:.75rem; line-height:1rem; font-weight:500; letter-spacing:.01em;
}
html.mv .mv-dest[hidden]{ display:none; }
html.mv .mv-ind{ width:64px; height:32px; border-radius:16px; display:grid; place-items:center; position:relative; overflow:hidden; isolation:isolate; }
html.mv .mv-ind::before{
  content:''; position:absolute; inset:0; border-radius:16px; background:var(--mv-nav-pill); transform:scaleX(.3); opacity:0;
  transition:transform .22s var(--mv-e-std),opacity .12s linear; z-index:-1;
}
html.mv .mv-dest.on{ color:var(--mv-tx); font-weight:650; }
html.mv .mv-dest.on .mv-ind{ color:var(--mv-nav-ico); }
html.mv .mv-dest.on .mv-ind::before{ transform:none; opacity:1; }
html.mv .mv-dest-l{ white-space:nowrap; }

/* ── 7 · FAB (uno por pantalla, con la acción principal) ── */
html.mv .mv-fab{
  position:fixed; right:16px; bottom:calc(var(--mv-nav-h) + var(--mv-bot) + 16px); z-index:246;
  height:56px; padding:0 20px 0 16px; border-radius:16px; display:flex; align-items:center; gap:10px;
  background:var(--mv-pri); color:var(--mv-on-pri); font-size:.9375rem; font-weight:650;
  box-shadow:var(--mv-sombra-2); transition:transform .25s var(--mv-e-std);
}
html.mv .mv-fab.solo-i{ width:56px; padding:0; justify-content:center; }
html.mv .mv-fab[hidden]{ display:none; }
html.mv.mv-snk-on .mv-fab{ transform:translateY(-64px); }

/* ── 8 · SNACKBAR (se reusa #toast: z 300, ya encima de todo) ── */
html.mv #toast{
  left:12px; right:12px; bottom:calc(var(--mv-nav-h) + var(--mv-bot) + 12px); max-width:none; min-height:48px;
  padding:6px 8px 6px 16px; border:0; border-radius:12px;
  background:var(--mv-inv); color:var(--mv-on-inv); display:flex; align-items:center; gap:8px;
  font-family:'Inter',system-ui,sans-serif; font-size:.875rem; line-height:1.25rem; font-weight:400;
  box-shadow:var(--mv-sombra-2); -webkit-backdrop-filter:none; backdrop-filter:none;
  transform:translateY(16px); transition:opacity .15s linear,transform .25s var(--mv-e-std);
}
html.mv #toast.show{ transform:none; pointer-events:auto; }
html.mv .mv-snk-t{ flex:1; padding:8px 0; }
html.mv .mv-snk-acc{ height:40px; padding:0 12px; border-radius:20px; color:var(--mv-inv-acc); font-size:.9375rem; font-weight:650; flex:none; }

/* ── 9 · HOJAS INFERIORES (bottom sheets) ── */
html.mv .mv-velo{ position:fixed; inset:0; z-index:257; background:var(--mv-velo); opacity:0; transition:opacity .25s linear; }
html.mv .mv-velo.on{ opacity:1; }
html.mv .mv-hoja{
  position:fixed; left:0; right:0; bottom:0; z-index:258;
  max-height:calc(100% - 40px - var(--mv-top)); display:flex; flex-direction:column;
  background:var(--mv-hj-bg); color:var(--mv-tx); border-radius:24px 24px 0 0; box-shadow:var(--mv-sombra-2);
  padding-bottom:var(--mv-bot); outline:none;
  transform:translateY(105%); transition:transform .34s var(--mv-e-std);
}
html.mv .mv-hoja.on{ transform:none; }
html.mv .mv-hoja.sale{ transition:transform .22s var(--mv-e-sal); }
html.mv .mv-hoja-medio{ height:60vh; }
html.mv .mv-hoja-completo{ height:calc(100% - 40px - var(--mv-top)); }
html.mv .mv-hoja-asa{ height:28px; flex:none; display:grid; place-items:center; touch-action:none; cursor:grab; }
html.mv .mv-hoja-asa i{ width:32px; height:4px; border-radius:2px; background:var(--mv-borde); }
html.mv .mv-hoja-cab{ flex:none; padding:4px 24px 16px; touch-action:none; }
html.mv .mv-hoja-cab h2{ font-family:inherit; font-size:1.375rem; line-height:1.75rem; font-weight:650; letter-spacing:-.018em; color:var(--mv-tx); margin:0; }
html.mv .mv-hoja-cab p{ margin-top:4px; font-size:.875rem; line-height:1.25rem; color:var(--mv-tx2); }
html.mv .mv-hoja-cuerpo{ flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 16px 24px; }
html.mv .mv-hoja-pie{ flex:none; display:flex; gap:12px; align-items:center; padding:12px 16px 16px; border-top:1px solid var(--mv-linea); background:var(--mv-hj-bg); }
html.mv .mv-hoja-pie .mv-btn{ flex:1; }
html.mv .mv-hoja-pie .mv-btn-texto{ flex:none; height:48px; padding:0 16px; }

/* ── 10 · BOTONES ── */
html.mv .mv-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 24px; border-radius:24px;
  font-size:.9375rem; font-weight:650; letter-spacing:.005em; white-space:nowrap;
}
html.mv .mv-btn-lleno{ background:var(--mv-pri); color:var(--mv-on-pri); }
html.mv .mv-btn-tonal{ background:var(--mv-pri-cont); color:var(--mv-on-pri-cont); }
html.mv .mv-btn-borde{ box-shadow:inset 0 0 0 1px var(--mv-borde); color:var(--mv-pri); }
html.mv .mv-btn-texto{ color:var(--mv-pri); padding:0 12px; height:40px; }
html.mv .mv-btn:disabled{ opacity:.38; pointer-events:none; }

/* ── 11 · CHIPS DE FILTRO ── */
html.mv .mv-chips{ display:flex; gap:8px; overflow-x:auto; margin:0 -16px 4px; padding:0 16px; scrollbar-width:none; }
html.mv .mv-chips::-webkit-scrollbar{ display:none; }
html.mv .mv-chipb{ flex:none; height:48px; display:inline-flex; align-items:center; position:relative; }
html.mv .mv-chip{
  position:relative; overflow:hidden; isolation:isolate;
  height:32px; padding:0 8px 0 12px; border-radius:8px; display:inline-flex; align-items:center; gap:6px;
  box-shadow:inset 0 0 0 1px var(--mv-borde); font-size:.875rem; font-weight:550; line-height:1; color:var(--mv-tx2); white-space:nowrap;
}
html.mv .mv-chip.sel{ background:var(--mv-pri-cont); color:var(--mv-on-pri-cont); box-shadow:none; }
html.mv .mv-chip.solo{ padding:0 12px; }
html.mv .mv-chip.ic{ padding-left:8px; }
html.mv .mv-ver-completo{ margin-top:32px; }
html.mv .mv-ver-completo .mv-btn{ width:100%; }
html.mv #mvChips{ padding:4px 16px 0; }
html.mv #mvChips .mv-chips{ margin-bottom:0; }
html.mv .mv-vista-movil{ margin:-4px 0 4px; }

/* ── 12 · TARJETA, SECCIÓN, KPI, PÍLDORA ── */
html.mv .mv-card{ background:var(--mv-card); border-radius:16px; box-shadow:var(--mv-sombra-1); border:1px solid var(--mv-card-borde); }
html.mv .mv-pad{ padding:16px; }
html.mv .mv-seccion{ margin-top:32px; }
html.mv .mv-seccion-cab{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; margin-bottom:8px; }
html.mv .mv-seccion-cab h2{ font-family:inherit; font-size:1.0625rem; line-height:1.5rem; font-weight:650; letter-spacing:-.012em; color:var(--mv-tx); margin:0; }
html.mv .mv-seccion-cab .mv-btn-texto{ margin-right:-12px; }
html.mv .mv-meta{ font-size:.8125rem; line-height:1.125rem; color:var(--mv-tx2); white-space:nowrap; }
html.mv .mv-cnt{ min-width:24px; height:24px; padding:0 8px; border-radius:12px; background:var(--mv-s2); color:var(--mv-tx2); font-size:.75rem; font-weight:650; display:grid; place-items:center; }
html.mv .mv-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
html.mv .mv-kpi{ display:flex; flex-direction:column; justify-content:flex-start; width:100%; padding:16px; text-align:left; color:var(--mv-tx); }
html.mv .mv-kpi.ancho{ grid-column:1/-1; }
html.mv .mv-kpi-l{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:.8125rem; line-height:1.125rem; font-weight:550; color:var(--mv-tx2); }
html.mv .mv-kpi-l .mv-i{ color:var(--mv-tx3); margin:-2px -4px -2px 0; }
html.mv .mv-kpi-v{ margin-top:6px; font-size:1.5rem; line-height:1.875rem; font-weight:700; letter-spacing:-.028em; white-space:nowrap; font-variant-numeric:tabular-nums; }
html.mv .mv-kpi-v small{ font-size:.8125rem; font-weight:550; color:var(--mv-tx2); letter-spacing:0; margin-left:4px; }
html.mv .mv-kpi-s{ margin-top:4px; font-size:.75rem; line-height:1rem; color:var(--mv-tx3); }
html.mv .mv-kpi-s.av{ color:var(--mv-av); font-weight:600; }
html.mv .mv-medidor{ height:6px; border-radius:3px; background:var(--mv-s3); margin-top:12px; overflow:hidden; }
html.mv .mv-medidor i{ display:block; height:100%; border-radius:3px; background:var(--mv-pri); }
html.mv .mv-medidor.av i{ background:var(--mv-av); }
/* píldora de variación ▲▼: sobre superficie clara (por defecto) y sobre navy (.mv-sobre-navy) */
html.mv .mv-pill{
  display:inline-flex; align-items:center; gap:4px; height:28px; padding:0 10px 0 8px; border-radius:14px;
  background:var(--mv-s2); color:var(--mv-tx2); font-size:.8125rem; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums;
}
html.mv .mv-pill.sin-i{ padding-left:10px; }
html.mv .mv-pill.ok{ background:var(--mv-ok-cont); color:var(--mv-ok); }
html.mv .mv-pill.er{ background:var(--mv-er-cont); color:var(--mv-er); }
html.mv .mv-pill.av{ background:var(--mv-av-cont); color:var(--mv-av); }
html.mv .mv-sobre-navy .mv-pill{ background:rgba(255,255,255,.08); color:rgba(255,255,255,.9); }
html.mv .mv-sobre-navy .mv-pill.ok{ background:rgba(120,200,40,.15); color:var(--mv-lha-verde); }
html.mv .mv-sobre-navy .mv-pill.er{ background:rgba(255,154,144,.14); color:var(--mv-navy-error); }
html.mv .mv-sobre-navy .mv-pill.av{ background:rgba(245,184,74,.15); color:var(--mv-navy-aviso); }
html.mv .mv-c-ok{ color:var(--mv-ok); } html.mv .mv-c-er{ color:var(--mv-er); } html.mv .mv-c-av{ color:var(--mv-av); } html.mv .mv-c-pri{ color:var(--mv-pri); }

/* ── 13 · LISTA DENSA (la de C: «lista extracto», medidas de variante_bc/LEEME.md §3) ── */
html.mv .mv-lista{ --lx-x:16px; --lx-div:var(--lx-x); position:relative; margin:0 -16px; }
html.mv .mv-lista.con-i{ --lx-div:calc(var(--lx-x) + 36px); }
html.mv .mv-hoja .mv-lista{ --lx-x:24px; }
html.mv .mv-lista.cierra::after{ content:''; position:absolute; left:var(--lx-div); right:0; bottom:0; height:1px; background:var(--mv-linea); }
html.mv .mv-seccion-cab+.mv-lista,html.mv .mv-sub-h+.mv-lista{ margin-top:-4px; }
html.mv .mv-fila{
  position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:10px var(--lx-x);
  text-align:left; color:var(--mv-tx); background:none; border:0; font:inherit;
}
html.mv .mv-lista>.mv-fila+.mv-fila::before{ content:''; position:absolute; top:0; left:var(--lx-div); right:0; height:1px; background:var(--mv-linea); z-index:1; }
html.mv .mv-fila.sel{ background:var(--mv-sel-fila); }
html.mv .mv-fila.mv-tap{ overflow:hidden; }
html.mv .mv-fila-i{ color:var(--mv-tx2); }
html.mv .mv-fila-i.pri{ color:var(--mv-pri); } html.mv .mv-fila-i.er{ color:var(--mv-er); } html.mv .mv-fila-i.av{ color:var(--mv-av); } html.mv .mv-fila-i.ok{ color:var(--mv-ok); }
html.mv .mv-fila-rk{ width:18px; flex:none; text-align:right; font-size:.8125rem; line-height:1.125rem; font-weight:500; color:var(--mv-tx2); }
html.mv .mv-fila-t{ flex:1; min-width:0; }
html.mv .mv-fila-t>b{ display:block; font-size:.9375rem; line-height:1.25rem; font-weight:500; letter-spacing:-.006em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.mv .mv-fila-t>small{ display:block; margin-top:2px; font-size:.8125rem; line-height:1.125rem; color:var(--mv-tx2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.mv .mv-fila-t>b.dos{ white-space:normal; }
html.mv .mv-fila-t>small.dos{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
html.mv .mv-fila.sel .mv-fila-t>b{ font-weight:600; }
html.mv .mv-fila-v{ flex:none; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
html.mv .mv-fila-v>b{ display:block; font-size:.875rem; line-height:1.25rem; font-weight:600; letter-spacing:-.005em; }
html.mv .mv-fila-v>small{ display:block; margin-top:2px; font-size:.8125rem; line-height:1.125rem; color:var(--mv-tx2); }
html.mv .mv-fila-v.ok>b{ color:var(--mv-ok); } html.mv .mv-fila-v.er>b{ color:var(--mv-er); } html.mv .mv-fila-v.av>b{ color:var(--mv-av); }
html.mv .mv-fila-v.col{ min-width:76px; }
html.mv .mv-fila-ch{ color:var(--mv-tx3); margin:0 -4px; }
/* texto semántico en la secundaria: siempre ícono + palabra */
html.mv .mv-sem{ display:inline-flex; align-items:center; gap:4px; font-weight:600; vertical-align:top; }
html.mv .mv-sem .mv-i{ margin-top:1px; }
html.mv .mv-sem.er{ color:var(--mv-er); } html.mv .mv-sem.av{ color:var(--mv-av); } html.mv .mv-sem.ok{ color:var(--mv-ok); }
html.mv .mv-sem.neu{ color:var(--mv-tx2); font-weight:500; }
html.mv .mv-barra-prop{ display:block; height:4px; border-radius:2px; background:var(--mv-s3); margin-top:8px; overflow:hidden; }
html.mv .mv-barra-prop i{ display:block; height:100%; border-radius:2px; background:var(--mv-pri); }
html.mv .mv-ver-mas{
  display:flex; width:100%; height:48px; align-items:center; justify-content:center; gap:4px; border-top:1px solid var(--mv-linea);
  color:var(--mv-pri); font-size:.875rem; font-weight:650; position:relative;
}
html.mv .mv-ver-mas .mv-i{ transition:transform .2s var(--mv-e-std); }
html.mv .abierta>.mv-ver-mas .mv-i{ transform:rotate(180deg); }
html.mv .plegable>.mv-fila.extra{ display:none; }
html.mv .plegable.abierta>.mv-fila.extra{ display:flex; }
html.mv .mv-lista-vacia{ font-size:.875rem; line-height:1.375rem; color:var(--mv-tx2); padding:16px 0; }
html.mv .mv-lista.mv-salida{ margin-top:24px; box-shadow:0 -1px 0 var(--mv-linea); }
html.mv .mv-salida .mv-fila{ color:var(--mv-er); }
html.mv .mv-salida .mv-fila-t>b{ font-weight:600; }
html.mv .mv-salida .mv-fila-ch{ display:none; }
html.mv .mv-sub-h{ font-size:.8125rem; line-height:1.25rem; font-weight:650; color:var(--mv-tx2); margin:24px 0 8px; font-family:inherit; letter-spacing:0; text-transform:none; }
html.mv .mv-hoja .mv-sub-h{ margin-left:8px; margin-right:8px; margin-top:20px; }
html.mv .mv-hoja .mv-sub-h:first-child{ margin-top:4px; }
html.mv mark{ background:rgba(72,168,224,.3); color:inherit; border-radius:3px; padding:0 1px; }

/* ── 14 · VACÍO, NOTA, ERROR, ESQUELETO ── */
html.mv .mv-vacio{ text-align:center; padding:40px 24px; color:var(--mv-tx); }
html.mv .mv-vacio-c{ width:96px; height:96px; border-radius:50%; background:var(--mv-pri-cont); color:var(--mv-on-pri-cont); display:grid; place-items:center; margin:0 auto 20px; }
html.mv .mv-vacio h2{ font-family:inherit; font-size:1.125rem; line-height:1.5rem; font-weight:650; letter-spacing:-.012em; margin:0; color:var(--mv-tx); }
html.mv .mv-vacio p{ margin:8px auto 20px; max-width:32ch; font-size:.875rem; line-height:1.375rem; color:var(--mv-tx2); }
html.mv .mv-nota,html.mv .mv-bus-ayuda{ display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:12px; background:var(--mv-s1);
  font-size:.8125rem; line-height:1.125rem; color:var(--mv-tx2); margin-top:16px; }
html.mv .mv-nota .mv-i,html.mv .mv-bus-ayuda .mv-i{ color:var(--mv-tx3); margin-top:-1px; }
html.mv .mv-error{ margin-top:12px; font-size:.875rem; line-height:1.25rem; color:var(--mv-er); font-weight:600; }
html.mv .mv-esqueleto{
  display:block; height:14px; border-radius:6px; background:var(--mv-s2); position:relative; overflow:hidden;
}
html.mv .mv-esqueleto::after{
  content:''; position:absolute; inset:0; transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mv-bg) 65%,transparent),transparent);
  animation:mv-brillo 1.3s linear infinite;
}
@keyframes mv-brillo{ to{ transform:translateX(100%); } }
html.mv .mv-esq{ padding:16px 0; }
html.mv .mv-esq-rejilla{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
html.mv .mv-esq-tarjeta{ border-radius:16px; padding:16px; background:var(--mv-card); box-shadow:var(--mv-sombra-1); border:1px solid var(--mv-card-borde); }
html.mv .mv-esq-fila{ display:flex; justify-content:space-between; gap:24px; padding:17px 0; border-top:1px solid var(--mv-linea); }
html.mv .mv-esq-fila:first-child{ border-top:0; }

/* ── 15 · HOJA DE FILTROS Y CAMPOS ── */
html.mv .mv-fg{ margin-top:20px; }
html.mv .mv-fg:first-child{ margin-top:0; }
html.mv .mv-fg-t{ display:block; font-family:inherit; font-size:.875rem; line-height:1.25rem; font-weight:650; margin:0 4px 4px; color:var(--mv-tx); letter-spacing:0; }
html.mv .mv-fg-t::before{ content:none; }
html.mv .mv-fchips{ display:flex; flex-wrap:wrap; column-gap:8px; }
html.mv .mv-fechas{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
html.mv .mv-fechas.uno{ grid-template-columns:1fr; }
html.mv .mv-campo{ position:relative; display:block; }
html.mv .mv-campo>span{ position:absolute; left:12px; top:-8px; padding:0 4px; background:var(--mv-hj-bg); font-size:.75rem; line-height:1rem; color:var(--mv-tx2); z-index:1; }
html.mv .mv-campo input,html.mv .mv-campo select{
  width:100%; height:56px; min-height:56px; border-radius:12px; border:1px solid var(--mv-borde); background:transparent;
  padding:0 14px; font-family:inherit; font-size:1rem; color:var(--mv-tx); -webkit-appearance:none; appearance:none; outline:none; box-shadow:none;
}
html.mv .mv-campo input[type="date"]{ padding-right:44px; }
html.mv .mv-campo select{ padding-right:44px; }
html.mv .mv-campo select:disabled{ opacity:.6; }
html.mv .mv-campo>.mv-i{ position:absolute; right:14px; top:17px; pointer-events:none; color:var(--mv-tx2); }
html.mv .mv-campo input:focus,html.mv .mv-campo select:focus,
html.mv .mv-campo input:focus-visible,html.mv .mv-campo select:focus-visible{ border-color:var(--mv-pri); box-shadow:inset 0 0 0 1px var(--mv-pri); outline:none; }
html.mv .mv-campo:focus-within>span{ color:var(--mv-pri); }
html.mv .mv-campo-btn{ width:100%; height:56px; border-radius:12px; border:1px solid var(--mv-borde); display:flex; align-items:center; gap:8px; padding:0 14px; text-align:left; }
html.mv .mv-campo-btn>b{ flex:1; min-width:0; font-weight:400; font-size:1rem; color:var(--mv-tx); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.mv .mv-campo-btn>.mv-i{ color:var(--mv-tx2); transition:transform .2s var(--mv-e-std); }
html.mv .mv-campo-btn>.mv-i.gira{ transform:rotate(180deg); }
html.mv .mv-campo-btn[aria-expanded="true"]{ border-color:var(--mv-pri); box-shadow:inset 0 0 0 1px var(--mv-pri); }
html.mv .mv-opciones{ margin-top:8px; border-radius:12px; box-shadow:inset 0 0 0 1px var(--mv-linea); overflow:hidden; }
html.mv .mv-opcion{ display:flex; align-items:center; gap:14px; width:100%; min-height:48px; padding:0 14px; font-size:.9375rem; color:var(--mv-tx); text-align:left; }
html.mv .mv-opcion+.mv-opcion{ box-shadow:inset 0 1px 0 var(--mv-linea); }
html.mv .mv-caja{ width:20px; height:20px; border-radius:5px; box-shadow:inset 0 0 0 2px var(--mv-tx2); display:grid; place-items:center; flex:none; }
html.mv .mv-caja.on{ background:var(--mv-pri); box-shadow:none; color:var(--mv-on-pri); }

/* ── 16 · PERFIL, TEMA, BUSCADOR DE PÁGINAS, «CREAR» ── */
html.mv .mv-perfil{ display:flex; align-items:center; gap:16px; padding:16px; }
html.mv .mv-perfil .mv-avatar{ width:48px; height:48px; font-size:1rem; flex:none; }
html.mv .mv-perfil b{ display:block; font-size:1.0625rem; line-height:1.5rem; font-weight:650; color:var(--mv-tx); }
html.mv .mv-perfil small{ display:block; font-size:.875rem; line-height:1.25rem; color:var(--mv-tx2); }
html.mv .mv-seg{ display:flex; height:48px; border-radius:24px; box-shadow:inset 0 0 0 1px var(--mv-borde); overflow:hidden; margin:0 16px 16px; }
html.mv .mv-seg button{ flex:1; display:flex; align-items:center; justify-content:center; gap:6px; font-size:.875rem; font-weight:600; color:var(--mv-tx2); }
html.mv .mv-seg button+button{ box-shadow:-1px 0 0 var(--mv-borde); }
html.mv .mv-seg button[aria-pressed="true"]{ background:var(--mv-pri-cont); color:var(--mv-on-pri-cont); }
html.mv .mv-hoja .mv-perfil-card{ box-shadow:none; border:0; background:none; margin:-8px -8px 0; }
html.mv .mv-perfil-card .mv-cuenta{ margin:-4px 0 0; padding:0 16px 8px; flex-wrap:wrap; column-gap:8px; row-gap:0; overflow:visible; }
html.mv .mv-perfil-card .mv-seg+.mv-cuenta{ margin-top:-8px; }
html.mv .mv-chip.av{ background:var(--mv-av-cont); color:var(--mv-av); box-shadow:none; }
html.mv .mv-lista-cuenta{ margin-top:16px; }
html.mv .mv-hoja .mv-lista-cuenta{ margin-top:8px; }
html.mv .mv-busc{
  height:56px; border-radius:28px; background:var(--mv-s2); display:flex; align-items:center; padding:0 4px 0 16px; margin-top:16px;
  color:var(--mv-tx); transition:background-color .15s linear,box-shadow .15s linear;
}
html.mv .mv-busc:focus-within{ background:var(--mv-card); box-shadow:0 0 0 2px var(--mv-pri),var(--mv-sombra-2); }
html.mv .mv-busc>.mv-i{ color:var(--mv-tx2); }
html.mv .mv-busc:focus-within>.mv-i{ color:var(--mv-pri); }
html.mv .mv-busc input{
  flex:1; min-width:0; height:100%; min-height:0; border:0; background:none; padding:0 8px 0 12px; font-family:inherit; font-size:1rem;
  color:var(--mv-tx); caret-color:var(--mv-pri); outline:none; box-shadow:none; border-radius:0;
}
html.mv .mv-busc input:focus-visible,html.mv .mv-bus-cab input:focus-visible{ outline:none; }
html.mv .mv-busc input::placeholder,html.mv .mv-bus-cab input::placeholder{ color:var(--mv-tx3); opacity:1; }
html.mv input[type=search].mv-x::-webkit-search-cancel-button,html.mv .mv-busc input::-webkit-search-cancel-button,html.mv .mv-bus-cab input::-webkit-search-cancel-button{ display:none; }
html.mv .mv-pie-v{ text-align:center; font-size:.75rem; line-height:1rem; color:var(--mv-tx3); margin-top:24px; }
html.mv .mv-crear{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:0 8px 8px; }
html.mv .mv-crear button{
  min-height:112px; border-radius:16px; background:var(--mv-s1); display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  padding:16px 6px 12px; gap:10px; font-size:.8125rem; line-height:1.125rem; font-weight:600; text-align:center; color:var(--mv-tx);
}
html.mv .mv-ico-c{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; flex:none; background:var(--mv-pri-cont); color:var(--mv-on-pri-cont); }

/* ── 17 · PANTALLA «MÁS» (capa entre las barras) Y BÚSQUEDA DE CLIENTES ── */
html.mv .mv-pantalla{
  position:fixed; left:0; right:0; top:calc(var(--mv-barra-h) + var(--mv-top)); bottom:calc(var(--mv-nav-h) + var(--mv-bot)); z-index:238;
  overflow-y:auto; overscroll-behavior:contain; background:var(--mv-bg); color:var(--mv-tx);
  animation:mv-fundido .24s var(--mv-e-std) both;
}
html.mv .mv-pantalla.mv-grupo{ animation-name:mv-empuje; animation-duration:.3s; }
html.mv .mv-pantalla.sale{ animation:mv-sale .2s var(--mv-e-sal) both; pointer-events:none; }
@keyframes mv-fundido{ from{ opacity:0; transform:scale(.985); } }
@keyframes mv-empuje{ from{ opacity:0; transform:translateX(32px); } }
@keyframes mv-sale{ to{ opacity:0; } }
html.mv .mv-cont{ padding:8px 16px 32px; min-height:100%; }
html.mv .mv-bus{
  position:fixed; inset:0; z-index:250; background:var(--mv-bg); color:var(--mv-tx); display:flex; flex-direction:column;
  opacity:0; transform:translateY(12px); transition:opacity .16s linear,transform .26s var(--mv-e-std);
}
html.mv .mv-bus.on{ opacity:1; transform:none; }
html.mv .mv-bus-cab{ flex:none; height:calc(var(--mv-barra-h) + var(--mv-top)); padding:var(--mv-top) 4px 0; display:flex; align-items:center; box-shadow:0 1px 0 var(--mv-linea); }
html.mv .mv-bus-cab input{
  flex:1; min-width:0; height:48px; min-height:0; border:0; background:none; font-family:inherit; font-size:1.0625rem; color:var(--mv-tx);
  outline:none; caret-color:var(--mv-pri); padding:0 4px; box-shadow:none; border-radius:0;
}
html.mv .mv-bus-res{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:0 16px 24px; }
html.mv .mv-bus-ayuda{ margin-top:20px; }

/* ── 18 · MOVIMIENTO REDUCIDO: fundido o corte, nada se desplaza ── */
@media (prefers-reduced-motion: reduce){
  html.mv .mv-pantalla,html.mv .mv-pantalla.mv-grupo{ animation:mv-solo .15s linear both; }
  html.mv .mv-pantalla.sale{ animation:none; }
  @keyframes mv-solo{ from{ opacity:0; } }
  html.mv .mv-hoja,html.mv .mv-hoja.sale,html.mv .mv-bus,html.mv #toast,html.mv .mv-fab,html.mv .mv-ind::before,html.mv .mv-velo{ transition-duration:0s !important; }
  html.mv .mv-bus{ transform:none; }
  html.mv .mv-onda{ display:none; }
  html.mv .mv-esqueleto::after{ animation:none; }
  html.mv .mv-barra.compacta .mv-t1{ transform:none; }
}

/* ── 19 · PÁGINAS GENÉRICAS (render de escritorio dentro del armazón) ─────────────────────────
   ~80 páginas sin pantalla propia. Objetivo: coherentes con la B (tokens, tarjetas de 16 px con la
   sombra de la B, KPIs en 2 columnas) y SIN desbordar: lo ancho se desplaza DENTRO de su tarjeta.
   Red de seguridad: `overflow-x:clip` en .content. Sin ella, cualquier fila de 400 px hace que
   Chrome agrande el viewport de layout y las barras fijas se descuadran (MAPA §0 y §8). */
html.mv .content{ overflow-x:clip; }
html.mv #main :is(.card,.modcard){
  background:var(--mv-card); border:1px solid var(--mv-card-borde); border-radius:16px; box-shadow:var(--mv-sombra-1);
  min-width:0; max-width:100%;
}
html.mv #main .card:hover{ box-shadow:var(--mv-sombra-1); border-color:var(--mv-card-borde); }
/* lo que no cabe se desplaza dentro de su tarjeta (movil.js marca .mv-desborda midiendo) */
html.mv #main .mv-desborda{ overflow-x:auto; overscroll-behavior-x:contain; }
html.mv #main .mv-rejilla-1{ grid-template-columns:minmax(0,1fr) !important; }
html.mv #main :is(.scroll,.matriz,.matrizMes,.rkwrap){ max-width:100%; overscroll-behavior-x:contain; }
/* rejillas a una columna; KPIs siempre de a dos (la B) */
html.mv #main :is(.gridLayout,.cols2,.cols3,.colsIg){ grid-template-columns:minmax(0,1fr); }
html.mv #main .gridLayout{ gap:12px; }
html.mv #main .grid.kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
html.mv #main .kpi{ padding:16px; border-radius:16px; min-width:0; }
html.mv #main .kpi::before{ display:none; }
html.mv #main .kpi .tit{ font-size:.8125rem; line-height:1.125rem; font-weight:550; color:var(--mv-tx2); }
html.mv #main .kpi .big{ font-size:1.5rem; line-height:1.875rem; letter-spacing:-.028em; overflow-wrap:anywhere; }
html.mv #main .kpi .des{ font-size:.75rem; line-height:1rem; color:var(--mv-tx3); }
/* encabezado de tarjeta: título en su línea y la explicación debajo (antes se partían en columnas) */
html.mv #main .cardHead{ gap:4px 8px; }
html.mv #main .cardHead>h3{ flex:0 1 auto; max-width:100%; }
html.mv #main .cardHead>.sub{ flex-basis:100%; }
html.mv #main .card>h3,html.mv #main .cardHead>h3{ font-size:1rem; line-height:1.375rem; font-weight:650; letter-spacing:-.01em; }
/* <h3><i>●</i> Título <span class="sub">explicación</span></h3>: el h3 es flex y partía el título
   en una columna angosta; la explicación pasa a su propia línea */
html.mv #main h3:has(>.sub,>small){ flex-wrap:wrap; row-gap:2px; }
html.mv #main h3>:is(.sub,small){ flex-basis:100%; margin-left:0; font-size:.8125rem; line-height:1.125rem; font-weight:400; }
/* tablas: con 5+ columnas se dan un ancho mínimo y se desplazan dentro de la tarjeta (legibles),
   en vez de estrujar cada celda hasta partir fechas y nombres en tres renglones */
html.mv #main table:has(tr>:nth-child(5)){ min-width:max(100%,40rem); }
html.mv #main table:has(tr>:nth-child(8)){ min-width:max(100%,52rem); }
html.mv #main table:has(tr>:nth-child(8)) :is(td,th){ white-space:nowrap; }
html.mv #main td{ overflow-wrap:normal; }
/* filas de botones/filtros con flex en línea: que envuelvan en vez de salirse */
html.mv #main :is([style*="display:flex"],[style*="display: flex"]):not([style*="flex-wrap"]):not([style*="nowrap"]){ flex-wrap:wrap; }
html.mv #main .cardHead :is(input,select){ max-width:100%; }
html.mv #main :is(input,select,textarea):not([type=checkbox]):not([type=radio]){ max-width:100%; }
/* Mi nube / editor de documentos: su barra pegajosa se pega DEBAJO de la barra superior móvil */
html.mv #docRaiz{ --doc-top:calc(var(--mv-barra-h) + var(--mv-top)) !important; }
/* chips de filtro activos de la app (#chips) y banda de vista editada */
html.mv #vistaBanda:empty{ display:none; }

/* ── 20 · CRM (visita.centro): el módulo real de visitas adaptado SOLO con CSS ──────────────────
   visitas.js::renderVisitasCentro pinta KPIs, una tarjeta de filtros propia (buscador, selects,
   fechas con su etiqueta, rangos rápidos, «＋ Programar visita») y el layoutGrid con la lista. */
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]{ gap:12px 10px !important; padding:16px !important; }
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>input[type=search]{ flex:1 1 100% !important; max-width:none !important; min-width:0 !important; height:48px; border-radius:12px; }
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>select{ flex:1 1 calc(50% - 5px); min-width:0; height:48px; border-radius:12px; }
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>label{
  flex:1 1 calc(50% - 5px); min-width:0; display:flex; flex-direction:column; gap:4px; font-size:.75rem !important; color:var(--mv-tx2) !important;
}
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>label>input{ margin-left:0 !important; width:100%; height:48px; border-radius:12px; }
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>.spacer{ display:none; }
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>div:not(.spacer){ flex:1 1 100%; }
html.mv[data-mv-pagina="visita.centro"] #main>.card[style*="flex-wrap"]>.btn.primary{ flex:1 1 100%; height:48px; border-radius:24px; font-size:.9375rem; font-weight:650; }
html.mv[data-mv-pagina="visita.centro"] #main .grid.kpis{ margin-bottom:0; }

/* ── 21 · FORMULARIOS DE EMISIÓN EN VENTANA (#modal): Factura de gasto, Documento soporte, Comprobante contable…
   Sus filas son «display:flex» EN LÍNEA con hermanos de ancho fijo (180 + 150 px…) y un campo flex:1 que se
   quedaba con 20–43 px (Tercero, Tipo de comprobante, Medio de pago): no se podía ni tocar. Además los renglones
   (cuenta, cantidad, valor…) eran una tabla de 660 px que obligaba a deslizar de lado para llegar al valor.
   Aquí (SOLO en el teléfono; en escritorio nada cambia): las filas envuelven, cada campo pide un ancho mínimo,
   y los renglones pasan a TARJETA con su etiqueta. Es la misma lista de filas: solo CSS, ningún dato cambia. */
html.mv #modal .mbox :is([style*="display:flex"],[style*="display: flex"]):not([style*="nowrap"]):not([style*="column"]){ flex-wrap:wrap; }
html.mv #modal .mbox :is([style*="display:flex"],[style*="display: flex"]):not([style*="nowrap"]):not([style*="column"])>div:is(:has(> :is(input,select,textarea)),[style*="flex:1"]){
  flex:1 1 150px !important; width:auto !important; min-width:0 !important;
}
/* los campos largos (buscar tercero/cuenta, tipo de comprobante) ocupan toda la línea (más específico que la regla de arriba) */
html.mv #modal .mbox.mbox :is([style*="display:flex"],[style*="display: flex"]):not([style*="nowrap"]):not([style*="column"])>div:is([style*="flex:2"],[style*="position:relative"]):has(> :is(input,select)){ flex-basis:100% !important; }
html.mv #modal .mbox :is(input,select,textarea):not([type=checkbox]):not([type=radio]){ max-width:100%; box-sizing:border-box; }
html.mv #modal .mbox :is(input,select):not([type=checkbox]):not([type=radio]):not(td *), html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td :is(input,select){ min-height:44px; }

/* renglones de las grillas → tarjetas (DS: #dsGridBody · FC de gasto: #fcgGridBody · comprobante: #ccmGrid) */
html.mv #modal .scroll:has(#fcgGridBody,#ccmGrid){ max-height:none !important; overflow:visible !important; border:0 !important; }
html.mv #modal div:has(> table > tbody:is(#dsGridBody,#fcgGridBody,#ccmGrid)){ overflow:visible !important; border:0 !important; }
html.mv #modal table:has(> tbody:is(#dsGridBody,#fcgGridBody,#ccmGrid)){ display:block; min-width:0 !important; width:100% !important; }
html.mv #modal table:has(> tbody:is(#dsGridBody,#fcgGridBody,#ccmGrid))>thead{ display:none; }
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid){ display:block; }
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr{
  display:grid; grid-template-columns:1fr 1fr; gap:8px 10px; position:relative;
  padding:12px 12px 12px; margin:0 0 10px; border:1px solid var(--borde) !important; border-radius:12px; background:var(--fondo);
}
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td{ display:block; padding:0 !important; min-width:0 !important; text-align:left !important; border:0 !important; background:transparent !important; }
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td :is(input,select){ width:100% !important; }
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td::before{
  display:block; margin:0 0 3px; font-size:10.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--gris);
}
/* la papelera va arriba a la derecha, con área de toque de 44 px */
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td:last-child{ position:absolute; top:2px; right:2px; grid-area:auto; }
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td:last-child>span{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; font-size:18px; }
html.mv #modal :is(#dsGridBody,#fcgGridBody,#ccmGrid)>tr>td:last-child::before{ content:none; }
/* Documento soporte: Tipo · Cuenta/Producto · Descripción · Cant · Vr. unit. · Desc. · Retención · Total */
html.mv #modal #dsGridBody>tr{ grid-template-areas:"tp tp" "cu cu" "de de" "ca un" "ds re" "to to"; padding-top:14px; }
html.mv #modal #dsGridBody>tr>td:nth-child(1){ grid-area:tp; padding-right:48px !important; }
html.mv #modal #dsGridBody>tr>td:nth-child(2){ grid-area:cu; }
html.mv #modal #dsGridBody>tr>td:nth-child(3){ grid-area:de; }
html.mv #modal #dsGridBody>tr>td:nth-child(4){ grid-area:ca; }
html.mv #modal #dsGridBody>tr>td:nth-child(5){ grid-area:un; }
html.mv #modal #dsGridBody>tr>td:nth-child(6){ grid-area:ds; }
html.mv #modal #dsGridBody>tr>td:nth-child(7){ grid-area:re; }
html.mv #modal #dsGridBody>tr>td:nth-child(8){ grid-area:to; }
html.mv #modal #dsGridBody>tr>td:nth-child(1)::before{ content:"Tipo"; }
html.mv #modal #dsGridBody>tr>td:nth-child(2)::before{ content:"Cuenta / producto"; }
html.mv #modal #dsGridBody>tr>td:nth-child(3)::before{ content:"Descripción"; }
html.mv #modal #dsGridBody>tr>td:nth-child(4)::before{ content:"Cantidad"; }
html.mv #modal #dsGridBody>tr>td:nth-child(5)::before{ content:"Valor unitario"; }
html.mv #modal #dsGridBody>tr>td:nth-child(6)::before{ content:"Descuento"; }
html.mv #modal #dsGridBody>tr>td:nth-child(7)::before{ content:"Retención"; }
html.mv #modal #dsGridBody>tr>td:nth-child(8)::before{ content:"Total de la línea"; }
/* Factura de gasto: Tipo de gasto · Descripción · Cant. · Valor · Descuento · Retención · Neto */
html.mv #modal #fcgGridBody>tr{ grid-template-areas:"cu cu" "de de" "ca va" "ds re" "ne ne"; padding-top:14px; }
html.mv #modal #fcgGridBody>tr>td:nth-child(1){ grid-area:cu; padding-right:48px !important; }
html.mv #modal #fcgGridBody>tr>td:nth-child(2){ grid-area:de; }
html.mv #modal #fcgGridBody>tr>td:nth-child(3){ grid-area:ca; }
html.mv #modal #fcgGridBody>tr>td:nth-child(4){ grid-area:va; }
html.mv #modal #fcgGridBody>tr>td:nth-child(5){ grid-area:ds; }
html.mv #modal #fcgGridBody>tr>td:nth-child(6){ grid-area:re; }
html.mv #modal #fcgGridBody>tr>td:nth-child(7){ grid-area:ne; }
html.mv #modal #fcgGridBody>tr>td:nth-child(1)::before{ content:"Tipo de gasto (cuenta PUC)"; }
html.mv #modal #fcgGridBody>tr>td:nth-child(2)::before{ content:"Descripción"; }
html.mv #modal #fcgGridBody>tr>td:nth-child(3)::before{ content:"Cantidad"; }
html.mv #modal #fcgGridBody>tr>td:nth-child(4)::before{ content:"Valor"; }
html.mv #modal #fcgGridBody>tr>td:nth-child(5)::before{ content:"Descuento"; }
html.mv #modal #fcgGridBody>tr>td:nth-child(6)::before{ content:"Retención"; }
html.mv #modal #fcgGridBody>tr>td:nth-child(7)::before{ content:"Neto de la línea"; }
/* Comprobante contable: # · Cuenta · Tercero · Detalle contable · Descripción · Centro de costo · Débito · Crédito */
html.mv #modal #ccmGrid>tr{ grid-template-areas:"nu nu" "ct ct" "te te" "dt dt" "de de" "cc cc" "db cr"; padding-top:14px; }
html.mv #modal #ccmGrid>tr>td:nth-child(1){ grid-area:nu; font-size:12px !important; font-weight:800; color:var(--azul) !important; }
html.mv #modal #ccmGrid>tr>td:nth-child(1)::before{ content:"Renglón "; display:inline; margin:0; font-size:12px; color:var(--azul); text-transform:none; letter-spacing:0; }
html.mv #modal #ccmGrid>tr>td:nth-child(2){ grid-area:ct; }
html.mv #modal #ccmGrid>tr>td:nth-child(3){ grid-area:te; }
html.mv #modal #ccmGrid>tr>td:nth-child(4){ grid-area:dt; }
html.mv #modal #ccmGrid>tr>td:nth-child(5){ grid-area:de; }
html.mv #modal #ccmGrid>tr>td:nth-child(6){ grid-area:cc; }
html.mv #modal #ccmGrid>tr>td:nth-child(7){ grid-area:db; }
html.mv #modal #ccmGrid>tr>td:nth-child(8){ grid-area:cr; }
html.mv #modal #ccmGrid>tr>td:nth-child(2)::before{ content:"Cuenta contable"; }
html.mv #modal #ccmGrid>tr>td:nth-child(3)::before{ content:"Tercero"; }
html.mv #modal #ccmGrid>tr>td:nth-child(4)::before{ content:"Detalle contable"; }
html.mv #modal #ccmGrid>tr>td:nth-child(5)::before{ content:"Descripción"; }
html.mv #modal #ccmGrid>tr>td:nth-child(6)::before{ content:"Centro de costo"; }
html.mv #modal #ccmGrid>tr>td:nth-child(7)::before{ content:"Débito"; color:var(--verde); }
html.mv #modal #ccmGrid>tr>td:nth-child(8)::before{ content:"Crédito"; color:var(--rojo); }

/* Cambiar medio de pago de una factura (ventas.js, #cmbTabla): «sale de → entra a → valor» quedaba en 73 y 43 px de ancho
   (el valor se leía «142» en vez de «142.000»). Cada movimiento pasa a tarjeta de una columna. */
html.mv #modal #cmbTabla{ display:block; width:100% !important; }
html.mv #modal #cmbTabla>thead{ display:none; }
html.mv #modal #cmbTabla>tbody{ display:block; }
html.mv #modal #cmbTabla>tbody>tr{ display:grid; grid-template-columns:1fr; gap:8px; position:relative; padding:12px; margin:0 0 10px; border:1px solid var(--borde); border-radius:12px; background:var(--fondo); }
html.mv #modal #cmbTabla>tbody>tr>td{ display:block; padding:0 !important; border:0 !important; min-width:0; background:transparent !important; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(2){ display:none; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(1)::before{ content:"Sale de"; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(3)::before{ content:"Entra a"; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(4)::before{ content:"Valor a mover"; }
html.mv #modal #cmbTabla>tbody>tr>td::before{ display:block; margin:0 0 3px; font-size:10.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--gris); }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(5){ position:absolute; top:4px; right:4px; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(5)::before{ content:none; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(5)>button{ min-height:44px; min-width:44px; }
html.mv #modal #cmbTabla :is(input,select){ width:100% !important; max-width:none !important; min-height:44px; box-sizing:border-box; font-size:.9375rem !important; }
html.mv #modal #cmbTabla>tbody>tr>td:nth-child(1)>div{ min-height:44px; display:flex; align-items:center; box-sizing:border-box; }
/* la fila de «+ Agregar movimiento» y el total del cambio de medio: en dos líneas, sin apretarse */
html.mv #modal :is(#cmbAdd,#cmbPrevBtn){ min-height:44px; }

/* ── 22 · COLAS DE EMISIÓN → TARJETAS: Factura de gasto · Documento soporte · Comprobantes por aprobar ─────
   Son tablas de 9-11 columnas con los botones (▶ emitir, ✕ cancelar, ✎ editar, ✓ aprobar…) en la ÚLTIMA:
   en un teléfono quedaban en x = 1050 px de una pantalla de 390, sin ninguna pista → había que adivinar que
   se desliza de lado para emitir. Cada fila pasa a tarjeta (estado, tercero, montos) con sus botones a la
   vista y de 44 px. Misma tabla y mismos botones: solo CSS, la lógica de emisión no se toca. */
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll:has(> table){ max-height:none !important; overflow:visible !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table{ display:block; width:100% !important; min-width:0 !important; }
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>thead{ display:none; }
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody{ display:block; }
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px 10px; align-items:start;
  padding:12px; margin:0 0 10px; border:1px solid var(--borde) !important; border-radius:12px; background:var(--panel);
}
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td{
  display:block; padding:0 !important; border:0 !important; background:transparent !important; min-width:0; max-width:none !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
  text-align:left !important; grid-column:span 6; overflow-wrap:anywhere; font-size:.8125rem;
}
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:empty{ display:none; }
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td.empty{ grid-column:1/-1; text-align:center !important; padding:16px 4px !important; }
/* la etiqueta de cada dato (las columnas ya no tienen encabezado): el texto lo pone cada página abajo; sin `content` no sale nada */
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td::before{
  display:block; margin:0 0 1px; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--gris);
}
/* botones de acción: a la vista, de 44 px y con espacio para el dedo */
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:last-child:not(.empty){
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding-top:8px !important; margin-top:2px; border-top:1px solid var(--borde) !important; grid-column:span 6;
}
html.mv:is([data-mv-pagina="compras.gasto"],[data-mv-pagina="documento_soporte"],[data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td .btnMini{
  min-height:44px; min-width:44px; padding:0 12px; font-size:.875rem; border-radius:10px;
}
/* Factura de gasto: Estado(3) Fecha(3) | Tercero | Agencia(3) Centro(3) | Origen | Base(2) Retefuente(2) Neto(2) | Resultado | acciones */
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(1){ grid-column:span 3; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(2){ grid-column:span 3; text-align:right !important; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(3){ font-weight:700; font-size:.9375rem; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(4),
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(5){ grid-column:span 3; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(7),
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(8),
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(9){ grid-column:span 2; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(4)::before{ content:"Agencia"; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(5)::before{ content:"Centro de costo"; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(6)::before{ content:"Origen"; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(7)::before{ content:"Base"; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(8)::before{ content:"Retefuente"; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(9)::before{ content:"Neto"; }
html.mv[data-mv-pagina="compras.gasto"] #main .scroll>table>tbody>tr>td:nth-child(10)::before{ content:"Resultado"; }
/* Documento soporte: Estado | Tercero | Cédula(3) Centro(3) | Concepto | Base(2) Retefuente(2) Neto(2) | Resultado | acciones */
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(2){ font-weight:700; font-size:.9375rem; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(3),
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(4){ grid-column:span 3; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(6),
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(7),
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(8){ grid-column:span 2; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(3)::before{ content:"Cédula / NIT"; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(4)::before{ content:"Centro de costo"; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(5)::before{ content:"Concepto / período"; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(6)::before{ content:"Base"; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(7)::before{ content:"Retefuente"; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(8)::before{ content:"Neto"; }
html.mv[data-mv-pagina="documento_soporte"] #main .scroll>table>tbody>tr>td:nth-child(9)::before{ content:"Resultado (DIAN)"; }
/* Comprobantes: Estado(2) N°(2) Fecha(2) | Tipo | Concepto | Débitos(3) Créditos(3) | Resultado | acciones */
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(1),
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(2),
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(3){ grid-column:span 2; }
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(4){ font-weight:700; font-size:.9375rem; }
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(6),
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(7){ grid-column:span 3; }
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(5)::before{ content:"Concepto"; }
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(6)::before{ content:"Débitos"; }
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(7)::before{ content:"Créditos"; }
html.mv:is([data-mv-pagina="contable.comprobantes.crear"],[data-mv-pagina="contable.comprobantes.aprobar"]) #main .scroll>table>tbody>tr>td:nth-child(8)::before{ content:"Resultado"; }

/* ── 22b · RECIBOS DE CAJA (cartera.recibos, 29-sep-2026) ─────────────────────────────────────────────────────
   La cola tiene 9 columnas con los botones (✎ ▶ ✕ 🔎 🕘) en la última: misma solución que §22 (tarjeta por recibo, botones de 44 px
   a la vista). El formulario (#modal) se arma con divs, no con tabla: cada factura es una tarjeta que solo necesita que el campo
   «Abono» ocupe el ancho completo y el dedo llegue al checkbox. Solo CSS. */
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll:has(> table){ max-height:none !important; overflow:visible !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table{ display:block; width:100% !important; min-width:0 !important; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>thead{ display:none; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody{ display:block; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px 10px; align-items:start;
  padding:12px; margin:0 0 10px; border:1px solid var(--borde) !important; border-radius:12px; background:var(--panel);
}
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td{
  display:block; padding:0 !important; border:0 !important; background:transparent !important; min-width:0; max-width:none !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
  text-align:left !important; grid-column:span 6; overflow-wrap:anywhere; font-size:.8125rem;
}
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:empty{ display:none; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td.empty{ grid-column:1/-1; text-align:center !important; padding:16px 4px !important; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td::before{ display:block; margin:0 0 1px; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--gris); }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:last-child:not(.empty){
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding-top:8px !important; margin-top:2px; border-top:1px solid var(--borde) !important; grid-column:span 6;
}
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td .btnMini{ min-height:44px; min-width:44px; padding:0 12px; font-size:.875rem; border-radius:10px; }
/* Estado(3) N°(3) | Cliente | Fecha(2) Tipo(2) Medio(2) | Valor | Resultado | acciones  («Verificar en Siigo» no cabe en 2 columnas) */
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(1),
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(2){ grid-column:span 3; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(2){ text-align:right !important; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(1) span{ white-space:nowrap; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(3),
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(5),
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(6){ grid-column:span 2; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(3)::before{ content:"Fecha"; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(7){ font-weight:800; font-size:1rem; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(4){ font-weight:700; font-size:.9375rem; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(4)::before{ content:"Cliente"; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(5)::before{ content:"Tipo"; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(6)::before{ content:"Medio de pago"; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(7)::before{ content:"Valor"; }
html.mv[data-mv-pagina="cartera.recibos"] #main .scroll>table>tbody>tr>td:nth-child(8)::before{ content:"Resultado"; }
/* formulario: los campos de una fila se apilan (medio de pago y centro de costo se leían «Transferencia B…»); cada factura es
   una tarjeta y el campo «Abono» ocupa todo el ancho, con altura de dedo */
/* (la regla general de «campos de una fila» de arriba trae mucha especificidad: por eso el selector repetido) */
html.mv #modal .mbox.mbox.mbox.mbox .rc-fila.rc-fila.rc-fila>div{ flex:1 1 100% !important; }
html.mv #modal .mbox.mbox.mbox.mbox .rc-fila.rc-fila.rc-fila>div:has(> button){ flex:0 0 auto !important; }
html.mv #modal .rc-fac select[aria-label^="Cuota"]{ width:100% !important; margin-top:2px; }
html.mv #modal .rc-fac{ grid-template-columns:auto 1fr !important; }
html.mv #modal .rc-fac>div:nth-child(3){ grid-column:1/-1; justify-content:stretch !important; }
html.mv #modal .rc-fac>div:nth-child(3)>input{ flex:1 1 auto; width:auto !important; }
html.mv #modal .rc-fac input[type="checkbox"]{ width:26px !important; height:26px !important; }
html.mv #modal .rc-fac :is(input[type="number"],select),
html.mv #modal :is(#rcTipoDoc,#rcFecha,#rcCli,#rcMedio,#rcCentro,#rcValor,#rcIngreso,#rcRepartir,#rcSug){ min-height:44px; font-size:1rem !important; box-sizing:border-box; }

/* ── 23 · ORDEN DE COMPRA (cajón #ocDrawer): las líneas y la recepción pasan a tarjeta ───────────────────────
   «Nueva orden de compra» (#ocTabla): la CANTIDAD quedaba a la derecha de una tabla que había que deslizar de lado.
   «Revisar» (recepción): la columna RECIBIDO —lo único que se edita— quedaba en x = 534 de una pantalla de 390. Cada línea
   pasa a tarjeta con su etiqueta; el aviso por línea (ocAvisoFila) y el total siguen igual. Solo CSS. */
html.mv #ocDrawer .scroll:has(> table){ max-height:none !important; overflow:visible !important; border:0 !important; background:transparent !important; }
html.mv #ocDrawer :is(#ocTabla,.drawBody .scroll>table){ display:block; width:100% !important; min-width:0 !important; }
html.mv #ocDrawer :is(#ocTabla,.drawBody .scroll>table)>thead{ display:none; }
html.mv #ocDrawer :is(#ocTabla,.drawBody .scroll>table)>tbody{ display:block; }
html.mv #ocDrawer :is(#ocTabla>tbody>tr[data-code],.drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))){
  display:grid; grid-template-columns:1fr 1fr; gap:6px 10px; position:relative; padding:12px; margin:0 0 8px;
  border:1px solid var(--borde) !important; border-radius:12px; background:var(--fondo);
}
html.mv #ocDrawer :is(#ocTabla>tbody>tr[data-code],.drawBody .scroll>table>tbody>tr:not(:has(> td[colspan])))>td{
  display:block; padding:0 !important; border:0 !important; background:transparent !important; min-width:0; max-width:none !important;
  text-align:left !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; overflow-wrap:anywhere;
}
html.mv #ocDrawer :is(#ocTabla>tbody>tr[data-code],.drawBody .scroll>table>tbody>tr:not(:has(> td[colspan])))>td::before{
  display:block; margin:0 0 2px; font-size:10.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--gris);
}
html.mv #ocDrawer :is(#ocTabla,.drawBody .scroll>table) :is(input,select){ width:100% !important; max-width:none !important; min-height:44px; box-sizing:border-box; font-size:.9375rem !important; }
/* la fila de aviso por línea y el encabezado de categoría: bloques de ancho completo */
html.mv #ocDrawer #ocTabla>tbody>tr.ocAvisoFila:not([hidden]){ display:block; margin:-4px 0 8px; }
html.mv #ocDrawer #ocTabla>tbody>tr.ocAvisoFila>td{ display:block; padding:2px 4px 6px !important; }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:has(> td[colspan]){ display:block; padding:6px 2px 4px; }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr>td[colspan]{ display:block; padding:0 !important; border:0 !important; }
/* Nueva OC: Código · Producto · Cantidad · Costo · Subtotal · ✕ */
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(1){ grid-column:1/-1; font-size:.9375rem; padding-right:48px !important; }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(2){ grid-column:1/-1; color:var(--mv-tx2,var(--gris)); }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(3)::before{ content:"Cantidad"; }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(4)::before{ content:"Costo unitario"; }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(5){ grid-column:1/-1; }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(5)::before{ content:"Subtotal de la línea"; }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(6){ position:absolute; top:2px; right:2px; }
html.mv #ocDrawer #ocTabla>tbody>tr[data-code]>td:nth-child(6)>button{ min-height:44px; min-width:44px; }
/* Revisar: Código · Producto · Pedido · Recibido · Dif. */
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))>td:nth-child(1){ grid-column:1/-1; font-size:.9375rem; }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))>td:nth-child(2){ grid-column:1/-1; color:var(--mv-tx2,var(--gris)); }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))>td:nth-child(3)::before{ content:"Pedido"; }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))>td:nth-child(4)::before{ content:"Recibido"; }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))>td:nth-child(5){ grid-column:1/-1; }
html.mv #ocDrawer .drawBody .scroll>table>tbody>tr:not(:has(> td[colspan]))>td:nth-child(5)::before{ content:"Diferencia"; }
/* «Facturar a Siigo» (emite en Siigo): botones y campos de dedo */
html.mv #ocDrawer .drawBody :is(.btn,.fi){ min-height:44px; }

/* ── 24 · CAJA MENOR (captura y revisión) → TARJETAS ──────────────────────────────────────────────────────────
   Captura: la fila del gasto nuevo es una FILA DE TABLA de 8 columnas: el ✓ Guardar quedaba en x = 874 de 390.
   Revisión: ✓ Aprobar / ✕ Rechazar (lo que manda el gasto a Documento soporte o Factura de compra) en x = 849–1021.
   Cada gasto pasa a tarjeta; el gasto en edición, a un formulario de una columna con Guardar/Cancelar a la vista. */
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll:has(> table){ max-height:none !important; overflow:visible !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table{ display:block; width:100% !important; min-width:0 !important; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>thead{ display:none; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody{ display:block; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px 10px; align-items:start;
  padding:12px; margin:0 0 10px; border:1px solid var(--borde) !important; border-radius:12px; background:var(--panel);
}
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr>td{
  display:block; padding:0 !important; border:0 !important; background:transparent !important; min-width:0 !important; max-width:none !important;
  white-space:normal !important; overflow:visible !important; text-overflow:clip !important; text-align:left !important; grid-column:span 6; overflow-wrap:anywhere; font-size:.8125rem;
}
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr>td:empty{ display:none; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr>td.empty{ grid-column:1/-1; text-align:center !important; padding:16px 4px !important; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr>td::before{
  display:block; margin:0 0 1px; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--gris);
}
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr>td:last-child:not(.empty){
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding-top:8px !important; margin-top:2px; border-top:1px solid var(--borde) !important; grid-column:span 6; order:20;
}
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr .btnMini{ min-height:44px; min-width:44px; padding:0 12px; font-size:.875rem; border-radius:10px; }
html.mv:is([data-mv-pagina="caja_menor.captura"],[data-mv-pagina="caja_menor.revisar"],[data-mv-pagina="caja_menor"]) #main .scroll>table>tbody>tr :is(input,select){ width:100% !important; min-width:0 !important; max-width:none !important; min-height:44px; box-sizing:border-box; font-size:.9375rem !important; }
/* Captura · gasto ya cargado: Estado(3) Fecha(3) | Tercero | Concepto | Categoría(3) Valor(3) | Soporte | acciones */
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(7){ order:1; grid-column:span 3; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(1){ order:2; grid-column:span 3; text-align:right !important; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(2){ order:3; font-weight:700; font-size:.9375rem; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(3){ order:4; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(4){ order:5; grid-column:span 3; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(5){ order:6; grid-column:span 3; text-align:right !important; font-size:1rem; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(6){ order:7; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(3)::before{ content:"Tipo de gasto"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(4)::before{ content:"Categoría"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(5)::before{ content:"Valor"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:not(:has(#cmFilaFechaInp))>td:nth-child(6)::before{ content:"Soporte"; }
/* Captura · gasto en edición / nuevo: formulario de una columna, Guardar y Cancelar con nombre */
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp){ border-color:var(--azul) !important; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:nth-child(6){ display:none; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:nth-child(1)::before{ content:"Fecha del gasto"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:nth-child(2)::before{ content:"Tercero"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:nth-child(3)::before{ content:"Tipo de gasto"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:nth-child(4)::before{ content:"Valor"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:nth-child(5)::before{ content:"Soporte"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:last-child button[title="Guardar"]{ background:var(--mv-primario,var(--azul)); border-color:var(--mv-primario,var(--azul)); color:#fff; flex:1 1 auto; font-weight:700; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:last-child button[title="Guardar"]::after{ content:" Guardar"; }
html.mv[data-mv-pagina="caja_menor.captura"] #main .scroll>table>tbody>tr:has(#cmFilaFechaInp)>td:last-child button[title="Cancelar"]::after{ content:" Cancelar"; }
/* Revisión: Estado | Tercero | Tipo de gasto | Valor(3) Soporte(3) | Destino(3) Centro(3) | acciones (✓ Aprobar · ✕ Rechazar …) */
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(5){ order:1; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(1){ order:2; font-weight:700; font-size:.9375rem; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(2){ order:3; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(3){ order:4; grid-column:span 3; font-size:1rem; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(4){ order:5; grid-column:span 3; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(6){ order:6; grid-column:span 3; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(7){ order:7; grid-column:span 3; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(2)::before{ content:"Tipo de gasto"; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(3)::before{ content:"Valor"; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(4)::before{ content:"Soporte"; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(6)::before{ content:"Destino"; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:nth-child(7)::before{ content:"Centro de costo"; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:last-child .btnMini[title="Aprobar"]{ flex:1 1 40%; font-weight:700; }
html.mv[data-mv-pagina="caja_menor.revisar"] #main .scroll>table>tbody>tr>td:last-child .btnMini[title="Rechazar"]{ flex:1 1 40%; }

/*@@CSS4@@*/
