/* Mobile surfaces share one outer inset; standalone controls keep a text inset.
   Logical properties share the same geometry in LTR and RTL. */
@media (max-width: 767.98px) {
    :root {
        --gs-mobile-control-inset: 12px;
        --gs-mobile-surface-border: rgba(190, 199, 211, .24);
    }

    /* Keep the actual border inside the surface, including rounded corners. */
    .app-main-content :is(.card, .stat-card, .entity-card,
        .gigs-mobile-event-card, .rep-panel, .support-panel, .support-empty),
    .app-main-content .entity-list-table .entity-list-view,
    .owner-main :is(.owner-panel, .owner-chart-panel, .owner-client-row, .owner-metric),
    .app-page-skeleton .ps-panel {
        border-color: var(--gs-mobile-surface-border);
    }

    .app-main-content :is(.page-header, .entity-page-actions, .rep-catalog-toolbar),
    .app-main-content > :is(h1, h2, h3, p, .hierarchy-nav),
    .app-main-content .fc .fc-header-toolbar,
    .app-main-content .list-query-panel:not(.member-history-query-panel),
    .rep-page > .rep-heading,
    .band-settings-page > :is(h1, h2, p, .band-settings-header, .band-settings-section-heading),
    .gigs-results-summary,
    .gigs-mobile-section-heading,
    .support-shell > :is(.support-heading, .support-thread-heading, .support-back),
    .owner-main > :is(.owner-page-heading, .owner-back, .owner-local-nav),
    .ps-layout > :is(.ps-toolbar, .ps-filters, .ps-tabs) {
        padding-inline: var(--gs-mobile-control-inset);
    }

    .owner-main > .owner-back { display: inline-flex; }
    .band-settings-page > .btn { margin-inline: var(--gs-mobile-control-inset); }
    .app-main-content .page-header .entity-page-actions { padding-inline: 0; }

    .app-main-content .fc .fc-scrollgrid {
        border-inline: 1px solid var(--gs-mobile-surface-border);
    }

    /* Negative Bootstrap row margins must not clip the outer card border. */
    .dashboard-page > .row {
        margin-inline: 0;
        --bs-gutter-x: 0;
    }

    .app-page-skeleton {
        padding-inline: var(--gs-mobile-content-start) var(--gs-mobile-content-end);
    }
    .ps-layout { max-width: 100%; }
    .ps-layout-calendar > .ps-panel,
    .ps-layout-calendar-week > .ps-panel,
    .ps-layout-calendar-day > .ps-panel { padding-inline: 0; }
}
