/* Authentication shares the public website chrome and one responsive surface. */
body.auth-experience { background:var(--brand-ivory,#F7F4EC); color:#202823; }
.auth-experience .auth-content { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Arabic",sans-serif; background:var(--brand-ivory,#F7F4EC); padding:clamp(32px,6vw,80px) 16px; }
.auth-experience .website-login-overlay { position:relative!important; inset:auto!important; padding:0!important; background:transparent; backdrop-filter:none; min-height:540px; }
.auth-experience .website-login-overlay-dialog { width:min(100%,480px); max-width:480px; margin:auto; }
.auth-experience .website-login-modern-shell { display:block; width:100%; }
.auth-experience .website-login-modern-panel { width:100%; display:grid; gap:20px; padding:36px; border:1px solid #e0e7e2; border-radius:30px; background:#ffffffed; box-shadow:0 24px 70px #1a382b0b,0 2px 8px #1a382b04; color:#202823; }
.auth-experience .website-login-modern-panel::before,.auth-experience .website-login-modern-panel::after { display:none; }
.auth-experience .website-login-brand { display:grid; justify-items:center; gap:10px; text-align:center; margin:0 0 6px; }
.auth-experience .website-login-brand-logo { width:66px; height:66px; object-fit:contain; }
.auth-experience .website-login-brand-kicker { color:#637068; font-size:11px; font-weight:650; letter-spacing:.16em; text-transform:uppercase; }
.auth-experience .website-login-brand-title { font-size:clamp(28px,4vw,36px); font-weight:650; letter-spacing:-.035em; line-height:1.2; color:#202823; background:none; -webkit-text-fill-color:currentColor; margin:0; }
.auth-experience .auth-description { margin:0; font-size:14px; line-height:1.7; color:#738078; }
.auth-experience .website-login-modern-tabs { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; background:#edf1ee; border:1px solid #e4eae5; border-radius:13px; }
.auth-experience .website-login-modern-tab { display:grid; place-items:center; min-height:42px; padding:8px 12px; font-size:14px; font-weight:600; color:#68736c; background:transparent; border:0; border-radius:9px; text-decoration:none; }
.auth-experience .website-login-modern-tab.is-active { background:#fff; color:#155f42; box-shadow:0 2px 5px #23402e12; }
.auth-experience .website-login-modern-form { display:grid; gap:18px; }
.auth-experience .auth-create-account { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:0; text-align:center; color:#738078; font-size:14px; line-height:1.7; }
.auth-experience .auth-create-account a { color:#087451; font-weight:600; text-underline-offset:3px; }
.auth-experience .auth-create-account a:hover { color:#075f42; }
.auth-experience .website-login-modern-field { display:grid; gap:7px; min-width:0; }
.auth-experience .website-login-modern-field label { color:#4c5a51; font-size:13px; font-weight:550; }
.auth-experience .website-login-modern-input { min-width:0; width:100%; min-height:50px; border:1px solid #d9e1dc; border-radius:12px; padding:12px 14px; background:#fafcfb; color:#22382a; font-size:16px; font-weight:400; box-shadow:none; }
.auth-experience .website-login-modern-input:focus { border-color:#16845b; outline:0; box-shadow:0 0 0 4px #16845b17; }
.auth-experience .website-login-modern-input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #f1f6f3 inset; -webkit-text-fill-color:#22382a; }
.auth-experience .website-login-modern-password-wrap { display:flex; align-items:center; gap:8px; }
.auth-experience .website-login-modern-password-toggle { min-height:46px; min-width:48px; border:0; border-radius:12px; background:#edf4ef; color:#186844; font-size:13px; font-weight:600; }
body.auth-experience .website-login-modern-password-wrap.login-password-eye-field { position:relative; display:block; }
body.auth-experience .login-password-eye-field .website-login-modern-input { width:100%; padding-inline-end:58px; }
body.auth-experience .login-password-eye-field .website-login-modern-password-toggle { position:absolute; inset-inline-end:8px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:0; background:transparent; color:#186844; cursor:pointer; }
body.auth-experience .login-password-eye-field .website-login-modern-password-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.auth-experience .login-password-eye-field [data-eye-closed], body.auth-experience .login-password-eye-field .is-visible [data-eye-open] { display:none; }
body.auth-experience .login-password-eye-field .is-visible [data-eye-closed] { display:block; }
body.auth-experience .login-password-eye-field .website-login-modern-password-toggle:focus-visible { outline:2px solid #186844; outline-offset:2px; }
.auth-experience .website-login-modern-submit { min-height:50px; padding:12px 20px; font-size:15px; font-weight:600; border:1px solid #087451; border-radius:13px; background:#087451; color:#fff; box-shadow:0 4px 12px #0b694412; }
.auth-experience .website-login-modern-submit:hover { background:#075f42; color:#fff; filter:none; }
.auth-experience .website-login-modern-inline-option,.auth-experience .login-secondary-link { color:#4c6253; font-size:13px; }
.auth-experience .website-login-modern-inline-option input { accent-color:#087451; }
.auth-experience .generated-switch-account-back { position:relative; top:auto; left:auto; margin:0 auto 18px; background:#fff; border:1px solid #dfe6e1; color:#176343; width:44px; height:44px; box-shadow:none; z-index:auto; }
[dir="rtl"] .auth-experience .generated-switch-account-back svg { transform:rotate(180deg); }
.auth-experience .generated-shared-loading { background:#edf2ef80; backdrop-filter:blur(5px); }
.auth-experience .generated-shared-loading-card { width:88px; height:88px; border-radius:24px; background:#fffffff0; border:1px solid #e1e8e3; box-shadow:0 16px 50px #1733251a; }
.auth-experience .generated-shared-loading-dot { width:30px; height:30px; border:3px solid #e2ebe5; border-top-color:#087451; border-right-color:#087451; }
.auth-experience .forgot-password-card { border:1px solid #e0e7e2; background:#fff; box-shadow:0 24px 80px #17332526; max-height:calc(100dvh - 32px); overflow:auto; }
.auth-experience .forgot-password-badge { background:#e5f0e9; box-shadow:none; }
.auth-experience .forgot-password-primary { color:#fff; background:#087451; box-shadow:none; border-radius:13px; font-weight:600; }
.auth-experience .forgot-password-field input { background:#f7faf8; border-color:#d5dfd8; font-weight:400; }
.auth-experience .forgot-password-field { font-weight:550; }
.auth-experience .forgot-password-password-wrap input { padding-inline:14px 58px; }
.auth-experience .forgot-password-eye { right:auto; inset-inline-end:10px; }
.auth-experience :is(button,a,input):focus-visible { outline:3px solid #16845b80; outline-offset:3px; }
.auth-experience [hidden] { display:none!important; }
@media(max-width:540px) {
  .auth-experience .auth-content { padding:28px 12px; }
  .auth-experience .website-login-modern-panel { padding:26px 20px; border-radius:24px; gap:18px; }
  .auth-experience .website-login-overlay { min-height:0; }
  .auth-experience .website-login-modern-signup-grid { grid-template-columns:minmax(0,1fr); }
  .auth-experience .forgot-password-actions { align-items:stretch; }
}
@media(prefers-reduced-motion:reduce) {
  .auth-experience .auth-content *, .auth-experience .generated-shared-loading * { animation:none!important; transition:none!important; }
}

.auth-experience .auth-content :is(h1,h2,h3,input,button,label,a,p,span) { font-family:inherit; }
.auth-experience .website-login-modern-panel { max-height:none; overflow:visible; }

.auth-experience .forgot-password-modal, .auth-experience .forgot-password-modal :is(h2,p,button,input,label,span) { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Arabic",sans-serif; }

/* Shared association entry uses the website cream canvas around the white card. */
.auth-experience .auth-content { position:relative; isolation:isolate; overflow:hidden; background:var(--brand-ivory,#F7F4EC); }
.auth-experience .auth-content::before { display:none; }
.auth-experience .website-login-modern-panel { position:relative; border-color:#ffffff; background:#ffffffed; box-shadow:0 24px 80px #254c3510,0 1px 4px #254c3508; animation:auth-arrive .65s cubic-bezier(.2,.7,.2,1) both; }
.auth-experience .website-login-brand-logo { width:72px; height:72px; padding:8px; border-radius:20px; background:#f1f7f2; }
.auth-experience .website-login-brand-kicker { color:#65806c; }
.auth-experience .website-login-modern-input { box-sizing:border-box; transition:border-color .2s,box-shadow .2s,background .2s; }
.auth-experience .website-login-modern-submit { cursor:pointer; transition:transform .2s,background .2s,box-shadow .2s; }
.auth-experience .website-login-modern-submit:hover { transform:translateY(-1px); box-shadow:0 8px 20px #0b694425; }
.auth-experience .website-login-modern-submit:active { transform:translateY(0); }
.auth-experience .website-login-modern-tab { transition:background .2s,color .2s; }
.auth-experience .website-login-modern-tab:hover { color:#075f42; background:#ffffff80; }
.auth-experience .auth-field-hint,.auth-experience .auth-footnote { color:#66766d; font-size:12px; line-height:1.7; }
.auth-experience .auth-footnote { margin:0; padding-top:16px; border-top:1px solid #e7eee9; }
.auth-experience .auth-validation.validation-summary-valid { display:none; }
.auth-experience .auth-validation.validation-summary-errors { padding:12px; border-radius:12px; background:#fff1ed; color:#963b30; font-size:13px; }
.auth-experience .auth-validation ul { margin:0; padding-inline-start:18px; }
.auth-experience .website-login-modern-input.input-validation-error { border-color:#bd6256; }
.auth-experience .website-login-modern-options-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.auth-experience .website-login-modern-inline-option { display:flex; align-items:center; gap:8px; }
.auth-experience .website-login-modern-inline-option input { width:17px; height:17px; }
@keyframes auth-arrive { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .auth-experience .auth-content::before,.auth-experience .website-login-modern-panel { animation:none; } }

/* Compact entry forms retain readable text and touch-sized controls. */
body.auth-experience .auth-content { padding:16px 12px; }
body.auth-experience .website-login-overlay { min-height:0; }
body.auth-experience .website-login-modern-panel { padding:20px 24px; gap:12px; border-radius:24px; }
body.auth-experience .website-login-brand { gap:4px; margin:0; }
body.auth-experience .website-login-brand-logo { width:44px; height:44px; padding:5px; border-radius:14px; }
body.auth-experience .website-login-brand-title { font-size:26px; line-height:1.2; }
body.auth-experience .auth-description { font-size:13px; line-height:1.4; }
body.auth-experience .website-login-modern-form { gap:10px; }
body.auth-experience .website-login-modern-field { gap:4px; }
body.auth-experience .website-login-modern-input { min-height:44px; padding:8px 12px; }
body.auth-experience .website-login-modern-submit { min-height:44px; padding:8px 16px; }
body.auth-experience .website-login-modern-password-toggle { min-height:44px; }
body.auth-experience .auth-field-hint { line-height:1.4; }
body.auth-experience .auth-footnote { padding-top:8px; line-height:1.4; }
body.auth-experience .auth-create-account { font-size:13px; line-height:1.4; }
body.auth-experience .generated-switch-account-back { margin-bottom:8px; }
@media(min-width:641px) {
  body.auth-experience .website-login-overlay-dialog:has(input[name="ConfirmPassword"]) { width:min(100%,560px); max-width:560px; }
  body.auth-experience .website-login-modern-form:has(input[name="ConfirmPassword"]) { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  body.auth-experience .website-login-modern-form:has(input[name="ConfirmPassword"]) > :is(.auth-validation,.website-login-modern-submit,.auth-footnote),
  body.auth-experience .website-login-modern-form:has(input[name="ConfirmPassword"]) > .website-login-modern-field:has(input[name="FullName"]) { grid-column:1 / -1; }
}
@media(max-width:640px) {
  body.auth-experience .website-login-modern-panel { padding:16px; }
  body.auth-experience .website-login-brand-title { font-size:24px; }
}
