/* Shared authentication identity: deep evergreen, warm paper and mint details. */
.pa-theme .phm-otp-card .pa-otp-digits { display:grid; grid-template-columns:repeat(var(--otp-columns,6),minmax(0,1fr)); gap:8px; direction:ltr; margin:12px 0 20px; }
@media(max-width:480px) { .pa-theme .phm-otp-card .pa-otp-digits.pa-otp-long { grid-template-columns:repeat(var(--otp-mobile-columns,6),minmax(0,1fr)); } }
.pa-theme .phm-otp-card .pa-otp-digits input.pa-otp-digit { width:100%; min-width:0; height:52px; min-height:52px; padding:0; direction:ltr; text-align:center !important; font-size:23px; font-weight:600; letter-spacing:0; border-radius:11px; }
.pa-theme:is(.pa-page-login,.pa-page-clientregister,.pa-page-password-reset-container),
.pa-theme:has(.phm-otp-page) { --auth-ink:#123e3b; --auth-accent:#087e72; --auth-paper:#fcfcf9; background:#f0f5f3; }
.pa-theme:is(.pa-page-login,.pa-page-clientregister,.pa-page-password-reset-container) #main-body,
.pa-theme:has(.phm-otp-page) #main-body { direction:inherit; }
.pa-theme :is(.phm-login-shell,.phm-register-shell,.phm-auth-frame,.phm-otp-page) { border:1px solid #dce7e1; border-radius:28px; box-shadow:0 24px 70px #123e3b12; background:var(--auth-paper,#fcfcf9); }
.pa-theme :is(.phm-login-welcome,.phm-register-welcome,.phm-auth-story) { position:relative; overflow:hidden; color:#fff; background:radial-gradient(ellipse at 100% 0%,#338f7b80,transparent 65%),linear-gradient(155deg,#163f3d,#102d30); }
.pa-theme :is(.phm-login-welcome,.phm-register-welcome)::before { width:260px; height:260px; inset:auto -120px -140px auto; border:36px solid #a8e4b923; }
.pa-theme .phm-login-welcome::after { border:1px solid #b4e4c93b; }
.pa-theme :is(.phm-login-brand,.phm-register-brand) { padding-bottom:20px; border-bottom:1px solid #ffffff24; }
.pa-theme :is(.phm-login-welcome h1,.phm-register-welcome h1) { font-size:clamp(23px,2.2vw,32px); line-height:1.7; letter-spacing:-.6px; }
.pa-theme :is(.phm-login-benefits>div,.phm-register-benefits>div) { background:#ffffff08; border:0; border-bottom:1px solid #ffffff20; border-radius:0; padding:14px 0; }
.pa-theme :is(.phm-benefit-icon,.phm-register-benefits>div>span,.phm-login-logo) { color:#c7edb2; background:#ffffff12; border-radius:50%; }
.pa-theme .phm-login-options { background:var(--auth-paper); }
.pa-theme :is(.phm-login-options h2,.phm-register-header h2) { color:var(--auth-ink); font-size:24px; }
.pa-theme .phm-method { color:var(--auth-ink); border:1px solid #dfe8e1; border-radius:16px; background:#fff; padding:14px; transition:box-shadow .2s,border-color .2s; }
.pa-theme .phm-method:hover { color:#075e55; border-color:#6fae96; box-shadow:0 8px 22px #123e3b0d; transform:none; }
.pa-theme .phm-method .phm-method-icon { color:#166c61; background:#edf5f0; border-radius:12px; }
.pa-theme .phm-method-forgot { background:transparent; border-style:dashed; }
.pa-theme .phm-method-copy strong { font-size:13px; }
.pa-theme :is(.phm-register-button,.phm-login-pane .btn-primary,.phm-otp-card .btn-primary,.phm-auth-frame .btn-primary) { color:#fff; background:#087e72; border-color:#087e72; border-radius:12px; box-shadow:0 6px 16px #087e721a; }
.pa-theme .phm-register-main { background:var(--auth-paper); }
.pa-theme .phm-register-header { padding-block:25px; }
.pa-theme .phm-register-main #registration { padding:20px 28px 28px; }
.pa-theme .phm-register-main :is(#containerNewUserSignup,#containerNewUserSecurity) { background:#f3f6f1; border-color:#e1e8df; }
.pa-theme :is(.phm-auth-frame,.phm-otp-page) { direction:rtl; display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr); width:min(100%,970px); max-width:none; min-height:540px; margin:auto; padding:0 !important; overflow:hidden; }
.phm-auth-story { display:flex; flex-direction:column; align-self:stretch; padding:36px 30px; text-align:right; }
.pa-theme .phm-auth-brand { display:flex; align-items:center; gap:12px; color:#fff; font-size:19px; font-weight:800; margin-bottom:40px; }
.phm-auth-brand:hover { color:#c7edb2; }
.phm-auth-brand img { width:46px; height:46px; object-fit:contain; background:#fff; border-radius:14px; padding:5px; }
.phm-auth-eyebrow { color:#bce3c6; font-size:11px; }
.phm-auth-story h2 { color:#fff; font-size:30px; line-height:1.8; margin:12px 0; }
.pa-theme .phm-auth-story p { color:#c2d6d2; font-size:12px; line-height:2; }
.phm-auth-orbit { position:relative; display:grid; place-items:center; width:140px; height:140px; border:1px solid #a8e4b93d; border-radius:50%; margin:25px auto; color:#c7edb2; font-size:44px; }
.phm-auth-orbit span { position:absolute; inset:13px; border:1px dashed #a8e4b93d; border-radius:50%; }
.phm-auth-orbit b { position:absolute; inset:15px 13px auto auto; width:12px; height:12px; background:#d2e9a5; border:3px solid #25584c; border-radius:50%; }
.phm-auth-story-footer { margin-top:auto; padding-top:20px; color:#bce3c6; font-size:11px; }
.pa-theme .phm-auth-frame>.logincontainer,.pa-theme .phm-otp-card { width:100%; max-width:none; margin:0; padding:42px; align-self:center; border:0; background:transparent; box-shadow:none; }
.pa-theme :is(.phm-auth-frame,.phm-otp-card) h1 { color:var(--auth-ink); font-size:24px; line-height:1.7; }
.pa-theme :is(.phm-auth-frame,.phm-otp-card) p { color:#6b7f79; line-height:1.9; }
.pa-theme :is(.phm-auth-frame,.phm-otp-card) .form-control { height:48px; border:1px solid #cedfd5; border-radius:12px; background:#fff; }
.pa-theme :is(.phm-auth-frame,.phm-otp-card,.phm-login-pane,.phm-register-main) :is(input,select):focus { border-color:#3c9b7d; box-shadow:0 0 0 3px #3c9b7d18; outline:none; }
.pa-theme .phm-otp-card input[autocomplete=one-time-code] { direction:ltr; text-align:center; font-size:24px; letter-spacing:8px; }
.pa-theme:has(.phm-otp-page) :is(#footer,.pa-page-heading,.pa-page-title,.pa-context-stack) { display:none !important; }
.pa-theme:is(.pa-page-password-reset-container,.pa-page-clientregister) #main-body,
.pa-theme:has(.phm-otp-page) #main-body { display:flex; box-sizing:border-box; min-height:100svh; margin:0 !important; padding:32px 0 !important; align-items:center; background:#f0f5f3; }
.pa-theme:is(.pa-page-password-reset-container) .pa-page-content,
.pa-theme:has(.phm-otp-page) .pa-page-content { width:100%; max-width:none; }
.pa-theme.pa-page-password-reset-container #main-body>.container,
.pa-theme:has(.phm-otp-page) #main-body>.container { width:var(--site-width); max-width:var(--site-max-width); margin-inline:auto; }
.pa-theme.pa-page-password-reset-container #footer { display:none !important; }
.pa-theme:has(.phm-otp-page) .pa-content-row { width:100%; margin:0; }
.pa-theme:has(.phm-otp-page) .main-content { float:none; padding:0; }
@media(min-width:1101px) {
 .pa-theme:is(.pa-page-password-reset-container,.pa-page-clientregister) #main-body,.pa-theme:has(.phm-otp-page) #main-body { margin-inline-start:var(--pa-sidebar-width) !important; }
 .pa-theme .phm-register-shell { grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr); min-height:650px; }
}

@media(max-width:820px) {
 .pa-theme :is(.phm-auth-frame,.phm-otp-page) { grid-template-columns:1fr; }
 .phm-auth-story { padding:24px; }
 .phm-auth-brand { margin-bottom:18px; }
 .phm-auth-story h2 { font-size:24px; }
 .phm-auth-orbit,.phm-auth-story-footer { display:none; }
 .pa-theme .phm-auth-frame>.logincontainer,.pa-theme .phm-otp-card { padding:28px 24px; }
 .pa-theme :is(.phm-login-shell,.phm-register-shell,.phm-auth-frame,.phm-otp-page) { border-radius:20px; }
}
.pa-theme.pa-auth:is(.pa-page-login,.pa-page-password-reset-container) #main-body { min-height:calc(100svh - 88px); }


@media(max-width:991px) {
 .pa-theme.pa-auth:is(.pa-page-login,.pa-page-password-reset-container) #main-body { min-height:calc(100svh - 74px); }
}
.pa-theme.pa-page-clientregister .pa-context-stack { display:none !important; }
.pa-theme input:is([type=email],[type=password],[autocomplete=username],[autocomplete=current-password],[autocomplete=new-password]) { direction:ltr !important; text-align:left !important; }
[dir=rtl] .pa-theme .pa-login-form input:is([type=email],[type=password],[autocomplete=username],[autocomplete=current-password]):placeholder-shown { direction:rtl !important; text-align:right !important; }
[dir=rtl] .pa-theme .pa-login-form input::placeholder { direction:rtl; text-align:right; }
.pa-theme .phm-auth-frame .phm-reset-back { display:inline-flex; align-items:center; gap:8px; margin:0 0 20px; padding:6px 0; color:var(--pa-muted); text-decoration:none; }
.pa-theme .phm-auth-frame .phm-reset-back:hover { color:var(--pa-link); }
[dir=ltr] .pa-theme .phm-reset-back .fa-arrow-right { transform:rotate(180deg); }
.pa-theme .pa-content-password-reset-container input:is([type=email],[type=password]) { direction:ltr !important; text-align:left !important; }
[dir=rtl] .pa-theme .pa-content-password-reset-container input:is([type=email],[type=password]):placeholder-shown { direction:rtl !important; text-align:right !important; }
[dir=rtl] .pa-theme .pa-content-password-reset-container input:is([type=email],[type=password])::placeholder { direction:rtl; text-align:right; }
[dir=rtl] .pa-theme .pa-login-form .pa-password-field input { padding-left:42px; padding-right:12px; }
.pa-theme.pa-page-clientregister #main-body { min-height:calc(100svh - 88px); }
.pa-theme .phm-recovery-methods { display:flex;gap:10px;margin:20px 0; }
.pa-theme .phm-recovery-methods .btn { flex:1;min-height:44px; }
.pa-theme .phm-otp-resend { margin-top:20px;display:flow-root; }
.pa-theme .phm-otp-resend button { clear:both;margin-top:14px; }
.pa-theme .phm-otp-card input[autocomplete="new-password"] { margin-bottom:14px; }

@media(max-width:991px) {
 .pa-theme.pa-page-clientregister #main-body { min-height:calc(100svh - 74px); }
}
