/* Keka theme — global overrides & button system */
html.theme-purple body,
html.theme-purple.dark-mode body {
  background: var(--primary-background-color);
  color: var(--secondary-color-text);
}

/* Primary buttons (Keka lavender) */
.btn-pri, .btn-auth, .btn-submit, .nav-cta, .quote-submit,
.hw-btn-next, .tms-mode-btn.active {
  background: var(--primary-button-bg) !important;
  color: var(--primary-button-text, var(--primary-color-light)) !important;
  border: 1px solid transparent;
}
.btn-pri:hover, .btn-auth:hover:not(:disabled), .btn-submit:hover,
.nav-cta:hover, .quote-submit:hover:not(:disabled),
.hw-btn-next:hover:not(:disabled) {
  background: var(--primary-button-hover-bg) !important;
  color: var(--primary-button-hover-text, #1a1230) !important;
  box-shadow: 0 4px 20px rgba(var(--primary-color-RGB), 0.35);
}

.btn-ghost, .nav-login, .role-tab {
  border-color: var(--border-color);
  color: var(--secondary-color-text);
}
.btn-ghost:hover, .nav-login:hover {
  border-color: var(--primary-link-color);
  color: var(--primary-link-color);
}

.role-tab.active {
  background: var(--primary-color-light) !important;
  color: var(--primary-link-color) !important;
  border: 1px solid rgba(var(--primary-color-RGB), 0.4);
}

/* Cards & surfaces */
.auth-card, .quote-card, .adv-card, .why-point, .wsg,
.kpi-card, .bld-card, .sa-kpi, .card, .hp-card, .hero-preview {
  background: var(--secondary-background-color) !important;
  border-color: var(--border-color) !important;
}

/* Inputs */
input, select, textarea,
.field-group input, .field-group select,
.q-field input, .q-field select,
.form-field input, .form-field select {
  background: var(--background-color-light) !important;
  border-color: var(--input-border-color) !important;
  color: var(--primary-color-text) !important;
}
input::placeholder, textarea::placeholder {
  color: var(--hint-color-text) !important;
}
input:focus, select:focus, textarea:focus,
.field-group input:focus, .q-field input:focus,
.form-field input:focus {
  border-color: var(--primary-link-color) !important;
  box-shadow: 0 0 0 3px rgba(var(--primary-color-RGB), 0.2) !important;
}

/* Links & accents */
a, .auth-footer-note a, .footer-links a:hover {
  color: var(--primary-link-color);
}
.sb-btn.active, .sa-btn.active {
  background: var(--primary-color-light) !important;
  color: var(--primary-link-color) !important;
  border-color: rgba(var(--primary-color-RGB), 0.35) !important;
}
.sb-logo-hex, .logo-hex, .nav-hex, .sa-hex {
  color: var(--primary-link-color) !important;
}

/* Nav shells */
nav {
  background: var(--nav-bg) !important;
  border-bottom-color: var(--border-color) !important;
}
nav.nav-scrolled {
  background: var(--nav-bg-scrolled) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
}

.auth-left {
  background: var(--background-color-light) !important;
  border-right-color: var(--border-color) !important;
}
.auth-right {
  background: var(--primary-background-color) !important;
}
.auth-bg {
  background: var(--primary-background-color) !important;
}
.auth-bg-grid {
  background-image:
    linear-gradient(rgba(20, 55, 82, 0.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 55, 82, 0.5) 1px, transparent 1px) !important;
}

.role-tabs {
  background: var(--background-color-light) !important;
  border-color: var(--border-color) !important;
}

.auth-chip.highlight {
  border-color: rgba(var(--primary-color-RGB), 0.45) !important;
  color: var(--primary-link-color) !important;
  background: var(--primary-color-light) !important;
}
.auth-chip {
  border-color: var(--border-color) !important;
  color: var(--hint-color-text) !important;
  background: var(--background-color-light) !important;
}

/* Sidebar active indicator */
.sb-btn.active {
  box-shadow: inset 3px 0 0 var(--primary-link-color);
}

::selection {
  background: var(--selection-bg, rgba(var(--primary-color-RGB), 0.35));
  color: var(--selection-text, var(--primary-color-text));
}
