[hidden] { display: none !important; }

.ui-page { width: 100%; }

.ui-page__content {
    width: min(100%, var(--ui-page-max-width));
    margin-inline: auto;
}

.ui-stack {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-4);
}

.ui-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-3);
}

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

.ui-text-muted { color: var(--ui-color-text-muted); }

/* Opt-in surfaces share readable labels, wrapping and keyboard focus without
   overriding either the public site's font family or dashboard theme colours. */
[data-ui-surface] :is(button, input, select, textarea) { font-family: inherit; }
[data-ui-surface] :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--ui-color-info);
    outline-offset: 3px;
}
