@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.84wtju4z0n.bundle.scp.css';

/* /Components/HelpVideoDialog.razor.rz.scp.css */
.help-video-dialog-body[b-r70nemklb5] {
    overflow: hidden;
    padding: 0;
    display: flex;
    justify-content: center;
}

.help-video-dialog-video[b-r70nemklb5] {
    width: min(960px, 92vw);
    flex: 1 1 auto;
    margin: 0 auto;
}

[b-r70nemklb5] .help-video-dialog-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

[b-r70nemklb5] .help-video-dialog-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* /Components/InviteUser.razor.rz.scp.css */
.invite-row[b-wdwqaecnrh] {
    display: flex;    
}
/* /Components/TextArea.razor.rz.scp.css */
[b-0kwvg7wm2e] fluent-text-area::part(control) {
    background: transparent;
}


/* for the textrow when it's not part of the sortable list (stand-alone): */
/* extend the blue focus line at the bottom of the text field a bit to match the added outer margin */
[b-0kwvg7wm2e] fluent-text-area:after {
    width: calc(100% + 4px);
    margin-left: -2px;
    margin-bottom: -1px;
}

.dftextfield-audit-container[b-0kwvg7wm2e] {
    display: flex;
    align-items: start;
    justify-content: center;
    width: 24px;
    font-size: 10px;
    margin-right: -30px; /* this is mirrored in the sortable item and moves the audit info to the right of the background */
}

.textrow-container[b-0kwvg7wm2e] {
    width: 100%;
    display: flex;
    align-items: center;
}

/* this funky selector chooses all textrow-container elements that are not children of a fluent-sortable-list */
/* overrrides the previous style */
.textrow-container[b-0kwvg7wm2e] {
    width: calc(100% - 30px) !important;
    display: flex;
    align-items: center;
    background-color: var(--neutral-fill-input-alt-rest);
    border: 1px solid var(--neutral-stroke-input-active);
    border-radius: 4px;
}

/* this is the value that needs to change in case the audit info in rows in a list do not line up with the audit infos when stand-alone */
.dftextfield-audit-container[b-0kwvg7wm2e] {
    margin-left: 8px;
}

.textrow-container:hover[b-0kwvg7wm2e] {
    background: var(--neutral-fill-input-alt-hover);
}
/* /Components/TextRow.razor.rz.scp.css */
[b-iiay22xi8d] fluent-select::part(control) {
    background: transparent;
}

[b-iiay22xi8d] fluent-select {
    height: 31px;
    min-height: 31px;
    max-height: 31px;
    margin-top: 1px;
    border-right: var(--neutral-stroke-input-active) 1px solid;
    border-radius: 0px;
}

    [b-iiay22xi8d] fluent-select:hover {
        background-color: var(--neutral-fill-input-hover);
    }

/* move the border to the left, if inside right container...*/
.textrow-right[b-iiay22xi8d]  fluent-select {
    border-right: var(--neutral-stroke-input-active) 0px solid;
    border-left: var(--neutral-stroke-input-active) 1px solid;
}

/*::deep fluent-select {
    border-radius: 0px;
    border-right: 1px black var(--neutral-stroke-input-active);
}
*/
/* remove focus underline from combo-box itself */
/*    ::deep fluent-select::after {
        border-width: 0px;
    }
*/
    [b-iiay22xi8d] fluent-select::part(control) {
        height: 31px;
        min-height: 31px;
        max-height: 31px;
/*        margin-top: 1px;
*/    }



[b-iiay22xi8d] .k-colorpicker {
    height: 30px;
    align-self: end;
    width: 72px;
    background-color: transparent;
    border: none;
    border-right: var(--neutral-stroke-input-active) 1px solid;
    border-radius: 0px;
    --kendo-picker-text: var(--neutral-foreground-rest);
    --kendo-picker-hover-text: var(--neutral-foreground-rest);
    --kendo-picker-hover-bg: var(--neutral-fill-input-hover);
}

[b-iiay22xi8d] fluent-text-field::part(root) {
    background: transparent;
}

[b-iiay22xi8d] fluent-text-field.text-start-aligned::part(control) {
    text-align: start;
}

[b-iiay22xi8d] fluent-text-field.text-center-aligned::part(control) {
    text-align: center;
}

[b-iiay22xi8d] fluent-text-field.text-end-aligned::part(control) {
    text-align: end;
}

[b-iiay22xi8d] fluent-text-field.text-left-aligned::part(control) {
    text-align: left;
}

[b-iiay22xi8d] fluent-text-field.text-right-aligned::part(control) {
    text-align: right;
}

/* for the textrow when part of a list: */
/* extend the blue focus line at the bottom of the text field to extend under the re-order and dismiss buttons */
[b-iiay22xi8d] fluent-text-field:after {
    /*width: calc(100% + 50px);*/   /* this needs to be +55px for pen and +53px or so when showing the persona :/ */
    /*margin-left: -19px;
    margin-bottom: -1px;*/
    border-width: 0px;
}

/* for the textrow when it's not part of the sortable list (stand-alone): */
/* extend the blue focus line at the bottom of the text field a bit to match the added outer margin */
[b-iiay22xi8d] .is-stand-alone fluent-text-field:after {
/*    width: calc(100% + 4px);
    margin-left: -2px;
    margin-bottom: -1px;
*/    border-width: 0px;
}

/* css styles for the dismiss button */
[b-iiay22xi8d] .textrow-dismissbutton {
    width: 24px;
    height: 24px;
    max-width: 24px;
    min-width: 24px;
    margin-top: 4px;
    margin-bottom: 4px;
    margin-left: 4px;
    margin-right: 2px;
}

/* css styles for the dismiss button - hilight when mouse over / clicking */
[b-iiay22xi8d] fluent-button:hover {
    background: #C42B1C;
}
    [b-iiay22xi8d] fluent-button:hover svg {
        fill: white !important;
    }

[b-iiay22xi8d] fluent-button:active {
    background: #DF667B;
}
    [b-iiay22xi8d] fluent-button:active svg {
        fill: white !important;
    }

.dftextfield-audit-container[b-iiay22xi8d] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    font-size: 10px;
    margin-right: -30px; /* this is mirrored in the sortable item and moves the audit info to the right of the background */
}

.textrow-container[b-iiay22xi8d] {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative; /* this is essential for the focus border to work in the ::after pseudo-element! */
}

/* this funky selector chooses all textrow-container elements that are not children of a fluent-sortable-list */
/* overrrides the previous style */
    .textrow-container:not(.fluent-sortable-list .textrow-container)[b-iiay22xi8d] {
        width: calc(100% - 30px) !important;
        display: flex;
        align-items: center;
        height: 32px;
        background-color: var(--neutral-fill-input-alt-rest);
        border: 1px solid var(--neutral-stroke-input-active);
        border-radius: calc(var(--control-corner-radius) * 1px);
    }

/* this is the value that needs to change in case the audit info in rows in a list do not line up with the audit infos when stand-alone */
.dftextfield-audit-container:not(.fluent-sortable-list .textrow-container)[b-iiay22xi8d] {
    margin-left: 8px;
}

.textrow-container:hover[b-iiay22xi8d] {
    background: var(--neutral-fill-input-alt-hover);
}

.textrow-container:not(.fluent-sortable-list .textrow-container):hover[b-iiay22xi8d] {
    background: var(--neutral-fill-input-alt-hover);
}

.textrow-container:not([disabled]):focus-within[b-iiay22xi8d]::after {
    margin-bottom: -2px;
    border-bottom: calc(var(--focus-stroke-width) * 1px) solid var(--accent-fill-rest);
    border-bottom-left-radius: calc(var(--control-corner-radius) * 1px);
    border-bottom-right-radius: calc(var(--control-corner-radius) * 1px);
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 2px;
    content: '';
    position: absolute;
    z-index: 2;
}

/* Adds visible spacing between left and right areas in the row */
.textrow-row[b-iiay22xi8d] {

}

/* Ensure the right side is treated as its own block within the flex row */
.textrow-right[b-iiay22xi8d] {
    display: flex;
    align-items: center;
    min-width: 0; /* prevents overflow issues with long text fields */
    gap: 4px;     /* inner spacing for any items inside the right slot */
}

/* Add horizontal space between the main input and right-side content */
.sortable-item-content[b-iiay22xi8d] {
    display: flex;
}

/* 50/50 layout when right-side content exists */

.sortable-item-content.has-right fluent-text-field[b-iiay22xi8d] {
    flex: 1 1 0;
    min-width: 0;
}

.sortable-item-content.has-right .textrow-right[b-iiay22xi8d] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
}

/* Keep dismiss button & audit info from affecting 50/50 distribution */
.sortable-item-content .textrow-dismissbutton[b-iiay22xi8d],
.sortable-item-content .dftextfield-audit-container[b-iiay22xi8d] {
    flex: 0 0 auto;
}
/* /Features/Calibration/Components/BinaryQuizV2.razor.rz.scp.css */
/* BinaryQuizV2 — quiz card, T/F buttons, confidence chips, swipe, responsive layout */

.cal-statement[b-g3k8i0gwzj] {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 767px) {
    .cal-statement[b-g3k8i0gwzj] {
        margin-bottom: 8px;
    }
}

/* ── Progress (shared) ── */
.cal-progress-wrap[b-g3k8i0gwzj] {
    padding: 0 2px;
    flex-shrink: 0;
}

.cal-progress-track[b-g3k8i0gwzj] {
    height: 6px;
    background: var(--cal-surface-2);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 4px;
}

.cal-progress-fill[b-g3k8i0gwzj] {
    height: 100%;
    background: linear-gradient(90deg, var(--cal-blue), var(--cal-gold));
    border-radius: 3px;
    position: relative;
    transition: width var(--cal-medium) var(--cal-ease);
    min-width: 6px;
}

.cal-progress-pip[b-g3k8i0gwzj] {
    position: absolute;
    right: -3px;
    top: -3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--cal-gold);
    box-shadow: 0 0 8px var(--cal-gold);
}

.cal-progress-label[b-g3k8i0gwzj] {
    font-size: 12px;
    color: var(--cal-gold);
    text-align: right;
    margin-bottom: 12px;
    font-family: var(--cal-mono);
}

/* ── True / False Buttons ── */
.cal-tf-row[b-g3k8i0gwzj] {
    display: flex;
    gap: 6px;
}

.cal-tf-btn[b-g3k8i0gwzj] {
    flex: 1;
    padding: 14px;
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-sm);
    background: var(--cal-surface-2);
    color: var(--cal-text);          /* ← full contrast, not muted */
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 48px;
}

.cal-tf-btn:hover[b-g3k8i0gwzj] {
    border-color: var(--cal-gold-dim);
    background: var(--cal-surface-3);
}

.cal-tf-btn--selected[b-g3k8i0gwzj] {
    border-color: var(--cal-gold);
    background: var(--cal-gold-glow);
    color: var(--cal-gold);
    box-shadow: var(--cal-shadow-gold);
}

/* ── Confidence Chips ── */
.cal-confidence-row[b-g3k8i0gwzj] {
    display: flex;
    gap: 6px;
    margin-top: 12px;   /* ← gap between T/F row and chips */
}

.cal-confidence-chip[b-g3k8i0gwzj] {
    flex: 1;
    padding: 14px 4px;
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-xs);
    background: var(--cal-surface-2);
    color: var(--cal-text);          /* ← full contrast, matches T/F buttons */
    font-size: 13px;
    font-family: var(--cal-mono);
    cursor: pointer;
    text-align: center;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 48px;
}

.cal-confidence-chip:hover[b-g3k8i0gwzj] {
    border-color: var(--cal-gold-dim);
    color: var(--cal-text);
    background: var(--cal-surface-3);
}

.cal-confidence-chip--selected[b-g3k8i0gwzj] {
    border-color: var(--cal-gold);
    background: var(--cal-gold-glow);
    color: var(--cal-gold);
    font-weight: 700;
    box-shadow: var(--cal-shadow-gold);
}

/* ── Submit button ── */
.cal-btn--primary[b-g3k8i0gwzj] {
    background: var(--cal-gold);
    color: var(--cal-navy-deep);
    border: none;
    border-radius: var(--cal-radius-sm);
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 48px;
}

.cal-btn--primary:hover[b-g3k8i0gwzj] {
    filter: brightness(1.1);
    box-shadow: var(--cal-shadow-gold);
}

.cal-btn--primary:disabled[b-g3k8i0gwzj] {
    opacity: 0.4;
    cursor: not-allowed;
    filter: none;
    box-shadow: none;
}

/* ── MOBILE: single-card flow (default) ── */

.cal-desktop-stack[b-g3k8i0gwzj] {
    display: none;
}

.cal-mobile-flow[b-g3k8i0gwzj] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.cal-submit-btn[b-g3k8i0gwzj] {
    margin-top: 20px;
    width: 100%;
    max-width: 320px;
}

.cal-next-btn[b-g3k8i0gwzj] {
    margin-top: 20px;
    width: 100%;
    max-width: 320px;
}

/* ── DESKTOP: all questions stacked (≥ 768px) ── */

@media (min-width: 768px) {
    .cal-mobile-flow[b-g3k8i0gwzj] {
        display: none;
    }

    .cal-desktop-stack[b-g3k8i0gwzj] {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        flex: 1;
        overflow-y: auto;
        padding: 8px 24px 32px;
    }

    /* Inline desktop card — all elements owned by BinaryQuizV2, no ChildContent delegation */
    .cal-d-card[b-g3k8i0gwzj] {
        width: 100%;
        max-width: 640px;
        background: var(--cal-surface);
        border: 1px solid var(--cal-border);
        border-radius: var(--cal-radius-lg);
        padding: 24px;
        box-shadow: var(--cal-shadow);
        display: flex;
        flex-direction: column;
        gap: 14px;
        transition: border-color var(--cal-fast) var(--cal-ease);
    }

    .cal-d-card--done[b-g3k8i0gwzj] {
        border-color: var(--cal-gold);
    }

    .cal-d-card-num[b-g3k8i0gwzj] {
        display: none;
    }

    /* ── iPad+: T/F buttons and confidence chips on one row, wraps when card is narrow ── */
    .cal-d-actions-row[b-g3k8i0gwzj] {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .cal-d-actions-row .cal-tf-row[b-g3k8i0gwzj] {
        flex: 0 0 180px;
    }

    .cal-d-actions-row .cal-confidence-row[b-g3k8i0gwzj] {
        flex: 1;
        min-width: 0;
        margin-top: 0;
        flex-wrap: wrap;
    }

    .cal-desktop-submit[b-g3k8i0gwzj] {
        width: 100%;
        max-width: 320px;
        margin-top: 8px;
    }
}

/* /Features/Calibration/Components/BinaryResultsV2.razor.rz.scp.css */
/* BinaryResultsV2 — results table, row borders, verdict banner */

/* ── Header Row ── */
.cal-results-header[b-vb819l0kak] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.cal-back-btn[b-vb819l0kak] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--cal-gold-dim);
    border: 1px solid var(--cal-border-gold);
    color: var(--cal-gold);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: var(--cal-radius-sm);
    transition: background var(--cal-fast) var(--cal-ease), box-shadow var(--cal-fast) var(--cal-ease);
    width: fit-content;
    letter-spacing: 0.01em;
}

.cal-back-btn:hover[b-vb819l0kak] {
    background: rgba(235, 191, 9, 0.22);
    box-shadow: var(--cal-gold-shadow);
}

.cal-results-title-row[b-vb819l0kak] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.cal-page-title[b-vb819l0kak] {
    font-size: 22px;
    font-weight: 700;
    color: var(--cal-text);
    margin: 0;
}

.cal-results-date[b-vb819l0kak] {
    font-size: 13px;
    color: var(--cal-text-muted);
}

/* ── Verdict Banner ── */
.cal-verdict[b-vb819l0kak] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: var(--cal-radius-sm);
    border-left: 4px solid;
    margin-bottom: 24px;
    font-size: 14px;
}

.cal-verdict--calibrated[b-vb819l0kak] {
    border-left-color: var(--cal-success);
    background: rgba(46, 204, 113, 0.08);
}

.cal-verdict--overconfident[b-vb819l0kak] {
    border-left-color: var(--cal-error);
    background: rgba(231, 76, 60, 0.08);
}

.cal-verdict--underconfident[b-vb819l0kak] {
    border-left-color: var(--cal-gold);
    background: var(--cal-gold-glow);
}

.cal-verdict-label[b-vb819l0kak] {
    font-weight: 700;
    color: var(--cal-text);
}

.cal-verdict-detail[b-vb819l0kak] {
    color: var(--cal-text-muted);
}

/* ── Results Table ── */
.cal-results-table-wrap[b-vb819l0kak] {
    overflow-x: auto;
}

.cal-results-table[b-vb819l0kak] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.cal-results-table th[b-vb819l0kak] {
    text-align: left;
    color: var(--cal-text-muted);
    font-weight: 500;
    padding: 8px 12px;
    border-bottom: 1px solid var(--cal-border);
    font-size: 13px;
}

.cal-results-table td[b-vb819l0kak] {
    padding: 12px;
    color: var(--cal-text);
    border-bottom: 1px solid rgba(58, 128, 180, 0.06);
    vertical-align: top;
}

/* 3px left-border correctness indicator */
.cal-row--correct td:first-child[b-vb819l0kak] {
    box-shadow: inset 3px 0 0 var(--cal-success);
}

.cal-row--incorrect td:first-child[b-vb819l0kak] {
    box-shadow: inset 3px 0 0 var(--cal-error);
}

.cal-rationale[b-vb819l0kak] {
    display: block;
    font-style: italic;
    color: var(--cal-text-dim);
    font-size: 13px;
    margin-top: 4px;
}

/* ── Mobile ── */
@media (max-width: 599px) {
    .cal-col-answer[b-vb819l0kak] {
        display: none;
    }

    .cal-rationale[b-vb819l0kak] {
        display: none;
    }
}
/* /Features/Calibration/Components/CalibrationLayoutGate.razor.rz.scp.css */
/* CalibrationLayoutGate — loading state */

.cal-gate-loading[b-f02fc45w7u] {
    position: absolute;
    left: 0;
    right: 0;
    top: 48px;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111B3A;
    padding: 24px;
}

.cal-skeleton-pulse[b-f02fc45w7u] {
    width: 100%;
    max-width: 600px;
    height: 200px;
    background: #172042;
    border-radius: 12px;
    animation: gatePulse-b-f02fc45w7u 1.5s ease-in-out infinite;
}

@keyframes gatePulse-b-f02fc45w7u {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 0.8; }
}

/* ── Light Mode ── */
body[data-theme='light'] .cal-gate-loading[b-f02fc45w7u] {
    background: #F4F7FC;
}

body[data-theme='light'] .cal-gate-loading .cal-skeleton-pulse[b-f02fc45w7u] {
    background: #EBF0FA;
}
/* /Features/Calibration/Components/CalibrationLayoutV2.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   CalibrationLayoutV2 — Signal Station Design System
   Design tokens, layout grid, shared ::deep styles, @keyframes
   ═══════════════════════════════════════════════════════════════ */

/* ── Layout Shell ── */
.cal-layout[b-8ah6k8ic7b] {
    --cal-navy-deep: #0D1526;
    --cal-bg: #111B3A;
    --cal-surface: #172042;
    --cal-surface-2: #1C2750;
    --cal-surface-3: #223060;

    --cal-blue: #3A80B4;
    --cal-blue-dim: rgba(58, 128, 180, 0.3);
    --cal-gold: #EBBF09;
    --cal-gold-dim: rgba(235, 191, 9, 0.15);
    --cal-gold-glow: rgba(235, 191, 9, 0.08);
    --cal-gold-shadow: 0 0 16px rgba(235, 191, 9, 0.15);
    --cal-amber: #F0A500;
    --cal-success: #2ECC71;
    --cal-error: #E74C3C;
    --cal-text: #E8ECF4;
    --cal-text-muted: #8899B8;
    --cal-text-dim: #556685;

    --cal-border: rgba(58, 128, 180, 0.2);
    --cal-border-gold: rgba(235, 191, 9, 0.4);

    --cal-radius-xs: 4px;
    --cal-radius-sm: 8px;
    --cal-radius-md: 12px;
    --cal-radius-lg: 16px;
    --cal-radius-xl: 20px;

    --cal-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(58, 128, 180, 0.08);
    --cal-shadow-gold: 0 0 16px rgba(235, 191, 9, 0.15);

    --cal-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --cal-fast: 150ms;
    --cal-medium: 300ms;
    --cal-slow: 500ms;

    --cal-font: "Segoe UI Variable", "Segoe UI", sans-serif;
    --cal-mono: 'JetBrains Mono', 'Cascadia Code', 'Consolas', monospace;   

    /* Fill the viewport below the 48px app bar — same technique as .after-root */
    position: absolute;
    left: 0;
    right: 0;
    top: 48px;
    bottom: 0;

    display: flex;
    flex-direction: row;
    background: var(--cal-bg);
    color: var(--cal-text);
    font-family: var(--cal-font);
    overflow: hidden;
}

.cal-layout-main[b-8ah6k8ic7b] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 24px;
}

/* ── Shared Keyframes ── */

@keyframes calSwipeOutLeft-b-8ah6k8ic7b {
    from { opacity: 1; transform: translateX(0); }
    to   { opacity: 0; transform: translateX(-60px); }
}

@keyframes calSwipeInRight-b-8ah6k8ic7b {
    from { opacity: 0; transform: translateX(60px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes calFadeIn-b-8ah6k8ic7b {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes calPulse-b-8ah6k8ic7b {
    0%, 100% { opacity: 0.4; }
    50%      { opacity: 0.8; }
}

/* ── Shared Deep Styles (inherited by child components) ── */

[b-8ah6k8ic7b] .cal-shell {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: auto;
}

[b-8ah6k8ic7b] .cal-results-shell {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

[b-8ah6k8ic7b] .cal-quiz-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    max-width: 640px;
    margin: 0 auto;
    width: 100%;
    padding: 16px;
}

[b-8ah6k8ic7b] .cal-skeleton-pulse {
    background: var(--cal-surface);
    border-radius: var(--cal-radius-md);
    height: 200px;
    animation: calPulse-b-8ah6k8ic7b 1.5s ease-in-out infinite;
}

[b-8ah6k8ic7b] .cal-error-banner {
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid var(--cal-error);
    border-radius: var(--cal-radius-sm);
    padding: 12px 16px;
    color: var(--cal-error);
    margin-bottom: 16px;
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .cal-layout-main[b-8ah6k8ic7b] {
        padding: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Light Mode Token Overrides
   ───────────────────────────────────────────────────────────────
   FluentDesignTheme sets document.body.dataset.theme to "light"
   or "dark". Overriding the --cal-* tokens here is sufficient —
   every child component inherits the new values via CSS cascade.
   Blazor scopes this to: body[data-theme='light'] .cal-layout[b-x]
   ═══════════════════════════════════════════════════════════════ */

body[data-theme='light'] .cal-layout[b-8ah6k8ic7b] {
    --cal-navy-deep:   #EEF3FB;
    --cal-bg:          #F4F7FC;
    --cal-surface:     #FFFFFF;
    --cal-surface-2:   #EBF0FA;
    --cal-surface-3:   #E1E9F7;

    --cal-blue:        #2563A8;
    --cal-blue-dim:    rgba(37, 99, 168, 0.15);

    --cal-gold:        #C9920A;
    --cal-gold-dim:    rgba(201, 146, 10, 0.15);
    --cal-gold-glow:   rgba(201, 146, 10, 0.06);
    --cal-gold-shadow: 0 0 16px rgba(201, 146, 10, 0.18);
    --cal-shadow-gold: 0 0 16px rgba(201, 146, 10, 0.18);
    --cal-amber:       #D08200;

    --cal-success:     #1A9050;
    --cal-error:       #C0392B;

    --cal-text:        #0F1C35;
    --cal-text-muted:  #4A6080;
    --cal-text-dim:    #7A96B8;

    --cal-border:      rgba(37, 99, 168, 0.18);
    --cal-border-gold: rgba(201, 146, 10, 0.35);

    --cal-shadow:      0 4px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(37, 99, 168, 0.07);

    background: var(--cal-bg);
    color: var(--cal-text);
}

/* ── Primary button text ──────────────────────────────────────────
   .cal-btn--primary, .cal-new-quiz-btn, and .cal-sidebar-new-quiz
   live in child components so ::deep is required. Blazor expands
   this to: body[data-theme='light'] [b-x] .cal-btn--primary { }
   which correctly targets buttons anywhere inside .cal-layout.
   --cal-navy-deep is now a pale sidebar colour in light mode, so
   button foreground is restored to an explicit dark value here.    */
body[data-theme='light'][b-8ah6k8ic7b]  .cal-btn--primary,
body[data-theme='light'][b-8ah6k8ic7b]  .cal-new-quiz-btn,
body[data-theme='light'][b-8ah6k8ic7b]  .cal-sidebar-new-quiz {
    color: #0F1C35;
}
/* /Features/Calibration/Components/CalibrationSidebarV2.razor.rz.scp.css */
/* CalibrationSidebarV2 — Signal Station sidebar */

.cal-sidebar[b-1aexrz67db] {
    width: 250px;
    min-width: 250px;
    background: var(--cal-navy-deep);
    border-right: 1px solid var(--cal-border);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 12px 0;
}

.cal-sidebar-link[b-1aexrz67db] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: var(--cal-text-muted);
    text-decoration: none;
    font-size: 13px;
    transition: background var(--cal-fast) var(--cal-ease),
                color var(--cal-fast) var(--cal-ease);
    border-left: 3px solid transparent;
}

.cal-sidebar-link:hover[b-1aexrz67db] {
    background: var(--cal-surface);
    color: var(--cal-text);
}

.cal-sidebar-link--summary[b-1aexrz67db] {
    font-weight: 600;
    color: var(--cal-text);
    font-size: 14px;
}

.cal-sidebar-icon[b-1aexrz67db] {
    font-size: 16px;
    flex-shrink: 0;
}

.cal-sidebar-text[b-1aexrz67db] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cal-sidebar-divider[b-1aexrz67db] {
    height: 1px;
    background: var(--cal-border);
    margin: 8px 16px;
}

@media (max-width: 767px) {
    .cal-sidebar[b-1aexrz67db] {
        display: none;
    }
}

/* ── iPad Pro (portrait + landscape) ── */
@media (min-width: 768px) and (max-width: 1194px) {
    .cal-sidebar[b-1aexrz67db] {
        width: 270px;
        min-width: 270px;
    }

    .cal-sidebar-link[b-1aexrz67db] {
        font-size: 15px;
        padding: 12px 18px;
    }

    .cal-sidebar-link--summary[b-1aexrz67db] {
        font-size: 16px;
    }
}
/* /Features/Calibration/Components/NewQuizDialogV2.razor.rz.scp.css */
/* NewQuizDialogV2 — trigger buttons + Signal Station modal overlay */

/* ── Trigger Buttons (Inline) ── */
.cal-new-quiz-btn-row[b-nm2ky9g3a6] {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.cal-new-quiz-btn[b-nm2ky9g3a6] {
    flex: 1;
    background: var(--cal-gold);
    color: var(--cal-navy-deep);
    border: none;
    border-radius: var(--cal-radius-sm);
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 44px;
    white-space: nowrap;
}

.cal-new-quiz-btn:hover[b-nm2ky9g3a6] {
    filter: brightness(1.1);
    box-shadow: var(--cal-shadow-gold);
}

/* ── Trigger Buttons (Sidebar) ── */
.cal-sidebar-new-quiz-row[b-nm2ky9g3a6] {
    display: flex;
    flex-direction: row;
    gap: 6px;
    margin: 8px 12px;
}

.cal-sidebar-new-quiz[b-nm2ky9g3a6] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    background: var(--cal-gold);
    color: var(--cal-navy-deep);
    border: none;
    border-radius: var(--cal-radius-sm);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 40px;
    white-space: nowrap;
}

.cal-sidebar-new-quiz:hover[b-nm2ky9g3a6] {
    filter: brightness(1.1);
    box-shadow: var(--cal-shadow-gold);
}

/* ══════════════════════════════════════════════════
   Modal Overlay
   Mobile: bottom sheet (slides up from bottom)
   600px+: centred card
   ══════════════════════════════════════════════════ */

.cal-modal-backdrop[b-nm2ky9g3a6] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    display: flex;
    align-items: flex-end;   /* bottom sheet on mobile */
    justify-content: center;
    z-index: 9999;
    padding: 0;
}

/* ── Card ── */
.cal-modal-card[b-nm2ky9g3a6] {
    background: var(--cal-surface);
    border: 1px solid var(--cal-border);
    border-top: 1px solid rgba(58, 128, 180, 0.35);
    border-radius: var(--cal-radius-lg) var(--cal-radius-lg) 0 0;
    width: 100%;
    max-width: 100%;
    box-shadow: 0 -8px 48px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    max-height: 92vh;
    overflow-y: auto;
}

/* ── Header ── */
.cal-modal-header[b-nm2ky9g3a6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--cal-border);
    flex-shrink: 0;
}

.cal-modal-title[b-nm2ky9g3a6] {
    font-size: 18px;
    font-weight: 700;
    color: var(--cal-text);
    margin: 0;
}

.cal-modal-close[b-nm2ky9g3a6] {
    background: transparent;
    border: none;
    color: var(--cal-text-muted);
    font-size: 20px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--cal-radius-xs);
    line-height: 1;
    transition: color var(--cal-fast) var(--cal-ease),
                background var(--cal-fast) var(--cal-ease);
}

.cal-modal-close:hover[b-nm2ky9g3a6] {
    color: var(--cal-text);
    background: var(--cal-surface-2);
}

/* ── Body ── */
.cal-modal-body[b-nm2ky9g3a6] {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1;
}

.cal-modal-section[b-nm2ky9g3a6] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cal-modal-label[b-nm2ky9g3a6] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--cal-text-muted);
}

/* ── Option Cards ── */
.cal-option-row[b-nm2ky9g3a6] {
    display: flex;
    gap: 8px;
}

.cal-option-card[b-nm2ky9g3a6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 8px;
    background: var(--cal-surface-2);
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-sm);
    color: var(--cal-text);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 72px;
}

.cal-option-card:hover[b-nm2ky9g3a6] {
    border-color: var(--cal-gold-dim);
    background: var(--cal-surface-3);
}

.cal-option-card--selected[b-nm2ky9g3a6] {
    border-color: var(--cal-gold);
    background: var(--cal-gold-glow);
    color: var(--cal-gold);
    box-shadow: var(--cal-shadow-gold);
}

/* Count chips — compact, monospaced number */
.cal-option-card--count[b-nm2ky9g3a6] {
    flex-direction: row;
    min-height: 48px;
    font-size: 16px;
    font-family: var(--cal-mono);
    gap: 0;
}

.cal-option-icon[b-nm2ky9g3a6] {
    font-size: 22px;
    line-height: 1;
}

.cal-option-text[b-nm2ky9g3a6] {
    font-size: 14px;
    font-weight: 600;
}

/* ── Footer ── */
.cal-modal-footer[b-nm2ky9g3a6] {
    display: flex;
    gap: 8px;
    padding: 16px 24px 28px;
    border-top: 1px solid var(--cal-border);
    flex-shrink: 0;
}

.cal-modal-cancel[b-nm2ky9g3a6] {
    flex: 1;
    padding: 12px;
    background: transparent;
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-sm);
    color: var(--cal-text-muted);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
}

.cal-modal-cancel:hover[b-nm2ky9g3a6] {
    border-color: var(--cal-text-dim);
    color: var(--cal-text);
}

.cal-modal-create[b-nm2ky9g3a6] {
    flex: 2;
    padding: 12px;
    background: var(--cal-gold);
    border: none;
    border-radius: var(--cal-radius-sm);
    color: var(--cal-navy-deep);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
}

.cal-modal-create:hover[b-nm2ky9g3a6] {
    filter: brightness(1.1);
    box-shadow: var(--cal-shadow-gold);
}

.cal-modal-create:disabled[b-nm2ky9g3a6] {
    opacity: 0.35;
    cursor: not-allowed;
    filter: none;
    box-shadow: none;
}

/* ── Tablet / Desktop (≥ 600px): centred card ── */
@media (min-width: 600px) {
    .cal-modal-backdrop[b-nm2ky9g3a6] {
        align-items: center;
        padding: 24px;
    }

    .cal-modal-card[b-nm2ky9g3a6] {
        border-radius: var(--cal-radius-lg);
        border-top: 1px solid var(--cal-border);
        max-width: 520px;
        width: 100%;
        box-shadow: var(--cal-shadow), 0 0 0 1px rgba(58, 128, 180, 0.12);
    }
}
/* /Features/Calibration/Components/RangeQuizV2.razor.rz.scp.css */
/* RangeQuizV2 — range inputs, navigation */

.cal-range-question[b-vele4ojk7d] {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.cal-range-units[b-vele4ojk7d] {
    font-size: 13px;
    color: var(--cal-text-dim);
    font-family: var(--cal-mono);
}

.cal-range-inputs[b-vele4ojk7d] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px;
}

.cal-range-field[b-vele4ojk7d] {
    flex: 1;
    min-width: 140px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cal-range-label[b-vele4ojk7d] {
    font-size: 12px;
    color: var(--cal-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cal-range-input[b-vele4ojk7d] {
    background: var(--cal-surface-2);
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-xs);
    padding: 12px;
    color: var(--cal-text);
    font-family: var(--cal-mono);
    font-size: 16px;
    outline: none;
    transition: border-color var(--cal-fast) var(--cal-ease);
    min-height: 44px;
}

.cal-range-input:focus[b-vele4ojk7d] {
    border-color: var(--cal-gold);
    box-shadow: 0 0 0 2px var(--cal-gold-dim);
}

/* Hide number input spinners */
.cal-range-input[b-vele4ojk7d]::-webkit-outer-spin-button,
.cal-range-input[b-vele4ojk7d]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cal-range-input[type="number"][b-vele4ojk7d] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* ── Progress (shared) ── */
.cal-progress-wrap[b-vele4ojk7d] {
    padding: 0 2px;
    flex-shrink: 0;
}

.cal-progress-track[b-vele4ojk7d] {
    height: 6px;
    background: var(--cal-surface-2);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 4px;
}

.cal-progress-fill[b-vele4ojk7d] {
    height: 100%;
    background: linear-gradient(90deg, var(--cal-blue), var(--cal-gold));
    border-radius: 3px;
    position: relative;
    transition: width var(--cal-medium) var(--cal-ease);
    min-width: 6px;
}

.cal-progress-pip[b-vele4ojk7d] {
    position: absolute;
    right: -3px;
    top: -3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--cal-gold);
    box-shadow: 0 0 8px var(--cal-gold);
}

.cal-progress-label[b-vele4ojk7d] {
    font-size: 12px;
    color: var(--cal-gold);
    text-align: right;
    margin-bottom: 16px;
    font-family: var(--cal-mono);
}

.cal-range-nav[b-vele4ojk7d] {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.cal-nav-btn[b-vele4ojk7d] {
    padding: 12px 40px;
    min-width: 160px;
}

.cal-btn--primary[b-vele4ojk7d] {
    background: var(--cal-gold);
    color: var(--cal-navy-deep);
    border: none;
    border-radius: var(--cal-radius-sm);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 48px;
}

.cal-btn--primary:hover[b-vele4ojk7d] {
    filter: brightness(1.1);
    box-shadow: var(--cal-shadow-gold);
}

.cal-btn--primary:disabled[b-vele4ojk7d] {
    opacity: 0.5;
    cursor: not-allowed;
}

.cal-btn--ghost[b-vele4ojk7d] {
    background: transparent;
    border: 1px solid var(--cal-border);
    color: var(--cal-text-dim);
    border-radius: var(--cal-radius-sm);
    font-size: 15px;
    cursor: pointer;
    transition: all var(--cal-fast) var(--cal-ease);
    min-height: 48px;
}

.cal-btn--ghost:hover[b-vele4ojk7d] {
    border-color: var(--cal-text-muted);
    color: var(--cal-text-muted);
}

/* ── MOBILE: single-card flow (default) ── */

.cal-rd-stack[b-vele4ojk7d] {
    display: none;
}

.cal-rm-flow[b-vele4ojk7d] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

/* ── DESKTOP: all questions stacked (≥ 768px) ── */

@media (min-width: 768px) {
    .cal-rm-flow[b-vele4ojk7d] {
        display: none;
    }

    .cal-rd-stack[b-vele4ojk7d] {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        flex: 1;
        overflow-y: auto;
        padding: 8px 24px 32px;
    }

    .cal-rd-card[b-vele4ojk7d] {
        width: 100%;
        max-width: 640px;
        background: var(--cal-surface);
        border: 1px solid var(--cal-border);
        border-radius: var(--cal-radius-lg);
        padding: 24px;
        box-shadow: var(--cal-shadow);
        display: flex;
        flex-direction: column;
        gap: 12px;
        transition: border-color var(--cal-fast) var(--cal-ease);
    }

    .cal-rd-card--done[b-vele4ojk7d] {
        border-color: var(--cal-gold);
    }

    .cal-rd-submit[b-vele4ojk7d] {
        width: 100%;
        max-width: 320px;
        margin-top: 8px;
    }
}
/* /Features/Calibration/Components/RangeResultsV2.razor.rz.scp.css */
/* RangeResultsV2 — range results table, mobile stacking */

/* ── Header Row ── */
.cal-results-header[b-umpilbnp5i] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.cal-back-btn[b-umpilbnp5i] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--cal-gold-dim);
    border: 1px solid var(--cal-border-gold);
    color: var(--cal-gold);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: var(--cal-radius-sm);
    transition: background var(--cal-fast) var(--cal-ease), box-shadow var(--cal-fast) var(--cal-ease);
    width: fit-content;
    letter-spacing: 0.01em;
}

.cal-back-btn:hover[b-umpilbnp5i] {
    background: rgba(235, 191, 9, 0.22);
    box-shadow: var(--cal-gold-shadow);
}

.cal-results-title-row[b-umpilbnp5i] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.cal-page-title[b-umpilbnp5i] {
    font-size: 22px;
    font-weight: 700;
    color: var(--cal-text);
    margin: 0;
}

.cal-results-date[b-umpilbnp5i] {
    font-size: 13px;
    color: var(--cal-text-muted);
}

/* ── Verdict Banner ── */
.cal-verdict[b-umpilbnp5i] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: var(--cal-radius-sm);
    border-left: 4px solid;
    margin-bottom: 24px;
    font-size: 14px;
}

.cal-verdict--calibrated[b-umpilbnp5i] {
    border-left-color: var(--cal-success);
    background: rgba(46, 204, 113, 0.08);
}

.cal-verdict--overconfident[b-umpilbnp5i] {
    border-left-color: var(--cal-error);
    background: rgba(231, 76, 60, 0.08);
}

.cal-verdict--underconfident[b-umpilbnp5i] {
    border-left-color: var(--cal-gold);
    background: var(--cal-gold-glow);
}

.cal-verdict-label[b-umpilbnp5i] {
    font-weight: 700;
    color: var(--cal-text);
}

.cal-verdict-detail[b-umpilbnp5i] {
    color: var(--cal-text-muted);
}

/* ── Results Table ── */
.cal-results-table-wrap[b-umpilbnp5i] {
    overflow-x: auto;
}

.cal-results-table[b-umpilbnp5i] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.cal-results-table th[b-umpilbnp5i] {
    text-align: left;
    color: var(--cal-text-muted);
    font-weight: 500;
    padding: 8px 12px;
    border-bottom: 1px solid var(--cal-border);
    font-size: 13px;
}

.cal-results-table td[b-umpilbnp5i] {
    padding: 12px;
    color: var(--cal-text);
    border-bottom: 1px solid rgba(58, 128, 180, 0.06);
    vertical-align: top;
}

.cal-mono[b-umpilbnp5i] {
    font-family: var(--cal-mono);
    text-align: right;
}

th.cal-col-units[b-umpilbnp5i],
th.cal-col-answer-num[b-umpilbnp5i],
th.cal-col-range[b-umpilbnp5i] {
    text-align: right;
}

/* 3px left-border correctness indicator */
.cal-row--correct td:first-child[b-umpilbnp5i] {
    box-shadow: inset 3px 0 0 var(--cal-success);
}

.cal-row--incorrect td:first-child[b-umpilbnp5i] {
    box-shadow: inset 3px 0 0 var(--cal-error);
}

/* Mobile-only stacked range column */
.cal-col-range-mobile[b-umpilbnp5i] {
    display: none;
}

.cal-range-stacked[b-umpilbnp5i] {
    display: block;
    font-size: 13px;
}

.cal-range-sep[b-umpilbnp5i] {
    color: var(--cal-text-dim);
    font-size: 11px;
}

/* ── Mobile ── */
@media (max-width: 599px) {
    .cal-col-units[b-umpilbnp5i],
    .cal-col-range[b-umpilbnp5i] {
        display: none;
    }

    .cal-col-range-mobile[b-umpilbnp5i] {
        display: table-cell;
        text-align: right;
    }
}
/* /Features/Calibration/Components/StatusPageV2.razor.rz.scp.css */
/* StatusPageV2 — Signal Station dashboard */

.cal-status[b-x5jmsp27bz] {
    animation: calFadeIn var(--cal-medium) var(--cal-ease);
}

.cal-page-title[b-x5jmsp27bz] {
    font-size: 24px;
    font-weight: 700;
    color: var(--cal-text);
    margin: 0 0 24px 0;
}

.cal-welcome[b-x5jmsp27bz] {
    background: var(--cal-surface);
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-lg);
    padding: 32px;
    text-align: center;
}

.cal-welcome-heading[b-x5jmsp27bz] {
    font-size: 18px;
    font-weight: 600;
    color: var(--cal-text);
    margin: 0 0 12px 0;
}

.cal-welcome-text[b-x5jmsp27bz] {
    color: var(--cal-text-muted);
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 20px 0;
}

.cal-new-row[b-x5jmsp27bz] {
    margin-bottom: 24px;
}

.cal-grid[b-x5jmsp27bz] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.cal-grid-col[b-x5jmsp27bz] {
    min-width: 0;
}

.cal-section-title[b-x5jmsp27bz] {
    font-size: 16px;
    font-weight: 600;
    color: var(--cal-text);
    margin: 0 0 12px 0;
}

/* ── Summary Table ── */
.cal-summary-table[b-x5jmsp27bz] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-bottom: 16px;
    table-layout: fixed;
}

.cal-summary-table th[b-x5jmsp27bz] {
    text-align: left;
    color: var(--cal-text-muted);
    font-weight: 500;
    padding: 6px 8px;
    border-bottom: 1px solid var(--cal-border);
    overflow-wrap: break-word;
    word-break: break-word;
}

.cal-summary-table td[b-x5jmsp27bz] {
    padding: 8px;
    color: var(--cal-text);
    font-family: var(--cal-mono);
    font-size: 14px;
}

/* ── Chart ── */
.cal-chart-wrap[b-x5jmsp27bz] {
    margin: 16px 0;
    background: var(--cal-surface);
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-md);
    padding: 16px;
}

.cal-chart-caption[b-x5jmsp27bz] {
    color: var(--cal-text-dim);
    font-size: 12px;
    margin: 4px 0 0 0;
}

/* ── History Table ── */
.cal-history-wrap[b-x5jmsp27bz] {
    overflow-x: auto;
}

.cal-history-table[b-x5jmsp27bz] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.cal-history-table th[b-x5jmsp27bz] {
    text-align: left;
    color: var(--cal-text-muted);
    font-weight: 500;
    padding: 8px 10px;
    border-bottom: 1px solid var(--cal-border);
}

.cal-history-table td[b-x5jmsp27bz] {
    padding: 10px;
    color: var(--cal-text);
    border-bottom: 1px solid rgba(58, 128, 180, 0.08);
}

.cal-history-row[b-x5jmsp27bz] {
    cursor: pointer;
    transition: background var(--cal-fast) var(--cal-ease);
}

.cal-history-row:hover[b-x5jmsp27bz] {
    background: var(--cal-surface);
}

/* ── Buttons ── */
.cal-btn--ghost[b-x5jmsp27bz] {
    background: transparent;
    border: 1px solid var(--cal-border);
    color: var(--cal-text-muted);
    border-radius: var(--cal-radius-xs);
    padding: 4px 8px;
    cursor: pointer;
    font-size: 13px;
    transition: all var(--cal-fast) var(--cal-ease);
}

.cal-btn--ghost:hover[b-x5jmsp27bz] {
    border-color: var(--cal-error);
    color: var(--cal-error);
}

.cal-btn--sm[b-x5jmsp27bz] {
    padding: 2px 6px;
    font-size: 12px;
}

.cal-btn--delete[b-x5jmsp27bz] {
    color: rgba(231, 76, 60, 0.6);
    border-color: rgba(231, 76, 60, 0.3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cal-btn--delete:hover[b-x5jmsp27bz] {
    color: var(--cal-error);
    border-color: var(--cal-error);
    background: rgba(231, 76, 60, 0.08);
}

@media (max-width: 767px) {
    .cal-grid[b-x5jmsp27bz] {
        grid-template-columns: 1fr;
    }
}

/* ── iPad Pro (portrait + landscape) ── */
@media (min-width: 768px) and (max-width: 1194px) {
    .cal-section-title[b-x5jmsp27bz] {
        font-size: 17px;
    }

    /* Reduce table density so 4 columns fit in a half-width grid column */
    .cal-summary-table[b-x5jmsp27bz] {
        font-size: 11px;
    }

    .cal-summary-table th[b-x5jmsp27bz] {
        padding: 4px 4px;
    }

    .cal-summary-table td[b-x5jmsp27bz] {
        font-size: 12px;
        padding: 6px 4px;
    }

    .cal-history-table[b-x5jmsp27bz] {
        font-size: 14px;
    }

    .cal-history-table th[b-x5jmsp27bz],
    .cal-history-table td[b-x5jmsp27bz] {
        padding: 12px 12px;
    }
}


/* -- Telerik Charts -- */
[b-x5jmsp27bz] div.z-index-chart {
    --kendo-chart-bg: var(--neutral-fill-layer-rest);
    --kendo-chart-text: var(--neutral-foreground-rest);
    position: relative !important;
    z-index: 1 !important;
}
/* /Features/Calibration/Shared/QuestionCardV2.razor.rz.scp.css */
/* QuestionCardV2 — Dark surface card */

.cal-question-card[b-ntkki476db] {
    background: var(--cal-surface);
    border: 1px solid var(--cal-border);
    border-radius: var(--cal-radius-lg);
    padding: 28px 24px;
    box-shadow: var(--cal-shadow);
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    overflow: hidden;
}

.cal-question-number[b-ntkki476db] {
    font-family: var(--cal-mono);
    font-size: 13px;
    color: var(--cal-gold);
    font-weight: 600;
    letter-spacing: 0.05em;
}

.cal-question-body[b-ntkki476db] {
    font-size: 16px;
    line-height: 1.6;
    color: var(--cal-text);
    font-weight: 500;
}

.cal-question-card--complete[b-ntkki476db] {
    border-color: var(--cal-gold);
}

/* Swipe animations */
.cal-swipe-out[b-ntkki476db] {
    animation: calSwipeOutLeft var(--cal-medium) var(--cal-ease) forwards;
}

.cal-swipe-in[b-ntkki476db] {
    animation: calSwipeInRight var(--cal-medium) var(--cal-ease) forwards;
}

.cal-fade-in[b-ntkki476db] {
    animation: calFadeIn var(--cal-medium) var(--cal-ease) forwards;
}
/* /Layout/BaseLayout.razor.rz.scp.css */
/* /Layout/MainLayout.razor.rz.scp.css */
.doc-placeholder[b-ddudzx5pf8] {
    box-shadow: var(--shadow4);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-x: visible;
    overflow-y: auto;
    position: relative;
    width: 100%;
    z-index: 0;
    color-scheme: light;

    padding: 20px;
    background-color: var(--neutral-fill-secondary-rest);
    border-top-color: var(--neutral-stroke-divider-rest);
    border-top-style: solid;
    border-top-width: thin;
    border-left-color: var(--neutral-stroke-divider-rest);
    border-left-style: solid;
    border-left-width: thin;
}

.doc-placeholder-inner[b-ddudzx5pf8] {
    background: var(--neutral-fill-layer-rest);
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    flex: none;
    min-height: 100%;
    height: auto;
    padding: 20px;
}

.after-root[b-ddudzx5pf8] {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 48px;
    bottom: 0px;
    display: flex !important; /* drop important once css file is cleaned up?! */
    font-size: 14px;
}
/* /Pages/Calibration/Binary/BinaryQuizSkeleton.razor.rz.scp.css */
.skeleton-row[b-k2mqhs3s2z] {
    width: 100%;
    display: flex;
    align-items: center;
    height: 32px;
    margin-bottom: 14px;
}
/* /Pages/Calibration/Binary/Quiz.razor.rz.scp.css */
[b-r3g9hs3yj8] .submit-button {
    margin-left: 0px;
    margin-top: 12px;
}
/* /Pages/Calibration/Binary/Results.razor.rz.scp.css */
.header-container[b-e59ybunf5f] {
    display: flex;
}

.header-title[b-e59ybunf5f], .title[b-e59ybunf5f] {
    font-size: var(--type-ramp-plus-3-font-size);
    font-weight: 600;
}

.date[b-e59ybunf5f] {
    font-size: var(--type-ramp-minus-1-font-size);
    margin-top: 8px;
}

.header-title[b-e59ybunf5f] {
    flex-grow: 1;
}

[b-e59ybunf5f] .submit-button {
    margin-left: 12px;
    margin-top: 18px;
}
/* /Pages/Calibration/CalibrationLayout.razor.rz.scp.css */
.doc-placeholder[b-422icaoe9j] {
    box-shadow: var(--shadow4);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-x: visible;
    overflow-y: auto;
    position: relative;
    width: 100%;
    z-index: 0;
    color-scheme: light;
    /*height: calc(100vh - 40px);*/
    padding: 20px;
    background-color: var(--neutral-fill-secondary-rest);
    border-top-color: var(--neutral-stroke-divider-rest);
    border-top-style: solid;
    border-top-width: thin;
    border-left-color: var(--neutral-stroke-divider-rest);
    border-left-style: solid;
    border-left-width: thin;
}

.doc-placeholder-inner[b-422icaoe9j] {
    background: var(--neutral-fill-layer-rest);
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    flex: none;
    min-height: 100%;
    height: auto;
    padding: 20px;
}

.after-root[b-422icaoe9j] {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 48px;
    bottom: 0px;
    display: flex !important; /* drop important once css file is cleaned up?! */
    font-size: 14px;
}


[b-422icaoe9j] .calibration-table {
    border-collapse: collapse;
    box-shadow: var(--elevation-shadow-card-rest);
    align-self: start;
}

    [b-422icaoe9j] .calibration-table thead tr {
        background-color: var(--neutral-layer-2);
        height: 39px;
        text-align: left;
    }

    [b-422icaoe9j] .calibration-table th, [b-422icaoe9j] .calibration-table td {
        padding-left: 8px;
        padding-right: 8px;
        padding-top: 6px;
        padding-bottom: 6px;
        white-space: nowrap;
    }

    [b-422icaoe9j] .calibration-table th:first-child, [b-422icaoe9j] .calibration-table td:first-child {
        white-space: normal;
        max-width: 2000px;
    }

    [b-422icaoe9j] .calibration-quiz-table th:nth-child(2), [b-422icaoe9j] .calibration-quiz-table td:nth-child(2) {
        white-space: normal;
        max-width: 400px;
    }

    [b-422icaoe9j] .calibration-binary-quiz-table th:nth-child(2), [b-422icaoe9j] .calibration-binary-quiz-table td:nth-child(2) {
        white-space: normal;
        max-width: 2000px;
    }

    [b-422icaoe9j] .calibration-table tbody tr {
        border-bottom: 1px solid var(--neutral-stroke-rest);
    }

        [b-422icaoe9j] .calibration-table tbody tr:nth-of-type(even) {
            background-color: var(--neutral-layer-2);
        }
/* /Pages/Calibration/Range/RangeCalibrationQuiz.razor.rz.scp.css */
[b-dl7b0cieg4] .submit-button {
    margin-left: 0px;
    margin-top: 12px;
}
/* /Pages/Calibration/Range/RangeCalibrationQuizResults.razor.rz.scp.css */
.header-container[b-rmwmp1fctj] {
    display: flex;
}

.header-title[b-rmwmp1fctj], .title[b-rmwmp1fctj] {
    font-size: var(--type-ramp-plus-3-font-size);
    font-weight: 600;
}

.date[b-rmwmp1fctj] {
    font-size: var(--type-ramp-minus-1-font-size);
    margin-top: 8px;
}

.header-title[b-rmwmp1fctj] {
    flex-grow: 1;
}

[b-rmwmp1fctj] .submit-button {
    margin-left: 12px;
    margin-top: 18px;
}
/* /Pages/Calibration/Range/RangeQuizSkeleton.razor.rz.scp.css */
.skeleton-row[b-qyaeg34o2d] {
    width: 100%;
    display: flex;
    align-items: center;
    height: 32px;
    margin-bottom: 14px;
}
/* /Pages/Calibration/Status/Status.razor.rz.scp.css */
.page-title[b-9ryyiio2j2] {
    font-size: var(--type-ramp-plus-3-font-size);
    font-weight: 600;
    color: #323130;
    margin: 0;
}

.section-title[b-9ryyiio2j2] {
    font-size: var(--type-ramp-plus-1-font-size);
    font-weight: 600;
    color: #323130;
}

.top-banner[b-9ryyiio2j2] {
    display: flex;
    width: 100%;
}

[b-9ryyiio2j2] div.z-index-chart {
    --kendo-chart-bg: var(--neutral-fill-layer-rest);
    --kendo-chart-text: var(--neutral-foreground-rest);
}

.z-index-chart[b-9ryyiio2j2] {
    position: relative !important;
    z-index: 1 !important;
}

/* css styles for the dismiss button - hilight when mouse over / clicking */
[b-9ryyiio2j2] fluent-button.delete-btn:hover {
    background: #C42B1C;
}

    [b-9ryyiio2j2] fluent-button.delete-btn:hover svg {
        fill: white !important;
    }

[b-9ryyiio2j2] fluent-button.delete-btn:active {
    background: #DF667B;
}

    [b-9ryyiio2j2] fluent-button.delete-btn:active svg {
        fill: white !important;
    }

/* Calibration summary tables (Binary + Range) */
.cal-table[b-9ryyiio2j2] {
    width: 100%;
    margin-top: 8px;
    border-collapse: collapse;
    table-layout: fixed;
    color: var(--accent-foreground-active);
}

.cal-table col[b-9ryyiio2j2] {
    width: 25%;
}

.cal-table thead tr[b-9ryyiio2j2] {
    border-bottom: 1px solid var(--neutral-stroke-layer-rest);
}

.cal-table__th[b-9ryyiio2j2] {
    text-align: left;
    padding: 8px 0;
    color: var(--accent-foreground-rest);
    font-weight: 600;
    white-space: normal;
    word-wrap: break-word;
}

.cal-table__row[b-9ryyiio2j2] {
    border-bottom: 1px solid var(--neutral-stroke-layer-rest);
}

.cal-table__cell[b-9ryyiio2j2] {
    padding: 8px 0;
}
/* /Pages/Framing/FramingLayout.razor.rz.scp.css */
.doc-placeholder[b-c6s9efu83f] {
    box-shadow: var(--shadow4);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-x: visible;
    overflow-y: auto;
    position: relative;
    width: 100%;
    z-index: 0;
    color-scheme: light;
    /*height: calc(100vh - 40px);*/
    padding: 20px;
    background-color: var(--neutral-fill-secondary-rest);
    border-top-color: var(--neutral-stroke-divider-rest);
    border-top-style: solid;
    border-top-width: thin;
    border-left-color: var(--neutral-stroke-divider-rest);
    border-left-style: solid;
    border-left-width: thin;
}

.doc-placeholder-inner[b-c6s9efu83f] {
    background: var(--neutral-fill-layer-rest);
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    flex: none;
    min-height: 100%;
    padding: 20px;
}

.after-root[b-c6s9efu83f] {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 48px;
    bottom: 0px;
    display: flex !important; /* drop important once css file is cleaned up?! */
    font-size: 14px;
}

[b-c6s9efu83f] .fluent-sortable-list .sortable-item {
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-bottom: 4px !important;
    margin-right: 30px;
    align-items: end;
}

    
/* /Pages/Framing/IssueCategorization/IssueCategorization.razor.rz.scp.css */
.ic-layout[b-sw93ouol8t] {
  display: grid;
  grid-template-columns: 9fr 1fr; /* 90% / 10% */
  gap: .75rem;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

/* Ensure the page fills its allocated area without forcing viewport overflow */
.page-container[b-sw93ouol8t] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    overflow: hidden;
    padding: 40px;
    padding-bottom: 20px;
}

.ic-page[b-sw93ouol8t] {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.ic-left[b-sw93ouol8t] {
  display: grid;
  grid-template-rows: repeat(5, 1fr);
  gap: .75rem;
}

.ic-right[b-sw93ouol8t] {
  display: flex;
  height: 100%;
}

.ic-right[b-sw93ouol8t]  .ic-zone {
  height: 100%;
  flex: 1 1 auto;
  display: flex;
}

.ic-right[b-sw93ouol8t]  .ic-zone .ic-zone-border {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.ic-right[b-sw93ouol8t]  .ic-zone .ic-zone-content {
  flex: 1 1 auto;
  overflow-y: auto;
}

.ic-zone-border[b-sw93ouol8t] {
  border: 1px dashed var(--neutral-stroke-strong-rest, #8a8a8a);
  border-radius: 6px;
  padding: .5rem;
  min-height: 100px;
  background: var(--neutral-layer-1, #fff);
}

.ic-zone-title[b-sw93ouol8t] {
  font-weight: 700;
  text-align: center;
  font-size: 1rem;
  margin-bottom: .25rem;
}

.ic-zone-content[b-sw93ouol8t] {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.ic-issue-border[b-sw93ouol8t] {
  border: 1px dashed var(--neutral-stroke-strong-rest, #9aa3af);
  border-radius: 4px;
  padding: .35rem .5rem;
  background: var(--neutral-layer-1, #fff);
  cursor: grab;
}

.ic-issue-title[b-sw93ouol8t] { 
  font-size: .9rem;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
/* /Pages/Framing/IssueRaising/IssueAdd.razor.rz.scp.css */
.host[b-7khtmmbb8d], :host[b-7khtmmbb8d] {
    display: block;
}
.new-issue-container[b-7khtmmbb8d] {
    display: flex;
    width: 100%;
    gap: 10px;
    flex-shrink: 0;
    align-items: stretch; /* ensure children can stretch vertically */
}
/* /Pages/Framing/IssueRaising/IssueBar.razor.rz.scp.css */
:host[b-odwv2rq1md] {
    display: block;
    width: 100%;
}

.issue-bar-container[b-odwv2rq1md] {
    width: 100%;
    background-color: transparent;
    padding: 0px;
    border-radius: 2px;
    margin-bottom: 0px;
    border: solid 1px transparent;
}

    .issue-bar-container.issue-bar-selected[b-odwv2rq1md] {
        border: solid 1px var(--neutral-fill-input-alt-active);
    }

        .issue-bar-container.issue-bar-selected:focus-within[b-odwv2rq1md] {
            border: solid 1px var(--accent-fill-active);
        }

.issue-bar[b-odwv2rq1md] {
    display: flex;
    position: relative;
    width: 100%;
    min-height: 102px;
    height: 102px;
    background-color: var(--fill-color);
    border-radius: 2px;
    border: calc(var(--stroke-width)* 1px) solid var(--neutral-stroke-divider-rest);
    overflow: hidden;
}

    .issue-bar:focus-visible[b-odwv2rq1md] {
        outline: none;
    }

    .issue-bar:hover[b-odwv2rq1md] {
        border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-hover);
    }

    .issue-bar:focus-within[b-odwv2rq1md] {
        border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-focus);
    }

.issue-bar-type-indicator[b-odwv2rq1md] {
    width: 32px;
    margin: 2px;
    flex-shrink: 0;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    transition: opacity 0.2s;
}

    .issue-bar-type-indicator:hover[b-odwv2rq1md] {
        opacity: 0.85;
    }

    .issue-bar-type-indicator:active[b-odwv2rq1md] {
        opacity: 0.7;
    }

.issue-bar-type-text[b-odwv2rq1md] {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.issue-bar-content[b-odwv2rq1md] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 4px 8px;
    min-width: 0;
}

.issue-bar-header[b-odwv2rq1md] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8px;
    gap: 16px;
}

.issue-bar-title[b-odwv2rq1md] {
    font-size: 16px;
    font-weight: 600;
    color: var(--neutral-foreground-rest);
    flex: 1;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.issue-bar-id[b-odwv2rq1md] {
    font-size: 14px;
    color: var(--neutral-foreground-hint);
    flex-shrink: 0;
    font-weight: 500;
}

.issue-bar-description[b-odwv2rq1md] {
    font-size: 14px;
    color: var(--neutral-foreground-rest);
    margin-bottom: 12px;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
    overflow-wrap: anywhere;
    max-height: 40px;
}

.issue-bar-footer[b-odwv2rq1md] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;

    width: calc(100% - 38px);
    position: absolute;
    bottom: 4px;
    left: 42px;
}

[b-odwv2rq1md] .issue-bar-footer-overflow {
    flex: 1;
    min-width: 0;
    margin-right: 30px;
}

[b-odwv2rq1md] .issue-bar-footer-button {
    position: absolute;
    right: 6px;
    bottom: -2px;
    height: 26px;
    width: 26px;
    min-width: 26px;
    border-radius: 1000px;
}

[b-odwv2rq1md] .issue-bar-footer-overflow fluent-badge {
    margin-right: 4px;
}

[b-odwv2rq1md] .issue-bar-footer-overflow fluent-badge {
    margin-right: 4px;
}

/* Key shortcuts in menu */
[b-odwv2rq1md] .key {
    font-size: 12px;
    color: var(--neutral-foreground-hint);
    margin-left: 16px;
}
/* /Pages/Framing/IssueRaising/IssueCard.razor.rz.scp.css */
:host[b-vft795m0na] {
    display: block;
    width: 100%;
}

.issue-card-container[b-vft795m0na] {
    width: 100%;
    background-color: transparent;
    padding: 0px;
    border-radius: 8px;
    border: 1px solid transparent;
}

    .issue-card-container.issue-card-selected[b-vft795m0na] {
        border: 1px solid var(--neutral-fill-input-alt-active);
    }

        .issue-card-container.issue-card-selected:focus-within[b-vft795m0na] {
            border: 1px solid var(--accent-fill-active);
            /*filter: drop-shadow(0px 0px 1px var(--accent-fill-active));*/
        }

[b-vft795m0na] .issue-card {
    padding: 0px;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    box-shadow: none;
    display: flex;
    flex-direction: column;
}

[b-vft795m0na] .issue-card:focus-visible {
    /*border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-focus);*/
    outline: none;
}

[b-vft795m0na] .issue-card:hover {
    border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-hover);
}

[b-vft795m0na] .issue-card:focus-within {
    border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-focus);
}

[b-vft795m0na] .card-title {
    width: 100%;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    height: 44px;
    position: relative;
    display: flex;
    align-items: center; /* vertically center label */
    padding-right: 48px; /* reserve space so text does not go under the button */
    border-bottom: 1px solid var(--neutral-stroke-input-active);
    min-width: 0; /* allow flex children to shrink within container */
}

/* Limit label to two lines, add left margin */
[b-vft795m0na] .issue-card-header-label {
    margin-left: 12px;
    flex: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* show at most two lines */
    overflow: hidden;
    min-width: 0; /* prevent flex overflow causing horizontal growth */
    word-break: break-word; /* break long unbroken strings */
    overflow-wrap: anywhere; /* allow breaking anywhere to avoid overflow */
}

/* Issue type button positioned top-right */
[b-vft795m0na] .issue-type-button {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0px 8px 0px 24px;
    height: 43px;
    width: 40px;
    min-width: 40px;
    border-color: white;
    border-style: solid;
    border-width: thin;
    border-right-style: none;
    border-top-style: none;
    font-size: 16px;
    display: flex;
    justify-content: center;
}

[b-vft795m0na] fluent-button.issue-type-button::part(control) {
    justify-content: center;
    padding-right: 4px;
}

/* Footer/status bar */
[b-vft795m0na] .issue-card-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px; /* fixed height */
    display: flex;
    align-items: center;
    padding: 2px 4px 2px 6px;
    box-sizing: border-box;
    background: var(--neutral-fill-stealth-rest);
    border-top: 1px solid var(--neutral-stroke-input-active);
    gap: 4px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

[b-vft795m0na] .issue-card-footer-overflow {
    flex: 1;
    width: auto;
    min-width: 0;
}

[b-vft795m0na] .issue-card-footer-button {
    position: absolute;
    right: 4px;
    bottom: 2px;
    height: 26px;
    width: 26px;
    min-width: 26px;
    border-radius: 1000px;
}

[b-vft795m0na] ul {
    padding-inline-start: 24px;
}

/* Body content should not cause horizontal growth */
[b-vft795m0na] .issue-card-body {
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 8px;
    padding-bottom: 38px; /* Reserve space for footer (30px height + 8px padding) */
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6; /* Adjust based on typical card height */
    text-overflow: ellipsis;
}

/* Choices list should wrap long names without expanding card width */
[b-vft795m0na] .issue-card-choices {
    min-width: 0;
}

[b-vft795m0na] .issue-card-choice-item {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.key[b-vft795m0na] {
    padding-left: 20px;
}

/*::deep .fluent-menu-item-local {
    grid-template-columns: minmax(32px, auto) auto 1fr minmax(32px, auto) !important;
}*/

/* The following is a key-cap type look that could be used instead... */
/*::deep .key {
    display: inline-block;
    min-width: 30px;
    min-height: 30px;
    padding: 4px;
    margin: 4px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    color: black;
    cursor: pointer;
}
    */
/* /Pages/Framing/IssueRaising/IssueCardSmall.razor.rz.scp.css */
:host[b-teewbyaoni] {
    display: block;
    width: 100%;
}

.issue-card-container[b-teewbyaoni] {
    width: 100%;
    background-color: transparent;
    padding: 0px;
    border-radius: 8px;
    border: 1px solid transparent;
}

    .issue-card-container.issue-card-selected[b-teewbyaoni] {
        border: 1px solid var(--neutral-fill-input-alt-active);
    }

        .issue-card-container.issue-card-selected:focus-within[b-teewbyaoni] {
            border: 1px solid var(--accent-fill-active);
            /*filter: drop-shadow(0px 0px 1px var(--accent-fill-active));*/
        }

[b-teewbyaoni] .issue-card {
    padding: 0px;
    position: relative;
    width: 100%;
    height: 120px;
    box-shadow: none;
}

[b-teewbyaoni] .issue-card:focus-visible {
    /*border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-focus);*/
    outline: none;
}

[b-teewbyaoni] .issue-card:hover {
    border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-hover);
}

[b-teewbyaoni] .issue-card:focus-within {
    border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-focus);
}

[b-teewbyaoni] .card-title {
    width: 100%;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    height: 44px;

    position: relative;
    display: flex;
    align-items: center; /* vertically center label */
    padding-right: 48px; /* reserve space so text does not go under the button */
    border-bottom: 1px solid var(--neutral-stroke-input-active);
    min-width: 0; /* allow flex children to shrink within container */
}

/* Limit label to two lines, add left margin */
[b-teewbyaoni] .issue-card-header-label {
    margin-left: 8px;
    flex: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* show at most two lines */
    overflow: hidden;
    min-width: 0; /* prevent flex overflow causing horizontal growth */
    word-break: break-word; /* break long unbroken strings */
    overflow-wrap: anywhere; /* allow breaking anywhere to avoid overflow */
}

/* Issue type button positioned top-right */
[b-teewbyaoni] .issue-type-button {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0px 8px 0px 24px;
    height: 43px;
    width: 40px;
    min-width: 40px;
    border-color: white;
    border-style: solid;
    border-width: thin;
    border-right-style: none;
    border-top-style: none;
    font-size: 16px;
    display: flex;
    justify-content: center;
}

[b-teewbyaoni] fluent-button.issue-type-button::part(control) {
    justify-content: center;
    padding-right: 4px;
}

[b-teewbyaoni] ul {
    padding-inline-start: 24px;
}

/* Body content should not cause horizontal growth */
[b-teewbyaoni] .issue-card-body {
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 12px;

    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Choices list should wrap long names without expanding card width */
[b-teewbyaoni] .issue-card-choices {
    min-width: 0;
}

[b-teewbyaoni] .issue-card-choice-item {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.key[b-teewbyaoni] {
    padding-left: 20px;
}
/* /Pages/Framing/IssueRaising/IssueEditorDialog.razor.rz.scp.css */
/*:root {
    --decision-strong: #FFE635;
    --decision-light: #FFFCE4;
    --metric-strong: #E9902D;
    --metric-light: #FFEFDD;
    --fact-strong: #B2B2B2;
    --fact-light: #E5E5E5;
    --uncertainty-strong: #4F81BD;
    --uncertainty-light: #E8EEF6;
    --other-strong: #AC66BB;
    --other-light: #DDC1E3;
    --none-strong: #E5E5E5;
    --none-light: #FFFFFF;
}*/

[b-00g1g5e2az] fluent-option {
    padding: 0 8px;
    margin: 0 1px;
    min-height: 34px;
}

    [b-00g1g5e2az] fluent-option.selected {
        background: transparent;
    }

        [b-00g1g5e2az] fluent-option.selected:hover {
            background: var(--neutral-fill-secondary-hover);
        }

        [b-00g1g5e2az] fluent-option.selected::before {
            top: unset;
            bottom: 1px;
            height: 3px;
            width: calc(100% - 10px);
            left: 5px;
        }

    [b-00g1g5e2az] fluent-option:not([disabled]):active::before {
        height: 3px;
        width: 20%;
        bottom: 1px;
        left: 40%;
    }
/* remove focus rect from ListBox... */
[b-00g1g5e2az] fluent-listbox:focus-within:not([disabled]) {
    outline: none;
}
/* remove border around un-named div surrounding fluent-listbox (comes from template; border is hard-coded by MS) */
/* remove y-scrolling -- using listbox horizontally here... */
[b-00g1g5e2az] div.issuetype-listbox-container > div {
    border: none !important;
    overflow-y: unset !important;
}

.issue-type-marker[b-00g1g5e2az] {
    height: 18px;
    width: 18px;
    border-radius: 4px;
    display: inline-block;
    vertical-align: text-bottom;
    margin-right: 4px;
    border-width: thin;
    border-style: solid;
    border-color: var(--neutral-stroke-strong-rest);
}

[b-00g1g5e2az] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}

[b-00g1g5e2az] .fluent-sortable-list .sortable-item {
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-bottom: 4px !important;
    margin-right: 30px;
    align-items: end;
}

[b-00g1g5e2az] .tags-overflow {
    /*width: 100%;*/
    flex: 1;
    box-sizing: border-box;
}

.tags-container[b-00g1g5e2az] {
    display: flex;
    width: 100%;
    align-items: center; /* Vertically centers the tags and button */
    gap: 10px;
    padding-right: 30px;
}
/* /Pages/Framing/IssueRaising/IssueListRow.razor.rz.scp.css */
:host[b-w50nilawds] {
    display: block;
    width: 100%;
}

.issue-row-container[b-w50nilawds] {
    width: 100%;
    background-color: transparent;
    padding: 0px;
    border-radius: 1px;
    border: 1px solid transparent;
}

    .issue-row-container.issue-row-selected[b-w50nilawds] {
        border: 1px solid var(--neutral-fill-input-alt-active);
    }

        .issue-row-container.issue-row-selected:focus-within[b-w50nilawds] {
            border: 1px solid var(--accent-fill-active);
        }

[b-w50nilawds] .issue-row {
    padding-left: 8px;
    position: relative;
    width: 100%;
    height: 32px;
    display: flex;
    align-items: center;
    box-shadow: none;
    border: calc(var(--stroke-width)* 1px) solid transparent;
    background-color: var(--neutral-fill-input-rest);
}

[b-w50nilawds] .issue-row:focus-visible {
    outline: none;
}

[b-w50nilawds] .issue-row:hover {
    border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-hover);
}

[b-w50nilawds] .issue-row:focus-within {
    border: calc(var(--stroke-width)* 1px) solid var(--accent-fill-focus);
}

/* Issue type button positioned on the left */
[b-w50nilawds] .issue-type-button {
    border-radius: 2px;
    height: 28px;
    width: 32px;
    min-width: 32px;
    border: none;
    font-size: 14px;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    margin-left: 8px;
    transition: width 0.2s ease;
}

[b-w50nilawds] fluent-button.issue-type-button::part(control) {
    justify-content: center;
    padding: 0px;
}

/* Hide full name by default, show only letter */
[b-w50nilawds] .issue-type-button .issue-type-name {
    display: none;
}

[b-w50nilawds] .issue-type-button .issue-type-letter {
    display: inline;
}

/* On wide screens, show full name and hide letter */
@media (min-width: 800px) {
    [b-w50nilawds] .issue-type-button {
        width: auto;
    }

    [b-w50nilawds] fluent-button.issue-type-button::part(control) {
        justify-content: stretch;
        padding: 0 8px;
    }

    [b-w50nilawds] .issue-type-button .issue-type-name {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 4px;
        width: 120px;
    }

    [b-w50nilawds] .issue-type-button .issue-type-letter {
        display: none;
    }
}

/* Title section - fixed width for consistency */
[b-w50nilawds] .issue-row-title {
    width: 200px;
    min-width: 200px;
    font-weight: 600;
    margin-left: 8px;
}

    [b-w50nilawds] .issue-row-title fluent-label {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

/* Description section - takes remaining space */
[b-w50nilawds] .issue-row-description {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    color: var(--neutral-foreground-hint);
}

/* Tags section - can collapse when space is limited */
[b-w50nilawds] .issue-row-tags {
    flex: 1 1;
    max-width: 50%;
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 32px;
}

    [b-w50nilawds] .issue-row-tags fluent-overflow {
        display: flex;
        gap: 4px;
        width: 100%;
    }

    [b-w50nilawds] .issue-row-tags fluent-badge {
        font-size: 11px;
        padding: 1px 1px;
        height: 20px;
    }

/* Tags button on the right */
[b-w50nilawds] .issue-row-tags-button {
    height: 28px;
    width: 28px;
    min-width: 28px;
    border-radius: 4px;
    flex-shrink: 0;
    margin-right: 2px;
}

.two-cols[b-w50nilawds]{
    display: flex;
    flex: 1;
    min-width: 0;
}

.key[b-w50nilawds] {
    padding-left: 20px;
}

/* Responsive behavior - hide tags on smaller screens */
@media (max-width: 1024px) {
    [b-w50nilawds] .issue-row-tags {
        display: none;
    }
}

/* Very compact on small screens */
@media (max-width: 768px) {
    [b-w50nilawds] .issue-row-title {
    }
}
/* /Pages/Framing/IssueRaising/IssueRaising.razor.rz.scp.css */
.page-container[b-bvshua29n2] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    overflow: hidden;
    padding: 40px;
    padding-bottom: 20px;
}

[b-bvshua29n2] .toolbar-area {
    margin: -20px -20px 0 -20px;
    border-bottom: 2px solid var(--accent-stroke-control-active);
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    background-color: var(--neutral-layer-4);
    border-radius: 4px 4px 0px 0px;
    flex-shrink: 0;
}

[b-bvshua29n2] .issue-add-container {
    flex-shrink: 0;
    padding-top: 8px;
    padding-bottom: 0;
}

[b-bvshua29n2] .merge-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px 4px;
    --fluent-sortable-list-item-height: 100% !important;
    --fluent-sortable-list-background-color: transparent !important;
    border: 0 solid transparent !important;
    padding: 0 !important;
    flex-grow: 1;
    min-height: 18px;
}

    [b-bvshua29n2] .merge-list .sortable-item {
        border: 0 solid transparent !important;
        padding: 0 !important;
        width: 100%;
        box-sizing: border-box;
    }

/* Responsive grid columns based on viewport width */
@media (min-width: 480px) {
    [b-bvshua29n2] .merge-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    [b-bvshua29n2] .merge-list {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1024px) {
    [b-bvshua29n2] .merge-list {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 1280px) {
    [b-bvshua29n2] .merge-list {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 1440px) {
    [b-bvshua29n2] .merge-list {
        grid-template-columns: repeat(7, 1fr);
    }
}

@media (min-width: 1840px) {
    [b-bvshua29n2] .merge-list {
        grid-template-columns: repeat(8, 1fr);
    }
}

[b-bvshua29n2] .merge-list-container {
    flex-shrink: 0;
    min-height: 20px;
    background: var(--neutral-fill-input-alt-rest);
    border-color: var(--neutral-stroke-rest);
    border-style: dashed;
    /* border-width: thin; */
    margin: 0px -8px 8px -8px;
    padding-left: 8px;
    overflow-x: hidden;
    overflow-y: hidden;
}

[b-bvshua29n2] .merge-button-style {
    flex-grow: 0;
    align-self: center;
    margin: 8px;
    height: 68px;
    min-width: 90px;
}
/* /Pages/Framing/IssueRaising/IssuesList.razor.rz.scp.css */
[b-yn2wgo63tt] .issue-list-all-views {
    grid-template-columns: 1fr;
    gap: 0px 4px;
    --fluent-sortable-list-item-height: 100% !important;
    --fluent-sortable-list-background-color: transparent !important;
    border: 0 solid transparent !important;
    padding: 1px !important;
    align-items: start;
    align-content: start;
}

    [b-yn2wgo63tt] .issue-list-all-views .sortable-item {
        border: 0 solid transparent !important;
        padding: 0 !important;
        width: 100%;
        box-sizing: border-box;
    }

[b-yn2wgo63tt] .issue-list-list-view {
    display: block;
}
    [b-yn2wgo63tt] .issue-list-list-view .sortable-item {
        margin-bottom: 0px !important;
    }

[b-yn2wgo63tt] .issue-list-bar-view {
    display: grid;
    gap: 0px 4px;
}

[b-yn2wgo63tt] .issue-list-small-tile-view {
    display: grid;
}

[b-yn2wgo63tt] .issue-list-large-tile-view {
    display: grid;
}

/* Responsive grid columns based on viewport width */
@media (min-width: 480px) {
    [b-yn2wgo63tt] .issue-list-large-tile-view {
        grid-template-columns: repeat(1, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-small-tile-view {
        grid-template-columns: repeat(2, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-bar-view {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (min-width: 768px) {
    [b-yn2wgo63tt] .issue-list-large-tile-view {
        grid-template-columns: repeat(2, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-small-tile-view {
        grid-template-columns: repeat(3, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-bar-view {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (min-width: 1024px) {
    [b-yn2wgo63tt] .issue-list-large-tile-view {
        grid-template-columns: repeat(3, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-small-tile-view {
        grid-template-columns: repeat(4, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-bar-view {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1280px) {
    [b-yn2wgo63tt] .issue-list-large-tile-view {
        grid-template-columns: repeat(3, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-small-tile-view {
        grid-template-columns: repeat(6, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-bar-view {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1440px) {
    [b-yn2wgo63tt] .issue-list-large-tile-view {
        grid-template-columns: repeat(4, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-small-tile-view {
        grid-template-columns: repeat(7, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-bar-view {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1840px) {
    [b-yn2wgo63tt] .issue-list-large-tile-view {
        grid-template-columns: repeat(5, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-small-tile-view {
        grid-template-columns: repeat(9, 1fr);
    }

    [b-yn2wgo63tt] .issue-list-bar-view {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* /Pages/Framing/IssueRaising/IssueTagsEditorDialog.razor.rz.scp.css */

[b-uvxp5izl0o] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}

[b-uvxp5izl0o] .fluent-sortable-list .sortable-item {
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-bottom: 4px !important;
    margin-right: 30px;
    align-items: end;
}

/*
    styles to set up the sortable list to "the DF look"
*/
/*
::deep .tags-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 38px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}

    ::deep .tags-list .sortable-item {
        padding-right: 0px !important;
        margin-bottom: 4px !important;
    }

        ::deep .tags-list .sortable-item:hover {
            background: var(--neutral-fill-input-alt-hover);
        }

    ::deep .tags-list .sortable-grab {
        width: auto;
        background: transparent;
        padding: 0 0px 0px 5px;
    }

::deep .tags-list fluent-text-field::part(root) {
    background: transparent;
}

    ::deep .tags-list fluent-text-field::part(root):hover {
        border-color: var(--neutral-stroke-hover);
    }

    ::deep .tags-list fluent-text-field::part(root):focus-within {
        border-color: var(--neutral-stroke-hover);
    }

::deep .tags-list fluent-button:hover {
    background: #C42B1C;
}

    ::deep .tags-list fluent-button:hover svg {
        fill: white !important;
    }


::deep .tags-list fluent-button:active {
    background: #DF667B;
}

    ::deep .tags-list fluent-button:active svg {
        fill: white !important;
    }*/


    /*
        Telerik colorpicker needs to be 30px, not 32... :/
    */
/* /Pages/Framing/Landing.razor.rz.scp.css */
.docs-grid-container[b-4gb6ieijp6] {
    border: solid var(--neutral-stroke-divider-rest) 1px;
    border-radius: 12px;
    padding-bottom: 12px;
    padding-left: 4px;
    padding-right: 4px;
    margin-top: 8px;
}
/* /Pages/Index.razor.rz.scp.css */
/* Destination position for the fly-in: top-right of the content area.
   Six keyframe steps approximate a smooth accelerating arc.
   X progresses in small then large increments (acceleration).
   Y traces a downward swoop then rises back up to the destination.
   Per-segment cubic-beziers keep transitions smooth between steps. */
.df-logo-animation[b-ekdd6ya0z1] {
    --logo-dest-x: calc(100vw - 160px);
    --logo-dest-y: 0px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    transform-origin: top left;
    animation: fly-to-greeting-b-ekdd6ya0z1 1.0s 5.5416667s linear forwards;
}

/* Hidden until sessionStorage has been checked, preventing a flash of the
   animation starting before we know whether to skip it. */
.df-logo-animation--loading[b-ekdd6ya0z1] {
    opacity: 0;
}

/* Applied when the animation has already been played this browser session.
   Hide the animated SVG entirely — the static img is shown instead. */
.df-logo-animation--skip[b-ekdd6ya0z1] {
    display: none;
}

@keyframes fly-to-greeting-b-ekdd6ya0z1 {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
        animation-timing-function: cubic-bezier(0.3, 0, 0.7, 0.2);
    }
    /* Slow start — barely moved right, just beginning to dip */
    15% {
        transform: translate(calc(var(--logo-dest-x) * 0.05), calc(var(--logo-dest-y) + 8vh)) scale(0.82);
        opacity: 0.95;
        animation-timing-function: cubic-bezier(0.4, 0, 0.6, 0.3);
    }
    /* Deepening into the swoop, picking up speed */
    35% {
        transform: translate(calc(var(--logo-dest-x) * 0.22), calc(var(--logo-dest-y) + 22vh)) scale(0.60);
        opacity: 0.85;
        animation-timing-function: cubic-bezier(0.4, 0.1, 0.6, 0.5);
    }
    /* Bottom of the arc — halfway across, maximum depth */
    50% {
        transform: translate(calc(var(--logo-dest-x) * 0.45), calc(var(--logo-dest-y) + 26vh)) scale(0.42);
        opacity: 0.70;
        animation-timing-function: cubic-bezier(0.35, 0.2, 0.55, 0.7);
    }
    /* Rising, accelerating hard to the right */
    65% {
        transform: translate(calc(var(--logo-dest-x) * 0.66), calc(var(--logo-dest-y) + 18vh)) scale(0.26);
        opacity: 0.50;
        animation-timing-function: cubic-bezier(0.3, 0.4, 0.5, 0.9);
    }
    /* Nearly there — most distance covered, almost back to top */
    85% {
        transform: translate(calc(var(--logo-dest-x) * 0.90), calc(var(--logo-dest-y) + 5vh)) scale(0.09);
        opacity: 0.20;
        animation-timing-function: cubic-bezier(0.2, 0.6, 0.4, 1);
    }
    /* Arrives as a dot at the greeting logo */
    100% {
        transform: translate(var(--logo-dest-x), var(--logo-dest-y)) scale(0);
        opacity: 0;
    }
}

/* ── Welcome page content ──────────────────────────────────────────────────── */

/* Hidden while we determine whether animation needs to play. */
.welcome-content--loading[b-ekdd6ya0z1] {
    opacity: 0;
    pointer-events: none;
    padding: 20px;
}

/* Animation already played — show immediately. */
.welcome-content--skip[b-ekdd6ya0z1] {
    opacity: 1;
    padding: 20px;
}

/* First visit — fade in after the logo animation has cleared the viewport. */
.welcome-content[b-ekdd6ya0z1] {
    opacity: 0;
    animation: welcome-fade-in-b-ekdd6ya0z1 1.0s 5.5s ease-out forwards;
    padding: 20px;
}

@keyframes welcome-fade-in-b-ekdd6ya0z1 {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Greeting ──────────────────────────────────────────────────────────────── */

/* Establish a container so the greeting can respond to its own width
   rather than the full viewport width (which includes the sidebar). */
.welcome-content[b-ekdd6ya0z1],
.welcome-content--skip[b-ekdd6ya0z1],
.welcome-content--loading[b-ekdd6ya0z1] {
    container-type: inline-size;
    container-name: welcome;
}

.welcome-greeting[b-ekdd6ya0z1] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 0px;
    gap: 16px;
}

/* On narrow content areas (e.g. phone portrait, or small window) the logo
   moves above the greeting text. */
@container welcome (max-width: 800px) {
    .welcome-greeting[b-ekdd6ya0z1] {
        flex-direction: column-reverse;
        align-items: flex-start;
        margin-bottom: 12px;
    }
}

.welcome-greeting-logo[b-ekdd6ya0z1] {
    height: 56px;
    width: auto;
    flex-shrink: 0;
    /* Hidden until the SVG hands off, or immediately visible when animation is skipped. */
    opacity: 0;
    transform: scale(0.15);
    transform-origin: center center;
}

/* Applied by JS when animation was already played — just show the logo. */
.welcome-greeting-logo--visible[b-ekdd6ya0z1] {
    opacity: 1;
    transform: scale(1);
}

/* Applied by JS during the sleight-of-hand: grows out of center with a fade. */
.welcome-greeting-logo--spin-in[b-ekdd6ya0z1] {
    animation: logo-grow-in-b-ekdd6ya0z1 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes logo-grow-in-b-ekdd6ya0z1 {
    from {
        opacity: 0;
        transform: scale(0.15);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* ── Sections ──────────────────────────────────────────────────────────────── */

.welcome-section[b-ekdd6ya0z1] {
    margin-bottom: 24px;
}

.welcome-section-header[b-ekdd6ya0z1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.welcome-loading[b-ekdd6ya0z1] {
    display: flex;
    justify-content: center;
    padding: 24px 0;
}

.welcome-more-note[b-ekdd6ya0z1] {
    font-size: 12px;
    color: var(--neutral-foreground-hint);
    margin-top: 10px;
}

/* ── Empty states ──────────────────────────────────────────────────────────── */

.welcome-empty-state[b-ekdd6ya0z1] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 16px;
    border-radius: 8px;
    background: var(--neutral-fill-secondary-rest);
    color: var(--neutral-foreground-rest);
}

.welcome-empty-state p[b-ekdd6ya0z1] {
    margin: 0;
    font-size: 14px;
}

.welcome-empty-state--success[b-ekdd6ya0z1] {
    background: var(--success-fill-rest, var(--neutral-fill-secondary-rest));
}

/* ── Document cards ────────────────────────────────────────────────────────── */

.doc-cards-row[b-ekdd6ya0z1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

.doc-card[b-ekdd6ya0z1] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 8px;
    background: var(--neutral-fill-stealth-rest);
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
    min-height: 72px;
}

.doc-card:hover[b-ekdd6ya0z1] {
    background: var(--neutral-fill-stealth-hover);
    box-shadow: var(--shadow4);
}

.doc-card:focus-visible[b-ekdd6ya0z1] {
    outline: 2px solid var(--focus-stroke-outer);
    outline-offset: 2px;
}

.doc-card--pending[b-ekdd6ya0z1] {
    border-left: 3px solid var(--warning-fill-rest, var(--accent-fill-rest));
}

.doc-card-icon[b-ekdd6ya0z1] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--neutral-fill-secondary-rest);
}

.doc-card-body[b-ekdd6ya0z1] {
    flex: 1;
    min-width: 0;
}

.doc-card-name[b-ekdd6ya0z1] {
    font-weight: 500;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 4px;
    color: var(--neutral-foreground-rest);
}

.doc-card-meta[b-ekdd6ya0z1] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.doc-card-date[b-ekdd6ya0z1] {
    font-size: 12px;
    color: var(--neutral-foreground-hint);
}

/* ── Feature/idea cards ────────────────────────────────────────────────────── */

.feature-cards-row[b-ekdd6ya0z1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}

.feature-card[b-ekdd6ya0z1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    border-radius: 12px;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    color: var(--neutral-foreground-on-accent-rest);
}

.feature-card:hover[b-ekdd6ya0z1] {
    transform: translateY(-2px);
    box-shadow: var(--shadow8);
}

.feature-card:focus-visible[b-ekdd6ya0z1] {
    outline: 2px solid var(--focus-stroke-outer);
    outline-offset: 2px;
}

.feature-card--calibrate[b-ekdd6ya0z1] {
    background: linear-gradient(135deg, #6a1b9a, #8e24aa);
}

.feature-card--assess[b-ekdd6ya0z1] {
    background: linear-gradient(135deg, #2e7d32, #43a047);
}

.feature-card--frame[b-ekdd6ya0z1] {
    background: linear-gradient(135deg, var(--accent-fill-rest), var(--accent-fill-hover));
}

.feature-card-icon[b-ekdd6ya0z1] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    margin-bottom: 4px;
}

.feature-card-title[b-ekdd6ya0z1] {
    font-size: 18px;
    font-weight: 700;
    color: white;
}

.feature-card-desc[b-ekdd6ya0z1] {
    font-size: 13px;
    opacity: 0.9;
    margin: 0 0 8px;
    line-height: 1.5;
    color: white;
}

.feature-card-link[b-ekdd6ya0z1] {
    color: white;
    text-decoration: none;
}

    .feature-card-link:hover[b-ekdd6ya0z1] {
        text-decoration: underline;
    }

/* ── Announcements card ────────────────────────────────────────────────────── */

.announcements-card[b-ekdd6ya0z1] {
    border-radius: 10px;
    background: var(--neutral-fill-stealth-rest);
    border: 1px solid transparent;
    padding: 20px 24px;
}

.announcements-card-body[b-ekdd6ya0z1] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.announcements-card-body > :first-child[b-ekdd6ya0z1] {
    flex-shrink: 0;
    margin-top: 2px;
}

.announcements-title[b-ekdd6ya0z1] {
    font-weight: 600;
    font-size: 15px;
    margin: 0 0 6px;
    color: var(--neutral-foreground-rest);
}

.announcements-desc[b-ekdd6ya0z1] {
    font-size: 13px;
    color: var(--neutral-foreground-hint);
    margin: 0 0 10px;
    line-height: 1.5;
}

/* /Pages/Interview/DiscreteUncertainty/Assess.razor.rz.scp.css */
.outcome-name[b-1vtmd37wt0] {
    padding-right: 12px;
    vertical-align: middle;
}

.prob-input[b-1vtmd37wt0] {
    vertical-align: middle;
    padding: 2px;
    display: flex;
    align-items: center;
}
/* /Pages/Interview/DiscreteUncertainty/Debias.razor.rz.scp.css */
[b-nslooii3va] .help-text-label {
    margin-right: 30px;
}

.top-banner[b-nslooii3va] {
    display: flex;
    width: 100%;
}

[b-nslooii3va] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}
/* /Pages/Interview/DiscreteUncertainty/Results.razor.rz.scp.css */
[b-fgmksann14] .summary-row {
    color: var(--accent-foreground-active);
    /*border-top: dashed;*/
}

[b-fgmksann14] .col-title-text{
    min-width: fit-content;
}

.outcome-name[b-fgmksann14] {
    padding-right: 12px;
    vertical-align: middle;
}

.prob-input[b-fgmksann14] {
    vertical-align: middle;
    padding: 2px;
    display: flex;
    align-items: center;
}
/* /Pages/Interview/DiscreteUncertainty/Setup.razor.rz.scp.css */
[b-zdk94du6cb] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}
/* /Pages/Interview/ExpertInterviewLayout.razor.rz.scp.css */
.doc-placeholder[b-5uk7zvjro7] {
    box-shadow: var(--shadow4);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-x: visible;
    overflow-y: auto;
    position: relative;
    width: 100%;
    z-index: 0;
    color-scheme: light;
    /*height: calc(100vh - 40px);*/
    padding: 20px;
    background-color: var(--neutral-fill-secondary-rest);
    border-top-color: var(--neutral-stroke-divider-rest);
    border-top-style: solid;
    border-top-width: thin;
    border-left-color: var(--neutral-stroke-divider-rest);
    border-left-style: solid;
    border-left-width: thin;
}

.doc-placeholder-inner[b-5uk7zvjro7] {
    background: var(--neutral-fill-layer-rest);
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    flex: none;
    min-height: 100%;
    height: auto;
    padding: 20px;
}

.after-root[b-5uk7zvjro7] {
    font-size: 14px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 48px;
    bottom: 0px;
    display: flex !important; /* drop important once css file is cleaned up?! */
}

[b-5uk7zvjro7] .fluent-sortable-list .sortable-item {
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-bottom: 4px !important;
    margin-right: 30px;
    align-items: end;
}

    
/* /Pages/Interview/Landing.razor.rz.scp.css */
.docs-grid-container[b-0kzzvizi04] {
    border: solid var(--neutral-stroke-divider-rest) 1px;
    border-radius: 12px;
    padding-bottom: 12px;
    padding-left: 4px;
    padding-right: 4px;
    margin-top: 8px;
}

/* css styles for the dismiss button - hilight when mouse over / clicking */
[b-0kzzvizi04] fluent-button.delete-btn:hover {
    background: #C42B1C;
}

    [b-0kzzvizi04] fluent-button.delete-btn:hover svg {
        fill: white !important;
    }

[b-0kzzvizi04] fluent-button.delete-btn:active {
    background: #DF667B;
}

    [b-0kzzvizi04] fluent-button.delete-btn:active svg {
        fill: white !important;
    }
/* /Pages/Interview/RangeUncertainty/Assess.razor.rz.scp.css */
.outcome-name[b-mzeqyvc17k] {
    padding-right: 12px;
    vertical-align: middle;
}

.prob-input[b-mzeqyvc17k] {
    vertical-align: middle;
    padding: 2px;
}

[b-mzeqyvc17k] div.z-index-chart {
    --kendo-chart-bg: var(--neutral-fill-layer-rest);
    --kendo-chart-text: var(--neutral-foreground-rest);
}

.z-index-chart[b-mzeqyvc17k] {
    position: relative !important;
    z-index: 1 !important;
}
/* /Pages/Interview/RangeUncertainty/Debias.razor.rz.scp.css */
[b-ja8kpk62rt] .help-text-label {
    margin-right: 30px;
}

.top-banner[b-ja8kpk62rt] {
    display: flex;
    width: 100%;
}

[b-ja8kpk62rt] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}
/* /Pages/Interview/RangeUncertainty/Results.razor.rz.scp.css */
[b-csucl3updw] .summary-row {
    color: var(--accent-foreground-active);
}

/* vertically centers table headers */
[b-csucl3updw] .column-header > div {
    margin-top: 4px;
}
/* /Pages/Interview/RangeUncertainty/Setup.razor.rz.scp.css */
[b-rg8tmmkknx] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}
/* /Pages/Interview/ReliabilityOfInformation/Assess.razor.rz.scp.css */
/* Styling number inputs similar to TextRow */

[b-54rh19rv7q] fluent-number-field::part(root) {
    background: transparent;
}

[b-54rh19rv7q] fluent-number-field::part(control) {
    height: 31px;
    min-height: 31px;
    max-height: 31px;
    background-color: var(--neutral-fill-input-alt-rest);
    border: 1px solid var(--neutral-stroke-input-active);
    border-radius: calc(var(--control-corner-radius) * 1px);
}

[b-54rh19rv7q] fluent-number-field:hover::part(control) {
    background-color: var(--neutral-fill-input-alt-hover);
}

/* Suppress default underline to match TextRow */
[b-54rh19rv7q] fluent-number-field:after {
    border-width: 0px;
}

/* Row container aligns label left, input right */
.roi-number-row[b-54rh19rv7q] {
    column-gap: 16px;
}

/* Right-side number group alignment and spacing */
.roi-number-row .number-with-suffix[b-54rh19rv7q] {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Keep compact width like TextRow use-cases */
.roi-number-row fluent-number-field[b-54rh19rv7q] {
    width: 75px;
}

.div-prob-entry[b-54rh19rv7q] {
    display: flex;
    align-items: center;
    gap: 0px;
    margin-top: 4px;
    margin-bottom: 8px;
}

.span-percent[b-54rh19rv7q] {
    margin-left: 4px;
}

.outcome-name[b-54rh19rv7q] {
    padding-right: 12px;
    vertical-align: middle;
}

.prob-input[b-54rh19rv7q] {
    vertical-align: middle;
    padding: 2px;
    display: flex;
    align-items: center;
}
/* /Pages/Interview/ReliabilityOfInformation/Components/InterpretationProbabilityTable.razor.rz.scp.css */
.interpretation-probability-table[b-achw37tgx7] {
    width: auto;
}

.table-header[b-achw37tgx7] {
    margin-bottom: 16px;
}

.probability-table[b-achw37tgx7] {
    width: auto;
    border-collapse: collapse;
    border: 1px solid var(--neutral-stroke-divider-rest);
}

    .probability-table th[b-achw37tgx7],
    .probability-table td[b-achw37tgx7] {
        padding: 4px 16px;
        border: 1px solid var(--neutral-stroke-divider-rest);
        text-align: left;
    }

    .probability-table thead th[b-achw37tgx7] {
        background-color: var(--neutral-layer-2);
        font-weight: 600;
        padding: 6px 16px;
    }

.real-outcome-cell[b-achw37tgx7] {
    vertical-align: middle;
}

.reliability-cell[b-achw37tgx7] {
    vertical-align: middle;
}

.reliability-cell-content[b-achw37tgx7] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.odd-row[b-achw37tgx7] {
    background-color: var(--neutral-layer-1);
}
/* /Pages/Interview/ReliabilityOfInformation/Debias.razor.rz.scp.css */
[b-ipt7jucpom] .help-text-label {
    margin-right: 30px;
}

.top-banner[b-ipt7jucpom] {
    display: flex;
    width: 100%;
}

[b-ipt7jucpom] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}
/* /Pages/Interview/ReliabilityOfInformation/Results.razor.rz.scp.css */
.probability-table[b-bqydzjsaey] {
    width: auto;
    border-collapse: collapse;
    border: 1px solid var(--neutral-stroke-divider-rest);
}

    .probability-table th[b-bqydzjsaey],
    .probability-table td[b-bqydzjsaey] {
        padding: 4px 16px;
        border: 1px solid var(--neutral-stroke-divider-rest);
        text-align: left;
    }

    .probability-table thead th[b-bqydzjsaey] {
        background-color: var(--neutral-layer-2);
        font-weight: 600;
        padding: 6px 16px;
    }

.real-outcome-cell[b-bqydzjsaey] {
    vertical-align: middle;
}

.odd-row[b-bqydzjsaey] {
    background-color: var(--neutral-layer-1);
}

.probability-table .probability-cell[b-bqydzjsaey] {
    text-align: right;
}

.reliability-cell-content[b-bqydzjsaey] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
/* /Pages/Interview/ReliabilityOfInformation/Setup.razor.rz.scp.css */
[b-aorbn0svhu] .sortable-list {
    --fluent-sortable-list-background-color: var(--neutral-fill-input-alt-rest) !important;
    border: 0 solid transparent !important;
    --fluent-sortable-list-item-height: 32px !important;
    padding: 0px;
    width: 100%;
    min-height: 0 !important;
}

[b-aorbn0svhu] #rel-assess-unc-assess-popup {
    width: fit-content;
}
/* /Pages/Interview/Shared/LanguageRelationshipScale.razor.rz.scp.css */
.sk-scale-container[b-kqykal02sf] {
/*    padding: 16px;
    box-shadow: var(--elevation-shadow-card-rest);
*/}

.sk-scale-table[b-kqykal02sf] {
    margin-top: 8px;
}

.sk-scale-range[b-kqykal02sf] {
    width: 90px;
    vertical-align: top;
    color: var(--neutral-foreground-hint);
}

.sk-scale-desc[b-kqykal02sf] {
    text-align: left;
    vertical-align: top;
    color: var(--neutral-foreground-hint);
}
/* /Pages/Interview/Shared/ManageUserRoles.razor.rz.scp.css */
