/* Generated from modular CSS sources. Do not edit. */

.f-file-picker{display:grid;gap:7px;min-width:0}
.f-file-input{max-width:100%;min-width:0;box-sizing:border-box}

/* The real select keeps native input and option semantics; older engines retain its text fallback. */
@supports(appearance:base-select) {
    .f-select.f-select-customized, .f-select.f-select-customized::picker(select) { appearance:base-select; }
    .f-select::picker(select) { box-sizing:border-box; width:var(--f-picker-inline-size,max-content); min-width:0; max-width:calc(100vw - 24px); min-inline-size:0; max-inline-size:calc(100vw - 24px); }
    .f-select.f-select-customized { padding:0; gap:0; }
    .f-select.f-select-customized::picker-icon { display:none; }
    .f-select.f-select-customized > .f-select-trigger { inline-size:100%; box-sizing:border-box; }
    .f-select.f-select-customized > .f-select-trigger:not(.f-button) { display:flex; align-items:center; justify-content:center; padding:0; border:0; font:inherit; color:inherit; background:transparent; }
    .f-select.f-select-customized:has(> .f-button-icon) { inline-size:var(--f-control-height,48px); min-inline-size:var(--f-control-height,48px); block-size:var(--f-control-height,48px); }
    /* A native option owns one standard choice column before its left-aligned content. */
    .f-select option { box-sizing:border-box; width:auto; min-width:0; max-width:none; display:grid; grid-template-columns:var(--f-choice-size,28px) minmax(0,1fr); align-items:center; justify-content:left; text-align:left; column-gap:10px; min-height:calc(var(--f-choice-size,28px) + 12px); padding:6px 10px; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
    .f-select option::checkmark { content:""; visibility:visible; box-sizing:border-box; display:grid; grid-column:1; grid-row:1; place-content:center; width:var(--f-choice-size,28px); height:var(--f-choice-size,28px); padding:0; margin:0; text-align:center; border:1px solid currentColor; border-radius:var(--f-choice-radius,9px); }
    .f-select option:checked::checkmark { content:"✓"; }

}



:root {
--f-page-gutter: 24px;
    --f-control-height: 48px;
    --f-dense-height: 36px;
    --f-field-label-gap: 7px;
}

.access-brand {
display: flex;
    align-items: center;
}

.access-logo {
display: grid;
    width: 72px;
    height: 72px;
    flex: 0 0 auto;
    place-items: center;
    overflow: visible;
}

.access-logo img {
display: block;
    width: 72px;
    height: 72px;
    max-width: none;
}

.access-brand h1 {
min-width: 0;
    overflow-wrap: anywhere;
}

* {
box-sizing: border-box;
}

html {
min-width: 320px;
}

h1[tabindex="-1"]:focus {
outline: none;
}

.page-root {
min-width: 0;
}

.page-module {
min-width: 0;
}

.section-heading {
display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
}

.section-heading > div {
display: flex;
    align-items: center;
}

[data-resizable-table] .data-column-resizer {
position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 12px;
    height: 100%;
    cursor: col-resize;
    touch-action: none;
    user-select: none;
}

[data-resizable-table] .data-column-resizer::after {
position: absolute;
    top: 12px;
    bottom: 12px;
    right: 5px;
    width: 2px;
    opacity: 0;
    content: "";
}

[data-resizable-table] .data-column-resizer:hover::after,
[data-resizable-table] .data-column-resizer:focus-visible::after,
[data-resizable-table] .data-column-resizer.is-resizing::after {
opacity: 1;
}

.is-resizing-columns {
cursor: col-resize;
    user-select: none;
}

.form-check {
display: flex;
    width: 100%;
    min-height: var(--f-control-height);
    align-items: center;
    cursor: pointer;
}

.form-check > input[type="checkbox"] {
display: grid;
    width: var(--f-choice-size,28px);
    height: var(--f-choice-size,28px);
    flex: 0 0 var(--f-choice-size,28px);
    place-content: center;
    cursor: pointer;
}

.form-check > input[type="checkbox"]::before {
content: "✓";
}

.form-check:has(input:disabled) {
cursor: not-allowed;
}

.form-check > input[type="checkbox"]:disabled {
cursor: not-allowed;
}

@supports (appearance: base-select) {:is(.navigation-surface, .content-surface) select {
    align-items: center;
                vertical-align: middle;
    }

    :is(.navigation-surface, .content-surface) select:not(.f-select) option,
    :is(.navigation-surface, .content-surface) select:not(.f-select) optgroup {
    min-height: 44px;
    }

    :is(.navigation-surface, .content-surface) select::picker-icon {
    align-self: center;
                transform: rotate(0deg);
                transform-origin: 50% 50%;
    }

    :is(.navigation-surface, .content-surface) select:open::picker-icon {
    transform: rotate(180deg);
    }
}

.required-field,
label:has(input:required, select:required, textarea:required),
label:has(+ input:required, + select:required, + textarea:required) {
position: relative;
}

.required-field::after,
label:has(input:required, select:required, textarea:required)::after,
label:has(+ input:required, + select:required, + textarea:required)::after {
position: absolute;
    top: 0;
    right: 0;
    content: "*";
}

.validation-message {
overflow-wrap: anywhere;
}

@media (max-width: 760px) {.page-root {
    --f-page-gutter: 16px;
    }
}




/* MaskedInput.css */
.masked-input {
    display: grid;
    position: relative;
}
.masked-input-display,
.masked-input-control {
    grid-area: 1 / 1;
}
.masked-input-display {
    align-items: center;
    display: flex;
    min-width: 0;
    overflow: hidden;
    pointer-events: none;
    white-space: pre;
    z-index: 1;
}
.masked-input-control {
    background-color: transparent !important;
    color: transparent !important;
    position: relative;
    z-index: 2;
}


/* NoticeTrigger.css */
.notice-trigger {
    position: relative;
    z-index: 4;
    display: inline-flex;
    vertical-align: middle;
}
.notice-trigger-button {
    box-sizing: border-box;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
    padding: 0;
    border-radius: 50%;
    font: inherit;
    line-height: 1;
}
.notice-trigger-glyph {
    display: block;
    width: 72%;
    height: 72%;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.notice-trigger-content {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 80;
    overflow-wrap: anywhere;
    pointer-events: none;
}
.notice-trigger-content::before {
    content: "";
    position: absolute;
    inset: -10px 0 auto;
    height: 10px;
}
.notice-trigger:hover .notice-trigger-content,
.notice-trigger:focus-within .notice-trigger-content {
    pointer-events: auto;
}
.notice-trigger:hover,
.notice-trigger:focus-within {
    z-index: 90;
}

/* PrimaryNavigationItem.css */
.primary-navigation-entry {
    position: relative;
}
.primary-nav-symbol {
    display: grid;
    place-items: center;
}
.primary-navigation-tooltip {
    position: fixed;
    inset: auto;
    z-index: 100;
    overflow-wrap: anywhere;
    box-sizing: border-box;
    overflow: visible;
}
.primary-navigation-tooltip::before {
    position: absolute;
    top: 0;
    right: 100%;
    content: "";
}
.primary-navigation-tooltip:not([data-open]) {
    display: none;
}

/* AccessBrand layout; the full-height document belongs to PresentationBand. */
.access-brand {
    display: grid;
    justify-items: start;
}
.access-logo {
    display: grid;
    place-items: center;
}
.access-logo img {
    display: block;
    object-fit: contain;
}
.access-brand h1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow-wrap: anywhere;
}

/* FieldControl.css */
.field-control {
    position: relative;
    display: block;
    min-width: 0;
}
.field-control .validation-message {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 45;
    overflow-wrap: anywhere;
}
@media (max-width: 760px) {
.field-control .validation-message {
    position: static;
}
}

/* ReferenceDropdown.css */
.reference-dropdown {
    position: relative;
    min-width: 0;
}
.reference-options {
    display: grid;
    max-height: min(280px, 40vh);
    overflow-y: auto;
}

/* ServiceMenu.css */
.service-menu {
    position: relative;
    flex: 0 0 auto;
}
.service-menu-trigger {
    display: flex;
    min-height: 48px;
    align-items: center;
    user-select: none;
}
.service-menu-chevron {
    flex: 0 0 1em;
}
.service-menu-view {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 60;
    pointer-events: none;
    visibility: hidden;
}
.service-menu:hover > .service-menu-view,
.service-menu-trigger:focus-visible + .service-menu-view,
.service-menu-view:focus-within {
    pointer-events: auto;
    visibility: visible;
}
.service-menu-view nav {
    display: grid;
}
.service-menu-view a {
    display: flex;
    min-height: 52px;
    align-items: center;
}
@media (max-width: 760px) {
.service-menu-view {
    right: 6px;
    left: auto;
}
}
@media (hover: none) {
.service-menu:focus-within > .service-menu-view {
    pointer-events: auto;
    visibility: visible;
}
}

/* ShellHeader.css */
.shell-header {
    position: relative;
    z-index: 50;
    display: flex;
    min-width: 0;
    min-height: var(--f-topbar-height, 68px);
}
.shell-header-start,
.shell-header-actions,
.shell-header-brand,
.shell-header-title,
.shell-header-identity {
    display: flex;
    align-items: center;
}
.shell-header-start {
    min-width: 0;
    flex: 1;
}
.shell-header-brand {
    min-width: 0;
    flex: 0 1 auto;
}
.shell-header-logo {
    display: grid;
    flex: 0 0 76px;
    place-items: center;
    overflow: hidden;
}
.shell-header-logo img {
    display: block;
    object-fit: contain;
}
.shell-header-title {
    min-width: 0;
    align-items: baseline;
    overflow: hidden;
    white-space: nowrap;
}
.shell-header-title strong,
.shell-header-context {
    display: block;
    overflow: hidden;
    white-space: nowrap;
}
.shell-header-actions {
    min-width: 0;
    flex: 0 0 auto;
}
.shell-header-identity {
    min-width: 48px;
    justify-content: center;
}
.shell-header-identity strong {
    display: block;
    overflow: hidden;
    white-space: nowrap;
}
.shell-header-actions form {
    display: flex;
    align-items: center;
}
.shell-header-actions .shell-header-action {
    position: relative;
    display: grid;
    min-width: 48px;
    place-items: center;
}
.shell-header-actions .shell-header-action[data-tooltip]::after {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 80;
    content: attr(data-tooltip);
    white-space: nowrap;
    pointer-events: none;
    visibility: hidden;
}
.shell-header-actions .shell-header-action[data-tooltip]:hover::after,
.shell-header-actions .shell-header-action[data-tooltip]:focus-visible::after {
    visibility: visible;
}
.shell-header-actions .shell-header-text-action {
    display: flex;
    min-width: 48px;
    align-items: center;
    justify-content: center;
}
@media (max-width: 760px) {
.shell-header-logo {
    flex-basis: 60px;
}
.shell-header-identity strong {
    position: absolute;
    overflow: hidden;
    white-space: nowrap;
}
}

/* SearchAutocomplete.css */
.search-autocomplete {
    position: relative;
    display: block;
    min-width: 0;
}
.search-autocomplete-options {
    position: absolute;
    top: calc(100% + 8px);
    right: auto;
    left: 0;
    z-index: 45;
    display: grid;
    width: max-content;
    min-width: 0;
    max-width: calc(100vw - 24px);
    max-height: min(320px, 48vh);
    overflow-y: auto;
}
.search-autocomplete-option,
.search-autocomplete-empty {
    display: flex;
    min-height: 40px;
    align-items: center;
}

/* Reference selection surface. */
.selection-dropdown-surface {
    min-width: 0;
    width: var(--f-selection-trigger-width, 240px);
    max-width: 100%;
}
.f-field-control > .selection-dropdown-surface {
    width: 100%;
}
.selection-dropdown-surface .selection-trigger {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: var(--f-control-height);
    align-items: center;
    justify-content: space-between;
}
.selection-dropdown-surface .selection-chevron {
    flex: 0 0 1em;
}
.selection-dropdown-surface .selection-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: auto;
    left: 0;
    z-index: 50;
    display: grid;
    width: max-content;
    min-width: 0;
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
}
.selection-dropdown-surface .selection-trigger > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* All supplied labels reserve width, even when filtering hides the longest item. */
.selection-panel-width {
    display: grid;
    grid-area: 1 / 1;
    height: 0;
    min-height: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
}
.selection-panel > .selection-panel-width + * { grid-area: 1 / 1; }
.selection-panel-width > span { display: block; white-space: nowrap; }
.selection-dropdown-surface .selection-search {
    box-sizing: border-box;
    min-width: 0;
}
.selection-dropdown-surface :is(.selection-option, .selection-create) {
    min-height: 40px;
    min-width: 0;
    overflow-wrap: anywhere;
}
.selection-dropdown-surface .selection-create {
    overflow-wrap: anywhere;
}
.selection-dropdown-surface label.selection-option {
    display: flex;
    align-items: center;
}

/* InteractionBoundary.css */
.interaction-content-locked {
    visibility: hidden;
}
.interaction-lock {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
}

/* StandaloneMaskedInput.css */
.masked-input {
    display: grid;
    position: relative;
}
.masked-input-display,
.masked-input-control {
    grid-area: 1 / 1;
}
.masked-input-display {
    z-index: 1;
    display: flex;
    min-width: 0;
    align-items: center;
    overflow: hidden;
    pointer-events: none;
    white-space: pre;
}
.masked-input-control {
    z-index: 2;
    position: relative;
    color: transparent !important;
    background-color: transparent !important;
}

/* SystemNavigationMenu.css */
.system-menu {
    position: relative;
    flex: 0 0 auto;
}
.system-menu-trigger {
    display: flex;
    min-height: 48px;
    align-items: center;
    user-select: none;
}
.system-menu-chevron {
    flex: 0 0 1em;
}
.system-menu-view {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 60;
    pointer-events: none;
    visibility: hidden;
}
.system-menu:hover > .system-menu-view,
.system-menu-trigger:focus-visible + .system-menu-view,
.system-menu-view:focus-within {
    pointer-events: auto;
    visibility: visible;
}
.system-menu-view nav {
    display: grid;
}
.system-menu-view a {
    display: flex;
    align-items: center;
    min-height: 52px;
}
@media (max-width: 760px) {
.system-menu-view {
    right: 6px;
    left: auto;
}
}
@media (hover: none) {
.system-menu:focus-within > .system-menu-view {
    pointer-events: auto;
    visibility: visible;
}
}

/* DataPager.css */
.data-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}
.data-pagination-range {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: var(--f-control-height);
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
.data-pagination-range-total {
    display: inline-flex;
    align-items: center;
}
.data-pagination-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    box-sizing: border-box;
}
.data-pagination-previous,
.data-pagination-next {
    display: inline-flex;
    min-width: 40px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.data-pagination-page {
    display: flex;
    align-items: center;
    min-width: 0;
}
.data-pagination-input {
    min-width: 64px;
    box-sizing: border-box;
}
.data-pagination-total {
    min-width: 0;
    white-space: nowrap;
}
.visually-hidden {
    position: absolute;
    overflow: hidden;
    white-space: nowrap;
}
@media (max-width: 520px) {
.data-pagination {
    justify-content: flex-end;
}
}

.masked-input-control { caret-color: CanvasText; }
.primary-navigation-tooltip { width: max-content; max-width: calc(100vw - 24px); margin: 0; }

.spreadsheet-scroll[hidden] { display: none !important; }

/* ReferenceField.css */
.reference-field {
    display: grid;
    align-content: start;
    min-width: 0;
}
.field-label {
    display: inline-flex;
    align-items: baseline;
}

/* Button-variant menus float below their control before SSR enhancement reaches the document. */
.f-action-menu[data-f-native-menu]:not([data-f-enhanced])[open]:has(> .f-disclosure-button-trigger) > .f-menu-panel {
    position:absolute; inset:auto; inset-block-start:100%; inset-inline-end:0; margin:6px 0 0;
}
/* Enhanced menus remain top-layer surfaces even when their trigger no longer has hover/focus. */
[data-f-popup][data-f-enhanced="true"] > [data-f-popup-panel][data-f-open] {
    visibility:visible; pointer-events:auto; clip-path:none; opacity:1; transform:none;
}
[data-f-popup][data-f-enhanced="true"] > [data-f-popup-panel]:not([data-f-open]) { display:none; }



/* Reusable surface layout and content flow. */
.navigation-surface {
--f-topbar-height: auto; --f-primary-width: max-content; --f-secondary-width: max-content; --f-content-width: 100%; --f-page-gutter: 0px;
}

.navigation-surface {
--f-content-gutter: max(var(--f-page-gutter), calc((100% - var(--f-content-width)) / 6));
    display: grid;
    grid-template-rows: var(--f-topbar-height) minmax(0, 1fr);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
}

.navigation-surface .skip-link {
position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100;
    transform: translateY(-180%);
}

.navigation-surface .skip-link:focus {
transform: translateY(0);
}

.navigation-surface .app-body {
position: relative;
    display: grid;
    grid-template-columns: var(--f-primary-width) minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    overflow: clip;
}

.navigation-surface .app-body.has-secondary-navigation {
grid-template-columns: var(--f-primary-width) var(--f-secondary-width) minmax(0, 1fr);
}

.navigation-surface .primary-rail {
position: relative;
    z-index: 20;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.navigation-surface .primary-rail nav {
display: grid;
}

.navigation-surface .primary-rail  .primary-nav-item {
position: relative;
    display: grid;
    place-items: center;
}

.navigation-surface .primary-rail  .primary-nav-item.is-active::before {
position: absolute;
    top: 50%;
    left: -10px;
    content: "";
    transform: translateY(-50%);
}

.navigation-surface .primary-rail  .primary-nav-item.is-disabled {
cursor: not-allowed;
}

.navigation-surface .primary-rail  .primary-nav-item.is-disabled .primary-nav-symbol {
opacity: .42;
}

.navigation-surface .secondary-rail {
position: relative;
    z-index: 18;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
}

.navigation-surface .secondary-rail nav {
display: grid;
}

.navigation-surface .secondary-rail .f-secondary-item {
display: flex;
    align-items: center;
    margin-bottom: 0;
}

.navigation-surface .application-stage {
container-name: surface-stage;
    container-type: inline-size;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-anchor: none;
    overscroll-behavior: contain;
}

.navigation-surface  .page-root {
min-width: 0;
    min-height: 100%;
}

.navigation-surface  .page-module {
    min-width: 0;
}

.navigation-surface  .section-heading {
display: flex;
    min-height: 0;
    align-items: flex-end;
    justify-content: space-between;
}

.navigation-surface  .section-heading > div {
display: block;
    min-width: 0;
}

.navigation-surface  .section-heading p,
.navigation-surface  .section-heading > span {
max-width: 680px;
}

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

.navigation-surface #blazor-error-ui {
display: none;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    min-height: 44px;
}

.navigation-surface #blazor-error-ui .dismiss {
position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 43px;
    cursor: pointer;
}

@media (max-width: 760px) {.navigation-surface .primary-rail  .primary-nav-item.is-active::before {
    left: -6px;
    }

    .navigation-surface .app-body.has-secondary-navigation {
    grid-template-columns: var(--f-primary-width) minmax(0, 1fr);
            grid-template-rows: auto minmax(0, 1fr);
    }

    .navigation-surface .app-body.has-secondary-navigation > .primary-rail {
    grid-row: 1 / -1;
    }

    .navigation-surface .secondary-rail {
    grid-column: 2;
            grid-row: 1;
            overflow-x: auto;
            overflow-y: hidden;
    }

    .navigation-surface .secondary-rail nav {
    display: flex;
            width: max-content;
            min-width: 100%;
            align-items: center;
    }

    .navigation-surface .secondary-rail .f-secondary-item {
    flex: 0 0 auto;
            white-space: nowrap;
    }

    .navigation-surface .app-body.has-secondary-navigation > .application-stage {
    grid-column: 2;
            grid-row: 2;
    }

    .navigation-surface  .section-heading {
    display: block;
    }
}

@media (prefers-reduced-motion: reduce) {.navigation-surface .application-stage {
    scroll-behavior: auto;
    }
}



/* Reusable surface layout and content flow. */
.content-surface {
--f-topbar-height: auto; --f-content-width: 100%; --f-page-gutter: 0px;
}

.content-surface {
--f-content-gutter: max(var(--f-page-gutter), calc((100% - var(--f-content-width)) / 2));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
}

/* Chrome sizes its own row; body spacing must not reserve a document-sized gap. */
.content-surface > .f-content-surface-header {
    grid-row: 1;
    min-width: 0;
    min-height: 0;
}

.content-surface > .f-content-surface-header > .f-page-body {
    min-height: 0;
    padding-block: 0;
}

.content-surface > .f-content-surface-header > .f-page-body > .f-inline-actions {
    margin-block: 0;
}

.content-surface > .content-stage {
    grid-row: 2;
}

/* Floating actions own their bounds without reserving a header or scroll-viewport row. */
.content-surface.f-content-surface-has-floating-actions {
    position: relative;
}

.content-surface > .f-content-surface-floating-actions {
    position: absolute;
    inset-block-start: var(--f-space-4, 16px);
    inset-inline-end: var(--f-space-4, 16px);
    z-index: 50;
    display: flex;
    align-items: center;
    max-width: calc(100% - 2 * var(--f-space-4, 16px));
    min-width: 0;
}

.content-surface > .f-content-surface-floating-actions > .f-inline-actions {
    margin-block: 0;
}
.content-surface .skip-link {
position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100;
    transform: translateY(-180%);
}

.content-surface .skip-link:focus {
transform: translateY(0);
}

.content-surface .content-stage {
min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-anchor: none;
    overscroll-behavior: contain;
}

.content-surface  .page-root {
min-width: 0;
    min-height: 100%;
}

.content-surface  .page-module {
min-width: 0;
}

.content-surface  .section-heading {
display: flex;
    min-height: 0;
    align-items: flex-end;
    justify-content: space-between;
}

@media (max-width: 760px) {.content-surface  .section-heading {
    display: block;
    }
}



.spreadsheet-scroll {
position: relative;
    flex: 1;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    max-height: 65vh;
    overflow: auto;
    overscroll-behavior: contain;
    isolation: isolate;
}

.editing-grid-table {
--spreadsheet-cell-height: 48px;
    width: max-content;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.editing-grid-table th,
.editing-grid-table td {
box-sizing: border-box;
    min-width: 100px;
    vertical-align: middle;
}

.editing-grid-table th {
position: sticky;
    top: 0;
    z-index: 3;
    height: 74px;
    vertical-align: middle;
}

.editing-grid-table th .data-column-label {
display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
}

.editing-grid-table th.is-manual-column .data-column-label {
display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
}

.editing-grid-table td {
height: var(--spreadsheet-cell-height);
}

.editing-grid-table .identity-column {
position: sticky;
    left: 0;
    z-index: 2;
}

.editing-grid-table th.identity-column {
z-index: 4;
}

.editing-grid-table td.is-active-cell {
z-index: 1;
}

.editing-grid-table td.identity-column.is-active-cell {
z-index: 2;
}

.spreadsheet-cell-surface {
position: relative;
    display: flex;
    min-height: var(--spreadsheet-cell-height);
    align-items: center;
    box-sizing: border-box;
}

.spreadsheet-cell-display {
display: -webkit-box;
    width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
}

.is-manual-column .spreadsheet-cell-display {
display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
}

.spreadsheet-measurement {
display: none;
}

.spreadsheet-cell-editor {
position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.spreadsheet-cell-surface.has-template { min-height: var(--f-control-size, 48px); }
.spreadsheet-cell-editor > fieldset { min-width: 0; min-height: 100%; margin: 0; padding: 0; border: 0; }

.is-editing-cell .spreadsheet-cell-editor,
.is-long-text .spreadsheet-cell-editor,
.read-only-cell .spreadsheet-cell-editor {
opacity: 1;
}

.is-editing-cell .spreadsheet-cell-editor,
.is-long-text .spreadsheet-cell-editor {
pointer-events: auto;
}

.is-editing-cell .spreadsheet-cell-display,
.read-only-cell .spreadsheet-cell-display {
visibility: hidden;
}

.cell-select-marker {
position: absolute;
    right: 8px;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.cell-select-marker svg {
display: block;
    width: 16px;
    height: 16px;
}

.editing-grid-table input,
.editing-grid-table select,
.editing-grid-table textarea,
.editing-grid-table .masked-input {
display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: var(--spreadsheet-cell-height);
}

.editing-grid-table input,
.editing-grid-table select,
.editing-grid-table textarea,
.editing-grid-table .masked-input-control {
box-sizing: border-box;
    min-height: var(--spreadsheet-cell-height);
    height: 100%;
    outline: none;
}

.editing-grid-table select {
display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.editing-grid-table select::picker-icon {
display: none;
}

.editing-grid-table .masked-input-control {
color: transparent !important;
}

.editing-grid-table textarea {
resize: none;
    overflow: auto;
}

.editing-grid-table input:disabled,
.editing-grid-table select:disabled,
.editing-grid-table textarea:disabled {
opacity: 1;
    cursor: default;
}

.editing-grid-table .read-only-cell .spreadsheet-cell-editor {
display: flex;
    align-items: center;
}

.editing-grid-table .read-only-cell a {
display: -webkit-box;
    box-sizing: border-box;
    width: 100%;
    max-height: var(--spreadsheet-cell-height);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
}

.editing-grid-table .read-only-cell.is-manual-column a {
display: block;
    max-height: none;
    overflow: visible;
    -webkit-line-clamp: unset;
}

.editing-grid-table .cell-error {
display: block;
    overflow-wrap: anywhere;
}

.editing-grid-table .data-column-resizer {
position: absolute;
    inset-block: 0;
    right: -5px;
    z-index: 6;
    width: 10px;
    cursor: col-resize;
    touch-action: none;
}

.editing-grid-table .data-column-resizer::after {
content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 4px;
    width: 2px;
    opacity: 0;
}

.editing-grid-table .data-column-resizer:hover::after,
.editing-grid-table .data-column-resizer:focus-visible::after,
.editing-grid-table .data-column-resizer.is-resizing::after {
opacity: 1;
}

.spreadsheet-scroll.is-resizing-columns {
cursor: col-resize;
    user-select: none;
}

@media (max-width: 760px) {
    .editing-grid-table .identity-column {
    position: static;
    }

    .editing-grid-table th.identity-column {
    position: sticky;
                top: 0;
                z-index: 3;
    }
}



.masked-input-display {
    display: none;
}
.masked-input-control,
.editing-grid-table .masked-input-control {
    color: FieldText !important;
    background-color: Field !important;
    caret-color: FieldText;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
@media (max-width: 760px) {
    .shell-header-identity strong {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}

.data-pagination-previous svg,
.data-pagination-next svg {
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
}

.notice-trigger-content {
    visibility: hidden;
    clip-path: inset(100%);
    width: max-content;
    max-width: calc(100vw - 2em);
    overflow-wrap: anywhere;
    color: CanvasText;
    background: Canvas;
}
.notice-trigger:hover .notice-trigger-content,
.notice-trigger:focus-within .notice-trigger-content {
    visibility: visible;
    clip-path: none;
}
.selection-dropdown-surface .selection-panel {
    max-height: calc(100dvh - 2em);
    overflow: auto;
    color: CanvasText;
    background: Canvas;
}



.f-display-board { position:relative; box-sizing:border-box; display:flex; flex-direction:column; width:100%; min-width:0; min-height:0; }
.f-display-board-viewport { flex:1 1 auto; min-width:0; min-height:0; overflow:auto; border-radius:inherit; }
.f-display-board-content { display:flex; flex-direction:column; min-width:0; gap:1em; }
.f-display-board-centered > .f-display-board-viewport > .f-display-board-content:not(:has(> .f-code-block)) { align-items:center; justify-content:center; }
.f-display-board-centered > .f-display-board-viewport > .f-display-board-content:not(:has(> .f-code-block)) > * { align-self:center; }
.f-display-board-content > .f-inline-actions { width:100%; box-sizing:border-box; }
.f-display-board-centered > .f-display-board-viewport > .f-display-board-content:not(:has(> .f-code-block)) > .f-inline-actions:not([data-alignment-explicit]) { justify-content:center; }
.f-display-board-start > .f-display-board-viewport > .f-display-board-content { align-items:flex-start; justify-content:flex-start; }
.f-display-board-content > * { min-width:0; max-width:100%; }
.f-display-board-content > .f-section { padding-block:0; }
.f-display-board-content > :is(.f-root,.f-data,.f-form-actions,.f-card,.f-shell,.navigation-surface,.f-page-body) { width:100%; }
.f-display-board-start > .f-display-board-viewport > .f-display-board-content > :is(.f-section,.f-form-layout,.f-form-group) { width:100%; }
.f-display-board-content > .f-root { background:transparent; }
.f-display-board > .f-display-board-copy { position:absolute; inset-block-start:1em; inset-inline-end:1em; max-width:calc(100% - 2em); }
.f-display-board-copyable { min-block-size:4em; }
.f-display-board-content > .f-code-block { box-sizing:border-box; min-width:0; max-width:100%; overflow:visible; margin:0; text-align:start; }
.f-display-board-content:has(> .f-code-block) { align-items:flex-start; justify-content:flex-start; min-height:0; }
.f-display-board-error { margin-block:1em 0; overflow-wrap:anywhere; }



.f-split-button { display:inline-flex; align-items:stretch; gap:3px; min-width:0; max-width:100%; vertical-align:middle; }
.f-split-button-full-width { display:flex; width:100%; }
.f-split-button-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:0; }
.f-split-button-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.f-split-button-secondary { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
/* Navigation rows retain their existing 36px secondary controls and independent expansion. */
.f-split-button:not(.f-secondary-row) > .f-split-button-primary { flex:1 1 auto; }
.f-split-button:not(.f-secondary-row) > :is(.f-split-button-secondary,.f-split-button-menu) { flex:0 0 48px; width:48px; height:48px; box-sizing:border-box; }
.f-split-button:not(.f-secondary-row) > .f-split-button-menu > summary { width:48px; height:48px; box-sizing:border-box; justify-content:center; }
.f-split-button-menu { position:relative; }
.f-split-button-menu > summary { list-style:none; }
.f-split-button-menu > summary::-webkit-details-marker { display:none; }
.f-split-button-menu > .f-menu-panel { position:absolute; inset-block-start:100%; inset-inline-end:0; width:max-content; min-width:0; max-width:calc(100vw - 24px); z-index:40; }
/* Native details do not set the interactive popover controller's data-f-open flag. */
.f-split-button > .f-split-button-menu[open] > .f-menu-panel { display:block; }
.f-split-button-menu-content { display:grid; min-width:0; gap:4px; }
/* Menu action hit/hover/focus rectangles use the common column, not Button's content width. */
.f-split-button-menu-content > .f-button { box-sizing:border-box; width:100%; min-width:0; max-width:100%; justify-self:stretch; align-self:stretch; text-align:left; justify-content:left; overflow-wrap:anywhere; }



/* Layout belongs to the framework. The optional Design package supplies the cell skin. */
.f-uniform-grid {
    display:grid;
    --f-grid-cell-width:1fr;
    /* Rectangle height sets a wrapping threshold, never a maximum track width. */
    grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(2 * var(--f-grid-cell-height,var(--f-grid-cell-max-height,260px)))),1fr));
    grid-auto-flow:row;
    grid-auto-rows:minmax(0,1fr);
    justify-content:start;
    align-items:stretch;
    gap:var(--f-grid-gap,0);
    min-width:0;
    width:100%;
    max-width:100%;
}
.f-uniform-grid-square {
    --f-grid-cell-width:var(--f-grid-cell-max,280px);
    grid-template-columns:repeat(auto-fit,minmax(0,var(--f-grid-cell-width)));
    width:fit-content;
}
.f-uniform-grid-centered { margin-inline:auto; }
.f-uniform-grid-columns { grid-template-columns:repeat(var(--f-grid-columns),minmax(0,var(--f-grid-cell-width))); }
.f-uniform-grid-rows { grid-template-rows:repeat(var(--f-grid-rows),minmax(0,1fr)); }
.f-uniform-grid-rows:not(.f-uniform-grid-columns) {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,var(--f-grid-cell-width));
}
.f-uniform-grid > * { min-width:0; }
.f-uniform-grid-square > * { aspect-ratio:1; min-height:0; max-width:var(--f-grid-cell-max,280px); max-height:var(--f-grid-cell-max,280px); }
.f-uniform-grid-rectangle > * { aspect-ratio:2/1; }
.f-uniform-cell {
    box-sizing:border-box;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-width:0;
    overflow:hidden;
    text-align:center;
    overflow-wrap:anywhere;
}
.f-uniform-grid-rectangle > .f-uniform-cell { min-height:0; max-height:var(--f-grid-cell-max-height,260px); overflow:auto; justify-content:safe center; }
.f-uniform-grid-fixed-height { grid-auto-rows:var(--f-grid-cell-height); }
.f-uniform-grid-fixed-height.f-uniform-grid-rows { grid-template-rows:repeat(var(--f-grid-rows),var(--f-grid-cell-height)); }
.f-uniform-grid-rectangle.f-uniform-grid-fixed-height > .f-uniform-cell { aspect-ratio:auto; height:var(--f-grid-cell-height); min-height:var(--f-grid-cell-height); max-height:var(--f-grid-cell-height); }
.f-uniform-cell-heading { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-width:0; max-width:100%; }
.f-uniform-cell-title,.f-uniform-cell-text { display:block; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.f-uniform-cell > .f-button-text { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; max-width:100%; }
.f-uniform-grid-item > .f-button, .f-uniform-grid-item > .f-uniform-cell-copy > .f-button { align-self:center; }
.f-uniform-cell.f-uniform-grid-button > .f-spinner { position:absolute; inset-block-start:12px; inset-inline-end:12px; }
.f-uniform-cell.f-uniform-icon-support,
.f-uniform-cell.f-uniform-grid-button.f-uniform-icon-support {
    display:grid;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
    gap:0;
    overflow:hidden;
}
.f-uniform-cell-icon,.f-uniform-cell-copy {
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    min-width:0;
    min-height:0;
    width:100%;
    height:100%;
}
.f-uniform-cell-icon { overflow:hidden; justify-content:flex-end; padding-block-end:4px; }
.f-uniform-cell-copy { overflow:auto; justify-content:flex-start; padding-block-start:4px; }
@media(max-width:760px) {
    /* Let narrow content grow up to its cap instead of collapsing to half the cell width. */
    .f-uniform-grid-rectangle > .f-uniform-cell:not(.f-uniform-icon-support):has(.f-uniform-cell-heading,.f-uniform-cell-text) { aspect-ratio:auto; }
    .f-uniform-grid.f-uniform-grid-narrow-columns {
        grid-template-columns:repeat(var(--f-grid-narrow-columns),minmax(0,var(--f-grid-cell-width)));
        grid-auto-flow:row;
        grid-auto-columns:auto;
        max-width:100%;
    }
}



.f-section-navigator { position:fixed; z-index:25; top:var(--f-section-nav-top,50%); left:var(--f-section-nav-left,auto); right:8px; width:20px; max-height:var(--f-section-nav-height,80dvh); transform:translateY(-50%); }
.f-section-navigator[data-enhanced] { right:auto; }
.f-section-navigator[hidden] { display:none; }
.f-section-navigator ul { display:grid; gap:8px; list-style:none; padding:0; margin:0; }
.f-section-link { position:relative; display:grid; width:20px; height:24px; place-items:center; text-decoration:none; }
.f-section-dot { display:block; width:8px; height:8px; border-radius:50%; background:currentColor; }
.f-section-link[aria-current=location] .f-section-dot { width:12px; height:12px; outline:2px solid currentColor; outline-offset:2px; }
.f-section-label { position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(calc(-50% + var(--f-section-tooltip-shift,0px))); width:max-content; max-width:min(var(--f-section-tooltip-width,280px),calc(100vw - 48px)); max-height:calc(100dvh - 16px); padding:8px 12px; border:1px solid currentColor; border-radius:8px; background:Canvas; color:CanvasText; opacity:0; pointer-events:none; overflow-wrap:anywhere; font:inherit; line-height:1.4; }
.f-section-label::after { content:""; position:absolute; left:100%; top:0; width:10px; height:100%; }
.f-section-label[data-tooltip-right] { right:auto; left:calc(100% + 10px); }
.f-section-label[data-tooltip-right]::after { left:auto; right:100%; }
.f-section-link:is(:hover,:focus-visible) .f-section-label { opacity:1; pointer-events:auto; }
.f-section-navigator[data-tooltip-dismissed] .f-section-label { opacity:0; pointer-events:none; }
.f-section-link:focus-visible { outline:2px solid currentColor; outline-offset:2px; border-radius:8px; }



.f-back-to-top { position:fixed; z-index:35; inset-block-start:var(--f-back-to-top-top,auto); inset-inline-start:var(--f-back-to-top-left,auto); inset-block-end:24px; inset-inline-end:24px; display:flex; inline-size:48px; block-size:48px; }
.f-back-to-top[data-enhanced] { inset-block-end:auto; inset-inline-end:auto; }
.f-back-to-top[hidden] { display:none; }
.f-back-to-top > .f-button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; inline-size:48px; block-size:48px; min-block-size:48px; padding:0; gap:0; }
.f-back-to-top .f-icon { display:block; inline-size:1em; block-size:1em; line-height:1; }



.f-line-chart { min-inline-size:0; }
.f-line-chart-controls { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:flex-end; gap:24px; margin-block-end:24px; }
.f-line-chart-controls-content { min-inline-size:0; }
.f-line-chart-heading-controls { margin-block-end:0; }
.f-line-chart > .f-section > .f-section-heading > .f-heading-actions { margin-inline-start:auto; }
.f-line-chart-legend { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin:0 0 24px; padding:0; list-style:none; }
.f-line-chart-legend > li { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.f-line-chart-legend > li::before { content:""; inline-size:24px; block-size:4px; background:currentColor; }
.f-line-chart-plot { min-inline-size:0; }
.f-line-chart-plot > svg { display:block; inline-size:100%; block-size:auto; overflow:visible; }
.f-line-chart-grid { stroke:GrayText; stroke-width:1; opacity:.3; }
.f-line-chart-line { fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.f-line-chart-point { fill:currentColor; }
.f-line-chart [data-series="1"] { stroke-dasharray:8 3; }
.f-line-chart [data-series="2"] { stroke-dasharray:2 4; }
.f-line-chart [data-series="3"] { stroke-dasharray:10 3 2 3; }
.f-line-chart-labels { position:relative; block-size:36px; }
.f-line-chart-labels > span { position:absolute; inset-block-start:8px; transform:translateX(-50%); text-align:center; }
.f-line-chart-empty { margin:0; padding-block:24px; }
@media(max-width:520px) { .f-line-chart-legend { flex-direction:column; gap:12px; } .f-line-chart-labels { font-size:12px; } }



.f-data-search { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-block-end:36px; min-inline-size:0; }
.f-data-search > .f-field { flex:0 1 240px; min-inline-size:0; }
.f-data-search > .f-data-search-value { flex:1 1 360px; }
.f-data-search .f-field-control > .f-input { inline-size:100%; min-inline-size:0; }
.f-data-search-content { display:flex; flex:0 0 auto; align-items:center; gap:16px; min-block-size:48px; min-inline-size:0; }
@media(max-width:760px) { .f-data-search { align-items:stretch; flex-direction:column; } .f-data-search > .f-field { inline-size:100%; flex:auto; } }



.f-data [hidden] { display:none !important; }
.f-data-bulk-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:16px; min-width:0; margin-block:16px; }
.f-data-bulk-actions > :is(span,p) { margin-inline-end:auto; }
.f-data-bulk-actions > .f-inline-actions { width:auto; max-width:100%; }
.f-data-bulk-actions > .f-inline-actions:not([data-alignment]) { justify-content:flex-end; }
.f-data-selection-column { width:64px; }
.f-data-table :is(th,td).f-data-selection { width:64px; padding:8px; }
.f-data-table .f-data-bulk-row td { height:auto; padding:12px; vertical-align:top; }
.f-data-table .f-data-cell:has(:is(input,select,textarea,button,.f-dropdown)) { overflow:visible; white-space:normal; padding-block:8px; }
.f-data-card-image { height:auto; min-height:120px; }
.f-data-card-image img { display:block; width:100%; height:160px; object-fit:contain; }
.f-data-progressive-cards .f-data-scroll { overflow:visible; }
.f-data-progressive-cards .f-data-table { display:block; min-width:0 !important; width:100%; }
.f-data-progressive-cards .f-data-table :is(colgroup,thead) { display:none; }
.f-data-progressive-cards .f-data-table tbody { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:20px; }
.f-data-progressive-cards .f-data-table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:8px; min-width:0; }
.f-data-progressive-cards .f-data-table td[data-f-column] { grid-column:1; display:block; height:auto; min-width:0; max-width:none; }
.f-data-progressive-cards .f-data-table td[data-f-column]::before { content:attr(data-f-label); display:block; }
.f-data-progressive-cards .f-data-table .f-data-cell { padding:0; }
.f-data-progressive-cards .f-data-table .f-data-spacer { display:none; }
.f-data-progressive-cards .f-data-table td.f-data-actions { position:static; grid-column:2; grid-row:1/20; align-self:start; width:36px; min-width:36px; height:auto; padding:0; }



.f-multi-select-box { position:relative; }
.f-multi-select-panel { position:fixed; inset:auto; margin:0; width:max-content; min-width:0; max-width:calc(100vw - 24px); max-height:70dvh; overflow:auto; background:Canvas; color:CanvasText; }
.f-multi-select-panel[data-f-open] { display:grid; }
.f-multi-select-option { display:flex; align-items:center; width:auto; min-width:0; }
.f-multi-select-option > label { flex:1; min-width:0; }
.f-multi-select-option[draggable=true], .f-multi-select-option[draggable=true] > label { cursor:grab; }
.f-multi-select-option[data-f-dragging], .f-multi-select-option[data-f-dragging] > label { cursor:grabbing; }
.f-multi-select-option:focus-visible { outline:3px solid var(--f-accent); outline-offset:2px; border-radius:var(--f-radius-control,12px); }

.f-multi-select-option[hidden] { display:none; }



/* Native GET choices are links, not a JavaScript tab widget. */
.f-navigation-choices { display:grid; min-width:0; }
.f-navigation-choices-nav,.f-navigation-choice-panel { min-width:0; }
/* All keyed panels stay mounted; no inactive form can participate in layout. */
.f-navigation-choice-panel[hidden] { display:none!important; }
.f-navigation-choices-links { display:grid; grid-template-columns:repeat(var(--f-choice-columns,3),minmax(0,1fr)); gap:8px; min-width:0; }
.f-navigation-choices-links > .f-button { width:100%; min-width:0; }
.f-navigation-choice-label { min-width:0; overflow-wrap:anywhere; }
.f-navigation-choices-sidebar { grid-template-columns:minmax(12rem,18rem) minmax(0,1fr); align-items:start; }
.f-navigation-choices-sidebar > .f-navigation-choices-nav { grid-column:1; grid-row:1; }
.f-navigation-choices-sidebar > .f-navigation-choice-panel { grid-column:2; grid-row:1; }
.f-navigation-choices-sidebar .f-navigation-choices-links { grid-template-columns:minmax(0,1fr); }
.f-navigation-choices-sidebar .f-navigation-choice-link { justify-content:flex-start; text-align:start; }
.f-navigation-choices-sidebar .f-navigation-choice-label { flex:1; }
.f-navigation-choice-indicator { flex-shrink:0; margin-inline-start:auto; }
@media(max-width:760px) {
 .f-navigation-choices-sidebar { grid-template-columns:minmax(0,1fr); }
 .f-navigation-choices-sidebar > .f-navigation-choices-nav,.f-navigation-choices-sidebar > .f-navigation-choice-panel { grid-column:1; grid-row:auto; }
}
@media(max-width:560px) { .f-navigation-choices-links { grid-template-columns:minmax(0,1fr); } }
/* Height is opt-in: native route choices keep their content-sized default. */
.f-navigation-choices-fill-height { box-sizing:border-box; grid-template-rows:auto minmax(0,1fr); height:100%; max-height:100%; min-height:0; overflow:hidden; align-items:start; }
.f-navigation-choices-fill-height > .f-navigation-choices-nav,.f-navigation-choices-fill-height > .f-navigation-choice-panel { box-sizing:border-box; min-height:0; max-height:100%; overflow:auto; overscroll-behavior:contain; }
.f-navigation-choices-sidebar.f-navigation-choices-fill-height { grid-template-rows:minmax(0,1fr); }
@media(max-width:760px) {
 .f-navigation-choices-sidebar.f-navigation-choices-fill-height { grid-template-rows:auto minmax(0,1fr); }
 .f-navigation-choices-sidebar.f-navigation-choices-fill-height > .f-navigation-choices-nav { grid-row:1; }
 .f-navigation-choices-sidebar.f-navigation-choices-fill-height > .f-navigation-choice-panel { grid-row:2; }
 .f-navigation-choices-sidebar.f-navigation-choices-fill-height .f-navigation-choices-links { grid-template-columns:repeat(var(--f-choice-columns,2),minmax(0,1fr)); }
}



/* An operation layout fills an already bounded host; ContentSurface owns the sole main landmark. */
:is(.content-stage,.f-content-scroll,.application-stage):has(> .f-access-layout) { overflow:hidden; }
.f-access-layout { box-sizing:border-box; display:grid; width:100%; height:100%; max-height:100%; min-width:0; min-height:0; overflow:hidden; }
.f-access-layout-content { display:grid; grid-template-rows:auto minmax(0,1fr); width:min(100%,560px); height:100%; min-width:0; min-height:0; margin-inline:auto; }
.f-access-layout-wide > .f-access-layout-content { width:min(100%,960px); }
.f-access-layout-content:not(:has(> .f-access-layout-brand)) { grid-template-rows:minmax(0,1fr); }
.f-access-layout-brand { min-width:0; min-height:0; }
.f-access-layout-body { min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; }
.f-access-layout-body:has(> .f-navigation-choices-fill-height) { overflow:hidden; }
@media(max-height:360px) {
 .f-access-layout-content { grid-template-rows:minmax(0,auto) minmax(48px,1fr); }
 .f-access-layout-brand { overflow:auto; overscroll-behavior:contain; }
 .f-access-layout-body:has(> .f-navigation-choices-fill-height) { overflow:auto; }
 .f-access-layout-body > .f-navigation-choices-fill-height { height:auto; max-height:none; overflow:visible; grid-template-rows:auto; }
 .f-access-layout-body > .f-navigation-choices-fill-height > .f-navigation-choices-nav,.f-access-layout-body > .f-navigation-choices-fill-height > .f-navigation-choice-panel { max-height:none; overflow:visible; }
}



/* Reuse the browser's Select picker marker instead of an unrelated icon font glyph. */
.f-expansion-indicator { display:inline-flex; flex:0 0 1em; align-items:center; justify-content:center; width:1em; height:1.2em; line-height:1.2; }
.f-expansion-indicator::before { content:counter(f-expansion,disclosure-open); display:block; transform-origin:center; }
.f-expansion-indicator[data-expanded=true]::before,
[aria-expanded=true] > .f-expansion-indicator::before,
details[open] > summary > .f-expansion-indicator::before { transform:rotate(180deg); }



/* Geometry and native state only; the optional Design package owns the skin. */
.f-tutorial-entry { display:inline-flex; align-items:center; flex:none; min-width:0; }
.f-tutorial-trigger { display:grid; place-items:center; width:48px; height:48px; padding:4px; cursor:pointer; }
.f-tutorial-trigger > span { display:flex; }
.f-progress-ring.f-progress-ring-compact { display:inline-grid; place-items:center; position:relative; width:36px; height:36px; }
.f-progress-ring.f-progress-ring-compact svg { width:36px; height:36px; }
.f-progress-ring-compact > span { position:absolute; }
.f-tutorial-board,.f-tutorial-board *,.f-tutorial-preview,.f-tutorial-preview * { box-sizing:border-box; }
.f-tutorial-board:not(:popover-open),.f-tutorial-preview:not(:popover-open) { display:none; }
.f-tutorial-preview { position:fixed; inset:auto; margin:0; width:max-content; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; }
.f-tutorial-board { position:fixed; inset:0; margin:auto; width:min(960px,calc(100vw - 48px)); max-height:calc(100dvh - 48px); overflow:auto; }
.f-tutorial-board:popover-open { display:flex; flex-direction:column; }
.f-tutorial-board::backdrop { pointer-events:none; background:transparent; }
.f-tutorial-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-width:0; }
.f-tutorial-header > span { min-width:0; overflow-wrap:anywhere; }
.f-tutorial-content { display:flex; flex-direction:column; justify-content:center; flex:1 1 auto; min-height:240px; min-width:0; gap:24px; }
.f-tutorial-content :is(h1,p) { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.f-tutorial-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr); align-items:end; gap:24px; min-width:0; }
.f-tutorial-skip { justify-self:start; min-width:0; }
.f-tutorial-actions { justify-self:end; min-width:0; }
.f-tutorial-footer .f-button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.f-tutorial-segments { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; min-width:0; }
.f-tutorial-segment { position:relative; display:block; width:32px; min-height:44px; padding:0; cursor:pointer; }
.f-tutorial-segment::after { content:''; display:block; width:100%; height:8px; background:currentColor; opacity:.3; }
.f-tutorial-segment[data-completed=true]::after,.f-tutorial-segment[aria-current=step]::after { opacity:1; }
.f-tutorial-overview { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.f-tutorial-overview li { display:flex; align-items:center; gap:12px; min-width:0; }
.f-tutorial-overview li > span { min-width:0; overflow-wrap:anywhere; }
@media(max-width:760px) {
 .f-tutorial-board { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
 .f-tutorial-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
 .f-tutorial-segments { grid-column:1/-1; grid-row:1; }
 .f-tutorial-skip,.f-tutorial-actions { grid-row:2; }
}



/* Heading feedback is part of the same style update as each source, without a JS observer delay. */
.f-page-heading { position:relative; }
.f-heading-loading {
    display:none;
    position:absolute;
    inset-block-end:0;
    inset-inline:var(--f-content-gutter,var(--f-page-gutter,24px));
    block-size:4px;
    min-inline-size:0;
    margin:0;
    padding:0;
    border:0;
    overflow:hidden;
    pointer-events:none;
}
/* A full-width title still follows ContentContainer's bounded content, rather than its own width. */
.f-page-full > .f-page-heading > .f-heading-loading {
    inset-inline:max(24px,calc((100% - var(--f-content-width,1180px))/2 + 24px));
}
@media(max-width:560px) {
    .f-page-full > .f-page-heading > .f-heading-loading { inset-inline:18px; }
}
.f-heading-loading-fill {
    display:block;
    position:absolute;
    inset-block:0;
    inset-inline-start:0;
    inline-size:35%;
    background:currentColor;
    animation:f-heading-loading-travel 1.4s ease-in-out infinite alternate;
}
@keyframes f-heading-loading-travel {
    from { inset-inline-start:0; }
    to { inset-inline-start:65%; }
}
/* Only observable loading state is a source. The heading never publishes a source of its own. */
.f-page-heading[data-heading-loading="true"] > .f-heading-loading,
:is(body,.f-root,.f-page-body,.f-shell,.content-surface,.navigation-surface,.content-stage,.application-stage,.f-content-scroll):has(
    :is([data-f-loading="true"],[aria-busy="true"]):not(:is(
        [hidden],[hidden] *,[aria-hidden="true"],[aria-hidden="true"] *,[inert],[inert] *,
        dialog:not([open]),dialog:not([open]) *,
        [popover]:not(:popover-open):not([data-f-open]),[popover]:not(:popover-open):not([data-f-open]) *
    ))
) .f-heading-loading { display:block; }
@media(prefers-reduced-motion:reduce) {
    .f-heading-loading-fill { animation:none; inset-inline-start:25%; inline-size:50%; }
}




/* Display composition shares existing controls; this file owns layout and progressive enhancement only. */
.f-content-container { box-sizing:border-box; width:100%; max-width:var(--f-content-width,1180px); min-width:0; margin-inline:auto; padding-inline:24px; }
/* Keep native vertical document scrolling, but suppress the root's boundary bounce/pull. */
html:has(.f-document-surface), body:has(.f-document-surface) { overscroll-behavior-y:none; }
.content-surface.f-document-surface { display:flex; height:auto; min-height:100dvh; flex-direction:column; overflow:visible; }
.f-document-surface-header { position:sticky; top:0; z-index:50; flex:0 0 auto; }
.content-surface.f-document-surface > .content-stage { flex:1 0 auto; overflow:visible; overscroll-behavior:auto; }
.f-document-surface .f-page-body.f-page-full { min-height:0; padding:0; }
/* Website page titles stay in document flow; only the top bar owns sticky chrome. */
.f-document-surface .f-page-heading { position:relative; }
.f-document-surface .f-page-body.f-page-full > .f-page-heading { padding-inline:max(24px,calc((100% - var(--f-content-width,1180px))/2 + 24px)); }
.f-presentation-band { box-sizing:border-box; display:flex; align-items:center; width:100%; min-width:0; min-height:var(--f-band-min-height,0px); }
.f-presentation-band.f-presentation-fullheight { min-height:max(100vh,var(--f-band-min-height,0px)); min-height:max(100dvh,var(--f-band-min-height,0px)); }
/* A single scene fills its fixed host's remaining scroll viewport and can still grow. */
:where(.content-surface:not(.f-document-surface) > .content-stage) > .f-presentation-band.f-presentation-fullheight:where(:only-child) { min-height:max(100%,var(--f-band-min-height,0px)); }
/* A footer slot stays naturally sized even if it composes a presentation band. */
:is(footer,[data-presentation-footer]) .f-presentation-band.f-presentation-fullheight { min-height:var(--f-band-min-height,0px); }
.f-content-surface-footer { flex:0 0 auto; min-width:0; }
body:has(.f-document-surface) { margin:0; }
.f-logo-displayer { display:grid; justify-items:center; gap:24px; min-width:0; text-align:center; }
.f-logo-displayer-logo { display:block; width:var(--f-logo-size,96px); height:var(--f-logo-size,96px); object-fit:contain; }
.f-logo-displayer-title { display:grid; min-width:0; }
.f-presentation-band-heading { display:flex; flex-direction:column; align-items:flex-start; text-align:start; }
.f-presentation-hero-content { display:grid; min-width:0; align-content:center; gap:40px; }
.f-presentation-hero-actions { display:flex; flex-wrap:wrap; align-items:center; }
.f-presentation-footer { position:relative; flex:0 0 auto; overflow:hidden; isolation:isolate; }
.f-presentation-watermark { position:absolute; z-index:0; white-space:nowrap; pointer-events:none; }
.f-presentation-footer-content { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; }
.f-presentation-footer-identity { display:grid; }
.f-offer-stage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
.f-offer-controls { display:none; }
.f-offer-card { box-sizing:border-box; position:relative; display:flex; min-width:0; flex-direction:column; scroll-margin-top:88px; }
.f-offer-details { display:flex; flex:1; flex-direction:column; }
.f-offer-details > p { flex:1; }
.f-offer-details .f-button { width:100%; white-space:normal; overflow-wrap:anywhere; }
.f-offer-compact-title { display:none; }
.f-access-panel { box-sizing:border-box; width:min(100%,560px); min-width:0; margin-inline:auto; }
.f-access-panel-wide { width:min(100%,960px); }
.f-access-form-surface { --f-access-form-gap:24px; box-sizing:border-box; display:grid; width:100%; min-width:0; gap:var(--f-access-form-gap); }
.f-access-form-actions { display:grid; min-width:0; gap:var(--f-access-form-gap); margin-top:0; }
.f-access-form-surface > form,
.f-access-form-surface .f-navigation-choice-panel,
.f-access-form-surface .f-navigation-choice-panel > form { display:grid; min-width:0; gap:var(--f-access-form-gap); }
.f-access-form-surface .f-form-layout { gap:var(--f-access-form-gap); }
.f-access-form-surface .f-form-layout > .f-inline-actions,
.f-access-form-actions > .f-inline-actions { margin-top:0; }
/* An action has no visible label row; reserve that row so actual inputs/actions have equal gaps. */
.f-access-form-surface .f-form-layout > .f-field + :is(.f-button,.f-inline-actions),
.f-access-form-surface:has(.f-field) > .f-access-form-actions { margin-block-start:var(--f-access-action-label-gap,calc(17px * 1.55 + 7px)); }
.f-access-form-surface .f-navigation-choice-panel > .f-button,
.f-access-form-surface .f-navigation-choice-panel .f-form-layout > .f-button,
.f-access-form-surface > .f-section > .f-button { width:100%; }
.f-access-actions { display:flex; flex-wrap:wrap; align-items:center; }
@media(min-width:1100px) and (prefers-reduced-motion:no-preference) {
 .f-offer-presentation:has(.f-offer-stage[data-offer-ready]) > .f-offer-controls { display:flex; justify-content:flex-end; margin-top:12px; }
 .f-offer-stage[data-offer-ready] { grid-template-columns:repeat(var(--f-offer-columns),minmax(0,1fr)); }
 .f-offer-stage[data-offer-ready] .f-offer-card { grid-column:span 1; min-height:360px; height:360px; overflow:hidden; isolation:isolate; }
 .f-offer-stage[data-offer-ready] .f-offer-card[data-active=true] { grid-column:span 2; }
 .f-offer-stage[data-offer-ready] .f-offer-card::before { position:absolute; z-index:0; inset:0; content:""; pointer-events:none; transform:scaleX(1); transform-origin:left center; }
 .f-offer-stage[data-offer-ready] .f-offer-card[data-active=true]::before { transform:scaleX(0); }
 .f-offer-stage[data-offer-ready] .f-offer-card > .f-offer-title { opacity:0; }
 .f-offer-stage[data-offer-ready] .f-offer-card[data-active=true] > .f-offer-title { opacity:1; }
 .f-offer-stage[data-offer-ready] .f-offer-compact-title { position:absolute; z-index:1; top:18px; right:18px; display:block; writing-mode:vertical-rl; text-orientation:mixed; pointer-events:none; }
 .f-offer-stage[data-offer-ready] .f-offer-card[data-active=true] .f-offer-compact-title { opacity:0; }
 .f-offer-stage[data-offer-ready] .f-offer-details { position:relative; z-index:1; visibility:hidden; opacity:0; pointer-events:none; }
 .f-offer-stage[data-offer-ready] .f-offer-card[data-active=true] .f-offer-details { visibility:visible; opacity:1; pointer-events:auto; }
}
@media(max-width:760px) {
 .f-presentation-footer-content { align-items:flex-start; flex-direction:column; justify-content:flex-end; }
}
@media(max-width:600px) { .f-offer-stage { grid-template-columns:minmax(0,1fr); } }
@media(max-width:560px) {
 .f-content-container { padding-inline:18px; }
 .f-document-surface .f-page-body.f-page-full > .f-page-heading { padding-inline:18px; }
}

/* Prominent is a layout variant of Card, not an additional renderer or fixed-height preview. */
.f-card.f-card-prominent { box-sizing:border-box; display:flex; align-items:center; width:100%; min-width:0; min-height:260px; gap:32px; }
.f-card-prominent > .f-card-prominent-actions { display:flex; flex:0 1 240px; flex-direction:column; align-items:flex-start; min-width:0; max-width:100%; gap:12px; }
.f-card-prominent > .f-card-prominent-copy { display:grid; flex:1 1 0; min-width:0; gap:16px; overflow-wrap:anywhere; }
.f-card-prominent-actions > .f-button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.f-card.f-card-prominent.f-card-stacked { flex-direction:column; align-items:stretch; }
.f-card-stacked > .f-card-prominent-actions, .f-card-stacked > .f-card-prominent-copy { flex:0 1 auto; }
@media(max-width:760px) {
 .f-card.f-card-prominent { flex-direction:column; align-items:stretch; }
 .f-card-prominent > .f-card-prominent-actions { flex:0 1 auto; }
}

/* A shared asymmetric hero keeps the main copy separate from a bounded operation area. */
.f-presentation-hero-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,470px); align-items:start; gap:clamp(54px,9vw,120px); }
.f-presentation-hero-side { min-width:0; }
.f-presentation-hero-split .f-presentation-hero-content { justify-items:end; text-align:end; }
.f-presentation-title-words { display:grid; }
.f-presentation-title-words > span { min-width:0; overflow-wrap:anywhere; }
@media(max-width:860px) {
 .f-presentation-hero-layout { grid-template-columns:minmax(0,1fr); gap:48px; }
}
.f-logo-displayer-compact { grid-template-columns:auto minmax(0,1fr); align-items:center; justify-items:start; gap:8px 16px; text-align:start; }
.f-logo-displayer-compact > .f-logo-displayer-logo { grid-column:1; grid-row:1; width:var(--f-logo-size,48px); height:var(--f-logo-size,48px); }
.f-logo-displayer-compact > .f-logo-displayer-title { grid-column:2; grid-row:1; }
.f-logo-displayer-compact:not(:has(> .f-logo-displayer-logo)) { grid-template-columns:minmax(0,1fr); }
.f-logo-displayer-compact:not(:has(> .f-logo-displayer-logo)) > .f-logo-displayer-title { grid-column:1; }
.f-logo-displayer-compact > .f-logo-displayer-description { grid-column:1/-1; }
/* A shared context row aligns the logo with the main name while preserving one semantic heading. */
.f-logo-displayer-context-primary > .f-logo-displayer-title { row-gap:8px; }
.f-logo-displayer-compact.f-logo-displayer-context-primary { grid-template-rows:auto auto; }
.f-logo-displayer-compact.f-logo-displayer-context-primary > .f-logo-displayer-title { grid-column:2; grid-row:1/span 2; grid-template-rows:subgrid; align-self:stretch; align-items:center; }
.f-logo-displayer-compact.f-logo-displayer-context-primary > .f-logo-displayer-logo { grid-column:1; grid-row:2; align-self:center; }
.f-logo-displayer-compact.f-logo-displayer-context-primary .f-logo-displayer-project { grid-row:1; }
.f-logo-displayer-compact.f-logo-displayer-context-primary .f-logo-displayer-context { grid-row:2; }
.f-logo-displayer-compact.f-logo-displayer-context-primary > .f-logo-displayer-description { grid-row:3; }
.f-logo-displayer-compact.f-logo-displayer-context-primary:not(:has(> .f-logo-displayer-logo)) > .f-logo-displayer-title { grid-column:1; }
@media(max-height:520px) { .f-logo-displayer-compact > .f-logo-displayer-logo { width:var(--f-logo-size,32px); height:var(--f-logo-size,32px); } }

/* Decorative media never reserves content height or intercepts the foreground actions. */
.f-presentation-band:has(> .f-presentation-band-media) { position:relative; isolation:isolate; }
.f-presentation-band-media { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.f-presentation-band-media > img { display:block; width:100%; height:100%; object-fit:cover; }
.f-presentation-band-media::after { position:absolute; inset:0; content:""; }
.f-presentation-band-media + .f-content-container { position:relative; z-index:1; }



/* A surface owns this floating navigation; JS supplies the visible band viewport coordinates. */
.f-presentation-progress { box-sizing:border-box; position:fixed; z-index:40; left:var(--f-presentation-progress-left,50%); top:var(--f-presentation-progress-top); transform:translateX(-50%); max-width:var(--f-presentation-progress-width,calc(100vw - 32px)); margin:0; padding:0; }
.f-presentation-progress[hidden] { display:none; }
.f-presentation-progress > ol { margin:0; padding:0; list-style:none; }
.f-presentation-progress-link { display:grid; place-items:center; }
.f-presentation-progress-link[aria-current=location]::after { opacity:1; }




/* Functional layout and state only. Controls retain browser colors, typography and native focus. */
.f-shell, .f-shell *, .f-shell *::before, .f-shell *::after,
.f-data, .f-data *, .f-dialog, .f-dialog *, .f-menu-panel, .f-menu-panel * { box-sizing:border-box; }
/* Ordinary native hidden wins over control display paint, including standalone surfaces.
   Keep until-found discoverable through the browser's native content-visibility behavior. */
:is(.f-root,.f-shell,.content-surface,.navigation-surface,.f-dialog,.f-menu-panel)[hidden]:not([hidden="until-found" i]),
:is(.f-root,.f-shell,.content-surface,.navigation-surface,.f-dialog,.f-menu-panel) [hidden]:not([hidden="until-found" i]),
:is(.f-notice,.f-loading)[hidden]:not([hidden="until-found" i]) { display:none!important; }
.f-toggle-section-content[hidden] { display:none!important; }
.f-sr-only, .f-data-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
@font-face {
 font-family:'Material Symbols Outlined'; font-style:normal; font-weight:100 700; font-display:block;
 src:url("icons/material/MaterialSymbolsOutlined.woff2") format('woff2');
}
.f-icon { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:middle; overflow:hidden; text-align:center;
 font-family:'Material Symbols Outlined'; font-style:normal; font-weight:400; font-size:var(--f-icon-size,var(--f-icon-default-size,26px)); line-height:1;
 font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
 letter-spacing:normal; text-transform:none; white-space:nowrap; direction:ltr; -webkit-font-smoothing:antialiased;
}
.f-icon.f-icon-filled { font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24; }
.f-shell { position:relative; height:100dvh; width:100%; min-width:0; min-height:0; display:grid; grid-template-columns:max-content minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); isolation:isolate; }
.f-titlebar { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; min-width:0; }
.f-titlebar > .f-icon-button { display:none; }
.f-titlebar-start,.f-titlebar-center,.f-titlebar-end { display:flex; align-items:center; min-width:0; }
.f-titlebar-end { margin-inline-start:auto; }
/* Chrome slots own alignment; injected controls keep their variants, not document-flow spacing. */
:is(.shell-header,.f-titlebar) .f-topbar-slot { display:flex; align-items:center; align-self:center; min-width:0; }
:is(.shell-header,.f-titlebar) .f-topbar-slot > *, :is(.shell-header,.f-titlebar) .f-topbar-slot > form > * { align-self:center; margin-block:0; }
:is(.shell-header,.f-titlebar) .f-topbar-slot > .f-inline-actions > *, :is(.shell-header,.f-titlebar) .f-topbar-slot > form > .f-inline-actions > * { align-self:center; margin-block:0; }
:is(.shell-header,.f-titlebar) .f-topbar-slot > form { display:flex; align-items:center; }
.f-inline-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; }
.f-inline-actions[data-alignment] { width:100%; min-width:0; box-sizing:border-box; }
.f-page-body > .f-inline-actions[data-alignment] { width:auto; }
.f-inline-actions[data-alignment="start"] { justify-content:flex-start; }
.f-inline-actions[data-alignment="center"] { justify-content:center; }
.f-inline-actions[data-alignment="end"] { justify-content:flex-end; }
.f-inline-actions > .f-input { flex:1 1 0; width:auto; min-width:0; }
.f-field-control > .f-inline-actions { margin-block-start:0; }
.f-field.f-field-with-actions { display:grid; grid-template-columns:minmax(0,1fr) fit-content(50%); column-gap:12px; row-gap:var(--f-field-label-gap,7px); min-width:0; }
.f-field-with-actions > .f-field-label { grid-column:1; grid-row:1; min-width:0; }
.f-field-with-actions > .f-field-control { grid-column:1; grid-row:2; position:relative; min-width:0; }
.f-field-with-actions > .f-field-actions { grid-column:2; grid-row:2; display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:flex-end; align-self:start; gap:12px; min-width:0; max-width:100%; }
.f-field-actions > .f-inline-actions { width:auto; max-width:100%; margin-block:0; }
@media(max-width:760px){.f-field.f-field-with-actions{grid-template-columns:minmax(0,1fr)}.f-field-with-actions > .f-field-actions{grid-column:1;grid-row:3;justify-self:end}}
.f-button { position:relative; }
.f-button.f-button-structured { display:flex; align-items:center; justify-content:flex-start; gap:16px; width:100%; max-width:100%; min-width:0; box-sizing:border-box; white-space:normal; text-align:start; }
.f-button-structured > .f-button-label { display:flex; flex-direction:column; align-items:flex-start; flex:1 1 0; gap:4px; min-width:0; max-width:100%; }
.f-button-structured .f-button-text,.f-button-structured .f-button-description,.f-button-structured .f-button-trailing { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.f-button-structured > .f-button-trailing { flex:0 1 auto; margin-inline-start:auto; text-align:end; }
.f-title-search { display:flex; min-width:0; }
.f-navigation { grid-column:1; grid-row:2; display:grid; grid-template-columns:max-content minmax(0,var(--f-secondary-width,18rem)); min-width:0; min-height:0; }
.f-primary-navigation { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.f-primary-navigation-main { display:flex; flex:1 1 auto; flex-direction:column; min-height:0; overflow:auto; }
.f-primary-navigation-fixed { display:flex; flex:0 0 auto; flex-direction:column; }
.f-secondary-navigation { min-height:0; overflow:auto; }
.f-secondary-list,.f-third-navigation { list-style:none; margin:0; padding:0; }
.f-secondary-row { display:flex; align-items:stretch; min-width:0; }
.f-secondary-row .f-secondary-item { flex:1; min-width:0; }
.f-secondary-row .f-split-button-primary { justify-content:flex-start; }
.f-secondary-row .f-split-button-label { flex:1; }
.f-secondary-item span { min-width:0; overflow-wrap:anywhere; }
.f-secondary-toggle { flex-shrink:0; font:inherit; cursor:pointer; }
.f-secondary-toggle:disabled { cursor:not-allowed; }
.f-navigation-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.f-navigation-chevron { flex:none; }
.f-primary-navigation,.f-primary-navigation-main,.f-secondary-navigation,.f-menu-panel { scrollbar-width:none; }
.f-primary-navigation::-webkit-scrollbar,.f-primary-navigation-main::-webkit-scrollbar,.f-secondary-navigation::-webkit-scrollbar,.f-menu-panel::-webkit-scrollbar { display:none; width:0; height:0; }
.navigation-surface .primary-rail,.navigation-surface .secondary-rail,.service-menu-view { scrollbar-width:none; }
.navigation-surface .primary-rail::-webkit-scrollbar,.navigation-surface .secondary-rail::-webkit-scrollbar,.service-menu-view::-webkit-scrollbar { display:none; width:0; height:0; }
.f-secondary-item { display:flex; align-items:center; gap:.5em; min-width:0; max-width:100%; }
.f-primary-item { display:flex; align-items:center; }
.f-primary-command { appearance:none; font:inherit; border:0; cursor:pointer; }
.f-primary-command:disabled { cursor:not-allowed; }
.f-nav-tooltip { display:none; position:fixed; inset:auto; margin:0; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); overflow:auto; background:Canvas; color:CanvasText; z-index:55; }
.f-nav-tooltip[data-open] { display:block; }
.f-navigation-backdrop { display:none; }
.f-content-scroll { grid-column:2; grid-row:2; min-width:0; min-height:0; overflow:auto; overflow-anchor:none; }
.f-no-navigation { grid-template-columns:minmax(0,1fr); }
.f-no-navigation .f-content-scroll { grid-column:1; }
.f-no-titlebar { grid-template-rows:minmax(0,1fr); }
.f-no-titlebar .f-navigation,.f-no-titlebar .f-content-scroll { grid-row:1; }
.f-no-secondary .f-navigation { grid-template-columns:minmax(0,1fr); }
.f-page-body { --f-centered-gutter-scale:1; min-width:0; }
/* A fixed-stage work area keeps its heading and gives the remaining height to content. */
:is(.f-content-scroll,.application-stage,.content-stage):has(> .f-page-fill-height) { overflow:hidden; }
.f-page-body.f-page-fill-height { display:flex; flex-direction:column; height:100%; max-height:100%; min-height:0; box-sizing:border-box; padding-block:0; overflow:hidden; }
.f-page-fill-height > .f-page-heading { flex:0 0 auto; }
.f-page-fill-height > :not(.f-page-heading) { flex:1 1 0; min-height:0; }
.f-page-fill-height > .spreadsheet-scroll { width:auto; max-height:none; margin-block:0; }
.f-page-body:has(> .f-empty-state[data-presentation=watermark]) { display:flex; flex-direction:column; min-height:100%; box-sizing:border-box; padding-block-end:0; }
.f-page-body:has(> .f-empty-state[data-presentation=watermark]) > .f-page-heading { flex:0 0 auto; }
.f-empty-state[data-presentation=watermark] { display:grid; place-items:center; flex:1 0 auto; min-width:0; min-height:260px; box-sizing:border-box; padding:32px 0; text-align:center; }
.f-empty-state[data-presentation=watermark] > .f-empty-title { min-width:0; max-width:100%; margin:0; overflow-wrap:anywhere; }
.f-page-centered { max-width:calc(100% - max(0px,calc(100% - var(--f-content-width,100%)))*var(--f-centered-gutter-scale,1)); margin-inline:auto; }
.f-page-centered-expanded { --f-centered-gutter-scale:0.5; }
.f-page-full { max-width:none; }
.f-page-heading { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1em; min-width:0; box-sizing:border-box; }
.f-heading-title { display:flex; flex:1 1 320px; flex-direction:column; align-items:flex-start; min-width:0; }
.f-page-heading h1 { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.f-heading-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5em; min-width:0; max-width:100%; }
.f-heading-actions > * { min-width:0; max-width:100%; }
:is(:is(.f-shell,.content-surface,.navigation-surface)[data-compact-heading] .f-page-heading,.f-page-heading[data-heading-mode=compact]) { align-items:center; gap:12px; min-height:72px; padding-block:12px; }
:is(:is(.f-shell,.content-surface,.navigation-surface)[data-compact-heading] .f-page-heading,.f-page-heading[data-heading-mode=compact]) .f-heading-title { flex-direction:row; align-items:center; gap:12px; }
:is(:is(.f-shell,.content-surface,.navigation-surface)[data-compact-heading] .f-page-heading,.f-page-heading[data-heading-mode=compact]) h1 { flex:1; margin:0; }
:is(:is(.f-shell,.content-surface,.navigation-surface)[data-compact-heading] .f-page-heading,.f-page-heading[data-heading-mode=compact]) .f-parent-link { display:inline-flex; flex:0 0 48px; align-items:center; justify-content:center; align-self:center; width:48px; height:48px; min-height:48px; margin:0; padding:0; gap:0; box-sizing:border-box; }
:is(:is(.f-shell,.content-surface,.navigation-surface)[data-compact-heading] .f-page-heading,.f-page-heading[data-heading-mode=compact]) .f-parent-link .f-button-text { display:none; }
.f-skip-link { position:fixed; inset-inline-start:0; top:-100vh; z-index:100; background:Canvas; color:CanvasText; }
.f-skip-link:focus { top:0; }
.f-form-layout { display:grid; grid-template-columns:repeat(var(--f-form-columns,2),minmax(0,1fr)); min-width:0; }
.f-field-full { grid-column:1/-1; }
.f-field,.f-field-control { min-width:0; }
.f-input { min-width:0; max-width:100%; }
.f-field-errors { overflow-wrap:anywhere; }
.f-form-actions { display:grid; grid-template-columns:repeat(var(--f-action-columns,2),minmax(0,1fr)); grid-column:1/-1; min-width:0; }
.f-form-actions > * { min-width:0; }
.f-menu-panel { display:none; position:fixed; inset:auto; width:max-content; min-width:0; margin:0; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; background:Canvas; color:CanvasText; }
.f-menu-panel,.selection-panel,.search-autocomplete-options { box-sizing:border-box; width:max-content; min-width:0; max-width:calc(100vw - 24px); text-align:left; }
:is(.selection-panel,.search-autocomplete-options)[popover]:not(:popover-open) { display:none; }
:is(.selection-panel,.search-autocomplete-options)[popover]:popover-open { display:grid; }
/* Menu rows share the longest item's column; ordinary page Buttons keep their own sizing. */
.f-menu-panel > .f-button,.f-menu-panel .f-menu-item,.f-menu-panel .f-dropdown-item,.service-menu-view nav > a,
.selection-panel :is(.selection-option,.selection-create),.selection-panel > .f-button,
.search-autocomplete-options > :is(.search-autocomplete-option,.search-autocomplete-empty,.f-button) { box-sizing:border-box; width:100%; min-width:0; max-width:100%; justify-self:stretch; align-self:stretch; text-align:left; justify-content:left; overflow-wrap:anywhere; }
/* Choice markers own a fixed leading track while every label remains left aligned. */
.f-multi-select-panel label.f-dropdown-item { display:grid; grid-template-columns:var(--f-choice-size,28px) minmax(0,1fr); column-gap:10px; align-items:center; width:auto; max-width:none; justify-content:stretch; }
.f-multi-select-panel label.f-dropdown-item > input[type=checkbox] { grid-column:1; grid-row:1; justify-self:center; }
.f-multi-select-panel label.f-dropdown-item > span { grid-column:2; grid-row:1; min-width:0; text-align:left; overflow-wrap:anywhere; }
/* Search fields fill the measured option column without contributing their native 20-character width. */
.selection-panel .selection-search,.f-multi-select-panel > .f-multi-select-search { box-sizing:border-box; width:0; min-width:100%; max-width:100%; }
.f-menu-panel:not(:popover-open):not([data-f-open]) { display:none; }
.f-menu-panel[data-f-open] { display:block; z-index:1000; }
/* Native menu slots retain a real details opening before JavaScript enhancement. */
.f-action-menu[data-f-native-menu] { position:relative; }
.f-action-menu[data-f-native-menu] > .f-menu-trigger { display:grid; list-style:none; }
.f-action-menu[data-f-native-menu] > .f-menu-trigger::-webkit-details-marker { display:none; }
.f-action-menu[data-f-native-menu]:not([data-f-enhanced])[open] > .f-menu-panel { display:block; position:static; inset:auto; }
.f-disclosure-button-trigger { display:inline-flex; list-style:none; }
.f-disclosure-button-trigger::-webkit-details-marker { display:none; }
.f-disclosure-button-trigger[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
/* An optional popup grid changes layout only after the existing menu becomes visible. */
.f-menu-panel-columns { grid-template-columns:repeat(var(--f-menu-panel-columns),minmax(0,1fr)); align-items:stretch; gap:12px; }
.f-menu-panel.f-menu-panel-columns:is([data-f-open],:popover-open),
.f-action-menu[data-f-native-menu]:not([data-f-enhanced])[open] > .f-menu-panel-columns { display:grid; }
/* Standalone action tiles retain their centered content instead of inheriting list-row alignment. */
.f-menu-panel-columns > .f-uniform-cell.f-uniform-grid-button { justify-content:center; text-align:center; }
.f-menu-item { display:block; width:100%; text-align:start; white-space:normal; overflow-wrap:anywhere; }
.f-dialog { max-width:calc(100vw - 2em); max-height:calc(100dvh - 2em); overflow:hidden; }
.f-dialog[open] { display:flex; flex-direction:column; }
.f-dialog-header { display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; }
.f-dialog-header h2 { min-width:0; overflow-wrap:anywhere; }
.f-dialog-close svg { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8; }
.f-dialog-body { min-height:0; overflow:auto; overscroll-behavior:contain; }
.f-dialog-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:.75em; }
.f-dialog-actions .f-inline-actions { justify-content:flex-end; margin-block:0; }
.f-dialog-actions > form { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.75em; min-width:0; max-width:100%; margin:0; }
.f-bottom-sheet { position:fixed; inset:auto 0 0; width:100%; max-width:none; margin:0; }
.f-copy-text { user-select:all; overflow-wrap:anywhere; }
.f-form-group { border:0; padding:0; margin:0; min-width:0; }
.f-form-group > legend { margin-block-end:var(--f-field-label-gap,12px); font-weight:var(--f-label-weight,600); }
.f-image-preview { margin:0; display:grid; gap:var(--f-field-label-gap,12px); min-width:0; }
.f-image-preview > img { display:block; width:100%; max-height:260px; object-fit:contain; }
.f-image-preview > figcaption { display:grid; gap:var(--f-field-label-gap,12px); }
.f-attribution-footer { padding:var(--f-page-gutter,24px); text-align:center; }
.f-data { width:100%; min-width:0; }
.f-data-toolbar,.f-data-page-group,.f-data-tools,.f-data-pager-row { display:flex; align-items:center; flex-wrap:wrap; min-width:0; }
.f-data-tools { margin-inline-start:auto; }
.f-data-scroll { width:100%; min-width:0; overflow:auto; overscroll-behavior-inline:contain; }
.f-data-table { width:100%; border-collapse:separate; border-spacing:0; }
.f-data-table[data-f-sized] { table-layout:fixed; }
.f-data-table th,.f-data-table td { position:relative; }
.f-data-cell { display:block; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Static lists have no sizing controller or hover-only way to read clipped values. */
.f-list-view .f-data-cell { min-width:8rem; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
.f-data-sort { display:flex; align-items:center; width:100%; min-width:0; text-align:start; }
.f-data-sort > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.f-data-resize { position:absolute; inset-block:0; inset-inline-end:0; width:.75em; padding:0; touch-action:none; cursor:col-resize; }
.f-data-resizing { user-select:none; cursor:col-resize; }
.f-data-table .f-data-actions { position:sticky; right:0; z-index:3; background:Canvas; }
.f-data-table th.f-data-actions { z-index:4; }
.f-data-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,16em),1fr)); }
.f-data-card { display:flex; min-width:0; }
.f-data-card-values { min-width:0; flex:1; }
.f-data-card-value { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.f-data-footer { display:flex; justify-content:flex-end; }
.f-data-count,.f-data-pager { display:inline-flex; align-items:center; }
.f-data-page-input input { max-width:5em; }
.f-progress-track { display:none; }
.f-progress-ring svg { width:2.5em; height:2.5em; }
.f-progress-ring circle { fill:none; stroke-width:4; }
.f-progress-ring-track,.f-progress-ring-arc { stroke:currentColor; }
.f-spinner { display:none; }
@media(max-width:760px) {
 .f-shell { grid-template-columns:max-content minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); }
 .f-titlebar > .f-icon-button { display:inline-block; }
 .f-navigation { display:contents; }
 .f-primary-navigation { grid-column:1; grid-row:2/4; }
 .f-secondary-navigation { grid-column:2; grid-row:2; display:flex; align-items:center; min-width:0; overflow-x:auto; }
 .f-secondary-list { display:flex; align-items:center; }
 .f-secondary-item { white-space:nowrap; flex-shrink:0; }
 .f-content-scroll { grid-column:2; grid-row:3; }
 .f-shell[data-navigation-open=true] .f-secondary-navigation { position:fixed; inset-block:var(--f-shell-titlebar-size,0px) 0; inset-inline-start:var(--f-shell-primary-size,0px); width:max-content; max-width:calc(100vw - var(--f-shell-primary-size,0px)); display:flex; flex-direction:column; align-items:stretch; z-index:52; background:Canvas; color:CanvasText; }
 .f-shell[data-navigation-open=true] .f-secondary-item { white-space:nowrap; }
 .f-shell[data-navigation-open=true] .f-secondary-list { display:block; }
 .f-has-navigation-tree { grid-template-rows:auto auto minmax(0,1fr); }
 .f-has-navigation-tree .f-secondary-navigation { display:block; max-height:40dvh; overflow:auto; }
 .f-has-navigation-tree .f-secondary-list { display:block; }
 .f-has-navigation-tree .f-secondary-item { white-space:nowrap; }
 .f-has-navigation-tree[data-navigation-open=true] .f-secondary-navigation { max-height:none; }
 .f-shell[data-navigation-open=true] .f-navigation-backdrop { display:block; position:fixed; inset:var(--f-shell-titlebar-size,0px) 0 0 var(--f-shell-primary-size,0px); z-index:51; }
 .f-no-navigation,.f-no-secondary { grid-template-rows:auto minmax(0,1fr); }
 .f-no-navigation { grid-template-columns:minmax(0,1fr); }
 .f-no-navigation .f-content-scroll { grid-column:1; grid-row:2; }
 .f-no-secondary .f-primary-navigation,.f-no-secondary .f-content-scroll { grid-row:2; }
 .f-no-titlebar { grid-template-rows:auto minmax(0,1fr); }
 .f-no-titlebar .f-primary-navigation { grid-row:1/3; }
 .f-no-titlebar .f-secondary-navigation { grid-row:1; }
 .f-no-titlebar .f-content-scroll { grid-row:2; }
 .f-no-titlebar.f-no-navigation,.f-no-titlebar.f-no-secondary { grid-template-rows:minmax(0,1fr); }
 .f-no-titlebar.f-no-navigation .f-content-scroll,.f-no-titlebar.f-no-secondary .f-primary-navigation,.f-no-titlebar.f-no-secondary .f-content-scroll { grid-row:1; }
 .f-form-layout { grid-template-columns:minmax(0,1fr); }
 .f-form-actions { grid-template-columns:repeat(var(--f-action-narrow-columns,2),minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .f-shell *, .f-dialog *, .f-menu-panel *, .f-data * { scroll-behavior:auto!important; } }
/* Explicit document-scroll ownership for a full-height shell. */
body { margin:0; }
/* ApplicationLayout explicitly owns document scroll. Embedded shells do not opt in. */
html:has(.f-shell[data-f-document-shell]),body:has(.f-shell[data-f-document-shell]) { height:100%; min-height:0; overflow:hidden; }
/* Unlike hidden, clip cannot be scrolled by fragment navigation or scrollIntoView. */
.f-shell[data-f-document-shell] { position:fixed; inset:0; height:100dvh; min-height:0; overflow:clip; }

.f-dialog-view { min-width:0; white-space:normal; }
