/* PWA safe-area support; avoids placing controls under iPhone Home indicator. */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .content-area { padding-bottom: env(safe-area-inset-bottom); }
  .sidebar { padding-bottom: env(safe-area-inset-bottom); }
  dialog.modal[open] { max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .modal-footer { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}
.appbanhang-offline-banner:not([hidden]) {position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:2147483647;padding:12px 16px;border-radius:12px;background:#7f1d1d;color:#fff;text-align:center;font:600 15px system-ui,Arial;box-shadow:0 4px 20px #0003;}

/* V007.11.14: installation entry on the login page. */
.pwa-install-trigger {
  display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;margin-top:14px;padding:12px 14px;
  border:1px solid #a9c1e7;border-radius:9px;
  background:#f5f8ff;color:#184c9b;font:700 16px system-ui,Arial;
  cursor:pointer;transition:background .15s ease,border-color .15s ease;
}
.pwa-install-trigger:hover {background:#eaf2ff;border-color:#447ccc;}
.pwa-install-trigger:focus-visible,.pwa-install-close:focus-visible,.pwa-install-confirm:focus-visible {
  outline:3px solid #77a5ff;outline-offset:3px;
}
.pwa-install-trigger[hidden],.pwa-install-backdrop[hidden],
.pwa-install-platform[hidden],.pwa-install-https-note[hidden] {display:none!important;}
.pwa-install-trigger svg {height:18px;width:18px;flex:none;}
.pwa-install-hint {margin:7px 0 0;text-align:center;color:#64748b;font:12px/1.5 system-ui,Arial;}
/* Global scroll lock is managed by overlay-manager.js. */
.pwa-install-backdrop {
  position:fixed;inset:0;z-index:2147483000;
  display:flex;align-items:center;justify-content:center;
  padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));
  background:rgba(10,22,42,.7);overscroll-behavior:contain;
}
.pwa-install-dialog {
  width:min(440px,100%);max-height:calc(100dvh - 40px);
  overflow-y:auto;overscroll-behavior:contain;
  border-radius:18px;background:white;padding:22px;
  color:#20304a;box-shadow:0 20px 55px #0005;
  font:14px/1.6 system-ui,Arial;
}
.pwa-install-header {display:flex;align-items:start;gap:12px;}
.pwa-install-icon {height:54px;width:54px;flex:none;border-radius:13px;object-fit:contain;}
.pwa-install-heading {flex:1;min-width:0;}
.pwa-install-heading h2 {margin:0;color:#153d73;font-size:19px;line-height:1.3;}
.pwa-install-heading p {margin:4px 0 0;color:#60718a;font-size:14px;}
.pwa-install-close {flex:none;background:#f1f5fa;color:#34455f;border:0;border-radius:8px;
  font:700 22px/1 system-ui,Arial;width:38px;min-width:38px;height:38px;padding:0;min-height:38px;margin:0;cursor:pointer;}
.pwa-install-platform {margin-top:20px;}
.pwa-install-steps {padding-left:25px;margin:0;}
.pwa-install-steps li {padding-left:3px;margin:11px 0;}
.pwa-install-steps li::marker {color:#1c59ad;font-weight:800;}
.pwa-install-https-note {background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;
  margin:18px 0 0;padding:10px 12px;border-radius:10px;font-size:14px;}
.pwa-install-confirm {display:block;width:100%;margin-top:22px;padding:12px;border:0;
  border-radius:9px;background:#1857a1;color:white;font:700 16px system-ui,Arial;cursor:pointer;}
@media(max-width:600px){
  .pwa-install-dialog {padding:20px;max-height:calc(100dvh - max(18px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)));}
  .pwa-install-backdrop {padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));}
}
