body.ag-login-page {
    --ag-brand: #20165b;
    --ag-ink: #20243a;
    --ag-muted: #687087;
    --ag-line: #dce1eb;
    background: #f1f4f9;
    color: var(--ag-ink);
    height: auto;
    font-family: Shabnam, Tahoma, sans-serif;
}
.ag-login-page #digits_protected * { box-sizing: border-box; font-family: Shabnam, Tahoma, sans-serif !important; }
.ag-login-page #digits_protected .ag-welcome :is(.ag-greeting, .ag-german-line, .ag-welcome-foot span) { font-family: 'Segoe UI', Arial, sans-serif !important; }
.ag-login-page #digits_protected .digits-form_input :is(input[type='tel'], .otp_input) { font-family: 'Segoe UI', Tahoma, sans-serif !important; }
.ag-login-page .digits-form_page {
    --dprimary: #20165b;
    --dtitle: #20243a;
    --dfield_bg: #f7f8fc;
    --dform_bg: #ffffff;
    --dbutton_text: #ffffff;
    --dac: #e8e5f7;
    min-height: 100vh;
    min-height: 100svh;
    padding: 40px 32px;
    background: transparent;
}
.ag-login-page .ag-shell {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    width: min(1080px, 100%);
    min-height: 654px;
    direction: ltr;
    background: #fff;
    border: 1px solid #e0e4ee;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 64px rgba(32, 22, 91, .07);
}
.ag-login-page .ag-welcome {
    padding: 48px;
    background: var(--ag-brand);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
}
.ag-welcome .ag-german-mark { display: flex; gap: 5px; }
.ag-german-mark i { display: block; width: 22px; height: 6px; border-radius: 2px; background: #14121c; }
.ag-german-mark i:nth-child(2) { background: #e24d54; }
.ag-german-mark i:nth-child(3) { background: #f6c84a; }
.ag-welcome .ag-greeting {
    margin-top: 94px;
    margin-bottom: 24px;
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: clamp(80px, 8vw, 118px);
    font-weight: 650;
    letter-spacing: -7px;
    line-height: 1;
    direction: ltr;
}
.ag-welcome .ag-german-line { font: 22px/1.5 'Segoe UI', Arial, sans-serif; color: #dfddf1; max-width: 280px; }
.ag-welcome .ag-welcome-fa { margin-top: 38px; width: 100%; direction: rtl; text-align: right; }
.ag-welcome-fa strong { display: block; font-size: 26px; line-height: 1.8; font-weight: 700; }
.ag-welcome-fa p { font-size: 14px; line-height: 2.2; color: #d2cfe7; margin-top: 8px; max-width: 320px; }
.ag-welcome .ag-welcome-foot { margin-top: auto; padding-top: 38px; width: 100%; }
.ag-welcome-foot span { display: block; border-top: 1px solid #ffffff29; padding-top: 22px; font: 14px/1.6 'Segoe UI', Arial, sans-serif; color: #d2cfe7; }
.ag-login-page .ag-shell > .digits-form_container {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: none;
    padding: 42px 52px;
    background: white;
    direction: rtl;
    align-self: center;
    z-index: auto;
}
.ag-login-page .digits-form_container,
.ag-login-page .digits-form_container input,
.ag-login-page .digits-form_container button,
.ag-login-page .digits-form_container label {
    font-family: Shabnam, Tahoma, sans-serif !important;
}
.ag-login-page .digits-form_container * { transition-property: color, background-color, border-color, box-shadow; }
.ag-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 38px; color: var(--ag-brand); text-decoration: none; width: fit-content; }
.ag-brand img { width: 48px; height: 48px; object-fit: contain; }
.ag-brand strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.7; }
.ag-brand small { display: block; font-size: 11px; color: var(--ag-muted); line-height: 1.9; }
.ag-login-page .digits-form_heading { font-size: 27px; line-height: 1.7; margin-bottom: 8px; letter-spacing: -.7px; }
.ag-login-page .digits-form_heading_text { font-weight: 700; }
.ag-login-page .ag-form-intro { font-size: 14px; line-height: 2; color: var(--ag-muted); margin: 0 0 26px; min-height: 28px; }
.ag-login-page .digits-form_body { margin-top: 0; }
.ag-login-page .digloginpage > .digits-form_login > .digits-form_tab_wrapper > .digits-form_tab_container:first-child > .digits-form_tabs,
.ag-login-page .ag-first-auth.ag-phone-auth > .digits-form_tabs { display: none; }
.ag-login-page .ag-phone-label { display: block; color: var(--ag-ink); font-size: 14px; font-weight: 600; margin: 0 0 9px; }
.ag-login-page .digits-form_input_row { margin-bottom: 18px; }
.ag-login-page .digits-form_border,
.ag-login-page .digits-form_input input:not(.countrycode):not([type='checkbox']):not([type='radio']) {
    border: 1px solid var(--ag-line);
    background: #f7f8fc;
    border-radius: 10px;
    min-height: 56px;
    color: var(--ag-ink);
}
.ag-login-page .digits-mobile_wrapper .digits-form_input input { border: none !important; background: transparent !important; border-radius: 0 !important; }
.ag-login-page .digits-form_input input:not(.countrycode) { font-size: 16px; padding: 15px 16px; }
.ag-login-page .digits-form_input input[type='tel'] { direction: ltr; text-align: left; letter-spacing: 1px; font-family: 'Segoe UI', Tahoma, sans-serif !important; }
.ag-login-page .digits-form_input input::placeholder { color: #9299ac; opacity: 1; }
.ag-login-page .digits-mobile_wrapper { position: relative; }
/* Keep the country code, flag and national number on the same vertical center. */
.ag-login-page #digits_protected .digits-mobile_wrapper .digits-form_input :is(input.countrycode, input[type='tel']) {
    height: 56px;
    min-height: 56px;
    line-height: 24px;
    padding-top: 16px;
    padding-bottom: 16px;
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 16px;
    font-weight: 400;
}
.ag-login-page #digits_protected .digits-form_countrycode .digits-field-country_flag {
    top: calc(50% - 16px);
}
.ag-login-page .digits-form_border:focus-within,
.ag-login-page .digits-form_input input:focus { border-color: #6a60a0; box-shadow: 0 0 0 3px #20165b0b; }
.ag-login-page .digits-mobile_wrapper input:focus { box-shadow: none; }
.ag-login-page #digits_protected .digits-form_rememberme { height: auto; min-height: 28px; margin-top: 4px; margin-bottom: 20px; font-size: 13px; color: var(--ag-muted); text-align: right; }
.ag-login-page #digits_protected .digits-form_rememberme :is(.dig_opt_mult_con, .dig_opt_mult) { margin: 0; }
.ag-login-page #digits_protected .digits-form_rememberme label { display: inline-flex; margin: 0; padding: 4px 0; font-size: 13px; font-weight: 400; line-height: 20px; }
.ag-login-page #digits_protected .digits-form_rememberme .dig_input_wrapper { display: flex; align-items: center; direction: rtl; gap: 9px; padding: 0; }
.ag-login-page #digits_protected .digits-form_rememberme .dig_input_wrapper > div { padding: 0; line-height: 20px; }
.ag-login-page #digits_protected .digits-form_rememberme .dig_input_wrapper::before,
.ag-login-page #digits_protected .digits-form_rememberme .dig_input_wrapper::after { display: none; content: none; }
.ag-login-page #digits_protected .digits-form_rememberme input[type='checkbox'] {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static;
    appearance: auto;
    -webkit-appearance: checkbox;
    accent-color: var(--ag-brand);
    flex: 0 0 18px;
    width: 18px !important;
    min-width: 18px;
    height: 18px !important;
    min-height: 18px;
    margin: 0 !important;
    padding: 0 !important;
    border: initial;
    border-radius: 3px;
    cursor: pointer;
}
.ag-login-page .digits-form_button,
.ag-login-page .digits-form_button[type='submit'] { min-height: 54px; height: auto; line-height: 1.6; padding: 15px 12px; border-radius: 10px; background: var(--ag-brand); color: #fff; }
.ag-login-page .digits-form_button:hover { background: #302574; }
.ag-login-page .digits-form_button-text { font-size: 15px; font-weight: 700; }
.ag-login-page .digits-form_button_ic { display: none; }
.ag-login-page :is(button,a,[role='button'],input):focus-visible { outline: 3px solid #897fc0 !important; outline-offset: 4px; }
.ag-login-page .ag-alternatives { margin-top: 23px; text-align: center; }
.ag-login-page .ag-other-toggle { background: transparent; border: none; color: var(--ag-muted); font-size: 13px; cursor: pointer; padding: 7px 12px; min-height: 40px; }
.ag-login-page .ag-other-toggle::after { content: '⌄'; display: inline-block; font: 16px Arial, sans-serif; margin-right: 9px; transform: translateY(-2px); }
.ag-login-page .ag-other-toggle[aria-expanded='true']::after { transform: rotate(180deg); }
.ag-login-page .ag-other-options { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; padding-top: 10px; }
.ag-login-page .ag-other-options[hidden], .ag-login-page [hidden].ag-alternatives { display: none !important; }
.ag-login-page .ag-other-options button { border: 1px solid var(--ag-line); background: white; color: var(--ag-brand); font-size: 12px; padding: 10px 12px; border-radius: 8px; cursor: pointer; min-height: 42px; }
.ag-login-page .ag-other-options button:hover { background: #f1eff9; border-color: #c7c0df; }
.ag-login-page .ag-other-options button[hidden] { display: none; }
.ag-login-page .dig_login_signup_bar { border-top: 1px solid #ebedf3; padding-top: 22px; margin-top: 24px; font-size: 13px; line-height: 2; text-align: center; font-weight: 400; }
.ag-login-page .dig_login_signup_bar span { color: var(--ag-muted); opacity: 1; }
.ag-login-page .dig_login_signup_bar a { color: var(--ag-brand); font-weight: 700; margin-right: 5px; }
.ag-login-page .digits_site_footer_box:empty { display: none; }
.ag-login-page .digits_site_footer_box { position: static; font-size: 12px; padding-bottom: 0; }
.ag-login-page .digits-form_footer { font-size: 13px; line-height: 2; }
.ag-login-page .digits-form_footer .digits-form_resend_otp { color: var(--ag-brand); font-size: 13px; margin-top: 18px; }
.ag-login-page .digits_resend_disabled { opacity: .6; }
.ag-login-page .ag-first-auth .digits-form_field_button { padding: 14px; border: 1px solid var(--ag-line); border-radius: 10px; font-size: 14px; margin-top: 10px; }
.ag-login-page .ag-first-auth.ag-phone-auth .digits-form_otp_selector[data-type='email_otp'] { display: none; }
.ag-login-page #digits_protected .digits-form_input .otp_input { height: 52px; min-height: 52px; line-height: 28px; text-align: center; direction: ltr; font-size: 20px !important; letter-spacing: 6px; font-family: 'Segoe UI', Tahoma, sans-serif !important; padding: 11px 40px !important; }
.ag-login-page #digits_protected .digits-form_input .otp_input::placeholder { font-family: Shabnam, Tahoma, sans-serif !important; font-size: 14px; letter-spacing: 0; }
.ag-login-page .digits_form_back { position: static; display: inline-block; vertical-align: middle; margin: 0 0 0 10px; cursor: pointer; }
.ag-login-page .digits_hide_back { display: none !important; }
.ag-login-page .ag-footer { display: flex; width: min(1080px, 100%); justify-content: space-between; gap: 18px; margin-top: 22px; color: var(--ag-muted); font-size: 12px; direction: rtl; }
.ag-login-page .ag-footer a { color: var(--ag-muted); text-decoration: none; }
.ag-login-page .ag-footer a:hover { color: var(--ag-brand); }
.ag-login-page .digits-cancel.dig_login_cancel { display: none; }
.ag-login-page .dig_success_msg .dig_lase_snap,
.ag-login-page .dig_success_msg .dig_lase_message { color: #24472f !important; }
.ag-login-page .dig_success_msg .dig_popmessage_contents { background: #edf7f0; }
@media (max-width: 900px) {
    .ag-login-page .digits-form_page { padding: 32px 22px; }
    .ag-login-page .ag-shell { grid-template-columns: .85fr 1.15fr; min-height: 620px; }
    .ag-login-page .ag-welcome { padding: 36px 26px; }
    .ag-welcome .ag-greeting { font-size: 85px; letter-spacing: -5px; }
    .ag-login-page .ag-shell > .digits-form_container { padding: 35px 32px; }
    .ag-login-page .digits-form_heading { font-size: 23px; }
}
@media (max-width: 680px) {
    .ag-login-page .digits-form_page { padding: 20px 16px; justify-content: flex-start; }
    .ag-login-page .ag-shell { display: block; border-radius: 18px; min-height: 0; margin-top: 16px; }
    .ag-login-page .ag-welcome { display: none; }
    .ag-login-page .ag-shell > .digits-form_container { padding: 30px 24px; }
    .ag-login-page .ag-brand { margin-bottom: 30px; }
    .ag-login-page .digits-form_heading { font-size: 23px; }
    .ag-login-page .ag-form-intro { font-size: 13px; margin-bottom: 24px; }
    .ag-login-page .ag-footer { margin-top: 20px; font-size: 11px; flex-wrap: wrap; justify-content: center; }
    .ag-login-page .ag-footer span { display: none; }
    .ag-login-page #digits_protected .digits-form_input .otp_input { letter-spacing: 5px; }
}
@media (prefers-reduced-motion: reduce) { .ag-login-page * { transition: none !important; animation: none !important; } }
