/* KaziCollect PWA install UI — deliberately high-specificity on the public
   CTA so Elementor/theme global button colours cannot recolour it. */
button.kc-pwa-install-button,
.kc-pwa-install-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #17513E !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  font-style: normal !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}
button.kc-pwa-install-button:hover,
.kc-pwa-install-button:hover {
  background: #1d5f49 !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(6,63,54,.16) !important;
  transform: translateY(-1px);
}
button.kc-pwa-install-button:active,
.kc-pwa-install-button:active { transform: scale(.985); }
button.kc-pwa-install-button:focus-visible,
.kc-pwa-install-banner__action:focus-visible,
.kc-pwa-install-banner__close:focus-visible,
.kc-pwa-install-modal button:focus-visible {
  outline: 3px solid rgba(23,81,62,.28) !important;
  outline-offset: 3px !important;
}

button.kc-pwa-install-button--primary,
.kc-pwa-install-button--primary {
  width: min(100%, 380px) !important;
  min-height: 66px !important;
  padding: 16px 26px !important;
  border-radius: 17px !important;
  background: #17513E !important;
  color: #ffffff !important;
  font-size: 18px !important;
}
button.kc-pwa-install-button--compact,
.kc-pwa-install-button--compact {
  min-height: 46px !important;
  padding: 11px 17px !important;
  border-radius: 13px !important;
  background: #edf4f1 !important;
  color: #17513E !important;
  font-size: 14px !important;
}
button.kc-pwa-install-button--link,
.kc-pwa-install-button--link {
  min-height: auto !important;
  padding: 5px !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #17513E !important;
  box-shadow: none !important;
}

.kc-pwa-install-button > span,
button.kc-pwa-install-button > span {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
.kc-pwa-install-button__icon,
button.kc-pwa-install-button .kc-pwa-install-button__icon {
  display: inline-flex !important;
  flex: 0 0 24px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  color: #ffffff !important;
}
.kc-pwa-install-button__icon svg,
button.kc-pwa-install-button .kc-pwa-install-button__icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  fill: currentColor !important;
  stroke: none !important;
}
.kc-pwa-install-button[data-kc-installing="1"] { opacity: .78 !important; cursor: progress !important; }
.kc-pwa-install-button[data-kc-installed="1"] {
  background: #edf4f1 !important;
  color: #17513E !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.kc-pwa-install-button[data-kc-installed="1"] .kc-pwa-install-button__icon { color: #17513E !important; }

.kc-pwa-install-banner[hidden],
.kc-pwa-install-modal[hidden],
.kc-pwa-install-toast[hidden] { display: none !important; }
.kc-pwa-install-banner {
  position: fixed;
  z-index: 2147483000;
  left: max(12px,env(safe-area-inset-left));
  right: max(12px,env(safe-area-inset-right));
  bottom: max(12px,calc(env(safe-area-inset-bottom) + 10px));
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  max-width: 610px;
  margin: 0 auto;
  padding: 12px 12px 12px 13px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(10,77,60,.12);
  border-radius: 18px;
  box-shadow: 0 16px 45px rgba(5,54,40,.23);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.kc-pwa-install-banner__icon { width:52px;height:52px;border-radius:13px;box-shadow:0 4px 11px rgba(10,77,60,.12) }
.kc-pwa-install-banner__copy { min-width:0;display:flex;flex-direction:column;gap:3px;color:#153a30 }
.kc-pwa-install-banner__copy strong { font-size:14px;line-height:1.25 }
.kc-pwa-install-banner__copy span { font-size:11.5px;line-height:1.35;color:#63776f }
.kc-pwa-install-banner__action {
  border:0 !important;border-radius:12px !important;min-height:42px;padding:9px 14px !important;
  background:#17513E !important;color:#fff !important;font:800 12.5px/1.1 Inter,ui-sans-serif,system-ui,sans-serif !important;
  cursor:pointer;white-space:nowrap;
}
.kc-pwa-install-banner__close { position:absolute;right:-6px;top:-8px;width:24px;height:24px;border:1px solid #dce7dd;border-radius:50%;background:#fff;color:#53665f;box-shadow:0 3px 8px rgba(0,0,0,.1);cursor:pointer;font:700 18px/18px Arial,sans-serif;padding:0 }

html.kc-pwa-install-modal-open,html.kc-pwa-install-modal-open body { overflow:hidden }
.kc-pwa-install-modal { position:fixed;z-index:2147483640;inset:0;display:grid;place-items:center;padding:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.kc-pwa-install-modal__backdrop { position:absolute;inset:0;background:rgba(5,31,24,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px) }
.kc-pwa-install-modal__card { position:relative;width:min(100%,430px);max-height:min(82vh,650px);overflow:auto;background:#fff;border-radius:24px;padding:27px 24px 22px;color:#183b31;box-shadow:0 30px 80px rgba(0,0,0,.3);outline:0 }
.kc-pwa-install-modal__appicon { display:block;margin:0 auto 13px;border-radius:18px;box-shadow:0 7px 18px rgba(11,77,60,.15) }
.kc-pwa-install-modal h2 { margin:0 0 13px;text-align:center;font-size:24px;line-height:1.15;color:#0B3D2E }
.kc-pwa-install-modal p { margin:10px 0;font-size:14px;line-height:1.55;color:#4d635b }
.kc-pwa-install-modal ol { margin:13px 0 12px;padding-left:23px }
.kc-pwa-install-modal li { margin:9px 0;font-size:14px;line-height:1.5 }
.kc-pwa-install-modal__note { padding:10px 12px;border-radius:11px;background:#f1f7ee;color:#4b6758!important }
.kc-pwa-install-modal__close { position:absolute;right:13px;top:11px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f5f0;color:#53675f;font:700 23px/1 Arial,sans-serif;cursor:pointer }
.kc-pwa-install-modal__done { display:block;width:100%;min-height:48px;margin-top:18px;border:0;border-radius:13px;background:#17513E;color:#fff;font:800 15px/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer }

.kc-pwa-install-toast {
  position: fixed;
  z-index: 2147483641;
  left: 50%;
  bottom: max(24px, calc(env(safe-area-inset-bottom) + 18px));
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100vw - 32px);
  padding: 12px 18px;
  border-radius: 14px;
  background: #ffffff;
  color: #fff;
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
  font: 700 14px/1.35 Inter,ui-sans-serif,system-ui,sans-serif;
  text-align: center;
}

@media (min-width:901px) { .kc-pwa-install-banner { display:none!important } }
@media (max-width:520px) {
  button.kc-pwa-install-button--primary,
  .kc-pwa-install-button--primary {
    width: min(100%, 360px) !important;
    min-height: 62px !important;
    padding: 14px 20px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    gap: 10px !important;
  }
  .kc-pwa-install-button__icon,
  button.kc-pwa-install-button .kc-pwa-install-button__icon,
  .kc-pwa-install-button__icon svg,
  button.kc-pwa-install-button .kc-pwa-install-button__icon svg { width:22px !important;height:22px !important;flex-basis:22px !important }
  .kc-pwa-install-banner { grid-template-columns:44px minmax(0,1fr) auto;gap:9px;padding:10px }
  .kc-pwa-install-banner__icon { width:44px;height:44px;border-radius:11px }
  .kc-pwa-install-banner__copy span { display:none }
  .kc-pwa-install-banner__action { padding:8px 11px !important;font-size:12px !important }
  .kc-pwa-install-modal__card { border-radius:21px;padding:25px 20px 20px }
}


/* Rich iPhone/iPad installation guide. Built as real HTML so it stays sharp,
   accessible and responsive instead of relying on a screenshot. */
.kc-pwa-install-modal--ios .kc-pwa-install-modal__card {
  width:min(100%,560px);
  max-height:min(90vh,760px);
  padding:26px 24px 22px;
  border:1px solid rgba(11,77,60,.10);
  background:linear-gradient(180deg,#ffffff 0%,#fbfefb 100%);
}
.kc-pwa-install-modal--ios .kc-pwa-install-modal__appicon {
  width:64px;height:64px;margin-bottom:10px;border-radius:17px;
}
.kc-pwa-install-modal--ios h2 { font-size:24px;margin-bottom:8px; }
.kc-ios-install-guide { display:flex;flex-direction:column;gap:10px;margin-top:4px; }
.kc-ios-install-intro { margin:0 0 4px!important;text-align:center;color:#5b6d66!important;font-size:13.5px!important; }
.kc-ios-install-step {
  display:grid;grid-template-columns:34px 44px minmax(0,1fr);align-items:center;gap:11px;
  padding:12px;border:1px solid #e4eee8;border-radius:16px;background:#fff;
  box-shadow:0 5px 16px rgba(11,77,60,.05);
}
.kc-ios-install-number {
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#17513E;color:#fff;
  font:800 14px/1 Inter,ui-sans-serif,system-ui,sans-serif;
}
.kc-ios-install-symbol {
  display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf8ed;color:#17513E;
  font:800 22px/1 Inter,ui-sans-serif,system-ui,sans-serif;
}
.kc-ios-install-symbol svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.kc-ios-install-symbol--square { border:1.5px solid #6ea691;background:#f4fbf3;font-size:25px;font-weight:500; }
.kc-ios-install-symbol--add { width:46px;font-size:11px;border:1.5px solid #17513E;background:#f5fbf4; }
.kc-ios-install-copy { min-width:0;display:flex;flex-direction:column;gap:3px; }
.kc-ios-install-copy strong { color:#103f32;font-size:14.5px;line-height:1.25; }
.kc-ios-install-copy small { color:#697b74;font-size:12px;line-height:1.4; }
.kc-ios-install-copy b { color:#315c4f;font-weight:750; }
.kc-ios-install-success {
  display:flex;align-items:center;gap:11px;margin-top:2px;padding:12px 13px;border-radius:15px;background:#edf8ed;color:#195d35;
}
.kc-ios-install-success > span { display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#17513E;color:#fff;font-weight:900; }
.kc-ios-install-success div { display:flex;flex-direction:column;gap:2px; }
.kc-ios-install-success strong { font-size:13.5px; }
.kc-ios-install-success small { font-size:11.8px;line-height:1.35;color:#527061; }
.kc-ios-install-browser-note {
  display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:13px;background:#f7f3e8;border:1px solid #e4dbc0;
}
.kc-ios-install-browser-note strong { font-size:12.5px;color:#67542a; }
.kc-ios-install-browser-note span { font-size:11.5px;line-height:1.35;color:#736547; }
.kc-pwa-install-modal--ios .kc-pwa-install-modal__done { background:#0B3D2E; }
@media (max-width:520px) {
  .kc-pwa-install-modal--ios { padding:10px;align-items:end; }
  .kc-pwa-install-modal--ios .kc-pwa-install-modal__card { width:100%;max-height:92vh;border-radius:24px 24px 18px 18px;padding:23px 16px 17px; }
  .kc-pwa-install-modal--ios h2 { font-size:21px;padding:0 24px; }
  .kc-ios-install-step { grid-template-columns:30px 40px minmax(0,1fr);gap:8px;padding:10px; }
  .kc-ios-install-number { width:28px;height:28px;font-size:13px; }
  .kc-ios-install-symbol { width:38px;height:38px;border-radius:11px; }
  .kc-ios-install-symbol--add { width:40px;font-size:10px; }
  .kc-ios-install-copy strong { font-size:13.5px; }
  .kc-ios-install-copy small { font-size:11.2px; }
}


/* v4.3.45 installed-app recovery / Home Screen icon restore guide. */
.kc-pwa-install-modal--restore .kc-pwa-install-modal__card {
  width:min(100%,500px);
  max-height:min(88vh,720px);
  background:linear-gradient(180deg,#fff 0%,#fbfefc 100%);
  border:1px solid rgba(11,77,60,.10);
}
.kc-pwa-restore-guide { display:flex;flex-direction:column;gap:11px; }
.kc-pwa-restore-status {
  display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:15px;
  background:#edf8ed;color:#195d35;
}
.kc-pwa-restore-status > span {
  display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  background:#17513E;color:#fff;font-weight:900;
}
.kc-pwa-restore-status > div { display:flex;flex-direction:column;gap:2px; }
.kc-pwa-restore-status strong { font-size:14px; }
.kc-pwa-restore-status small { color:#567064;font-size:11.8px;line-height:1.35; }
.kc-pwa-restore-guide > p { margin:2px 2px 0!important;font-size:13px!important; }
.kc-pwa-restore-step {
  display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;
  padding:12px;border:1px solid #e4eee8;border-radius:15px;background:#fff;
}
.kc-pwa-restore-step > span {
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dff3e8;
  color:#17513E;font:800 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;
}
.kc-pwa-restore-step > div { display:flex;flex-direction:column;gap:3px;min-width:0; }
.kc-pwa-restore-step strong { color:#103f32;font-size:13.5px;line-height:1.3; }
.kc-pwa-restore-step small { color:#697b74;font-size:11.8px;line-height:1.45; }
.kc-pwa-restore-step b { color:#315c4f;font-weight:750; }
.kc-pwa-install-modal__secondary {
  display:block;width:100%;min-height:46px;margin-top:2px;padding:11px 16px;border:1px solid #b9d8c8!important;
  border-radius:13px!important;background:#f4fbf7!important;color:#17513E!important;
  font:800 14px/1.1 Inter,ui-sans-serif,system-ui,sans-serif!important;cursor:pointer;
}
.kc-pwa-install-modal__secondary:disabled { opacity:.65;cursor:progress; }
@media (max-width:520px) {
  .kc-pwa-install-modal--restore { padding:10px;align-items:end; }
  .kc-pwa-install-modal--restore .kc-pwa-install-modal__card { width:100%;max-height:92vh;border-radius:24px 24px 18px 18px;padding:23px 16px 17px; }
}

/* v4.3.73 two-level PWA recovery / clean-device reset. */
.kc-pwa-reset-options { gap:12px; }
.kc-pwa-reset-choice {
  display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;
  padding:14px;border:1px solid #dfece5;border-radius:17px;background:#fff;
  box-shadow:0 6px 18px rgba(11,61,46,.05);
}
.kc-pwa-reset-choice__icon {
  display:grid;place-items:center;width:40px;height:40px;border-radius:13px;
  background:#e8f6ee;color:#17513E;font:900 20px/1 Inter,ui-sans-serif,system-ui,sans-serif;
}
.kc-pwa-reset-choice__copy { min-width:0;display:flex;flex-direction:column;gap:4px;padding-top:1px; }
.kc-pwa-reset-choice__copy strong { color:#103f32;font-size:14.5px;line-height:1.25; }
.kc-pwa-reset-choice__copy small { color:#65766f;font-size:11.8px;line-height:1.45; }
.kc-pwa-reset-choice > button { grid-column:1 / -1;margin-top:2px; }
.kc-pwa-reset-choice--full { border-color:#f0d5cf;background:#fffafa; }
.kc-pwa-reset-choice--full .kc-pwa-reset-choice__icon { background:#fff0ed;color:#a33b2f; }
.kc-pwa-install-modal__danger {
  background:#fff4f1!important;color:#9e3328!important;border:1px solid #efc7c0!important;
}
.kc-pwa-install-modal__done.kc-pwa-install-modal__danger {
  background:#a63a2e!important;color:#fff!important;border:0!important;
}
.kc-pwa-reset-options-link { margin-top:12px!important; }
.kc-pwa-restore-status--warning { background:#fff5e8;color:#8b4e10; }
.kc-pwa-restore-status--warning > span { background:#ef7d18;color:#fff; }
.kc-pwa-restore-status--warning small { color:#8b6844; }
.kc-pwa-reset-list {
  margin:0;padding:0 0 0 22px;color:#52675e;font-size:12.5px;line-height:1.55;
}
.kc-pwa-reset-list li { margin:3px 0; }
.kc-pwa-repair-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch; }
.kc-pwa-repair-actions > button { margin-top:0!important; }
@media(max-width:520px){
  .kc-pwa-reset-choice { grid-template-columns:38px minmax(0,1fr);padding:12px;gap:9px; }
  .kc-pwa-reset-choice__icon { width:36px;height:36px;border-radius:11px;font-size:18px; }
  .kc-pwa-repair-actions { grid-template-columns:1fr; }
}
