/* Shared controls for the public site and administration. */
/* Native vertical and horizontal scrollbars, including nested tables and dialogs. */
*{scrollbar-width:thin;scrollbar-color:var(--app-scrollbar-thumb) var(--app-scrollbar-track)}
@supports not (scrollbar-color:auto){
    ::-webkit-scrollbar{width:10px;height:10px}
    ::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--app-scrollbar-track)}
    ::-webkit-scrollbar-thumb{background:var(--app-scrollbar-thumb);border:2px solid var(--app-scrollbar-track);border-radius:var(--app-pill-radius)}
    ::-webkit-scrollbar-thumb:hover{background:var(--app-scrollbar-thumb-hover)}
}
@media(forced-colors:active){
    *{scrollbar-width:auto;scrollbar-color:auto}
    ::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:Canvas}
    ::-webkit-scrollbar-thumb{background:ButtonText;border-color:Canvas}
    ::-webkit-scrollbar-thumb:hover{background:Highlight}
}
[hidden]{display:none!important}
.brand svg{width:126px;height:36px;display:block}
.footer .brand svg{width:98px;height:28px}
.fas{flex-shrink:0}
.app-icon--usb-drive{display:inline-block;width:1em;height:1em;background:currentColor;mask:url("../img/icons/usb-drive.svg") center/contain no-repeat;vertical-align:-.125em}
.button .fas{font-size:14px}
.button.button--large{min-height:48px;padding:12px 28px;font-size:16px;line-height:24px}
.button.button--marketing{background:var(--app-marketing);color:var(--app-on-action)}
.button.button--marketing:hover{background:var(--app-marketing-hover)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:18px;transition:background 140ms ease}
.icon-button:hover{background:var(--app-hover);text-decoration:none}
.main-content{min-width:0}
summary:focus-visible{outline:2px solid var(--app-focus);outline-offset:3px;border-radius:12px}
.notice{margin:0 0 24px;font-size:14px}
.notice ul{margin:0;padding-left:20px}
.input-validation-error{border-color:var(--app-danger)}
.request-status{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;align-items:center;gap:10px;border-radius:12px;padding:16px 24px;background:var(--app-surface);color:var(--app-text);box-shadow:0 4px 24px rgb(0 0 0 / 15%);font-size:14px}
.search-field>.fas{color:var(--app-muted);margin-left:12px}
.text-button>.fas{margin-right:6px}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:1rem;color:var(--app-muted);margin:12px 0}
.breadcrumbs>.fas{font-size:10px}
.category-children{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.category-children .button{white-space:normal;text-align:left}
@media(max-width:767px){.brand svg{width:102px;height:30px}.request-status{left:20px;right:20px;bottom:20px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.fa-spin{animation:none}}
/* Loading is layered over the existing content and never changes its geometry. */
.loading-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;border-radius:inherit;background:color-mix(in srgb,var(--app-bg) 65%,transparent);backdrop-filter:blur(2px);cursor:progress}
.loading-overlay-spinner{width:32px;height:32px;border:3px solid var(--app-border);border-top-color:var(--app-primary);border-radius:50%;animation:loading-overlay-spin .8s linear infinite}
@keyframes loading-overlay-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-overlay-spinner{animation:none}}
