/* NORMA unified platinum-gold / black-gold theme layer. */
:root {
  color-scheme: dark;
  --norma-canvas: #070807;
  --norma-canvas-subtle: #0c0d0b;
  --norma-surface: #11120f;
  --norma-surface-raised: #171813;
  --norma-surface-soft: #0d0e0c;
  --norma-control: #121310;
  --norma-control-disabled: #0e0f0d;
  --norma-text: #f5f1e8;
  --norma-muted: #bbb4a8;
  --norma-faint: #969084;
  --norma-placeholder: #aaa296;
  --norma-disabled-text: #aaa398;
  --norma-gold: #c5a45f;
  --norma-gold-soft: #e3c984;
  --norma-gold-strong: #f0d99b;
  --norma-gold-ink: #21190b;
  --norma-border: rgba(224, 198, 137, 0.2);
  --norma-border-strong: rgba(233, 205, 140, 0.38);
  --norma-accent-soft: rgba(205, 170, 96, 0.12);
  --norma-accent-hover: rgba(218, 184, 112, 0.19);
  --norma-danger: #e3a49b;
  --norma-success: #a8c6a1;
  --norma-overlay: rgba(0, 0, 0, 0.72);
  --norma-shadow: 0 22px 64px rgba(0, 0, 0, 0.34);
  --norma-icon-filter: invert(91%) sepia(10%) saturate(385%) hue-rotate(356deg) brightness(106%);
  --norma-particle-background: #070807;
  --norma-hero-background: #070807;
  --norma-hero-shade: transparent;
  --norma-hero-image-opacity: 0;
  --norma-hero-image-blend: normal;
  --norma-signal-opacity: 0.18;
  --norma-home-canvas-opacity: 1;
  --norma-home-canvas-filter: contrast(1.06) brightness(1.02) saturate(1.02);
  --norma-login-canvas-opacity: 1;
  --norma-login-canvas-filter: none;
  --norma-hero-support-text: #ede6d8;
  --norma-hero-text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.98),
    0 0 10px rgba(0, 0, 0, 0.94),
    0 0 24px rgba(0, 0, 0, 0.74);
  --bg: var(--norma-canvas);
  --bg-soft: var(--norma-canvas-subtle);
  --panel: var(--norma-surface);
  --line: var(--norma-border);
  --text: var(--norma-muted);
  --text-strong: var(--norma-text);
  --accent: var(--norma-gold);
}

:root[data-theme="light"] {
  color-scheme: light;
  --norma-canvas: #f5f5f2;
  --norma-canvas-subtle: #e9e9e4;
  --norma-surface: #fbfbf8;
  --norma-surface-raised: #ffffff;
  --norma-surface-soft: #efefeb;
  --norma-control: #ffffff;
  --norma-control-disabled: #e5e5e0;
  --norma-text: #20211e;
  --norma-muted: #4d5048;
  --norma-faint: #555850;
  --norma-placeholder: #595c54;
  --norma-disabled-text: #585b53;
  --norma-gold: #765314;
  --norma-gold-soft: #68470f;
  --norma-gold-strong: #553906;
  --norma-gold-ink: #ffffff;
  --norma-border: rgba(112, 84, 32, 0.24);
  --norma-border-strong: rgba(112, 80, 23, 0.42);
  --norma-accent-soft: rgba(151, 111, 36, 0.1);
  --norma-accent-hover: rgba(151, 111, 36, 0.16);
  --norma-danger: #9b4038;
  --norma-success: #376b46;
  --norma-overlay: rgba(35, 35, 31, 0.56);
  --norma-shadow: 0 22px 58px rgba(49, 45, 36, 0.16);
  --norma-icon-filter: none;
  --norma-particle-background: #ffffff;
  --norma-hero-background: #ffffff;
  --norma-hero-shade: transparent;
  --norma-hero-image-opacity: 0;
  --norma-hero-image-blend: normal;
  --norma-signal-opacity: 0.11;
  --norma-home-canvas-opacity: 1;
  --norma-home-canvas-filter: none;
  --norma-login-canvas-opacity: 0.9;
  --norma-login-canvas-filter: none;
  --norma-hero-support-text: #4e504a;
  --norma-hero-text-shadow:
    0 1px 2px rgba(255, 255, 255, 0.98),
    0 0 10px rgba(255, 255, 255, 0.94),
    0 0 24px rgba(255, 255, 255, 0.76);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --norma-canvas: #f5f5f2;
    --norma-canvas-subtle: #e9e9e4;
    --norma-surface: #fbfbf8;
    --norma-surface-raised: #ffffff;
    --norma-surface-soft: #efefeb;
    --norma-control: #ffffff;
    --norma-control-disabled: #e5e5e0;
    --norma-text: #20211e;
    --norma-muted: #4d5048;
    --norma-faint: #555850;
    --norma-placeholder: #595c54;
    --norma-disabled-text: #585b53;
    --norma-gold: #765314;
    --norma-gold-soft: #68470f;
    --norma-gold-strong: #553906;
    --norma-gold-ink: #ffffff;
    --norma-border: rgba(112, 84, 32, 0.24);
    --norma-border-strong: rgba(112, 80, 23, 0.42);
    --norma-accent-soft: rgba(151, 111, 36, 0.1);
    --norma-accent-hover: rgba(151, 111, 36, 0.16);
    --norma-danger: #9b4038;
    --norma-success: #376b46;
    --norma-overlay: rgba(35, 35, 31, 0.56);
    --norma-shadow: 0 22px 58px rgba(49, 45, 36, 0.16);
    --norma-icon-filter: none;
    --norma-particle-background: #ffffff;
    --norma-hero-background: #ffffff;
    --norma-hero-shade: transparent;
    --norma-hero-image-opacity: 0;
    --norma-hero-image-blend: normal;
    --norma-signal-opacity: 0.11;
    --norma-home-canvas-opacity: 1;
    --norma-home-canvas-filter: none;
    --norma-login-canvas-opacity: 0.9;
    --norma-login-canvas-filter: none;
    --norma-hero-support-text: #4e504a;
    --norma-hero-text-shadow:
      0 1px 2px rgba(255, 255, 255, 0.98),
      0 0 10px rgba(255, 255, 255, 0.94),
      0 0 24px rgba(255, 255, 255, 0.76);
  }
}

html,
body,
body.system-body,
body.console-body,
body.admin-body,
body.system-auth-body {
  background: var(--norma-canvas);
  color: var(--norma-text);
}

body,
button,
input,
select,
textarea {
  color-scheme: inherit;
}

.system-body input,
.system-body select,
.system-body textarea,
.system-body button,
.admin-body input,
.admin-body select,
.admin-body textarea,
.admin-body button {
  color-scheme: inherit;
}

::selection {
  background: var(--norma-accent-hover);
  color: var(--norma-text);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--norma-gold);
  outline-offset: 2px;
}

.system-kicker,
.eyebrow,
.admin-heading > p,
.admin-panel > header span,
.admin-metric > span {
  color: var(--norma-gold);
}

.system-body input,
.system-body select,
.system-body textarea,
.admin-body input,
.admin-body select,
.admin-body textarea {
  border-color: var(--norma-border);
  background: var(--norma-control);
  color: var(--norma-text);
  caret-color: var(--norma-gold);
  -webkit-text-fill-color: var(--norma-text);
}

.system-body input::placeholder,
.system-body textarea::placeholder,
.admin-body input::placeholder,
.admin-body textarea::placeholder {
  color: var(--norma-placeholder);
  opacity: 1;
  -webkit-text-fill-color: var(--norma-placeholder);
}

.system-body input:focus,
.system-body select:focus,
.system-body textarea:focus,
.admin-body input:focus,
.admin-body select:focus,
.admin-body textarea:focus {
  border-color: var(--norma-gold);
  box-shadow: 0 0 0 2px var(--norma-accent-soft);
}

.system-body :where(input, select, textarea, button):disabled,
.admin-body :where(input, select, textarea, button):disabled {
  background: var(--norma-control-disabled);
  color: var(--norma-disabled-text);
  opacity: 0.78;
  -webkit-text-fill-color: var(--norma-disabled-text);
}

.system-body select option,
.admin-body select option {
  background: var(--norma-surface-raised);
  color: var(--norma-text);
}

.system-body input:-webkit-autofill,
.system-body input:-webkit-autofill:hover,
.system-body input:-webkit-autofill:focus,
.admin-body input:-webkit-autofill,
.admin-body input:-webkit-autofill:hover,
.admin-body input:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--norma-control) inset;
  -webkit-text-fill-color: var(--norma-text);
  caret-color: var(--norma-gold);
}

.button--primary,
.admin-icon-button--primary,
.admin-dialog footer button.is-primary {
  border-color: var(--norma-gold);
  background: linear-gradient(180deg, var(--norma-gold-soft), var(--norma-gold));
  color: var(--norma-gold-ink);
  -webkit-text-fill-color: var(--norma-gold-ink);
}

.button--secondary,
.inline-preview__button {
  border-color: var(--norma-border);
  background: var(--norma-surface-soft);
  color: var(--norma-text);
  -webkit-text-fill-color: var(--norma-text);
}

.button--secondary:hover,
.button--secondary:focus-visible,
.inline-preview__button:hover,
.inline-preview__button:focus-visible {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-soft);
  color: var(--norma-gold-strong);
}

/* Shared dialogs */
.system-dialog,
.settings-dialog,
.runtime-dialog {
  color: var(--norma-text);
}

.system-dialog::backdrop,
.settings-dialog::backdrop,
.runtime-dialog::backdrop,
.admin-dialog::backdrop {
  background: var(--norma-overlay);
}

.system-dialog__panel,
.settings-dialog__panel,
.system-dialog.runtime-dialog .runtime-dialog__panel {
  border-color: var(--norma-border);
  background: var(--norma-surface-raised);
  color: var(--norma-text);
  box-shadow: var(--norma-shadow);
}

.system-dialog__panel h2,
.system-dialog__panel h3,
.settings-dialog h2,
.settings-dialog h3 {
  color: var(--norma-text);
}

.system-dialog__panel label span,
.system-auth__hint,
.contact-admin-panel__copy {
  color: var(--norma-muted);
}

/* Settings */
.settings-dialog__header,
.settings-dialog__footer,
.settings-tabs,
.settings-section-heading,
.settings-slider-list,
.settings-slider-list label,
.settings-dialog .settings-toggle-row,
.settings-account-summary,
.settings-command-row {
  border-color: var(--norma-border);
}

.settings-dialog__header h2,
.settings-section-heading h3,
.settings-slider-list b,
.settings-toggle-row b,
.settings-command-row b,
.settings-account-summary strong {
  color: var(--norma-text);
}

.settings-dialog__header p,
.settings-section-heading p,
.settings-dialog .settings-panel > label > span,
.settings-two-column label > span,
.settings-account-summary small {
  color: var(--norma-muted);
}

.settings-toggle-row small,
.settings-command-row small,
.settings-command-row > strong {
  color: var(--norma-faint);
}

.settings-tabs button,
.settings-dialog__close,
.settings-command-row {
  color: var(--norma-muted);
}

.settings-tabs button:hover,
.settings-tabs button.is-active,
.settings-dialog__close:hover {
  background: var(--norma-accent-soft);
  color: var(--norma-text);
}

.settings-dialog__close:focus-visible {
  outline-color: var(--norma-gold);
}

.settings-dialog__close {
  border-color: var(--norma-border);
  color: var(--norma-muted);
}

.settings-dialog input[type="text"],
.settings-dialog textarea,
.settings-dialog select {
  border-color: var(--norma-border);
  background: var(--norma-control);
  color: var(--norma-text);
}

.settings-slider-list output,
.settings-account-summary > span {
  color: var(--norma-gold);
}

.settings-dialog__footer .button--secondary {
  border-color: var(--norma-border);
  background: var(--norma-surface-soft);
  color: var(--norma-text);
}

/* Authenticated console */
.console-body {
  --norma-bg: light-dark(#f5f5f2, #070807);
  --norma-bg-2: light-dark(#e9e9e4, #0c0d0b);
  --norma-surface: light-dark(#fbfbf8, #11120f);
  --norma-surface-strong: light-dark(#ffffff, #171813);
  --norma-border: light-dark(rgba(112, 84, 32, 0.24), rgba(224, 198, 137, 0.2));
  --norma-border-strong: light-dark(rgba(112, 80, 23, 0.42), rgba(233, 205, 140, 0.38));
  --norma-gold: light-dark(#765314, #c5a45f);
  --norma-gold-soft: light-dark(#68470f, #e3c984);
  --norma-text: light-dark(#20211e, #f5f1e8);
  --norma-muted: light-dark(#4d5048, #bbb4a8);
  --norma-faint: light-dark(#555850, #969084);
  background: linear-gradient(180deg, var(--norma-canvas), var(--norma-canvas-subtle));
  color: var(--norma-text);
}

body[data-console-route="chat"] {
  background: var(--norma-canvas);
}

.console-body .system-console,
.console-body .live-console,
.console-body .console-view {
  background: var(--norma-canvas);
  color: var(--norma-text);
}

.console-primary-nav,
.project-rail,
.system-body .console-mobile-menu__panel,
.console-mobile-nav {
  border-color: var(--norma-border);
  background: var(--norma-surface);
  color: var(--norma-text);
}

.console-primary-nav__brand,
.console-primary-nav__brand strong,
.console-nav-identity strong,
.project-rail h2,
.project-rail h3,
.project-rail-account strong,
.conversation-context-bar strong,
.mobile-profile-card strong {
  color: var(--norma-text);
}

.console-primary-nav__brand small,
.console-route,
.console-route small,
.console-nav-identity span,
.console-nav-identity small,
.console-primary-nav__footer a,
.console-primary-nav__footer button,
.project-rail__section-title span,
.project-rail__quota,
.project-rail-account small,
.conversation-context-bar span,
.mobile-profile-card > span {
  color: var(--norma-muted);
}

.console-route > span,
.console-route small {
  color: var(--norma-faint);
}

.console-route:hover,
.console-route:focus-visible,
.console-primary-nav__footer a:hover,
.console-primary-nav__footer button:hover,
.conversation-list button:hover,
.project-list button:hover {
  border-color: var(--norma-border);
  background: var(--norma-accent-soft);
  color: var(--norma-text);
}

.console-route.is-active,
.conversation-list button.is-active,
.project-list button.is-active,
.console-mobile-menu__routes button.is-active {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-soft);
  color: var(--norma-gold-strong);
}

.console-nav-identity,
.console-identity-overview,
.workspace-brief,
.live-console .console-topbar,
.live-console .console-status-grid article,
.live-console .privilege-panel {
  border-color: var(--norma-border);
  background: var(--norma-surface);
  color: var(--norma-text);
  box-shadow: none;
}

.conversation-context-bar {
  border-color: var(--norma-border);
}

.conversation-context-bar__menu,
.conversation-context-bar__new,
.conversation-tier-badge {
  color: var(--norma-text);
}

.conversation-context-bar__menu:hover,
.conversation-context-bar__new:hover,
.conversation-tier-badge:hover {
  background: var(--norma-accent-soft);
}

.conversation-tier-badge {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-soft);
  color: var(--norma-gold-strong);
}

.conversation-tier-badge .conversation-tier-badge__scope {
  color: var(--norma-gold-strong);
  opacity: 1;
}

.project-rail-search input,
.module-form input,
.module-form textarea,
.module-form select,
.organization-run-form textarea,
.forum-reply-form textarea,
.module-search input {
  border-color: var(--norma-border);
  background: var(--norma-control);
  color: var(--norma-text);
}

.project-rail-search input::placeholder,
.module-form input::placeholder,
.module-form textarea::placeholder,
.organization-run-form textarea::placeholder,
.forum-reply-form textarea::placeholder,
.module-search input::placeholder {
  color: var(--norma-placeholder);
}

.live-chat {
  color: var(--norma-text);
}

.live-chat > .chat-bubble--assistant,
.live-chat > .chat-bubble--system {
  background: transparent;
}

.live-chat > .chat-bubble--user {
  background: var(--norma-surface-soft);
}

.chat-bubble__role {
  color: var(--norma-faint);
}

.chat-bubble__body,
.chat-rich-text,
.chat-rich-text p,
.chat-bubble p:last-child {
  color: var(--norma-text);
}

.norma-rich-card,
.world-pulse-card,
.market-card,
.media-result-card,
.composer-attachment,
.pulse-item,
.market-quote {
  border-color: var(--norma-border);
  background: var(--norma-surface);
  color: var(--norma-text);
}

body.console-body :where(.norma-rich-card, .world-pulse-card, .market-card, .media-result-card, .upload-file-card) :where(.rich-card__head h3, .pulse-item h4, .media-task-card strong) {
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

body.console-body :where(.norma-rich-card, .world-pulse-card, .market-card, .media-result-card, .upload-file-card) :where(.rich-card__summary, .pulse-item p) {
  color: var(--norma-muted) !important;
  -webkit-text-fill-color: var(--norma-muted);
}

body.console-body :where(.rich-card__eyebrow, .rich-card__badge, .rich-card__notice, .pulse-item__meta) {
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

body.console-body .media-task-card > div:first-child > span {
  color: var(--norma-faint) !important;
  -webkit-text-fill-color: var(--norma-faint);
}

body.console-body :where(.media-task-card, .media-tile, .market-quote, .pulse-item) {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface-raised) !important;
  color: var(--norma-text);
}

body.console-body :where(.media-task-card, .upload-file-card, .media-tile__actions) :where(.micro-action, button, a) {
  border-color: var(--norma-border) !important;
  background: var(--norma-accent-soft) !important;
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

body.console-body .rich-actions .micro-action {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-accent-soft) !important;
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
  font-weight: 600;
}

body.console-body .rich-actions .micro-action:is(:hover, :focus-visible) {
  border-color: var(--norma-gold) !important;
  background: var(--norma-accent-hover) !important;
}

body.console-body .market-quote__top strong {
  color: var(--norma-text) !important;
}

body.console-body .market-quote__top span {
  color: var(--norma-gold-strong) !important;
}

body.console-body .market-quote__top span small {
  color: var(--norma-faint) !important;
  -webkit-text-fill-color: var(--norma-faint);
}

body.console-body .market-quote__grid span {
  color: var(--norma-muted) !important;
}

body.console-body :where(.market-quote__grid em, .market-quote small) {
  color: var(--norma-faint) !important;
}

body.console-body .source-cite {
  border-color: var(--norma-border) !important;
  background: var(--norma-accent-soft) !important;
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

body.console-body .source-cite:hover,
body.console-body .source-cite:focus-visible {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-accent-hover) !important;
  color: var(--norma-gold-strong) !important;
}

body.console-body .media-fallback,
body.console-body .media-tile.is-broken::before {
  background: var(--norma-accent-soft) !important;
  color: var(--norma-muted) !important;
}

.live-input .chat-form__shell {
  border-color: var(--norma-border);
  background: var(--norma-surface-raised);
  box-shadow: 0 10px 30px color-mix(in srgb, var(--norma-canvas) 25%, transparent);
}

.live-input .chat-form__input {
  background: transparent;
  color: var(--norma-text);
  -webkit-text-fill-color: var(--norma-text);
}

.live-input .chat-form__input::placeholder {
  color: var(--norma-placeholder);
  opacity: 1;
  -webkit-text-fill-color: var(--norma-placeholder);
}

.live-input .upload-button--inline,
.voice-input-button {
  color: var(--norma-muted);
}

.live-input .chat-form__submit--inline {
  background: linear-gradient(180deg, var(--norma-gold-soft), var(--norma-gold));
}

.live-input .chat-form__submit--inline .chat-form__submit-icon {
  filter: none;
}

.live-input .chat-form__submit--inline:disabled {
  background: var(--norma-control-disabled);
}

.composer-mode-picker > summary,
.composer-mode-picker > summary small,
.composer-skill-picker > summary,
.composer-skill-picker > summary small,
.composer-mode-tab,
.composer-toggle,
.workspace-prompt {
  color: var(--norma-muted);
}

.composer-mode-picker__panel,
.composer-skill-picker__panel,
.module-create[open] > .module-form {
  border-color: var(--norma-border);
  background: var(--norma-surface-raised);
  color: var(--norma-text);
}

.composer-mode-tab.is-active,
.composer-toggle.is-active,
.workspace-prompt:hover,
.workspace-prompt:focus-visible {
  background: var(--norma-accent-soft);
  color: var(--norma-gold-strong);
}

.console-module__header,
.organization-detail__header,
.mcp-tool-panel__header,
.module-inline-form > .module-form,
.organization-run-form,
.forum-thread__post,
.forum-replies article,
.mcp-server__actions {
  border-color: var(--norma-border);
}

.console-module__header h2,
.organization-detail__header h3,
.mcp-tool-panel__header h3,
.module-section-heading h3,
.forum-post h3,
.forum-thread__post h3,
.agent-member strong,
.equipment-item strong,
.mcp-tool-list strong {
  color: var(--norma-text);
}

.console-module__header p,
.organization-detail__header p,
.agent-member p,
.equipment-item p,
.forum-post p,
.forum-thread p,
.forum-replies p,
.mcp-tool-list p,
.module-status,
.module-form__note,
.equipment-summary small {
  color: var(--norma-muted);
}

.organization-list__item,
.agent-member,
.equipment-item,
.forum-post,
.mcp-server,
.equipment-summary > span,
.mcp-tool-list article,
.equipment-filters,
.equipment-item__icon,
.equipment-item__meta > span,
.organization-result {
  border-color: var(--norma-border);
  background: var(--norma-surface);
  color: var(--norma-text);
}

.organization-list__item.is-active,
.forum-post.is-active,
.mcp-server.is-active,
.equipment-filters button.is-active,
.equipment-item.is-runtime {
  border-color: var(--norma-border-strong);
  background:
    linear-gradient(var(--norma-accent-soft), var(--norma-accent-soft)),
    var(--norma-surface);
}

.equipment-item.is-installed {
  border-color: color-mix(in srgb, var(--norma-success) 38%, var(--norma-border));
  background: var(--norma-surface);
}

.equipment-action,
.module-create > summary,
.module-inline-form > summary {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-soft);
  color: var(--norma-gold-strong);
}

.module-status[data-status="success"],
.equipment-item__state,
.module-section-heading > span {
  color: var(--norma-success);
}

.module-status[data-status="error"],
.mcp-server__error,
.equipment-action.is-delete:hover {
  color: var(--norma-danger);
}

.console-body img[src*="/icons/"],
.console-body img[src^="./public/icons/"] {
  filter: var(--norma-icon-filter);
}

body.console-body[data-console-route] img[src*="/icons/"],
body.console-body[data-console-route] img[src^="./public/icons/"] {
  filter: var(--norma-icon-filter);
}

body.console-body[data-console-route] .chat-form__submit-icon,
body.console-body[data-console-route] .button--primary img,
body.console-body[data-console-route] .equipment-action img.is-spinning {
  filter: none;
}

/* Runtime workspace */
.runtime-dialog__header,
.runtime-dialog__footer,
.runtime-progress,
.runtime-lifecycle,
.runtime-section,
.runtime-dialog__message,
.runtime-package-meta div,
.runtime-diagnostic {
  border-color: var(--norma-border);
}

.runtime-dialog__header h2,
.runtime-section__heading h3,
.runtime-dialog .runtime-toggle-row b,
.runtime-diagnostic strong {
  color: var(--norma-text);
}

.runtime-dialog__header p:last-child,
.runtime-section__heading > span,
.runtime-package-meta dt,
.runtime-dialog .runtime-form-grid label > span,
.runtime-dialog .runtime-toggle-row small,
.runtime-empty,
.runtime-dialog__message {
  color: var(--norma-muted);
}

.runtime-package-meta dd,
.runtime-dialog .runtime-toggle-row b {
  color: var(--norma-text);
}

.runtime-dialog .runtime-form-grid input,
.runtime-dialog .runtime-form-grid select,
.runtime-log,
.runtime-dialog .runtime-toggle-row {
  border-color: var(--norma-border);
  background: var(--norma-control);
  color: var(--norma-text);
}

.runtime-icon-button,
.runtime-status-pill {
  border-color: var(--norma-border);
  color: var(--norma-muted);
}

.runtime-icon-button:hover,
.runtime-icon-button:focus-visible {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-soft);
}

.runtime-dialog img {
  filter: var(--norma-icon-filter);
}

.runtime-dialog .button--primary img {
  filter: none;
}

/* S-only admin */
.admin-body {
  --admin-bg: var(--norma-canvas);
  --admin-surface: var(--norma-surface);
  --admin-raised: var(--norma-surface-raised);
  --admin-hover: var(--norma-accent-soft);
  --admin-line: var(--norma-border);
  --admin-line-strong: var(--norma-border-strong);
  --admin-text: var(--norma-text);
  --admin-muted: var(--norma-muted);
  --admin-faint: var(--norma-faint);
  --admin-gold: var(--norma-gold);
  --admin-gold-bright: var(--norma-gold-strong);
  --admin-success: var(--norma-success);
  --admin-danger: var(--norma-danger);
  --admin-shadow: var(--norma-shadow);
}

.admin-sidebar,
.admin-header,
.admin-panel,
.admin-metric,
.admin-intelligence-status article,
.admin-user-card,
.admin-dialog__panel,
.device-session-card,
.admin-toast {
  border-color: var(--admin-line);
  background: var(--admin-surface);
  color: var(--admin-text);
}

.admin-header {
  background: color-mix(in srgb, var(--norma-surface) 92%, transparent);
}

body.admin-body .admin-metrics .admin-metric {
  border-color: var(--admin-line);
  background: var(--admin-surface);
  color: var(--admin-text);
  box-shadow: none;
  backdrop-filter: none;
}

body.admin-body .admin-metrics .admin-metric > span {
  color: var(--admin-muted);
}

body.admin-body .admin-metrics .admin-metric > strong {
  color: var(--admin-text);
}

body.admin-body .admin-metrics .admin-metric > small {
  color: var(--admin-faint);
}

.admin-icon-button,
.admin-search,
.admin-toolbar select,
.admin-action-button,
.admin-dialog input,
.admin-dialog select {
  border-color: var(--admin-line);
  background: var(--admin-raised);
  color: var(--admin-text);
}

.admin-nav button:hover,
.admin-nav button.is-active,
.admin-sidebar__footer a:hover,
.admin-icon-button:hover,
.admin-action-button:hover {
  background: var(--admin-hover);
  color: var(--admin-text);
}

.admin-clearance,
.admin-nav button.is-active {
  border-color: var(--admin-line-strong);
  background: var(--norma-accent-soft);
}

.admin-heading h1,
.admin-panel h2,
.admin-metric strong,
.admin-ranking strong,
.admin-dialog h2 {
  color: var(--admin-text);
}

.admin-heading span,
.admin-panel small,
.admin-ranking span,
.admin-audit-row,
.admin-dialog label,
.admin-dialog__message {
  color: var(--admin-muted);
}

body.admin-body .admin-table,
body.admin-body .admin-table td,
body.admin-body .admin-user-identity strong,
body.admin-body .system-runtime__row strong {
  color: var(--admin-text);
}

body.admin-body .admin-table th,
body.admin-body .admin-user-identity span,
body.admin-body .admin-user-card__meta,
body.admin-body .system-runtime__row span {
  color: var(--admin-muted);
}

body.admin-body .admin-role-select option,
body.admin-body .admin-dialog select option {
  background: var(--admin-raised);
  color: var(--admin-text);
}

.admin-dialog {
  color: var(--admin-text);
}

.admin-dialog footer button {
  border-color: var(--admin-line);
  background: var(--admin-raised);
  color: var(--admin-text);
}

.admin-body img[src*="/icons/"],
.admin-body img[src^="./public/icons/"] {
  filter: var(--norma-icon-filter);
}

.admin-body .admin-icon-button--primary img,
.admin-body .admin-dialog footer button.is-primary img {
  filter: none;
}

/* Login and account recovery */
.system-auth {
  background: var(--norma-canvas);
  color: var(--norma-text);
}

.norma-particle-layer,
.norma-particle-layer--login,
.norma-particle-layer--home {
  background: var(--norma-particle-background);
}

.norma-particle-layer::after,
.norma-particle-layer--home::after {
  background: transparent;
}

.norma-particle-layer--login .norma-particle-canvas {
  opacity: var(--norma-login-canvas-opacity);
  filter: var(--norma-login-canvas-filter);
}

.norma-particle-layer--home .norma-particle-canvas {
  opacity: var(--norma-home-canvas-opacity);
  filter: var(--norma-home-canvas-filter) !important;
}

.minimal-auth {
  background: var(--norma-canvas);
}

:root[data-theme="light"] body.system-auth-body,
:root[data-theme="light"] .system-auth,
:root[data-theme="light"] .minimal-auth,
:root[data-theme="light"] .norma-particle-layer--login {
  background: #ffffff;
}

:root[data-theme="light"] .minimal-auth .auth-spotlight {
  background:
    radial-gradient(circle at var(--gate-xp) var(--gate-yp), rgba(137, 99, 28, 0.07), transparent 12%),
    radial-gradient(circle at var(--gate-xp) var(--gate-yp), rgba(137, 99, 28, 0.08), transparent 25%);
  mix-blend-mode: multiply;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) body.system-auth-body,
  :root:not([data-theme="dark"]) .system-auth,
  :root:not([data-theme="dark"]) .minimal-auth,
  :root:not([data-theme="dark"]) .norma-particle-layer--login {
    background: #ffffff;
  }

  :root:not([data-theme="dark"]) .minimal-auth .auth-spotlight {
    background:
      radial-gradient(circle at var(--gate-xp) var(--gate-yp), rgba(137, 99, 28, 0.07), transparent 12%),
      radial-gradient(circle at var(--gate-xp) var(--gate-yp), rgba(137, 99, 28, 0.08), transparent 25%);
    mix-blend-mode: multiply;
  }
}

.minimal-auth__panel {
  border-color: var(--norma-border);
  background: color-mix(in srgb, var(--norma-surface-raised) 92%, transparent);
  color: var(--norma-text);
  box-shadow: var(--norma-shadow);
}

.minimal-auth__panel h1,
.system-auth__brand,
.contact-admin-panel__wechat strong {
  color: var(--norma-gold-strong);
}

.minimal-auth__panel .system-copy,
.system-login-form label span,
.contact-admin-panel__wechat span {
  color: var(--norma-muted);
}

.minimal-auth .system-login-form input {
  border-color: var(--norma-border);
  background: var(--norma-control);
  color: var(--norma-text);
}

.auth-mode-switch,
.contact-admin-panel__wechat {
  border-color: var(--norma-border);
  background: var(--norma-surface-soft);
}

.auth-mode-switch button,
.auth-link {
  color: var(--norma-gold-strong);
}

.auth-mode-switch button.is-active {
  background: var(--norma-accent-soft);
  color: var(--norma-text);
}

/* Public home */
.legacy-home,
.legacy-home .legacy-section,
.relationship-section,
.product-proof,
.continuity-bridge {
  background: var(--norma-canvas);
  color: var(--norma-text);
}

.legacy-home .hero-shell {
  border-color: var(--norma-border);
  background: var(--norma-hero-background);
}

.legacy-home .hero-shell__image {
  display: none !important;
  opacity: 0 !important;
}

.legacy-home .hero-shell__shade {
  background: var(--norma-hero-shade);
}

.legacy-home .signal-field {
  opacity: var(--norma-signal-opacity);
  mix-blend-mode: normal;
}

.legacy-home .hero-title,
.legacy-home .hero-subtitle,
.legacy-home .legacy-intro h2,
.legacy-home .cognitive-chapter__copy h2,
.legacy-home .cognitive-loop__intro h2,
.legacy-home .relationship-title-line,
.legacy-home .identity-registry-copy h2,
.legacy-home .proof-copy h2,
.legacy-home .home-final-action h2 {
  color: var(--norma-text) !important;
  text-shadow: none;
}

.legacy-home .hero-measure,
.legacy-home .measure,
.legacy-home .cognitive-chapter__copy p,
.legacy-home .cognitive-loop__intro p,
.legacy-home .relationship-intro p,
.legacy-home .proof-copy p,
.legacy-home .identity-registry-copy p,
.legacy-home .hero-topline,
.legacy-home .hero-bottomline {
  color: var(--norma-muted) !important;
}

.legacy-home .hero-measure {
  color: var(--norma-hero-support-text) !important;
}

.legacy-home .hero-title,
.legacy-home .hero-subtitle,
.legacy-home .hero-measure {
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-shadow: var(--norma-hero-text-shadow);
}

.legacy-home .eyebrow,
.legacy-home .hero-topline,
.legacy-home .hero-bottomline {
  text-shadow: var(--norma-hero-text-shadow);
}

.legacy-home .hero-copy,
.legacy-home .hero-topline,
.legacy-home .hero-bottomline,
.legacy-home .action-primary,
.legacy-home .action-secondary {
  text-shadow: none;
}

.home-theme-toggle {
  position: fixed;
  z-index: 70;
  top: max(0.8rem, env(safe-area-inset-top));
  left: 50%;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--norma-border);
  border-radius: 50%;
  background: color-mix(in srgb, var(--norma-surface-raised) 86%, transparent);
  color: var(--norma-text);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--norma-canvas) 20%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transform: translateX(-50%);
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
  cursor: pointer;
}

.home-theme-toggle:hover {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-soft);
  transform: translateX(-50%) scale(1.04);
}

.home-theme-toggle:focus-visible {
  outline: 2px solid var(--norma-gold);
  outline-offset: 3px;
}

.home-theme-toggle img {
  width: 1rem;
  height: 1rem;
  filter: var(--norma-icon-filter);
  transition: filter 180ms ease, transform 220ms ease;
}

.home-theme-toggle:active img {
  transform: rotate(18deg) scale(0.9);
}

@media (max-height: 520px) and (orientation: landscape) {
  .home-theme-toggle {
    top: max(0.45rem, env(safe-area-inset-top));
    width: 2rem;
    height: 2rem;
  }
}

@media (max-width: 680px) and (min-height: 620px) {
  .legacy-home .hero-shell,
  .legacy-home .hero-shell__content {
    min-height: 100svh;
  }

  .legacy-home .hero-shell__content {
    padding-bottom: max(0.7rem, env(safe-area-inset-bottom));
  }

  .legacy-home .hero-scroll-cue {
    display: grid !important;
    bottom: max(3.65rem, calc(env(safe-area-inset-bottom) + 3.15rem));
    color: var(--norma-faint);
  }

  .legacy-home .hero-scroll-cue i {
    height: 1.8rem;
    background: var(--norma-border);
  }

  .legacy-home .hero-scroll-cue i b {
    background: var(--norma-gold);
  }

  .legacy-home .hero-bottomline {
    position: relative;
    padding-top: 0.7rem;
    border-top: 1px solid var(--norma-border);
  }
}

.legacy-home .eyebrow,
.legacy-home .cognitive-chapter__index,
.legacy-home .proof-index,
.legacy-home .identity-rank-meta,
.legacy-home .motion-rail {
  color: var(--norma-gold);
}

.legacy-home .action-primary,
.legacy-home .home-final-action a:first-of-type {
  border-color: var(--norma-gold);
  background: linear-gradient(180deg, var(--norma-gold-soft), var(--norma-gold));
  color: var(--norma-gold-ink);
  text-shadow: none;
}

.legacy-home .action-secondary,
.legacy-home .home-back-top {
  border-color: var(--norma-border);
  background: var(--norma-surface-soft);
  color: var(--norma-text);
  text-shadow: none;
}

.legacy-home .story-card,
.legacy-home .cognitive-chapter,
.legacy-home .relationship-principles article,
.legacy-home .identity-rank-system,
.legacy-home .use-case-card,
.legacy-home .proof-band,
.legacy-home .home-final-action {
  border-color: var(--norma-border);
  background: var(--norma-surface);
  color: var(--norma-text);
}

.legacy-home .cognitive-loop,
.legacy-home .cognitive-chapters,
.legacy-home .identity-rank-stage,
.legacy-home .identity-rank-system,
.legacy-home .legacy-section--story,
.legacy-home .legacy-section--cards,
.legacy-home .relationship-section,
.legacy-home .product-proof,
.legacy-home .continuity-bridge {
  border-color: var(--norma-border);
  background: var(--norma-canvas) !important;
  color: var(--norma-text);
}

.legacy-home :where(
  .cognitive-loop__intro,
  .cognitive-chapter__copy,
  .relationship-intro,
  .identity-registry-copy,
  .proof-copy,
  .continuity-bridge,
  .home-final-action
) :where(p, span, small, li) {
  color: var(--norma-muted);
}

.legacy-home :where(
  .legacy-intro h2,
  .cognitive-loop__intro h2,
  .cognitive-chapter__copy h3,
  .continuity-bridge p,
  .relationship-intro h2,
  .relationship-principles h3,
  .identity-registry-copy > h3,
  .proof-copy h2,
  .use-case-card h3,
  .home-final-action h2
) {
  color: var(--norma-text) !important;
}

.legacy-home :where(
  .legacy-intro > p,
  .cognitive-loop__intro > p:last-child,
  .cognitive-chapter__copy > p:not(.cognitive-chapter__index),
  .relationship-intro > p:last-child,
  .relationship-principles p,
  .identity-registry-copy > p,
  .proof-copy > p,
  .use-case-card > p,
  .home-final-action > p
) {
  color: var(--norma-muted) !important;
}

.legacy-home :where(
  .cognitive-chapter__index,
  .cognitive-evidence dt,
  .relationship-principles span,
  .identity-rank-meta,
  .proof-index,
  .use-case-card > span,
  .continuity-bridge > span,
  .continuity-bridge > small
) {
  color: var(--norma-gold) !important;
}

.legacy-home :where(
  .cognitive-chapter,
  .cognitive-evidence,
  .cognitive-evidence > div,
  .relationship-principles,
  .relationship-principles > article,
  .identity-rank-system,
  .proof-band,
  .use-case-card,
  .continuity-bridge
) {
  border-color: var(--norma-border);
}

.legacy-home .cognitive-evidence dd {
  color: var(--norma-muted);
}

.legacy-home .relationship-section .identity-rank-system {
  border-color: var(--norma-border);
  background: var(--norma-canvas);
  color: var(--norma-text);
}

.legacy-home .identity-registry-copy > h3 {
  color: var(--norma-text) !important;
}

.legacy-home .relationship-section .identity-rank-meta,
.legacy-home .relationship-section .identity-rank-meta :where(p, span) {
  color: var(--norma-muted);
}

.legacy-home .proof-intro h2,
.legacy-home .proof-copy h3 {
  color: var(--norma-text) !important;
}

.legacy-home .proof-intro > p:last-child,
.legacy-home .proof-copy > p:not(.proof-index),
.legacy-home .proof-details dd {
  color: var(--norma-muted) !important;
}

.legacy-home .proof-copy .proof-index,
.legacy-home .proof-details dt {
  color: var(--norma-gold) !important;
}

.legacy-home .proof-details,
.legacy-home .proof-details > div,
.legacy-home .proof-capability-strip {
  border-color: var(--norma-border);
}

.legacy-home .proof-capability-track span {
  color: var(--norma-text);
}

.legacy-home .legacy-section--cards .use-case-card,
.legacy-home .legacy-section--cards .home-final-action {
  border-color: var(--norma-border);
  background: var(--norma-surface) !important;
  color: var(--norma-text);
}

.home-back-top {
  border-color: var(--norma-border-strong);
  background: var(--norma-surface-raised);
  color: var(--norma-text);
  box-shadow: var(--norma-shadow);
}

.home-back-top :where(span, i) {
  color: inherit;
}

.legacy-home .norma-stage__content,
.legacy-home .norma-stage__content h3,
.legacy-home .norma-stage__content p {
  color: #ffffff;
}

.legacy-home .norma-stage__veil {
  background: linear-gradient(180deg, rgba(7, 8, 7, 0.08), rgba(7, 8, 7, 0.84));
}

:root[data-theme="light"] .legacy-home .hero-shell,
:root[data-theme="light"] .legacy-home .hero-shell__image,
:root[data-theme="light"] .legacy-home .norma-particle-layer--home,
:root[data-theme="light"] .legacy-home .norma-stage__media,
:root[data-theme="light"] .legacy-home :where(.cognitive-chapter__media, .identity-registry-media, .proof-media) {
  background: #ffffff;
}

:root[data-theme="light"] .legacy-home .norma-particle-layer--home {
  background: #ffffff !important;
}

:root[data-theme="light"] .legacy-home .hero-copy {
  --hero-copy-backdrop-brightness: 1.08;
}

:root[data-theme="light"] .legacy-home .hero-copy::before {
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(2px) brightness(1.08) saturate(0.86);
  backdrop-filter: blur(2px) brightness(1.08) saturate(0.86);
}

:root[data-theme="light"] .legacy-home .hero-shell__shade,
:root[data-theme="light"] .legacy-home .hero-shell__spotlight {
  background: transparent;
}

:root[data-theme="light"] .legacy-home .norma-stage__veil {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 42%, rgba(255, 255, 255, 0.94) 100%);
}

:root[data-theme="light"] .legacy-home .legacy-section--story.legacy-section--horizontal :where(.norma-stage, .norma-stage__media, .legacy-card-stack) {
  border-color: var(--norma-border) !important;
  background: #ffffff !important;
}

:root[data-theme="light"] .legacy-home .legacy-section--story.legacy-section--horizontal .legacy-card-stack::after {
  background:
    linear-gradient(rgba(137, 99, 28, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137, 99, 28, 0.04) 1px, transparent 1px);
  background-size: 4rem 4rem;
}

:root[data-theme="light"] .legacy-home .story-live-card__meta .story-drop-char {
  color: var(--norma-gold) !important;
}

:root[data-theme="light"] .legacy-home .hero-bottomline {
  color: var(--norma-muted) !important;
  opacity: 1;
}

:root[data-theme="light"] .legacy-home .identity-ranks > span,
:root[data-theme="light"] .legacy-home .identity-ranks > span :where(.rank-letter, .rank-slice) {
  color: var(--norma-muted) !important;
}

:root[data-theme="light"] .legacy-home .identity-ranks > span.is-public-top,
:root[data-theme="light"] .legacy-home .identity-ranks > span.is-public-top :where(.rank-letter, .rank-slice) {
  color: var(--norma-gold) !important;
}

:root[data-theme="light"] .legacy-home .story-live-card h3 .story-drop-char {
  color: var(--norma-text) !important;
}

:root[data-theme="light"] .legacy-home .story-live-card__lines .story-drop-char {
  color: var(--norma-muted) !important;
}

:root[data-theme="light"] .legacy-home .norma-stage__content,
:root[data-theme="light"] .legacy-home .norma-stage__content h3,
:root[data-theme="light"] .legacy-home .norma-stage__content p {
  color: var(--norma-text);
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.96);
}

:root[data-theme="light"] .legacy-home :where(.norma-stage__media, .cognitive-chapter__media, .identity-registry-media, .proof-media) img {
  filter: none;
  mix-blend-mode: normal;
}

:root[data-theme="light"] .legacy-home :where(.cognitive-chapter__media, .proof-media)::after {
  border-color: var(--norma-border);
}

:root[data-theme="light"] .legacy-home .cognitive-chapter__media figcaption {
  border-color: var(--norma-border);
  background: rgba(255, 255, 255, 0.92);
  color: var(--norma-muted);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

:root[data-theme="light"] .legacy-home .cognitive-chapter__media figcaption span:first-child {
  color: var(--norma-gold);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .legacy-home .hero-shell,
  :root:not([data-theme="dark"]) .legacy-home .hero-shell__image,
  :root:not([data-theme="dark"]) .legacy-home .norma-particle-layer--home,
  :root:not([data-theme="dark"]) .legacy-home .norma-stage__media,
  :root:not([data-theme="dark"]) .legacy-home :where(.cognitive-chapter__media, .identity-registry-media, .proof-media) {
    background: #ffffff;
  }

  :root:not([data-theme="dark"]) .legacy-home .norma-particle-layer--home {
    background: #ffffff !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .hero-copy {
    --hero-copy-backdrop-brightness: 1.08;
  }

  :root:not([data-theme="dark"]) .legacy-home .hero-copy::before {
    background: rgba(255, 255, 255, 0.42);
    -webkit-backdrop-filter: blur(2px) brightness(1.08) saturate(0.86);
    backdrop-filter: blur(2px) brightness(1.08) saturate(0.86);
  }

  :root:not([data-theme="dark"]) .legacy-home .hero-shell__shade,
  :root:not([data-theme="dark"]) .legacy-home .hero-shell__spotlight {
    background: transparent;
  }

  :root:not([data-theme="dark"]) .legacy-home .norma-stage__veil {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 42%, rgba(255, 255, 255, 0.94) 100%);
  }

  :root:not([data-theme="dark"]) .legacy-home .legacy-section--story.legacy-section--horizontal :where(.norma-stage, .norma-stage__media, .legacy-card-stack) {
    border-color: var(--norma-border) !important;
    background: #ffffff !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .story-live-card__meta .story-drop-char {
    color: var(--norma-gold) !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .hero-bottomline {
    color: var(--norma-muted) !important;
    opacity: 1;
  }

  :root:not([data-theme="dark"]) .legacy-home .identity-ranks > span,
  :root:not([data-theme="dark"]) .legacy-home .identity-ranks > span :where(.rank-letter, .rank-slice) {
    color: var(--norma-muted) !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .identity-ranks > span.is-public-top,
  :root:not([data-theme="dark"]) .legacy-home .identity-ranks > span.is-public-top :where(.rank-letter, .rank-slice) {
    color: var(--norma-gold) !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .story-live-card h3 .story-drop-char {
    color: var(--norma-text) !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .story-live-card__lines .story-drop-char {
    color: var(--norma-muted) !important;
  }

  :root:not([data-theme="dark"]) .legacy-home .norma-stage__content,
  :root:not([data-theme="dark"]) .legacy-home .norma-stage__content h3,
  :root:not([data-theme="dark"]) .legacy-home .norma-stage__content p {
    color: var(--norma-text);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.96);
  }

  :root:not([data-theme="dark"]) .legacy-home :where(.cognitive-chapter__media, .proof-media)::after {
    border-color: var(--norma-border);
  }

  :root:not([data-theme="dark"]) .legacy-home .cognitive-chapter__media figcaption {
    border-color: var(--norma-border);
    background: rgba(255, 255, 255, 0.92);
    color: var(--norma-muted);
  }

  :root:not([data-theme="dark"]) .legacy-home .cognitive-chapter__media figcaption span:first-child {
    color: var(--norma-gold);
  }
}

@media (max-width: 680px) {
  .legacy-home .hero-shell__shade {
    background: var(--norma-hero-shade);
  }
}

/* Explicit theme selection must repaint the whole authenticated workspace,
   even when the operating-system preference is the opposite theme. */
:root[data-theme] body.console-body,
:root[data-theme] body.console-body .console-app-shell,
:root[data-theme] body.console-body .live-console,
:root[data-theme] body.console-body .console-view,
:root[data-theme] body.console-body .live-chat,
:root[data-theme] body.console-body .console-module {
  background: var(--norma-canvas) !important;
  color: var(--norma-text);
}

:root[data-theme] body.console-body :where(.console-primary-nav, .project-rail, .console-mobile-menu__panel) {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface) !important;
  color: var(--norma-text) !important;
}

:root[data-theme] body.console-body :where(.conversation-context-bar, .console-topbar) {
  border-color: var(--norma-border) !important;
  background: color-mix(in srgb, var(--norma-canvas) 94%, transparent) !important;
}

:root[data-theme] body.console-body .live-chat > .chat-bubble--user {
  background: var(--norma-surface-soft) !important;
  color: var(--norma-text) !important;
}

:root[data-theme] body.console-body :where(.chat-bubble__body, .chat-rich-text, .chat-rich-text p, .chat-bubble p:last-child) {
  color: var(--norma-text) !important;
}

:root[data-theme] body.console-body :where(.norma-rich-card, .world-pulse-card, .market-card, .media-result-card, .composer-mode-picker__panel) {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface) !important;
  color: var(--norma-text) !important;
}

:root[data-theme] body.console-body .live-input .chat-form__shell {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface-raised) !important;
}

:root[data-theme="light"] body.console-body .project-rail-backdrop {
  background: rgba(38, 35, 29, 0.28) !important;
}

.console-theme-toggle {
  display: inline-grid;
  width: 2.6rem;
  height: 2.6rem;
  flex: 0 0 2.6rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--norma-border);
  border-radius: 50%;
  background: var(--norma-surface-soft);
  color: var(--norma-text);
  box-shadow: none;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.console-theme-toggle:hover {
  border-color: var(--norma-border-strong);
  background: var(--norma-accent-hover);
}

.console-theme-toggle:active {
  transform: scale(0.94);
}

.console-theme-toggle:focus-visible {
  outline: 2px solid var(--norma-gold);
  outline-offset: 3px;
}

.console-theme-toggle img {
  width: 1.05rem;
  height: 1.05rem;
  filter: var(--norma-icon-filter);
  pointer-events: none;
}

.console-theme-toggle--mobile {
  display: none;
}

.console-mobile-controls {
  display: none;
  min-width: 0;
  align-items: center;
  gap: 0.12rem;
  margin-left: auto;
}

.console-theme-toggle--context {
  width: 2.35rem;
  height: 2.35rem;
  flex-basis: 2.35rem;
  border-color: transparent;
  background: transparent;
}

@media (max-width: 960px) {
  .console-theme-toggle--context {
    display: none;
  }

  .console-theme-toggle--mobile {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    flex-basis: 2.35rem;
    margin: 0;
    border-color: transparent;
    background: transparent;
  }

  .console-mobile-controls {
    display: flex;
  }

  .console-mobile-controls .console-mobile-menu,
  body[data-console-route="chat"] .console-mobile-controls .console-mobile-menu {
    position: relative;
    inset: auto;
    margin: 0 !important;
  }

  .console-mobile-controls :where(.console-theme-toggle, .console-mobile-menu__trigger):focus-visible {
    outline: 0;
    box-shadow: inset 0 0 0 1px var(--norma-border-strong);
    background: var(--norma-accent-soft);
  }

  body.console-body[data-console-route="chat"] {
    position: fixed;
    inset: 0;
    width: 100%;
    height: var(--norma-visual-viewport-height, 100dvh);
    overflow: hidden;
  }

  body.console-body[data-console-route="chat"] .console-app-shell,
  body.console-body[data-console-route="chat"] .console-app-shell > .live-console {
    min-height: 0 !important;
    height: var(--norma-visual-viewport-height, 100dvh) !important;
    max-height: var(--norma-visual-viewport-height, 100dvh);
    overflow: hidden !important;
  }

  body.console-body[data-console-route="chat"] .console-view--chat.is-active {
    min-height: 0;
    height: 100%;
    overflow: hidden;
  }

  body.console-body[data-console-route="chat"] .console-view--chat.is-active > .live-chat {
    min-height: 0;
    overscroll-behavior: contain;
  }

  body.console-body[data-console-route="chat"].is-virtual-keyboard-open .live-input {
    padding-bottom: max(0.24rem, env(safe-area-inset-bottom));
  }
}

@media (max-width: 699px) {
  body.console-body[data-console-route="chat"].is-virtual-keyboard-open .live-input {
    z-index: 24;
    transform: translateY(calc(-1 * var(--norma-keyboard-inset, 0px)));
  }

  body.console-body[data-console-route="chat"].is-virtual-keyboard-open .chat-scroll-bottom {
    display: none !important;
  }
}

/* iPad keeps the three-column application chrome fixed. Conversation and
   module content own their vertical scroll, so dragging the primary rail can
   never move or rubber-band the page. */
@media (min-width: 700px) and (max-width: 1180px) {
  body.console-body[data-console-route="chat"] {
    position: fixed !important;
    inset: 0 !important;
    width: 100%;
    min-height: 0;
    height: var(--norma-visual-viewport-height, 100dvh) !important;
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body.console-body[data-console-route="chat"] .console-app-shell,
  body.console-body[data-console-route="chat"] .console-app-shell > .live-console {
    min-height: 0 !important;
    height: var(--norma-visual-viewport-height, 100dvh) !important;
    max-height: var(--norma-visual-viewport-height, 100dvh) !important;
    overflow: hidden !important;
  }

  body.console-body[data-console-route="chat"] .console-primary-nav {
    position: sticky;
    top: 0;
    height: var(--norma-visual-viewport-height, 100dvh);
    max-height: var(--norma-visual-viewport-height, 100dvh);
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none;
  }

  body.console-body[data-console-route="chat"] .console-primary-nav__routes {
    overflow: hidden;
    overscroll-behavior: none;
  }

  body.console-body[data-console-route="chat"] .console-view--chat.is-active {
    min-height: 0;
    height: 100%;
    overflow: hidden;
  }

  body.console-body[data-console-route="chat"] .console-view--chat.is-active > .live-chat {
    min-height: 0;
    height: auto;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  body.console-body[data-console-route="chat"] .console-view--chat.is-active > .live-input {
    position: static;
    z-index: 18;
    background: var(--norma-canvas);
    transform: none !important;
  }

  body.console-body[data-console-route="chat"] .console-module.is-active {
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (min-width: 961px) and (max-width: 1180px) {
  body.console-body[data-console-route="chat"] .console-app-shell > .live-console {
    grid-column: 2;
  }

  body.console-body[data-console-route="chat"] .console-primary-nav {
    position: fixed !important;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    margin: 0;
    transform: none !important;
    contain: layout paint;
  }
}

@media (min-width: 961px) and (max-width: 1120px) {
  body.console-body[data-console-route="chat"] .console-primary-nav {
    width: 12rem;
  }
}

@media (min-width: 1121px) and (max-width: 1180px) {
  body.console-body[data-console-route="chat"] .console-primary-nav {
    width: 14.5rem;
  }
}

/* iPadOS can request a desktop-class viewport wider than the tablet
   breakpoints. Device capability detection from theme-mode.js keeps the
   application shell fixed even when Safari reports a 1366px-wide canvas. */
html[data-norma-device="ipad"]:has(body.console-body),
html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] {
  position: fixed !important;
  inset: 0 !important;
  width: 100%;
  min-height: 0 !important;
  height: var(--norma-visual-viewport-height, 100dvh) !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-app-shell,
html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-app-shell > .live-console {
  min-height: 0 !important;
  height: var(--norma-visual-viewport-height, 100dvh) !important;
  max-height: var(--norma-visual-viewport-height, 100dvh) !important;
  overflow: hidden !important;
}

html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-view--chat.is-active {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-view--chat.is-active > .live-chat {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-primary-nav {
  height: var(--norma-visual-viewport-height, 100dvh) !important;
  max-height: var(--norma-visual-viewport-height, 100dvh) !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none !important;
}

html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-primary-nav__routes {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

@media (min-width: 961px) {
  html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-app-shell > .live-console {
    grid-column: 2;
  }

  html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-primary-nav {
    position: fixed !important;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    width: 14.5rem;
    margin: 0;
    transform: none !important;
    contain: layout paint;
  }
}

@media (min-width: 961px) and (max-width: 1120px) {
  html[data-norma-device="ipad"] body.console-body[data-console-route="chat"] .console-primary-nav {
    width: 12rem;
  }
}

/* Explicit-theme state guard.
   Legacy component styles still contain OS-level color-scheme branches. These
   rules keep every floating control and overlay attached to NORMA's selected
   theme when the operating-system preference is the opposite one. */
:root[data-theme] body.console-body .chat-scroll-bottom {
  border-color: var(--norma-border-strong) !important;
  background:
    linear-gradient(135deg, var(--norma-accent-soft), transparent 72%),
    color-mix(in srgb, var(--norma-surface-raised) 94%, transparent) !important;
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
  box-shadow:
    0 14px 36px color-mix(in srgb, var(--norma-canvas) 22%, transparent),
    inset 0 0 0 1px color-mix(in srgb, var(--norma-surface-raised) 72%, transparent) !important;
}

:root[data-theme] body.console-body .chat-scroll-bottom span {
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body .chat-scroll-bottom strong {
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .chat-scroll-bottom:hover,
:root[data-theme] body.console-body .chat-scroll-bottom:focus-visible {
  border-color: var(--norma-gold) !important;
  background:
    linear-gradient(135deg, var(--norma-accent-hover), transparent 72%),
    var(--norma-surface-raised) !important;
}

:root[data-theme] body.console-body :where(
  .conversation-context-bar__menu,
  .conversation-context-bar__new,
  .console-mobile-menu__trigger,
  .console-theme-toggle,
  .project-rail__close,
  .settings-dialog__close,
  .runtime-icon-button,
  .inline-preview__close
) {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface-soft) !important;
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body :where(
  .conversation-context-bar__menu,
  .conversation-context-bar__new,
  .console-mobile-menu__trigger,
  .console-theme-toggle,
  .project-rail__close,
  .settings-dialog__close,
  .runtime-icon-button,
  .inline-preview__close
):where(:hover, :focus-visible) {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-accent-hover) !important;
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body .tier-credential-dialog__panel {
  border-color: var(--norma-border-strong) !important;
  background:
    linear-gradient(125deg, var(--norma-accent-soft), transparent 42%),
    var(--norma-surface-raised) !important;
  color: var(--norma-text) !important;
  box-shadow: var(--norma-shadow) !important;
}

:root[data-theme] body.console-body .tier-credential-dialog__panel::before {
  background: linear-gradient(90deg, transparent, var(--norma-gold), transparent) !important;
}

:root[data-theme] body.console-body .tier-credential-dialog__seal {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-accent-soft) !important;
  color: var(--norma-gold-strong) !important;
  box-shadow: inset 0 0 0 1px var(--norma-border) !important;
}

:root[data-theme] body.console-body .tier-credential-dialog__identity p,
:root[data-theme] body.console-body .tier-credential-dialog__rank,
:root[data-theme] body.console-body .tier-credential-dialog__footer > span {
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body .tier-credential-dialog__identity h2 {
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .tier-credential-dialog__identity span,
:root[data-theme] body.console-body .tier-credential-dialog__summary,
:root[data-theme] body.console-body .tier-credential-dialog__capabilities li {
  color: var(--norma-muted) !important;
  -webkit-text-fill-color: var(--norma-muted);
}

:root[data-theme] body.console-body .tier-credential-dialog__rule {
  background: linear-gradient(90deg, var(--norma-gold), var(--norma-border), transparent) !important;
}

:root[data-theme] body.console-body .tier-credential-dialog__capabilities li {
  border-color: var(--norma-border) !important;
}

:root[data-theme] body.console-body .tier-credential-dialog__capabilities li > span {
  background: var(--norma-gold) !important;
  box-shadow: 0 0 0 3px var(--norma-accent-soft) !important;
}

:root[data-theme] body.console-body .tier-credential-dialog__footer .button {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-surface-soft) !important;
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body :where(.workspace-chip, .workspace-source) {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface-raised) !important;
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body .workspace-chip small,
:root[data-theme] body.console-body .workspace-source--muted {
  color: var(--norma-faint) !important;
  -webkit-text-fill-color: var(--norma-faint);
}

:root[data-theme] body.console-body :where(.composer-mode-tab, .composer-toggle) small {
  color: var(--norma-muted) !important;
  -webkit-text-fill-color: var(--norma-muted);
  opacity: 1 !important;
}

:root[data-theme] body.console-body :where(.live-chat, .live-input, .chat-form__shell).is-drag-target {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-surface-raised) !important;
  box-shadow:
    inset 0 0 0 1px var(--norma-border-strong),
    0 18px 42px color-mix(in srgb, var(--norma-gold) 14%, transparent) !important;
}

:root[data-theme] body.console-body .live-input.is-drag-target::before {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-surface-raised) !important;
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .inline-preview {
  background: var(--norma-overlay) !important;
}

:root[data-theme] body.console-body .inline-preview__panel {
  border-color: var(--norma-border-strong) !important;
  background:
    linear-gradient(135deg, var(--norma-accent-soft), transparent 38%),
    var(--norma-surface-raised) !important;
  color: var(--norma-text) !important;
  box-shadow: var(--norma-shadow) !important;
}

:root[data-theme] body.console-body .inline-preview__panel header {
  border-color: var(--norma-border) !important;
}

:root[data-theme] body.console-body .inline-preview__panel header strong,
:root[data-theme] body.console-body .inline-preview__source-card h3,
:root[data-theme] body.console-body .inline-preview__media-fallback strong {
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .inline-preview__panel header span,
:root[data-theme] body.console-body .inline-preview__source-card p,
:root[data-theme] body.console-body .inline-preview__source-meta span,
:root[data-theme] body.console-body .inline-preview__media-fallback span {
  color: var(--norma-muted) !important;
  -webkit-text-fill-color: var(--norma-muted);
}

:root[data-theme] body.console-body .inline-preview__eyebrow {
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body :where(.inline-preview__source-card, .inline-preview__media-fallback) {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface) !important;
  color: var(--norma-text) !important;
}

:root[data-theme] body.console-body .inline-preview__source-meta {
  background: var(--norma-surface-soft) !important;
}

:root[data-theme] body.console-body :where(
  .inline-preview__media,
  .inline-preview__text-wrap,
  .inline-preview__browser-wrap,
  .inline-preview__browser,
  .inline-preview iframe,
  .inline-preview__image,
  .inline-preview__video,
  .media-tile img,
  .media-tile video
) {
  background: var(--norma-canvas) !important;
}

:root[data-theme] body.console-body .inline-preview__text {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface) !important;
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .inline-preview__button {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface-soft) !important;
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .inline-preview__button:where(:hover, :focus-visible) {
  border-color: var(--norma-border-strong) !important;
  background: var(--norma-accent-hover) !important;
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body :where(.runtime-dialog__mark, .runtime-progress, .runtime-lifecycle, .runtime-section) {
  border-color: var(--norma-border) !important;
}

:root[data-theme] body.console-body .runtime-dialog__mark {
  background: var(--norma-accent-soft) !important;
  color: var(--norma-gold-strong) !important;
}

:root[data-theme] body.console-body .runtime-status-pill {
  border-color: var(--norma-border) !important;
  background: var(--norma-surface-soft) !important;
  color: var(--norma-muted) !important;
  -webkit-text-fill-color: var(--norma-muted);
}

:root[data-theme] body.console-body .runtime-progress__track {
  background: var(--norma-border) !important;
}

:root[data-theme] body.console-body .runtime-progress__track span {
  background: var(--norma-gold) !important;
}

:root[data-theme] body.console-body .runtime-progress__copy,
:root[data-theme] body.console-body .runtime-lifecycle li,
:root[data-theme] body.console-body .runtime-lifecycle li small {
  color: var(--norma-faint) !important;
  -webkit-text-fill-color: var(--norma-faint);
}

:root[data-theme] body.console-body .runtime-progress__copy strong,
:root[data-theme] body.console-body .runtime-lifecycle li.is-complete,
:root[data-theme] body.console-body .runtime-lifecycle li.is-active,
:root[data-theme] body.console-body .runtime-lifecycle li b {
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .runtime-lifecycle li span {
  color: var(--norma-gold-strong) !important;
  -webkit-text-fill-color: var(--norma-gold-strong);
}

:root[data-theme] body.console-body .runtime-lifecycle li,
:root[data-theme] body.console-body .runtime-package-meta div {
  border-color: var(--norma-border) !important;
}

:root[data-theme] body.console-body .runtime-section__heading > span,
:root[data-theme] body.console-body .runtime-package-meta dt,
:root[data-theme] body.console-body .runtime-dialog .runtime-form-grid label > span,
:root[data-theme] body.console-body .runtime-dialog .runtime-toggle-row small,
:root[data-theme] body.console-body .runtime-dialog__message {
  color: var(--norma-muted) !important;
  -webkit-text-fill-color: var(--norma-muted);
}

:root[data-theme] body.console-body .runtime-package-meta dd,
:root[data-theme] body.console-body .runtime-dialog .runtime-toggle-row b {
  color: var(--norma-text) !important;
  -webkit-text-fill-color: var(--norma-text);
}

:root[data-theme] body.console-body .runtime-dialog .button--danger,
:root[data-theme] body.console-body .runtime-dialog .button--danger span {
  border-color: color-mix(in srgb, var(--norma-danger) 42%, var(--norma-border)) !important;
  color: var(--norma-danger) !important;
  -webkit-text-fill-color: var(--norma-danger);
}

:root[data-theme] body.console-body .console-mobile-nav {
  border-color: var(--norma-border) !important;
  background: color-mix(in srgb, var(--norma-surface) 96%, transparent) !important;
  color: var(--norma-text) !important;
  box-shadow: 0 -12px 34px color-mix(in srgb, var(--norma-canvas) 20%, transparent) !important;
}

/* Structured capability self-check. The card stays legible in both platinum and black themes. */
body.console-body .system-health-card {
  display: grid;
  gap: 0.9rem;
  border-radius: 8px;
}

body.console-body .system-health__counts {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 0;
  border-block: 1px solid var(--norma-border);
}

body.console-body .system-health__count {
  display: grid;
  min-width: 6.6rem;
  flex: 1 1 7rem;
  grid-template-columns: 0.45rem auto 1fr;
  align-items: baseline;
  gap: 0.42rem;
  padding: 0.72rem 0.55rem;
  color: var(--norma-muted);
}

body.console-body .system-health__count + .system-health__count {
  border-left: 1px solid var(--norma-border);
}

body.console-body .system-health__count i,
body.console-body .system-health__dot {
  display: block;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--norma-faint);
}

body.console-body .system-health__count strong {
  color: var(--norma-text);
  font-size: 1.15rem;
  font-weight: 600;
}

body.console-body .system-health__count small {
  color: var(--norma-muted);
  font-size: 0.66rem;
}

body.console-body .system-health__groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: 1rem 1.25rem;
}

body.console-body .system-health__group {
  min-width: 0;
}

body.console-body .system-health__group h4 {
  margin: 0 0 0.25rem;
  color: var(--norma-gold-strong);
  font-size: 0.65rem;
  font-weight: 620;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.console-body .system-health__rows {
  display: grid;
}

body.console-body .system-health__row {
  display: grid;
  min-width: 0;
  grid-template-columns: 0.45rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
  border-top: 1px solid var(--norma-border);
  padding: 0.64rem 0;
}

body.console-body .system-health__row > span {
  display: grid;
  min-width: 0;
  gap: 0.14rem;
}

body.console-body .system-health__row strong {
  color: var(--norma-text);
  font-size: 0.72rem;
  font-weight: 590;
  letter-spacing: 0;
}

body.console-body .system-health__row small {
  color: var(--norma-muted);
  font-size: 0.62rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

body.console-body .system-health__row em {
  color: var(--norma-faint);
  font-size: 0.58rem;
  font-style: normal;
  white-space: nowrap;
}

body.console-body :where(.system-health__count--online i, .system-health__row--online .system-health__dot) {
  background: var(--norma-success);
  box-shadow: 0 0 0.55rem color-mix(in srgb, var(--norma-success) 45%, transparent);
}

body.console-body :where(.system-health__count--degraded i, .system-health__row--degraded .system-health__dot) {
  background: var(--norma-gold);
  box-shadow: 0 0 0.55rem color-mix(in srgb, var(--norma-gold) 38%, transparent);
}

body.console-body :where(.system-health__count--offline i, .system-health__row--offline .system-health__dot) {
  background: var(--norma-danger);
}

body.console-body .system-health__recommendations {
  display: grid;
  gap: 0.38rem;
  border-top: 1px solid var(--norma-border);
  padding-top: 0.8rem;
}

body.console-body .system-health__recommendations > strong {
  color: var(--norma-text);
  font-size: 0.7rem;
}

body.console-body .system-health__recommendations p {
  display: grid;
  grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr);
  gap: 0.65rem;
  margin: 0;
  color: var(--norma-muted);
  font-size: 0.64rem;
  line-height: 1.55;
}

body.console-body .system-health__recommendations span {
  color: var(--norma-gold-strong);
}

@media (max-width: 620px) {
  body.console-body .system-health__count {
    min-width: 50%;
  }

  body.console-body .system-health__count:nth-child(3) {
    border-left: 0;
  }

  body.console-body .system-health__recommendations p {
    grid-template-columns: 1fr;
    gap: 0.12rem;
  }
}

@media (max-width: 960px) {
  body.console-body.is-project-rail-open .project-rail {
    isolation: isolate;
    pointer-events: auto;
  }

  body.console-body.is-project-rail-open .project-rail-backdrop {
    pointer-events: auto;
  }
}
