/* ============================================================
   Agenda Inteli — Dark Mode Overrides
   Sprint 08: accessibility and theme switching
   ============================================================ */

:root[data-theme="light"] {
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;

    --color-bg-page: #1A1815;
    --color-bg-surface: #2E2B27;
    --color-bg-elevated: #37322C;

    --color-primary-50: #25211D;
    --color-primary-100: #2D2823;
    --color-primary-200: #38322C;

    --color-gray-50: #25221E;
    --color-gray-100: #312D29;
    --color-gray-200: #3C3732;
    --color-gray-300: #4A4540;
    --color-gray-400: #6A635C;
    --color-gray-500: #8A827A;

    --color-text-primary: #FAFAF8;
    --color-text-secondary: #B5ADA4;
    --color-text-muted: #8A827A;
    --color-text-inverse: #1A1815;
    --color-border: #4A4540;
    --color-border-strong: #6A635C;
    --color-brand: #A5A98A;
    --color-brand-hover: #B3B6A2;
    --color-accent: #E0A05C;
    --color-accent-hover: #E8B37A;
  }
}

[data-theme="dark"] {
  color-scheme: dark;

  --color-bg-page: #1A1815;
  --color-bg-surface: #2E2B27;
  --color-bg-elevated: #37322C;

  --color-primary-50: #25211D;
  --color-primary-100: #2D2823;
  --color-primary-200: #38322C;

  --color-gray-50: #25221E;
  --color-gray-100: #312D29;
  --color-gray-200: #3C3732;
  --color-gray-300: #4A4540;
  --color-gray-400: #6A635C;
  --color-gray-500: #8A827A;

  --color-text-primary: #FAFAF8;
  --color-text-secondary: #B5ADA4;
  --color-text-muted: #8A827A;
  --color-text-inverse: #1A1815;
  --color-border: #4A4540;
  --color-border-strong: #6A635C;
  --color-brand: #A5A98A;
  --color-brand-hover: #B3B6A2;
  --color-accent: #E0A05C;
  --color-accent-hover: #E8B37A;
}

[data-theme="dark"] .navbar,
[data-theme="dark"] .footer {
  background: #1A1815 !important;
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] body {
  background: var(--color-bg-page);
  color: var(--color-text-primary);
}

[data-theme="dark"] .main-content,
[data-theme="dark"] .home-shell,
[data-theme="dark"] .auth-shell,
[data-theme="dark"] .ai-page,
[data-theme="dark"] .container {
  color: var(--color-text-primary);
}

[data-theme="dark"] .navbar .nav-link {
  color: rgba(250, 250, 248, 0.72) !important;
}

[data-theme="dark"] .navbar .nav-link:hover,
[data-theme="dark"] .navbar .nav-link.active,
[data-theme="dark"] .navbar .nav-link[aria-current="page"] {
  color: #FFFFFF !important;
}

[data-theme="dark"] .brand-subtitle {
  color: rgba(250, 250, 248, 0.92);
}

[data-theme="dark"] .navbar .dropdown-menu {
  background: var(--color-bg-surface);
  border-color: var(--color-border);
  box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .navbar .dropdown-item-text {
  color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .dropdown-item {
  color: var(--color-text-secondary);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus-visible {
  background: var(--color-primary-50);
  color: var(--color-text-primary);
}

[data-theme="dark"] .dropdown-divider {
  border-top-color: var(--color-border);
}

[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(1.25);
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-body-secondary,
[data-theme="dark"] .dropdown-item-text {
  color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .auth-card,
[data-theme="dark"] .hero-card,
[data-theme="dark"] .hero-panel,
[data-theme="dark"] .soft-panel,
[data-theme="dark"] .feature-card,
[data-theme="dark"] .metric-card,
[data-theme="dark"] .mini-card,
[data-theme="dark"] .ai-table-shell,
[data-theme="dark"] .ai-feedback {
  background: var(--color-bg-surface);
  border-color: var(--color-border);
  box-shadow: var(--shadow-sm);
}

[data-theme="dark"] .hero-card,
[data-theme="dark"] .metric-card {
  border-left-color: var(--color-accent);
}

[data-theme="dark"] .public-hero {
  border-left: 0;
  background:
    radial-gradient(circle at 88% 14%, rgba(var(--tenant-accent-rgb), 0.18), transparent 30%),
    linear-gradient(135deg, var(--color-bg-surface) 0%, var(--color-primary-50) 100%);
}

[data-theme="dark"] .public-flow-card,
[data-theme="dark"] .public-statement,
[data-theme="dark"] .public-support-panel {
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--tenant-accent-rgb), 0.14), transparent 34%),
    var(--color-bg-surface);
}

[data-theme="dark"] .public-statement {
  border-left-color: var(--color-accent);
  border-left-width: 4px;
}

[data-theme="dark"] .public-resources__promise,
[data-theme="dark"] .public-journey-list {
  background: var(--color-bg-surface);
  border-color: var(--color-border);
}

[data-theme="dark"] .public-product-map {
  background:
    radial-gradient(circle at 85% 12%, rgba(var(--tenant-accent-rgb), 0.18), transparent 30%),
    linear-gradient(145deg, var(--color-bg-surface) 0%, var(--color-primary-50) 100%);
}

[data-theme="dark"] .public-product-map,
[data-theme="dark"] .public-product-map__kicker,
[data-theme="dark"] .public-product-map h3,
[data-theme="dark"] .public-product-map p {
  color: var(--color-text-primary);
}

[data-theme="dark"] .public-product-map p {
  opacity: 0.82;
}

[data-theme="dark"] .public-journey-step__number,
[data-theme="dark"] .public-journey-step strong,
[data-theme="dark"] .public-product-map__diagram span {
  background: color-mix(in srgb, var(--color-bg-elevated) 76%, transparent);
  border-color: var(--color-border);
}

[data-theme="dark"] .public-flow-card__steps span,
[data-theme="dark"] .public-proof-list span,
[data-theme="dark"] .public-hero-note {
  background: color-mix(in srgb, var(--color-bg-elevated) 76%, transparent);
  border-color: var(--color-border);
}

[data-theme="dark"] .public-flow-card__label,
[data-theme="dark"] .public-journey-step__number {
  color: var(--color-accent);
}

[data-theme="dark"] .hero-panel-title,
[data-theme="dark"] .section-title,
[data-theme="dark"] .ai-card__title,
[data-theme="dark"] .auth-title,
[data-theme="dark"] .timeline-label,
[data-theme="dark"] .metric-number {
  color: var(--color-text-primary);
}

[data-theme="dark"] .section-subtitle,
[data-theme="dark"] .hero-copy,
[data-theme="dark"] .hero-panel-text,
[data-theme="dark"] .feature-card p,
[data-theme="dark"] .ai-card__subtitle,
[data-theme="dark"] .ai-stat__meta,
[data-theme="dark"] .ai-field__hint,
[data-theme="dark"] .auth-helper,
[data-theme="dark"] .auth-microcopy,
[data-theme="dark"] .timeline-item .text-muted,
[data-theme="dark"] .timeline-item small,
[data-theme="dark"] .empty-state {
  color: var(--color-text-secondary);
}

[data-theme="dark"] .list-group-item,
[data-theme="dark"] .list-group-item-action {
  background: transparent;
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

[data-theme="dark"] .list-group-item-action:hover,
[data-theme="dark"] .list-group-item-action:focus-visible {
  background: rgba(141, 145, 107, 0.12);
  color: var(--color-text-primary);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .form-select::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] input::placeholder {
  color: var(--color-text-muted);
}

[data-theme="dark"] .form-label {
  color: var(--color-text-primary);
}

[data-theme="dark"] .btn-primary {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: var(--color-text-inverse);
}

[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus-visible {
  background: var(--color-brand-hover);
  border-color: var(--color-brand-hover);
  color: var(--color-text-inverse);
}

[data-theme="dark"] .btn-outline-primary {
  color: var(--color-brand);
  border-color: var(--color-brand);
}

[data-theme="dark"] .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:focus-visible {
  background: rgba(165, 169, 138, 0.16);
  color: var(--color-text-primary);
  border-color: var(--color-brand-hover);
}

[data-theme="dark"] .btn-outline-secondary {
  color: var(--color-text-secondary);
  border-color: var(--color-border);
}

[data-theme="dark"] .btn-outline-secondary:hover,
[data-theme="dark"] .btn-outline-secondary:focus-visible {
  background: rgba(255, 255, 255, 0.04);
  color: var(--color-text-primary);
  border-color: var(--color-border-strong);
}

[data-theme="dark"] .table {
  color: var(--color-text-primary);
  --bs-table-color: var(--color-text-primary);
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
  --bs-table-striped-color: var(--color-text-primary);
  --bs-table-hover-bg: rgba(141, 145, 107, 0.1);
  --bs-table-hover-color: var(--color-text-primary);
}

[data-theme="dark"] .table thead th {
  background: var(--color-primary-50);
  color: var(--color-text-primary);
}

[data-theme="dark"] .table tbody tr:hover {
  background: rgba(141, 145, 107, 0.12);
}

[data-theme="dark"] .table td,
[data-theme="dark"] .table th,
[data-theme="dark"] .ai-table td,
[data-theme="dark"] .ai-table th {
  border-color: var(--color-border);
}

[data-theme="dark"] .alert {
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

[data-theme="dark"] .alert-success {
  background: rgba(74, 124, 89, 0.18);
  color: #D9E9DF;
}

[data-theme="dark"] .alert-warning {
  background: rgba(212, 160, 23, 0.16);
  color: #F3E1B3;
}

[data-theme="dark"] .alert-danger {
  background: rgba(181, 66, 66, 0.16);
  color: #F0C7C7;
}

[data-theme="dark"] .alert-info {
  background: rgba(91, 141, 184, 0.16);
  color: #D1E3F4;
}

[data-theme="dark"] .badge.bg-primary {
  background: var(--color-brand) !important;
  color: var(--color-text-inverse);
}

[data-theme="dark"] .badge.bg-success {
  background: #4A7C59 !important;
  color: #FFFFFF;
}

[data-theme="dark"] .badge.bg-warning {
  background: #D4A017 !important;
  color: #1A1815;
}

[data-theme="dark"] .badge.bg-danger {
  background: #B54242 !important;
  color: #FFFFFF;
}

[data-theme="dark"] .badge.bg-info {
  background: #5B8DB8 !important;
  color: #FFFFFF;
}

[data-theme="dark"] .skip-link {
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
}

[data-theme="dark"] .theme-switcher {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .theme-switcher__option {
  color: rgba(250, 250, 248, 0.82);
}

[data-theme="dark"] .theme-switcher__option:hover {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .theme-switcher__option[aria-pressed="true"] {
  background: var(--color-accent);
  color: var(--color-text-inverse);
}

[data-theme="dark"] .footer-auth-copy,
[data-theme="dark"] .footer small,
[data-theme="dark"] .footer .small {
  color: rgba(250, 250, 248, 0.75);
}
