/* /Componentes/AgendarPoliModal.razor.rz.scp.css */
/* SYN-29 · indicación de bloque de Coordinación: tono de aviso de la maqueta (.msg.warn) con más contraste y la hora destacada. */
.psag-ind[b-syf73cez0m]{margin:8px 0 10px;padding:10px 14px;border:1px solid var(--wa-600);border-left:6px solid var(--wa-600);border-radius:10px;
  background:var(--wa-100);color:var(--wa-700);font-size:13px;line-height:1.45}
.psag-ind-t[b-syf73cez0m]{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.psag-ind b[b-syf73cez0m]{color:#3d2a00}
.psag-ind-h[b-syf73cez0m]{font-size:15px;padding:0 4px;border-radius:6px;background:#fff;border:1px solid var(--wa-600)}
/* /Componentes/CampoHora.razor.rz.scp.css */
/* SYN-6: el campo de hora en 24 h es el input de texto de la maqueta; aquí solo los dígitos tabulares y el error. */
input.hora24[b-66fwi78jtb]{font-variant-numeric:tabular-nums}
input.hora24[aria-invalid=true][b-66fwi78jtb]{border-color:var(--er-600)}
.hora24-err[b-66fwi78jtb]{display:block;color:var(--er-700);font-size:var(--fs-2xs);margin-top:var(--s1)}
/* /Componentes/ColumnaAtlas.razor.rz.scp.css */
/* SYN-27: columna Atlas, igual a la maqueta Maqueta_Columna_Atlas_ProgramacionSemanal.html (v1.77). Tarjeta violeta = hotel,
   verde azulado = transporte; estado en etiqueta de color; cancelado tachado. La vista compacta va en una línea y sin tira de días. */
.atl[b-q7rx5cwwwe]{display:flex;flex-direction:column;gap:4px;min-width:318px;white-space:normal}
.atl-r[b-q7rx5cwwwe]{display:flex;gap:7px;align-items:flex-start;border:1px solid;border-left-width:3px;border-radius:7px;padding:4px 7px 4px 6px;min-width:0;max-width:350px}
.atl-hotel[b-q7rx5cwwwe]{background:#f3f0fb;border-color:#ddd4f1;border-left-color:#5b3fa6;color:#2f2354}
.atl-tras[b-q7rx5cwwwe]{background:#ebf6f6;border-color:#cbe6e6;border-left-color:#0f7178;color:#103f43}
.atl-ico[b-q7rx5cwwwe]{flex:none;width:18px;height:18px;margin-top:1px}
.atl-hotel .atl-ico[b-q7rx5cwwwe]{color:#5b3fa6}
.atl-tras .atl-ico[b-q7rx5cwwwe]{color:#0f7178}
.atl-ico svg[b-q7rx5cwwwe]{width:18px;height:18px;display:block}
.atl-b[b-q7rx5cwwwe]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.atl-l1[b-q7rx5cwwwe]{display:flex;align-items:center;gap:6px;min-width:0}
.atl-n[b-q7rx5cwwwe]{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.atl-est[b-q7rx5cwwwe]{margin-left:auto;flex:none;font-size:10px;font-weight:700;line-height:1;padding:3px 7px;border-radius:999px;white-space:nowrap}
.atl-est-ok[b-q7rx5cwwwe]{background:#1f9d55;color:#fff}
.atl-est-pend[b-q7rx5cwwwe]{background:#fff1c7;color:#7a5200;box-shadow:inset 0 0 0 1px #f0d27a}
.atl-est-canc[b-q7rx5cwwwe]{background:#eceff2;color:#59636e;box-shadow:inset 0 0 0 1px #d3d8de}
.atl-est-neu[b-q7rx5cwwwe]{background:#e7eef7;color:#1f4f80}
.atl-l2[b-q7rx5cwwwe]{display:flex;align-items:center;gap:8px;font-size:11.5px;opacity:.92;white-space:nowrap}
.atl-f[b-q7rx5cwwwe]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.atl-k[b-q7rx5cwwwe]{font-size:10px;font-weight:700;letter-spacing:.03em;opacity:.7}
.atl-fl[b-q7rx5cwwwe]{margin:0 4px;opacity:.6}
.atl-sep[b-q7rx5cwwwe]{margin:0 4px;opacity:.6}
.atl-sn[b-q7rx5cwwwe]{font-weight:600}
.atl-sem[b-q7rx5cwwwe]{flex:none;display:inline-flex;gap:1px;position:relative}
.atl-sem i[b-q7rx5cwwwe]{font-style:normal;width:11px;height:14px;font-size:8.5px;font-weight:700;line-height:14px;text-align:center;border-radius:2px;background:rgba(0,0,0,.06);color:rgba(0,0,0,.4)}
.atl-hotel .atl-sem i.on[b-q7rx5cwwwe]{background:#7a5fc2;color:#fff}
.atl-tras .atl-sem i.on[b-q7rx5cwwwe]{background:#14868e;color:#fff}
.atl-sem i.prog[b-q7rx5cwwwe]{box-shadow:0 0 0 1.5px #142233}
.atl-sem.abre[b-q7rx5cwwwe]::before,.atl-sem.sigue[b-q7rx5cwwwe]::after{content:'';position:absolute;top:3px;border:3px solid transparent}
.atl-sem.abre[b-q7rx5cwwwe]::before{left:-6px;border-right-color:currentColor;opacity:.55}
.atl-sem.sigue[b-q7rx5cwwwe]::after{right:-6px;border-left-color:currentColor;opacity:.55}
.atl-canc[b-q7rx5cwwwe]{opacity:.72}
.atl-canc .atl-n[b-q7rx5cwwwe],.atl-canc .atl-f[b-q7rx5cwwwe]{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.35)}
.atl-err[b-q7rx5cwwwe]{display:inline-block;font-size:11.5px;font-weight:600;color:#8a4b00;background:#fff4e0;border:1px dashed #e0a64a;border-radius:6px;padding:2px 8px}

/* Vista compacta: una línea por reserva. */
.atl-compacta[b-q7rx5cwwwe]{gap:2px;min-width:372px}
.atl-compacta .atl-r[b-q7rx5cwwwe]{padding:2px 6px 2px 5px;gap:5px;align-items:center;max-width:390px}
.atl-compacta .atl-ico[b-q7rx5cwwwe],.atl-compacta .atl-ico svg[b-q7rx5cwwwe]{width:15px;height:15px;margin:0}
.atl-compacta .atl-b[b-q7rx5cwwwe]{flex-direction:row;align-items:center;gap:8px}
.atl-compacta .atl-l1[b-q7rx5cwwwe]{display:contents}
.atl-compacta .atl-n[b-q7rx5cwwwe]{font-size:11.5px;max-width:118px;flex:none;order:1}
.atl-compacta .atl-l2[b-q7rx5cwwwe]{order:2;font-size:11px;flex:1;min-width:0}
.atl-compacta .atl-est[b-q7rx5cwwwe]{order:3;font-size:9.5px;padding:2px 6px}
.atl-compacta .atl-sem[b-q7rx5cwwwe]{display:none}
/* /Componentes/DisenoPrincipal.razor.rz.scp.css */
/* SYN-17 · botón superior del menú con el isotipo Bradford Hill (máscara: el símbolo toma el color, sin deformarse).
   El despliegue por hover (.menu-peek) ya viene en maqueta.css v1.75; aquí solo va lo que la maqueta no trae. */
.btn-menu.btn-logo[b-76wk7dgip6]{width:36px;height:36px;padding:4px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease}
.btn-menu.btn-logo:hover[b-76wk7dgip6]{transform:scale(1.04)}
.btn-menu.btn-logo:active[b-76wk7dgip6]{transform:scale(.97)}
.btn-logo .isotipo[b-76wk7dgip6]{display:block;width:100%;height:100%;background:var(--s72-azul);
  -webkit-mask:url(/img/isotipo_bh_mascara.png) center/contain no-repeat;mask:url(/img/isotipo_bh_mascara.png) center/contain no-repeat;
  transition:background-color .15s ease}
.btn-menu.btn-logo:hover .isotipo[b-76wk7dgip6]{background:var(--s72-azul-osc)}
/* SYN-28 · el menú queda anclado a la altura de la pantalla mientras se desplaza el contenido; si sus opciones no caben,
   se desplaza por dentro sin mover la página. También en el despliegue flotante (.menu-peek), que la maqueta deja en relative. */
.app > .sidebar[b-76wk7dgip6],.app.menu-peek > .sidebar[b-76wk7dgip6]{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
@media (prefers-reduced-motion:reduce){
  .btn-menu.btn-logo[b-76wk7dgip6],.btn-logo .isotipo[b-76wk7dgip6]{transition:none}
  .btn-menu.btn-logo:hover[b-76wk7dgip6],.btn-menu.btn-logo:active[b-76wk7dgip6]{transform:none}
}
/* /Componentes/Esqueleto.razor.rz.scp.css */
/* SYN-23: grises y radios de la maqueta; la onda es sutil y se apaga con «menos movimiento». */
.skl[b-u57hovectn]{display:block;width:var(--skl-w,100%);height:var(--skl-h,14px);max-width:100%;border-radius:var(--r-sm);
  background:linear-gradient(90deg,var(--n100) 25%,var(--n150) 50%,var(--n100) 75%);background-size:400% 100%;
  animation:skl-onda-b-u57hovectn 1.4s ease-in-out infinite}
.skl.inline[b-u57hovectn]{display:inline-block;vertical-align:middle;margin-right:var(--s3)}
.skl-lineas[b-u57hovectn]{display:grid;gap:var(--s3);width:100%}
.skl-tabla[b-u57hovectn]{width:100%}
.skl-tabla td[b-u57hovectn]{padding:var(--s4) var(--s4);border-bottom:1px solid var(--n100)}
@keyframes skl-onda-b-u57hovectn{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.skl[b-u57hovectn]{animation:none;background:var(--n100)}}
/* /Componentes/FichaDemografica.razor.rz.scp.css */
/* SYN-18 (04-11-2026): .ficha-grid de la maqueta reparte columnas de 140 px mínimo y un correo largo, que no tiene espacios
   donde partirse, se salía del contenedor. La celda puede encoger y el texto se corta donde haga falta. */
.ficha-grid div[b-xsizaxkayk]{min-width:0;overflow-wrap:anywhere}
/* /Componentes/GrillaDiaAgenda.razor.rz.scp.css */
/* SYN-2 (03-11-2026): el bloque elegido para reservar se destaca con el mismo lenguaje que el día elegido del calendario (.dia.sel):
   contorno fuerte de la marca y marca de verificación. Se distingue de disponible (verde), ocupado (rojo), bloqueado (rayado) y en proceso (lila),
   que conservan su fondo. La maqueta no trae esta clase: va aislada y solo con sus variables. */
.cupo-b.sel[b-xzybvnvddr] {
    position: relative;
    z-index: 1;
    outline: 3px solid var(--br-900);
    outline-offset: -1px;
    box-shadow: 0 0 0 3px var(--br-100);
}

.cupo-b.sel .cb-h[b-xzybvnvddr] {
    font-weight: 700;
    color: var(--br-900);
}

.cb-sel[b-xzybvnvddr] {
    display: inline-block;
    margin-left: var(--s2);
    font-size: var(--fs-xs);
    font-weight: 700;
    color: var(--br-900);
}
/* /Componentes/PantallaCarga.razor.rz.scp.css */
/* SYN-16 · Splash Bradford Hill: CSS de splash_bradford_hill.html (Gerardo, 03-11-2026) tal cual, con tres adaptaciones:
   las variables viven en .splash (no en :root), las máscaras salen de wwwroot/img y se agrega la barra indeterminada
   (.indeterminada) para cuando no hay porcentaje verificable. Los colores son los del archivo (azul institucional del logo). */
.splash[b-z4enlvll9l]{
  --bh-azul:#0066B1;          /* azul institucional del logo */
  --bh-azul-claro:#1b82cf;
  --bh-azul-prof:#003f74;
  --blanco:#ffffff;
  --tinta-suave:rgba(255,255,255,.72);
  --tinta-tenue:rgba(255,255,255,.22);
  --dur-fade:.7s;
  --simbolo:min(34vmin,168px);
  position:fixed;inset:0;z-index:10000;
  display:grid;place-items:center;
  color:var(--blanco);
  font-family:"Avenir Next","Avenir","Segoe UI","Helvetica Neue",Arial,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(120vmax 90vmax at 50% 42%, var(--bh-azul-claro) 0%, var(--bh-azul) 34%, #00548f 62%, var(--bh-azul-prof) 100%);
  transition:opacity var(--dur-fade) ease, transform var(--dur-fade) ease, filter var(--dur-fade) ease;
}
.splash *[b-z4enlvll9l]{box-sizing:border-box;margin:0;padding:0}
/* halo lento que respira detrás del símbolo */
.splash[b-z4enlvll9l]::before{
  content:"";position:absolute;left:50%;top:42%;
  width:120vmin;height:120vmin;translate:-50% -50%;
  background:radial-gradient(closest-side, rgba(255,255,255,.14), rgba(255,255,255,0) 70%);
  animation:bh-respira-b-z4enlvll9l 6s ease-in-out infinite;
  pointer-events:none;
}
/* textura de líneas finas, en eco de los trazos del símbolo */
.splash[b-z4enlvll9l]::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;
  background:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 14px);
  -webkit-mask-image:radial-gradient(60vmin 60vmin at 50% 42%,#000,transparent 75%);
          mask-image:radial-gradient(60vmin 60vmin at 50% 42%,#000,transparent 75%);
}
.splash.sale[b-z4enlvll9l]{opacity:0;transform:scale(1.04);filter:blur(4px);pointer-events:none}

.centro[b-z4enlvll9l]{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(18px,4.2vmin,34px);
  padding:24px;
  translate:0 -3vmin;
}

/* ───────── símbolo ───────── */
.simbolo[b-z4enlvll9l]{position:relative;width:var(--simbolo);aspect-ratio:300/298;animation:bh-entra-b-z4enlvll9l .9s .1s cubic-bezier(.2,.8,.2,1) both}
.simbolo .capa[b-z4enlvll9l]{
  position:absolute;inset:0;
  background:var(--blanco);
  -webkit-mask:url(/img/isotipo_bh_mascara.png) center/contain no-repeat;
          mask:url(/img/isotipo_bh_mascara.png) center/contain no-repeat;
}
.simbolo .base[b-z4enlvll9l]{opacity:.2}
/* el logo se «llena» de abajo hacia arriba con el progreso */
.simbolo .lleno[b-z4enlvll9l]{clip-path:inset(calc(100% - var(--p,0%)) 0 0 0)}
.manual .simbolo .lleno[b-z4enlvll9l]{transition:clip-path .35s ease}
/* brillo que recorre el símbolo */
.simbolo .brillo[b-z4enlvll9l]{
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.95) 50%,transparent 65%) 0 0/250% 100% no-repeat;
  animation:bh-brillo-b-z4enlvll9l 2.6s 1s ease-in-out infinite;opacity:.55;mix-blend-mode:screen;
}
/* ondas concéntricas desde el centro, como los círculos del logo */
.ondas[b-z4enlvll9l]{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.ondas i[b-z4enlvll9l]{
  position:absolute;left:0;top:0;width:calc(var(--simbolo)*.38);aspect-ratio:1;translate:-50% -50%;
  border:2px solid rgba(255,255,255,.55);border-radius:50%;opacity:0;
  animation:bh-onda-b-z4enlvll9l 3s cubic-bezier(.2,.6,.3,1) infinite;
}
.ondas i:nth-child(2)[b-z4enlvll9l]{animation-delay:1s}
.ondas i:nth-child(3)[b-z4enlvll9l]{animation-delay:2s}
.listo .simbolo[b-z4enlvll9l]{animation:bh-latido-b-z4enlvll9l .7s ease-out}
.listo .ondas i[b-z4enlvll9l]{animation:none;opacity:0}

/* ───────── nombre ───────── */
.nombre[b-z4enlvll9l]{
  width:min(78vw,430px);aspect-ratio:900/159;
  background:var(--blanco);
  -webkit-mask:url(/img/nombre_bh_mascara.png) center/contain no-repeat;
          mask:url(/img/nombre_bh_mascara.png) center/contain no-repeat;
  opacity:0;animation:bh-sube-b-z4enlvll9l .9s .45s cubic-bezier(.2,.8,.2,1) forwards;
}

/* ───────── carga ───────── */
.carga[b-z4enlvll9l]{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:clamp(6px,2vmin,14px);opacity:0;animation:bh-sube-b-z4enlvll9l .8s .75s ease forwards}
.barra[b-z4enlvll9l]{width:min(64vw,240px);height:3px;border-radius:3px;background:var(--tinta-tenue);overflow:hidden;position:relative}
.barra b[b-z4enlvll9l]{position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--blanco);border-radius:3px;
  box-shadow:0 0 10px rgba(255,255,255,.7)}
.manual .barra b[b-z4enlvll9l]{transition:width .35s ease}
.barra b[b-z4enlvll9l]::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,102,177,.35),transparent);
  animation:bh-corre-b-z4enlvll9l 1.2s linear infinite}
/* sin porcentaje verificable: la barra va y viene (indicador indeterminado) y no se muestra el % */
.barra.indeterminada b[b-z4enlvll9l]{width:38%;animation:bh-vaiven-b-z4enlvll9l 1.4s ease-in-out infinite alternate;transition:none}
.estado[b-z4enlvll9l]{
  display:flex;align-items:baseline;gap:10px;min-height:1.4em;
  font-size:clamp(13px,1.7vmin,15px);letter-spacing:.02em;color:var(--tinta-suave);
}
.estado .txt[b-z4enlvll9l]{transition:opacity .25s ease}
.estado .txt.cambia[b-z4enlvll9l]{opacity:0}
.puntos i[b-z4enlvll9l]{display:inline-block;width:3px;height:3px;margin-left:3px;border-radius:50%;background:currentColor;animation:bh-punto-b-z4enlvll9l 1.2s ease-in-out infinite}
.puntos i:nth-child(2)[b-z4enlvll9l]{animation-delay:.15s}.puntos i:nth-child(3)[b-z4enlvll9l]{animation-delay:.3s}
.pct[b-z4enlvll9l]{font-variant-numeric:tabular-nums;font-size:.86em;opacity:.7;min-width:3.2ch;text-align:right}
.listo .puntos[b-z4enlvll9l]{display:none}

/* ───────── animaciones ───────── */
@keyframes bh-entra-b-z4enlvll9l{from{opacity:0;transform:scale(.86) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes bh-sube-b-z4enlvll9l{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes bh-respira-b-z4enlvll9l{0%,100%{opacity:.7;scale:1}50%{opacity:1;scale:1.06}}
@keyframes bh-onda-b-z4enlvll9l{0%{opacity:0;scale:.6}15%{opacity:.7}100%{opacity:0;scale:3.4}}
@keyframes bh-brillo-b-z4enlvll9l{0%{background-position:120% 0}55%,100%{background-position:-60% 0}}
@keyframes bh-corre-b-z4enlvll9l{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes bh-vaiven-b-z4enlvll9l{from{left:0}to{left:62%}}
@keyframes bh-punto-b-z4enlvll9l{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes bh-latido-b-z4enlvll9l{0%{transform:scale(1)}35%{transform:scale(1.07)}100%{transform:scale(1)}}

@media (prefers-reduced-motion:reduce){
  .splash[b-z4enlvll9l]::before,.simbolo .brillo[b-z4enlvll9l],.ondas[b-z4enlvll9l],.barra b[b-z4enlvll9l]::after{animation:none;display:none}
  .simbolo[b-z4enlvll9l],.nombre[b-z4enlvll9l],.carga[b-z4enlvll9l]{animation:none;opacity:1}
  .listo .simbolo[b-z4enlvll9l]{animation:none}
  .barra.indeterminada b[b-z4enlvll9l]{animation:none;left:0;width:100%;opacity:.5}
  .puntos i[b-z4enlvll9l]{animation:none;opacity:.6}
  .splash.sale[b-z4enlvll9l]{transform:none;filter:none}
}
/* /Componentes/PlanBH.razor.rz.scp.css */
/* CSS aislado de Procedimientos Internos BH: lo que la maqueta no trae. Solo variables de la paleta de la maqueta. */

/* SYN-31 (05-11-2026) · la tarjeta reparte su ancho entre el texto y los controles sin que uno pise al otro: el nombre del procedimiento
   salta de línea cuando hace falta (también en palabras largas) y el grupo de controles, con el selector de día ya compacto, no se encoge. */
.pbh-txt b[b-22qpzbhmr0] { overflow-wrap: anywhere; }
.pbh-ctl[b-22qpzbhmr0] { flex: none; }
/* /Componentes/SelectorBuscable.razor.rz.scp.css */
/* SYN-8: lo que la maqueta resuelve con JS en su selector buscable. Clases .buscable/.bs-* vienen de maqueta.css. */
.sb[b-een18xqw7c]{min-width:0}
.sb .bs-input[b-een18xqw7c]{padding-right:var(--s8);text-overflow:ellipsis}
.sb .bs-input[b-een18xqw7c]::placeholder{color:var(--n500)}
.sb-off .bs-input[b-een18xqw7c]{cursor:not-allowed}
.sb-x[b-een18xqw7c]{position:absolute;right:var(--s2);top:50%;transform:translateY(-50%);padding:var(--s1) var(--s2);border-radius:var(--r-sm)}
.sb-x:hover[b-een18xqw7c]{background:var(--n100);color:var(--n800)}
/* La lista se posiciona respecto de la ventana (o del ancestro transformado, como .modal) y por eso no la recorta
   el overflow de #modal-b ni de .drawer .scroll. */
.sb-lista[b-een18xqw7c]{position:fixed;top:var(--sb-top);left:var(--sb-left);width:var(--sb-ancho);right:auto;bottom:auto;min-width:160px;z-index:70}
.sb-lista.arriba[b-een18xqw7c]{top:auto;bottom:var(--sb-bottom)}
/* SYN-19: en la capa superior el navegador trae margin:auto, inset:0, padding y colores propios; mandan los de la maqueta. */
.sb-lista[popover][b-een18xqw7c]{margin:0;height:auto;padding:0;color:inherit;overflow-y:auto}
/* Sin medida (JS caído) la lista cuelga del campo, como el .bs-lista original de la maqueta. */
.sb-lista.sb-local[b-een18xqw7c]{position:absolute;top:100%;left:0;right:0;bottom:auto;width:auto}
.sb-lista .bs-op[b-een18xqw7c]{cursor:pointer;display:flex;gap:var(--s3);align-items:baseline;font:inherit;font-size:var(--fs-xs);color:var(--n800)}
.sb-lista .bs-op .nom[b-een18xqw7c]{color:var(--n800);white-space:normal;overflow-wrap:anywhere}
.sb-lista .bs-op.act[b-een18xqw7c]{background:var(--br-50);outline:none}
.sb-lista .bs-op.sel[b-een18xqw7c]{font-weight:600}
.sb-lista .bs-op.sel[b-een18xqw7c]::after{content:"✓";margin-left:auto;color:var(--br-700);font-size:var(--fs-2xs)}
.sb-lista .bs-op.off[b-een18xqw7c]{color:var(--n500);cursor:not-allowed;background:var(--n50)}
.sb-lista .bs-op.off .nom[b-een18xqw7c]{color:var(--n500)}
.sb-lista .bs-op .hint[b-een18xqw7c]{font-size:var(--fs-2xs)}
/* SYN-34: detalle de la opción (título del protocolo) atenuado y en una línea; cede el espacio al nombre. */
.sb-lista .bs-op .det[b-een18xqw7c]{flex:1 1 auto;min-width:0;color:var(--n500);font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-lista .bs-op.sel .det[b-een18xqw7c]{font-weight:400}
/* SYN-34 (rechazo): una línea por opción, sin saltos; el texto largo se corta con puntos suspensivos. */
.sb-lista.sb-una-linea .bs-op[b-een18xqw7c]{flex-wrap:nowrap}
.sb-lista.sb-una-linea .bs-op .nom[b-een18xqw7c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sb-lista .bs-vacio[b-een18xqw7c]{font-size:var(--fs-xs)}
/* Variantes para los lugares donde la maqueta dimensionaba el select por contexto. */
.sb-inline[b-een18xqw7c]{display:inline-block;width:auto;min-width:200px;vertical-align:middle}
/* Moneda del importe en Nueva prefactura: la maqueta fija el input en 92px y la columna mide 340px; 200px de ancho mínimo desbordaban. */
.pfn-msel[b-een18xqw7c]{min-width:0;width:68px}
.pfn-msel .bs-input[b-een18xqw7c]{width:68px;text-align:left;padding-right:var(--s5)}
.pg-sel[b-een18xqw7c]{min-width:84px}
.pg-sel .bs-input[b-een18xqw7c]{height:28px;min-height:28px;padding:0 var(--s6) 0 var(--s3)}
/* SYN-31 (05-11-2026): el selector de día de Procedimientos Internos BH mide lo que miden sus opciones («Sin día», «Día 1»…).
   Con los 200 px mínimos de .sb-inline desbordaba su grupo de controles hacia la izquierda y tapaba el nombre del procedimiento. */
.pbh-dsel[b-een18xqw7c]{min-width:0;width:84px;max-width:none;height:auto;padding:0;flex:none}
.pbh-dsel .bs-input[b-een18xqw7c]{width:84px;height:24px;min-height:24px;font-size:11.5px;padding:0 var(--s5) 0 var(--s2)}
/* SYN-34: selector de protocolo en Coordinación, a la altura (30px) de los botones de estudio que reemplaza. */
.co-est-sel[b-een18xqw7c]{display:inline-block;width:min(380px,100%);min-width:220px;vertical-align:middle}
.co-est-sel .bs-input[b-een18xqw7c]{height:30px;min-height:30px;font-weight:600;color:var(--v-tinta)}
/* /Componentes/Toast.razor.rz.scp.css */
/* SYN-4: la confirmación flota sobre la página y no empuja contenido. Misma posición que el #aviso flotante de la maqueta (arriba, centrado). */
.toast-capa[b-jfqr31jnr1]{position:fixed;top:var(--s5);left:50%;transform:translateX(-50%);z-index:45;width:min(760px,92vw);pointer-events:none}
.toast-capa .toast-msg[b-jfqr31jnr1]{pointer-events:auto;position:relative;margin:0;padding-right:var(--s10);box-shadow:0 6px 24px rgba(13,42,68,.10)}
.toast-capa .toast-x[b-jfqr31jnr1]{position:absolute;top:var(--s3);right:var(--s3);border:0;background:transparent;color:var(--n600);font-size:var(--fs-lg);line-height:1;padding:var(--s1) var(--s3);border-radius:var(--r-sm)}
.toast-capa .toast-x:hover[b-jfqr31jnr1]{background:var(--n100);color:var(--n900)}
@media (prefers-reduced-motion:no-preference){
  .toast-capa .toast-msg[b-jfqr31jnr1]{animation:toast-in-b-jfqr31jnr1 .18s ease-out}
}
@keyframes toast-in-b-jfqr31jnr1{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* /Paginas/AreaMedica.razor.rz.scp.css */
/* SYN-12 (03-11-2026): distintivos como etiquetas en su propia línea bajo el nombre. La maqueta trae .dist-linea y .badge-dist
   para las tarjetas de Sillones (9 px); en Área médica se suben al tamaño secundario de la tarjeta para que se lean al recorrer la lista.
   Solo variables de la maqueta; sin colores nuevos. */
.am-dist-linea[b-9b5ybfid3s] {
    margin-top: 2px;
    gap: var(--s2);
}

.am-dist-linea .badge-dist[b-9b5ybfid3s] {
    font-size: var(--fs-2xs);
    line-height: 1.6;
    padding: 0 var(--s3);
    letter-spacing: .04em;
}

/* SYN-20 (04-11-2026): el teléfono va en la línea demográfica; no se parte en dos líneas y, cuando falta, se lee como aviso. */
.am-tel[b-9b5ybfid3s] {
    white-space: nowrap;
}

.am-tel-sin[b-9b5ybfid3s] {
    color: var(--n500);
    font-style: italic;
}
/* /Paginas/Coordinacion.razor.rz.scp.css */
/* SYN-18 (04-11-2026): .ficha-grid de la maqueta reparte columnas de 140 px mínimo y un correo largo, que no tiene espacios
   donde partirse, se salía del contenedor. La celda puede encoger y el texto se corta donde haga falta. */
.ficha-grid div[b-8wfmqgej9y]{min-width:0;overflow-wrap:anywhere}

/* SYN-37 (06-11-2026): acordeones por rama en «Visitas del paciente». */
.co-grupo[b-8wfmqgej9y]{border:1px solid var(--v-linea);border-radius:10px;background:#fff;margin-bottom:8px}
.co-grupo-hist[b-8wfmqgej9y]{background:#fafbfc}
.co-grupo-t[b-8wfmqgej9y]{width:100%;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;background:none;border:0;padding:10px 12px;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:10px}
.co-grupo-t:hover[b-8wfmqgej9y]{background:#f4f7fa}
.co-grupo-t:focus-visible[b-8wfmqgej9y]{outline:none;box-shadow:var(--v-anillo)}
.co-grupo-chev[b-8wfmqgej9y]{flex:none;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #7a8798;transition:transform .15s}
.co-grupo.abierto>.co-grupo-t .co-grupo-chev[b-8wfmqgej9y]{transform:rotate(90deg)}
.co-grupo-n[b-8wfmqgej9y]{font-size:14px;color:var(--v-tinta)}
.co-chip-actual[b-8wfmqgej9y]{background:var(--br-50);border-color:var(--br-200);color:var(--br-800);font-weight:600}
.co-grupo-cnt[b-8wfmqgej9y]{font-size:12px;color:#4c5b6d;white-space:nowrap}
.co-grupo-h[b-8wfmqgej9y]{font-size:12px}
.co-grupo>.co-ruta[b-8wfmqgej9y]{padding:0 10px 10px}
.co-grupo-hist>.co-ruta .co-vis[b-8wfmqgej9y]{background:#fff}

/* SYN-43 (06-11-2026): bitácora de comentarios por visita. */
.co-vd74[b-8wfmqgej9y]  .sec74-bit{border-left:3px solid #8a6d3b}
.co-bit-nuevo[b-8wfmqgej9y]{display:flex;gap:8px;align-items:flex-end;margin-bottom:8px}
.co-bit-nuevo .co-bit-ta[b-8wfmqgej9y]{flex:1;min-height:40px;resize:vertical}
.co-bit-lista[b-8wfmqgej9y]{margin:0;padding:0;list-style:none}
.co-bit-lista li[b-8wfmqgej9y]{padding:6px 0;border-top:1px solid var(--v-linea)}
.co-bit-lista li:first-child[b-8wfmqgej9y]{border-top:0}
.co-bit-txt[b-8wfmqgej9y]{white-space:pre-wrap;overflow-wrap:anywhere}
.co-bit-cnt[b-8wfmqgej9y]{color:#8a6d3b;font-weight:600}
/* /Paginas/Pacientes.razor.rz.scp.css */
/* SYN-18 (04-11-2026): .ficha-grid de la maqueta reparte columnas de 140 px mínimo y un correo largo, que no tiene espacios
   donde partirse, se salía del contenedor. La celda puede encoger y el texto se corta donde haga falta. */
.ficha-grid div[b-kzp1b1gny0]{min-width:0;overflow-wrap:anywhere}
/* /Paginas/ProgramacionSemanal.razor.rz.scp.css */
/* CSS aislado de Programación Semanal: lo que la maqueta resuelve con JavaScript (ajustarAltoGrillaPS, posicionarPopPS) o que las cards
   SYN-9, SYN-11 y SYN-15 piden y la maqueta no trae. Solo variables de la paleta de la maqueta. */

/* SYN-11 · la grilla ocupa el alto disponible de la ventana: el encabezado queda fijo y las filas se desplazan dentro del contenedor.
   --ps-alto la mide programacion.js (alto de la ventana menos lo que hay encima y la paginación); sin medir, rige el cálculo con el viewport. */
.ps-grid-w[b-lxn9nhqyj6] { position: relative; max-height: var(--ps-alto, calc(100vh - 320px)); min-height: 0; }
.ps-body[b-lxn9nhqyj6] { min-width: 0; }

/* SYN-9 · el control de columnas se identifica por su texto, no solo por el ícono (decisión de la card sobre la maqueta, que lo iconiza). */
.ps-cols-b[b-lxn9nhqyj6] { display: inline-flex; align-items: center; gap: 5px; }
.ps-cols-b .ico-acc[b-lxn9nhqyj6] { width: 15px; height: 15px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ps-cols-b.on[b-lxn9nhqyj6] { background: var(--br-100); border-color: var(--br-500); color: var(--br-800); }
.ps-cols-b .pw-cnt[b-lxn9nhqyj6] { margin-left: 2px; }
.ps-pop-cols .ps-pop-ayuda[b-lxn9nhqyj6] { margin: 0 0 var(--s3); font-size: 11.5px; color: var(--sy-texto-sec); }
.ps-cols-l li .ps-grip[b-lxn9nhqyj6] { cursor: default; }

/* SYN-15 · reordenar columnas desde el asa ⋮⋮: un clic en el encabezado no arrastra. */
.ps-grid thead th[b-lxn9nhqyj6] { cursor: default; }
.ps-grip[b-lxn9nhqyj6] { cursor: grab; touch-action: none; user-select: none; padding: 0 3px; margin-left: -3px; border-radius: 4px; color: var(--sy-texto-ter); }
.ps-grip:hover[b-lxn9nhqyj6] { background: var(--br-100); color: var(--br-700); }
.ps-grid-w.ps-arrastrando[b-lxn9nhqyj6], .ps-grid-w.ps-arrastrando .ps-grip[b-lxn9nhqyj6] { cursor: grabbing; user-select: none; }
.ps-grid-w.ps-arrastrando .ps-fila[b-lxn9nhqyj6] { pointer-events: none; }
/* las vecinas se deslizan para abrir el espacio; la arrastrada acompaña al puntero y se acomoda al soltar */
.ps-grid .ps-col-mov[b-lxn9nhqyj6] { transition: transform 180ms ease; }
.ps-grid .ps-col-arr[b-lxn9nhqyj6] { transition: none; position: relative; z-index: 4; background: var(--sy-azul-claro) !important; color: var(--br-900);
  box-shadow: inset 0 0 0 1px var(--sy-azul), var(--sy-sombra-card); }
.ps-grid thead th.ps-col-arr[b-lxn9nhqyj6] { z-index: 6; }
.ps-grid .ps-col-arr.ps-col-fin[b-lxn9nhqyj6] { transition: transform 180ms ease; }
/* indicador del lugar de destino, sobre el borde donde quedará la columna */
.ps-grid-w[b-lxn9nhqyj6]  .ps-drop-ind { position: absolute; left: 0; top: 0; width: 3px; height: 0; border-radius: 2px; background: var(--sy-azul); opacity: 0;
  pointer-events: none; z-index: 7; transition: left 120ms ease, opacity 120ms ease; }
.ps-grid-w[b-lxn9nhqyj6]  .ps-drop-ind.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .ps-grid .ps-col-mov[b-lxn9nhqyj6], .ps-grid .ps-col-arr.ps-col-fin[b-lxn9nhqyj6], .ps-grid-w[b-lxn9nhqyj6]  .ps-drop-ind { transition: none; }
}

/* SYN-30 (05-11-2026) · el distintivo «Visita modificada: C1D1 → UNS» de la columna Ciclo / Día ocupa el ancho de su celda y nunca más:
   en Compacta se recorta con puntos suspensivos (el texto completo va en el title) y en Cómoda salta de línea. Como bloque, su ancho es
   el de la celda, así que no invade la columna vecina aunque la columna quede angosta. */
.ps-grid td.ps-c-visita .rv-cambio[b-lxn9nhqyj6] { display: block; max-width: 240px; margin-right: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-dens-comoda .ps-grid td.ps-c-visita .rv-cambio[b-lxn9nhqyj6] { white-space: normal; overflow-wrap: anywhere; }

/* Vista Mes: maqueta.css define un .fuera genérico para el Timeline de Sillones (position:absolute, franja rayada) que
   alcanza a los días de otro mes del calendario (.ps-mes-d.fuera) y los apila como una franja a la izquierda. Aquí vuelven
   a ser celdas normales; la maqueta solo les baja la opacidad. */
.ps-mes-d.fuera[b-lxn9nhqyj6]{position:static;top:auto;bottom:auto;background-image:none;z-index:auto}
/* /Paginas/Protocolos.razor.rz.scp.css */
/* SYN-35 (05-11-2026): «Nueva visita» con copia de prestaciones. */
.vi-modo[b-fhy5nrus7v]{margin-bottom:var(--s5)}
.vi-origen[b-fhy5nrus7v]{margin-top:var(--s5)}
.vi-lineas-cab[b-fhy5nrus7v]{margin-top:var(--s5)}
.vi-lineas[b-fhy5nrus7v]{margin-top:var(--s3);width:100%}
.vi-lineas td[b-fhy5nrus7v]{vertical-align:middle}
.vi-lineas .vi-cant[b-fhy5nrus7v]{width:72px}
.vi-lineas .vi-val[b-fhy5nrus7v]{width:120px}
.vi-elija[b-fhy5nrus7v]{margin-top:var(--s5)}
.vi-lineas td:nth-child(4)[b-fhy5nrus7v]{width:140px}

/* SYN-36 (06-11-2026): Valorización en acordeones rama → visitas → prestaciones. */
.vz-bar[b-fhy5nrus7v]{margin-bottom:var(--s4)}
.vz-rama[b-fhy5nrus7v]{background:#fff;border:1px solid var(--sy-borde);border-radius:var(--sy-r-sm);margin-bottom:var(--s4)}
.vz-rama.inactiva .vz-nombre[b-fhy5nrus7v]{color:var(--sy-texto-sec)}
.vz-cab[b-fhy5nrus7v]{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:var(--s3) var(--s6);align-items:center;padding:var(--s4) var(--s5)}
.vz-tog[b-fhy5nrus7v]{display:flex;align-items:center;gap:var(--s3);min-width:0;background:none;border:0;padding:var(--s2) 0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:6px}
.vz-tog:focus-visible[b-fhy5nrus7v]{box-shadow:var(--v-anillo);outline:0}
.vz-chev[b-fhy5nrus7v]{flex:none;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--sy-texto-ter);transition:transform .15s}
.abierta>.vz-cab .vz-chev[b-fhy5nrus7v],.vz-vis.abierta>.vz-tog .vz-chev[b-fhy5nrus7v]{transform:rotate(90deg)}
.vz-nombre[b-fhy5nrus7v]{font-weight:700;color:var(--sy-texto);font-size:var(--fs-md)}
.vz-cnt[b-fhy5nrus7v]{color:var(--sy-texto-sec);font-size:var(--fs-xs);white-space:nowrap}
.vz-dato[b-fhy5nrus7v]{display:grid;gap:2px;justify-items:end;text-align:right}
.vz-dato .pw-kl[b-fhy5nrus7v]{margin:0}
.vz-valor[b-fhy5nrus7v]{font-size:18px}
.vz-dato .hint[b-fhy5nrus7v]{font-size:var(--fs-2xs)}
.vz-acc[b-fhy5nrus7v]{display:flex;gap:var(--s2);white-space:nowrap}
.vz-cuerpo[b-fhy5nrus7v]{border-top:1px solid var(--sy-borde);padding:var(--s3) var(--s5) var(--s4)}
.vz-vis[b-fhy5nrus7v]{border-bottom:1px solid var(--sy-borde)}
.vz-vis:last-child[b-fhy5nrus7v]{border-bottom:0}
.vz-vis-tog[b-fhy5nrus7v]{width:100%;padding:var(--s3) 0}
.vz-vcod[b-fhy5nrus7v]{font-weight:600;color:var(--sy-texto)}
.vz-vnom[b-fhy5nrus7v]{color:var(--sy-texto-sec);font-size:var(--fs-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vz-vsuma[b-fhy5nrus7v]{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--sy-texto)}
.vz-sinv[b-fhy5nrus7v]{font-size:var(--fs-2xs);white-space:nowrap}
.vz-vis-cuerpo[b-fhy5nrus7v]{padding:0 0 var(--s4) var(--s6)}
.vz-tbl[b-fhy5nrus7v]{width:100%}
@media (max-width:1100px){.vz-cab[b-fhy5nrus7v]{grid-template-columns:minmax(0,1fr) auto}.vz-acc[b-fhy5nrus7v]{grid-column:1/-1;justify-content:flex-end}}
/* /Paginas/Recorrido.razor.rz.scp.css */
/* SYN-44 · Recorrido del Paciente. CSS aislado del monitor: tramos, línea, puntos, rótulos y detalle, con los colores de la
   maqueta de Gerardo (09-11-2026). Los filtros y la tarjeta usan las clases de maqueta.css como el resto de Syntrial. */
.rc-wrap[b-lh29to0hqk] {
  --k-orig: #6f86a0; --k-poli: #1a6aa8; --k-bh: #12a0ad; --k-sill: #7d62c4; --k-res: #3f9c5a; --k-anul: #e0674c; --k-pend: #b8c2cc;
  --ahora: #e0674c;
  --rc-id: 272px; --rc-fila: 66px; --rc-y: 33px;
  --rc-texto: #1e2a35; --rc-sec: #52606d; --rc-ter: #8b98a5; --rc-cua: #b3bdc7; --rc-linea: #e6eaef; --rc-suave: #f0f3f6; --rc-borde: #cfd8e2;
  --rc-azul: #1a6aa8; --rc-azul-osc: #0f4c7d; --rc-azul-100: #e8f1f9; --rc-azul-50: #f3f8fc;
}
.rc-pill[b-lh29to0hqk] { font-weight: 600; background: var(--rc-suave); border-radius: 999px; padding: 3px 10px; white-space: nowrap; align-self: center; }
.rc-ir[b-lh29to0hqk] { display: inline-flex; gap: 2px; align-items: center; font-size: 11.5px; color: var(--rc-ter); }
.rc-ir button[b-lh29to0hqk] { border: 0; background: transparent; padding: 1px 6px; border-radius: 5px; font-size: 11.5px; color: var(--rc-azul-osc); font-weight: 600; cursor: pointer; }
.rc-ir button:hover[b-lh29to0hqk] { background: var(--rc-azul-50); }
.rc-ley[b-lh29to0hqk] { display: flex; gap: 12px; flex-wrap: wrap; color: var(--rc-ter); font-size: 11.5px; align-items: center; }
.rc-ley span[b-lh29to0hqk] { display: inline-flex; align-items: center; gap: 5px; }
.rc-ley i[b-lh29to0hqk] { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.rc-ley i.p[b-lh29to0hqk] { background: #fff; border: 1.5px solid var(--k-pend); }

/* monitor */
.rc-marco[b-lh29to0hqk] { height: calc(100vh - 290px); min-height: 380px; display: flex; margin: 0; border-top: 1px solid var(--rc-linea); }
.rc-tab[b-lh29to0hqk] { flex: 1; overflow: auto; position: relative; overscroll-behavior: contain; font-size: 13px; color: var(--rc-texto); }
.rc-lienzo[b-lh29to0hqk] { position: relative; width: calc(var(--rc-id) + var(--w)); min-height: 100%; }
/* fondo común: tramos y horas (uno solo para todas las filas) */
.rc-fondo[b-lh29to0hqk] { position: absolute; top: 0; bottom: 0; left: var(--rc-id); width: var(--w); pointer-events: none; }
.rc-banda[b-lh29to0hqk] { position: absolute; top: 0; bottom: 0; left: var(--x); width: var(--w); }
.rc-banda.ori[b-lh29to0hqk] { background: #f7f9fb; }
.rc-banda.par[b-lh29to0hqk] { background: #fcfdfe; }
.rc-banda.sel[b-lh29to0hqk] { background: #f6f9fd; }
.rc-hl[b-lh29to0hqk] { position: absolute; top: 0; bottom: 0; width: 0; left: var(--x); border-left: 1px solid #f0f3f6; }
.rc-lim[b-lh29to0hqk] { position: absolute; top: 0; bottom: 0; width: 0; left: var(--x); border-left: 1px solid #e1e6ec; }
.rc-bandeja[b-lh29to0hqk] { position: absolute; top: 0; bottom: 0; left: var(--x); width: var(--w); border-left: 1px dashed #e3e8ee; }
.rc-ahoraL[b-lh29to0hqk] { position: absolute; top: 0; bottom: 0; width: 0; left: var(--x); border-left: 1.5px solid var(--ahora); opacity: .85; z-index: 1; }
/* encabezados comunes, fijos al desplazar */
.rc-eje[b-lh29to0hqk] { position: sticky; top: 0; z-index: 8; display: flex; background: #fff; border-bottom: 1px solid var(--rc-linea); }
.rc-esq[b-lh29to0hqk] { position: sticky; left: 0; z-index: 9; width: var(--rc-id); flex: none; background: #fff; border-right: 1px solid var(--rc-linea); padding: 0 16px 9px; display: flex; align-items: flex-end; font-size: 11px; font-weight: 700; color: var(--rc-ter); letter-spacing: .04em; }
.rc-cab[b-lh29to0hqk] { position: relative; flex: none; height: 58px; width: var(--w); }
.rc-tramo[b-lh29to0hqk] { position: absolute; top: 0; left: var(--x); height: 30px; display: flex; align-items: center; gap: 7px; padding: 0 12px; border: 0; background: transparent; text-align: left; white-space: nowrap; font-size: 11.5px; color: var(--rc-ter); cursor: pointer; font: inherit; }
.rc-tramo b[b-lh29to0hqk] { font-size: 12px; font-weight: 750; letter-spacing: .06em; color: var(--rc-texto); }
.rc-tramo:hover b[b-lh29to0hqk] { color: var(--rc-azul); }
.rc-tramo.sel b[b-lh29to0hqk] { color: var(--rc-azul-osc); }
.rc-tramo .hoy[b-lh29to0hqk] { font-size: 10.5px; font-weight: 700; color: var(--rc-azul); background: var(--rc-azul-100); border-radius: 999px; padding: 1px 7px; }
.rc-hora[b-lh29to0hqk] { position: absolute; top: 36px; left: var(--x); font-size: 10.5px; color: var(--rc-ter); transform: translateX(-50%); font-variant-numeric: tabular-nums; }
.rc-sinh[b-lh29to0hqk] { position: absolute; top: 36px; left: var(--x); font-size: 10.5px; color: var(--rc-cua); font-style: italic; white-space: nowrap; }
.rc-sinh.recto[b-lh29to0hqk] { font-style: normal; }
.rc-ahoraT[b-lh29to0hqk] { position: absolute; top: 33px; left: var(--x); transform: translateX(-50%); font-size: 10px; font-weight: 750; letter-spacing: .05em; color: #fff; background: var(--ahora); border-radius: 4px; padding: 2px 6px; white-space: nowrap; z-index: 2; font-variant-numeric: tabular-nums; }
/* filas */
.rc-fila[b-lh29to0hqk] { display: flex; height: var(--rc-fila); border-bottom: 1px solid var(--rc-suave); position: relative; }
.rc-fila:hover .rc-id[b-lh29to0hqk] { background: #fafbfc; }
.rc-id[b-lh29to0hqk] { position: sticky; left: 0; z-index: 6; width: var(--rc-id); flex: none; background: #fff; border-right: 1px solid var(--rc-linea); padding: 8px 12px 8px 16px; display: flex; flex-direction: column; justify-content: center; }
.rc-id-n[b-lh29to0hqk] { font-weight: 620; font-size: 13px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-id-e[b-lh29to0hqk] { font-size: 11.5px; line-height: 1.3; color: var(--rc-sec); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.rc-id-e.curso[b-lh29to0hqk] { color: var(--rc-azul-osc); font-weight: 600; }
.rc-id-e.anul[b-lh29to0hqk] { color: #b8472f; }
.rc-id-e.vacio[b-lh29to0hqk] { color: var(--rc-cua); }
.rc-id-e .fe[b-lh29to0hqk] { color: var(--rc-ter); font-weight: 400; margin-left: 6px; font-size: 10.5px; }
.rc-id-p[b-lh29to0hqk] { font-size: 10.5px; color: var(--rc-cua); font-variant-numeric: tabular-nums; letter-spacing: .02em; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-pista[b-lh29to0hqk] { position: relative; flex: none; align-self: stretch; width: var(--w); }
.rc-base[b-lh29to0hqk] { position: absolute; top: calc(var(--rc-y) - .5px); left: var(--x); width: var(--w); height: 1px; background: #e9edf1; }
.rc-ln[b-lh29to0hqk] { position: absolute; top: calc(var(--rc-y) - .5px); left: var(--x); width: var(--w); height: 1px; background: #a9b6c3; }
.rc-ln.fut[b-lh29to0hqk] { background: repeating-linear-gradient(90deg, #c3ccd5 0 4px, transparent 4px 8px); }
.rc-ck[b-lh29to0hqk] { position: absolute; top: calc(var(--rc-y) - 5px); left: var(--x); width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--c); border: 0; padding: 0; box-shadow: 0 0 0 2px #fff; z-index: 2; cursor: pointer; }
.rc-ck:hover[b-lh29to0hqk], .rc-ck:focus-visible[b-lh29to0hqk] { transform: scale(1.35); }
.rc-ck.pend[b-lh29to0hqk] { background: #fff; box-shadow: inset 0 0 0 1.5px var(--k-pend), 0 0 0 2px #fff; }
.rc-ck.curso[b-lh29to0hqk] { width: 12px; height: 12px; margin-left: -6px; top: calc(var(--rc-y) - 6px); background: #fff; box-shadow: inset 0 0 0 3px var(--c), 0 0 0 3px color-mix(in srgb, var(--c) 20%, transparent); }
.rc-ck.anul[b-lh29to0hqk] { background: var(--k-anul); }
/* rótulos: el mismo estilo para los que pinta Blazor y para el span de medición que crea recorrido.js */
.rc-lb[b-lh29to0hqk], .rc-medir[b-lh29to0hqk]  .rc-lb { position: absolute; left: var(--x); white-space: nowrap; font-size: 11px; line-height: 13px; color: var(--rc-sec); border: 0; background: transparent; padding: 0; text-align: left; z-index: 2; font-family: inherit; cursor: pointer; }
.rc-lb.arr[b-lh29to0hqk] { top: calc(var(--rc-y) - 22px); }
.rc-lb.abj[b-lh29to0hqk] { top: calc(var(--rc-y) + 9px); }
.rc-lb[b-lh29to0hqk]  b, .rc-medir[b-lh29to0hqk]  b { font-weight: 600; color: var(--rc-texto); font-variant-numeric: tabular-nums; }
.rc-lb[b-lh29to0hqk]  i, .rc-medir[b-lh29to0hqk]  i { font-style: normal; color: var(--rc-ter); }
.rc-lb[b-lh29to0hqk]  i.curso, .rc-medir[b-lh29to0hqk]  i.curso { color: var(--rc-azul-osc); font-weight: 600; }
.rc-lb[b-lh29to0hqk]  i.anul, .rc-medir[b-lh29to0hqk]  i.anul { color: #b8472f; }
.rc-lb[b-lh29to0hqk]  em, .rc-medir[b-lh29to0hqk]  em { font-style: normal; color: var(--rc-ter); margin-left: 5px; font-size: 10.5px; }
.rc-lb[b-lh29to0hqk]  em.solo, .rc-medir[b-lh29to0hqk]  em.solo { margin: 0; }
.rc-lb:hover[b-lh29to0hqk]  b, .rc-lb:focus-visible[b-lh29to0hqk]  b { text-decoration: underline; text-decoration-color: var(--rc-borde); text-underline-offset: 2px; }
.rc-lb.pend[b-lh29to0hqk]  b { font-weight: 500; color: var(--rc-sec); }
.rc-medir[b-lh29to0hqk] { position: absolute; left: -9999px; top: 0; visibility: hidden; font-size: 13px; }
.rc-nada[b-lh29to0hqk] { padding: 40px; text-align: center; color: var(--rc-sec); position: sticky; left: 0; }

/* detalle */
.rc-tip[b-lh29to0hqk] { position: fixed; left: var(--tx); top: var(--ty); z-index: 50; width: 310px; background: #fff; border: 1px solid var(--rc-linea); border-radius: 10px; box-shadow: 0 10px 30px rgba(13, 42, 68, .16); padding: 12px 14px; font-size: 12px; color: var(--rc-texto); }
.rc-tip h4[b-lh29to0hqk] { margin: 0 0 2px; font-size: 13.5px; padding-right: 18px; }
.rc-tip .st[b-lh29to0hqk] { font-size: 11px; font-weight: 700; color: #1f7a4d; }
.rc-tip .st.curso[b-lh29to0hqk] { color: var(--rc-azul-osc); }
.rc-tip .st.anul[b-lh29to0hqk] { color: #b8472f; }
.rc-tip .st.pend[b-lh29to0hqk] { color: var(--rc-sec); }
.rc-tip dl[b-lh29to0hqk] { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; margin: 10px 0 0; font-variant-numeric: tabular-nums; }
.rc-tip dt[b-lh29to0hqk] { color: var(--rc-ter); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 12px; }
.rc-tip dd[b-lh29to0hqk] { margin: 0; font-weight: 550; }
.rc-tip .x[b-lh29to0hqk] { position: absolute; right: 8px; top: 6px; border: 0; background: transparent; font-size: 17px; color: var(--rc-ter); cursor: pointer; }
.rc-tip .nota[b-lh29to0hqk] { margin: 8px 0 0; font-size: 10.5px; color: var(--rc-ter); }
.rc-tip .mas[b-lh29to0hqk] { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid var(--rc-linea); font-size: 11px; font-weight: 700; color: var(--rc-sec); }
.rc-tip ul[b-lh29to0hqk] { list-style: none; margin: 8px 0 0; padding: 0; }
.rc-tip li button[b-lh29to0hqk] { width: 100%; display: grid; grid-template-columns: 12px 92px 1fr; gap: 6px; align-items: center; border: 0; background: transparent; padding: 5px 2px; text-align: left; border-top: 1px solid var(--rc-suave); font-size: 12px; font-family: inherit; cursor: pointer; }
.rc-tip li button:hover[b-lh29to0hqk] { background: var(--rc-azul-50); }
.rc-tip li i[b-lh29to0hqk] { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.rc-tip li i.p[b-lh29to0hqk] { background: #fff; box-shadow: inset 0 0 0 1.5px var(--k-pend); }
.rc-tip li span[b-lh29to0hqk] { color: var(--rc-sec); font-variant-numeric: tabular-nums; }
.rc-tip li span.t[b-lh29to0hqk] { color: var(--rc-texto); }
.rc-tip li small[b-lh29to0hqk] { display: block; color: var(--rc-ter); font-size: 10.5px; }
.rc-tip .atras[b-lh29to0hqk] { border: 0; background: transparent; color: var(--rc-azul-osc); font-size: 11.5px; padding: 0; margin-bottom: 6px; font-weight: 600; cursor: pointer; }

@media (max-width: 1100px) { .rc-wrap[b-lh29to0hqk] { --rc-id: 190px; } }
@media (prefers-reduced-motion: reduce) { .rc-tab[b-lh29to0hqk] { scroll-behavior: auto !important; } }
