.catalog-editor.fi-modal-window {
    height: min(640px, calc(100dvh - 2rem));
    max-height: calc(100dvh - 2rem);
    width: min(1024px, calc(100vw - 2rem));
}
.catalog-editor > .fi-modal-header,
.catalog-editor > .fi-modal-footer { flex-shrink: 0; }
.catalog-editor > .fi-modal-content {
    flex: 1 1 0;
    min-height: 0;
    padding: 1rem;
}
.catalog-editor .fi-sc-tabs { height: auto; }
.catalog-editor .fi-tabs { flex-wrap: wrap; overflow: visible; gap: 0.25rem; }
.catalog-editor .fi-sc-tabs-tab { padding: 1rem; }
.catalog-editor .fi-sc { gap: 1rem; }
.catalog-editor textarea { resize: none; }
@media (max-width: 640px) {
    .catalog-editor.fi-modal-window { width: calc(100vw - 1rem); height: calc(100dvh - 1rem); max-height: calc(100dvh - 1rem); }
    .catalog-editor > .fi-modal-content { padding: 0.75rem; }
    .catalog-editor .fi-sc-tabs-tab { padding: 0.75rem; }
    .catalog-editor .fi-tabs .fi-tabs-item { font-size: 1rem; }
}

.catalog-editor > .fi-modal-header { padding: 1rem 1.25rem; }
.catalog-editor > .fi-modal-footer { padding: 0.75rem 1.25rem; }
.catalog-editor .fi-fo-field-label-content { font-size: 0.9375rem; line-height: 1.25rem; }
.catalog-editor input, .catalog-editor textarea, .catalog-editor .fi-select-input { font-size: 1rem; }
.catalog-editor .fi-tabs-item { font-size: 1rem; }
.catalog-table .fi-ta-text-item { font-size: 0.9375rem; line-height: 1.5; }
.catalog-table .fi-ta-text-description { font-size: 0.875rem; }
@media (max-height: 700px) {
    .catalog-editor > .fi-modal-content { padding: 0.75rem; }
    .catalog-editor .fi-sc-tabs-tab { padding: 0.75rem; }
    .catalog-editor .fi-sc { gap: 0.75rem; }
}
