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

:root {
    --fi-compact-font: 12.5px;
    --fi-compact-line: 1.25;
}

html {
    font-size: 13px;
}

.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.05rem !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}

.fi-header-subheading {
    font-size: 0.8rem !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-sidebar-nav {
    padding: 0.35rem 0.4rem !important;
    gap: 0.15rem !important;
}

.fi-sidebar-group-label,
.fi-sidebar-group > .fi-sidebar-group-button {
    font-size: 0.68rem !important;
    letter-spacing: 0.04em !important;
    padding: 0.35rem 0.5rem !important;
    margin-top: 0.25rem !important;
}

.fi-sidebar-item-button,
.fi-sidebar-item > a,
.fi-sidebar-item a {
    padding: 0.28rem 0.5rem !important;
    min-height: 1.85rem !important;
    font-size: 0.8rem !important;
    gap: 0.45rem !important;
    border-radius: 0.35rem !important;
}

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

.fi-sidebar-item-label {
    font-size: 0.8rem !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.85rem !important;
}

/* Forms — smaller controls, denser grid */
.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: 2rem !important;
    padding-block: 0.3rem !important;
    font-size: 0.8rem !important;
    line-height: 1.25 !important;
}

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

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

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

.fi-fo-field-wrp-hint,
.fi-fo-field-wrp-helper-text {
    font-size: 0.7rem !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.28rem 0.55rem !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
}

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

.fi-ta-text,
.fi-ta-text-item-label {
    font-size: 0.78rem !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: 1.9rem !important;
    padding: 0.25rem 0.6rem !important;
    font-size: 0.78rem !important;
    border-radius: 0.35rem !important;
    gap: 0.3rem !important;
}

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

.fi-icon-btn {
    width: 1.85rem !important;
    height: 1.85rem !important;
    padding: 0.2rem !important;
}

/* Badges / pills */
.fi-badge {
    font-size: 0.68rem !important;
    padding: 0.1rem 0.4rem !important;
    min-height: 1.2rem !important;
    border-radius: 0.25rem !important;
}

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

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

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

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

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

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

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

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

/* Tabs */
.fi-tabs-item,
.fi-tabs-item-label {
    font-size: 0.78rem !important;
    padding-block: 0.35rem !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;
    }
}
