/* =====================================================================
   EGA Mail Login — split-screen redesign
   Left 60%: animated green background + poster carousel + trust badges
   Right 40%: frosted-glass login card (wraps the real Roundcube form)
   Reimplemented from the "EGA Mail Login" design handoff.
   The previous login styling is preserved in ega-login.css.bak.
   ===================================================================== */

:root {
    --ega-emerald: #0B5D3B;
    --ega-gov-green: #1E7A4D;
    --ega-soft-green: #3BAA65;
    --ega-mint: #A8E6C1;
    --ega-gold-a: #E8C879;
    --ega-gold-b: #C99A3F;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
    background: #06301f !important;
    color: #fff;
    overflow: hidden;
}

body::placeholder { color: rgba(255, 255, 255, .34); }

/* ---------- keyframes ---------- */
@keyframes egaBlobA { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(60px,-44px) scale(1.14); } 100% { transform: translate(0,0) scale(1); } }
@keyframes egaBlobB { 0% { transform: translate(0,0) scale(1.05); } 50% { transform: translate(-54px,40px) scale(.92); } 100% { transform: translate(0,0) scale(1.05); } }
@keyframes egaBlobC { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(38px,52px) scale(1.18); } 100% { transform: translate(0,0) scale(1); } }
@keyframes egaWaveSpin { 0% { transform: rotate(0deg) scale(1.4); } 100% { transform: rotate(360deg) scale(1.4); } }
@keyframes egaShapeFloat { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-26px) rotate(18deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes egaDust { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: .7; } 90% { opacity: .7; } 100% { transform: translateY(-120px); opacity: 0; } }
@keyframes egaPosterFloat { 0% { transform: translateY(0); } 50% { transform: translateY(-12px); } 100% { transform: translateY(0); } }
@keyframes egaFadeUp { 0% { opacity: 0; transform: translateY(22px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes egaFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes egaPopIn { 0% { opacity: 0; transform: translateY(16px) scale(.94); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes egaPulseDot { 0% { opacity: .4; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: .4; transform: scale(.8); } }
@keyframes egaSpin { to { transform: rotate(360deg); } }
@keyframes egaSheen { 0% { transform: translateX(-120%); } 60% { transform: translateX(220%); } 100% { transform: translateX(220%); } }

/* ---------- stage ---------- */
.ega-stage {
    display: flex;
    width: 100%;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    background: radial-gradient(120% 130% at 18% 8%, #0e6a43 0%, #0a4f33 38%, #073a26 66%, #052619 100%);
    color: #fff;
}

/* ---------- animated background ---------- */
.ega-bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.ega-blob { position: absolute; border-radius: 50%; }
.ega-blob-a { width: 620px; height: 620px; left: -120px; top: -160px; background: radial-gradient(circle, #3BAA65 0%, rgba(59,170,101,0) 68%); filter: blur(38px); opacity: .5; animation: egaBlobA 19s ease-in-out infinite; }
.ega-blob-b { width: 540px; height: 540px; left: 30%; top: 46%; background: radial-gradient(circle, #1E7A4D 0%, rgba(30,122,77,0) 70%); filter: blur(46px); opacity: .55; animation: egaBlobB 23s ease-in-out infinite; }
.ega-blob-c { width: 460px; height: 460px; right: -80px; bottom: -120px; background: radial-gradient(circle, #A8E6C1 0%, rgba(168,230,193,0) 66%); filter: blur(42px); opacity: .26; animation: egaBlobC 21s ease-in-out infinite; }
.ega-wave { position: absolute; width: 90%; height: 90%; left: 8%; top: 6%; background: conic-gradient(from 0deg, rgba(168,230,193,.06), rgba(30,122,77,.02), rgba(168,230,193,.07), rgba(30,122,77,.02), rgba(168,230,193,.06)); border-radius: 46%; filter: blur(20px); animation: egaWaveSpin 60s linear infinite; }
.ega-shape { position: absolute; }
.ega-shape-1 { left: 8%; top: 20%; width: 120px; height: 120px; border: 1.5px solid rgba(168,230,193,.14); border-radius: 30px; animation: egaShapeFloat 16s ease-in-out infinite; }
.ega-shape-2 { left: 50%; top: 70%; width: 74px; height: 74px; border: 1.5px solid rgba(255,255,255,.1); border-radius: 50%; animation: egaShapeFloat 19s ease-in-out infinite 1.5s; }
.ega-dust { position: absolute; border-radius: 50%; }
.ega-dust-1 { left: 4%;  top: 64%; width: 5px; height: 5px; background: #A8E6C1; opacity: .6;  animation: egaDust 13s linear infinite; }
.ega-dust-2 { left: 20%; top: 90%; width: 3px; height: 3px; background: #fff;    opacity: .5;  animation: egaDust 17s linear infinite 2s; }
.ega-dust-3 { left: 64%; top: 85%; width: 4px; height: 4px; background: #A8E6C1; opacity: .55; animation: egaDust 15s linear infinite 4s; }
.ega-dust-4 { left: 80%; top: 30%; width: 4px; height: 4px; background: #fff;    opacity: .4;  animation: egaDust 21s linear infinite 3s; }
.ega-dust-5 { left: 88%; top: 60%; width: 5px; height: 5px; background: #3BAA65; opacity: .5;  animation: egaDust 19s linear infinite 1s; }

/* ---------- divider ---------- */
.ega-divider {
    position: absolute; top: 0; bottom: 0; left: 60%; width: 1px; z-index: 3;
    background: linear-gradient(to bottom, transparent, rgba(168,230,193,.5) 16%, rgba(168,230,193,.62) 50%, rgba(168,230,193,.5) 84%, transparent);
    box-shadow: 0 0 20px rgba(168,230,193,.3);
    pointer-events: none;
}

/* ---------- default background-image mode (gms_login_default_image) ---------- */
/* When an admin sets a login background image it fills the whole page; the poster
   panel, divider and animated layers are hidden and the login card centers over it. */
#ega-stage.ega-has-bg {
    background-image:
        linear-gradient(rgba(4,22,15,.55), rgba(4,22,15,.66)),
        var(--ega-login-bg, none);
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
}
#ega-stage.ega-has-bg .ega-bg,
#ega-stage.ega-has-bg .ega-left,
#ega-stage.ega-has-bg .ega-divider { display: none !important; }
#ega-stage.ega-has-bg .ega-right {
    flex: 1 1 100%; width: 100%;
    background: none; backdrop-filter: none; -webkit-backdrop-filter: none;
    justify-content: center;
}

/* ============================ LEFT PANEL ============================ */
.ega-left {
    position: relative; z-index: 1;
    flex: 0 0 60%; width: 60%;
    display: flex; flex-direction: column; justify-content: space-between;
    padding: 44px 60px;
}

/* brand header */
.ega-brand { display: flex; align-items: center; gap: 11px; }
.ega-brand-logo {
    width: 42px; height: 42px; flex-shrink: 0; border-radius: 11px; overflow: hidden;
    border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.92);
    object-fit: contain;
}
.ega-brand-text { display: flex; flex-direction: column; line-height: 1.22; min-width: 0; }
.ega-brand-name { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 14px; white-space: nowrap; }
.ega-brand-sub  { font-size: 11px; color: #A8E6C1; }

/* poster carousel */
.ega-poster-area {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 22px; padding: 22px 0;
}
.ega-poster-frame {
    position: relative; width: 100%; max-width: 430px; aspect-ratio: 1 / 1;
    border-radius: 24px; animation: egaPosterFloat 8s ease-in-out infinite;
}
.ega-poster-frame::before {
    content: ""; position: absolute; inset: -14px; border-radius: 30px;
    background: radial-gradient(circle at 50% 40%, rgba(168,230,193,.18), transparent 70%);
    filter: blur(8px); pointer-events: none;
}
.ega-poster {
    position: absolute; inset: 0;
    opacity: 0; transform: scale(1.04); pointer-events: none; z-index: 1;
    transition: opacity .9s ease, transform .9s ease;
}
.ega-poster.on { opacity: 1; transform: scale(1); pointer-events: auto; z-index: 2; }
.ega-poster-inner {
    position: absolute; inset: 0; border-radius: 22px; overflow: hidden;
    border: 1px solid rgba(255,255,255,.16); box-shadow: 0 30px 70px -28px rgba(0,0,0,.6);
}
.ega-poster-inner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* dots */
.ega-dots { display: flex; gap: 9px; }
.ega-dot {
    height: 8px; width: 8px; border-radius: 99px; border: none; padding: 0; cursor: pointer;
    background: rgba(255,255,255,.3); transition: all .4s ease;
}
.ega-dot.on { width: 26px; background: #A8E6C1; }

/* Soma Zaidi */
.ega-soma {
    display: inline-flex; align-items: center; gap: 9px; padding: 11px 24px; border-radius: 99px;
    background: linear-gradient(135deg, #E8C879, #C99A3F); color: #3a2c08;
    font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 13.5px; letter-spacing: .3px;
    text-transform: uppercase; text-decoration: none; box-shadow: 0 14px 30px -12px rgba(201,154,63,.7);
    transition: transform .2s, box-shadow .2s;
}
.ega-soma:hover { transform: translateY(-2px); box-shadow: 0 20px 38px -12px rgba(201,154,63,.85); color: #3a2c08; }
.ega-soma svg { display: block; }

/* trust */
.ega-trust { display: flex; gap: 28px; flex-wrap: wrap; align-items: center; }
.ega-trust-item { display: flex; align-items: center; gap: 9px; }
.ega-trust-item .label { font-size: 13px; color: rgba(255,255,255,.72); font-weight: 500; }
.ega-trust-dot { width: 8px; height: 8px; border-radius: 50%; background: #3BAA65; box-shadow: 0 0 0 3px rgba(59,170,101,.2); animation: egaPulseDot 2.4s ease-in-out infinite .6s; }

/* ============================ RIGHT PANEL ============================ */
.ega-right {
    position: relative; z-index: 2;
    flex: 0 0 40%; width: 40%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 40px 56px;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.04) 30%, rgba(255,255,255,.06) 100%);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.ega-right-inner {
    width: 100%; max-width: 420px; display: flex; flex-direction: column;
    animation: egaFadeUp .7s cubic-bezier(.2,.7,.2,1) both;
}

/* glass card */
.ega-card {
    position: relative; border-radius: 24px; padding: 36px 34px 30px;
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 30px 80px -30px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
}

.ega-card-head { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.ega-card-logo { width: 54px; height: 54px; object-fit: contain; }
.ega-card-head-text { display: flex; flex-direction: column; line-height: 1.24; }
.ega-card-country { font-size: 11.5px; color: #A8E6C1; letter-spacing: .7px; text-transform: uppercase; font-weight: 600; }
.ega-card-product { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 21px; letter-spacing: -.3px; }

.ega-card-title {
    font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 500; font-size: 16px;
    letter-spacing: -.1px; margin: 0 0 22px; color: rgba(255,255,255,.7);
}

.ega-form { display: flex; flex-direction: column; gap: 18px; }

/* returning-user account card */
.ega-account {
    display: flex; align-items: center; gap: 13px; padding: 12px 13px; border-radius: 14px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13);
}
.ega-account-avatar {
    position: relative; width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #3BAA65, #1E7A4D);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.ega-account-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.ega-account-initials { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 15px; color: #fff; }
.ega-account-online { position: absolute; bottom: -1px; right: -1px; width: 11px; height: 11px; border-radius: 50%; background: #3BAA65; border: 2px solid #0a4f33; }
.ega-account-meta { flex: 1; display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.ega-account-greet { font-size: 11.5px; color: #A8E6C1; }
.ega-account-name { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ega-account-email { font-size: 11px; color: rgba(255,255,255,.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ega-account-switch {
    width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); border-radius: 10px;
    cursor: pointer; color: rgba(255,255,255,.6); transition: all .2s; font-size: 14px;
}
.ega-account-switch:hover { color: #A8E6C1; border-color: rgba(168,230,193,.4); }

/* fields */
.ega-field { display: flex; flex-direction: column; gap: 8px; }
.ega-field-label { font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.8); letter-spacing: .2px; }
.ega-input-wrap { position: relative; display: flex; align-items: center; }
.ega-input-icon { position: absolute; left: 14px; display: flex; pointer-events: none; color: rgba(255,255,255,.45); font-size: 16px; line-height: 1; }
.ega-input {
    width: 100%; padding: 13px 14px 13px 42px; border-radius: 13px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13);
    color: #fff; font-size: 14.5px; font-family: inherit; outline: none;
    transition: border-color .25s, box-shadow .25s, background .25s;
}
.ega-input.has-toggle { padding-right: 46px; }
.ega-input:hover { border-color: rgba(168,230,193,.45); background: rgba(255,255,255,.07); }
.ega-input:focus { border-color: #A8E6C1; box-shadow: 0 0 0 4px rgba(168,230,193,.16); background: rgba(255,255,255,.08); }
.ega-input::placeholder { color: rgba(255,255,255,.34); }
/* Chrome/Edge autofill paints saved credentials with a blue highlight — override it with a green inset so it matches the theme. */
.ega-input:-webkit-autofill,
.ega-input:-webkit-autofill:hover,
.ega-input:-webkit-autofill:active {
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
    border-color: rgba(168,230,193,.45);
    -webkit-box-shadow: 0 0 0 1000px rgba(10,63,43,.95) inset;
    box-shadow: 0 0 0 1000px rgba(10,63,43,.95) inset;
    transition: background-color 9999s ease-in-out 0s;
}
.ega-input:-webkit-autofill:focus {
    border-color: #A8E6C1;
    -webkit-box-shadow: 0 0 0 1000px rgba(10,63,43,.95) inset, 0 0 0 4px rgba(168,230,193,.16);
    box-shadow: 0 0 0 1000px rgba(10,63,43,.95) inset, 0 0 0 4px rgba(168,230,193,.16);
}

.ega-eye {
    position: absolute; right: 8px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
    border: none; background: transparent; cursor: pointer; border-radius: 9px;
    color: rgba(255,255,255,.5); transition: color .2s, background .2s; font-size: 16px;
}
.ega-eye:hover { color: #A8E6C1; background: rgba(255,255,255,.06); }

/* options row */
.ega-options { display: flex; align-items: center; justify-content: flex-end; margin-top: -2px; min-height: 18px; }
.ega-forgot {
    font-size: 13px; color: #A8E6C1; text-decoration: none; font-weight: 600; transition: color .2s;
    appearance: none; -webkit-appearance: none; background: transparent; border: none; box-shadow: none;
    cursor: pointer; padding: 0; font-family: inherit;
}
.ega-forgot:hover { color: #fff; background: transparent; }
.ega-forgot:focus, .ega-forgot:focus-visible { outline: none; background: transparent; box-shadow: none; }

/* submit */
.ega-submit {
    position: relative; overflow: hidden; margin-top: 2px; width: 100%; height: 50px;
    border: none; border-radius: 13px; cursor: pointer;
    background: linear-gradient(135deg, #3BAA65 0%, #1E7A4D 100%); color: #fff;
    font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 15px; letter-spacing: .2px;
    box-shadow: 0 14px 30px -12px rgba(30,122,77,.8);
    transition: transform .2s, box-shadow .2s, filter .2s;
    display: flex; align-items: center; justify-content: center; gap: 10px;
}
.ega-submit:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -12px rgba(30,122,77,.9); filter: brightness(1.06); }
.ega-submit:active { transform: translateY(0) scale(.99); }
.ega-submit .ega-sheen {
    position: absolute; top: 0; left: 0; width: 40%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent);
    animation: egaSheen 5s ease-in-out infinite; pointer-events: none;
}
.ega-submit .ega-submit-label { position: relative; }
.ega-submit .ega-spinner {
    display: none; width: 17px; height: 17px; border-radius: 50%;
    border: 2.2px solid rgba(255,255,255,.35); border-top-color: #fff; animation: egaSpin .7s linear infinite;
}
.ega-submit.is-loading { cursor: wait; }
.ega-submit.is-loading .ega-spinner { display: inline-block; }

/* footer — styles the markup emitted by the supportteam + copyright objects */
.ega-foot { margin-top: 22px; text-align: center; }
.ega-foot .supportteam { display: block; font-size: 11.5px; color: rgba(255,255,255,.5); margin: 0 0 6px; line-height: 1.5; }
.ega-foot .supportteam a,
.ega-foot .supportteam span { color: #A8E6C1; text-decoration: none; }
.ega-foot .loginCopyright { font-size: 11px; color: rgba(255,255,255,.38); margin: 0; line-height: 1.5; }

/* ============================ FORGOT-PASSWORD MODAL ============================ */
.ega-modal-overlay {
    position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center;
    padding: 24px; background: rgba(4,28,18,.6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    animation: egaFadeIn .25s both;
}
.ega-modal-overlay[hidden] { display: none; }
.ega-modal {
    position: relative; width: 100%; max-width: 440px; border-radius: 24px; padding: 34px 32px 28px;
    background: linear-gradient(155deg, rgba(16,70,46,.96), rgba(8,46,30,.96));
    border: 1px solid rgba(168,230,193,.22); box-shadow: 0 40px 100px -30px rgba(0,0,0,.7);
    animation: egaPopIn .35s cubic-bezier(.2,.8,.2,1) both; color: #fff;
}
.ega-modal-close {
    position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); border-radius: 10px;
    cursor: pointer; color: rgba(255,255,255,.6); transition: all .2s; font-size: 15px;
}
.ega-modal-close:hover { color: #fff; background: rgba(255,255,255,.1); }
.ega-modal-icon {
    width: 60px; height: 60px; border-radius: 18px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, rgba(168,230,193,.2), rgba(255,255,255,.04));
    border: 1px solid rgba(168,230,193,.3); margin-bottom: 20px; color: #A8E6C1; font-size: 26px;
}
.ega-modal h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 21px; margin: 0 0 10px; letter-spacing: -.3px; }
.ega-modal p { font-size: 14px; line-height: 1.62; color: rgba(232,250,240,.78); margin: 0 0 22px; }
.ega-modal p strong { color: #fff; font-weight: 600; }
.ega-modal-contact {
    display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); margin-bottom: 24px;
}
.ega-modal-contact-icon {
    width: 40px; height: 40px; flex-shrink: 0; border-radius: 11px; display: flex; align-items: center; justify-content: center;
    background: rgba(59,170,101,.18); border: 1px solid rgba(59,170,101,.3); color: #A8E6C1; font-size: 18px;
}
.ega-modal-contact-meta { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.ega-modal-contact-label { font-size: 11.5px; color: rgba(255,255,255,.55); }
.ega-modal-contact-email { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 15px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ega-modal-actions { display: flex; gap: 12px; }
.ega-modal-btn-primary {
    flex: 1; height: 48px; display: flex; align-items: center; justify-content: center; gap: 9px; border-radius: 13px;
    background: linear-gradient(135deg, #3BAA65, #1E7A4D); color: #fff;
    font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 14px; text-decoration: none;
    box-shadow: 0 14px 28px -12px rgba(30,122,77,.8); transition: transform .2s, filter .2s;
}
.ega-modal-btn-primary:hover { transform: translateY(-2px); filter: brightness(1.06); color: #fff; }
.ega-modal-btn-secondary {
    height: 48px; padding: 0 22px; border-radius: 13px; background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.8);
    font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; font-size: 14px; cursor: pointer; transition: all .2s;
}
.ega-modal-btn-secondary:hover { background: rgba(255,255,255,.12); color: #fff; }

/* ============================ ROUNDCUBE MESSAGE STACK ============================ */
/* Roundcube renders login errors into #messagestack; keep it visible above the login. */
#messagestack { z-index: 60; }

/* ============================ HELPERS ============================ */
.ega-hidden,
.d-none { display: none !important; }

/* ============================ RESPONSIVE ============================ */
/* Tablet: stack slider above the login */
@media (max-width: 980px) {
    body { overflow: auto; }
    .ega-stage { flex-direction: column; }
    .ega-left  { width: 100%; flex: none; padding: 30px 34px; }
    .ega-right { width: 100%; flex: none; padding: 38px 34px; }
    .ega-trust   { display: none; }
    .ega-divider { display: none; }
}
/* Mobile: hide the slider, login fills the screen over the animated background */
@media (max-width: 680px) {
    body { overflow: auto; }
    .ega-left  { display: none; }
    .ega-right { min-height: 100vh; justify-content: center; padding: 30px 20px; }
}

/* Reduced motion: calm everything down */
@media (prefers-reduced-motion: reduce) {
    .ega-blob, .ega-wave, .ega-shape, .ega-dust, .ega-poster-frame,
    .ega-trust-dot, .ega-submit .ega-sheen, .ega-submit .ega-spinner,
    .ega-right-inner { animation: none !important; }
}

/* =====================================================================
   HARD OVERRIDES — force the green focus/hover and the flat forgot link
   over the browser's native input focus ring, dark-mode native <button>
   chrome, and Chrome autofill's blue highlight.
   ===================================================================== */
#ega-stage .ega-input { outline: none !important; }
#ega-stage .ega-input:hover {
    border-color: rgba(168,230,193,.45) !important;
    background: rgba(255,255,255,.07) !important;
    box-shadow: none !important;
}
#ega-stage .ega-input:focus,
#ega-stage .ega-input:focus-visible {
    border-color: #A8E6C1 !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: 0 0 0 4px rgba(168,230,193,.16) !important;
    outline: none !important;
}
#ega-stage .ega-input:-webkit-autofill,
#ega-stage .ega-input:-webkit-autofill:hover,
#ega-stage .ega-input:-webkit-autofill:focus,
#ega-stage .ega-input:-webkit-autofill:active {
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff !important;
    border-color: #A8E6C1 !important;
    -webkit-box-shadow: 0 0 0 1000px rgba(10,63,43,.96) inset !important;
    box-shadow: 0 0 0 1000px rgba(10,63,43,.96) inset !important;
}
#ega-stage .ega-forgot,
#ega-stage .ega-forgot:hover,
#ega-stage .ega-forgot:focus,
#ega-stage .ega-forgot:focus-visible,
#ega-stage .ega-forgot:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
}
#ega-stage .ega-forgot:hover { color: #fff !important; }
