/* Shared by every admin resource, widget, relation table, and modal. */
.fi-body {
    --radius-lg: .375rem;
    --radius-xl: .5rem;
    --radius-2xl: .625rem;
    --radius-3xl: .75rem;
    --admin-row-padding: .5rem;
}

.fi-main { padding-inline: 1rem; }
.fi-page-header-main-ctn { padding-block: 1rem; row-gap: 1rem; }
.fi-page-content, .fi-sc.fi-sc-has-gap { gap: 1rem; }
.fi-section:not(.fi-section-not-contained) > .fi-section-content-ctn > .fi-section-content,
.fi-sc-tabs.fi-contained .fi-sc-tabs-tab.fi-active,
.fi-fo-repeater-item-content { padding: 1rem; }
.fi-section:not(.fi-section-not-contained) > .fi-section-header,
.fi-section-footer, .fi-ta-header, .fi-ta-header-toolbar,
.fi-ta-ctn .fi-pagination, .fi-fo-repeater-item-header { padding: .625rem 1rem; }
.fi-ta-header-toolbar { gap: .75rem; }
.fi-ta-actions { gap: .5rem; }

/* All column types share row spacing, including editable and summary columns. */
:is(.fi-ta-text, .fi-ta-icon, .fi-ta-image, .fi-ta-color, .fi-ta-toggle,
    .fi-ta-checkbox, .fi-ta-select, .fi-ta-text-input):not(.fi-inline),
.fi-ta-text-summary, .fi-ta-range-summary, .fi-ta-values-summary,
.fi-ta-icon-count-summary {
    padding-block: var(--admin-row-padding);
    padding-inline: .625rem;
}
.fi-ta-header-cell,
.fi-ta-cell:has(.fi-ta-actions),
.fi-ta-cell:has(.fi-ta-record-checkbox),
.fi-ta-selection-cell, .fi-ta-summary-row-heading-cell,
.fi-ta-summary-header-cell, .fi-ta-individual-search-cell {
    padding-block: var(--admin-row-padding);
    padding-inline: .625rem;
}
/* Action-cell padding belongs to the cell, not both cell and action wrapper. */
.fi-ta-cell > .fi-ta-actions { padding-block: 0; }
.fi-ta-cell:first-child { padding-inline-start: .5rem; }
.fi-ta-cell:last-child { padding-inline-end: .5rem; }
.fi-ta-header-cell:first-child { padding-inline-start: 1.125rem; }
.fi-ta-header-cell:last-child { padding-inline-end: 1.125rem; }

.fi-ta-ctn, .fi-section, .fi-sc-tabs.fi-contained,
.fi-fo-repeater-item, .fi-fo-table-repeater,
.fi-modal-window, .fi-dropdown-panel, .fi-ta-panel { border-radius: .5rem; }
.fi-input-wrp, .fi-btn, .fi-sidebar-item-btn, .fi-tabs-item { border-radius: .375rem; }
.fi-modal-header, .fi-modal-content, .fi-modal-footer { padding-inline: 1rem; }
.fi-modal-header { padding-top: 1rem; }
.fi-modal-footer { padding-bottom: 1rem; }

/* Apply the same density to every table-style item subform. */
@container (min-width: 36rem) {
    .fi-fo-table-repeater > table > tbody > tr > td { padding: .375rem .5rem; }
}

/* Preserve the stacked mobile layout and comfortable touch spacing. */
@media (max-width: 639px) {
    .fi-body { --admin-row-padding: .75rem; }
    .fi-main { padding-inline: .75rem; }
    .fi-ta-table-stacked-on-mobile :is(.fi-ta-text, .fi-ta-icon, .fi-ta-image,
        .fi-ta-color, .fi-ta-toggle, .fi-ta-checkbox, .fi-ta-select,
        .fi-ta-text-input):not(.fi-inline) { padding: 0; }
}