/* Reporting field and result appearance shared by live forms and local previews. */
.assessment-report .form-input,
.assessment-report .form-select {
        width: 100%;
        padding: var(--space-3);
        font-size: var(--font-size-base);
        border: 1px solid var(--border);
        border-radius: var(--radius-sm);
        background: var(--bg-primary);
        color: var(--ink-dark);
        outline: none;
      }
.assessment-report .form-input:focus,
.assessment-report .form-select:focus {
        border-color: var(--vermillion);
      }
.assessment-report .input-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-3);
      }
.assessment-report .input-group {
        flex: 1;
      }
.assessment-report .input-label {
        display: block;
        font-size: var(--font-size-label);
        color: var(--ink-muted);
        margin-bottom: var(--space-1);
      }
.assessment-report .form-input.compact {
        padding: var(--space-2) calc(var(--space-5) / 2);
        font-size: var(--font-size-base);
      }
.assessment-report .rate-row {
        display: flex;
        gap: var(--space-4);
        padding: var(--space-3);
        background: var(--bg-primary);
        border-radius: var(--radius-sm);
      }
.assessment-report .rate-item {
        display: flex;
        align-items: center;
        gap: var(--space-1);
      }
.assessment-report .rate-item.large {
        font-size: calc(var(--font-size-base) + var(--space-1));
      }
.assessment-report .rate-label {
        color: var(--ink-light);
        font-size: var(--font-size-sm);
      }
.assessment-report .rate-value {
        font-family: var(--font-title);
        font-weight: 700;
        color: var(--vermillion);
        font-size: var(--font-size-control-touch);
      }
.assessment-report .rate-item.large .rate-label {
        font-size: var(--font-size-control-touch);
        color: var(--ink-dark);
      }
.assessment-report .rate-item.large .rate-value {
        font-size: var(--font-size-2xl);
      }

.assessment-report .input-group { min-width: 0; }
.assessment-report .input-label { overflow-wrap: anywhere; }
.assessment-report .assessment-image-field--full { grid-column: 1 / -1; }
.assessment-report .assessment-score-field-group { grid-column: 1 / -1; }
.assessment-report .assessment-score-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.assessment-report .assessment-score-field__options { display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; }
.assessment-report .assessment-score-option { position: relative; min-width: 0; }
.assessment-report .assessment-score-option input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.assessment-report .assessment-score-option label { display: inline-flex; align-items: center; gap: var(--space-1); min-height: var(--space-10); max-width: 100%; padding: var(--space-2) var(--space-3); border-color: var(--border); background: var(--bg-primary); color: var(--ink-light); cursor: pointer; overflow-wrap: anywhere; }
.assessment-report .assessment-score-option label small { color: var(--ink-muted); font-size: var(--font-size-sm); white-space: nowrap; }
.assessment-report .assessment-score-option input:checked + label { border-color: var(--vermillion); background: var(--color-brand-soft); color: var(--ink-dark); }
.assessment-report .assessment-score-option input:focus-visible + label { outline: 2px solid var(--color-info); outline-offset: 2px; }
.assessment-report .assessment-score-field__clear { min-height: var(--space-10); padding: var(--space-2) var(--space-3); color: var(--ink-muted); cursor: pointer; }
.assessment-report .assessment-score-field__clear:hover { color: var(--ink-dark); border-color: var(--vermillion); }
.assessment-report .assessment-score-field:disabled { opacity: .55; }
@media (max-width: 599px) {
        .assessment-report .assessment-score-field__options { gap: var(--space-1); }
        .assessment-report .assessment-score-option label { padding: var(--space-2); }
}
