/* ============================================================
   QUALEAD Brand System
   3-Layer Color Architecture + Typography
   ============================================================ */

/* ----------------------------------------------------------
   LAYER 1 — Brand Identity
   ---------------------------------------------------------- */
:root {
  --qa-brand:       #0F4C5C;
  --qa-brand-dark:  #0c3c48;
  --qa-brand-light: #E6F2F4;
}

/* ----------------------------------------------------------
   LAYER 2 — Semantic Colors (preserve Bootstrap meaning)
   ---------------------------------------------------------- */
:root {
  --qa-success: #198754;
  --qa-warning: #f59e0b;
  --qa-danger:  #dc3545;
  --qa-info:    #0d6efd;
}

/* ----------------------------------------------------------
   LAYER 3 — Surface System
   ---------------------------------------------------------- */
:root {
  --qa-bg-main:   #F5F7FA;
  --qa-card-bg:   #FFFFFF;
  --qa-border:    #E4E7EB;
  --qa-text-main: #1F2933;
  --qa-text-muted: #616E7C;
  --qa-input-bg:   #FFFFFF;
  --qa-input-border: #CBD2D9;
  --qa-table-stripe: #F5F7FA;
  --qa-modal-bg:   #FFFFFF;
  --qa-shadow:     rgba(0, 0, 0, 0.08);
}

/* ----------------------------------------------------------
   Dark Mode Surface Overrides
   ---------------------------------------------------------- */
[data-theme="dark"] {
  --qa-bg-main:   #0d1117;
  --qa-card-bg:   #1f2937;
  --qa-border:    #374151;
  --qa-text-main: #f0f6fc;
  --qa-text-muted: #9ca3af;
  --qa-input-bg:   #1f2937;
  --qa-input-border: #4b5563;
  --qa-table-stripe: #1f2937;
  --qa-modal-bg:   #1f2937;
  --qa-shadow:     rgba(0, 0, 0, 0.5);

  --qa-brand-light: #1a3a42;
}

/* ----------------------------------------------------------
   TYPOGRAPHY
   ---------------------------------------------------------- */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 0.875rem;
  color: var(--qa-text-main);
  background-color: var(--qa-bg-main);
  transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 600;
  color: var(--qa-text-main);
}

.navbar-brand {
  font-family: 'Montserrat', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* ----------------------------------------------------------
   SURFACE APPLICATION
   ---------------------------------------------------------- */
.card {
  background-color: var(--qa-card-bg);
  border-color: var(--qa-border);
  color: var(--qa-text-main);
}

.card-header {
  background-color: var(--qa-card-bg);
  border-color: var(--qa-border);
}

.modal-content {
  background-color: var(--qa-modal-bg);
  color: var(--qa-text-main);
}

.form-control, .form-select {
  background-color: var(--qa-input-bg);
  border-color: var(--qa-input-border);
  color: var(--qa-text-main);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: var(--qa-input-bg);
  color: var(--qa-text-main);
  border-color: #6c757d;
}

.table {
  color: var(--qa-text-main);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: var(--qa-table-stripe);
  color: var(--qa-text-main);
}

/* ----------------------------------------------------------
   DARK MODE — Component Overrides
   ---------------------------------------------------------- */
[data-theme="dark"] .card-header.bg-dark {
  background-color: #111827 !important;
}

[data-theme="dark"] .card-header.bg-primary {
  background-color: var(--qa-brand) !important;
}

[data-theme="dark"] .card-header.bg-white {
  background-color: var(--qa-card-bg) !important;
}

[data-theme="dark"] .bg-white {
  background-color: var(--qa-card-bg) !important;
}

[data-theme="dark"] .bg-light {
  background-color: #1f2937 !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
  background-color: #374151 !important;
}

[data-theme="dark"] .dropdown-menu {
  background-color: var(--qa-card-bg);
  border-color: var(--qa-border);
}

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

[data-theme="dark"] .dropdown-item:hover {
  background-color: #374151;
}

[data-theme="dark"] .text-muted {
  color: var(--qa-text-muted) !important;
}

[data-theme="dark"] .border {
  border-color: var(--qa-border) !important;
}

/* Dark mode — outline button variants */
[data-theme="dark"] .btn-outline-primary {
  color: #6ea8fe;
  border-color: #6ea8fe;
}
[data-theme="dark"] .btn-outline-primary:hover {
  background-color: #6ea8fe;
  border-color: #6ea8fe;
  color: #000;
}

[data-theme="dark"] .btn-outline-secondary {
  color: #adb5bd;
  border-color: #6c757d;
}
[data-theme="dark"] .btn-outline-secondary:hover {
  background-color: #6c757d;
  border-color: #6c757d;
}

[data-theme="dark"] .btn-outline-success {
  color: #75b798;
  border-color: #75b798;
}
[data-theme="dark"] .btn-outline-success:hover {
  background-color: #75b798;
  border-color: #75b798;
  color: #000;
}

[data-theme="dark"] .btn-outline-danger {
  color: #ea868f;
  border-color: #ea868f;
}
[data-theme="dark"] .btn-outline-danger:hover {
  background-color: #ea868f;
  border-color: #ea868f;
  color: #000;
}

[data-theme="dark"] .btn-outline-warning {
  color: #ffda6a;
  border-color: #ffda6a;
}
[data-theme="dark"] .btn-outline-warning:hover {
  background-color: #ffda6a;
  border-color: #ffda6a;
  color: #000;
}

[data-theme="dark"] .btn-outline-info {
  color: #6edff6;
  border-color: #6edff6;
}
[data-theme="dark"] .btn-outline-info:hover {
  background-color: #6edff6;
  border-color: #6edff6;
  color: #000;
}

[data-theme="dark"] .list-group-item {
  background-color: var(--qa-card-bg);
  border-color: var(--qa-border);
  color: var(--qa-text-main);
}

[data-theme="dark"] .list-group-item:hover {
  background-color: #374151;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
  border-color: var(--qa-border);
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
  color: var(--qa-text-main);
}

[data-theme="dark"] .card-title {
  color: var(--qa-text-main);
}

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

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

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

[data-theme="dark"] .lead {
  color: var(--qa-text-main);
}

[data-theme="dark"] p {
  color: var(--qa-text-main);
}

[data-theme="dark"] .dropdown-header {
  color: var(--qa-text-muted);
}

/* ----------------------------------------------------------
   NAVBAR
   ---------------------------------------------------------- */
.navbar {
  padding: 0.75rem 1rem;
}

[data-theme="dark"] .navbar.bg-dark {
  background-color: #0d1117 !important;
  border-bottom: 1px solid var(--qa-border);
}

.nav-link {
  padding: 0.5rem 1rem;
  transition: all 0.2s;
}

.nav-link:hover {
  opacity: 1;
}

.navbar .nav-link.active,
.navbar .nav-item .nav-link.active {
  border-bottom: 2px solid var(--qa-brand-light);
}

.dropdown-menu {
  border: 1px solid var(--qa-border);
  box-shadow: var(--qa-shadow);
}

.dropdown-item {
  padding: 0.5rem 1rem;
  transition: all 0.2s;
}

.dropdown-item:hover {
  background-color: var(--qa-bg-main);
}

[data-theme="dark"] .dropdown-item:hover {
  background-color: #374151;
}

/* ----------------------------------------------------------
   ALERTS & THEME TOGGLE
   ---------------------------------------------------------- */
.alert {
  border: none;
  box-shadow: 0 0.125rem 0.25rem var(--qa-shadow);
}

#themeToggle {
  border: none !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.55) !important;
  cursor: pointer;
  padding: 0.5rem 1rem;
  font-size: 1.1rem;
}

#themeToggle:hover {
  color: rgba(255, 255, 255, 0.75) !important;
}

#themeToggle:focus {
  outline: none;
  box-shadow: none;
}

/* ----------------------------------------------------------
   BRAND BUTTON — Dark Mode Variant
   ---------------------------------------------------------- */
[data-theme="dark"] .btn-qa-primary {
  background-color: var(--qa-brand);
  border-color: var(--qa-brand);
  color: #ffffff;
}

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