/* assessor.css — the Assessor Review surface (Phase 3 / 3c-ui). Mirrors the registrar visual system
   (cards, badges, audit note). Seam-safe by content: shows attempt + criterion keys + coaching, never
   the sealed rubric. */

.as-count { font-size: 11px; letter-spacing: .5px; text-transform: uppercase; color: var(--text-dim); margin: 4px 0 14px; }
.as-empty { background: var(--bg-assistant); border: 1px solid var(--border); border-radius: 12px; padding: 22px 20px; color: var(--text-muted); font-size: 13.5px; line-height: 1.55; }
.as-empty code, .as-seal-note code { background: rgba(255,255,255,0.05); border-radius: 4px; padding: 1px 5px; font-size: .92em; }

.as-list { display: flex; flex-direction: column; gap: 16px; }
.as-card { background: var(--bg-assistant); border: 1px solid var(--border); border-radius: 14px; padding: 16px 18px; transition: opacity .3s; }
.as-card.as-done { border-color: rgba(0,255,180,0.18); }

.as-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.as-card-title { font-family: 'Outfit', sans-serif; font-size: 17px; font-weight: 400; color: var(--text); }
.as-card-meta { font-size: 12px; color: var(--text-dim); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.as-conf { font-size: 11px; padding: 2px 8px; border-radius: 20px; border: 1px solid var(--border); }
.as-conf-good { color: var(--mint); border-color: rgba(0,255,180,0.25); }
.as-conf-warn { color: var(--warning); border-color: rgba(255,170,48,0.25); }
.as-conf-none { color: var(--text-dim); }
.as-result { font-size: 11px; text-transform: uppercase; letter-spacing: .4px; padding: 2px 8px; border-radius: 6px; }
.as-result-pass { color: var(--mint); background: rgba(0,255,180,0.08); }
.as-result-fail { color: var(--error); background: rgba(255,68,102,0.08); }
.as-result-indeterminate { color: var(--warning); background: rgba(255,170,48,0.08); }

.as-block { margin: 12px 0; }
.as-block-lbl { font-size: 10px; letter-spacing: .6px; text-transform: uppercase; color: var(--text-dim); font-weight: 600; margin-bottom: 5px; }
.as-task { font-size: 13.5px; color: var(--text); line-height: 1.5; }
.as-setup { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; margin-top: 6px; }
.as-attempt { font-size: 13.5px; color: var(--text); line-height: 1.55; white-space: pre-wrap; background: var(--void); border: 1px solid var(--border); border-radius: 8px; padding: 11px 13px; }
.as-coaching { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; font-style: italic; }

.as-crits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.as-crit { display: flex; align-items: baseline; gap: 9px; font-size: 12.5px; }
.as-crit-mark { font-size: 12px; width: 14px; flex: none; }
.as-crit.met .as-crit-mark { color: var(--mint); }
.as-crit.missed .as-crit-mark { color: var(--error); }
.as-crit-key { color: var(--text); font-family: 'Inter', sans-serif; font-weight: 500; }
.as-crit-note { color: var(--text-dim); }

.as-review { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.as-seal-note { font-size: 10px; letter-spacing: 0; text-transform: none; color: var(--text-dim); font-weight: 400; }
.as-review-row { display: flex; gap: 10px; align-items: center; margin: 8px 0; flex-wrap: wrap; }
.as-result-sel { background: var(--void); border: 1px solid var(--border); border-radius: 8px; padding: 9px 11px; color: var(--text); font-family: 'Inter', sans-serif; font-size: 13px; outline: none; }
.as-result-sel:focus { border-color: var(--border-focus); }
.as-note { width: 100%; box-sizing: border-box; background: var(--void); border: 1px solid var(--border); border-radius: 8px; padding: 9px 11px; color: var(--text); font-family: 'Inter', sans-serif; font-size: 13px; outline: none; resize: vertical; }
.as-note:focus { border-color: var(--border-focus); }
.as-msg { font-size: 12px; margin-top: 8px; }
.as-msg.ok { color: var(--mint); }
.as-msg.err { color: var(--error); }

.as-audit-note { font-size: 11.5px; color: var(--text-dim); margin-top: 20px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; line-height: 1.5; }
