/* PANEL NUEVO · compat.css — estilos SOLO de las piezas que Streamlit dibuja con BaseWeb o <canvas> (clases que cambian
   por sesión y no se pueden reutilizar): campo de fecha y calendario, lista vacía
   y barra lateral plegada. Valores medidos con getComputedStyle en la captura del catálogo 2 (referencia_catalogo2). */

/* ── campo de fecha: lleva las MISMAS clases BaseWeb que Streamlit (st-ae…, reglas de la captura del panel real).
   Con foco, BaseWeb cambia el borde al color primario: aquí se replica con :focus-within (sin cambiar las clases). ── */
.stDateInput [data-baseweb="input"]:focus-within { border-color: rgb(47, 107, 235); }

/* ── calendario (medido: 306 px, cabecera blanca 48 px, días 42x40, fondo #f5f7fb, sombra 0 4px 16px) ── */
.compat-cal-capa { position: fixed; z-index: 100000; margin-top: 0; border-radius: 8px; background-color: rgb(245, 247, 251);
  box-shadow: rgba(0, 0, 0, 0.16) 0px 4px 16px 0px; font-family: "Source Sans", sans-serif; }
.compat-cal { display: inline-block; width: 306px; border-radius: 8px; background-color: rgb(245, 247, 251); color: rgb(17, 24, 38); font-size: 14px;
  line-height: 22.4px; text-align: center; overflow: hidden; }
.compat-cal-cab { display: flex; align-items: center; justify-content: space-between; height: 48.4px; box-sizing: border-box; padding: 16px 16px 8px;
  background-color: rgb(255, 255, 255); border-radius: 8px 8px 0 0; }
.compat-cal-nav { display: flex; width: 24px; height: 24px; padding: 0; border: 0; background: transparent; color: rgb(17, 24, 38); cursor: pointer;
  align-items: center; justify-content: center; }
.compat-cal-titulo { font-size: 14px; font-weight: 400; }
.compat-cal-sem { display: block; height: 40px; background-color: rgb(255, 255, 255); white-space: nowrap; }
.compat-cal-dsem { display: inline-block; width: 42px; height: 40px; box-sizing: border-box; padding: 8px 6px; color: rgb(107, 107, 107); line-height: 32px; }
.compat-cal-mes { padding: 6px; }
.compat-cal-fila { display: flex; height: 40px; margin-bottom: 2px; }
.compat-cal-dia { position: relative; display: block; width: 42px; height: 40px; box-sizing: border-box; padding: 8px; cursor: pointer; color: rgb(17, 24, 38); }
.compat-cal-dia > div { position: relative; z-index: 1; }
.compat-cal-dia.fuera, .compat-cal-dia.bloqueado { color: rgb(163, 168, 184); cursor: default; }
.compat-cal-dia[data-fecha]:hover::after { content: ""; position: absolute; inset: 2px 3px; border: 2px solid rgb(47, 107, 235); border-radius: 100%; }
.compat-cal-dia.elegido { color: rgb(255, 255, 255); }
.compat-cal-dia.elegido::after { content: ""; position: absolute; inset: 2px 3px; background-color: rgb(47, 107, 235); border-radius: 100%; }

/* ── lista desplegada vacía ── */
.compat-lista-vacia { padding: 8px 12px; color: rgba(17, 24, 38, 0.6); font-size: 14px; }

/* ── barra lateral plegada ── */
section[data-testid="stSidebar"].compat-barra-cerrada { width: 0 !important; min-width: 0 !important; overflow: hidden; }

/* E203 · ícono del indicador «corriendo» en Año Nuevo (StatusWidget · DC con isNewYears: 2.2rem) */
.st-emotion-cache-1xectfk { width: 2.2rem; height: 2.2rem; margin-right: -0.5rem; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; transition: opacity 0.3s ease-in-out; cursor: wait; }

/* E214 · «viejo» mientras la página corre (Streamlit 1.61: yu = opacidad .33 + «opacity 1s ease-in 0.5s»; plegable con
   borde borderColorLight + «border 1s ease-in 0.5s»; barra de pestañas con yu). Al volver a «nuevo» no hay transición. */
[data-testid=stElementContainer][data-stale=true]:not(:has(> [data-testid=stSkeleton])) { opacity: 0.33; transition: opacity 1s ease-in 0.5s; }
[data-testid=stExpander][data-compat-viejo] > details { border-color: rgba(17, 24, 38, 0.1); transition: border 1s ease-in 0.5s; }
[data-testid=stTabs][data-compat-viejo] [role=tablist] { opacity: 0.33; transition: opacity 1s ease-in 0.5s; }

/* E209 · caja de la casilla marcada con foco de teclado (Streamlit 1.61, capturado) */
.st-emotion-cache-j92m2u { flex-shrink: 0; width: 1rem; height: 1rem; margin-top: calc(0.15625rem); border-radius: 0.25rem; border: 1px solid rgb(47, 107, 235); background-color: rgb(47, 107, 235); display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; box-shadow: rgba(47, 107, 235, 0.5) 0px 0px 0px 0.2rem; transition: background-color 100ms, border-color 100ms; }
.st-emotion-cache-j92m2u svg { width: 65%; height: 65%; fill: none; stroke: rgb(255, 255, 255); stroke-width: 2.5px; stroke-linecap: round; stroke-linejoin: round; }

/* E225 · globo de ayuda de Streamlit 1.61 (medido, catálogo 16): zona principal 1wul7uu · barra lateral 13sjmo9 */
@keyframes animation-1qa61cu { 0% { opacity: 0; } 100% { opacity: 1; } }
.st-emotion-cache-1wul7uu { box-sizing: border-box; pointer-events: auto; background-color: rgb(245, 247, 251); color: rgb(17, 24, 38); font-size: 0.875rem; font-weight: 400; border-radius: 0.5rem; box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; max-width: calc(736px - 4rem); max-height: 18.75rem; overflow: auto; padding: 0.375rem 0.75rem; animation: 120ms ease-in 50ms 1 normal both running animation-1qa61cu; }
@media (max-width: 576px) { .st-emotion-cache-1wul7uu { max-width: calc(100% - 2rem); } }
.st-emotion-cache-1wul7uu img { max-width: 100%; }
.st-emotion-cache-1wul7uu * { font-size: 0.875rem; }
.st-emotion-cache-13sjmo9 { box-sizing: border-box; pointer-events: auto; background-color: rgb(255, 255, 255); color: rgb(17, 24, 38); font-size: 0.875rem; font-weight: 400; border-radius: 0.5rem; box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; max-width: calc(736px - 4rem); max-height: 18.75rem; overflow: auto; padding: 0.375rem 0.75rem; animation: 120ms ease-in 50ms 1 normal both running animation-1qa61cu; }
@media (max-width: 576px) { .st-emotion-cache-13sjmo9 { max-width: calc(100% - 2rem); } }
.st-emotion-cache-13sjmo9 img { max-width: 100%; }
.st-emotion-cache-13sjmo9 * { font-size: 0.875rem; }
/* E224 · «Connecting» de la barra superior (medido) */
.st-emotion-cache-2o1js2 { display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; color: rgb(163, 168, 184); }
.st-emotion-cache-qsmnz1 { vertical-align: middle; overflow: hidden; color: inherit; fill: currentcolor; display: inline-flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; font-size: 0.75rem; width: 0.75rem; height: 0.75rem; flex-shrink: 0; }
.st-emotion-cache-ecvf28 { font-size: 0.875rem; color: rgb(163, 168, 184); text-transform: uppercase; margin: 0px 1rem 0px 0.5rem; white-space: nowrap; max-width: 20rem; line-height: 1; }

/* E244 · barra de mínimo/máximo del deslizador con el mouse encima o arrastrando (Streamlit · Slider: isHovered → opacity 1 y sin transición; misma regla que 1sl5z1n en lo demás) */
.st-emotion-cache-pdzbs4 { position: absolute; left: 0px; right: 0px; top: 100%; display: flex; -webkit-box-pack: justify; justify-content: space-between; pointer-events: none; margin-top: -0.75rem; font-size: 0.875rem; line-height: 1.6; font-weight: 400; color: rgba(17, 24, 38, 0.6); opacity: 1; transition: none; }
