/* Build 005J — resilient, application-style Passport auth entry. */
html.tpb-auth-open #passportGateway{display:none!important}
html.tpb-auth-open #memberPage{display:block!important}
html.tpb-auth-open #login{display:block!important}
html.tpb-auth-open #dashboard{display:none!important}
html.tpb-auth-open #memberNav{display:none!important}

/* Signed-out Passport gateway: simple app front door, not a marketing page. */
#passportGateway{min-height:100svh;background:#f7f9f7!important;color:#18384b}
#passportGateway>.toura-global-nav{height:72px;min-height:72px;padding:0 22px;background:rgba(255,255,255,.96);border-bottom:1px solid #e1e7e3}
#passportGateway .tg-links{display:none!important}
#passportGateway #gatewayHeaderAccess{display:none!important}
#passportGateway .tg-brand-copy small{display:none!important}
#passportGateway .passport-reveal-stage{min-height:calc(100svh - 72px);display:grid!important;grid-template-columns:1fr!important;place-items:center!important;padding:38px 22px 72px!important;max-width:none!important}
#passportGateway .passport-reveal-art,
#passportGateway .passport-reveal-steps,
#passportGateway .passport-reveal-footer{display:none!important}
#passportGateway .passport-reveal-copy{width:min(100%,440px)!important;max-width:440px!important;margin:0 auto!important;padding:34px 28px!important;background:#fff!important;border:1px solid #dfe7e2!important;border-radius:24px!important;box-shadow:0 18px 54px rgba(17,52,67,.08)!important;text-align:left!important}
#passportGateway .passport-reveal-kicker{margin:0 0 20px!important;font-size:11px!important;line-height:1!important;letter-spacing:.22em!important;font-weight:900!important;color:#2c8c5a!important}
#passportGateway .passport-reveal-copy h1{margin:0!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(38px,10vw,54px)!important;line-height:.98!important;letter-spacing:-.045em!important;color:#143447!important;font-weight:500!important}
#passportGateway .passport-reveal-copy>p{margin:22px 0 0!important;font-size:15px!important;line-height:1.65!important;color:#687770!important;max-width:36ch!important}
#passportGateway .passport-reveal-actions{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;margin-top:30px!important;width:100%!important}
#passportGateway .passport-reveal-actions a,
#passportGateway .passport-reveal-actions button{width:100%!important;min-height:56px!important;border-radius:14px!important;font-size:14px!important;font-weight:850!important;letter-spacing:.01em!important}
#passportGateway .passport-reveal-primary{background:#2c8c5a!important;border-color:#2c8c5a!important;color:#fff!important}
#passportGateway .passport-reveal-secondary{background:#fff!important;border:1px solid #b9c9bf!important;color:#246f49!important}

/* Auth state: one focused card with no duplicate marketing/header chrome. */
#memberPage:has(#login:not(.hidden)){background:#f7f9f7!important;min-height:100svh!important;padding-bottom:0!important}
#memberPage:has(#login:not(.hidden))>.member-topbar{display:none!important}
#login.passport-auth-shell{min-height:100svh!important;background:#f7f9f7!important;padding:0!important;margin:0!important}
#login .passport-auth-nav{height:72px!important;min-height:72px!important;padding:0 22px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e1e7e3!important}
#login .passport-auth-nav .tg-links,
#login #memberAuthHeaderSignIn{display:none!important}
#login .passport-auth-nav .tg-brand-copy small{display:none!important}
#login .passport-auth-stage{min-height:calc(100svh - 72px)!important;display:grid!important;grid-template-columns:1fr!important;place-items:center!important;padding:34px 22px 72px!important;max-width:none!important}
#login .passport-auth-copy{width:min(100%,440px)!important;max-width:440px!important;margin:0 auto!important;padding:30px 26px 26px!important;background:#fff!important;border:1px solid #dfe7e2!important;border-radius:24px!important;box-shadow:0 18px 54px rgba(17,52,67,.08)!important}
#login .passport-auth-visual{display:none!important}
#login .passport-auth-kicker{margin:0 0 18px!important;font-size:11px!important;letter-spacing:.2em!important;font-weight:900!important;color:#2c8c5a!important}
#login #memberAuthTitle{margin:0!important;font-family:Georgia,'Times New Roman',serif!important;font-size:38px!important;line-height:1.02!important;letter-spacing:-.04em!important;color:#143447!important;font-weight:500!important}
#login .member-auth-subtitle{margin:16px 0 24px!important;font-size:14px!important;line-height:1.55!important;color:#687770!important}
#login .passport-auth-free{margin:0 0 20px!important;padding:12px 14px!important;border-radius:12px!important;background:#f3f8f4!important;border:1px solid #dfe9e2!important;color:#335c47!important}
#login .form-stack{gap:14px!important}
#login .field label{font-size:11px!important;letter-spacing:.06em!important;font-weight:800!important;color:#50655b!important}
#login .field input{min-height:52px!important;border-radius:12px!important;border:1px solid #cfdad3!important;background:#fff!important;font-size:16px!important;padding:0 14px!important}
#login .password-row{position:relative!important}
#login .password-row input{padding-right:52px!important}
#login .password-toggle{position:absolute!important;right:5px!important;top:5px!important;width:42px!important;height:42px!important;border:0!important;background:transparent!important;color:#567065!important}
#login #loginBtn{min-height:54px!important;border-radius:13px!important;background:#2c8c5a!important;border-color:#2c8c5a!important;font-size:14px!important;font-weight:850!important}
#login .passport-auth-switch,#login #memberForgotPassword{min-height:42px!important;border:0!important;background:transparent!important;color:#24764d!important;font-size:13px!important;font-weight:750!important}
#login .passport-auth-back{display:block!important;margin-top:18px!important;text-align:center!important;color:#738179!important;font-size:12px!important;text-decoration:none!important}
#login .passport-auth-footer{display:none!important}

@media(max-width:760px){
  body{padding-bottom:0!important}
  #passportGateway>.toura-global-nav,#login .passport-auth-nav{height:64px!important;min-height:64px!important;padding:0 18px!important}
  #passportGateway .passport-reveal-stage,#login .passport-auth-stage{min-height:calc(100svh - 64px)!important;padding:26px 16px 48px!important;align-items:start!important}
  #passportGateway .passport-reveal-copy,#login .passport-auth-copy{margin-top:34px!important;padding:28px 22px!important;border-radius:20px!important;box-shadow:0 12px 36px rgba(17,52,67,.07)!important}
  #passportGateway .passport-reveal-copy h1{font-size:42px!important}
  #login #memberAuthTitle{font-size:34px!important}
}

/* 005K interaction hardening: keep the gateway action plane above legacy layers. */
#passportGateway .passport-reveal-stage{position:relative!important;isolation:isolate!important}
#passportGateway .passport-reveal-copy{position:relative!important;z-index:100!important;pointer-events:auto!important}
#passportGateway .passport-reveal-actions{position:relative!important;z-index:110!important;pointer-events:auto!important}
#passportGateway .passport-reveal-actions a,
#passportGateway .passport-reveal-actions button{position:relative!important;z-index:120!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;-webkit-tap-highlight-color:rgba(44,140,90,.12)!important}
