/* Portal-only surfaces. PDF canvases, model previews and media keep original colours. */
html .portal-theme-toggle {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;background:#f7f8f9;color:#263944;border:1px solid #cfd8df;border-radius:6px;font:500 14px/20px 'Segoe UI',Arial,sans-serif;white-space:nowrap;cursor:pointer}
html .portal-theme-toggle:hover {background:#e8edf0}
[data-theme-icon] {font-size:20px;line-height:1}
html[data-color-scheme=dark] {--portal-bg:#191f24;--portal-surface:#232c33;--portal-raised:#2c3740;--portal-hover:#34424c;--portal-border:#52616b;--portal-text:#edf1f4;--portal-muted:#bac6ce;--portal-accent:#ffad70;background:var(--portal-bg);color:var(--portal-text);color-scheme:dark}
html[data-color-scheme=dark] body {background:var(--portal-bg);color:var(--portal-text)}
html[data-color-scheme=dark] body>header,
html[data-color-scheme=dark] .portal-footer {background:var(--portal-surface);color:var(--portal-muted);border-color:var(--portal-border)}
html[data-color-scheme=dark] :is(.account,.card,.legal-document,.hub-modules,.learning-card,.administration-sidebar,.library-list,.library-detail,.community-filters,.reference-share-dialog),
html[data-color-scheme=dark] body dialog,
html[data-color-scheme=dark] #management-dialog {background:var(--portal-surface);color:var(--portal-text);border-color:var(--portal-border)}
html[data-color-scheme=dark] :is(p,.eyebrow,.hint,.learning-meta,.learning-software span,.learning-breadcrumb,.project-date,.project-filters label,.model-row small,.community-author,.submission-review,.community-review h2 span),
html[data-color-scheme=dark] :is(#project-count,#community-result-count,#central-admin .status-line,#status) {color:var(--portal-muted)}
html[data-color-scheme=dark] :is(a,.community-review,.community-library,.card-menu summary) {color:var(--portal-text)}
html[data-color-scheme=dark] body :is(input,select,textarea) {background:var(--portal-bg);color:var(--portal-text);border-color:var(--portal-border);accent-color:var(--portal-accent)}
html[data-color-scheme=dark] input::placeholder,
html[data-color-scheme=dark] textarea::placeholder {color:var(--portal-muted);opacity:1}
html[data-color-scheme=dark] body :is(button,.button),
html[data-color-scheme=dark] input[type=file]::file-selector-button {background:var(--portal-raised);color:var(--portal-text);border-color:var(--portal-border)}
html[data-color-scheme=dark] body :is(button,.button):hover {background:var(--portal-hover);color:#fff;border-color:#8194a1}
html[data-color-scheme=dark] body .primary {background:#cad6de;color:#17232b;border-color:#cad6de}
html[data-color-scheme=dark] body .primary:hover {background:#edf1f4;color:#17232b}
html[data-color-scheme=dark] :is(.tabs,.software-filters,.training-module,.card-primary-actions,.admin-navigation,.model-history,.django-navigation-link,fieldset,th,td),
html[data-color-scheme=dark] :is(#central-admin th,#central-admin td,#central-fields .resource-row) {border-color:var(--portal-border)}
html[data-color-scheme=dark] :is(.module-status,.learning-formats li,.software-filters a>span,.community-filters span,.model-badge,.administrator-access) {background:var(--portal-raised);color:var(--portal-muted)}
html[data-color-scheme=dark] :is(.admin-community-summary span) {background:var(--portal-raised);border-color:var(--portal-border);color:var(--portal-text)}
html[data-color-scheme=dark] .admin-community-summary strong {color:var(--portal-text)}
html[data-color-scheme=dark] :is(.community-list-filters label,.project-filters label,.project-density-control) {color:var(--portal-muted)}
html[data-color-scheme=dark] .construction-preview {background:var(--portal-raised)}
html[data-color-scheme=dark] .preview-empty {color:var(--portal-muted)}
html[data-color-scheme=dark] :is(.software-filters a,.model-row) {background:var(--portal-surface);color:var(--portal-text);border-color:var(--portal-border)}
html[data-color-scheme=dark] :is(.software-filters a[aria-current=page],.administration-sidebar a[aria-current=page],.workspace-navigation a[aria-current=page],.model-row[aria-current=true]),
html[data-color-scheme=dark] .tabs button[aria-pressed=true] {background:#41352c;color:#fff0e3;border-color:var(--portal-accent)}
html[data-color-scheme=dark] :is(.administration-sidebar a:hover,.workspace-navigation a:hover,.model-row:hover,.card-menu summary:hover,.card-menu[open] summary) {background:var(--portal-hover);color:var(--portal-text)}
html[data-color-scheme=dark] .construction-card .card-menu .actions {background:var(--portal-raised);border-color:var(--portal-border);box-shadow:0 12px 28px #0006}
html[data-color-scheme=dark] .construction-card .card-menu button {background:transparent;color:var(--portal-text)}
html[data-color-scheme=dark] .construction-card .card-menu button:hover {background:var(--portal-hover)}
html[data-color-scheme=dark] :is(.error,.errorlist,#feedback.error,#management-error,#central-error,.danger),
html[data-color-scheme=dark] .construction-card .card-menu button:last-child {color:#ffaaa1}
html[data-color-scheme=dark] :is(.community-submitted,.construction-card .community-submitted,.card-menu .actions .community-submitted) {color:#88dfaa}
html[data-color-scheme=dark] :is(button,a,input,select,textarea,summary):focus-visible {outline:3px solid var(--portal-accent);outline-offset:3px}
html[data-color-scheme=dark] .hub-hero {background:#102c36;border:1px solid #405966}
html[data-color-scheme=dark] .hub-hero .eyebrow {color:#c8d4da}
/* The monochrome AERE mark needs contrast, unlike coloured software artwork. */
html[data-color-scheme=dark] .brand img.aere-static {background:#fff;border-radius:6px;padding:3px}
html[data-color-scheme=dark] .learning-frame {border-color:var(--portal-border)}
html[data-color-scheme=dark] :is(.language-switch,.language-save-notice) {background:var(--portal-surface);color:var(--portal-text);border-color:var(--portal-border)}
html[data-color-scheme=dark] .language-switch button[aria-pressed=true] {background:var(--portal-hover);color:#fff;box-shadow:inset 0 -2px var(--portal-accent)}
/* Standalone Academy PDF controls; never invert document pixels. */
html[data-color-scheme=dark] body>nav {background:var(--portal-surface);color:var(--portal-text);border-color:var(--portal-border)}
html[data-color-scheme=dark] body>nav a {background:var(--portal-raised);border-color:var(--portal-border)}
/* Django keeps its native dark palette; the central switch owns the preference. */
html[data-color-scheme] .theme-toggle {display:none}
.portal-theme-toggle{width:40px;padding:7px;justify-content:center}.portal-theme-toggle [data-theme-icon]{display:flex}

/* Disabled controls remain distinguishable without fading their labels away. */
html[data-color-scheme=dark] body :is(button,input,select,textarea):disabled {background:var(--portal-surface)!important;color:var(--portal-muted)!important;border-color:var(--portal-border)!important;opacity:1!important;cursor:not-allowed}
html[data-color-scheme=dark] body :is(button,a,input,select,textarea,summary):focus-visible {outline:3px solid var(--portal-accent);outline-offset:3px}
html[data-color-scheme=dark] body :is(#header,.module caption,div.breadcrumbs) {background:var(--portal-raised);color:var(--portal-text)}
html[data-color-scheme=dark] #branding a {color:var(--portal-text)}
