/* GoodByte shared authentication surfaces — neutral, responsive, RTL/LTR aware. */
:root {
    --gba-deep: #064b5d;
    --gba-accent: #0a8991;
    --gba-text: #173d49;
    --gba-muted: #58737e;
    --gba-edge: #dbe9ed;
    --gba-surface: #f2f7fb;
    --gba-focus: rgba(10,137,145,.20);
}
.gba-auth, .gba-auth * { box-sizing: border-box; }
.gba-auth { color: var(--gba-text); font-family: "DIN Next LT Arabic", "Segoe UI", Tahoma, Arial, sans-serif; }
.gba-auth a { text-underline-offset: 3px; }
.gba-auth :is(input,select,textarea,button,a):focus-visible { outline: 3px solid #2b9eaa; outline-offset: 3px; }
.gba-auth .gba-lang { display: flex; align-items: center; justify-content: end; gap: 5px; margin-bottom: 15px; }
.gba-auth .gba-lang button { color: var(--gba-muted); border: 1px solid var(--gba-edge); background: #fff; border-radius: 10px; padding: 7px 12px; min-height: 37px; font: inherit; font-size: 13px; cursor: pointer; }
.gba-auth .gba-lang button[aria-current="true"] { background: #e9f6f7; border-color: #87ced1; color: #076978; font-weight: 750; }
.gba-auth .gba-lang button:hover { background: #e8f6f8; }
.gba-shell { min-height: 100dvh; padding: 34px 20px; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 90% 5%,rgba(71,200,196,.13),transparent 28%), linear-gradient(140deg,#063f52,#087285); }
.gba-frame { width: min(1030px,100%); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; align-items: stretch; direction: ltr; }
.gba-frame > * { min-width: 0; }
.gba-promo { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.19); border-radius: 26px; color: #fff; padding: 46px 37px; display: flex; flex-direction: column; justify-content: center; direction: rtl; text-align: start; }
.gba-promo-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.24); border-radius: 17px; background: rgba(255,255,255,.13); margin-bottom: 24px; }
.gba-promo-icon svg { width: 28px; height: 28px; }
.gba-promo h2 { font-size: clamp(25px, 3vw, 38px); color: white; margin: 0 0 12px; line-height: 1.35; font-weight: 850; }
.gba-promo p { font-size: 15px; line-height: 1.95; margin: 0; color: rgba(255,255,255,.85); }
.gba-promo-features { display: grid; gap: 14px; margin-top: 34px; font-size: 14px; }
.gba-promo-features > div { display: flex; gap: 10px; align-items: center; }
.gba-promo-features > div::before { content: '✓'; display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; background: rgba(255,255,255,.15); border-radius: 50%; }
.gba-frame .gba-login-card { width: 100%; max-width: none; margin: 0; border: 0; border-radius: 26px; padding: clamp(25px,4vw,44px); background: #fff; box-shadow: 0 20px 60px rgba(0,20,27,.14); direction: rtl; }
.gba-frame .gba-login-card .gb-login-heading h1 { font-size: clamp(24px, 3vw, 31px); line-height: 1.35; }
.gba-frame .gba-login-card .gb-login-heading p { font-size: 14px; line-height: 1.85; }
.gba-frame .gba-login-card :is(.gb-login-form label,.gb-login-security,.gb-login-footer) { font-size: 13px; }
.gba-frame .gba-login-card :is(.gb-input-wrap input,.gb-login-submit,.gb-login-sso) { min-height: 49px; font-size: 15px; }
.gba-frame .gba-login-card .gb-input-wrap input { width: 100%; }
.gba-frame .gba-login-card .gb-login-error :is(strong,small) { font-size: 13px; line-height: 1.5; }
.gba-frame .gba-login-card .gb-login-brand img { max-width: 190px; height: auto; }
.gba-frame .gba-login-card .gba-helper { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; flex-wrap: wrap; color: var(--gba-muted); font-size: 13px; }
.gba-frame .gba-login-card .gba-helper a { color: #087382; text-decoration: none; font-weight: 750; }
.gba-frame .gba-login-card .gba-mfa-notice { margin-top: 12px; padding: 10px 12px; background: #f0f8fa; border-radius: 10px; color: #466b76; font-size: 13px; line-height: 1.7; }
.gba-frame .gba-login-card .gb-login-form input[dir="ltr"] { direction: ltr; text-align: start; }
.gba-auth[dir="ltr"] .gba-promo, .gba-auth[dir="ltr"] .gba-login-card { direction: ltr; }
.gba-auth[dir="rtl"] .gba-frame { direction: rtl; }
.gba-auth[dir="rtl"] .gba-promo, .gba-auth[dir="rtl"] .gba-login-card { direction: rtl; }
.gba-auth[dir="ltr"] .gba-frame { direction: ltr; }
.gba-denied { min-height: 100dvh; padding: 30px 18px; display: grid; place-items: center; background: radial-gradient(circle at top,rgba(10,137,145,.12),transparent 48%),#f2f7fb; }
.gba-denied-card { width: min(650px,100%); padding: clamp(24px,5vw,52px); border: 1px solid var(--gba-edge); border-radius: 26px; background: #fff; box-shadow: 0 20px 65px rgba(6,75,93,.08); text-align: center; }
.gba-denied-icon { display: grid; place-items: center; margin: 0 auto 18px; width: 76px; height: 76px; border: 1px solid #f5d6ce; border-radius: 22px; background: #fff4ee; color: #b95d3d; }
.gba-denied-icon svg { width: 38px; height: 38px; }
.gba-denied-card h1 { margin: 10px 0; color: var(--gba-text); font-size: clamp(25px,4vw,36px); }
.gba-denied-card p { color: var(--gba-muted); font-size: 15px; line-height: 1.85; }
.gba-denied-actions { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 23px; }
.gba-denied-actions > a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 11px; font-weight: 700; font-size: 14px; text-decoration: none; }
.gba-denied-actions > a:first-child { background: #087d89; color: #fff; }
.gba-denied-actions > a:not(:first-child) { background: #ecf6f8; color: #075f6c; }
.gba-inline-help { margin-top: 20px; font-size: 13px; line-height: 1.8; color: var(--gba-muted); }
@media(max-width:800px) {
    .gba-shell { background: #fff; padding: 0; }
    .gba-frame { width: 100%; min-height: 100dvh; display: block; }
    .gba-promo { display: none; }
    .gba-frame .gba-login-card { max-width: 540px; min-height: 100dvh; margin: 0 auto; padding: 28px 22px; box-shadow: none; border-radius: 0; }
}
@media(prefers-reduced-motion:reduce) { .gba-auth *, .gba-auth *::before, .gba-auth *::after { animation-duration: .01ms!important; transition-duration: .01ms!important; } }
