/* CeFinance — Biophilic Calm Theme */

:root {
    --cf-sage-garden: #E2EAE4;
    --cf-sage-sidebar: #8FA898;
    --cf-sage-sidebar-border: #7A9284;
    --cf-sage-panel: #A5B8AB;
    --cf-sage-panel-border: #8FA898;
    --cf-terracotta: #D27E4E;
    --cf-soft-coral: #E9806E;
    --cf-pale-moss: #F1F5F2;
    --cf-alabaster: #FFFFFF;
    --cf-olive-charcoal: #2C3E35;
    --cf-sage-dark: #C8D5CC;
    --cf-terracotta-hover: #B86A3F;
    --cf-coral-hover: #D66F5E;
    --cf-terracotta-light: rgba(210, 126, 78, 0.16);
    --cf-terracotta-medium: rgba(210, 126, 78, 0.28);
    --cf-terracotta-ring: rgba(210, 126, 78, 0.32);
    --cf-sidebar-width: 13.75rem;
    --cf-topbar-height: 4rem;
    --cf-content-gutter: 1.25rem;
    --cf-form-max-width: min(100%, 48rem);
    --cf-form-max-width-wide: min(100%, 56rem);
    --cf-field-width: min(100%, 20rem);
    --cf-field-width-wide: min(100%, 36rem);
    --cf-field-width-extra-wide: min(100%, 56rem);
    --cf-field-width-narrow: min(100%, 12rem);
    --cf-field-width-code: min(100%, 10rem);
    --cf-field-width-textarea: min(36rem, 100%);
    --cf-select-label-max-lines: 3;
    --cf-select-extra-wide-max-lines: 2;
    --cf-select-chevron-padding: 2.75rem;
    /* Filament bg-custom-600 fallbacks (comma format for rgba(var(--c-*))) */
    --primary-400: 210, 142, 98;
    --primary-500: 210, 126, 78;
    --primary-600: 189, 113, 70;
    --success-400: 233, 142, 126;
    --success-500: 233, 128, 110;
    --success-600: 210, 115, 99;
    --info-400: 233, 142, 126;
    --info-500: 233, 128, 110;
    --info-600: 210, 115, 99;
    --warning-400: 233, 142, 126;
    --warning-500: 233, 128, 110;
    --warning-600: 210, 115, 99;
    --danger-400: 248, 113, 113;
    --danger-500: 239, 68, 68;
    --danger-600: 220, 38, 38;
    --c-400: var(--primary-400);
    --c-500: var(--primary-500);
    --c-600: var(--primary-600);
}

/* ─── Canvas & typography ─── */
body.fi-body[class*="fi-panel-"] {
    color: var(--cf-olive-charcoal);
    background-color: var(--cf-pale-moss) !important;
    --tw-ring-color: var(--cf-terracotta-ring) !important;
    /* Filament primary tokens — match Color::hex comma format for rgba(var(--c-*)) */
    --primary-50: 251, 243, 237;
    --primary-100: 245, 228, 214;
    --primary-200: 235, 205, 181;
    --primary-300: 224, 176, 143;
    --primary-400: 210, 142, 98;
    --primary-500: 210, 126, 78;
    --primary-600: 189, 113, 70;
    --primary-700: 153, 87, 52;
    --primary-800: 125, 71, 44;
    --primary-900: 102, 59, 38;
    --primary-950: 54, 30, 19;
    /* Fallback when button inline --c-* vars fail (bg-custom-600) */
    --c-400: var(--primary-400);
    --c-500: var(--primary-500);
    --c-600: var(--primary-600);
}

.fi-body[class*="fi-panel-"] .fi-main-ctn {
    background-color: var(--cf-pale-moss) !important;
    padding-top: var(--cf-topbar-height) !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Sidebar is fixed-left; drop Filament flex-row-reverse placement */
.fi-body[class*="fi-panel-"] .fi-layout {
    display: block !important;
    min-height: 100vh;
    overflow-x: visible !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-main-ctn {
    overflow-x: visible !important;
}

.fi-body[class*="fi-panel-"] .fi-page {
    overflow-x: visible !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-main {
    background-color: var(--cf-pale-moss) !important;
    padding-top: 1rem !important;
    padding-bottom: 1.5rem !important;
}

@media (min-width: 1024px) {
    .fi-body[class*="fi-panel-"] .fi-main {
        padding-left: calc(var(--sidebar-width, var(--cf-sidebar-width)) + var(--cf-content-gutter)) !important;
        padding-right: 1.5rem !important;
    }

    /* Sidebar fully collapsed — content uses full width, no reserved lane */
    .fi-body[class*="fi-panel-"] .fi-main-ctn:not(.fi-main-ctn-sidebar-open) .fi-main {
        padding-left: 1rem !important;
    }
}

.fi-body[class*="fi-panel-"],
.fi-body[class*="fi-panel-"] .fi-header-heading,
.fi-body[class*="fi-panel-"] .fi-ta-text,
.fi-body[class*="fi-panel-"] .fi-section-header-heading {
    color: var(--cf-olive-charcoal);
}

/* ─── Sidebar (compact Sage Garden) — fixed left, below full-width topbar ─── */
.fi-body[class*="fi-panel-"] .fi-main-sidebar.fi-sidebar,
.fi-body[class*="fi-panel-"] .fi-sidebar {
    position: fixed !important;
    top: var(--cf-topbar-height) !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: var(--sidebar-width, var(--cf-sidebar-width)) !important;
    height: calc(100vh - var(--cf-topbar-height)) !important;
    min-height: 0 !important;
    max-height: none !important;
    z-index: 30 !important;
    background-color: var(--cf-sage-sidebar) !important;
    border-right: 1px solid var(--cf-sage-sidebar-border) !important;
    box-shadow: 2px 0 10px rgba(44, 62, 53, 0.08) !important;
}

@media (min-width: 1024px) {
    .fi-body[class*="fi-panel-"] .fi-main-sidebar.fi-sidebar.fi-sidebar-open,
    .fi-body[class*="fi-panel-"] .fi-sidebar.fi-sidebar-open {
        transform: translateX(0) !important;
    }
}

/* Remove Filament sidebar header row (logo slot + collapse chevron) */
.fi-body[class*="fi-panel-"] .fi-main-sidebar > .overflow-x-clip,
.fi-body[class*="fi-panel-"] .fi-sidebar > .overflow-x-clip {
    display: none !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-header {
    display: none !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-open .fi-sidebar-header,
.fi-body[class*="fi-panel-"] .fi-sidebar-close .fi-sidebar-header {
    display: none !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-nav {
    padding: 0.75rem 0.625rem 1rem !important;
    gap: 0.2rem !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-item-button {
    padding: 0.5rem 0.75rem !important;
    border-radius: 0.5rem !important;
    color: var(--cf-olive-charcoal) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    gap: 0.5rem !important;
    align-items: flex-start !important;
    min-height: 2.25rem !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-item-label {
    white-space: normal !important;
    line-height: 1.3 !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-item-button:hover {
    background-color: rgba(255, 255, 255, 0.35) !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-item-active .fi-sidebar-item-button {
    background-color: rgba(255, 255, 255, 0.55) !important;
    color: var(--cf-terracotta) !important;
    font-weight: 600 !important;
    box-shadow: inset 3px 0 0 var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-item-active .fi-sidebar-item-icon {
    color: var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-group-label {
    color: rgba(44, 62, 53, 0.65) !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.06em !important;
    padding-left: 0.75rem !important;
    line-height: 1.35 !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-item-icon {
    width: 1.125rem !important;
    height: 1.125rem !important;
}

/* ─── Topbar — full width edge to edge (above sidebar + content) ─── */
.fi-body[class*="fi-panel-"] .fi-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    z-index: 50 !important;
    background-color: var(--cf-alabaster) !important;
    border-bottom: 1px solid var(--cf-sage-dark) !important;
    box-shadow: 0 1px 3px rgba(44, 62, 53, 0.06) !important;
    min-height: var(--cf-topbar-height) !important;
    --tw-ring-width: 0 !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}

.fi-body[class*="fi-panel-"] .fi-topbar nav {
    position: relative;
    width: 100% !important;
    min-height: var(--cf-topbar-height);
    background-color: var(--cf-alabaster) !important;
    box-shadow: none !important;
    border: none !important;
    --tw-ring-width: 0px !important;
    --tw-ring-offset-width: 0px !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
    --tw-shadow-colored: 0 0 #0000 !important;
}

.fi-body[class*="fi-panel-"] .fi-sidebar-close-overlay {
    top: var(--cf-topbar-height) !important;
}

.cefinance-topbar-brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding-right: 1rem;
}

.cefinance-topbar-brand img {
    height: 2.25rem;
    width: auto;
}

.cefinance-topbar-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 1rem;
    font-weight: 600;
    color: var(--cf-olive-charcoal);
    letter-spacing: 0.01em;
    white-space: nowrap;
    pointer-events: none;
}

/* Legacy hook class names */
.cefinance-topbar-left {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding-right: 1rem;
}

.cefinance-topbar-left img {
    height: 2.25rem;
    width: auto;
}

@media (max-width: 768px) {
    .cefinance-topbar-center {
        font-size: 0.875rem;
        max-width: 50%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .cefinance-topbar-welcome {
        font-size: 0.8125rem;
        max-width: 9rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

.cefinance-topbar-welcome {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--cf-olive-charcoal);
    white-space: nowrap;
    line-height: 1.25;
}

.cefinance-topbar-welcome-name {
    font-weight: 600;
}

/* ─── Surface cards (Alabaster) — stats/widgets only; not form group wrappers ─── */
.fi-body[class*="fi-panel-"] .fi-wi-stats-overview-stat {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid rgba(200, 213, 204, 0.85) !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04) !important;
}

/* ─── Flat structural chrome — strip Filament ring/box wrappers (keep inputs + data tables) ─── */
.fi-body[class*="fi-panel-"] .fi-section,
.fi-body[class*="fi-panel-"] .fi-fieldset,
.fi-body[class*="fi-panel-"] .fi-ta-ctn,
.fi-body[class*="fi-panel-"] .fi-section-content-ctn,
.fi-body[class*="fi-panel-"] .fi-section-content,
.fi-body[class*="fi-panel-"] .fi-ta-header-ctn,
.fi-body[class*="fi-panel-"] .fi-ta-filters,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn,
.fi-body[class*="fi-panel-"] .fi-ta-filters-below-content,
.fi-body[class*="fi-panel-"] .fi-ta-filters-modal,
.fi-body[class*="fi-panel-"] .fi-ta-filters-dropdown,
.fi-body[class*="fi-panel-"] .fi-form,
.fi-body[class*="fi-panel-"] .fi-infolist,
.fi-body[class*="fi-panel-"] .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp,
.fi-body[class*="fi-panel-"] .fi-infolist .fi-in-entry-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-section,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fieldset,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-ta-ctn,
.fi-body[class*="fi-panel-"] .fi-tabs.fi-contained,
.fi-body[class*="fi-panel-"] .fi-wi-widget .fi-section:not(.fi-wi-stats-overview-stat),
.fi-simple-layout .fi-section,
.fi-simple-layout .fi-fieldset {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    --tw-ring-width: 0px !important;
    --tw-ring-offset-width: 0px !important;
    --tw-ring-color: transparent !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
    --tw-shadow-colored: 0 0 #0000 !important;
}

.fi-body[class*="fi-panel-"] .fi-section,
.fi-simple-layout .fi-section,
.fi-body[class*="fi-panel-"] .fi-fieldset,
.fi-simple-layout .fi-fieldset {
    padding: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-section .fi-section-content,
.fi-body[class*="fi-panel-"] .fi-section-content-ctn,
.fi-simple-layout .fi-section .fi-section-content,
.fi-simple-layout .fi-section-content-ctn {
    padding: 0 !important;
    border-top: none !important;
}

.fi-body[class*="fi-panel-"] .fi-section-header,
.fi-simple-layout .fi-section-header {
    padding: 0 0 0.75rem 0 !important;
    margin-bottom: 0.25rem !important;
    border-bottom: 1px solid rgba(200, 213, 204, 0.45) !important;
    background: transparent !important;
}

.fi-body[class*="fi-panel-"] .fi-fieldset legend,
.fi-simple-layout .fi-fieldset legend {
    padding-left: 0 !important;
    margin-bottom: 0.5rem !important;
}

/* Table shell: filters/header sit on canvas; one card wraps toolbar + rows + pagination only */
.fi-body[class*="fi-panel-"] .fi-ta-ctn {
    overflow: visible !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-ctn > * + *,
.fi-body[class*="fi-panel-"] .fi-ta-header-ctn > * + * {
    border-top: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-ctn > :not(.fi-ta-filters-above-content-ctn) {
    border-color: transparent !important;
}

.fi-body[class*="fi-panel-"] .fi-section-header-heading {
    font-weight: 600 !important;
}

.fi-body[class*="fi-panel-"] .fi-section-description {
    color: rgba(44, 62, 53, 0.65) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar,
.fi-body[class*="fi-panel-"] .fi-ta-content,
.fi-body[class*="fi-panel-"] .fi-ta-pagination,
.fi-body[class*="fi-panel-"] .fi-ta-filter-indicators {
    background-color: var(--cf-alabaster) !important;
    border-left: none !important;
    border-right: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar {
    border-top: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-filter-indicators {
    display: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-content {
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-pagination {
    border-top: none !important;
    border-bottom: none !important;
    border-radius: 0 0 0.75rem 0.75rem !important;
    box-shadow: none !important;
}

/* Table card — rounded border; allow filter dropdowns to escape header */
.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.fi-ta-header-ctn) {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid var(--cf-sage-panel-border) !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04) !important;
    overflow: visible !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.fi-ta-header-ctn) .fi-ta-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 0 0 0.75rem 0.75rem;
}

.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.fi-ta-header-ctn) .fi-ta-header-ctn {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.fi-ta-header-ctn) .fi-ta-content,
.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.fi-ta-header-ctn) .fi-ta-pagination {
    border-left: none !important;
    border-right: none !important;
}

/* Search-only tables without a separate toolbar row */
.fi-body[class*="fi-panel-"] .fi-ta-content.border-t,
.fi-body[class*="fi-panel-"] .fi-ta-content[class*="border-t"] {
    border-top: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Nested sections: divider only, never a second card */
.fi-body[class*="fi-panel-"] .fi-section .fi-section {
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid rgba(200, 213, 204, 0.35) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: 0.75rem !important;
    padding-top: 0.75rem !important;
}

/* Repeater / builder blocks — flat rows, not nested Filament cards */
.fi-body[class*="fi-panel-"] .fi-fo-repeater-item,
.fi-body[class*="fi-panel-"] .fi-fo-builder-item {
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid rgba(200, 213, 204, 0.35) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    --tw-ring-width: 0px !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
}

/* Sticky form footer — no extra Filament frame */
.fi-body[class*="fi-panel-"] .fi-form-actions {
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    --tw-ring-width: 0px !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}

/* Inputs: single clean outline — suppress Filament ring/shadow so only one frame shows */
.fi-body[class*="fi-panel-"] .fi-input-wrp,
.fi-simple-layout .fi-input-wrp {
    --tw-ring-width: 0 !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
    box-shadow: none !important;
}

/* Inner controls never draw their own frame — wrapper or Choices inner box only */
.fi-body[class*="fi-panel-"] .fi-input-wrp .fi-select-input,
.fi-body[class*="fi-panel-"] .fi-input-wrp select,
.fi-body[class*="fi-panel-"] .fi-input-wrp input:not([type="checkbox"]):not([type="radio"]),
.fi-body[class*="fi-panel-"] .fi-input-wrp textarea,
.fi-simple-layout .fi-input-wrp .fi-select-input,
.fi-simple-layout .fi-input-wrp select,
.fi-simple-layout .fi-input-wrp input:not([type="checkbox"]):not([type="radio"]),
.fi-simple-layout .fi-input-wrp textarea {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.fi-body[class*="fi-panel-"] .fi-input-wrp:not(.fi-fo-select),
.fi-body[class*="fi-panel-"] .fi-fo-textarea .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-select-native .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-select .choices__inner,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices__inner,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .choices__inner,
.fi-simple-layout .fi-fo-select .choices__inner {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid rgba(200, 213, 204, 0.9) !important;
    border-radius: 0.5rem !important;
}

/* Choices.js selects — wrapper is chrome-free; inner box carries the border */
.fi-body[class*="fi-panel-"] .fi-fo-select.fi-input-wrp,
.fi-simple-layout .fi-fo-select.fi-input-wrp {
    width: var(--cf-field-width) !important;
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    --tw-ring-width: 0 !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-form .fi-fo-select.fi-input-wrp .fi-input-wrp-input {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* Wide / filter selects — always fill allocated width (not shrink to placeholder) */
.fi-body[class*="fi-panel-"] .cefinance-select-wide .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-district .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="budget_head_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_allocation_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-select-wide .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-district .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-program .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_id"]) .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_allocation_id"]) .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-select.fi-input-wrp .fi-input-wrp-input {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-select-wide .choices,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-district .choices,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="program_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_allocation_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="budget_head"]) .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="purpose_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="beneficiary"]) .choices,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="sponsor"]) .choices,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-select.fi-input-wrp .choices,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .choices,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .choices {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-select-wide .choices__inner,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-district .choices__inner,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-program .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="program_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_allocation_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="budget_head"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="purpose_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="beneficiary"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="sponsor"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-select.fi-input-wrp .choices__inner,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .choices__inner,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices__inner,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .choices__inner {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-select-wide .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-district .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .cefinance-filter-field-program .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="budget_head_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="budget_head"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp:has([id*="district_allocation_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .choices__list--single .choices__item {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: var(--cf-select-label-max-lines) !important;
    white-space: normal !important;
    overflow: hidden !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    text-overflow: unset !important;
}

.fi-body[class*="fi-panel-"] .fi-fo-select.fi-input-wrp .choices,
.fi-simple-layout .fi-fo-select.fi-input-wrp .choices {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-input-wrp:not(.fi-fo-select):focus-within,
.fi-body[class*="fi-panel-"] .fi-fo-textarea .fi-input-wrp:focus-within,
.fi-body[class*="fi-panel-"] .fi-fo-date-time-picker .fi-input-wrp:focus-within,
.fi-body[class*="fi-panel-"] .fi-fo-select-native .fi-input-wrp:focus-within,
.fi-body[class*="fi-panel-"] .fi-pagination-records-per-page-select .fi-input-wrp:focus-within,
.fi-body[class*="fi-panel-"] .fi-ta-search-field .fi-input-wrp:focus-within,
.fi-body[class*="fi-panel-"] .fi-fo-select .choices.is-focused .choices__inner,
.fi-body[class*="fi-panel-"] .fi-fo-select .choices.is-open .choices__inner,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices.is-focused .choices__inner,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices.is-open .choices__inner,
.fi-simple-layout .fi-fo-select .choices.is-focused .choices__inner,
.fi-simple-layout .fi-fo-select .choices.is-open .choices__inner {
    border-color: var(--cf-terracotta) !important;
    box-shadow: 0 0 0 2px var(--cf-terracotta-light) !important;
    --tw-ring-width: 0px !important;
    --tw-ring-color: rgb(210 126 78 / 0.45) !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}

.fi-body[class*="fi-panel-"] .fi-disabled .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-input-wrp.fi-disabled {
    background-color: rgba(241, 245, 242, 0.8) !important;
    border-color: rgba(200, 213, 204, 0.6) !important;
}

/* Modals & slide-overs: rely on modal chrome, not inner cards */
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-section,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-section {
    border: none !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-modal-window .fi-section-header,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-section-header {
    border-bottom: none !important;
    padding-bottom: 0.25rem !important;
}

.fi-body[class*="fi-panel-"] .fi-header {
    margin-bottom: 0.75rem !important;
}

/* ─── Page header: title left, create/actions top-right ─── */
.fi-body[class*="fi-panel-"] .fi-header {
    align-items: center !important;
    overflow: visible !important;
    gap: 1rem !important;
}

.fi-body[class*="fi-panel-"] .fi-header > div:last-child,
.fi-body[class*="fi-panel-"] .fi-header .fi-ac {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    flex-shrink: 0 !important;
    max-width: 100% !important;
}

/* New / Create header buttons — terracotta primary */
.fi-body[class*="fi-panel-"] .fi-header .fi-ac-btn-action,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-color-primary {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-primary,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] a.fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] a.fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined) {
    --c-400: 210, 142, 98 !important;
    --c-500: 210, 126, 78 !important;
    --c-600: 189, 113, 70 !important;
    background-color: var(--cf-terracotta) !important;
    background-image: none !important;
    border: 1px solid var(--cf-terracotta) !important;
    color: #fff !important;
    --tw-ring-color: rgb(210 126 78 / 0.45) !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.1) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-primary:hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] a.fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] a.fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover {
    background-color: var(--cf-terracotta-hover) !important;
    border-color: var(--cf-terracotta-hover) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-header .fi-btn .fi-btn-icon,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary .fi-btn-icon,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-primary .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-primary .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary .fi-btn-label {
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-outlined.fi-btn-color-primary,
.fi-body[class*="fi-panel-"] .fi-btn.fi-outlined.fi-btn-color-primary {
    background-color: transparent !important;
    border-color: var(--cf-terracotta) !important;
    color: var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-outlined.fi-btn-color-primary:hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-outlined.fi-btn-color-primary:hover {
    background-color: var(--cf-terracotta-light) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-success,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-info,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-warning,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-success:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-info:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-warning:not(.fi-btn-outlined):not(.fi-outlined) {
    background-color: var(--cf-soft-coral) !important;
    background-image: none !important;
    border: 1px solid var(--cf-soft-coral) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-success:hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-info:hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-warning:hover {
    background-color: var(--cf-coral-hover) !important;
    border-color: var(--cf-coral-hover) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-danger,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-danger:not(.fi-btn-outlined):not(.fi-outlined) {
    background-color: #DC2626 !important;
    background-image: none !important;
    border: 1px solid #DC2626 !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-danger:hover {
    background-color: #B91C1C !important;
    border-color: #B91C1C !important;
}

/* Detached controls panel (filters + search/columns) above the table card */
.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.cefinance-table-controls) {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-controls {
    margin-bottom: 0.75rem;
    background-color: var(--cf-alabaster) !important;
    border: 1px solid var(--cf-sage-panel-border) !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04) !important;
    overflow: visible !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-controls .fi-ta-filters-above-content-ctn {
    order: 1;
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-controls .cefinance-table-toolbar {
    order: 2;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.625rem 1rem !important;
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid rgba(200, 213, 204, 0.35) !important;
    border-radius: 0 0 0.75rem 0.75rem !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-controls:not(:has(.fi-ta-filters-above-content-ctn)) .cefinance-table-toolbar {
    border-top: none !important;
    border-radius: 0.75rem !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.cefinance-table-controls) .fi-ta-content {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid var(--cf-sage-panel-border) !important;
    border-radius: 0.75rem 0.75rem 0 0 !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.cefinance-table-controls) .fi-ta-pagination {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid var(--cf-sage-panel-border) !important;
    border-top: none !important;
    border-radius: 0 0 0.75rem 0.75rem !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04) !important;
}

/* Table toolbar: search (left) + columns (right) inside controls panel */
.fi-body[class*="fi-panel-"] .fi-ta-header-ctn {
    display: flex;
    flex-direction: column;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-ctn > * + * {
    border-top: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-ctn.divide-y > :not([hidden]) ~ :not([hidden]) {
    border-top-width: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn {
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar {
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.75rem !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-ctn:has(.fi-ta-filters-above-content-ctn) + .fi-ta-content,
.fi-body[class*="fi-panel-"] .fi-ta-header-ctn:has(.fi-ta-filters-above-content-ctn) ~ .fi-ta-content,
.fi-body[class*="fi-panel-"] .fi-ta-ctn:has(.cefinance-table-controls) .fi-ta-content {
    border-top: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-toolbar > div:first-child:not(:has(.fi-ac-btn-action)) {
    display: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-toolbar-actions,
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar > .ms-auto.flex,
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar > .flex.ms-auto {
    width: 100%;
    margin-left: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between !important;
    align-items: center;
    gap: 0.75rem;
}

.fi-body[class*="fi-panel-"] .fi-ta-search-field {
    flex: 1 1 14rem;
    max-width: 22rem;
    order: 1;
}

.fi-body[class*="fi-panel-"] .fi-ta-col-toggle-trigger {
    flex-shrink: 0;
    order: 2;
    margin-left: auto;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters,
.fi-body[class*="fi-panel-"] .fi-ta-filters-below-content {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Filter panel — top section of detached controls card */
.fi-body[class*="fi-panel-"] .cefinance-filters-panel {
    padding: 0.875rem 1rem 1rem !important;
    gap: 0 !important;
    border-bottom: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-table-controls:has(.cefinance-table-toolbar) .cefinance-filters-panel {
    border-bottom: 1px solid rgba(200, 213, 204, 0.35) !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0;
    border-bottom: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-title {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(44, 62, 53, 0.65);
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields {
    width: 100%;
}

/* Root filter row — composite filter groups use full width */
.fi-body[class*="fi-panel-"] .cefinance-filters-fields > .fi-form > .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields > .fi-fo-component-ctn {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)) !important;
    gap: 0.75rem 1rem !important;
    align-items: end !important;
    justify-items: stretch !important;
    width: 100%;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields > .fi-form > .fi-fo-component-ctn > div,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields > .fi-fo-component-ctn > div {
    grid-column: 1 / -1 !important;
    min-width: 0;
    width: 100%;
}

/* Hierarchy filter grid — flex layout (Choices.js fields have no wire:model attribute) */
.fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 0.75rem 1rem !important;
    width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div:has(.cefinance-filter-field-compact),
.fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div:has(.cefinance-filter-field-text),
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) > div:has(.cefinance-filter-field-compact) {
    flex: 1 1 10rem !important;
    min-width: 10rem !important;
    max-width: calc(33.333% - 0.75rem) !important;
    width: auto !important;
}

.fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div:has(.cefinance-filter-field-district),
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) > div:has(.cefinance-filter-field-district) {
    flex: 2.5 1 18rem !important;
    min-width: 18rem !important;
    max-width: none !important;
    width: auto !important;
}

.fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div:has(.cefinance-filter-field-program),
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) > div:has(.cefinance-filter-field-program) {
    flex: 1 1 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

@media (max-width: 1023px) {
    .fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div,
    .fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) > div {
        flex: 1 1 calc(50% - 0.5rem) !important;
        min-width: calc(50% - 0.5rem) !important;
        max-width: calc(50% - 0.5rem) !important;
    }

    .fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div:has(.cefinance-filter-field-program),
    .fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) > div:has(.cefinance-filter-field-program) {
        flex: 1 1 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 639px) {
    .fi-body[class*="fi-panel-"] .cefinance-hierarchy-filter-grid .fi-fo-component-ctn > div,
    .fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn:has(.cefinance-filter-field-program) > div {
        flex: 1 1 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-component-ctn .fi-fo-component-ctn {
    gap: 0.75rem 1rem !important;
    align-items: end !important;
    width: 100%;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields [class*="col-[--col-span"] {
    min-width: 0;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0;
    width: 100%;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fieldset legend:empty,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fieldset:has(legend:empty) legend {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-actions {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-actions .fi-link {
    color: var(--cf-terracotta) !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    white-space: nowrap;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-actions .fi-link:hover {
    color: var(--cf-terracotta-hover) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fieldset legend,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fieldset legend,
.fi-body[class*="fi-panel-"] .fi-ta-filters-below-content .fi-fieldset legend {
    margin: 0 0 0.375rem 0 !important;
    padding: 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: var(--cf-olive-charcoal) !important;
}

/* Selects & dropdowns — terracotta highlight (not browser/Filament blue) */
.fi-body[class*="fi-panel-"] select,
.fi-body[class*="fi-panel-"] .fi-ta-filters select,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn select,
.fi-body[class*="fi-panel-"] .fi-ta-filters-below-content select {
    color: var(--cf-olive-charcoal) !important;
    accent-color: var(--cf-terracotta) !important;
    color-scheme: light;
}

/* Native option list fallback (when native selects remain) */
.fi-body[class*="fi-panel-"] select option:checked,
.fi-body[class*="fi-panel-"] select option:hover,
.fi-body[class*="fi-panel-"] select option:focus {
    background: linear-gradient(0deg, var(--cf-terracotta-medium), var(--cf-terracotta-medium)) !important;
    background-color: #E8C9B0 !important;
    color: var(--cf-olive-charcoal) !important;
}

/* Choices.js — filter & form selects (native(false)) */
.fi-body[class*="fi-panel-"] .choices[data-type="select-one"] .choices__button,
.fi-body[class*="fi-panel-"] .choices[data-type*="select-one"] .choices__button,
.fi-simple-layout .choices[data-type="select-one"] .choices__button,
.fi-simple-layout .choices[data-type*="select-one"] .choices__button {
    display: none !important;
}

.fi-body[class*="fi-panel-"] .choices[data-type="select-one"] .choices__inner,
.fi-body[class*="fi-panel-"] .choices[data-type*="select-one"] .choices__inner,
.fi-simple-layout .choices[data-type="select-one"] .choices__inner,
.fi-simple-layout .choices[data-type*="select-one"] .choices__inner {
    padding-right: var(--cf-select-chevron-padding) !important;
    min-height: 2.375rem !important;
    height: auto !important;
}

.fi-body[class*="fi-panel-"] .choices.is-open {
    z-index: 80 !important;
}

.fi-body[class*="fi-panel-"] .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .choices__list[aria-expanded] {
    border-color: rgba(200, 213, 204, 0.9) !important;
    border-radius: 0.5rem !important;
    z-index: 90 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn,
.fi-body[class*="fi-panel-"] .fi-ta-filters,
.fi-body[class*="fi-panel-"] .fi-ta-header-ctn {
    overflow: visible !important;
    position: relative;
    z-index: 40;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-ta-filters .choices__list[aria-expanded] {
    z-index: 200 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-content {
    position: relative;
    z-index: 0;
}

.fi-body[class*="fi-panel-"] .fi-ta-content thead,
.fi-body[class*="fi-panel-"] .fi-ta-content .fi-ta-header-cell {
    z-index: 0 !important;
}

.fi-body[class*="fi-panel-"] .choices__list--dropdown .choices__item--selectable.is-highlighted,
.fi-body[class*="fi-panel-"] .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background-color: var(--cf-terracotta-light) !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .choices__list--dropdown .choices__item--selectable.is-selected,
.fi-body[class*="fi-panel-"] .choices__list[aria-expanded] .choices__item--selectable.is-selected {
    background-color: var(--cf-terracotta-medium) !important;
    color: var(--cf-olive-charcoal) !important;
    font-weight: 600 !important;
}

.fi-body[class*="fi-panel-"] .choices__list--dropdown .choices__item--selectable.is-selected.is-highlighted,
.fi-body[class*="fi-panel-"] .choices__list[aria-expanded] .choices__item--selectable.is-selected.is-highlighted {
    background-color: rgba(210, 126, 78, 0.36) !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .choices__list--single .choices__item {
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .choices.is-open .choices__inner,
.fi-body[class*="fi-panel-"] .choices.is-focused .choices__inner {
    border-color: var(--cf-terracotta) !important;
    box-shadow: 0 0 0 2px var(--cf-terracotta-light) !important;
}

/* Filament dropdown panels (user menu, columns, actions) */
.fi-body[class*="fi-panel-"] .fi-dropdown-panel .fi-dropdown-list-item:hover,
.fi-body[class*="fi-panel-"] .fi-dropdown-list-item:hover {
    background-color: var(--cf-terracotta-light) !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-dropdown-panel .fi-dropdown-list-item.fi-color-primary,
.fi-body[class*="fi-panel-"] .fi-dropdown-list-item.fi-active,
.fi-body[class*="fi-panel-"] .fi-dropdown-list-item.fi-selected {
    background-color: var(--cf-terracotta-medium) !important;
    color: var(--cf-olive-charcoal) !important;
}

/* Column manager & multi-select checkmarks */
.fi-body[class*="fi-panel-"] .fi-dropdown-list-item .fi-icon-btn.fi-color-primary,
.fi-body[class*="fi-panel-"] .fi-fo-checkbox-list-option-label input:checked + div {
    color: var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-table thead th,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell {
    background-color: var(--cf-sage-panel) !important;
    color: var(--cf-olive-charcoal) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--cf-sage-panel-border) !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Column dividers — header & body */
.fi-body[class*="fi-panel-"] .fi-ta-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.fi-body[class*="fi-panel-"] .fi-ta-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: auto;
    width: max-content;
    min-width: 100%;
}

.fi-body[class*="fi-panel-"] .fi-ta-cell {
    overflow: visible;
    vertical-align: top !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-actions-header-cell,
.fi-body[class*="fi-panel-"] .fi-ta-actions-cell {
    position: sticky !important;
    right: 0;
    z-index: 2;
    min-width: 12rem;
    width: auto !important;
    background-color: var(--cf-alabaster) !important;
    box-shadow: -6px 0 10px -8px rgba(44, 62, 53, 0.28);
}

.fi-body[class*="fi-panel-"] .fi-ta-actions {
    flex-wrap: wrap !important;
    gap: 0.35rem 0.5rem !important;
    justify-content: flex-end !important;
}

.fi-body[class*="fi-panel-"] thead .fi-ta-actions-header-cell {
    background-color: var(--cf-sage-panel) !important;
    z-index: 3;
}

.fi-body[class*="fi-panel-"] .fi-ta-row:nth-child(even) .fi-ta-actions-cell {
    background-color: rgba(241, 245, 242, 0.98) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-row:hover .fi-ta-actions-cell {
    background-color: rgba(226, 234, 228, 0.98) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-table thead th:not(:last-child),
.fi-body[class*="fi-panel-"] .fi-ta-header-cell:not(:last-child) {
    border-right: 1px solid var(--cf-sage-sidebar-border) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-cell:not(:last-child) {
    border-right: 1px solid rgba(143, 168, 152, 0.4) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-row:not(:last-child) .fi-ta-cell {
    border-bottom: 1px solid rgba(143, 168, 152, 0.22) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-row:hover {
    background-color: rgba(226, 234, 228, 0.35) !important;
}

/* ─── Widgets ─── */
.fi-body[class*="fi-panel-"] .fi-wi-stats-overview-stat-value {
    color: var(--cf-olive-charcoal) !important;
}

/* ─── Financial reports & custom cards ─── */
.cefinance-card {
    background-color: var(--cf-alabaster);
    border: 1px solid rgba(200, 213, 204, 0.85);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04);
}

.cefinance-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--cf-sage-panel-border);
    background-color: var(--cf-sage-panel);
    border-radius: 0.75rem 0.75rem 0 0;
}

.cefinance-card-header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.cefinance-table thead {
    background-color: var(--cf-sage-panel);
}

.cefinance-table th {
    background-color: var(--cf-sage-panel);
    border-bottom: 1px solid var(--cf-sage-panel-border);
    color: var(--cf-olive-charcoal);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.3;
    vertical-align: bottom;
}

.cefinance-table th:not(:last-child),
.cefinance-table td:not(:last-child) {
    border-right: 1px solid rgba(143, 168, 152, 0.4);
}

.cefinance-table td {
    color: var(--cf-olive-charcoal);
    text-align: center;
    border-bottom: 1px solid rgba(143, 168, 152, 0.22);
}

/* Programs list — head particulars detail row aligned with main table header */
.fi-body[class*="fi-panel-"] .cefinance-program-detail-row {
    background-color: var(--cf-alabaster) !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-detail-row:hover {
    background-color: var(--cf-alabaster) !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-detail-cell {
    padding: 0 !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(143, 168, 152, 0.22) !important;
    vertical-align: top !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table-wrap {
    width: 100%;
    margin: 0;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table thead th {
    background-color: var(--cf-sage-panel) !important;
    border-bottom: 1px solid var(--cf-sage-panel-border) !important;
    color: var(--cf-olive-charcoal) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    padding: 0.625rem 0.75rem !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table thead th:not(:last-child) {
    border-right: 1px solid var(--cf-sage-sidebar-border) !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table tfoot .cefinance-program-head-total-row th,
.fi-body[class*="fi-panel-"] .cefinance-program-head-table tfoot .cefinance-program-head-total-row td {
    background-color: rgba(244, 247, 245, 0.95) !important;
    border-top: 2px solid var(--cf-sage-panel-border) !important;
    font-size: 0.875rem !important;
    padding: 0.625rem 0.75rem !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table tbody .cefinance-program-head-subtotal-row th,
.fi-body[class*="fi-panel-"] .cefinance-program-head-table tbody .cefinance-program-head-subtotal-row td {
    background-color: rgba(244, 247, 245, 0.7) !important;
    border-top: 2px solid var(--cf-sage-panel-border) !important;
    font-size: 0.875rem !important;
    padding: 0.625rem 0.75rem !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table tbody .cefinance-program-head-subtotal-row th {
    font-weight: 600 !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table tfoot .cefinance-program-head-total-row th {
    font-weight: 600 !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table td {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.875rem !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table td:first-child {
    text-align: left !important;
    width: 40%;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-name-cell {
    min-width: 14rem;
    white-space: normal !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-title {
    color: var(--cf-olive-charcoal);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-subitems {
    margin-top: 0.35rem;
    color: rgba(44, 62, 53, 0.72);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
}

.fi-body[class*="fi-panel-"] .cefinance-program-head-table td:not(:first-child) {
    text-align: right !important;
}

.fi-body[class*="fi-panel-"] .cefinance-program-details-expandable {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.75rem 0;
}

.fi-body[class*="fi-panel-"] .cefinance-program-details-heading {
    margin: 0 0 0.5rem;
    padding: 0 0.75rem;
    color: var(--cf-olive-charcoal);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}


/* Programs list — horizontal scroll and sticky actions column */
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs table.fi-ta-table {
    table-layout: auto;
    width: max-content;
    min-width: 100%;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-cell {
    overflow: visible;
    vertical-align: top !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-actions-header-cell,
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-actions-cell {
    position: sticky !important;
    right: 0;
    z-index: 2;
    min-width: 10.5rem;
    width: auto !important;
    background-color: var(--cf-alabaster) !important;
    box-shadow: -6px 0 10px -8px rgba(44, 62, 53, 0.28);
}

.fi-body[class*="fi-panel-"] .fi-resource-programs thead .fi-ta-actions-header-cell {
    background-color: var(--cf-sage-panel) !important;
    z-index: 3;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-row:nth-child(even) .fi-ta-actions-cell {
    background-color: rgba(241, 245, 242, 0.98) !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-row:hover .fi-ta-actions-cell {
    background-color: rgba(226, 234, 228, 0.98) !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-name-col,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-name-col .fi-ta-col-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-name-col .fi-ta-text,
.fi-body[class*="fi-panel-"] .fi-resource-programs th.cefinance-program-name-col,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-sponsor-col,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-sponsor-col .fi-ta-col-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-programs th.cefinance-program-sponsor-col,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-district-col,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-district-col .fi-ta-col-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-programs th.cefinance-program-district-col {
    text-align: left !important;
    justify-content: flex-start !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-name-col .fi-ta-text-item,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-sponsor-col .fi-ta-text-item {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-district-col .fi-badge {
    max-width: 100%;
    white-space: normal !important;
    text-align: left !important;
    line-height: 1.35 !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-amount-col,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-amount-col .fi-ta-col-wrp {
    text-align: right !important;
    justify-content: flex-end !important;
    white-space: nowrap !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs th.cefinance-program-amount-col {
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-name-col {
    min-width: 14rem;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-district-col {
    min-width: 10rem;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-sponsor-col {
    min-width: 9rem;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-amount-col {
    min-width: 8rem;
    white-space: nowrap;
}

/* Programs list — actions in two rows: View/Edit, then Delete/Show allocations */
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-actions {
    display: grid !important;
    grid-template-columns: repeat(2, max-content);
    gap: 0.35rem 0.85rem !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: max-content;
    margin-inline: auto;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-ta-actions-cell {
    vertical-align: top !important;
    white-space: nowrap;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-action-slot-1 {
    grid-column: 1;
    grid-row: 1;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-action-slot-2 {
    grid-column: 2;
    grid-row: 1;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-action-slot-3 {
    grid-column: 1;
    grid-row: 2;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-program-action-slot-4 {
    grid-column: 2;
    grid-row: 2;
}

/* Budget Heads relation manager — prevent column text collision */
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-resource-relation-manager table.fi-ta-table {
    table-layout: auto;
    width: max-content;
    min-width: 56rem;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-name-col {
    width: 34%;
    min-width: 14rem;
    text-align: left !important;
    vertical-align: top !important;
    white-space: normal !important;
    word-break: break-word !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-name-col .fi-ta-col-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-name-col .fi-ta-text {
    text-align: left !important;
    justify-content: flex-start !important;
    white-space: normal !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-amount-col {
    width: 14%;
    min-width: 8.5rem;
    text-align: right !important;
    white-space: normal !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-amount-col .fi-ta-col-wrp {
    text-align: right !important;
    justify-content: flex-end !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-purposes-col {
    width: 42%;
    min-width: 12rem;
    text-align: left !important;
    vertical-align: top !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .cefinance-budget-head-purposes-col .fi-ta-col-wrp {
    text-align: left !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
}

.cefinance-label {
    color: var(--cf-olive-charcoal);
    font-weight: 500;
    font-size: 0.875rem;
}

.cefinance-input {
    border: 1px solid rgba(200, 213, 204, 0.9);
    border-radius: 0.5rem;
    color: var(--cf-olive-charcoal);
    background-color: var(--cf-alabaster);
    accent-color: var(--cf-terracotta);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.cefinance-input:focus {
    border-color: var(--cf-terracotta);
    outline: none;
    box-shadow: 0 0 0 2px rgba(210, 126, 78, 0.25);
}

select.cefinance-input option:checked,
select.cefinance-input option:hover,
select.cefinance-input option:focus {
    background: linear-gradient(0deg, var(--cf-terracotta-medium), var(--cf-terracotta-medium)) !important;
    background-color: #E8C9B0 !important;
    color: var(--cf-olive-charcoal) !important;
}

/* Form page selects (native(false) Choices.js) */
.fi-body[class*="fi-panel-"] .fi-form .choices__inner,
.fi-body[class*="fi-panel-"] .fi-modal .choices__inner,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .choices__inner {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid rgba(200, 213, 204, 0.9) !important;
    border-radius: 0.5rem !important;
}

.fi-body[class*="fi-panel-"] .fi-form .choices.is-focused .choices__inner,
.fi-body[class*="fi-panel-"] .fi-form .choices.is-open .choices__inner,
.fi-body[class*="fi-panel-"] .fi-modal .choices.is-focused .choices__inner,
.fi-body[class*="fi-panel-"] .fi-modal .choices.is-open .choices__inner {
    border-color: var(--cf-terracotta) !important;
    box-shadow: 0 0 0 2px var(--cf-terracotta-light) !important;
}

/* ─── Create / Edit forms — centered card, fields use full card width ─── */
.fi-body[class*="fi-panel-"] .fi-page .fi-form {
    width: 100%;
    max-width: var(--cf-form-max-width);
    margin-inline: auto;
    padding: 1.25rem 1.5rem 1.5rem;
    background-color: var(--cf-alabaster);
    border: 1px solid var(--cf-sage-panel-border);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04);
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-page .fi-form,
.fi-body[class*="fi-panel-"] .fi-resource-users .fi-page .fi-form {
    max-width: var(--cf-form-max-width-wide);
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-page .fi-form {
    max-width: 100%;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-page .fi-form-actions,
.fi-body[class*="fi-panel-"] .fi-resource-users .fi-page .fi-form-actions {
    max-width: var(--cf-form-max-width-wide);
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-page .fi-form-actions {
    max-width: 100%;
}

.fi-body[class*="fi-panel-"] .fi-page .fi-form-actions {
    max-width: var(--cf-form-max-width);
    margin-inline: auto;
    padding-top: 0.25rem;
}

/* Extra-wide selects — program & budget head (full expense form width before wrap) */
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-select-extra-wide,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program {
    width: 100% !important;
    max-width: var(--cf-field-width-extra-wide) !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-select-extra-wide .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-select-extra-wide .choices,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-select-extra-wide .choices__inner,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices__inner {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-select-extra-wide .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--single .choices__item {
    -webkit-line-clamp: var(--cf-select-extra-wide-max-lines) !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]),
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) {
    max-width: 100% !important;
    width: 100% !important;
}

/* Expense create/edit — program & budget head use full form width, wrap fully */
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp.cefinance-select-extra-wide,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="program_id"]),
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="budget_head_id"]) {
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="budget_head_id"]) .choices__inner {
    height: auto !important;
    min-height: 2.375rem !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="budget_head_id"]) .choices__list--single .choices__item {
    display: block !important;
    -webkit-box-orient: unset !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
}

.cefinance-budget-head-balance {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    line-height: 1.4;
}

.cefinance-budget-head-balance-note {
    margin: 0.15rem 0 0;
    font-size: 0.8125rem;
    font-weight: 400;
    color: rgba(44, 62, 53, 0.72);
}

.cefinance-audit-trail-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.cefinance-audit-trail-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.cefinance-audit-trail-table th,
.cefinance-audit-trail-table td {
    padding: 0.6rem 0.75rem;
    border: 1px solid rgba(200, 213, 204, 0.7);
    vertical-align: top;
}

.cefinance-audit-trail-table th {
    background: rgba(143, 168, 152, 0.18);
    font-weight: 700;
    color: #2c3e35;
    text-align: left;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp {
    width: 100%;
    max-width: 100%;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-select-native .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

/* Compact fields — short codes / dates stay narrower inside the form card */
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="financial_year"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="financial_year"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="fiscal_year"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="fiscal_year"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id$="_code"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model$=".code"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="phone"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="phone"]) {
    max-width: var(--cf-field-width-narrow);
}

/* Dropdown panel matches the trigger width; options wrap cleanly */
.fi-body[class*="fi-panel-"] .fi-form .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-form .choices__list[aria-expanded] {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: auto !important;
}

.fi-body[class*="fi-panel-"] .fi-form .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .fi-form .choices__list[aria-expanded] .choices__item--choice {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
}

.fi-body[class*="fi-panel-"] .fi-form .choices__list--single .choices__item {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: var(--cf-select-label-max-lines) !important;
    white-space: normal !important;
    overflow: hidden !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    text-overflow: unset !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .choices__list--single {
    display: block !important;
    width: 100% !important;
    padding-right: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-form .choices,
.fi-body[class*="fi-panel-"] .fi-form .choices__inner {
    width: 100% !important;
    max-width: 100% !important;
}

/* ─── Form-only pages (no table) — card shell for fields ─── */
.cefinance-form-page-card {
    width: 100%;
    max-width: min(100%, 44rem);
    margin-top: 0.25rem;
    padding: 1.25rem 1.5rem 1.5rem;
    background-color: var(--cf-alabaster);
    border: 1px solid var(--cf-sage-panel-border);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04);
}

.fi-body[class*="fi-panel-"] .cefinance-form-page-card .fi-section {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-form-page-card .fi-section-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.fi-body[class*="fi-panel-"] .cefinance-form-page-card .fi-section-content-ctn {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.fi-body[class*="fi-panel-"] .cefinance-form-page-card .cefinance-form-page-actions {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(200, 213, 204, 0.35);
    justify-content: flex-end;
}

.cefinance-form-page-card--wide {
    max-width: min(100%, 56rem);
}

.cefinance-form-page-card--full {
    max-width: 100%;
}

.cefinance-page-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
}

.cefinance-surface-card {
    width: 100%;
    padding: 1.25rem 1.5rem;
    background-color: var(--cf-alabaster);
    border: 1px solid var(--cf-sage-panel-border);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04);
}

.cefinance-surface-card__header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid rgba(200, 213, 204, 0.35);
    background-color: rgba(244, 247, 245, 0.95);
    border-radius: 0.75rem 0.75rem 0 0;
}

.cefinance-surface-card__body {
    padding: 1rem 1.5rem 1.25rem;
}

.cefinance-surface-card__code {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    background-color: var(--cf-terracotta);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 700;
}

.cefinance-stat-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1rem;
}

@media (min-width: 640px) {
    .cefinance-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .cefinance-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.cefinance-stat-card {
    padding: 1.25rem 1.5rem;
    background-color: var(--cf-alabaster);
    border: 1px solid var(--cf-sage-panel-border);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.04);
}

.cefinance-stat-card__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(44, 62, 53, 0.55);
}

.cefinance-stat-card__value {
    margin-top: 0.5rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cf-olive-charcoal);
}

.cefinance-stat-card--budget .cefinance-stat-card__value {
    color: var(--cf-terracotta);
}

.cefinance-stat-card--spent .cefinance-stat-card__value {
    color: var(--cf-soft-coral);
}

.cefinance-stat-card--balance .cefinance-stat-card__value {
    color: #3d7a5c;
}

/* Legacy alias */
.cefinance-profile-card {
    max-width: 42rem;
}

/* ─── Compact sections ─── */
.fi-body[class*="fi-panel-"] .fi-section-content-ctn {
    gap: 1rem !important;
}

.fi-body[class*="fi-panel-"] .fi-section {
    padding: 0 !important;
}

.fi-body[class*="fi-panel-"] .fi-fo-component-ctn {
    gap: 1rem !important;
}

.fi-body[class*="fi-panel-"] .fi-ta {
    margin-top: 0 !important;
}

/* ─── User menu ─── */
.fi-body[class*="fi-panel-"] .fi-user-menu-trigger {
    color: var(--cf-olive-charcoal) !important;
    font-weight: 500 !important;
}

/* ─── Global polish: typography & motion ─── */
.fi-body[class*="fi-panel-"] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fi-body[class*="fi-panel-"] .fi-page {
    gap: 1rem !important;
}

/* Hide redundant required asterisks (labels remain) */
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-label-indicator,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-label span.text-danger-600,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-label span.text-danger-500,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-label span.text-custom-600,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-label span.text-custom-500 {
    display: none !important;
}

/* Auth: login, password reset, register */
body.fi-body[class*="fi-panel-"] .fi-simple-layout,
.fi-body[class*="fi-panel-"] .fi-simple-layout {
    background: var(--cf-pale-moss) !important;
    background-image:
        radial-gradient(900px 500px at 15% 10%, rgba(226, 234, 228, 0.9), transparent),
        radial-gradient(700px 400px at 85% 20%, rgba(210, 126, 78, 0.12), transparent) !important;
    min-height: 100vh !important;
}

.fi-simple-layout .fi-simple-main,
body.fi-body .fi-simple-main {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid var(--cf-sage-dark) !important;
    box-shadow: 0 8px 24px rgba(44, 62, 53, 0.08) !important;
    border-radius: 0.75rem !important;
    width: 100% !important;
    max-width: 26rem !important;
    padding: 2rem 1.75rem !important;
    --tw-ring-width: 0px !important;
    --tw-ring-offset-width: 0px !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
    --tw-shadow-colored: 0 0 #0000 !important;
    outline: none !important;
}

.fi-simple-layout .fi-simple-main-ctn {
    width: 100% !important;
    max-width: 28rem !important;
    padding: 1.5rem !important;
}

.fi-simple-layout .fi-simple-page,
.fi-simple-layout .fi-simple-page > section,
.fi-simple-layout .fi-simple-header,
.fi-simple-layout .fi-form,
.fi-simple-layout .fi-fo-component-ctn,
.fi-simple-layout .fi-fo-field-wrp {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    --tw-ring-width: 0px !important;
    --tw-ring-offset-width: 0px !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    --tw-shadow: 0 0 #0000 !important;
    outline: none !important;
}

.fi-simple-layout .fi-logo,
.fi-simple-layout .fi-simple-header-heading {
    color: var(--cf-olive-charcoal) !important;
}

.fi-simple-layout .fi-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-bottom: 0.25rem !important;
}

.fi-simple-layout .fi-logo img {
    height: 3rem !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

.fi-simple-layout .fi-simple-header-subheading {
    color: rgba(44, 62, 53, 0.7) !important;
}

.fi-simple-layout .fi-fo-field-wrp-label,
.fi-simple-layout label {
    color: var(--cf-olive-charcoal) !important;
    font-weight: 500 !important;
}

.fi-simple-layout .fi-fo-field-wrp,
body.fi-body .fi-simple-layout .fi-fo-field-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-simple-layout .fi-fo-text-input .fi-input-wrp,
.fi-simple-layout .fi-fo-date-time-picker .fi-input-wrp,
.fi-simple-layout .fi-fo-checkbox-list,
body.fi-body .fi-simple-layout .fi-fo-text-input .fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 2.5rem;
}

.fi-simple-layout .fi-input-wrp input,
.fi-simple-layout .fi-input-wrp textarea {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
}

.fi-simple-layout .fi-form .fi-fo-component-ctn {
    gap: 1.125rem !important;
}

.fi-simple-layout .fi-btn.fi-btn-color-primary,
.fi-simple-layout .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined) {
    width: 100% !important;
    justify-content: center !important;
    min-height: 2.5rem !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
}

.fi-simple-layout .fi-input-wrp:not(.fi-fo-select) {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid rgba(200, 213, 204, 0.9) !important;
    border-radius: 0.5rem !important;
}

.fi-simple-layout .fi-input-wrp:focus-within:not(.fi-fo-select) {
    border-color: var(--cf-terracotta) !important;
    box-shadow: 0 0 0 2px rgba(210, 126, 78, 0.2) !important;
}

.fi-simple-layout .fi-fo-select .choices__inner {
    min-height: 2.5rem !important;
    padding-top: 0.375rem !important;
    padding-bottom: 0.375rem !important;
}

.fi-simple-layout .fi-btn.fi-btn-color-primary,
.fi-simple-layout .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined) {
    background-color: var(--cf-terracotta) !important;
    background-image: none !important;
    border: 1px solid var(--cf-terracotta) !important;
    color: #fff !important;
}

.fi-simple-layout .fi-btn.fi-btn-color-primary:hover,
.fi-simple-layout .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover {
    background-color: var(--cf-terracotta-hover) !important;
    border-color: var(--cf-terracotta-hover) !important;
    color: #fff !important;
}

.fi-simple-layout .fi-btn.fi-btn-color-primary .fi-btn-label,
.fi-simple-layout .fi-btn.fi-color-custom.fi-btn-color-primary .fi-btn-label,
.fi-simple-layout .fi-btn.fi-btn-color-primary .fi-btn-icon {
    color: #fff !important;
}

.fi-simple-layout a,
.fi-simple-layout .fi-link {
    color: var(--cf-terracotta) !important;
}

/* Table actions, links & search */
.fi-body[class*="fi-panel-"] .fi-ta-actions .fi-link,
.fi-body[class*="fi-panel-"] .fi-ta-text-item .fi-link,
.fi-body[class*="fi-panel-"] .fi-ac-link-action {
    color: var(--cf-terracotta) !important;
    font-weight: 500 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-actions .fi-link:hover,
.fi-body[class*="fi-panel-"] .fi-ac-link-action:hover {
    color: var(--cf-terracotta-hover) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-search-field .fi-input-wrp {
    min-width: 14rem;
    width: 100%;
    max-width: 22rem;
    border-radius: 0.5rem !important;
    background-color: var(--cf-alabaster) !important;
    min-height: 2.25rem;
}

/* Pagination per-page — one unified control (prefix + select share wrapper border) */
.fi-body[class*="fi-panel-"] .fi-pagination-records-per-page-select .fi-input-wrp {
    min-height: 2.25rem;
    background-color: var(--cf-alabaster) !important;
}

.fi-body[class*="fi-panel-"] .fi-pagination-records-per-page-select .fi-input-wrp-prefix {
    border-color: rgba(200, 213, 204, 0.9) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-row:nth-child(even) {
    background-color: rgba(241, 245, 242, 0.45) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-cell {
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    font-size: 0.875rem !important;
    text-align: start !important;
    vertical-align: top !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-cell .fi-ta-text,
.fi-body[class*="fi-panel-"] .fi-ta-cell .fi-ta-text-item {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere;
    line-height: 1.35 !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-cell.cefinance-table-wrap-col .fi-ta-text-item,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell.cefinance-table-wrap-col .fi-ta-header-cell-label {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-cell.cefinance-table-code-col,
.fi-body[class*="fi-panel-"] .fi-ta-cell.cefinance-table-code-col,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell.cefinance-table-status-col,
.fi-body[class*="fi-panel-"] .fi-ta-cell.cefinance-table-status-col {
    min-width: 5rem !important;
    width: 5.5rem;
    white-space: nowrap !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-cell.cefinance-table-code-col .fi-ta-header-cell-label,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell.cefinance-table-status-col .fi-ta-header-cell-label {
    -webkit-line-clamp: unset !important;
    display: inline-flex !important;
    white-space: nowrap !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-ta-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-ta-table {
    min-width: 56rem;
    width: max-content;
    table-layout: auto;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-cell {
    font-size: 0.75rem !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    text-align: start !important;
    vertical-align: middle !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
    line-height: 1.3 !important;
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    min-width: 4.5rem;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-cell > span,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell .fi-ta-header-cell-label {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.125rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.3 !important;
    text-align: inherit;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-cell > span {
    flex-wrap: wrap !important;
    row-gap: 0.125rem;
    min-width: 0;
}

.fi-body[class*="fi-panel-"] .fi-ta-header-cell .fi-ta-header-cell-sort-icon {
    flex-shrink: 0;
    align-self: center;
}

.fi-body[class*="fi-panel-"] .fi-ta-actions-header-cell {
    white-space: nowrap !important;
}

/* Respect Filament column alignment (amounts right, text left) */
.fi-body[class*="fi-panel-"] .fi-ta-cell .fi-ta-col-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell .fi-ta-header-cell-label,
.fi-body[class*="fi-panel-"] .fi-ta-text,
.fi-body[class*="fi-panel-"] .fi-ta-text-item {
    text-align: inherit;
    justify-content: flex-start;
}

.fi-body[class*="fi-panel-"] .fi-ta-cell.text-end,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell.text-end,
.fi-body[class*="fi-panel-"] .fi-ta-cell .text-end,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell .text-end,
.fi-body[class*="fi-panel-"] .fi-ta-cell .justify-end,
.fi-body[class*="fi-panel-"] .fi-ta-header-cell .justify-end {
    text-align: end !important;
    justify-content: flex-end !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-actions-cell,
.fi-body[class*="fi-panel-"] .fi-ta-actions-cell .fi-ta-actions {
    text-align: center !important;
    justify-content: center !important;
}

/* Row actions: always show link labels (HQ staff table style) */
.fi-body[class*="fi-panel-"] .fi-ta-actions .fi-ac-link-action .fi-link-label {
    display: inline !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-actions .fi-ac-link-action.fi-color-danger .fi-link-label {
    display: inline !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-checkbox-cell {
    text-align: center !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-empty-state {
    text-align: center !important;
    padding: 2.5rem 1.5rem !important;
    color: rgba(44, 62, 53, 0.72) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-empty-state-icon-ctn {
    background-color: rgba(165, 184, 171, 0.25) !important;
    color: rgba(44, 62, 53, 0.45) !important;
}

/* Badges & status chips */
.fi-body[class*="fi-panel-"] .fi-badge {
    font-weight: 600 !important;
    border-radius: 9999px !important;
}

.fi-body[class*="fi-panel-"] .fi-badge.fi-color-primary {
    background-color: rgba(210, 126, 78, 0.15) !important;
    color: var(--cf-terracotta-hover) !important;
}

.fi-body[class*="fi-panel-"] .fi-badge.fi-color-success {
    background-color: rgba(226, 234, 228, 0.9) !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-badge.fi-color-info {
    background-color: rgba(233, 128, 110, 0.18) !important;
    color: var(--cf-olive-charcoal) !important;
}

/* Pagination */
.fi-body[class*="fi-panel-"] .fi-pagination-item.fi-active,
.fi-body[class*="fi-panel-"] .fi-pagination-item.fi-selected {
    background-color: var(--cf-terracotta) !important;
    border-color: var(--cf-terracotta) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-pagination-item:not(.fi-disabled):not(.fi-active):not(.fi-selected):hover {
    background-color: var(--cf-terracotta-light) !important;
    color: var(--cf-olive-charcoal) !important;
}

/* Modals, dropdowns, notifications */
.fi-body[class*="fi-panel-"] .fi-modal-window,
.fi-body[class*="fi-panel-"] .fi-dropdown-panel {
    border: 1px solid rgba(200, 213, 204, 0.85) !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 12px 32px rgba(44, 62, 53, 0.12) !important;
}

/* Column picker — teleported panel must sit above filter fields and stay opaque */
.fi-body[class*="fi-panel-"] .fi-ta-col-toggle .fi-dropdown-panel,
.fi-dropdown-panel:has(.cefinance-column-toggle-panel) {
    z-index: 250 !important;
    background-color: var(--cf-alabaster) !important;
    isolation: isolate;
}

.fi-body[class*="fi-panel-"] .cefinance-column-toggle-panel {
    background-color: var(--cf-alabaster) !important;
    min-width: 18rem;
}

.fi-body[class*="fi-panel-"] .cefinance-column-toggle-heading {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--cf-olive-charcoal);
    margin: 0;
}

.fi-body[class*="fi-panel-"] .cefinance-column-toggle-panel .fi-fo-component-ctn {
    gap: 0.5rem 1.25rem !important;
    align-items: start !important;
    background-color: transparent !important;
}

.fi-body[class*="fi-panel-"] .cefinance-column-toggle-panel .fi-fo-field-wrp {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
}

.fi-body[class*="fi-panel-"] .cefinance-column-toggle-panel .fi-fo-checkbox label {
    font-size: 0.8125rem;
    color: var(--cf-olive-charcoal);
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields {
    position: relative;
    z-index: 0;
}

.fi-body[class*="fi-panel-"] .cefinance-table-toolbar-actions {
    position: relative;
    z-index: 120;
}

/* Keep table dropdowns (columns/actions) above filters after scrolling. */
.fi-body[class*="fi-panel-"] .fi-ta-col-toggle,
.fi-body[class*="fi-panel-"] .fi-ta-col-toggle .fi-dropdown,
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar .fi-dropdown {
    position: relative;
    z-index: 130;
}

.fi-body[class*="fi-panel-"] .fi-ta-col-toggle .fi-dropdown-panel,
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar .fi-dropdown-panel,
.fi-dropdown-panel:has(.cefinance-column-toggle-panel) {
    z-index: 1400 !important;
    background-color: var(--cf-alabaster) !important;
}

.fi-body[class*="fi-panel-"] .fi-no-notification {
    border-radius: 0.75rem !important;
    border: 1px solid rgba(200, 213, 204, 0.7) !important;
}

/* Relation managers & tabs */
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager {
    margin-top: 0.5rem !important;
}

.fi-body[class*="fi-panel-"] .fi-tabs-item.fi-active {
    color: var(--cf-terracotta) !important;
    border-color: var(--cf-terracotta) !important;
    background-color: var(--cf-terracotta-light) !important;
}

.fi-body[class*="fi-panel-"] .fi-tabs-item:hover {
    color: var(--cf-terracotta-hover) !important;
    background-color: var(--cf-terracotta-light) !important;
}

/* Dashboard widgets */
.fi-body[class*="fi-panel-"] .fi-wi-stats-overview-stat-label {
    color: rgba(44, 62, 53, 0.65) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
}

.fi-body[class*="fi-panel-"] .fi-wi-stats-overview-stat-description {
    color: rgba(44, 62, 53, 0.55) !important;
}

/* Secondary / gray buttons */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-gray {
    color: var(--cf-olive-charcoal) !important;
    border-color: rgba(200, 213, 204, 0.9) !important;
    background-color: var(--cf-alabaster) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-gray:hover {
    background-color: var(--cf-sage-garden) !important;
}

/* Breadcrumbs */
.fi-body[class*="fi-panel-"] .fi-breadcrumbs-item-label {
    color: rgba(44, 62, 53, 0.65) !important;
}

.fi-body[class*="fi-panel-"] .fi-breadcrumbs-item:last-child .fi-breadcrumbs-item-label {
    color: var(--cf-olive-charcoal) !important;
    font-weight: 600 !important;
}

/* Empty states */
.fi-body[class*="fi-panel-"] .fi-ta-empty-state-heading {
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-empty-state-description {
    color: rgba(44, 62, 53, 0.65) !important;
}

/* Toggle, checkbox & radio — terracotta accent */
.fi-body[class*="fi-panel-"] .fi-fo-toggle input:checked + div,
.fi-body[class*="fi-panel-"] .fi-fo-checkbox input:checked,
.fi-body[class*="fi-panel-"] .fi-input-wrp input[type="checkbox"]:checked,
.fi-body[class*="fi-panel-"] .fi-input-wrp input[type="radio"]:checked {
    accent-color: var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .fi-fo-toggle.fi-color-primary,
.fi-body[class*="fi-panel-"] .fi-fo-checkbox.fi-color-primary {
    --c-400: var(--cf-terracotta);
    --c-500: var(--cf-terracotta);
    --c-600: var(--cf-terracotta-hover);
}

.fi-body[class*="fi-panel-"] .text-primary-600,
.fi-body[class*="fi-panel-"] .text-primary-500,
.fi-body[class*="fi-panel-"] .hover\:text-primary-600:hover {
    color: var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .bg-primary-600,
.fi-body[class*="fi-panel-"] .dark\:bg-primary-400 {
    background-color: var(--cf-terracotta) !important;
}

/* Infolist view pages */
.fi-body[class*="fi-panel-"] .fi-in-entry-wrp-label {
    color: rgba(44, 62, 53, 0.65) !important;
    font-weight: 500 !important;
    font-size: 0.8125rem !important;
}

.fi-body[class*="fi-panel-"] .fi-in-text-item {
    color: var(--cf-olive-charcoal) !important;
}

/* Reduce layout shift on Livewire navigations (SPA) */
.fi-body[class*="fi-panel-"] .fi-main-ctn {
    min-height: calc(100vh - 3.5rem);
}

@media (prefers-reduced-motion: no-preference) {
    .fi-body[class*="fi-panel-"] .fi-btn,
    .fi-body[class*="fi-panel-"] .fi-sidebar-item-button,
    .fi-body[class*="fi-panel-"] .fi-input-wrp {
        transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    }
}

@media (max-width: 1023px) {
    .fi-body[class*="fi-panel-"] .fi-main {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .cefinance-topbar-center {
        display: none;
    }

    /* Stack header actions below title on small screens — never clip off-screen */
    .fi-body[class*="fi-panel-"] .fi-header {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .fi-body[class*="fi-panel-"] .fi-header > div:last-child,
    .fi-body[class*="fi-panel-"] .fi-header .fi-ac {
        margin-left: 0 !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }
}

/* ─── Global UI visibility — all portals & pages ─── */

/* Prevent Filament overflow-x-clip from hiding right-edge buttons */
.fi-body[class*="fi-panel-"] .fi-layout,
.fi-body[class*="fi-panel-"] .fi-topbar,
.fi-body[class*="fi-panel-"] .fi-main-ctn,
.fi-body[class*="fi-panel-"] .fi-page,
.fi-body[class*="fi-panel-"] .fi-header,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-header,
.fi-body[class*="fi-panel-"] .fi-section-header {
    overflow: visible !important;
}

/* Main content must never stay invisible during sidebar transitions */
.fi-body[class*="fi-panel-"] .fi-main-ctn {
    opacity: 1 !important;
}

/* Action clusters: list headers, form footers, table toolbars, modals, relation managers */
.fi-body[class*="fi-panel-"] .fi-ac:not(.grid),
.fi-body[class*="fi-panel-"] .fi-form-actions,
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar .fi-ac,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-header > div:last-child,
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-ac:not(.grid),
.fi-body[class*="fi-panel-"] .fi-section-header .fi-ac,
.fi-body[class*="fi-panel-"] .cefinance-card-header-actions,
.fi-body[class*="fi-panel-"] .fi-ta-actions {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

/* Full-width action grids (modal footers) — keep Filament grid layout */
.fi-body[class*="fi-panel-"] .fi-ac.grid {
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-body[class*="fi-panel-"] .fi-header > div:last-child {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* All buttons & action controls — readable and never zero-opacity */
.fi-body[class*="fi-panel-"] .fi-btn,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action,
.fi-body[class*="fi-panel-"] .fi-icon-btn,
.fi-simple-layout .fi-btn {
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-body[class*="fi-panel-"] .fi-btn-label,
.fi-simple-layout .fi-btn-label {
    color: inherit;
}

/* Solid filled buttons — never inherit body text color on labels */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-success:not(.fi-btn-outlined) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-info:not(.fi-btn-outlined) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-warning:not(.fi-btn-outlined) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined) .fi-btn-label,
.fi-simple-layout .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined) .fi-btn-label {
    color: #fff !important;
}

/* Headings — override Filament gray/dark utility classes */
.fi-body[class*="fi-panel-"] .fi-header-heading {
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-header-subheading {
    color: rgba(44, 62, 53, 0.7) !important;
}

/* Form & infolist typography */
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-label,
.fi-body[class*="fi-panel-"] legend,
.fi-body[class*="fi-panel-"] .fi-in-entry-wrp-label {
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-hint {
    color: rgba(44, 62, 53, 0.65) !important;
}

.fi-body[class*="fi-panel-"] .fi-fo-field-wrp-error-message {
    color: #DC2626 !important;
}

.fi-body[class*="fi-panel-"] .fi-page .fi-form .fi-fo-field-wrp-label {
    white-space: normal !important;
    line-height: 1.35 !important;
}

.fi-body[class*="fi-panel-"] input::placeholder,
.fi-body[class*="fi-panel-"] textarea::placeholder {
    color: rgba(44, 62, 53, 0.45) !important;
    opacity: 1 !important;
}

/* Icon buttons on tables, toolbars & filters */
.fi-body[class*="fi-panel-"] .fi-icon-btn.fi-color-gray,
.fi-body[class*="fi-panel-"] .fi-icon-btn:not([class*="fi-color-"]) {
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-icon-btn.fi-color-primary,
.fi-body[class*="fi-panel-"] .fi-ta-actions .fi-icon-btn {
    color: var(--cf-terracotta) !important;
}

.fi-body[class*="fi-panel-"] .fi-icon-btn.fi-color-danger {
    color: #DC2626 !important;
}

/* Outlined buttons — ensure border is visible */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-outlined,
.fi-body[class*="fi-panel-"] .fi-btn.fi-outlined {
    border-width: 1px !important;
}

/* Filament v3 solid buttons — fi-color-custom + bg-custom-600 fallback */
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] a.fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined),
.fi-simple-layout .fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined) {
    background-color: var(--cf-terracotta) !important;
    background-image: none !important;
    border-color: var(--cf-terracotta) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-simple-layout .fi-btn.fi-color-primary:not(.fi-btn-outlined):not(.fi-outlined):hover {
    background-color: var(--cf-terracotta-hover) !important;
    border-color: var(--cf-terracotta-hover) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-color-success:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-info:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-warning:not(.fi-btn-outlined):not(.fi-outlined) {
    background-color: var(--cf-soft-coral) !important;
    border-color: var(--cf-soft-coral) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-color-success:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-info:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-warning:not(.fi-btn-outlined):not(.fi-outlined):hover {
    background-color: var(--cf-coral-hover) !important;
    border-color: var(--cf-coral-hover) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-color-success .fi-btn-icon,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-info .fi-btn-icon,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-warning .fi-btn-icon,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-primary .fi-btn-icon,
.fi-simple-layout .fi-btn.fi-color-primary .fi-btn-icon {
    color: #fff !important;
}

/* Relation manager & section create buttons */
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-ac-btn-action,
.fi-body[class*="fi-panel-"] .fi-section-header .fi-ac-btn-action {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* No bulk selection — row checkboxes and bulk bar hidden */
.fi-body[class*="fi-panel-"] .fi-ta-bulk-actions,
.fi-body[class*="fi-panel-"] .fi-ta-selection-indicator,
.fi-body[class*="fi-panel-"] .fi-ta-page-checkbox,
.fi-body[class*="fi-panel-"] .fi-ta-record-checkbox,
.fi-body[class*="fi-panel-"] th.fi-ta-selection-cell,
.fi-body[class*="fi-panel-"] td.fi-ta-selection-cell {
    display: none !important;
}

/* Column toggle near search */
.fi-body[class*="fi-panel-"] .fi-ta-filters-trigger-action,
.fi-body[class*="fi-panel-"] .fi-ta-col-toggle-trigger {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Custom page submit rows (Profile, Change Password) */
.fi-body[class*="fi-panel-"] .cefinance-form-page-card .cefinance-form-page-actions,
.fi-body[class*="fi-panel-"] .cefinance-profile-card .flex.justify-end {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ═══ Universal solid buttons — all portals, pages, modals & tables ═══ */
/* Filament v3 uses fi-color-custom + bg-custom-600; force visible fills everywhere */

.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):not(.fi-btn-color-gray),
.fi-body[class*="fi-panel-"] a.fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):not(.fi-btn-color-gray),
.fi-body[class*="fi-panel-"] button.fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):not(.fi-btn-color-gray),
.fi-simple-layout .fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):not(.fi-btn-color-gray),
.fi-simple-layout a.fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):not(.fi-btn-color-gray) {
    background-image: none !important;
    border-width: 1px !important;
    border-style: solid !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.1) !important;
}

/* Primary — New/Create/Save on list, edit, form, modal, relation, custom pages */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-primary.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.bg-custom-600.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-header .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ta-bulk-actions .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-section-header .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .cefinance-card-header-actions .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .cefinance-form-page-card .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .cefinance-profile-card .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined),
.fi-simple-layout .fi-btn.fi-btn-color-primary.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined) {
    --c-400: 210, 142, 98 !important;
    --c-500: 210, 126, 78 !important;
    --c-600: 189, 113, 70 !important;
    background-color: var(--cf-terracotta) !important;
    border-color: var(--cf-terracotta) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-primary.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-btn.bg-custom-600.fi-btn-color-primary:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action.fi-btn-color-primary:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-btn.fi-btn-color-primary:not(.fi-btn-outlined):hover,
.fi-simple-layout .fi-btn.fi-btn-color-primary.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined):hover {
    background-color: var(--cf-terracotta-hover) !important;
    border-color: var(--cf-terracotta-hover) !important;
    color: #fff !important;
}

/* Success / info / warning — exports, approve, workflow */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-success.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-info.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-warning.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.bg-custom-600.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.bg-custom-600.fi-btn-color-info:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.bg-custom-600.fi-btn-color-warning:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-header .fi-btn.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-header .fi-btn.fi-btn-color-info:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-header .fi-btn.fi-btn-color-warning:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-info:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-warning:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-info:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-warning:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ta-header-toolbar .fi-btn.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ta-bulk-actions .fi-btn.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ta-bulk-actions .fi-btn.fi-btn-color-warning:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-btn.fi-btn-color-success:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .cefinance-card-header-actions .fi-btn.fi-btn-color-success:not(.fi-btn-outlined) {
    --c-500: 233, 128, 110 !important;
    --c-600: 210, 115, 99 !important;
    background-color: var(--cf-soft-coral) !important;
    border-color: var(--cf-soft-coral) !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-success.fi-color-custom:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-info.fi-color-custom:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-warning.fi-color-custom:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-success:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .cefinance-card-header-actions .fi-btn.fi-btn-color-success:not(.fi-btn-outlined):hover {
    background-color: var(--cf-coral-hover) !important;
    border-color: var(--cf-coral-hover) !important;
    color: #fff !important;
}

/* Danger — delete, reject, deny */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-danger.fi-color-custom:not(.fi-btn-outlined):not(.fi-outlined),
.fi-body[class*="fi-panel-"] .fi-btn.bg-custom-600.fi-btn-color-danger:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-header .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-ta-bulk-actions .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined) {
    --c-500: 239, 68, 68 !important;
    --c-600: 220, 38, 38 !important;
    background-color: #DC2626 !important;
    border-color: #DC2626 !important;
    color: #fff !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-danger.fi-color-custom:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-danger:not(.fi-btn-outlined):hover {
    background-color: #B91C1C !important;
    border-color: #B91C1C !important;
    color: #fff !important;
}

/* Solid button labels & icons — always white (never inherit body text color) */
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-btn-color-gray) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-btn-color-gray) .fi-btn-icon,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action:not(.fi-btn-outlined):not(.fi-btn-color-gray) .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-ac-btn-action:not(.fi-btn-outlined):not(.fi-btn-color-gray) .fi-btn-icon,
.fi-simple-layout .fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-btn-color-gray) .fi-btn-label,
.fi-simple-layout .fi-btn.fi-color-custom:not(.fi-btn-outlined):not(.fi-btn-color-gray) .fi-btn-icon {
    color: #fff !important;
}

/* Gray secondary buttons — visible on pale background */
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-gray.fi-color-custom:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-gray:not(.fi-btn-outlined),
.fi-body[class*="fi-panel-"] .fi-modal-footer .fi-btn.fi-btn-color-gray:not(.fi-btn-outlined) {
    background-color: var(--cf-alabaster) !important;
    border: 1px solid rgba(200, 213, 204, 0.9) !important;
    color: var(--cf-olive-charcoal) !important;
    box-shadow: 0 1px 2px rgba(44, 62, 53, 0.06) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-gray.fi-color-custom:not(.fi-btn-outlined):hover,
.fi-body[class*="fi-panel-"] .fi-form-actions .fi-btn.fi-btn-color-gray:not(.fi-btn-outlined):hover {
    background-color: var(--cf-sage-garden) !important;
    color: var(--cf-olive-charcoal) !important;
}

.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-gray .fi-btn-label,
.fi-body[class*="fi-panel-"] .fi-btn.fi-btn-color-gray .fi-btn-icon {
    color: var(--cf-olive-charcoal) !important;
}

/* ─── Single-column create/edit forms — all portals & pages (post-theme layout) ─── */
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .fi-form .fi-section .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-form .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-component-ctn,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-component-ctn,
.fi-simple-layout .fi-form .fi-fo-component-ctn {
    --cols-default: repeat(1, minmax(0, 1fr)) !important;
    --cols-sm: repeat(1, minmax(0, 1fr)) !important;
    --cols-md: repeat(1, minmax(0, 1fr)) !important;
    --cols-lg: repeat(1, minmax(0, 1fr)) !important;
    --cols-xl: repeat(1, minmax(0, 1fr)) !important;
    --cols-2xl: repeat(1, minmax(0, 1fr)) !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-checkbox-list:not(.grid),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-radio {
    grid-template-columns: 1fr !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="amount"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="allocated_amount"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="assigned_amount"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="yearly_amount"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="default_amount"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="requested_amount"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="daily_cap"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="sort_order"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="received_date"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="expense_date"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="payment_date"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="fiscal_year"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="financial_year"]) {
    max-width: var(--cf-field-width-narrow);
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="code"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="ifsc_code"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([wire\:model*="phone"]) {
    max-width: var(--cf-field-width-code);
}

.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp {
    width: 100%;
    max-width: var(--cf-field-width);
}

.fi-simple-layout .fi-fo-field-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-section .fi-section-content > .grid,
.fi-body[class*="fi-panel-"] .fi-form .fi-section-content > .grid {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-form .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 2.375rem;
}

.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="district_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="district_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-fo-field-wrp.cefinance-select-wide:not(.cefinance-select-extra-wide):not(.cefinance-filter-field-program) .fi-fo-select.fi-input-wrp {
    width: var(--cf-field-width-wide) !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-textarea .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-textarea .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-textarea .fi-input-wrp,
.fi-simple-layout .fi-fo-textarea .fi-input-wrp {
    width: var(--cf-field-width-textarea) !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-checkbox-list),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-repeater),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-file-upload),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-rich-editor),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-markdown-editor),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-key-value),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has(.fi-fo-textarea) {
    width: 100% !important;
    max-width: 100% !important;
}

/* Create/edit forms — Program always on its own row */
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="program_id"]),
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]),
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]),
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp:has([id*="program_id"]),
.fi-body[class*="fi-panel-"] .cefinance-financial-reports-criteria .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .cefinance-financial-reports-criteria .fi-fo-field-wrp:has([id*="program_id"]) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp.cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp.cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp.cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp:has([id*="program_id"]) .choices {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp.cefinance-filter-field-program .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]) .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp.cefinance-filter-field-program .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]) .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp.cefinance-filter-field-program .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp:has([id*="program_id"]) .choices__list[aria-expanded] {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    min-width: 100% !important;
    max-width: none !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown .choices__item--choice {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.fi-body[class*="fi-panel-"] .fi-form .fi-fo-checkbox-list,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-repeater,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-file-upload,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-rich-editor,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-markdown-editor,
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-key-value {
    width: 100% !important;
    max-width: 100% !important;
}

/* Program district checkboxes — readable multi-column grid */
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-checkbox-list.grid {
    width: 100% !important;
    grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)) !important;
    gap: 0.65rem 1.5rem !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-checkbox-list label.fi-fo-checkbox-list-option-label {
    align-items: flex-start !important;
    gap: 0.5rem !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-checkbox-list label.fi-fo-checkbox-list-option-label > div > span {
    white-space: normal !important;
    overflow: visible !important;
    word-break: break-word !important;
    text-wrap: pretty !important;
    line-height: 1.35 !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-checkbox-list .break-inside-avoid {
    break-inside: auto !important;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
}

/* Table filters — program always full width; district wider */
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-field-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-field-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp.cefinance-filter-field-program {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp:has(.cefinance-filter-field-program) .choices,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp.cefinance-filter-field-program .choices,
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-field-wrp.cefinance-filter-field-program .choices {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .cefinance-filter-field-program .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp.cefinance-filter-field-program .choices__list[aria-expanded],
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-field-wrp.cefinance-filter-field-program .choices__list--dropdown,
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-field-wrp.cefinance-filter-field-program .choices__list[aria-expanded] {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    min-width: 100% !important;
    max-width: none !important;
}

.fi-body[class*="fi-panel-"] .cefinance-filters-fields .cefinance-filter-field-program .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--dropdown .choices__item--choice {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-date-time-picker .fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-text-input .fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-date-time-picker .fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-ta-filters .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-ta-filters-above-content-ctn .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .cefinance-filters-fields .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

/* Financial Reports — criteria inside form page card */
.cefinance-financial-reports-criteria.cefinance-form-page-card {
    max-width: 100% !important;
    width: 100% !important;
}

.cefinance-form-page-card .cefinance-financial-reports-criteria .fi-section-header,
.cefinance-financial-reports-criteria .fi-section-header {
    margin-bottom: 0.25rem;
}

.cefinance-financial-reports-criteria .fi-section-header-heading {
    font-size: 1rem;
    font-weight: 600;
}

.cefinance-financial-reports-criteria .fi-section-header-description {
    margin-top: 0.25rem;
    max-width: none;
}

.cefinance-financial-reports-criteria .fi-section-content > .fi-fo-component-ctn {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    width: 100% !important;
}

.cefinance-financial-reports-criteria .fi-section-content > .fi-fo-component-ctn > div {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

.cefinance-financial-reports-criteria .fi-fo-field-wrp,
.cefinance-financial-reports-criteria .cefinance-filter-field-program,
.cefinance-financial-reports-criteria .cefinance-filter-field-district {
    width: 100% !important;
    max-width: 100% !important;
}

.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp,
.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp .fi-input-wrp-input,
.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp .choices,
.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp .choices__inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp .fi-input-wrp-input {
    flex: 1 1 auto !important;
}

.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp .choices__list--single .choices__item {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: var(--cf-select-label-max-lines) !important;
    white-space: normal !important;
    overflow: hidden !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    text-overflow: unset !important;
}

.cefinance-financial-reports-criteria .fi-fo-select.fi-input-wrp .choices__inner {
    min-height: 2.5rem;
    display: flex;
    align-items: center;
}

.cefinance-financial-reports-criteria .choices__list--dropdown,
.cefinance-financial-reports-criteria .choices__list[aria-expanded] {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
}

.cefinance-financial-reports-criteria .choices__list--dropdown .choices__item--choice,
.cefinance-financial-reports-criteria .choices__list[aria-expanded] .choices__item--choice {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
}

/* Financial Reports custom filter card */
.cefinance-card .cefinance-filters-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1rem 1.25rem;
}

.cefinance-card .cefinance-filter-field {
    flex: 0 0 auto;
}

.cefinance-card .cefinance-filter-field-wide {
    flex: 0 0 100%;
    max-width: 100%;
}

.cefinance-card .cefinance-input {
    width: var(--cf-field-width) !important;
    max-width: 100%;
}

.cefinance-card .cefinance-input.cefinance-field-wide {
    width: var(--cf-field-width-wide) !important;
    max-width: 100%;
}

.fi-body[class*="fi-panel-"] .fi-fo-select .choices__list--dropdown .choices__item--choice,
.fi-body[class*="fi-panel-"] .fi-fo-select .choices__list[aria-expanded] .choices__item--choice {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
}

/* Expense / guideline attachments — filename with Preview & Download links */
.cefinance-file-attachment-list {
    display: grid;
    gap: 0.5rem;
    margin: 0.35rem 0 0;
    padding: 0;
    list-style: none;
}

.cefinance-file-attachment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0.875rem;
    border: 1px solid rgba(44, 62, 53, 0.12);
    border-radius: 0.5rem;
    background: rgba(44, 62, 53, 0.03);
}

.cefinance-file-attachment-name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--cf-olive-charcoal);
    word-break: break-word;
}

.cefinance-file-attachment-actions {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.65rem;
}

.cefinance-file-attachment-link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cf-terracotta) !important;
    text-decoration: none;
    white-space: nowrap;
}

.cefinance-file-attachment-link:hover {
    color: var(--cf-terracotta-hover) !important;
    text-decoration: underline;
}

.cefinance-file-attachment-link--download {
    color: #3d6b4f !important;
}

.cefinance-file-attachment-link--download:hover {
    color: #2c5238 !important;
}

/* File uploads with custom preview — show filename + download/remove only in the uploader */
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-fo-file-upload .filepond--image-preview-wrapper,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-fo-file-upload .filepond--media-preview-wrapper,
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-file-upload .filepond--image-preview-wrapper,
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-file-upload .filepond--media-preview-wrapper {
    display: none !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-fo-file-upload .filepond--item-panel,
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-file-upload .filepond--item-panel {
    background: transparent !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-fo-file-upload .filepond--file,
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-file-upload .filepond--file {
    background: rgba(44, 62, 53, 0.04) !important;
    border-radius: 0.5rem;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-fo-file-upload .filepond--file-info-main,
.fi-body[class*="fi-panel-"] .fi-resource-programs .fi-fo-file-upload .filepond--file-info-main {
    color: var(--cf-olive-charcoal) !important;
    font-weight: 500;
}

.expense-bank-stack {
    display: grid;
    gap: 0.2rem;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: #2c3e35;
    align-content: start;
}

.expense-bank-stack-label {
    font-weight: 600;
    color: rgba(44, 62, 53, 0.72);
}

/* Expense tables — horizontal scroll; trainer list fills viewport, wide portals scroll */
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-ta-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.fi-body.fi-panel-trainer .fi-resource-expenses .fi-ta-table,
.fi-body.fi-panel-jd .fi-resource-expenses .fi-ta-table,
.fi-body.fi-panel-auditor .fi-resource-expenses .fi-ta-table {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none;
    table-layout: fixed;
}

.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-table,
.fi-body.fi-panel-accounts .fi-resource-expenses .fi-ta-table,
.fi-body.fi-panel-admin .fi-resource-expenses .fi-ta-table {
    min-width: 80rem;
    width: max-content;
    max-width: none;
    table-layout: auto;
}

/* EDP / Accounts expense table — uniform top-aligned cells */
.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-cell,
.fi-body.fi-panel-accounts .fi-resource-expenses .fi-ta-cell {
    vertical-align: top !important;
}

.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-cell .fi-ta-col-wrp,
.fi-body.fi-panel-accounts .fi-resource-expenses .fi-ta-cell .fi-ta-col-wrp,
.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-cell .fi-ta-text,
.fi-body.fi-panel-accounts .fi-resource-expenses .fi-ta-cell .fi-ta-text,
.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-cell .fi-ta-text-item,
.fi-body.fi-panel-accounts .fi-resource-expenses .fi-ta-cell .fi-ta-text-item {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
}

.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-header-cell,
.fi-body.fi-panel-accounts .fi-resource-expenses .fi-ta-header-cell {
    vertical-align: middle !important;
}

.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-actions-header-cell,
.fi-body.fi-panel-edp .fi-resource-expenses .fi-ta-actions-cell {
    display: none !important;
}

.expense-submit-date-cell {
    display: grid;
    gap: 0.35rem;
    min-width: 6rem;
    line-height: 1.35;
}

.expense-submit-date-cell__date {
    font-weight: 600;
    color: var(--cf-olive-charcoal);
    white-space: nowrap;
}

.expense-submit-date-cell__view {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cf-terracotta) !important;
    text-decoration: none;
    width: fit-content;
}

.expense-submit-date-cell__view:hover {
    color: var(--cf-terracotta-hover) !important;
    text-decoration: underline;
}

.expense-status-cell {
    display: grid;
    gap: 0.35rem;
    min-width: 7rem;
    align-content: start;
}

.expense-status-cell__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.expense-status-action {
    border: 1px solid transparent;
    border-radius: 0.375rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
    background: transparent;
}

.expense-status-action--approve {
    color: var(--cf-terracotta);
    border-color: rgba(210, 126, 78, 0.45);
    background: rgba(210, 126, 78, 0.08);
}

.expense-status-action--approve:hover {
    background: rgba(210, 126, 78, 0.16);
}

.expense-status-action--deny {
    color: #b42318;
    border-color: rgba(180, 35, 24, 0.35);
    background: rgba(180, 35, 24, 0.06);
}

.expense-status-action--deny:hover {
    background: rgba(180, 35, 24, 0.12);
}

/* Long-label selects — full row in forms, wrap selected text in modals/filters */
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="budget_head"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="beneficiary"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="sponsor"]),
.fi-body[class*="fi-panel-"] .fi-form .fi-fo-field-wrp:has([id*="head_budget_summary"]) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-modal-window .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-resource-relation-manager .fi-form .choices__list--single .choices__item,
.fi-simple-layout .choices__list--single .choices__item {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: var(--cf-select-label-max-lines) !important;
    white-space: normal !important;
    overflow: hidden !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    text-overflow: unset !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-modal-window .fi-fo-field-wrp .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-slide-over-panel .fi-fo-field-wrp .fi-fo-select.fi-input-wrp {
    width: 100% !important;
    max-width: 100% !important;
}

/* Expense create/edit — district & purpose use full form width */
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]),
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]) .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) .fi-input-wrp-input {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="district_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .fi-form .fi-fo-field-wrp:has([id*="purpose_id"]) .choices__list--single .choices__item {
    display: block !important;
    -webkit-box-orient: unset !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
}

/* Expense Program Details — program & budget head span the full form card width */
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-component-ctn > div:has(.cefinance-filter-field-program),
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-component-ctn > div:has(.cefinance-select-extra-wide) {
    grid-column: 1 / -1 !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp.cefinance-filter-field-program,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp.cefinance-select-extra-wide,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="program_id"]),
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="budget_head_id"]) {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp.cefinance-filter-field-program .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp.cefinance-select-extra-wide .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="program_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="budget_head_id"]) .fi-fo-select.fi-input-wrp,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="program_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="budget_head_id"]) .choices,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="program_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="budget_head_id"]) .choices__inner,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="program_id"]) .fi-input-wrp-input,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="budget_head_id"]) .fi-input-wrp-input {
    width: 100% !important;
    max-width: 100% !important;
}

.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="program_id"]) .choices__list--single .choices__item,
.fi-body[class*="fi-panel-"] .fi-resource-expenses .cefinance-expense-program-details .fi-fo-field-wrp:has([id*="budget_head_id"]) .choices__list--single .choices__item {
    display: block !important;
    -webkit-box-orient: unset !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
}
