/* KIT stable PWA/mobile helpers.
   Stable mode intentionally avoids overriding Bootstrap/ui-clean visual styles. */
:root {
  --kit-safe-bottom: env(safe-area-inset-bottom, 0px);
}
html.kit-f7-lite,
html.device-pwa,
html.kit-f7-lite body,
html.device-pwa body {
  min-height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
body.kit-f7-mobile {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.kit-install-fab {
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--kit-safe-bottom));
  z-index: 2000;
  display: none;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  background: var(--kit-accent, #f4c542);
  color: #101827;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
.kit-install-fab.is-visible { display: inline-flex; }
.kit-install-fab svg { width: 18px; height: 18px; }
.kit-f7-toast {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(18px + var(--kit-safe-bottom));
  z-index: 1999;
  display: none;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .96);
  color: #fff;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
  font-size: .92rem;
}
.kit-f7-toast.is-visible { display: block; }
@media (min-width: 768px) {
  .kit-install-fab { right: 24px; bottom: 24px; }
  .kit-f7-toast { left: auto; width: 340px; right: 24px; bottom: 24px; }
}

/* FIX19: fallback visible switches before ui-clean loads */
.form-switch .form-check-input,
.form-check.form-switch .form-check-input{
  -webkit-appearance:none!important;appearance:none!important;width:3.25rem!important;min-width:3.25rem!important;height:1.65rem!important;border-radius:999px!important;border:2px solid #f1f5f9!important;background-color:#d1d5db!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3e%3ccircle cx='9' cy='9' r='7' fill='%23ffffff'/%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-size:1.18rem 1.18rem!important;background-position:left .22rem center!important;opacity:1!important;filter:none!important;box-shadow:0 0 0 1px rgba(15,23,42,.22), inset 0 1px 3px rgba(15,23,42,.22)!important;cursor:pointer!important
}
.form-switch .form-check-input:checked,
.form-check.form-switch .form-check-input:checked{background-color:#0d6efd!important;border-color:#0d6efd!important;background-position:right .22rem center!important}
