/* FONT */
@font-face {
    font-family: Hurme;
    src: url(../font/Merienda-Regular.ttf);
}

:root {
    --ac-primary: #2eca6a;
    --ac-primary-hover: #57ab77;
    --ac-primary-active: #2eb863;
    --ac-primary-border: #38b066;
    --ac-primary-dark: #1d984c;
    --ac-primary-rgb: 46, 202, 106;
    --ac-primary-soft: #acedc5;
    --ac-primary-soft-rgb: 172, 237, 197;
    --ac-primary-muted: #74d79a;
    --ac-primary-surface: rgba(var(--ac-primary-rgb), 0.08);
    --ac-primary-surface-strong: rgba(var(--ac-primary-rgb), 0.16);
    --ac-primary-ring: rgba(var(--ac-primary-rgb), 0.25);
    --ac-primary-ring-strong: rgba(var(--ac-primary-rgb), 0.5);
    --ac-primary-contrast: #fff;
    --ac-link-hover: #2eb863;
    --ac-page-bg: #fafafa;
    --ac-card-border: rgba(214, 209, 195, 0.88);
    --ac-theme-chip-bg: rgba(var(--ac-primary-rgb), 0.12);
    --ac-theme-chip-border: rgba(var(--ac-primary-rgb), 0.16);
    --ac-theme-chip-color: var(--ac-primary-dark);
    --bs-primary: var(--ac-primary);
    --bs-primary-rgb: var(--ac-primary-rgb);
    --bs-success: var(--ac-primary);
    --bs-success-rgb: var(--ac-primary-rgb);
    --bs-link-color: var(--ac-primary);
    --bs-link-hover-color: var(--ac-primary-hover);
}

html[data-ac-theme="brand"] {
    --ac-primary: #8f1d2c;
    --ac-primary-hover: #a82a3a;
    --ac-primary-active: #731627;
    --ac-primary-border: #8f1d2c;
    --ac-primary-dark: #68131f;
    --ac-primary-rgb: 143, 29, 44;
    --ac-primary-soft: #f6e7e9;
    --ac-primary-soft-rgb: 246, 231, 233;
    --ac-primary-muted: #cfaeb5;
    --ac-link-hover: #68131f;
    --ac-page-bg: #fcf8f6;
    --ac-card-border: rgba(143, 29, 44, 0.12);
}

span,
a {
    font-family: Hurme, sans-serif;
}

a[href]:not(.btn):not(.dropdown-item):not(.page-link):not(.nav-link):not(.menu-link):not(.app-brand-link):not(.theme-option):not(.share-btn-primary):not(.share-btn-outline):not(.select2-selection__choice__remove):not(.link-info),
a[href]:not(.btn):not(.dropdown-item):not(.page-link):not(.nav-link):not(.menu-link):not(.app-brand-link):not(.theme-option):not(.share-btn-primary):not(.share-btn-outline):not(.select2-selection__choice__remove):not(.link-info):visited {
    color: var(--ac-primary) !important;
}

a[href]:not(.btn):not(.dropdown-item):not(.page-link):not(.nav-link):not(.menu-link):not(.app-brand-link):not(.theme-option):not(.share-btn-primary):not(.share-btn-outline):not(.select2-selection__choice__remove):not(.link-info):hover,
a[href]:not(.btn):not(.dropdown-item):not(.page-link):not(.nav-link):not(.menu-link):not(.app-brand-link):not(.theme-option):not(.share-btn-primary):not(.share-btn-outline):not(.select2-selection__choice__remove):not(.link-info):focus {
    color: var(--ac-link-hover) !important;
}

body {
    background-color: var(--ac-page-bg);
    transition: background-color 0.2s ease;
}

html,
body,
a,
button,
.btn,
.dropdown-item,
.menu-link,
.nav-link,
.theme-switcher-btn,
.theme-option,
.form-control,
.form-select,
.page-link,
.form-check-input,
.form-check-label {
    -webkit-tap-highlight-color: transparent;
}

body,
p {
    font-family: sans-serif;
}

.layout-navbar,
.card,
.footer,
.bg-navbar-theme {
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

html[data-ac-theme="brand"] .layout-navbar,
html[data-ac-theme="brand"] .card,
html[data-ac-theme="brand"] .footer,
html[data-ac-theme="brand"] .bg-navbar-theme {
    border-color: rgba(143, 29, 44, 0.08);
}

.btn-primary,
.btn-success {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary);
    border-color: var(--ac-primary-border);
    box-shadow: 0 0.125rem 0.25rem 0 rgba(var(--ac-primary-rgb), 0.28);
}

.btn-primary:hover,
.btn-success:hover {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-hover);
    border-color: var(--ac-primary-active);
    box-shadow: 0 0.25rem 0.45rem 0 rgba(var(--ac-primary-rgb), 0.22);
}

.btn-check:focus + .btn-primary,
.btn-primary:focus,
.btn-check:focus + .btn-success,
.btn-success:focus {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-hover);
    border-color: var(--ac-primary-active);
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring-strong);
}

.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.btn-check:checked + .btn-success,
.btn-check:active + .btn-success,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-active);
    border-color: var(--ac-primary-dark);
}

.btn-check:checked + .btn-primary:focus,
.btn-check:active + .btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.active:focus,
.show > .btn-primary.dropdown-toggle:focus,
.btn-check:checked + .btn-success:focus,
.btn-check:active + .btn-success:focus,
.btn-success:active:focus,
.btn-success.active:focus,
.show > .btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring-strong);
}

.btn-primary:disabled,
.btn-primary.disabled,
.btn-success:disabled,
.btn-success.disabled {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-border);
    border-color: var(--ac-primary-border);
}

.btn-outline-primary,
.btn-outline-success {
    color: var(--ac-primary-border);
    border-color: var(--ac-primary-border);
}

.btn-outline-primary:hover,
.btn-outline-success:hover {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-border);
    border-color: var(--ac-primary-border);
}

.btn-check:focus + .btn-outline-primary,
.btn-outline-primary:focus,
.btn-check:focus + .btn-outline-success,
.btn-outline-success:focus {
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring-strong);
}

.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show,
.btn-check:checked + .btn-outline-success,
.btn-check:active + .btn-outline-success,
.btn-outline-success:active,
.btn-outline-success.active,
.btn-outline-success.dropdown-toggle.show {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-border);
    border-color: var(--ac-primary-border);
}

.btn-check:checked + .btn-outline-primary:focus,
.btn-check:active + .btn-outline-primary:focus,
.btn-outline-primary:active:focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.dropdown-toggle.show:focus,
.btn-check:checked + .btn-outline-success:focus,
.btn-check:active + .btn-outline-success:focus,
.btn-outline-success:active:focus,
.btn-outline-success.active:focus,
.btn-outline-success.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring-strong);
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled,
.btn-outline-success:disabled,
.btn-outline-success.disabled {
    color: var(--ac-primary-border);
    background-color: transparent;
}

.nav-pills .nav-link {
    color: #5d6e88;
    border-radius: 0.75rem;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.nav-pills .nav-link:hover,
.nav-pills .nav-link:focus {
    color: var(--ac-primary);
    background-color: var(--ac-primary-surface);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary);
    box-shadow: 0 0.35rem 1rem rgba(var(--ac-primary-rgb), 0.2);
}

.form-control {
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #d6d1c3;
}

.form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: var(--ac-primary-muted);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring);
}

.input-group:focus-within .form-control,
.input-group:focus-within .form-select,
.input-group:focus-within .input-group-text,
.input-group-merge:focus-within .form-control,
.input-group-merge:focus-within .input-group-text {
    border-color: var(--ac-primary-muted) !important;
}

.input-group-text {
    transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.input-group:focus-within .input-group-text,
.input-group-merge:focus-within .input-group-text {
    color: var(--ac-primary);
    background-color: #fff;
}

.form-select {
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #d6d1c3;
}

.form-select:focus {
    color: #212529;
    background-color: #fff;
    border-color: var(--ac-primary-muted);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring);
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    color: var(--ac-primary);
}

.form-control:focus ~ .form-label,
.form-control:focus ~ .form-label::after {
    border-color: var(--ac-primary);
}

.page-link {
    color: var(--ac-primary-border);
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.page-link:hover {
    color: var(--ac-primary-active);
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.page-link:focus {
    color: var(--ac-primary-active);
    background-color: #e9ecef;
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring);
}

.page-item.active .page-link {
    z-index: 3;
    color: var(--ac-primary-contrast);
    background-color: var(--ac-primary-border);
    border-color: var(--ac-primary-border);
}

.page-item.active .page-link:hover,
.page-item.active .page-link:focus,
.page-item.active .page-link:focus-visible,
.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus,
.pagination .page-item.active .page-link:focus-visible {
    color: var(--ac-primary-contrast) !important;
    background-color: var(--ac-primary-border) !important;
    border-color: var(--ac-primary-border) !important;
    box-shadow: 0 0 0 0.2rem var(--ac-primary-ring) !important;
    outline: none !important;
}

.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
}

.navbar-light .navbar-nav .nav-link.active {
    color: rgba(var(--ac-primary-rgb), 0.9);
}

.form-check-input:focus {
    border-color: var(--ac-primary-muted);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--ac-primary-ring);
}

.form-check-input:checked {
    background-color: var(--ac-primary-border);
    border-color: var(--ac-primary-border);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

.text-primary,
.text-success {
    color: var(--ac-primary) !important;
}

.bg-primary,
.bg-success {
    background-color: var(--ac-primary) !important;
}

.bg-label-primary,
.bg-label-success {
    background-color: rgba(var(--ac-primary-rgb), 0.16) !important;
    color: var(--ac-primary) !important;
}

.badge.bg-primary,
.badge.bg-success {
    color: var(--ac-primary-contrast) !important;
}

.btn-label-primary,
.btn-label-success {
    color: var(--ac-primary) !important;
    background-color: rgba(var(--ac-primary-rgb), 0.16) !important;
    border-color: transparent !important;
}

.btn-label-primary:hover,
.btn-label-primary:focus,
.btn-label-success:hover,
.btn-label-success:focus {
    color: var(--ac-primary-contrast) !important;
    background-color: var(--ac-primary) !important;
    border-color: var(--ac-primary-border) !important;
}

.alert-success {
    color: var(--ac-primary-dark);
    background-color: rgba(var(--ac-primary-rgb), 0.14);
    border-color: rgba(var(--ac-primary-rgb), 0.22);
}

.border-success {
    border-color: rgba(var(--ac-primary-rgb), 0.35) !important;
}

.link-primary,
.link-success {
    color: var(--ac-primary) !important;
}

.text-info,
.link-info {
    color: #03c3ec !important;
}

.bg-info {
    background-color: #03c3ec !important;
}

.bg-label-info {
    background-color: rgba(3, 195, 236, 0.16) !important;
    color: #03c3ec !important;
}

.badge.bg-info {
    color: #fff !important;
}

.btn-label-info {
    color: #03c3ec !important;
    background-color: rgba(3, 195, 236, 0.16) !important;
    border-color: transparent !important;
}

.btn-label-info:hover,
.btn-label-info:focus {
    color: #fff !important;
    background-color: #03c3ec !important;
    border-color: #03c3ec !important;
}

.link-primary:hover,
.link-primary:focus,
.link-success:hover,
.link-success:focus,
.text-body[href]:hover {
    color: var(--ac-link-hover) !important;
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--ac-primary-contrast) !important;
    text-decoration: none;
    background-color: var(--ac-primary-border) !important;
    box-shadow: none !important;
    outline: none !important;
}

.dropdown-item.active i,
.dropdown-item:active i,
.dropdown-item.active .align-middle,
.dropdown-item:active .align-middle {
    color: inherit !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:focus-visible {
    color: var(--ac-primary-dark) !important;
    background-color: var(--ac-primary-surface) !important;
    box-shadow: none !important;
    outline: none !important;
}

.dropdown-item:hover i,
.dropdown-item:focus i,
.dropdown-item:focus-visible i,
.dropdown-item:hover .align-middle,
.dropdown-item:focus .align-middle,
.dropdown-item:focus-visible .align-middle {
    color: inherit !important;
}

html[data-ac-theme="brand"] .dropdown-menu .dropdown-item,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item i,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item .align-middle {
    -webkit-tap-highlight-color: transparent;
}

html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:hover,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:focus,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:focus-visible,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:active,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item.active {
    color: var(--ac-primary-dark) !important;
    background-color: rgba(var(--ac-primary-rgb), 0.08) !important;
    box-shadow: none !important;
    outline: none !important;
}

html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:hover i,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:focus i,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:focus-visible i,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:active i,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item.active i,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:hover .align-middle,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:focus .align-middle,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:focus-visible .align-middle,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item:active .align-middle,
html[data-ac-theme="brand"] .dropdown-menu .dropdown-item.active .align-middle {
    color: var(--ac-primary-dark) !important;
}

dt {
    margin-bottom: 0.5rem;
}

.dataTables_length {
    padding-bottom: 10px;
}

.dataTables_filter {
    padding-bottom: 10px;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
    border: 1px solid #c5c5c5;
    background: #fff;
    font-weight: normal;
    color: #454545;
}

#OtherFields {
    display: none;
}

.bg-menu-theme .menu-inner > .menu-item.active > .menu-link {
    color: var(--ac-primary);
    background-color: var(--ac-primary-surface-strong) !important;
}

.bg-menu-theme .menu-inner > .menu-item.active:before {
    background: var(--ac-primary);
}

.bg-menu-theme .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before {
    background-color: var(--ac-primary) !important;
    border: 3px solid var(--ac-primary-soft) !important;
}

.bg-menu-theme .menu-inner .menu-sub > .menu-item.active .menu-icon {
    color: var(--ac-primary);
}

.bg-menu-theme .menu-inner .menu-sub > .menu-item.active > .menu-link.menu-toggle {
    background-color: var(--ac-primary-surface);
}

html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item.open > .menu-link,
.layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item.open > .menu-link,
html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover,
.layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover {
    color: var(--ac-primary);
}

.app-brand .layout-menu-toggle {
    background-color: var(--ac-primary);
    border: 7px solid #f5f5f9;
    box-shadow: 0 10px 20px rgba(var(--ac-primary-rgb), 0.18);
}

.app-brand .layout-menu-toggle i {
    color: var(--ac-primary-contrast);
}

.avatar.avatar-online:after {
    background-color: var(--ac-primary) !important;
}

.theme-switcher-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 12.5rem;
    justify-content: space-between;
    border-radius: 999px;
    padding-inline: 0.85rem;
    white-space: nowrap;
}

.theme-switcher-btn::after {
    margin-left: 0.35rem;
}

.theme-switcher-current {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: var(--ac-theme-chip-bg);
    border: 1px solid var(--ac-theme-chip-border);
    color: var(--ac-theme-chip-color);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.theme-switcher-menu {
    min-width: 16rem;
    padding: 0.45rem;
    border-radius: 1rem;
}

.theme-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-radius: 0.85rem;
    padding: 0.65rem 0.75rem;
}

.theme-option:hover,
.theme-option:focus {
    background-color: var(--ac-primary-surface);
    color: var(--ac-primary-dark);
}

.theme-option:active,
.theme-option:focus-visible {
    background-color: var(--ac-primary-surface-strong);
    color: var(--ac-primary-dark);
}

.theme-option.is-active {
    background-color: var(--ac-primary-surface);
    color: var(--ac-primary-dark);
}

.theme-option-label {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
}

.theme-option-copy strong {
    display: block;
    font-size: 0.94rem;
}

.theme-option-copy small {
    display: block;
    color: #8b93a1;
    font-size: 0.78rem;
    line-height: 1.2;
}

.theme-option-check {
    color: var(--ac-primary);
    font-size: 1rem;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.theme-option.is-active .theme-option-check {
    opacity: 1;
    transform: scale(1);
}

.theme-swatch {
    width: 0.95rem;
    height: 0.95rem;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #fff, 0 0 0 1px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.theme-swatch--default {
    background: linear-gradient(135deg, #2eca6a 0%, #38b066 100%);
}

.theme-swatch--brand {
    background: linear-gradient(135deg, #8f1d2c 0%, #c8a45c 100%);
}

.auth-theme-switcher {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 1.5rem);
    right: 1.5rem;
    z-index: 1100;
}

.authentication-wrapper.authentication-basic {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(var(--ac-primary-soft-rgb), 0.35), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(var(--ac-primary-soft-rgb), 0.2));
}

.authentication-wrapper.authentication-basic .card {
    border: 1px solid var(--ac-card-border);
    box-shadow: 0 1.25rem 2.75rem rgba(var(--ac-primary-rgb), 0.08);
}

.table-actions {
    white-space: nowrap;
    width: 1%;
}

.table-action-group {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.table-actions .table-action-btn {
    line-height: 1;
}

.table-clickable-row td:not(.table-actions) {
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.table-clickable-row td:not(.table-actions) * {
    cursor: pointer;
}

.table-clickable-row:hover td:not(.table-actions) {
    background-color: var(--ac-primary-surface) !important;
}

.table-clickable-row .table-row-main-cell {
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.table-clickable-row:hover .table-row-main-cell,
.table-clickable-row:focus-visible .table-row-main-cell {
    color: var(--ac-primary-active);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.table-clickable-row:focus-visible {
    outline: 2px solid rgba(var(--ac-primary-rgb), 0.45);
    outline-offset: -2px;
}

.table-toolbar-links {
    margin-bottom: 1rem;
}

.table-audit-cell {
    min-width: 11rem;
    white-space: normal;
    line-height: 1.15;
}

.table-audit-date {
    color: #5d6e88;
    font-weight: 500;
}

.table-audit-user {
    display: block;
    margin-top: 0.12rem;
    color: #9aa6b2;
    font-size: 0.9em;
}

.table-audit-hidden {
    display: none !important;
}

@media (max-width: 991.98px) {
    .theme-switcher-btn {
        min-width: auto;
        padding-inline: 0.8rem;
    }

    .theme-switcher-current {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .auth-theme-switcher {
        top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
        right: 0;
        left: 0;
        display: flex;
        justify-content: flex-end;
        padding: 0 0.9rem;
    }

    .auth-theme-switcher .dropdown {
        max-width: calc(100vw - 1.8rem);
    }

    .theme-switcher-btn {
        min-width: auto;
        height: 2.8rem;
        padding-inline: 0.85rem;
        border-radius: 999px;
        box-shadow: 0 0.35rem 1rem rgba(var(--ac-primary-rgb), 0.18);
    }

    .theme-switcher-btn .d-inline-flex {
        gap: 0.35rem !important;
    }

    .theme-switcher-menu {
        min-width: 0;
        width: min(16rem, calc(100vw - 1.8rem));
        padding: 0.35rem;
        border-radius: 0.95rem;
    }

    .theme-option {
        gap: 0.55rem;
        padding: 0.6rem 0.65rem;
    }

    .theme-option-label {
        gap: 0.55rem;
    }

    .theme-option-copy strong {
        font-size: 0.9rem;
        line-height: 1.15;
    }

    .theme-option-copy small {
        display: none;
    }

    .authentication-wrapper.authentication-basic {
        align-items: flex-start;
        justify-content: flex-start;
        padding: calc(env(safe-area-inset-top, 0px) + 6rem) 0.9rem 1.25rem;
    }

    .authentication-inner {
        width: 100%;
        max-width: 28rem;
        margin: 0 auto;
    }

    .authentication-wrapper.authentication-basic .card {
        width: 100%;
        border-radius: 1.35rem;
    }

    .authentication-wrapper.authentication-basic .card-body {
        padding: 1.4rem 1.15rem 1.25rem;
    }

    .authentication-wrapper.authentication-basic .app-brand {
        margin-top: 0 !important;
        margin-bottom: 0.75rem;
    }

    .authentication-wrapper.authentication-basic .app-brand-link {
        gap: 0.75rem !important;
    }

    .authentication-wrapper.authentication-basic .app-brand-logo img {
        width: 3.4rem;
        height: 3.4rem;
        object-fit: contain;
    }

    .authentication-wrapper.authentication-basic .app-brand-text {
        font-size: 1.55rem;
        line-height: 1.1;
    }

    .authentication-wrapper.authentication-basic h4 {
        margin-bottom: 1.75rem !important;
        font-size: 1.95rem;
        line-height: 1.15;
    }

    .authentication-wrapper.authentication-basic .form-label {
        font-size: 0.8rem;
        letter-spacing: 0.02em;
    }

    .authentication-wrapper.authentication-basic .btn.w-100 {
        min-height: 3rem;
    }
}

@media (max-width: 575.98px) {
    body.auth-page-login .auth-theme-switcher {
        top: calc(env(safe-area-inset-top, 0px) + 0.55rem);
        padding: 0 0.75rem;
    }

    body.auth-page-login .auth-theme-switcher .dropdown {
        max-width: calc(100vw - 1.5rem);
    }

    body.auth-page-login .theme-switcher-btn {
        min-width: 3.4rem;
        height: 2.55rem;
        padding-inline: 0.75rem;
        gap: 0.35rem;
        box-shadow: 0 0.3rem 0.85rem rgba(var(--ac-primary-rgb), 0.16);
    }

    body.auth-page-login .theme-switcher-btn .d-inline-flex {
        gap: 0.2rem !important;
    }

    body.auth-page-login .theme-switcher-btn::after {
        margin-left: 0.15rem;
    }

    body.auth-page-login .theme-switcher-menu {
        width: min(14.75rem, calc(100vw - 1.5rem));
    }

    body.auth-page-login .authentication-wrapper.authentication-basic {
        min-height: 100svh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: calc(env(safe-area-inset-top, 0px) + 3.9rem) 1rem 1.35rem;
        background:
            radial-gradient(circle at top left, rgba(var(--ac-primary-soft-rgb), 0.24), transparent 34%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--ac-primary-soft-rgb), 0.14));
    }

    body.auth-page-login .authentication-inner {
        max-width: 22.5rem;
        width: 100%;
        margin: 0 auto;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .card {
        border-radius: 1.5rem;
        box-shadow: 0 1rem 2rem rgba(var(--ac-primary-rgb), 0.08);
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .card-body {
        padding: 1.45rem 1.25rem 1.35rem;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .app-brand {
        margin-bottom: 0.95rem;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .app-brand-link {
        flex-direction: column;
        gap: 0.5rem !important;
        text-align: center;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .app-brand-logo img {
        width: 3rem;
        height: 3rem;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .app-brand-text {
        font-size: 1.15rem;
        line-height: 1;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic h4 {
        margin-bottom: 1.9rem !important;
        font-size: 1.55rem;
        line-height: 1.14;
        text-wrap: balance;
    }

    body.auth-page-login #formAuthentication {
        margin-top: 0.35rem;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .form-label {
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.03em;
    }

    body.auth-page-login .form-password-toggle .d-flex {
        align-items: center;
        gap: 0.55rem;
    }

    body.auth-page-login .form-password-toggle a small {
        font-size: 0.82rem;
        white-space: nowrap;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .form-control,
    body.auth-page-login .authentication-wrapper.authentication-basic .input-group-text {
        min-height: 2.8rem;
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .form-control:focus,
    body.auth-page-login .authentication-wrapper.authentication-basic .form-select:focus {
        box-shadow: 0 0 0 0.16rem rgba(var(--ac-primary-rgb), 0.16);
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .btn.w-100 {
        min-height: 2.95rem;
        border-radius: 0.8rem;
        font-size: 1rem;
        box-shadow: 0 0.5rem 1rem rgba(var(--ac-primary-rgb), 0.18);
    }

    body.auth-page-login .authentication-wrapper.authentication-basic .mb-5 {
        margin-bottom: 0 !important;
    }
}
