/* /Components/Layout/Drawer.razor.rz.scp.css */
.drawer-container[b-mqvnuh3ghu] {
    height: 100%;
}

.navigation-drawer-shading[b-mqvnuh3ghu] {
    height: 100%;
    position: absolute;
    transition: ease 300ms;
    transition-property: opacity, visibility;
    visibility: visible;
    width: 100%;
    z-index: 99;
    background-color: var(--dxds-color-surface-backdrop-default-rest);
}

.navigation-drawer.mobile.panel-closed .navigation-drawer-shading[b-mqvnuh3ghu] {
    opacity: 0;
    visibility: hidden;
}

[b-mqvnuh3ghu] .navigation-drawer > .dxbl-drawer-panel {
    display: flex;
}

[b-mqvnuh3ghu] .navigation-drawer.mobile > .dxbl-drawer-panel {
    display: none;
}

.navigation-drawer-shading[b-mqvnuh3ghu] {
    display: none;
}

[b-mqvnuh3ghu] .panel-open:not(.mobile) .nav-buttons-container .menu-button {
    display: none;
}

@media (max-width: 768px) {
    [b-mqvnuh3ghu] .navigation-drawer > .dxbl-drawer-panel {
        display: none;
    }

    [b-mqvnuh3ghu] .navigation-drawer.mobile > .dxbl-drawer-panel {
        display: flex;
    }

    .navigation-drawer-shading[b-mqvnuh3ghu] {
        display: block;
    }

    [b-mqvnuh3ghu] .panel-open:not(.mobile) .nav-buttons-container .menu-button {
        display: flex;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-wlbiro07ga] {
    height: 100%;
    min-height: 0;
}

[b-wlbiro07ga] .navigation-drawer {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 1rem;
    --dxbl-drawer-panel-footer-bg: none;
    --dxbl-drawer-panel-header-bg: none;
    --dxbl-drawer-separator-border-width: 0;
}

[b-wlbiro07ga] .navigation-drawer > .dxbl-drawer-panel {
    background-image: linear-gradient(180deg, var(--dxds-color-surface-primary-default-rest) 0%, var(--dxds-primary-170) 150%);
}

.navigation-drawer-header[b-wlbiro07ga] {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 1.375rem 0.375rem;
    width: 100%;
}

.navigation-drawer-header .logo[b-wlbiro07ga] {
    max-width: 75%;
    height: auto;
}

.navigation-drawer-header .logo-link[b-wlbiro07ga] {
    display: flex;
    align-items: center;
}

.navigation-drawer-header .logo-text[b-wlbiro07ga] {
    font-size: 1.25rem;
    font-weight: 600;
    color: white;
    text-decoration: none;
    white-space: nowrap;
}

.navigation-drawer-footer[b-wlbiro07ga] {
    display: flex;
    justify-content: space-evenly;
    padding-bottom: 0.875rem;
    width: 100%;
}

.drawer-content[b-wlbiro07ga] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: auto;
    padding: 2rem 1.5rem 1.5rem 1.5rem;
}

.nav-buttons-container[b-wlbiro07ga] {
    align-items: center;
    display: flex;
    gap: 0.625rem;
    min-height: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
}

[b-wlbiro07ga] .nav-buttons-container > a {
    color: inherit;
}

[b-wlbiro07ga] .nav-buttons-container .back-button {
    padding-left: 0;
    padding-right: 0.25rem;
}

[b-wlbiro07ga] .nav-buttons-container .menu-button-float-end {
    margin-left: auto;
}

.page-content-container[b-wlbiro07ga] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
[b-xv8acd6706] .menu {
    --dxbl-menu-bottom-left-border-radius: 0;
    --dxbl-menu-bottom-right-border-radius: 0;
    --dxbl-menu-top-left-border-radius: 0;
    --dxbl-menu-top-right-border-radius: 0;
    --dxbl-menu-item-padding-x: 1.125rem;
    --dxbl-menu-item-padding-y: 0.5rem;
    --dxbl-menu-item-color: var(--dxds-color-content-neutral-default-static-dark-rest);
    --dxbl-menu-item-image-color: var(--dxds-color-content-neutral-default-static-dark-rest);
    --dxbl-menu-item-hover-bg: rgb(from var(--dxds-color-surface-neutral-default-static-light-rest) r g b / 0.15);
    --dxbl-menu-item-hover-color: var(--dxds-color-content-neutral-default-static-dark-hovered);
    --dxbl-menu-item-hover-image-color: var(--dxds-color-content-neutral-default-static-dark-hovered);

    background: none;
}

[b-xv8acd6706] .menu.display-mobile {
    margin-bottom: 2rem;
}

[b-xv8acd6706] .menu-item-active {
    background-color: rgb(from var(--dxds-color-surface-neutral-default-static-light-rest) r g b / 0.05);
}
/* /Components/Pages/Admin/DocumentManagement.razor.rz.scp.css */
.main-content[b-0kub0dfbeh] {
    padding: 20px;
    height: auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.block-content[b-0kub0dfbeh] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.title[b-0kub0dfbeh] {
    margin-bottom: 20px;
}

.title-header-text[b-0kub0dfbeh] {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}

.title-content-text[b-0kub0dfbeh] {
    color: #666;
}

.loading-container[b-0kub0dfbeh] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.empty-state[b-0kub0dfbeh] {
    text-align: center;
    padding: 40px;
    color: #666;
}

.document-grid[b-0kub0dfbeh] {
    margin-top: 20px;
}

.document-link[b-0kub0dfbeh] {
    color: #0d6efd;
    text-decoration: none;
    cursor: pointer;
}

.document-link:hover[b-0kub0dfbeh] {
    text-decoration: underline;
}

.alert[b-0kub0dfbeh] {
    border-radius: 4px;
}

[b-0kub0dfbeh] .me-1 {
    margin-right: 4px;
}
/* /Components/Pages/Admin/UserDocuments.razor.rz.scp.css */
.main-content[b-rds7rlvzaw] {
    padding: 20px;
    height: auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.block-content[b-rds7rlvzaw] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.title[b-rds7rlvzaw] {
    margin-bottom: 20px;
}

.title-header-text[b-rds7rlvzaw] {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}

.title-content-text[b-rds7rlvzaw] {
    color: #666;
}

.loading-container[b-rds7rlvzaw] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.empty-state[b-rds7rlvzaw] {
    text-align: center;
    padding: 40px;
    color: #666;
}

.spreadsheet-grid[b-rds7rlvzaw] {
    margin-top: 20px;
}

.spreadsheet-link[b-rds7rlvzaw] {
    color: #0d6efd;
    text-decoration: none;
    cursor: pointer;
}

.spreadsheet-link:hover[b-rds7rlvzaw] {
    text-decoration: underline;
}

.alert[b-rds7rlvzaw] {
    border-radius: 4px;
}

[b-rds7rlvzaw] .me-1 {
    margin-right: 4px;
}
/* /Components/Pages/Admin/UserManagement.razor.rz.scp.css */
.main-content[b-y1rl46pdbx] {
    padding: 20px;
    height: auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.block-content[b-y1rl46pdbx] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.title[b-y1rl46pdbx] {
    margin-bottom: 20px;
}

.title-header-text[b-y1rl46pdbx] {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}

.title-content-text[b-y1rl46pdbx] {
    color: #666;
}

.loading-container[b-y1rl46pdbx] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.empty-state[b-y1rl46pdbx] {
    text-align: center;
    padding: 40px;
    color: #666;
}

.user-grid[b-y1rl46pdbx] {
    margin-top: 20px;
}

.user-link[b-y1rl46pdbx] {
    color: #0d6efd;
    text-decoration: none;
    cursor: pointer;
}

.user-link:hover[b-y1rl46pdbx] {
    text-decoration: underline;
}

.alert[b-y1rl46pdbx] {
    border-radius: 4px;
}
/* /Components/Pages/Calendar/Calendar.razor.rz.scp.css */
/* The calendar sizes to its content (title + toolbar + scheduler) rather than
   forcing itself to fill the viewport. When the window is too short, the page's
   scroll container (.drawer-content) scrolls to reveal the rest. */
.calendar-page[b-73yv4eylki] {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Condense the header so the calendar starts higher. */
.title[b-73yv4eylki] {
    margin-top: -0.5rem;
    margin-bottom: 0.35rem;
}

.title-header-text[b-73yv4eylki] {
    margin-top: 0;
    margin-bottom: 0.1rem;
    line-height: 1.15;
}

.title-content-text[b-73yv4eylki] {
    margin: 0;
}

/* Give the scheduler a comfortable height that uses the viewport on large screens
   but never drops below a readable minimum — below that the whole page scrolls.
   DevExpress renders the scheduler's root element, so reach it with ::deep. */
[b-73yv4eylki] .puma-scheduler {
    width: 100%;
    height: calc(100vh - 170px);
    min-height: 760px;
    /* Keep month day-cells at a readable height (no progressive compacting). */
    --dxbl-scheduler-month-table-time-cell-height: 110px;
}

/* DevExpress applies an inline min-width (~1260px) to the grid, which forces a
   horizontal scrollbar and hides days on narrow windows. Let it shrink to fit. */
[b-73yv4eylki] .dxbl-sc-table,
[b-73yv4eylki] .dxbl-sc-headers,
[b-73yv4eylki] .dxbl-sc-horizontal-view,
[b-73yv4eylki] .dxbl-sc-timecells-container {
    min-width: 0 !important;
}
/* /Components/Pages/Index/Index.razor.rz.scp.css */
[b-lckjzy3tef] .index-gridlayout {
    container-type: inline-size;
    height: auto;
    margin-top: auto;
    margin-bottom: auto;
    padding-bottom: 9rem;
}

[b-lckjzy3tef] .title {
    padding-bottom: 3rem;
    text-align: center;
}

[b-lckjzy3tef] .tiles {
    --tile-column-count: 4;

    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(var(--tile-column-count), max-content);
    justify-content: center;

    @container (max-width: 60.5rem) {
        --tile-column-count: 3;
    }
    @container (max-width: 45.125rem) {
        --tile-column-count: 2;
    }
    @container (max-width: 29.75rem) {
        --tile-column-count: 1;
    }
}
/* /Components/Pages/Index/IndexTile.razor.rz.scp.css */
.tile[b-n6upqtdg0o] {
    border-radius: 0.75rem;
    height: 7.5rem;
    transition: box-shadow 0.2s;
    width: 14.375rem;
    border: 1px solid var(--dxds-color-border-neutral-default-rest);
}

.tile:hover[b-n6upqtdg0o] {
    box-shadow: 0 4px 8px 0 rgba(170, 170, 170, 0.24), 0 0 2px 0 rgba(170, 170, 170, 0.2);
}

.tile[b-n6upqtdg0o]  > a {
    text-decoration: none;
}

[b-n6upqtdg0o] .tile-content {
    padding: 1rem;
}

[b-n6upqtdg0o] .tile-icon {
    border-radius: 0.375rem;
    height: 2.75rem;
    padding: 0.75rem;
    width: 2.75rem;
    border: 1px solid var(--dxds-color-border-neutral-default-rest);
}

[b-n6upqtdg0o] .tile-title {
    align-self: center;
    color: var(--dxds-color-content-neutral-default-rest);
    font-size: var(--dxds-font-size-base-md);
    font-weight: var(--dxds-font-weight-base-strong);
    letter-spacing: var(--dxds-letter-spacing-base-md);
    line-height: var(--dxds-line-height-base-md);
}

[b-n6upqtdg0o] .tile-description {
    color: var(--dxds-color-content-neutral-subdued-rest);
    font-size: var(--dxds-font-size-base-sm);
    font-weight: var(--dxds-font-weight-base-default);
    letter-spacing: var(--dxds-letter-spacing-base-sm);
    line-height: var(--dxds-line-height-base-sm);
}
/* /Components/Pages/OptionsLearning/OptionsLearningBox.razor.rz.scp.css */
/* Scoped to OptionsLearningBox (the Box Pricing drill). Light Fluent theme; buy/sell and the
   legs list come from the shared options-learning.css. */
.ol-box[b-sxhpboul14] {
    display: flex;
    flex-direction: column;
}

.ol-box-title[b-sxhpboul14] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-box-sub[b-sxhpboul14] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 760px;
    line-height: 1.5;
}

/* ---- setup ---- */
.ol-box-setup[b-sxhpboul14] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.ol-box-setup-label[b-sxhpboul14] {
    font-size: 0.85rem;
    color: #667085;
}

.ol-box-count[b-sxhpboul14] {
    width: 84px;
    height: 36px;
    box-sizing: border-box;
    padding: 0 0.5rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    color: #1d2939;
}

/* ---- HUD ---- */
.ol-box-hud[b-sxhpboul14] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.ol-box-stat[b-sxhpboul14] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    color: #667085;
}

.ol-box-mono[b-sxhpboul14] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #1d2939;
}

.ol-box-hud-spacer[b-sxhpboul14] {
    flex: 1;
}

/* ---- question card ---- */
.ol-box-card[b-sxhpboul14] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem 1.25rem;
    max-width: 640px;
}

.ol-box-legs[b-sxhpboul14] {
    font-size: 0.95rem;
    line-height: 2;
}

.ol-box-prompt[b-sxhpboul14] {
    margin-top: 0.9rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1d2939;
    line-height: 1.45;
}

.ol-box-input[b-sxhpboul14] {
    width: 100%;
    max-width: 280px;
    box-sizing: border-box;
    height: 38px;
    margin-top: 0.9rem;
    padding: 0 0.7rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    font-size: 0.95rem;
    color: #1d2939;
}

.ol-box-input:focus[b-sxhpboul14] {
    outline: none;
    border-color: #0f6cbd;
    box-shadow: 0 0 0 3px rgba(15, 108, 189, 0.12);
}

.ol-box-input:disabled[b-sxhpboul14] {
    background: #f2f4f7;
    color: #667085;
}

.ol-box-actions[b-sxhpboul14] {
    margin-top: 0.9rem;
}

/* ---- feedback ---- */
.ol-box-feedback[b-sxhpboul14] {
    margin-top: 0.9rem;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    font-size: 0.88rem;
    line-height: 1.45;
}

.ol-box-feedback.is-ok[b-sxhpboul14] {
    background: #ecfdf3;
    border: 1px solid #a9efc5;
    color: #067647;
}

.ol-box-feedback.is-no[b-sxhpboul14] {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

/* ---- finish ---- */
.ol-box-score[b-sxhpboul14] {
    font-size: 1.4rem;
    margin: 0 0 0.3rem;
    color: #1d2939;
}

.ol-box-summary[b-sxhpboul14] {
    color: #344054;
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
}

.ol-box-tag[b-sxhpboul14] {
    color: #98a2b3;
    font-size: 0.78rem;
    margin: 0 0 0.75rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningBuild.razor.rz.scp.css */
/* Scoped to OptionsLearningBuild. Pills, section labels, metrics, buy/sell, time-note come
   from the shared options-learning.css. Light Fluent theme. */
.ol-build[b-yjnef4usk0] {
    display: flex;
    flex-direction: column;
}

.ol-build-title[b-yjnef4usk0] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-build-sub[b-yjnef4usk0] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 760px;
}

.ol-build-muted[b-yjnef4usk0] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #667085;
    max-width: 640px;
}

.ol-build-hud[b-yjnef4usk0] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.ol-build-stat[b-yjnef4usk0] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    color: #667085;
}

.ol-build-mono[b-yjnef4usk0] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #1d2939;
}

.ol-build-cols[b-yjnef4usk0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 860px) {
    .ol-build-cols[b-yjnef4usk0] {
        grid-template-columns: 1fr;
    }
}

.ol-build-panel[b-yjnef4usk0] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.9rem 1rem 1rem;
}

.ol-build-tags[b-yjnef4usk0] {
    margin-top: 0.7rem;
}

.ol-build-name-line[b-yjnef4usk0] {
    margin-top: 0.7rem;
    color: #667085;
    font-size: 0.88rem;
}

.ol-build-target-actions[b-yjnef4usk0] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.7rem;
}

/* ---- builder ---- */
.ol-build-nameinput[b-yjnef4usk0] {
    width: 100%;
    box-sizing: border-box;
    height: 36px;
    padding: 0 0.6rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #1d2939;
}

.ol-build-adder[b-yjnef4usk0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.ol-build-select[b-yjnef4usk0],
.ol-build-qty[b-yjnef4usk0] {
    height: 36px;
    box-sizing: border-box;
    padding: 0 0.5rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    color: #1d2939;
}

.ol-build-qty[b-yjnef4usk0] {
    width: 64px;
}

.ol-build-select:disabled[b-yjnef4usk0] {
    background: #f2f4f7;
    color: #98a2b3;
}

.ol-build-legs[b-yjnef4usk0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.ol-build-empty[b-yjnef4usk0] {
    color: #98a2b3;
    font-size: 0.85rem;
}

.ol-build-chip[b-yjnef4usk0] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.ol-build-x[b-yjnef4usk0],
.ol-build-clear[b-yjnef4usk0] {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
}

.ol-build-x[b-yjnef4usk0] {
    color: #98a2b3;
    font-size: 1rem;
    line-height: 1;
}

.ol-build-x:hover[b-yjnef4usk0] {
    color: #b42318;
}

.ol-build-clear[b-yjnef4usk0] {
    color: #0f6cbd;
    font-size: 0.8rem;
}

.ol-build-clear:hover[b-yjnef4usk0] {
    text-decoration: underline;
}

.ol-build-metrics[b-yjnef4usk0] {
    margin-top: 0.5rem;
}

.ol-build-check[b-yjnef4usk0] {
    margin-top: 0.9rem;
}

.ol-build-feedback[b-yjnef4usk0] {
    margin-top: 0.75rem;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    font-size: 0.88rem;
}

.ol-build-feedback.is-ok[b-yjnef4usk0] {
    background: #ecfdf3;
    border: 1px solid #a9efc5;
    color: #067647;
}

.ol-build-feedback.is-no[b-yjnef4usk0] {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

.ol-build-next[b-yjnef4usk0] {
    margin-top: 0.6rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningDrills.razor.rz.scp.css */
/* Scoped to OptionsLearningDrills. Tiles come from the shared options-learning.css. */
.ol-drills-title[b-wvkyjf6owp] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-drills-sub[b-wvkyjf6owp] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 720px;
}

.ol-drills-back[b-wvkyjf6owp] {
    background: none;
    border: none;
    color: #0f6cbd;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
    margin-bottom: 1rem;
}

.ol-drills-back:hover[b-wvkyjf6owp] {
    text-decoration: underline;
}
/* /Components/Pages/OptionsLearning/OptionsLearningFlashcards.razor.rz.scp.css */
/* Scoped to OptionsLearningFlashcards. The flip card + face layout; pills, metrics, legs,
   greek-sign colors, and section labels come from the shared options-learning.css. */
.ol-fc[b-wwj6520vas] {
    display: flex;
    flex-direction: column;
}

.ol-fc-sub[b-wwj6520vas] {
    color: #667085;
    margin: 0 0 1rem;
    max-width: 760px;
}

.ol-fc-muted[b-wwj6520vas] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #667085;
    max-width: 640px;
}

.ol-fc-controls[b-wwj6520vas] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.9rem;
}

.ol-fc-progress[b-wwj6520vas] {
    margin-left: auto;
    color: #98a2b3;
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.ol-fc-stage[b-wwj6520vas] {
    perspective: 1800px;
    display: flex;
    justify-content: center;
}

.ol-flashcard[b-wwj6520vas] {
    position: relative;
    width: 100%;
    max-width: 860px;
    min-height: 560px;
    cursor: pointer;
    transform-style: preserve-3d;
    transition: transform 0.5s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.ol-flashcard.flipped[b-wwj6520vas] {
    transform: rotateY(180deg);
}

.ol-fc-face[b-wwj6520vas] {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1);
    padding: 1.5rem;
    overflow: auto;
}

.ol-fc-back[b-wwj6520vas] {
    transform: rotateY(180deg);
}

.ol-fc-name[b-wwj6520vas] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    height: 100%;
}

.ol-fc-name-tags[b-wwj6520vas] {
    justify-content: center;
}

.ol-fc-bigname[b-wwj6520vas] {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.01em;
}

.ol-fc-hint[b-wwj6520vas] {
    color: #98a2b3;
    font-size: 0.8rem;
}

.ol-fc-detail[b-wwj6520vas] {
    height: 100%;
}

.ol-fc-grid[b-wwj6520vas] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    align-content: start;
}

.ol-fc-name-sm[b-wwj6520vas] {
    font-size: 1.1rem;
    font-weight: 650;
    margin-bottom: 0.5rem;
}

.ol-fc-metrics[b-wwj6520vas] {
    margin-top: 0.5rem;
}

.ol-fc-greeks[b-wwj6520vas] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ol-fc-greek[b-wwj6520vas] {
    display: grid;
    grid-template-columns: 76px 64px 1fr;
    gap: 0.5rem;
    align-items: baseline;
    font-size: 0.8rem;
}

.ol-fc-greek-name[b-wwj6520vas] {
    color: #667085;
}

.ol-fc-greek-sign[b-wwj6520vas] {
    font-weight: 600;
}

.ol-fc-greek-mean[b-wwj6520vas] {
    font-size: 0.75rem;
}

.ol-fc-why[b-wwj6520vas] {
    margin: 0;
    font-size: 0.87rem;
    line-height: 1.6;
    color: #1d2939;
}

.ol-fc-nav[b-wwj6520vas] {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1rem;
}

@media (max-width: 760px) {
    .ol-fc-grid[b-wwj6520vas] {
        grid-template-columns: 1fr;
    }

    .ol-flashcard[b-wwj6520vas] {
        min-height: 880px;
    }
}
/* /Components/Pages/OptionsLearning/OptionsLearningGallery.razor.rz.scp.css */
/* Scoped to OptionsLearningGallery. Card/grid layout only; pills, metrics, legs, and the
   time-note come from the shared options-learning.css. The payoff SVG has its own scoped CSS. */
.ol-gallery[b-7mesj1ko4q] {
    padding-bottom: 1.5rem;
}

.ol-gallery-sub[b-7mesj1ko4q] {
    color: #667085;
    max-width: 760px;
    margin: 0 0 1.25rem;
}

.ol-gallery-cat[b-7mesj1ko4q] {
    font-size: 1.15rem;
    margin: 1.5rem 0 0.75rem;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 0.4rem;
}

.ol-gallery-count[b-7mesj1ko4q] {
    color: #98a2b3;
    font-weight: 400;
    font-size: 0.95rem;
}

.ol-grid[b-7mesj1ko4q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1rem;
}

.ol-card[b-7mesj1ko4q] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.9rem 1rem 1rem;
    background: #fff;
}

.ol-card-head[b-7mesj1ko4q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.ol-name[b-7mesj1ko4q] {
    font-weight: 600;
    font-size: 1.02rem;
}

.ol-card-tags[b-7mesj1ko4q] {
    margin-bottom: 0.6rem;
}

.ol-card-metrics[b-7mesj1ko4q] {
    margin: 0.7rem 0;
}

.ol-card-legs[b-7mesj1ko4q] {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #f0f0f0;
}

.ol-gallery-total[b-7mesj1ko4q] {
    color: #98a2b3;
    margin-top: 1.75rem;
    font-size: 0.85rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningHome.razor.rz.scp.css */
/* Scoped to OptionsLearningHome. Pills, section labels come from shared options-learning.css. */
.ol-home-title[b-h2ly4f9o8s] {
    font-size: 1.6rem;
    margin: 0 0 0.4rem;
}

.ol-home-sub[b-h2ly4f9o8s] {
    color: #667085;
    margin: 0 0 1.5rem;
    max-width: 720px;
}

/* Mode-card grid + tiles come from the shared options-learning.css (.ol-tile*). */

/* ---- collapsible panels (filter + glossary) ---- */
.ol-panel[b-h2ly4f9o8s] {
    margin-top: 1.5rem;
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.5rem 1rem 1rem;
}

.ol-panel summary[b-h2ly4f9o8s] {
    cursor: pointer;
    font-weight: 650;
    padding: 0.5rem 0;
    font-size: 0.95rem;
    list-style: none;
}

.ol-panel summary[b-h2ly4f9o8s]::-webkit-details-marker {
    display: none;
}

.ol-panel summary[b-h2ly4f9o8s]::before {
    content: "▸ ";
    color: #98a2b3;
}

.ol-panel[open] summary[b-h2ly4f9o8s]::before {
    content: "▾ ";
}

.ol-filter-head[b-h2ly4f9o8s] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    color: #667085;
    font-size: 0.82rem;
    margin-top: 0.25rem;
}

.ol-filter-count[b-h2ly4f9o8s] {
    color: #667085;
    white-space: nowrap;
}

.ol-filter-count-empty[b-h2ly4f9o8s] {
    color: #b42318;
    white-space: nowrap;
}

.ol-filter-label[b-h2ly4f9o8s] {
    color: #667085;
    font-size: 0.8rem;
    margin: 0.9rem 0 0.4rem;
}

.ol-filter-row[b-h2ly4f9o8s] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ol-check[b-h2ly4f9o8s] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    font-size: 0.85rem;
}

.ol-glossary-grid[b-h2ly4f9o8s] {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0.4rem 1rem;
    margin-bottom: 0.5rem;
}

.ol-gl-term[b-h2ly4f9o8s] {
    color: #0f6cbd;
    font-size: 0.82rem;
    font-weight: 600;
}

.ol-gl-def[b-h2ly4f9o8s] {
    color: #1d2939;
    font-size: 0.85rem;
}

.ol-home-ref[b-h2ly4f9o8s] {
    color: #667085;
    margin-top: 1.5rem;
    font-size: 0.9rem;
}

.ol-home-ref a[b-h2ly4f9o8s] {
    color: #0f6cbd;
    cursor: pointer;
}

.ol-home-footer[b-h2ly4f9o8s] {
    margin-top: 2.5rem;
    padding-top: 1.1rem;
    border-top: 1px solid #e0e0e0;
    text-align: center;
    color: #667085;
    font-size: 0.82rem;
}

.ol-home-footer-sub[b-h2ly4f9o8s] {
    color: #98a2b3;
    font-size: 0.72rem;
    margin-top: 0.2rem;
}

/* ---- local progress: unavailable note + reset ---- */
.ol-home-store-warn[b-h2ly4f9o8s] {
    color: #b54708;
    font-size: 0.82rem;
    margin: 1.25rem 0 0;
}

.ol-home-reset[b-h2ly4f9o8s] {
    margin-top: 1.25rem;
}

.ol-home-reset-btn[b-h2ly4f9o8s] {
    border: 1px solid #d0d5dd;
    background: #fff;
    border-radius: 6px;
    padding: 0.4rem 0.8rem;
    color: #667085;
    font-size: 0.8rem;
    cursor: pointer;
}

.ol-home-reset-btn:hover[b-h2ly4f9o8s] {
    border-color: #b42318;
    color: #b42318;
}

@media (max-width: 560px) {
    .ol-glossary-grid[b-h2ly4f9o8s] {
        grid-template-columns: 1fr;
        gap: 0.1rem 0;
    }

    .ol-gl-def[b-h2ly4f9o8s] {
        margin-bottom: 0.5rem;
    }
}
/* /Components/Pages/OptionsLearning/OptionsLearningLanding.razor.rz.scp.css */
/* Scoped to OptionsLearningLanding. Light Fluent theme to match Squid. */
.ol-landing[b-wrbqixrz02] {
    padding: 1.25rem 1.5rem 2rem;
    max-width: 900px;
}

.ol-landing .title[b-wrbqixrz02] {
    margin-bottom: 1.25rem;
}

.ol-launch-card[b-wrbqixrz02] {
    max-width: 560px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
    background: #fff;
}

.ol-launch-title[b-wrbqixrz02] {
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.ol-launch-desc[b-wrbqixrz02] {
    color: #667085;
    margin-bottom: 1.1rem;
}

.ol-launch-btn[b-wrbqixrz02] {
    display: inline-block;
    padding: 0.5rem 1.1rem;
    background: #0f6cbd;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
}

.ol-launch-btn:hover[b-wrbqixrz02] {
    background: #0c5aa0;
}
/* /Components/Pages/OptionsLearning/OptionsLearningLayout.razor.rz.scp.css */
/* Scoped to OptionsLearningLayout. Full-screen OST site chrome (no Squid sidebar).
   Squid's site.css pins html/body to height:100% with overflow:hidden, so the shell
   fixes itself to the viewport and scrolls its own content area (see .ost-main). */
.ost-shell[b-rt3jcfu772] {
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: #faf9f8;
    overflow: hidden;
}

.ost-header[b-rt3jcfu772] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
}

.ost-brand[b-rt3jcfu772] {
    font-weight: 600;
    font-size: 1.05rem;
    color: #1a1a1a;
}

.ost-brand-mark[b-rt3jcfu772] {
    color: #0f6cbd;
    font-weight: 700;
}

.ost-back[b-rt3jcfu772] {
    color: #0f6cbd;
    text-decoration: none;
    font-size: 0.9rem;
}

.ost-back:hover[b-rt3jcfu772] {
    text-decoration: underline;
}

.ost-main[b-rt3jcfu772] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1.5rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningLeaderboardPost.razor.rz.scp.css */
/* Scoped to OptionsLearningLeaderboardPost: the "saved to leaderboard" line in a game's finish panel. */
.ol-lbpost[b-3kw269z0dl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0.25rem 0 0.75rem;
    font-size: 0.85rem;
}

.ol-lbpost-note[b-3kw269z0dl] {
    color: #667085;
}

.ol-lbpost-ok[b-3kw269z0dl] {
    color: #067647;
    font-weight: 600;
}

.ol-lbpost-err[b-3kw269z0dl] {
    color: #b42318;
    font-weight: 600;
}

.ol-lbpost-link[b-3kw269z0dl] {
    border: none;
    background: none;
    padding: 0;
    color: #0f6cbd;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.ol-lbpost-link:hover[b-3kw269z0dl] {
    text-decoration: underline;
}

/* Per-machine best/plays/fastest line, forced onto its own row below the save status. */
.ol-lbpost-stats[b-3kw269z0dl] {
    flex-basis: 100%;
    color: #667085;
    font-size: 0.8rem;
}

.ol-lbpost-best[b-3kw269z0dl] {
    color: #b54708;
    font-weight: 600;
    margin-right: 0.25rem;
}

.ol-lbpost-warn[b-3kw269z0dl] {
    color: #b54708;
}
/* /Components/Pages/OptionsLearning/OptionsLearningMatch.razor.rz.scp.css */
/* Scoped to OptionsLearningMatch; "ol-" prefixed classes. Light Fluent theme to match Squid. */
.ol-match[b-bhx3b3ldl3] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ol-match-muted[b-bhx3b3ldl3] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #667085;
    max-width: 640px;
}

.ol-match-bar[b-bhx3b3ldl3] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.ol-match-stat[b-bhx3b3ldl3] {
    font-size: 0.9rem;
    color: #667085;
}

.ol-match-stat span[b-bhx3b3ldl3] {
    font-weight: 600;
    color: #1a1a1a;
    margin-left: 0.35rem;
    font-variant-numeric: tabular-nums;
}

.ol-match-reset[b-bhx3b3ldl3] {
    margin-left: auto;
}

.ol-match-done[b-bhx3b3ldl3] {
    padding: 0.6rem 0.9rem;
    border: 1px solid #2e7d32;
    border-radius: 6px;
    background: #f1f8f2;
    color: #1a1a1a;
}

.ol-match-graphs[b-bhx3b3ldl3] {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 0.75rem;
}

.ol-graph-tile[b-bhx3b3ldl3] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    padding: 0.4rem;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.12s ease, background 0.12s ease;
}

.ol-graph-tile.is-matched[b-bhx3b3ldl3] {
    border-color: #2e7d32;
    background: #f1f8f2;
}

.ol-graph-tile.is-wrong[b-bhx3b3ldl3] {
    animation: ol-shake-b-bhx3b3ldl3 0.3s ease;
    border-color: #c62828;
}

.ol-graph-solved[b-bhx3b3ldl3] {
    color: #2e7d32;
    font-weight: 600;
}

.ol-match-names[b-bhx3b3ldl3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ol-name-tile[b-bhx3b3ldl3] {
    padding: 0.5rem 0.85rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #f5f5f5;
    color: #1a1a1a;
    cursor: grab;
    user-select: none;
}

.ol-name-tile:active[b-bhx3b3ldl3] {
    cursor: grabbing;
}

.ol-name-tile.is-matched[b-bhx3b3ldl3] {
    opacity: 0.35;
    cursor: default;
    text-decoration: line-through;
}

@keyframes ol-shake-b-bhx3b3ldl3 {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}
/* /Components/Pages/OptionsLearning/OptionsLearningMemory.razor.rz.scp.css */
/* Scoped to OptionsLearningMemory. Board + tiles + toolbar/HUD; buy/sell/dim come from the
   shared options-learning.css. Light Fluent theme. */
.ol-mem[b-bt2y8jhqmk] {
    display: flex;
    flex-direction: column;
}

.ol-mem-title[b-bt2y8jhqmk] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-mem-sub[b-bt2y8jhqmk] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 720px;
}

.ol-mem-muted[b-bt2y8jhqmk] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #667085;
    max-width: 640px;
}

/* ---- toolbar ---- */
.ol-mem-toolbar[b-bt2y8jhqmk] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.6rem 0.9rem;
    margin-bottom: 1rem;
}

.ol-mem-lbl[b-bt2y8jhqmk] {
    color: #667085;
    font-size: 0.85rem;
}

.ol-mem-select[b-bt2y8jhqmk],
.ol-mem-count[b-bt2y8jhqmk] {
    height: 36px;
    box-sizing: border-box;
    padding: 0 0.5rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    color: #1d2939;
}

.ol-mem-count[b-bt2y8jhqmk] {
    width: 64px;
    text-align: center;
}

/* ---- HUD ---- */
.ol-mem-hud[b-bt2y8jhqmk] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
}

.ol-mem-stat[b-bt2y8jhqmk] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    color: #667085;
}

.ol-mem-mono[b-bt2y8jhqmk] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #1d2939;
}

.ol-mem-hud-spacer[b-bt2y8jhqmk] {
    flex: 1;
}

.ol-mem-paused[b-bt2y8jhqmk] {
    background: #fffaeb;
    border: 1px dashed #fedf89;
    border-radius: 8px;
    padding: 1.1rem;
    text-align: center;
    color: #b54708;
    margin-bottom: 0.9rem;
}

.ol-mem-note[b-bt2y8jhqmk] {
    color: #667085;
    max-width: 640px;
}

/* ---- board + tiles ---- */
.ol-mem-board[b-bt2y8jhqmk] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 0.75rem;
}

.ol-mem-board.is-paused .ol-mem-tile[b-bt2y8jhqmk] {
    visibility: hidden;
}

.ol-mem-tile[b-bt2y8jhqmk] {
    position: relative;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    padding: 0.75rem;
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    user-select: none;
    transition: transform 0.12s, box-shadow 0.12s, opacity 0.3s, border-color 0.12s, background 0.12s;
}

.ol-mem-tile:hover[b-bt2y8jhqmk] {
    border-color: #0f6cbd;
}

.ol-mem-back[b-bt2y8jhqmk] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: 700;
    color: #0f6cbd;
    background: #f2f4f7;
    border-radius: 8px;
    opacity: 0;
    transition: opacity 0.18s;
}

.ol-mem-inner[b-bt2y8jhqmk] {
    transition: opacity 0.18s;
    width: 100%;
}

.ol-mem-tile.is-down .ol-mem-back[b-bt2y8jhqmk] {
    opacity: 1;
}

.ol-mem-tile.is-down .ol-mem-inner[b-bt2y8jhqmk] {
    opacity: 0;
}

.ol-mem-tile.is-wrong[b-bt2y8jhqmk] {
    border-color: #b42318;
    background: #fef3f2;
    animation: ol-mem-shake-b-bt2y8jhqmk 0.36s;
}

.ol-mem-tile.is-matched[b-bt2y8jhqmk] {
    opacity: 0.45;
    border-color: #067647;
    pointer-events: none;
}

.ol-mem-tile.is-matched .ol-mem-back[b-bt2y8jhqmk] {
    opacity: 0;
}

@keyframes ol-mem-shake-b-bt2y8jhqmk {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* ---- facet content ---- */
.ol-tile-name[b-bt2y8jhqmk] {
    font-weight: 650;
    font-size: 0.95rem;
}

.ol-tile-legs[b-bt2y8jhqmk] {
    font-size: 0.82rem;
    line-height: 1.7;
    font-variant-numeric: tabular-nums;
}

.ol-tile-outlook[b-bt2y8jhqmk] {
    font-size: 0.82rem;
    line-height: 1.5;
}

.ol-tile-graph[b-bt2y8jhqmk] {
    width: 100%;
}

/* ---- summary ---- */
.ol-mem-summary[b-bt2y8jhqmk] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-top: 1rem;
}

.ol-mem-summary h2[b-bt2y8jhqmk] {
    margin: 0 0 0.5rem;
    font-size: 1.15rem;
}

.ol-mem-summary-actions[b-bt2y8jhqmk] {
    margin-top: 0.75rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningPayoffChart.razor.rz.scp.css */
/* Scoped to OptionsLearningPayoffChart; class names are "ol-" prefixed for extra safety. */
.ol-payoff[b-diq3u0v4bd] {
    width: 100%;
    height: auto;
    display: block;
}

.ol-payoff-line[b-diq3u0v4bd] {
    fill: none;
    stroke: #0f6cbd;
    stroke-width: 2;
}

.ol-zero-line[b-diq3u0v4bd] {
    stroke: #9aa0a6;
    stroke-width: 1;
    stroke-dasharray: 3 3;
}

.ol-pl-profit-fill[b-diq3u0v4bd] {
    fill: rgba(63, 185, 80, 0.20);
    stroke: none;
}

.ol-pl-loss-fill[b-diq3u0v4bd] {
    fill: rgba(248, 81, 73, 0.18);
    stroke: none;
}

.ol-spot-line[b-diq3u0v4bd] {
    stroke: #98a2b3;
    stroke-width: 1;
    stroke-dasharray: 2 4;
    opacity: 0.7;
}

.ol-payoff-component[b-diq3u0v4bd] {
    fill: none;
    stroke: #8250df;
    stroke-width: 1.4;
    stroke-dasharray: 5 3;
    opacity: 0.85;
    vector-effect: non-scaling-stroke;
}

.ol-be-dot[b-diq3u0v4bd] {
    fill: #b54708;
    stroke: #fff;
    stroke-width: 1;
}

.ol-be-label[b-diq3u0v4bd] {
    fill: #b54708;
    font-size: 10px;
    text-anchor: middle;
}

.ol-axis-label[b-diq3u0v4bd] {
    fill: #667085;
    font-size: 10px;
}

.ol-axis-y[b-diq3u0v4bd] {
    text-anchor: end;
}

.ol-axis-x-start[b-diq3u0v4bd] {
    text-anchor: start;
}

.ol-axis-x-mid[b-diq3u0v4bd] {
    text-anchor: middle;
}

.ol-axis-x-end[b-diq3u0v4bd] {
    text-anchor: end;
}
/* /Components/Pages/OptionsLearning/OptionsLearningQuiz.razor.rz.scp.css */
/* Scoped to OptionsLearningQuiz (the answer-until-10 MC drills). Light Fluent theme, matching
   the other modes; primitives like section labels come from the shared options-learning.css. */
.ol-quiz[b-9o3w73tueq] {
    display: flex;
    flex-direction: column;
}

.ol-quiz-title[b-9o3w73tueq] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-quiz-sub[b-9o3w73tueq] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 760px;
    line-height: 1.5;
}

.ol-quiz-muted[b-9o3w73tueq] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #667085;
    max-width: 640px;
}

/* ---- setup ---- */
.ol-quiz-setup[b-9o3w73tueq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.ol-quiz-setup-note[b-9o3w73tueq] {
    font-size: 0.85rem;
    color: #667085;
    flex: 1;
}

/* ---- HUD ---- */
.ol-quiz-hud[b-9o3w73tueq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.ol-quiz-stat[b-9o3w73tueq] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    color: #667085;
}

.ol-quiz-mono[b-9o3w73tueq] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #1d2939;
}

.ol-quiz-hud-spacer[b-9o3w73tueq] {
    flex: 1;
}

/* ---- question card ---- */
.ol-quiz-card[b-9o3w73tueq] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem 1.25rem;
    max-width: 760px;
}

.ol-quiz-prompt[b-9o3w73tueq] {
    font-size: 1rem;
    font-weight: 600;
    color: #1d2939;
    line-height: 1.45;
}

.ol-quiz-prompt-mono[b-9o3w73tueq] {
    margin-top: 0.5rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.95rem;
    color: #5925dc;
    letter-spacing: 0.02em;
}

/* ---- options ---- */
.ol-quiz-options[b-9o3w73tueq] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 1rem 0 0.4rem;
}

.ol-quiz-opt[b-9o3w73tueq] {
    text-align: left;
    padding: 0.6rem 0.8rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.9rem;
    color: #1d2939;
    cursor: pointer;
    transition: border-color 0.12s, background 0.12s;
}

.ol-quiz-opt:hover:enabled[b-9o3w73tueq] {
    border-color: #0f6cbd;
}

.ol-quiz-opt:disabled[b-9o3w73tueq] {
    cursor: default;
}

.ol-quiz-opt.is-mono[b-9o3w73tueq] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 0.02em;
}

.ol-quiz-opt.is-correct[b-9o3w73tueq] {
    border-color: #a9efc5;
    background: #ecfdf3;
    color: #067647;
    font-weight: 600;
}

.ol-quiz-opt.is-wrong[b-9o3w73tueq] {
    border-color: #fecdca;
    background: #fef3f2;
    color: #b42318;
    font-weight: 600;
}

/* ---- feedback ---- */
.ol-quiz-feedback[b-9o3w73tueq] {
    margin-top: 0.75rem;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    font-size: 0.88rem;
    line-height: 1.45;
}

.ol-quiz-feedback.is-ok[b-9o3w73tueq] {
    background: #ecfdf3;
    border: 1px solid #a9efc5;
    color: #067647;
}

.ol-quiz-feedback.is-no[b-9o3w73tueq] {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

.ol-quiz-next[b-9o3w73tueq] {
    margin-top: 0.9rem;
}

/* ---- finish ---- */
.ol-quiz-score[b-9o3w73tueq] {
    font-size: 1.4rem;
    margin: 0 0 0.3rem;
    color: #1d2939;
}

.ol-quiz-summary[b-9o3w73tueq] {
    color: #344054;
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
}

.ol-quiz-tag[b-9o3w73tueq] {
    color: #98a2b3;
    font-size: 0.78rem;
    margin: 0 0 0.75rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningSandbox.razor.rz.scp.css */
/* Scoped to OptionsLearningSandbox. Metrics grid + buy/sell/dim come from options-learning.css. */
.ol-sb[b-a4w13oof07] {
    display: flex;
    flex-direction: column;
}

.ol-sb-title[b-a4w13oof07] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-sb-sub[b-a4w13oof07] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 760px;
}

.ol-sb-panel[b-a4w13oof07] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.9rem 1rem;
    margin-bottom: 1rem;
}

.ol-sb-row[b-a4w13oof07] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ol-sb-spacer[b-a4w13oof07] {
    flex: 1;
}

.ol-sb-adder[b-a4w13oof07] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.ol-sb-field[b-a4w13oof07] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ol-sb-lbl[b-a4w13oof07] {
    color: #667085;
    font-size: 0.78rem;
}

.ol-sb-select[b-a4w13oof07],
.ol-sb-input[b-a4w13oof07] {
    height: 36px;
    box-sizing: border-box;
    padding: 0 0.5rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    color: #1d2939;
}

.ol-sb-input[b-a4w13oof07] {
    width: 110px;
}

.ol-sb-spot[b-a4w13oof07] {
    width: 90px;
}

.ol-sb-qty[b-a4w13oof07] {
    width: 70px;
}

.ol-sb-input:disabled[b-a4w13oof07] {
    background: #f2f4f7;
    color: #98a2b3;
}

/* ---- leg chips ---- */
.ol-sb-legs[b-a4w13oof07] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.ol-sb-empty[b-a4w13oof07] {
    color: #98a2b3;
    font-size: 0.85rem;
}

.ol-sb-chip[b-a4w13oof07] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.ol-sb-x[b-a4w13oof07] {
    border: none;
    background: none;
    color: #98a2b3;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 0;
}

.ol-sb-x:hover[b-a4w13oof07] {
    color: #b42318;
}

/* ---- output ---- */
.ol-sb-output[b-a4w13oof07] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.1rem;
}

.ol-sb-recognized[b-a4w13oof07] {
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
    color: #667085;
}

.ol-sb-recognized.is-hit strong[b-a4w13oof07] {
    color: #067647;
}

.ol-sb-metrics[b-a4w13oof07] {
    margin-top: 0.75rem;
    max-width: 420px;
}

.ol-sb-note[b-a4w13oof07] {
    color: #98a2b3;
    font-size: 0.78rem;
    margin-top: 0.6rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningSprint.razor.rz.scp.css */
/* Scoped to OptionsLearningSprint (the 90-second timed drills). Light Fluent theme; buy/sell and
   the legs list come from the shared options-learning.css. */
.ol-sprint[b-evsdmx0r55] {
    display: flex;
    flex-direction: column;
}

.ol-sprint-title[b-evsdmx0r55] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-sprint-sub[b-evsdmx0r55] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 780px;
    line-height: 1.5;
}

/* ---- setup ---- */
.ol-sprint-setup[b-evsdmx0r55] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.ol-sprint-setup-note[b-evsdmx0r55] {
    font-size: 0.85rem;
    color: #667085;
    flex: 1;
}

/* ---- HUD ---- */
.ol-sprint-hud[b-evsdmx0r55] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.ol-sprint-stat[b-evsdmx0r55] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    color: #667085;
}

.ol-sprint-mono[b-evsdmx0r55] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #1d2939;
}

.ol-sprint-mono.is-low[b-evsdmx0r55] {
    color: #d92d20;
}

.ol-sprint-hud-spacer[b-evsdmx0r55] {
    flex: 1;
}

/* ---- paused ---- */
.ol-sprint-paused[b-evsdmx0r55] {
    background: #fffaeb;
    border: 1px solid #fedf89;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #b54708;
    max-width: 640px;
    font-size: 0.9rem;
}

/* ---- question card ---- */
.ol-sprint-card[b-evsdmx0r55] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem 1.25rem;
    max-width: 640px;
    outline: none;
}

.ol-sprint-banner[b-evsdmx0r55] {
    padding: 0.55rem 0.8rem;
    border-radius: 6px;
    font-size: 0.85rem;
    margin-bottom: 0.9rem;
}

.ol-sprint-banner.is-ok[b-evsdmx0r55] {
    background: #ecfdf3;
    border: 1px solid #a9efc5;
    color: #067647;
}

.ol-sprint-banner.is-no[b-evsdmx0r55] {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

.ol-sprint-legs[b-evsdmx0r55] {
    font-size: 0.95rem;
    line-height: 2;
}

.ol-sprint-prompt[b-evsdmx0r55] {
    margin-top: 0.9rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1d2939;
    line-height: 1.45;
}

/* ---- tap options (Moneyness) ---- */
.ol-sprint-options[b-evsdmx0r55] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.9rem;
}

.ol-sprint-opt[b-evsdmx0r55] {
    min-width: 110px;
    text-align: center;
    padding: 0.6rem 0.9rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.95rem;
    color: #1d2939;
    cursor: pointer;
    transition: border-color 0.12s, background 0.12s;
}

.ol-sprint-opt:hover[b-evsdmx0r55] {
    border-color: #0f6cbd;
    background: #eff8ff;
}

/* ---- numeric entry (Break-even, Option Value) ---- */
.ol-sprint-input[b-evsdmx0r55] {
    width: 100%;
    max-width: 280px;
    box-sizing: border-box;
    height: 38px;
    margin-top: 0.9rem;
    padding: 0 0.7rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    font-size: 0.95rem;
    color: #1d2939;
}

.ol-sprint-input:focus[b-evsdmx0r55] {
    outline: none;
    border-color: #0f6cbd;
    box-shadow: 0 0 0 3px rgba(15, 108, 189, 0.12);
}

.ol-sprint-input:read-only[b-evsdmx0r55] {
    background: #f2f4f7;
    color: #667085;
}

.ol-sprint-actions[b-evsdmx0r55] {
    margin-top: 0.9rem;
}

.ol-sprint-feedback[b-evsdmx0r55] {
    margin-top: 0.9rem;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    font-size: 0.88rem;
    line-height: 1.45;
}

.ol-sprint-feedback.is-no[b-evsdmx0r55] {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

/* ---- finish ---- */
.ol-sprint-score[b-evsdmx0r55] {
    font-size: 1.4rem;
    margin: 0 0 0.3rem;
    color: #1d2939;
}

.ol-sprint-summary[b-evsdmx0r55] {
    color: #344054;
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
}

.ol-sprint-tag[b-evsdmx0r55] {
    color: #98a2b3;
    font-size: 0.78rem;
    margin: 0 0 0.75rem;
}
/* /Components/Pages/OptionsLearning/OptionsLearningTest.razor.rz.scp.css */
/* Scoped to OptionsLearningTest. Section labels, buy/sell, profit/loss, dim and the legs list
   come from the shared options-learning.css. Light Fluent theme, matching the other modes. */
.ol-test[b-ba6upmj7if] {
    display: flex;
    flex-direction: column;
}

.ol-test-title[b-ba6upmj7if] {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
}

.ol-test-sub[b-ba6upmj7if] {
    color: #667085;
    margin: 0 0 1.25rem;
    max-width: 820px;
    line-height: 1.5;
}

.ol-test-muted[b-ba6upmj7if] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #667085;
    max-width: 640px;
}

/* ---- setup ---- */
.ol-test-setup[b-ba6upmj7if] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.ol-test-setup-label[b-ba6upmj7if] {
    font-size: 0.85rem;
    color: #667085;
}

.ol-test-select[b-ba6upmj7if] {
    height: 36px;
    box-sizing: border-box;
    padding: 0 0.5rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.85rem;
    color: #1d2939;
}

/* ---- question head + progress ---- */
.ol-test-head[b-ba6upmj7if] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.ol-test-tag[b-ba6upmj7if] {
    font-size: 0.75rem;
    color: #98a2b3;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ol-test-progress[b-ba6upmj7if] {
    height: 6px;
    background: #eaecf0;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 0.9rem;
}

.ol-test-progress-fill[b-ba6upmj7if] {
    height: 100%;
    background: #0f6cbd;
    transition: width 0.2s ease;
}

/* ---- question card ---- */
.ol-test-card[b-ba6upmj7if] {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem 1.25rem;
    max-width: 760px;
}

.ol-test-prompt[b-ba6upmj7if] {
    font-size: 1rem;
    font-weight: 600;
    color: #1d2939;
    line-height: 1.45;
}

.ol-test-prompt-mono[b-ba6upmj7if] {
    margin-top: 0.5rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.95rem;
    color: #5925dc;
    letter-spacing: 0.02em;
}

.ol-test-node[b-ba6upmj7if] {
    margin: 0.9rem 0;
}

.ol-test-graph[b-ba6upmj7if] {
    margin: 0.75rem 0;
    max-width: 460px;
}

.ol-test-mono[b-ba6upmj7if] {
    font-variant-numeric: tabular-nums;
    color: #475467;
}

/* ---- options (mc + select-all) ---- */
.ol-test-options[b-ba6upmj7if] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 1rem 0 0.4rem;
}

.ol-test-opt[b-ba6upmj7if] {
    text-align: left;
    padding: 0.6rem 0.8rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 0.9rem;
    color: #1d2939;
    cursor: pointer;
    transition: border-color 0.12s, background 0.12s;
}

.ol-test-opt:hover[b-ba6upmj7if] {
    border-color: #0f6cbd;
}

.ol-test-opt.is-chosen[b-ba6upmj7if] {
    border-color: #0f6cbd;
    background: #eff8ff;
    font-weight: 600;
}

.ol-test-opt.is-mono[b-ba6upmj7if] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 0.02em;
}

/* ---- text / numeric inputs ---- */
.ol-test-input[b-ba6upmj7if] {
    width: 100%;
    box-sizing: border-box;
    height: 38px;
    margin-top: 1rem;
    padding: 0 0.7rem;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    font-size: 0.95rem;
    color: #1d2939;
}

.ol-test-input:focus[b-ba6upmj7if] {
    outline: none;
    border-color: #0f6cbd;
    box-shadow: 0 0 0 3px rgba(15, 108, 189, 0.12);
}

.ol-test-input-num[b-ba6upmj7if] {
    max-width: 280px;
}

.ol-test-hint[b-ba6upmj7if] {
    margin-top: 0.4rem;
    font-size: 0.75rem;
    color: #98a2b3;
}

/* ---- nav ---- */
.ol-test-nav[b-ba6upmj7if] {
    display: flex;
    align-items: center;
    margin-top: 1.25rem;
}

.ol-test-nav-spacer[b-ba6upmj7if] {
    flex: 1;
}

/* ---- results + review ---- */
.ol-test-score[b-ba6upmj7if] {
    font-size: 1.5rem;
    margin: 0 0 0.3rem;
    color: #1d2939;
}

.ol-test-review[b-ba6upmj7if] {
    margin: 0.75rem 0 0.25rem;
}

.ol-test-review-row[b-ba6upmj7if] {
    display: grid;
    grid-template-columns: 1.2rem 1fr auto;
    gap: 0.5rem;
    align-items: baseline;
    padding-top: 0.55rem;
    font-size: 0.88rem;
}

.ol-test-review-q[b-ba6upmj7if] {
    color: #344054;
}

.ol-test-review-a[b-ba6upmj7if] {
    text-align: right;
    white-space: nowrap;
}

.ol-test-review-why[b-ba6upmj7if] {
    grid-column: 2 / 4;
    margin: 0.15rem 0 0.35rem 1.7rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #eaecf0;
    color: #667085;
    font-size: 0.82rem;
    line-height: 1.45;
}
/* /Components/Pages/OptionsLearning/OptionsLearningTrainer.razor.rz.scp.css */
/* Scoped to OptionsLearningTrainer. The site chrome (header/back link) is in the layout;
   this styles the mode nav and mode bodies. */
.ol-trainer[b-6j3yl60k1z] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.ol-mode-nav[b-6j3yl60k1z] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 0.75rem;
}

.ol-soon[b-6j3yl60k1z] {
    color: #667085;
    padding: 1.5rem 0;
}
/* /Components/Pages/Spreadsheets/OptionsPricer2.razor.rz.scp.css */
.main-content[b-543ld1j76a] {
    padding: 20px;
    height: auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.block-content[b-543ld1j76a] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.title[b-543ld1j76a] {
    margin-bottom: 24px;
}

.title-header-text[b-543ld1j76a] {
    font-size: 28px;
    font-weight: 600;
    color: #333;
}

.title-content-text[b-543ld1j76a] {
    font-size: 14px;
    color: #666;
    margin-top: 8px;
}

.loading-container[b-543ld1j76a] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.empty-state[b-543ld1j76a] {
    text-align: center;
    padding: 60px 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    color: #666;
}

.empty-state p[b-543ld1j76a] {
    margin: 8px 0;
}

.spreadsheet-grid[b-543ld1j76a] {
    margin-top: 16px;
}

.alert[b-543ld1j76a] {
    border-radius: 4px;
}

[b-543ld1j76a] .me-1 {
    margin-right: 4px;
}

.spreadsheet-link[b-543ld1j76a] {
    color: #0d6efd;
    text-decoration: none;
    cursor: pointer;
    font-weight: 500;
}

.spreadsheet-link:hover[b-543ld1j76a] {
    color: #0a58ca;
    text-decoration: underline;
}
/* /Components/Pages/Spreadsheets/OptionsPricer2Viewer.razor.rz.scp.css */
.main-content[b-bmhmqjji4k] {
    padding: 20px;
    height: auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.block-content[b-bmhmqjji4k] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.spreadsheet-header[b-bmhmqjji4k] {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 16px;
    margin-top: 16px;
}

.spreadsheet-header h2[b-bmhmqjji4k] {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    word-break: break-word;
}

.button-group[b-bmhmqjji4k] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.loading-container[b-bmhmqjji4k] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.worksheet-tabs[b-bmhmqjji4k] {
    display: flex;
    background-color: #f0f0f0;
    border: 1px solid #e0e0e0;
    border-radius: 4px 4px 0 0;
    padding: 0;
    overflow-x: auto;
}

.worksheet-tab[b-bmhmqjji4k] {
    padding: 8px 16px;
    border: none;
    background-color: #e8e8e8;
    border-right: 1px solid #d0d0d0;
    cursor: pointer;
    font-size: 13px;
    color: #555;
    transition: background-color 0.15s ease;
    white-space: nowrap;
}

.worksheet-tab:hover[b-bmhmqjji4k] {
    background-color: #d8d8d8;
}

.worksheet-tab.active[b-bmhmqjji4k] {
    background-color: #fff;
    color: #333;
    font-weight: 500;
    border-bottom: 2px solid #0d6efd;
}

.spreadsheet-grid-container[b-bmhmqjji4k] {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.spreadsheet-data-grid[b-bmhmqjji4k] {
    font-size: 13px;
}

/* Allow text wrapping in cells so rows expand to fit content */
[b-bmhmqjji4k] .spreadsheet-data-grid td {
    white-space: normal;
    word-wrap: break-word;
}

.empty-worksheet[b-bmhmqjji4k] {
    padding: 40px;
    text-align: center;
    color: #666;
}

.alert[b-bmhmqjji4k] {
    border-radius: 4px;
}
/* /Components/Pages/Spreadsheets/SpreadsheetList.razor.rz.scp.css */
.main-content[b-bk492av4tf] {
    padding: 20px;
}

.block-content[b-bk492av4tf] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.title[b-bk492av4tf] {
    margin-bottom: 24px;
}

.title-header-text[b-bk492av4tf] {
    font-size: 28px;
    font-weight: 600;
    color: #333;
}

.title-content-text[b-bk492av4tf] {
    font-size: 14px;
    color: #666;
    margin-top: 8px;
}

.upload-section[b-bk492av4tf] {
    margin-bottom: 24px;
}

.loading-container[b-bk492av4tf] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.empty-state[b-bk492av4tf] {
    text-align: center;
    padding: 60px 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    color: #666;
}

.empty-state p[b-bk492av4tf] {
    margin: 8px 0;
}

.spreadsheet-grid[b-bk492av4tf] {
    margin-top: 16px;
}

.upload-form[b-bk492av4tf] {
    padding: 16px 0;
}

.alert[b-bk492av4tf] {
    border-radius: 4px;
}

[b-bk492av4tf] .me-1 {
    margin-right: 4px;
}

.spreadsheet-link[b-bk492av4tf] {
    color: #0d6efd;
    text-decoration: none;
    cursor: pointer;
    font-weight: 500;
}

.spreadsheet-link:hover[b-bk492av4tf] {
    color: #0a58ca;
    text-decoration: underline;
}
/* /Components/Pages/Spreadsheets/SpreadsheetViewer.razor.rz.scp.css */
.main-content[b-oo1318fasp] {
    padding: 20px;
    height: auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.block-content[b-oo1318fasp] {
    width: 90%;
    max-width: none;
    margin: 0 auto;
}

.spreadsheet-header[b-oo1318fasp] {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 16px;
    margin-top: 16px;
}

.spreadsheet-header h2[b-oo1318fasp] {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    word-break: break-word;
}

.spreadsheet-header .d-flex[b-oo1318fasp] {
    flex-wrap: wrap;
    gap: 12px;
}

.button-group[b-oo1318fasp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 992px) {
    .spreadsheet-header .d-flex[b-oo1318fasp] {
        flex-direction: column;
        align-items: flex-start !important;
    }
    
    .button-group[b-oo1318fasp] {
        width: 100%;
        justify-content: flex-start;
    }
}

.loading-container[b-oo1318fasp] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.formula-bar[b-oo1318fasp] {
    display: flex;
    align-items: center;
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 8px 12px;
    margin-top: 16px;
    margin-bottom: 8px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.formula-bar-cell[b-oo1318fasp] {
    min-width: 60px;
    font-weight: 600;
    color: #333;
    padding-right: 12px;
    border-right: 1px solid #d0d0d0;
}

.formula-bar-separator[b-oo1318fasp] {
    padding: 0 12px;
    color: #666;
    font-style: italic;
    font-weight: 500;
}

.formula-bar-value[b-oo1318fasp] {
    flex: 1;
    font-family: 'Consolas', 'Courier New', monospace;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.formula-bar-input[b-oo1318fasp] {
    flex: 1;
    font-family: 'Consolas', 'Courier New', monospace;
    color: #333;
    border: 1px solid transparent;
    background-color: transparent;
    padding: 4px 8px;
    font-size: 14px;
    outline: none;
    min-width: 0;
}

.formula-bar-input:focus[b-oo1318fasp] {
    border-color: #0d6efd;
    background-color: #fff;
    border-radius: 3px;
}

.formula-bar-input:disabled[b-oo1318fasp] {
    background-color: transparent;
    cursor: default;
}

.spreadsheet-container[b-oo1318fasp] {
    margin-top: 8px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.table-responsive[b-oo1318fasp] {
    max-height: 600px;
    overflow: auto;
}

.spreadsheet-table[b-oo1318fasp] {
    margin: 0;
    font-size: 13px;
    border-collapse: collapse;
    width: auto;
}

.spreadsheet-table th[b-oo1318fasp],
.spreadsheet-table td[b-oo1318fasp] {
    padding: 6px 10px;
    border: 1px solid #d0d0d0;
    white-space: nowrap;
    min-width: 80px;
    max-width: 300px;
    width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.spreadsheet-table .row-header[b-oo1318fasp],
.spreadsheet-table .column-header[b-oo1318fasp] {
    background-color: #f5f5f5;
    font-weight: 600;
    text-align: center;
    position: sticky;
    z-index: 1;
}

.spreadsheet-table .column-header[b-oo1318fasp] {
    top: 0;
    position: relative;
    user-select: none;
}

.column-resize-handle[b-oo1318fasp] {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    cursor: col-resize;
    background-color: transparent;
    z-index: 10;
}

.column-resize-handle:hover[b-oo1318fasp],
.column-resize-handle.resizing[b-oo1318fasp] {
    background-color: #0d6efd;
}

.spreadsheet-table .row-header[b-oo1318fasp] {
    left: 0;
    min-width: 50px;
    max-width: 50px;
}

.spreadsheet-table thead th.row-header[b-oo1318fasp] {
    z-index: 2;
}

.spreadsheet-table .editable-cell[b-oo1318fasp] {
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.spreadsheet-table .editable-cell:hover[b-oo1318fasp] {
    background-color: #e8f4fd;
}

.spreadsheet-table .cell-modified[b-oo1318fasp] {
    background-color: #d4edda;
}

.spreadsheet-table .cell-modified:hover[b-oo1318fasp] {
    background-color: #c3e6cb;
}

.cell-input[b-oo1318fasp] {
    width: 100%;
    height: 100%;
    border: 2px solid #0d6efd;
    border-radius: 2px;
    padding: 2px 6px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

.empty-worksheet[b-oo1318fasp] {
    padding: 40px;
    text-align: center;
    color: #666;
}

.alert[b-oo1318fasp] {
    border-radius: 4px;
}

[b-oo1318fasp] .me-2 {
    margin-right: 8px;
}

.worksheet-tabs[b-oo1318fasp] {
    display: flex;
    background-color: #f0f0f0;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 4px 4px;
    padding: 0;
    overflow-x: auto;
}

.worksheet-tab[b-oo1318fasp] {
    padding: 8px 16px;
    border: none;
    background-color: #e8e8e8;
    border-right: 1px solid #d0d0d0;
    cursor: pointer;
    font-size: 13px;
    color: #555;
    transition: background-color 0.15s ease;
    white-space: nowrap;
}

.worksheet-tab:hover[b-oo1318fasp] {
    background-color: #d8d8d8;
}

.worksheet-tab.active[b-oo1318fasp] {
    background-color: #fff;
    color: #333;
    font-weight: 500;
    border-bottom: 2px solid #0d6efd;
}
