/*------------------------------------------------------------------
[Compact Stylesheet]

Project:    Platinum Health Portal
Version:    1.0.0
Description: Compact/reduced size styles for all portal components
             All classes mirror originals with 'reduced-' prefix
-------------------------------------------------------------------*/

/* ==========================================
   COMPACT LOGIN PAGE STYLES
   ========================================== */

/* Compact Login Container */
.reduced-login-4 {
    background-image: linear-gradient(to bottom, #2ba9b3, #2ba9b3);
}

.reduced-login-4 .reduced-login-box {
    min-height: 100vh;
}

.reduced-login-4 .reduced-form-section {
    min-height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
}

.reduced-login-4 .reduced-form-inner {
    max-width: 380px;
    width: 100%;
    margin: 0 20px;
    text-align: center;
}

/* Compact Logo */
.reduced-login-4 .reduced-logo img {
    margin-bottom: 10px;
    height: 140px !important;
}

/* Compact Headings */
.reduced-login-4 .reduced-form-inner h3 {
    font-size: 22px !important;
    margin: 0 0 20px !important;
    font-weight: 400;
    font-family: 'Jost', sans-serif;
}

.reduced-login-4 .reduced-form-inner h6 {
    font-size: 16px !important;
    margin-bottom: 8px !important;
}

/* Compact Form Groups */
.reduced-login-4 .reduced-form-group {
    margin-bottom: 15px;
}

/* Compact Form Controls */
.reduced-login-4 .reduced-form-control {
    padding: 8px 16px;
    font-size: 14px;
    outline: none;
    height: 40px;
    color: #535353;
    border-radius: 40px;
    font-weight: 500;
    border: 1px solid transparent;
    background: #fff;
    width: 100%;
}

.reduced-login-4 .reduced-form-control:focus {
    box-shadow: none;
}

/* Compact Buttons */
.reduced-login-4 .reduced-btn-theme {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    border: none;
    outline: none !important;
    color: #ffffff;
    text-transform: capitalize;
    transition: all 0.3s linear;
    z-index: 1;
    overflow: hidden;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Jost', sans-serif;
    border-radius: 40px;
    background: #002e67;
}

.reduced-login-4 .reduced-btn-theme:hover {
    color: #2c3ca9;
}

.reduced-login-4 .reduced-btn-theme:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: "";
    border-radius: 40px;
    transform: perspective(200px) scaleX(0.1) rotateX(90deg) translateZ(-10px);
    transform-origin: bottom center;
    transition: transform 0.4s linear;
    z-index: -1;
    background: #fff;
}

.reduced-login-4 .reduced-btn-theme:hover:after {
    transform: perspective(200px) scaleX(1.05) rotateX(0deg) translateZ(0);
}

.reduced-login-4 .reduced-btn-lg {
    padding: 0 40px;
    line-height: 40px;
}

/* Compact Alert Messages */
.reduced-login-4 .reduced-login-box .reduced-alert {
    padding: 10px 16px;
    font-size: 12px;
    border: none !important;
    border-radius: 40px;
    margin-bottom: 15px;
}

.reduced-login-4 .reduced-alert-dismissible .reduced-btn-close {
    padding: 12px 14px;
    background-size: 7px;
}

/* Compact Social Login Buttons */
.reduced-login-4 .reduced-social-list li {
    display: inline-block;
    margin-bottom: 5px;
}

.reduced-login-4 .reduced-social-list li a {
    font-size: 12px;
    font-weight: 400;
    width: 110px;
    height: 36px;
    line-height: 36px;
    text-align: left;
    color: #535353;
    border-radius: 4px;
    display: inline-block;
    background: #fff;
}

.reduced-login-4 .reduced-social-list li a i {
    height: 36px;
    width: 36px;
    line-height: 36px;
    text-align: center;
    color: #fff;
    border-radius: 4px 0 0 4px;
    font-size: 14px;
}

/* Compact Checkbox and Labels */
.reduced-login-4 .reduced-form-check {
    float: left;
    margin: 0;
    padding-left: 20px;
}

.reduced-login-4 .reduced-form-check-input {
    width: 16px;
    height: 16px;
    margin-top: 0;
    position: absolute;
    border-radius: 2px;
    border: none;
    background-color: #fff;
    margin-left: -20px;
}

.reduced-login-4 .reduced-form-check-input:checked {
    background-color: #2c3ca9;
    border-color: #2c3ca9 !important;
}

.reduced-login-4 .reduced-form-check-label {
    padding-left: 4px;
    margin-bottom: 0;
    font-size: 13px;
    color: #fff;
}

/* Compact Forgot Password Link */
.reduced-login-4 .reduced-forgot-password {
    font-size: 13px;
    color: #fff;
    line-height: 40px;
    text-decoration: none;
}

/* Compact Extra Login Divider */
.reduced-login-4 .reduced-extra-login {
    float: left;
    width: 100%;
    margin: 15px 0 15px;
    position: relative;
}

.reduced-login-4 .reduced-extra-login::before {
    position: absolute;
    left: 0;
    top: 10px;
    width: 45%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    content: "";
}

.reduced-login-4 .reduced-extra-login::after {
    position: absolute;
    right: 0;
    top: 10px;
    width: 45%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    content: "";
}

.reduced-login-4 .reduced-extra-login > span {
    width: auto;
    float: none;
    display: inline-block;
    color: #fff;
    font-size: 13px;
    padding: 1px 15px;
}

/* Compact Paragraph Text */
.reduced-login-4 p {
    color: #fff;
    margin-bottom: 0;
    font-size: 13px;
}

.reduced-login-4 p a {
    color: #fff;
    text-decoration: none;
}

/* Compact Background Image Section */
.reduced-login-4 .reduced-bg-img {
    background: url(../img/login1.jpg) top left repeat;
    background-size: cover;
    top: 0;
    bottom: 0;
    min-height: 100%;
    z-index: 999;
}

.reduced-login-4 .reduced-clip-home {
    clip-path: polygon(0 0, 100% 0, 100% 0%, 100% 100%, 20% 100%);
    position: relative;
}

/* Compact PHMAS Modal on Login */
.reduced-login-4 .reduced-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050;
}

.reduced-login-4 .reduced-modal-custom {
    justify-self: center;
    background-color: white;
    border-radius: 0.3rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
    max-width: 420px;
    width: 90%;
    z-index: 1051;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.reduced-login-4 .reduced-modal-content-custom {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.reduced-login-4 .reduced-modal-header-custom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.8rem;
    border-bottom: 1px solid #dee2e6;
    font-size: 0.9rem;
    background-color: #003067;
    color: white;
}

.reduced-login-4 .reduced-modal-body-custom {
    padding: 0.75rem;
    font-size: 0.85rem;
    overflow-y: auto;
    flex-grow: 1;
}

.reduced-login-4 .reduced-modal-footer-custom {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    padding: 0.5rem 0.75rem;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.reduced-login-4 .reduced-modal-footer-custom .btn {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.8rem !important;
}

/* Compact Select in Modal */
.reduced-login-4 .reduced-modal-body-custom .form-select,
.reduced-login-4 .reduced-modal-body-custom select {
    padding: 0.3rem 0.5rem;
    font-size: 0.85rem;
    height: auto;
}

/* Responsive adjustments for compact login */
@media (max-width: 991.98px) {
    .reduced-login-4 .reduced-form-inner {
        max-width: 340px;
        margin: 0 15px;
    }

    .reduced-login-4 .reduced-logo img {
        height: 120px !important;
    }

    .reduced-login-4 .reduced-form-inner h3 {
        font-size: 20px !important;
    }

    .reduced-login-4 .reduced-bg-img {
        min-height: 100%;
    }
}

@media (max-width: 575.98px) {
    .reduced-login-4 .reduced-form-inner {
        margin: 0 10px;
    }
}

/* ==========================================
   COMPACT PHMAS MODAL STYLES
   ========================================== */

/* Compact PHMAS Modal Container */
.reduced-phmas-modal  {
    width: 400px !important;
    max-width: 95vw;
    margin-left: auto;
    margin-right: auto;
}

.reduced-phmas-modal-content {
    width: 900px !important;
    max-width: 100vw;
    margin-left: auto;
    margin-right: auto;

}

/* Compact Modal Header */
.reduced-phmas-modal-header {
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
}

.reduced-phmas-modal-header h5,
.reduced-phmas-modal-header .h5 {
    font-size: 1rem !important;
    margin: 0 !important;
}

/* Compact Modal Body */
.reduced-phmas-modal-body {
    padding: 0rem;
    font-size: 0.85rem;
    color: #535353;
}

/* Compact Logo in Modal */
.reduced-phmas-modal-body .reduced-phmas-logo {
    max-width: 150px;
    height: auto;
    margin-bottom: 12px;
}

/* Compact Row Margin */
.reduced-phmas-modal-row-margin {
    margin-top: 0rem;
}

/* Compact Label */
.reduced-phmas-control-label {
    font-size: 0.85rem;
    white-space: nowrap;
}

.reduced-ph-label-116 {
    min-width: 90px;
}

/* Compact Form Control */
.reduced-phmas-modal-body .form-control,
.reduced-phmas-modal-body .reduced-form-control {
    padding: 0.25rem 0.5rem;
    font-size: 0.85rem;
    height: auto;
}

/* Compact Alert Spacing */
.reduced-phmas-alert-spacing {
    margin-top: 0.4rem !important;
    padding: 0.5rem 0.75rem !important;
    margin-bottom: -3px !important;
    font-size: 0.8rem;
}

/* Compact Modal Footer */
.reduced-phmas-modal .modal-footer {
    padding: 0.5rem 0.75rem;
}

.reduced-phmas-modal .modal-footer .btn {
    padding: 0.4rem 1rem !important;
    font-size: 0.8rem !important;
}

/* Compact Flex Label Control */
.reduced-phmas-flex-label-control {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Compact Rounded Button */
.reduced-rounded-button {
    border-radius: 0.2rem !important;
    padding: 0.4rem 1rem !important;
    font-size: 0.8rem !important;
}

/* ==========================================
   COMPACT MEMBERSHIP SEARCH PAGE STYLES
   ========================================== */

/* Compact Tabs Gap */
.reduced-phmas-tabs-gap {
    column-gap: 0.35rem;
}

.reduced-phmas-tabs-gap .nav-link {
    padding: 0.35rem 0.6rem !important;
    font-size: 0.8rem !important;
}

/* Compact Card Group */
.reduced-phmas-compact-group {
    padding: 6px 10px;
}

/* Compact Main Card */
.reduced-main-card {
    display: flex;
    row-gap: 6px;
    flex-direction: column;
    border-left: 1px solid rgba(74, 74, 74, 0.11);
    border-right: 1px solid rgba(74, 74, 74, 0.11);
    border-bottom: 1px solid rgba(74, 74, 74, 0.11);
    border-bottom-left-radius: 0.2rem;
    border-bottom-right-radius: 0.2rem;
    border-top-right-radius: 0.2rem;
    font-size: 0.8rem;
}

/* Compact PHMAS Card */
.reduced-phmas-card {
    border-top: #6EA8C8;
    border-style: solid;
    border-top-width: 0.25rem;
}

/* Compact Row Spacing */
.reduced-phmas-row-spacing {
    margin-bottom: 0.35rem;
}

/* Compact Flex Label Control */
.reduced-phmas-flex-label-control {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Compact Control Label */
.reduced-phmas-control-label {
    font-size: 0.8rem;
    white-space: nowrap;
}

/* Compact Label Fixed Width */
.reduced-phmas-label-fixed {
    min-width: 104px;
    max-width: 104px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

/* Compact Label Narrow Width - for short labels like ID Number */
.reduced-phmas-label-narrow {
    min-width: 70px;
    max-width: 70px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

/* Compact Label Wide Width - for longer labels like Option Effective Date */
.reduced-phmas-label-wide {
    min-width: 134px;
    max-width: 134px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

/* Compact Label Extra Wide Width - for very long labels like Medical Scheme Identifier */
.reduced-phmas-label-xwide {
    min-width: 175px;
    max-width: 175px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

/* Compact Label Double Extra Wide - for very long checkbox/control labels like
   "Raise Savings as part of Contribution". Allows wrapping so the box stays
   inside its column rather than overflowing on narrow widths. */
.reduced-phmas-label-xxwide {
    min-width: 220px;
    max-width: 220px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
    white-space: normal;
    line-height: 1.2;
}

/* Compact Label Triple Extra Wide - for very long sentence-style labels like
   "Number of days after Treatment when Claims become Stale:". */
.reduced-phmas-label-xxxwide {
    min-width: 400px;
    max-width: 400px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

/* Compact Form Control */
.reduced-phmas-compact-control {
    padding: 2px 5px;
    font-size: 0.8rem;
    height: 1.6rem;
}

/* MemoEdit / textarea: let the row count honour the Rows attribute instead of
   inheriting the 1.6rem single-line height above. Minimum height covers ~3
   text lines so single-row controls don't collapse to nothing. */
textarea.reduced-phmas-compact-control {
    height: auto;
    min-height: 4.2rem;
    line-height: 1.2rem;
    resize: vertical;
}

/* Compact Control Button */
.reduced-phmas-compact-control-button {
    min-width: 0;
    box-sizing: border-box;
    height: 1.6rem;
    padding: 0.15rem 0.4rem;
    font-size: 0.8rem;
}

/* MAS Medical Aid Master - Administration contact rows */
.mas-admin-contact-row {
    position: relative;
}
.mas-admin-contact-label {
    min-width: 140px;
    max-width: 140px;
}
.mas-admin-contact-edit-btn {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

/* Compact Search Button */
.reduced-phmas-search-btn {
    white-space: nowrap;
    padding: 0.4rem 1rem !important;
    font-size: 0.8rem !important;
}

/* Compact Cancel Button */
.reduced-phmas-cancel-btn {
    white-space: nowrap;
    margin-left: -18px !important;
    padding: 0.4rem 1rem !important;
    font-size: 0.8rem !important;
}

/* Compact Alert Spacing */
.reduced-alert-spacing {
    position: relative !important;
    padding: 0.5rem 0.75rem !important;
    margin-bottom: 0.5rem !important;
    border: 1px solid transparent !important;
    border-radius: 0.2rem !important;
    font-size: 0.8rem;
}

/* Compact DataGrid Nowrap */
.reduced-phmas-datagrid-nowrap {
    white-space: nowrap;
}

/* Grid validation highlight — Bootstrap's is-invalid only targets form controls,
   so we apply the same red border and icon explicitly to the wrapper div. */
.reduced-phmas-datagrid-nowrap.is-invalid {
    position: relative;
    border: 1px solid #dc3545;
    border-radius: 0.25rem;
    padding: 2px;
}

.reduced-phmas-datagrid-nowrap.is-invalid::after {
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    right: 6px;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 16px 16px;
    pointer-events: none;
    z-index: 5;
}

/* Compact DataGrid Table - Force minimal row height */
.reduced-phmas-datagrid-nowrap table,
.reduced-phmas-datagrid-nowrap .table,
.reduced-phmas-datagrid-nowrap .b-table {
    border-collapse: collapse !important;
}

.reduced-phmas-datagrid-nowrap table td,
.reduced-phmas-datagrid-nowrap table tbody td,
.reduced-phmas-datagrid-nowrap .table td,
.reduced-phmas-datagrid-nowrap .table tbody td,
.reduced-phmas-datagrid-nowrap .b-table td,
.reduced-phmas-datagrid-nowrap .b-table tbody td,
.reduced-phmas-datagrid-nowrap td {
    font-size: 0.8rem !important;
    padding: 2px 5px !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
    height: 22px !important;
}

.reduced-phmas-datagrid-nowrap table tr,
.reduced-phmas-datagrid-nowrap table tbody tr,
.reduced-phmas-datagrid-nowrap .table tr,
.reduced-phmas-datagrid-nowrap .table tbody tr,
.reduced-phmas-datagrid-nowrap .b-table tr,
.reduced-phmas-datagrid-nowrap .b-table tbody tr,
.reduced-phmas-datagrid-nowrap tr {
    height: 22px !important;
}

/* Override Bootstrap 5 table cell padding */
.reduced-phmas-datagrid-nowrap .table > :not(caption) > * > *,
.reduced-phmas-datagrid-nowrap.table > :not(caption) > * > *,
.reduced-phmas-datagrid-nowrap .table-bordered > :not(caption) > * > *,
.reduced-phmas-datagrid-nowrap > .table > tbody > tr > td,
.reduced-phmas-datagrid-nowrap > table > tbody > tr > td {
    padding: 2px 5px !important;
    height: 22px !important;
}

/* Compact DataGrid Table Header */
.reduced-phmas-datagrid-nowrap table th,
.reduced-phmas-datagrid-nowrap table thead th,
.reduced-phmas-datagrid-nowrap .table th,
.reduced-phmas-datagrid-nowrap .table thead th,
.reduced-phmas-datagrid-nowrap .b-table th,
.reduced-phmas-datagrid-nowrap th {
    font-size: 0.8rem !important;
    padding: 0.25rem 0.35rem !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
}

/* Compact DataGrid Pager — Blazorise renders the pager outside the <table>
   so the td/th rules above don't reach it. The previous narrower selectors
   missed the actual elements (Blazorise version-specific class names), so
   we now apply font-size on the wrapper itself and let it inherit; the
   td/th rules above are equally specific and still keep cell sizing intact. */
.reduced-phmas-datagrid-nowrap,
.reduced-phmas-datagrid-nowrap *:not(table):not(thead):not(tbody):not(tr):not(th):not(td) {
    font-size: 0.8rem !important;
}

/* Belt-and-braces: explicitly target every paginator-shaped class Blazorise
   has shipped across recent versions, plus generic Bootstrap pagination. */
.reduced-phmas-datagrid-nowrap .pagination,
.reduced-phmas-datagrid-nowrap .pagination .page-link,
.reduced-phmas-datagrid-nowrap .pagination .page-item,
.reduced-phmas-datagrid-nowrap .b-pagination,
.reduced-phmas-datagrid-nowrap .b-pagination *,
.reduced-phmas-datagrid-nowrap .b-pager,
.reduced-phmas-datagrid-nowrap .b-pager *,
.reduced-phmas-datagrid-nowrap .b-table-pager,
.reduced-phmas-datagrid-nowrap .b-table-pager *,
.reduced-phmas-datagrid-nowrap .b-table-paging,
.reduced-phmas-datagrid-nowrap .b-table-paging *,
.reduced-phmas-datagrid-nowrap [class*="pagination"],
.reduced-phmas-datagrid-nowrap [class*="pagination"] *,
.reduced-phmas-datagrid-nowrap [class*="pager"],
.reduced-phmas-datagrid-nowrap [class*="pager"] *,
.reduced-phmas-datagrid-nowrap select,
.reduced-phmas-datagrid-nowrap .form-select,
.reduced-phmas-datagrid-nowrap .input-group-text,
.reduced-phmas-datagrid-nowrap label,
.reduced-phmas-datagrid-nowrap .form-label {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
}

/* Tighten the page-size <select> to the same compact height the rest of the
   form controls use, so it doesn't tower over the pagination links. */
.reduced-phmas-datagrid-nowrap select,
.reduced-phmas-datagrid-nowrap .form-select {
    padding: 2px 22px 2px 6px !important;
    height: 1.7rem !important;
}

/* Compact DataGrid Pagination */
.reduced-phmas-datagrid-nowrap .pagination {
    font-size: 0.72rem !important;
    margin: 0.15rem 0 !important;
}

.reduced-phmas-datagrid-nowrap .page-link,
.reduced-phmas-datagrid-nowrap .page-item .page-link,
.reduced-phmas-datagrid-nowrap .page-item > button,
.reduced-phmas-datagrid-nowrap .pagination button,
.reduced-phmas-datagrid-nowrap .pagination .page-link {
    padding: 0.5rem 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
    min-width: 0 !important;
    height: 28px !important;
    box-sizing: border-box !important;
    color: #212529 !important;
}

/* Global page-link override for compact tables */
.page-link {
    padding: 0.5rem 0.5rem;
    font-size: 0.75rem;
    color: #212529 !important;
}

/* Global page-size select override to match pagination buttons */
.reduced-phmas-datagrid-nowrap select,
.reduced-phmas-datagrid-nowrap select.form-select,
.reduced-phmas-datagrid-nowrap .page-size-selector select,
.reduced-phmas-datagrid-nowrap .datagrid-pager select {
    padding: 0.25rem 2rem 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* Active page in pagination - turquoise */
.reduced-phmas-datagrid-nowrap .page-item.active .page-link,
.reduced-phmas-datagrid-nowrap .pagination .page-item.active .page-link,
.reduced-phmas-datagrid-nowrap .pagination .page-item.active > .page-link,
.reduced-phmas-datagrid-nowrap .pagination .page-item.active > button,
.reduced-phmas-datagrid-nowrap .pagination .active > .page-link,
.reduced-phmas-datagrid-nowrap .pagination .active > button.page-link,
.datagrid .pagination .page-item.active .page-link,
.table-responsive + .pagination .page-item.active .page-link,
.b-datagrid .pagination .page-item.active .page-link,
.b-datagrid .pagination .page-item.active > button,
.pagination .page-item.active .page-link,
.pagination .page-item.active > button {
    background-color: #6EA8C8 !important;
    border-color: #6EA8C8 !important;
    color: #ffffff !important;
}

/* Compact DataGrid Footer / Pager Area - remove all gaps between table and pager */
.table {
    margin-bottom: 0 !important;
}

.reduced-phmas-datagrid-nowrap ul,
.reduced-phmas-datagrid-nowrap ol,
.reduced-phmas-datagrid-nowrap dl,
.pagination {
    margin-bottom: 0 !important;
}

.reduced-phmas-datagrid-nowrap table,
.reduced-phmas-datagrid-nowrap .table {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.reduced-phmas-datagrid-nowrap table tfoot,
.reduced-phmas-datagrid-nowrap table tfoot td,
.reduced-phmas-datagrid-nowrap table tfoot th,
.reduced-phmas-datagrid-nowrap table tfoot tr {
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    border: none !important;
}

.reduced-phmas-datagrid-nowrap .table-responsive {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    /* Bootstrap's .table-responsive sets overflow-x:auto, which forces overflow-y
       to clip too (CSS spec). That clips per-row Action dropdowns. These lookup
       grids are narrow and don't need horizontal scrolling, so let the menu
       overlay outside the table. */
    overflow: visible !important;
}

.reduced-phmas-datagrid-nowrap .card-body {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.reduced-phmas-datagrid-nowrap div {
    margin-bottom: 0 !important;
}

.reduced-phmas-datagrid-nowrap .card-footer,
.reduced-phmas-datagrid-nowrap .datagrid-pager,
.reduced-phmas-datagrid-nowrap nav.datagrid-pager {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    background-color: rgba(0, 0, 0, 0.02) !important;
    border-top: 1px solid #e5e7eb !important;
    margin-top: 0 !important;
}

.reduced-phmas-datagrid-nowrap .card-footer .row {
    align-items: center !important;
    gap: 0 !important;
    --bs-gutter-y: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.reduced-phmas-datagrid-nowrap .card-footer .row > [class*="col"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
}

.reduced-phmas-datagrid-nowrap .card-footer select,
.reduced-phmas-datagrid-nowrap .card-footer .form-select {
    padding: 0.25rem 1.5rem 0.25rem 0.4rem !important;
    font-size: 0.75rem !important;
    height: 28px !important;
    min-height: 0 !important;
    line-height: 1.3 !important;
    box-sizing: border-box !important;
}

.reduced-phmas-datagrid-nowrap .card-footer label,
.reduced-phmas-datagrid-nowrap .card-footer span,
.reduced-phmas-datagrid-nowrap .card-footer small {
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
    color: #212529 !important;
}

.reduced-phmas-datagrid-nowrap .card-footer nav {
    margin: 0 !important;
}

/* Compact Checkbox */
.reduced-phmas-compact-group .form-check {
    margin-bottom: 0;
    font-size: 0.8rem;
}

.reduced-phmas-compact-group .form-check-label {
    font-size: 0.8rem;
}

/* Compact Select */
.reduced-phmas-compact-control.form-select,
select.reduced-phmas-compact-control {
    width: 100% !important;
    min-width: 0;
    flex: 1 1 0;
    box-sizing: border-box;
    height: 1.6rem;
    padding: 0.15rem 0.4rem;
    font-size: 0.8rem;
}

/* Compact Badge */
.reduced-phmas-datagrid-nowrap .badge {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.7rem !important;
}

/* Compact Dropdown */
.reduced-phmas-datagrid-nowrap .dropdown {
    font-size: 0.8rem;
}

.reduced-phmas-datagrid-nowrap .dropdown-toggle {
    padding: 0px 12px !important;
    height: 22px !important;
}

.reduced-phmas-datagrid-nowrap .dropdown-menu {
    font-size: 0.8rem;
    padding: 0.3rem 0;
}

.reduced-phmas-datagrid-nowrap .dropdown-item {
    padding: 0.2rem 0.6rem;
    font-size: 0.8rem;
}

/* Compact Action Dropdown Toggle (3-dot menu) */
.reduced-phmas-action-dropdown-toggle {
    padding: 2px 6px !important;
    height: auto !important;
    min-height: auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.reduced-phmas-action-dropdown-toggle:hover,
.reduced-phmas-action-dropdown-toggle:focus {
    background: rgba(0, 48, 103, 0.1) !important;
    border-radius: 4px;
}

.reduced-phmas-action-dropdown-toggle::after {
    display: none !important;
}

/* Compact Action Dropdown Menu */
.reduced-phmas-action-dropdown-menu {
    font-size: 0.8rem !important;
    padding: 0.3rem 0 !important;
    min-width: 160px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.reduced-phmas-action-dropdown-menu .dropdown-item {
    padding: 0.4rem 0.8rem !important;
    font-size: 0.8rem !important;
    color: #003067 !important;
}

.reduced-phmas-action-dropdown-menu .dropdown-item:hover {
    background-color: rgba(0, 48, 103, 0.1) !important;
}

.reduced-phmas-action-dropdown-menu .dropdown-item .svg-inline--fa,
.reduced-phmas-action-dropdown-menu .dropdown-item i {
    font-size: 0.85rem !important;
    color: #003067 !important;
}

/* Compact Icon Column */
.reduced-phmas-datagrid-nowrap .icon-column {
    font-size: medium !important;
}

/* Compact fa-user icon */
.reduced-phmas-datagrid-nowrap .fa-user,
.reduced-phmas-datagrid-nowrap .fa-solid.fa-user {
    font-size: 0.9rem !important;
}

/* Compact Collapsible Card Title - targets cards with reduced-phmas-card class */
.reduced-phmas-card .card-header h6,
.reduced-phmas-card .card-header .h6,
.reduced-phmas-compact-group .card-header h6,
.reduced-phmas-compact-group .card-header .h6 {
    font-size: 0.85rem !important;
    margin: 0.3rem 0.4rem !important;
}

/* Compact Card Header container */
.reduced-phmas-card .card-header {
    padding: 0 !important;
    font-size: 0.85rem !important;
}

/* Compact Date Dropdown */
.reduced-phmas-compact-group .flatpickr-input {
    padding: 2px 5px !important;
    font-size: 0.8rem !important;
    height: 1.6rem !important;
}

/* ==========================================
   COMPACT PAGE TITLE & BREADCRUMB STYLES
   ========================================== */

/* Compact Page Title Wrapper */
.reduced-page-title-wrapper {
    padding: 0;
    margin-top: -0.5rem;
    margin-bottom: 0.75rem;
}

.reduced-page-title-wrapper .page-title-wrapper {
    padding: 0;
}

/* Compact Page Title */
.reduced-page-title-wrapper .page-title,
.reduced-page-title-wrapper h4,
.reduced-page-title-wrapper .h4 {
    font-size: 1rem !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    color: #6c757d;
}

/* Compact Breadcrumb */
.reduced-page-title-wrapper .breadcrumb {
    font-size: 0.75rem !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.reduced-page-title-wrapper .breadcrumb-item {
    font-size: 0.75rem !important;
}

.reduced-page-title-wrapper .breadcrumb-item a {
    font-size: 0.75rem !important;
    text-decoration: none;
}

.reduced-page-title-wrapper .breadcrumb-item + .breadcrumb-item::before {
    font-size: 0.75rem !important;
}

.reduced-page-title-wrapper .breadcrumb-item svg,
.reduced-page-title-wrapper .breadcrumb-item i {
    font-size: 0.7rem !important;
}

/* ==========================================
   COMPACT PAYPOINT SEARCH MODAL STYLES
   ========================================== */

/* Compact PayPoint Modal Container */
.reduced-paypoint-modal .modal-dialog {
    max-width: 750px;
}

.reduced-paypoint-modal-content {
    width: 750px !important;
    max-width: 95vw;
    margin-left: auto;
    margin-right: auto;
}

/* Compact PayPoint Modal Header */
.reduced-paypoint-modal-header {
    padding: 0.4rem 0.75rem !important;
    font-size: 0.9rem !important;
}

.reduced-paypoint-modal-header h5,
.reduced-paypoint-modal-header .h5,
.reduced-paypoint-modal-header .modal-title {
    font-size: 0.9rem !important;
    margin: 0 !important;
}

/* Compact PayPoint Modal Body */
.reduced-paypoint-modal-body {
    padding: 0.75rem !important;
    font-size: 0.85rem;
}

/* Compact PayPoint Row Spacing */
.reduced-paypoint-row-spacing {
    margin-bottom: 0.4rem;
}

.reduced-paypoint-row-spacing-none {
    margin-bottom: 0;
}

/* Compact PayPoint Label Fixed Width */
.reduced-paypoint-label-fixed {
    min-width: 110px;
    max-width: 110px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

/* Compact PayPoint Modal Footer */
.reduced-paypoint-modal-footer {
    padding: 0.5rem 0.75rem !important;
}

.reduced-paypoint-modal-footer .btn,
.reduced-paypoint-modal .modal-footer .btn {
    padding: 0.4rem 1rem !important;
    font-size: 0.8rem !important;
}

/* Compact PayPoint DataGrid */
.reduced-paypoint-datagrid-nowrap {
    white-space: nowrap;
}

.reduced-paypoint-datagrid-nowrap table td,
.reduced-paypoint-datagrid-nowrap .table td,
.reduced-paypoint-datagrid-nowrap td {
    font-size: 0.8rem !important;
    padding: 2px 5px !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
}

    .reduced-paypoint-datagrid-nowrap table tr,
    .reduced-paypoint-datagrid-nowrap .table tr,
    .reduced-paypoint-datagrid-nowrap tr {
        height: 22px !important;
        padding: 2px 7px !important;
    }

.reduced-paypoint-datagrid-nowrap .table > :not(caption) > * > * {
    padding: 2px 5px !important;
}

.reduced-paypoint-datagrid-nowrap th {
    font-size: 0.75rem !important;
    padding: 0.2rem 0.25rem !important;
}

/* Compact PayPoint Icon */
.reduced-paypoint-icon {
    font-size: 0.9rem !important;
    color: #003067;
}

/* Compact PayPoint Switch */
.reduced-paypoint-switch-field {
    place-self: center !important;
    margin-bottom: 0 !important;
    align-items: center;
    font-size: 1rem;
    padding: 2px;
}

.reduced-paypoint-switch {
    transform: scale(1.2) !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
}

/* Compact PayPoint Pagination */
.reduced-paypoint-datagrid-nowrap .pagination {
    font-size: 0.75rem !important;
    margin: 0.2rem 0 !important;
}

.reduced-paypoint-datagrid-nowrap .page-item .page-link {
    padding: 0.15rem 0.35rem !important;
    font-size: 0.75rem !important;
}

/* ==========================================
   COMPACT MEMBERSHIP MASTER PAGE STYLES
   ========================================== */

/* Compact Membership Master Tabs */
.reduced-membership-master-tabs {
    row-gap: 0.2rem;
    column-gap: 0.2rem;
}

/* Target all nav-links within reduced tabs - high specificity */
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item a.nav-link,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item button.nav-link,
.reduced-membership-master-tabs .nav-tabs .nav-link,
.reduced-membership-master-tabs .nav-link {
    padding: 0.4rem 0.6rem !important;
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
}

/* Active tab state */
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link.active,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item a.nav-link.active,
.reduced-membership-master-tabs .nav-tabs .nav-link.active {
    color: #003067 !important;
    text-decoration: underline;
    font-weight: bold;
    background-color: #fff;
    border-top-color: rgba(74, 74, 74, 0.11);
    border-right-color: rgba(74, 74, 74, 0.11);
    border-left-color: rgba(74, 74, 74, 0.11);
    font-size: 0.8rem !important;
    padding: 0.4rem 0.6rem !important;
    line-height: 1.3 !important;
}

/* Non-active tab state */
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link:not(.active),
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item a.nav-link:not(.active),
.reduced-membership-master-tabs .nav-tabs .nav-link:not(.active) {
    color: #535353 !important;
    border-top-color: rgba(74, 74, 74, 0.11);
    border-right-color: rgba(74, 74, 74, 0.11);
    border-left-color: rgba(74, 74, 74, 0.11);
    font-size: 0.8rem !important;
    background-color: #fff;
    padding: 0.4rem 0.6rem !important;
    line-height: 1.3 !important;
}

/* Tab icon class - default turquoise color */
.reduced-tab-icon,
.reduced-tab-icon svg {
    color: #6EA8C8 !important;
}

/* Active tab icon - dark blue override */
.nav-link.active .reduced-tab-icon,
.nav-link.active .reduced-tab-icon svg,
.active > .nav-link .reduced-tab-icon,
.active > .nav-link .reduced-tab-icon svg,
button.nav-link.active .reduced-tab-icon,
button.nav-link.active .reduced-tab-icon svg {
    color: #003067 !important;
}

/* Tab icon colors - non-active tabs: turquoise */
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link:not(.active) svg,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link:not(.active) .b-icon,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link:not(.active) i,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link:not(.active) .icon,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item button.nav-link:not(.active) svg,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item button:not(.active) svg,
.reduced-membership-master-tabs .nav-tabs .nav-link:not(.active) svg,
.reduced-membership-master-tabs .nav-tabs .nav-link:not(.active) .b-icon,
.reduced-membership-master-tabs .nav-tabs .nav-link:not(.active) i,
.reduced-membership-master-tabs .nav-tabs .nav-link:not(.active) .icon,
.reduced-membership-master-tabs .nav-tabs button.nav-link:not(.active) svg,
.reduced-membership-master-tabs .nav-item:not(.active) .nav-link svg,
.reduced-membership-master-tabs .nav-item .nav-link:not(.active) svg {
    color: #6EA8C8 !important;
}

/* Tab icon colors - active tabs: dark blue */
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link.active svg,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link.active .b-icon,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link.active i,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item .nav-link.active .icon,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item button.nav-link.active svg,
.tabs.reduced-membership-master-tabs .nav.nav-tabs .nav-item.active button svg,
.reduced-membership-master-tabs .nav-tabs .nav-link.active svg,
.reduced-membership-master-tabs .nav-tabs .nav-link.active .b-icon,
.reduced-membership-master-tabs .nav-tabs .nav-link.active i,
.reduced-membership-master-tabs .nav-tabs .nav-link.active .icon,
.reduced-membership-master-tabs .nav-tabs button.nav-link.active svg,
.reduced-membership-master-tabs .nav-item.active .nav-link svg,
.reduced-membership-master-tabs .nav-item .nav-link.active svg {
    color: #003067 !important;
}

/* Compact Side Tabs (vertical tabs on left) */
.tabs.reduced-membership-master-tabs.tabs-start .nav.nav-tabs .nav-item .nav-link,
.reduced-membership-master-tabs.tabs-start .nav-link,
.reduced-membership-master-tabs .nav.flex-column .nav-link {
    padding: 0.35rem 0.6rem !important;
    font-size: 0.8rem !important;
    white-space: nowrap;
    line-height: 1.3 !important;
}

/* Align side tabs with the card header */
.tabs.reduced-membership-master-tabs.tabs-start > .col-auto,
.reduced-membership-master-tabs.tabs-start .nav.nav-tabs.flex-column,
.reduced-membership-master-tabs .col-auto:first-child,
.reduced-membership-master-tabs > .row > .col-auto:first-child {
    margin-top: 1.8rem !important;
    padding-top: 0 !important;
}

/* Ensure tab items have reduced spacing */
.reduced-membership-master-tabs .nav-item {
    margin-bottom: 0 !important;
}

/* Reduce tab container spacing */
.reduced-membership-master-tabs .nav-tabs {
    margin-bottom: 0.25rem !important;
}

/* Collapsed tabs - icon only mode */
.tabs-collapsed .nav.nav-tabs.flex-column .nav-link {
    text-align: center !important;
    padding: 0.4rem 0.5rem !important;
    justify-content: center !important;
    position: relative !important;
}

.tabs-collapsed .tab-text {
    display: none !important;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 6px;
    background: #003067;
    color: #fff;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    white-space: nowrap;
    z-index: 1000;
    pointer-events: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.tabs-collapsed .nav-link:hover .tab-text {
    display: inline-block !important;
}

.tabs-collapsed .nav.nav-tabs.flex-column .nav-link .reduced-tab-icon {
    margin-right: 0 !important;
    margin-inline-end: 0 !important;
}

.tabs-collapsed .nav.nav-tabs.flex-column {
    width: auto !important;
    min-width: 0 !important;
}

.tabs-collapsed .col-auto:first-child,
.tabs-collapsed > .row > .col-auto:first-child {
    flex: 0 0 auto !important;
    width: auto !important;
}

/* Compact Side Action Buttons */
.reduced-side-action {
    border-style: solid;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0.25rem;
    border: 0.42px solid rgba(74, 74, 74, 0.11);
    border-right: 0;
    background-color: #fff;
    white-space: nowrap;
    text-align: start;
    font-size: 0.8rem;
    width: -webkit-fill-available;
}

.reduced-side-action:hover {
    border: 0.42px solid rgba(74, 74, 74, 0.11);
    border-right: 0;
}

.reduced-side-action:focus {
    border: 1px solid rgba(74, 74, 74, 0.11);
    color: #003067 !important;
    border-right: 0;
    font-weight: bold;
    text-decoration: underline;
    background-color: #fff;
    font-size: 0.8rem;
}

/* Compact Form Controls for Membership Master */
.reduced-membership-master .form-control {
    font-size: 0.8rem;
    color: #535353;
    border-top-left-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important;
}

.reduced-membership-master .form-select {
    color: #535353;
    font-size: 0.8rem;
}

.reduced-membership-master .form-check {
    margin-bottom: 0;
    padding: 2px 6px 0px 1.5em;
    font-size: 0.8rem;
    height: fit-content;
    white-space: nowrap;
}

/* Compact Dropdown for Membership Master */
.reduced-membership-master .dropdown-menu {
    position: fixed;
    min-width: 10rem;
    padding: 0.5rem 0;
    font-size: 0.8rem;
}

/* Compact Flatpickr Calendar */
.reduced-membership-master .flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px);
    right: calc(-5% + 2px);
}

/* Reduced Size Flatpickr Calendar Popup */
.reduced-phmas-compact-group .flatpickr-calendar {
    font-size: 0.75rem !important;
    width: 260px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-month {
    height: 28px !important;
    padding: 2px 0 !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-current-month {
    font-size: 0.85rem !important;
    padding: 2px 0 0 0 !important;
    height: 26px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-current-month input.cur-year {
    font-size: 0.85rem !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-months .flatpickr-next-month {
    height: 26px !important;
    padding: 2px 8px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-months .flatpickr-next-month svg {
    width: 12px !important;
    height: 12px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-weekdays {
    height: 24px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-weekday {
    font-size: 0.7rem !important;
    line-height: 24px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-days {
    width: 260px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .dayContainer {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .flatpickr-day {
    max-width: 34px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 0.75rem !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .numInputWrapper {
    width: 55px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .numInputWrapper span {
    width: 12px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .numInputWrapper span.arrowUp:after {
    border-bottom-width: 3px !important;
}

.reduced-phmas-compact-group .flatpickr-calendar .numInputWrapper span.arrowDown:after {
    border-top-width: 3px !important;
}

/* Compact Column Padding */
.reduced-membership-master .col-6 {
    padding: 0px 0px 0px 12px;
}

/* ==========================================
   COMPACT MEMBERSHIP MASTER CARD STYLES
   ========================================== */

/* Compact Master Card */
.reduced-phmas-master-card {
    border: none;
}

/* Compact Master Card Header - dark blue header */
.reduced-phmas-master-card-header {
    background: #06356B !important;
    font-size: 0.85rem !important;
    padding: 0 !important;
}

/* Vertical alignment for header row */
.reduced-phmas-master-card-header .row {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.reduced-phmas-master-card-header .row > [class*="col"] {
    display: flex !important;
    align-items: center !important;
}

/* Right-align the dropdown column */
.reduced-phmas-master-card-header .row > [class*="col"]:last-child {
    justify-content: flex-end !important;
}

.reduced-phmas-master-card-header h6,
.reduced-phmas-master-card-header .h6 {
    font-size: 0.85rem !important;
    margin: 0.4rem 0.4rem !important;
    padding-top: 0.15rem !important;
    line-height: 1.3 !important;
}

/* Medical Aid Master: flush the main card against the vertical tabs and
   left-align the blue header text. The Tabs(Start) layout uses a Bootstrap
   grid (.col-auto for the tab strip + .col for the content); the visible gap
   between them comes from the columns' inline padding, not a flex gap. */
.reduced-mas-master-card-flush {
    margin: 0 !important;
    border: 1px solid rgba(74, 74, 74, 0.25) !important;
    border-radius: 0.2rem;
}

.reduced-mas-master-card-heading {
    margin: 0 !important;
    padding: 0.4rem 0.6rem !important;
    text-align: left !important;
}

.reduced-mas-master-action-bar {
    display: flex;
    gap: 6px;
    padding-top: 8px;
}

.reduced-mas-master-alert-bar {
    display: flex;
    padding-top: 8px;
}

.reduced-mas-master-alert-bar > .alert-danger {
    flex: 1 1 auto;
    margin: 0;
}

/* Plain HTML tables on the Medical Aid Master cards: match the DataGrid
   header treatment on the search page (teal #6EA8C8 background, white text,
   nowrap). Keeps the Trustees / Interest / Options grids visually consistent
   with the Medical Aid Search results grid. */
.reduced-phmas-master-table {
    margin: 0;
    font-size: 0.85rem;
}

.reduced-phmas-master-table thead th {
    background: #6EA8C8 !important;
    color: #ffffff !important;
    white-space: nowrap;
    font-weight: 600;
    border-color: #6EA8C8 !important;
}

/* Zero the Bootstrap grid gutter between the tabs column and the content
   column so the blue header sits flush against the tab strip. Mirrors the
   approach Membership Master uses on .membership-master-page. */
.medical-aid-master-page .col-auto:has(.nav-tabs) {
    padding-inline-end: 0 !important;
}

.medical-aid-master-page .col:has(.tab-content) {
    padding-inline-start: 0 !important;
}

/* When the tabs are collapsed the tab labels pop out to the right as
   absolutely-positioned tooltips. We want them visible AND above the main
   card. Give both columns a stacking context but bump the tabs column
   higher, and explicitly allow overflow on every ancestor so nothing clips
   the popout. */
.medical-aid-master-page .col-auto:has(.nav-tabs) {
    position: relative;
    z-index: 2;
}

.medical-aid-master-page .col:has(.tab-content) {
    position: relative;
    z-index: 1;
}

.medical-aid-master-page .tabs-collapsed .col-auto,
.medical-aid-master-page .tabs-collapsed .nav.nav-tabs.flex-column,
.medical-aid-master-page .tabs-collapsed .nav-item,
.medical-aid-master-page .tabs-collapsed .nav-link {
    overflow: visible !important;
}

/* Compact Master Card Dropdown */
.reduced-phmas-master-card-dropdown {
    font-size: 0.85rem !important;
}

.reduced-phmas-master-card-dropdown-menu {
    font-size: 0.8rem !important;
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}

.reduced-phmas-master-card-dropdown-menu .dropdown-item {
    padding: 0.25rem 0.75rem !important;
    font-size: 0.8rem !important;
}

/* ==========================================
   Compact Sidebar Menu
   ========================================== */

/* Top-level menu toggle (DASHBOARD, PHMAS, ADMIN, etc.) */
.reduced-sidebar-menu .b-bar-dropdown-toggle {
    font-size: 0.85rem !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.35rem !important;
    margin-bottom: 0.15rem !important;
    line-height: 1.3 !important;
}

/* Vertically center the caret arrow with the toggle text */
.reduced-sidebar-menu .b-bar-dropdown-toggle::after {
    vertical-align: middle !important;
    margin-top: -1px !important;
}

/* Reduce top/bottom spacing inside dropdown menus (all levels) */
.reduced-sidebar-menu .b-bar-dropdown-menu {
    padding-top: 0 !important;
    padding-bottom: 2px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Sub menu items */
.reduced-sidebar-menu .b-bar-dropdown-item {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    padding-left: 0.5rem !important;
}

/* Sub menu links */
.reduced-sidebar-menu .b-bar-link {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    padding-left: 0.4rem !important;
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
}

/* Menu item text */
.reduced-sidebar-menu .dropdown-item-grid span {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
}

/* Menu item icons */
.reduced-sidebar-menu .dropdown-item-grid i {
    font-size: 0.75rem !important;
}

/* Nested sub-menu toggles (Workflows, Membership, Reports, etc.) */
.reduced-sidebar-menu .b-bar-dropdown-menu .b-bar-dropdown-toggle {
    font-size: 0.8rem !important;
    padding-top: 0.3rem !important;
    padding-bottom: 0.1rem !important;
    line-height: 1.3 !important;
}

/* Vertically center the caret on nested toggles */
.reduced-sidebar-menu .b-bar-dropdown-menu .b-bar-dropdown-toggle::after {
    vertical-align: middle !important;
    margin-top: -1px !important;
}

/* Nested sub-menu container spacing */
.reduced-sidebar-menu .b-bar-dropdown-menu .b-bar-item {
    min-height: 0px !important;
}

/* Reduce BarStart padding */
.reduced-sidebar-menu .b-bar-start {
    padding-top: 5px !important;
}

/* ==========================================
   Sidebar Expand/Collapse All Buttons
   ========================================== */

.menu-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.menu-ec-btn {
    color: rgba(255, 255, 255, 0.5) !important;
    background: transparent !important;
    border: none !important;
    padding: 2px 6px !important;
    margin-right: 1rem !important;
    font-size: 0.75rem !important;
    line-height: 1 !important;
    flex-shrink: 0;
}

.menu-ec-btn:hover {
    color: white !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
}

/* ==========================================
   Sidebar Mini (Icon-Only Collapse)
   ========================================== */

/* Base mini sidebar - always 50px in the layout flow, never changes */
.sidebar-mini {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    position: relative !important;
    overflow: visible !important;
}

/* Smooth transition for layout sider */
.b-layout-sider {
    transition: width 0.2s ease, min-width 0.2s ease;
}

/* ---- HOVER: expand the inner content as overlay ---- */
.sidebar-mini:hover .b-layout-sider-content {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 250px !important;
    height: 100% !important;
    z-index: 1035 !important;
    background-color: #003067 !important;
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.3) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* ---- MINI (not hovered): icon-only rules ---- */

/* Constrain sider content */
.sidebar-mini:not(:hover) .b-layout-sider-content {
    display: block !important;
    visibility: visible !important;
    width: 50px !important;
    overflow: hidden !important;
}

/* Constrain bar width */
.sidebar-mini:not(:hover) .b-bar {
    width: 50px !important;
    min-width: unset !important;
}

/* Center all bar items and dropdowns in mini mode */
.sidebar-mini:not(:hover) .b-bar-item {
    width: 50px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
}

.sidebar-mini:not(:hover) .b-bar-dropdown {
    width: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.sidebar-mini:not(:hover) .b-bar-start {
    width: 50px !important;
    padding: 0 !important;
}

/* Constrain bar menu - allow vertical scroll */
.sidebar-mini:not(:hover) .b-bar-menu {
    width: 50px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Thin scrollbar in mini mode */
.sidebar-mini:not(:hover) .b-bar-menu::-webkit-scrollbar {
    width: 4px;
}
.sidebar-mini:not(:hover) .b-bar-menu::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
}
.sidebar-mini:not(:hover) .b-bar-menu::-webkit-scrollbar-track {
    background: transparent;
}

/* Hidden by default in expanded mode */
.mini-label {
    display: none !important;
}

/* Hide top-level toggle text, show only .mini-label */
.sidebar-mini:not(:hover) .b-bar-dropdown-toggle {
    font-size: 0 !important;
    padding: 4px 0 !important;
    text-align: center !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Show the mini-label letter in mini mode */
.sidebar-mini:not(:hover) .mini-label {
    display: block !important;
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 600 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
}

/* Hide dropdown carets/arrows */
.sidebar-mini:not(:hover) .b-bar-dropdown-toggle::after,
.sidebar-mini:not(:hover) .b-bar-dropdown-toggle::before {
    display: none !important;
}

/* But keep .mini-label visible (override the ::before hide above) */
.sidebar-mini:not(:hover) .b-bar-dropdown-toggle .mini-label {
    display: block !important;
}

/* Force ALL dropdown menus visible and inline */
.sidebar-mini:not(:hover) .b-bar-dropdown-menu {
    display: block !important;
    position: static !important;
    width: 50px !important;
    min-width: unset !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Force dropdown items visible and centered */
.sidebar-mini:not(:hover) .b-bar-dropdown-item {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 4px 0 !important;
    text-align: center !important;
    width: 50px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Force links visible and centered */
.sidebar-mini:not(:hover) .b-bar-link {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 2px 0 !important;
    text-align: center !important;
    width: 50px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Hide all text, close buttons, and collapse columns to just show icons */
.sidebar-mini:not(:hover) .dropdown-item-grid span {
    display: none !important;
}
.sidebar-mini:not(:hover) .dropdown-item-grid button {
    display: none !important;
}
.sidebar-mini:not(:hover) .dropdown-item-grid [class*="col-"] {
    display: contents !important;
}

/* Center icons */
.sidebar-mini:not(:hover) .dropdown-item-grid {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    grid-template-columns: unset !important;
    width: 50px !important;
}

/* Reduced icon size, remove icon padding (pe-lg-1 etc.) */
.sidebar-mini:not(:hover) .dropdown-item-grid i {
    font-size: 0.75rem !important;
    text-align: center !important;
    color: white !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

/* Show nested items (PHMAS sub-sections etc.) but compact */
.sidebar-mini:not(:hover) .b-bar-dropdown-menu .b-bar-item {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: 50px !important;
    line-height: 0 !important;
}

/* Hide nested sub-section toggles (Workflows, Membership, Reports, Debtors etc.) */
.sidebar-mini:not(:hover) .b-bar-dropdown-menu .b-bar-dropdown-toggle {
    display: none !important;
    border-bottom: none !important;
}

/* Hide expand/collapse button in mini mode */
.sidebar-mini:not(:hover) .menu-ec-btn {
    display: none !important;
}

/* Crop logo to icon emblem only */
.sidebar-mini:not(:hover) .b-bar-brand {
    width: 50px !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
}
.sidebar-mini:not(:hover) .b-bar-brand .b-bar-item {
    display: block !important;
    width: 50px !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.sidebar-mini:not(:hover) .b-bar-brand img {
    height: 36px !important;
    width: auto !important;
    object-fit: cover !important;
    object-position: left !important;
    max-width: none !important;
}

/* Hide version text */
.sidebar-mini:not(:hover) .b-bar-menu > p {
    display: none !important;
}
.caps-lock {
    margin-left: 140px;
    margin-top: 0px;
    font-size: 14px;
    color: #555;
}
.btn-forgot {
    border: none;
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 0.8rem !important;
}
.btn-change {
    border: none;
    border-radius: 4px;
    font-size: 0.8rem !important;
}
.web-edition-title {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 600;
    color: #003366;
}
.web-edition-subtitle {
    font-size: 13px;
    color: #777;
    margin-bottom: 20px;
}
.logo-container {
    text-align: center;
    margin-bottom: 6px;
}
.btn-forgot:hover {
    background-color: inherit; /* Keeps the original background color */
    color: inherit; /* Keeps the original text color */
    transition: none; /* Removes any transition effect */
}

/* PHMAS Login Modal Styles */
.phmas-logo-col {
    text-align: center;
    margin-bottom: 2px;
}

.reduced-phmas-logo {
    max-width: 150px;
    height: auto;
}

.phmas-alert {
    white-space: normal;
    padding: 10px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.phmas-change-password-link {
    margin-top: 8px;
}
.phmas-login-card {
    border-radius: 14px;
    width: 1000px !important;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.25);
    display: flex;
    flex-direction: row;
}

.login-panel {
    background: white;
}

.login-content {
    padding: 30px;
}

.login-subtitle {
    text-align: center;
    color: #6c757d;
    margin-bottom: 30px;
}

.phmas-logo {
    width: 90px;
}

.about-panel {
    background-color: #49A9B3 !important;
    color: white;
}

.about-content {
    padding-bottom: 10px;
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 30px;
}

.about-text {
    margin-top: 10px;
    margin-bottom: 0px;
    opacity: 0.9;
}

.version-badge {
    margin-top: 10px;
}

.release-date {
    font-size: 13px;
    opacity: 0.8;
    margin-bottom: 20px;
}

.whats-new {
    background: rgba(255,255,255,0.1);
    border: none;
}

    .whats-new p {
        margin-bottom: 10px;
    }

.about-footer {
    margin-top: 25px;
    font-size: 12px;
    opacity: 0.7;
}
.phmas-login-body{
    padding:0px;
}
.phmas-login-modal .modal-dialog {
    margin-left: 30vw !important;
}
.login-panel,
.about-panel {
    display: flex !important;
    flex-direction: column !important;
}

.form-group.ms-2.my-auto,
.col-auto.ms-auto.d-flex.flex-row.align-items-center.justify-content-end {
    font-size: 0.75rem !important;
}
/* ==================== MASDataGrid ==================== */
/* In-house grid (Components/GridsAndTables/MASDataGrid) — mirrors the
   Blazorise DataGrid look used across PHMAS: blue header bar, compact
   rows, bootstrap-style pager with page-size select and record range. */
.mas-datagrid .mas-datagrid-table {
    width: 100%;
    margin-bottom: 4px;
    border-collapse: collapse;
}

.mas-datagrid .mas-datagrid-table thead th {
    background: #6EA8C8;
    color: #ffffff;
    font-weight: 600;
    white-space: nowrap;
}

.mas-datagrid .mas-datagrid-sortable {
    cursor: pointer;
    user-select: none;
}

.mas-datagrid .mas-datagrid-sort-icon {
    margin-left: 4px;
    opacity: 0.85;
}

.mas-datagrid tbody tr {
    cursor: pointer;
    border-bottom: 1px solid #dee2e6;
}

.mas-datagrid tbody tr:hover {
    background: #f2f7fa;
}

.mas-datagrid tbody tr.mas-datagrid-selected {
    background: #e2eef5;
}

.mas-datagrid .mas-datagrid-empty {
    text-align: center;
}

.mas-datagrid .mas-datagrid-empty-text {
    font-size: 0.9rem;
    font-weight: bold;
    margin: 0;
    text-align: center;
}

.mas-datagrid .mas-datagrid-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 2px 0;
}

.mas-datagrid .mas-datagrid-pager-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mas-datagrid .mas-datagrid-pagination {
    margin: 0;
}

/* Compact pager buttons — match the Blazorise DataGrid footer: small bordered
   boxes, neutral text, tight padding; active page keeps the bootstrap primary. */
.mas-datagrid .mas-datagrid-pagination .page-link {
    font-size: 0.8rem !important;
    padding: 2px 8px !important;
    line-height: 1.4 !important;
    color: #212529;
    box-shadow: none;
}

.mas-datagrid .mas-datagrid-pagination .page-item.active .page-link {
    color: #ffffff;
}

.mas-datagrid .mas-datagrid-pagination .page-item.disabled .page-link {
    color: #6c757d;
}

.mas-datagrid .mas-datagrid-pagesize {
    width: auto;
    font-size: 0.8rem !important;
    padding: 2px 22px 2px 6px !important;
    height: 1.7rem !important;
}

.mas-datagrid .mas-datagrid-pager-label,
.mas-datagrid .mas-datagrid-pager-right {
    color: #212529;
    font-size: 0.8rem;
}

/* Row undo button — white background, red icon, no border. Shown only on
   rows added in the current session; persisted rows cannot be removed. */
.mas-undo-row-btn {
    background-color: #ffffff;
    color: #dc3545;
    border: none;
}

.mas-undo-row-btn:hover,
.mas-undo-row-btn:focus {
    background-color: #ffffff;
    color: #b02a37;
    box-shadow: none;
}
