/* The existing day palette stays in zz_tracemate_palette.css. */
.app-user__actions { align-items: center; display: flex; flex-shrink: 0; gap: 8px; }
.theme-toggle.btn { align-items: center; display: inline-flex; flex: 0 0 40px; height: 40px; justify-content: center; padding: 0; width: 40px; }
.theme-toggle svg { fill: none; height: 20px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 20px; }
.theme-toggle .theme-toggle__sun { display: none; }
:root[data-theme="dark"] .theme-toggle__moon { display: none; }
:root[data-theme="dark"] .theme-toggle__sun { display: block; }
@media (pointer: coarse), (max-width: 767px) {
  .theme-toggle.btn { flex-basis: 44px; height: 44px; width: 44px; }
}

/* Charcoal surfaces, warm readable text and a restrained butter-yellow accent. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --app-bg: #171818;
  --app-panel: #202222;
  --app-card: #242626;
  --app-ink: #eeeae2;
  --app-muted: #b7b5ad;
  --app-line: #3c3e3b;
  --app-control-border: #85877f;
  --app-accent: #d7b979;
  --app-accent-strong: #f0d59b;
  --app-accent-soft: #363024;
  --app-warm-surface: #2b2923;
  --app-hover-bg: #343025;
  --app-info-bg: #303332;
  --app-info-border: #858a82;
  --app-info-text: #d3d7ce;
  --app-success-bg: #22352c;
  --app-success-border: #7b9e85;
  --app-success-text: #b9dec5;
  --app-warning-bg: #393021;
  --app-warning-border: #ae9460;
  --app-warning-text: #efd49a;
  --app-danger-bg: #3b2727;
  --app-danger-border: #be8580;
  --app-danger-text: #f0b9b3;
  --bs-body-bg: var(--app-bg);
  --bs-body-color: var(--app-ink);
  --bs-primary: var(--app-accent);
  --bs-primary-rgb: 215, 185, 121;
  --bs-secondary-color: var(--app-muted);
  --bs-border-color: var(--app-line);
  --bs-tertiary-bg: var(--app-panel);
  --bs-link-color: var(--app-accent-strong);
  --bs-link-hover-color: var(--app-accent-strong);
}

:root[data-theme="dark"] .theme-toggle { background: var(--app-accent-soft); border-color: var(--app-accent); color: var(--app-accent-strong); }
:root[data-theme="dark"] .theme-toggle:hover { background: var(--app-hover-bg); }
:root[data-theme="dark"] .btn-primary { --bs-btn-active-bg: #efd08b; --bs-btn-active-border-color: var(--app-accent-strong); --bs-btn-active-color: #332a13; }
:root[data-theme="dark"] input:is([type="checkbox"], [type="radio"]) { accent-color: var(--app-accent); }
:root[data-theme="dark"] .form-check-input { background-color: var(--app-card); border-color: var(--app-control-border); }
:root[data-theme="dark"] .form-check-input:checked { background-color: var(--app-accent); border-color: var(--app-accent); }
:root[data-theme="dark"] .form-check-input[type="checkbox"]:checked { --bs-form-check-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23242626' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E"); }
:root[data-theme="dark"] .form-check-input:focus { border-color: var(--app-accent); box-shadow: none; }
:root[data-theme="dark"] .table thead th,
:root[data-theme="dark"] .project-index-table thead th,
:root[data-theme="dark"] .ew-list-table th { background: #2d3030; }
:root[data-theme="dark"] .table { --bs-table-striped-bg: #292b29; --bs-table-striped-color: var(--app-ink); }
:root[data-theme="dark"] .bootstrap-table .fixed-table-loading { background: var(--app-card); color: var(--app-ink); }
:root[data-theme="dark"] .pagination { --bs-pagination-bg: var(--app-card); --bs-pagination-color: var(--app-ink); --bs-pagination-border-color: var(--app-line); --bs-pagination-hover-bg: var(--app-hover-bg); --bs-pagination-hover-color: var(--app-accent-strong); --bs-pagination-hover-border-color: var(--app-accent); --bs-pagination-active-bg: var(--app-accent-soft); --bs-pagination-active-color: var(--app-accent-strong); --bs-pagination-active-border-color: var(--app-accent); --bs-pagination-disabled-bg: var(--app-panel); --bs-pagination-disabled-color: var(--app-muted); --bs-pagination-disabled-border-color: var(--app-line); }
:root[data-theme="dark"] .dropdown-menu { --bs-dropdown-bg: var(--app-card); --bs-dropdown-border-color: var(--app-line); --bs-dropdown-link-color: var(--app-ink); --bs-dropdown-link-hover-bg: var(--app-hover-bg); --bs-dropdown-link-hover-color: var(--app-accent-strong); --bs-dropdown-link-active-bg: var(--app-accent-soft); --bs-dropdown-link-active-color: var(--app-accent-strong); }
:root[data-theme="dark"] .project-runtime-versions { --runtime-text: var(--app-ink); --runtime-secondary: var(--app-muted); background: transparent; }
:root[data-theme="dark"] .project-runtime-versions__status { background: var(--app-info-bg); }
:root[data-theme="dark"] .app-inline-list li,
:root[data-theme="dark"] .app-tag,
:root[data-theme="dark"] body.app-shell--project-docs .project-docs__badge,
:root[data-theme="dark"] .line-messages-conversation-item__avatar--fallback,
:root[data-theme="dark"] .line-messages-item__avatar--fallback { background: var(--app-info-bg); }
:root[data-theme="dark"] .form-control::placeholder,
:root[data-theme="dark"] .ew-page .form-control::placeholder { color: var(--app-muted); }
:root[data-theme="dark"] .form-control:disabled,
:root[data-theme="dark"] .form-select:disabled,
:root[data-theme="dark"] .form-control[readonly],
:root[data-theme="dark"] .btn:disabled,
:root[data-theme="dark"] .btn.disabled { background: var(--app-panel); color: var(--app-muted); }
:root[data-theme="dark"] .issue-status-badge .issue-status-select { background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d3d7ce' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }

:root[data-theme="dark"] .issue-status--pending,
:root[data-theme="dark"] .ew-badge--warning,
:root[data-theme="dark"] .ew-notice,
:root[data-theme="dark"] .codex-chat-pending-request { background-color: var(--app-warning-bg); border-color: var(--app-warning-border); color: var(--app-warning-text); }
:root[data-theme="dark"] .issue-status-badge.issue-status--pending { --status-background: var(--app-warning-bg); --status-border: var(--app-warning-border); background: transparent; }
:root[data-theme="dark"] .codex-chat-pending-request__title,
:root[data-theme="dark"] .codex-chat-pending-request__summary { color: var(--app-warning-text); }
:root[data-theme="dark"] .issue-status--solved,
:root[data-theme="dark"] .ew-badge--success,
:root[data-theme="dark"] .app-alert--notice,
:root[data-theme="dark"] .line-messages-item__badge,
:root[data-theme="dark"] .codex-chat-nav-item__source--shared { background: var(--app-success-bg); border-color: var(--app-success-border); color: var(--app-success-text); }
:root[data-theme="dark"] .issue-status-badge.issue-status--solved { --status-background: var(--app-success-bg); --status-border: var(--app-success-border); background: transparent; }
:root[data-theme="dark"] .issue-status--archived,
:root[data-theme="dark"] .ew-badge--neutral,
:root[data-theme="dark"] .ai-draft__status { background: var(--app-info-bg); border-color: var(--app-info-border); color: var(--app-info-text); }
:root[data-theme="dark"] .ai-draft__status--succeeded { background: var(--app-success-bg); border-color: var(--app-success-border); color: var(--app-success-text); }
:root[data-theme="dark"] .issue-status-badge.issue-status--archived { --status-background: var(--app-info-bg); --status-border: var(--app-info-border); background: transparent; }
:root[data-theme="dark"] .btn-outline-danger,
:root[data-theme="dark"] .line-messages-feedback--error,
:root[data-theme="dark"] .ew-operation-error,
:root[data-theme="dark"] .codex-chat-feedback--error { color: var(--app-danger-text); border-color: var(--app-danger-border); }
:root[data-theme="dark"] .btn-danger,
:root[data-theme="dark"] .btn-outline-danger:hover,
:root[data-theme="dark"] .app-alert--danger,
:root[data-theme="dark"] .ai-draft__status--failed,
:root[data-theme="dark"] .ew-badge--danger,
:root[data-theme="dark"] body.app-shell--project-docs .project-docs__badge--warn,
:root[data-theme="dark"] body.app-shell--project-docs .project-docs__empty--warn { background: var(--app-danger-bg); border-color: var(--app-danger-border); color: var(--app-danger-text); }

:root[data-theme="dark"] .ai-draft__bubble--user,
:root[data-theme="dark"] .issue-spec-message--user .issue-spec-message__content { background: var(--app-info-bg); border-color: var(--app-line); }
:root[data-theme="dark"] .ai-draft__bubble--ai,
:root[data-theme="dark"] .issue-spec-message--assistant .issue-spec-message__content,
:root[data-theme="dark"] .issue-spec-message--system .issue-spec-message__content { background: var(--app-panel); }

/* These preview entry pages intentionally use their own minimal layout. */
:root[data-theme="dark"]:has(.engineering-entry) { background: var(--app-bg); color: var(--app-ink); }
:root[data-theme="dark"] .engineering-entry { background: var(--app-bg); color: var(--app-ink); }
:root[data-theme="dark"] .engineering-entry .brand { border-color: var(--app-accent); }
:root[data-theme="dark"] .engineering-entry :is(.brand, .project, small, footer) { color: var(--app-muted); }
:root[data-theme="dark"] .engineering-entry :is(footer, .persona) { border-color: var(--app-line); }
:root[data-theme="dark"] .engineering-entry a:not(.primary) { color: var(--app-accent-strong); }
:root[data-theme="dark"] .engineering-entry--personas main { background: var(--app-card); border-color: var(--app-line); }
