@import '_content/CSI.UI/CSI.UI.wtfj02xfns.bundle.scp.css';

/* /Components/Review/VideoPlayer.razor.rz.scp.css */
/* VideoPlayer.razor — Kaltura Player v7 host + graceful fallback. */

.video-player[b-0m2rude19j] {
    width: 100%;
}

.video-player__host[b-0m2rude19j] {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--csi-radius-lg);
    overflow: hidden;
    background: #000;
}

/* Fallback when the player can't load (entitlement/domain restriction). */
.video-player__fallback[b-0m2rude19j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--csi-space-xs);
    aspect-ratio: 16 / 9;
    border: 1px dashed var(--csi-border-secondary);
    border-radius: var(--csi-radius-lg);
    background: var(--csi-surface-secondary);
    color: var(--csi-text-secondary);
    text-align: center;
    padding: var(--csi-space-md);
}

.video-player__fallback p[b-0m2rude19j] {
    margin: 0;
    font-size: 13px;
}

.video-player__fallback-note[b-0m2rude19j] {
    font-size: 12px;
    opacity: 0.8;
}
/* /Pages/Review.razor.rz.scp.css */
/* =====================================================================
   Review.razor — reviewer workspace (Slice 2.2)

   Scaled-down version of the reviewer-ui-design.md layout: a left column
   (video + frame inspector) beside the center transcript editor. Tokens
   come from CSI.UI's theme; only layout + review-specific affordances are
   styled here.
   ==================================================================== */

.review-page[b-k1yziaqicj] {
    max-width: none;
}

/* ── Toolbar ──────────────────────────────────────────────────────── */

.review-toolbar[b-k1yziaqicj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--csi-space-md);
    padding-bottom: var(--csi-space-md);
    border-bottom: 1px solid var(--csi-border-tertiary);
    margin-bottom: var(--csi-space-md);
}

.review-toolbar__title h1[b-k1yziaqicj] {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    color: var(--csi-text-primary);
}

.review-toolbar__back[b-k1yziaqicj] {
    display: inline-block;
    font-size: 13px;
    margin-bottom: 2px;
    color: var(--csi-text-secondary);
    text-decoration: none;
}

.review-toolbar__back:hover[b-k1yziaqicj] {
    text-decoration: underline;
}

.review-toolbar__meta[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-sm);
    margin-top: 4px;
}

.review-toolbar__progress[b-k1yziaqicj] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 13px;
    color: var(--csi-text-secondary);
}

.review-toolbar__flagged[b-k1yziaqicj] {
    color: var(--csi-color-warning-700);
    font-weight: 600;
}

.review-toolbar__actions[b-k1yziaqicj] {
    display: flex;
    gap: var(--csi-space-sm);
    align-items: center;
}

/* #2120, #2123: Undo is a CsiButton; the local copy of its padding, radius and font size is gone. */

.review-toolbar__doc-link[b-k1yziaqicj] {
    font-weight: 600;
    color: var(--csi-color-success-700, #15803d);
    text-decoration: none;
}

.review-toolbar__doc-link:hover[b-k1yziaqicj] {
    text-decoration: underline;
}

/* ── Two-column grid ──────────────────────────────────────────────── */

.review-grid[b-k1yziaqicj] {
    display: grid;
    grid-template-columns: minmax(280px, 360px) 1fr;
    gap: var(--csi-space-lg);
    align-items: start;
}

@media (max-width: 880px) {
    .review-grid[b-k1yziaqicj] {
        grid-template-columns: 1fr;
    }
}

.review-side[b-k1yziaqicj] {
    display: flex;
    flex-direction: column;
    gap: var(--csi-space-md);
    position: sticky;
    top: var(--csi-space-md);
}

/* ── Video ────────────────────────────────────────────────────────── */

.review-video__player[b-k1yziaqicj] {
    width: 100%;
    border-radius: var(--csi-radius-lg);
    background: #000;
}

.review-video__placeholder[b-k1yziaqicj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--csi-space-xs);
    aspect-ratio: 16 / 9;
    border: 1px dashed var(--csi-border-secondary);
    border-radius: var(--csi-radius-lg);
    background: var(--csi-surface-secondary);
    color: var(--csi-text-secondary);
    text-align: center;
    padding: var(--csi-space-md);
}

.review-video__placeholder p[b-k1yziaqicj] {
    margin: 0;
    font-size: 13px;
}

.review-video__note[b-k1yziaqicj] {
    font-size: 12px;
    opacity: 0.8;
}

/* ── Player controls (follow-along toggle) ────────────────────────── */

.review-video__controls[b-k1yziaqicj] {
    display: flex;
    justify-content: flex-end;
    gap: var(--csi-space-xs);
    margin-top: var(--csi-space-xs);
}

/* ── Frame capture (v2 Feature 3c) ────────────────────────────────── */

.review-video__capture[b-k1yziaqicj] {
    padding: 2px 10px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-video__capture:disabled[b-k1yziaqicj] {
    opacity: 0.6;
    cursor: progress;
}

.review-video__capture-status[b-k1yziaqicj] {
    margin: var(--csi-space-xs) 0 0;
    font-size: 12px;
    color: var(--csi-text-secondary);
    text-align: right;
}

.review-video__capture-status.is-stale[b-k1yziaqicj] {
    color: var(--csi-color-warning-500);
}

.review-video__follow[b-k1yziaqicj] {
    padding: 2px 10px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-video__follow.is-on[b-k1yziaqicj] {
    border-color: var(--csi-action-primary);
    color: var(--csi-action-primary);
    font-weight: 600;
}

/* ── Inspector ────────────────────────────────────────────────────── */

.review-inspector[b-k1yziaqicj] {
    padding: var(--csi-space-md);
    border: 1px solid var(--csi-border-tertiary);
    border-radius: var(--csi-radius-lg);
    background: var(--csi-surface-primary);
}

.review-inspector__heading[b-k1yziaqicj] {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 var(--csi-space-sm);
    color: var(--csi-text-primary);
}

.review-inspector__image[b-k1yziaqicj] {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-md);
    background: var(--csi-surface-secondary);
    margin-bottom: var(--csi-space-sm);
}

/* Placeholder shown when a frame has no uploaded image. */
.review-inspector__image--empty[b-k1yziaqicj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--csi-space-xs);
    object-fit: unset;
    border-style: dashed;
    color: var(--csi-text-tertiary);
    font-size: 12px;
}

.review-inspector__meta[b-k1yziaqicj] {
    display: grid;
    grid-template-columns: auto;
    gap: 2px 0;
    margin: 0;
}

.review-inspector__meta dt[b-k1yziaqicj] {
    font-size: 11px;
    color: var(--csi-text-tertiary);
    margin-top: var(--csi-space-xs);
}

.review-inspector__meta dd[b-k1yziaqicj] {
    margin: 0;
    font-size: 13px;
    color: var(--csi-text-primary);
}

.review-inspector__empty[b-k1yziaqicj] {
    font-size: 13px;
    color: var(--csi-text-secondary);
    margin: 0;
}

/* ── Frame position / move (v2 Feature 3b) ────────────────────────── */

.review-inspector__position[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-xs);
    margin-top: var(--csi-space-sm);
}

.review-inspector__position-label[b-k1yziaqicj] {
    /* One line, whatever the input beside it does: an extension icon drawn into the input used to
       wrap this label, resize the card and set off a redraw loop (see NotALoginField). */
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 11px;
    color: var(--csi-text-tertiary);
}

.review-inspector__position-input[b-k1yziaqicj] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 2px var(--csi-space-xs);
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: var(--csi-surface-primary);
    font-size: 13px;
    color: var(--csi-text-primary);
}

.review-inspector__position-input:focus-visible[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-inspector__to-playhead[b-k1yziaqicj] {
    flex: 0 0 auto;
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-inspector__to-playhead:disabled[b-k1yziaqicj],
.review-inspector__position-input:disabled[b-k1yziaqicj] {
    opacity: 0.5;
    cursor: default;
}

.review-inspector__position-note[b-k1yziaqicj] {
    margin: var(--csi-space-xs) 0 0;
    font-size: 11px;
    color: var(--csi-text-tertiary);
}

/* ── Transcript list ──────────────────────────────────────────────── */

.review-transcript[b-k1yziaqicj] {
    min-height: 0;
}

.review-transcript__hint[b-k1yziaqicj] {
    font-size: 12px;
    color: var(--csi-text-tertiary);
    margin-bottom: var(--csi-space-sm);
}

/* #1615: where the last Apply Down stopped, and the one-click Continue. */
.review-applydown[b-k1yziaqicj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--csi-space-sm);
    margin-bottom: var(--csi-space-sm);
    padding: var(--csi-space-xs) var(--csi-space-sm);
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
}

.review-applydown__text[b-k1yziaqicj] {
    margin: 0;
    font-size: 13px;
    color: var(--csi-text-primary);
}

.review-applydown__continue[b-k1yziaqicj] {
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-applydown__continue:disabled[b-k1yziaqicj] {
    opacity: 0.5;
    cursor: default;
}

.review-rows[b-k1yziaqicj] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 70vh;
    overflow-y: auto;
    border: 1px solid var(--csi-border-tertiary);
    border-radius: var(--csi-radius-lg);
}

.review-rows:focus-visible[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-row[b-k1yziaqicj] {
    padding: var(--csi-space-sm) var(--csi-space-md);
    border-bottom: 1px solid var(--csi-border-tertiary);
    border-left: 3px solid transparent;
    cursor: pointer;
}

.review-row:last-child[b-k1yziaqicj] {
    border-bottom: none;
}

.review-row--selected[b-k1yziaqicj] {
    background: var(--csi-surface-secondary);
    border-left-color: var(--csi-action-primary);
}

/* Active row = the segment the playhead is currently inside (follow-along). */
.review-row--active[b-k1yziaqicj] {
    background: var(--csi-surface-tertiary, var(--csi-surface-secondary));
    box-shadow: inset 3px 0 0 0 var(--csi-action-primary);
}

.review-row--edited[b-k1yziaqicj] {
    border-left-color: var(--csi-color-success-500, #16a34a);
}

.review-row--flagged[b-k1yziaqicj] {
    border-left-color: var(--csi-color-warning-500);
}

.review-row__head[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--csi-space-sm);
    font-size: 12px;
    color: var(--csi-text-secondary);
}

.review-row__label[b-k1yziaqicj] {
    font-family: var(--csi-font-mono);
    font-weight: 600;
}

.review-row__icon[b-k1yziaqicj] {
    margin-right: 4px;
}

.review-row__markers[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-xs);
}

.review-row__edited[b-k1yziaqicj] {
    color: var(--csi-color-success-700);
    font-weight: 600;
}

.review-row__flagged[b-k1yziaqicj] {
    color: var(--csi-color-warning-700);
    font-weight: 600;
}

.review-row__saved[b-k1yziaqicj] {
    color: var(--csi-text-tertiary);
    font-style: italic;
}

.review-row__text[b-k1yziaqicj] {
    display: block;
    width: 100%;
    text-align: left;
    margin-top: 4px;
    padding: 2px 0;
    border: none;
    background: transparent;
    font-family: var(--csi-font-sans);
    font-size: var(--csi-text-base);
    color: var(--csi-text-primary);
    cursor: text;
}

.review-row__text:hover[b-k1yziaqicj] {
    text-decoration: underline dotted;
}

.review-row__editor[b-k1yziaqicj] {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: var(--csi-space-xs) var(--csi-space-sm);
    border: 1px solid var(--csi-action-primary);
    border-radius: var(--csi-radius-md);
    font-family: var(--csi-font-sans);
    font-size: var(--csi-text-base);
    color: var(--csi-text-primary);
    background: var(--csi-surface-primary);
    resize: vertical;
}

.review-row__editor:focus[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-row__flag-toggle[b-k1yziaqicj] {
    margin-top: 4px;
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-row__flag-toggle.is-flagged[b-k1yziaqicj] {
    border-color: var(--csi-color-warning-500);
    color: var(--csi-color-warning-700);
    font-weight: 600;
}

/* ── Speaker attribution (v2 Feature 3a) ──────────────────────────── */

.review-row__actions[b-k1yziaqicj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--csi-space-xs);
}

.review-row__speaker[b-k1yziaqicj],
.review-row__apply-down[b-k1yziaqicj] {
    margin-top: 4px;
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-row__apply-down:disabled[b-k1yziaqicj] {
    opacity: 0.5;
    cursor: default;
}

/* ── Speaker roster panel ─────────────────────────────────────────── */

.review-roster[b-k1yziaqicj] {
    padding: var(--csi-space-md);
    border: 1px solid var(--csi-border-tertiary);
    border-radius: var(--csi-radius-lg);
    background: var(--csi-surface-primary);
}

.review-roster__heading[b-k1yziaqicj] {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 var(--csi-space-sm);
    color: var(--csi-text-primary);
}

.review-roster__empty[b-k1yziaqicj] {
    margin: 0 0 var(--csi-space-sm);
    font-size: 12px;
    color: var(--csi-text-secondary);
}

.review-roster__list[b-k1yziaqicj] {
    list-style: none;
    margin: 0 0 var(--csi-space-sm);
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--csi-space-xs);
}

.review-roster__item[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-xs);
}

.review-roster__label[b-k1yziaqicj],
.review-roster__new[b-k1yziaqicj] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 2px var(--csi-space-xs);
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: var(--csi-surface-primary);
    font-size: 13px;
    color: var(--csi-text-primary);
}

.review-roster__label:focus-visible[b-k1yziaqicj],
.review-roster__new:focus-visible[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-roster__remove[b-k1yziaqicj] {
    flex: 0 0 auto;
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-roster__add[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-xs);
}

/* ── Target size (WCAG 2.2 AA, SC 2.5.8) ──────────────────────────── */

/*  Every control below is deliberately compact — it sits in a dense
    transcript row, a roster line, or the player's control strip — but
    2px of vertical padding at 12–13px type computes to roughly 20–22px
    tall, under the 24×24 CSS-pixel floor.

    The spacing exception does not rescue them. The row controls (flag /
    speaker / apply-down) are adjacent siblings, as are the roster's
    rename box and its remove button, so 24px circles centred on each
    would intersect.

    Grouped rather than added to each rule so the floor stays in one
    reviewable place instead of drifting across ten declarations. Height
    is the only dimension that fails: the text controls are all far wider
    than 24px, and a min-width here would override the deliberate
    `min-width: 0` that lets the flex inputs shrink. */
.review-row__flag-toggle[b-k1yziaqicj],
.review-row__speaker[b-k1yziaqicj],
.review-row__apply-down[b-k1yziaqicj],
.review-applydown__continue[b-k1yziaqicj],
.review-row__set-here[b-k1yziaqicj],
.review-row__timing-done[b-k1yziaqicj],
.review-row__timing-input[b-k1yziaqicj],
.review-video__capture[b-k1yziaqicj],
.review-video__follow[b-k1yziaqicj],
.review-inspector__to-playhead[b-k1yziaqicj],
.review-inspector__position-input[b-k1yziaqicj],
.review-roster__label[b-k1yziaqicj],
.review-roster__new[b-k1yziaqicj],
.review-roster__remove[b-k1yziaqicj] {
    min-height: 24px;
}

/*  The one control whose WIDTH also falls short: a single "✕" glyph at
    12px inside 8px of horizontal padding. It is not a flex input, so it
    carries no `min-width: 0` to protect. */
.review-roster__remove[b-k1yziaqicj] {
    min-width: 24px;
}

.review-inspector__redescribe-row[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-xs);
    margin-top: var(--csi-space-sm);
}

.review-inspector__redescribe[b-k1yziaqicj] {
    flex: 0 0 auto;
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-inspector__redescribe:focus-visible[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-inspector__redescribe:disabled[b-k1yziaqicj] {
    opacity: 0.5;
    cursor: default;
}

.review-inspector__redescribe-note[b-k1yziaqicj] {
    font-size: 11px;
    color: var(--csi-text-tertiary);
}

/* ── Delete + re-timing controls (#900 X2) ──────────────────────────────
   Only tokens that are actually declared in CSI.UI are used here.
   --csi-border-danger does NOT exist; an undeclared --csi-* name fails
   silently and the rule is simply dropped. See the phantom-token sweep in #922. */

.review-row__delete[b-k1yziaqicj],
.review-inspector__delete[b-k1yziaqicj] {
    margin-top: 4px;
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-row__delete:disabled[b-k1yziaqicj],
.review-inspector__delete:disabled[b-k1yziaqicj] {
    opacity: 0.5;
    cursor: default;
}

.review-inspector__delete-row[b-k1yziaqicj] {
    margin-top: var(--csi-space-sm);
}

.review-row__timing[b-k1yziaqicj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--csi-space-sm);
    margin-top: 4px;
}

.review-row__timing-label[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--csi-text-secondary);
}

.review-row__timing-input[b-k1yziaqicj] {
    width: 7ch;
    padding: 2px 4px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: var(--csi-surface-primary);
    color: var(--csi-text-primary);
    font-size: 12px;
}

/*  #1409: the header time opens the timing panel. It reads as part of the
    label, so it keeps the label's font and colour and shows it is clickable
    with an underline rather than a button outline. */
.review-row__time[b-k1yziaqicj] {
    padding: 0 2px;
    border: 0;
    background: none;
    font: inherit;
    color: inherit;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
    cursor: pointer;
}

.review-row__time[aria-expanded="true"][b-k1yziaqicj] {
    text-decoration-style: solid;
}

.review-row__time:focus-visible[b-k1yziaqicj],
.review-row__set-here:focus-visible[b-k1yziaqicj],
.review-row__timing-done:focus-visible[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-row__set-here[b-k1yziaqicj],
.review-row__timing-done[b-k1yziaqicj] {
    padding: 2px 8px;
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: transparent;
    font-size: 12px;
    color: var(--csi-text-secondary);
    cursor: pointer;
}

.review-row__set-here:disabled[b-k1yziaqicj] {
    cursor: default;
    opacity: 0.6;
}

/* ── Ask AI (#1260) ─────────────────────────────────────────────────────
   Declared tokens only (the #922 rule above). A Shift+click run is shaded
   like the selected row; a row with a suggestion waiting gets an inset bar. */

.review-row--in-run[b-k1yziaqicj] {
    background: var(--csi-surface-secondary);
}

.review-row--suggested[b-k1yziaqicj] {
    box-shadow: inset 3px 0 0 var(--csi-color-success-700);
}

.review-ask[b-k1yziaqicj] {
    padding: var(--csi-space-md);
    border: 1px solid var(--csi-border-tertiary);
    border-radius: var(--csi-radius-lg);
    background: var(--csi-surface-primary);
}

.review-ask__heading[b-k1yziaqicj] {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 var(--csi-space-xs);
    color: var(--csi-text-primary);
}

.review-ask__scope[b-k1yziaqicj],
.review-ask__left[b-k1yziaqicj],
.review-ask__note[b-k1yziaqicj],
.review-ask__results-note[b-k1yziaqicj] {
    margin: 0 0 var(--csi-space-sm);
    font-size: 12px;
    color: var(--csi-text-secondary);
}

.review-ask__instruction[b-k1yziaqicj] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--csi-space-xs);
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-sm);
    background: var(--csi-surface-primary);
    font-family: var(--csi-font-sans);
    font-size: 13px;
    color: var(--csi-text-primary);
    resize: vertical;
}

.review-ask__instruction:focus-visible[b-k1yziaqicj] {
    outline: none;
    box-shadow: var(--csi-focus-ring);
}

.review-ask__actions[b-k1yziaqicj] {
    display: flex;
    align-items: center;
    gap: var(--csi-space-sm);
    margin: var(--csi-space-xs) 0 var(--csi-space-sm);
}

.review-ask__actions .review-ask__left[b-k1yziaqicj] {
    margin: 0;
}

.review-ask__error[b-k1yziaqicj] {
    margin: 0 0 var(--csi-space-sm);
    font-size: 12px;
    color: var(--csi-text-danger);
}

/* #1614: the AI's own reply to the reviewer, boxed like a suggestion so it reads as an answer. */
.review-ask__reply[b-k1yziaqicj] {
    margin: 0 0 var(--csi-space-sm);
    padding: var(--csi-space-sm);
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-md);
    font-size: 13px;
    color: var(--csi-text-primary);
}

.review-ask__list[b-k1yziaqicj] {
    list-style: none;
    margin: var(--csi-space-sm) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--csi-space-sm);
}

.review-ask__item[b-k1yziaqicj] {
    padding: var(--csi-space-sm);
    border: 1px solid var(--csi-border-secondary);
    border-radius: var(--csi-radius-md);
}

.review-ask__row[b-k1yziaqicj] {
    margin: 0 0 var(--csi-space-xs);
    font-size: 12px;
    font-weight: 600;
    color: var(--csi-text-secondary);
}

.review-ask__before[b-k1yziaqicj],
.review-ask__after[b-k1yziaqicj],
.review-ask__speaker[b-k1yziaqicj] {
    margin: 0 0 var(--csi-space-xs);
    font-size: 13px;
    color: var(--csi-text-primary);
}

.review-ask__before[b-k1yziaqicj] {
    color: var(--csi-text-tertiary);
}

.review-ask__tag[b-k1yziaqicj] {
    font-size: 11px;
    font-weight: 600;
    color: var(--csi-text-secondary);
}

.review-ask__item-actions[b-k1yziaqicj] {
    display: flex;
    gap: var(--csi-space-xs);
}

/* #2120: Ask, Accept, Accept all and Reject are CsiButtons; their look is the shared one. */
