@font-face{font-family:Kalameh;src:url(KalamehWebFaNum-Regular.woff2);font-weight:400;font-display:swap}@font-face{font-family:Kalameh;src:url(KalamehWebFaNum-Bold.woff2);font-weight:700;font-display:swap}*{box-sizing:border-box}body{font:16px/1.8 Kalameh,sans-serif;background:#f8f7fa;color:#25212b;margin:0;min-height:100dvh;padding:36px 24px;display:grid;place-items:center}button,input,a{font:inherit}a{color:#4d004d;text-decoration:none}.auth-shell{width:min(1080px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #eae5ee;border-radius:32px;overflow:hidden;box-shadow:0 24px 90px #2e12360b}.auth-story{background:linear-gradient(150deg,#f5edf6,#e8def0);position:relative;min-height:650px;padding:36px;overflow:hidden;display:flex;flex-direction:column}.auth-brand{display:flex;align-items:center;gap:14px;color:#28202c;z-index:1;align-self:flex-start}.auth-brand img{width:37px;height:54px;object-fit:contain}.auth-brand span{font-size:20px;font-weight:700}.auth-brand small{display:block;font-size:12px;font-weight:400;color:#716875}.story-copy{position:relative;z-index:1;margin-top:64px}.eyebrow{font-size:13px;color:#705d7c}h1{font-size:44px;line-height:1.55;margin:10px 0 16px;letter-spacing:-1px}h2{font-size:26px;margin:22px 0 8px;line-height:1.5}p{margin:8px 0;color:#756c7e;font-size:14px}.story-copy p{font-size:16px;color:#6e5a78;line-height:1.9}.auth-astronaut{position:absolute;width:210px;height:280px;object-fit:contain;left:8px;bottom:50px;opacity:.95;pointer-events:none}.story-footer{margin-top:auto;font-size:12px;z-index:1;padding-top:100px;display:flex;gap:8px;align-items:center}.status-dot{width:7px;height:7px;background:#7b4588;border-radius:50%}.auth-card{padding:38px 44px;align-self:center;min-width:0}.auth-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eee9f1;padding-bottom:20px}.auth-kicker{font-size:13px;color:#877d90}.auth-security{display:flex;align-items:center;gap:6px;background:#f4eef7;color:#67416e;font-size:12px;border-radius:8px;padding:4px 9px}.auth-security svg{width:16px;height:16px}form{margin-top:22px}label{display:block;font-size:14px;margin:16px 0;color:#4e4555}input{display:block;width:100%;height:52px;padding:12px 14px;border:1px solid #ded7e5;border-radius:12px;background:#fff;color:#28212e;margin-top:7px;transition:border-color .15s,box-shadow .15s}input:hover{border-color:#ad9db8}input:focus{outline:0;border-color:#874796;box-shadow:0 0 0 3px #a36eb51a}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:0;border-radius:13px;background:#4d004d;color:white;padding:12px 22px;font-weight:700;cursor:pointer;transition:background .15s}button:hover{background:#6d086d}form>button:not(.secondary){width:100%;margin-top:10px}button:disabled{opacity:.6;cursor:wait}.secondary{background:white;color:#69596d;border:1px solid #e2dae7;font-weight:400}a:hover{text-decoration:underline;text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #167ffc;outline-offset:4px}.auth-error,.auth-notice{font-size:13px;background:#fff1f1;border:1px solid #f2d6d6;border-radius:12px;padding:12px 14px;margin-top:20px;color:#8e3030}.auth-error p{color:inherit;font-size:13px;margin:4px 0 0}.auth-notice{background:#f0f7f3;border-color:#d5e7dc;color:#326348}.auth-card-footer{border-top:1px solid #eee9f1;padding-top:18px;margin-top:30px;font-size:11px;color:#9a8fa2}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f4fa;padding:16px;border:1px solid #e8e1ef;border-radius:12px;font:14px/2 ui-monospace,monospace}.auth-card svg{max-width:100%}.auth-card>div[dir=ltr]{text-align:center;padding:20px;background:#faf8fc;border-radius:16px;border:1px solid #eee5f2}.auth-card>div[dir=ltr]>svg{width:200px;height:200px}.auth-card>a[href="/panel"]{display:inline-flex;align-items:center;min-height:48px;font-weight:700}.password-field{position:relative}.password-field input{padding-left:64px}.password-visibility{position:absolute;left:8px;top:8px;min-height:36px;width:44px;padding:6px;background:transparent;color:#796882;border-radius:8px}.password-visibility:hover{background:#f4eff7}.password-visibility svg{width:20px;height:20px}.auth-hint{font-size:13px;margin-bottom:20px}.auth-steps{display:flex;gap:10px;padding:0;list-style:none;font-size:12px;color:#988a9e;margin:22px 0 0}.auth-steps li{padding:5px 10px;background:#f5f2f8;border-radius:8px}.auth-steps [aria-current=step]{background:#f0e4f3;color:#6d3078}@media(max-width:800px){body{padding:20px 12px;display:block}.auth-shell{max-width:520px;margin:0 auto;grid-template-columns:1fr;border-radius:24px}.auth-story{min-height:0;padding:22px 24px}.story-copy,.story-footer,.auth-astronaut{display:none}.auth-brand img{height:44px;width:30px}.auth-brand span{font-size:18px}.auth-card{padding:24px}.auth-card-top{padding-bottom:16px}h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Brand art stays in the layout rather than floating over the copy. */
.auth-story{display:grid;grid-template-rows:auto auto minmax(220px,1fr) auto;gap:22px;padding:32px;min-height:700px;background:#f2ebf6}
.story-copy{margin-top:4px}.story-copy h1{font-size:36px;line-height:1.4;margin:8px 0 12px}.story-copy p{font-size:15px}
.auth-art{margin:0;min-height:0;display:grid;place-items:center;align-self:center;justify-self:center;width:min(100%,300px);aspect-ratio:1;border-radius:28px;overflow:hidden}
.auth-astronaut{position:static;display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1}
.story-footer{margin:0;padding:0}.auth-card{transition:opacity .16s ease,transform .16s ease;animation:auth-arrive .3s ease both}
.auth-leaving .auth-card{opacity:.65;transform:translateY(-4px)}.auth-progress{min-height:24px;font-size:12px;color:#705d7c;margin-top:8px}
@keyframes auth-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:800px){.auth-story{min-height:0;grid-template-columns:1fr 72px;grid-template-rows:auto;gap:12px;padding:20px 24px;align-items:center}.auth-story .story-copy,.auth-story .story-footer{display:none}.auth-art{display:grid;width:72px;height:72px;min-height:0;border-radius:16px;grid-column:2;grid-row:1}.auth-astronaut{display:block}.auth-brand{align-self:center;grid-column:1;grid-row:1}}
@media(prefers-reduced-motion:reduce){.auth-card{animation:none;transition:none}.auth-leaving .auth-card{opacity:1;transform:none}}
/* Local revision requested by Amin: enlarged art, with the form column protected. */
@media(min-width:801px){
 figure.auth-art{position:absolute;width:-webkit-fill-available;margin-left:-10rem;max-width:none;border-radius:0;pointer-events:none}
}

/* Shared native select spacing and explicit hidden state in auth forms. */
[hidden]{display:none!important}
select{font:inherit;appearance:none;-webkit-appearance:none;width:100%;min-height:52px;border:1px solid #ded7e5;border-radius:12px;color:#28212e;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23796882' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 16px center;background-size:16px;padding:12px 14px 12px 46px;transition:border-color .15s,box-shadow .15s}
select:focus{outline:0;border-color:#874796;box-shadow:0 0 0 3px #a36eb51a}
.auth-card{transition:opacity .24s ease,transform .24s ease;animation:auth-arrive .36s ease both}
@media(prefers-reduced-motion:reduce){.auth-card{animation:none;transition:none}}
.client-auth-link{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;gap:8px}

.client-back{display:inline-flex;direction:rtl;align-items:center;gap:8px}.client-back-caret{order:-1;width:18px;height:18px;flex:0 0 18px;color:inherit}

.auth-recovery-caret{width:16px;height:16px;flex:none}

@media(max-width:800px){
  .auth-story-banner{grid-template-columns:1fr;min-height:112px}
  .auth-story-banner .auth-art{
    position:absolute;inset:0;grid-column:auto;grid-row:auto;width:100%;height:100%;aspect-ratio:auto;
    border-radius:0;display:block;background:#f2e8f7;pointer-events:none
  }
  .auth-story-banner .auth-astronaut{
    width:48%;height:100%;margin-right:auto;object-fit:cover;object-position:center 38%;
    mask-image:linear-gradient(to right,#000 60%,transparent)
  }
}

.auth-card-client-login .auth-card-top{border:0;padding-bottom:0}
.auth-card-client-login .auth-card-top h2{margin:0}
.auth-card-client-login .client-auth-link{display:flex;width:fit-content;margin-inline:auto}

.auth-otp-actions{text-align:center;margin-top:20px}
.auth-otp-actions form{margin-top:4px}
.auth-otp-actions .auth-otp-resend{width:auto;margin:0;background:transparent;color:#4d004d;padding:8px 12px;min-height:44px}
.auth-otp-resend:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
.auth-otp-resend:disabled{cursor:default}
.auth-otp-clock bdi{font-variant-numeric:tabular-nums}
.auth-otp-actions>a{font-size:13px;color:#756c7e}

.auth-android-app{display:none}
@media(max-width:800px){
    .auth-android-app{
        display:flex;align-items:center;gap:10px;max-width:520px;margin:16px auto 0;
        padding:10px 12px;border:1px solid #eae5ee;border-radius:16px;background:#fff
    }
    .auth-android-app img{object-fit:contain;border-radius:10px;padding:5px;background:#f4eef7}
    .auth-android-app-name{flex:1;min-width:0;line-height:1.5}
    .auth-android-app-name strong,.auth-android-app-name small{display:block}
    .auth-android-app-name small{color:#716875;font-size:12px}
    .auth-android-app button:disabled{
        min-height:44px;padding:0 10px;border:1px solid #ded7e5;border-radius:10px;
        background:#fff;color:#4d004d;font-size:13px;opacity:1;cursor:default
    }
}
