/* Brandlevate CBT — attempt review / approve modal (wp-admin + staff portal).
   Everything is prefixed .blv-rv- so it cannot collide with either theme. */
html.blv-rv-open { overflow: hidden; }

.blv-rv-overlay {
    position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000000;
    background: rgba(17,24,39,.55);
    align-items: center; justify-content: center; padding: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.blv-rv-dialog {
    background: #fff; width: 100%; max-width: 860px; max-height: 94vh;
    border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,.3);
    display: flex; flex-direction: column; overflow: hidden; color: #111827;
}
.blv-rv-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 20px; border-bottom: 1px solid #e5e7eb; flex: 0 0 auto;
}
.blv-rv-head h3 { margin: 0; font-size: 1.05rem; font-weight: 700; }
.blv-rv-x { background: none; border: 0; font-size: 1.6rem; line-height: 1; cursor: pointer; color: #6b7280; padding: 0 4px; }
.blv-rv-x:hover { color: #111827; }
.blv-rv-body { padding: 16px 20px; overflow-y: auto; flex: 1 1 auto; font-size: .88rem; line-height: 1.5; }
.blv-rv-foot { padding: 12px 20px; border-top: 1px solid #e5e7eb; background: #f9fafb; flex: 0 0 auto; }

.blv-rv-loading, .blv-rv-none { color: #6b7280; padding: 10px 0; }
.blv-rv-err { color: #b91c1c; }

.blv-rv-summary { background: #f3f4f6; border-radius: 8px; padding: 12px 14px; margin-bottom: 12px; display: grid; gap: 3px; }
.blv-rv-summary code { background: #e5e7eb; padding: 1px 6px; border-radius: 4px; font-size: .8rem; }
.blv-rv-scoreline { margin-top: 4px; }
.blv-rv-preview { margin-left: 8px; color: #1d4ed8; }

.blv-rv-pill { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .03em; }
.blv-rv-pill.ok  { background: #dcfce7; color: #166534; }
.blv-rv-pill.bad { background: #fee2e2; color: #991b1b; }

.blv-rv-banner { padding: 10px 14px; border-radius: 8px; margin-bottom: 12px; }
.blv-rv-banner span { font-size: .8rem; opacity: .85; }
.blv-rv-banner.approved { background: #dcfce7; color: #14532d; border: 1px solid #86efac; }
.blv-rv-banner.pending  { background: #fef3c7; color: #78350f; border: 1px solid #fcd34d; }

.blv-rv-msg { padding: 9px 12px; border-radius: 8px; margin-bottom: 12px; font-weight: 600; }
.blv-rv-msg.ok  { background: #dcfce7; color: #166534; }
.blv-rv-msg.err { background: #fee2e2; color: #991b1b; }

.blv-rv-q { border: 1px solid #e5e7eb; border-left: 5px solid #9ca3af; border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; background: #fff; }
.blv-rv-q.full    { border-left-color: #16a34a; }
.blv-rv-q.partial { border-left-color: #f59e0b; }
.blv-rv-q.zero    { border-left-color: #dc2626; }
.blv-rv-q.pending { border-left-color: #f59e0b; background: #fffbeb; }
.blv-rv-qhead { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.blv-rv-qno { font-weight: 800; }
.blv-rv-type { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; background: #f3f4f6; padding: 1px 8px; border-radius: 999px; }
.blv-rv-type.adj { background: #dbeafe; color: #1e40af; }
.blv-rv-qtext { margin-bottom: 8px; }
.blv-rv-qtext img { max-width: 100%; height: auto; }

.blv-rv-opts { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 4px; }
.blv-rv-opts li { display: flex; gap: 8px; align-items: baseline; padding: 6px 10px; border-radius: 6px; border: 1px solid #e5e7eb; }
.blv-rv-opts li.correct { border-color: #86efac; background: #f0fdf4; }
.blv-rv-opts li.chosen:not(.correct) { border-color: #fca5a5; background: #fef2f2; }
.blv-rv-opts .mk { color: #6b7280; }
.blv-rv-opts .tx { flex: 1; }
.blv-rv-opts .tag { font-size: .68rem; font-weight: 700; padding: 1px 7px; border-radius: 999px; white-space: nowrap; }
.blv-rv-opts .tag.ok  { background: #dcfce7; color: #166534; }
.blv-rv-opts .tag.bad { background: #fee2e2; color: #991b1b; }

.blv-rv-ans-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; margin: 6px 0 2px; }
.blv-rv-ans, .blv-rv-key { white-space: pre-wrap; word-break: break-word; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; padding: 8px 10px; }
.blv-rv-key { background: #f0fdf4; border-color: #bbf7d0; }

.blv-rv-markrow { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.blv-rv-markrow label { font-weight: 700; font-size: .8rem; color: #374151; }
.blv-rv-mark { width: 86px; padding: 6px 8px; border: 2px solid #d1d5db; border-radius: 6px; font-size: .95rem; font-weight: 700; text-align: center; }
.blv-rv-mark:focus { outline: none; border-color: #2563eb; }
.blv-rv-mark.dirty { border-color: #2563eb; background: #eff6ff; }
.blv-rv-mark.invalid { border-color: #dc2626; background: #fef2f2; }
.blv-rv-mark:disabled { background: #f3f4f6; color: #6b7280; }
.blv-rv-of { color: #6b7280; }

.blv-rv-note { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 6px; margin-bottom: 10px; font-size: .85rem; }
.blv-rv-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.blv-rv-btn { padding: 9px 16px; border-radius: 8px; border: 2px solid #d1d5db; background: #fff; color: #374151; font-weight: 700; font-size: .85rem; cursor: pointer; }
.blv-rv-btn:hover:not(:disabled) { border-color: #2563eb; color: #1d4ed8; }
.blv-rv-btn:disabled { opacity: .5; cursor: not-allowed; }
.blv-rv-btn.primary { background: #16a34a; border-color: #16a34a; color: #fff; }
.blv-rv-btn.primary:hover:not(:disabled) { background: #15803d; border-color: #15803d; color: #fff; }
.blv-rv-btn.warn { background: #fff7ed; border-color: #fb923c; color: #9a3412; }
.blv-rv-btn.ghost { border-color: transparent; background: transparent; }

/* Staff-portal results table */
.blv-rv-table-wrap { overflow-x: auto; margin-top: 14px; }
.blv-rv-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.blv-rv-table th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; padding: 8px 10px; border-bottom: 2px solid #e5e7eb; white-space: nowrap; }
.blv-rv-table td { padding: 9px 10px; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.blv-rv-table code { background: #f3f4f6; padding: 1px 6px; border-radius: 4px; font-size: .78rem; }
.blv-rv-status { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .7rem; font-weight: 700; }
.blv-rv-status.approved { background: #dcfce7; color: #166534; }
.blv-rv-status.review   { background: #fef3c7; color: #92400e; }

@media (max-width: 600px) {
    .blv-rv-overlay { padding: 0; }
    .blv-rv-dialog { max-height: 100vh; height: 100vh; border-radius: 0; }
    .blv-rv-actions .blv-rv-btn { flex: 1 1 100%; }
}

/* ── Legacy-browser layout fallbacks (auto-generated) ───────── */
@supports not (inset: 0) {
.blv-rv-qhead > * { margin-right: 6px; }
.blv-rv-opts li > * { margin-right: 8px; }
.blv-rv-markrow > * { margin-right: 8px; }
.blv-rv-actions > * { margin-right: 8px; margin-bottom: 8px; }
}
