/* Standalone authentication experience. Intentionally isolated from site chrome. */
:root {
  --access-ink:var(--text-primary);
  --access-accent:var(--secondary-color);
  --access-purple:var(--accent-purple);
}
* { box-sizing:border-box; }
body.access-body { margin:0; min-height:100svh; color:var(--text-primary); background:var(--bg-secondary); font-family:'Cairo',sans-serif; }
.access-body main { min-height:100svh; }
.access-page { min-height:100svh; display:grid; place-items:center; padding:clamp(28px,5vw,72px); background:radial-gradient(circle at 17% 8%,color-mix(in srgb,var(--secondary-color) 16%,var(--bg-secondary)) 0,transparent 31%),radial-gradient(circle at 87% 88%,color-mix(in srgb,var(--accent-purple) 16%,var(--bg-secondary)) 0,transparent 34%),var(--bg-secondary); }
.access-shell { direction:ltr; width:min(1180px,100%); min-height:650px; display:grid; grid-template-columns:minmax(350px,1fr) minmax(450px,1fr); overflow:hidden; border-radius:44px; background:var(--bg-primary); box-shadow:0 30px 85px color-mix(in srgb,var(--black-color) 24%,transparent); }
.access-shell--register { width:min(1240px,100%); grid-template-columns:minmax(350px,.85fr) minmax(540px,1.2fr); }
.access-visual { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:650px; padding:54px 56px; overflow:hidden; color:var(--white-color); border-radius:44px 0 0 44px; background:radial-gradient(circle at 50% 53%,transparent 0 100px,color-mix(in srgb,var(--white-color) 7%,transparent) 101px 102px,transparent 103px 145px,color-mix(in srgb,var(--white-color) 5.5%,transparent) 146px 147px,transparent 148px),linear-gradient(145deg,var(--primary-color),var(--accent-purple)); }
.access-logo { width:auto; max-width:220px; height:64px; padding:0 18px; display:grid; place-items:center; flex:none; border:1px solid rgba(255,255,255,.2); border-radius:16px; background:rgba(255,255,255,.1); box-shadow:0 14px 30px rgba(0,0,0,.18); }
.access-logo-image { width:auto; max-width:184px; height:40px; object-fit:contain; opacity:1; visibility:visible; }
.access-logo .access-logo-image.light-theme-logo { display:block!important; }
.access-logo .access-logo-image.dark-theme-logo { display:none!important; }
.access-story { width:100%; margin-top:28px; }
.access-story .auth-title,.access-story .auth-subtitle { display:none; }
.access-eyebrow { display:block; margin-bottom:78px; color:rgba(255,255,255,.63); font-size:.78rem; letter-spacing:.08em; }
.access-hero-title { position:relative; z-index:1; max-width:350px; margin:0; color:var(--white-color); font-size:clamp(2.3rem,4vw,3.7rem); font-weight:300; line-height:1.05; }
.access-hero-title strong { display:block; font-weight:800; }
.access-hero-art { position:absolute; inset-inline:0; bottom:54px; width:126px; height:126px; display:grid; place-items:center; margin:auto; border:1px solid color-mix(in srgb,var(--white-color) 17%,transparent); border-radius:36px; color:var(--white-color); font-size:3.1rem; background:linear-gradient(145deg,var(--secondary-color),var(--accent-purple)); box-shadow:0 24px 52px color-mix(in srgb,var(--black-color) 38%,transparent); transform:rotate(-7deg); }
.access-hero-art::before { content:''; position:absolute; inset:-22px; z-index:-1; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.access-panel { direction:rtl; min-width:0; display:flex; flex-direction:column; justify-content:center; padding:52px clamp(42px,5vw,76px) 36px; background:var(--bg-primary); }
[dir=ltr] .access-panel { direction:ltr; }
.access-shell--register .access-panel { justify-content:flex-start; overflow:visible; }
.access-form-heading { display:block; margin-bottom:28px; }
.access-form-heading span { color:var(--text-muted); font-size:.78rem; }
.access-form-heading h1,.access-form-heading h2 { margin:5px 0 0; color:var(--text-primary); font-size:2.15rem; font-weight:700; }
.access-panel .form-group { margin-bottom:14px; }
.access-panel .form-label { margin-bottom:6px; font-size:.8rem; font-weight:600; }
.access-panel .form-control { width:100%; min-height:52px; padding:11px 46px 11px 18px; padding-inline:46px 18px; border:1px solid var(--border-color); border-radius:999px; color:var(--text-primary); background:transparent; font-size:.88rem; box-shadow:none; }
.access-panel .form-control:focus { border-color:var(--secondary-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--secondary-color) 14%,transparent); }
.access-panel .form-control-wrapper>i { left:auto; inset-inline-start:17px; font-size:.9rem; }
.access-panel .password-toggle { left:auto; inset-inline-end:9px; }
.access-panel .form-control-wrapper:has(.password-toggle) .form-control { padding-inline-end:48px; }
.access-panel .form-text,.access-panel .form-helper { display:block; margin-top:5px; font-size:.7rem; line-height:1.4; }
.access-panel .form-options { margin:3px 0 17px; gap:10px; }
.access-panel .checkbox-wrapper label,.access-panel .forgot-link { font-size:.8rem; }
.access-panel .btn-auth { min-height:54px; padding:12px 20px; border-radius:999px; background:linear-gradient(100deg,var(--secondary-color),var(--primary-color) 58%,var(--accent-purple)); box-shadow:0 12px 24px color-mix(in srgb,var(--primary-color) 24%,transparent); }
.access-panel .btn-auth:hover { transform:translateY(-2px); box-shadow:0 16px 30px color-mix(in srgb,var(--primary-color) 34%,transparent); }
.access-panel .divider { margin:15px 0; }
.access-panel .divider span { font-size:.75rem; }
.access-panel .social-login { gap:10px; margin-bottom:14px; }
.access-panel .btn-social { min-height:44px; padding:8px 14px; border-width:1px; border-radius:999px; font-size:.82rem; }
.access-panel .auth-footer { margin-top:16px; padding-top:15px; }
.access-panel .auth-footer p { font-size:.82rem; }
.access-panel .alert { border-radius:16px; font-size:.82rem; }
.access-panel .form-row { gap:12px; margin-bottom:0; }
.access-panel .checkbox-group { margin-bottom:15px; }
.access-toolbar { position:fixed; inset-block-start:20px; inset-inline:24px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:8px; pointer-events:none; }
.access-tool { min-height:40px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 14px; border:1px solid var(--border-color); border-radius:999px; color:var(--text-primary); background:color-mix(in srgb,var(--bg-primary) 84%,transparent); text-decoration:none; font:600 .75rem 'Cairo',sans-serif; cursor:pointer; backdrop-filter:blur(12px); pointer-events:auto; transition:background .2s ease,transform .2s ease,border-color .2s ease; }
.access-tool:hover { color:var(--secondary-color); border-color:var(--secondary-color); background:var(--bg-primary); transform:translateY(-1px); }
.access-language-form { margin:0; }
.access-home { margin-inline-end:auto; }
[dir=ltr] .access-home i { transform:rotate(180deg); }
.access-messages { position:fixed; top:20px; left:50%; z-index:30; width:min(520px,calc(100% - 32px)); transform:translateX(-50%); }
[data-theme=dark] .access-shell { box-shadow:0 30px 85px rgba(0,0,0,.5); }
[data-theme=dark] .access-panel .form-control,[data-theme=dark] .access-panel .btn-social { color:var(--text-primary); border-color:var(--border-color); background:var(--bg-secondary); }
[data-theme=dark] .access-panel .form-control::placeholder { color:var(--text-muted); }
[data-theme=dark] .access-panel .divider::before,[data-theme=dark] .access-panel .divider::after { border-color:var(--border-color); }
[data-theme=dark] .access-panel select.form-control,
[data-theme=dark] .access-panel select.form-select { color:var(--text-primary); border-color:var(--border-color); background-color:var(--bg-secondary); color-scheme:dark; }
[data-theme=dark] .access-panel select option { color:var(--text-primary); background:var(--bg-secondary); }
[data-theme=dark] .access-panel .input-group-text { color:var(--text-secondary); border-color:var(--border-color); background:var(--bg-tertiary); }
[data-theme=dark] .access-panel .bg-light { color:var(--text-primary)!important; background-color:var(--bg-secondary)!important; }
[data-theme=dark] .access-panel .text-muted { color:var(--text-muted)!important; }
[data-theme=dark] .access-panel .auth-footer,[data-theme=dark] .access-panel .divider { border-color:var(--border-color); }
[data-theme=dark] .access-panel .alert-danger { color:#ffb4bc; border-color:color-mix(in srgb,#dc3545 42%,var(--border-color)); background:color-mix(in srgb,#dc3545 16%,var(--bg-secondary)); }
[data-theme=dark] .access-panel .alert-warning { color:#ffe08a; border-color:color-mix(in srgb,#ffc107 42%,var(--border-color)); background:color-mix(in srgb,#ffc107 13%,var(--bg-secondary)); }
[data-theme=dark] .access-panel .alert-info { color:#9eeaf9; border-color:color-mix(in srgb,#0dcaf0 38%,var(--border-color)); background:color-mix(in srgb,#0dcaf0 12%,var(--bg-secondary)); }
[data-theme=dark] .access-panel .alert-success { color:#a3cfbb; border-color:color-mix(in srgb,#198754 45%,var(--border-color)); background:color-mix(in srgb,#198754 15%,var(--bg-secondary)); }
[data-theme=dark] .access-panel input[type=checkbox] { color-scheme:dark; accent-color:var(--secondary-color); }
[data-theme=dark] .access-panel .password-toggle,[data-theme=dark] .access-panel .form-control-wrapper>i { color:var(--text-muted); }
[data-theme=dark] .access-panel .password-toggle:hover,[data-theme=dark] .access-panel a { color:var(--secondary-color); }
[data-theme=dark] .access-logo .access-logo-image.light-theme-logo { display:none!important; }
[data-theme=dark] .access-logo .access-logo-image.dark-theme-logo { display:block!important; }

@media (max-width:991px) {
  .access-page { padding:68px 18px 24px; }
  .access-shell,.access-shell--register { direction:inherit; width:min(620px,100%); min-height:0; display:block; border-radius:28px; }
  .access-visual { min-height:150px; padding:24px 26px; border-radius:28px 28px 0 0; }
  .access-logo { max-width:170px; height:48px; padding:0 14px; border-radius:13px; }
  .access-logo-image { max-width:142px; height:30px; }
  .access-story { margin-top:16px; }
  .access-eyebrow { margin:0 0 5px; }
  .access-hero-title { font-size:1.65rem; }
  .access-hero-title strong { display:inline; margin-inline-start:6px; }
  .access-hero-art { inset-inline:auto 25px; bottom:25px; width:76px; height:76px; margin:0; border-radius:23px; font-size:1.8rem; }
  .access-panel { padding:28px 26px 24px; }
  .access-form-heading { margin-bottom:20px; }
  .access-form-heading h1,.access-form-heading h2 { font-size:1.65rem; }
}

@media (max-width:575px) {
  .access-page { display:block; min-height:100svh; padding:58px 0 0; background:var(--bg-primary); }
  .access-shell,.access-shell--register { width:100%; border-radius:0; box-shadow:none; }
  .access-visual { min-height:126px; padding:18px 20px; border-radius:0; }
  .access-logo { max-width:150px; height:42px; padding:0 12px; }
  .access-logo-image { max-width:126px; height:26px; }
  .access-eyebrow { display:none; }
  .access-hero-title { font-size:1.35rem; }
  .access-hero-art { width:58px; height:58px; bottom:20px; inset-inline-end:20px; border-radius:18px; font-size:1.35rem; }
  .access-panel { padding:24px 20px 28px; }
  .access-panel .form-options { flex-direction:row; align-items:center; }
  .access-toolbar { inset-block-start:10px; inset-inline:10px; gap:5px; }
  .access-tool { min-height:36px; padding:7px 10px; font-size:.69rem; }
  .access-tool span { display:none; }
}

@media (prefers-reduced-motion:reduce) { .access-panel * { transition:none!important; animation:none!important; } }
