@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/plex-arabic-400.woff2") format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/plex-arabic-500.woff2") format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/plex-arabic-600.woff2") format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/plex-arabic-700.woff2") format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/plex-latin-ext-400.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/plex-latin-ext-500.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/plex-latin-ext-600.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/plex-latin-ext-700.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/plex-latin-400.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/plex-latin-500.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/plex-latin-600.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/plex-latin-700.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  color-scheme: light;
  --brand-primary:#FF6A1F; --brand-accent:#FF8A4C; --brand-soft:#FFE6D8; --brand-ink:#0F1729; --brand-paper:#F3F1EC;
  --radius:.75rem;
  --foreground:var(--brand-ink);
  --card:oklch(1 0 0);
  --primary:var(--brand-primary);
  --muted:color-mix(in oklab, var(--brand-paper) 75%, white);
  --muted-foreground:color-mix(in oklab, var(--brand-ink) 58%, white);
  --destructive:oklch(.577 .245 27.325);
  --border:color-mix(in oklab, var(--brand-ink) 10%, var(--brand-paper));
  --input:color-mix(in oklab, var(--brand-ink) 14%, var(--brand-paper));
  --ring:var(--brand-primary);
  --sidebar:color-mix(in oklab, var(--brand-paper) 55%, white);
  --shadow-xs:0 1px 2px 0 rgb(0 0 0 / .05);
}
.dark {
  color-scheme: dark;
  --foreground:var(--brand-paper);
  --card:var(--brand-ink);
  --muted:color-mix(in oklab, var(--brand-ink) 85%, var(--brand-paper));
  --muted-foreground:color-mix(in oklab, var(--brand-paper) 62%, var(--brand-ink));
  --destructive:oklch(.704 .191 22.216);
  --border:color-mix(in oklab, var(--brand-paper) 11%, transparent);
  --input:color-mix(in oklab, var(--brand-paper) 16%, transparent);
  --ring:var(--brand-accent);
  --sidebar:color-mix(in oklab, var(--brand-ink) 92%, black);
}

*, ::before, ::after { box-sizing:border-box; border:0 solid var(--border); }
html { -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; background:var(--sidebar); }
body.anfa-auth { margin:0; color:var(--foreground); background:var(--sidebar); font-family:"IBM Plex Sans Arabic", ui-sans-serif, system-ui, sans-serif; font-size:16px; line-height:1.5; font-feature-settings:"tnum" 1; }
:where(.anfa-auth) :where(h1, p, ul) { margin:0; padding:0; }
:where(.anfa-auth) :where(button) { font:inherit; color:inherit; background:none; cursor:pointer; padding:0; }
:where(.anfa-auth) :where(ul) { list-style:none; }
:where(.anfa-auth) :where(svg) { display:block; }
.brand-dot { fill:var(--brand-primary); }

.au { position:relative; min-height:100dvh; overflow-x:clip; background:var(--sidebar); }
.au-side { position:relative; display:flex; flex-direction:column; min-height:100dvh; }
.au-stage { display:none; }
@media (min-width:1024px) {
  .au { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .au-stage { display:block; position:relative; border-inline-start:1px solid rgb(0 0 0 / .06); }
  .dark .au-stage { border-color:rgb(255 255 255 / .06); }
  .au-sticky { position:sticky; top:0; height:100dvh; }
  .sc { position:relative; overflow:hidden; width:100%; height:100%; animation:au-fade .7s cubic-bezier(.2,.8,.2,1) both; }
  .sc > section { width:100%; height:100%; }
}

.au-top { position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:20px 20px 0; }
@media (min-width:640px) { .au-top { padding:20px 32px 0; } }
.au-theme { position:relative; display:inline-flex; align-items:center; gap:2px; height:36px; padding:4px; border:1px solid var(--border); border-radius:9999px;
  background:color-mix(in oklab, var(--card) 80%, transparent); box-shadow:var(--shadow-xs); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.au-theme .pill { position:absolute; left:4px; top:3px; width:28px; height:28px; border-radius:9999px; background:var(--primary);
  box-shadow:0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); transition:transform .32s cubic-bezier(.3,1.25,.5,1); }
.au-theme button { position:relative; display:grid; place-items:center; width:28px; height:28px; border-radius:9999px; color:var(--muted-foreground); transition:color .15s; outline:none; }
.au-theme button:hover { color:var(--foreground); }
.au-theme button[aria-checked=true] { color:#fff; }
.au-theme button:focus-visible { box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
.au-theme svg { width:16px; height:16px; }
.au-lang { display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 14px; border:1px solid var(--border) !important; border-radius:9999px;
  background:color-mix(in oklab, var(--card) 80%, transparent) !important; box-shadow:var(--shadow-xs); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  font-size:14px !important; line-height:20px; font-weight:500; transition:all .15s cubic-bezier(.4,0,.2,1); outline:none; }
.au-lang:hover { border-color:color-mix(in oklab, var(--primary) 50%, transparent) !important; background:var(--card) !important; }
.au-lang:active { transform:scale(.97); }
.au-lang:focus-visible { box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
.au-lang svg { width:16px; height:16px; color:var(--primary); }

.au-main { position:relative; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:36px; padding:40px 16px; }
.au-wm { height:56px; width:auto; overflow:visible; color:var(--brand-ink); }
.dark .au-wm { color:var(--brand-paper); }
@media (min-width:640px) { .au-wm { height:64px; } }
.au-collab { display:flex; align-items:center; gap:18px; }
.au-x, .au-tile { display:none; }
.au-collab.on .au-wm { height:48px; }
.au-collab.on .au-x { display:block; position:relative; top:7px; font-size:24px; line-height:1; font-weight:300; color:var(--muted-foreground); animation:au-pop .5s cubic-bezier(.2,.8,.2,1) .9s both; }
.au-collab.on .au-tile { display:block; position:relative; top:7px; flex:none; width:64px; height:64px; overflow:hidden; border-radius:50%; background:var(--card);
  border:1px solid color-mix(in oklab, var(--brand-ink) 14%, transparent); box-shadow:0 1px 2px oklch(0 0 0 / 5%), 0 12px 28px -14px color-mix(in oklab, var(--brand-ink) 35%, transparent);
  animation:au-pop .6s cubic-bezier(.3,1.4,.5,1) 1.05s both; }
.dark .au-collab.on .au-tile { border-color:color-mix(in oklab, var(--brand-paper) 18%, transparent); }
@media (min-width:640px) { .au-collab.on .au-wm { height:54px; } .au-collab.on .au-tile { width:72px; height:72px; top:8px; } .au-collab.on .au-x { top:8px; } }
.au-letter { display:grid; place-items:center; width:100%; height:100%; color:#fff; font-size:28px; font-weight:600; line-height:1; }
.au-logo { display:block; width:100%; height:100%; object-fit:cover; animation:au-fade .4s ease both; }
@keyframes au-pop { from { opacity:0; transform:scale(.6); } }
.au-head h1 bdi { unicode-bidi:isolate; }
.wm-pulse { stroke:var(--brand-primary); transform-box:fill-box; transform-origin:center; opacity:0; animation:wm-pulse 3.4s ease-out infinite backwards; }
@keyframes wm-pulse { 0% { transform:scale(1); opacity:.6; } 53%, 100% { transform:scale(2.6); opacity:0; } }

.au-card { position:relative; width:100%; max-width:400px; padding:28px; border:1px solid var(--border); border-radius:calc(var(--radius) * 1.9);
  background:color-mix(in oklab, var(--card) 84%, transparent); -webkit-backdrop-filter:blur(18px) saturate(1.4); backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:0 1px 2px oklch(0 0 0 / 4%), 0 28px 70px -24px color-mix(in oklab, var(--brand-ink) 28%, transparent);
  animation:au-card .8s cubic-bezier(.2,.8,.2,1) .7s both; }
.dark .au-card { box-shadow:0 1px 2px oklch(0 0 0 / 5%), 0 28px 70px -24px oklch(0 0 0 / 65%); }
.au-card::before { content:""; position:absolute; top:-1px; inset-inline:16%; height:1px; background:linear-gradient(90deg, transparent, var(--brand-primary), transparent); }
.au-card::after { content:""; position:absolute; top:-18px; inset-inline:28%; height:36px; pointer-events:none;
  background:radial-gradient(closest-side, color-mix(in oklab, var(--brand-primary) 22%, transparent), transparent); filter:blur(6px); }
@keyframes au-card { from { opacity:0; transform:translateY(22px) scale(.97); filter:blur(8px); } }
@keyframes au-fade { from { opacity:0; } }

.login-step { animation:au-step .32s cubic-bezier(.22,1,.36,1) both; }
@keyframes au-step { from { opacity:0; transform:translateY(14px); filter:blur(4px); } }
#login-form { visibility:hidden; }
#login-form.au-ready { visibility:visible; display:flex; flex-direction:column; gap:16px; }
#login-form.au-ready > * { animation:au-item .55s cubic-bezier(.2,.8,.2,1) backwards; animation-delay:calc(.1s + var(--i, 0) * 60ms); }
@keyframes au-item { from { opacity:0; transform:translateY(10px); filter:blur(4px); } }
.au-head { margin-bottom:8px; }
.au-head h1 { font-size:24px; line-height:32px; font-weight:700; letter-spacing:-.025em; }
.au-head p { margin-top:4px; font-size:14px; line-height:20px; color:var(--muted-foreground); }

.au-field { display:flex; flex-direction:column; gap:6px; }
.au-field label { font-size:13px; line-height:1; font-weight:500; user-select:none; }
.au-input { display:block; width:100%; min-width:0; height:40px; margin:0; padding:4px 12px; border:1px solid var(--input) !important; border-radius:calc(var(--radius) * .8);
  background:transparent; color:var(--foreground); font:inherit; font-size:16px; line-height:24px; text-align:start; box-shadow:var(--shadow-xs);
  transition:color .15s, box-shadow .15s; outline:none; }
.dark .au-input { background:color-mix(in oklab, var(--input) 30%, transparent); }
@media (min-width:768px) { .au-input { font-size:14px; line-height:20px; } }
.au-input::placeholder { color:var(--muted-foreground); }
.au-input::selection { background:var(--primary); color:#fff; }
.au-input:focus-visible { border-color:var(--ring) !important; box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
.au-input:-webkit-autofill { animation:au-autofill 1ms; }
@keyframes au-autofill { from { opacity:1; } }
.au-pw { position:relative; }
.au-pw .au-input { padding-left:36px; padding-right:44px; }
.au-lock { position:absolute; left:12px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--muted-foreground); }
.au-lock svg, .au-eye svg, .au-btn svg { width:16px; height:16px; }
.au-eye { position:absolute; right:4px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:32px; height:32px; border-radius:calc(var(--radius) * .8); color:var(--muted-foreground); }
.au-eye:hover { background:var(--muted); color:var(--foreground); }
.au-eye:focus-visible { outline:none; box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }

.au-error { display:none; }
.au-error.on { display:block; animation:au-shake .35s; }
@keyframes au-shake { 0% { opacity:0; transform:translateX(0); } 20% { transform:translateX(-6px); } 40% { transform:translateX(6px); } 60% { transform:translateX(-4px); } 80% { transform:translateX(4px); } 100% { opacity:1; transform:none; } }
#messagestack { display:none !important; }
.au-alert { display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border:1px solid color-mix(in oklab, var(--destructive) 25%, transparent);
  border-radius:var(--radius); background:color-mix(in oklab, var(--destructive) 10%, transparent); color:var(--destructive); font-size:13px; line-height:20px; }
.au-alert svg { flex:none; width:16px; height:16px; margin-top:2px; }
.au-alert b { display:block; font-weight:600; }
.au-alert p { margin:2px 0 0; color:color-mix(in oklab, var(--destructive) 55%, var(--foreground)); }
.au-alert.good { color:oklch(.55 .13 160); border-color:color-mix(in oklab, oklch(.6 .13 160) 30%, transparent); background:color-mix(in oklab, oklch(.6 .13 160) 10%, transparent); }
.dark .au-alert.good { color:oklch(.78 .13 160); }
.au-alert.good p { color:var(--muted-foreground); }
.au-alert.info { color:var(--foreground); border-color:var(--border); background:var(--muted); }
.au-alert.info p { color:var(--muted-foreground); }
.au-caps { margin:2px 0 0; font-size:12.5px; line-height:16px; font-weight:500; color:oklch(.6 .15 55); }
.dark .au-caps { color:oklch(.8 .14 70); }

.au-actions { margin:0; }
.au-btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; height:40px; padding:0 16px; border-radius:calc(var(--radius) * .8);
  background:var(--primary) !important; color:#fff !important; font-size:14px !important; line-height:20px; font-weight:600; white-space:nowrap; outline:none;
  box-shadow:inset 0 1px 0 oklch(1 0 0 / 30%), 0 8px 20px -8px color-mix(in oklab, var(--brand-primary) 70%, transparent); transition:all .15s cubic-bezier(.4,0,.2,1); }
.au-btn:hover { background:color-mix(in oklab, var(--primary) 90%, transparent) !important; }
.au-btn::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; background:linear-gradient(110deg, transparent 35%, oklch(1 0 0 / 40%) 50%, transparent 65%) 0 0 / 200% 100%; }
.au-btn:hover:not(:disabled)::after { opacity:1; animation:au-shine 1.1s ease; }
.au-btn:active:not(:disabled) { transform:translateY(1px); }
.au-btn:focus-visible { box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
.au-btn:disabled, .au-btn.is-empty { opacity:.5; pointer-events:none; }
.au-btn .ic-spin { display:none; animation:au-spin 1s linear infinite; }
.au-pending .au-btn .ic-spin { display:block; }
.au-pending .au-btn .ic-key { display:none; }
@keyframes au-shine { from { background-position:200% 0; } to { background-position:-200% 0; } }
@keyframes au-spin { to { transform:rotate(360deg); } }
#login-footer:empty { display:none; }
#login-footer { margin-top:16px; font-size:12.5px; color:var(--muted-foreground); }
.au-noscript { margin-top:16px; font-size:13px; color:var(--destructive); }

.au-foot { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:0 24px 20px; font-size:12px; line-height:16px; color:var(--muted-foreground);
  animation:au-fade .6s ease 1.4s both; }
.au-copy { display:flex; align-items:baseline; gap:4px; }
.au-brand { display:flex; align-items:flex-end; }
.au-copy bdi { font-variant-numeric:tabular-nums; }
.lockup { width:auto; flex:none; color:var(--brand-ink); }
.dark .lockup { color:var(--brand-paper); }

@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
