/* Cobro seguro y avisos de conexión que dicen la verdad (D-231) */

/* Diálogo que no se puede cerrar mientras confirma una venta */
dialog.bloqueado .d-cab .btn-icono:disabled { opacity: .35; cursor: progress; }
dialog.bloqueado { cursor: progress; }

/* Avisos: los de peligro quedan hasta tocarlos */
.toast.t-fijo { cursor: pointer; padding-right: .55rem; }
.toast .toast-cerrar { flex: none; margin-left: auto; display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: inherit; opacity: .7; cursor: pointer; }
.toast .toast-cerrar:hover, .toast .toast-cerrar:focus-visible { opacity: 1; background: rgba(255, 255, 255, .12); }

/* Botón grande de cobro con la caja cerrada */
.total .btn-cobrar.abrir-para-cobrar { gap: .55rem; }
.total .cobrar-sin-caja .ayuda { margin-top: .5rem; color: rgba(255, 255, 255, .82); font-size: .85rem; text-align: center; }

/* Venta que ya estaba cobrada */
.exito.ya-cobrada .sello { background: var(--aviso-suave); color: var(--aviso); }
.exito.ya-cobrada .aviso { text-align: left; margin: .8rem 0; }

/* Franja de la caja según la falla */
.franja-red.rechazada { background: var(--peligro-suave); color: var(--peligro-tinta, var(--texto)); border-bottom-color: var(--peligro-linea); }
.franja-red.rechazada .icono { color: var(--peligro); }
.franja-red.central-caida .icono { animation: none; }

/* El sistema de esta computadora no responde: un único aviso fijo */
.aviso-motor {
  position: fixed; z-index: 60; left: 50%; top: calc(env(safe-area-inset-top, 0px) + 12px); transform: translateX(-50%);
  width: min(560px, calc(100vw - 32px)); display: flex; gap: .75rem; align-items: flex-start;
  padding: .9rem 1.1rem; border-radius: var(--r-l); background: var(--peligro-suave); color: var(--texto);
  border: 1px solid var(--peligro-linea); box-shadow: var(--sombra-3); font-size: .92rem; line-height: 1.4;
  -webkit-backdrop-filter: blur(20px) saturate(1.5); backdrop-filter: blur(20px) saturate(1.5);
  animation: brotar .32s var(--resorte);
}
.aviso-motor .icono { flex: none; color: var(--peligro); margin-top: .1rem; }
.aviso-motor.sale { opacity: 0; transition: opacity .24s ease; }

/* "No se puede abrir el sistema" */
.sin-sistema .ss-tarjeta { text-align: center; display: grid; justify-items: center; gap: .4rem; }
.sin-sistema .ss-icono { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--peligro-suave); color: var(--peligro); margin-bottom: .4rem; }
.sin-sistema .sub { margin-bottom: 1rem; }
.sin-sistema .ss-estado { color: var(--texto-3); font-size: .84rem; margin-top: .6rem; min-height: 1.2em; font-variant-numeric: tabular-nums; }

/* Pantallas que se usan en otro lugar (Caja en la administración, ajustes de la administración en una caja) */
.solo-local .sl-cuerpo { display: grid; justify-items: center; text-align: center; gap: .5rem; padding: 2.2rem 1.2rem; max-width: 520px; margin: 0 auto; }
.solo-local .sl-icono { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: rgb(var(--marca-rgb) / .1); color: rgb(var(--marca-rgb)); margin-bottom: .4rem; }
.solo-local h2 { font-size: 1.2rem; }
.solo-local .sl-acciones { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: .8rem; }

/* Cambiar mi clave en una caja */
.clave-caja { display: grid; gap: .6rem; }

@media (prefers-reduced-motion: reduce) {
  .aviso-motor { animation: none; }
  .aviso-motor.sale { transition: none; }
}
