/* /Components/AgentConsole.razor.rz.scp.css */
/*
    The console commits to a single dark look rather than following the app's theme: it is a terminal,
    and a terminal that turns white in light mode reads as a bug. color-scheme says so explicitly -
    without it Chromium's Auto Dark Mode can repaint the bright text dark-on-dark.
*/
.ac-root[b-khr8ufi9em] {
    color-scheme: dark;
    position: relative;
    margin-top: .75rem;
    border: 1px solid #1c3a22;
    border-radius: 4px;
    background: #0a0a0a;
    color: #00ff41;
    font-family: Consolas, "Cascadia Mono", ui-monospace, monospace;
    font-size: 12px;
    overflow: hidden;
}

.ac-root.ac-awaiting[b-khr8ufi9em] {
    border-color: #00ff41;
    box-shadow: 0 0 8px rgba(0, 255, 65, .25);
}

.ac-bar[b-khr8ufi9em] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .5rem;
    border-bottom: 1px solid #1c3a22;
    background: #0d140f;
}

.ac-spacer[b-khr8ufi9em] {
    flex: 1;
}

.ac-badge[b-khr8ufi9em] {
    padding: .05rem .4rem;
    border: 1px solid currentColor;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 10px;
}

.ac-badge-running[b-khr8ufi9em] { color: #00ff41; }
.ac-badge-awaiting[b-khr8ufi9em] { color: #ffd166; }
.ac-badge-closing[b-khr8ufi9em] { color: #7a8b7e; }
.ac-badge-none[b-khr8ufi9em] { color: #7a8b7e; }

.ac-conn[b-khr8ufi9em] {
    color: #4b6b52;
    font-size: 10px;
}

/*
    The agent is still working. Subtle on purpose - it is a standing condition for most of a run, not
    an event, so it must not compete with the output for attention. It earns its place now that a
    message can be sent mid-run: it is the difference between "typing here does nothing" and "typing
    here lands at the next step".
*/
.ac-working[b-khr8ufi9em] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    color: #2f7a41;
    font-size: 10px;
    letter-spacing: .04em;
}

.ac-working-dot[b-khr8ufi9em] {
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: #00ff41;
    box-shadow: 0 0 4px rgba(0, 255, 65, .8);
    animation: ac-pulse-b-khr8ufi9em 1.6s ease-in-out infinite;
}

@keyframes ac-pulse-b-khr8ufi9em {
    0%, 100% { opacity: .25; }
    50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .ac-working-dot[b-khr8ufi9em] {
        animation: none;
        opacity: .8;
    }
}

.ac-close[b-khr8ufi9em],
.ac-send[b-khr8ufi9em] {
    border: 1px solid #1c3a22;
    border-radius: 2px;
    background: #0d140f;
    color: #00ff41;
    font: inherit;
    padding: .1rem .5rem;
    cursor: pointer;
}

.ac-close:hover[b-khr8ufi9em],
.ac-send:hover:not(:disabled)[b-khr8ufi9em] {
    background: #121c14;
}

.ac-send:disabled[b-khr8ufi9em] {
    color: #3a4d3f;
    cursor: default;
}

.ac-notice[b-khr8ufi9em] {
    padding: .35rem .5rem;
    background: #11202a;
    border-bottom: 1px solid #1c3a4a;
    color: #8fc4dd;
}

.ac-notice code[b-khr8ufi9em] {
    color: #b8dcef;
}

.ac-warning[b-khr8ufi9em] {
    padding: .35rem .5rem;
    background: #2a2411;
    border-bottom: 1px solid #574a1c;
    color: #ffd166;
}

.ac-log[b-khr8ufi9em] {
    /* Scrolls inside itself: the page must never grow a horizontal scrollbar because an agent printed
       a long line. */
    max-height: 22rem;
    overflow: auto;
    margin: 0;
    padding: .5rem;
    white-space: pre-wrap;
    word-break: break-word;
    text-shadow: 0 0 4px rgba(0, 255, 65, .5);
}

/* Scanlines. Pure decoration, so it must never intercept a click or a text selection. */
.ac-log[b-khr8ufi9em]::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0,
        rgba(0, 0, 0, 0) 2px,
        rgba(0, 0, 0, .18) 3px
    );
}

/* Colour carries meaning here, it does not just set a mood. */
.ac-line[b-khr8ufi9em] { margin: 0; }
.ac-assistant[b-khr8ufi9em] { color: #00ff41; }
.ac-thinking[b-khr8ufi9em] { color: #2f7a41; font-style: italic; }
.ac-tooluse[b-khr8ufi9em] { color: #35d6d6; }
.ac-toolresult[b-khr8ufi9em] { color: #6f8f76; }
.ac-system[b-khr8ufi9em] { color: #47604c; }
.ac-result[b-khr8ufi9em] { color: #eaffea; font-weight: 600; }
.ac-userinput[b-khr8ufi9em] { color: #ffffff; }
.ac-raw[b-khr8ufi9em] { color: #9fb3a4; }
.ac-dropped[b-khr8ufi9em] { color: #7a8b7e; font-style: italic; }

/* stderr deliberately breaks the palette: an error has to be findable at a glance. */
.ac-stderr[b-khr8ufi9em] { color: #ff9f43; }

/* Shown only while the agent is working, so a still console is visibly still rather than ambiguous. */
.ac-cursor[b-khr8ufi9em] {
    padding: 0 .5rem .35rem;
    color: #00ff41;
    animation: ac-blink-b-khr8ufi9em 1.1s steps(2, start) infinite;
}

@keyframes ac-blink-b-khr8ufi9em {
    to { visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
    .ac-cursor[b-khr8ufi9em] {
        animation: none;
    }
}

.ac-input[b-khr8ufi9em] {
    display: flex;
    gap: .35rem;
    padding: .35rem .5rem;
    border-top: 1px solid #1c3a22;
    background: #0d140f;
}

.ac-text[b-khr8ufi9em] {
    flex: 1;
    border: 1px solid #1c3a22;
    border-radius: 2px;
    background: #0a0a0a;
    color: #00ff41;
    font: inherit;
    padding: .15rem .4rem;
}

.ac-text[b-khr8ufi9em]::placeholder {
    color: #3a4d3f;
}

.ac-text:disabled[b-khr8ufi9em] {
    color: #3a4d3f;
}

/* The empty state, and the only place the rain appears - behind live text it would cost readability
   and CPU for nothing. */
.ac-rain[b-khr8ufi9em] {
    position: absolute;
    inset: 2.2rem 0 2.4rem 0;
    overflow: hidden;
    pointer-events: none;
    color: #0f5f22;
    font-size: 11px;
    line-height: 1.15;
    word-break: break-all;
    opacity: .5;
    animation: ac-rain-fall-b-khr8ufi9em 12s linear infinite;
}

@keyframes ac-rain-fall-b-khr8ufi9em {
    from { transform: translateY(-40%); }
    to { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .ac-rain[b-khr8ufi9em] {
        animation: none;
    }
}
/* /Components/BetfairBufferReport.razor.rz.scp.css */
.bfb[b-zw6qv4dia6] {
    --bfb-amber: #c98a00;
    --bfb-amber-fill: rgba(224, 160, 20, 0.22);
    --bfb-amber-soft: #fff4d6;
    --bfb-amber-ink: #8a5c00;
    --bfb-good: #198754;
    --bfb-good-soft: #e3f4ea;
    --bfb-bad: #b83a26;
    --bfb-bad-soft: #fbe7e3;
    --bfb-warn: #9a6b00;
    --bfb-warn-soft: #fff1cf;
    --bfb-info: #2d5fa8;
    --bfb-info-soft: #e5eefb;
    --bfb-line: var(--bs-border-color, #dee2e6);
    --bfb-muted: var(--bs-secondary-color, #6c757d);
    --bfb-surface: var(--bs-body-bg, #fff);
    --bfb-surface-2: var(--bs-tertiary-bg, #f8f9fa);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

.bfb-num[b-zw6qv4dia6] {
    font-variant-numeric: tabular-nums;
}

.bfb-head[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: center;
    justify-content: space-between;
}

.bfb-head-meta[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.9rem;
    align-items: center;
    font-size: 0.85rem;
}

.bfb-wallet[b-zw6qv4dia6] {
    width: auto;
    min-width: 12rem;
}

.bfb-pill[b-zw6qv4dia6] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
    background: var(--bfb-surface-2);
    color: var(--bfb-muted);
}

.bfb-pill.ok[b-zw6qv4dia6] { background: var(--bfb-good-soft); color: var(--bfb-good); }
.bfb-pill.bad[b-zw6qv4dia6] { background: var(--bfb-bad-soft); color: var(--bfb-bad); }
.bfb-pill.est[b-zw6qv4dia6] { background: var(--bfb-warn-soft); color: var(--bfb-warn); }
.bfb-pill.info[b-zw6qv4dia6] { background: var(--bfb-info-soft); color: var(--bfb-info); }
.bfb-pill.neutral[b-zw6qv4dia6] { border: 1px solid var(--bfb-line); }

.bfb-dot[b-zw6qv4dia6] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.bfb-label[b-zw6qv4dia6] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--bfb-muted);
    margin: 0;
}

.bfb-i[b-zw6qv4dia6] {
    display: inline-grid;
    place-items: center;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 1px solid var(--bfb-muted);
    font-size: 10px;
    cursor: help;
    margin-left: 4px;
    text-transform: none;
}

.bfb-sub[b-zw6qv4dia6] {
    font-size: 0.8rem;
    color: var(--bfb-muted);
}

.bfb-mid[b-zw6qv4dia6] {
    font-size: 1.5rem;
    font-weight: 600;
}

.bfb-v[b-zw6qv4dia6] {
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 2px;
}

/* ---------- current state ---------- */
.bfb-live[b-zw6qv4dia6] {
    display: grid;
    grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(170px, 1fr));
    gap: 1px;
    background: var(--bfb-line);
    border: 1px solid var(--bfb-line);
    border-radius: 0.5rem;
    overflow: hidden;
}

.bfb-live > div[b-zw6qv4dia6] {
    background: var(--bfb-surface);
    padding: 1rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.bfb-buffer-val[b-zw6qv4dia6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.bfb-big[b-zw6qv4dia6] {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.05;
}

.bfb-trend[b-zw6qv4dia6] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 500;
    padding: 0.25rem 0.6rem;
    border-radius: 0.375rem;
    background: var(--bfb-surface-2);
    color: var(--bfb-muted);
}

.bfb-trend.melt[b-zw6qv4dia6] { background: var(--bfb-warn-soft); color: var(--bfb-warn); }
.bfb-trend.grow[b-zw6qv4dia6] { background: var(--bfb-good-soft); color: var(--bfb-good); }
.bfb-trend.gone[b-zw6qv4dia6] { background: var(--bfb-bad-soft); color: var(--bfb-bad); }

.bfb-rate[b-zw6qv4dia6] {
    display: inline-block;
    border: 1.5px solid currentColor;
    border-radius: 5px;
    padding: 0 0.5rem;
    font-weight: 600;
    font-size: 1.35rem;
}

.bfb-lock[b-zw6qv4dia6] {
    font-size: 0.78rem;
}

/* ---------- panels ---------- */
.bfb-row2[b-zw6qv4dia6] {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 1rem;
}

.bfb-panel[b-zw6qv4dia6] {
    background: var(--bfb-surface);
    border: 1px solid var(--bfb-line);
    border-radius: 0.5rem;
    padding: 1rem 1.2rem;
    min-width: 0;
}

.bfb-panel-head[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.bfb-kv[b-zw6qv4dia6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.9rem 1.25rem;
}

.bfb-stats[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.bfb-pay-line[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.8rem;
    padding-top: 0.8rem;
    border-top: 1px dashed var(--bfb-line);
    font-size: 0.85rem;
}

.bfb-checks[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

/* ---------- 52-week gauge ---------- */
.bfb-gauge[b-zw6qv4dia6] {
    margin-top: 0.7rem;
}

.bfb-gauge-track[b-zw6qv4dia6] {
    position: relative;
    height: 12px;
    border-radius: 6px;
    background: var(--bfb-surface-2);
    border: 1px solid var(--bfb-line);
}

.bfb-gauge-fill[b-zw6qv4dia6] {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: 6px 0 0 6px;
    background: var(--bfb-amber);
}

.bfb-gauge-proj[b-zw6qv4dia6] {
    position: absolute;
    top: 0;
    bottom: 0;
    background: repeating-linear-gradient(135deg, var(--bfb-amber-fill) 0 4px, transparent 4px 8px);
    border-right: 2px solid var(--bfb-amber);
}

.bfb-gauge-tick[b-zw6qv4dia6] {
    position: absolute;
    top: -4px;
    bottom: -4px;
    width: 2px;
    background: var(--bs-body-color, #212529);
    opacity: 0.6;
}

.bfb-gauge-scale[b-zw6qv4dia6] {
    position: relative;
    height: 32px;
    font-size: 0.72rem;
    color: var(--bfb-muted);
}

.bfb-gauge-scale span[b-zw6qv4dia6] {
    position: absolute;
    top: 4px;
    transform: translateX(-50%);
    white-space: nowrap;
    text-align: center;
    line-height: 1.25;
}

/* ---------- charts ---------- */
.bfb-chart-wrap[b-zw6qv4dia6] {
    overflow-x: auto;
}

.bfb-chart[b-zw6qv4dia6] {
    display: block;
    width: 100%;
    min-width: 640px;
    height: auto;
}

.bfb-chart-small[b-zw6qv4dia6] {
    min-width: 420px;
}

.bfb-chart text[b-zw6qv4dia6] {
    fill: var(--bfb-muted);
    font-size: 11px;
}

.bfb-chart .bfb-band-label[b-zw6qv4dia6] { fill: var(--bs-body-color, #212529); font-weight: 600; }
.bfb-chart .bfb-grid[b-zw6qv4dia6] { stroke: var(--bfb-line); stroke-dasharray: 2 4; }
.bfb-chart .bfb-zero[b-zw6qv4dia6] { stroke: var(--bfb-line); }
.bfb-chart .bfb-band0[b-zw6qv4dia6] { fill: rgba(120, 130, 150, 0.07); }
.bfb-chart .bfb-band20[b-zw6qv4dia6] { fill: rgba(224, 160, 20, 0.1); }
.bfb-chart .bfb-band40[b-zw6qv4dia6] { fill: rgba(184, 58, 38, 0.09); }
.bfb-chart .bfb-buf-area[b-zw6qv4dia6] { fill: var(--bfb-amber-fill); }
.bfb-chart .bfb-buf-line[b-zw6qv4dia6] { fill: none; stroke: var(--bfb-amber); stroke-width: 2.2; stroke-linejoin: round; }
.bfb-chart .bfb-buf-hyp[b-zw6qv4dia6] { fill: none; stroke: var(--bfb-muted); stroke-width: 1.6; stroke-dasharray: 4 4; }
.bfb-chart .bfb-buf-live[b-zw6qv4dia6] { fill: none; stroke: var(--bfb-amber); stroke-width: 2; stroke-dasharray: 3 3; }
.bfb-chart .bfb-live-dot[b-zw6qv4dia6] { fill: var(--bfb-surface); stroke: var(--bfb-amber); stroke-width: 2.5; }
.bfb-chart .bfb-live-label[b-zw6qv4dia6] { fill: var(--bfb-amber-ink); font-weight: 600; }
.bfb-chart .bfb-bar-pos[b-zw6qv4dia6] { fill: var(--bfb-good); }
.bfb-chart .bfb-bar-neg[b-zw6qv4dia6] { fill: var(--bfb-bad); }
.bfb-chart .bfb-bar-live-pos[b-zw6qv4dia6] { fill: var(--bfb-good); opacity: 0.4; }
.bfb-chart .bfb-bar-live-neg[b-zw6qv4dia6] { fill: var(--bfb-bad); opacity: 0.4; }
.bfb-chart .bfb-pay-mark[b-zw6qv4dia6] { fill: var(--bfb-bad); stroke: var(--bfb-surface); stroke-width: 1.5; }
.bfb-chart .bfb-thr[b-zw6qv4dia6] { stroke: var(--bs-body-color, #212529); stroke-width: 1.2; stroke-dasharray: 6 4; opacity: 0.7; }
.bfb-chart .bfb-l52[b-zw6qv4dia6] { fill: none; stroke: var(--bfb-info); stroke-width: 2.2; }
.bfb-chart .bfb-l52-area[b-zw6qv4dia6] { fill: var(--bfb-info-soft); opacity: 0.8; }
.bfb-chart .bfb-hover[b-zw6qv4dia6] { fill: transparent; }
.bfb-chart .bfb-hover:hover[b-zw6qv4dia6] { fill: rgba(0, 0, 0, 0.05); }

.bfb-legend[b-zw6qv4dia6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.1rem;
    font-size: 0.78rem;
    color: var(--bfb-muted);
    margin-top: 0.6rem;
}

.bfb-sw[b-zw6qv4dia6] {
    display: inline-block;
    width: 14px;
    height: 10px;
    border-radius: 2px;
    margin-right: 0.35rem;
    vertical-align: -1px;
}

.bfb-sw-buf[b-zw6qv4dia6] { background: var(--bfb-amber); }
.bfb-sw-hyp[b-zw6qv4dia6] { height: 0; border-top: 2px dashed var(--bfb-muted); border-radius: 0; }
.bfb-sw-live[b-zw6qv4dia6] { height: 0; border-top: 2px dashed var(--bfb-amber); border-radius: 0; }
.bfb-sw-pos[b-zw6qv4dia6] { background: var(--bfb-good); margin-right: 0; }
.bfb-sw-neg[b-zw6qv4dia6] { background: var(--bfb-bad); }
.bfb-sw-band[b-zw6qv4dia6] { background: rgba(224, 160, 20, 0.18); border: 1px solid var(--bfb-line); }

/* ---------- table ---------- */
.bfb-table-wrap[b-zw6qv4dia6] {
    border: 1px solid var(--bfb-line);
    border-radius: 0.5rem;
}

.bfb-table[b-zw6qv4dia6] {
    font-size: 0.82rem;
    min-width: 1100px;
}

.bfb-table th[b-zw6qv4dia6] {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--bfb-muted);
    background: var(--bfb-surface-2);
    white-space: nowrap;
}

.bfb-table td[b-zw6qv4dia6] {
    white-space: nowrap;
}

.bfb-week-row[b-zw6qv4dia6] {
    cursor: pointer;
}

.bfb-week-row:hover[b-zw6qv4dia6] {
    background: var(--bfb-surface-2);
}

.bfb-open-row > td[b-zw6qv4dia6] {
    background: var(--bfb-amber-soft);
}

.bfb-detail-row > td[b-zw6qv4dia6] {
    background: var(--bfb-surface-2);
    white-space: normal;
}

.bfb-detail-grid[b-zw6qv4dia6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 0.75rem 1.5rem;
    padding: 0.4rem 0.25rem;
}

.bfb-dl[b-zw6qv4dia6] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.15rem 1rem;
    font-size: 0.8rem;
    margin: 0.35rem 0 0;
}

.bfb-dl dt[b-zw6qv4dia6] {
    font-weight: 400;
    color: var(--bfb-muted);
}

.bfb-dl dd[b-zw6qv4dia6] {
    margin: 0;
    text-align: right;
}

.bfb-revisions[b-zw6qv4dia6] {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
    font-size: 0.75rem;
    max-height: 12rem;
    overflow-y: auto;
}

.bfb-revisions li + li[b-zw6qv4dia6] {
    margin-top: 0.35rem;
}

.bfb-revisions code[b-zw6qv4dia6] {
    display: block;
    white-space: pre-wrap;
    word-break: break-all;
    font-size: 0.7rem;
}

.bfb-diag[b-zw6qv4dia6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    margin-top: 0.85rem;
}

@media (max-width: 980px) {
    .bfb-live[b-zw6qv4dia6] { grid-template-columns: 1fr 1fr; }
    .bfb-row2[b-zw6qv4dia6] { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .bfb-live[b-zw6qv4dia6] { grid-template-columns: 1fr; }
    .bfb-big[b-zw6qv4dia6] { font-size: 2rem; }
}
/* /Components/ExchangeStatusBanner.razor.rz.scp.css */
.maint-strip[b-nrhehsrah6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.maint-chip[b-nrhehsrah6] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid transparent;
    border-radius: 0.6rem;
    line-height: 1.15;
    text-decoration: none;
    background-color: #fff;
    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
}

.maint-chip:hover[b-nrhehsrah6] {
    transform: translateY(-1px);
    text-decoration: none;
}

.maint-chip__icon[b-nrhehsrah6] {
    flex: 0 0 auto;
    display: block;
    border-radius: 0.2rem;
}

.maint-chip__body[b-nrhehsrah6] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.maint-chip__head[b-nrhehsrah6] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.maint-chip__exchange[b-nrhehsrah6] {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.maint-chip__tag[b-nrhehsrah6] {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 0.05rem 0.3rem;
    border-radius: 0.25rem;
    white-space: nowrap;
}

.maint-chip__name[b-nrhehsrah6] {
    font-size: 0.7rem;
    opacity: 0.9;
    max-width: 20rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.maint-chip__timer[b-nrhehsrah6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 4.1rem;
    margin-left: 0.15rem;
    padding-left: 0.55rem;
    border-left: 1px solid rgba(0, 0, 0, 0.12);
}

.maint-chip__timer-value[b-nrhehsrah6] {
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.maint-chip__timer-label[b-nrhehsrah6] {
    font-size: 0.58rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    opacity: 0.75;
}

.maint-chip__pulse[b-nrhehsrah6] {
    flex: 0 0 auto;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: currentColor;
    animation: maint-blink-b-nrhehsrah6 1.1s ease-in-out infinite;
}

/* Running right now - loudest. */
.maint-chip--live[b-nrhehsrah6] {
    background: linear-gradient(135deg, #c81e1e, #e5342f);
    border-color: #a01414;
    color: #fff;
    padding: 0.4rem 0.75rem;
    animation: maint-glow-b-nrhehsrah6 2s ease-in-out infinite;
}

.maint-chip--live .maint-chip__exchange[b-nrhehsrah6] {
    font-size: 0.86rem;
}

.maint-chip--live .maint-chip__tag[b-nrhehsrah6] {
    background-color: rgba(255, 255, 255, 0.24);
    color: #fff;
}

.maint-chip--live .maint-chip__timer[b-nrhehsrah6] {
    border-left-color: rgba(255, 255, 255, 0.35);
}

.maint-chip--live .maint-chip__timer-value[b-nrhehsrah6] {
    font-size: 1rem;
}

/* Starting within an hour - red, but calm. */
.maint-chip--hour[b-nrhehsrah6] {
    background-color: #fff4f4;
    border-color: #e02424;
    color: #9b1616;
}

.maint-chip--hour .maint-chip__tag[b-nrhehsrah6] {
    background-color: #e02424;
    color: #fff;
}

.maint-chip--hour .maint-chip__timer[b-nrhehsrah6] {
    border-left-color: rgba(224, 36, 36, 0.3);
}

/* Starting within a day - amber. */
.maint-chip--day[b-nrhehsrah6] {
    background-color: #fffaeb;
    border-color: #e5a50a;
    color: #7a5200;
}

.maint-chip--day .maint-chip__tag[b-nrhehsrah6] {
    background-color: #e5a50a;
    color: #3d2c00;
}

.maint-chip--day .maint-chip__timer[b-nrhehsrah6] {
    border-left-color: rgba(229, 165, 10, 0.35);
}

/* Finished less than an hour ago - quiet. */
.maint-chip--ended[b-nrhehsrah6] {
    background-color: #f4f5f7;
    border-color: #d3d7dd;
    color: #5a6470;
}

.maint-chip--ended .maint-chip__exchange[b-nrhehsrah6],
.maint-chip--ended .maint-chip__timer-value[b-nrhehsrah6] {
    font-weight: 600;
}

.maint-chip--ended .maint-chip__timer-value[b-nrhehsrah6] {
    font-size: 0.85rem;
}

.maint-chip--ended .maint-chip__tag[b-nrhehsrah6] {
    background-color: #99a1ac;
    color: #fff;
}

.maint-chip--ended .maint-chip__timer[b-nrhehsrah6] {
    border-left-color: rgba(0, 0, 0, 0.1);
}

@keyframes maint-glow-b-nrhehsrah6 {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(224, 36, 36, 0.55);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(224, 36, 36, 0);
    }
}

@keyframes maint-blink-b-nrhehsrah6 {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.25;
    }
}

@media (prefers-reduced-motion: reduce) {
    .maint-chip--live[b-nrhehsrah6],
    .maint-chip__pulse[b-nrhehsrah6] {
        animation: none;
    }
}

/* Incident happening right now - the loudest chip on the dashboard. */
.maint-chip--incident[b-nrhehsrah6] {
    background: linear-gradient(135deg, #8a0f0f, #e01212);
    border-color: #5c0909;
    color: #fff;
    padding: 0.4rem 0.75rem;
    animation: maint-alarm-b-nrhehsrah6 1.5s ease-in-out infinite;
}

.maint-chip--incident .maint-chip__exchange[b-nrhehsrah6] {
    font-size: 0.86rem;
}

.maint-chip--incident .maint-chip__tag[b-nrhehsrah6] {
    background-color: #fff;
    color: #8a0f0f;
}

.maint-chip--incident .maint-chip__name[b-nrhehsrah6] {
    max-width: 30rem;
    opacity: 1;
}

.maint-chip--incident .maint-chip__timer[b-nrhehsrah6] {
    border-left-color: rgba(255, 255, 255, 0.35);
}

.maint-chip--incident .maint-chip__timer-value[b-nrhehsrah6] {
    font-size: 1rem;
}

/* Incident resolved less than an hour ago - the all-clear. */
.maint-chip--incident-ended[b-nrhehsrah6] {
    background-color: #ecfdf3;
    border-color: #12b76a;
    color: #05603a;
}

.maint-chip--incident-ended .maint-chip__tag[b-nrhehsrah6] {
    background-color: #12b76a;
    color: #fff;
}

.maint-chip--incident-ended .maint-chip__timer[b-nrhehsrah6] {
    border-left-color: rgba(18, 183, 106, 0.35);
}

@keyframes maint-alarm-b-nrhehsrah6 {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(224, 18, 18, 0.7);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(224, 18, 18, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .maint-chip--incident[b-nrhehsrah6] {
        animation: none;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* The page is exactly one viewport tall: the sidebar and the content each scroll on their own,
   so the menu's user footer stays pinned no matter how long the page or the menu is. */
.page[b-cac9y2k2zs] {
    display: flex;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

main[b-cac9y2k2zs] {
    flex: 1;
    /* A flex item defaults to min-width:auto, so wide content (a scrolling strip, a wide
       table) widens main and with it the whole page instead of scrolling inside its own box. */
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

article[b-cac9y2k2zs] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

/* Mobile drawer backdrop. Rendered only while the drawer is open. */
.nav-overlay[b-cac9y2k2zs] {
    display: none;
}

/* Mobile scrolls the document itself, not the article: a browser only lets you pinch-zoom out as
   far as the document is wide, so with a one-viewport shell wide tables could never be zoomed out
   to. The sidebar is a fixed drawer here anyway, so there is no pinned footer to keep. */
@media (max-width: 900px) {
    .page[b-cac9y2k2zs],
    main[b-cac9y2k2zs],
    article[b-cac9y2k2zs] {
        height: auto;
        overflow: visible;
    }
}

@media (max-width: 900px) {
    .nav-overlay[b-cac9y2k2zs] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 40;
        background: rgba(6, 12, 26, 0.6);
    }
}

@media (min-width: 901px) {
    article[b-cac9y2k2zs] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-cac9y2k2zs] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-cac9y2k2zs] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ---------------------------------------------------------------------------
   Sidebar: a flex column one viewport tall. Header and footer never shrink,
   only the nav between them scrolls - no calc() on assumed header heights.
   The flyout panels (hover on a collapsed section or a parent entry) are
   built by wwwroot/js/navMenu.js outside this component, so their styles
   live in app.css ("Nav flyout").
   --------------------------------------------------------------------------- */

.sidebar[b-aji5afq475] {
    position: relative;
    flex-shrink: 0;
    width: 248px;
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background-image: linear-gradient(180deg, #052767 0%, #3a0647 100%);
    border-right: 1px solid rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

/* Transitions only after the stored collapsed state is restored, so a reload does not animate. */
.sidebar.ready[b-aji5afq475] {
    transition: width 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---- Header ---- */

.sidebar-header[b-aji5afq475] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 72px;
    padding: 0 10px 0 12px;
    background: rgba(0, 0, 0, 0.28);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.sidebar-brand[b-aji5afq475] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    overflow: hidden;
}

    .sidebar-brand a[b-aji5afq475] {
        display: flex;
        flex-shrink: 0;
    }

.sidebar-logo[b-aji5afq475] {
    display: block;
    height: 30px;
    width: auto;
    object-fit: contain;
    border-radius: 4px;
}

.test-environment-badge[b-aji5afq475] {
    flex-shrink: 1;
    min-width: 0;
    padding: 2px 5px;
    border-radius: 3px;
    background: #ffc107;
    color: #212529;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-mark[b-aji5afq475] {
    flex: 0 0 auto;
    display: none;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}

    .sidebar-mark img[b-aji5afq475] {
        width: 28px;
        height: 28px;
        object-fit: contain;
        border-radius: 5px;
    }

.sidebar-btn[b-aji5afq475] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 5px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
}

    .sidebar-btn:hover[b-aji5afq475] {
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
    }

.sidebar-btn--close[b-aji5afq475] {
    display: none;
}

/* ---- Nav (the only scrolling part) ---- */

.sidebar-nav[b-aji5afq475] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding: 6px 8px 12px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

    .sidebar-nav[b-aji5afq475]::-webkit-scrollbar {
        width: 8px;
    }

    .sidebar-nav[b-aji5afq475]::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.18);
        border-radius: 99px;
    }

    .sidebar-nav[b-aji5afq475]::-webkit-scrollbar-track {
        background: transparent;
    }

.nav-section[b-aji5afq475] {
    margin-bottom: 2px;
}

/* Section header (level 1): clearly heavier than its entries. */
.nav-section__header[b-aji5afq475] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 32px;
    padding: 0 8px;
    margin-top: 6px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #e6e1d6;
    text-align: left;
    cursor: pointer;
    user-select: none;
}

    .nav-section__header:hover[b-aji5afq475] {
        background: rgba(255, 255, 255, 0.07);
        color: #fff;
    }

.nav-section.active > .nav-section__header[b-aji5afq475] {
    color: #fff;
}

/* The active section, folded: tinted row plus a dot so the current page is never "lost". */
.nav-section.active:not(.expanded) > .nav-section__header[b-aji5afq475] {
    background: rgba(255, 255, 255, 0.07);
}

.nav-section__icon[b-aji5afq475] {
    width: 18px;
    flex-shrink: 0;
    font-size: 15px;
    text-align: center;
}

.nav-section__label[b-aji5afq475] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: opacity 0.12s ease;
}

.nav-section__dot[b-aji5afq475] {
    display: none;
    width: 5px;
    height: 5px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #f2ece0;
}

.nav-section.active:not(.expanded) .nav-section__dot[b-aji5afq475] {
    display: block;
}

.nav-section__chevron[b-aji5afq475] {
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.16);
}

    .nav-section__chevron .bi[b-aji5afq475] {
        font-size: 11px;
        line-height: 1;
        -webkit-text-stroke: 0.6px currentColor;
        color: #f2ece0;
        transform: rotate(-90deg);
        transition: transform 0.15s ease;
    }

.nav-section.expanded .nav-section__chevron[b-aji5afq475] {
    background: rgba(255, 255, 255, 0.14);
}

    .nav-section.expanded .nav-section__chevron .bi[b-aji5afq475] {
        transform: rotate(0deg);
    }

/* Entries (level 2): indented, with a guide line the active rail sits on. */
.nav-section__items[b-aji5afq475] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin: 2px 0 6px 16px;
    padding-left: 8px;
    border-left: 1px solid rgba(242, 236, 224, 0.16);
}

.sidebar-nav[b-aji5afq475]  .nav-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    height: 34px;
    padding: 0 8px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #bcc3d0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

    .sidebar-nav[b-aji5afq475]  .nav-row:hover {
        background: rgba(255, 255, 255, 0.09);
        color: #fff;
    }

    .sidebar-nav[b-aji5afq475]  .nav-row.active {
        background: rgba(255, 255, 255, 0.16);
        color: #fff;
        font-weight: 600;
    }

.sidebar-nav[b-aji5afq475]  .nav-node--parent.in-path > .nav-row {
    background: rgba(255, 255, 255, 0.07);
    color: #eceff4;
}

.sidebar-nav[b-aji5afq475]  .nav-row__rail {
    position: absolute;
    left: -9.5px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    border-radius: 2px;
    background: transparent;
}

.sidebar-nav[b-aji5afq475]  .nav-row.active > .nav-row__rail,
.sidebar-nav[b-aji5afq475]  .nav-node--parent.in-path > .nav-row > .nav-row__rail {
    background: #f2ece0;
}

/* Deeper levels are not on the guide line, so no rail there. */
.sidebar-nav[b-aji5afq475]  .nav-children .nav-row__rail {
    display: none;
}

.sidebar-nav[b-aji5afq475]  .nav-row__icon {
    width: 16px;
    flex-shrink: 0;
    font-size: 12.5px;
    text-align: center;
    opacity: 0.7;
}

.sidebar-nav[b-aji5afq475]  .nav-row__label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-nav[b-aji5afq475]  .nav-row__caret {
    flex-shrink: 0;
    font-size: 9px;
    opacity: 0.5;
}

/* A page parent that is itself the current page: as bright as an active leaf, not just tinted. */
.sidebar-nav[b-aji5afq475]  .nav-node--parent.in-path > .nav-row.active {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-weight: 600;
}

/* Children of a parent entry: flyout source on desktop, hidden in place. */
.sidebar-nav[b-aji5afq475]  .nav-children {
    display: none;
}

/* Opens a page parent's tab list in the drawer; desktop has the hover flyout instead. */
.sidebar-nav[b-aji5afq475]  .nav-row__toggle {
    display: none;
}

/* ---- Footer: user panel ---- */

.sidebar-footer[b-aji5afq475] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.22);
}

.sidebar-user[b-aji5afq475] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
}

.sidebar-user__avatar[b-aji5afq475] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.13);
    color: #f2ece0;
    font-size: 11px;
    font-weight: 700;
}

.sidebar-user:hover .sidebar-user__avatar[b-aji5afq475] {
    background: rgba(255, 255, 255, 0.22);
}

.sidebar-user__text[b-aji5afq475] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: opacity 0.12s ease;
}

.sidebar-user__name[b-aji5afq475] {
    font-size: 12px;
    color: #f2ece0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user:hover .sidebar-user__name[b-aji5afq475] {
    color: #fff;
    text-decoration: underline;
}

.sidebar-user__status[b-aji5afq475] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    color: rgba(242, 236, 224, 0.5);
    white-space: nowrap;
}

.sidebar-user__dot[b-aji5afq475] {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #3ddc97;
}

.sidebar-user__status[data-state="connecting"] .sidebar-user__dot[b-aji5afq475] {
    background: #ffc107;
}

.sidebar-user__status[data-state="down"] .sidebar-user__dot[b-aji5afq475] {
    background: #ff6b6b;
}

/* ---- Collapsed (desktop only, 60px) ---- */

@media (min-width: 901px) {
    .sidebar.collapsed[b-aji5afq475] {
        width: 60px;
    }

        .sidebar.collapsed .sidebar-header[b-aji5afq475] {
            padding: 0;
            justify-content: center;
        }

        .sidebar.collapsed .sidebar-mark[b-aji5afq475] {
            display: flex;
        }

        .sidebar.collapsed .sidebar-brand[b-aji5afq475],
        .sidebar.collapsed .sidebar-btn--collapse[b-aji5afq475],
        .sidebar.collapsed .sidebar-btn--logout[b-aji5afq475],
        .sidebar.collapsed .nav-section__chevron[b-aji5afq475],
        .sidebar.collapsed .nav-section__items[b-aji5afq475] {
            display: none;
        }

        .sidebar.collapsed .nav-section__label[b-aji5afq475],
        .sidebar.collapsed .sidebar-user__text[b-aji5afq475] {
            opacity: 0;
        }

        /* Collapsed, the dot marks the active section at all times. */
        .sidebar.collapsed .nav-section.active .nav-section__dot[b-aji5afq475] {
            display: block;
            position: absolute;
            right: 6px;
        }

        .sidebar.collapsed .nav-section__header[b-aji5afq475] {
            position: relative;
            padding: 0 12px;
        }

        .sidebar.collapsed .nav-section.active > .nav-section__header[b-aji5afq475] {
            background: rgba(255, 255, 255, 0.07);
        }

        .sidebar.collapsed .sidebar-footer[b-aji5afq475] {
            padding: 8px 6px;
            justify-content: center;
        }

        .sidebar.collapsed .sidebar-user[b-aji5afq475] {
            flex: 0 0 auto;
        }

        .sidebar.collapsed .sidebar-user__text[b-aji5afq475] {
            display: none;
        }
}

/* ---- Mobile: off-canvas drawer ---- */

@media (max-width: 900px) {
    .sidebar[b-aji5afq475] {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 50;
        width: 272px;
        height: auto;
        transform: translateX(-102%);
        transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    }

        .sidebar.drawer-open[b-aji5afq475] {
            transform: translateX(0);
            box-shadow: 4px 0 40px rgba(0, 0, 0, 0.5);
        }

    .sidebar-header[b-aji5afq475] {
        height: 60px;
    }

    .sidebar-logo[b-aji5afq475] {
        height: 26px;
    }

    .sidebar-btn--collapse[b-aji5afq475] {
        display: none;
    }

    .nav-section:not(.expanded) > .nav-section__items[b-aji5afq475] {
        display: none;
    }

    .sidebar-btn--close[b-aji5afq475] {
        display: flex;
    }

    .nav-section__header[b-aji5afq475] {
        height: 38px;
    }

    .sidebar-nav[b-aji5afq475]  .nav-row {
        height: 42px;
    }

    /* No flyouts on touch: a parent entry opens its children inline. */
    .sidebar-nav[b-aji5afq475]  .nav-node--parent.open > .nav-children {
        display: flex;
        flex-direction: column;
        gap: 1px;
        margin: 1px 0 4px 14px;
        padding-left: 6px;
        border-left: 1px solid rgba(242, 236, 224, 0.12);
    }

    .sidebar-nav[b-aji5afq475]  .nav-node--parent > .nav-row > .nav-row__caret {
        transition: transform 0.15s ease;
    }

    .sidebar-nav[b-aji5afq475]  .nav-node--parent.open > .nav-row > .nav-row__caret {
        transform: rotate(90deg);
    }

    /* A page parent: the row navigates, the toggle on its right end opens the tabs. */
    .sidebar-nav[b-aji5afq475]  .nav-node--page {
        position: relative;
    }

        .sidebar-nav[b-aji5afq475]  .nav-node--page > .nav-row {
            padding-right: 46px;
        }

            .sidebar-nav[b-aji5afq475]  .nav-node--page > .nav-row > .nav-row__caret {
                display: none;
            }

    .sidebar-nav[b-aji5afq475]  .nav-node--page > .nav-row__toggle {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        padding: 0;
        border: none;
        border-left: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 0 6px 6px 0;
        background: transparent;
        color: #bcc3d0;
        font-size: 11px;
        cursor: pointer;
    }

        .sidebar-nav[b-aji5afq475]  .nav-node--page > .nav-row__toggle:hover {
            background: rgba(255, 255, 255, 0.09);
            color: #fff;
        }

        .sidebar-nav[b-aji5afq475]  .nav-node--page > .nav-row__toggle .bi {
            transition: transform 0.15s ease;
        }

    .sidebar-nav[b-aji5afq475]  .nav-node--page.open > .nav-row__toggle .bi {
        transform: rotate(90deg);
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-64wpbf6iwb],
.components-reconnect-repeated-attempt-visible[b-64wpbf6iwb],
.components-reconnect-failed-visible[b-64wpbf6iwb],
.components-pause-visible[b-64wpbf6iwb],
.components-resume-failed-visible[b-64wpbf6iwb],
.components-rejoining-animation[b-64wpbf6iwb] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-retrying[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-failed[b-64wpbf6iwb],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-64wpbf6iwb] {
    display: block;
}


#components-reconnect-modal[b-64wpbf6iwb] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-64wpbf6iwb 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-64wpbf6iwb 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-64wpbf6iwb 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-64wpbf6iwb]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-64wpbf6iwb 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-64wpbf6iwb {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-64wpbf6iwb {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-64wpbf6iwb {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-64wpbf6iwb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-64wpbf6iwb] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-64wpbf6iwb] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-64wpbf6iwb] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-64wpbf6iwb] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-64wpbf6iwb] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-64wpbf6iwb] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-64wpbf6iwb 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-64wpbf6iwb] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-64wpbf6iwb {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
.topbar[b-3zpaqb1qwr] {
    flex-shrink: 0;
    height: 72px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    background: #0a1730;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.topbar__burger[b-3zpaqb1qwr] {
    display: none;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    color: #f2ece0;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

.topbar__title[b-3zpaqb1qwr] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.topbar__page[b-3zpaqb1qwr] {
    font-size: 26px;
    font-weight: 600;
    color: #f2ece0;
    white-space: nowrap;
}

.topbar__crumb[b-3zpaqb1qwr] {
    font-size: 15px;
    color: rgba(242, 236, 224, 0.45);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar__clock[b-3zpaqb1qwr] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    font-size: 11.5px;
    color: rgba(242, 236, 224, 0.55);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
    .topbar[b-3zpaqb1qwr] {
        height: 60px;
        position: sticky;
        top: 0;
        z-index: 30;
    }

    .topbar__burger[b-3zpaqb1qwr] {
        display: flex;
    }

    .topbar__clock[b-3zpaqb1qwr] {
        display: none;
    }
}
/* /Components/Pages/ApiTester.razor.rz.scp.css */
.at-search[b-3qxw7e99a7] {
    width: 22rem;
    max-width: 100%;
}

.at-row[b-3qxw7e99a7] {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.at-route[b-3qxw7e99a7] {
    overflow-wrap: anywhere;
}

.at-auth[b-3qxw7e99a7] {
    display: block;
    font-size: .75rem;
    opacity: .75;
}

.at-method[b-3qxw7e99a7] {
    display: inline-block;
    min-width: 4.25rem;
    padding: .15rem .4rem;
    border-radius: .25rem;
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background: #6c757d;
    flex-shrink: 0;
}

.at-method--get[b-3qxw7e99a7] { background: #0d6efd; }
.at-method--post[b-3qxw7e99a7] { background: #198754; }
.at-method--put[b-3qxw7e99a7] { background: #fd7e14; }
.at-method--patch[b-3qxw7e99a7] { background: #6f42c1; }
.at-method--delete[b-3qxw7e99a7] { background: #dc3545; }

.at-body[b-3qxw7e99a7] {
    font-size: .85rem;
}

.at-code[b-3qxw7e99a7] {
    background: #1e1e1e;
    color: #d4d4d4;
    padding: .75rem 1rem;
    border-radius: .375rem;
    font-size: .8rem;
    max-height: 55vh;
    overflow: auto;
    white-space: pre;
    margin-bottom: 0;
}

.at-code--headers[b-3qxw7e99a7] {
    max-height: 12rem;
    margin-bottom: .5rem;
    color: #9cdcfe;
}
/* /Components/Pages/CryptoMiniBotSettings.razor.rz.scp.css */
.human-account-option[b-85ry82z620],
.human-account-selected[b-85ry82z620] {
    color: var(--bs-secondary-color);
}

.human-account-option[b-85ry82z620] {
    background-color: var(--bs-tertiary-bg);
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.wallet-transfer-backdrop[b-cs1rawohct] {
    z-index: 1040;
}

.wallet-transfer-dialog[b-cs1rawohct] {
    z-index: 1050;
}

.betfair-charge-strip[b-cs1rawohct] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.betfair-charge-chip[b-cs1rawohct] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 0.6rem;
    line-height: 1.15;
    text-decoration: none;
    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
}

.betfair-charge-chip:hover[b-cs1rawohct] {
    transform: translateY(-1px);
    text-decoration: none;
}

.betfair-charge-chip__icon[b-cs1rawohct] {
    flex: 0 0 auto;
    display: block;
    border-radius: 0.2rem;
}

.betfair-charge-chip__body[b-cs1rawohct] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.betfair-charge-chip__head[b-cs1rawohct] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.betfair-charge-chip__exchange[b-cs1rawohct] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.betfair-charge-chip__tag[b-cs1rawohct] {
    padding: 0.05rem 0.3rem;
    border-radius: 0.25rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    white-space: nowrap;
}

.betfair-charge-chip__name[b-cs1rawohct] {
    overflow: hidden;
    max-width: 24rem;
    font-size: 0.72rem;
    opacity: 0.95;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.betfair-charge-chip__time[b-cs1rawohct] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 6.3rem;
    margin-left: 0.15rem;
    padding-left: 0.55rem;
    border-left: 1px solid rgba(0, 0, 0, 0.15);
}

.betfair-charge-chip__time-value[b-cs1rawohct] {
    font-size: 0.86rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.betfair-charge-chip__time-label[b-cs1rawohct] {
    font-size: 0.58rem;
    letter-spacing: 0.07em;
    opacity: 0.75;
    text-transform: uppercase;
}

.betfair-charge-chip__pulse[b-cs1rawohct] {
    flex: 0 0 auto;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: currentColor;
    animation: betfair-charge-blink-b-cs1rawohct 1.1s ease-in-out infinite;
}

.betfair-charge-chip--strong[b-cs1rawohct] {
    border-color: #8f1111;
    color: #fff;
    background: linear-gradient(135deg, #a71212, #dc2626);
    animation: betfair-charge-glow-b-cs1rawohct 2s ease-in-out infinite;
}

.betfair-charge-chip--strong .betfair-charge-chip__tag[b-cs1rawohct] {
    color: #8f1111;
    background-color: #fff;
}

.betfair-charge-chip--strong .betfair-charge-chip__time[b-cs1rawohct] {
    border-left-color: rgba(255, 255, 255, 0.35);
}

.betfair-charge-chip--medium[b-cs1rawohct] {
    border-color: #d89b08;
    color: #704b00;
    background-color: #fff7dc;
}

.betfair-charge-chip--medium .betfair-charge-chip__tag[b-cs1rawohct] {
    color: #3d2c00;
    background-color: #e5a50a;
}

.betfair-charge-chip--medium .betfair-charge-chip__time[b-cs1rawohct] {
    border-left-color: rgba(216, 155, 8, 0.35);
}

@keyframes betfair-charge-glow-b-cs1rawohct {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.45);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(220, 38, 38, 0);
    }
}

@keyframes betfair-charge-blink-b-cs1rawohct {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.25;
    }
}

@media (prefers-reduced-motion: reduce) {
    .betfair-charge-chip--strong[b-cs1rawohct],
    .betfair-charge-chip__pulse[b-cs1rawohct] {
        animation: none;
    }
}

/* Red exclamation circle next to a wallet whose last background refresh failed. The numbers in that row,
   if any, are the last ones we did get - the tooltip says when they were fetched. */
.wallet-refresh-error[b-cs1rawohct] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    background-color: #dc2626;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    cursor: help;
}

.wallet-values-header[b-cs1rawohct] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.wallet-columns-settings[b-cs1rawohct] {
    position: relative;
}

.wallet-columns-backdrop[b-cs1rawohct] {
    position: fixed;
    inset: 0;
    z-index: 1000;
}

.wallet-columns-menu[b-cs1rawohct] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1001;
    margin-top: 0.25rem;
    min-width: 12rem;
}

/* Sortable Wallet Values headers: the whole label is the button, the arrow shows the current direction. */
.wallet-sort-button[b-cs1rawohct] {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    text-align: inherit;
    cursor: pointer;
}

.wallet-sort-icon[b-cs1rawohct] {
    display: inline-block;
    margin-left: 0.25rem;
    font-size: 0.7em;
    opacity: 0.35;
    white-space: nowrap;
}

.wallet-sort-button:hover .wallet-sort-icon[b-cs1rawohct],
.wallet-sort-button--active .wallet-sort-icon[b-cs1rawohct] {
    opacity: 1;
}

/* Tiles under the Wallet Values table (Betfair buffer on the left, SignalR clients on the right). */
.dashboard-tile[b-cs1rawohct] {
    font-size: 0.875rem;
}

.dashboard-tile__header[b-cs1rawohct] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.75rem;
}

.dashboard-tile__title[b-cs1rawohct] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.signalr-clients th[b-cs1rawohct],
.signalr-clients td[b-cs1rawohct] {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.signalr-clients .badge[b-cs1rawohct] {
    font-weight: 600;
}

.bf-buffer-wallet + .bf-buffer-wallet[b-cs1rawohct] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--bs-border-color);
}

.bf-buffer-wallet__name[b-cs1rawohct] {
    margin-bottom: 0.4rem;
    font-weight: 600;
}

.bf-buffer-grid[b-cs1rawohct] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem 1rem;
}

@media (max-width: 575.98px) {
    .bf-buffer-grid[b-cs1rawohct] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.bf-buffer-label[b-cs1rawohct] {
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.bf-buffer-value[b-cs1rawohct] {
    font-size: 1.05rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.bf-buffer-delta[b-cs1rawohct] {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
}

.bf-buffer-footer[b-cs1rawohct] {
    margin-top: 0.5rem;
    font-size: 0.7rem;
    color: var(--bs-secondary-color);
}
/* /Components/Pages/IdeasBlackboard.razor.rz.scp.css */
/* Ideas Blackboard - dark board, paper cards. Mirrors plans/Tablica pomyslow.dc.html with "medium"
   density (two-line notes); the grid is a per-device toggle. */

.bb-root[b-zca7q505e3] {
    height: calc(100vh - 6rem);
    min-height: 480px;
    display: flex;
    flex-direction: column;
    background: #1b211e;
    color: #edeade;
    border-radius: 8px;
    overflow: hidden;
    font-family: Archivo, "Helvetica Neue", Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    color-scheme: dark;
}

.bb-root button[b-zca7q505e3], .bb-root input[b-zca7q505e3], .bb-root textarea[b-zca7q505e3] {
    font-family: inherit;
}

.bb-root [b-zca7q505e3]::selection {
    background: #4a72b8;
    color: #fff;
}

/* ---------- header ---------- */

.bb-header[b-zca7q505e3] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 14px 22px;
    border-bottom: 1px solid rgba(236,234,222,.14);
    background: #171c1a;
    position: relative;
    z-index: 30;
}

.bb-brand[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.bb-brand__mark[b-zca7q505e3] {
    width: 26px;
    height: 26px;
    border: 1.5px solid rgba(236,234,222,.55);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.bb-brand__mark > div[b-zca7q505e3] {
    width: 10px;
    height: 10px;
    background: #4a72b8;
    border-radius: 2px;
}

.bb-brand__text[b-zca7q505e3] {
    min-width: 0;
}

.bb-brand__title[b-zca7q505e3] {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.2;
}

.bb-brand__subtitle[b-zca7q505e3] {
    font-size: 11.5px;
    color: rgba(236,234,222,.46);
    line-height: 1.3;
    margin-top: 1px;
}

.bb-header__right[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.bb-error[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 320px;
    padding: 5px 6px 5px 11px;
    border-radius: 6px;
    border: 1px solid rgba(196,84,60,.55);
    background: rgba(196,84,60,.16);
    color: #f1c7bb;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bb-error button[b-zca7q505e3] {
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0 4px;
}

.bb-legend[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 11px;
    border: 1px solid rgba(236,234,222,.14);
    border-radius: 999px;
}

.bb-legend__label[b-zca7q505e3] {
    font-size: 10.5px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: rgba(236,234,222,.4);
    font-weight: 600;
}

.bb-legend__item[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    color: rgba(236,234,222,.62);
}

.bb-dot[b-zca7q505e3] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.bb-btn-primary[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 15px;
    border-radius: 5px;
    border: 1px solid #4a72b8;
    background: #4a72b8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex: 0 0 auto;
}

.bb-btn-primary:hover:not(:disabled)[b-zca7q505e3] {
    background: #5b83c9;
    border-color: #5b83c9;
}

.bb-btn-primary:disabled[b-zca7q505e3] {
    opacity: .55;
    cursor: default;
}

.bb-btn-primary__plus[b-zca7q505e3] {
    font-size: 15px;
    line-height: 1;
    margin-top: -1px;
}

/* ---------- canvas ---------- */

.bb-canvas[b-zca7q505e3] {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    cursor: grab;
    touch-action: none;
    background: radial-gradient(120% 90% at 50% 0%, #26302b 0%, #1b211e 58%, #151a18 100%);
}

.bb-canvas.has-grid[b-zca7q505e3] {
    background:
        repeating-linear-gradient(0deg, rgba(236,234,222,.055) 0 1px, transparent 1px 40px),
        repeating-linear-gradient(90deg, rgba(236,234,222,.055) 0 1px, transparent 1px 40px),
        radial-gradient(120% 90% at 50% 0%, #26302b 0%, #1b211e 58%, #151a18 100%);
}

.bb-canvas.is-panning[b-zca7q505e3] {
    cursor: grabbing;
}

.bb-world[b-zca7q505e3] {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    overflow: visible;
    transform-origin: 0 0;
}

.bb-edges[b-zca7q505e3] {
    position: absolute;
    left: 0;
    top: 0;
    overflow: visible;
    pointer-events: none;
}

.bb-empty[b-zca7q505e3] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    text-align: center;
    font-size: 13px;
    color: rgba(236,234,222,.45);
    pointer-events: none;
}

/* ---------- cards ---------- */

.bb-node[b-zca7q505e3] {
    position: absolute;
    display: flex;
    flex-direction: column;
    background: #f4efe3;
    color: #222b27;
    border-radius: 8px;
    border: 1px solid rgba(20,26,23,.22);
    box-shadow: 0 10px 26px rgba(0,0,0,.34), 0 1px 0 rgba(255,255,255,.35) inset;
    cursor: grab;
    user-select: none;
    overflow: hidden;
    outline-offset: 2px;
}

.bb-node.is-open[b-zca7q505e3] {
    outline: 2px solid #4a72b8;
}

.bb-node.is-dragging[b-zca7q505e3] {
    cursor: grabbing;
    z-index: 10;
    box-shadow: 0 18px 38px rgba(0,0,0,.45), 0 1px 0 rgba(255,255,255,.35) inset;
}

.bb-node__bar[b-zca7q505e3] {
    height: 4px;
    flex: 0 0 auto;
}

.bb-node__body[b-zca7q505e3] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 11px 13px 10px;
    min-height: 0;
}

.bb-node__title[b-zca7q505e3] {
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.005em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bb-node__title.is-child[b-zca7q505e3] {
    font-size: 14px;
}

.bb-node__note[b-zca7q505e3] {
    font-size: 11.5px;
    line-height: 1.4;
    margin-top: 4px;
    color: rgba(34,43,39,.6);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bb-node__note.is-empty[b-zca7q505e3] {
    color: rgba(34,43,39,.32);
    font-style: italic;
}

.bb-node__footer[b-zca7q505e3] {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 7px;
    padding-top: 9px;
}

.bb-status[b-zca7q505e3] {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 3px 7px;
    border-radius: 4px;
    white-space: nowrap;
    flex: 0 0 auto;
}

.bb-node__meta[b-zca7q505e3] {
    font-size: 10.5px;
    color: rgba(30,40,36,.5);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bb-node__actions[b-zca7q505e3] {
    margin-left: auto;
    display: flex;
    gap: 4px;
    flex: 0 0 auto;
}

.bb-node__actions button[b-zca7q505e3] {
    width: 23px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 1px solid rgba(30,40,36,.18);
    background: rgba(30,40,36,.03);
    color: #2a332f;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.bb-node__actions button:hover[b-zca7q505e3] {
    background: rgba(30,40,36,.12);
}

.bb-node__actions .bb-node__add[b-zca7q505e3] {
    font-size: 14px;
}

.bb-node__actions .bb-node__add:hover[b-zca7q505e3] {
    background: #4a72b8;
    border-color: #4a72b8;
    color: #fff;
}

/* ---------- zoom toolbar ---------- */

.bb-toolbar[b-zca7q505e3] {
    position: absolute;
    left: 18px;
    bottom: 18px;
    display: flex;
    align-items: center;
    gap: 2px;
    width: fit-content;
    max-width: calc(100% - 36px);
    flex-wrap: nowrap;
    overflow: hidden;
    padding: 4px;
    border-radius: 7px;
    border: 1px solid rgba(236,234,222,.14);
    background: rgba(23,28,26,.92);
    backdrop-filter: blur(6px);
    z-index: 5;
    cursor: default;
}

.bb-toolbar button[b-zca7q505e3] {
    height: 28px;
    border: none;
    background: transparent;
    color: rgba(236,234,222,.7);
    cursor: pointer;
    border-radius: 5px;
    white-space: nowrap;
}

.bb-toolbar button:hover[b-zca7q505e3] {
    background: rgba(236,234,222,.1);
}

.bb-toolbar__icon[b-zca7q505e3] {
    width: 28px;
    font-size: 17px;
    line-height: 1;
    color: rgba(236,234,222,.75) !important;
}

.bb-toolbar__zoom[b-zca7q505e3] {
    min-width: 52px;
    font-size: 11.5px;
    font-weight: 600;
}

.bb-toolbar__text[b-zca7q505e3] {
    padding: 0 10px;
    font-size: 11.5px;
    font-weight: 600;
}

.bb-toolbar__toggle[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 7px;
}

.bb-toolbar__switch[b-zca7q505e3] {
    position: relative;
    width: 22px;
    height: 12px;
    border-radius: 999px;
    background: rgba(236,234,222,.2);
    transition: background .15s;
    flex: 0 0 auto;
}

.bb-toolbar__switch[b-zca7q505e3]::after {
    content: "";
    position: absolute;
    left: 2px;
    top: 2px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(236,234,222,.75);
    transition: transform .15s;
}

.bb-toolbar__toggle.is-on[b-zca7q505e3] {
    color: #edeade;
}

.bb-toolbar__toggle.is-on .bb-toolbar__switch[b-zca7q505e3] {
    background: #4a72b8;
}

.bb-toolbar__toggle.is-on .bb-toolbar__switch[b-zca7q505e3]::after {
    transform: translateX(10px);
    background: #fff;
}

.bb-toolbar__sep[b-zca7q505e3] {
    width: 1px;
    height: 18px;
    background: rgba(236,234,222,.16);
    margin: 0 3px;
    flex: 0 0 auto;
}

.bb-toolbar__sep--wide[b-zca7q505e3] {
    margin: 0 6px 0 3px;
}

.bb-toolbar__hint[b-zca7q505e3] {
    font-size: 11px;
    color: rgba(236,234,222,.4);
    white-space: nowrap;
    padding-right: 6px;
}

/* ---------- modal ---------- */

@keyframes bbFade-b-zca7q505e3 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes bbRise-b-zca7q505e3 {
    from { opacity: 0; transform: translateY(14px) scale(.985); }
    to { opacity: 1; transform: none; }
}

.bb-modal-backdrop[b-zca7q505e3] {
    position: fixed;
    inset: 0;
    background: rgba(12,16,14,.62);
    backdrop-filter: blur(3px);
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    animation: bbFade-b-zca7q505e3 .14s ease-out;
    font-family: Archivo, "Helvetica Neue", Helvetica, sans-serif;
}

.bb-modal[b-zca7q505e3] {
    width: min(720px, 100%);
    max-height: 100%;
    display: flex;
    flex-direction: column;
    background: #f4efe3;
    color: #222b27;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,.5);
    animation: bbRise-b-zca7q505e3 .18s cubic-bezier(.2,.8,.3,1);
    color-scheme: light;
}

.bb-modal__head[b-zca7q505e3] {
    padding: 18px 24px 20px;
    color: #fff;
}

.bb-modal__crumbs[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 9px;
}

.bb-modal__dot[b-zca7q505e3] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    flex: 0 0 auto;
}

.bb-modal__crumb[b-zca7q505e3] {
    font-size: 10.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255,255,255,.82);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bb-modal__close[b-zca7q505e3] {
    margin-left: auto;
    width: 26px;
    height: 26px;
    border-radius: 5px;
    border: 1px solid rgba(255,255,255,.28);
    background: transparent;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    flex: 0 0 auto;
}

.bb-modal__close:hover[b-zca7q505e3] {
    background: rgba(255,255,255,.18);
}

.bb-modal__title[b-zca7q505e3] {
    width: 100%;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -.01em;
    padding: 0;
    outline: none;
}

.bb-modal__title[b-zca7q505e3]::placeholder {
    color: rgba(255,255,255,.6);
}

.bb-modal__body[b-zca7q505e3] {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px 22px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bb-modal__grid[b-zca7q505e3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.bb-label[b-zca7q505e3] {
    font-size: 10.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(34,43,39,.45);
    margin-bottom: 7px;
}

.bb-label-row[b-zca7q505e3] {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-bottom: 8px;
}

.bb-label-row .bb-label[b-zca7q505e3] {
    margin-bottom: 0;
}

.bb-label-note[b-zca7q505e3] {
    font-size: 11.5px;
    color: rgba(34,43,39,.45);
    font-weight: 500;
}

.bb-segments[b-zca7q505e3] {
    display: flex;
    gap: 5px;
}

.bb-segments button[b-zca7q505e3] {
    flex: 1;
    padding: 7px 4px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 600;
}

.bb-textarea[b-zca7q505e3] {
    width: 100%;
    min-height: 96px;
    resize: vertical;
    padding: 11px 12px;
    border: 1px solid rgba(34,43,39,.18);
    border-radius: 6px;
    background: #fbf8f0;
    color: #222b27;
    font-size: 13.5px;
    line-height: 1.55;
    outline: none;
}

.bb-tags[b-zca7q505e3] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.bb-tag[b-zca7q505e3] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px 4px 10px;
    border-radius: 999px;
    background: rgba(74,114,184,.12);
    border: 1px solid rgba(74,114,184,.3);
    font-size: 12px;
    font-weight: 500;
    color: #2f4a76;
}

.bb-tag button[b-zca7q505e3] {
    border: none;
    background: transparent;
    color: #2f4a76;
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
    padding: 0;
    opacity: .6;
}

.bb-tag button:hover[b-zca7q505e3] {
    opacity: 1;
}

.bb-tag-input[b-zca7q505e3] {
    flex: 1;
    min-width: 120px;
    padding: 5px 9px;
    border: 1px dashed rgba(34,43,39,.28);
    border-radius: 999px;
    background: transparent;
    font-size: 12px;
    outline: none;
    color: #222b27;
}

.bb-checklist[b-zca7q505e3] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bb-check[b-zca7q505e3] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px 8px;
    border-radius: 5px;
}

.bb-check:hover[b-zca7q505e3] {
    background: rgba(34,43,39,.05);
}

.bb-check__box[b-zca7q505e3] {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 4px;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    line-height: 1;
    border: 1.5px solid rgba(34,43,39,.3);
    background: transparent;
    color: #fff;
}

.bb-check__box.is-done[b-zca7q505e3] {
    border-color: #3f8f6b;
    background: #3f8f6b;
}

.bb-check__text[b-zca7q505e3] {
    font-size: 13.5px;
    color: rgba(34,43,39,.9);
}

.bb-check__text.is-done[b-zca7q505e3] {
    color: rgba(34,43,39,.42);
    text-decoration: line-through;
}

.bb-check__remove[b-zca7q505e3] {
    margin-left: auto;
    border: none;
    background: transparent;
    color: rgba(34,43,39,.35);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 2px 4px;
}

.bb-check__remove:hover[b-zca7q505e3] {
    color: #b4462f;
}

.bb-check-input[b-zca7q505e3] {
    width: 100%;
    margin-top: 6px;
    padding: 8px 10px;
    border: 1px dashed rgba(34,43,39,.28);
    border-radius: 6px;
    background: transparent;
    font-size: 13px;
    outline: none;
    color: #222b27;
}

.bb-comments[b-zca7q505e3] {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.bb-comment[b-zca7q505e3] {
    display: flex;
    gap: 10px;
}

.bb-comment__avatar[b-zca7q505e3] {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: rgba(74,114,184,.16);
    border: 1px solid rgba(74,114,184,.3);
    color: #2f4a76;
    font-size: 10.5px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bb-comment__body[b-zca7q505e3] {
    flex: 1;
    min-width: 0;
}

.bb-comment__meta[b-zca7q505e3] {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.bb-comment__author[b-zca7q505e3] {
    font-size: 12.5px;
    font-weight: 600;
}

.bb-comment__when[b-zca7q505e3] {
    font-size: 11px;
    color: rgba(34,43,39,.42);
}

.bb-comment__delete[b-zca7q505e3] {
    margin-left: auto;
    border: none;
    background: transparent;
    color: rgba(34,43,39,.35);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .12s;
}

.bb-comment:hover .bb-comment__delete[b-zca7q505e3],
.bb-comment__delete:focus-visible[b-zca7q505e3],
.bb-comment__delete.is-armed[b-zca7q505e3] {
    opacity: 1;
}

.bb-comment__delete:hover[b-zca7q505e3] {
    color: #b4462f;
}

.bb-comment__delete.is-armed[b-zca7q505e3] {
    font-size: 11.5px;
    font-weight: 600;
    color: #a33f29;
    background: rgba(180,70,47,.1);
}

.bb-comment__text[b-zca7q505e3] {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(34,43,39,.82);
    margin-top: 2px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.bb-comment-form[b-zca7q505e3] {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.bb-comment-input[b-zca7q505e3] {
    flex: 1;
    padding: 9px 11px;
    border: 1px solid rgba(34,43,39,.18);
    border-radius: 6px;
    background: #fbf8f0;
    font-size: 13px;
    outline: none;
    color: #222b27;
}

.bb-btn-ghost[b-zca7q505e3] {
    padding: 8px 13px;
    border-radius: 6px;
    border: 1px solid rgba(34,43,39,.2);
    background: transparent;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    color: #222b27;
}

.bb-btn-ghost:hover:not(:disabled)[b-zca7q505e3] {
    background: rgba(34,43,39,.08);
}

.bb-audit[b-zca7q505e3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
    padding: 14px 16px;
    border-radius: 7px;
    background: rgba(34,43,39,.05);
    border: 1px solid rgba(34,43,39,.09);
}

.bb-audit__label[b-zca7q505e3] {
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(34,43,39,.42);
    margin-bottom: 4px;
}

.bb-audit__who[b-zca7q505e3] {
    font-size: 13px;
    font-weight: 600;
}

.bb-audit__when[b-zca7q505e3] {
    font-size: 12px;
    color: rgba(34,43,39,.55);
    margin-top: 1px;
}

.bb-modal__footer[b-zca7q505e3] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 24px;
    border-top: 1px solid rgba(34,43,39,.12);
    background: rgba(34,43,39,.04);
}

.bb-btn-danger[b-zca7q505e3] {
    padding: 8px 13px;
    border-radius: 6px;
    border: 1px solid rgba(180,70,47,.35);
    background: transparent;
    color: #a33f29;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
}

.bb-btn-danger:hover:not(:disabled)[b-zca7q505e3] {
    background: rgba(180,70,47,.1);
}

.bb-modal__unsaved[b-zca7q505e3] {
    margin-left: auto;
    font-size: 11.5px;
    font-weight: 600;
    color: #a3701f;
    white-space: nowrap;
}

.bb-modal__unsaved + .bb-btn-primary--footer[b-zca7q505e3] {
    margin-left: 0 !important;
}

.bb-btn-ghost:disabled[b-zca7q505e3] {
    opacity: .5;
    cursor: default;
}

.bb-btn-primary--footer[b-zca7q505e3] {
    margin-left: auto;
    padding: 9px 20px;
    border-radius: 6px;
}

.bb-btn-primary--footer:hover[b-zca7q505e3] {
    background: #3d63a4 !important;
    border-color: #3d63a4 !important;
}

@media (max-width: 640px) {
    .bb-header[b-zca7q505e3] {
        flex-wrap: wrap;
        padding: 12px 14px;
    }

    .bb-legend[b-zca7q505e3], .bb-toolbar__hint[b-zca7q505e3], .bb-toolbar__sep--wide[b-zca7q505e3] {
        display: none;
    }
}
/* /Components/Pages/KnowledgeExchangeMechanics.razor.rz.scp.css */
/* ==========================================================================
   KnowledgeExchangeMechanics Scoped Styles (Betfair styling & simulator)
   ========================================================================== */

:root[b-09w2immjch] {
    --bf-yellow: #ffb80c;
    --bf-back-hdr: #0880dd;
    --bf-back-bg: #bfe3fd;
    --bf-back-hover: #96cff8;
    --bf-back-border: #8ec4ee;
    --bf-lay-hdr: #f4607c;
    --bf-lay-bg: #fcc5ce;
    --bf-lay-hover: #f8bac6;
    --bf-lay-border: #efa8b5;
}

.content-wrapper[b-09w2immjch] {
    padding-bottom: 40px;
}

/* Stepper Navigation */
.sim-stepper[b-09w2immjch] {
    display: flex;
    gap: 8px;
    background: #eef2f7;
    padding: 6px;
    border-radius: 6px;
    flex-wrap: wrap;
}

.sim-step-btn[b-09w2immjch] {
    flex: 1;
    min-width: 140px;
    background: #fff;
    border: 1px solid #d4dbe4;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
}

.sim-step-btn:hover[b-09w2immjch] {
    background: #f8fafc;
    border-color: #bcc6d4;
}

.sim-step-btn.active[b-09w2immjch] {
    background: #1b6ec2;
    color: #fff;
    border-color: #175eab;
    box-shadow: 0 2px 4px rgba(27, 110, 194, 0.25);
}

.sim-step-btn.active .step-sub[b-09w2immjch] {
    color: #d8e8fc;
}

.step-num[b-09w2immjch] {
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
}

.step-name[b-09w2immjch] {
    font-weight: 600;
    font-size: 12.5px;
}

.step-sub[b-09w2immjch] {
    font-size: 10.5px;
    color: #6c757d;
}

/* Callout Box */
.callout-box[b-09w2immjch] {
    border-left: 4px solid #1b6ec2;
    background: #f0f7ff;
    padding: 14px 18px;
    border-radius: 0 6px 6px 0;
    font-size: 13px;
    line-height: 1.55;
}

.callout-box.success[b-09w2immjch] {
    border-left-color: #198754;
    background: #f0fdf4;
}

.callout-box.warning[b-09w2immjch] {
    border-left-color: #ffc107;
    background: #fffbeb;
}

.callout-title[b-09w2immjch] {
    font-weight: 700;
    margin-bottom: 4px;
    color: #0d3c61;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ==========================================================================
   AUTHENTIC BETFAIR EXCHANGE MARKET WIDGET
   ========================================================================== */
.bf-market-card[b-09w2immjch] {
    background: #fff;
    border: 1px solid #c9d2db;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    font-family: Arial, Helvetica, sans-serif;
}

.bf-market-header[b-09w2immjch] {
    background: #2b2b2b;
    color: #fff;
    padding: 9px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 3px solid #ffb80c;
}

.bf-market-title[b-09w2immjch] {
    font-size: 13.5px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 10px;
}

.bf-market-meta[b-09w2immjch] {
    font-size: 11px;
    color: #ccc;
}

.bf-live-pill[b-09w2immjch] {
    background: #10a34b;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    padding: 1px 5px;
    border-radius: 3px;
    text-transform: uppercase;
}

.bf-columns-bar[b-09w2immjch] {
    display: grid;
    grid-template-columns: 1fr 300px 300px;
    background: #f1f1f1;
    border-bottom: 1px solid #dcdcdc;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    line-height: 24px;
}

.bf-col-runner-hdr[b-09w2immjch] {
    text-align: left;
    padding-left: 14px;
    color: #555;
}

.bf-col-back-hdr[b-09w2immjch] {
    background: #0880dd;
    color: #fff;
    letter-spacing: 0.5px;
}

.bf-col-lay-hdr[b-09w2immjch] {
    background: #f4607c;
    color: #fff;
    letter-spacing: 0.5px;
}

.bf-runner-row[b-09w2immjch] {
    display: grid;
    grid-template-columns: 1fr 300px 300px;
    border-bottom: 1px solid #e5e5e5;
    background: #fff;
    transition: background 0.1s;
}

.bf-runner-row:last-child[b-09w2immjch] {
    border-bottom: none;
}

.bf-runner-row:hover[b-09w2immjch] {
    background: #f9fbfd;
}

.bf-runner-info[b-09w2immjch] {
    padding: 8px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bf-runner-name[b-09w2immjch] {
    font-size: 13px;
    font-weight: bold;
    color: #222;
}

.bf-runner-stats[b-09w2immjch] {
    font-size: 11px;
    color: #777;
    margin-top: 2px;
}

.bf-boxes-group[b-09w2immjch] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: #fff;
    padding: 2px 1px;
}

.bf-box[b-09w2immjch] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px 2px;
    min-height: 48px;
    border-radius: 2px;
    cursor: pointer;
    user-select: none;
    position: relative;
    transition: all 0.15s;
}

/* Betfair Back (Blue) */
.bf-box.back[b-09w2immjch] {
    background-color: #bfe3fd;
    border: 1px solid #8ec4ee;
}

.bf-box.back:hover[b-09w2immjch] {
    background-color: #96cff8;
}

.bf-box.back.best[b-09w2immjch] {
    background-color: #a7d7ff;
    border-color: #72bbef;
    box-shadow: inset 0 0 0 1px #59abed;
}

/* Betfair Lay (Pink) */
.bf-box.lay[b-09w2immjch] {
    background-color: #fcc5ce;
    border: 1px solid #efa8b5;
}

.bf-box.lay:hover[b-09w2immjch] {
    background-color: #f8bac6;
}

.bf-box.lay.best[b-09w2immjch] {
    background-color: #fca7b5;
    border-color: #f48095;
    box-shadow: inset 0 0 0 1px #e8637c;
}

.bf-box .bf-price[b-09w2immjch] {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    color: #111;
}

.bf-box .bf-size[b-09w2immjch] {
    font-size: 10px;
    color: #555;
    margin-top: 2px;
    line-height: 1;
}

.bf-user-offer-tag[b-09w2immjch] {
    position: absolute;
    top: -6px;
    right: 3px;
    background: #117a37;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    padding: 1px 4px;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.bf-box.has-user-offer[b-09w2immjch] {
    outline: 2px solid #117a37;
    outline-offset: -1px;
}

.bf-box.empty[b-09w2immjch] {
    background: #f7f7f7;
    border: 1px dashed #e0e0e0;
    cursor: default;
}

.bf-box.empty .bf-price[b-09w2immjch] {
    color: #aaa;
    font-weight: normal;
}

/* ==========================================================================
   VERTICAL TRADER LADDER
   ========================================================================== */
.ladder-table[b-09w2immjch] {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
    font-size: 12px;
}

.ladder-table th[b-09w2immjch] {
    color: #fff;
    font-weight: 600;
    padding: 7px 10px;
    text-align: center;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.ladder-table td[b-09w2immjch] {
    padding: 5px 8px;
    border-bottom: 1px solid #e9ecef;
    text-align: center;
}

.ladder-price-cell[b-09w2immjch] {
    font-weight: 700;
    font-size: 13px;
    background: #f4f6f8;
    width: 90px;
    border-left: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
}

.ladder-back-cell[b-09w2immjch] {
    background: #f3f9ff;
    text-align: right;
    padding-right: 14px;
    font-weight: 600;
    color: #0b497b;
}

.ladder-lay-cell[b-09w2immjch] {
    background: #fff5f6;
    text-align: left;
    padding-left: 14px;
    font-weight: 600;
    color: #8c1028;
}

.ladder-user-cell[b-09w2immjch] {
    text-align: left;
    padding-left: 10px;
    font-size: 11px;
}

.ladder-row-highlight[b-09w2immjch] {
    background-color: #fff9db !important;
}

.ladder-row-highlight .ladder-price-cell[b-09w2immjch] {
    background-color: #ffe066 !important;
    color: #111;
}

/* ==========================================================================
   BTS TABLE FOR OUR BETS
   ========================================================================== */
.bts-table[b-09w2immjch] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.bts-table th[b-09w2immjch] {
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    color: #6c757d;
    font-size: 11px;
    text-transform: uppercase;
    padding: 7px 10px;
    text-align: right;
    letter-spacing: 0.4px;
}

.bts-table td[b-09w2immjch] {
    padding: 8px 10px;
    border-bottom: 1px solid #f1f3f5;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.bts-table th.text-start[b-09w2immjch],
.bts-table td.text-start[b-09w2immjch] {
    text-align: left;
}

.bts-table tr.active-row[b-09w2immjch] {
    background-color: #f1f7fe;
    font-weight: 600;
}
/* /Components/Pages/MarketSeeding.razor.rz.scp.css */
.seeding-input[b-ftlsfv3q2o] {
    border-color: #6f7a89;
    border-width: 1.5px;
}

.seeding-input:focus[b-ftlsfv3q2o] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.16rem rgba(13, 110, 253, 0.18);
}

.seeding-bulk-panel[b-ftlsfv3q2o] {
    background: #f8f9fa;
    border: 1px solid #c7ced8;
    border-radius: 0.375rem;
    padding: 0.75rem;
}
/* /Components/Pages/ReportingCryptoUpDown.razor.rz.scp.css */
.cud[b-99kqnekfde] {
    font-size: 13px;
    color: #212529;
    padding-bottom: 40px;
    /* The roll is a wide horizontal strip. Every ancestor between it and the page needs to be
       allowed to shrink below its content, or the strip widens the page instead of scrolling. */
    min-width: 0;
}

.cud-mono[b-99kqnekfde] {
    font-variant-numeric: tabular-nums;
}

.cud-pos[b-99kqnekfde] {
    color: #198754;
}

.cud-neg[b-99kqnekfde] {
    color: #dc3545;
}

.cud-flat[b-99kqnekfde] {
    color: #6c757d;
}

.cud-sep[b-99kqnekfde] {
    color: #adb5bd;
}

/* ---------- header ---------- */

.cud-header[b-99kqnekfde] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.cud-subtitle[b-99kqnekfde] {
    color: #6c757d;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cud-live-dot[b-99kqnekfde] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-left: 6px;
}

.cud-live-on[b-99kqnekfde] {
    background: #198754;
}

.cud-live-pending[b-99kqnekfde] {
    background: #ffc107;
}

.cud-live-off[b-99kqnekfde] {
    background: #adb5bd;
}

.cud-live-label[b-99kqnekfde] {
    font-size: 11px;
}

/* ---------- tabs ---------- */

.cud-tabs[b-99kqnekfde] {
    display: flex;
    gap: 4px;
    margin-bottom: 14px;
    border-bottom: 1px solid #dee2e6;
}

.cud-tab[b-99kqnekfde] {
    border: 1px solid transparent;
    border-bottom: none;
    background: none;
    padding: 7px 18px;
    font-size: 13px;
    color: #6c757d;
    border-radius: 6px 6px 0 0;
    margin-bottom: -1px;
}

.cud-tab:hover[b-99kqnekfde] {
    color: #212529;
    background: #f8f9fa;
}

.cud-tab-active[b-99kqnekfde] {
    border-color: #dee2e6;
    background: #fff;
    color: #212529;
    font-weight: 600;
}

/* ---------- panels ---------- */

.cud-panel[b-99kqnekfde] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 14px 16px;
    margin-bottom: 14px;
    background: #fff;
}

.cud-panel-head[b-99kqnekfde] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #dee2e6;
}

.cud-panel-title[b-99kqnekfde] {
    font-size: 16px;
    font-weight: 600;
}

.cud-spacer[b-99kqnekfde] {
    flex: 1;
}

/* ---------- filters ---------- */

.cud-filters[b-99kqnekfde] {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: flex-end;
}

.cud-field[b-99kqnekfde] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 150px;
}

.cud-field-wide[b-99kqnekfde] {
    min-width: 200px;
}

.cud-field .form-label[b-99kqnekfde] {
    font-size: 12px;
    color: #495057;
    margin: 0;
}

.cud-day-nav[b-99kqnekfde] {
    display: flex;
    gap: 6px;
    align-items: center;
    position: relative;
}

.cud-day-button[b-99kqnekfde] {
    min-width: 150px;
    text-align: left;
}

/* ---------- calendar ---------- */

.cud-calendar[b-99kqnekfde] {
    position: absolute;
    top: 38px;
    left: 0;
    z-index: 30;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .14);
    padding: 12px;
    width: 352px;
}

.cud-calendar-head[b-99kqnekfde] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.cud-calendar-grid[b-99kqnekfde] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 3px;
}

.cud-calendar-dow[b-99kqnekfde] {
    font-size: 10px;
    color: #6c757d;
    text-align: center;
    margin-bottom: 3px;
}

.cud-calendar-cell[b-99kqnekfde] {
    border: 1px solid #e9ecef;
    background: #fff;
    border-radius: 4px;
    padding: 4px 2px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-height: 40px;
}

.cud-calendar-cell-empty[b-99kqnekfde] {
    border-color: transparent;
    cursor: default;
}

.cud-calendar-cell-selected[b-99kqnekfde] {
    border-color: #0d6efd;
    background: #e7f1ff;
}

.cud-calendar-num[b-99kqnekfde] {
    font-size: 11px;
    font-weight: 600;
}

.cud-calendar-pl[b-99kqnekfde] {
    font-size: 9px;
    white-space: nowrap;
}

/* ---------- totals ---------- */

.cud-totals[b-99kqnekfde] {
    display: flex;
    justify-content: flex-end;
    gap: 36px;
    align-items: baseline;
    flex-wrap: wrap;
}

.cud-totals > div[b-99kqnekfde] {
    display: flex;
    gap: 10px;
    align-items: baseline;
}

.cud-totals-label[b-99kqnekfde] {
    font-weight: 600;
    color: #495057;
}

.cud-totals-value[b-99kqnekfde] {
    font-size: 17px;
}

.cud-totals-strong[b-99kqnekfde] {
    font-size: 19px;
    font-weight: 600;
}

/* ---------- matrix ---------- */

.cud-matrix-panel[b-99kqnekfde] {
    padding: 0;
}

.cud-matrix-scroll[b-99kqnekfde] {
    overflow-x: auto;
}

.cud-matrix[b-99kqnekfde] {
    width: 100%;
    min-width: 1020px;
    border-collapse: collapse;
    font-size: 12px;
}

.cud-matrix th[b-99kqnekfde],
.cud-matrix td[b-99kqnekfde] {
    padding: 7px 12px;
    text-align: right;
    border-bottom: 1px solid #eceff1;
    white-space: nowrap;
}

.cud-matrix thead th[b-99kqnekfde] {
    background: #f8f9fa;
    font-weight: 600;
    border-bottom: 1px solid #dee2e6;
}

.cud-matrix .cud-matrix-total-col[b-99kqnekfde] {
    border-left: 1px solid #dee2e6;
    background: #f8f9fa;
}

.cud-matrix .cud-cell-selected[b-99kqnekfde] {
    background: #fbfdff;
}

.cud-matrix-footer td[b-99kqnekfde] {
    background: #f1f3f5;
    border-top: 1px solid #dee2e6;
    font-weight: 700;
    padding: 9px 12px;
}

/* Whole-row hover. The tint is repeated per cell rather than set on the row because the total
   column paints its own background, which would otherwise sit on top of a row-level colour. The
   footer keeps its own shading - it is a total, not a row to follow across. */
.cud-matrix tbody tr:not(.cud-matrix-footer):hover > td[b-99kqnekfde] {
    background: #f1f6fc;
    transition: background-color .12s ease-in-out;
}

.cud-matrix tbody tr:not(.cud-matrix-footer):hover > td.cud-matrix-total-col[b-99kqnekfde] {
    background: #e7eff9;
}

.cud-matrix tbody tr:not(.cud-matrix-footer):hover > td:first-child[b-99kqnekfde] {
    box-shadow: inset 2px 0 0 #9ec1ea;
}

.cud-matrix-footer .cud-matrix-grand[b-99kqnekfde] {
    background: #e9ecef;
}

/* ---------- groups and rolls ---------- */

.cud-groups[b-99kqnekfde] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.cud-group[b-99kqnekfde] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    min-width: 0;
}

.cud-group-head[b-99kqnekfde] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 14px;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    cursor: pointer;
}

.cud-chevron[b-99kqnekfde] {
    color: #6c757d;
    font-size: 11px;
    width: 10px;
}

.cud-group-symbol[b-99kqnekfde] {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .3px;
}

.cud-roll-row[b-99kqnekfde] {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #f1f3f5;
    min-width: 0;
}

.cud-roll-label[b-99kqnekfde] {
    flex: 0 0 100px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-right: 1px solid #f1f3f5;
    background: #fcfcfd;
}

.cud-roll-duration[b-99kqnekfde] {
    font-weight: 700;
    font-size: 13px;
}

.cud-roll-count[b-99kqnekfde] {
    color: #adb5bd;
    font-size: 10px;
}

.cud-roll[b-99kqnekfde] {
    flex: 1;
    min-width: 0;
    /* scroll, not auto: the roll owns a permanently visible slider instead of one that
       only shows up on hover. */
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #c9ced4 #f1f3f5;
    overscroll-behavior-x: contain;
    padding: 10px 12px;
    display: flex;
    gap: 6px;
    align-items: stretch;
}

.cud-roll[b-99kqnekfde]::-webkit-scrollbar {
    height: 10px;
}

.cud-roll[b-99kqnekfde]::-webkit-scrollbar-thumb {
    background: #c9ced4;
    border-radius: 5px;
}

.cud-roll[b-99kqnekfde]::-webkit-scrollbar-track {
    background: #f1f3f5;
}

/* ---------- roll sentinel (older windows) ---------- */

/* Always rendered as the roll's first child: it is both the IntersectionObserver target
   that pulls older windows in and the place where the roll reports its own state. */
.cud-roll-sentinel[b-99kqnekfde] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    padding: 0 6px;
    color: #adb5bd;
    font-size: 10px;
    text-align: center;
    line-height: 1.25;
}

.cud-roll-sentinel-end[b-99kqnekfde] {
    color: #ced4da;
}

.cud-roll-more[b-99kqnekfde] {
    border: 1px dashed #ced4da;
    background: #fff;
    border-radius: 4px;
    color: #6c757d;
    font-size: 10px;
    padding: 4px 8px;
    cursor: pointer;
    white-space: nowrap;
}

.cud-roll-more:hover[b-99kqnekfde] {
    border-color: #0d6efd;
    color: #0d6efd;
}

/* ---------- tiles ---------- */

.cud-tile[b-99kqnekfde] {
    flex: 0 0 168px;
    width: 168px;
    box-sizing: border-box;
    padding: 7px 8px;
    border-radius: 4px;
    font-size: 11px;
    background: #fff;
    border: 1px solid #adb5bd;
}

.cud-dense .cud-tile[b-99kqnekfde] {
    flex-basis: 134px;
    width: 134px;
    padding: 5px 6px;
    font-size: 10px;
}

.cud-tile-head[b-99kqnekfde] {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: space-between;
}

.cud-tile-time[b-99kqnekfde] {
    color: #495057;
    font-weight: 600;
    white-space: nowrap;
}

/* Only the time opens the details overlay, so only the time advertises it. A window with no
   canonical event keeps the plain span and the default cursor. */
.cud-tile-time-link[b-99kqnekfde] {
    cursor: pointer;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}

.cud-tile-time-link:hover[b-99kqnekfde] {
    color: #0d6efd;
    text-decoration-style: solid;
}

.cud-tile-markers[b-99kqnekfde] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cud-unverified[b-99kqnekfde] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #ffc107;
    color: #212529;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: help;
    box-shadow: inset 0 0 0 1px rgba(33, 37, 41, .18);
}

.cud-badge[b-99kqnekfde] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
    padding: 1px 5px;
    border-radius: 3px;
    white-space: nowrap;
    color: #fff;
}

.cud-tile-rows[b-99kqnekfde] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 6px;
}

.cud-side[b-99kqnekfde] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px;
    border-radius: 3px;
}

.cud-side-name[b-99kqnekfde] {
    font-weight: 700;
    width: 38px;
}

.cud-side-shares[b-99kqnekfde] {
    color: #6c757d;
    flex: 1;
}

.cud-side-win[b-99kqnekfde] {
    background: #eef4f9;
    box-shadow: inset 0 0 0 1px #cfe0ee;
}

.cud-side-lost[b-99kqnekfde] {
    opacity: .42;
}

.cud-tile-compact[b-99kqnekfde] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 10px;
}

.cud-side-compact[b-99kqnekfde] {
    flex: 1;
    text-align: center;
    padding: 2px 3px;
    border-radius: 3px;
    font-weight: 600;
    background: #f8f9fa;
}

/* ---------- tile P/L bar ---------- */

/* Full-bleed strip across the bottom of the tile. Negative side margins cancel the tile
   padding so the bar reaches the border; the bottom radius matches the tile's inner corner. */
.cud-tile-bar[b-99kqnekfde] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 6px -8px -7px -8px;
    padding: 3px 8px;
    border-radius: 0 0 3px 3px;
    font-size: 10px;
    font-weight: 600;
    min-height: 18px;
}

.cud-dense .cud-tile-bar[b-99kqnekfde] {
    margin: 5px -6px -5px -6px;
    padding: 2px 6px;
    min-height: 16px;
}

.cud-tile-bar-label[b-99kqnekfde] {
    font-weight: 500;
    opacity: .85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cud-tile-bar-value[b-99kqnekfde] {
    font-weight: 700;
    white-space: nowrap;
}

.cud-bar-win[b-99kqnekfde] {
    background: #198754;
    color: #fff;
}

.cud-bar-loss[b-99kqnekfde] {
    background: #dc3545;
    color: #fff;
}

.cud-bar-flat[b-99kqnekfde] {
    background: #6c757d;
    color: #fff;
}

.cud-bar-expected[b-99kqnekfde] {
    background: #6c757d;
    color: #fff;
}

/* Nothing of ours ever entered this window - it must not read as a result of any kind. */
.cud-bar-none[b-99kqnekfde] {
    background: #f1f3f5;
    color: #adb5bd;
    justify-content: center;
    font-weight: 500;
    font-style: italic;
    box-shadow: inset 0 1px 0 #e9ecef;
}

/* tile + badge state colouring */

.cud-tile.cud-state-up[b-99kqnekfde] {
    background: #f4faf6;
    border: 1px solid #198754;
}

.cud-tile.cud-state-down[b-99kqnekfde] {
    background: #fef6f7;
    border: 1px solid #dc3545;
}

.cud-tile.cud-state-live[b-99kqnekfde] {
    border: 2px solid #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .12);
}

.cud-tile.cud-state-upcoming[b-99kqnekfde] {
    border: 1px dashed #adb5bd;
}

.cud-tile.cud-state-unresolved[b-99kqnekfde] {
    background: #fffdf3;
    border: 1px solid #ffc107;
}

.cud-badge.cud-state-up[b-99kqnekfde] {
    background: #198754;
}

.cud-badge.cud-state-down[b-99kqnekfde] {
    background: #dc3545;
}

.cud-badge.cud-state-live[b-99kqnekfde] {
    background: #0d6efd;
    animation: cudLivePulse-b-99kqnekfde 1.6s ease-in-out infinite;
}

.cud-badge.cud-state-upcoming[b-99kqnekfde] {
    background: #f1f3f5;
    color: #6c757d;
}

.cud-badge.cud-state-unresolved[b-99kqnekfde] {
    background: #ffc107;
    color: #212529;
}

@keyframes cudLivePulse-b-99kqnekfde {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: .35;
    }
}

/* ---------- legend ---------- */

.cud-legend[b-99kqnekfde] {
    margin-top: 16px;
    display: flex;
    gap: 18px;
    align-items: center;
    color: #6c757d;
    font-size: 11px;
    flex-wrap: wrap;
}

.cud-legend span[b-99kqnekfde] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.cud-swatch[b-99kqnekfde] {
    width: 11px;
    height: 11px;
    border-radius: 2px;
    display: inline-block;
}

.cud-swatch.cud-state-up[b-99kqnekfde] {
    background: #e8f3ec;
    border: 1px solid #198754;
}

.cud-swatch.cud-state-down[b-99kqnekfde] {
    background: #fdecee;
    border: 1px solid #dc3545;
}

.cud-swatch.cud-state-live[b-99kqnekfde] {
    background: #fff;
    border: 2px solid #0d6efd;
}

.cud-swatch.cud-state-upcoming[b-99kqnekfde] {
    background: #fff;
    border: 1px dashed #adb5bd;
}

.cud-swatch.cud-state-unresolved[b-99kqnekfde] {
    background: #fffdf3;
    border: 1px solid #ffc107;
}

/* bar swatches - wider, so they read as the strip they stand for rather than a state box */
.cud-swatch-bar[b-99kqnekfde] {
    width: 22px;
    height: 9px;
    border-radius: 2px;
    display: inline-block;
}

.cud-swatch-bar.cud-bar-win[b-99kqnekfde] {
    background: #198754;
}

.cud-swatch-bar.cud-bar-loss[b-99kqnekfde] {
    background: #dc3545;
}

.cud-swatch-bar.cud-bar-expected[b-99kqnekfde] {
    background: #6c757d;
}

.cud-swatch-bar.cud-bar-none[b-99kqnekfde] {
    background: #f1f3f5;
    box-shadow: inset 0 0 0 1px #e9ecef;
}

/* ---------- market details overlay ---------- */

/* The event details view is wide - a 12-column markets table and 1000px chart viewBoxes - so the
   dialog takes the viewport instead of Bootstrap's centred column, and scrolls inside itself. */
.cud-overlay-dialog[b-99kqnekfde] {
    width: 96vw;
    max-width: 96vw;
    height: 94vh;
    margin: 3vh auto;
}

.cud-overlay-body[b-99kqnekfde] {
    overflow: auto;
}
/* /Components/Shared/CashFlowDirectionPicker.razor.rz.scp.css */
.direction-picker[b-alheajptom] { position: relative; width: 6rem; }
.form-select[b-alheajptom] { height: 38px; padding-left: .7rem; padding-right: 1.8rem; }
.picker-dismiss[b-alheajptom] { position: fixed; inset: 0; z-index: 1040; background: transparent; border: 0; cursor: default; }
.direction-options[b-alheajptom] { position: absolute; width: 100%; top: calc(100% + 4px); z-index: 1041; }
.direction-options .btn + .btn[b-alheajptom] { margin-top: .25rem; }
/* /Components/Shared/CashFlowWalletOverlay.razor.rz.scp.css */
.cash-flow-dialog[b-kswa5lb1v6] { width: min(1250px, 94vw); max-width: 94vw; max-height: 90vh; overflow: auto; padding: 1.5rem; color: var(--bs-body-color); background: var(--bs-body-bg); }
.cash-flow-dialog[b-kswa5lb1v6]::backdrop { background: rgba(0, 0, 0, .5); }
@media (max-width: 576px) { .cash-flow-dialog[b-kswa5lb1v6] { padding: 1rem; } }
/* /Components/Shared/CashFlowWalletPicker.razor.rz.scp.css */
.wallet-picker[b-pgw8g6p9hc] { position: relative; }
.form-select[b-pgw8g6p9hc] { min-height: 38px; }
.picker-dismiss[b-pgw8g6p9hc] { position: fixed; inset: 0; z-index: 1040; border: 0; background: transparent; cursor: default; }
.picker-options[b-pgw8g6p9hc] { position: absolute; top: calc(100% + 4px); left: 0; min-width: 100%; width: max-content; max-width: min(30rem, 85vw); max-height: 20rem; overflow-y: auto; z-index: 1041; }
.picker-option[b-pgw8g6p9hc] { display: flex; align-items: center; gap: .5rem; width: 100%; padding: .5rem .75rem; border: 0; border-radius: .25rem; text-align: left; background: transparent; color: var(--bs-body-color); }
.picker-option:hover[b-pgw8g6p9hc], .picker-option:focus-visible[b-pgw8g6p9hc] { background: var(--bs-tertiary-bg); }
.picker-option.selected[b-pgw8g6p9hc] { background: var(--bs-primary-bg-subtle); color: var(--bs-primary-text-emphasis); }
/* /Components/Shared/CryptoUpDownAnalytics.razor.rz.scp.css */
/* Mirrors the look of the Rolls tab, but scoped CSS does not cross component boundaries so the
   shared-looking classes are redeclared here rather than reused. */

.cua[b-qc5fd3usu0] {
    font-size: 13px;
    color: #212529;
    padding-bottom: 40px;
    min-width: 0;
}

.cua-pos[b-qc5fd3usu0] {
    color: #198754;
}

.cua-neg[b-qc5fd3usu0] {
    color: #dc3545;
}

.cua-flat[b-qc5fd3usu0] {
    color: #6c757d;
}

/* ---------- panels ---------- */

.cua-panel[b-qc5fd3usu0] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 14px 16px;
    margin-bottom: 14px;
    background: #fff;
}

.cua-panel-head[b-qc5fd3usu0] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: -14px -16px 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #dee2e6;
}

.cua-panel-title[b-qc5fd3usu0] {
    font-size: 16px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cua-spacer[b-qc5fd3usu0] {
    flex: 1;
}

/* ---------- filters and group by ---------- */

.cua-filters[b-qc5fd3usu0],
.cua-groupby[b-qc5fd3usu0] {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: flex-end;
}

.cua-field[b-qc5fd3usu0] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 150px;
}

.cua-field-wide[b-qc5fd3usu0] {
    min-width: 220px;
}

.cua-field .form-label[b-qc5fd3usu0] {
    font-size: 12px;
    color: #495057;
    margin: 0;
}

.cua-buttons[b-qc5fd3usu0] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.cua-dirty[b-qc5fd3usu0] {
    align-self: center;
    font-size: 12px;
    color: #b8860b;
    white-space: nowrap;
}

.cua-warning[b-qc5fd3usu0] {
    border: 1px solid #ffe69c;
    background: #fff9e6;
    border-radius: 6px;
    padding: 10px 14px;
    margin-bottom: 14px;
    font-size: 12px;
    color: #664d03;
}

/* ---------- totals ---------- */

.cua-totals[b-qc5fd3usu0] {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    align-items: baseline;
}

.cua-totals > div[b-qc5fd3usu0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cua-totals-label[b-qc5fd3usu0] {
    font-size: 11px;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.cua-totals-value[b-qc5fd3usu0] {
    font-size: 16px;
    font-variant-numeric: tabular-nums;
}

.cua-strong[b-qc5fd3usu0] {
    font-weight: 600;
}

/* ---------- currency x interval matrix ---------- */

.cua-matrix-panel[b-qc5fd3usu0] {
    padding: 0;
}

.cua-matrix-panel .cua-panel-head[b-qc5fd3usu0] {
    margin: 0;
}

.cua-matrix-scroll[b-qc5fd3usu0] {
    overflow-x: auto;
}

.cua-matrix[b-qc5fd3usu0] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.cua-matrix th[b-qc5fd3usu0],
.cua-matrix td[b-qc5fd3usu0] {
    padding: 7px 12px;
    text-align: right;
    border-bottom: 1px solid #eceff1;
    white-space: nowrap;
}

.cua-matrix thead th[b-qc5fd3usu0] {
    background: #f8f9fa;
    font-weight: 600;
    border-bottom: 1px solid #dee2e6;
}

.cua-matrix .cua-matrix-total-col[b-qc5fd3usu0] {
    border-left: 1px solid #dee2e6;
    background: #f8f9fa;
}

.cua-matrix-footer td[b-qc5fd3usu0] {
    background: #f1f3f5;
    border-top: 1px solid #dee2e6;
    font-weight: 700;
    padding: 9px 12px;
}

/* Whole-row hover. The tint is repeated per cell rather than set on the row because the total
   column paints its own background, which would otherwise sit on top of a row-level colour. The
   footer keeps its own shading - it is a total, not a row to follow across. */
.cua-matrix tbody tr:not(.cua-matrix-footer):hover > td[b-qc5fd3usu0] {
    background: #f1f6fc;
}

.cua-matrix tbody tr:not(.cua-matrix-footer):hover > td.cua-matrix-total-col[b-qc5fd3usu0] {
    background: #e7eff9;
}

.cua-matrix tbody tr:not(.cua-matrix-footer):hover > td:first-child[b-qc5fd3usu0] {
    box-shadow: inset 2px 0 0 #9ec1ea;
}

.cua-matrix-footer .cua-matrix-grand[b-qc5fd3usu0] {
    background: #e9ecef;
}

.cua-sep[b-qc5fd3usu0] {
    color: #adb5bd;
}

/* ---------- table ---------- */

/* The pivot can be wide once several dimensions are on; it scrolls inside the panel rather than
   widening the page. */
.cua-scroll[b-qc5fd3usu0] {
    overflow-x: auto;
}

.cua-table[b-qc5fd3usu0] {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.cua-table th[b-qc5fd3usu0],
.cua-table td[b-qc5fd3usu0] {
    padding: 5px 10px;
    text-align: right;
    white-space: nowrap;
    border-bottom: 1px solid #f1f3f5;
}

.cua-table thead th[b-qc5fd3usu0] {
    font-size: 11px;
    font-weight: 600;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .4px;
    border-bottom: 1px solid #dee2e6;
    position: sticky;
    top: 0;
    background: #fff;
}

.cua-row-group > td[b-qc5fd3usu0] {
    border-top: 1px solid #dee2e6;
    background: #fbfcfd;
}

.cua-row-bucket > td[b-qc5fd3usu0] {
    color: #495057;
}

.cua-table tbody tr:hover > td[b-qc5fd3usu0] {
    background: #f1f6fc;
    transition: background-color .12s ease-in-out;
}

.cua-table tbody tr:hover > td:first-child[b-qc5fd3usu0] {
    box-shadow: inset 2px 0 0 #9ec1ea;
}

/* The bucket label sits under the group columns it belongs to, indented so the ladder reads as a
   breakdown of the row above rather than as a sibling row. */
.cua-bucket-label[b-qc5fd3usu0] {
    padding-left: 26px;
    color: #6c757d;
}
