/* Shared responsive improvements for panel, portal and operational pages. */
@media screen and (max-width: 767px) {
    .fi-main-ctn, .fi-main, .fi-page, .fi-section, .fi-section-content,
    .fi-fo-component-ctn, .fi-ta, .fi-ta-ctn, main, main .card { min-width: 0; max-width: 100%; }
    .fi-main { padding-inline: .75rem !important; }
    main { box-sizing: border-box; }
    main .worker > div { min-width: 0; overflow-wrap: anywhere; }
    .fi-ta-content { overflow-x: auto !important; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
    main table:not(.fi-ta-table), .fi-main table:not(.fi-ta-table) {
        display: block; max-width: 100%; overflow-x: auto;
        overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch;
    }
    .fi-btn, .fi-icon-btn, .mj-cal-control { min-height: 44px; }
    .fi-icon-btn { min-width: 44px; }
    .fi-fo-field-wrp :is(input:not([type=checkbox]):not([type=radio]), select, textarea),
    main form :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size: 16px !important; max-width: 100%; }
    .fi-modal-window { width: calc(100vw - 1rem) !important; max-width: calc(100vw - 1rem) !important; margin-inline: auto; }
    .fi-modal-content { padding-inline: 1rem !important; }
    .fi-fo-tabs > .fi-tabs { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
    .mj-cal, .mj-cal-controls { min-width: 0; max-width: 100%; }
    .mj-cal-toolbar, .mj-cal-controls { flex-wrap: wrap; gap: 8px; }
    .mj-cal-date { min-height: 44px; font-size: 16px; max-width: 100%; }
    .mj-cal-grid { min-width: 630px; }
    .mj-cal-copy-dialog { max-height: 85dvh; width: 100%; box-sizing: border-box; }
    .mj-online-dropdown { position: fixed !important; inset-inline: 8px !important; top: 64px; width: auto !important; max-height: 65dvh; overflow-y: auto; }
}
