/* ============================================================
   BARBER TOOLS · cascarón de la app (móvil primero) y pantallas
   < 1024 px: barra superior + barra inferior de 5 destinos.
   ≥ 1024 px: menú lateral de 264 px. ≥ 1440 px: riel de Bob de 360 px.
   Sin backdrop-filter en barras fijas (Android baratos).
   ============================================================ */

/* ---------- acceso ---------- */
.bt-acceso { position: relative; min-height: 100dvh; display: grid; place-items: center; padding: calc(24px + var(--bt-seg-arriba)) 16px calc(24px + var(--bt-seg-abajo)); overflow: hidden; isolation: isolate;
  background: var(--bt-acero-cepillado) 0 0 / 320px 320px, var(--bt-fondo); }
.bt-acceso::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--bt-fondo); opacity: .94; }
.bt-acceso__luz { position: absolute; z-index: -1; width: 120vmax; height: 120vmax; left: -60vmax; bottom: -70vmax; border-radius: 50%; background: radial-gradient(closest-side, rgba(0,168,132,.18), transparent 70%); pointer-events: none; }
.bt-acceso__marco { width: min(420px, 100%); display: flex; flex-direction: column; gap: 32px; animation: bt-sube var(--bt-d-landing) var(--bt-ease-salida) both; }
.bt-lockup--acceso { --F: 26px; align-self: flex-start; }
.bt-lockup--acceso .bt-lockup__bob { width: 76px; height: auto; }
.bt-acceso__form { padding: 28px 24px 24px; border-radius: var(--bt-r-xl); border: 1px solid transparent;
  background: linear-gradient(var(--bt-sup-1), var(--bt-sup-1)) padding-box, var(--bt-borde-metal) border-box; box-shadow: var(--bt-sombra-2); }
.bt-acceso__form h1 { font-size: var(--bt-t-xl); letter-spacing: -.03em; margin: 0 0 6px; }
.bt-acceso__bajada { color: var(--bt-texto-2); margin: 0 0 24px; }
.bt-acceso__ayuda { font-size: var(--bt-t-chico); color: var(--bt-texto-3); margin: 18px 0 0; }
.bt-acceso__pie { display: flex; gap: 16px; flex-wrap: wrap; font-size: var(--bt-t-micro); color: var(--bt-texto-3); letter-spacing: .04em; }
.bt-acceso__pie span { margin-right: auto; }
.bt-acceso__pie a { color: var(--bt-texto-2); min-height: 24px; }

/* ---------- cascarón ---------- */
.bt-shell { min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1fr); }
.bt-principal { min-width: 0; display: flex; flex-direction: column; overflow-x: clip; }   /* una transición en curso nunca abre scroll horizontal */
.bt-lateral, .bt-riel { display: none; }

.bt-barra-sup { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 8px; min-height: calc(56px + var(--bt-seg-arriba));
  padding: var(--bt-seg-arriba) max(8px, var(--bt-seg-der)) 0 max(16px, var(--bt-seg-izq)); background: rgba(9,12,12,.94); border-bottom: 1px solid var(--bt-linea); }
.bt-barra-sup__local { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; color: inherit; text-decoration: none; min-height: 48px; }
.bt-barra-sup__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.bt-barra-sup__txt b { font-size: 1rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: -.01em; }
.bt-barra-sup__txt small { font-size: 11px; letter-spacing: var(--bt-tr-micro); color: var(--bt-texto-3); font-weight: 600; }
.bt-barra-sup__acciones { display: flex; align-items: center; gap: 2px; flex: none; }
.bt-barra-sup__buscar { border-color: transparent; }
.bt-barra-sup__buscar-txt { display: none; }
#chip-demo { flex: none; font-size: 11px; min-height: 24px; }
.bt-chip-demo__corto { display: none; }
@media (max-width: 479px) { .bt-chip-demo__largo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); } .bt-chip-demo__corto { display: inline; } }
.bt-btn--bob { display: grid; place-items: center; width: 48px; height: 48px; border: 0; background: none; padding: 0; cursor: pointer; border-radius: 50%; }
.bt-btn--bob:active .bt-bob { transform: scale(.94); }
.bt-btn--bob .bt-bob { transition: transform var(--bt-d-toque) var(--bt-ease-salida); }

.bt-vista { flex: 1; width: 100%; max-width: 1280px; margin: 0 auto; padding: 20px max(16px, var(--bt-seg-der)) calc(var(--bt-tabbar) + var(--bt-seg-abajo) + 40px) max(16px, var(--bt-seg-izq)); outline: none; }
.bt-pantalla { animation: bt-pantalla-der var(--bt-d-pestana) var(--bt-ease-salida) both; }
.bt-pantalla[data-dir="izq"] { animation-name: bt-pantalla-izq; }
@keyframes bt-pantalla-der { from { opacity: 0; transform: translateX(12px); } }
@keyframes bt-pantalla-izq { from { opacity: 0; transform: translateX(-12px); } }

/* barra inferior */
.bt-tabbar { position: fixed; z-index: 30; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch;
  height: calc(var(--bt-tabbar) + var(--bt-seg-abajo)); padding: 0 var(--bt-seg-der) var(--bt-seg-abajo) var(--bt-seg-izq); background: rgba(9,12,12,.97); border-top: 1px solid var(--bt-linea); }
.bt-tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 48px; color: var(--bt-texto-3); text-decoration: none; font-size: 11px; font-weight: 500; letter-spacing: .01em; }
.bt-tab .bt-ico { width: 24px; height: 24px; transition: transform var(--bt-d-toque) var(--bt-ease-salida); }
.bt-tab:active .bt-ico { transform: scale(.9); }
.bt-tab[aria-current="page"] { color: var(--bt-texto); }
.bt-tab[aria-current="page"] .bt-ico { color: var(--bt-verde-luz); }
.bt-tab[aria-current="page"]::before { content: ''; position: absolute; top: 0; left: 50%; width: 20px; height: 2px; margin-left: -10px; border-radius: 0 0 2px 2px; background: var(--bt-verde-metal); }
.bt-tab--vacia { pointer-events: none; }
.bt-accion { justify-self: center; align-self: start; display: grid; place-items: center; width: 60px; height: 60px; margin-top: -18px; border-radius: 50%; border: 4px solid var(--bt-fondo);
  background: var(--bt-verde-metal); background-size: 200% 100%; color: var(--bt-grafito); box-shadow: var(--bt-brillo-verde); cursor: pointer; padding: 0; position: relative;
  transition: transform var(--bt-d-toque) var(--bt-ease-salida), background-position var(--bt-d-hover) var(--bt-ease-suave); box-sizing: content-box; }
.bt-accion:active { transform: scale(.94); }
.bt-accion:hover { background-position: 100% 0; }
.bt-accion > span:not(.sr) { position: absolute; bottom: -20px; font-size: 11px; font-weight: 600; color: var(--bt-texto); white-space: nowrap; }
.bt-accion[data-cobrar] .bt-ico { width: 26px; height: 26px; }

/* ---------- panel web ≥ 1024 px ---------- */
@media (min-width: 1024px) {
  .bt-shell { grid-template-columns: 264px minmax(0, 1fr); }
  .bt-shell.con-riel { grid-template-columns: 264px minmax(0, 1fr) 360px; }
  .bt-shell.bt-shell--colapsado { grid-template-columns: 72px minmax(0, 1fr); }
  .bt-shell.bt-shell--colapsado.con-riel { grid-template-columns: 72px minmax(0, 1fr) 360px; }
  .bt-tabbar { display: none; }
  .bt-avisos { bottom: 24px; }
  .bt-lateral { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 0; height: 100dvh; padding: 20px 12px 16px; background: var(--bt-sup-1); border-right: 1px solid var(--bt-linea); overflow: hidden; }
  .bt-lateral__cab { display: flex; align-items: center; gap: 12px; padding: 0 6px; min-width: 0; }
  .bt-lateral__local { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
  .bt-lateral__local b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .bt-lateral__local small { font-size: var(--bt-t-micro); color: var(--bt-texto-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .bt-lateral__nav { flex: 1; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; gap: 18px; scrollbar-width: thin; scrollbar-color: var(--bt-linea) transparent; margin: 0 -4px; padding: 0 4px; }
  .bt-lateral__grupo { display: flex; flex-direction: column; gap: 2px; }
  .bt-lateral__grupo .bt-micro { padding: 0 12px 6px; font-size: 11px; }
  .bt-lateral__grupo a, .bt-lateral__salir { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 12px; border-radius: var(--bt-r-s); color: var(--bt-texto-2); text-decoration: none; font-weight: 500; font-size: .9375rem; background: none; border: 0; cursor: pointer; width: 100%; text-align: left; white-space: nowrap;
    transition: background-color var(--bt-d-hover) var(--bt-ease-suave), color var(--bt-d-hover) var(--bt-ease-suave); }
  .bt-lateral__grupo a .bt-ico, .bt-lateral__salir .bt-ico { width: 20px; height: 20px; color: var(--bt-texto-3); }
  .bt-lateral__grupo a:hover, .bt-lateral__salir:hover { background: var(--bt-sup-2); color: var(--bt-texto); }
  .bt-lateral__grupo a[aria-current="page"] { background: var(--bt-sup-3); color: var(--bt-texto); box-shadow: inset 2px 0 0 var(--bt-verde-luz); }
  .bt-lateral__grupo a[aria-current="page"] .bt-ico { color: var(--bt-verde-luz); }
  .bt-lateral__grupo--cuenta { border-top: 1px solid var(--bt-linea); padding-top: 12px; margin-top: auto; }
  .bt-lateral__pie { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 6px 0; border-top: 1px solid var(--bt-linea); }
  .bt-lateral__pie #colapsar { margin-left: auto; border-color: transparent; width: 40px; --_alto: 40px; }
  .bt-lockup--pie { --F: 12px; flex-basis: 100%; opacity: .8; }
  .bt-lockup--pie .bt-lockup__txt b { color: var(--bt-texto-2); }
  .bt-lockup--pie .bt-lockup__bob { height: 22px; translate: 0 -4%; }
  /* colapsado: solo íconos con tooltip */
  .bt-shell--colapsado .bt-lateral { padding-left: 10px; padding-right: 10px; }
  .bt-shell--colapsado .bt-lateral__local, .bt-shell--colapsado .bt-lateral__grupo .bt-micro, .bt-shell--colapsado .bt-lateral__grupo span, .bt-shell--colapsado .bt-lockup--pie, .bt-shell--colapsado #estado-ia { display: none; }
  .bt-shell--colapsado .bt-lateral__cab { padding: 0; justify-content: center; }
  .bt-shell--colapsado .bt-lateral__grupo a, .bt-shell--colapsado .bt-lateral__salir { justify-content: center; padding: 0; position: relative; }
  .bt-shell--colapsado .bt-lateral__pie { justify-content: center; padding: 12px 0 0; }
  .bt-shell--colapsado .bt-lateral__pie #colapsar { margin: 0; transform: scaleX(-1); }
  .bt-shell--colapsado .bt-lateral { overflow: visible; }
  .bt-shell--colapsado .bt-lateral__nav { overflow: visible; }
  .bt-shell--colapsado [data-titulo]:hover::after, .bt-shell--colapsado [data-titulo]:focus-visible::after { content: attr(data-titulo); position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%); z-index: 40; padding: 6px 10px; border-radius: var(--bt-r-xs); background: var(--bt-sup-3); color: var(--bt-texto); font-size: var(--bt-t-chico); white-space: nowrap; box-shadow: var(--bt-sombra-2); pointer-events: none; }

  .bt-barra-sup { padding: 0 24px 0 40px; min-height: 64px; background: rgba(9,12,12,.96); }
  .bt-barra-sup__local .bt-logo-placa, .bt-barra-sup__txt b { display: none; }
  .bt-barra-sup__txt small { font-size: var(--bt-t-micro); }
  .bt-barra-sup__buscar { width: auto; min-width: 240px; justify-content: flex-start; padding: 0 16px; gap: 10px; border-color: var(--bt-linea) !important; color: var(--bt-texto-3); font-weight: 500; }
  .bt-barra-sup__buscar-txt { display: inline; }
  .bt-barra-sup__buscar::after { content: '/'; margin-left: auto; padding: 0 7px; border-radius: 6px; border: 1px solid var(--bt-linea); font-size: 12px; line-height: 20px; }
  .bt-vista { padding: 32px 40px 72px; }
  .bt-riel { display: none; }
  .con-riel .bt-riel { display: flex; flex-direction: column; position: sticky; top: 0; height: 100dvh; background: var(--bt-sup-1); border-left: 1px solid var(--bt-linea); }
  .con-riel #abrir-bob { display: none; }
}

/* ---------- encabezado de pantalla ---------- */
.bt-cab { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin-bottom: 24px; }
.bt-cab__txt { flex: 1; min-width: min(100%, 220px); }
.bt-cab__txt .bt-micro { margin: 0 0 6px; }
.bt-cab h1 { font-size: var(--bt-t-xl); letter-spacing: -.035em; margin: 0; font-weight: 600; }
.bt-cab__acciones { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bt-cab__atras { display: inline-flex; align-items: center; gap: 4px; flex-basis: 100%; color: var(--bt-texto-2); text-decoration: none; font-weight: 500; min-height: 44px; margin: -8px 0 -4px -6px; width: max-content; }
.bt-cab__atras .bt-ico { width: 20px; height: 20px; }
.bt-seccion { margin-top: 32px; }
.bt-seccion > h2, .bt-seccion__cab h2 { font-size: var(--bt-t-m); margin: 0 0 12px; }
.bt-seccion__cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.bt-seccion__cab h2 { margin: 0; }
.bt-rejilla { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.bt-rejilla--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.bt-pie-botones { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.bt-pie-botones .bt-btn { flex: 1 1 auto; }
@media (min-width: 1024px) { .bt-pie-botones .bt-btn { flex: 0 0 auto; } }
.bt-navfecha { display: inline-flex; align-items: center; gap: 4px; }
.bt-navfecha .bt-btn--icono { border-color: var(--bt-linea); }

/* ---------- Hoy ---------- */
.bt-hoy { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
.bt-pantalla { min-width: 0; }
.bt-hero { padding: 4px 0 8px; }
.bt-hero .bt-micro { margin: 0 0 8px; }
.bt-hero__cifra { display: block; font-size: var(--bt-t-hero-app); font-weight: 600; line-height: .92; letter-spacing: var(--bt-tr-display); font-variant-numeric: tabular-nums; margin: 0 0 16px; white-space: nowrap; }
.bt-hero__meta { display: flex; flex-direction: column; gap: 8px; max-width: 520px; }
.bt-hero__meta p { margin: 0; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-hero__meta a { color: var(--bt-verde-luz); font-weight: 600; }
.bt-proxima { position: relative; overflow: hidden; padding: 20px 20px 18px 24px; }
.bt-proxima::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--bt-verde-metal); }
.bt-proxima__fila { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bt-proxima__hora { font-size: var(--bt-t-kpi); font-weight: 600; line-height: 1; letter-spacing: var(--bt-tr-kpi); font-variant-numeric: tabular-nums; }
.bt-proxima__cliente { font-size: var(--bt-t-m); font-weight: 600; margin: 10px 0 2px; }
.bt-proxima__detalle { color: var(--bt-texto-2); font-size: var(--bt-t-chico); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 16px; }
.bt-proxima .bt-pie-botones { justify-content: flex-start; }
/* C32 (séptima ronda): bajo 640 px los indicadores de Hoy van en una rejilla de dos columnas (el tercero, a lo ancho), no en un
   carrusel: el carrusel dejaba la segunda tarjeta asomada y cortaba su monto en el borde («$785.00»). La cifra se ajusta al ancho
   de su tarjeta (container query) y nunca se corta. */
.bt-carrusel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.bt-carrusel > :last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 640px) { .bt-carrusel { grid-template-columns: repeat(3, minmax(0, 1fr)); } .bt-carrusel > :last-child:nth-child(odd) { grid-column: auto; } }
.bt-minikpi { padding: 16px 18px; container-type: inline-size; min-width: 0; }
.bt-minikpi .bt-kpi__valor { font-size: var(--bt-t-xl); font-size: clamp(1.125rem, 15cqi, 2.5rem); }
.bt-minikpi .bt-micro { overflow-wrap: anywhere; }
@media (max-width: 639px) { .bt-minikpi { padding: 14px; } }
/* C32: «Por barbero» de la Caja baja de renglón entre las partes («2 · vendido $25.000 · propinas $2.000») en vez de cortarlas. */
.bt-fila__sub--envuelve { white-space: normal; overflow: visible; text-overflow: clip; }
.bt-entero { white-space: nowrap; }
/* «le corresponde» en dos renglones bajo 420 px: la columna del monto se angosta y la línea de las ventas tiene espacio. */
@media (max-width: 419px) { .bt-fila__fin-nota { max-width: 6.5em; text-align: right; line-height: 1.25; } }
.bt-accion-sugerida .bt-micro { color: var(--bt-verde-luz); }
.bt-accion-sugerida h3 { font-size: var(--bt-t-m); margin: 8px 0 6px; }
.bt-accion-sugerida p { color: var(--bt-texto-2); font-size: var(--bt-t-chico); }
.bt-accion-sugerida__cab { display: flex; align-items: center; gap: 10px; }
.bt-pendientes { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.bt-pendientes a { display: flex; align-items: center; gap: 12px; min-height: 48px; color: inherit; text-decoration: none; border-radius: var(--bt-r-s); padding: 4px 6px; }
.bt-pendientes a:hover { background: var(--bt-sup-3); }
.bt-pendientes .listo { color: var(--bt-texto-3); text-decoration: line-through; }
.bt-pendientes .bt-ico { color: var(--bt-texto-3); }
.bt-pendientes .listo .bt-ico { color: var(--bt-ok); }
.bt-link-reservas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bt-link-reservas__url { flex: 1; min-width: 0; font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--bt-texto-2); font-size: var(--bt-t-chico); }
@media (min-width: 1024px) {
  .bt-hoy { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
  .bt-hoy > * { grid-column: span 12; }
  .bt-hoy > .bt-hero { grid-column: span 7; }
  .bt-hoy > .bt-proxima, .bt-hoy > .bt-proxima-vacia { grid-column: span 5; align-self: start; }
  .bt-hoy > .bt-col-8 { grid-column: span 8; }
  .bt-hoy > .bt-col-4 { grid-column: span 4; }
}

/* ---------- Dashboard (12 columnas, separación 24 px) ---------- */
.bt-dash { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .bt-dash { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bt-dash__8, .bt-dash__12 { grid-column: 1 / -1; } }
@media (min-width: 1024px) {
  .bt-dash { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
  .bt-dash__4 { grid-column: span 4; } .bt-dash__6 { grid-column: span 6; } .bt-dash__8 { grid-column: span 8; } .bt-dash__12 { grid-column: span 12; }
}
.bt-btn--deshabilitado { opacity: .5; pointer-events: none; }
[data-tema="papel"] .bt-monograma { color: var(--bt-texto); }
[data-tema="papel"] .bt-logo-placa { background: transparent; border-color: var(--bt-linea); }

/* ---------- Agenda ---------- */
.bt-tira { display: grid; grid-template-columns: 44px repeat(7, minmax(0, 1fr)) 44px; gap: 4px; align-items: center; margin-bottom: 16px; }
.bt-tira__dia { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 64px; border-radius: var(--bt-r-m); color: var(--bt-texto-2); text-decoration: none; font-variant-numeric: tabular-nums; border: 1px solid transparent; position: relative; }
.bt-tira__dia small { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--bt-texto-3); font-weight: 600; }
.bt-tira__dia b { font-size: 1.125rem; font-weight: 600; }
.bt-tira__dia:hover { background: var(--bt-sup-2); }
.bt-tira__dia.hoy b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; box-shadow: 0 0 0 1.5px var(--bt-verde-luz); }
.bt-tira__dia[aria-current="date"] { background: var(--bt-sup-3); color: var(--bt-texto); border-color: rgba(244,247,248,.12); }
.bt-tira__dia[aria-current="date"] small { color: var(--bt-verde-luz); }
.bt-tira .bt-btn--icono { width: 44px; --_alto: 44px; border-color: transparent; }
.bt-agenda__barra { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.bt-agenda__resumen { display: flex; gap: 8px; flex-wrap: wrap; }
.bt-grilla { position: relative; border-radius: var(--bt-r-l); background: var(--bt-sup-1); border: 1px solid var(--bt-linea); overflow: hidden; touch-action: pan-y; }
.bt-grilla__cuerpo { position: relative; display: grid; grid-template-columns: 56px repeat(var(--cols, 1), minmax(180px, 1fr)); overflow-x: auto; }
.bt-grilla__horas { position: relative; border-right: 1px solid var(--bt-linea); }
.bt-grilla__hora { position: absolute; left: 0; right: 0; padding-right: 8px; text-align: right; font-size: 12px; color: var(--bt-texto-3); font-variant-numeric: tabular-nums; transform: translateY(-50%); }
.bt-grilla__hora:first-child { transform: translateY(4px); }
@media (max-width: 639px) {
  .bt-btn--compacto { width: 44px; padding: 0; }
  .bt-btn--compacto .bt-btn__txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .bt-cab__acciones .bt-input[type=date] { flex: 1; min-width: 0; }
  .bt-cab__acciones { width: 100%; }
}
.bt-grilla__col { position: relative; border-right: 1px solid var(--bt-linea); background-image: repeating-linear-gradient(to bottom, var(--bt-linea) 0 1px, transparent 1px 64px); background-position: 0 var(--off, 0); cursor: copy; }
.bt-grilla__col:last-child { border-right: 0; }
.bt-grilla__cabcol { position: sticky; top: 0; z-index: 3; display: none; align-items: center; gap: 8px; padding: 10px 12px; background: var(--bt-sup-2); border-bottom: 1px solid var(--bt-linea); font-weight: 600; font-size: var(--bt-t-chico); }
.bt-grilla--varias .bt-grilla__cabcol { display: flex; }
.bt-grilla__fuera { position: absolute; left: 0; right: 0; background: repeating-linear-gradient(-45deg, rgba(255,255,255,.015) 0 6px, transparent 6px 12px); pointer-events: none; }
.bt-bloque { position: absolute; left: 6px; right: 6px; z-index: 2; display: flex; flex-direction: column; gap: 1px; overflow: hidden; padding: 6px 10px 6px 12px; border-radius: var(--bt-r-s); background: var(--bt-sup-3); border: 0; color: var(--bt-texto); text-align: left; cursor: pointer; font: inherit; box-shadow: var(--bt-sombra-1);
  transition: transform var(--bt-d-toque) var(--bt-ease-salida); }
.bt-bloque:active { transform: scale(.98); }
.bt-bloque::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--bt-cromo-relleno); }
.bt-bloque.atendida::before { background: var(--bt-verde-metal); }
.bt-bloque.no_asistio { opacity: .6; }
.bt-bloque.no_asistio::before { background: var(--bt-error); }
.bt-bloque__hora { font-size: 12px; color: var(--bt-texto-2); font-variant-numeric: tabular-nums; font-weight: 600; }
.bt-bloque__cliente { font-weight: 600; font-size: var(--bt-t-chico); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-bloque__servicio { font-size: 12px; color: var(--bt-texto-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-bloque--corto { flex-direction: row; align-items: center; gap: 8px; padding-top: 2px; padding-bottom: 2px; }
.bt-bloqueo { position: absolute; left: 6px; right: 6px; z-index: 1; border-radius: var(--bt-r-s); border: 1px dashed var(--bt-borde-control); padding: 6px 10px; font-size: 12px; color: var(--bt-texto-2); overflow: hidden; cursor: pointer; text-align: left; font: inherit; font-size: 12px;
  background: repeating-linear-gradient(-45deg, rgba(138,149,152,.16) 0 6px, transparent 6px 12px), var(--bt-gunmetal); }
.bt-bloqueo .bt-ico { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.bt-ahora { position: absolute; left: 0; right: 0; z-index: 4; height: 2px; background: var(--bt-verde-luz); pointer-events: none; box-shadow: 0 0 10px rgba(43,217,168,.6); }
.bt-grilla__horas + .bt-grilla__col .bt-ahora::before { content: ''; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--bt-verde-luz); }
.bt-presion { position: absolute; left: 6px; right: 6px; z-index: 1; height: 32px; border-radius: var(--bt-r-s); border: 1.5px dashed var(--bt-verde-luz); background: var(--bt-ok-tenue); pointer-events: none; animation: bt-sube 200ms var(--bt-ease-salida) both; }
.bt-agenda__ayuda { font-size: var(--bt-t-chico); color: var(--bt-texto-3); margin: 10px 2px 0; }

/* ---------- Caja y Cobrar ---------- */
.bt-caja-hero { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.bt-cobrar { display: grid; gap: 24px; }
.bt-cobrar__bloque > .bt-etiqueta, .bt-cobrar__bloque > h3 { display: block; margin: 0 0 10px; font-size: var(--bt-t-chico); font-weight: 600; color: var(--bt-texto-2); }
.bt-servicios { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.bt-servicio { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-height: 72px; padding: 12px 14px; border-radius: var(--bt-r-m); border: 1px solid var(--bt-linea); background: var(--bt-sup-2); color: var(--bt-texto); text-align: left; cursor: pointer; font: inherit;
  transition: border-color var(--bt-d-hover) var(--bt-ease-suave), background-color var(--bt-d-hover) var(--bt-ease-suave), transform var(--bt-d-toque) var(--bt-ease-salida); }
.bt-servicio:active { transform: scale(.98); }
.bt-servicio b { font-weight: 600; line-height: 1.25; padding-right: 22px; }
.bt-servicio span { font-size: var(--bt-t-chico); color: var(--bt-texto-3); font-variant-numeric: tabular-nums; }
.bt-servicio[aria-pressed="true"] { background: var(--bt-sup-3); border-color: var(--bt-verde-luz); box-shadow: inset 0 0 0 .5px var(--bt-verde-luz); }
.bt-servicio[aria-pressed="true"]::after { content: ''; position: absolute; top: 10px; right: 10px; width: 20px; height: 20px; border-radius: 50%; background: var(--bt-verde-metal) ; }
.bt-servicio[aria-pressed="true"]::before { content: ''; position: absolute; z-index: 1; top: 14px; right: 14px; width: 12px; height: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1414' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.6 9.6 17 19 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.bt-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bt-item { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border-radius: var(--bt-r-m); background: var(--bt-sup-2); border: 1px solid var(--bt-linea); }
.bt-item__txt { flex: 1; min-width: 0; }
.bt-item__txt b { display: block; font-weight: 600; font-size: var(--bt-t-chico); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bt-item__txt span { font-size: 12px; color: var(--bt-texto-3); font-variant-numeric: tabular-nums; }
.bt-cantidad { display: inline-flex; align-items: center; border-radius: var(--bt-r-pill); border: 1px solid var(--bt-linea); }
.bt-cantidad button { width: 44px; height: 44px; border: 0; background: none; color: var(--bt-texto); font-size: 1.25rem; cursor: pointer; border-radius: 50%; }
.bt-cantidad button:hover { background: var(--bt-sup-3); }
.bt-cantidad output { min-width: 22px; text-align: center; font-variant-numeric: tabular-nums; font-weight: 600; }
.bt-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bt-total__cifra { font-size: var(--bt-t-hero-app); font-weight: 600; letter-spacing: var(--bt-tr-display); line-height: .95; font-variant-numeric: tabular-nums; }
.bt-total__desglose { font-size: var(--bt-t-chico); color: var(--bt-texto-3); display: grid; gap: 2px; text-align: right; font-variant-numeric: tabular-nums; }
.bt-resultados { list-style: none; margin: 8px 0 0; padding: 0; }
.bt-cliente-elegido { display: flex; align-items: center; gap: 12px; padding: 10px 8px 10px 14px; border-radius: var(--bt-r-m); background: var(--bt-ok-tenue); border: 1px solid rgba(43,217,168,.35); }
.bt-cliente-elegido > div { flex: 1; min-width: 0; }
.bt-cliente-elegido b { display: block; }
.bt-cliente-elegido span { font-size: var(--bt-t-chico); color: var(--bt-texto-2); font-variant-numeric: tabular-nums; }
.bt-folio-ayuda { font-size: var(--bt-t-chico); color: var(--bt-texto-3); }

/* ---------- Clientes, ficha y recetas ---------- */
.bt-ficha { display: grid; gap: 16px; }
@media (min-width: 1024px) { .bt-ficha { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; } .bt-ficha > .bt-ficha__ancho { grid-column: 1 / -1; } }
.bt-receta { position: relative; padding: 16px 16px 14px; border-radius: var(--bt-r-m); background: var(--bt-sup-1); border: 1px solid var(--bt-linea); margin-bottom: 12px; }
.bt-receta.borrador { border-style: dashed; border-color: var(--bt-borde-control); }
.bt-receta__cab { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.bt-receta__cab b { font-size: 1rem; }
.bt-receta .bt-dl { margin-top: 10px; }
.bt-receta__meta { font-size: 12px; color: var(--bt-texto-3); margin-top: 2px; }
.bt-historial { list-style: none; margin: 0; padding: 0; }
.bt-historial li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--bt-linea); font-size: var(--bt-t-chico); }
.bt-historial li:last-child { border-bottom: 0; }
.bt-historial .bt-num { white-space: nowrap; }
.bt-consentimiento { font-size: var(--bt-t-chico); background: var(--bt-sup-1); border-left: 3px solid var(--bt-cromo); padding: 14px 16px; border-radius: 0 var(--bt-r-s) var(--bt-r-s) 0; margin: 0 0 16px; white-space: pre-line; }

/* ---------- Mensajes ---------- */
.bt-bandeja { display: grid; gap: 16px; }
@media (min-width: 1024px) { .bt-bandeja { grid-template-columns: 320px minmax(0, 1fr); align-items: start; } }
.bt-conv { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-bottom: 1px solid var(--bt-linea); color: inherit; text-decoration: none; min-height: 64px; }
.bt-conv:hover { background: var(--bt-sup-3); }
.bt-conv[aria-current="true"] { background: var(--bt-sup-3); box-shadow: inset 2px 0 0 var(--bt-verde-luz); }
.bt-conv__txt { flex: 1; min-width: 0; }
.bt-conv__txt b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bt-conv__txt span { display: block; font-size: var(--bt-t-chico); color: var(--bt-texto-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bt-burbujas { display: flex; flex-direction: column; gap: 8px; max-height: 60vh; overflow-y: auto; padding: 14px; border-radius: var(--bt-r-m); background: var(--bt-sup-1); overscroll-behavior: contain; }
.bt-burbuja { max-width: 84%; padding: 10px 14px; border-radius: 18px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9375rem; line-height: 1.5; background: var(--bt-sup-2); border: 1px solid var(--bt-linea); }
.bt-burbuja.user, .bt-burbuja.yo { align-self: flex-end; background: var(--bt-ok-tenue); border-color: rgba(43,217,168,.28); border-bottom-right-radius: 6px; }
.bt-burbuja.assistant, .bt-burbuja.bob { align-self: flex-start; border-bottom-left-radius: 6px; }
.bt-burbuja.humano { align-self: flex-end; background: rgba(201,209,212,.1); border-color: rgba(201,209,212,.3); border-bottom-right-radius: 6px; }
.bt-burbuja__meta { font-size: 12px; color: var(--bt-texto-3); margin-top: -2px; }
.bt-burbuja__meta.der { align-self: flex-end; }
.bt-componer { display: flex; gap: 8px; align-items: flex-end; margin-top: 10px; }
.bt-componer textarea, .bt-componer input { flex: 1; min-height: 52px; max-height: 160px; resize: none; padding: 14px; font-size: 16px; color: var(--bt-texto); background: var(--bt-sup-1); border: 1px solid var(--bt-borde-control); border-radius: 26px; line-height: 1.4; }
.bt-componer textarea:focus, .bt-componer input:focus { border-color: var(--bt-verde-luz); box-shadow: 0 0 0 4px rgba(43,217,168,.18); }
.bt-componer .bt-btn--icono { width: 52px; --_alto: 52px; }

/* ---------- Más ---------- */
.bt-mas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .bt-mas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .bt-mas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.bt-mas a { display: flex; flex-direction: column; justify-content: space-between; gap: 8px; min-height: 96px; padding: 14px 16px; border-radius: var(--bt-r-l); color: var(--bt-texto); text-decoration: none; font-weight: 600;
  border: 1px solid transparent; background: linear-gradient(var(--bt-sup-2), var(--bt-sup-2)) padding-box, var(--bt-borde-metal) border-box; box-shadow: var(--bt-sombra-1); transition: transform var(--bt-d-toque) var(--bt-ease-salida); }
.bt-mas a:active { transform: scale(.98); }
.bt-mas a .bt-ico { color: var(--bt-verde-luz); width: 26px; height: 26px; }
.bt-mas a small { display: block; font-weight: 400; font-size: 12px; color: var(--bt-texto-3); line-height: 1.35; margin-top: 2px; }
.bt-mas a.apagado .bt-ico { color: var(--bt-texto-3); }
.bt-mas__pie { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 40px; color: var(--bt-texto-3); font-size: var(--bt-t-micro); text-align: center; }
.bt-mas__pie .bt-lockup { --F: 14px; opacity: .85; }

/* ---------- Ajustes ---------- */
.bt-form-ancho { max-width: 720px; }
.bt-horario { display: grid; gap: 4px; margin: 8px 0 12px; }
.bt-horario__dia { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--bt-linea); }
.bt-horario__dia:last-child { border-bottom: 0; }
.bt-horario__dia > b { font-size: var(--bt-t-chico); font-weight: 600; }
.bt-tramos { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: var(--bt-t-chico); color: var(--bt-texto-3); }
.bt-tramos input[type=time] { width: 104px; min-height: 44px; padding: 0 8px; font-size: 16px; color: var(--bt-texto); background: var(--bt-sup-1); border: 1px solid var(--bt-borde-control); border-radius: var(--bt-r-s); font-variant-numeric: tabular-nums; }
.bt-tramos input[type=time]:focus { border-color: var(--bt-verde-luz); box-shadow: 0 0 0 4px rgba(43,217,168,.18); }
@media (max-width: 480px) { .bt-horario__dia { grid-template-columns: 1fr; } }
.bt-qr { width: 168px; height: 168px; background: #F5F1E8; padding: 10px; border-radius: var(--bt-r-m); }
.bt-editable td input[type=text], .bt-editable td input:not([type]) { min-width: 140px; }
.bt-editable td input[type=number] { width: 112px; }
.bt-campo-tabla { min-height: 44px; padding: 0 10px; font-size: 16px; color: var(--bt-texto); background: var(--bt-sup-1); border: 1px solid var(--bt-borde-control); border-radius: var(--bt-r-s); width: 100%; }
.bt-campo-tabla:focus { border-color: var(--bt-verde-luz); box-shadow: 0 0 0 4px rgba(43,217,168,.18); }
.bt-campo-tabla.num { text-align: right; font-variant-numeric: tabular-nums; }
.bt-clave-unica { font-family: ui-monospace, Consolas, monospace; font-size: 1.25rem; letter-spacing: .06em; padding: 14px 16px; border-radius: var(--bt-r-s); background: var(--bt-fondo); border: 1px solid var(--bt-verde-luz); color: var(--bt-menta); user-select: all; overflow-wrap: anywhere; }

/* ---------- Mi marca ---------- */
.bt-marca { display: grid; gap: 16px; }
@media (min-width: 1024px) { .bt-marca { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: start; } .bt-marca__vista { position: sticky; top: 88px; } }
.bt-subida { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.bt-acentos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; border: 0; padding: 0; margin: 0 0 16px; }
.bt-acentos legend { font-size: var(--bt-t-chico); font-weight: 600; color: var(--bt-texto-2); margin-bottom: 8px; padding: 0; }
.bt-acentos label { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; border-radius: var(--bt-r-m); border: 1px solid var(--bt-linea); background: var(--bt-sup-1); cursor: pointer; font-size: 12px; text-align: center; min-height: 76px; }
.bt-acentos input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.bt-acentos i { width: 28px; height: 28px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), 0 2px 6px rgba(0,0,0,.4); }
.bt-acentos label:has(input:checked) { border-color: var(--bt-verde-luz); background: var(--bt-sup-3); }
.bt-acentos label:has(input:focus-visible) { outline: 2px solid var(--bt-verde-luz); outline-offset: 2px; }
.bt-previa { display: grid; gap: 12px; }
.bt-previa__ctx { border-radius: var(--bt-r-m); border: 1px solid var(--bt-linea); overflow: hidden; }
.bt-previa__ctx > .bt-micro { padding: 8px 12px; background: var(--bt-sup-1); border-bottom: 1px solid var(--bt-linea); margin: 0; }
.bt-previa__app { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: rgba(9,12,12,.94); }
.bt-previa__app b { font-size: .95rem; }
.bt-previa__app small { display: block; font-size: 10px; color: var(--bt-texto-3); letter-spacing: .1em; }
.bt-previa__publica { padding: 20px 16px; background: var(--bt-fondo); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.bt-previa__publica h3 { font-size: var(--bt-t-l); margin: 0; }
.bt-previa__paso { display: inline-flex; align-items: center; gap: 8px; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-previa__paso i { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 700; font-size: 12px; background: var(--bt-acento); color: var(--bt-grafito); }
.bt-previa__btn { min-height: 44px; padding: 0 18px; border-radius: var(--bt-r-pill); background: var(--bt-acento); color: var(--bt-grafito); font-weight: 600; display: inline-flex; align-items: center; }
.bt-previa__informe { padding: 16px; display: flex; align-items: center; gap: 12px; }

/* ---------- Bob: chat e informes ---------- */
.bt-asesor { display: flex; flex-direction: column; min-height: 0; height: 100%; }
.bt-asesor__cab { display: flex; align-items: center; gap: 12px; padding: 16px 16px 12px; border-bottom: 1px solid var(--bt-linea); }
.bt-asesor__cab b { display: block; }
.bt-asesor__cab small { display: block; color: var(--bt-texto-3); font-size: 12px; }
.bt-asesor__mensajes { flex: 1; min-height: 160px; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; overscroll-behavior: contain; }
.bt-asesor__chips { display: flex; gap: 8px; overflow-x: auto; padding: 0 16px 10px; scrollbar-width: none; }
.bt-asesor__chips::-webkit-scrollbar { display: none; }
.bt-asesor__chips .bt-opcion { flex: none; min-height: 40px; font-size: var(--bt-t-chico); }
.bt-asesor__componer { padding: 10px 12px calc(12px + var(--bt-seg-abajo)); border-top: 1px solid var(--bt-linea); }
.bt-asesor__componer .bt-componer { margin: 0; }
.bt-asesor__aviso { font-size: 11px; color: var(--bt-texto-3); margin: 8px 4px 0; }
.bt-pensando { display: flex; align-items: center; gap: 10px; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-respuesta p { margin: 0 0 8px; }
.bt-respuesta p:last-child, .bt-respuesta ul:last-child { margin-bottom: 0; }
.bt-respuesta ul { margin: 0 0 8px; padding-left: 18px; }
.bt-respuesta li { margin: 2px 0; }
data.bt-cifra { text-decoration: underline dotted var(--bt-verde-luz); text-decoration-thickness: 1.5px; text-underline-offset: 3px; cursor: help; font-variant-numeric: tabular-nums; }
data.bt-cifra:focus-visible { outline: 2px solid var(--bt-verde-luz); }
.bt-cifra-fuente { display: block; margin-top: 6px; padding: 8px 10px; border-radius: var(--bt-r-s); background: var(--bt-sup-1); font-size: 12px; color: var(--bt-texto-2); }
.dialog-bob .bt-hoja__cuerpo { padding: 0; display: flex; flex-direction: column; }
.dialog-bob .bt-hoja__panel { height: 92svh; }
@media (min-width: 1024px) { .dialog-bob .bt-hoja__panel { height: min(88vh, 860px); } }
.dialog-bob .bt-asesor__cab { display: none; }
.bt-informes { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.bt-informe-tipo { display: flex; flex-direction: column; gap: 10px; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.bt-informe-tipo .bt-ico { color: var(--bt-verde-luz); width: 28px; height: 28px; }
.bt-informe-tipo h3 { margin: 0; font-size: var(--bt-t-m); }
.bt-informe-tipo p { margin: 0; font-size: var(--bt-t-chico); color: var(--bt-texto-3); }
.bt-papel-marco { margin-top: 24px; overflow-x: auto; padding: 4px 0 16px; }
.bt-papel { width: 794px; max-width: 100%; min-height: 600px; margin: 0 auto; padding: 48px 56px; background: var(--bt-fondo); color: var(--bt-texto); box-shadow: var(--bt-sombra-2); border-radius: 4px; }
.bt-papel__cab { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; border-bottom: 2px solid var(--bt-texto); margin-bottom: 24px; }
.bt-papel__cab h1 { font-size: 1.5rem; margin: 0; }
.bt-papel__cab p { margin: 2px 0 0; color: var(--bt-texto-2); font-size: var(--bt-t-chico); }
.bt-papel__lectura { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--bt-linea); }
.bt-papel__lectura h2 { display: flex; align-items: center; gap: 10px; font-size: 1.125rem; }
.bt-papel__nota { font-size: 12px; color: var(--bt-texto-3); }
.bt-papel__pie { margin-top: 40px; font-size: 11px; color: var(--bt-texto-3); text-align: center; letter-spacing: .04em; }
@media (max-width: 760px) { .bt-papel { padding: 28px 20px; } }

/* ============================================================
   FRESH CUT · etapa 2: Hoy, metas, contabilidad, Bob e informes
   ============================================================ */
.bt-input--mes { width: auto; min-height: 44px; padding: 0 10px; }
.bt-centro { text-align: center; }
.bt-negativo { color: var(--bt-error) !important; -webkit-text-fill-color: var(--bt-error); }
.bt-logo-placa[data-placa="sin_placa"] { background: transparent; border-color: transparent; }
.bt-logo-placa[data-placa="sin_placa"] img { padding: 0; }

/* ---------- anillo: momento firma «Meta cumplida» ---------- */
.bt-anillo__firma { font-size: var(--bt-t-chico); font-weight: 700; letter-spacing: .02em; }
.bt-anillo--chico .bt-anillo__firma { font-size: 11px; }
.bt-anillo__cara { position: absolute; top: -6px; right: -2px; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%;
  background: var(--bt-sup-1); box-shadow: 0 0 0 1px rgba(43,217,168,.4), 0 6px 18px rgba(0,168,132,.3);
  animation: bt-cara-entra 520ms var(--bt-ease-salida) calc(var(--bt-d-firma) + 200ms) both; }
.bt-anillo__cara img { width: 34px; height: 34px; }
.bt-anillo--chico .bt-anillo__cara { width: 34px; height: 34px; top: -8px; right: -10px; }
.bt-anillo--chico .bt-anillo__cara img { width: 26px; height: 26px; }
@keyframes bt-cara-entra { from { opacity: 0; transform: scale(.4) rotate(-18deg); } }
.bt-anillo.cumplida .progreso { filter: drop-shadow(0 0 6px rgba(43,217,168,.45)); }
[data-tema="papel"] .bt-anillo .progreso { stroke: #00785E; filter: none; }
[data-tema="papel"] .bt-anillo__cara { display: none; }

/* aviso firma: arriba, no bloquea nada, se va solo */
.bt-firma { position: fixed; z-index: 70; top: calc(var(--bt-seg-arriba) + 64px); left: 50%; display: flex; align-items: center; gap: 12px; width: min(440px, calc(100% - 32px));
  padding: 10px 8px 10px 12px; border-radius: var(--bt-r-l); border: 1px solid transparent; transform: translateX(-50%);
  background: linear-gradient(var(--bt-sup-2), var(--bt-sup-2)) padding-box, var(--bt-verde-metal) border-box; box-shadow: var(--bt-brillo-verde), var(--bt-sombra-2);
  animation: bt-firma-entra 520ms var(--bt-ease-salida) both; }
.bt-firma.sale { animation: bt-firma-sale 260ms var(--bt-ease-suave) both; }
@keyframes bt-firma-entra { from { opacity: 0; transform: translate(-50%, -16px) scale(.96); } }
@keyframes bt-firma-sale { to { opacity: 0; transform: translate(-50%, -10px); } }
.bt-firma__anillo { position: relative; flex: none; width: 48px; height: 48px; display: grid; place-items: center; }
.bt-firma__anillo svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.bt-firma__anillo .pista { fill: none; stroke: var(--bt-sup-3); stroke-width: 4; }
.bt-firma__anillo .progreso { fill: none; stroke: url(#btVerdeMetal); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 119.4; stroke-dashoffset: 119.4; animation: bt-firma-llena var(--bt-d-firma) var(--bt-ease-salida) 160ms forwards; }
@keyframes bt-firma-llena { to { stroke-dashoffset: 0; } }
.bt-firma__anillo img { position: relative; width: 28px; height: 28px; }
.bt-firma__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.bt-firma__txt b { font-size: var(--bt-t-m); font-weight: 700; }
.bt-firma__txt small { color: var(--bt-texto-2); font-size: var(--bt-t-chico); }
.bt-firma .bt-btn--icono { background: transparent; flex: none; }
@media (min-width: 1024px) { .bt-firma { top: 84px; } }

/* ---------- Hoy ---------- */
.bt-hero__ok { display: flex; align-items: center; gap: 8px; color: var(--bt-ok) !important; font-weight: 600; }
.bt-hero__meta .bt-btn--texto { min-height: 32px; padding: 0 .4em; vertical-align: baseline; }
.bt-meta-hoy { display: flex; flex-direction: column; gap: 14px; }
.bt-meta-hoy .bt-tarjeta__cab { margin-bottom: 0; }
.bt-meta-hoy .bt-anillo { margin: 4px auto; }
.bt-meta-hoy__dl, .bt-dl--cifras { grid-template-columns: minmax(0, 1fr) auto; }
.bt-dl--cifras dd { text-align: right; font-weight: 600; color: var(--bt-texto); font-variant-numeric: tabular-nums; }
.bt-meta-hoy__dl dd { text-align: right; font-weight: 600; color: var(--bt-texto); }
.bt-meta-hoy__serie { display: flex; flex-direction: column; gap: 6px; }
.bt-meta-hoy > .bt-btn--texto { align-self: flex-start; margin-left: -.6em; }
/* cifras KPI del tablero: se ajustan al ancho de su tarjeta (con el riel de Bob la columna se angosta) */
.bt-dash > .bt-kpi { container-type: inline-size; }
.bt-dash > .bt-kpi > .bt-kpi__valor { font-size: var(--bt-t-kpi); font-size: clamp(1.75rem, 15cqi, 3.5rem); }
@media (min-width: 1440px) and (max-width: 1679px) {
  .con-riel .bt-dash { grid-auto-flow: dense; }
  .con-riel .bt-dash__4, .con-riel .bt-dash__6 { grid-column: span 6; }
  .con-riel .bt-dash__8 { grid-column: span 12; }
}
.bt-kpi__serie { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; }
.bt-bob-sugiere__cab { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.bt-bob-sugiere__cab h2 { margin: 2px 0 0; font-size: var(--bt-t-m); }
.bt-bob-sugiere__pie { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--bt-linea); }

/* acciones sugeridas: numerales cromados, la primera destacada */
.bt-acciones { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.bt-acciones__item { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--bt-linea);
  transition: opacity 300ms var(--bt-ease-suave), transform 300ms var(--bt-ease-salida); }
.bt-acciones__item:last-child { border-bottom: 0; }
.bt-acciones__item.cerrada { opacity: 0; transform: translateX(24px); }
.bt-acciones__n { font-size: 1.75rem; font-weight: 700; line-height: 1; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1px var(--bt-acero); padding-top: 2px; }
.bt-acciones__item.principal .bt-acciones__n { background: var(--bt-verde-metal-texto); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0; }
.bt-acciones__cuerpo h3 { font-size: 1rem; margin: 0 0 4px; text-wrap: balance; }
.bt-acciones__item.principal h3 { font-size: var(--bt-t-m); }
.bt-acciones__cuerpo p { margin: 0; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-acciones__pq { font-size: 11px; font-weight: 700; letter-spacing: var(--bt-tr-micro); text-transform: uppercase; color: var(--bt-texto-3); margin-right: 4px; }
.bt-acciones__botones { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; margin-left: -4px; }
.bt-acciones__botones .bt-btn { --_alto: 40px; }
@media (forced-colors: active) { .bt-acciones__n { color: CanvasText; -webkit-text-stroke: 0; -webkit-text-fill-color: CanvasText; } }

/* «Deja lista tu barbería» */
.bt-config .bt-medidor { margin-bottom: 8px; }
.bt-config__lista { list-style: none; margin: 0; padding: 0; }
.bt-config__lista li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; border-bottom: 1px solid var(--bt-linea); padding: 4px 0; transition: opacity 300ms var(--bt-ease-suave); }
.bt-config__lista li:last-child { border-bottom: 0; }
.bt-config__lista li.cerrada { opacity: 0; }
.bt-config__lista a { flex: 1 1 220px; display: flex; align-items: center; gap: 12px; min-height: 56px; color: inherit; text-decoration: none; border-radius: var(--bt-r-s); padding: 4px; }
.bt-config__lista a:hover { background: var(--bt-sup-3); }
.bt-config__titulo { font-weight: 600; }
.bt-config__detalle { font-size: var(--bt-t-chico); color: var(--bt-texto-3); line-height: 1.4; }
.bt-config__lista .bt-btn--texto { margin-left: 52px; }
.bt-aviso--enlace { align-items: center; color: inherit; text-decoration: none; transition: border-color var(--bt-d-hover) var(--bt-ease-suave); }
.bt-aviso--enlace:hover { border-color: var(--bt-borde-control); }
.bt-aviso--enlace p { flex: 1; }
.bt-aviso--enlace > .bt-ico:last-child { color: var(--bt-texto-3); }
@media (min-width: 1024px) { .bt-hoy > .bt-col-12 { grid-column: span 12; } }

/* ---------- Metas ---------- */
.bt-ritmo { width: 100%; height: auto; overflow: visible; display: block; }
.bt-ritmo .base { stroke: var(--bt-linea); stroke-width: 1; }
.bt-ritmo .meta { stroke: var(--bt-cromo); stroke-width: 1.5; stroke-dasharray: 6 6; opacity: .8; }
.bt-ritmo .meta-et { fill: var(--bt-texto-2); font-size: 12px; font-weight: 600; font-family: var(--bt-fuente); font-variant-numeric: tabular-nums; }
.bt-ritmo .area { fill: url(#btRitmoArea); }
.bt-ritmo .acum { fill: none; stroke: var(--bt-verde-luz); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.bt-ritmo .proy { stroke: var(--bt-verde-luz); stroke-width: 2; stroke-dasharray: 3 6; stroke-linecap: round; opacity: .7; }
.bt-ritmo .proy-punto { fill: var(--bt-sup-2); stroke: var(--bt-verde-luz); stroke-width: 2; }
.bt-ritmo .hoy { fill: var(--bt-verde-luz); stroke: var(--bt-sup-2); stroke-width: 3; }
.bt-ritmo text { fill: var(--bt-texto-3); font-size: 12px; font-family: var(--bt-fuente); font-variant-numeric: tabular-nums; }
.bt-ritmo .base, .bt-ritmo .meta, .bt-ritmo .acum, .bt-ritmo .proy { vector-effect: non-scaling-stroke; }
/* el SVG se escala al ancho: en el celular las etiquetas se agrandan en unidades del dibujo para seguir legibles */
@media (max-width: 759px) {
  .bt-ritmo text, .bt-ritmo .meta-et, .bt-barras text { font-size: 24px; }
  .bt-ritmo .hoy { r: 9px; stroke-width: 4; }
  .bt-ritmo .proy-punto { r: 7px; }
}
.bt-ritmo__leyenda { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-ritmo__leyenda span { display: inline-flex; align-items: center; gap: 8px; }
.bt-ritmo__leyenda i { width: 18px; height: 0; border-top: 2.5px solid var(--bt-verde-luz); }
.bt-ritmo__leyenda i.proy { border-top: 2px dashed var(--bt-verde-luz); }
.bt-ritmo__leyenda i.meta { border-top: 2px dashed var(--bt-cromo); }
[data-tema="papel"] .bt-ritmo .meta { stroke: #4A5553; }
[data-tema="papel"] .bt-ritmo .hoy { stroke: var(--bt-sup-1); }
.bt-indicadores { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); }
.bt-indicadores li { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bt-indicadores__cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: var(--bt-t-chico); color: var(--bt-texto-2); font-weight: 600; }
.bt-indicadores__cab .bt-chip { min-height: 24px; font-size: 12px; padding: 0 8px; }
.bt-indicadores__valor { margin: 0; font-size: var(--bt-t-l); line-height: 1.1; }
.bt-indicadores__valor b { font-weight: 600; }
.bt-indicadores__valor span { font-size: var(--bt-t-chico); }
.bt-mini-datos { list-style: none; margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid var(--bt-linea); display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-mini-datos li { display: flex; gap: 8px; }
.bt-mini-datos b { color: var(--bt-texto); }
.bt-barberos-metas { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.bt-barbero-meta { padding: 16px; border-radius: var(--bt-r-m); background: var(--bt-sup-1); border: 1px solid var(--bt-linea); display: flex; flex-direction: column; gap: 14px; }
.bt-barbero-meta header { display: flex; align-items: center; gap: 12px; }
.bt-barbero-meta header > div { flex: 1; min-width: 0; }
.bt-barbero-meta h3 { margin: 0; font-size: var(--bt-t-m); }
.bt-barbero-meta header p { margin: 2px 0 0; }
.bt-barbero-meta .bt-anillo--chico { width: 76px; margin: 0; }
.bt-barbero-meta .bt-anillo--chico .bt-anillo__pct { font-size: 1rem; }
.bt-barbero-meta .bt-anillo--chico .bt-anillo__firma { display: none; }
.bt-barbero-meta > .bt-btn--texto { align-self: flex-start; margin-left: -.6em; }
.bt-notas { display: grid; gap: 6px; margin: 0; font-size: var(--bt-t-chico); color: var(--bt-texto-3); }
.bt-notas span { display: flex; gap: 8px; align-items: flex-start; }
.bt-notas .bt-ico { flex: none; margin-top: 2px; }
.bt-mimes-chat, .bt-bob-pagina { padding: 0; overflow: hidden; display: flex; flex-direction: column; height: min(72vh, 680px); min-height: 460px; }
.bt-mimes-chat { height: min(64vh, 560px); }

/* ---------- Contabilidad ---------- */
.bt-rotulo { margin-bottom: 20px; }
.bt-pestanas--desliza { width: auto; }
@media (max-width: 759px) { .bt-pestanas--desliza { margin-left: -16px; margin-right: -16px; border-radius: 0; border-left: 0; border-right: 0; padding: 6px 12px; } }
/* C37 (séptima ronda): bajo 760 px las 7 pestañas de Contabilidad van en dos filas (4 + 3) con su nombre corto: todas se leen
   completas, sin desplazar ni cortar («C…», «Exportar y…»). Desde 760 px, la fila de siempre con el nombre largo. */
.bt-pestana__corto { display: none; }
@media (max-width: 759px) {
  .bt-pestanas--rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; overflow: visible; }
  .bt-pestanas--rejilla a { justify-content: center; min-width: 0; padding: 0 4px; font-size: .875rem; }
  .bt-pestanas--rejilla .bt-pestana__largo { display: none; }
  .bt-pestanas--rejilla .bt-pestana__corto { display: inline; }
}
.bt-aviso--inicio { margin: 12px 0 0; }
/* C24 (sexta ronda): bajo 1024 px cada tarjeta mide lo que su contenido (en dos columnas, el F29 con tres líneas al pie estiraba
   la del Resultado y la dejaba medio vacía). C36 (séptima ronda): desde 1024 px las cuatro van en UNA fila y quedan parejas
   (stretch): en una sola fila el ojo compara los bordes de abajo, y cuatro alturas distintas (110, 131, 147 y 252 px en la demo
   con General) se leían como un error; el espacio sobrante queda abajo de cada tarjeta y las cifras siguen arriba. */
.bt-rejilla--kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
@media (min-width: 1024px) { .bt-rejilla--kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; } }
.bt-rejilla--kpi > .bt-kpi { container-type: inline-size; min-width: 0; }
.bt-rejilla--kpi .bt-kpi__valor--m { font-size: 1.375rem; font-size: clamp(1.125rem, 14cqi, 2.125rem); white-space: nowrap; }
/* estado de resultados: un libro mayor tipográfico */
.bt-er { list-style: none; margin: 0; padding: 0; }
.bt-er__fila { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--bt-linea); }
.bt-er__fila:last-child { border-bottom: 0; }
.bt-er__et { display: flex; gap: 10px; min-width: 0; align-items: baseline; }
.bt-er__et > i { flex: none; width: 14px; font-style: normal; font-weight: 700; color: var(--bt-texto-3); text-align: center; }
.bt-er__et > span { min-width: 0; }
.bt-er__et small { display: block; font-size: 12px; color: var(--bt-texto-3); line-height: 1.35; margin-top: 2px; }
.bt-er__fila > b { font-weight: 600; white-space: nowrap; }
.bt-er__fila--total { border-bottom: 0; border-top: 1px solid transparent; padding: 12px 0 14px;
  background: linear-gradient(90deg, rgba(244,247,248,.35), rgba(138,149,152,.1) 60%, transparent) top / 100% 1px no-repeat; }
.bt-er__fila--total .bt-er__et { font-weight: 700; padding-left: 24px; }
.bt-er__fila--total > b { font-size: var(--bt-t-m); font-weight: 700; }
.bt-er__fila--total.perdida > b { color: var(--bt-error); }
.bt-er__fila .bt-chip { min-height: 22px; font-size: 11px; padding: 0 8px; vertical-align: 1px; }
.bt-er__aparte { margin-top: 16px; padding: 12px 14px 2px; border-radius: var(--bt-r-m); background: var(--bt-sup-1); }
.bt-er__aparte .bt-micro { margin: 0 0 2px; }
.bt-er--aparte .bt-er__fila { padding: 8px 0; font-size: var(--bt-t-chico); }
.bt-equilibrio__cifra { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.bt-equilibrio__cifra > b { font-size: var(--bt-t-kpi); line-height: 1; font-weight: 600; letter-spacing: var(--bt-tr-kpi); }
.bt-equilibrio__cifra > span { color: var(--bt-texto-2); font-size: var(--bt-t-chico); }
.bt-imp-mini { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; }
.bt-imp-mini > span:first-child { font-size: var(--bt-t-xl); font-weight: 600; line-height: 1.05; letter-spacing: var(--bt-tr-kpi); }
.bt-imp-mini > span:last-child { font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
@media (max-width: 759px) {
  .bt-tabla--tarjetas tr { display: flex; flex-direction: column; }
  .bt-tabla--tarjetas td.principal { order: -1; font-size: var(--bt-t-m); padding-bottom: 6px; }
  .bt-tabla--tarjetas td.acciones { order: 9; gap: 8px; }
}
.bt-celda { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
@media (min-width: 760px) { .bt-celda { justify-content: flex-start; } }
.bt-total-mes { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.bt-total-mes b { font-size: var(--bt-t-l); font-weight: 600; }
/* perfil tributario: tarjetas-radio grandes (borde verde metálico + check) */
.bt-perfiles { display: grid; gap: 10px; border: 0; padding: 0; margin: 0 0 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.bt-perfiles legend { font-size: var(--bt-t-chico); font-weight: 600; color: var(--bt-texto-2); margin-bottom: 8px; padding: 0; }
.bt-perfiles--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.bt-perfiles--lista { grid-template-columns: 1fr; gap: 8px; }
.bt-perfil { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 16px 44px 16px 16px; min-height: 64px; border-radius: var(--bt-r-m); cursor: pointer;
  border: 2px solid transparent; background: linear-gradient(var(--bt-sup-1), var(--bt-sup-1)) padding-box, linear-gradient(var(--bt-linea), var(--bt-linea)) border-box;
  transition: transform var(--bt-d-toque) var(--bt-ease-salida); }
.bt-perfil:active { transform: scale(.99); }
.bt-perfil input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.bt-perfil b { font-weight: 600; line-height: 1.3; }
.bt-perfil small { font-size: var(--bt-t-chico); color: var(--bt-texto-3); line-height: 1.45; }
.bt-perfil__ico { color: var(--bt-texto-3); }
.bt-perfil__check { position: absolute; top: 14px; right: 14px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--bt-borde-control); color: transparent; }
.bt-perfil__check .bt-ico { width: 14px; height: 14px; stroke-width: 3; }
.bt-perfil:has(input:checked) { background: linear-gradient(var(--bt-sup-3), var(--bt-sup-3)) padding-box, var(--bt-verde-metal) border-box; }
.bt-perfil:has(input:checked) .bt-perfil__check { background: var(--bt-verde-metal); border-color: transparent; color: var(--bt-grafito); }
.bt-perfil:has(input:checked) .bt-perfil__ico { color: var(--bt-verde-luz); }
.bt-perfil:has(input:focus-visible) { outline: 2px solid var(--bt-verde-luz); outline-offset: 2px; }
.bt-perfil--fila { min-height: 56px; justify-content: center; padding: 12px 44px 12px 16px; }
.bt-perfil--fila .bt-perfil__check { top: 50%; margin-top: -11px; }
.bt-sufijo { position: relative; }
.bt-sufijo input { padding-right: 40px !important; font-variant-numeric: tabular-nums; }
.bt-sufijo > span { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--bt-texto-3); font-weight: 600; pointer-events: none; }
.bt-fuentes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.bt-fuente { display: inline-flex; align-items: flex-start; gap: 6px; max-width: 100%; padding: 4px 10px; border-radius: var(--bt-r-s); background: var(--bt-sup-1); border: 1px solid var(--bt-linea); font-size: 12px; color: var(--bt-texto-2); line-height: 1.4; }
.bt-fuente > span { min-width: 0; overflow-wrap: anywhere; }
.bt-fuente .bt-ico { width: 14px; height: 14px; color: var(--bt-ok); margin-top: 2px; }
.bt-ppm { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--bt-linea); }
.bt-ppm .bt-campo { flex: 1 1 220px; margin: 0; }
.bt-calendario { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bt-calendario li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; }
.bt-calendario__fecha { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 60px; border-radius: var(--bt-r-m); background: var(--bt-sup-1); border: 1px solid var(--bt-linea); text-align: center; line-height: 1.1; }
.bt-calendario__fecha b { font-size: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; text-transform: capitalize; }
.bt-calendario__fecha small { font-size: 11px; color: var(--bt-texto-3); text-transform: uppercase; letter-spacing: .06em; }
.bt-calendario li > div { display: flex; flex-direction: column; gap: 2px; padding-top: 4px; }
.bt-calendario__cuando { font-size: var(--bt-t-chico); color: var(--bt-verde-luz); font-weight: 600; }
.bt-calendario li small { font-size: 12px; color: var(--bt-texto-3); line-height: 1.45; }
.bt-avisos-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bt-avisos-lista li { display: flex; gap: 10px; align-items: flex-start; font-size: var(--bt-t-chico); color: var(--bt-texto-2); }
.bt-avisos-lista .bt-ico { flex: none; color: var(--bt-alerta); margin-top: 1px; }
.bt-requisitos { margin: 0; padding-left: 20px; font-size: var(--bt-t-chico); color: var(--bt-texto-2); display: grid; gap: 4px; }
.bt-detalles summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; cursor: pointer; list-style: none; }
.bt-detalles summary::-webkit-details-marker { display: none; }
.bt-detalles summary > span { display: flex; flex-direction: column; }
.bt-detalles summary small { color: var(--bt-texto-3); font-size: var(--bt-t-chico); }
.bt-detalles summary .bt-ico { transition: transform var(--bt-d-hover) var(--bt-ease-salida); color: var(--bt-texto-3); }
.bt-detalles[open] summary .bt-ico { transform: rotate(180deg); }
.bt-parametros { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 0; }
.bt-parametros li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 10px 0; border-bottom: 1px solid var(--bt-linea); align-items: baseline; }
.bt-parametros li:last-child { border-bottom: 0; }
.bt-parametros__clave { font-size: var(--bt-t-chico); font-weight: 600; text-transform: capitalize; }
.bt-parametros .bt-fuente { grid-column: 1 / -1; justify-self: start; }
/* guía de costos: un paso a la vez */
.bt-guia { display: grid; gap: 16px; }
@media (min-width: 1024px) { .bt-guia { grid-template-columns: 300px minmax(0, 1fr); align-items: start; gap: 24px; } .bt-guia__lado { position: sticky; top: 88px; } }
.bt-guia__lado { padding: 16px; }
.bt-guia__avance .bt-anillo { width: 132px; }
.bt-guia__pasos summary { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; margin-top: 8px; cursor: pointer; color: var(--bt-verde-luz); font-weight: 600; font-size: var(--bt-t-chico); list-style: none; }
.bt-guia__pasos summary::-webkit-details-marker { display: none; }
.bt-guia__pasos[open] summary .bt-ico { transform: rotate(180deg); }
@media (min-width: 1024px) { .bt-guia__pasos summary { display: none; } }
.bt-guia__pasos ol { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 2px; }
.bt-guia__item { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 4px 8px; border-radius: var(--bt-r-s); border: 0; background: none; color: var(--bt-texto-2); text-align: left; cursor: pointer; font: inherit; }
.bt-guia__item:hover { background: var(--bt-sup-3); }
.bt-guia__item.actual { background: var(--bt-sup-3); color: var(--bt-texto); box-shadow: inset 2px 0 0 var(--bt-verde-luz); }
.bt-guia__n { flex: none; width: 26px; font-size: 12px; font-weight: 700; color: var(--bt-texto-3); }
.bt-guia__t { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: var(--bt-t-chico); font-weight: 600; line-height: 1.25; }
.bt-guia__t small { font-weight: 500; font-size: 11px; color: var(--bt-texto-3); }
.bt-guia__item .bt-ico { color: var(--bt-texto-3); }
.bt-guia__item.listo .bt-ico { color: var(--bt-ok); }
.bt-guia__item.omitido { opacity: .7; }
.bt-guia__paso { padding: 24px; }
@media (min-width: 1024px) { .bt-guia__paso { padding: 32px 36px; } }
.bt-guia__pregunta { font-size: var(--bt-t-xl); letter-spacing: -.03em; margin: 6px 0 10px; max-width: 24ch; }
.bt-guia__paso .bt-monto input { font-size: 1.375rem; min-height: 60px; }
.bt-guia__botones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.bt-guia__botones .bt-btn--primario { margin-left: auto; }
@media (max-width: 479px) { .bt-guia__botones .bt-btn--primario { flex: 1 1 100%; margin-left: 0; order: -1; } }
.bt-guia__fin { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.bt-guia__fin .bt-anillo { margin: 0 0 8px; width: 160px; }

/* ---------- Bob e informes ---------- */
.bt-asesor--mimes .bt-asesor__mensajes { min-height: 200px; }
.bt-informe-tipo[aria-current="page"] { box-shadow: var(--bt-brillo-verde); }
.bt-papel__cab { flex-wrap: wrap; }
.bt-papel__cab > div { flex: 1; min-width: 180px; }
.bt-papel__fecha { margin: 0; font-size: 12px; color: var(--bt-texto-3); align-self: flex-end; }
.bt-papel__cuerpo h2 { font-size: 1.0625rem; margin: 26px 0 10px; letter-spacing: -.01em; }
.bt-papel__cuerpo h3 { font-size: .9375rem; margin: 18px 0 8px; }
.bt-papel__cuerpo p { font-size: .9375rem; }
.bt-papel__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0; border: 1px solid var(--bt-linea); border-radius: 6px; overflow: hidden; }
.bt-papel__kpis > div { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-right: 1px solid var(--bt-linea); }
.bt-papel__kpis > div:last-child { border-right: 0; }
.bt-papel__kpis span { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--bt-texto-3); font-weight: 600; }
.bt-papel__kpis b { font-size: 1.375rem; font-weight: 700; letter-spacing: -.02em; }
.bt-tabla--papel { font-size: .875rem; }
.bt-tabla--papel th { background: transparent; }
.bt-tabla--papel td { padding: 8px 10px; }
.bt-tabla--papel tr.total td { border-top: 1.5px solid var(--bt-texto); }
.bt-papel__rotulo { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1.5px solid var(--bt-alerta); border-radius: 6px; color: var(--bt-texto); font-size: .875rem; }
.bt-papel__rotulo .bt-ico { width: 18px; height: 18px; color: var(--bt-alerta); }
.bt-papel__lista { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: .9375rem; }
.bt-papel__vacio { color: var(--bt-texto-2); font-style: italic; }
.bt-papel__marca { display: inline-flex; align-items: center; gap: 8px; }
.bt-papel__marca img { width: 18px; height: auto; }
.bt-papel .bt-barras { max-height: 180px; }
@media (max-width: 759px) { .bt-papel__kpis > div { border-right: 0; border-bottom: 1px solid var(--bt-linea); } .bt-papel__kpis > div:last-child { border-bottom: 0; } }
/* Escéptico E8: a 360 px una tabla con encabezados (por barbero, clientes nuevos, metas) medía 483 px en una hoja de 344 px.
   En pantalla angosta cada fila pasa a ser una tarjeta con el rótulo de cada celda; al imprimir vuelve a ser tabla. */
@media screen and (max-width: 480px) {
  .bt-papel { padding: 24px 16px; }
  .bt-tabla--papel.bt-tabla--cab thead { display: none; }
  .bt-tabla--papel.bt-tabla--cab, .bt-tabla--papel.bt-tabla--cab tbody, .bt-tabla--papel.bt-tabla--cab tr, .bt-tabla--papel.bt-tabla--cab td { display: block; width: 100%; }
  .bt-tabla--papel.bt-tabla--cab tr { padding: 8px 0; border-bottom: 1px solid var(--bt-linea); }
  .bt-tabla--papel.bt-tabla--cab td { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; border: 0; text-align: right; white-space: normal; overflow-wrap: anywhere; }
  .bt-tabla--papel.bt-tabla--cab td::before { content: attr(data-l); flex: none; color: var(--bt-texto-3); font-size: 12px; text-align: left; }
  .bt-tabla--papel.bt-tabla--cab td:first-child { font-weight: 600; text-align: left; }
  .bt-tabla--papel td { overflow-wrap: anywhere; }
}

/* ---------- impresión de informes ---------- */
@page { size: A4; margin: 16mm; }
@media print {
  body { background: var(--bt-sup-1); }
  .bt-lateral, .bt-barra-sup, .bt-tabbar, .bt-riel, .bt-avisos, .bt-cab, .bt-no-imprimir, dialog { display: none !important; }
  .bt-shell { display: block; }
  .bt-vista { padding: 0; max-width: none; }
  .bt-pantalla { animation: none; }
  .bt-papel-marco { margin: 0; padding: 0; overflow: visible; }
  .bt-papel { width: auto; box-shadow: none; padding: 0; min-height: 0; background: var(--bt-sup-1); }
  .bt-tarjeta { box-shadow: none; background: var(--bt-sup-1); border: 1px solid var(--bt-linea); }
  a { color: inherit; text-decoration: none; }
  .bt-firma, .bt-informes, .bt-informe-acciones { display: none !important; }
  .bt-papel__cuerpo h2, .bt-papel__cuerpo h3 { break-after: avoid; page-break-after: avoid; }
  .bt-tabla--papel tr, .bt-papel__kpis, .bt-ritmo, .bt-barras { break-inside: avoid; page-break-inside: avoid; }
  .bt-papel__lectura { break-before: auto; }
  .bt-papel__pie { position: static; }
}
