/* platform.css */
@layer mud, spec.tokens, spec.base, spec.chrome, spec.components, spec.utilities;
/* tokens.css */
@layer spec.tokens {
    :root {
        --color-bg: #f2f2f3;
        --color-surface: #e9e9ea;
        --color-text: #1d1f20;
        --color-accent: #5980a6;
        --color-divider: color-mix(in srgb, #1d1f20 16%, transparent);
        --color-neutral-100: #f5f5f8;
        --color-neutral-200: #e7e7ea;
        --color-neutral-300: #d4d4d7;
        --color-neutral-400: #b7b7ba;
        --color-neutral-500: #98989b;
        --color-neutral-600: #7a7a7d;
        --color-neutral-700: #5d5d60;
        --color-neutral-800: #424244;
        --color-neutral-900: #2b2b2d;
        --color-accent-100: #eef6ff;
        --color-accent-200: #d6ebff;
        --color-accent-300: #b5d9fd;
        --color-accent-400: #94bce3;
        --color-accent-500: #749dc4;
        --color-accent-600: #597ea3;
        --color-accent-700: #416180;
        --color-accent-800: #2c455d;
        --color-accent-900: #1d2d3d;
        --ok: oklch(0.50 0.075 158);
        --ok-t: oklch(0.955 0.022 158);
        --ok-b: oklch(0.80 0.055 158);
        --warn: oklch(0.55 0.105 68);
        --warn-t: oklch(0.958 0.032 68);
        --warn-b: oklch(0.80 0.075 68);
        --stop: oklch(0.50 0.125 27);
        --stop-t: oklch(0.955 0.028 27);
        --stop-b: oklch(0.80 0.085 27);
        --hatch: repeating-linear-gradient(135deg, transparent 0 3px, color-mix(in srgb, var(--color-text) 9%, transparent) 3px 4px);
        --font-heading: "Fira Sans Condensed", "Barlow Condensed", system-ui, sans-serif;
        --font-body: "Fira Sans", Barlow, system-ui, sans-serif;
        --font-mono: "Fira Mono", "SFMono-Regular", Menlo, Consolas, ui-monospace, monospace;
        --font-ui: var(--font-body);
        --space-1: 4px;
        --space-2: 8px;
        --space-3: 12px;
        --space-4: 16px;
        --space-6: 24px;
        --space-8: 32px;
        --radius-sm: 2px;
        --radius-md: 4px;
        --radius-lg: 7px;
        --radius-control: var(--radius-md);
        --radius-card: 8px;
        --shadow-sm: 0 1px 2px color-mix(in srgb, #2b2b2d 14%, transparent);
        --shadow-md: 0 3px 10px color-mix(in srgb, #2b2b2d 16%, transparent);
        --shadow-lg: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent);
        --shadow-card: 0 1px 2px color-mix(in srgb, #2b2b2d 6%, transparent),
                       0 1px 3px color-mix(in srgb, #2b2b2d 4%, transparent);
        --spec-ink: var(--color-text);
        --spec-ink-soft: var(--color-neutral-700);
        --spec-ink-faint: var(--color-neutral-600);
        --spec-canvas: var(--color-bg);
        --spec-surface: #ffffff;
        --spec-field: #ffffff;
        --spec-line: var(--color-divider);
        --spec-line-strong: var(--color-neutral-400);
        --spec-on-accent: #ffffff;
        --spec-on-dark: #ffffff;
        --spec-on-dark-soft: color-mix(in srgb, #ffffff 78%, transparent);
        --spec-on-dark-muted: color-mix(in srgb, #ffffff 62%, transparent);
        --spec-ink-attention: var(--stop);
        --spec-focus-ring-on-dark: #ffffff;
        --spec-focus-width: 2px;
        --wash-ink-4: color-mix(in srgb, var(--color-text) 4%, transparent);
        --wash-ink-7: color-mix(in srgb, var(--color-text) 7%, transparent);
        --wash-ink-14: color-mix(in srgb, var(--color-text) 14%, transparent);
        --sp-1: var(--space-1);
        --sp-2: var(--space-2);
        --sp-3: var(--space-3);
        --sp-4: var(--space-4);
        --sp-6: var(--space-6);
        --sp-8: var(--space-8);
        --sp-12: calc(var(--space-8) * 1.5);
        --text-2xs: 11px;
        --text-xs: 12px;
        --text-sm: 13px;
        --text-base: 14.5px;
        --text-md: 16.5px;
        --text-lg: 19.5px;
        --text-xl: 23.5px;
        --text-2xl: 30.5px;
        --text-3xl: 43.5px;
        --leading-tight: 1.12;
        --leading-snug: 1.35;
        --leading-normal: 1.55;
        --weight-regular: 400;
        --weight-medium: 500;
        --weight-semibold: 600;
        --tracking-tight: -0.015em;
        --tracking-normal: normal;
        --tracking-wide: 0.06em;
        --tracking-caps: 0.1em;
        --tracking-brand: 0.16em;
        --dur-fast: 0.12s;
        --dur-base: 0.15s;
        --dur-slow: 0.24s;
        --ease-standard: cubic-bezier(0.2, 0, 0, 1);
        --control-h: 34px;
        --control-h-sm: 30px;
        --tap-target: 44px;
        --rail-w: 236px;
        --spec-study-select-max-width: 24rem;
        --spec-fill-chrome: 24px;
        --gutter: var(--space-4);
        --gutter-y: var(--space-4);
        --z-desk-chrome: 10;
        --z-skip-link: 10000;
        --z-reconnect: 9999;
        --scroll-shadow-ink: color-mix(in srgb, var(--color-text) 22%, transparent);
        --scroll-shadow-on-rail:
            linear-gradient(to right, var(--color-neutral-100) 55%, rgba(245, 245, 248, 0)) 0 0 / 2.5rem 100% no-repeat local,
            linear-gradient(to left, var(--color-neutral-100) 55%, rgba(245, 245, 248, 0)) 100% 0 / 2.5rem 100% no-repeat local,
            radial-gradient(farthest-side at 0 50%, var(--scroll-shadow-ink), rgba(29, 31, 32, 0)) 0 0 / 1rem 100% no-repeat scroll,
            radial-gradient(farthest-side at 100% 50%, var(--scroll-shadow-ink), rgba(29, 31, 32, 0)) 100% 0 / 1rem 100% no-repeat scroll;
        --scroll-shadow-on-canvas:
            linear-gradient(to right, var(--color-bg) 55%, rgba(242, 242, 243, 0)) 0 0 / 2.5rem 100% no-repeat local,
            linear-gradient(to left, var(--color-bg) 55%, rgba(242, 242, 243, 0)) 100% 0 / 2.5rem 100% no-repeat local,
            radial-gradient(farthest-side at 0 50%, var(--scroll-shadow-ink), rgba(29, 31, 32, 0)) 0 0 / 1rem 100% no-repeat scroll,
            radial-gradient(farthest-side at 100% 50%, var(--scroll-shadow-ink), rgba(29, 31, 32, 0)) 100% 0 / 1rem 100% no-repeat scroll;
        --scroll-shadow-on-surface:
            linear-gradient(to right, #ffffff 55%, rgba(255, 255, 255, 0)) 0 0 / 2.5rem 100% no-repeat local,
            linear-gradient(to left, #ffffff 55%, rgba(255, 255, 255, 0)) 100% 0 / 2.5rem 100% no-repeat local,
            radial-gradient(farthest-side at 0 50%, var(--scroll-shadow-ink), rgba(29, 31, 32, 0)) 0 0 / 1rem 100% no-repeat scroll,
            radial-gradient(farthest-side at 100% 50%, var(--scroll-shadow-ink), rgba(29, 31, 32, 0)) 100% 0 / 1rem 100% no-repeat scroll;
    }
    :root,
    [data-module] {
        --spec-rail: var(--color-accent-900);
        --spec-accent: var(--color-accent);
        --spec-accent-ink: var(--color-accent-700);
        --spec-accent-tint: var(--color-accent-100);
        --spec-focus-ring: var(--color-accent);
        --wash-accent-10: color-mix(in srgb, var(--color-accent) 10%, transparent);
        --wash-accent-18: color-mix(in srgb, var(--color-accent) 18%, transparent);
    }
    @media (min-width: 960px) {
        :root {
            --gutter: var(--space-6);
            --gutter-y: var(--space-6);
        }
    }
    @media (min-width: 1280px) {
        :root {
            --gutter: 32px;
            --gutter-y: 28px;
        }
    }
    @media (pointer: coarse) {
        :root {
            --control-h: 44px;
            --control-h-sm: 36px;
        }
    }
}
/* modules.css */
@layer spec.tokens {
    [data-module="bsclose"] {
        --color-accent: #5980a6;
        --color-accent-100: #eef6ff;
        --color-accent-200: #d6ebff;
        --color-accent-300: #b5d9fd;
        --color-accent-400: #94bce3;
        --color-accent-500: #749dc4;
        --color-accent-600: #597ea3;
        --color-accent-700: #416180;
        --color-accent-800: #2c455d;
        --color-accent-900: #1d2d3d;
        --module-accent-rgb: 89, 128, 166;
    }
    [data-module="finan"] {
        --color-accent: #6e75af;
        --color-accent-100: #f3f4fe;
        --color-accent-200: #e3e7fe;
        --color-accent-300: #cad1fe;
        --color-accent-400: #aab2f0;
        --color-accent-500: #8b93d1;
        --color-accent-600: #6e75af;
        --color-accent-700: #54598a;
        --color-accent-800: #3b3f65;
        --color-accent-900: #262942;
        --module-accent-rgb: 110, 117, 175;
    }
    [data-module="value"] {
        --color-accent: #99688e;
        --color-accent-100: #fdf1fa;
        --color-accent-200: #fadef3;
        --color-accent-300: #f4c3e8;
        --color-accent-400: #d9a4cc;
        --color-accent-500: #b985ad;
        --color-accent-600: #99688e;
        --color-accent-700: #774e6e;
        --color-accent-800: #56364f;
        --color-accent-900: #392334;
        --module-accent-rgb: 153, 104, 142;
    }
    [data-module="bplan"] {
        --color-accent: #41878d;
        --color-accent-100: #eaf8f9;
        --color-accent-200: #cef0f3;
        --color-accent-300: #a4e2e7;
        --color-accent-400: #80c5cb;
        --color-accent-500: #5ea6ad;
        --color-accent-600: #41878d;
        --color-accent-700: #2c686e;
        --color-accent-800: #1b4b4f;
        --color-accent-900: #123134;
        --module-accent-rgb: 65, 135, 141;
    }
    [data-module] {
        --mud-palette-primary: var(--color-accent);
        --mud-palette-primary-rgb: var(--module-accent-rgb);
        --mud-palette-primary-text: #ffffff;
        --mud-palette-primary-darken: var(--color-accent-700);
        --mud-palette-primary-lighten: var(--color-accent-400);
        --mud-palette-primary-hover: rgba(var(--module-accent-rgb), 0.0588);
        --mud-palette-info: var(--color-accent);
        --mud-palette-info-rgb: var(--module-accent-rgb);
        --mud-palette-info-text: #ffffff;
        --mud-palette-info-darken: var(--color-accent-700);
        --mud-palette-info-lighten: var(--color-accent-400);
        --mud-palette-info-hover: rgba(var(--module-accent-rgb), 0.0588);
        --mud-palette-drawer-background: var(--color-accent-900);
        --mud-palette-drawer-icon: var(--color-accent-300);
    }
}
/* base.css */
@layer spec.base {
    html {
        color-scheme: light;
    }
    html,
    body {
        font-family: var(--font-body);
        font-size: var(--text-base);
        line-height: var(--leading-normal);
        font-weight: var(--weight-regular);
        background: var(--color-bg);
        color: var(--color-text);
    }
    h1, h2, h3, h4, h5, h6,
    .mud-typography-h1, .mud-typography-h2, .mud-typography-h3,
    .mud-typography-h4, .mud-typography-h5, .mud-typography-h6 {
        font-family: var(--font-heading);
        font-weight: var(--weight-semibold);
        line-height: var(--leading-tight);
        letter-spacing: var(--tracking-tight);
    }
    a {
        color: var(--color-accent-700);
        text-decoration: none;
        text-decoration-skip-ink: none;
    }
    a:hover {
        color: var(--color-accent-900);
    }
    a.mud-link-underline-always {
        text-decoration: underline;
        text-underline-offset: 0.15em;
    }
    ::selection {
        background: var(--color-accent-200);
    }
    :focus {
        outline: none;
    }
    :focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 2px;
    }
    .spec-rail__link:focus-visible,
    .spec-ladder__step:focus-visible,
    .segmented > :focus-visible,
    .report-catalog__item:focus-visible {
        outline-offset: calc(-1 * var(--spec-focus-width));
    }
    .skip-link {
        position: absolute;
        left: var(--sp-3);
        top: var(--sp-3);
        z-index: var(--z-skip-link);
        padding: var(--sp-2) var(--sp-3);
        background: var(--color-neutral-900);
        color: var(--spec-on-dark);
        text-decoration: none;
        transform: translateY(-8rem);
        transition: transform var(--dur-base) var(--ease-standard);
        touch-action: manipulation;
    }
    .skip-link:focus,
    .skip-link:focus-visible {
        transform: none;
    }
    #main-content {
        scroll-margin-top: var(--sp-8);
    }
    .mud-table-container,
    .mud-table-container.mud-table-container {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        background: var(--scroll-shadow-on-surface);
        background-color: var(--spec-surface);
    }
    .visually-hidden {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }
    #components-reconnect-modal {
        display: none;
        position: fixed;
        inset: 0;
        z-index: var(--z-reconnect);
        background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent);
        align-items: center;
        justify-content: center;
    }
    #components-reconnect-modal.components-reconnect-show,
    #components-reconnect-modal.components-reconnect-failed,
    #components-reconnect-modal.components-reconnect-rejected {
        display: flex;
    }
    .reconnect-dialog {
        background: var(--spec-surface);
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        padding: var(--sp-6) var(--sp-8);
        max-width: 440px;
        width: 90%;
        text-align: center;
        font-family: var(--font-body);
        color: var(--spec-ink);
        box-shadow: var(--shadow-lg);
    }
    .reconnect-dialog p {
        margin: var(--sp-2) 0 0;
        font-size: var(--text-base);
        line-height: var(--leading-normal);
    }
    .reconnect-dialog [components-reconnect-show],
    .reconnect-dialog [components-reconnect-failed],
    .reconnect-dialog [components-reconnect-rejected] {
        display: none;
    }
    #components-reconnect-modal.components-reconnect-show .reconnect-dialog [components-reconnect-show] { display: block; }
    #components-reconnect-modal.components-reconnect-failed .reconnect-dialog [components-reconnect-failed] { display: block; }
    #components-reconnect-modal.components-reconnect-rejected .reconnect-dialog [components-reconnect-rejected] { display: block; }
    .reconnect-spinner {
        width: 32px;
        height: 32px;
        border: 2px solid var(--color-accent-200);
        border-top-color: var(--color-accent);
        border-radius: 50%;
        animation: spec-spin 0.9s linear infinite;
        margin: 0 auto var(--sp-3);
    }
    @keyframes spec-spin {
        to { transform: rotate(360deg); }
    }
    .reconnect-dialog a {
        color: var(--color-accent-700);
        text-decoration: underline;
        cursor: pointer;
    }
    @media print {
        .spec-rail,
        .spec-study-head,
        .spec-ladder,
        .page-header,
        .desk-toolbar,
        .report-catalog,
        .skip-link,
        .mud-alert {
            display: none;
        }
        body {
            background: #fff;
        }
    }
    @media (prefers-reduced-motion: reduce) {
        :root {
            --dur-fast: 0s;
            --dur-base: 0s;
            --dur-slow: 0s;
        }
        *,
        *::before,
        *::after {
            animation-duration: 0.001ms;
            animation-iteration-count: 1;
            transition-duration: 0.001ms;
            scroll-behavior: auto;
        }
        .skip-link:not(:focus):not(:focus-visible) {
            clip: rect(0 0 0 0);
            clip-path: inset(50%);
            height: 1px;
            width: 1px;
            overflow: hidden;
            white-space: nowrap;
        }
        .mud-tabs .mud-tab-slider {
            transition-duration: 0.001ms;
        }
    }
}
/* chrome.css */
@layer spec.chrome {
    .spec-rail {
        --rail-gutter-x: 14px;
        --rail-link-inset: 8px;
        --rail-chevron-slot: 22px;
        --rail-ink: #f2f7fb;
        --rail-ink-soft: color-mix(in srgb, #f2f7fb 82%, transparent);
        --rail-ink-faint: color-mix(in srgb, #f2f7fb 66%, transparent);
        --rail-line: color-mix(in srgb, #ffffff 22%, transparent);
        --rail-wash: color-mix(in srgb, #ffffff 10%, transparent);
        --rail-wash-strong: color-mix(in srgb, #ffffff 24%, transparent);
        --rail-current-bg: color-mix(in srgb, #ffffff 16%, transparent);
        --rail-current-ink: #ffffff;
        --rail-mark: var(--color-accent-300);
        --rail-link: var(--color-accent-200);
        display: flex;
        flex-direction: column;
        height: 100%;
        background-color: var(--spec-rail);
        background-image:
            radial-gradient(120% 55% at 0% 0%, color-mix(in srgb, var(--color-accent-600) 34%, transparent), transparent 62%),
            linear-gradient(180deg, transparent 55%, color-mix(in srgb, #000000 16%, transparent));
        border-right: 1px solid var(--color-divider);
        overflow: hidden;
        transition: background-color var(--dur-slow) var(--ease-standard);
    }
    .spec-rail__brand {
        flex: none;
        padding: 16px 14px 12px;
        border-bottom: 1px solid var(--rail-line);
    }
    .spec-rail__wordmark {
        font: var(--weight-semibold) 15px/1 var(--font-heading);
        letter-spacing: var(--tracking-brand);
        text-transform: uppercase;
        color: var(--rail-ink);
    }
    .spec-rail__lockup {
        flex: none;
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 16px 14px 14px;
    }
    .spec-rail__lockup-mark {
        flex: none;
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        border-radius: var(--radius-md);
        background: linear-gradient(150deg, var(--color-accent-400), var(--color-accent-600) 70%);
        color: #ffffff;
        box-shadow:
            inset 0 0 0 1px color-mix(in srgb, #ffffff 22%, transparent),
            0 8px 18px -8px color-mix(in srgb, #000000 70%, transparent);
    }
    .spec-rail__lockup-text {
        display: flex;
        flex-direction: column;
        min-width: 0;
        gap: 3px;
    }
    .spec-rail__lockup-brand {
        font: var(--weight-semibold) var(--text-2xs) / 1 var(--font-heading);
        letter-spacing: var(--tracking-brand);
        text-transform: uppercase;
        color: var(--rail-ink-faint);
    }
    .spec-rail__lockup-name {
        font: var(--weight-semibold) 20px/1 var(--font-heading);
        letter-spacing: 0.01em;
        color: var(--rail-ink);
    }
    .spec-rail__lockup-desc {
        font: var(--weight-regular) 11px/1.3 var(--font-body);
        color: var(--rail-ink-soft);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .spec-rail__lockup.is-entering {
        animation: spec-rail-enter var(--dur-slow) var(--ease-standard) both;
    }
    .spec-rail__module.is-entering {
        animation: spec-rail-enter calc(var(--dur-slow) * 1.5) var(--ease-standard) 40ms both;
    }
    @keyframes spec-rail-enter {
        from {
            opacity: 0;
            transform: translateY(5px);
        }
        to {
            opacity: 1;
            transform: none;
        }
    }
    .spec-rail__firm {
        font: var(--weight-semibold) 11.5px/1.35 var(--font-body);
        color: var(--rail-ink);
        margin-bottom: 7px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .spec-rail__nav {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-bottom: 10px;
    }
    .spec-rail__group {
        margin-top: 14px;
    }
    .spec-rail__band {
        padding: 6px 0;
    }
    .spec-rail__band + .spec-rail__band {
        border-top: 1px solid var(--rail-line);
    }
    .spec-rail__module {
        padding: 2px 0 8px;
    }
    .spec-rail__lead {
        margin-bottom: 4px;
    }
    .spec-rail__lead--companies {
        padding-top: 6px;
    }
    .spec-rail__scope {
        margin: 0 12px 8px;
        padding: 7px 10px;
        border: 1px solid var(--rail-line);
        background: var(--rail-wash);
    }
    .spec-rail__scope.is-unbound {
        border-style: dashed;
        background: transparent;
    }
    .spec-rail__scope-value {
        display: block;
        font: var(--weight-medium) var(--text-xs) / 1.35 var(--font-mono);
        color: var(--rail-ink);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .spec-rail__scope.is-unbound .spec-rail__scope-value {
        font-family: var(--font-body);
        font-size: 13px;
        font-weight: var(--weight-semibold);
    }
    .spec-rail__scope .spec-rail__group-reason {
        margin: 0;
        padding: 0;
    }
    .spec-rail__scope-value + .spec-rail__group-reason {
        margin-top: 3px;
    }
    .spec-rail__sequence {
        position: relative;
        padding: 2px 0;
    }
    .spec-rail__sequence--after,
    .spec-rail__library {
        margin-top: 6px;
        padding-top: 6px;
        border-top: 1px solid var(--rail-line);
    }
    .spec-rail__sequence[data-motif="ladder"]::before {
        content: "";
        position: absolute;
        left: calc(21px + var(--rail-link-inset));
        top: 17px;
        bottom: 17px;
        width: 1px;
        background: color-mix(in srgb, #ffffff 32%, transparent);
    }
    .spec-rail__sequence[data-motif="ladder"] > .spec-rail__row > .spec-rail__link {
        position: relative;
        padding-left: 36px;
    }
    .spec-rail__sequence[data-motif="ladder"] > .spec-rail__row > .spec-rail__link::before {
        content: "";
        position: absolute;
        left: 17px;
        top: 50%;
        width: 9px;
        height: 9px;
        margin-top: -4.5px;
        box-sizing: border-box;
        border-radius: 50%;
        border: 1.5px solid var(--rail-ink-faint);
        background: var(--spec-rail);
        transition: background-color var(--dur-base) var(--ease-standard),
                    border-color var(--dur-base) var(--ease-standard);
    }
    .spec-rail__sequence[data-motif="ladder"] > .spec-rail__row.is-reached > .spec-rail__link::before {
        border-color: var(--rail-mark);
        background: color-mix(in srgb, var(--rail-mark) 45%, var(--spec-rail));
    }
    .spec-rail__sequence[data-motif="ladder"] > .spec-rail__row.is-here > .spec-rail__link::before {
        border-color: var(--rail-mark);
        background: var(--rail-mark);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--rail-mark) 28%, transparent);
    }
    .spec-rail__sequence[data-motif="ladder"] .spec-rail__link.is-current {
        border-left-color: transparent;
    }
    .spec-rail__sequence[data-motif="ladder"] .spec-rail__children .spec-rail__link--secondary {
        padding-left: 48px;
    }
    .spec-rail__sequence[data-motif="walk"] .spec-rail__step {
        display: inline-grid;
        place-items: center;
        width: 19px;
        height: 19px;
        box-sizing: border-box;
        border-radius: 50%;
        border: 1px solid var(--rail-line);
        font-size: 11.5px;
        color: var(--rail-ink-soft);
        transition: background-color var(--dur-base) var(--ease-standard),
                    color var(--dur-base) var(--ease-standard);
    }
    .spec-rail__sequence[data-motif="walk"] .spec-rail__link:hover .spec-rail__step {
        border-color: var(--rail-ink-faint);
    }
    .spec-rail__sequence[data-motif="walk"] .spec-rail__link.is-current .spec-rail__step {
        border-color: var(--rail-mark);
        background: var(--rail-mark);
        color: var(--color-accent-900);
        font-weight: var(--weight-semibold);
    }
    .spec-rail__library .spec-rail__link:not(.spec-rail__link--secondary) {
        font-size: 13.5px;
        color: var(--rail-ink-soft);
    }
    .spec-rail__library .spec-rail__link:hover,
    .spec-rail__library .spec-rail__link.is-current {
        color: var(--rail-current-ink);
    }
    .spec-rail__band--firm {
        flex: none;
        max-height: 40%;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 10px 0 6px;
        border-top: 1px solid var(--rail-line);
        background: color-mix(in srgb, #000000 14%, transparent);
    }
    .spec-rail__group-label {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 var(--rail-gutter-x) 6px;
        font: var(--weight-semibold) var(--text-2xs) / 1 var(--font-heading);
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--rail-ink-faint);
    }
    .spec-rail__group-reason {
        margin: 0 0 6px;
        padding: 0 14px;
        font-size: 12.5px;
        line-height: 1.4;
        color: var(--rail-ink-faint);
        text-wrap: pretty;
    }
    .spec-rail__row {
        display: flex;
        align-items: stretch;
    }
    .spec-rail__link {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        align-items: center;
        gap: 8px;
        margin: 1px var(--rail-link-inset);
        padding: 5px calc(var(--rail-gutter-x) - var(--rail-link-inset)) 5px 8px;
        border: 0;
        border-left: 3px solid transparent;
        border-radius: 6px;
        background: transparent;
        color: var(--rail-ink);
        font: var(--weight-regular) var(--text-base) / 1.35 var(--font-body);
        text-align: left;
        text-decoration: none;
        cursor: pointer;
        transition: background-color var(--dur-fast) var(--ease-standard),
                    color var(--dur-fast) var(--ease-standard);
    }
    .spec-rail__link:hover {
        background: var(--rail-wash);
        color: var(--rail-ink);
    }
    .spec-rail__link.is-current {
        background: var(--rail-current-bg);
        border-left-color: var(--rail-mark);
        color: var(--rail-current-ink);
        font-weight: var(--weight-semibold);
    }
    .spec-rail__link.is-disabled {
        color: var(--rail-ink-faint);
        cursor: default;
    }
    .spec-rail__link--heading {
        cursor: pointer;
    }
    .spec-rail__link:focus-visible,
    .spec-rail__disclosure:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: -2px;
    }
    .spec-rail__link--secondary {
        padding-left: 25px;
        font-size: 13.5px;
        color: var(--rail-ink);
    }
    .spec-rail__link--secondary.is-current {
        color: var(--rail-current-ink);
    }
    .spec-rail__disclosure {
        flex: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: content-box;
        width: var(--rail-chevron-slot);
        padding: 0 var(--rail-gutter-x) 0 0;
        border: 0;
        background: transparent;
        color: var(--rail-ink-faint);
        cursor: pointer;
    }
    .spec-rail__disclosure:hover {
        background: var(--rail-wash);
        color: var(--rail-ink);
    }
    .spec-rail__chevron {
        flex: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--rail-chevron-slot);
        height: var(--rail-chevron-slot);
        font: var(--weight-regular) 13px/1 var(--font-body);
        transition: transform var(--dur-fast) var(--ease-standard);
    }
    .spec-rail__chevron.is-open {
        transform: rotate(90deg);
        transform-origin: center;
    }
    .spec-rail__link--heading .spec-rail__chevron {
        color: var(--rail-ink-faint);
    }
    .spec-rail__link-label {
        flex: 1;
        min-width: 0;
    }
    .spec-rail__step {
        flex: none;
        width: 1.25em;
        font: var(--weight-regular) var(--text-2xs) / 1 var(--font-mono);
        font-variant-numeric: tabular-nums;
        color: var(--rail-ink-faint);
    }
    .spec-rail__link.is-current .spec-rail__step {
        color: inherit;
    }
    .spec-rail__badge {
        font: var(--weight-regular) var(--text-2xs) / 1 var(--font-mono);
        padding: 2px 4px;
        border: 1px solid var(--color-neutral-300);
        background: var(--spec-surface);
        color: var(--color-neutral-700);
        white-space: nowrap;
    }
    .spec-rail__badge--locked {
        background: var(--color-neutral-200);
        color: var(--color-neutral-700);
    }
    .spec-rail__link.is-current .spec-rail__badge {
        border-color: var(--color-accent-300);
        background: var(--spec-surface);
        color: var(--color-accent-800);
    }
    .spec-rail__notice {
        margin: 10px;
        padding: 8px 9px;
        background: var(--stop-t);
        border: 1px solid var(--stop-b);
        border-left: 3px solid var(--stop);
    }
    .spec-rail__notice-label {
        font: var(--weight-semibold) 10px/1 var(--font-heading);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--stop);
    }
    .spec-rail__notice-body {
        font-size: 12.5px;
        line-height: 1.45;
        color: var(--color-neutral-800);
        margin-top: 5px;
    }
    .spec-rail__firm-logo {
        flex: none;
        margin: 10px var(--rail-gutter-x) 14px;
        padding: 8px 12px;
        border-radius: 8px;
        background: #ffffff;
    }
    .spec-rail__firm-logo img {
        display: block;
        max-width: 100%;
        max-height: 56px;
        margin: 0 auto;
        object-fit: contain;
    }
    .spec-rail__foot {
        flex: none;
        border-top: 1px solid var(--rail-line);
        background: color-mix(in srgb, #000000 14%, transparent);
        padding: 10px 14px;
        font-size: 12.5px;
        color: var(--rail-ink-soft);
    }
    a.spec-rail__foot-row {
        text-decoration: none;
        color: inherit;
    }
    a.spec-rail__foot-row:hover .spec-rail__foot-value {
        color: var(--rail-link);
    }
    .spec-rail__foot-row {
        display: flex;
        justify-content: space-between;
        gap: var(--sp-2);
    }
    .spec-rail__foot-row + .spec-rail__foot-row {
        margin-top: 3px;
    }
    .spec-rail__foot-value {
        font-weight: var(--weight-semibold);
        color: var(--rail-ink);
    }
    .spec-rail__foot-value--mono {
        font-family: var(--font-mono);
    }
    .spec-rail__foot-value--near-cap {
        color: var(--warn);
    }
    .spec-rail__meter {
        height: 3px;
        background: var(--rail-wash-strong);
        margin-top: 6px;
    }
    .spec-rail__meter-fill {
        height: 3px;
        background: var(--rail-mark);
    }
    .spec-rail__meter-fill--near-cap {
        background: var(--warn);
    }
    .spec-rail__foot-note {
        color: var(--rail-ink-soft);
    }
    .spec-topbar {
        display: flex;
        align-items: stretch;
        height: 48px;
        padding: 0 var(--gutter) 0 0;
        background: var(--spec-surface);
        border-bottom: 1px solid var(--color-divider);
        position: sticky;
        top: 0;
        z-index: var(--z-desk-chrome);
    }
    .spec-topbar__toggle {
        display: none;
        align-self: center;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 32px;
        height: 32px;
        margin-left: var(--sp-3);
        padding: 0;
        background: transparent;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-control);
        color: var(--spec-ink);
        cursor: pointer;
    }
    .spec-topbar__toggle:hover {
        background: var(--wash-ink-7);
    }
    .spec-topbar__toggle:focus-visible,
    .spec-topbar__all:focus-visible,
    .spec-account__button:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 1px;
    }
    .spec-topbar__start {
        display: flex;
        align-items: center;
        gap: var(--sp-3);
        flex: 1 1 auto;
        min-width: 0;
        padding-left: var(--gutter);
    }
    .spec-topbar__rule {
        flex: none;
        width: 1px;
        height: 14px;
        background: var(--color-divider);
    }
    .spec-topbar__title {
        display: inline-flex;
        align-items: center;
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
    }
    .spec-topbar__name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font: var(--weight-semibold) calc(var(--text-sm) + 1.5px) / 1.2 var(--font-body);
        color: var(--spec-ink);
        text-decoration: none;
    }
    .spec-topbar__name--link:hover {
        color: var(--color-accent-800);
        text-decoration: underline;
    }
    .spec-topbar__back {
        flex: none;
        font-size: calc(var(--text-sm) + 1.5px);
        color: var(--color-accent-700);
        text-decoration: none;
        white-space: nowrap;
    }
    .spec-topbar__back:hover {
        color: var(--color-accent-900);
    }
    .spec-topbar__usage {
        display: inline-flex;
        align-items: center;
        flex: none;
    }
    .spec-topbar__link {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font: var(--weight-semibold) calc(var(--text-sm) + 1.5px) / 1.2 var(--font-body);
        color: var(--mud-palette-primary, var(--color-accent-700));
        text-decoration: none;
        text-underline-offset: 3px;
    }
    .spec-topbar__link:hover {
        color: var(--color-accent-800);
        text-decoration: underline;
    }
    .spec-topbar__link--company {
        flex: 0 1 auto;
        margin-left: var(--sp-4);
    }
    .spec-topbar__switch {
        position: relative;
        display: inline-flex;
        align-items: center;
        flex: none;
        margin-left: 6px;
    }
    .spec-topbar__switch-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        padding: 0;
        border: 1px solid var(--color-accent-300);
        border-radius: var(--radius-control);
        background: var(--color-accent-100);
        color: var(--mud-palette-primary, var(--color-accent-700));
        cursor: pointer;
        transition: background-color 120ms ease, border-color 120ms ease;
    }
    .spec-topbar__switch-button:hover,
    .spec-topbar__switch.is-open .spec-topbar__switch-button {
        background: var(--color-accent-200);
        border-color: var(--color-accent-400);
    }
    .spec-topbar__switch-button svg {
        transition: transform 120ms ease;
    }
    .spec-topbar__switch.is-open .spec-topbar__switch-button svg {
        transform: rotate(180deg);
    }
    .spec-topbar__switch-button:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 1px;
    }
    .spec-topbar__switch-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1300;
    }
    .spec-topbar__switch-menu {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        z-index: 1301;
        display: flex;
        flex-direction: column;
        min-width: 200px;
        max-height: 60vh;
        overflow-y: auto;
        padding: 6px;
        border: 1px solid color-mix(in srgb, var(--color-text) 14%, transparent);
        border-radius: var(--radius-md);
        background: var(--mud-palette-surface, #fff);
        box-shadow: var(--shadow-lg);
    }
    .spec-topbar__switch-heading {
        padding: 4px 10px 6px;
        font: var(--weight-semibold) var(--text-xs) / 1.3 var(--font-body);
        letter-spacing: .04em;
        text-transform: uppercase;
        color: color-mix(in srgb, var(--color-text) 60%, transparent);
        white-space: nowrap;
    }
    .spec-topbar__switch-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--sp-3);
        width: 100%;
        padding: 8px 10px;
        border: 0;
        border-radius: var(--radius-control);
        background: transparent;
        color: var(--color-text);
        font: var(--weight-medium, 500) var(--text-sm) / 1.3 var(--font-body);
        text-align: left;
        white-space: nowrap;
        cursor: pointer;
    }
    .spec-topbar__switch-item:hover,
    .spec-topbar__switch-item:focus-visible {
        background: var(--wash-ink-7);
        outline: none;
    }
    .spec-topbar__switch-item.is-current {
        background: var(--color-accent-100);
        color: var(--mud-palette-primary, var(--color-accent-700));
        font-weight: var(--weight-semibold);
    }
    .spec-topbar__switch-check {
        flex: none;
    }
    .spec-topbar__end {
        margin-left: auto;
        display: flex;
        align-items: center;
        gap: 4px;
        padding-left: var(--sp-3);
    }
    .spec-topbar__all {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        height: 32px;
        padding: 0 10px;
        border: 1px solid transparent;
        color: var(--color-neutral-800);
        font: var(--weight-medium) var(--text-sm) / 1 var(--font-body);
        text-decoration: none;
        white-space: nowrap;
        transition: background-color var(--dur-fast) var(--ease-standard),
                    border-color var(--dur-fast) var(--ease-standard);
    }
    .spec-topbar__all:hover {
        background: var(--wash-ink-4);
        border-color: var(--color-neutral-300);
        color: var(--spec-ink);
    }
    .spec-topbar__all-icon {
        flex: none;
        color: var(--color-accent-600);
    }
    button.spec-topbar__all {
        background: transparent;
        cursor: pointer;
    }
    button.spec-topbar__all[aria-expanded="true"] {
        background: var(--wash-ink-4);
        border-color: var(--color-neutral-300);
    }
    .spec-modules .spec-menu__panel {
        min-width: 17rem;
    }
    a.spec-modules__item,
    span.spec-modules__item {
        display: grid;
        grid-template-columns: 16px minmax(0, 1fr);
        column-gap: 10px;
        row-gap: 1px;
        align-items: center;
        text-decoration: none;
    }
    .spec-modules__emblem {
        grid-row: span 2;
        color: var(--color-accent-600);
    }
    .spec-modules__name {
        font-weight: var(--weight-semibold);
    }
    .spec-modules__desc {
        grid-column: 2;
        font-size: var(--text-xs);
        color: var(--color-neutral-700);
        white-space: normal;
    }
    .spec-modules__item.is-closed .spec-modules__emblem,
    .spec-modules__item.is-closed .spec-modules__name,
    .spec-modules__item.is-closed .spec-modules__desc {
        color: var(--color-neutral-500);
    }
    .spec-modules__tag {
        display: inline-block;
        margin-left: 6px;
        padding: 0 6px;
        border: 1px solid var(--warn-b);
        border-radius: 999px;
        background: var(--warn-t);
        color: var(--color-neutral-900);
        font-size: 10.5px;
        font-weight: var(--weight-regular);
        line-height: 1.6;
        white-space: nowrap;
        vertical-align: 1px;
    }
    .spec-switcher {
        display: flex;
        align-items: stretch;
        min-width: 0;
        margin-bottom: -1px;
        padding-left: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }
    .spec-switcher::-webkit-scrollbar {
        display: none;
    }
    .spec-switcher__tab {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 0 14px;
        color: var(--color-neutral-700);
        font: var(--weight-semibold) var(--text-base) / 1 var(--font-body);
        text-decoration: none;
        white-space: nowrap;
        transition: color var(--dur-fast) var(--ease-standard),
                    background-color var(--dur-fast) var(--ease-standard);
    }
    .spec-switcher__tab::after {
        content: "";
        position: absolute;
        left: 10px;
        right: 10px;
        bottom: 0;
        height: 3px;
        background: var(--color-accent-600);
        transform: scaleX(0);
        transition: transform var(--dur-slow) var(--ease-standard);
    }
    .spec-switcher__tab:hover {
        color: var(--spec-ink);
        background: var(--wash-ink-4);
    }
    .spec-switcher__tab.is-current {
        color: var(--spec-ink);
    }
    .spec-switcher__tab.is-current::after {
        transform: scaleX(1);
    }
    .spec-switcher__tab:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: -4px;
    }
    .spec-account__button {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 38px;
        padding: 0 8px 0 5px;
        border: 1px solid transparent;
        border-radius: var(--radius-control);
        background: transparent;
        color: var(--spec-ink);
        font: var(--weight-medium) var(--text-base) / 1 var(--font-body);
        cursor: pointer;
        transition: background-color var(--dur-fast) var(--ease-standard),
                    border-color var(--dur-fast) var(--ease-standard);
    }
    .spec-account__button:hover,
    .spec-account__button[aria-expanded="true"] {
        background: var(--wash-ink-4);
        border-color: var(--color-neutral-300);
    }
    .spec-account__avatar {
        flex: none;
        display: grid;
        place-items: center;
        width: 28px;
        height: 28px;
        border: 1px solid var(--color-accent-300);
        background: var(--color-accent-100);
        color: var(--color-accent-800);
        font: var(--weight-semibold) 11px/1 var(--font-mono);
        letter-spacing: 0.04em;
    }
    .spec-account__name {
        max-width: 14rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .spec-account__panel {
        min-width: 17rem;
        padding: 0 0 4px;
    }
    .spec-account__who {
        display: flex;
        flex-direction: column;
        gap: 3px;
        padding: 11px 12px 10px;
        margin-bottom: 4px;
        border-bottom: 1px solid var(--color-divider);
        background: var(--color-neutral-100);
    }
    .spec-account__who-name {
        font: var(--weight-semibold) var(--text-base) / 1.3 var(--font-body);
        color: var(--spec-ink);
    }
    .spec-account__who-mail {
        font: var(--weight-regular) var(--text-sm) / 1.3 var(--font-mono);
        color: var(--color-neutral-700);
        overflow-wrap: anywhere;
    }
    .spec-account__who-role {
        font-size: var(--text-sm);
        color: var(--color-neutral-700);
    }
    .spec-account__panel a.spec-menu__item {
        text-decoration: none;
    }
    .spec-account__switch {
        margin: 0;
    }
    .spec-account__switch .spec-menu__item {
        width: 100%;
        border: 0;
        background: transparent;
        font: inherit;
        text-align: left;
        cursor: pointer;
    }
    .spec-account__signout {
        margin-top: 4px;
        border-top: 1px solid var(--color-divider);
    }
    .spec-bell__button {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        height: 32px;
        padding: 0 9px;
        border: 1px solid transparent;
        border-radius: var(--radius-control);
        background: transparent;
        color: var(--color-neutral-800);
        cursor: pointer;
        transition: background-color var(--dur-fast) var(--ease-standard),
                    border-color var(--dur-fast) var(--ease-standard);
    }
    .spec-bell__button:hover,
    .spec-bell__button[aria-expanded="true"] {
        background: var(--wash-ink-4);
        border-color: var(--color-neutral-300);
    }
    .spec-bell__button:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 1px;
    }
    .spec-bell__count {
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        display: inline-grid;
        place-items: center;
        border: 1px solid var(--color-neutral-400);
        background: var(--color-neutral-100);
        color: var(--color-neutral-800);
        font: var(--weight-semibold) var(--text-xs) / 1 var(--font-mono);
    }
    .spec-bell__button.is-unseen {
        color: var(--warn);
    }
    .spec-bell__button.is-unseen .spec-bell__count {
        border-color: var(--warn);
        background: var(--warn);
        color: var(--spec-on-dark);
    }
    .spec-bell__panel {
        width: min(26rem, calc(100vw - 2 * var(--gutter)));
        padding: 0;
    }
    .spec-bell__head {
        padding: 9px 12px;
        border-bottom: 1px solid var(--color-divider);
        background: var(--color-neutral-100);
        font: var(--weight-semibold) var(--text-2xs) / 1 var(--font-heading);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--color-neutral-700);
    }
    .spec-bell__item {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 11px 12px 11px 11px;
        border-left: 3px solid var(--tone, var(--color-neutral-400));
        background: var(--tone-tint, transparent);
    }
    .spec-bell__item + .spec-bell__item {
        border-top: 1px solid var(--color-divider);
    }
    .spec-bell__item--warn {
        --tone: var(--warn);
        --tone-tint: var(--warn-t);
    }
    .spec-bell__item--stop {
        --tone: var(--stop);
        --tone-tint: var(--stop-t);
    }
    .spec-bell__item--info {
        --tone: var(--color-accent);
    }
    .spec-bell__message {
        margin: 0;
        font-size: var(--text-sm);
        line-height: var(--leading-snug);
        color: var(--spec-ink);
    }
    .spec-bell__action {
        align-self: flex-start;
        font: var(--weight-semibold) var(--text-sm) / 1.2 var(--font-body);
        color: var(--color-accent-700);
    }
    @media (max-width: 959.95px) {
        .spec-topbar__toggle {
            display: inline-flex;
        }
    }
    @media (max-width: 959.95px) {
        .spec-switcher__tab {
            padding: 0 11px;
        }
        .spec-topbar__all-label {
            position: absolute;
            width: 1px;
            height: 1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            clip-path: inset(50%);
            white-space: nowrap;
        }
        .spec-account__name {
            display: none;
        }
        .spec-topbar__all {
            padding: 0 8px;
        }
    }
    .spec-study-head {
        padding: 14px var(--gutter) 0;
        background: var(--color-neutral-100);
        border-bottom: 1px solid var(--color-divider);
    }
    .spec-study-head:not(:has(.spec-ladder)) {
        padding-bottom: 12px;
    }
    .spec-study-head__row {
        display: flex;
        align-items: center;
        gap: var(--sp-4);
        flex-wrap: wrap;
    }
    .spec-study-head__back {
        background: none;
        border: 0;
        padding: 0;
        font-size: calc(var(--text-sm) + 1.5px);
        color: var(--color-accent-700);
        text-decoration: none;
        cursor: pointer;
        white-space: nowrap;
    }
    .spec-study-head__back:hover {
        color: var(--color-accent-900);
    }
    .spec-study-head__rule {
        width: 1px;
        height: 14px;
        background: var(--color-divider);
        flex: none;
    }
    .spec-study-head__client {
        display: inline-flex;
        align-items: baseline;
        flex: 0 1 auto;
        min-width: min(45%, 100%);
    }
    .spec-study-head__name {
        font: var(--weight-semibold) calc(var(--text-lg) + 1.5px) / 1 var(--font-heading);
        font-size: clamp(16.5px, 2.4vw, calc(var(--text-lg) + 1.5px));
        color: var(--spec-ink);
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 100%;
    }
    .spec-study-head__slot-label {
        flex: none;
        margin-right: 8px;
        font: var(--weight-semibold) calc(var(--text-2xs) + 1.5px) / 1 var(--font-heading);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--color-neutral-700);
        white-space: nowrap;
    }
    .spec-study-head__pills .spec-study-head__slot-label {
        margin-right: 0;
    }
    .spec-study-head__client--plain .client-switcher__trigger > span:first-child {
        font: var(--weight-semibold) calc(var(--text-sm) + 1.5px) / 1.2 var(--font-body);
        color: var(--mud-palette-primary, var(--color-accent-700));
    }
    .spec-study-head__client--plain .client-switcher__chevron {
        color: var(--mud-palette-primary, var(--color-accent-700));
    }
    .spec-study-head__name--link {
        text-decoration: none;
    }
    .spec-study-head__name--link:hover,
    .spec-study-head__name--link:focus-visible {
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .spec-study-head__ids {
        font: var(--weight-regular) 12.5px var(--font-mono);
        color: var(--color-neutral-700);
        white-space: nowrap;
    }
    .spec-study-head__pills {
        display: flex;
        gap: 6px;
        margin-left: auto;
        align-items: center;
        flex-wrap: wrap;
        min-width: 0;
    }
    .spec-study-head__pill-rule {
        width: 1px;
        height: 16px;
        margin: 0 3px;
        background: var(--color-divider);
        flex: none;
    }
    @media (max-width: 959.95px) {
        .spec-study-head__ids {
            display: none;
        }
        .spec-study-head__pills {
            margin-left: 0;
            width: 100%;
        }
    }
    .spec-pill {
        font: var(--weight-regular) calc(var(--text-xs) + 1.5px) / 1 var(--font-mono);
        padding: 4px 7px;
        border: 1px solid var(--color-neutral-400);
        background: var(--spec-surface);
        color: var(--spec-ink);
        white-space: nowrap;
    }
    .spec-pill--accent {
        border-color: var(--color-accent-400);
        background: var(--color-accent-100);
        color: var(--color-accent-800);
    }
    .spec-pill--ok {
        border-color: var(--ok-b);
        background: var(--ok-t);
        color: var(--ok);
    }
    .spec-pill--warn {
        font-family: var(--font-body);
        font-size: 14px;
        padding: 4px 8px;
        border-color: var(--warn-b);
        background: var(--warn-t);
        color: var(--warn);
    }
    .spec-pill--stop {
        font-family: var(--font-body);
        font-size: 14px;
        padding: 4px 8px;
        border-color: var(--stop-b);
        background: var(--stop-t);
        color: var(--stop);
    }
    select.spec-pill {
        appearance: none;
        -webkit-appearance: none;
        padding-right: 20px;
        max-width: min(var(--spec-study-select-max-width, 24rem), 100%);
        text-overflow: ellipsis;
        cursor: pointer;
        background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                          linear-gradient(135deg, currentColor 50%, transparent 50%);
        background-position: calc(100% - 11px) calc(50% + 1px), calc(100% - 7px) calc(50% + 1px);
        background-size: 4px 4px, 4px 4px;
        background-repeat: no-repeat;
    }
    select.spec-pill:hover {
        border-color: var(--color-accent-700);
    }
    .spec-pill--sentence {
        font-family: var(--font-body);
        font-size: 14px;
        padding: 4px 8px;
    }
    .spec-ladder {
        display: flex;
        gap: 0;
        margin-top: 14px;
        align-items: stretch;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
        background: var(--scroll-shadow-on-rail);
        background-color: var(--color-neutral-100);
    }
    .spec-ladder__step {
        position: relative;
        flex: 1 1 0;
        min-width: 124px;
        text-align: left;
        padding: 8px 12px 10px;
        background: transparent;
        border: 0;
        border-top: 3px solid var(--color-neutral-400);
        border-right: 1px solid var(--color-divider);
        color: var(--spec-ink);
        text-decoration: none;
        cursor: pointer;
        transition: background-color var(--dur-fast) var(--ease-standard);
    }
    .spec-ladder__step--wide {
        flex-grow: 1.6;
        min-width: 210px;
    }
    .spec-ladder__step:hover:not(.is-locked) {
        background: var(--wash-ink-4);
    }
    .spec-ladder__step.is-done {
        border-top-color: var(--ok);
    }
    .spec-ladder__step.is-current {
        background: var(--spec-surface);
        border-top-color: var(--color-accent);
    }
    .spec-ladder__step.is-warn {
        border-top-color: var(--warn);
    }
    .spec-ladder__step.is-available {
        border-top-color: var(--color-neutral-400);
    }
    .spec-ladder__step.is-locked {
        border-top-color: var(--color-neutral-300);
        cursor: not-allowed;
    }
    .spec-ladder__step.is-locked .spec-ladder__label {
        color: var(--color-neutral-600);
        font-weight: var(--weight-regular);
    }
    .spec-ladder__head {
        display: flex;
        align-items: center;
        gap: 6px;
    }
    .spec-ladder__num {
        font: var(--weight-regular) 11.5px/1 var(--font-mono);
        color: var(--color-neutral-600);
    }
    .spec-ladder__step.is-current .spec-ladder__num {
        color: var(--color-accent);
    }
    .spec-ladder__label {
        font: var(--weight-semibold) 13.5px/1.25 var(--font-heading);
        color: var(--spec-ink);
    }
    .spec-ladder__sub {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: calc(var(--text-xs) + 1.5px);
        line-height: 1.35;
        color: var(--color-neutral-700);
        margin-top: 3px;
        text-wrap: pretty;
    }
    .spec-ladder__sub--warn {
        color: var(--warn);
    }
    .spec-ladder__sub--stop {
        color: var(--stop);
    }
    .spec-ladder__step.is-locked .spec-ladder__sub {
        color: var(--color-neutral-700);
    }
    .spec-page-head {
        padding: 22px var(--gutter) 14px;
        border-bottom: 1px solid var(--color-divider);
    }
    .spec-page-head__row {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: var(--sp-4);
        flex-wrap: wrap;
    }
    .spec-page-head__eyebrow {
        font: var(--weight-semibold) var(--text-2xs) / 1 var(--font-heading);
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--color-neutral-600);
    }
    .spec-page-head__title {
        font-size: var(--text-2xl);
        margin: 6px 0 0;
    }
    .spec-page-head__aside {
        display: flex;
        gap: 12px;
        align-items: center;
        flex-wrap: wrap;
    }
    .spec-page-head__stat {
        text-align: right;
    }
    .spec-page-head__stat-label {
        font: var(--weight-regular) 10px/1 var(--font-body);
        letter-spacing: var(--tracking-wide);
        text-transform: uppercase;
        color: var(--color-neutral-600);
    }
    .spec-page-head__stat-value {
        font: var(--weight-semibold) 19px/1.1 var(--font-mono);
        margin-top: 3px;
        color: var(--spec-ink);
    }
    .spec-page-head__stat-value--near-cap {
        color: var(--warn);
    }
    .spec-page-head__stat-value--over-cap {
        color: var(--stop);
    }
    .spec-page-head__toolbar {
        display: flex;
        gap: 9px;
        align-items: center;
        margin-top: 16px;
        flex-wrap: wrap;
    }
    .spec-page-head__meta {
        font-size: var(--text-sm);
        color: var(--color-neutral-600);
        margin-left: auto;
        font-family: var(--font-mono);
    }
    .mud-drawer {
        border-right: 0;
        background: var(--color-neutral-100);
        box-shadow: none;
    }
    .mud-drawer .mud-drawer-content {
        background: var(--color-neutral-100);
    }
    .spec-shell .mud-main-content {
        padding-top: 0;
    }
    .spec-shell .mud-drawer-fixed {
        top: 0;
        height: 100%;
    }
    @media (max-height: 820px) {
        .spec-study-head {
            padding-top: var(--sp-2);
        }
        .spec-study-head__row {
            row-gap: var(--sp-2);
        }
        .spec-ladder {
            margin-top: var(--sp-2);
        }
        .spec-ladder__step {
            padding-top: 5px;
            padding-bottom: 6px;
        }
    }
}
/* components.css */
@layer spec.components {
    #main-content .mud-button-root,
    #main-content .mud-input,
    #main-content .mud-input-outlined-border,
    #main-content .mud-chip,
    #main-content .mud-alert,
    #main-content input,
    #main-content select,
    #main-content textarea,
    .spec-rail__badge,
    .spec-pill {
        border-radius: var(--radius-control);
    }
    #main-content .mud-card,
    #main-content .mud-paper,
    #main-content .mud-table,
    .mud-dialog,
    .mud-popover {
        border-radius: var(--radius-card);
    }
    #main-content .mud-button-group-root {
        border-radius: var(--radius-control);
        overflow: clip;
    }
    #main-content .mud-button-group-root > .mud-button-root {
        border-radius: 0;
    }
    #main-content .mud-button-group-root > .mud-button-root:focus-visible {
        outline-offset: calc(-1 * var(--spec-focus-width));
    }
    .page-container {
        padding: var(--gutter-y) var(--gutter) var(--sp-8);
        max-width: none;
    }
    #main-content .mud-button-root,
    .spec-btn {
        font-family: var(--font-heading);
        font-weight: var(--weight-semibold);
        font-size: var(--text-sm);
        line-height: 1.2;
        letter-spacing: 0;
        text-transform: none;
        min-height: var(--control-h-sm);
        padding: 6px 14px;
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-control);
        background: var(--spec-surface);
        color: var(--spec-ink);
        box-shadow: none;
        transition: background-color var(--dur-base) var(--ease-standard),
                    border-color var(--dur-base) var(--ease-standard),
                    color var(--dur-base) var(--ease-standard);
    }
    #main-content .mud-button-root:hover {
        background: var(--wash-ink-7);
        box-shadow: none;
    }
    #main-content .mud-button-root:active {
        background: var(--wash-ink-14);
    }
    #main-content .mud-button-filled.mud-button-filled-primary,
    .spec-btn--primary {
        background: var(--color-accent);
        border-color: var(--color-accent-700);
        color: var(--spec-on-accent);
        box-shadow: var(--shadow-sm);
    }
    #main-content .mud-button-filled.mud-button-filled-primary:hover {
        background: var(--color-accent-600);
    }
    #main-content .mud-button-filled.mud-button-filled-primary:active {
        background: var(--color-accent-700);
    }
    #main-content .mud-button-text {
        border-color: transparent;
        background: transparent;
        color: var(--color-accent-700);
        padding-inline: var(--sp-1);
    }
    #main-content .mud-button-text:hover {
        background: var(--wash-accent-10);
        color: var(--color-accent-900);
    }
    #main-content .mud-button-text:active {
        background: var(--wash-accent-18);
    }
    #main-content .mud-button-root.mud-button-outlined-error,
    #main-content .mud-button-root.mud-button-text-error {
        color: var(--stop);
        border-color: var(--stop-b);
    }
    #main-content .mud-button-root.mud-button-outlined-error:hover,
    #main-content .mud-button-root.mud-button-text-error:hover {
        background: var(--stop-t);
    }
    #main-content .mud-button-root:disabled,
    #main-content .mud-button-root.mud-disabled {
        color: var(--color-neutral-500);
        background: var(--color-neutral-200);
        border-color: var(--color-neutral-400);
        box-shadow: none;
    }
    #main-content .mud-button-text:disabled,
    #main-content .mud-button-text.mud-disabled {
        background: transparent;
        border-color: transparent;
    }
    #main-content .mud-icon-button:disabled,
    #main-content .mud-icon-button.mud-disabled {
        color: var(--color-neutral-500);
        background: transparent;
        border-color: transparent;
    }
    #main-content .mud-icon-button {
        min-width: var(--control-h-sm);
        width: var(--control-h-sm);
        height: var(--control-h-sm);
        padding: 0;
        border-color: transparent;
        background: transparent;
        color: var(--color-accent-700);
    }
    #main-content .mud-icon-button:hover {
        background: var(--wash-accent-10);
    }
    #main-content .mud-input-numeric-spin {
        width: 1.5rem;
        z-index: 1;
    }
    #main-content .mud-input-numeric-spin .mud-button-root {
        min-width: 0;
        min-height: 0;
        width: 100%;
        height: calc(var(--control-h) / 2);
        padding: 0;
        border: none;
        background: transparent;
        color: var(--color-accent-700);
    }
    #main-content .mud-input-numeric-spin .mud-button-root:hover {
        background: var(--wash-accent-10);
    }
    #main-content .mud-input-numeric-spin .mud-button-root:focus-visible {
        outline-offset: calc(-1 * var(--spec-focus-width));
    }
    #main-content .mud-input-numeric-spin .mud-icon-root {
        width: 14px;
        height: 14px;
        font-size: 15.5px;
    }
    #main-content .mud-input.mud-input-outlined {
        background: var(--spec-field);
        align-items: center;
        min-height: var(--control-h);
    }
    #main-content .mud-input.mud-input-outlined .mud-input-outlined-border {
        border-color: var(--color-neutral-400);
        border-width: 1px;
    }
    #main-content .mud-input.mud-input-outlined:hover .mud-input-outlined-border {
        border-color: color-mix(in srgb, var(--color-text) 45%, transparent);
    }
    #main-content .mud-input.mud-input-outlined.mud-input-focused .mud-input-outlined-border {
        border-color: var(--color-accent);
        border-width: 1px;
    }
    #main-content .mud-input-root,
    #main-content .mud-input-slot {
        font-family: var(--font-body);
        font-size: var(--text-base);
        font-weight: var(--weight-regular);
        line-height: var(--leading-snug);
        padding: 7px 10px;
        color: var(--spec-ink);
        caret-color: var(--color-accent);
    }
    #main-content .greek-date-field {
        margin: 0;
        width: 100%;
    }
    #main-content .greek-date-field .mud-input-slot {
        font-family: var(--font-mono);
    }
    #main-content .mud-input-adorned-start .mud-input-root {
        padding-left: 0;
    }
    #main-content .mud-input-adorned-end .mud-input-root {
        padding-right: 0;
    }
    #main-content .mud-input-control.mud-input-outlined-with-label {
        margin-top: 0;
    }
    #main-content .mud-input-control:has(> .mud-input-label-inputcontrol) {
        display: flex;
        flex-direction: column;
    }
    #main-content .mud-input-label.mud-input-label-inputcontrol {
        order: -1;
        position: static;
        transform: none;
        transform-origin: initial;
        display: block;
        max-width: 100%;
        margin-bottom: 5px;
        padding: 0;
        font-family: var(--font-body);
        font-size: 13.5px;
        font-weight: var(--weight-regular);
        line-height: 1.4;
        color: color-mix(in srgb, var(--color-text) 70%, transparent);
        pointer-events: auto;
    }
    #main-content .mud-input-label.mud-input-label-inputcontrol.mud-input-label-outlined {
        top: auto;
        left: auto;
    }
    #main-content .mud-input.mud-input-outlined .mud-input-outlined-border legend {
        display: none;
    }
    #main-content .mud-input.mud-input-outlined.mud-disabled {
        background: var(--color-neutral-200);
    }
    .spec-field {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }
    .spec-field__label {
        margin-bottom: 5px;
        font-family: var(--font-body);
        font-size: 13.5px;
        line-height: 1.4;
        color: color-mix(in srgb, var(--color-text) 70%, transparent);
    }
    .spec-field > .segmented {
        align-self: flex-start;
    }
    #main-content :not(.mud-input) > input.mud-input-root,
    #main-content :not(.mud-input) > select.mud-input-root {
        min-height: var(--control-h);
        height: var(--control-h);
        width: 100%;
        padding: 6px 10px;
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-control);
        background: var(--spec-field);
        color: var(--spec-ink);
        font: inherit;
        font-size: var(--text-sm);
        box-sizing: border-box;
    }
    #main-content .mud-table {
        background: var(--spec-surface);
        border: 1px solid var(--color-neutral-300);
        box-shadow: var(--shadow-card);
        overflow: clip;
    }
    #main-content .mud-table-head .mud-table-cell {
        height: auto;
        padding: 10px 12px;
        background: var(--color-neutral-100);
        color: var(--color-neutral-800);
        font-family: var(--font-heading);
        font-size: var(--text-xs);
        font-weight: var(--weight-semibold);
        line-height: 1;
        letter-spacing: var(--tracking-wide);
        text-transform: uppercase;
        border-bottom: 1px solid var(--color-neutral-300);
        white-space: nowrap;
    }
    #main-content .ledger-grid .mud-table-head .mud-table-cell {
        height: 30px;
        padding: 0 8px;
        background: var(--color-accent-900);
        color: var(--spec-on-dark);
        font-size: var(--text-2xs);
        letter-spacing: var(--tracking-caps);
        border-bottom: 0;
    }
    #main-content .ledger-grid.mud-table {
        border-color: var(--color-neutral-400);
    }
    #main-content .mud-table-head .mud-table-cell .mud-button-root.mud-table-sort-label,
    #main-content .mud-table-head .mud-table-cell .mud-table-sort-label .mud-icon-root {
        font: inherit;
        letter-spacing: inherit;
        text-transform: inherit;
        color: inherit;
        background: transparent;
        border: 0;
        min-height: 0;
        padding: 0;
    }
    #main-content .mud-table-body .mud-table-row {
        height: auto;
    }
    #main-content .mud-table-body .mud-button-root,
    #main-content .mud-table-body .mud-chip {
        margin: 0;
        min-height: 0;
        height: auto;
        vertical-align: middle;
    }
    #main-content .mud-table-body .mud-button-root {
        padding: 0 6px;
    }
    #main-content .mud-table-body .mud-table-cell {
        vertical-align: middle;
    }
    #main-content .mud-table-body .mud-table-cell > * {
        vertical-align: middle;
    }
    #main-content .mud-table-body .mud-chip {
        padding: 2px 8px;
        font-size: 12px;
    }
    #main-content .portfolio-table__name {
        display: block;
        line-height: var(--leading-snug);
    }
    #main-content .mud-table-body .mud-table-cell {
        height: auto;
        padding: 10px 12px;
        font-size: 14px;
        line-height: var(--leading-snug);
        border-bottom: 1px solid var(--color-divider);
        color: var(--spec-ink);
    }
    #main-content .ledger-grid .mud-table-body .mud-table-cell {
        padding: 7px 8px;
    }
    #main-content .mud-table-body .mud-table-row:last-child .mud-table-cell {
        border-bottom: 0;
    }
    #main-content .mud-table-body .mud-table-row:hover .mud-table-cell {
        background: var(--wash-ink-4);
    }
    #main-content .mud-table-foot .mud-table-cell {
        height: 34px;
        padding: 0 8px;
        border-top: 2px solid var(--color-accent-900);
        border-bottom: 0;
        background: var(--color-neutral-200);
        font-weight: var(--weight-semibold);
        font-size: 13.5px;
    }
    .ledger-totals__label {
        font: var(--weight-semibold) 10px/1 var(--font-heading);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
    }
    #main-content .mud-table-cell.mud-table-cell-align-right,
    .tabular-nums {
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
    }
    #main-content .mud-chip {
        height: auto;
        min-height: 0;
        padding: 3px 10px;
        font-family: var(--font-body);
        font-size: 12.5px;
        font-weight: var(--weight-regular);
        letter-spacing: 0.02em;
        background: var(--color-neutral-100);
        color: var(--spec-ink);
        border: 1px solid transparent;
        box-shadow: none;
    }
    #main-content .mud-chip.mud-chip-outlined {
        background: transparent;
        border-color: var(--color-accent);
        color: var(--color-accent-700);
    }
    #main-content .mud-chip.mud-chip-filled.mud-chip-color-primary {
        background: var(--color-accent-100);
        color: var(--color-accent-800);
    }
    #main-content .mud-chip.mud-chip-filled.mud-chip-color-success {
        background: var(--ok-t);
        color: var(--ok);
        border-color: var(--ok-b);
    }
    #main-content .mud-chip.mud-chip-filled.mud-chip-color-warning {
        background: var(--warn-t);
        color: var(--warn);
        border-color: var(--warn-b);
    }
    #main-content .mud-chip.mud-chip-filled.mud-chip-color-error {
        background: var(--stop-t);
        color: var(--stop);
        border-color: var(--stop-b);
    }
    #main-content .mud-card,
    #main-content .mud-paper,
    .surface-card,
    .signal-card,
    .kpi-stat,
    .health-score,
    .client-card,
    .placeholder-panel {
        background: var(--spec-surface);
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
    }
    #main-content :is(.mud-card, .mud-paper, .surface-card) .mud-paper:not(.mud-table) {
        box-shadow: none;
    }
    #main-content .mud-card-header {
        padding: var(--sp-4) var(--sp-4) 0;
    }
    #main-content .mud-card-content {
        padding: var(--sp-4);
    }
    .placeholder-panel {
        padding: var(--sp-6);
    }
    .placeholder-panel__icon {
        font-size: var(--sp-8);
        color: var(--color-neutral-600);
    }
    .placeholder-panel__reason {
        max-width: 36rem;
        text-wrap: pretty;
    }
    .signal-card {
        padding: var(--sp-3) var(--sp-4);
    }
    .section-title {
        font-family: var(--font-heading);
        font-weight: var(--weight-semibold);
        letter-spacing: var(--tracking-tight);
        margin-bottom: var(--sp-2);
    }
    .hint-chip {
        opacity: 0.72;
    }
    .kpi-stat,
    .client-card {
        min-height: 100%;
        transition: border-color var(--dur-base) var(--ease-standard);
    }
    .kpi-stat:hover,
    .client-card:hover {
        border-color: var(--color-neutral-400);
    }
    .kpi-stat__label {
        font-family: var(--font-heading);
        font-size: var(--text-2xs);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--color-neutral-700);
    }
    .kpi-stat__value {
        font-family: var(--font-mono);
        font-weight: var(--weight-semibold);
        letter-spacing: 0;
    }
    .kpi-stat__bar {
        height: 3px;
    }
    .kpi-stat__note {
        color: var(--color-neutral-700);
    }
    .health-score__gauge {
        position: relative;
        width: 88px;
        height: 88px;
        flex-shrink: 0;
    }
    .health-score__gauge .mud-progress-circular {
        width: 88px;
        height: 88px;
    }
    .health-score__reading {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--font-mono);
        font-weight: var(--weight-semibold);
    }
    .health-score__summary {
        max-width: 28rem;
        text-wrap: pretty;
    }
    .spec-note,
    #main-content .mud-alert {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 14px;
        background: var(--tone-tint, var(--color-neutral-100));
        border: 1px solid var(--tone-line, var(--color-divider));
        border-left: 3px solid var(--tone, var(--color-neutral-500));
        border-radius: var(--radius-control);
        color: var(--spec-ink);
        font-size: 13.5px;
        line-height: var(--leading-snug);
        box-shadow: none;
        flex-wrap: wrap;
    }
    .spec-note__label {
        font: var(--weight-semibold) var(--text-2xs) / 1 var(--font-heading);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        white-space: nowrap;
        color: var(--tone, var(--color-neutral-700));
    }
    .spec-note__value {
        font: var(--weight-semibold) 15px var(--font-mono);
        font-variant-numeric: tabular-nums;
        color: var(--tone, var(--spec-ink));
    }
    .spec-note__help {
        color: var(--color-neutral-800);
        min-width: 0;
        text-wrap: pretty;
    }
    .spec-note--ok,
    #main-content .mud-alert.mud-alert-text-success,
    #main-content .mud-alert.mud-alert-filled-success,
    #main-content .mud-alert.mud-alert-outlined-success {
        --tone: var(--ok);
        --tone-tint: var(--ok-t);
        --tone-line: var(--ok-b);
        color: var(--color-neutral-900);
    }
    .spec-note--warn,
    #main-content .mud-alert.mud-alert-text-warning,
    #main-content .mud-alert.mud-alert-filled-warning,
    #main-content .mud-alert.mud-alert-outlined-warning {
        --tone: var(--warn);
        --tone-tint: var(--warn-t);
        --tone-line: var(--warn-b);
        color: var(--color-neutral-900);
    }
    .spec-note--stop,
    #main-content .mud-alert.mud-alert-text-error,
    #main-content .mud-alert.mud-alert-filled-error,
    #main-content .mud-alert.mud-alert-outlined-error {
        --tone: var(--stop);
        --tone-tint: var(--stop-t);
        --tone-line: var(--stop-b);
        color: var(--color-neutral-900);
    }
    .spec-note--info,
    #main-content .mud-alert.mud-alert-text-info,
    #main-content .mud-alert.mud-alert-filled-info,
    #main-content .mud-alert.mud-alert-outlined-info {
        --tone: var(--color-accent);
        --tone-tint: var(--color-accent-100);
        --tone-line: var(--color-accent-300);
        color: var(--color-accent-900);
    }
    #main-content .mud-alert .mud-alert-icon {
        color: inherit;
        padding-right: var(--sp-2);
    }
    .spec-close {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 18px;
        align-items: start;
        max-width: 1060px;
    }
    @media (max-width: 959.95px) {
        .spec-close {
            grid-template-columns: minmax(0, 1fr);
        }
    }
    .is-neutral { --tone: var(--color-neutral-700); --tone-tint: var(--color-neutral-100); --tone-line: var(--color-divider); }
    .is-accent  { --tone: var(--color-accent-800);  --tone-tint: var(--color-accent-100);  --tone-line: var(--color-accent-300); }
    .is-ok      { --tone: var(--ok);                --tone-tint: var(--ok-t);              --tone-line: var(--ok-b); }
    .is-warn    { --tone: var(--warn);              --tone-tint: var(--warn-t);            --tone-line: var(--warn-b); }
    .is-stop    { --tone: var(--stop);              --tone-tint: var(--stop-t);            --tone-line: var(--stop-b); }
    .spec-panel {
        border: 1px solid var(--tone-line, var(--color-divider));
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        background: var(--spec-surface);
    }
    .spec-panel__head {
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 13px 16px;
        background: var(--tone-tint, var(--color-neutral-100));
        border-bottom: 1px solid var(--tone-line, var(--color-divider));
    }
    .spec-panel__kicker {
        font: var(--weight-semibold) 10px/1 var(--font-heading);
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--tone, var(--color-neutral-700));
    }
    .spec-panel__meta {
        margin-left: auto;
        font-family: var(--font-mono);
        font-size: 13.5px;
        color: var(--color-neutral-800);
    }
    .spec-panel__body {
        padding: 16px;
    }
    .spec-panel__title {
        font: var(--weight-semibold) 20px/1.25 var(--font-heading);
        color: var(--tone, var(--spec-ink));
    }
    .spec-panel__text {
        font-size: 14px;
        line-height: 1.6;
        margin-top: 7px;
        max-width: 620px;
        text-wrap: pretty;
    }
    .spec-panel__actions {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-top: 18px;
        flex-wrap: wrap;
    }
    .spec-panel__hint {
        margin-left: auto;
        font-size: var(--text-sm);
        color: var(--color-neutral-700);
    }
    #main-content .spec-panel__actions .mud-button-filled-primary {
        padding: 9px 18px;
        font-size: 14.5px;
    }
    .spec-refusal {
        padding: 10px 12px;
        margin-top: 7px;
        background: var(--stop-t);
        border: 1px solid var(--stop-b);
        border-left: 3px solid var(--stop);
    }
    .spec-refusal__code {
        font: var(--weight-regular) var(--text-xs) / 1 var(--font-mono);
        letter-spacing: 0.04em;
        color: var(--stop);
    }
    .spec-refusal__message {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 5px;
        text-wrap: pretty;
    }
    .spec-checklist {
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        background: var(--spec-surface);
        padding: 13px 15px;
    }
    .spec-checklist__title {
        font: var(--weight-semibold) 10px/1 var(--font-heading);
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--color-neutral-700);
    }
    .spec-checklist__row {
        display: grid;
        grid-template-columns: 16px minmax(0, 1fr);
        gap: 9px;
        align-items: start;
        padding: 8px 0;
        border-bottom: 1px dotted var(--color-divider);
    }
    .spec-checklist__row:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }
    .spec-checklist__glyph {
        font: var(--weight-regular) 12px/1.3 var(--font-mono);
        color: var(--tone, var(--color-neutral-700));
    }
    .spec-checklist__label {
        font-size: 13.5px;
        line-height: 1.35;
        color: var(--spec-ink);
    }
    .spec-checklist__row.is-warn .spec-checklist__label {
        font-weight: var(--weight-semibold);
        color: var(--tone);
    }
    .spec-checklist__note {
        font-size: 12.5px;
        line-height: 1.4;
        color: var(--color-neutral-700);
        margin-top: 2px;
        text-wrap: pretty;
    }
    .spec-callout {
        margin-top: 14px;
        padding: 13px 15px;
        border: 1px solid var(--color-accent-300);
        border-radius: var(--radius-control);
        background: var(--color-accent-100);
    }
    .spec-callout__title {
        font: var(--weight-semibold) 10px/1 var(--font-heading);
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--color-accent-800);
    }
    .spec-callout__body {
        font-size: 13.5px;
        line-height: 1.55;
        margin-top: 7px;
        color: var(--color-accent-900);
        text-wrap: pretty;
    }
    #main-content .spec-callout .mud-button-root {
        margin-top: 10px;
        padding: 7px 12px;
        background: transparent;
        border-color: var(--color-accent-600);
        color: var(--color-accent-800);
        font-size: 13.5px;
    }
    .segmented {
        display: inline-flex;
        min-width: 0;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-control);
        overflow: clip;
        background: var(--spec-surface);
    }
    .segmented > .mud-button-root,
    .segmented > a,
    .segmented > button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: var(--control-h-sm);
        padding: 5px 11px;
        font-family: var(--font-body);
        font-size: var(--text-sm);
        font-weight: var(--weight-regular);
        line-height: 1.2;
        letter-spacing: 0;
        text-transform: none;
        color: var(--color-neutral-700);
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
        transition: background-color var(--dur-base) var(--ease-standard),
                    color var(--dur-base) var(--ease-standard);
    }
    .segmented--dense > .mud-button-root,
    .segmented--dense > a,
    .segmented--dense > button {
        min-height: 24px;
        padding: 3px 9px;
        font-size: var(--text-xs);
    }
    .segmented > * + * {
        border-left: 1px solid var(--color-divider);
    }
    .segmented > :hover:not(:disabled):not([aria-disabled="true"]) {
        background: var(--wash-ink-7);
        color: var(--spec-ink);
    }
    .segmented > [aria-pressed="true"],
    .segmented > [aria-current="page"],
    .segmented > .is-current {
        background: var(--color-accent);
        color: var(--spec-on-accent);
        font-weight: var(--weight-semibold);
    }
    .segmented > [aria-pressed="true"]:hover,
    .segmented > [aria-current="page"]:hover,
    .segmented > .is-current:hover {
        background: var(--color-accent-600);
        color: var(--spec-on-accent);
    }
    .segmented > [aria-disabled="true"],
    .segmented > :disabled {
        color: var(--color-neutral-500);
        cursor: not-allowed;
    }
    .spec-menu {
        position: relative;
        display: inline-flex;
    }
    .spec-menu__button {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-height: var(--control-h-sm);
        padding: 5px 9px;
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-control);
        background: var(--spec-surface);
        color: var(--spec-ink);
        font-family: var(--font-heading);
        font-size: var(--text-sm);
        font-weight: var(--weight-semibold);
        line-height: 1.2;
        cursor: pointer;
        transition: background-color var(--dur-base) var(--ease-standard);
    }
    .spec-menu__button:hover,
    .spec-menu__button[aria-expanded="true"] {
        background: var(--wash-ink-7);
    }
    .spec-menu__button:active {
        background: var(--wash-ink-14);
    }
    .spec-menu__button:disabled {
        color: var(--color-neutral-500);
        background: var(--color-neutral-200);
        cursor: not-allowed;
    }
    .spec-menu__button:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 1px;
    }
    .spec-menu__icon {
        width: 16px;
        height: 16px;
    }
    .spec-menu__caret {
        width: 5px;
        height: 5px;
        margin: -3px 0 0 1px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
    }
    .spec-menu__scrim {
        position: fixed;
        inset: 0;
        z-index: 1150;
    }
    .spec-menu__panel {
        position: absolute;
        top: calc(100% + 3px);
        left: 0;
        z-index: 1151;
        min-width: 13rem;
        padding: 4px 0;
        background: var(--spec-surface);
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-md);
    }
    .spec-menu__panel--end {
        left: auto;
        right: 0;
    }
    .spec-menu__item {
        display: block;
        width: 100%;
        padding: 7px 12px;
        border: 0;
        background: transparent;
        color: var(--spec-ink);
        font: inherit;
        font-size: var(--text-sm);
        line-height: 1.3;
        text-align: left;
        white-space: nowrap;
        cursor: pointer;
    }
    .spec-menu__item:hover {
        background: var(--wash-ink-7);
    }
    .spec-menu__item--danger {
        color: var(--mud-palette-error, #b42318);
    }
    .spec-menu__item:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: -2px;
    }
    .spec-menu__item:disabled {
        color: var(--color-neutral-500);
        cursor: not-allowed;
    }
    .spec-menu__item[aria-disabled="true"] {
        cursor: not-allowed;
    }
    .spec-menu__item[aria-disabled="true"]:hover {
        background: transparent;
    }
    .spec-menu__rule {
        margin: 4px 0;
        border: 0;
        border-top: 1px solid var(--color-divider);
    }
    .lang-picker {
        position: relative;
    }
    .auth-panel__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .lang-picker__button {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px 8px;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-control);
        color: var(--spec-ink);
        font-size: var(--text-sm);
        cursor: pointer;
        list-style: none;
        user-select: none;
    }
    .lang-picker__button::-webkit-details-marker {
        display: none;
    }
    .lang-picker__code {
        font-weight: 600;
        letter-spacing: 0.04em;
    }
    .lang-picker__panel {
        position: absolute;
        inset-inline-end: 0;
        top: calc(100% + 4px);
        z-index: 1400;
        min-width: 12rem;
        max-height: min(70vh, 30rem);
        overflow-y: auto;
        padding: 4px 0;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        background: var(--spec-surface, #fff);
        box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
    }
    .lang-picker__item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 7px 12px;
        color: var(--spec-ink);
        font-size: var(--text-sm);
        text-decoration: none;
        white-space: nowrap;
    }
    .lang-picker__item:hover,
    .lang-picker__item:focus-visible {
        background: var(--wash-ink-7);
    }
    .lang-picker__item.is-chosen,
    .report-language-picker .spec-menu__item.is-chosen {
        background: var(--wash-ink-7);
        box-shadow: inset 3px 0 0 var(--spec-focus-ring);
    }
    .report-language-picker .spec-menu__panel {
        max-height: min(70vh, 30rem);
        overflow-y: auto;
    }
    .report-theme-picker .spec-menu__panel {
        min-width: 22rem;
        max-height: min(70vh, 34rem);
        overflow-y: auto;
    }
    .report-theme-picker__series {
        padding: 8px 12px 4px;
        color: var(--color-neutral-600);
        font-size: var(--text-xs);
        font-weight: 600;
        letter-spacing: 0.04em;
    }
    .report-theme-picker__item {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        white-space: normal;
        text-align: left;
    }
    .report-theme-picker__item.is-chosen {
        background: var(--wash-ink-7);
        box-shadow: inset 3px 0 0 var(--spec-focus-ring);
    }
    .report-theme-picker__swatches {
        display: inline-flex;
        flex: none;
        border: 1px solid var(--color-neutral-400);
        border-radius: 3px;
        overflow: hidden;
    }
    .report-theme-picker__swatches i {
        display: block;
        width: 12px;
        height: 22px;
    }
    .report-theme-picker__text {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }
    .report-theme-picker__name {
        font-weight: 600;
    }
    .report-theme-picker__tag {
        margin-left: 6px;
        padding: 0 5px;
        border: 1px solid var(--color-neutral-400);
        border-radius: 3px;
        color: var(--color-neutral-600);
        font-size: var(--text-xs);
        font-weight: 400;
    }
    .report-theme-picker__line {
        color: var(--color-neutral-600);
        font-size: var(--text-xs);
    }
    .page-header {
        width: auto;
        margin: calc(-1 * var(--gutter-y)) calc(-1 * var(--gutter)) var(--sp-6);
        padding: 24px var(--gutter) 16px;
        border-bottom: 1px solid var(--color-divider);
        scroll-margin-top: var(--sp-8);
    }
    .page-header__band {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        flex-wrap: wrap;
        gap: var(--sp-3);
    }
    .page-header--actions-beside .page-header__band {
        justify-content: flex-start;
        column-gap: var(--sp-8);
    }
    .page-header__identity {
        min-width: 0;
    }
    .page-header__toolbar {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 9px;
        margin-top: 16px;
        min-width: 0;
    }
    .page-header__meta {
        margin-left: auto;
        font-family: var(--font-mono);
        font-size: var(--text-sm);
        color: var(--color-neutral-700);
        white-space: nowrap;
    }
    .page-header__eyebrow {
        display: block;
        font-family: var(--font-heading);
        font-size: var(--text-2xs);
        font-weight: var(--weight-semibold);
        line-height: 1;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--color-neutral-700);
        margin-bottom: 6px;
    }
    .page-header__title {
        font-family: var(--font-heading);
        font-size: var(--text-2xl);
        font-weight: var(--weight-semibold);
        line-height: var(--leading-tight);
        letter-spacing: var(--tracking-tight);
        text-wrap: pretty;
    }
    .spec-study-head ~ .page-container .page-header__title,
    .page-header__title--console {
        font-size: var(--text-xl);
    }
    .page-header__subtitle {
        font-size: var(--text-sm);
        color: var(--color-neutral-700);
        margin-top: 3px;
    }
    .page-header__subtitle a {
        color: var(--color-accent-700);
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .page-header__subtitle a:hover {
        color: var(--color-accent-800, var(--color-accent-700));
    }
    .page-header__chart {
        font-family: var(--font-mono);
        letter-spacing: 0.04em;
        color: var(--spec-ink);
    }
    .page-header__title-row {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: var(--sp-3);
    }
    .page-header__title-addon a {
        font-size: var(--text-base);
        color: var(--color-accent-700);
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .page-header__title-addon a:hover {
        color: var(--color-accent-800, var(--color-accent-700));
    }
    .page-header__state {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 9px;
        min-width: 0;
    }
    .empty-state {
        color: var(--color-neutral-700);
        padding: var(--sp-8) var(--sp-4);
        text-align: center;
        border: 1px dashed var(--color-neutral-400);
        border-radius: var(--radius-card);
    }
    .empty-state__icon {
        font-size: var(--sp-8);
        opacity: 0.4;
        margin-bottom: var(--sp-3);
    }
    .empty-state__description {
        max-width: 22rem;
        text-wrap: pretty;
    }
    .empty-state__action {
        margin-top: var(--sp-4);
    }
    .empty-state__action a,
    .page-back-link {
        text-decoration: underline;
        text-underline-offset: 0.15em;
    }
    .page-back-link {
        font-size: 14.5px;
    }
    .page-title-links {
        display: inline-flex;
        flex-wrap: wrap;
        gap: var(--sp-4);
        margin-left: var(--sp-6);
        font-size: 15px;
    }
    .page-header__title-addon .page-title-links a {
        text-decoration: underline;
        text-decoration-skip-ink: none;
        text-underline-offset: 0.15em;
    }
    .auth-shell {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--color-bg);
        padding:
            max(var(--sp-8), env(safe-area-inset-top))
            max(var(--sp-4), env(safe-area-inset-right))
            max(var(--sp-8), env(safe-area-inset-bottom))
            max(var(--sp-4), env(safe-area-inset-left));
    }
    .auth-panel {
        width: 100%;
        max-width: 420px;
        background: var(--spec-surface);
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        padding: var(--sp-8) var(--sp-6);
    }
    .auth-panel-inner {
        width: 100%;
    }
    .auth-brand-eyebrow {
        display: block;
        margin-bottom: var(--sp-6);
        font-family: var(--font-heading);
        font-size: 16.5px;
        font-weight: var(--weight-semibold);
        letter-spacing: var(--tracking-brand);
        text-transform: uppercase;
        color: var(--spec-ink);
    }
    .login-remember {
        display: flex;
        align-items: flex-start;
        gap: var(--sp-2);
        cursor: pointer;
        font-size: var(--text-sm);
        color: var(--spec-ink);
    }
    .login-remember input {
        margin: 3px 0 0;
        width: 16px;
        height: 16px;
        flex: none;
        accent-color: var(--spec-accent, currentColor);
        cursor: pointer;
    }
    .login-remember__label {
        display: block;
    }
    .login-forgot {
        align-self: flex-end;
        font-size: var(--text-sm);
        color: var(--spec-accent, currentColor);
        text-decoration: none;
    }
    .login-forgot:hover,
    .login-forgot:focus-visible {
        text-decoration: underline;
    }
    .auth-footnote {
        font-size: var(--text-xs);
        color: var(--spec-ink-faint);
        text-align: center;
    }
    .auth-shell--document {
        align-items: flex-start;
    }
    .auth-panel--document {
        max-width: 760px;
    }
    .legal-doc {
        font-size: var(--text-base);
        line-height: 1.6;
        color: var(--spec-ink);
    }
    .legal-doc__title {
        margin: 0 0 var(--sp-1);
        font-family: var(--font-heading);
        font-size: var(--text-2xl);
        font-weight: var(--weight-semibold);
    }
    .legal-doc__version {
        margin: 0 0 var(--sp-4);
        font-size: var(--text-xs);
        color: var(--spec-ink-faint);
    }
    .legal-doc h2 {
        margin: var(--sp-6) 0 var(--sp-2);
        font-family: var(--font-heading);
        font-size: var(--text-lg);
        font-weight: var(--weight-semibold);
    }
    .legal-doc p {
        margin: 0 0 var(--sp-3);
        text-wrap: pretty;
    }
    .legal-doc ul {
        margin: 0 0 var(--sp-3);
        padding-left: var(--sp-6);
    }
    .legal-doc li + li {
        margin-top: var(--sp-2);
    }
    .legal-doc__foot {
        margin-top: var(--sp-8);
    }
    .admin-summary {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: var(--sp-3);
    }
    .admin-summary__cell {
        min-width: 0;
    }
    .admin-summary__label {
        display: block;
        font-family: var(--font-heading);
        font-size: var(--text-2xs);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--color-neutral-700);
        margin-bottom: var(--sp-1);
    }
    .admin-summary__value {
        font-weight: var(--weight-semibold);
    }
    .admin-summary__value--mono {
        font-family: var(--font-mono);
        font-size: var(--text-sm);
        word-break: break-all;
    }
    .admin-section-heading {
        font-family: var(--font-heading);
        font-weight: var(--weight-semibold);
        letter-spacing: var(--tracking-tight);
    }
    .admin-detail-grid {
        align-items: stretch;
    }
    .feature-key-chip {
        font-family: var(--font-mono);
        font-size: 12.5px;
    }
    .client-card-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: var(--sp-4);
    }
    .client-card {
        padding: var(--sp-4);
        height: 100%;
        display: flex;
        flex-direction: column;
        gap: var(--sp-3);
    }
    .client-card__name {
        font-family: var(--font-heading);
        font-weight: var(--weight-semibold);
        line-height: var(--leading-snug);
        overflow-wrap: anywhere;
    }
    .client-card__meta {
        color: var(--color-neutral-700);
        font-size: var(--text-sm);
    }
    .client-card__actions {
        margin-top: auto;
        padding-top: var(--sp-2);
    }
    .client-card__open {
        min-height: var(--control-h-sm);
        touch-action: manipulation;
    }
    .workspace-search {
        max-width: 420px;
    }
    .portfolio-table {
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        background: var(--spec-surface);
        overflow: hidden;
    }
    .portfolio-table .mud-table-cell {
        vertical-align: middle;
    }
    .portfolio-table .mud-table-cell:last-child {
        white-space: nowrap;
    }
    .portfolio-table__name {
        display: block;
        max-width: 22rem;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: var(--weight-semibold);
        color: var(--spec-ink);
        transition: color var(--dur-fast) var(--ease-standard);
    }
    .portfolio-table__name:hover,
    .portfolio-table__name:focus-visible {
        color: var(--color-accent-700);
    }
    .client-home {
        display: flex;
        flex-direction: column;
        gap: var(--sp-4);
    }
    .client-home__facts {
        display: flex;
        flex-wrap: wrap;
        gap: var(--sp-1) var(--sp-4);
        color: var(--color-neutral-700);
        font-size: var(--text-sm);
    }
    .client-home__picker {
        max-width: 28rem;
    }
    .client-home__empty {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--sp-3) var(--sp-4);
    }
    .client-home__empty p,
    .client-home__empty-copy {
        margin: 0;
        color: var(--spec-ink);
    }
    .client-home__desk {
        border: 1px solid var(--color-divider);
    }
    .client-home__studies {
        margin-top: var(--sp-4);
    }
    .client-study-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--sp-4);
        padding: var(--sp-3) var(--sp-4);
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        background: var(--spec-surface);
        transition: border-color var(--dur-base) var(--ease-standard);
    }
    .client-study-row:hover {
        border-color: var(--color-neutral-400);
    }
    .client-study-row__facts {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }
    @media (max-width: 599.95px) {
        .client-study-row {
            flex-wrap: wrap;
            gap: var(--sp-2);
        }
    }
    .isozygio-level-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--sp-3);
        min-width: 0;
    }
    .isozygio-level-filter__label {
        font-size: var(--text-xs);
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--color-neutral-700);
    }
    .isozygio-level-filter__link {
        justify-content: center;
        min-width: var(--control-h-sm);
    }
    button.isozygio-level-filter__link {
        font: inherit;
    }
    .isozygio-level-filter .segmented__cell {
        height: 26px;
        min-height: 26px;
        min-width: 26px;
        padding-inline: 8px;
        font-size: 12px;
    }
    .isozygio-totals-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: var(--sp-2) var(--sp-4);
        min-width: 0;
        margin-bottom: var(--sp-2);
        color: var(--color-neutral-700);
        font-size: var(--text-sm);
        font-family: var(--font-mono);
    }
    .isozygio-totals-bar__difference.is-imbalanced {
        color: var(--stop);
        font-weight: var(--weight-semibold);
    }
    .desk-amount--out-of-tolerance {
        color: var(--stop);
        font-weight: var(--weight-semibold);
    }
    .finding-row:last-child {
        border-bottom: none;
    }
    .account-lookup {
        min-width: 0;
        max-width: 100%;
    }
    .account-lookup--code,
    .account-lookup--code .account-lookup__field,
    .account-lookup--code .mud-input-control,
    .account-lookup--code .mud-input {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .account-lookup__option {
        display: flex;
        gap: var(--sp-2);
        min-width: 0;
    }
    .account-lookup__option-code {
        flex: 0 0 auto;
        font-family: var(--font-mono);
    }
    .account-lookup__option-name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .desk-toolbar,
    .mud-card-content > .mud-grid.align-items-end,
    .mud-card-content > .mud-grid:has(.project-selector, .ops-study-select):has(.mud-button-root) {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }
    .desk-toolbar > :has(.project-selector, .ops-study-select) {
        flex-grow: 0;
        flex-basis: var(--spec-study-select-max-width);
        max-width: var(--spec-study-select-max-width);
        width: 100%;
        min-width: 0;
    }
    .desk-toolbar__grow {
        flex: 1 1 14rem;
        min-width: 12rem;
    }
    .desk-toolbar__code {
        flex: 0 1 11rem;
        width: 11rem;
        min-width: 9rem;
    }
    .desk-toolbar .mud-input > input.mud-input-root-outlined,
    .desk-toolbar textarea.mud-input-slot,
    .desk-toolbar textarea.mud-input-root-outlined {
        min-height: var(--control-h);
        height: var(--control-h);
        resize: none;
        overflow: hidden;
        line-height: calc(var(--control-h) - 2px);
    }
    .desk-toolbar .mud-input-control,
    .mud-card-content > .mud-grid.align-items-end .mud-input-control,
    .mud-card-content > .mud-grid:has(.project-selector, .ops-study-select):has(.mud-button-root) .mud-input-control {
        margin-top: var(--sp-2);
        margin-bottom: var(--sp-1);
    }
    @media (min-width: 600px) {
        .desk-toolbar > .mud-grid-item,
        .mud-card-content > .mud-grid.align-items-end > .mud-grid-item,
        .mud-card-content > .mud-grid:has(.project-selector, .ops-study-select):has(.mud-button-root) > .mud-grid-item {
            flex-grow: 0;
            flex-basis: auto;
            max-width: none;
            width: auto;
            min-width: 0;
        }
        .desk-toolbar > .mud-grid-item:has(.project-selector, .ops-study-select),
        .mud-card-content > .mud-grid.align-items-end > .mud-grid-item:has(.project-selector, .ops-study-select),
        .mud-card-content > .mud-grid:has(.project-selector, .ops-study-select):has(.mud-button-root) > .mud-grid-item:has(.project-selector, .ops-study-select) {
            flex: 0 1 var(--spec-study-select-max-width);
            max-width: var(--spec-study-select-max-width);
        }
    }
    .project-selector,
    .ops-study-select {
        display: flex;
        flex-direction: column;
        gap: var(--sp-1);
        width: 100%;
        max-width: var(--spec-study-select-max-width);
        min-width: 0;
    }
    .ops-study-select__label {
        color: var(--spec-ink);
        font-size: 13.5px;
    }
    .project-selector .mud-input-control,
    .ops-study-select .mud-input-control {
        max-width: 100%;
        margin-top: 0;
        margin-bottom: 0;
    }
    #main-content .mud-input-control {
        margin-top: var(--sp-1);
        margin-bottom: var(--sp-1);
    }
    #main-content .mud-input-control.mud-input-outlined-with-label {
        margin-top: var(--sp-2);
        margin-bottom: var(--sp-1);
    }
    #main-content .mud-tabs-tabbar {
        margin-bottom: var(--sp-4);
        border-bottom: 1px solid var(--color-divider);
        background: transparent;
    }
    #main-content .mud-tabs-tabbar .mud-tabs-tabbar-inner {
        min-height: var(--control-h);
    }
    #main-content .mud-tab {
        width: auto;
        min-width: 0;
        min-height: var(--control-h);
        padding: var(--sp-2) var(--sp-3);
        font-family: var(--font-heading);
        font-size: 13.5px;
        font-weight: var(--weight-semibold);
        line-height: 1.25;
        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;
        color: var(--color-neutral-700);
    }
    #main-content .mud-tab.mud-tab-active {
        color: var(--color-accent-900);
    }
    #main-content .mud-tabs .mud-tab-slider {
        background: var(--color-accent);
    }
    #main-content .mud-tab .mud-tab-icon-text {
        font-size: 1rem;
        width: 1rem;
        height: 1rem;
    }
    #main-content .mud-tab .mud-tab-badge.mud-badge-root {
        display: inline-flex;
        align-items: center;
        position: static;
        width: auto;
        height: auto;
        margin-inline-start: var(--sp-1);
    }
    #main-content .mud-tab .mud-tab-badge .mud-badge-wrapper {
        position: static;
        width: auto;
        height: auto;
        pointer-events: auto;
    }
    #main-content .mud-tab .mud-tab-badge .mud-badge {
        position: static;
        inset: auto;
        font-family: var(--font-mono);
        font-size: 11.5px;
        font-variant-numeric: tabular-nums;
    }
    #main-content .mud-grid.align-items-end > .mud-grid-item {
        display: flex;
        align-items: flex-end;
        min-width: 0;
    }
    #main-content .mud-grid.align-items-end > .mud-grid-item .mud-input-control {
        margin-bottom: 0;
    }
    #main-content .mud-grid.align-items-end .mud-button-root,
    #main-content .mud-grid .d-flex.align-end .mud-button-root,
    #main-content .mud-grid .d-flex.gap-2 .mud-button-root,
    #main-content .desk-toolbar .mud-button-root {
        height: var(--control-h);
        min-height: var(--control-h);
        box-sizing: border-box;
    }
    .file-upload-field {
        display: flex;
        flex-direction: column;
        gap: var(--sp-1);
        min-width: 0;
        width: 100%;
    }
    .file-upload-field__label {
        color: var(--spec-ink);
        font-size: 13.5px;
    }
    .file-upload-field__hint {
        color: var(--color-neutral-700);
        font-size: 12.5px;
    }
    .file-upload-field__row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--sp-2);
        min-width: 0;
    }
    .file-upload-field__picker {
        position: relative;
        display: inline-flex;
        margin: 0;
        cursor: pointer;
        touch-action: manipulation;
    }
    .file-upload-field__picker.is-disabled {
        cursor: not-allowed;
        pointer-events: none;
    }
    .file-upload-field__input {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }
    .file-upload-field__button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: var(--control-h-sm);
        padding: 6px 11px;
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-control);
        background: var(--spec-surface);
        color: var(--spec-ink);
        font-family: var(--font-heading);
        font-size: var(--text-sm);
        font-weight: var(--weight-semibold);
        line-height: 1.2;
        cursor: pointer;
        transition: background-color var(--dur-base) var(--ease-standard);
    }
    .file-upload-field__picker:hover:not(.is-disabled) .file-upload-field__button {
        background: var(--wash-ink-7);
    }
    .file-upload-field__picker:focus-within .file-upload-field__button {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 2px;
    }
    .file-upload-field__picker.is-disabled .file-upload-field__button {
        color: var(--color-neutral-500);
        background: var(--color-neutral-200);
        border-color: var(--color-neutral-400);
        cursor: not-allowed;
    }
    .file-upload-field__chip,
    .file-upload-field__empty {
        min-width: 0;
        max-width: 16rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .file-upload-field__chip {
        display: inline-flex;
        align-items: center;
        min-height: var(--control-h-sm);
        padding: 3px 10px;
        border: 1px solid var(--color-accent-300);
        border-radius: var(--radius-control);
        background: var(--color-accent-100);
        color: var(--color-accent-800);
        font-size: 12.5px;
        font-family: var(--font-mono);
    }
    .file-upload-field__empty {
        color: var(--color-neutral-700);
        font-size: var(--text-sm);
    }
    .report-desk {
        display: grid;
        grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
        gap: var(--sp-4);
        align-items: start;
    }
    @media (max-width: 959.95px) {
        .report-desk {
            grid-template-columns: minmax(0, 1fr);
        }
        .report-catalog {
            max-height: 22rem;
            overflow-y: auto;
            overscroll-behavior-y: contain;
        }
    }
    .report-catalog {
        min-width: 0;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        background: var(--spec-surface);
        overflow: hidden;
    }
    .report-catalog__group + .report-catalog__group {
        border-top: 1px solid var(--color-divider);
    }
    .report-catalog__title {
        margin: 0;
        padding: var(--sp-2) var(--sp-3) var(--sp-1);
        font-family: var(--font-heading);
        font-size: var(--text-2xs);
        font-weight: var(--weight-semibold);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--color-neutral-700);
    }
    .report-catalog__list {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .report-catalog__item {
        display: block;
        width: 100%;
        min-width: 0;
        min-height: var(--tap-target);
        padding: var(--sp-2) var(--sp-3);
        border: 0;
        border-top: 1px solid var(--color-divider);
        border-left: 3px solid transparent;
        background: transparent;
        color: var(--spec-ink);
        font: inherit;
        text-align: left;
        cursor: pointer;
        touch-action: manipulation;
        transition: background-color var(--dur-fast) var(--ease-standard);
    }
    .report-catalog__item:hover:not(:disabled) {
        background: var(--wash-ink-4);
    }
    .report-catalog__item.is-selected {
        background: var(--color-accent-100);
        border-left-color: var(--color-accent);
        color: var(--color-accent-900);
    }
    .report-catalog__item:disabled {
        cursor: not-allowed;
        color: var(--color-neutral-500);
    }
    .report-catalog__name {
        display: block;
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .report-catalog__reason {
        display: block;
        margin-top: var(--sp-1);
        color: var(--color-neutral-700);
        font-size: 12.5px;
        text-wrap: pretty;
    }
    .report-preview {
        min-width: 0;
    }
    .report-preview__sheet {
        overflow-x: auto;
        overscroll-behavior-x: contain;
    }
    .report-preview__grid.mud-table-dense .mud-table-row,
    .report-preview__grid .mud-table-row {
        height: auto;
    }
    .report-preview__grid.mud-table-dense .mud-table-cell,
    .report-preview__grid .mud-table-cell {
        height: auto;
        min-height: 2rem;
        padding-top: var(--sp-1);
        padding-bottom: var(--sp-1);
        vertical-align: top;
        white-space: normal;
        overflow: visible;
        line-height: var(--leading-snug);
    }
    .report-preview__cell--number {
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .report-preview__cell--label {
        display: block;
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .report-preview__cell--section {
        font-weight: var(--weight-semibold);
    }
    .report-preview__cell--not-computable {
        display: block;
        font-style: italic;
        color: var(--color-neutral-600);
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .finan-chart {
        margin: 0;
    }
    .finan-chart__caption {
        margin-bottom: var(--sp-2);
    }
    .finan-chart__plot {
        width: 100%;
        height: auto;
        overflow: visible;
    }
    .finan-chart__grid {
        stroke: var(--color-neutral-300);
        stroke-width: 1;
        opacity: 0.75;
    }
    .finan-chart__axis {
        stroke: var(--color-neutral-400);
        stroke-width: 1;
    }
    .finan-chart__line {
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .finan-chart__marker {
        stroke: var(--spec-surface);
        stroke-width: 2;
    }
    .finan-chart__series-label,
    .finan-chart__tick {
        font-family: var(--font-mono);
        font-size: 11.5px;
        fill: var(--color-neutral-600);
    }
    .finan-chart__series-label {
        dominant-baseline: middle;
    }
    .finan-chart__legend {
        display: flex;
        flex-wrap: wrap;
        gap: var(--sp-1) var(--sp-4);
        list-style: none;
        margin: var(--sp-2) 0 0;
        padding: 0;
        font-size: var(--text-sm);
        color: var(--color-neutral-700);
    }
    .finan-chart__legend li {
        display: flex;
        align-items: center;
        gap: var(--sp-1);
    }
    .finan-chart__swatch {
        width: 10px;
        height: 10px;
        display: inline-block;
    }
    .finan-chart__table {
        margin-top: var(--sp-3);
        font-size: var(--text-sm);
    }
    .finan-chart__table summary {
        cursor: pointer;
        color: var(--color-neutral-700);
    }
    #main-content .mud-input-control.is-dirty .mud-input-outlined-border,
    #main-content .mud-input.is-dirty .mud-input-outlined-border {
        border-color: var(--color-accent-500);
    }
    #main-content .is-dirty .mud-input,
    #main-content .mud-input.is-dirty {
        background: var(--color-accent-100);
    }
    input.is-dirty,
    select.is-dirty,
    textarea.is-dirty {
        border-color: var(--color-accent-500);
        background: var(--color-accent-100);
    }
    td.is-dirty,
    #main-content .mud-table-body .mud-table-cell.is-dirty {
        background: var(--color-accent-100);
        box-shadow: inset 2px 0 0 var(--color-accent-500);
    }
    .spec-field-mark {
        border-left: 2px solid var(--color-accent-500);
        padding-left: 7px;
    }
    .spec-save-state {
        display: inline-block;
        font: var(--weight-regular) var(--text-xs) / 1 var(--font-mono);
        padding: 3px 7px;
        white-space: nowrap;
        border: 1px solid var(--color-neutral-400);
        background: var(--color-neutral-100);
        color: var(--color-neutral-800);
    }
    .spec-save-state--saved {
        border-color: var(--ok-b);
        background: var(--ok-t);
        color: var(--ok);
    }
    .spec-save-state--unsaved {
        border-color: var(--warn-b);
        background: var(--warn-t);
        color: var(--warn);
    }
    .spec-save-state__at {
        color: inherit;
        opacity: 0.85;
    }
    .spec-check {
        display: inline-flex;
        align-items: flex-start;
        gap: 9px;
        padding: 4px 0;
        margin: 0;
        background: none;
        border: 0;
        text-align: left;
        font: inherit;
        color: inherit;
        cursor: pointer;
    }
    .spec-check__box {
        flex: none;
        width: 15px;
        height: 15px;
        margin-top: 1px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--color-neutral-400);
        background: var(--spec-field);
        color: var(--spec-on-accent);
        font: var(--weight-semibold) 10px / 1 var(--font-body);
        transition: background-color var(--dur-base) var(--ease-standard),
                    border-color var(--dur-base) var(--ease-standard);
    }
    .spec-check[aria-checked="true"] .spec-check__box {
        background: var(--color-accent);
        border-color: var(--color-accent-700);
    }
    .spec-check__text {
        min-width: 0;
    }
    .spec-check__label {
        display: block;
        font-size: 13.5px;
        line-height: var(--leading-snug);
        color: var(--spec-ink);
    }
    .spec-check__note {
        display: block;
        margin-top: 1px;
        font-size: var(--text-xs);
        line-height: var(--leading-snug);
        color: var(--color-neutral-700);
    }
    .spec-check--disabled {
        cursor: not-allowed;
    }
    .spec-check--disabled .spec-check__box {
        border-color: var(--color-divider);
        background: var(--color-neutral-100);
    }
    .spec-check--disabled .spec-check__label {
        color: var(--color-neutral-500);
    }
    .spec-check:hover:not(.spec-check--disabled) .spec-check__box {
        border-color: var(--color-accent-600);
    }
    .spec-hint {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 14px;
        height: 14px;
        flex: none;
        border: 1px solid var(--color-neutral-500);
        border-radius: 50%;
        font: var(--weight-semibold) 9.5px / 1 var(--font-heading);
        font-style: italic;
        color: var(--color-neutral-700);
        background: transparent;
        cursor: help;
        vertical-align: middle;
        user-select: none;
    }
    .spec-hint:hover,
    .spec-hint:focus-visible {
        border-color: var(--color-accent-600);
        color: var(--color-accent-800);
    }
    .spec-hint__root {
        display: inline-flex;
        vertical-align: middle;
    }
    .mud-tooltip {
        border-radius: var(--radius-control);
        padding: 6px 9px;
        max-width: 280px;
        background-color: var(--color-neutral-900);
        color: var(--spec-on-dark);
        font-family: var(--font-body);
        font-size: var(--text-sm);
        font-weight: var(--weight-regular);
        line-height: var(--leading-snug);
        text-align: left;
        text-wrap: pretty;
        box-shadow: var(--shadow-md);
    }
    .mud-tooltip.mud-tooltip-default {
        background-color: var(--color-neutral-900);
        color: var(--spec-on-dark);
    }
    .mud-tooltip.mud-tooltip-arrow::after {
        display: none;
    }
    #main-content .mud-checkbox .mud-button-root,
    #main-content .mud-radio .mud-button-root,
    #main-content .mud-switch .mud-button-root {
        min-width: 0;
        min-height: 0;
        width: auto;
        height: auto;
        margin: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }
    #main-content .mud-checkbox .mud-button-root:hover,
    #main-content .mud-radio .mud-button-root:hover,
    #main-content .mud-switch .mud-button-root:hover {
        background: transparent;
    }
    #main-content .mud-checkbox .mud-icon-button,
    #main-content .mud-radio .mud-icon-button {
        padding: 3px;
    }
    #main-content .mud-checkbox .mud-icon-root,
    #main-content .mud-radio .mud-icon-root {
        width: 15px;
        height: 15px;
        font-size: 16.5px;
    }
    #main-content .mud-checkbox .mud-typography,
    #main-content .mud-radio .mud-typography,
    #main-content .mud-switch .mud-typography {
        font-family: var(--font-body);
        font-size: var(--text-base);
        line-height: var(--leading-snug);
        color: var(--spec-ink);
        margin-inline-start: 7px;
    }
    #main-content .mud-input-content-placement-start .mud-typography {
        margin-inline-start: 0;
        margin-inline-end: 7px;
    }
    #main-content .mud-checkbox .mud-icon-button {
        position: relative;
    }
    #main-content .mud-checkbox .mud-icon-button .mud-icon-root {
        visibility: hidden;
    }
    #main-content .mud-checkbox .mud-icon-button::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 15px;
        height: 15px;
        transform: translate(-50%, -50%);
        border: 1px solid var(--color-neutral-400);
        background: var(--spec-field);
    }
    #main-content .mud-checkbox .mud-icon-button.mud-checkbox-true::after {
        border-color: var(--color-accent-700);
        background: var(--color-accent)
            no-repeat center / 9px 9px
            url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.4 4.4 9.3 10.5 3.2' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
    }
    #main-content .mud-checkbox.mud-disabled .mud-icon-button::after {
        border-color: var(--color-divider);
        background: var(--color-neutral-100);
    }
    #main-content .mud-checkbox.mud-disabled .mud-typography,
    #main-content .mud-radio.mud-disabled .mud-typography,
    #main-content .mud-switch.mud-disabled .mud-typography {
        color: var(--color-neutral-500);
    }
    #main-content .mud-switch .mud-switch-span {
        width: 30px;
        height: 16px;
        padding: 2px;
        flex: none;
        align-items: center;
        overflow: visible;
    }
    #main-content .mud-switch .mud-switch-track {
        width: 100%;
        height: 16px;
        border-radius: 999px;
        opacity: 1;
        background: var(--color-neutral-300);
        border: 1px solid var(--color-neutral-400);
        transition: background-color var(--dur-base) var(--ease-standard),
                    border-color var(--dur-base) var(--ease-standard);
    }
    #main-content .mud-switch .mud-switch-base {
        top: 2px;
        left: 2px;
        padding: 0;
        color: var(--spec-surface);
        transform: none;
    }
    #main-content .mud-switch .mud-switch-base.mud-checked {
        transform: translateX(14px);
    }
    #main-content .mud-switch .mud-switch-base.mud-checked + .mud-switch-track {
        opacity: 1;
        background: var(--color-accent);
        border-color: var(--color-accent-700);
    }
    #main-content .mud-switch [class*="mud-switch-thumb"] {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        box-shadow: none;
        background-color: var(--spec-surface);
        border: 1px solid var(--color-neutral-500);
    }
    #main-content .mud-switch .mud-checked [class*="mud-switch-thumb"] {
        background-color: var(--spec-surface);
        border-color: var(--color-accent-800);
    }
    #main-content .mud-switch.mud-disabled .mud-switch-track {
        background: var(--color-neutral-200);
        border-color: var(--color-neutral-300);
        opacity: 1;
    }
    #main-content .mud-radio .mud-icon-button {
        color: var(--color-neutral-500);
    }
    #main-content .mud-radio .mud-icon-button.mud-checked,
    #main-content .mud-radio .mud-checked .mud-icon-button {
        color: var(--color-accent);
    }
    #main-content .spec-fill .mud-table-container,
    .spec-fill-region {
        max-height: var(--spec-fill-h, calc(100vh - var(--spec-fill-offset, 300px) - var(--spec-fill-chrome)));
        overflow: auto;
        overscroll-behavior: contain;
    }
    #main-content .spec-fill .mud-table-head .mud-table-cell,
    .spec-fill-region thead th {
        position: sticky;
        top: 0;
        z-index: 3;
        background: var(--spec-surface);
    }
    #main-content .spec-fill.ledger-grid .mud-table-head .mud-table-cell,
    .spec-fill-region.ledger-grid thead th {
        background: var(--color-accent-900);
    }
    #main-content .spec-fill .mud-table-foot .mud-table-cell,
    .spec-fill-region tfoot td,
    .spec-fill-region tfoot th {
        position: sticky;
        bottom: 0;
        z-index: 3;
        background: var(--color-neutral-200);
    }
    #main-content .mud-table.spec-fill {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
    .spec-skeleton {
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        overflow: clip;
        background: var(--spec-surface);
        padding: 8px;
    }
    .spec-skeleton__row {
        display: flex;
        align-items: center;
        gap: var(--sp-3);
        height: 26px;
    }
    .spec-skeleton__row + .spec-skeleton__row {
        border-top: 1px solid var(--color-divider);
    }
    .spec-skeleton__bar {
        flex: 1 1 0;
        height: 9px;
        background: var(--color-neutral-200);
    }
    .spec-skeleton__bar:first-child {
        flex: 0 0 64px;
    }
    .mud-dialog {
        border: 1px solid var(--color-divider);
        background: var(--spec-surface);
        box-shadow: var(--shadow-lg);
        color: var(--spec-ink);
    }
    .mud-dialog .mud-dialog-title {
        padding: 14px 18px 10px;
        border-radius: 0;
        font-family: var(--font-heading);
        font-size: var(--text-md);
        font-weight: var(--weight-semibold);
        line-height: var(--leading-tight);
        letter-spacing: var(--tracking-tight);
        color: var(--spec-ink);
    }
    .mud-dialog .mud-dialog-title .mud-typography {
        font: inherit;
        letter-spacing: inherit;
    }
    .mud-dialog .mud-dialog-content {
        padding: 0 18px 14px;
        border-radius: 0;
        font-size: var(--text-base);
        line-height: var(--leading-normal);
    }
    .mud-dialog .mud-dialog-actions {
        gap: 9px;
        padding: 12px 18px;
        border-top: 1px solid var(--color-divider);
        border-radius: 0;
    }
    .mud-dialog .mud-dialog-actions .mud-button-root {
        font-family: var(--font-heading);
        font-weight: var(--weight-semibold);
        font-size: var(--text-sm);
        line-height: 1.2;
        letter-spacing: 0;
        text-transform: none;
        min-height: var(--control-h-sm);
        padding: 6px 14px;
        border: 1px solid var(--color-neutral-400);
        border-radius: var(--radius-control);
        background: var(--spec-surface);
        color: var(--spec-ink);
        box-shadow: none;
    }
    .mud-dialog .mud-dialog-actions .mud-button-filled.mud-button-filled-primary {
        background: var(--color-accent);
        border-color: var(--color-accent-700);
        color: var(--spec-on-accent);
    }
    .mud-dialog .mud-dialog-actions .mud-button-root.mud-button-outlined-error {
        color: var(--stop);
        border-color: var(--stop-b);
        background: var(--spec-surface);
    }
    .spec-dialog__body {
        margin: 0;
        max-width: 42ch;
        text-wrap: pretty;
    }
    .mud-snackbar {
        border-radius: var(--radius-card);
        border: 1px solid var(--tone-line, var(--color-divider));
        border-left: 3px solid var(--tone, var(--color-neutral-500));
        background: var(--tone-tint, var(--color-neutral-100));
        color: var(--spec-ink);
        font-family: var(--font-body);
        font-size: 13.5px;
        line-height: var(--leading-snug);
        box-shadow: var(--shadow-md);
        padding: 9px 12px;
    }
    .mud-snackbar.mud-alert-text-success,
    .mud-snackbar.mud-alert-filled-success,
    .mud-snackbar.mud-alert-outlined-success {
        --tone: var(--ok);
        --tone-tint: var(--ok-t);
        --tone-line: var(--ok-b);
    }
    .mud-snackbar.mud-alert-text-warning,
    .mud-snackbar.mud-alert-filled-warning,
    .mud-snackbar.mud-alert-outlined-warning {
        --tone: var(--warn);
        --tone-tint: var(--warn-t);
        --tone-line: var(--warn-b);
    }
    .mud-snackbar.mud-alert-text-error,
    .mud-snackbar.mud-alert-filled-error,
    .mud-snackbar.mud-alert-outlined-error {
        --tone: var(--stop);
        --tone-tint: var(--stop-t);
        --tone-line: var(--stop-b);
    }
    .mud-snackbar.mud-alert-text-info,
    .mud-snackbar.mud-alert-filled-info,
    .mud-snackbar.mud-alert-outlined-info {
        --tone: var(--color-accent);
        --tone-tint: var(--color-accent-100);
        --tone-line: var(--color-accent-300);
    }
    .mud-snackbar .mud-snackbar-content-message {
        padding: 0;
    }
    .mud-snackbar {
        max-width: 30rem;
    }
    .mud-snackbar-location-top-right {
        top: 200px;
    }
    .mud-snackbar .mud-snackbar-content-action .mud-button-root {
        white-space: nowrap;
        padding: 2px 6px;
        min-width: 0;
        color: var(--color-accent-700);
        font: var(--weight-semibold) var(--text-sm) / 1.2 var(--font-body);
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .mud-snackbar .mud-snackbar-icon {
        color: var(--tone, var(--color-neutral-700));
        opacity: 1;
        font-size: 19.5px;
        padding: 0;
        margin-inline-end: 9px;
    }
    .wizard-steps {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        overflow: clip;
        background: var(--spec-surface);
    }
    .wizard-step {
        flex: 1 1 0;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 9px 12px;
        border-right: 1px solid var(--color-divider);
        font-size: 14px;
        color: var(--color-neutral-700);
        min-width: 0;
    }
    .wizard-step:last-child {
        border-right: 0;
    }
    .wizard-step__number {
        flex: 0 0 auto;
        width: 22px;
        height: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--color-neutral-400);
        font: var(--weight-semibold) var(--text-xs) / 1 var(--font-mono);
        font-variant-numeric: tabular-nums;
        color: var(--color-neutral-700);
    }
    .wizard-step__text {
        display: flex;
        flex-direction: column;
        gap: 1px;
        min-width: 0;
    }
    .wizard-step__label,
    .wizard-step__done {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .wizard-step__done {
        font-size: var(--text-xs);
        font-weight: var(--weight-regular);
        color: var(--ok);
    }
    .wizard-step.is-reachable {
        padding: 0;
    }
    .wizard-step__go {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        min-width: 0;
        min-height: 100%;
        padding: 9px 12px;
        border: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        text-align: left;
        cursor: pointer;
        transition: background-color var(--dur-fast) var(--ease-standard);
    }
    .wizard-step__go:hover {
        background: var(--color-neutral-100);
    }
    .wizard-step__go:hover .wizard-step__label {
        text-decoration: underline;
    }
    .wizard-step__go:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: -2px;
    }
    .wizard-step.is-current {
        background: var(--color-accent-100);
        color: var(--spec-ink);
        font-weight: var(--weight-semibold);
        box-shadow: inset 0 -3px 0 var(--color-accent);
    }
    .wizard-step.is-current .wizard-step__number {
        background: var(--color-accent);
        border-color: var(--color-accent-700);
        color: #fff;
    }
    .wizard-step.is-done .wizard-step__number {
        border-color: var(--ok-b);
        background: var(--ok-t);
        color: var(--ok);
    }
    @media (max-width: 599.98px) {
        .wizard-steps {
            flex-direction: column;
        }
        .wizard-step {
            border-right: 0;
            border-bottom: 1px solid var(--color-divider);
        }
        .wizard-step:last-child {
            border-bottom: 0;
        }
    }
    .spec-link-tabs {
        display: inline-flex;
        flex-wrap: wrap;
        border: 1px solid var(--color-divider);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        overflow: clip;
        background: var(--spec-surface);
    }
    .spec-link-tabs__tab {
        padding: 7px 14px;
        border-right: 1px solid var(--color-divider);
        font-size: 14.5px;
        color: var(--color-neutral-800);
        text-decoration: none;
        white-space: nowrap;
    }
    .spec-link-tabs__tab:last-child {
        border-right: 0;
    }
    .spec-link-tabs__tab:hover {
        background: var(--color-neutral-100);
    }
    .spec-link-tabs__tab.is-current {
        background: var(--color-accent-100);
        color: var(--spec-ink);
        font-weight: var(--weight-semibold);
        box-shadow: inset 0 -2px 0 var(--color-accent);
    }
    .spec-link-tabs__tab:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: -2px;
    }
    .next-step-bar {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 12px 18px;
        margin-top: var(--sp-6);
        padding: 14px 0 4px;
        border-top: 1px solid var(--color-divider);
    }
    .next-step-bar__back {
        justify-self: start;
    }
    .next-step-bar__forward {
        justify-self: end;
        display: flex;
        align-items: center;
        gap: 12px 18px;
        flex-wrap: wrap;
    }
    .next-step-bar__step {
        font: var(--text-xs) var(--font-mono);
        font-variant-numeric: tabular-nums;
        color: var(--color-neutral-700);
    }
    .next-step-bar__link {
        font-size: 14.5px;
        color: var(--spec-accent-ink);
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .next-step-bar__primary {
        display: inline-flex;
        align-items: center;
        min-height: 36px;
        padding: 0 18px;
        background: var(--color-accent);
        border: 1px solid var(--color-accent-700);
        color: #fff;
        font-weight: var(--weight-semibold);
        font-size: 15px;
        text-decoration: none;
    }
    .next-step-bar__primary:hover {
        background: var(--color-accent-700);
    }
    .next-step-bar__link:focus-visible,
    .next-step-bar__primary:focus-visible {
        outline: var(--spec-focus-width) solid var(--spec-focus-ring);
        outline-offset: 2px;
    }
    @media (max-width: 599.98px) {
        .next-step-bar {
            grid-template-columns: 1fr;
        }
        .next-step-bar__back,
        .next-step-bar__forward {
            justify-self: stretch;
        }
        .next-step-bar__step {
            order: -1;
        }
    }
    @media (max-height: 820px) {
        .page-header {
            padding-top: var(--sp-3);
            padding-bottom: var(--sp-2);
            margin-bottom: var(--sp-3);
        }
        .page-header__toolbar {
            margin-top: var(--sp-2);
        }
    }
}
@layer spec.components {
    .bulk-select-cell {
        width: 1%;
        white-space: nowrap;
        text-align: center;
    }
    .bulk-select-cell input[type="checkbox"] {
        width: 16px;
        height: 16px;
        cursor: pointer;
        accent-color: var(--color-accent);
    }
    .bulk-selection-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        padding: 8px 12px;
        border: 1px solid var(--stop-b);
        background: var(--stop-t);
        font-size: 14px;
    }
}
/* utilities.css */
@layer spec.utilities {
    .tabular-nums {
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
    }
    .spec-kicker {
        font-family: var(--font-heading);
        font-size: var(--text-2xs);
        font-weight: var(--weight-semibold);
        line-height: 1;
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--color-neutral-700);
    }
    .text-muted {
        color: var(--color-neutral-700);
    }
    .scroll-x {
        overflow-x: auto;
        overscroll-behavior-x: contain;
        max-width: 100%;
    }
}
