@font-face { font-family: 'Login Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/default/fonts/montserrat-regular.woff2') format('woff2'); }
@font-face { font-family: 'Login Montserrat'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('/assets/default/fonts/montserrat-medium.woff2') format('woff2'); }
@font-face { font-family: 'Login Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/default/fonts/montserrat-bold.woff2') format('woff2'); }
body:has(.auth-login-shell) {
    --login-ink: #1c2823;
    --login-muted: #66746e;
    --login-border: #dbe3e1;
    --login-control-border: var(--login-border);
    --login-accent: #007b55;
    --login-link: var(--login-accent);
    --login-background: #f3fbf8;
    --login-surface: #fff;
    --login-visual: #f0f9f4;
    --login-field: #eef3ff;
    --login-tabs: #fff;
    --login-decoration: #e3f3ec;
    --login-soft: #e4f3eb;
    --login-step: #e6f4ee;
    --login-warm: #f6f0dd;
    --login-orange: #c95400;
    --login-dot: #91c8b6;
    --login-focus: rgba(0, 123, 85, .12);
    color-scheme: light;
    background-color: var(--login-background) !important;
}
body.dark-mode:has(.auth-login-shell) {
    --login-ink: #edf6f0;
    --login-muted: #b2c5b9;
    --login-border: #3b5145;
    --login-control-border: #789184;
    --login-link: #78dfb1;
    --login-background: #0b1510;
    --login-surface: #14251c;
    --login-visual: #1b3025;
    --login-field: #0f1e16;
    --login-tabs: var(--login-field);
    --login-decoration: #14291d;
    --login-soft: #233e2e;
    --login-step: #263f31;
    --login-warm: #3a3925;
    --login-orange: #ffb66b;
    --login-dot: #7bb69a;
    --login-focus: rgba(120, 223, 177, .2);
    color-scheme: dark;
}
.auth-login-shell {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 48px 24px;
    display: grid;
    place-items: center;
    isolation: isolate;
    overflow: clip;
    background: var(--login-background);
    color: var(--login-ink);
    font-family: 'Login Montserrat', Arial, sans-serif;
}
.auth-login-shell input, .auth-login-shell button, .auth-login-shell select { font-family: inherit; }
.auth-login-shell::before,
.auth-login-shell::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.auth-login-shell::before { width: 390px; height: 390px; left: -185px; top: -200px; background: var(--login-decoration); }
.auth-login-shell::after { width: 550px; height: 550px; right: -280px; bottom: -270px; border: 84px solid var(--login-decoration); }
.auth-login-dots { position: absolute; left: 0; bottom: 12%; width: 166px; height: 124px; z-index: -1; background: radial-gradient(circle, var(--login-decoration) 4px, transparent 4.5px) 0 0 / 33px 33px; pointer-events: none; }
.auth-login-shell > .row { width: 100%; margin: 0; }
.auth-login-shell > .row > .col-lg-8 { flex: 0 1 1000px; max-width: 1000px; padding: 0; }
.auth-login-shell .auth-page-card__mask { display: none; }
.auth-login-shell .auth-page-surface { padding: 18px !important; border-radius: 26px !important; background-color: var(--login-surface) !important; box-shadow: 0 16px 48px rgba(25, 59, 45, .04); overflow: hidden; }
.auth-login-shell .auth-page-surface > .row { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 0; height: 710px; }
.auth-login-shell .auth-page-form-panel,
.auth-login-shell .auth-page-visual { max-width: 100%; min-width: 0; }
.auth-login-shell .auth-page-form-panel { padding: 20px 0 32px 14px; }
.auth-login-shell .auth-page-form-panel { display: flex; flex-direction: column; }
.auth-login-shell .auth-page-form-panel { height: 710px; min-height: 0; }
.auth-login-brand, .auth-login-heading, .auth-step-progress, .auth-form-actions { flex-shrink: 0; }
.auth-login-shell .js-auth-page-form { position: relative; flex: 1; display: flex; flex-direction: column; min-height: 0; padding-bottom: 200px; }
.auth-login-shell .auth-form-actions { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding-top: 16px; }
.auth-login-shell .js-auth-page-form:has(.auth-login-social) { padding-bottom: 300px; }
.auth-footer-links { display: flex; justify-content: center; gap: 16px; }
.auth-login-shell [hidden] { display: none !important; }
.auth-login-shell .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.auth-step-progress { display: flex; gap: 12px; list-style: none; margin: 0 0 26px; padding: 0; }
.auth-step-progress li { flex: 1; display: flex; align-items: center; gap: 6px; color: var(--login-muted); font-size: 12px; }
.auth-step-progress li > span { display: grid; place-items: center; width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%; background: var(--login-step); }
.auth-step-progress [aria-current=step] { color: var(--login-link); font-weight: 600; }
.auth-step-progress [aria-current=step] > span { color: #fff; background: var(--login-accent); }
.auth-registration-fields { flex: 1; min-height: 0; overflow-y: auto; padding: 2px 4px; }
.auth-registration-fields fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.auth-registration-fields legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.auth-login-shell .auth-registration-fields .form-group { margin-bottom: 8px; }
.auth-registration-fields .form-group > label { line-height: 18px; }
.auth-registration-fields [data-account-birth] .form-group { margin-bottom: 10px; }
.auth-login-shell[data-auth-variant=register] .auth-login-heading { margin-bottom: 12px; }
.auth-login-shell[data-auth-variant=register] .auth-login-brand { margin-bottom: 16px; }
.auth-login-shell[data-auth-variant=register] .auth-step-progress { margin-bottom: 8px; }
.auth-registration-fields legend:focus { outline: 0; }
.auth-step-actions { display: flex; align-items: stretch; gap: 12px; }
.auth-step-actions > .auth-login-submit { flex: 1; min-width: 0; padding-inline: 16px; margin: 0 !important; }
.auth-step-back { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 1; min-width: 0; border: 1px solid var(--login-control-border); border-radius: 10px; background: var(--login-visual); color: var(--login-link); padding: 8px 16px; min-height: 54px; font-size: 14px; font-weight: 500; cursor: pointer; }
.auth-step-back:hover { background: var(--login-soft); border-color: var(--login-link); }
.auth-login-shell .register-mobile-form-group .select2-container .select2-selection--single { height: 40px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.auth-login-shell .register-mobile-form-group .select2-container .select2-selection__rendered { padding-inline: 6px 24px; line-height: 40px !important; color: var(--login-ink); font-size: 13px; }
.auth-login-shell .admin-dropdown .select2-container .select2-selection__rendered { flex: 1; margin-inline-end: 44px; padding-inline: 16px 0; line-height: normal !important; }
.auth-login-shell .admin-dropdown .select2-container .select2-selection__arrow { top: 0 !important; inset-inline-end: 16px !important; right: 16px !important; width: 18px !important; height: 100% !important; transform: none !important; }
.auth-login-shell .register-mobile-form-group .admin-dropdown .select2-container .select2-selection__rendered { margin-inline-end: 34px; padding-inline: 4px 0; font-size: 13px; }
.auth-login-shell .register-mobile-form-group .admin-dropdown .select2-container .select2-selection__arrow { inset-inline-end: 10px !important; right: 10px !important; }
.auth-login-shell .register-mobile-form-group .admin-dropdown-menu .select2-results__options { max-height: 180px !important; }
.auth-login-shell .register-mobile-form-group .admin-dropdown-menu .select2-results__option { padding: 6px 8px; font-size: 12px; line-height: 1.4; }
.auth-login-brand { display: inline-flex; align-items: center; min-height: 40px; margin-bottom: 32px; color: var(--login-ink); font-weight: 700; }
.auth-login-brand img { width: 205px; max-width: 100%; max-height: 40px; object-fit: contain; }
.auth-login-heading { margin-bottom: 26px; }
.auth-login-heading h1 { margin: 0; font-size: 26px; line-height: 1.35; font-weight: 600; letter-spacing: -.65px; color: var(--login-ink); }
.auth-login-heading h1 span { display: inline-block; font-size: 25px; margin-left: 4px; }
.auth-login-heading p { margin: 6px 0 0; color: var(--login-muted); font-size: 16px; line-height: 1.5; }
.auth-login-shell .js-auth-page-form > div > .d-flex { background: var(--login-tabs); border: 1px solid var(--login-control-border) !important; padding: 2px !important; margin-bottom: 22px !important; border-radius: 11px !important; }
.auth-login-shell .auth-register-method-item label { background: transparent; color: var(--login-muted); height: 48px; margin: 0; border-radius: 8px; font-weight: 500; }
.auth-login-shell .auth-register-method-item input { visibility: visible; width: 1px; height: 1px; }
.auth-login-shell .auth-register-method-item input:checked ~ label { background: var(--login-accent); color: #fff; box-shadow: 0 2px 5px rgba(0, 123, 85, .1); }
.auth-login-shell .auth-register-method-item input:focus-visible ~ label { outline: 2px solid var(--login-link); outline-offset: 3px; }
.auth-login-shell .form-group { margin: 0 0 18px; }
.auth-login-shell .form-group-label { position: static; display: block; transform: none; padding: 0 8px; margin: 0 0 4px; background: transparent; color: var(--login-ink); font-size: 13px; line-height: 20px; font-weight: 500; }
.auth-login-shell .form-control { height: 54px; padding: 12px 16px; border: 1px solid var(--login-control-border); border-radius: 11px; color: var(--login-ink); background-color: var(--login-field); font-size: 14px; box-shadow: none; }
.auth-login-shell .form-control::placeholder { color: var(--login-muted); opacity: 1; }
.auth-login-shell input.form-control:autofill { -webkit-text-fill-color: var(--login-ink); caret-color: var(--login-ink); box-shadow: 0 0 0 1000px var(--login-field) inset; }
.auth-login-shell input.form-control:autofill:focus { box-shadow: 0 0 0 1000px var(--login-field) inset, 0 0 0 3px var(--login-focus); }
.auth-login-shell input[type=email] { padding-inline-start: 52px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231c2823' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 18px center; }
.auth-login-shell .form-control:focus { border-color: var(--login-link); box-shadow: 0 0 0 3px var(--login-focus); }
.auth-login-shell .form-control.is-invalid { border-color: var(--danger); }
.auth-login-shell .auth-login-password { margin-bottom: 0; }
.auth-login-password .form-control { padding-inline: 52px 56px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231c2823' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V6a4 4 0 0 1 8 0v4M12 14v3'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 18px center; }
.auth-login-shell .password-input-visibility { inset-inline-end: 5px; inset-inline-start: auto; top: 29px; transform: none; width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.auth-login-shell .password-input-visibility svg { color: var(--login-muted) !important; }
.auth-login-recovery { display: flex; justify-content: flex-start; margin: 4px 0 20px; }
.auth-login-recovery a { display: inline-flex; align-items: center; min-height: 36px; font-size: 14px; color: var(--login-link); font-weight: 500; }
.auth-login-shell .auth-login-submit { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 54px; border-radius: 10px; background: var(--login-accent); border-color: var(--login-accent); color: #fff; font-size: 16px; font-weight: 600; box-shadow: none; }
.auth-login-submit span { font-size: 25px; font-weight: 400; line-height: 1; }
.auth-login-shell .auth-login-submit:hover { background: #006b49; border-color: #006b49; }
.auth-login-shell a:focus-visible,
.auth-login-shell button:focus-visible { outline: 2px solid var(--login-link); outline-offset: 4px; }
.auth-login-signup { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0; margin-top: 24px; font-size: 14px; color: var(--login-muted); }
.auth-login-signup a { color: var(--login-link); font-weight: 600; padding: 8px 12px; min-height: 40px; font-size: 16px; }
.auth-login-social { margin-top: 28px; }
.auth-login-divider { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: var(--login-muted); font-size: 14px; }
.auth-login-divider::before,
.auth-login-divider::after { content: ''; flex: 1; height: 1px; background: var(--login-border); }
.auth-login-alternative { margin: 30px 0 0; }
.auth-login-provider { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; min-height: 48px; padding: 8px 12px; border: 1px solid var(--login-border); border-radius: 10px; color: var(--login-ink); font-size: 14px; }
.auth-login-shell .auth-page-visual { display: flex !important; position: relative; isolation: isolate; overflow: clip; padding: 0; border-radius: 21px; min-height: 710px; background: var(--login-visual); }
.auth-login-shell .auth-page-visual::before,
.auth-login-shell .auth-page-visual::after { content: ''; position: absolute; z-index: -1; width: 145px; height: 145px; border-radius: 22px; background: var(--login-soft); transform: rotate(45deg); pointer-events: none; }
.auth-login-shell .auth-page-visual::before { right: -74px; top: -38px; }
.auth-login-shell .auth-page-visual::after { left: -99px; bottom: -62px; }
.auth-login-shell .auth-slider-container { height: 100%; min-height: 710px; background: transparent !important; }
.auth-login-slide { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 70px 26px 90px; }
.auth-login-art { position: relative; isolation: isolate; width: 255px; height: 255px; margin-bottom: 20px; flex-shrink: 0; }
.auth-login-art::before { content: ''; position: absolute; z-index: -1; inset: 10px; border-radius: 50%; background: linear-gradient(135deg, var(--login-soft), var(--login-warm)); }
.auth-login-art img { width: 100%; height: 100%; object-fit: contain; }
.auth-login-slide h2 { margin: 0; font-size: 31px; line-height: 1.3; letter-spacing: -.7px; font-weight: 700; color: var(--login-ink); }
.auth-login-slide h3 { margin: 4px 0 0; font-size: 28px; line-height: 1.4; letter-spacing: -.7px; font-weight: 700; color: var(--login-link); }
.auth-login-slide h3 span { color: var(--login-orange); }
.auth-login-slide p { margin: 20px 0 0; max-width: 390px; font-size: 16px; line-height: 1.65; color: var(--login-muted); }
.auth-login-shell .auth-theme-slider-pagination { bottom: 6px !important; display: flex; justify-content: center; align-items: center; gap: 0; }
.auth-login-shell .swiper-pagination-bullet { position: relative; width: 44px; height: 44px; margin: 0 !important; background: transparent; opacity: 1; border-radius: 8px; }
.auth-login-shell .swiper-pagination-bullet::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 13px; height: 13px; background: var(--login-dot); opacity: .7; border-radius: 100px; }
.auth-login-shell .swiper-pagination-bullet-active::after { width: 36px; opacity: 1; background: var(--login-link); }
.auth-login-shell .swiper-pagination-bullet:focus-visible { outline: 2px solid var(--login-link); outline-offset: 0; }
.auth-login-shell .register-mobile-form-group { height: auto; padding: 0; border: 0; background: transparent; }
.auth-login-shell .register-mobile-form-group > .row { height: 54px; margin: 0; border: 1px solid var(--login-control-border); border-radius: 11px; background: var(--login-field); }
.auth-login-shell .register-mobile-form-group:focus-within > .row { border-color: var(--login-link); box-shadow: 0 0 0 3px var(--login-focus); }
.auth-login-shell .register-mobile-form-group > .row > div { padding-inline: 8px !important; }
.auth-login-shell .register-mobile-form-group__input { width: 100%; height: 100%; padding: 0 12px; text-align: left; font-size: 14px; color: var(--login-ink); background: transparent; }
.auth-login-shell .register-mobile-form-group > .row { display: grid; grid-template-columns: fit-content(65%) minmax(0, 1fr); }
.auth-login-shell .register-mobile-form-group > .row > div { width: 100%; max-width: none; }
.auth-login-shell .register-mobile-form-group > .row > div:first-child { display: flex; align-items: center; min-width: 0; border-right: 1px solid var(--login-border); }
.auth-login-shell .country-code-select2 + .select2 { width: 100% !important; }
.auth-login-shell .register-mobile-form-group .admin-dropdown { width: max-content; min-width: 0; margin: 0; }
.auth-login-shell .register-mobile-form-group .admin-dropdown > .select2 { display: block; width: max-content !important; max-width: 100%; height: 40px !important; padding: 0 !important; margin: 0; background: transparent !important; border: 0; border-radius: 0; }
.auth-login-shell .auth-page-form-container { height: 302px; padding: 2px 4px; overflow-y: auto; }
.auth-login-shell[data-auth-variant=register] .form-group { position: relative; }
.auth-login-shell[data-auth-variant=register] .form-group > label { display: block; font-size: 13px; margin-bottom: 4px; color: var(--login-ink); }
.auth-login-shell[data-auth-variant=register] .form-control { height: 48px; }
.auth-login-shell[data-auth-variant=register] .register-mobile-form-group > .row { height: 48px; }
.auth-login-shell[data-auth-variant=register] .admin-dropdown .select2-container .select2-selection { height: 48px !important; min-height: 48px; border-radius: 11px !important; background: var(--login-field) !important; border-color: var(--login-control-border) !important; }
.auth-login-shell[data-auth-variant=register] .password-input-visibility { top: 26px; }
.auth-login-shell[data-auth-variant=register] .register-mobile-form-group .admin-dropdown .select2-container .select2-selection--single { height: 40px !important; min-height: 40px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.auth-login-shell[data-auth-variant=register] .admin-date-input__control .btn-transparent { height: 44px; }
.auth-login-shell[data-auth-variant=register] input[type=password],
.auth-login-shell[data-auth-variant=register] input[name=password],
.auth-login-shell[data-auth-variant=register] input[name=password_confirmation] { padding-inline-end: 56px; }
.auth-login-context { width: 100%; min-height: 710px; }
.auth-login-shell .select2-results__options { scrollbar-width: none; }
.auth-login-shell .select2-results__options::-webkit-scrollbar { display: none; }
.auth-login-shell .admin-dropdown-menu.select2-dropdown,
.auth-login-shell .admin-dropdown-menu .select2-search__field { background: var(--login-field); color: var(--login-ink); border-color: var(--login-control-border); }
.auth-login-shell .admin-dropdown .select2-selection__rendered { color: var(--login-ink) !important; }
.auth-login-shell .select2-container--default .admin-dropdown-menu .select2-results__option[aria-selected=true] { background: var(--login-soft); color: var(--login-ink); }
.auth-login-shell .select2-container--default .admin-dropdown-menu .select2-results__option--highlighted[aria-selected] { background: var(--login-accent); color: #fff; }
body.dark-mode:has(.auth-login-shell) .admin-date-calendar { --white: var(--login-surface); --black: var(--login-ink); --gray-200: var(--login-soft); --gray-300: var(--login-border); --gray-500: var(--login-muted); }
body.dark-mode:has(.auth-login-shell) .admin-date-calendar .applyBtn,
body.dark-mode:has(.auth-login-shell) .admin-date-calendar td.active { background: var(--login-accent); color: #fff; }
.dark-mode .auth-login-shell input[type=email] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b2c5b9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E"); }
.dark-mode .auth-login-password .form-control { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b2c5b9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V6a4 4 0 0 1 8 0v4M12 14v3'/%3E%3C/svg%3E"); }
.dark-mode .auth-login-shell .invalid-feedback,
.dark-mode .auth-login-shell .auth-password-match[data-state=mismatch] { color: #ffb4b4; }
.dark-mode .auth-login-shell .form-control.is-invalid { border-color: #ffb4b4; }
.dark-mode .auth-login-shell .auth-password-match[data-state=match] { color: var(--login-link); }
@media (max-width: 991px) {
    .auth-login-shell { padding: 24px 16px; }
    .auth-login-shell > .row > .col-lg-8 { max-width: 520px; }
    .auth-login-shell .auth-page-surface > .row { grid-template-columns: 1fr; gap: 0; }
    .auth-login-shell .auth-page-visual { display: none !important; }
    .auth-login-shell .auth-page-form-panel { padding: 24px 18px; }
    .auth-login-shell .js-auth-page-form { min-height: 530px; }
    .auth-login-shell .auth-page-form-container { height: auto; overflow: visible; }
}
@media (max-width: 480px) {
    .auth-login-shell { padding: 16px 12px; }
    .auth-login-shell .auth-page-surface { padding: 10px !important; border-radius: 20px !important; }
    .auth-login-shell .auth-page-form-panel { padding: 20px 12px; }
    .auth-login-heading h1 { font-size: 25px; }
    .auth-login-shell .auth-page-form-container { max-height: none; overflow: visible; }
}
@media (prefers-reduced-motion: reduce) {
    .auth-login-shell *, .auth-login-shell *::before, .auth-login-shell *::after { transition: none !important; animation: none !important; }
}
