/* ── Consent Dashboard ─────────────────────────────────────────────────────── */ .heading { font-size: 1.25rem; font-weight: 600; color: var(--color-text-primary); margin: 0 0 1.5rem; } /* ── Video consent cards ───────────────────────────────────────────────────── */ .videoRow { background: var(--color-bg-surface); border: 1px solid var(--color-border); border-radius: 10px; padding: 1.25rem 1.5rem; margin-bottom: 1rem; } .videoTitle { font-size: 0.9375rem; font-weight: 600; color: var(--color-text-primary); margin: 0 0 1rem; } .toggleGroup { display: flex; flex-direction: column; gap: 0.75rem; } .toggleRow { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .updateError { margin-top: 0.5rem; font-size: 0.8125rem; color: #f87171; } /* ── Audit history ─────────────────────────────────────────────────────────── */ .historyToggle { display: inline-flex; align-items: center; gap: 0.375rem; margin-top: 0.75rem; padding: 0; background: none; border: none; color: var(--color-text-secondary); font-size: 0.8125rem; cursor: pointer; transition: color 0.15s; } .historyToggle:hover { color: var(--color-text-primary); } .historyArrow { display: inline-block; transition: transform 0.2s; font-size: 0.75rem; } .historyArrowOpen { transform: rotate(90deg); } .historyList { margin-top: 0.5rem; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.375rem; } .historyEntry { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: baseline; font-size: 0.8125rem; color: var(--color-text-secondary); padding: 0.375rem 0.5rem; background: var(--color-bg-input, rgba(255, 255, 255, 0.03)); border-radius: 6px; } .historyField { font-weight: 600; color: var(--color-text-primary); } .historyDate { margin-left: auto; font-size: 0.75rem; opacity: 0.7; } /* ── States ────────────────────────────────────────────────────────────────── */ .loading { display: flex; justify-content: center; padding: 3rem 0; color: var(--color-text-secondary); font-size: 0.9375rem; } .error { background: rgba(239, 68, 68, 0.1); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.2); border-radius: 8px; padding: 0.75rem; font-size: 0.875rem; margin-bottom: 1rem; } .emptyState { text-align: center; padding: 3rem 1rem; color: var(--color-text-secondary); } .emptyState h2 { font-size: 1.125rem; font-weight: 600; color: var(--color-text-primary); margin: 0 0 0.5rem; } .emptyState p { margin: 0; font-size: 0.9375rem; } /* ── Responsive ────────────────────────────────────────────────────────────── */ @media (max-width: 400px) { .videoRow { padding: 1rem; } .toggleRow { flex-wrap: wrap; gap: 0.5rem; } .heading { font-size: 1.125rem; } .historyEntry { font-size: 0.75rem; padding: 0.25rem 0.375rem; } }