/* Dense "desktop software" density for Filament admin */

:root {
    --fi-compact-font: 14px;
    --fi-compact-line: 1.35;
}

html {
    font-size: 15px;
}

.fi-body,
.fi-simple-layout,
.fi-main {
    font-size: var(--fi-compact-font) !important;
    line-height: var(--fi-compact-line) !important;
}

/* Full-bleed content, less outer padding */
.fi-main-ctn,
.fi-page-main,
.fi-page > section,
.fi-simple-page {
    max-width: 100% !important;
}

.fi-main {
    padding-inline: 0.75rem !important;
}

.fi-page-header,
.fi-header {
    padding-block: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    gap: 0.5rem !important;
}

.fi-header-heading,
.fi-header h1,
.fi-page-header h1 {
    font-size: 1.2rem !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

.fi-header-subheading {
    font-size: 0.9rem !important;
}

/* Sidebar — narrower, tighter items */
.fi-sidebar,
.fi-main-sidebar,
aside.fi-sidebar {
    width: 12.5rem !important;
    max-width: 12.5rem !important;
    min-width: 12.5rem !important;
}

.fi-sidebar-header {
    padding: 0.5rem 0.65rem !important;
}

.fi-logo,
.fi-topbar .fi-logo,
.fi-sidebar-header .fi-logo {
    max-height: 2.75rem !important;
    height: 2.75rem !important;
    width: auto !important;
    max-width: 11rem !important;
    object-fit: contain !important;
}

/* Keep Filament light/dark logo switching (do not force both visible) */
.fi-logo-dark {
    display: none !important;
}

.dark .fi-logo-dark,
html.dark .fi-logo-dark {
    display: block !important;
}

.dark .fi-logo-light,
html.dark .fi-logo-light {
    display: none !important;
}

.fi-topbar-start {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.fi-topbar-start .fi-logo {
    max-height: 2.5rem !important;
    height: 2.5rem !important;
}

.fi-simple-main .fi-logo,
.fi-simple-header .fi-logo,
.fi-simple-layout .fi-logo {
    max-height: 5rem !important;
    height: auto !important;
    max-width: 18rem !important;
    margin-inline: auto;
    margin-bottom: 0.5rem;
}

.fi-sidebar-nav {
    padding: 0.25rem 0.3rem !important;
    gap: 0.15rem !important;
}

.fi-sidebar-nav-groups {
    gap: 0.15rem !important;
    margin-inline: 0 !important;
}

.fi-sidebar-group {
    gap: 0 !important;
}

.fi-sidebar-group-items {
    gap: 0 !important;
    row-gap: 0 !important;
}

.fi-sidebar-group-btn,
.fi-sidebar-group-label,
.fi-sidebar-group > .fi-sidebar-group-button {
    font-size: 0.78rem !important;
    letter-spacing: 0.03em !important;
    padding: 0.25rem 0.45rem !important;
    margin-top: 0.2rem !important;
    min-height: 1.55rem !important;
}

.fi-sidebar-item {
    margin: 0 !important;
}

.fi-sidebar-item-btn,
.fi-sidebar-item-button,
.fi-sidebar-item > a,
.fi-sidebar-item a {
    padding: 0.2rem 0.45rem !important;
    min-height: 1.7rem !important;
    height: auto !important;
    font-size: 0.9rem !important;
    gap: 0.4rem !important;
    border-radius: 0.3rem !important;
    line-height: 1.25 !important;
}

.fi-sidebar-item-icon,
.fi-sidebar-item svg,
.fi-sidebar-item-btn > .fi-icon {
    width: 1rem !important;
    height: 1rem !important;
}

.fi-sidebar-item-label {
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
}

.fi-topbar {
    padding-block: 0.25rem !important;
    min-height: 2.5rem !important;
}

.fi-topbar-item-button {
    padding: 0.25rem 0.4rem !important;
}

/* Sections / cards */
.fi-section,
.fi-fo-section,
.fi-wi-stats-overview,
.fi-wi-widget {
    border-radius: 0.4rem !important;
}

.fi-section-content-ctn,
.fi-section-content {
    padding: 0.65rem 0.75rem !important;
}

.fi-section-header {
    padding: 0.45rem 0.75rem !important;
}

.fi-section-header-heading {
    font-size: 0.95rem !important;
}

/* Forms — readable controls */
.fi-input,
.fi-select-input,
.fi-textarea,
.fi-fo-text-input input,
.fi-fo-select .choices__inner,
.fi-fo-date-time-picker input,
.fi-input-wrp input,
.fi-input-wrp textarea,
.fi-input-wrp select {
    min-height: 2.25rem !important;
    padding-block: 0.4rem !important;
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
}

.fi-input-wrp {
    border-radius: 0.35rem !important;
}

.fi-fo-field-wrp {
    gap: 0.25rem !important;
}

.fi-fo-field-wrp-label label,
.fi-fo-field-wrp-label .fi-fo-field-wrp-label-text {
    font-size: 0.88rem !important;
    font-weight: 550 !important;
}

.fi-fo-field-wrp-hint,
.fi-fo-field-wrp-helper-text {
    font-size: 0.8rem !important;
}

.fi-fo-component-ctn,
.fi-sc-component {
    gap: 0.65rem !important;
}

/* Tables — spreadsheet feel */
.fi-ta-ctn {
    border-radius: 0.4rem !important;
}

.fi-ta-header-toolbar {
    padding: 0.4rem 0.55rem !important;
    gap: 0.4rem !important;
}

.fi-ta-header-cell,
.fi-ta-cell {
    padding: 0.35rem 0.6rem !important;
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
}

.fi-ta-header-cell {
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.fi-ta-text,
.fi-ta-text-item-label {
    font-size: 0.9rem !important;
}

.fi-ta-row {
    height: auto !important;
}

.fi-ta-actions,
.fi-ta-actions .fi-btn,
.fi-ac-btn-group .fi-btn {
    gap: 0.2rem !important;
}

/* Buttons */
.fi-btn {
    min-height: 2.15rem !important;
    padding: 0.35rem 0.75rem !important;
    font-size: 0.9rem !important;
    border-radius: 0.35rem !important;
    gap: 0.35rem !important;
}

.fi-btn-icon,
.fi-btn svg {
    width: 1.05rem !important;
    height: 1.05rem !important;
}

.fi-icon-btn {
    width: 2rem !important;
    height: 2rem !important;
    padding: 0.25rem !important;
}

/* Badges / pills */
.fi-badge {
    font-size: 0.78rem !important;
    padding: 0.15rem 0.45rem !important;
    min-height: 1.35rem !important;
    border-radius: 0.25rem !important;
}

/* Stats widgets */
.fi-wi-stats-overview-stat {
    padding: 0.65rem 0.8rem !important;
    border-radius: 0.4rem !important;
}

.fi-wi-stats-overview-stat-value {
    font-size: 1.3rem !important;
    line-height: 1.2 !important;
}

.fi-wi-stats-overview-stat-label {
    font-size: 0.85rem !important;
}

.fi-wi-stats-overview-stat-description {
    font-size: 0.8rem !important;
}

/* Modals */
.fi-modal-header,
.fi-modal-content,
.fi-modal-footer {
    padding: 0.85rem !important;
}

.fi-modal-heading {
    font-size: 1.05rem !important;
}

/* Pagination */
.fi-pagination {
    padding: 0.4rem 0.6rem !important;
    gap: 0.4rem !important;
}

.fi-pagination-item,
.fi-pagination-overview {
    font-size: 0.85rem !important;
}

/* Tabs */
.fi-tabs-item,
.fi-tabs-item-label {
    font-size: 0.9rem !important;
    padding-block: 0.4rem !important;
}

/* Empty states — keep short so dashboards stay dense */
.fi-empty-state {
    padding: 0.75rem !important;
}

.fi-empty-state-icon-ctn {
    margin-bottom: 0.35rem !important;
}

.fi-empty-state-icon-ctn svg,
.fi-empty-state-icon {
    width: 1.75rem !important;
    height: 1.75rem !important;
}

.fi-empty-state-heading {
    font-size: 0.85rem !important;
}

.fi-empty-state-description {
    font-size: 0.72rem !important;
}

/* Dashboard widget grid denser */
.fi-page-content,
.fi-dashboard,
.fi-wi-widget {
    gap: 0.65rem !important;
}

.fi-wi-widget svg.qa-icon,
.qa-btn svg {
    width: 0.95rem !important;
    height: 0.95rem !important;
}

.fi-wi-widget .fi-section-content-ctn,
.fi-wi-widget .fi-ta-ctn {
    min-height: 0 !important;
}

/* Repeaters / relation managers */
.fi-fo-repeater-item-header,
.fi-fo-repeater-item-content {
    padding: 0.45rem 0.55rem !important;
}

/* Global search denser */
.fi-global-search-field .fi-input-wrp input {
    min-height: 1.85rem !important;
    font-size: 0.78rem !important;
}

/* Keep tables from wrapping too aggressively — more columns visible */
.fi-ta-table {
    font-variant-numeric: tabular-nums;
}

@media (min-width: 1024px) {
    .fi-main {
        padding-inline: 0.9rem !important;
    }

    .fi-ta-header-cell,
    .fi-ta-cell {
        white-space: nowrap;
    }
}
