/* 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: 100% !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;
}

.erp-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(178px, 1fr)) !important;
}

.erp-mini-grid {
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)) !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,
    .erp-chart-row,
    .erp-third-row,
    .erp-bottom-row,
    .misBusiness-report-hero,
    .profile-grid-3 {
        grid-template-columns: 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: var(--awdaco-surface, #ffffff) !important;
        background-image: none !important;
        border-bottom: 1px solid var(--awdaco-border, 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;
    }

    .fi-ta-filters .fi-sc-grid,
    .fi-dropdown-panel:has(.fi-ta-filters) .fi-sc-grid,
    .fi-dropdown-panel:has(.fi-ta-filters) .fi-sc {
        grid-template-columns: minmax(0, 1fr) !important;
    }

}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
    .fi-main,
    .fi-page-content,
    .fi-section-content,
    .awdaco-dashboard,
    .erp-dashboard,
    .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,
    .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,
    .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(24rem, calc(100vw - 24px)) !important;
    max-width: min(28rem, calc(100vw - 16px)) !important;
    width: min(24rem, calc(100vw - 24px)) !important;
    padding: 0.85rem !important;
    background: var(--awdaco-surface, #ffffff) !important;
    background-image: none !important;
    border: 1px solid var(--awdaco-border, #e4e7ec) !important;
    color: var(--awdaco-text, #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: var(--awdaco-text, #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,
.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) .fi-sc,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-sc-grid,
.fi-dropdown-panel:has(.fi-ta-filters) .grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.85rem !important;
    width: 100% !important;
    min-width: 0 !important;
    --cols: 1 !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,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-fo-field-wrp,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-input-wrp,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-select-wrp {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
    overflow: visible !important;
}

.fi-dropdown-panel:has(.fi-ta-filters) .fi-select-input-value {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.fi-ta-filters .fi-fo-field-wrp-label,
.fi-ta-filters label {
    color: var(--awdaco-muted, #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,
.fi-dropdown-panel:has(.fi-ta-filters) .fi-select-input-btn,
.fi-dropdown-panel:has(.fi-ta-filters) [role='combobox'] {
    min-height: 2.5rem !important;
    background-color: var(--awdaco-surface, #ffffff) !important;
    background-image: none !important;
    border-color: var(--awdaco-border, #d0d5dd) !important;
    color: var(--awdaco-text, #101828) !important;
    overflow: visible !important;
}

.fi-dropdown-panel:has(.fi-ta-filters) .fi-select-input-btn,
.fi-dropdown-panel:has(.fi-ta-filters) [role='combobox'] {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    text-align: start !important;
    white-space: nowrap !important;
}

.fi-dropdown-panel:has(.fi-ta-filters) .fi-select-input-btn svg,
.fi-dropdown-panel:has(.fi-ta-filters) [role='combobox'] svg {
    flex-shrink: 0 !important;
    color: var(--awdaco-muted, #667085) !important;
    opacity: 1 !important;
}

body > .fi-dropdown-panel:has(.fi-dropdown-list):not(:has(.fi-ta-filters)):not(:has(.fi-ta-col-manager)) {
    z-index: 90 !important;
    overflow: visible !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: var(--awdaco-surface, #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: var(--awdaco-surface, #1c224d) !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;
    }
}

/* ---------- Notifications bell dropdown (not a centered modal) ---------- */
#database-notifications.fi-modal,
.fi-modal.awdaco-notifications-panel {
    --awdaco-notify-top: 4.35rem;
    --awdaco-notify-right: 0.85rem;
    --awdaco-notify-width: min(22.5rem, calc(100vw - 1.25rem));
}

/* Kill the dimmed full-page backdrop — feel like a popover */
#database-notifications.fi-modal .fi-modal-close-overlay,
.fi-modal.awdaco-notifications-panel .fi-modal-close-overlay {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
}

/* Anchor the panel under the topbar bell (top-right) */
#database-notifications.fi-modal .fi-modal-window-ctn,
.fi-modal.awdaco-notifications-panel .fi-modal-window-ctn {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    padding: var(--awdaco-notify-top) var(--awdaco-notify-right) 1rem !important;
    background: transparent !important;
}

#database-notifications.fi-modal .fi-modal-window-ctn > .fi-modal-window,
.fi-modal.awdaco-notifications-panel .fi-modal-window-ctn > .fi-modal-window,
.fi-no-database.awdaco-notifications-panel .fi-modal-window,
.fi-no-database .fi-modal-window {
    width: var(--awdaco-notify-width) !important;
    max-width: var(--awdaco-notify-width) !important;
    max-height: min(70vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--awdaco-border, #e5e7eb) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16) !important;
    background: var(--awdaco-surface, #ffffff) !important;
    display: flex !important;
    flex-direction: column !important;
    transform: none !important;
}

#database-notifications.fi-modal .fi-modal-window > .fi-modal-header,
.fi-modal.awdaco-notifications-panel .fi-modal-header,
.fi-no-database .fi-modal-header {
    min-height: auto !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    padding: 0.85rem 1rem !important;
    border-bottom: 1px solid var(--awdaco-border, #e5e7eb) !important;
    background: var(--awdaco-surface, #ffffff) !important;
    position: relative !important;
    z-index: 2 !important;
}

.fi-no-database .fi-modal-header > div {
    min-width: 0 !important;
    padding-inline-end: 1.75rem !important;
}

.fi-no-database .fi-modal-heading {
    position: static !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--awdaco-text, #111827) !important;
    overflow: visible !important;
}

.fi-no-database .awdaco-notifications-toolbar {
    min-height: 2.5rem !important;
    padding: 0.5rem 1rem !important;
    border-bottom: 1px solid var(--awdaco-border, #eef2f7) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 0.45rem 0.75rem !important;
    background: var(--mis-surface-soft, #f8fafc) !important;
}

.fi-no-database .awdaco-notifications-count {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    transform: none !important;
}

.fi-no-database .awdaco-notifications-empty-label {
    font-size: 0.78rem !important;
    color: #6b7280 !important;
}

.fi-no-database .awdaco-notifications-toolbar .fi-ac {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.65rem !important;
}

#database-notifications.fi-modal .fi-modal-content,
.fi-modal.awdaco-notifications-panel .fi-modal-content,
.fi-no-database .fi-modal-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    max-height: none !important;
}

.fi-no-database .fi-no-notification-read-ctn,
.fi-no-database .fi-no-notification-unread-ctn {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.fi-no-database .fi-no-notification,
.fi-no-database .fi-no-notification.fi-inline {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.9rem 2.4rem 0.9rem 1rem !important;
    gap: 0.65rem !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

.fi-no-database .fi-no-notification:hover {
    background: #f8fafc !important;
}

.fi-no-database .fi-no-notification::selection,
.fi-no-database .fi-no-notification *::selection {
    background: transparent !important;
}

.fi-no-database .fi-no-notification-title {
    font-size: 0.9rem !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    color: #111827 !important;
}

.fi-no-database .fi-no-notification-body,
.fi-no-database .fi-no-notification-date {
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
    color: #6b7280 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.fi-no-database .fi-no-notification-main {
    gap: 0.35rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.fi-no-database .fi-no-notification-text {
    min-width: 0 !important;
    max-width: 100% !important;
}

.fi-no-database .fi-no-notification-icon,
.fi-no-database .fi-no-notification-icon svg {
    width: 1.2rem !important;
    height: 1.2rem !important;
    flex-shrink: 0 !important;
}

.fi-no-database .fi-no-notification-actions a,
.fi-no-database .fi-no-notification-actions .fi-link,
.fi-no-database .fi-ac .fi-link {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #2563eb !important;
}

.fi-no-database .fi-no-notification-close-btn {
    position: absolute !important;
    top: 0.65rem !important;
    inset-inline-end: 0.5rem !important;
    width: 1.65rem !important;
    height: 1.65rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #9ca3af !important;
    background: transparent !important;
    z-index: 2 !important;
}

.fi-no-database .fi-no-notification-close-btn:hover {
    color: #374151 !important;
    background: #f3f4f6 !important;
}

.fi-no-database .fi-no-notification-close-btn svg {
    width: 0.95rem !important;
    height: 0.95rem !important;
}

@media (max-width: 640px) {
    #database-notifications.fi-modal,
    .fi-modal.awdaco-notifications-panel {
        --awdaco-notify-top: 4rem;
        --awdaco-notify-right: 0.5rem;
        --awdaco-notify-width: min(100vw - 0.75rem, 22rem);
    }
}

/* 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: var(--awdaco-surface, #ffffff) !important;
    background-image: none !important;
    border: 1px solid var(--awdaco-border, #e4e7ec) !important;
    box-shadow: 0 18px 40px rgba(16, 24, 40, 0.12) !important;
    color: var(--awdaco-text, #101828) !important;
}

body > .fi-dropdown-panel:has(.fi-theme-switcher) *,
body > .fi-dropdown-panel:has(.fi-user-menu-profile) * {
    color: var(--awdaco-muted, #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;
}

/* ---------- My Profile: consolidated responsive layout ---------- */
.profile-redesign,
.profile-redesign *,
.profile-summary-card > *,
.profile-main-grid > *,
.profile-lower-grid > *,
.profile-bottom-grid > * {
    min-width: 0;
    box-sizing: border-box;
}

.profile-redesign :is(h1, h2, h3, p, span, strong, time, label) {
    overflow-wrap: anywhere;
}

.profile-redesign :is(.profile-input, .profile-select, .profile-textarea) {
    width: 100%;
    max-width: 100%;
}

.profile-redesign section[id],
.profile-redesign form[id],
.profile-redesign div[id] {
    scroll-margin-top: 6rem;
}

/* Fluid section nav — avoids 6 crushed columns beside the Filament sidebar. */
.profile-nav-cards {
    grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)) !important;
}

.profile-nav-card {
    flex-wrap: wrap;
    line-height: 1.25;
    text-align: left;
}

.profile-nav-card span {
    flex: 0 0 auto;
}

/* Sidebar typically eats ~280px, so stack earlier than the visual content width. */
@media (max-width: 1500px) {
    .profile-summary-card {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 22px !important;
    }

    .profile-main-grid {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.9fr) !important;
    }

    .profile-nav-cards {
        gap: 14px !important;
    }
}

@media (max-width: 1280px) {
    .profile-summary-card {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .profile-summary-group {
        border-left: 0 !important;
        border-top: 1px solid #e2e8f0;
        padding-left: 0 !important;
        padding-top: 16px;
    }

    .profile-main-grid {
        grid-template-columns: 1fr !important;
    }

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

    .profile-lower-grid > :first-child,
    .profile-activity-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1100px) {
    .profile-nav-cards {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
        gap: 12px !important;
    }

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

    .profile-card-large {
        grid-column: 1 / -1;
    }

    .profile-account-form,
    .profile-account-form.is-password {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .profile-account-form > button {
        width: 100%;
    }
}

@media (max-width: 768px) {
    /* The Filament content wrapper already supplies the mobile page gutter. */
    .profile-redesign {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 0 !important;
        gap: 16px !important;
    }

    .profile-topbar {
        gap: 12px !important;
    }

    .profile-topbar .profile-edit-cta {
        width: auto !important;
        align-self: stretch;
    }

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

    .profile-card-large,
    .profile-lower-grid > :first-child,
    .profile-activity-card {
        grid-column: auto;
    }

    .profile-summary-card {
        gap: 20px !important;
        padding: 20px !important;
    }

    .profile-summary-person {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center !important;
        gap: 16px !important;
        flex-direction: row !important;
    }

    .profile-summary-group {
        gap: 12px !important;
        border-top: 1px solid #e2e8f0;
        border-left: 0 !important;
        padding-top: 18px;
        padding-left: 0 !important;
    }

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

    .profile-nav-card {
        justify-content: flex-start;
        min-height: 60px;
        gap: 10px;
        padding: 10px 12px;
        font-size: 13px;
    }

    .profile-nav-card span {
        width: 36px;
        height: 36px;
        flex: 0 0 auto;
    }

    /* Prevent the global mobile card rule from padding these structured cards twice. */
    .profile-redesign .profile-ui-card {
        padding: 0 !important;
    }

    .profile-card-header {
        flex-wrap: wrap;
        align-items: center;
        min-height: 0;
        padding: 15px 16px !important;
    }

    .profile-card-header h3 {
        flex: 1 1 12rem;
        min-width: 0;
    }

    .profile-detail-grid,
    .profile-list-panel,
    .profile-account-form,
    .profile-account-form.is-password,
    .profile-toggle-list,
    .profile-preference-list,
    .profile-security-list,
    .profile-timeline-list {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
    }

    .profile-account-form > button,
    .profile-picture-actions > button,
    .profile-security-overview .profile-button-row > button {
        width: 100%;
    }

    .profile-picture-stage {
        min-height: 0;
        padding: 24px 16px !important;
    }

    .profile-picture-actions,
    .profile-security-overview .profile-button-row {
        width: 100%;
        gap: 10px;
    }

    .profile-security-overview .profile-button-row,
    .profile-2fa-card .profile-button-row {
        padding: 0 16px 16px !important;
    }

    .profile-dynamic-panel {
        margin: 0 16px 16px;
    }

    .profile-dynamic-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .profile-dynamic-row span {
        flex: 1 1 100%;
    }

    .profile-dynamic-row small {
        flex: 1 1 auto;
        text-align: left;
    }
}

@media (max-width: 560px) {
    .profile-topbar .profile-edit-cta,
    .profile-card-header .profile-icon-action {
        width: 100% !important;
        justify-content: center;
    }

    .profile-summary-person {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .profile-name-row,
    .profile-contact-list span {
        justify-content: center;
    }

    .profile-summary-avatar {
        width: 92px !important;
        height: 92px !important;
    }

    .profile-name-row h2 {
        font-size: clamp(1.25rem, 7vw, 1.65rem);
    }

    .profile-nav-cards {
        grid-template-columns: 1fr !important;
    }

    .profile-nav-card {
        min-height: 54px;
    }

    .profile-card-header .profile-muted-badge {
        max-width: 100%;
    }

    .profile-primary-btn,
    .profile-secondary-btn,
    .profile-danger-btn,
    .profile-link-btn {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }

    .profile-timeline-entry {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 10px;
    }

    .profile-timeline-entry .profile-timeline-icon {
        width: 34px;
        height: 34px;
    }

    .profile-timeline-entry .profile-badge {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 380px) {
    .profile-summary-card {
        padding: 16px !important;
    }

    .profile-card-header,
    .profile-detail-grid,
    .profile-list-panel,
    .profile-account-form,
    .profile-account-form.is-password,
    .profile-toggle-list,
    .profile-preference-list,
    .profile-security-list,
    .profile-timeline-list {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .profile-toggle {
        align-items: flex-start;
        gap: 12px;
    }
}
/* Security cards live in a three-column parent on wide screens, so their
   internal forms must respond to the card width rather than the viewport. */
.profile-lower-grid > .profile-ui-card:first-child .profile-account-form,
.profile-lower-grid > .profile-ui-card:first-child .profile-account-form.is-password,
.profile-security-overview > .profile-account-form {
    grid-template-columns: minmax(0, 1fr) !important;
}

.profile-lower-grid > .profile-ui-card:first-child .profile-account-form > button,
.profile-security-overview > .profile-account-form > button {
    width: 100%;
}

.profile-security-overview .profile-button-row {
    align-items: stretch;
}

.profile-security-overview .profile-button-row > button {
    flex: 1 1 10rem;
}
/* Keep a growing activity history from stretching the adjacent preference cards. */
.profile-bottom-grid {
    align-items: start;
}

.profile-bottom-grid > .profile-ui-card {
    width: 100%;
}

.profile-activity-card .profile-timeline-list {
    max-height: min(32rem, 65vh);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.profile-activity-card .profile-timeline-list::-webkit-scrollbar {
    width: 7px;
}

.profile-activity-card .profile-timeline-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #cbd5e1;
}

.dark .profile-activity-card .profile-timeline-list::-webkit-scrollbar-thumb {
    background: #475569;
}
/* ---------- Backup Management: complete responsive system ---------- */
.bm-page,
.bm-page *,
.bm-layout > *,
.bm-actions > *,
.bm-summary > *,
.bm-side > * {
    min-width: 0;
    box-sizing: border-box;
}

.bm-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

.bm-modal-backdrop {
    overflow-y: auto;
    overscroll-behavior: contain;
}

.bm-modal {
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.bm-modal-settings .bm-modal-actions {
    position: sticky;
    bottom: -28px;
    z-index: 2;
    margin-inline: -28px;
    padding: 14px 28px 0;
    background: linear-gradient(180deg, rgba(255,255,255,0), #fff 24%);
}

@media (max-width: 1280px) {
    .bm-side {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start;
    }
}

@media (max-width: 1024px) {
    .bm-layout {
        grid-template-columns: 1fr !important;
    }

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

    .bm-ready,
    .bm-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .bm-strip,
    .bm-side {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .bm-header-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .bm-card-head {
        align-items: stretch !important;
    }

    .bm-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .bm-filters > input:first-child {
        grid-column: 1 / -1;
    }

    .bm-filters .mis-select,
    .bm-filters .mis-select__btn,
    .bm-filters > button {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .bm-page {
        width: 100%;
        max-width: 100%;
        padding-inline: 0 !important;
    }

    .bm-main,
    .bm-side {
        gap: 16px;
    }

    .bm-header,
    .bm-card,
    .bm-action {
        border-radius: 15px !important;
    }

    .bm-header {
        padding: 18px !important;
    }

    .bm-header-left {
        width: 100%;
    }

    .bm-header-left > div:last-child {
        min-width: 0;
    }

    .bm-header-icon {
        width: 48px;
        height: 48px;
        flex: 0 0 auto;
    }

    .bm-header h1 {
        overflow-wrap: anywhere;
    }

    .bm-ready,
    .bm-summary,
    .bm-actions,
    .bm-strip,
    .bm-side {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .bm-action {
        min-height: 0;
        padding: 18px;
    }

    .bm-metric {
        border-right: 0;
        border-bottom: 1px solid #edf0f5;
        padding: 14px;
    }

    .bm-metric strong {
        white-space: normal;
    }

    .bm-strip {
        padding: 14px;
    }

    .bm-card-head {
        padding: 16px;
    }

    .bm-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .bm-pagination nav {
        max-width: 100%;
        overflow-x: auto;
    }

    .bm-storage {
        align-items: center;
    }
}

@media (max-width: 640px) {
    .bm-layout,
    .bm-main,
    .bm-side {
        width: 100%;
        max-width: 100%;
    }

    .bm-ready,
    .bm-summary,
    .bm-actions,
    .bm-strip,
    .bm-side,
    .bm-settings-grid,
    .bm-header-actions,
    .bm-filters {
        grid-template-columns: 1fr !important;
    }

    .bm-filters > input:first-child,
    .bm-settings-grid .bm-span-2 {
        grid-column: auto;
    }

    .bm-header-left {
        align-items: center;
    }

    .bm-header-actions,
    .bm-header-actions .bm-settings,
    .bm-filters > *,
    .bm-filters .mis-select,
    .bm-filters .mis-select__btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    .bm-action button,
    .bm-empty button {
        min-height: 46px;
    }

    .bm-summary {
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .bm-metric {
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 8px 18px rgba(15,23,42,.04);
    }

    .bm-storage {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    .bm-legend {
        width: 100%;
        text-align: left;
    }

    .bm-empty {
        padding: 42px 16px;
    }

    .bm-empty div:last-child {
        align-items: stretch;
        flex-direction: column;
    }

    .bm-empty button {
        width: 100%;
        margin-top: 8px;
    }

    /* Convert the wide history table into readable backup cards on phones. */
    .bm-table-wrap {
        overflow: visible;
        padding: 12px;
        background: #f8fafc;
    }

    .bm-table,
    .bm-table tbody,
    .bm-table tr,
    .bm-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .bm-table {
        min-width: 0 !important;
    }

    .bm-table thead {
        display: none;
    }

    .bm-table tbody {
        display: grid;
        gap: 12px;
    }

    .bm-table tr {
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 7px 18px rgba(15,23,42,.05);
    }

    .bm-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        border-bottom: 1px solid #edf0f5;
        padding: 10px 12px;
        text-align: right;
        overflow-wrap: anywhere;
    }

    .bm-table td::before {
        flex: 0 0 5.6rem;
        color: #64748b;
        font-size: 11px;
        font-weight: 850;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: .03em;
    }

    .bm-table td:nth-child(1)::before { content: 'Backup'; }
    .bm-table td:nth-child(2)::before { content: 'Type'; }
    .bm-table td:nth-child(3)::before { content: 'Size'; }
    .bm-table td:nth-child(4)::before { content: 'Status'; }
    .bm-table td:nth-child(5)::before { content: 'Verified'; }
    .bm-table td:nth-child(6)::before { content: 'Created'; }
    .bm-table td:nth-child(7)::before { content: 'Created by'; }
    .bm-table td:nth-child(8)::before { content: 'Actions'; }

    .bm-table td:first-child {
        display: block;
        padding: 14px 12px;
        text-align: left;
    }

    .bm-table td:first-child::before {
        display: block;
        margin-bottom: 9px;
    }

    .bm-table td:last-child {
        border-bottom: 0;
    }

    .bm-name {
        width: 100%;
        min-width: 0;
    }

    .bm-name > div:last-child {
        min-width: 0;
    }

    .bm-name strong {
        max-width: 100%;
        white-space: normal;
    }

    .bm-row-actions {
        flex: 1 1 auto;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .bm-modal-backdrop {
        place-items: start center;
        padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
    }

    .bm-modal {
        width: 100%;
        max-height: calc(100dvh - 24px);
        border-radius: 17px;
        padding: 20px 16px;
    }

    .bm-modal h2 {
        font-size: 19px;
    }

    .bm-modal-settings .bm-modal-actions {
        bottom: -20px;
        margin-inline: -16px;
        padding: 14px 16px 0;
    }

    .bm-modal-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .bm-modal-actions button {
        width: 100%;
        min-height: 46px;
    }

    .bm-settings-grid label span,
    .bm-modal p,
    .bm-modal-file {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 380px) {
    .bm-header,
    .bm-card,
    .bm-action {
        padding: 14px !important;
    }

    .bm-header-left {
        align-items: flex-start;
    }

    .bm-header-icon {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .bm-header-icon svg {
        width: 24px;
        height: 24px;
    }

    .bm-table-wrap {
        margin-inline: -14px;
        padding: 10px;
    }

    .bm-table td {
        align-items: flex-start;
        flex-direction: column;
        text-align: left;
    }

    .bm-row-actions {
        justify-content: flex-start;
    }
}
/* ---------- Business Overview: consolidated responsive layout ---------- */
.erp-overview,
.erp-overview *,
.erp-kpi-grid > *,
.erp-chart-row > *,
.erp-third-row > *,
.erp-bottom-row > *,
.erp-mini-grid > * {
    min-width: 0;
    box-sizing: border-box;
}

.erp-overview :is(h2, h3, p, span, strong, small, b, em, td, th) {
    overflow-wrap: anywhere;
}

.erp-overview .erp-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 1500px) {
    .erp-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .erp-third-row,
    .erp-bottom-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 1280px) {
    .erp-chart-row,
    .erp-third-row,
    .erp-bottom-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 1100px) {
    .erp-report-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .erp-report-controls {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .erp-report-controls > .erp-control-menu,
    .erp-report-controls > button {
        flex: 1 1 10rem;
    }
}

@media (max-width: 768px) {
    .erp-overview {
        width: 100% !important;
        max-width: 100% !important;
        gap: 16px !important;
    }

    .erp-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

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

    .erp-kpi {
        padding: 14px !important;
    }

    .erp-card {
        padding: 14px !important;
    }

    .erp-donut-wrap,
    .erp-health-body {
        grid-template-columns: 1fr !important;
    }

    .erp-health-list,
    .erp-health-label {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

@media (max-width: 560px) {
    .erp-kpi-grid,
    .erp-mini-grid {
        grid-template-columns: 1fr !important;
    }

    .erp-report-controls > .erp-control-menu,
    .erp-report-controls > button {
        flex: 1 1 100%;
    }

    .erp-report-head h2 {
        font-size: clamp(1.35rem, 7vw, 1.75rem) !important;
    }
}

/* ---------- Backup Management: defer to backup-management.css grids ---------- */
.bm-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
}
.bm-actions,
.bm-ready,
.bm-summary,
.bm-strip {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}
.bm-actions {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
}
@media (max-width: 1500px) {
    .bm-layout { grid-template-columns: 1fr !important; }
    .bm-side {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}
@media (max-width: 1100px) {
    .bm-side { grid-template-columns: 1fr !important; }
}
@media (max-width: 768px) {
    .bm-actions,
    .bm-ready,
    .bm-summary,
    .bm-strip,
    .bm-side {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 640px) {
    .bm-actions,
    .bm-ready,
    .bm-summary,
    .bm-strip,
    .bm-side,
    .bm-header-actions,
    .bm-filters,
    .bm-settings-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   Modal + form density — compact boxes on all devices
   ========================================================= */

.fi-modal-window-ctn {
    padding: clamp(12px, 2vw, 24px) !important;
}

/*
 * Honor Filament's fi-width-* size. A fixed 42rem width was overriding
 * 3xl–7xl dialogs, then nested two-column grids cut each field to a
 * quarter of that box.
 */
.fi-modal-window {
    width: 100% !important;
    max-width: min(32rem, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    container-name: awdaco-modal;
    container-type: inline-size;
}

.fi-modal-window.fi-width-3xs { max-width: min(16rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-2xs { max-width: min(18rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-xs { max-width: min(20rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-sm { max-width: min(24rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-md { max-width: min(28rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-lg { max-width: min(32rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-xl { max-width: min(36rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-2xl { max-width: min(42rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-3xl { max-width: min(48rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-4xl { max-width: min(56rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-5xl { max-width: min(64rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-6xl { max-width: min(72rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-7xl { max-width: min(80rem, calc(100vw - 24px)) !important; }
.fi-modal-window.fi-width-full,
.fi-modal-window.fi-width-screen,
.fi-modal-window.fi-width-screen-sm,
.fi-modal-window.fi-width-screen-md,
.fi-modal-window.fi-width-screen-lg,
.fi-modal-window.fi-width-screen-xl,
.fi-modal-window.fi-width-screen-2xl { max-width: calc(100vw - 24px) !important; }

.fi-modal-window .fi-modal-header {
    padding: 20px 22px 10px !important;
    gap: 8px !important;
}

.fi-modal-window .fi-modal-heading {
    font-size: clamp(1rem, 2.6vw, 1.15rem) !important;
    line-height: 1.25 !important;
}

.fi-modal-window .fi-modal-description {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin-top: 2px !important;
}

.fi-modal-window .fi-modal-content,
.fi-modal-window .fi-modal-body {
    padding: 10px 22px 16px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    min-height: 0 !important;
}

.fi-modal-window .fi-modal-footer {
    padding: 12px 22px 20px !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.fi-modal-window .fi-modal-footer .fi-btn {
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
}

/* Form fields inside modals — tighter vertical rhythm */
.fi-modal-window .fi-fo-field-wrp,
.fi-modal-window .fi-sc-component {
    margin-block: 0 !important;
}

.fi-modal-window .fi-fo-component-ctn,
.fi-modal-window .fi-sc-components,
.fi-modal-window form .fi-grid,
.fi-modal-window .fi-grid {
    row-gap: 10px !important;
    column-gap: 12px !important;
}

.fi-modal-window .fi-fo-field-wrp-label,
.fi-modal-window .fi-fo-field-wrp-label .fi-fo-field-wrp-label-text {
    font-size: 13px !important;
    margin-bottom: 6px !important;
}

.fi-modal-window .fi-input-wrp,
.fi-modal-window .fi-select-input,
.fi-modal-window .fi-fo-select,
.fi-modal-window .fi-textarea {
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
}

.fi-modal-window .fi-input,
.fi-modal-window .fi-select-input,
.fi-modal-window .fi-input-wrp input,
.fi-modal-window .fi-input-wrp select,
.fi-modal-window .fi-input-wrp textarea,
.fi-modal-window textarea.fi-textarea {
    min-height: 42px !important;
    font-size: 14px !important;
}

.fi-modal-window textarea.fi-textarea,
.fi-modal-window .fi-textarea {
    min-height: 64px !important;
}

.fi-modal-window .fi-section,
.fi-modal-window .fi-section-content-ctn {
    padding: 16px 18px !important;
}

.fi-modal-window .fi-section-header-heading {
    font-size: 15px !important;
}

.fi-modal-window .fi-section-header-description {
    font-size: 13px !important;
}

/*
 * Filament's grid breakpoints normally follow the viewport. A modal can be
 * much narrower than that viewport, leaving 3- or 4-column forms squeezed
 * into a dialog (dates and select labels were visibly clipped). Make every
 * schema grid inside a modal respond to the dialog's usable width instead.
 */
@container awdaco-modal (max-width: 90rem) {
    .fi-modal-window .fi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* A section, or the only field in a grid, uses the full dialog.
       Otherwise it sits in column 1 and its own grid halves it again. */
    .fi-modal-window .fi-grid > .fi-grid-col:only-child,
    .fi-modal-window .fi-grid > .fi-grid-col:has(> .fi-sc-component > .fi-sc-section) {
        grid-column: 1 / -1 !important;
    }
}

@container awdaco-modal (max-width: 38rem) {
    .fi-modal-window .fi-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .fi-modal-window .fi-fo-dual-calendar .dc-fields.is-both {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Keep long values and action rows inside the modal at every width. */
.fi-modal-window :is(.fi-fo-field-wrp, .fi-sc-component, .fi-grid > *, .fi-input-wrp) {
    min-width: 0 !important;
}

.fi-modal-window :is(.fi-btn-label, .fi-fo-field-wrp-helper-text, .fi-section-header-description) {
    overflow-wrap: anywhere;
}

/* Dual calendar never overflows modal/page */
.fi-fo-dual-calendar,
.fi-fo-dual-calendar .dc-shell,
.fi-fo-dual-calendar input {
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Page forms (create/edit) — keep grids fluid */
.fi-page .fi-fo-component-ctn,
.fi-page .fi-sc-components,
.fi-resource-edit-record-page .fi-grid,
.fi-resource-create-record-page .fi-grid {
    max-width: 100% !important;
    min-width: 0 !important;
}

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

@media (max-width: 768px) {
    .fi-modal-window {
        width: 100% !important;
        max-height: calc(100dvh - 10px) !important;
        border-radius: 14px !important;
    }

    .fi-modal-window .fi-modal-header,
    .fi-modal-window .fi-modal-content,
    .fi-modal-window .fi-modal-body,
    .fi-modal-window .fi-modal-footer {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .fi-modal-window .fi-modal-footer .fi-btn {
        flex: 1 1 calc(50% - 6px) !important;
        justify-content: center !important;
    }

    .fi-modal-window .fi-fo-component-ctn,
    .fi-modal-window .fi-sc-components,
    .fi-modal-window .fi-grid {
        row-gap: 8px !important;
        column-gap: 8px !important;
    }
}

@media (max-width: 560px) {
    .fi-modal-window-ctn {
        padding: 4px !important;
        align-items: flex-end !important;
    }

    .fi-modal-window {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 4px) !important;
        border-radius: 14px 14px 0 0 !important;
    }

    .fi-modal-window .fi-modal-footer {
        flex-direction: column-reverse !important;
    }

    .fi-modal-window .fi-modal-footer .fi-btn {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    /* Force single-column fields on very small phones */
    .fi-modal-window .fi-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .fi-modal-window .fi-fo-dual-calendar .dc-fields.is-both {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* =========================================================
   Global box density — page forms, cards, barcode, reports
   ========================================================= */

/* Create / Edit resource forms (same density as modals) */
.fi-page .fi-fo-component-ctn,
.fi-page .fi-sc-components,
.fi-resource-edit-record-page .fi-grid,
.fi-resource-create-record-page .fi-grid,
.fi-resource-manage-related-records-page .fi-grid {
    row-gap: 12px !important;
    column-gap: 14px !important;
}

.fi-page .fi-section,
.fi-page .fi-section-content-ctn {
    padding: 12px 14px !important;
}

.fi-page .fi-fo-field-wrp-label,
.fi-page .fi-fo-field-wrp-label .fi-fo-field-wrp-label-text {
    font-size: 13px !important;
    margin-bottom: 6px !important;
}

.fi-page .fi-input,
.fi-page .fi-select-input,
.fi-page .fi-input-wrp input,
.fi-page .fi-input-wrp select,
.fi-page .fi-input-wrp textarea,
.fi-page textarea.fi-textarea {
    min-height: 42px !important;
    font-size: 14px !important;
}

.fi-page textarea.fi-textarea,
.fi-page .fi-textarea {
    min-height: 72px !important;
}

/* Business Overview / ERP chart cards */
.erp-chart-row .erp-card {
    min-height: 240px !important;
}

.misBusiness-report-hero {
    min-height: 0 !important;
}

.misBusiness-report-hero .misBusiness-hero-main,
.misBusiness-report-hero {
    padding: 18px !important;
}

.awdaco-exception-card {
    min-height: 96px !important;
    padding: 12px !important;
}

.awdaco-exception-card strong {
    font-size: 22px !important;
}

/* Profile denser controls */
.profile-redesign :is(.profile-input, .profile-select, .profile-textarea),
.profile-input,
.profile-select {
    min-height: 38px !important;
}

.profile-picture-stage {
    min-height: 220px !important;
    padding: 18px 16px !important;
}

.profile-nav-card {
    min-height: 58px !important;
}

/* Barcode print + scan pages */
.bp-wrap,
.lp-wrap,
.scan-wrap {
    gap: 14px !important;
    max-width: 100% !important;
}

.bp-head,
.lp-head,
.scan-head,
.bp-body,
.lp-body,
.scan-form,
.bp-preview {
    padding: 14px 16px !important;
}

.bp-body,
.lp-body,
.scan-form {
    gap: 12px !important;
}

.bp-grid,
.lp-grid,
.scan-grid {
    gap: 12px !important;
}

.bp-control,
.lp-control,
.scan-control,
.bp-field .mis-select__btn,
.lp-field .mis-select__btn,
.scan-field .mis-select__btn {
    min-height: 36px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
}

.bp-button,
.scan-button {
    min-height: 38px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
}

.bp-label,
.lp-label {
    min-height: 160px !important;
    padding: 14px !important;
}

.bp-empty,
.lp-empty {
    min-height: 160px !important;
}

.scan-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
}

.scan-title {
    font-size: 18px !important;
}

.scan-steps {
    gap: 10px !important;
}

.scan-step {
    padding: 12px !important;
}

/* Module / ops reports */
.mr-stat,
.mis-ops-reports__card {
    min-height: 110px !important;
    padding: 12px 14px !important;
}

.mr-stat__value {
    font-size: 1.25rem !important;
}

.mr-stat__icon {
    width: 2.1rem !important;
    height: 2.1rem !important;
}

.mr-donut-wrap {
    min-height: 200px !important;
}

.mr-filters {
    gap: 10px !important;
}

.oi-actions {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
}

.bm-card,
.bm-header,
.bm-panel {
    padding: 14px 16px !important;
}

@media (max-width: 1024px) {
    .erp-chart-row .erp-card {
        min-height: 200px !important;
    }

    .profile-picture-stage {
        min-height: 180px !important;
    }
}

@media (max-width: 850px) {
    .bp-wrap,
    .lp-wrap {
        grid-template-columns: 1fr !important;
    }

    .bp-grid,
    .lp-grid,
    .scan-grid,
    .scan-steps {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    .fi-page .fi-section,
    .fi-page .fi-section-content-ctn {
        padding: 10px 12px !important;
    }

    .fi-page .fi-fo-component-ctn,
    .fi-page .fi-sc-components,
    .fi-page .fi-grid {
        row-gap: 8px !important;
        column-gap: 8px !important;
    }

    .erp-chart-row .erp-card {
        min-height: 0 !important;
    }

    .awdaco-exception-card {
        min-height: 84px !important;
        padding: 10px !important;
    }

    .awdaco-exception-card strong {
        font-size: 20px !important;
    }

    .mr-stat,
    .mis-ops-reports__card {
        min-height: 96px !important;
        padding: 10px 12px !important;
    }

    .mr-donut-wrap {
        min-height: 180px !important;
    }

    .profile-picture-stage {
        min-height: 150px !important;
        padding: 14px !important;
    }

    .profile-redesign :is(.profile-input, .profile-select, .profile-textarea),
    .profile-input,
    .profile-select {
        min-height: 36px !important;
    }

    .bp-head,
    .lp-head,
    .scan-head,
    .bp-body,
    .lp-body,
    .scan-form,
    .bp-preview {
        padding: 12px !important;
    }

    .bp-label,
    .lp-label,
    .bp-empty,
    .lp-empty {
        min-height: 140px !important;
    }

    .rv-hero {
        padding: 16px !important;
        border-radius: 14px !important;
        margin-bottom: 14px !important;
    }

    .rv-hero__title {
        font-size: 1.35rem !important;
    }
}

@media (max-width: 560px) {
    .fi-page .fi-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .mr-grid-4,
    .mr-grid-3,
    .mr-filters,
    .mr-grid-2 {
        grid-template-columns: 1fr !important;
    }

    .oi-actions,
    .bm-actions,
    .bm-ready,
    .bm-summary {
        grid-template-columns: 1fr !important;
    }

    .scan-actions {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
    }

    .scan-button {
        width: 100% !important;
    }
}

/* =========================================================
   Read-only record view modal — wrap values, never clip
   ========================================================= */

.awdaco-record-view.fi-modal-window {
    width: min(100% - 12px, 72rem) !important;
    max-height: calc(100dvh - 12px) !important;
}

.awdaco-record-view .fi-modal-content,
.awdaco-record-view .fi-modal-body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    min-height: 0 !important;
}

.rv-details {
    padding: 4px 0 8px;
    max-width: 100%;
    min-width: 0;
}

.rv-hero {
    margin-bottom: 1.25rem;
    padding: 1.5rem;
    border-radius: 1.25rem;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #4f46e5);
    box-shadow: 0 18px 45px rgba(37, 99, 235, 0.25);
}

.rv-hero__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}

.rv-hero__identity {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    flex: 1 1 16rem;
}

.rv-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.rv-hero__icon svg {
    width: 1.85rem;
    height: 1.85rem;
    color: #fff;
}

.rv-hero__copy {
    min-width: 0;
}

.rv-hero__badge {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rv-hero__title {
    margin: 0.7rem 0 0;
    font-size: clamp(1.25rem, 2.4vw, 1.85rem);
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.rv-hero__subtitle {
    margin: 0.45rem 0 0;
    opacity: 0.9;
    font-size: 0.9rem;
}

.rv-hero__status {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.1rem;
    border-radius: 999px;
    background: #fff;
    color: #2563eb;
    font-weight: 700;
    white-space: normal;
}

.rv-hero__status svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    color: #2563eb;
}

.rv-card {
    margin-bottom: 1.25rem;
    border: 1px solid #e2e8f0;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 10px 35px rgba(15, 23, 42, 0.08);
}

.rv-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1.15rem 1.35rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(to right, #f8fafc, #eef4ff);
}

.rv-card__heading {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.rv-card__heading h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.rv-card__heading p {
    margin: 0.35rem 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

.rv-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.75rem;
    background: #dbeafe;
}

.rv-card__icon svg {
    width: 1.25rem;
    height: 1.25rem;
    color: #2563eb;
}

.rv-card__count {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.rv-card__count svg {
    width: 0.95rem;
    height: 0.95rem;
    color: #fff;
}

.rv-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    gap: 1rem;
    padding: 1.2rem;
}

.rv-field {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
}

.rv-field--wide {
    grid-column: 1 / -1;
}

.rv-field__label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.rv-field__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.6rem;
    background: #eff6ff;
}

.rv-field__icon svg {
    width: 1rem;
    height: 1rem;
    color: #2563eb;
}

.rv-field__value {
    margin-top: 0.7rem;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.5;
    color: #0f172a;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.rv-identity {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    align-items: center;
    padding: 1.2rem;
}

.rv-identity__qr {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 10rem;
    height: 10rem;
    padding: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 1.1rem;
    background: #fff;
}

.rv-identity__meta {
    min-width: min(100%, 14rem);
    flex: 1 1 15rem;
}

.rv-identity__code {
    margin: 0.4rem 0 1rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.rv-identity__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.6rem 0.85rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.rv-identity__link svg {
    width: 1rem;
    height: 1rem;
    color: #1d4ed8;
}

.rv-table-wrap {
    width: 100%;
    overflow-x: auto;
    padding: 0 0 0.35rem;
}

.rv-table {
    width: 100%;
    min-width: 36rem;
    border-collapse: collapse;
}

.rv-table th,
.rv-table td {
    padding: 0.85rem 1.1rem;
    text-align: start;
    vertical-align: top;
    overflow-wrap: anywhere;
    white-space: normal;
}

.rv-table th {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.rv-table td {
    font-size: 0.9rem;
    font-weight: 600;
    color: #0f172a;
    border-bottom: 1px solid #eef2f7;
}

.rv-table tbody tr:last-child td {
    border-bottom: 0;
}

.rv-table tfoot td {
    font-weight: 800;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 0;
}

/* Disabled form fallback: wrap instead of ellipsis */
.fi-modal-window .fi-input,
.fi-modal-window .fi-select-input,
.fi-modal-window .fi-input-wrp input,
.fi-modal-window .fi-input-wrp select,
.fi-modal-window textarea.fi-textarea {
    overflow: visible !important;
    text-overflow: unset !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.fi-modal-window textarea.fi-textarea,
.fi-modal-window .fi-textarea {
    min-height: 5rem !important;
    height: auto !important;
}

.fi-modal-window .fi-fo-repeater,
.fi-modal-window .fi-fo-repeater-item {
    overflow: visible !important;
    min-width: 0 !important;
}

.fi-modal-window .fi-fo-dual-calendar .dc-fields.is-both {
    grid-template-columns: minmax(0, 1fr) !important;
}

.fi-modal-window .dc-saved {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

html.dark .rv-card,
.dark .rv-card {
    border-color: rgb(255 255 255 / 0.1);
    background: rgb(15 23 42);
    box-shadow: none;
}

html.dark .rv-card__header,
.dark .rv-card__header,
html.dark .rv-table th,
.dark .rv-table th,
html.dark .rv-table tfoot td,
.dark .rv-table tfoot td {
    background: rgb(255 255 255 / 0.04);
    border-color: rgb(255 255 255 / 0.1);
}

html.dark .rv-card__heading h3,
.dark .rv-card__heading h3,
html.dark .rv-field__value,
.dark .rv-field__value,
html.dark .rv-identity__code,
.dark .rv-identity__code,
html.dark .rv-table td,
.dark .rv-table td {
    color: #f8fafc;
}

html.dark .rv-field,
.dark .rv-field,
html.dark .rv-identity__qr,
.dark .rv-identity__qr {
    border-color: rgb(255 255 255 / 0.1);
    background: rgb(255 255 255 / 0.03);
}

html.dark .rv-table td,
.dark .rv-table td {
    border-color: rgb(255 255 255 / 0.08);
}

/* Keep the RFQ quote dialog above the fixed laptop topbar. */
.fi-modal:has(.rfq-add-quote-modal) {
    z-index: 100 !important;
}
.fi-modal:has(.rfq-add-quote-modal) .fi-modal-window-ctn {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    height: 100dvh !important;
    min-height: 0 !important;
    box-sizing: border-box;
    justify-content: center !important;
    padding: 1rem !important;
    align-items: center !important;
    z-index: 101 !important;
}
.fi-modal:has(.rfq-add-quote-modal) .fi-modal-close-overlay {
    z-index: 100 !important;
}
.fi-modal-window.rfq-add-quote-modal {
    margin: 0 !important;
    flex: 0 1 56rem;
    width: 100% !important;
    max-width: 56rem !important;
    max-height: calc(100dvh - 2rem) !important;
    overflow: hidden !important;
}
.rfq-add-quote-modal .fi-modal-header,
.rfq-add-quote-modal .fi-modal-footer {
    padding: 1rem 1.5rem !important;
    flex-shrink: 0 !important;
}
.rfq-add-quote-modal .fi-modal-content {
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 1rem 1.5rem !important;
    overscroll-behavior: contain;
}
.rfq-add-quote-modal .fi-sc {
    gap: 1rem !important;
}
@media (max-width: 640px) {
    .fi-modal:has(.rfq-add-quote-modal) .fi-modal-window-ctn {
        padding: .5rem !important;
    }
    .fi-modal-window.rfq-add-quote-modal {
        max-height: calc(100dvh - 1rem) !important;
    }
    .rfq-add-quote-modal .fi-modal-header,
    .rfq-add-quote-modal .fi-modal-content,
    .rfq-add-quote-modal .fi-modal-footer {
        padding: 1rem !important;
    }
}
