/* Apps del equipo (Coordinación y Concierge), sobre apps-base.css y apps-marca.css. Sólo lo propio y sólo tokens:
   cabecera oscura (contraste con el papel de la página), «volver» en la cabecera, cabecera compacta de pantalla,
   filas de lista, botón flotante para crear, hoja con cabecera de color y el hilo de una unidad.
   Nada baja de 14 px ni de 44 px de toque. */
body[data-login-role="coordinador"],body[data-login-role="concierge"]{--role:var(--noche-2);--role-hi:var(--noche);--role-soft:var(--papel)}

/* ── Cabecera de la app: noche, no vidrio claro ── */
body[data-rol="coordinador"] .ap-top,body[data-rol="concierge"] .ap-top{background:var(--noche);color:var(--sobre-noche);border-bottom-color:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-rol="coordinador"] .ap-marca,body[data-rol="concierge"] .ap-marca{color:var(--sobre-noche)}
body[data-rol="coordinador"] .ap-rol small,body[data-rol="concierge"] .ap-rol small{font-size:.875rem;color:color-mix(in srgb,var(--sobre-noche) 74%,transparent)}
body[data-rol="coordinador"] .ap-salir,body[data-rol="concierge"] .ap-salir,
body[data-rol="coordinador"] .ap-coment,body[data-rol="concierge"] .ap-coment{background:var(--vidrio-noche);color:var(--sobre-noche);
  border:1px solid color-mix(in srgb,var(--sobre-noche) 24%,transparent);font-size:.9rem}
body[data-rol="coordinador"] .ap-coment,body[data-rol="concierge"] .ap-coment{flex:none;width:44px;height:44px;border-radius:999px;cursor:pointer}
body[data-rol="coordinador"] .ap-nav a,body[data-rol="concierge"] .ap-nav a{font-size:.875rem}
.of-volver{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;margin-left:-6px;border-radius:999px;color:var(--sobre-noche);
  background:var(--vidrio-noche);border:1px solid color-mix(in srgb,var(--sobre-noche) 24%,transparent)}
.of-volver svg{width:22px;height:22px}
.ap-top.of-detalle .ap-simbolo{display:none}

/* ── Cabecera compacta de pantalla ── */
/* Sobre fondo de marca (regla del 14-oct-2026): barra, cabecera y contenido son tres tonos distintos. */
.of-cab{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:14px 16px;border-radius:20px;background:var(--noche-2);color:var(--sobre-noche)}
.of-cab h1{color:var(--sobre-noche)}
.of-cab .of-cab-emoji{width:52px;height:52px;flex:none}
.of-cab h1{margin:0;font-size:1.5rem;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.of-cab p{margin:2px 0 0;color:color-mix(in srgb,var(--sobre-noche) 82%,transparent);font-size:.9375rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ── Buscador y filtros ── */
.of-barra{display:grid;gap:10px;margin:0 0 14px}
.of-barra input{width:100%;min-height:48px;padding:10px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tinta) 16%,transparent);background:var(--tarjeta);font-size:1rem}
.of-filtros{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px}
.of-filtros::-webkit-scrollbar{display:none}
.of-filtros button{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tinta) 14%,transparent);
  background:var(--tarjeta);color:var(--tinta-2);font-weight:700;font-size:.9375rem;cursor:pointer;white-space:nowrap}
.of-filtros button[aria-pressed="true"]{background:var(--noche);color:var(--sobre-noche);border-color:var(--noche)}
.of-filtros b{font-weight:800;opacity:.8}

/* ── Filas de lista ── */
.of-lista>li{padding:0;min-height:0}
.of-fila{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;padding:12px 14px;color:var(--tinta);text-decoration:none;text-align:left;border-radius:inherit}
.of-fila .crece{flex:1;min-width:0;display:grid;gap:2px}
.of-fila b{font-size:1.0625rem;line-height:1.25;overflow-wrap:anywhere}
.of-fila small{color:var(--tinta-2);font-size:.875rem}
.of-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.of-chips .chip{font-size:.875rem}
.of-ir{flex:none;font-size:1.5rem;color:var(--tinta-3)}
.of-foto{flex:none;width:64px;height:64px;border-radius:16px;object-fit:cover}

/* ── Crear: botón flotante sobre la lista ── */
.of-fab{position:fixed;z-index:25;right:max(18px,env(safe-area-inset-right));bottom:calc(104px + env(safe-area-inset-bottom));display:grid;place-items:center;
  width:60px;height:60px;border-radius:50%;border:0;background:var(--marca);color:var(--sobre-marca);cursor:pointer;box-shadow:var(--sombra-alta);transition:transform var(--dur-normal) var(--curva)}
.of-fab:active{transform:scale(.94)}
.of-fab svg{width:28px;height:28px}
@media (min-width:900px){.of-fab{bottom:32px;right:32px}}

/* ── Ficha ── */
.of-heroe{display:grid;gap:14px;padding:20px;margin:0 0 14px}
.of-heroe .kicker{font-size:.875rem}
.of-heroe .kicker>span:first-child{display:inline-flex;align-items:center;gap:8px}
.of-heroe .chip{font-size:.875rem}
.of-heroe .vidrio span{font-size:.875rem}
.of-heroe .vidrio b{font-size:1.0625rem}
.of-heroe .cifra-grande small{font-size:.9375rem}
.of-pct{font-size:clamp(2.6rem,12vw,3.6rem);font-weight:800;line-height:1;letter-spacing:-.035em;color:var(--champan);font-variant-numeric:tabular-nums}
.of-sub{margin:0;color:color-mix(in srgb,var(--sobre-noche) 82%,transparent);font-size:1rem}
.of-acciones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.of-acciones .btn{min-height:52px;padding:0 12px}
.of-acciones .btn .emoji.mini{width:22px;height:22px}
.of-acciones .btn .acc-ico{--acc:22px}
@media (min-width:760px){.of-acciones:not(.dos){grid-template-columns:repeat(4,1fr)}}
.of-firmado{display:flex;align-items:center;gap:12px}
.of-firmado b{display:block}
.of-firmado small{display:block;color:var(--tinta-2);font-size:.9375rem}
.of-datos{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}
.of-datos li{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;border-top:1px solid color-mix(in srgb,var(--tinta) 8%,transparent)}
.of-datos span{color:var(--tinta-2);font-size:.875rem}
.of-datos a,.of-datos b{font-weight:700;color:var(--tinta);text-align:right;overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}
.of-contacto{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--tinta) 8%,transparent)}
.of-contacto:first-of-type{border-top:0}
.of-contacto small{display:block;color:var(--tinta-2);font-size:.875rem}
.of-contacto b{overflow-wrap:anywhere}
.of-contacto-btns{display:flex;gap:8px;flex:none}
.of-redondo{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--noche);color:var(--sobre-noche)}
.of-redondo svg{width:22px;height:22px}
.of-redondo .acc-ico{--acc:30px}
/* Con emoji, fondo claro: el teléfono verde oscuro se perdía sobre la noche. */
.of-redondo:has(img.acc-ico:not(.sin-img)){background:color-mix(in srgb,var(--tinta) 6%,var(--tarjeta));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tinta) 10%,transparent)}
.importe{white-space:nowrap}

/* ── Hilo ── */
.of-hilo{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.of-hilo li{padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--tinta) 4%,var(--tarjeta))}
.of-hilo li.nota{background:color-mix(in srgb,var(--marca) 14%,var(--tarjeta))}
.of-hilo-cab{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:.875rem}
.of-hilo-cab span{color:var(--tinta-2)}
.of-hilo-cab time{margin-left:auto;color:var(--tinta-2)}
.of-hilo p{margin:4px 0 0;font-size:.9375rem;line-height:1.4;overflow-wrap:anywhere}
.of-hilo .que{font-weight:700}
.of-hilo .detalle{color:var(--tinta-2)}
.of-hilo-vacio{margin:0 0 12px;color:var(--tinta-2)}

/* ── Hoja con cabecera de color ── */
.of-caja{padding:0;gap:0;overflow:hidden;max-height:min(92dvh,760px);grid-template-rows:auto minmax(0,1fr) auto}
.of-hoja-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 14px 16px 20px;background:var(--noche);color:var(--sobre-noche)}
.hoja-caja .of-hoja-cab h2{margin:0;color:var(--sobre-noche);font-size:1.25rem}
.hoja-caja .of-hoja-cab p{margin:4px 0 0;color:color-mix(in srgb,var(--sobre-noche) 78%,transparent);font-size:.9375rem;line-height:1.35}
.of-hoja-cab > div{flex:1;min-width:0}
.of-hoja-cab .ar-menu-btn{border-color:color-mix(in srgb,var(--sobre-noche) 24%,transparent);color:var(--sobre-noche)}
.of-cerrar{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--sobre-noche) 24%,transparent);
  background:var(--vidrio-noche);color:var(--sobre-noche);cursor:pointer}
.of-cerrar svg{width:20px;height:20px}
.of-hoja-cuerpo{display:grid;gap:14px;align-content:start;padding:18px 20px 8px;overflow-y:auto;overscroll-behavior:contain}
.of-hoja-cuerpo .campo{font-size:.9375rem}
.of-hoja-cuerpo .campo .pista{font-size:.875rem}
.of-hoja-cuerpo .nota{margin:0;font-size:.9375rem}
.hoja-botones.of-hoja-pie{margin:0;padding:10px 20px max(18px,env(safe-area-inset-bottom))}
.of-dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:420px){.of-dos{grid-template-columns:1fr}}
.of-url{display:block;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--tinta) 5%,var(--tarjeta));font-size:.875rem;overflow-wrap:anywhere;user-select:all}
.of-compartir{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px}
.of-compartir .btn{min-height:52px;padding:0 10px}
.of-compartir .btn .acc-ico{--acc:26px}
@media (max-width:520px){.of-compartir .btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.of-compartir .btn .acc-ico{--acc:32px}}
body[data-rol="coordinador"] .nav-insignia,body[data-rol="concierge"] .nav-insignia{font-size:.875rem}
.of-heroe .vidrio b span{font-size:inherit;color:inherit;font-weight:inherit}

/* ── Reclutamiento: mapa de asignación, equipo, seguimiento (coordinador-red.js) y «Mis visitas» (app-promotor.js) ── */
.mc-herr{display:grid;grid-template-columns:1fr auto;gap:8px}
.mc-herr .btn{min-height:44px;padding:0 14px;font-size:.9375rem}
.mc-mapa{height:min(52dvh,560px);min-height:260px;border-radius:18px;overflow:hidden;border:1px solid var(--linea);background:var(--superficie);z-index:0}
.mc-mapa.chico{height:min(34dvh,320px);min-height:200px}
.mc-leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 2px 0;font-size:.875rem;color:var(--tinta-2)}
.mc-leyenda span{display:inline-flex;align-items:center;gap:6px}
.mc-leyenda i{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid color-mix(in srgb,var(--tinta) 20%,transparent)}
.mc-leyenda i.anillo{background:transparent;border:3px solid #2f7cf6}
.mc-sel{position:sticky;bottom:calc(92px + env(safe-area-inset-bottom));z-index:24;display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:10px 12px;border-radius:18px;background:var(--noche);color:var(--sobre-noche);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.mc-sel .crece{flex:1;font-size:1rem}
.mc-sel .btn.claro{background:var(--vidrio-noche);color:var(--sobre-noche);border-color:transparent}
.mc-todos{margin-top:10px}
.mc-pop{display:grid;gap:6px;min-width:200px;font-size:.9375rem}
.mc-pop>b{font-size:1rem}
.mc-pop small{color:var(--tinta-2);font-size:.875rem}
.mc-pop dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:4px 0}
.mc-pop dt{color:var(--tinta-2);font-size:.875rem}
.mc-pop dd{margin:0;font-weight:700;font-size:.875rem}
.mc-pop .btn{width:100%;justify-content:center;text-decoration:none}
.leaflet-container .mc-pop a.btn{color:var(--tinta)}
.mc-cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0}
.mc-cifras span{display:grid;justify-items:center;padding:8px 4px;border-radius:14px;background:color-mix(in srgb,var(--tinta) 5%,var(--tarjeta));font-size:.875rem;color:var(--tinta-2)}
.mc-cifras b{font-size:1.25rem;color:var(--tinta)}
/* Cuatro cifras («interesados» no se parte): por debajo de 420 px de hoja bajan a 2×2 en lugar de desbordar a 320. */
.of-hoja-cuerpo{container-type:inline-size}
@container (max-width:420px){.mc-cifras:has(> span:nth-child(4)){grid-template-columns:repeat(2,1fr)}}
.mc-totales{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.mc-totales button{display:grid;gap:2px;justify-items:start;min-height:88px;padding:12px 14px;border-radius:18px;border:1px solid var(--linea);background:var(--tarjeta);color:var(--tinta);font:inherit;text-align:left;cursor:pointer}
.mc-totales span{font-size:.875rem;color:var(--tinta-2)}
.mc-totales b{font-size:1.125rem}
.mc-totales small{font-size:.875rem;color:var(--tinta-2)}
.mc-grupos{display:grid;gap:10px}
.mc-grupo{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 14px;border:1px solid var(--linea);font:inherit;color:var(--tinta);text-align:left;cursor:pointer}
.mc-grupo .crece{flex:1;min-width:0;display:grid;gap:2px}
.mc-grupo small{color:var(--tinta-2);font-size:.875rem}
.mc-grupo .mc-n{font-size:1.375rem}
.mc-grupo.vacio-g{border-style:dashed}
.mc-pasos{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mc-pasos li{display:grid;padding:8px 12px;border-left:4px solid var(--linea);border-radius:4px}
.mc-pasos li.hecho{border-left-color:var(--ok)}
.mc-pasos small{color:var(--tinta-2);font-size:.875rem}
.mc-prom{display:grid;gap:4px;padding:12px 14px}
.mc-prom small{color:var(--tinta-2);font-size:.875rem}
.vis-km{font-variant-numeric:tabular-nums}
.vis-resultado{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vis-resultado label{display:grid;place-items:center;min-height:52px;padding:6px;border-radius:14px;border:1px solid var(--linea);background:var(--tarjeta);font-weight:700;font-size:.9375rem;text-align:center;cursor:pointer}
.vis-resultado input{position:absolute;opacity:0;pointer-events:none}
.vis-resultado label:has(input:checked){background:var(--noche);color:var(--sobre-noche);border-color:var(--noche)}
.vis-resultado label:has(input:focus-visible){outline:3px solid var(--info);outline-offset:2px}
.vis-paradas{margin:0;padding-left:1.4em;display:grid;gap:4px}
@media (min-width:900px){.mc-totales{grid-template-columns:repeat(4,1fr)}.mc-grupos{grid-template-columns:1fr 1fr}.mc-mapa{height:min(64dvh,640px)}.mc-sel{bottom:16px}}
.of-sub-h{margin:4px 0 0;font-size:1rem}

/* ── Passkeys del coordinador (passkey-rol.js): botón de la llave en la cabecera, la pantalla #llaves y el ofrecimiento ── */
body[data-rol="coordinador"] .ap-llaves{display:inline-grid;place-items:center;text-decoration:none}
.ap-llaves svg{width:22px;height:22px}
.pkIco{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--papel);color:var(--noche-2)}
.pkIco svg{width:24px;height:24px}
.pkIco.grande{width:64px;height:64px;border-radius:20px}
.pkIco.grande svg{width:34px;height:34px}
.pkLista .of-fila{align-items:center}
.pkLista .of-fila .btn{flex:none;min-height:44px}
.pkCrear{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:52px;margin:14px 0 4px}
.pkCrear svg{width:22px;height:22px}
.pkCuenta{margin-top:12px}
.pkQr{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.pkQrImg{width:min(260px,70vw);aspect-ratio:1;background:#fff;border-radius:16px;padding:10px;box-shadow:0 0 0 1px var(--line,#d9dee3)}
.pkQrImg svg{width:100%;height:100%;display:block}
.pkQrImg.vencido{opacity:.15}
.pkQrVence{font-weight:700;font-variant-numeric:tabular-nums}
.pkOferta{display:flex;gap:14px;align-items:flex-start}
.pkOferta svg{flex:none;width:40px;height:40px;color:var(--noche-2)}
.pkOferta p{margin:0;font-size:1rem;line-height:1.45}

/* ── El Malecón (app-promotor.js): FAB con palabra, comisión por negocio y Mi QR ── */
.of-fab.con-texto{width:auto;height:56px;padding:0 20px 0 16px;border-radius:28px;grid-auto-flow:column;gap:8px;font:inherit;font-weight:800;font-size:1rem}
.of-fab.con-texto svg{width:24px;height:24px}
.of-fab .acc-ico{--acc:30px}
.vis-herr{margin:12px 0}
.vis-herr .btn{min-height:48px}
.ap-vista:has(.of-fab) #visRaiz{padding-bottom:84px}
.com-heroe,.qr-heroe{display:grid;gap:12px;padding:20px;margin:0 0 16px}
.com-heroe .cifra-grande{font-size:clamp(2.4rem,11vw,3.4rem)}
.com-heroe .vidrio,.qr-heroe .vidrio{min-width:0;flex:1 1 6.5rem}
.com-heroe .vidrio b,.qr-heroe .vidrio b{font-size:1rem}
.com-origen{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:.9375rem;font-weight:600}
.com-origen>span{white-space:nowrap}
.com-origen .importe{color:var(--sobre-noche);font-weight:800;font-variant-numeric:tabular-nums}
.com-monto{flex:none;font-weight:800;font-variant-numeric:tabular-nums;color:var(--tinta)}
.com-pct{flex:none;font-size:1.125rem;font-variant-numeric:tabular-nums}
.com-pcts{grid-template-columns:1fr 1fr}
.com-ejemplos{grid-template-columns:repeat(3,1fr)}
.qr-heroe{grid-template-columns:auto minmax(0,1fr);align-items:center}
.qr-heroe .vidrios{grid-column:1/-1}
.qr-placa{display:grid;place-items:center;padding:10px;border-radius:18px;background:#fff;box-shadow:var(--sombra-alta)}
.qr-placa img{display:block;width:clamp(116px,32vw,168px);height:auto;aspect-ratio:1}
.qr-datos{display:grid;gap:6px;min-width:0}
.qr-datos code{font:800 1.5rem/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--champan)}
.qr-datos p:last-child{font-size:.9375rem}
.qr-compartir{margin:0 0 14px}
@media (max-width:360px){.qr-heroe{grid-template-columns:1fr;justify-items:start}}

/* Lo que respondió el operador desde El Muelle (sólo informa; confirmar es del concierge). */
.of-respuesta{display:flex;align-items:flex-start;gap:12px;border-left:4px solid var(--ok)}
.of-respuesta.no{border-left-color:var(--error)}
.of-respuesta b{display:block}
.of-respuesta small{display:block;color:var(--tinta-2);font-size:.9375rem}
.of-respuesta-nota{display:block;margin-top:6px;font-size:.9375rem;font-style:italic;color:var(--tinta)}

/* ── Fichas en revisión (coordinador-fichas.js): las clases del núcleo fichas-revision.js, el mismo del panel ── */
.fpRev{display:grid;gap:8px;padding:18px 16px;margin:0 0 14px}
.fpRev h3{margin:14px 0 2px;font-size:1.0625rem;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.fpRev h3:first-child{margin-top:0}
.fpRev .muted{color:var(--tinta-2);font-size:.875rem}
.fpSin,.fpHay{font-size:.875rem;font-weight:700;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--tinta) 6%,var(--tarjeta));color:var(--tinta-2)}
.fpHay{background:var(--marca-suave);color:var(--tinta)}
.fpTablaCaja{overflow-x:auto;margin:0 -4px}
.fpTabla{width:100%;border-collapse:collapse;font-size:.9375rem}
.fpTabla th,.fpTabla td{text-align:left;padding:8px 6px;border-bottom:1px solid color-mix(in srgb,var(--tinta) 8%,transparent);vertical-align:top;overflow-wrap:anywhere}
.fpTabla thead th{color:var(--tinta-2);font-weight:700;font-size:.875rem;overflow-wrap:normal;white-space:nowrap}
.fpTabla tbody th{color:var(--tinta-2);font-weight:600;width:32%}
.fpTabla td{width:34%}
.fpCambia td:last-child{background:var(--marca-suave);font-weight:700}
.fpDos{display:grid;grid-template-columns:1fr;gap:10px}
.fpDos>div{padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--tinta) 4%,var(--tarjeta))}
.fpDos>div>.muted:first-child{display:block;margin-bottom:2px}
.fpDos>div:last-child{background:color-mix(in srgb,var(--marca) 12%,var(--tarjeta))}
@media (min-width:640px){.fpDos{grid-template-columns:1fr 1fr}}
.fpOps{margin:4px 0 0;padding-left:18px;font-size:.9375rem;line-height:1.5}
.fpFotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin-top:4px}
.fpFotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.fpAviso{margin:0;padding:12px 14px;border-radius:14px;background:var(--marca-suave);font-size:.9375rem;line-height:1.45}
.fpCobro{margin:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--tinta) 12%,transparent);border-radius:16px;display:grid;gap:6px}
.fpCobro legend{font-weight:800;padding:0 6px}
.fpCobro .muted{margin:0;color:var(--tinta-2);font-size:.875rem}
.fpRadio{display:flex;gap:10px;align-items:center;min-height:48px;font-size:.9375rem;cursor:pointer}
.fpRadio input{width:20px;height:20px;flex:none;accent-color:var(--noche)}
.fpPct{display:flex;gap:12px;align-items:center;font-weight:700;font-size:.9375rem}
.fpPct span{display:flex;gap:6px;align-items:center;font-weight:400}
.fpPct input{width:88px;min-height:44px;padding:6px 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--tinta) 16%,transparent);font-size:1rem}
.fpRev+.fpPie{margin-top:-4px}
#reRaiz{padding-bottom:12px}
.fpPie{position:sticky;bottom:calc(88px + env(safe-area-inset-bottom));z-index:5}
@media (min-width:900px){.fpPie{bottom:16px}}

/* Casilla de una hoja (Agregar promotor › «Mandarle primero su propuesta»): toda la fila se toca, ≥ 44 px. */
.of-casilla{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid var(--linea);background:var(--tarjeta);cursor:pointer}
.of-casilla input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--noche)}
.of-casilla span{display:grid;gap:2px}
.of-casilla small{color:var(--tinta-2);font-size:.875rem;line-height:1.35}
.of-casilla:has(input:checked){border-color:var(--noche)}
.of-casilla:has(input:focus-visible){outline:3px solid var(--info);outline-offset:2px}

/* Comisión acordada: la tarjeta de pendientes (Cartera y ficha) y el antes → después de la hoja que la resuelve. */
.of-pendiente{display:flex;gap:12px;align-items:center;width:100%;min-height:56px;text-align:left;font:inherit;color:inherit;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--aviso,#c98a00) 55%,var(--linea));background:color-mix(in srgb,var(--aviso,#c98a00) 12%,var(--tarjeta))}
.of-pendiente .crece{display:grid;gap:2px}
.of-pendiente small{color:var(--tinta-2);font-size:.875rem}
.of-comparar{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.of-comparar .vidrio{display:grid;gap:2px;padding:12px;border-radius:14px;background:var(--tarjeta);border:1px solid var(--linea)}
.of-comparar .vidrio b{font-size:1.5rem}
.of-comparar .vidrio small,.of-comparar .vidrio > span{color:var(--tinta-2);font-size:.875rem;font-weight:600}
.of-comparar .vidrio.fuerte{background:var(--noche);color:var(--sobre-noche);border-color:var(--noche)}
.of-comparar .vidrio.fuerte small,.of-comparar .vidrio.fuerte > span{color:inherit;opacity:.85}
.of-flecha{font-size:1.25rem;color:var(--tinta-2)}
.of-cita{margin:0;padding:10px 12px;border-left:3px solid var(--marca);background:color-mix(in srgb,var(--marca) 8%,var(--tarjeta));border-radius:0 10px 10px 0;font-size:.9375rem}
.vis-comision label{gap:2px;align-content:center}
.vis-comision b{font-size:1.125rem}
.vis-comision small{font-size:.8125rem;font-weight:600;opacity:.85}
