/* FLM 67 Ha HopeData — an editorial workspace for church records. */
@font-face{font-family:"Source Sans 3";src:url("../fonts/SourceSans3-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/SourceSans3-Semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/SourceSans3-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root {
    --flm-ink: #24352a;
    --flm-ink-soft: #24352a;
    --flm-gold: #27ae60;
    --flm-gold-pale: #e8f5ec;
    --flm-canvas: #f4f8f5;
    --flm-paper: #ffffff;
    --flm-line: #dce8df;
    --flm-text: #24352a;
    --flm-muted: #68796e;
    --flm-green: #27ae60;
    --flm-red: #c44747;
    --flm-shadow: 0 10px 28px rgba(39, 174, 96, .09);
}

/* Global frame */
html { min-height: 100%; background: var(--flm-canvas); }
body.flm-app {
    min-height: 100vh; margin: 0; padding: 78px 0 0;
    background: var(--flm-canvas); color: var(--flm-text);
    font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
    font-size: 14px; line-height: 1.55;
}
.flm-topbar {
    position: fixed; z-index: 1030; top: 0; right: 0; left: 0;
    min-height: 78px; padding: 0 clamp(20px, 4vw, 58px);
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    background: var(--flm-green); color: #fff;
    border-bottom: 4px solid var(--flm-green);
    box-shadow: 0 5px 18px rgba(39, 174, 96, .18);
}
.flm-brand { display: inline-flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; }
.flm-brand:hover, .flm-brand:focus { color: #fff; text-decoration: none; }
.flm-brand-logo { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; border-radius: 50%; background: #fff; }
.flm-brand-copy { display: flex; flex-direction: column; line-height: 1.15; }
.flm-brand-copy strong { font-size: 14px; letter-spacing: .15em; }
.flm-brand-copy small { margin-top: 5px; color: rgba(255,255,255,.88); font-size: 11px; letter-spacing: .06em; }
.flm-topbar-actions { display: flex; align-items: center; gap: 20px; }
.flm-logout {
    min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 14px;
    color: #fff; border: 1px solid rgba(255,255,255,.34); border-radius: 8px;
    font-size: 13px; font-weight: 650; line-height: 1.2; text-decoration: none; transition: .18s ease;
}
.flm-logout:hover, .flm-logout:focus { color: var(--flm-green); background: #fff; border-color: #fff; text-decoration: none; }
.flm-logout:focus-visible { outline: 3px solid rgba(255,255,255,.55); outline-offset: 2px; }
.flm-page-container { width: min(100%, 1600px); margin: 0 auto; padding: 22px clamp(18px, 3.4vw, 52px) 40px; }
.flm-mobile-menu-header { display: none; }
.flm-menu-collapse.collapse { display: block !important; height: auto !important; overflow: visible !important; }

/* Main management screen: page context, section rail and focused work area. */
.flm-dashboard { width: 100%; }
.flm-page-heading {
    min-height: 48px; margin: 0 0 12px; padding: 0 2px;
    display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.flm-page-heading h1 {
    margin: 0; color: var(--flm-ink); font: 600 clamp(26px, 3vw, 36px)/1.15 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
}
.flm-dashboard-grid { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 22px; align-items: start; min-width: 0; }
.flm-section-menu {
    min-width: 0; width: 100%; padding: 17px 12px 14px; background: #edf5ef; border: 1px solid #d7e8db;
    border-radius: 16px; box-shadow: 0 8px 22px rgba(39,174,96,.06);
}
.flm-menu-label { margin: 0 9px 10px; color: #79756d; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
#temoignages_tab.nav-tabs { display: flex; flex-direction: column; gap: 5px; margin: 0; padding: 0; border: 0; }
#temoignages_tab.nav-tabs::before, #temoignages_tab.nav-tabs::after { display: none; content: none; }
#temoignages_tab.nav-tabs > li { float: none; width: 100%; margin: 0; }
#temoignages_tab.nav-tabs > li > a {
    min-height: 46px; margin: 0; padding: 11px 12px; display: flex; align-items: center; gap: 10px;
    color: #46535d; background: transparent; border: 0; border-radius: 10px;
    font-size: 12px; font-weight: 700; line-height: 1.35; letter-spacing: .025em;
    white-space: normal; transition: background .18s ease, color .18s ease, transform .18s ease;
}
#temoignages_tab.nav-tabs > li > a::before { display: none; }
#temoignages_tab.nav-tabs > li > a > .fa { width: 18px; color: var(--flm-green); font-size: 15px; text-align: center; }
#temoignages_tab.nav-tabs > li > a:hover,
#temoignages_tab.nav-tabs > li > a:focus { color: var(--flm-ink); background: rgba(255,255,255,.62); border: 0; }
#temoignages_tab.nav-tabs > li.active > a,
#temoignages_tab.nav-tabs > li.active > a:hover,
#temoignages_tab.nav-tabs > li.active > a:focus {
    color: #fff; background: var(--flm-green); border: 0; box-shadow: 0 5px 12px rgba(39,174,96,.2);
}
#temoignages_tab.nav-tabs > li.active > a > .fa { color: #fff; }
.flm-dashboard-view { width: 100%; display: flex; flex-direction: column; gap: 18px; }
.flm-dashboard-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 2px 0 1px; }
.flm-dashboard-eyebrow { margin: 0 0 5px; color: var(--flm-green); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.flm-dashboard-intro h2 { margin: 0; color: var(--flm-ink); font: 600 25px/1.2 Georgia, "Times New Roman", serif; }
.flm-dashboard-intro p:last-child { margin: 6px 0 0; color: var(--flm-muted); font-size: 12px; }
.flm-dashboard-updated { flex: 0 0 auto; padding: 8px 10px; color: var(--flm-muted); background: #fff; border: 1px solid var(--flm-line); border-radius: 9px; font-size: 11px; }
.flm-dashboard-updated .fa { margin-right: 5px; color: var(--flm-green); }
.flm-dashboard-filters { padding: 15px 16px; background: #fff; border: 1px solid var(--flm-line); border-radius: 13px; box-shadow: 0 5px 16px rgba(39,174,96,.05); }
.flm-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.flm-filter-heading h3 { margin: 0; color: var(--flm-ink); font-size: 13px; font-weight: 750; }
.flm-filter-heading p { margin: 3px 0 0; color: var(--flm-muted); font-size: 10px; }
.flm-filter-reset { color: var(--flm-green); font-size: 11px; font-weight: 700; }
.flm-filter-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; gap: 10px; }
.flm-filter-fields label { min-width: 0; margin: 0; color: #536258; font-size: 10px; font-weight: 700; }
.flm-filter-fields .flm-search-select { width: 100%; margin-top: 5px; }
.flm-search-select { position: relative; display: block; width: 100%; min-width: 0; color: var(--flm-ink); font: inherit; }
.flm-search-select__native { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; opacity: .001 !important; pointer-events: none !important; }
.flm-search-select__trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 13px; color: var(--flm-ink); text-align: left; background: #fff; border: 1px solid #cfded2; border-radius: 11px; box-shadow: 0 4px 12px rgba(16, 24, 40, .06); cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.flm-search-select__trigger:hover { border-color: #87c89a; background: #fcfefc; }
.flm-search-select__trigger:focus-visible { outline: 0; border-color: var(--flm-green); box-shadow: 0 0 0 3px rgba(39, 174, 96, .17); }
.flm-search-select__trigger:disabled { color: #87928a; background: #f3f6f3; cursor: not-allowed; box-shadow: none; }
.flm-search-select__value { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flm-search-select__value.is-placeholder { color: #7c8980; }
.flm-search-select__chip { display: inline-flex; max-width: 100%; padding: 3px 8px; color: #216a3b; background: #eaf6ed; border: 1px solid #d4ead9; border-radius: 999px; font-size: 11px; font-weight: 650; }
.flm-search-select__chevron { flex: 0 0 auto; color: #6d7b70; font-size: 15px; line-height: 1; transition: transform .16s ease; }
.flm-search-select__trigger[aria-expanded="true"] .flm-search-select__chevron { transform: rotate(180deg); }
.flm-search-select__menu { position: fixed; z-index: 2000; padding: 8px; overflow: hidden; background: #fff; border: 1px solid #dce7de; border-radius: 13px; box-shadow: 0 16px 36px rgba(20, 46, 29, .19); }
.flm-search-select__menu[hidden] { display: none !important; }
.flm-search-select__search { display: block; width: 100%; height: 40px; margin: 0 0 7px; padding: 0 11px; color: var(--flm-ink); background: #fbfdfb; border: 1px solid #d7e3d9; border-radius: 9px; outline: 0; font: inherit; font-size: 13px; }
.flm-search-select__search:focus { border-color: var(--flm-green); box-shadow: 0 0 0 3px rgba(39, 174, 96, .13); }
.flm-search-select__options { display: grid; gap: 3px; overflow: auto; overscroll-behavior: contain; }
.flm-search-select__option { display: block; width: 100%; min-height: 38px; padding: 8px 10px; color: #34483a; text-align: left; background: transparent; border: 0; border-radius: 8px; cursor: pointer; font: inherit; font-size: 13px; }
.flm-search-select__option:hover, .flm-search-select__option:focus-visible { color: #176a36; background: #edf7ef; outline: 0; }
.flm-search-select__option.is-selected { color: #176a36; background: #e7f4ea; font-weight: 700; }
.flm-search-select__option.is-disabled, .flm-search-select__option:disabled { color: #9aa49c; cursor: not-allowed; }
.flm-search-select__option[hidden] { display: none !important; }
.flm-search-select__empty { margin: 0; padding: 12px 9px; color: var(--flm-muted); font-size: 12px; text-align: center; }
.flm-search-select__empty[hidden] { display: none !important; }
.flm-filter-fields .flm-search-select__trigger { min-height: 38px; height: 38px; margin-top: 0; padding: 0 10px; background: #fbfdfb; border-radius: 8px; font-size: 11px; box-shadow: none; }
.flm-report-filter-grid .flm-search-select { margin-top: 6px; }
.flm-report-filter-grid .flm-search-select__trigger { min-height: 42px; padding: 8px 11px; font-size: 13px; }
.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single { height: 44px; padding: 7px 10px; background: #fff; border: 1px solid #cfded2; border-radius: 11px; box-shadow: 0 4px 12px rgba(16,24,40,.06); }
.select2-container--default.select2-container--open .select2-selection--single, .select2-container--default.select2-container--focus .select2-selection--single { border-color: var(--flm-green); box-shadow: 0 0 0 3px rgba(39,174,96,.13); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 2px; color: var(--flm-ink); line-height: 28px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; right: 8px; }
.select2-dropdown { overflow: hidden; border: 1px solid #dce7de; border-radius: 12px; box-shadow: 0 16px 36px rgba(20,46,29,.19); }
.select2-container--default .select2-search--dropdown .select2-search__field { height: 38px; padding: 0 10px; border: 1px solid #d7e3d9; border-radius: 8px; outline: 0; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { color: #176a36; background: #edf7ef; }
.select2-container--default .select2-results__option[aria-selected="true"] { color: #176a36; background: #e7f4ea; }
.flm-filter-submit { height: 38px; padding: 0 14px; color: #fff; background: var(--flm-green); border: 0; border-radius: 8px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.flm-filter-submit:hover, .flm-filter-submit:focus { background: #208e4e; }
.flm-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.flm-kpi-card { min-width: 0; display: flex; align-items: flex-start; gap: 12px; padding: 16px 14px; background: #fff; border: 1px solid var(--flm-line); border-radius: 13px; box-shadow: 0 5px 16px rgba(39,174,96,.05); }
.flm-kpi-icon, .flm-panel-icon { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; color: var(--flm-green); background: #eaf6ee; border-radius: 11px; font-size: 16px; }
.flm-kpi-card p { margin: 0 0 3px; color: var(--flm-muted); font-size: 11px; font-weight: 650; }
.flm-kpi-card strong { display: block; color: var(--flm-ink); font-size: 25px; line-height: 1.15; font-variant-numeric: tabular-nums; }
.flm-kpi-card small { display: block; margin-top: 5px; color: var(--flm-muted); font-size: 10px; }
.flm-dashboard-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.flm-stat-panel { min-width: 0; padding: 17px 18px; background: #fff; border: 1px solid var(--flm-line); border-radius: 14px; box-shadow: var(--flm-shadow); }
.flm-stat-panel > header { display: flex; align-items: center; gap: 11px; margin: 0 0 16px; }
.flm-stat-panel > header .flm-panel-icon { flex-basis: 34px; width: 34px; height: 34px; border-radius: 10px; font-size: 14px; }
.flm-stat-panel > header h3 { margin: 0; color: var(--flm-ink); font-size: 13px; font-weight: 750; }
.flm-stat-panel > header p { margin: 3px 0 0; color: var(--flm-muted); font-size: 10px; line-height: 1.4; }
.flm-legal-panel, .flm-quality-panel { grid-column: 1 / -1; }
.flm-legal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.flm-legal-stat { min-width: 0; padding: 11px 12px; background: #f7faf8; border: 1px solid #e8f0ea; border-radius: 11px; }
.flm-legal-heading, .flm-bar-row > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.flm-legal-heading { min-height: 33px; color: #516258; font-size: 10px; font-weight: 650; }
.flm-legal-heading > span { display: inline-flex; align-items: center; gap: 6px; }
.flm-legal-heading .fa { color: var(--flm-green); }
.flm-legal-heading strong { flex: 0 0 auto; color: var(--flm-ink); font-size: 16px; font-variant-numeric: tabular-nums; }
.flm-progress { height: 7px; overflow: hidden; margin-top: 8px; background: #e9f0eb; border-radius: 99px; }
.flm-progress > span { height: 100%; min-width: 0; display: block; background: linear-gradient(90deg, #25a65b, #54c47d); border-radius: inherit; }
.flm-legal-stat > small { display: block; margin-top: 6px; color: var(--flm-muted); font-size: 9px; }
.flm-bar-list { display: flex; flex-direction: column; gap: 12px; }
.flm-bar-row > div:first-child { color: #46574b; font-size: 11px; }
.flm-bar-row strong { flex: 0 0 auto; color: var(--flm-ink); font-size: 11px; font-variant-numeric: tabular-nums; }
.flm-bar-row .flm-progress { height: 6px; margin-top: 6px; }
.flm-donut-layout { display: flex; align-items: center; gap: 19px; min-height: 185px; }
.flm-donut { width: 174px; height: 174px; flex: 0 0 174px; }
.flm-donut-total { fill: var(--flm-ink); font-size: 10px; font-weight: 800; }
.flm-donut-caption { fill: var(--flm-muted); font-size: 5px; }
.flm-donut-legend { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.flm-donut-legend > div { display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 7px; color: #506055; font-size: 10px; }
.flm-donut-legend i { width: 8px; height: 8px; border-radius: 50%; }
.flm-donut-legend strong { color: var(--flm-ink); font-variant-numeric: tabular-nums; }
.flm-column-chart { min-height: 186px; display: flex; align-items: stretch; justify-content: space-around; gap: 6px; padding: 10px 4px 0; border-bottom: 1px solid var(--flm-line); }
.flm-column-item { min-width: 0; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; text-align: center; }
.flm-column-item > strong { color: var(--flm-ink); font-size: 10px; font-variant-numeric: tabular-nums; }
.flm-column-track { width: min(38px, 75%); height: 115px; display: flex; align-items: flex-end; margin: 5px 0 7px; background: #f0f5f1; border-radius: 7px 7px 0 0; overflow: hidden; }
.flm-column-track span { width: 100%; display: block; background: linear-gradient(180deg, #73ce91, #27ae60); border-radius: 6px 6px 0 0; }
.flm-column-item small { min-height: 28px; color: var(--flm-muted); font-size: 8px; line-height: 1.25; }
.flm-quality-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.flm-quality-grid > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; padding: 11px 12px; background: #f7faf8; border: 1px solid #e8f0ea; border-radius: 10px; }
.flm-quality-grid strong { color: var(--flm-green); font-size: 20px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.flm-quality-grid span, .flm-empty-note { color: var(--flm-muted); font-size: 10px; line-height: 1.45; }
.flm-empty-note { margin: 0; padding: 12px; background: #f7faf8; border-radius: 9px; }
.flm-dashboard-privacy { margin: 0; color: var(--flm-muted); font-size: 10px; }
.flm-dashboard-privacy .fa { margin-right: 5px; color: var(--flm-green); }
.flm-workarea { min-width: 0; width: 100%; }
.tab-content.flm-tabs-content, .flm-workarea > .tab-content {
    min-height: 0; width: 100%; padding: 0; background: transparent; border: 0; border-radius: 0;
}
.tab-pane { min-width: 0; width: 100%; }
#temoignages_content { width: 100%; overflow: visible; }
#temoignages_content.in.active { display: flex; flex-direction: column; }
#temoignages_content.in.active > .btn-add { order: -1; align-self: flex-end; margin: 0 0 10px; }

/* DataTables */
.table { width: 100% !important; margin-bottom: 0; }
.dataTables_wrapper {
    width: 100%; padding: 16px; overflow: visible;
    background: var(--flm-paper); border: 1px solid var(--flm-line); border-radius: 15px;
    box-shadow: var(--flm-shadow);
}
.dataTables_wrapper > .row { display: flex; flex-wrap: wrap; align-items: center; margin: 0; }
.dataTables_wrapper > .row:first-child { margin-bottom: 17px; }
.dataTables_wrapper > .row:last-child { padding-top: 13px; }
.dataTables_wrapper > .row > [class*="col-"] { padding: 0; }
.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info { color: var(--flm-muted); font-size: 12px; }
.dataTables_wrapper .dataTables_filter { text-align: right; }
.dataTables_wrapper .dataTables_filter label { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; }
.dataTables_wrapper .dataTables_filter input { width: min(220px, 52vw); margin: 0; }
.dataTables_wrapper .dataTables_length label { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; }
.dataTables_wrapper .dataTables_length select { width: auto; min-width: 68px; margin: 0; }
.table-responsive {
    width: 100%; max-width: 100%; max-height: min(66vh, 720px); overflow: auto;
    overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin;
    scrollbar-color: #9fbea8 #eef4ef; -webkit-overflow-scrolling: touch;
    border: 1px solid var(--flm-line); border-radius: 11px;
}
.table-responsive::-webkit-scrollbar { width: 9px; height: 9px; }
.table-responsive::-webkit-scrollbar-track { background: #edf4ef; border-radius: 9px; }
.table-responsive::-webkit-scrollbar-thumb { background: #a0b8a7; border: 2px solid #edf4ef; border-radius: 9px; }
.table-responsive::-webkit-scrollbar-thumb:hover { background: #789984; }
.dataTables_wrapper .table-responsive {
    max-height: min(66vh, 720px); overflow: auto; overscroll-behavior: contain;
    scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: #9fbea8 #eef4ef;
}
.dataTables_wrapper table.table { border: 0; border-collapse: separate; border-spacing: 0; }
.dataTables_wrapper table > thead > tr > th {
    position: sticky !important; top: 0; z-index: 3;
    padding: 14px 13px; color: #4d6254; background: #edf5ef;
    border: 0 !important; border-bottom: 1px solid #dce8df !important;
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em;
}
.dataTables_wrapper table > thead > tr > th:first-child { border-top-left-radius: 10px; }
.dataTables_wrapper table > thead > tr > th:last-child { border-top-right-radius: 10px; }
.dataTables_wrapper table > thead > tr > th:last-child { text-align: right; padding-right: 16px; }
.dataTables_wrapper table > tbody > tr > td {
    padding: 13px; color: #34483a; background: var(--flm-paper);
    border: 0 !important; border-bottom: 1px solid #edf2ee !important;
    vertical-align: middle; font-size: 13px;
}
.dataTables_wrapper table > tbody > tr:last-child > td { border-bottom: 0 !important; }
.dataTables_wrapper table.table-striped > tbody > tr:nth-of-type(odd) > td { background: #f7faf8; }
.dataTables_wrapper table.table-hover > tbody > tr:hover > td { background: #eef7f0; }
.dataTables_wrapper table > tbody > tr > td:last-child { white-space: nowrap; text-align: right; padding-right: 16px; }
.dataTables_wrapper table > tbody > tr > td:last-child .btn {
    box-sizing: border-box; width: 44px; min-width: 44px; height: 40px; min-height: 40px;
    margin: 0 0 0 8px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 12px !important; box-shadow: 0 2px 5px rgba(20, 46, 29, .12); vertical-align: middle;
    color: #fff; border: 0; border-radius: 9px; line-height: 1;
}
.dataTables_wrapper table > tbody > tr > td:last-child .btn > .fa { line-height: 1; }
.dataTables_wrapper .pagination { margin: 0; }

/* Keep the action column compact and give the table a visible top inset. */
@media (min-width: 768px) {
    .dataTables_wrapper .table-responsive { padding-top: 12px; }
    #temoignagesDataTable > thead > tr > th:last-child,
    #temoignagesDataTable > tbody > tr > td:last-child {
        box-sizing: border-box;
        width: 132px !important;
        min-width: 132px;
        max-width: 132px;
    }
    #temoignagesDataTable > thead > tr > th:last-child { text-align: center !important; padding-right: 8px; }
    #temoignagesDataTable > tbody > tr > td:last-child { text-align: center !important; padding: 8px !important; }
    #temoignagesDataTable > tbody > tr > td:last-child .btn { margin: 0 3px; }
}
.dataTables_wrapper .pagination > li > a,
.dataTables_wrapper .pagination > li > span {
    min-width: 36px; min-height: 36px; padding: 7px 10px; display: inline-flex;
    align-items: center; justify-content: center; color: var(--flm-ink);
    background: var(--flm-paper); border-color: var(--flm-line); font-size: 12px;
    line-height: 20px; text-indent: 0; opacity: 1;
}
.dataTables_wrapper .pagination > li:first-child > a,
.dataTables_wrapper .pagination > li:first-child > span { border-radius: 8px 0 0 8px; }
.dataTables_wrapper .pagination > li:last-child > a,
.dataTables_wrapper .pagination > li:last-child > span { border-radius: 0 8px 8px 0; }
.dataTables_wrapper .pagination > .active > a,
.dataTables_wrapper .pagination > .active > a:hover,
.dataTables_wrapper .pagination > .active > a:focus,
.dataTables_wrapper .pagination > .active > span {
    color: #fff !important; background: var(--flm-green); border-color: var(--flm-green);
}
.dataTables_wrapper .pagination > li > a:hover,
.dataTables_wrapper .pagination > li > a:focus { color: var(--flm-ink); background: var(--flm-gold-pale); border-color: #9dd4b0; }

/* Consistent affordance for actionable controls. */
a[href], button:not(:disabled), input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled), input[type="reset"]:not(:disabled),
.btn:not(.disabled):not([disabled]), [role="button"]:not([aria-disabled="true"]),
label[for], .checkbox-inline, select:not(:disabled),
input[type="checkbox"]:not(:disabled), input[type="radio"]:not(:disabled),
.nav-tabs > li > a, [data-menu-type],
.dataTables_wrapper .pagination > li:not(.disabled) > a,
.dataTables_wrapper table.dataTable > thead > tr > th[class*="sorting"] {
    cursor: pointer;
}
button:disabled, input:disabled, select:disabled, .btn.disabled, .btn[disabled],
[aria-disabled="true"] { cursor: not-allowed; }

/* Buttons and forms */
.btn { border-radius: 8px; font-weight: 650; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(39,174,96,.32); outline-offset: 2px; }
.btn-primary, .btn-success, .btn-info, .btn-add { color: #fff; background: var(--flm-green); border-color: var(--flm-green); box-shadow: 0 3px 8px rgba(39,174,96,.22); }
.btn-primary:hover, .btn-primary:focus, .btn-success:hover, .btn-success:focus,
.btn-info:hover, .btn-info:focus, .btn-add:hover, .btn-add:focus {
    color: #fff; background: var(--flm-green); border-color: var(--flm-green); box-shadow: 0 5px 12px rgba(39,174,96,.22); transform: translateY(-1px);
}
.btn-blue { color: #fff; background: var(--flm-green); border-color: var(--flm-green); }
.btn-blue:hover, .btn-blue:focus { color: #fff; background: var(--flm-green); border-color: var(--flm-green); }
.btn-red { color: #fff; background: var(--flm-red); border-color: var(--flm-red); }
.btn-red:hover, .btn-red:focus { color: #fff; background: #913a33; border-color: #913a33; }
.btn-default { color: var(--flm-ink); background: #fff; border-color: #cbd9cf; }
.btn-default:hover, .btn-default:focus { color: var(--flm-ink); background: #f1f8f3; border-color: #95cda5; }
.btn-add { min-height: 43px; margin-top: 15px; padding: 10px 17px; border-radius: 9px; font-size: 12px; letter-spacing: .04em; }
.btn-add i { margin-right: 7px; color: rgba(255,255,255,.9); }
.form-control {
    height: 44px; padding: 10px 13px; color: var(--flm-text); background: #fff;
    border: 1px solid #cbd9cf; border-radius: 9px; box-shadow: 0 1px 2px rgba(39,174,96,.04); font-size: 14px;
}
.form-control:focus { border-color: var(--flm-green); box-shadow: 0 0 0 3px rgba(39,174,96,.16); }
select.form-control { appearance: auto; }
.form-horizontal .control-label { color: #42574a; font-size: 13px; font-weight: 650; line-height: 1.5; white-space: normal; }
.form-horizontal .form-group { margin-bottom: 18px; padding: 5px 0; }
.modal-body .nav-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; border-bottom: 1px solid var(--flm-line); }
.modal-body .nav-tabs > li { float: none; margin: 0; }
.modal-body .nav-tabs > li > a { margin: 0 0 -1px; padding: 10px 15px; color: #53675a; border: 0; border-radius: 9px 9px 0 0; font-weight: 650; }
.modal-body .nav-tabs > li > a:hover, .modal-body .nav-tabs > li > a:focus { color: var(--flm-ink); background: #f0f7f2; border: 0; }
.modal-body .nav-tabs > li.active > a, .modal-body .nav-tabs > li.active > a:hover, .modal-body .nav-tabs > li.active > a:focus { color: var(--flm-ink); background: #e8f5ec; border: 0; box-shadow: inset 0 -3px 0 var(--flm-green); }
.modal-body h4, .panel-area_zanaka h4 {
    margin: 24px 0 16px; padding: 0 0 10px 12px; border-bottom: 1px solid var(--flm-line);
    border-left: 4px solid var(--flm-green); color: var(--flm-ink); font-size: 13px;
    font-weight: 750; letter-spacing: .045em; line-height: 1.45;
}
.form-horizontal .form-group > [class*="col-"] { min-width: 0; }
.form-horizontal textarea.form-control { height: auto; min-height: 104px; resize: vertical; }
.form-control::placeholder { color: #8a9a8f; opacity: 1; }
.form-control[readonly], .form-control:disabled { background: #f2f6f3; color: #68796e; }
.form-horizontal .help-block { color: var(--flm-muted); font-size: 12px; }
.form-horizontal .btn { min-height: 40px; padding: 9px 16px; font-weight: 650; }
.checkbox-inline {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; margin-right: 5px;
    color: #42574a; background: #fff; border: 1px solid var(--flm-line); border-radius: 10px;
    font-size: 12px; font-weight: 550; cursor: pointer; user-select: none;
}
.checkbox-inline:hover { color: var(--flm-ink); border-color: #82c99a; background: #f3faf5; }
.checkbox-inline:has(input:checked) { color: var(--flm-ink); border-color: #9fd4ae; background: #edf8f0; }
.checkbox-inline input[type="checkbox"], .checkbox-inline input[type="radio"], .checkbox input[type="checkbox"] {
    position: static; width: 17px; height: 17px; margin: 0; accent-color: var(--flm-green); flex: 0 0 17px;
}
.radio input[type="radio"], .radio-inline input[type="radio"] { accent-color: var(--flm-green); vertical-align: middle; }

/* Cards, forms and dialogs */
.panel, .flm-report-panel { overflow: hidden; margin: 0; background: var(--flm-paper); border: 1px solid var(--flm-line); border-radius: 14px; box-shadow: var(--flm-shadow); }
.flm-report-panel { width: 100%; }
.flm-report-options { margin: 10px 0 18px; padding: 16px; background: #f5faf6; border: 1px solid var(--flm-line); border-radius: 12px; }
.flm-report-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
.flm-report-filter-grid label { color: var(--flm-ink); font-size: 12px; font-weight: 650; }
.flm-report-filter-grid select { margin-top: 6px; font-weight: 450; }
.flm-report-checks { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; }
.flm-report-checks label { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: var(--flm-muted); font-size: 12px; font-weight: 550; }
.flm-report-checks input { accent-color: var(--flm-green); }
@media (max-width: 767px) { .flm-report-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .flm-report-options { padding: 12px; } }
.panel-heading { padding: 15px 20px; color: #fff !important; background: var(--flm-green) !important; border: 0; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.panel-heading.bg-success { color: #fff !important; background: var(--flm-green) !important; }
.panel-default { border-color: var(--flm-line); }
.panel-body { padding: 22px; }
.panel-area_zanaka { padding: 18px 22px; }
.panel-body.bg-danger { background: #f1f8f3 !important; }
.panel-body.bg-success { background: #f4f9f5 !important; }
.bg-success { background: #eaf6ee !important; border: 0; }
.bg-info { background: #edf6f0 !important; border: 0; }
.bg-danger { background: #fbefee !important; border: 0; }
.modal { display: none; }
.modal.in { display: block; }
.modal-dialog { display: flex; flex-direction: column; max-height: calc(100vh - 54px); margin: 27px auto; }
.modal-content { overflow: hidden; display: flex; flex-direction: column; max-height: calc(100vh - 54px); border: 1px solid var(--flm-line); border-radius: 16px; box-shadow: 0 24px 70px rgba(39,174,96,.25); }
.modal-header { flex-shrink: 0; position: sticky; top: 0; z-index: 10; padding: 18px 22px; background: var(--flm-green); border-bottom: 0; color: #fff; }
.modal-title { color: #fff; font: 600 20px/1.25 Georgia, serif; }
.modal-header .flm-modal-close {
    width: 40px; height: 40px; margin: -7px -9px 0 12px; padding: 0; float: right;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,.42); border-radius: 8px;
    background: transparent; color: #fff; opacity: 1; font-size: 25px; line-height: 1;
    text-shadow: none; transition: color .16s ease, background .16s ease, border-color .16s ease;
}
.modal-header .flm-modal-close:hover, .modal-header .flm-modal-close:focus {
    color: var(--flm-green); background: #fff; border-color: #fff; opacity: 1;
}
.modal-header .flm-modal-close:focus-visible { outline: 3px solid rgba(255,255,255,.55); outline-offset: 2px; }
.modal-footer .btn { min-height: 40px; padding: 9px 15px; border-radius: 8px; }
.modal-body { overflow-y: auto; flex: 1 1 auto; padding: 22px; background: var(--flm-paper); }
.modal-footer { flex-shrink: 0; position: sticky; bottom: 0; z-index: 10; padding: 14px 20px; background: #f3f8f4; border-top: 1px solid var(--flm-line); }
#bagawebModal .modal-dialog { width: min(92%, 1120px) !important; }
#zanakaModal .modal-dialog, #taizaModal .modal-dialog { width: min(86%, 900px) !important; }
.modal-body hr, .panel-body hr { margin: 20px 0; border-top: 1px solid var(--flm-line); }
.modal-body h4, .panel-body h4 { color: var(--flm-ink); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.help-block.error { color: var(--flm-red); font-size: 12px; }
.has-error .form-control { border-color: var(--flm-red); }
.has-error .form-control:focus { box-shadow: 0 0 0 3px rgba(196,71,71,.14); }
.has-success .form-control { border-color: var(--flm-green); }
.bootstrap-select .btn { min-height: 44px; color: var(--flm-text); background: #fff; border: 1px solid #cbd9cf; border-radius: 9px; font-size: 14px; }
.bootstrap-select .btn:focus { border-color: var(--flm-green); box-shadow: 0 0 0 3px rgba(39,174,96,.16); }
.select2-container--default .select2-selection--single { height: 44px; padding: 7px 10px; background: #fff; border: 1px solid #cfded2; border-radius: 11px; box-shadow: 0 4px 12px rgba(20,46,29,.07); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 2px; line-height: 28px; color: var(--flm-ink); font-size: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--flm-green); box-shadow: 0 0 0 3px rgba(39,174,96,.16); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { color: #176a36; background: #edf7ef; }
.select2-dropdown { overflow: hidden; padding: 8px; border: 1px solid #dce7de; border-radius: 12px; box-shadow: 0 16px 36px rgba(20,46,29,.19); }
.select2-container--default .select2-search--dropdown { padding: 0 0 7px; }
.select2-container--default .select2-search--dropdown .select2-search__field { height: 40px; padding: 0 11px; background: #fbfdfb; border: 1px solid #d7e3d9; border-radius: 9px; outline: 0; font-size: 13px; }
.select2-container--default .select2-results__option { padding: 9px 10px; border-radius: 8px; color: #34483a; font-size: 13px; }
.select2-container--default .select2-results__option[aria-selected="true"] { color: #176a36; background: #e7f4ea; font-weight: 700; }
.select2-container--default .select2-results__message { padding: 12px 9px; color: var(--flm-muted); font-size: 12px; text-align: center; }
.bootbox-body h1 { text-align: center; font-weight: 700; }
.bootbox-body p { color: var(--flm-ink); font-size: 15px; font-weight: 650; }
.bootbox-body b { color: var(--flm-red); }

/* Responsive layout */
@media (max-width: 900px) {
    .flm-page-container { padding-top: 25px; }
    .flm-dashboard-grid { grid-template-columns: 1fr; gap: 14px; }
    .flm-section-menu { padding: 8px 10px; background: #fff; border-color: #ddd; border-radius: 4px; box-shadow: none; }
    .flm-mobile-menu-header { position: relative; display: block; float: none; width: 100%; min-height: 44px; margin: 0; }
    .flm-mobile-menu-title { position: absolute; top: 50%; left: 4px; transform: translateY(-50%); color: #444; font-size: 14px; font-weight: 600; }
    .flm-menu-toggle { position: absolute; top: 50%; right: 0; display: block; float: none; width: 44px; height: 36px; margin: 0; padding: 7px 10px; transform: translateY(-50%); }
    .flm-burger-icon { display: flex; flex-direction: column; justify-content: center; gap: 4px; flex: 0 0 22px; height: 22px; }
    .flm-menu-toggle .icon-bar { display: block; flex: 0 0 2px; width: 22px; height: 2px; margin: 0; background-color: #666; }
    .flm-menu-collapse.collapse { display: none !important; height: 0 !important; }
    .flm-menu-collapse.collapse.in { display: block !important; height: auto !important; }
    .flm-menu-collapse.navbar-collapse { margin: 8px 0 0; padding: 8px 0 0; border-top: 1px solid #dce8df; box-shadow: none; }
    .flm-menu-label { display: none; }
    #temoignages_tab.nav-tabs { display: flex; flex-direction: column; gap: 4px; }
    #temoignages_tab.nav-tabs > li { width: 100%; min-width: 0; }
    #temoignages_tab.nav-tabs > li > a { min-height: 44px; padding: 9px 10px; flex-direction: row; justify-content: flex-start; gap: 10px; font-size: 13px; text-align: left; white-space: normal; }
}
@media (max-width: 600px) {
    body.flm-app { padding-top: 68px; }
    .flm-topbar { min-height: 68px; padding: 8px 14px; gap: 8px; }
    .flm-brand { gap: 9px; }
    .flm-brand-logo { width: 40px; height: 40px; flex-basis: 40px; }
    .flm-brand-copy strong { font-size: 12px; }
    .flm-brand-copy small { font-size: 9px; }
    .flm-topbar-actions { gap: 8px; }
    .flm-logout { padding: 8px 9px; font-size: 0; }
    .flm-logout .fa { font-size: 14px; }
    .flm-page-container { padding: 22px 12px 32px; }
    .flm-page-heading { min-height: 46px; margin-bottom: 14px; }
    .flm-page-heading h1 { max-width: none; font-size: 25px; }
    .flm-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .flm-kpi-card { gap: 8px; padding: 12px 9px; border-radius: 11px; }
    .flm-kpi-icon { flex-basis: 30px; width: 30px; height: 30px; border-radius: 9px; font-size: 13px; }
    .flm-kpi-card p { font-size: 10px; }
    .flm-kpi-card strong { font-size: 21px; }
    .flm-kpi-card small { font-size: 9px; line-height: 1.35; }
    .flm-dashboard-view { gap: 11px; }
    .flm-dashboard-intro { align-items: flex-start; flex-direction: column; gap: 8px; }
    .flm-dashboard-intro h2 { font-size: 22px; }
    .flm-dashboard-intro p:last-child { font-size: 11px; }
    .flm-dashboard-updated { padding: 6px 8px; font-size: 10px; }
    .flm-dashboard-filters { padding: 12px; }
    .flm-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .flm-filter-submit { width: 100%; }
    .flm-dashboard-panels { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .flm-stat-panel { padding: 13px 12px; border-radius: 12px; }
    .flm-stat-panel > header { margin-bottom: 12px; }
    .flm-donut-layout { gap: 10px; min-height: 148px; }
    .flm-donut { width: 138px; height: 138px; flex-basis: 138px; }
    .flm-donut-legend { gap: 7px; }
    .flm-donut-legend > div { font-size: 9px; }
    .flm-column-chart { min-height: 170px; }
    .flm-column-track { height: 100px; }
    .flm-legal-panel, .flm-quality-panel { grid-column: auto; }
    .flm-legal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .flm-legal-stat { padding: 9px; }
    .flm-legal-heading { align-items: flex-start; font-size: 9px; }
    .flm-legal-heading strong { font-size: 14px; }
    .flm-quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .flm-quality-grid > div { padding: 9px; }
    .flm-quality-grid strong { font-size: 18px; }
    .flm-quality-grid span { font-size: 9px; }
    .flm-dashboard-grid, .flm-section-menu, .flm-workarea { min-width: 0; width: 100%; max-width: 100%; }
    .flm-section-menu { overflow: visible; padding: 7px; border-radius: 12px; }
    #temoignages_tab.nav-tabs { width: 100%; max-width: 100%; min-width: 0; }
    #temoignages_tab.nav-tabs > li { width: 100%; }
    #temoignages_tab.nav-tabs > li > a { width: 100%; min-height: 44px; flex-direction: row; justify-content: flex-start; gap: 10px; padding: 9px 10px; font-size: 13px; text-align: left; }
    #temoignages_tab.nav-tabs > li > a > .fa { width: auto; font-size: 14px; }
    #temoignages_content.in.active > .btn-add { align-self: stretch; justify-content: center; margin-bottom: 10px; }
    .dataTables_wrapper { padding: 12px; border-radius: 12px; }
    .dataTables_wrapper > .row:first-child { margin-bottom: 11px; }
    .dataTables_wrapper > .row > [class*="col-"] { width: 100%; flex: 0 0 100%; }
    .dataTables_wrapper .dataTables_filter { margin-top: 9px; text-align: left; }
    .dataTables_wrapper .dataTables_filter label { width: 100%; justify-content: space-between; }
    .dataTables_wrapper .dataTables_filter input { width: min(62vw, 230px); }
    .dataTables_wrapper .table-responsive {
        max-height: min(62vh, 640px); overflow: auto; border: 0;
        overscroll-behavior: contain; scrollbar-width: thin;
    }
    .dataTables_wrapper table.flm-mobile-card-table,
    .table-responsive > table.flm-mobile-card-table { display: block; width: 100% !important; border: 0; }
    .flm-mobile-card-table > thead { display: none; }
    .flm-mobile-card-table > tbody { display: grid; gap: 9px; }
    .flm-mobile-card-table > tbody > tr {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px;
        padding: 11px; background: #fff !important; border: 1px solid var(--flm-line);
        border-radius: 11px; box-shadow: 0 2px 7px rgba(39,174,96,.05);
    }
    .flm-mobile-card-table > tbody > tr > td {
        width: auto !important; min-width: 0; padding: 6px 2px; display: flex;
        flex-direction: column; gap: 3px; overflow-wrap: anywhere; background: transparent !important;
        border: 0 !important; white-space: normal !important; font-size: 12px;
    }
    .flm-mobile-card-table > tbody > tr > td::before {
        content: attr(data-mobile-label); color: var(--flm-muted); font-size: 9px;
        font-weight: 750; letter-spacing: .07em; text-transform: uppercase;
    }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="ID"] { display: none; }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="N° de fiche"] { grid-column: 1 / -1; }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="Date de naissance"] { grid-column: 1 / -1; }
    .flm-mobile-card-table > tbody > tr > td[colspan] {
        display: block !important; grid-column: 1 / -1; color: var(--flm-ink);
        background: #e8f5ec !important; border-radius: 8px; font-weight: 700;
    }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="Actions"] {
        grid-column: 1 / -1; align-items: center; flex-direction: row; justify-content: flex-end;
        padding-top: 8px; border-top: 1px solid var(--flm-line) !important;
    }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="Actions"]::before { content: "Actions"; margin-right: auto; }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="Actions"] .btn { margin: 0 0 0 5px; }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="Actions"] .btn {
        box-sizing: border-box; width: 44px; min-width: 44px; height: 44px; min-height: 44px;
        padding: 0; display: inline-flex; align-items: center; justify-content: center;
        border-radius: 50% !important; line-height: 1; vertical-align: middle;
        box-shadow: 0 2px 5px rgba(20, 46, 29, .12);
    }
    .flm-mobile-card-table > tbody > tr > td[data-mobile-label="Actions"] .btn > i {
        display: block; margin: 0; line-height: 1; font-size: 14px;
    }
    .flm-mobile-card-table > tbody > tr > td:only-child { grid-column: 1 / -1; }
    .dataTables_wrapper .table-responsive {
        max-height: min(62vh, 640px); overflow: auto; border: 0;
        overscroll-behavior: contain; scrollbar-width: thin;
    }
    #temoignages_content.in.active::after {
        content: ""; position: fixed; z-index: 1039; right: 0; bottom: 0; left: 0; height: 84px;
        border-top: 1px solid rgba(216, 228, 220, .9);
        background: linear-gradient(180deg, rgba(243, 246, 243, .72), #f3f6f3 42%);
        backdrop-filter: blur(8px); pointer-events: none;
    }
    #temoignages_content.in.active > .btn-add {
        position: fixed; z-index: 1040; right: calc(18px + env(safe-area-inset-right));
        bottom: calc(14px + env(safe-area-inset-bottom)); width: 52px; height: 52px; min-height: 52px;
        margin: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center;
        border: 0; border-radius: 50% !important;
        box-shadow: 0 5px 16px rgba(20, 46, 29, .24); font-size: 0; line-height: 1;
    }
    #temoignages_content.in.active > .btn-add > i,
    #bagawebModal .tab-pane.active .btn-add > i {
        position: static; width: auto; height: auto; margin: 0; display: inline-flex;
        align-items: center; justify-content: center; font-size: 17px; line-height: 1;
    }
    /* Keep the final member card scrollable above the fixed add action. */
    #temoignages_content.in.active { padding-bottom: 78px; }
    #temoignages_content.in.active .dataTables_wrapper { padding-bottom: 86px; }
    .dataTables_wrapper .dataTables_info { padding-top: 3px; font-size: 11px; }
    .dataTables_wrapper .dataTables_paginate { margin-top: 9px; float: none; text-align: left; }
    .dataTables_wrapper .pagination > li > a, .dataTables_wrapper .pagination > li > span { min-width: 34px; min-height: 34px; padding: 6px 8px; }
    .dataTables_wrapper table > thead > tr > th { padding: 11px 10px; font-size: 9px; }
    .dataTables_wrapper table > tbody > tr > td { padding: 11px 10px; font-size: 12px; }
    .table-responsive { max-height: min(62vh, 640px); overflow: auto; border-radius: 9px; }
    .panel-area_zanaka, .panel-body, .modal-body { padding: 15px; }
    .flm-report-panel { border-radius: 12px; }
    .modal-dialog { margin: 10px auto; max-height: calc(100vh - 20px); }
    .modal-content { max-height: calc(100vh - 20px); }
    #bagawebModal .modal-dialog, #zanakaModal .modal-dialog, #taizaModal .modal-dialog { width: calc(100% - 16px) !important; }
    #bagawebModal #zanaka, #bagawebModal #taiza { padding-bottom: 68px; }
    #bagawebModal .tab-pane.active .btn-add {
        position: fixed; z-index: 1060; right: calc(28px + env(safe-area-inset-right));
        bottom: calc(72px + env(safe-area-inset-bottom)); width: 52px; height: 52px; min-height: 52px;
        margin: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center;
        border: 0; border-radius: 50% !important;
        box-shadow: 0 5px 16px rgba(20, 46, 29, .24); font-size: 0; line-height: 1;
    }
}

/* Report preview: retain the selected filters while showing the print layout. */
.flm-pdf-preview-modal .modal-dialog { width: min(1180px, calc(100vw - 28px)); margin: 14px auto; }
.flm-pdf-preview-modal .modal-content { display: flex; flex-direction: column; height: calc(100vh - 28px); }
.flm-pdf-preview-modal .modal-header, .flm-pdf-preview-modal .modal-footer { flex: 0 0 auto; }
.flm-pdf-preview-modal .modal-body { min-height: 0; flex: 1 1 auto; padding: 0; background: #e8eee9; }
.flm-pdf-preview-modal iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
@media (max-width: 767px) {
  .flm-pdf-preview-modal .modal-dialog { width: 100%; height: 100%; margin: 0; }
  .flm-pdf-preview-modal .modal-content { height: 100vh; border-radius: 0; }
  .flm-pdf-preview-modal .modal-footer { display: flex; gap: 8px; }
  .flm-pdf-preview-modal .modal-footer .btn { flex: 1; white-space: normal; }
}

/* Keep edit and delete actions circular on every mobile table, including the live members table. */
@media (max-width: 767px) {
    .flm-mobile-card-table tbody tr > td:last-child > a.btn,
    #temoignagesDataTable tbody tr > td:last-child > a.btn,
    #bagawebModal .table-responsive table tbody tr > td:last-child > a.btn {
        box-sizing: border-box; width: 44px; min-width: 44px; height: 44px; min-height: 44px;
        padding: 0; display: inline-flex; align-items: center; justify-content: center;
        border-radius: 50% !important; line-height: 1; vertical-align: middle;
    }
    .flm-mobile-card-table tbody tr > td:last-child > a.btn > i,
    #temoignagesDataTable tbody tr > td:last-child > a.btn > i,
    #bagawebModal .table-responsive table tbody tr > td:last-child > a.btn > i {
        display: inline-flex; align-items: center; justify-content: center; margin: 0; line-height: 1;
    }
}

/* The primary hamburger is anchored to the fixed header on every screen size. */
.flm-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
.flm-header-nav-slot { display: flex; flex: 0 0 auto; align-items: center; position: relative; order: -1; }
.flm-brand { order: 1; }
.flm-topbar-actions { order: 3; }
.flm-topbar { justify-content: flex-start; }
.flm-header-nav-slot { order: 0; }
.flm-brand { margin-right: auto; }
.flm-topbar-actions { margin-left: 0; }
.flm-section-menu {
    position: relative; width: auto; min-width: 0; padding: 0; background: transparent;
    border: 0; border-radius: 0; box-shadow: none;
}
.flm-mobile-menu-header { display: block; position: relative; float: none; width: 44px; min-height: 44px; margin: 0; }
.flm-mobile-menu-title { display: none; }
.flm-menu-toggle {
    position: relative; top: auto; right: auto; display: flex; float: none; align-items: center; justify-content: center;
    width: 44px; height: 44px; margin: 0; padding: 10px; transform: none;
    background: transparent; border: 0; border-radius: 8px;
}
.flm-menu-toggle:hover, .flm-menu-toggle:focus { background: rgba(255,255,255,.16); }
.flm-menu-toggle:focus-visible { outline: 2px solid rgba(255,255,255,.9); outline-offset: 2px; }
.flm-burger-icon { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 24px; height: 24px; }
.flm-menu-toggle .flm-burger-line { display: block; width: 24px; height: 2px; margin: 0; background: #fff; border-radius: 2px; }
.flm-menu-collapse.collapse { display: none !important; height: 0 !important; }
.flm-menu-collapse.collapsing { height: auto !important; }
.flm-menu-collapse.collapse.in { display: block !important; height: auto !important; visibility: visible; transform: translateX(0); }
.flm-menu-collapse.navbar-collapse {
    position: fixed; inset: 0 auto 0 0; right: auto; z-index: 1040;
    width: min(320px, 88vw); max-height: none; overflow-y: auto; visibility: hidden;
    margin: 0; padding: 14px 12px; background: #fff; border: 1px solid var(--flm-line);
    border-left: 0; border-radius: 0 16px 16px 0; box-shadow: 0 16px 36px rgba(20,46,29,.22);
    transform: translateX(-102%); transition: transform .24s ease, visibility .24s ease;
}
.flm-menu-label { display: none; }
.flm-menu-backdrop {
    position: fixed; z-index: 1031; inset: 0; width: 100%; margin: 0; padding: 0;
    background: rgba(18,34,23,.38); border: 0; cursor: default; backdrop-filter: blur(2px);
}
.flm-menu-backdrop[hidden] { display: none !important; }
.flm-menu-close { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 0 12px auto; padding: 0; color: var(--flm-muted); background: #f3f8f4; border: 1px solid var(--flm-line); border-radius: 10px; }
.flm-menu-close:hover, .flm-menu-close:focus { color: var(--flm-ink); background: var(--flm-gold-pale); }
.flm-language-select{min-height:38px;padding:0 32px 0 10px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:12px;font-weight:650;cursor:pointer;}
.flm-language-select option{background:#fff;color:#20352a;}
@media(max-width:640px){.flm-topbar-actions{gap:7px}.flm-language-select{min-height:35px;padding-left:7px;padding-right:24px;font-size:11px}}
