/* Build 005S — Member session resolution, Memory stack/viewer, responsive security, footer cohesion. */
.member-session-resolution{display:none}
body.member-session-resolving #passportGateway,body.member-session-resolving #memberPage{visibility:hidden!important;pointer-events:none!important}
body.member-session-resolving .member-session-resolution{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;background:linear-gradient(160deg,#f8fbfa,#edf4ef);color:#173b4b}
.member-session-resolution-card{display:grid;justify-items:center;gap:12px;padding:28px;text-align:center}
.member-session-resolution-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#123d50;color:#fff;font:850 18px/1 Georgia,serif;letter-spacing:.08em;box-shadow:0 16px 40px rgba(10,43,59,.16)}
.member-session-resolution-card strong{font-size:13px;letter-spacing:.08em}.member-session-resolution-card p{margin:0;color:#71817a;font-size:12px}
.member-session-resolution-line{width:96px;height:2px;overflow:hidden;border-radius:999px;background:#d8e4de}.member-session-resolution-line i{display:block;width:42%;height:100%;background:#2a8857;animation:tp005sSession 1s ease-in-out infinite alternate}@keyframes tp005sSession{to{transform:translateX(138%)}}

@media(max-width:760px){
  /* Exact-memory detail remains the parent of View/Edit Memory. */
  .tpbf-memory-photo{background:#f4f7f5!important;border:1px solid #dbe5df;cursor:zoom-in}
  .tpbf-memory-photo img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:#f4f7f5}
  .passport-photo-placeholder.has-photo{cursor:zoom-in}

  .tp005s-photo-viewer{position:fixed;inset:0;z-index:13000;background:rgba(2,9,18,.96);display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) 12px max(22px,env(safe-area-inset-bottom))}
  .tp005s-photo-viewer[hidden]{display:none!important}.tp005s-photo-viewer img{display:block;width:100%;height:100%;max-width:100vw;max-height:100dvh;object-fit:contain}
  .tp005s-photo-viewer-close{position:absolute;right:14px;top:max(14px,env(safe-area-inset-top));z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(10,24,34,.78);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center}

  /* Password & Sign-In must never exceed the iPhone viewport. */
  #settingsFocusModal{box-sizing:border-box!important;width:100vw!important;max-width:100vw!important;padding:10px!important;overflow:hidden!important}
  #settingsFocusModal .settings-focus-sheet{box-sizing:border-box!important;width:min(100%,680px)!important;max-width:100%!important;min-width:0!important;margin:0 auto!important;padding:18px 14px max(18px,env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important}
  #settingsFocusModal .settings-detail,#settingsFocusModal .account-panel,#settingsFocusModal .settings-control-group,#settingsFocusModal .settings-password-form,#settingsFocusModal .settings-password-form label{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
  #settingsFocusModal .settings-password-form{padding:46px 12px 14px!important;overflow:hidden!important}
  #settingsFocusModal .settings-password-form input{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px!important}
  #settingsFocusModal .settings-password-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.settings-password-actions .action,.settings-password-actions .settings-text-action{width:100%!important;max-width:100%!important;justify-content:center!important;text-align:center!important}

  /* Member end-of-content signature, clear of the fixed destination rail. */
  #memberPage .member-universal-footer{display:flex!important;min-height:76px!important;padding:18px 18px calc(18px + env(safe-area-inset-bottom))!important;justify-content:flex-start!important;background:#fff!important;border-top:1px solid #e6ebed!important}
  #memberPage .member-universal-footer .passport-reveal-signature{text-align:left!important}
}
