

:root{
  --ink:#132A35; --ink2:#0F3A40; --paper:#EEF3F5; --card:#FFFFFF;
  --teal:#0E9384; --teal-d:#0B6E63; --amber:#F5A623; --coral:#F0564A;
  --blue:#2F80C3; --green:#2E9E5B; --slate:#5B7285; --mist:#8A9BAA;
  --line:#D8E1E6; --line-soft:#EAF0F2;
  --f-disp:'Archivo','Cairo',sans-serif;
  --f-body:'IBM Plex Sans','Tajawal',sans-serif;
  --sh:0 1px 2px rgba(19,42,53,.05),0 10px 26px -14px rgba(19,42,53,.22);
  --sh-lg:0 4px 10px rgba(19,42,53,.06),0 22px 44px -18px rgba(19,42,53,.30);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:var(--f-body);font-size:12.5px;line-height:1.55;color:var(--ink);
  min-height:100vh;display:flex;flex-direction:column;
  background-color:var(--paper);
  background-image:
    radial-gradient(circle, rgba(19,42,53,.05) 1px, transparent 1.4px),
    radial-gradient(900px 420px at 88% -8%, rgba(14,147,132,.12), transparent 60%),
    radial-gradient(760px 400px at -6% 24%, rgba(245,166,35,.10), transparent 60%),
    radial-gradient(700px 380px at 60% 110%, rgba(47,128,195,.08), transparent 55%);
  background-size:22px 22px,auto,auto,auto;background-attachment:fixed;
}
::selection{background:var(--teal);color:#fff}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select{font-family:inherit;font-size:12.5px;color:var(--ink)}
.num{direction:ltr;unicode-bidi:isolate}
h1,h2,.disp{font-family:var(--f-disp)}

/* ============ TOPBAR ============ */
.topbar{
  position:sticky;top:0;z-index:60;height:52px;display:flex;align-items:center;gap:12px;padding:0 18px;
  background:linear-gradient(90deg,#10333C 0%,#0E4A44 55%,#0C5A50 100%);color:#EAF6F3;
  box-shadow:0 2px 14px rgba(12,50,48,.28);
}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:28px;height:28px;flex:none}
.brand-txt b{display:block;font:800 13.5px/1 var(--f-disp);letter-spacing:.06em}
.brand-txt span{display:block;font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:#9ED4C9;margin-top:2px}
[dir="rtl"] .brand-txt span{letter-spacing:.06em}
.top-right{margin-inline-start:auto;display:flex;align-items:center;gap:9px}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#DFF2EE;padding:6px 12px;border-radius:99px;border:1.5px solid rgba(255,255,255,.3);transition:.2s}
.back-link:hover{background:rgba(255,255,255,.13);border-color:#fff;transform:translateY(-1px)}
.lang-btn{border:1.5px solid rgba(255,255,255,.4);border-radius:99px;padding:5px 13px;font-weight:800;font-size:11px;color:#EAF6F3;transition:.2s}
.lang-btn:hover{background:rgba(255,255,255,.14);border-color:#fff}

/* ============ LAYOUT ============ */
.auth-wrap{width:min(1060px,calc(100% - 36px));margin:34px auto;display:grid;grid-template-columns:1.05fr .95fr;gap:0;flex:1;align-items:stretch}

/* ---- brand side ---- */
.brand-side{
  position:relative;overflow:hidden;color:#EAF6F3;padding:34px 32px 26px;display:flex;flex-direction:column;
  border-start-start-radius:18px;border-end-start-radius:18px;
  background:linear-gradient(135deg,#0F3A40,#0C5A50 60%,#0E6E5A);box-shadow:var(--sh-lg);
}
.brand-side::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-55deg,rgba(255,255,255,.04) 0 10px,transparent 10px 26px);pointer-events:none}
.brand-side::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.18),transparent 65%);top:-120px;inset-inline-end:-100px;pointer-events:none}
.bs-tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:5px 13px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#FFD98A;position:relative;z-index:2}
[dir="rtl"] .bs-tag{letter-spacing:.03em}
.bs-tag i{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
.brand-side h1{position:relative;z-index:2;font-size:30px;font-weight:900;line-height:1.22;letter-spacing:-.015em;margin:16px 0 10px;max-width:380px}
.brand-side h1 em{font-style:normal;color:#FFD98A}
.brand-side .bsub{position:relative;z-index:2;font-size:12.5px;color:rgba(234,246,243,.82);max-width:380px;font-weight:500}
.bs-feats{position:relative;z-index:2;margin-top:22px;display:flex;flex-direction:column;gap:11px}
.bs-feat{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600}
.bs-feat .fic{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:13px}
.bs-stats{position:relative;z-index:2;margin-top:auto;padding-top:22px;display:flex;border-top:1px dashed rgba(255,255,255,.28)}
.bs-stat{flex:1;padding:0 16px;border-inline-start:1px dashed rgba(255,255,255,.28)}
.bs-stat:first-child{padding-inline-start:0;border:none}
.bs-stat b{display:block;font:800 21px/1.1 var(--f-disp)}
.bs-stat small{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ED4C9}
[dir="rtl"] .bs-stat small{letter-spacing:.02em}
.stamp2{position:absolute;z-index:2;top:24px;inset-inline-end:26px;width:92px;height:92px;display:grid;place-items:center;text-align:center;transform:rotate(-12deg)}
.stamp2::before{content:"";position:absolute;inset:0;border:2.5px dashed rgba(255,217,138,.55);border-radius:50%;animation:rot 40s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.stamp2 b{font:800 10px/1.5 var(--f-disp);letter-spacing:.16em;color:rgba(255,217,138,.85)}
.stamp2 span{font-size:15px;color:rgba(255,217,138,.85)}
/* floating doc chips */
.fchip{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;background:#fff;color:var(--ink);border-radius:10px;padding:8px 12px;font-size:10.5px;font-weight:700;box-shadow:var(--sh-lg);animation:float 6s ease-in-out infinite}
.fchip .fdot{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px}
.fchip small{display:block;font-size:9px;color:var(--mist);font-weight:600}
.fc1{top:120px;inset-inline-end:36px;animation-delay:0s}
.fc2{top:205px;inset-inline-end:110px;animation-delay:1.6s}
.fc3{top:290px;inset-inline-end:20px;animation-delay:3.1s}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-11px) rotate(1.5deg)}}

/* ---- form side ---- */
.form-side{display:flex;flex-direction:column;justify-content:center;padding-inline-start:30px}
.auth-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-lg);padding:26px 28px;animation:viewIn .5s cubic-bezier(.2,.8,.3,1)}
@keyframes viewIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.auth-card.shake{animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#EFF4F5;border-radius:11px;padding:4px;margin-bottom:20px}
.tab-ind{position:absolute;top:4px;bottom:4px;inset-inline-start:4px;width:calc(50% - 4px);background:#fff;border-radius:8px;box-shadow:var(--sh);transition:transform .32s cubic-bezier(.2,.9,.3,1.1)}
.auth-tabs.reg .tab-ind{transform:translateX(100%)}
[dir="rtl"] .auth-tabs.reg .tab-ind{transform:translateX(-100%)}
.atab{position:relative;z-index:1;padding:9px 6px;font-weight:800;font-size:12px;color:var(--slate);border-radius:8px;transition:.2s}
.atab.on{color:var(--teal-d)}
.formpane{display:none}
.formpane.on{display:block;animation:viewIn .35s}
.formpane h2{font-size:18px;font-weight:800}
.formpane .fsub{font-size:11.5px;color:var(--mist);font-weight:600;margin:3px 0 18px}

/* fields */
.fld{margin-bottom:13px}
.fld>label{display:block;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:5px}
[dir="rtl"] .fld>label{letter-spacing:.02em}
.ibox{position:relative}
.ibox .ic{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--mist);pointer-events:none;transition:.2s}
.ibox:focus-within .ic{color:var(--teal)}
.inp{width:100%;height:40px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;padding-inline-start:37px;background:#fff;transition:.2s}
.ibox .inp{padding-inline-end:38px}
.inp:hover{border-color:#B9CBD3}
.inp:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,147,132,.16)}
select.inp{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235B7285' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center right 12px;padding-inline-start:12px}
[dir="rtl"] select.inp{background-position:center left 12px}
.peek{position:absolute;inset-inline-end:7px;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:7px;display:grid;place-items:center;color:var(--mist);transition:.18s}
.peek:hover{color:var(--teal-d);background:#EFF6F5}
.peek svg{width:15px;height:15px}
.emsg{display:none;font-size:10.5px;font-weight:700;color:var(--coral);margin-top:4px}
.fld.err .inp{border-color:var(--coral);box-shadow:0 0 0 3px rgba(240,86,74,.14)}
.fld.err .emsg{display:block}
.fld.err .ic{color:var(--coral)}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.caps-note{display:none;align-items:center;gap:6px;margin-top:5px;font-size:10px;font-weight:700;color:#8A6100;background:#FFF6E0;border:1px solid #F4E3BC;border-radius:7px;padding:4px 9px}
.caps-note.on{display:inline-flex}

/* strength meter */
.meter{display:flex;gap:5px;align-items:center;margin-top:8px}
.meter i{height:5px;flex:1;border-radius:99px;background:#E3EAED;transition:.35s}
.meter span{font-size:9.5px;font-weight:800;min-width:52px;text-align:end;color:var(--mist)}

/* checkbox + links */
.chk{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;cursor:pointer;user-select:none}
.chk input{display:none}
.chk .box{flex:none;width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line);background:#fff;position:relative;transition:.18s}
.chk:hover .box{border-color:var(--teal)}
.chk input:checked+.box{background:var(--teal);border-color:var(--teal)}
.chk input:checked+.box::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 16px}
.forgot{font-size:11px;font-weight:700;color:var(--teal)}
.forgot:hover{text-decoration:underline;color:var(--teal-d)}

/* buttons */
.btn-main{position:relative;width:100%;height:42px;border-radius:10px;background:var(--teal);color:#fff;font-weight:800;font-size:13px;letter-spacing:.02em;box-shadow:0 6px 16px -6px rgba(14,147,132,.65);transition:.22s;display:grid;place-items:center}
.btn-main:hover{background:var(--teal-d);transform:translateY(-1px)}
.btn-main:active{transform:scale(.98)}
.btn-main.amber{background:var(--amber);color:#3D2A00;box-shadow:0 6px 16px -6px rgba(245,166,35,.65)}
.btn-main.amber:hover{background:#FFBE45}
.btn-main.loading{color:transparent;pointer-events:none}
.btn-main.loading::after{content:"";position:absolute;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;top:calc(50% - 9px);inset-inline-start:calc(50% - 9px);animation:spin .7s linear infinite}
.btn-main.done{background:var(--green)!important;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}

.divider{display:flex;align-items:center;gap:11px;margin:17px 0;color:var(--mist);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
[dir="rtl"] .divider{letter-spacing:.02em}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.socials{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sbtn{display:flex;align-items:center;justify-content:center;gap:9px;height:38px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-weight:700;font-size:11.5px;color:var(--slate);transition:.2s}
.sbtn:hover{border-color:var(--slate);transform:translateY(-1px);box-shadow:var(--sh)}
.sbtn svg{width:15px;height:15px}
.demo-note{margin-top:15px;background:color-mix(in srgb,var(--blue) 8%,white);border:1px dashed color-mix(in srgb,var(--blue) 40%,white);border-radius:9px;padding:8px 12px;font-size:10.5px;font-weight:600;color:var(--slate)}
.demo-note b{color:var(--blue)}
.switch-row{text-align:center;margin-top:16px;font-size:11.5px;font-weight:600;color:var(--mist)}
.switch-row button{font-weight:800;color:var(--teal);margin-inline-start:4px}
.switch-row button:hover{text-decoration:underline;color:var(--teal-d)}
.terms-err{display:none;font-size:10.5px;font-weight:700;color:var(--coral);margin-top:5px}
.terms-err.on{display:block}
.auth-foot{width:min(1060px,calc(100% - 36px));margin:0 auto 22px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10.5px;color:var(--mist);font-weight:600}

/* toast */
.toasts{position:fixed;bottom:20px;inset-inline-end:20px;z-index:100;display:flex;flex-direction:column;gap:9px}
.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:11px;font-size:12px;font-weight:600;box-shadow:var(--sh-lg);border-inline-start:4px solid var(--green);animation:toastIn .35s cubic-bezier(.2,.9,.3,1.3)}
.toast.warn{border-color:var(--coral)}
@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}

/* responsive */
@media(max-width:920px){
  .auth-wrap{grid-template-columns:1fr;margin-top:20px;gap:20px}
  .brand-side{border-radius:18px;padding:26px 24px 20px}
  .brand-side h1{font-size:24px}
  .fchip{display:none}
  .form-side{padding-inline-start:0;padding-bottom:6px}
}
@media(max-width:520px){
  .r2{grid-template-columns:1fr}
  .bs-stats{flex-wrap:wrap;gap:12px}
  .bs-stat{border:none;padding:0;flex:1 1 40%}
  .stamp2{display:none}
  .auth-card{padding:22px 18px}
}
