:root { --auth-primary:#3155d9; --auth-navy:#111a32; --auth-muted:#334155; }
* { box-sizing: border-box; }
body.auth-v2-body { min-height: 100vh; margin: 0; background: #f3f6fb; color: #172033; font-family: "Tajawal", sans-serif; }
.auth-v2 { display: grid; min-height: 100vh; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); }
.auth-v2-visual { position: relative; display: flex; overflow: hidden; align-items: flex-end; padding: 58px; background: #111a32; color: #fff; }
.auth-v2-visual::before,
.auth-v2-visual::after { display:none; }
[dir="rtl"] .auth-v2-visual::before { right:auto; left:-150px; }
[dir="rtl"] .auth-v2-visual::after { right:auto; left:80px; }
.auth-visual-content { position:relative; z-index:1; max-width:520px; }
.auth-brand { display:inline-flex; align-items:center; margin-bottom:42px; color:#fff; }
.auth-brand img { width:44px; height:44px; margin-right:12px; object-fit:contain; }
[dir="rtl"] .auth-brand img { margin-right:0; margin-left:12px; }
.auth-brand strong { display:block; font-size:16px; }
.auth-brand small { color:#fff; font-size:13px; font-weight:700; }
.auth-v2-visual h1 { max-width:500px; margin:0 0 14px; color:#fff; font-size:38px; font-weight:800; line-height:1.25; }
.auth-v2-visual p { max-width:500px; margin:0; color:#fff; font-size:16px; font-weight:600; line-height:1.8; }
.auth-security { display:flex; align-items:center; margin-top:30px; color:#fff; font-size:14px; font-weight:700; }
.auth-security i { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; margin-right:9px; border-radius:9px; background:#24375f; }
[dir="rtl"] .auth-security i { margin-right:0; margin-left:9px; }
.auth-v2-form-side { display:flex; align-items:center; justify-content:center; padding:48px; background:#fff; }
.auth-form-card { width:100%; max-width:430px; }
.auth-form-eyebrow { margin-bottom:7px; color:var(--auth-primary); font-size:13px; font-weight:800; letter-spacing:0; text-transform:none; }
.auth-form-card h2 { margin:0 0 8px; font-size:27px; font-weight:800; }
.auth-form-subtitle { margin:0 0 30px; color:#526075; font-size:15px; font-weight:600; line-height:1.7; }
.auth-alert { margin-bottom:17px; padding:12px 14px; border-radius:10px; font-size:14px; font-weight:600; }
.auth-alert.success { background:#e8f8f1; color:#147a58; }
.auth-alert.danger { background:#ffeaee; color:#b92e46; }
.auth-field { margin-bottom:18px; }
.auth-field label { display:block; margin-bottom:8px; color:#263249; font-size:14px; font-weight:800; }
.auth-input-wrap { position:relative; }
.auth-input-wrap > i { position:absolute; top:50%; left:15px; color:#334155; font-size:17px; transform:translateY(-50%); }
[dir="rtl"] .auth-input-wrap > i { right:15px; left:auto; }
.auth-input { width:100%; height:50px; padding:10px 44px; border:1px solid #cbd5e3; border-radius:11px; outline:0; color:#172033; font:inherit; font-size:15px; font-weight:600; transition:.18s ease; }
.auth-input:focus { border-color:#8097ed; box-shadow:none; }
.auth-toggle-password { position:absolute; top:50%; right:12px; padding:6px; border:0; background:transparent; color:#334155; cursor:pointer; transform:translateY(-50%); }
[dir="rtl"] .auth-toggle-password { right:auto; left:12px; }
.auth-options { display:flex; align-items:center; justify-content:space-between; margin:4px 0 24px; font-size:14px; font-weight:600; }
.auth-check { display:flex; align-items:center; color:#263249; }
.auth-check input { margin-right:7px; accent-color:var(--auth-primary); }
[dir="rtl"] .auth-check input { margin-right:0; margin-left:7px; }
.auth-link { color:var(--auth-primary); font-weight:700; text-decoration:none; }
.auth-submit { width:100%; height:50px; border:0; border-radius:8px; background:#3155d9; box-shadow:none; color:#fff; cursor:pointer; font:inherit; font-size:15px; font-weight:800; transition:.18s ease; }
.auth-submit:hover { background:#2444b7; }
.auth-copyright { margin-top:26px; color:#334155; font-size:13px; font-weight:700; text-align:center; }
.auth-error { display:block; margin-top:5px; color:#c73b50; font-size:13px; font-weight:700; }
@media(max-width:900px){.auth-v2{display:block}.auth-v2-visual{display:none}.auth-v2-form-side{min-height:100vh;padding:30px 22px}}
