/* Shared native checkboxes for every page, including Unfold and identity shells. */
.academy-check { display: flex; align-items: center; gap: .75rem; width: fit-content; max-width: 100%; min-height: 48px; padding: .5rem .75rem .5rem 0; cursor: pointer; border-radius: .5rem; }
.academy-check > span { min-width: 0; overflow-wrap: anywhere; }
:root input[type="checkbox"] { appearance: none; display: inline-grid; vertical-align: middle; place-content: center; flex: 0 0 24px; width: 24px; height: 24px; margin: 0; padding: 0; border: 2px solid #94a3b8; border-radius: 7px; background: #fff; cursor: pointer; transition: background-color 150ms, border-color 150ms, box-shadow 150ms; }
:root input[type="checkbox"]::after { content: ""; width: 12px; height: 7px; border: solid white; border-width: 0 0 2px 2px; transform: translateY(-2px) rotate(-45deg) scale(0); }
:root input[type="checkbox"]:checked, :root input[type="checkbox"]:indeterminate { background: var(--color-primary-600, #7c3aed); border-color: var(--color-primary-600, #7c3aed); }
:root input[type="checkbox"]:checked::after { transform: translateY(-2px) rotate(-45deg) scale(1); }
:root input[type="checkbox"]:indeterminate::after { height: 0; border-width: 2px 0 0; transform: none; }
.academy-check:hover input[type="checkbox"]:not(:disabled), :root input[type="checkbox"]:hover:not(:disabled) { box-shadow: 0 0 0 4px #8b5cf61a; }
:root input[type="checkbox"]:focus-visible { outline: 3px solid #8b5cf6; outline-offset: 3px; }
:root input[type="checkbox"]:disabled { opacity: .55; cursor: not-allowed; }
.academy-check:has(input:disabled) { cursor: not-allowed; }
:root input[type="checkbox"][aria-invalid="true"] { border-color: #dc2626; }
.dark input[type="checkbox"] { background: #17212b; border-color: #94a3b8; }
.dark input[type="checkbox"]:checked, .dark input[type="checkbox"]:indeterminate { background: var(--color-primary-500, #8b5cf6); border-color: var(--color-primary-500, #8b5cf6); }
.dark input[type="checkbox"][aria-invalid="true"] { border-color: #f87171; }
@media (prefers-reduced-motion: reduce) { :root input[type="checkbox"] { transition: none; } }
@media (forced-colors: active) { :root input[type="checkbox"] { appearance: auto; } :root input[type="checkbox"]::after { display: none; } }

.academy-autosave-feedback { margin: 1rem 0; min-width: 0; overflow-wrap: anywhere; }
[data-autosave-status] { color: #475569; min-height: 1.5rem; }
[data-autosave-status][data-state="saved"] { color: #15803d; }
[data-autosave-status][data-state="error"], [data-autosave-errors], .academy-autosave-danger { color: #b91c1c; }
[data-autosave-errors]:empty { display: none; }
[data-autosave-retry], .academy-autosave-danger { min-height: 44px; padding: .5rem .75rem; border: 1px solid currentColor; border-radius: .5rem; margin-top: .5rem; cursor: pointer; }
[data-autosave-retry][hidden] { display: none; }
[data-autosave-retry]:focus-visible, .academy-autosave-danger:focus-visible { outline: 3px solid #8b5cf6; outline-offset: 3px; }
.academy-autosave-danger:disabled { opacity: .5; cursor: wait; }
.dark [data-autosave-status] { color: #cbd5e1; }
.dark [data-autosave-status][data-state="saved"] { color: #86efac; }
.dark [data-autosave-status][data-state="error"], .dark [data-autosave-errors], .dark .academy-autosave-danger { color: #fca5a5; }
