.pm-auth-modern .pm-input-box{position:relative}
/* Consistent password visibility controls and authentication errors. */
.pm-auth-modern .pm-input-box input[type="password"],.pm-auth-modern .pm-input-box input[name="password"],.pm-auth-modern .pm-input-box input[name="password_confirm"]{padding-right:54px!important}
.pm-auth-modern .pm-pw-toggle{position:absolute;inset:50% 7px auto auto;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;min-width:36px;padding:8px;margin:0;border:0;border-radius:9px;background:transparent;color:#486457;line-height:1;box-shadow:none;cursor:pointer}
.pm-auth-modern .pm-pw-toggle svg{display:block;width:20px;height:20px;pointer-events:none}
.pm-pw-toggle .pw-eye-slash{display:none}.pm-pw-toggle[aria-pressed="true"] .pw-eye-slash{display:block}
.pm-auth-modern .pm-pw-toggle:hover{background:#e4f0e9;color:#155b3e}.pm-auth-modern .pm-pw-toggle:focus-visible{outline:2px solid #20714c;outline-offset:1px}
.store-notice.store-notice--error,.kci-auth-error{background:#fff0f0;color:#a51e2b;border-left:4px solid #dc3545}.store-notice--error .store-notice-icon{color:#b42332;font-weight:800}.store-notice--error p,.store-notice--error strong{color:#a51e2b}
/* Keep leading icons above the input background, without extra wrappers. */
.pm-auth-modern .pm-input-box{display:flex;align-items:center;width:100%}
.pm-auth-modern .pm-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:1;display:grid;place-items:center;pointer-events:none;line-height:1}
.pm-auth-modern .pm-input-icon svg{display:block;width:18px;height:18px}
.pm-auth-modern .pm-input-box>input{box-sizing:border-box;min-width:0;width:100%;padding-left:42px!important}
.pm-auth-modern .pm-phone-box>input{padding-left:54px!important}
.pm-auth-modern .pm-pw-toggle{z-index:2}
.pm-auth-modern input::-ms-reveal,.pm-auth-modern input::-ms-clear{display:none}

/* Shared notification-verification preview for website and WebView. */
.verification-preview-note { font-size:12px; line-height:1.6; color:#677768; padding:12px; background:#f1f6ee; border-radius:12px; }
.verification-dialog { width:min(390px,calc(100vw - 32px)); box-sizing:border-box; margin:auto; border:1px solid #dce7d8; border-radius:24px; padding:30px 24px; background:#fff; color:#173e32; text-align:center; box-shadow:0 24px 80px #102d2440; }
.verification-dialog::backdrop { background:#102d2466; backdrop-filter:blur(5px); }
.verification-label { display:block; font-size:9px; font-weight:800; letter-spacing:1.5px; color:#68865e; margin:20px 0 10px; }
.verification-dialog h2 { font-size:23px; line-height:1.25; margin:0 0 12px; color:#173e32; }
.verification-dialog p { font-size:14px; line-height:1.65; color:#657362; }
.verification-spinner { width:42px; height:42px; margin:auto; border:4px solid #e4eddc; border-top-color:#26724e; border-radius:50%; animation:verification-spin .8s linear infinite; }
.verification-dialog.is-pending .verification-spinner { animation:none; border-color:#e9c784; }
.verification-close { min-height:44px; padding:11px 24px; border:0; border-radius:12px; background:#185c43; color:#fff; font:inherit; font-weight:700; cursor:pointer; margin-top:12px; }
.verification-close:focus-visible { outline:3px solid #e6b95d; outline-offset:3px; }
@keyframes verification-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .verification-spinner { animation:none; } }

.verification-challenge[hidden] { display:none; }
.verification-demo-code strong { color:#175c43; letter-spacing:3px; font-size:21px; }
.verification-digits { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin:18px 0; }
.verification-digits input { width:100%; min-width:0; box-sizing:border-box; height:48px; padding:0; border:1px solid #b9cdb6; border-radius:10px; text-align:center; background:#fff; color:#173e32; font-size:22px; }
.verification-digits input[readonly] { background:#edf4e9; color:#5d7859; }
.verification-digits input:focus { outline:none; border:2px solid #26724e; box-shadow:none; }
.verification-challenge .verification-close { width:100%; }

.verification-password-step[hidden] { display:none; }
.verification-password-step { text-align:left; }
.verification-password-step label { display:block; margin:16px 0 7px; font-size:13px; font-weight:700; }
.verification-password-step input { width:100%; box-sizing:border-box; min-height:46px; padding:12px; font-size:16px; border:1px solid #b9cdb6; border-radius:10px; }
.verification-password-step input:focus { outline:none; border-color:#26724e; background:#f5faf3; }
.verification-password-step .verification-close { width:100%; }
.verification-show-password { border:0; background:none; color:#175c43; min-height:44px; padding:8px 0; cursor:pointer; font:inherit; font-size:13px; }
.verification-dialog { max-height:calc(100dvh - 32px); overflow-y:auto; }

.auth-password-fields { border:0; margin:0; padding:0; min-width:0; }
.auth-password-fields[hidden] { display:none !important; }
