/* Continuous login UI. Scoped to guests; dashboard styles stay unchanged. */
.auth-studio.auth-page { --auth-blue:#2563eb; --auth-ink:#24334a; --auth-line:#dfe5ec; display:flex; flex-direction:column; align-items:stretch; justify-content:start; min-height:100vh; min-height:100dvh; padding:0; background:#f3f5f8; color:var(--auth-ink); font-family:SGFanoos,sans-serif; }
.auth-studio *, .auth-studio *::before, .auth-studio *::after { box-sizing:border-box; }
.auth-studio button, .auth-studio input { font-family:inherit; }
.auth-studio .auth-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; font-size:16px !important; }
.auth-studio-header { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; min-height:76px; padding:18px 36px; }
.auth-home-link { display:flex; align-items:center; gap:10px; color:#66758a; text-decoration:none; font-size:11px; min-height:44px; }
.auth-studio-layout { flex:1; display:flex; justify-content:center; align-items:start; width:100%; padding:clamp(28px,6vh,64px) 24px 32px; }
.auth-studio .auth-card { position:relative; display:block; width:432px; max-width:100%; padding:36px; margin:0; border:1px solid #e1e6ed; border-radius:24px; background:#fff; box-shadow:none; overflow:visible; }
.auth-identity { display:flex; justify-content:center; align-items:center; gap:10px; width:fit-content; margin:0 auto 32px; text-decoration:none; color:#27354a; font-size:17px; font-weight:700; }
.auth-identity img { width:29px; height:29px; object-fit:contain; }
.auth-studio .auth-tabs { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0; padding:5px; margin:0 0 30px; border:1px solid #e5eaf0; border-radius:14px; background:#f4f6f9; }
.auth-tab-indicator { position:absolute; top:5px; right:5px; width:calc(50% - 5px); height:calc(100% - 10px); border:1px solid #dae5f6; border-radius:9px; background:#fff; transition:transform 360ms cubic-bezier(.22,1,.36,1),border-color 200ms; pointer-events:none; }
.auth-studio[data-auth-view="register"] .auth-tab-indicator { transform:translateX(-100%); }
.auth-studio .auth-tab { position:relative; z-index:1; min-height:42px; padding:9px; border:0; border-radius:0; background:transparent; color:#6e7e93; font-size:14px; font-weight:700; box-shadow:none; cursor:pointer; transition:color 240ms; }
.auth-studio .auth-tab.is-active { color:var(--auth-blue); background:transparent; box-shadow:none; }
.auth-studio .auth-panel-stage { position:relative; overflow:visible; }
.auth-studio .auth-panel { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; width:100%; padding:0; margin:0; }
.auth-studio .auth-panel.hidden, .auth-studio .auth-panel[hidden] { display:none; }
.auth-studio .auth-field { display:flex; flex-direction:column; gap:8px; margin:0; min-width:0; }
.auth-studio .auth-field label { font-size:11px; color:#5f6f85; padding-inline:2px; transition:color 180ms; }
.auth-studio .auth-field:focus-within label { color:#2563eb; }
.auth-studio .auth-field input { width:100%; min-width:0; height:51px; padding:11px 14px; border:1px solid #dbe3ed; border-radius:10px; outline:none; background:#fbfcfe; color:#26364b; font-size:16px; line-height:1.5; box-shadow:none; transition:border-color 200ms,background 200ms; }
.auth-studio .auth-field input:focus { border-color:#4285f4; background:#fff; box-shadow:none; }
.auth-password-control { position:relative; }
.auth-studio .auth-password-control input { padding-left:48px; }
.auth-password-toggle { position:absolute; left:4px; top:4px; width:43px; height:43px; display:grid; place-items:center; padding:0; border:0; border-radius:8px; background:transparent; color:#98a6b8; cursor:pointer; transition:color 180ms,background 180ms; }
.auth-password-toggle:hover { color:#2563eb; background:#eef4fd; }
.auth-password-toggle svg { width:19px; height:19px; }
.auth-eye-slash { opacity:0; transition:opacity 180ms; }
.auth-password-toggle[aria-pressed="true"] .auth-eye-slash { opacity:1; }
.auth-studio .auth-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin:1px 0 0; }
.auth-studio .auth-btn { min-height:49px; border-radius:10px; font-size:13px; font-weight:700; box-shadow:none; transform:none; transition:background 200ms,border-color 200ms; }
.auth-studio .auth-btn--primary { border:1px solid #2563eb; background:#2563eb; color:#fff; }
.auth-studio .auth-btn--primary:hover { border-color:#1d53c5; background:#1d53c5; box-shadow:none; transform:none; }
.auth-studio .auth-btn--primary:active { background:#1949b0; }
.auth-studio #parsads_forgot_btn { align-self:end; min-height:36px; padding:0 2px; border:0; border-radius:0; background:transparent; color:#75879e; font-size:11px; font-weight:400; }
.auth-studio #parsads_forgot_btn:hover { color:#2563eb; transform:none; }
.auth-studio .auth-footer { padding:0; margin:24px 0 0; border:0; background:transparent; color:#748298; font-size:10px; line-height:2; text-align:center; }
.auth-studio .password-meter { margin:0; gap:5px; }
.auth-studio .password-bar { height:3px; background:#edf1f6; }
.auth-studio .password-strength { font-size:9px; color:#8c9bb0; }
.auth-studio .auth-message { margin:0; font-size:11px; line-height:1.9; border-radius:8px; }
.auth-studio-footer { display:flex; justify-content:center; padding:20px 24px 26px; font-size:10px; }
.auth-studio-footer a { text-decoration:none; color:#697b92; display:inline-flex; align-items:center; justify-content:center; min-width:64px; min-height:44px; }
.auth-studio :focus-visible { outline:2px solid #4285f4; outline-offset:3px; }
.auth-studio .auth-field input:focus-visible { outline:none; }


.auth-home-link svg { display:block; width:16px; height:16px; }
.auth-studio .auth-panel-stage.is-switching { overflow:clip; }
.auth-studio .auth-btn { display:inline-flex; align-items:center; justify-content:center; padding:11px 16px; line-height:1.6; }
.auth-studio .auth-btn:disabled { cursor:wait; opacity:.7; }
.auth-studio .auth-btn[aria-busy="true"] { pointer-events:none; }
.auth-studio .auth-password-toggle { top:50%; height:44px; width:44px; transform:translateY(-50%); }
.auth-studio .auth-password-toggle svg { display:block; }
.auth-studio .auth-field input:-webkit-autofill { -webkit-text-fill-color:#26364b; caret-color:#26364b; }
.auth-studio .password-meter { overflow:hidden; max-height:36px; opacity:1; transition:max-height 240ms ease,opacity 180ms ease; }
.auth-studio .password-meter.is-empty { visibility:hidden; max-height:0; opacity:0; }
html.auth-dialog-open { overflow:hidden; scrollbar-gutter:stable; }
.auth-studio #parsads_forgot_modal { display:flex; align-items:center; justify-content:center; padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom)); background:rgba(38,55,81,.22); backdrop-filter:blur(5px); overscroll-behavior:contain; }
.auth-studio #parsads_forgot_modal.hidden { display:none; }
.auth-studio #parsads_forgot_modal .dash-modal-card { display:grid; gap:22px; width:420px; max-width:100%; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; margin:0; padding:24px; border:1px solid #dce4ed; border-radius:20px; background:#fff; box-shadow:none; }
.auth-studio #parsads_forgot_modal .dash-modal-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.auth-studio #auth-forgot-title { margin:0; font-size:18px !important; line-height:1.7; color:#24334a; }
.auth-studio #parsads_forgot_modal .dash-modal-close { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; padding:0; border:1px solid #e3e9f1; border-radius:11px; background:#f7f9fc; color:#65748a; line-height:1; transition:background 180ms,border-color 180ms,color 180ms; }
.auth-studio #parsads_forgot_modal .dash-modal-close svg { display:block; width:18px; height:18px; }
.auth-studio #parsads_forgot_modal .dash-modal-close:hover { background:#eef3fa; color:#2563eb; border-color:#ccd9ed; }
.auth-studio #parsads_forgot_modal .dash-modal-body { display:grid; gap:14px; }
.auth-studio #auth-forgot-description { margin:0; font-size:11px; line-height:1.9; color:#78869a; }
.auth-studio #parsads_forgot_modal .dash-modal-footer { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; padding:0; border:0; }
.auth-studio #parsads_forgot_modal .auth-btn { min-height:46px; font-size:12px; margin:0; }
.auth-studio #parsads_forgot_modal .auth-btn:not(.auth-btn--primary) { min-width:82px; background:#fff; color:#64748b; border:1px solid #dce4ed; }
.auth-studio #parsads_forgot_modal .auth-btn:not(.auth-btn--primary):hover { background:#f5f8fc; }
.auth-studio #parsads_forgot_modal .auth-message { padding:10px 12px; }
@media (max-width:620px) {
  .auth-studio-header { min-height:68px; padding:12px 20px; }
  .auth-home-link { font-size:10px; gap:7px; }
  .auth-studio-layout { padding:20px 16px 24px; }
  .auth-studio .auth-card { padding:28px 24px; border-radius:20px; }
  .auth-studio .auth-identity { margin-bottom:27px; }
  .auth-studio .auth-tabs { margin-bottom:25px; }
  .auth-studio .auth-footer { font-size:9px; }
  .auth-studio #parsads_forgot_modal .dash-modal-card { padding:20px; gap:18px; }
  .auth-studio #auth-forgot-title { font-size:17px !important; }
}
@media (max-width:360px) {
  .auth-studio .auth-card { padding:25px 20px; }
  .auth-studio #parsads_forgot_modal .dash-modal-card { padding:18px; }
  .auth-studio #parsads_forgot_modal .dash-modal-footer { gap:8px; }
  .auth-studio #parsads_forgot_modal .auth-btn { padding-inline:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .auth-studio *, .auth-studio *::before, .auth-studio *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
