/*
   Shared, framework-agnostic helpers (ADR-0040).

   The app UI is MudBlazor now; MudBlazor.min.css owns colours, components and the spacing/flex
   utilities. This file keeps only the handful of plain helpers Mud does not ship — currently the
   screen-reader-only utility used for the accessible label on icon-only / spinner states.
*/

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* App-bar brand logo (ADR-0040 amendment): the per-app mark shown before the title. Sized here rather
   than with an inline style so the CSP style rule stays honest. */
.ct-appbar-logo {
    height: 28px;
    width: 28px;
    display: block;
    border-radius: 6px;
}

/* The smaller brand mark shown beside each entry in the cross-app switcher menu. */
.ct-appswitcher-logo {
    height: 22px;
    width: 22px;
    border-radius: 5px;
}

/* Clearance for the fixed bottom navigation bar, which is shown only on narrow viewports (Breakpoint.Md
   in the shells). Below that width the last screenful of content would otherwise sit behind the 56px
   bar; this reserves room for it plus the iOS safe-area inset. */
@media (max-width: 959.98px) {
    .ct-has-bottomnav {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }
}
