/* Status badges */
.badge-paid {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success);
}

.badge-partial {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning);
}

.badge-unpaid {
    background-color: var(--bs-danger-bg-subtle);
    color: var(--bs-danger);
}

.badge-open {
    background-color: var(--bs-info-bg-subtle);
    color: var(--bs-info);
}

.badge-progress {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
}

.badge-closed {
    background-color: var(--bs-secondary-bg-subtle);
    color: var(--bs-secondary);
}

.badge-paid,
.badge-partial,
.badge-unpaid,
.badge-open,
.badge-progress,
.badge-closed {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Dashboard stat cards */
.dashboard-stat-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dashboard-stat-icon .bx {
    font-size: 1.5rem;
    line-height: 1;
}

/* ========== Sidebar (main-nav) ========== */
.wrapper .main-nav {
    display: flex;
    flex-direction: column;
}

.wrapper .main-nav .logo-box {
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    min-height: var(--bs-topbar-height);
    height: var(--bs-topbar-height);
    padding: 0 var(--bs-main-nav-item-padding-x);
    padding-right: 3.25rem;
    line-height: 1;
    overflow: visible;
    text-align: left;
    white-space: nowrap;
}

.wrapper .main-nav .logo-box .logo-dark,
.wrapper .main-nav .logo-box .logo-light {
    display: none;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 0;
    text-decoration: none;
}

html[data-menu-color='dark'] .wrapper .main-nav .logo-box .logo-light,
html[data-bs-theme='dark'] .wrapper .main-nav .logo-box .logo-light {
    display: inline-flex !important;
}

html[data-menu-color='dark'] .wrapper .main-nav .logo-box .logo-dark,
html[data-bs-theme='dark'] .wrapper .main-nav .logo-box .logo-dark {
    display: none !important;
}

html[data-menu-color='light'] .wrapper .main-nav .logo-box .logo-dark {
    display: inline-flex !important;
}

html[data-menu-color='light'] .wrapper .main-nav .logo-box .logo-light {
    display: none !important;
}

.wrapper .main-nav .logo-box .logo-sm {
    display: none !important;
}

html[data-menu-size='sm-hover'] .wrapper .main-nav:not(:hover) .logo-box {
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
    text-align: center;
}

html[data-menu-size='sm-hover'] .wrapper .main-nav:not(:hover) .logo-box .logo-sm {
    display: inline-block !important;
}

html[data-menu-size='sm-hover'] .wrapper .main-nav:not(:hover) .logo-box .logo-lg {
    display: none !important;
}

html[data-menu-size='sm-hover-active'] .wrapper .main-nav .logo-box .logo-lg {
    display: inline-block !important;
    height: var(--bs-logo-lg-height);
    width: auto;
    max-width: 100%;
    vertical-align: middle;
}

html[data-menu-size='condensed'] .wrapper .main-nav .logo-box .logo-sm {
    display: inline-block !important;
}

html[data-menu-size='condensed'] .wrapper .main-nav .logo-box .logo-lg {
    display: none !important;
}

html[data-menu-size='condensed'] .wrapper .main-nav .navbar-nav .nav-item .nav-link .nav-text,
html[data-menu-size='condensed'] .wrapper .main-nav .menu-title {
    display: none !important;
}

html[data-menu-size='condensed'] .wrapper .main-nav .navbar-nav .nav-item .nav-link {
    justify-content: center;
}

html[data-menu-size='condensed'] .wrapper .main-nav {
    width: var(--bs-main-nav-width-sm) !important;
    min-width: var(--bs-main-nav-width-sm) !important;
}

html[data-menu-size='condensed'] .wrapper .topbar {
    padding-left: var(--bs-main-nav-width-sm) !important;
}

html[data-menu-size='condensed'] .wrapper .page-content {
    margin-left: var(--bs-main-nav-width-sm) !important;
}

html[data-menu-size='condensed'] .wrapper .main-nav .logo-box {
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
    text-align: center;
}

.button-sm-hover-icon.is-sidebar-collapsed .bx {
    transform: rotate(180deg);
}

.wrapper .main-nav .button-sm-hover {
    display: block;
    top: 50%;
    transform: translateY(-50%);
    right: 0.75rem;
    z-index: 2;
}

.wrapper .main-nav .button-sm-hover .button-sm-hover-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
}

.wrapper .main-nav .button-sm-hover .button-sm-hover-icon .bx {
    font-size: 22px;
    line-height: 1;
}

.wrapper .main-nav .scrollbar {
    flex: 1 1 auto;
    min-height: 0;
    height: calc(100vh - var(--bs-topbar-height)) !important;
}

.wrapper .main-nav .scrollbar .simplebar-content {
    padding-bottom: 1rem;
}

.wrapper .main-nav .navbar-nav {
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 1rem;
    flex-direction: column;
    width: 100%;
}

.wrapper .main-nav .navbar-nav .nav-item,
.wrapper .main-nav .menu-title {
    list-style: none;
    margin: 0;
}

.wrapper .main-nav .menu-title {
    display: flex;
    align-items: center;
    padding-top: 0.75rem;
    padding-bottom: 0.35rem;
    margin-top: 0.25rem;
}

.wrapper .main-nav .navbar-nav > .menu-title:first-child {
    margin-top: 0;
    padding-top: 0.25rem;
}

.wrapper .main-nav .navbar-nav .nav-item .nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    width: 100%;
}

.wrapper .main-nav .navbar-nav .nav-item .nav-link .nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--bs-main-nav-item-icon-size);
    min-width: var(--bs-main-nav-item-icon-size);
    height: var(--bs-main-nav-item-icon-size);
    flex-shrink: 0;
    margin: 0;
    padding: 0;
}

.wrapper .main-nav .navbar-nav .nav-item .nav-link .nav-icon .bx {
    font-size: var(--bs-main-nav-item-icon-size);
    line-height: 1;
    display: block;
}

.wrapper .main-nav .navbar-nav .nav-item .nav-link .nav-text {
    flex: 1;
    min-width: 0;
    line-height: 1.4;
    padding: 0;
    margin: 0;
}

/* Topbar icons */
.topbar .button-toggle-menu .bx,
.topbar .topbar-button .bx {
    font-size: 1.5rem;
    line-height: 1;
    vertical-align: middle;
}

/* Auth pages: single logo */
.auth-logo .logo-dark {
    display: inline-block;
}

.auth-logo .logo-light {
    display: none;
}

html[data-bs-theme='dark'] .auth-logo .logo-dark {
    display: none;
}

html[data-bs-theme='dark'] .auth-logo .logo-light {
    display: inline-block;
}

.authentication-form .btn .bx {
    font-size: 1.125rem;
    line-height: 1;
    vertical-align: -0.125em;
}

.authentication-form .btn .bx::before {
    display: inline-block;
    line-height: 1;
}

/* Choices.js (Larkon-style searchable selects) */
.choices {
    width: 100%;
    margin-bottom: 0;
}

.choices__inner {
    min-height: calc(1.5em + 0.94rem + 2px);
    padding: 0.47rem 0.77rem;
    font-size: 0.875rem;
    border-radius: var(--bs-border-radius, 0.3rem);
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
}

.choices.is-focused .choices__inner,
.choices.is-open .choices__inner {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.15);
}

.choices.is-disabled .choices__inner {
    background-color: var(--bs-secondary-bg);
    cursor: not-allowed;
}

select[data-cascade-building]:disabled,
select[data-cascade-floor]:disabled {
    cursor: not-allowed;
}

.choices__list--dropdown {
    z-index: 1055;
    border-color: var(--bs-border-color);
}

.choices__list--dropdown .choices__item--selectable.is-highlighted {
    background-color: rgba(var(--bs-primary-rgb), 0.12);
}

.choices[data-type*="select-one"] .choices__input {
    background-color: transparent;
}

.choices__placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}

/* Placeholder row visible in open dropdown */
.choices__list--dropdown .choices__item--choice.choices__placeholder,
.choices__list--dropdown .choices__item--choice[data-value=""] {
    color: var(--bs-secondary-color);
    font-style: italic;
}

.choices__list--dropdown .choices__item,
.choices__list--single .choices__item {
    white-space: nowrap;
}

/* Always show search in Choices dropdown */
.choices.is-open .choices__input--cloned,
.choices.is-open .choices__input.choices__input--cloned {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.choices__item br {
    display: none !important;
}

/* Flatpickr (Larkon date picker) */
input[data-flatpickr] + .form-control.flatpickr-input,
.flatpickr-input.form-control {
    background-color: var(--bs-body-bg);
}

.flatpickr-calendar {
    z-index: 1060;
}

select.is-invalid + .choices .choices__inner,
.choices.is-invalid .choices__inner {
    border-color: var(--bs-danger);
}

