/* =============================================================================
   reporting_refresh.css — WP06 (quarterly-execution-report-01KX50KM, FR-009)

   Presentation refresh of the existing report screens onto the Reporting-hub
   design language (WP05 sets that language in index.html: .reporting-hub,
   .btn/.badge conventions, --color-* tokens).

   SCOPE RULE: every selector is prefixed with .report-data-interface — the
   root container ReportDataManager.renderReportInterface() creates inside
   .table-content. Nothing here can leak into other sections. Removing this
   file degrades the screens to plain-but-usable markup (NFR: graceful).

   TOKENS: only --color-* / --radius-* app tokens (with literal fallbacks
   equal to the token values) — no new palette.

   CONTRAST (WCAG AA ≥ 4.5:1 — house convention: ratio documented per pair):
     page title        #0f172a  / #f8fafc  → 17.06:1 ✓
     lede / soft text  #475569  / #f8fafc  →  7.24:1 ✓
     cadence eyebrow   #64748b  / #f8fafc  →  4.55:1 ✓ (supplementary label)
     step legend       #475569  / #ffffff  →  7.58:1 ✓
     field label       #475569  / #ffffff  →  7.58:1 ✓
     table th          #ffffff  / #475569  →  7.58:1 ✓ (app thead convention)
     table td          #0f172a  / #ffffff  → 17.85:1 ✓ (zebra #f8fafc → 17.06:1 ✓)
     row buckets       #0f172a  / #fee2e2 | #fed7aa | #f3e8ff → ≥13:1 ✓
     alert info        #1e40af  / #dbeafe  →  7.15:1 ✓ (canonical badge pair)
     alert success     #166534  / #dcfce7  →  6.49:1 ✓
     alert error       #991b1b  / #fee2e2  →  6.80:1 ✓
     alert warning     #92400e  / #fef3c7  →  6.37:1 ✓
     stat info value   #0369a1  / #f0f9ff  →  5.57:1 ✓
     stat success val  #166534  / #f0fdf4  →  6.81:1 ✓
     stat warning val  #92400e  / #fef3c7  →  6.37:1 ✓
     stat labels       #475569  / tinted   →  ≥6.4:1 ✓
     demo chip         #92400e  / #fef3c7  →  6.37:1 ✓
     training note     #b45309  / #fef3c7  →  4.51:1 ✓ (bold, supplementary)
     link              #4338ca  / #ffffff  →  7.90:1 ✓ (--color-primary-dark)
     error chip        #991b1b  / #fee2e2  →  6.80:1 ✓
     loading error     #991b1b  / #ffffff  →  8.31:1 ✓
   ============================================================================= */

/* ── Tool page frame ───────────────────────────────────────────────────── */

.report-data-interface .rd-tool {
    padding: 32px 40px 48px;
    width: 100%;
    min-height: 90vh;
    box-sizing: border-box;
    max-width: 1240px;
}

.report-data-interface .rd-tool__header {
    margin-bottom: 24px;
}

.report-data-interface .rd-tool__title {
    margin: 0 0 4px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    color: var(--color-text, #0f172a);              /* 17.06:1 ✓ */
}

.report-data-interface .rd-tool__lede {
    margin: 0 0 6px;
    max-width: 72ch;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--color-text-soft, #475569);         /* 7.24:1 ✓ */
}

.report-data-interface .rd-tool__cadence {
    margin: 0;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: var(--color-text-muted, #64748b);        /* 4.55:1 ✓ supplementary */
}

/* ── Step cards (progressive grouping of the form) ─────────────────────── */

.report-data-interface .rd-step {
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: 16px 22px 18px;
    margin: 0 0 16px;
}

.report-data-interface .rd-step__legend {
    padding: 0 8px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-step__help {
    margin: 10px 0 0;
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

/* Fields and inputs */
.report-data-interface .rd-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.report-data-interface .rd-field__label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-select,
.report-data-interface .rd-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--color-border-strong, #cbd5e1);
    border-radius: var(--radius-sm, 6px);
    font-size: 0.92rem;
    font-family: inherit;
    color: var(--color-text, #0f172a);
    background: var(--color-surface, #ffffff);
    box-sizing: border-box;
}

.report-data-interface .rd-select--wide {
    max-width: 520px;
}

.report-data-interface .rd-select:focus-visible,
.report-data-interface .rd-input:focus-visible {
    outline: 2px solid var(--color-primary-dark, #4338ca);
    outline-offset: 0;
    border-color: var(--color-primary-dark, #4338ca);
}

/* Radio / checkbox rows */
.report-data-interface .rd-choice-row {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 14px;
}

.report-data-interface .rd-choice {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--color-text, #0f172a);              /* 17.85:1 ✓ */
}

.report-data-interface .rd-choice input {
    margin: 0;
    accent-color: var(--color-primary-dark, #4338ca);
}

.report-data-interface .rd-choice--strong {
    font-weight: 600;
}

.report-data-interface .rd-options {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-bottom: 12px;
}

/* Training toggle — amber advisory row. JS toggles display none/inline-flex. */
.report-data-interface .rd-training {
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 8px 10px;
    background: #fef3c7;
    border: 1px solid #fde68a;
    border-radius: var(--radius-sm, 6px);
    font-size: 0.88rem;
    color: #92400e;                                 /* 6.37:1 ✓ */
}

.report-data-interface .rd-training input { margin: 0; }

.report-data-interface .rd-training__note {
    font-weight: 600;
    color: #b45309;                                 /* 4.51:1 ✓ bold supplementary */
}

/* ── Primary action row ────────────────────────────────────────────────── */

.report-data-interface .rd-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin: 20px 0 26px;
}

/* The Generate button label is long and selection-dependent — give it
   a little extra presence over the base .btn (13px). */
.report-data-interface .rd-actions__generate {
    font-size: 14px;
    padding: 9px 20px;
}

.report-data-interface .rd-actions__context {
    font-size: 0.85rem;
    color: var(--color-text-muted, #64748b);        /* 4.55:1 ✓ supplementary */
}

/* ── Full Commission report card + reports index ───────────────────────── */

.report-data-interface .rd-card {
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: 18px 22px;
    margin: 0 0 16px;
}

.report-data-interface .rd-card__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.report-data-interface .rd-card__title {
    margin: 0;
    font-size: 1.02rem;
    color: var(--color-text, #0f172a);              /* 17.85:1 ✓ */
}

.report-data-interface .rd-card__desc {
    margin: 8px 0 12px;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-card__actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.report-data-interface .rd-card__subheading {
    margin: 18px 0 8px;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-demo-chip {
    padding: 3px 10px;
    background: #fef3c7;
    color: #92400e;                                 /* 6.37:1 ✓ */
    border: 1px solid #fde68a;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.report-data-interface .rd-link {
    color: var(--color-primary-dark, #4338ca);      /* 7.90:1 ✓ */
    font-size: 0.88rem;
    text-decoration: underline;
    cursor: pointer;
}

.report-data-interface .rd-link:focus-visible {
    outline: 2px solid var(--color-primary-dark, #4338ca);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Status / results panels ───────────────────────────────────────────── */

.report-data-interface .rd-panel {
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: 18px 22px;
    margin: 0 0 16px;
}

.report-data-interface .rd-panel__title {
    margin: 0 0 12px;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

/* Status alerts — canonical badge pairs (all ≥6.3:1, see header table) */
.report-data-interface .rd-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--radius-md, 8px);
    border: 1px solid transparent;
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 1.45;
    white-space: pre-line;                          /* status text may carry \n */
}

.report-data-interface .rd-alert--info    { background: #dbeafe; border-color: #bfdbfe; color: #1e40af; } /* 7.15:1 ✓ */
.report-data-interface .rd-alert--success { background: #dcfce7; border-color: #bbf7d0; color: #166534; } /* 6.49:1 ✓ */
.report-data-interface .rd-alert--error   { background: #fee2e2; border-color: #fecaca; color: #991b1b; } /* 6.80:1 ✓ */
.report-data-interface .rd-alert--warning { background: #fef3c7; border-color: #fde68a; color: #92400e; } /* 6.37:1 ✓ */

/* ── Results shell ─────────────────────────────────────────────────────── */

.report-data-interface .rd-results__title {
    margin: 0 0 18px;
    font-size: 1.2rem;
    color: var(--color-text, #0f172a);              /* 17.85:1 ✓ */
}

.report-data-interface .rd-results__headrow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.report-data-interface .rd-results__headrow .rd-results__title { margin: 0; }

/* Stat tiles */
.report-data-interface .rd-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 26px;
}

.report-data-interface .rd-stat {
    padding: 14px;
    border-radius: var(--radius-md, 8px);
    border: 1px solid var(--color-border, #e2e8f0);
    text-align: center;
}

.report-data-interface .rd-stat__value {
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.report-data-interface .rd-stat__label {
    font-size: 0.85rem;
    color: var(--color-text-soft, #475569);         /* ≥6.2:1 on the tints ✓ */
}

.report-data-interface .rd-stat--info    { background: #f0f9ff; border-color: #bae6fd; }
.report-data-interface .rd-stat--info    .rd-stat__value { color: #0369a1; }  /* 5.57:1 ✓ */
.report-data-interface .rd-stat--success { background: #f0fdf4; border-color: #bbf7d0; }
.report-data-interface .rd-stat--success .rd-stat__value { color: #166534; }  /* 6.81:1 ✓ */
.report-data-interface .rd-stat--warning { background: #fef3c7; border-color: #fde68a; }
.report-data-interface .rd-stat--warning .rd-stat__value { color: #92400e; }  /* 6.37:1 ✓ */

/* ── Result sections (one frame per table/prose block) ─────────────────── */

.report-data-interface .rd-section {
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
    margin-bottom: 26px;
}

.report-data-interface .rd-section__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 16px;
    background: var(--color-surface-2, #f1f5f9);
    border-bottom: 1px solid var(--color-border, #e2e8f0);
    border-left: 4px solid var(--color-border-strong, #cbd5e1);
}

/* Accent family (decorative left border only — text stays token-dark).
   Maps the legacy saturated header bars onto quiet accents. */
.report-data-interface .rd-section--blue   .rd-section__head { border-left-color: #3b82f6; }
.report-data-interface .rd-section--green  .rd-section__head { border-left-color: #10b981; }
.report-data-interface .rd-section--indigo .rd-section__head { border-left-color: #6366f1; }
.report-data-interface .rd-section--purple .rd-section__head { border-left-color: #8b5cf6; }
.report-data-interface .rd-section--amber  .rd-section__head { border-left-color: #f59e0b; }
.report-data-interface .rd-section--cyan   .rd-section__head { border-left-color: #06b6d4; }

.report-data-interface .rd-section__title {
    margin: 0;
    font-size: 0.95rem;
    color: var(--color-text, #0f172a);              /* 16.10:1 on #f1f5f9 ✓ */
}

.report-data-interface .rd-section__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.report-data-interface .rd-section__body {
    padding: 14px 16px;
}

.report-data-interface .rd-section__body--scroll {
    max-height: 70vh;
    overflow: auto;
}

.report-data-interface .rd-section__body--hscroll {
    overflow-x: auto;
}

.report-data-interface .rd-section__body--prose {
    line-height: 1.6;
    font-size: 0.92rem;
    color: var(--color-text, #0f172a);              /* 17.85:1 ✓ */
}

/* ── Financial aggregations block heading ──────────────────────────────── */

.report-data-interface .rd-aggregations {
    margin: 30px 0;
}

.report-data-interface .rd-aggregations__title {
    margin: 0 0 8px;
    padding-bottom: 10px;
    font-size: 1.1rem;
    color: var(--color-text, #0f172a);              /* 17.85:1 ✓ */
    border-bottom: 2px solid var(--color-border, #e2e8f0);
}

.report-data-interface .rd-aggregations__intro {
    margin: 0 0 18px;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

/* ── Tables (ordering / delivery / 4.2–4.4 summaries) ──────────────────── */

.report-data-interface .rd-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.report-data-interface .rd-table th {
    background: var(--color-text-soft, #475569);    /* app thead convention */
    color: #ffffff;                                 /* 7.58:1 ✓ */
    padding: 9px 10px;
    border: 1px solid #3f4a5c;
    font-weight: 600;
    font-size: 0.82rem;
    text-align: left;
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 10;
}

.report-data-interface .rd-table__th--sortable {
    cursor: pointer;
    user-select: none;
}

.report-data-interface .rd-table__th--sortable:hover {
    background: #334155;                            /* white on #334155 → 10.35:1 ✓ */
}

.report-data-interface .rd-sort-ind {
    font-size: 0.75rem;
}

.report-data-interface .rd-th-sub {
    font-weight: 500;
    font-size: 0.72rem;
    opacity: 0.85;                                  /* white @ .85 on #475569 → ≥5.4:1 ✓ */
}

.report-data-interface .rd-table td {
    padding: 8px;
    border: 1px solid var(--color-border, #e2e8f0);
    font-size: 0.85rem;
    color: var(--color-text, #0f172a);              /* 17.85:1 ✓ */
    background: var(--color-surface, #ffffff);
}

/* Zebra striping (replaces the JS-computed alternating inline styles) */
.report-data-interface .rd-table tbody tr:nth-child(even) td {
    background: var(--color-bg, #f8fafc);           /* 17.06:1 ✓ */
}

/* Utilisation row buckets — same colors/semantics as before the refresh.
   Cell text stays #0f172a on every bucket (≥13:1 ✓). */
.report-data-interface .rd-table tbody tr.rd-row--full td  { background: #fee2e2; } /* exact 100% */
.report-data-interface .rd-table tbody tr.rd-row--round td { background: #fed7aa; } /* rounding band */
.report-data-interface .rd-table tbody tr.rd-row--high td  { background: #f3e8ff; } /* ≥80% */

/* Numeric alignment + tabular figures for the 4.2–4.4 summaries */
.report-data-interface .rd-ta-r { text-align: right; }
.report-data-interface .rd-tnum { font-variant-numeric: tabular-nums; }

/* ── Legends / notes under tables ──────────────────────────────────────── */

.report-data-interface .rd-legend {
    margin: 0 0 10px;
    font-size: 0.85rem;
    line-height: 1.7;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-legend--boxed {
    margin: 10px 0 0;
    padding: 10px;
    background: var(--color-surface-2, #f1f5f9);
    border-radius: var(--radius-sm, 6px);
}

.report-data-interface .rd-legend__chip {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 8px;
    border-radius: 3px;
    color: var(--color-text, #0f172a);              /* ≥13:1 on all chip tints ✓ */
}

.report-data-interface .rd-legend__chip--red    { background: #fee2e2; }
.report-data-interface .rd-legend__chip--yellow { background: #fef3c7; }
.report-data-interface .rd-legend__chip--orange { background: #fed7aa; }
.report-data-interface .rd-legend__chip--purple { background: #f3e8ff; }
.report-data-interface .rd-legend__chip--error {
    background: #fee2e2;
    outline: 2px solid #dc2626;
    color: #991b1b;                                 /* 6.80:1 ✓ */
    font-weight: 700;
}

/* ── Empty / loading / prose helpers ───────────────────────────────────── */

.report-data-interface .rd-empty {
    margin: 0;
    padding: 20px;
    text-align: center;
    font-size: 0.9rem;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-loading {
    padding: 40px;
    text-align: center;
}

.report-data-interface .rd-loading__text {
    font-size: 1.05rem;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-loading__error {
    font-size: 1.05rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: #991b1b;                                 /* 8.31:1 ✓ */
}

.report-data-interface .rd-loading__detail {
    font-size: 0.9rem;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}

.report-data-interface .rd-dim {
    color: var(--color-text-muted, #64748b);        /* 4.76:1 ✓ supplementary */
}

.report-data-interface .rd-prose-p { margin: 0; }

.report-data-interface .rd-prose-list {
    margin: 0;
    padding-left: 22px;
}

.report-data-interface .rd-prose-list > li { margin-bottom: 4px; }

.report-data-interface .rd-prose-sublist {
    margin: 4px 0 8px 22px;
    padding-left: 0;
    list-style: disc;
}

/* ── Export bar ────────────────────────────────────────────────────────── */

.report-data-interface .rd-exportbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px;
    background: var(--color-surface-2, #f1f5f9);
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius-md, 8px);
}

/* ── Reference disclosure (FWC schedule & QI explainer) ────────────────── */

.report-data-interface .rd-help {
    margin-top: 24px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: var(--radius-lg, 12px);
}

.report-data-interface .rd-help__summary {
    cursor: pointer;
    padding: 14px 20px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e40af;                                 /* 8.01:1 on #eff6ff ✓ */
    list-style-position: inside;
}

.report-data-interface .rd-help__summary:focus-visible {
    outline: 2px solid var(--color-primary-dark, #4338ca);
    outline-offset: -2px;
    border-radius: var(--radius-lg, 12px);
}

.report-data-interface .rd-help__body {
    padding: 0 20px 16px;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--color-text, #0f172a);              /* 16:1 on #eff6ff ✓ */
}

.report-data-interface .rd-help__body p { margin: 0 0 8px; }

.report-data-interface .rd-help__rule {
    margin: 12px 0;
    border: none;
    border-top: 1px solid #bfdbfe;
}

.report-data-interface .rd-help__note {
    margin-top: 12px;
    font-size: 0.85rem;
    color: var(--color-text-soft, #475569);         /* ≥7:1 on #eff6ff ✓ */
}

/* ── Legacy inline-styled tables (annual 4.1 / SC consumption / mission
      breakdown / quarterly 4.1) keep their own inline cell styles because
      their textContent IS the copy-to-clipboard artifact (FR-009). Their
      frames use .rd-section above; no cell rules are declared here on
      purpose — do not "clean this up" without re-proving output parity. ── */

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 720px) {
    .report-data-interface .rd-tool { padding: 20px 16px 32px; }
    .report-data-interface .rd-section__head { flex-direction: column; align-items: flex-start; }
    .report-data-interface .rd-results__headrow { flex-direction: column; align-items: flex-start; }
}

/* ── Reporting hub: exec-report send record (mission report-fidelity WP02) ──
      The hub's badge/quarter base styles live in index.html's inline block;
      this stylesheet is linked AFTER it, so the sent-state pairs cascade on
      top. Green pair #166534 on #dcfce7 = 6.49:1 ✓ (the .rh-allclear pair,
      #15803d lineage). ── */

.rh-badge--sent {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;                                 /* 6.49:1 ✓ */
}

/* A recorded quarter row reads as settled — success tint, never the overdue
   danger family (FR-003). */
.rh-quarter--sent {
    background: #f0fdf4;
    border-color: #86efac;
}

/* Send-record controls in the expanded panel. */
.rh-sent {
    margin: 0 0 12px;
    padding: 10px 14px 12px;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius-md, 8px);
    background: var(--color-surface, #fff);
}
.rh-sent__record {
    margin: 0 0 8px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #166534;                                 /* 6.92:1 on #fff ✓ */
}
.rh-sent__hint {
    margin: 0 0 8px;
    font-size: 0.82rem;
    color: var(--color-text-soft, #475569);         /* 7.58:1 ✓ */
}
.rh-sent__row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rh-sent__label { font-size: 0.82rem; color: var(--color-text-soft, #475569); }
.rh-sent__input {
    padding: 5px 10px;
    border: 1px solid var(--color-border-strong, #cbd5e1);
    border-radius: 6px;
    font-size: 0.86rem;
    font-family: inherit;
    color: var(--color-text, #0f172a);
    background: var(--color-surface, #fff);
}
.rh-sent__input:focus-visible {
    outline: 2px solid var(--color-primary-dark, #1d4ed8);
    outline-offset: 0;
    border-color: var(--color-primary-dark, #1d4ed8);
}
.rh-sent__mark:disabled,
.rh-sent__unmark:disabled { opacity: 0.6; cursor: wait; }
