/* AWDACO MIS — global responsive hardening (loaded last) */

:root {
    --awdaco-page-pad: clamp(10px, 2.2vw, 24px);
}

html,
body,
.fi-body {
    max-width: 100%;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.fi-layout,
.fi-main,
.fi-main-ctn,
.fi-page,
.fi-page-content,
.fi-section,
.fi-fo-section,
.fi-wi,
.fi-ta-ctn,
.fi-modal-window,
.awdaco-dashboard,
.erp-dashboard,
.profile-redesign,
.bm-page,
.mis-ops-reports {
    min-width: 0 !important;
    max-width: 100% !important;
}

img,
svg,
video {
    max-width: 100%;
    height: auto;
}

/* Chart canvases keep parent-driven height; only cap width. */
canvas {
    max-width: 100%;
}

/* ---------- Topbar / search (Filament 5: .fi-topbar-ctn > nav.fi-topbar) ---------- */
.fi-topbar-ctn {
    position: sticky !important;
    top: 0 !important;
    z-index: 60 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
}

nav.fi-topbar,
.fi-topbar {
    display: flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Desktop: keep Filament logo + sidebar collapse controls on the left */
.fi-topbar-start {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 0.5rem !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin-inline-end: 0.5rem !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-topbar-start .fi-logo,
.fi-topbar-start .fi-logo img,
.fi-topbar-start a img {
    display: block !important;
    height: 2.35rem !important;
    width: auto !important;
    max-width: 9.5rem !important;
    object-fit: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-topbar-collapse-sidebar-btn-ctn,
.fi-topbar-open-collapse-sidebar-btn,
.fi-topbar-close-collapse-sidebar-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Respect Alpine x-show hide state on collapse toggles */
.fi-topbar-start [x-cloak],
.fi-topbar-start [style*='display: none'] {
    display: none !important;
}

.fi-topbar-end {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    margin-inline-start: auto !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mis-topbar-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    flex: 1 1 auto !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mis-topbar-tools {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    min-width: 0 !important;
}

.mis-super-search,
.mis-super-search-box {
    min-width: 0 !important;
    max-width: 100% !important;
}

.mis-super-search-box {
    width: min(34rem, 100%) !important;
}

.mis-super-search-panel {
    left: auto !important;
    right: 0 !important;
    width: min(38rem, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
}

.mis-topbar-chip,
.mis-topbar-create,
.mis-topbar-create-label {
    max-width: 100%;
    box-sizing: border-box;
}

.mis-topbar-chip,
.mis-topbar-create-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mis-topbar-create {
    position: relative !important;
    flex: 0 0 auto !important;
}

.mis-topbar-create-menu {
    max-width: min(92vw, 280px);
    z-index: 120;
}

/* Quick Create dropdown motion (Alpine x-transition classes) */
.mis-topbar-menu-enter {
    transition: opacity 200ms ease, transform 200ms ease;
}

.mis-topbar-menu-enter-start,
.mis-topbar-menu-leave-end {
    opacity: 0;
    transform: translateY(-0.35rem);
}

.mis-topbar-menu-enter-end,
.mis-topbar-menu-leave-start {
    opacity: 1;
    transform: translateY(0);
}

.mis-topbar-menu-leave {
    transition: opacity 150ms ease, transform 150ms ease;
}

/* Custom mis-super-search owns the topbar search slot — hide Filament's native one everywhere */
.fi-topbar .fi-global-search,
.fi-topbar .fi-global-search-field,
.fi-topbar-end > .fi-global-search {
    display: none !important;
}

/* Keep native topbar controls readable on the light SaaS bar */
.fi-topbar .fi-icon-btn,
.fi-topbar .fi-dropdown-trigger button,
.fi-topbar .fi-database-notifications-btn,
.fi-topbar .fi-user-menu-trigger,
.fi-topbar .fi-user-menu-trigger button,
.fi-topbar button[aria-label*='notification' i],
.fi-topbar .fi-topbar-open-sidebar-btn,
.fi-topbar .fi-topbar-close-sidebar-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    color: #2B337E !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-topbar .fi-icon-btn svg,
.fi-topbar .fi-database-notifications-btn svg,
.fi-topbar button[aria-label*='notification' i] svg,
.fi-topbar .fi-user-menu-trigger svg {
    color: #2B337E !important;
    stroke: #2B337E !important;
}

.fi-topbar .fi-avatar {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    object-fit: cover !important;
}

/* Smooth mobile sidebar (hamburger) open/close */
@media (max-width: 1023px) {
    .fi-sidebar,
    .fi-main-sidebar {
        transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
                    visibility 280ms ease,
                    opacity 280ms ease !important;
        will-change: transform;
    }

    .fi-sidebar-close-overlay {
        transition: opacity 240ms ease, visibility 240ms ease !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fi-sidebar,
    .fi-main-sidebar,
    .fi-sidebar-close-overlay,
    .mis-topbar-menu-enter,
    .mis-topbar-menu-leave {
        transition: none !important;
    }
}

/* Laptop: progressively collapse secondary chips to prevent overflow */
@media (max-width: 1400px) and (min-width: 1025px) {
    .mis-super-search-box {
        width: min(26rem, 100%) !important;
    }

    .mis-topbar-chip.is-secondary:not(.mis-topbar-alert) {
        display: none !important;
    }
}

@media (max-width: 1280px) and (min-width: 1025px) {
    .mis-super-search-box {
        width: min(20rem, 100%) !important;
    }

    .mis-super-search-shortcut {
        display: none !important;
    }

    .mis-topbar-chip.is-secondary {
        display: none !important;
    }

    .mis-topbar-today .mis-topbar-chip-label {
        display: none;
    }

    nav.fi-topbar,
    .fi-topbar {
        padding-inline: 14px !important;
    }

    .mis-topbar-actions,
    .mis-topbar-tools {
        gap: 0.4rem !important;
    }
}

@media (max-width: 1180px) and (min-width: 1025px) {
    .mis-topbar-today {
        display: none !important;
    }

    .mis-super-search-box {
        width: min(16rem, 100%) !important;
    }
}

/* ---------- Tables / lists ---------- */
.fi-ta,
.fi-ta-ctn {
    max-width: 100% !important;
    overflow: visible !important; /* allow Filters dropdown to escape the card */
}

.fi-ta-content,
.fi-ta-table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}

.fi-ta table {
    width: 100%;
    min-width: 640px;
}

.fi-header-actions,
.fi-ta-actions,
.fi-ac,
.fi-fo-actions,
.fi-page-header-actions {
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    max-width: 100%;
}

/* Keep layout helpers, but never override Alpine x-show / x-cloak hide state. */
.fi-header-actions:not([x-cloak]):not([style*='display: none']),
.fi-ta-actions:not([x-cloak]):not([style*='display: none']),
.fi-ac:not([x-cloak]):not([style*='display: none']),
.fi-fo-actions:not([x-cloak]):not([style*='display: none']),
.fi-page-header-actions:not([x-cloak]):not([style*='display: none']) {
    display: flex !important;
}

/* Keep Filament table toolbar layout intact (search + filter stay on one aligned row). */
.fi-ta-header-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    max-width: 100%;
}

.fi-ta-header-toolbar > *:not([x-cloak]):not([style*='display: none']) {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    min-width: 0 !important;
}

.fi-btn,
.fi-icon-btn,
.mis-topbar-chip,
.mis-topbar-create-label,
.awdaco-hero-actions a,
.profile-edit-cta {
    min-height: 44px;
}

/* Compact table toolbar controls must match the search field height */
.fi-ta-header-toolbar .fi-icon-btn,
.fi-ta-header-toolbar .fi-btn.fi-icon-btn,
.fi-ta-filters-dropdown > .fi-icon-btn,
.fi-ta-filters-dropdown > button {
    min-height: 2.5rem !important;
}

/* ---------- Forms ---------- */
.fi-fo-component-ctn,
.fi-fo-field-wrp,
.fi-input-wrp,
.fi-select-input,
.fi-textarea,
.filepond--root {
    max-width: 100% !important;
    min-width: 0 !important;
}

.fi-modal-window {
    width: min(100% - 16px, var(--width, 56rem)) !important;
    max-height: calc(100dvh - 16px) !important;
    overflow: auto !important;
}

/* ---------- Dashboard / profile / backup ---------- */
.awdaco-kpi-grid,
.awdaco-kpi-grid-assets,
.awdaco-kpi-grid-inventory,
.awdaco-chart-grid,
.awdaco-work-grid,
.awdaco-table-grid,
.awdaco-action-grid,
.erp-kpi-grid,
.erp-chart-row,
.erp-third-row,
.erp-bottom-row,
.erp-mini-grid,
.misBusiness-card-grid,
.misBusiness-alert-grid,
.misBusiness-action-grid,
.misBusiness-metrics,
.mis-ops-reports__grid,
.profile-summary-card,
.profile-main-grid,
.profile-lower-grid,
.profile-bottom-grid,
.profile-nav-cards,
.bm-layout {
    min-width: 0 !important;
}

.awdaco-line-chart,
.awdaco-bar-chart,
.awdaco-donut-wrap,
.erp-line-chart,
.erp-donut,
.fi-wi-chart,
.fi-wi-chart canvas,
.fi-wi-chart svg {
    max-width: 100% !important;
    min-width: 0 !important;
}

.awdaco-table-wrap,
.erp-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.bm-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px) !important;
}

.erp-chart-row,
.erp-third-row,
.erp-bottom-row,
.misBusiness-report-hero,
.profile-grid-3,
.profile-grid-2,
.profile-field-grid-2,
.profile-field-grid-3 {
    min-width: 0 !important;
    max-width: 100% !important;
}

.erp-chart-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1fr) !important;
}

.erp-third-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, .85fr) !important;
}

.misBusiness-report-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 520px) !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 1280px) {
    .awdaco-kpi-grid-inventory,
    .awdaco-kpi-grid-assets {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .awdaco-chart-grid,
    .awdaco-work-grid,
    .profile-main-grid,
    .erp-chart-row,
    .erp-third-row,
    .erp-bottom-row,
    .misBusiness-report-hero,
    .profile-grid-3 {
        grid-template-columns: 1fr !important;
    }

    .profile-summary-card,
    .profile-lower-grid,
    .profile-bottom-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .profile-nav-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .bm-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 641px) and (max-width: 1024px) {
    .awdaco-kpi-grid,
    .awdaco-kpi-grid-assets,
    .awdaco-kpi-grid-inventory,
    .erp-kpi-grid,
    .awdaco-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1024px) {
    /* Keep the current light SaaS topbar — do not reintroduce the brand gradient
       (that caused the thin red stripe on the right edge of mobile/tablet). */
    .fi-topbar-ctn {
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    nav.fi-topbar,
    .fi-topbar {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        min-height: auto !important;
        padding: 10px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        background: #ffffff !important;
        background-image: none !important;
        border-bottom: 1px solid rgba(16, 24, 40, 0.08) !important;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    }

    .fi-topbar::before,
    .fi-topbar::after {
        content: none !important;
        display: none !important;
    }

    /*
     * Mobile topbar composition (Filament 5 DOM):
     * nav.fi-topbar > [menu btn] + .fi-topbar-end
     * .fi-topbar-end > search + tools + bell + avatar
     * [menu] [search............] [bell][avatar]
     * [low stock] [Quick Create................]
     */
    /* Mobile uses the hamburger; hide desktop logo/collapse cluster */
    .fi-topbar-start {
        display: none !important;
    }

    .fi-topbar-open-sidebar-btn,
    .fi-topbar .fi-topbar-open-sidebar-btn,
    .fi-topbar button.fi-topbar-open-sidebar-btn,
    .fi-topbar .fi-icon-btn.fi-topbar-open-sidebar-btn {
        flex: 0 0 auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        border-radius: 12px !important;
        order: 1 !important;
    }

    .fi-topbar-close-sidebar-btn {
        order: 1 !important;
    }

    .fi-topbar-end {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin: 0 !important;
        margin-inline-start: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        order: 2 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .mis-topbar-actions {
        display: contents !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .mis-super-search {
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        order: 1 !important;
    }

    .mis-super-search-box {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 44px !important;
        min-height: 44px !important;
        padding-inline: 0.75rem !important;
    }

    .mis-super-search-box input {
        min-width: 0 !important;
        font-size: 16px !important; /* prevents iOS zoom on focus */
    }

    .mis-super-search-shortcut {
        display: none !important;
    }

    .fi-topbar .fi-database-notifications-btn,
    .fi-topbar button[aria-label*='notification' i],
    .fi-topbar button[aria-label*='Notification' i],
    .fi-topbar .fi-user-menu,
    .fi-topbar .fi-user-menu-trigger,
    .fi-topbar .fi-user-menu-trigger button {
        flex: 0 0 auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border-radius: 12px !important;
        order: 2 !important;
    }

    .fi-topbar .fi-avatar {
        width: 36px !important;
        height: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;
    }

    .mis-topbar-tools {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        order: 3 !important;
    }

    .mis-topbar-today,
    .mis-topbar-chip.is-secondary {
        display: none !important;
    }

    .mis-topbar-chip {
        max-width: none !important;
        width: auto !important;
        min-width: 0 !important;
        justify-content: center !important;
        height: 44px !important;
        min-height: 44px !important;
        border-radius: 12px !important;
        flex: 1 1 auto !important;
    }

    /* Logo scales cleanly inside the hamburger-opened sidebar */
    .erp-sidebar-brand {
        padding: 10px 8px 12px !important;
    }

    .erp-sidebar-brand-logo {
        height: clamp(2rem, 7vw, 2.5rem) !important;
        width: auto !important;
        max-width: min(9.5rem, 70%) !important;
    }

    .mis-topbar-create-menu {
        position: absolute !important;
        top: calc(100% + 0.4rem) !important;
        right: 0 !important;
        left: auto !important;
        width: min(100vw - 24px, 280px) !important;
        max-width: min(100vw - 24px, 280px) !important;
    }

    .fi-topbar button,
    .fi-topbar a,
    .fi-topbar svg,
    .fi-topbar span,
    .fi-topbar label {
        color: #344054 !important;
    }

    .mis-topbar-create,
    .mis-topbar-create-label,
    .mis-topbar-create span {
        color: #ffffff !important;
    }

    .fi-topbar .fi-topbar-item-btn,
    .fi-topbar .fi-database-notifications-btn,
    .fi-topbar button[aria-label*='notification' i],
    .fi-topbar button[aria-label*='Notification' i],
    .fi-topbar .fi-topbar-item-btn svg,
    .fi-topbar .fi-database-notifications-btn svg,
    .fi-topbar button[aria-label*='notification' i] svg {
        color: #2B337E !important;
        stroke: #2B337E !important;
        opacity: 1 !important;
    }

    .bm-header {
        gap: 12px !important;
    }

    .bm-header-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .bm-header-actions .bm-settings {
        width: 100% !important;
        justify-content: center !important;
    }

    .awdaco-kpi-grid,
    .awdaco-kpi-grid-assets,
    .awdaco-kpi-grid-inventory,
    .awdaco-action-grid,
    .misBusiness-action-grid-full,
    .erp-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .awdaco-donut-wrap,
    .awdaco-panel:has(.awdaco-donut-svg) .awdaco-donut-wrap,
    .awdaco-panel:has(.awdaco-warehouse-donut) .awdaco-donut-wrap {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
    }

    .awdaco-donut,
    .awdaco-warehouse-donut {
        width: min(190px, 70vw) !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 !important;
    }

    .fi-page-header,
    .fi-header {
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
    }

    .fi-page-header-actions,
    .fi-header-actions {
        width: 100%;
    }

    .fi-fo-component-ctn > .grid,
    .fi-section-content .grid,
    .fi-fo-section-content .grid,
    .fi-sc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .profile-summary-card,
    .profile-main-grid,
    .profile-lower-grid,
    .profile-bottom-grid {
        grid-template-columns: 1fr !important;
    }

    .profile-nav-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
    .fi-main,
    .fi-page-content,
    .fi-section-content,
    .awdaco-dashboard,
    .erp-dashboard,
    .profile-redesign,
    .bm-page {
        padding-inline: max(var(--awdaco-page-pad), env(safe-area-inset-left)) max(var(--awdaco-page-pad), env(safe-area-inset-right)) !important;
    }

    .awdaco-dashboard,
    .erp-dashboard,
    .awdaco-kpi-card,
    .awdaco-more-card,
    .awdaco-kpi-grid > *,
    .awdaco-kpi-grid-assets > *,
    .awdaco-kpi-grid-inventory > * {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .awdaco-chart-grid,
    .awdaco-work-grid,
    .awdaco-table-grid,
    .erp-mini-grid,
    .misBusiness-card-grid,
    .misBusiness-card-grid.two,
    .misBusiness-alert-grid,
    .misBusiness-action-grid,
    .misBusiness-metrics,
    .mis-ops-reports__grid,
    .profile-nav-cards,
    .profile-summary-card,
    .profile-main-grid,
    .profile-lower-grid,
    .profile-bottom-grid,
    .profile-detail-grid,
    .profile-account-form,
    .bm-actions,
    .bm-summary,
    .bm-strip,
    .bm-side,
    .bm-layout {
        grid-template-columns: 1fr !important;
    }

    .awdaco-kpi-card,
    .awdaco-more-card {
        min-height: 0 !important;
        padding: 14px !important;
    }

    .awdaco-kpi-card strong {
        font-size: clamp(1.15rem, 5vw, 1.55rem) !important;
    }

    .awdaco-hero,
    .awdaco-panel-head,
    .awdaco-section-title,
    .erp-card-head,
    .misBusiness-card-head,
    .profile-topbar,
    .profile-summary-person,
    .bm-header,
    .bm-card-head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
    }

    .awdaco-hero-actions,
    .awdaco-hero-actions a,
    .erp-report-controls,
    .erp-report-controls button,
    .profile-edit-cta {
        width: 100% !important;
    }

    .mis-topbar-create-menu {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }

    /* Keep Filament user / notification dropdowns inside the viewport */
    .fi-topbar .fi-dropdown-panel,
    .fi-dropdown-panel {
        max-width: min(100vw - 16px, 22rem) !important;
    }

    .fi-fo-component-ctn > .grid,
    .fi-section-content .grid,
    .fi-fo-section-content .grid,
    .fi-sc > .grid,
    .fi-sc-grid,
    [class*='fi-sc'][class*='grid'],
    .fi-fo-repeater-item .grid {
        grid-template-columns: 1fr !important;
    }

    .fi-ta table {
        min-width: 560px;
    }

    .fi-ta-header-cell,
    .fi-ta-cell {
        padding-inline: 0.65rem !important;
    }

    .fi-section,
    .fi-fo-section,
    .fi-ta-ctn,
    .awdaco-panel,
    .erp-card,
    .misBusiness-card {
        border-radius: 14px !important;
    }

    .awdaco-hero h2,
    .fi-header-heading,
    .fi-page-heading,
    .bm-header h1,
    .profile-topbar h1 {
        font-size: clamp(1.25rem, 5.5vw, 1.75rem) !important;
        line-height: 1.2 !important;
    }

    .mis-super-search-panel {
        position: fixed !important;
        top: auto !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-width: none !important;
        max-height: min(70dvh, 28rem) !important;
    }

    .fi-sidebar {
        width: min(88vw, 20rem) !important;
        max-width: 20rem !important;
    }

    .erp-sidebar-search-box {
        width: 100% !important;
    }

    .awdaco-more-card {
        display: grid !important;
        gap: 0.55rem !important;
    }

    .awdaco-more-card em {
        display: flex !important;
        justify-content: space-between !important;
        gap: 0.75rem !important;
        min-width: 0 !important;
    }

    .awdaco-more-card em b,
    .awdaco-more-card em strong {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
    }

    .profile-summary-avatar {
        width: 88px !important;
        height: 88px !important;
        border-radius: 22px !important;
    }

    .profile-summary-group {
        border-left: 0 !important;
        padding-left: 0 !important;
    }
}

@media (max-width: 640px) {
    .awdaco-kpi-grid,
    .awdaco-kpi-grid-assets,
    .awdaco-kpi-grid-inventory,
    .erp-kpi-grid,
    .awdaco-action-grid,
    .misBusiness-action-grid-full,
    .profile-field-grid-2,
    .profile-field-grid-3,
    .profile-grid-2,
    .profile-grid-3,
    .bm-actions,
    .bm-summary,
    .bm-strip {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .awdaco-kpi-card,
    .awdaco-more-card,
    .erp-kpi,
    .misBusiness-metric {
        min-height: 0 !important;
        padding: 12px 14px !important;
    }

    .awdaco-kpi-card strong,
    .erp-kpi-value,
    .misBusiness-metric-value {
        font-size: clamp(1.1rem, 5vw, 1.4rem) !important;
        line-height: 1.15 !important;
    }

    .awdaco-hero {
        padding: 14px !important;
        border-radius: 16px !important;
        gap: 0.65rem !important;
    }

    .awdaco-hero h2 {
        font-size: clamp(1.15rem, 5vw, 1.45rem) !important;
        margin: 8px 0 4px !important;
    }

    .awdaco-section-title {
        margin-bottom: 8px !important;
    }

    .fi-login-card,
    .fi-simple-card,
    .fi-simple-main {
        width: 100% !important;
        max-width: calc(100% - 1.5rem) !important;
        margin-inline: auto !important;
    }

    .fi-ta-actions,
    .fi-ta-header-actions,
    .fi-page-header-actions {
        width: 100% !important;
    }

    .fi-page-header-actions .fi-btn,
    .fi-header-actions .fi-btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .fi-ta-actions .fi-btn:not(.fi-icon-btn),
    .fi-ta-selection-indicator .fi-btn {
        flex: 0 0 auto !important;
        width: auto !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 480px) {
    .mis-topbar-chip-label {
        display: none;
    }

    .mis-topbar-create-label span:last-child {
        display: none;
    }

    .mis-topbar-create-label {
        justify-content: center;
        gap: 0;
    }

    .mis-topbar-chip.mis-topbar-alert:not(.is-secondary) span:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 100%;
    }

    .awdaco-hero {
        padding: 16px !important;
    }

    .awdaco-hero p {
        font-size: 13px !important;
    }

    .fi-topbar-ctn,
    nav.fi-topbar,
    .fi-topbar,
    .awdaco-dashboard,
    .fi-page-content {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    .fi-topbar-ctn {
        overflow-x: clip !important;
    }

    nav.fi-topbar,
    .fi-topbar {
        padding: 8px !important;
        padding-inline: max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right)) !important;
        gap: 6px !important;
    }

    .fi-topbar-end {
        width: auto !important;
        max-width: 100% !important;
    }

    .mis-super-search-box {
        padding-inline: 0.6rem !important;
    }

    .erp-sidebar-brand-logo {
        height: 2rem !important;
        max-width: min(8.5rem, 65%) !important;
    }

    .fi-page-content,
    .awdaco-dashboard {
        padding-inline: 10px !important;
    }

    .awdaco-kpi-card,
    .awdaco-panel,
    .misBusiness-card,
    .erp-card,
    .profile-summary-card,
    .profile-ui-card,
    .bm-card,
    .bm-header {
        padding: 14px !important;
    }

    .fi-ta table {
        min-width: 480px;
    }

    .fi-dropdown-panel {
        max-width: calc(100vw - 12px) !important;
    }

    .mis-dashboard-filter-panel,
    .mis-dashboard-filter-panel .fi-fo-component-ctn > .grid,
    .mis-dashboard-filter-panel .fi-fo-component-ctn .grid {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
    }
}

/* Kill leftover fixed filter widths from older theme rules */
.mis-dashboard-filter-panel {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Dashboard Period/Branch selects: keep readable width, never mid-word wrap */
.mis-dashboard-filter-panel .mis-dashboard-filter-grid,
.mis-dashboard-filter-panel .fi-fo-component-ctn > .grid,
.mis-dashboard-filter-panel .fi-fo-component-ctn .grid,
.mis-dashboard-filter-panel .fi-sc-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.mis-dashboard-filter-panel .fi-fo-field-wrp {
    min-width: 0 !important;
    max-width: 100% !important;
}

.mis-dashboard-filter-panel .fi-input-wrp,
.mis-dashboard-filter-panel .fi-select-input,
.mis-dashboard-filter-panel .fi-select-input-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
}

.mis-dashboard-filter-panel .fi-select-input-btn,
.mis-dashboard-filter-panel .fi-select-input-btn span,
.mis-dashboard-filter-panel .fi-select-input-value,
.mis-dashboard-filter-panel .fi-badge-label {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

@media (max-width: 640px) {
    .mis-dashboard-filter-panel .mis-dashboard-filter-grid,
    .mis-dashboard-filter-panel .fi-fo-component-ctn > .grid,
    .mis-dashboard-filter-panel .fi-fo-component-ctn .grid,
    .mis-dashboard-filter-panel .fi-sc-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (hover: none) and (pointer: coarse) {
    .fi-checkbox,
    .fi-ta-record-checkbox,
    .fi-pagination button,
    .fi-tabs-item {
        min-height: 44px;
    }
}

@media print {
    .fi-topbar,
    .fi-sidebar,
    .mis-topbar-actions,
    .fi-sidebar-close-overlay {
        display: none !important;
    }

    .fi-main,
    .fi-page,
    .fi-page-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }
}

/* ---------- Table toolbar: search + filter alignment ---------- */
.fi-ta-ctn .fi-ta-header-toolbar {
    align-items: center !important;
}

.fi-ta-ctn .fi-ta-header-toolbar > * {
    align-items: center !important;
}

.fi-ta-ctn .fi-ta-header-toolbar .fi-input-wrp,
.fi-ta-ctn .fi-ta-header-toolbar .fi-fo-field-wrp,
.fi-ta-ctn .fi-ta-header-toolbar input[type='search'],
.fi-ta-ctn .fi-ta-header-toolbar .fi-input {
    min-height: 2.5rem !important;
    height: 2.5rem !important;
}

.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-filters-dropdown,
.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-col-manager-dropdown,
.fi-ta-ctn .fi-ta-header-toolbar .fi-dropdown:not([x-cloak]):not([style*='display: none']),
.fi-ta-ctn .fi-ta-header-toolbar .fi-ac:not([x-cloak]):not([style*='display: none']) {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
}

/* Bulk actions uses Alpine x-show on .fi-dropdown — keep hide/show working. */
.fi-ta-ctn .fi-ta-header-toolbar .fi-dropdown[x-cloak],
.fi-ta-ctn .fi-ta-header-toolbar .fi-dropdown[style*='display: none'],
.fi-ta-ctn .fi-ta-header-toolbar .fi-ac[x-cloak],
.fi-ta-ctn .fi-ta-header-toolbar .fi-ac[style*='display: none'] {
    display: none !important;
}

/* Icon-only toolbar controls (filter, column manager) — not labeled buttons like Bulk actions */
.fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn,
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-icon-btn,
.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-filters-dropdown .fi-icon-btn,
.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-col-manager-dropdown .fi-icon-btn,
.fi-ta-ctn .fi-ta-header-toolbar button[aria-label*='filter' i],
.fi-ta-ctn .fi-ta-header-toolbar button[title*='filter' i] {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    min-height: 2.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    position: relative !important;
    line-height: 1 !important;
}

.fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn:not([style*='display: none']),
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-icon-btn:not([style*='display: none']),
.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-filters-dropdown .fi-icon-btn:not([style*='display: none']),
.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-col-manager-dropdown .fi-icon-btn:not([style*='display: none']) {
    display: inline-flex !important;
}

/*
 * Filament BulkActionGroup uses labeledFrom('sm'): icon-only trigger below sm,
 * labeled button from sm up. Restore that so we never show both at once.
 */
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-sm,
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-md,
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-lg,
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-xl,
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-2xl {
    display: none !important;
}

@media (min-width: 40rem) {
    .fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-sm {
        display: inline-grid !important;
    }

    .fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn:has(+ .fi-btn.fi-labeled-from-sm) {
        display: none !important;
    }
}

@media (min-width: 48rem) {
    .fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-md {
        display: inline-grid !important;
    }

    .fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn:has(+ .fi-btn.fi-labeled-from-md) {
        display: none !important;
    }
}

@media (min-width: 64rem) {
    .fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-lg {
        display: inline-grid !important;
    }

    .fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn:has(+ .fi-btn.fi-labeled-from-lg) {
        display: none !important;
    }
}

@media (min-width: 80rem) {
    .fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-xl {
        display: inline-grid !important;
    }

    .fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn:has(+ .fi-btn.fi-labeled-from-xl) {
        display: none !important;
    }
}

@media (min-width: 96rem) {
    .fi-ta-ctn .fi-ta-header-toolbar .fi-btn.fi-labeled-from-2xl {
        display: inline-grid !important;
    }

    .fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn:has(+ .fi-btn.fi-labeled-from-2xl) {
        display: none !important;
    }
}

/* Labeled toolbar buttons (Bulk actions, etc.) stay readable on one line */
.fi-ta-ctn .fi-ta-header-toolbar .fi-btn:not(.fi-icon-btn),
.fi-ta-ctn .fi-ta-selection-indicator .fi-btn,
.fi-ta-ctn .fi-ta-selection-indicator .fi-dropdown-trigger,
.fi-ta-ctn .fi-ta-selection-indicator .fi-dropdown-trigger .fi-btn,
.fi-ta-ctn .fi-ta-selection-indicator button {
    width: auto !important;
    min-width: max-content !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    padding-inline: 0.85rem !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

.fi-ta-ctn .fi-ta-header-toolbar .fi-badge,
.fi-ta-ctn .fi-ta-header-toolbar .fi-icon-btn .fi-badge,
.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-filters-dropdown .fi-badge {
    position: absolute !important;
    top: -0.35rem !important;
    inset-inline-end: -0.35rem !important;
    margin: 0 !important;
    min-width: 1.15rem !important;
    height: 1.15rem !important;
    padding-inline: 0.3rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

/* ---------- Table Filters dropdown ---------- */
.fi-ta-filters-dropdown .fi-dropdown-panel,
.fi-dropdown-panel:has(.fi-ta-filters),
body > .fi-dropdown-panel:has(.fi-ta-filters) {
    min-width: min(22rem, calc(100vw - 24px)) !important;
    max-width: min(28rem, calc(100vw - 16px)) !important;
    width: max-content !important;
    padding: 0.85rem !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #e4e7ec !important;
    color: #101828 !important;
    box-shadow: 0 18px 40px rgba(16, 24, 40, 0.14) !important;
    overflow: visible !important;
}

.fi-dropdown-panel:has(.fi-ta-filters) *,
body > .fi-dropdown-panel:has(.fi-ta-filters) * {
    color: inherit;
}

.fi-dropdown-panel:has(.fi-ta-filters) .fi-ta-filters-heading,
body > .fi-dropdown-panel:has(.fi-ta-filters) .fi-ta-filters-heading {
    color: #101828 !important;
    font-weight: 800 !important;
}

.fi-dropdown-panel:has(.fi-ta-filters) .fi-link,
body > .fi-dropdown-panel:has(.fi-ta-filters) .fi-link {
    color: #dc2626 !important;
}

.fi-ta-filters {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
}

.fi-ta-filters-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
}

.fi-ta-filters .fi-fo-component-ctn,
.fi-ta-filters .fi-fo-component-ctn > .grid,
.fi-ta-filters .fi-sc-grid,
.fi-ta-filters .grid,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-fo-component-ctn,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-fo-component-ctn > .grid,
.fi-dropdown-panel:has(.fi-ta-filters) .grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
    width: 100% !important;
    min-width: 0 !important;
}

.fi-ta-filters .fi-fo-field-wrp,
.fi-ta-filters .fi-input-wrp,
.fi-ta-filters .fi-select-input,
.fi-ta-ctn .fi-ta-filters .fi-fo-field-wrp,
.fi-ta-ctn .fi-ta-filters .fi-input-wrp,
.fi-ta-ctn .fi-ta-filters .fi-select-input {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.fi-ta-filters .fi-fo-field-wrp-label,
.fi-ta-filters label {
    color: #344054 !important;
    font-weight: 650 !important;
}

.fi-ta-filters .fi-input-wrp,
.fi-ta-filters select.fi-select-input,
.fi-ta-filters .fi-select-input {
    min-height: 2.5rem !important;
    background-color: #ffffff !important;
    border-color: #d0d5dd !important;
    color: #101828 !important;
}

.fi-ta-filters-actions-ctn {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-top: 0.15rem !important;
}

.fi-ta-filters-actions-ctn .fi-btn {
    width: 100% !important;
    justify-content: center !important;
}

.fi-ta-ctn .fi-ta-actions,
.fi-ta-ctn .fi-ta-record-actions,
.fi-ta-ctn .fi-ta-row .fi-ta-actions {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.35rem !important;
}

@media (max-width: 640px) {
    .fi-ta-ctn .fi-ta-header-toolbar > *:last-child {
        width: 100% !important;
        justify-content: flex-end !important;
    }

    .fi-ta-ctn .fi-ta-header-toolbar .fi-input-wrp {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* Quick Create brand button */
.fi-topbar .mis-topbar-create,
.mis-topbar-create {
    background: #2B337E !important;
    background-image: none !important;
    color: #ffffff !important;
}
.fi-topbar .mis-topbar-create-label,
.fi-topbar .mis-topbar-create-label span,
.fi-topbar .mis-topbar-create svg,
.mis-topbar-create-label,
.mis-topbar-create svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
}


/*
 * Custom sidebar brand above menu search.
 * Filament's own header is suppressed so we never get a missing or double logo.
 */
.fi-sidebar-header,
.fi-sidebar-header-ctn,
.fi-body-has-topbar .fi-sidebar-header,
.fi-body-has-topbar .fi-sidebar-header-ctn {
    display: none !important;
}

.erp-sidebar-brand {
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 2px 10px;
}

.erp-sidebar-brand-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
    width: auto;
    text-decoration: none !important;
}

.erp-sidebar-brand-logo {
    display: block !important;
    height: 2.7rem !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    border-radius: 10px;
}

.erp-sidebar-brand-text {
    display: none;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #1f2937 !important;
}

.erp-sidebar-collapse-btn {
    flex: 0 0 auto;
    width: 2.35rem !important;
    height: 2.35rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0.8rem !important;
    border: 1px solid #d9def0 !important;
    background: #ffffff !important;
    color: #2B337E !important;
    box-shadow: 0 8px 18px rgba(43, 51, 126, 0.10) !important;
    cursor: pointer;
    padding: 0 !important;
}

.erp-sidebar-collapse-btn:hover {
    background: #eef0fb !important;
    border-color: #c5cbe6 !important;
    color: #1f275f !important;
}

.erp-sidebar-collapse-btn:focus-visible {
    outline: 2px solid rgba(43, 51, 126, 0.35);
    outline-offset: 2px;
}

.erp-sidebar-collapse-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.erp-sidebar-collapse-icon svg,
.erp-sidebar-collapse-btn svg {
    width: 1.15rem !important;
    height: 1.15rem !important;
    color: inherit !important;
    stroke: currentColor !important;
}

/* Fixed sidebar — final override (desktop) */
@media (min-width: 1024px) {
    .fi-sidebar,
    .fi-sidebar.fi-sidebar-open,
    .fi-main-sidebar {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        inset-inline-start: 0 !important;
        z-index: 45 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .erp-sidebar-brand {
        position: sticky;
        top: 0;
        z-index: 5;
        padding: 2px 2px 12px;
        background: linear-gradient(180deg, rgba(246, 247, 255, .98), rgba(246, 247, 255, .88));
    }

    /* Collapsed rail: center the expand control */
    .fi-sidebar.fi-sidebar-collapsed .erp-sidebar-brand,
    .fi-main-sidebar:not(.fi-sidebar-open) .erp-sidebar-brand {
        justify-content: center;
        padding-inline: 0;
    }

    .fi-sidebar.fi-sidebar-collapsed .erp-sidebar-brand-link,
    .fi-main-sidebar:not(.fi-sidebar-open) .erp-sidebar-brand-link {
        display: none !important;
    }

    .fi-sidebar.fi-sidebar-collapsed .erp-sidebar-collapse-btn,
    .fi-main-sidebar:not(.fi-sidebar-open) .erp-sidebar-collapse-btn {
        width: 2.55rem !important;
        height: 2.55rem !important;
        margin-inline: auto;
    }

    .fi-sidebar-nav {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
    }

    .fi-main-ctn {
        margin-inline-start: 18.5rem !important;
    }

    .fi-sidebar.fi-sidebar-collapsed,
    .fi-main-sidebar:not(.fi-sidebar-open) {
        width: 5.65rem !important;
    }

    body:has(.fi-sidebar.fi-sidebar-collapsed) .fi-main-ctn,
    body:has(.fi-main-sidebar:not(.fi-sidebar-open)) .fi-main-ctn,
    .fi-body:has(.fi-sidebar.fi-sidebar-collapsed) .fi-main-ctn,
    .fi-body:has(.fi-main-sidebar:not(.fi-sidebar-open)) .fi-main-ctn {
        margin-inline-start: 5.65rem !important;
    }
}

/* Long permission checkbox lists (Create/Edit Role) stay usable in modals */
.fi-modal-window .fi-fo-checkbox-list .fi-fo-checkbox-list-options,
.fi-fo-checkbox-list .fi-fo-checkbox-list-options {
    max-height: min(46vh, 340px) !important;
    overflow-y: auto !important;
    padding-inline-end: 0.35rem !important;
    overscroll-behavior: contain !important;
}

.fi-modal-window .fi-fo-checkbox-list .fi-fo-checkbox-list-option-label {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

/* ---------- Table / form select chevrons ----------
   Theme rules previously used the `background` shorthand with !important,
   which wiped Filament's chevron background-image on native selects and
   custom select buttons (Per page, filters, form selects). */
select.fi-select-input,
.fi-select-input select,
.fi-pagination select.fi-select-input,
.fi-pagination .fi-select-input select,
.fi-ta-ctn select.fi-select-input,
.fi-select-input .fi-select-input-btn {
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E") !important;
    background-position: right 0.5rem center !important;
    background-repeat: no-repeat !important;
    background-size: 1.5em 1.5em !important;
    padding-inline-end: 2.25rem !important;
}

.dark select.fi-select-input,
.dark .fi-select-input select,
.dark .fi-pagination select.fi-select-input,
.dark .fi-select-input .fi-select-input-btn {
    background-color: transparent !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E") !important;
}

/* Keep table pagination / toolbar / filter dropdowns from being clipped */
.fi-ta-ctn,
.fi-ta-ctn .fi-ta-main,
.fi-ta-ctn .fi-ta-header,
.fi-ta-ctn .fi-ta-header-toolbar,
.fi-ta-ctn .fi-ta-actions,
.fi-ta-ctn .fi-ta-filters-dropdown,
.fi-ta-ctn .fi-ta-col-manager-dropdown,
.fi-ta-ctn .fi-dropdown,
.fi-ta-ctn .fi-pagination,
.fi-ta-ctn .fi-ta-footer,
.fi-ta-ctn .fi-pagination-records-per-page-select,
.fi-ta-ctn .fi-pagination-records-per-page-select-ctn {
    overflow: visible !important;
}

.fi-ta-ctn .fi-ta-filters-dropdown,
.fi-ta-ctn .fi-ta-col-manager-dropdown {
    position: relative !important;
    z-index: 40 !important;
}

.fi-ta-filters-dropdown .fi-dropdown-panel,
.fi-dropdown-panel:has(.fi-ta-filters),
body > .fi-dropdown-panel:has(.fi-ta-filters) {
    z-index: 80 !important;
}

.fi-pagination .fi-input-wrp,
.fi-pagination .fi-select-input,
.fi-pagination-records-per-page-select .fi-input-wrp,
.fi-pagination-records-per-page-select .fi-select-input {
    overflow: visible !important;
}

/*
 * Final topbar visibility guard (Filament 5).
 * Search, chips, notifications, and profile live in .fi-topbar-end —
 * never force that wrapper to width:100% or it gets clipped by .fi-topbar-ctn.
 */
.fi-topbar-ctn > nav.fi-topbar,
.fi-topbar-ctn > .fi-topbar {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.fi-topbar-ctn .fi-topbar-start {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.fi-topbar-ctn .fi-topbar-end {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}

.fi-topbar-ctn .mis-topbar-actions,
.fi-topbar-ctn .mis-super-search,
.fi-topbar-ctn .mis-topbar-tools,
.fi-topbar-ctn .fi-database-notifications,
.fi-topbar-ctn .fi-user-menu {
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 1024px) {
    .fi-topbar-ctn .fi-topbar-start {
        display: none !important;
    }
}

/* ---------- Compact database notifications panel ---------- */
.fi-no-database.awdaco-notifications-panel .fi-modal-window,
.fi-modal-window-ctn:has(.awdaco-notifications-panel) .fi-modal-window,
.fi-modal:has(.fi-no-database) .fi-modal-window.fi-width-sm,
.fi-no-database .fi-modal-window {
    width: min(20rem, calc(100vw - 0.75rem)) !important;
    max-width: 20rem !important;
}

.fi-no-database .fi-modal-header {
    padding: 0.85rem 1rem !important;
}

.fi-no-database .fi-modal-heading {
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
}

.fi-no-database .fi-modal-content {
    padding-inline: 0 !important;
}

.fi-no-database .fi-no-notification,
.fi-no-database .fi-no-notification.fi-inline {
    padding: 0.7rem 0.9rem !important;
    gap: 0.6rem !important;
}

.fi-no-database .fi-no-notification-title {
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
}

.fi-no-database .fi-no-notification-body,
.fi-no-database .fi-no-notification-date {
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
}

.fi-no-database .fi-no-notification-main {
    gap: 0.35rem !important;
}

.fi-no-database .fi-no-notification-icon,
.fi-no-database .fi-no-notification-icon svg {
    width: 1.15rem !important;
    height: 1.15rem !important;
}

.fi-no-database .fi-ac .fi-btn {
    min-height: 2rem !important;
    font-size: 0.75rem !important;
    padding-inline: 0.65rem !important;
}

@media (max-width: 480px) {
    .fi-no-database.awdaco-notifications-panel .fi-modal-window,
    .fi-no-database .fi-modal-window {
        width: min(18.5rem, calc(100vw - 0.5rem)) !important;
        max-width: 18.5rem !important;
    }
}

/* Profile menu: light panel matching the SaaS topbar */
.fi-user-menu .fi-dropdown-panel,
body > .fi-dropdown-panel:has(.fi-user-menu-profile),
body > .fi-dropdown-panel:has(.fi-theme-switcher),
body > .fi-dropdown-panel:has([wire\:click*='logout']),
body > .fi-dropdown-panel:has(button[type='submit']) {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #e4e7ec !important;
    box-shadow: 0 18px 40px rgba(16, 24, 40, 0.12) !important;
    color: #101828 !important;
}

body > .fi-dropdown-panel:has(.fi-theme-switcher) *,
body > .fi-dropdown-panel:has(.fi-user-menu-profile) * {
    color: #344054 !important;
}

body > .fi-dropdown-panel:has(.fi-theme-switcher) .fi-dropdown-list-item:hover,
body > .fi-dropdown-panel:has(.fi-theme-switcher) .fi-dropdown-list-item:hover * {
    background: #eef0fb !important;
    color: #2B337E !important;
}

body > .fi-dropdown-panel:has(.fi-theme-switcher) .fi-dropdown-list-item.fi-color-danger,
body > .fi-dropdown-panel:has(.fi-theme-switcher) .fi-dropdown-list-item.fi-color-danger * {
    color: #dc2626 !important;
    background: transparent !important;
}

body > .fi-dropdown-panel:has(.fi-theme-switcher) .fi-theme-switcher {
    border: 1px solid #e4e7ec !important;
    background: #f8f9fc !important;
}
