/* ================================================
   INLINE INVOICE DISCOUNTS - Custom Styles
   ================================================ */

/* Discount column styling */
.bill_col_discount {
    min-width: 150px;
}

.bill_col_discount .input-group-append {
    width: 60px;
}

.bill_col_discount .js_item_discount_type {
    font-size: 12px;
    padding: 0.25rem;
}

/* Hide discount column when needed */
.bill_col_discount.hidden {
    display: none !important;
}

/* Disabled button styling */
button.disabled,
a.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ================================================
   USERS PAGE & GLOBAL ALIGNMENT FIXES
   ================================================ */

/* Pin fixed header and sidebar flush to viewport top */
html,
body {
    margin: 0;
    padding: 0;
}

.fix-header .topbar {
    top: 0 !important;
    left: 0;
    margin-top: 0 !important;
}

.fix-sidebar .left-sidebar {
    top: 0 !important;
    left: 0;
}

.topbar .top-navbar .navbar-header {
    margin-top: 0;
}

/* Top navbar — flex vertical centering */
.topbar .top-navbar .navbar-nav > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    height: 70px;
    line-height: 1;
    padding-top: 0 !important;
    padding-bottom: 0;
}

.topbar .profile-pic {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.topbar .top-search-bar {
    display: flex;
    align-items: center;
    height: 70px;
    padding-top: 0 !important;
    padding-left: 8px;
}

.topbar .top-search-bar .top-search-container i {
    top: 50%;
    transform: translateY(-50%);
}

.topbar .ain-language-switcher > .nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Page header actions — align search, filter, add button */
#list-page-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.header-search {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

.header-search input {
    height: 37px;
    min-height: 37px;
    vertical-align: middle;
}

.header-search i {
    top: 50%;
    transform: translateY(-50%);
}

.list-actions-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 37px;
    padding: 0 8px;
    vertical-align: middle;
}

.btn-add-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 37px;
    width: 37px;
    padding: 0 !important;
    padding-top: 0 !important;
    font-size: 16px;
    vertical-align: middle;
}

/* Table column headers — sort icon alignment */
.table thead th a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.sorting-icons {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    padding-left: 0;
}

/* Contact list — name column inner alignment */
.contact-list .contacts_col_first_name {
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact-list .contacts_col_first_name .user-avatar-container {
    flex-shrink: 0;
    vertical-align: middle;
}

.contact-list .contacts_col_first_name .sl-icon-star {
    line-height: 1;
    vertical-align: middle;
}

.contact-list td {
    padding: 0.9rem 10px;
}

/* Action column — icon spacing and vertical center */
.table .actions_column {
    padding-top: 0.9rem;
    vertical-align: middle;
}

.list-table-action {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.list-table-action .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}

/* Sidebar — consistent nav item spacing */
#sidebarnav {
    padding-top: 4px;
}

.sidebar-nav ul li a {
    padding-top: 11px;
    padding-bottom: 11px;
}
