/* Shared semantic tokens. Native clients retain their platform fonts and units. */
:root {
    --rd-font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --rd-color-text: #000;
    --rd-color-surface: #fff;
    --rd-color-action: #075c9c;
    --rd-color-danger: #a32020;
    --rd-color-focus: #075c9c;
    --rd-space-1: .25rem;
    --rd-space-2: .5rem;
    --rd-space-3: .75rem;
    --rd-space-4: 1rem;
    --rd-control-min: max(44px, 2.75rem);
    --rd-control-radius: .375rem;
}
.rd-frontend, .rd-admin { font-family: var(--rd-font-ui); line-height: 1.5; }
:is(.rd-frontend, .rd-admin) :is(h1,h2,h3,h4,h5,h6,input,select,textarea,button) { font-family: inherit; }
:is(.rd-frontend, .rd-admin) :focus-visible {
    outline: 3px solid var(--rd-color-focus) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 3px #fff !important;
}
:is(.rd-frontend, .rd-admin) :is(input,select,textarea,button,a,[tabindex]) { scroll-margin-block: 6rem; }
:is(.rd-frontend, .rd-admin) .rd-skip-link {
    position: fixed; top: -10rem; left: 1rem; z-index: 11000;
    padding: .75rem 1rem; color: #fff; background: #12315a;
}
:is(.rd-frontend, .rd-admin) .rd-skip-link:focus { top: .5rem; }
.rd-member .main-menu__item > button.rd-nav-toggle {
    display: block; width: 100%; min-height: 54px; padding: 12px 10px;
    border: 0; border-radius: 0; color: #fff; background: transparent;
    font: inherit; font-size: 13px; line-height: 1.4; text-align: left; cursor: pointer;
}
.rd-member .main-menu__item.active > button.rd-nav-toggle { background: #2b4c8b; }
.rd-member .main-menu__item:not(.active) > .rd-nav-toggle:is(:hover,[aria-expanded="true"]),
.rd-member .main-menu__item:not(.active):hover > a {
    background: transparent; box-shadow: inset 0 -2px 0 #a9c7ff;
}
.rd-member .main-menu__box .dropdown-menu { max-width: calc(100vw - 2rem); }
.rd-member .main-menu__box .dropdown-menu a { white-space: normal; overflow-wrap: anywhere; }
:is(.rd-frontend, .rd-admin) .rd-error-summary {
    color: var(--rd-color-danger); background: #fff5f5; border: 2px solid currentColor;
    padding: var(--rd-space-4); border-radius: var(--rd-control-radius); overflow-wrap: anywhere;
}
.rd-error-summary p { margin-block: 0 .5rem; font-weight: 600; }
.rd-error-summary ul { margin-block: 0; padding-inline-start: 1.5rem; }
.rd-document-drop { width: 100%; font: inherit; text-align: center; cursor: pointer; }
.rd-frontend .rd-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--rd-space-3); }
.rd-actions > :is(.rd-document-action-status,[role="status"]) { flex: 1 1 100%; text-align: left; }
.rd-document-preview-dialog { max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); }
.rd-document-preview-controls { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.rd-document-preview-controls strong { flex: 1 1 12rem; overflow-wrap: anywhere; }
:is(.rd-frontend, .rd-admin) button { min-height: var(--rd-control-min); }
@media (max-width: 700px) {
    .rd-member .rd-form-actions.rd-actions-active { position: static; width: auto; }
    .rd-member .main-menu__box .dropdown-menu { position: static; float: none; width: 100%; }
}
@media (forced-colors: active) {
    :is(.rd-frontend, .rd-admin) :focus-visible { outline-color: Highlight !important; }
}
@media (prefers-reduced-motion: reduce) {
    :is(.rd-frontend, .rd-admin) .animated { animation: none !important; }
}
/* Keep semantic disclosure buttons within the existing section heading design. */
:is(.rd-frontend, .rd-admin) h4.rd-section-heading { padding: 0; margin-inline: 0 !important; width: auto; height: auto; white-space: normal; }
:is(.rd-frontend, .rd-admin) .rd-section-toggle {
    position: relative; display: block; width: 100%; min-height: var(--rd-control-min); padding: .75rem 2.75rem .75rem 1rem;
    border: 0; border-radius: inherit; color: inherit; background: transparent;
    font: inherit; line-height: inherit; text-align: left; overflow-wrap: anywhere; cursor: pointer;
}
:is(.rd-frontend, .rd-admin) h4.rd-section-heading::after { content: none; }
:is(.rd-frontend, .rd-admin) .rd-section-toggle::after {
    content: ""; position: absolute; right: 1rem; top: 50%; width: .6rem; height: .6rem;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: translateY(-75%) rotate(45deg); pointer-events: none;
}
:is(.rd-frontend, .rd-admin) .rd-section-toggle[aria-expanded="true"]::after {
    transform: translateY(-25%) rotate(225deg);
}
/* Styled choices retain their native semantics, keyboard behavior and label focus. */
.rd-member input.form-radio__input,
.rd-member input.form-checkbox__input {
    display: block !important;
    visibility: visible !important;
    opacity: 0;
}
.rd-member .form-radio:focus-within,
.rd-member .form-checkbox:focus-within {
    outline: 3px solid var(--rd-color-focus);
    outline-offset: 3px;
}
