/* ==========================================================================
   X-Rapor — Neumorphism (Soft UI) Global Theme
   Light + Dark uyumlu. Bootstrap 5.3 override + legacy glassmorphism köprüsü.
   Spec: .agents/skills/ui.md
   Yükleme sırası: Bootstrap CDN -> neumorphism.css -> sayfa CSS'i
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) TOKENLAR — Light (:root) + Dark (html[data-bs-theme="dark"])
   -------------------------------------------------------------------------- */
:root {
  /* Yüzey ve zemin (beyaza yakın) */
  --neu-bg: #F4F6F9;
  --neu-surface: #F4F6F9;
  --neu-dark: #A3B1C6;
  --neu-light: #FFFFFF;

  /* Metin */
  --neu-text: #2D3748;
  /* muted metin: #718096 (3.71:1) light bg'de AA'yı geçmiyordu → #616C7A (4.9:1) okunur & hâlâ muted */
  --neu-text-muted: #616C7A;

  /* Accent (kurumsal kırmızı) */
  --neu-accent: #C81E2B;
  --neu-accent-rgb: 200, 30, 43;
  --neu-accent-hi: #FF5260;
  --neu-accent-lo: #A61622;

  /* Radius */
  --neu-radius-sm: 0.75rem;
  --neu-radius: 1rem;
  --neu-radius-lg: 1.5rem;
  --neu-radius-xl: 2rem;

  /* Gölge kompozitleri */
  --neu-shadow-sm:  6px 6px 12px rgba(163,177,198,.5),  -6px -6px 12px rgba(255,255,255,.85);
  --neu-shadow:     9px 9px 18px rgba(163,177,198,.55), -9px -9px 18px rgba(255,255,255,.9);
  --neu-shadow-lg:  14px 14px 28px rgba(163,177,198,.6), -14px -14px 28px rgba(255,255,255,1);
  --neu-shadow-inset:    inset 6px 6px 12px rgba(163,177,198,.5), inset -6px -6px 12px rgba(255,255,255,.85);
  --neu-shadow-inset-sm: inset 4px 4px 8px rgba(163,177,198,.45), inset -4px -4px 8px rgba(255,255,255,.8);

  /* Focus ring (erişilebilirlik) */
  --neu-focus-ring: 0 0 0 3px rgba(var(--neu-accent-rgb), .35);

  /* --- Motion token'ları (Faz 0 — additive; Emil Kowalski / apple-design prensipleri.
     Henüz hiçbir yerde referanslanmıyor → görsel değişiklik yok. Renkler değişmez. --- */
  --neu-ease-out: cubic-bezier(0.22, 1, 0.36, 1);       /* ifadeli ease-out (giriş/press) */
  --neu-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);    /* çift yönlü geçişler */
  --neu-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* hafif overshoot (ölçülü vurgu) */
  --neu-dur-fast: 120ms;
  --neu-dur: 200ms;
  --neu-dur-slow: 320ms;
  /* Hazır geçiş kısayolları — yalnız compositor-dostu property'ler (transform/opacity) */
  --neu-transition-transform: transform var(--neu-dur-fast) var(--neu-ease-out);
  --neu-transition-opacity: opacity var(--neu-dur) var(--neu-ease-out);

  /* --- Tipografi token'ları (Faz 0 — additive) --- */
  --neu-tracking-tight: -0.02em;   /* büyük başlıklar (h1/display) */
  --neu-tracking-normal: 0;         /* gövde metni */
  --neu-leading-tight: 1.1;         /* başlık satır yüksekliği */
  --neu-leading-body: 1.6;          /* gövde satır yüksekliği */

  /* --- Bootstrap köprüsü --- */
  --bs-primary: #C81E2B;
  --bs-primary-rgb: 200, 30, 43;
  --bs-body-bg: var(--neu-bg);
  --bs-body-color: var(--neu-text);
  --bs-secondary-color: var(--neu-text-muted);
  --bs-border-width: 0;

  /* --- Legacy glassmorphism değişken köprüsü (eski sayfa CSS'leri için) --- */
  --bg-gradient: var(--neu-bg);
  --glass-bg: var(--neu-surface);
  --glass-border: transparent;
  --glass-shadow: var(--neu-shadow);
  --text-color: var(--neu-text);
  --text-muted: var(--neu-text-muted);
  --input-bg: var(--neu-surface);
  --nav-bg: var(--neu-surface);
  --blur-amount: 0px;
  --radius: var(--neu-radius);

  /* --- Eski neumorphic.css değişken köprüsü (--bs-white / --bs-box-shadow) --- */
  --bs-white: var(--neu-surface);
  --bs-light: var(--neu-surface);
  --bs-box-shadow: var(--neu-shadow);
  --bs-box-shadow-sm: var(--neu-shadow-sm);
  --bs-box-shadow-lg: var(--neu-shadow-lg);
  --bs-box-shadow-inset: var(--neu-shadow-inset);
}

html[data-bs-theme="dark"] {
  --neu-bg: #2C2F36;
  --neu-surface: #2C2F36;
  --neu-dark: #212327;
  --neu-light: #383C44;

  --neu-text: #E2E8F0;
  --neu-text-muted: #94A3B8;

  --neu-accent: #FF4757;
  --neu-accent-rgb: 255, 71, 87;
  --neu-accent-hi: #FF6B78;
  --neu-accent-lo: #C81E2B;

  --neu-shadow-sm:  6px 6px 12px rgba(0,0,0,.5),  -6px -6px 12px rgba(255,255,255,.04);
  --neu-shadow:     9px 9px 18px rgba(0,0,0,.55), -9px -9px 18px rgba(255,255,255,.05);
  --neu-shadow-lg:  14px 14px 28px rgba(0,0,0,.6), -14px -14px 28px rgba(255,255,255,.06);
  --neu-shadow-inset:    inset 6px 6px 12px rgba(0,0,0,.55), inset -6px -6px 12px rgba(255,255,255,.05);
  --neu-shadow-inset-sm: inset 4px 4px 8px rgba(0,0,0,.5), inset -4px -4px 8px rgba(255,255,255,.04);

  --bs-body-bg: var(--neu-bg);
  --bs-body-color: var(--neu-text);

  /* legacy köprü dark */
  --bg-gradient: var(--neu-bg);
  --glass-bg: var(--neu-surface);
  --glass-border: transparent;
  --glass-shadow: var(--neu-shadow);
  --text-color: var(--neu-text);
  --text-muted: var(--neu-text-muted);
  --input-bg: var(--neu-surface);
  --nav-bg: var(--neu-surface);
  --bs-white: var(--neu-surface);
  --bs-light: var(--neu-surface);
  --bs-box-shadow: var(--neu-shadow);
  --bs-box-shadow-sm: var(--neu-shadow-sm);
  --bs-box-shadow-lg: var(--neu-shadow-lg);
  --bs-box-shadow-inset: var(--neu-shadow-inset);
}

/* --------------------------------------------------------------------------
   1b) shadcn/HSL TOKEN KÖPRÜSÜ
   Sayfa CSS'leri renklerini hsl(var(--background)), hsl(var(--card)),
   hsl(var(--foreground)) gibi shadcn HSL token'larından alıyor (eskiden
   bootstrap_theme_vars.css'teydi). Tek yerden neu değerlerine köprülüyoruz;
   böylece tüm sayfaların özel-sınıf renkleri neu'ya döner.
   -------------------------------------------------------------------------- */
:root {
  --background: 214 24% 96%;        /* #E0E5EC neu-bg  */
  --card: 214 24% 96%;
  --popover: 214 24% 96%;
  --foreground: 218 23% 23%;        /* #2D3748 neu-text */
  --card-foreground: 218 23% 23%;
  --popover-foreground: 218 23% 23%;
  --muted: 214 20% 92%;             /* hafif çökük yüzey */
  --muted-foreground: 216 15% 52%;  /* #718096 muted */
  --border: 214 24% 96%;            /* zeminle aynı → görünmez kenarlık */
  --input: 214 24% 96%;
  --ring: 355 74% 45%;
  --primary: 355 74% 45%;           /* #C81E2B accent */
  --primary-foreground: 0 0% 100%;
  --secondary: 214 20% 92%;
  --secondary-foreground: 218 23% 23%;
  --accent: 214 20% 92%;
  --accent-foreground: 218 23% 23%;
  --destructive: 355 74% 45%;
  --destructive-foreground: 0 0% 100%;
  --chart-1: 355 74% 45%;
  --chart-2: 152 60% 38%;           /* success/yeşil */
  --chart-3: 45 90% 48%;            /* warning/amber */
  --chart-4: 263 60% 55%;
  --chart-5: 210 15% 45%;
}
html[data-bs-theme="dark"] {
  --background: 222 10% 19%;        /* #2C2F36 neu-bg dark */
  --card: 222 10% 19%;
  --popover: 222 10% 19%;
  --foreground: 213 32% 91%;        /* #E2E8F0 */
  --card-foreground: 213 32% 91%;
  --popover-foreground: 213 32% 91%;
  --muted: 222 10% 23%;
  --muted-foreground: 215 20% 65%;  /* #94A3B8 */
  --border: 222 10% 19%;
  --input: 222 10% 19%;
  --ring: 355 100% 64%;
  --primary: 355 100% 64%;          /* #FF4757 */
  --secondary: 222 10% 23%;
  --accent: 222 10% 23%;
  --destructive: 355 100% 64%;
  --chart-1: 355 100% 64%;
  --chart-2: 152 55% 48%;
  --chart-3: 45 90% 58%;
}

/* --------------------------------------------------------------------------
   2) GLOBAL ZEMİN + UTILITY OVERRIDE
   -------------------------------------------------------------------------- */
body {
  background: var(--neu-bg) !important;
  color: var(--neu-text) !important;
  min-height: 100vh;
}

/* Glassmorphism gradient/glow blob kalıntılarını nötrle */
body::before, body::after { display: none !important; }

/* --------------------------------------------------------------------------
   TİPOGRAFİ (Faz 3) — Emil / apple-design: büyük başlıklar sıkı tracking,
   gövde nötr. Renk DEĞİŞMEZ; yalnız harf aralığı/leading rafine edilir.
   Sayfa-özel başlık stilleri (daha spesifik) bunu override eder.
   -------------------------------------------------------------------------- */
body { font-optical-sizing: auto; }
h1, .h1,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  letter-spacing: var(--neu-tracking-tight);
}
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  line-height: var(--neu-leading-tight);
}
h2, .h2, h3, .h3 { letter-spacing: -0.01em; }

.bg-light, .bg-white, .bg-dark, .bg-body, .bg-body-tertiary, .bg-black {
  background-color: var(--neu-surface) !important;
}

.border, .border-top, .border-end, .border-bottom, .border-start {
  border: none !important;
}

.rounded    { border-radius: var(--neu-radius) !important; }
.rounded-lg { border-radius: var(--neu-radius-lg) !important; }
.rounded-circle { border-radius: 50% !important; }

.shadow-sm    { box-shadow: var(--neu-shadow-sm) !important; }
.shadow       { box-shadow: var(--neu-shadow) !important; }
.shadow-lg    { box-shadow: var(--neu-shadow-lg) !important; }
.shadow-inset { box-shadow: var(--neu-shadow-inset) !important; }
.shadow-none  { box-shadow: none !important; }

.text-muted, .text-secondary { color: var(--neu-text-muted) !important; }

/* --------------------------------------------------------------------------
   3) BUTONLAR
   -------------------------------------------------------------------------- */
.btn {
  background: var(--neu-surface);
  color: var(--neu-text);
  border: none !important;
  border-radius: var(--neu-radius);
  box-shadow: var(--neu-shadow);
  font-weight: 600;
  padding: 0.6rem 1.4rem;
  transition: box-shadow var(--neu-dur) var(--neu-ease-out),
              transform var(--neu-dur-fast) var(--neu-ease-out),
              filter var(--neu-dur) var(--neu-ease-out);
}
.btn:hover   { box-shadow: var(--neu-shadow-sm); color: var(--neu-text); }
.btn:active, .btn.active {
  box-shadow: var(--neu-shadow-inset);
  transform: translateY(1px);
}
.btn:focus-visible { box-shadow: var(--neu-shadow), var(--neu-focus-ring); outline: none; }
.btn:disabled, .btn.disabled { opacity: .5; box-shadow: var(--neu-shadow-sm); }

/* Birincil / CTA / danger: dolu kırmızı raised */
.btn-primary, .btn-danger {
  background: linear-gradient(145deg, var(--neu-accent-hi), var(--neu-accent-lo));
  color: #fff;
}
.btn-primary:hover, .btn-danger:hover { filter: brightness(1.05); color: #fff; }
.btn-primary:active, .btn-danger:active { filter: brightness(.97); }

/* Outline birincil: nötr yüzey + kırmızı metin */
.btn-outline-primary, .btn-outline-danger { color: var(--neu-accent); }
.btn-outline-primary:hover, .btn-outline-danger:hover { color: var(--neu-accent); box-shadow: var(--neu-shadow-sm); }

/* Secondary/light: nötr raised */
.btn-secondary, .btn-light, .btn-outline-secondary, .btn-outline-light {
  background: var(--neu-surface); color: var(--neu-text);
}

/* Link buton: gölgesiz */
.btn-link { box-shadow: none !important; color: var(--neu-accent); }
.btn-link:hover { box-shadow: none !important; }

/* İkon-buton */
.btn-icon {
  width: 40px; height: 40px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: var(--neu-shadow-sm);
}

/* --------------------------------------------------------------------------
   4) FORMLAR (inset)
   -------------------------------------------------------------------------- */
.form-control, .form-select, textarea {
  background: var(--neu-surface) !important;
  color: var(--neu-text) !important;
  border: none !important;
  border-radius: var(--neu-radius);
  box-shadow: var(--neu-shadow-inset);
  padding: 0.75rem 1.2rem;
  transition: box-shadow var(--neu-dur) var(--neu-ease-out);
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.form-control::placeholder { color: var(--neu-text-muted); opacity: 1; }
.form-control:focus, .form-select:focus {
  background: var(--neu-surface) !important;
  color: var(--neu-text) !important;
  box-shadow: var(--neu-shadow-inset), var(--neu-focus-ring) !important;
  outline: none;
}
.form-control.is-invalid { box-shadow: var(--neu-shadow-inset), 0 0 0 3px rgba(var(--neu-accent-rgb), .4); }
.form-control.is-valid   { box-shadow: var(--neu-shadow-inset), 0 0 0 3px rgba(40,167,69,.35); }
.input-group-text {
  background: var(--neu-surface) !important; border: none !important;
  box-shadow: var(--neu-shadow-inset-sm); color: var(--neu-text-muted);
}

/* Toggle switch */
.form-switch .form-check-input {
  background-color: var(--neu-surface); border: none;
  box-shadow: var(--neu-shadow-inset-sm);
}
.form-switch .form-check-input:checked {
  background-color: var(--neu-accent);
  box-shadow: var(--neu-shadow-inset-sm), 0 0 6px rgba(var(--neu-accent-rgb), .5);
}
/* Checkbox / radio */
.form-check-input {
  background-color: var(--neu-surface); border: none;
  box-shadow: var(--neu-shadow-sm);
}
.form-check-input:checked { background-color: var(--neu-accent); box-shadow: var(--neu-shadow-inset-sm); }
.form-check-input:focus-visible { box-shadow: var(--neu-shadow-sm), var(--neu-focus-ring); }

/* Range slider */
.form-range::-webkit-slider-runnable-track {
  background: var(--neu-surface); border-radius: 999px; box-shadow: var(--neu-shadow-inset-sm); height: .5rem;
}
.form-range::-webkit-slider-thumb { background: var(--neu-accent); border: none; box-shadow: var(--neu-shadow-sm); }
.form-range::-moz-range-track { background: var(--neu-surface); border-radius: 999px; box-shadow: var(--neu-shadow-inset-sm); height: .5rem; }
.form-range::-moz-range-thumb { background: var(--neu-accent); border: none; box-shadow: var(--neu-shadow-sm); }

/* --------------------------------------------------------------------------
   5) KARTLAR
   -------------------------------------------------------------------------- */
.card, .kpi-card {
  background: var(--neu-surface) !important;
  color: var(--neu-text) !important;
  border: none !important;
  border-radius: var(--neu-radius-xl);
  box-shadow: var(--neu-shadow-lg);
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  /* Geçiş base'de: hover giriş VE çıkış her iki yönde de yumuşak (önceden yalnız :hover'daydı) */
  transition: box-shadow var(--neu-dur) var(--neu-ease-out),
              transform var(--neu-dur) var(--neu-ease-out);
}
.card-header, .card-footer {
  background: transparent !important;
  border: none !important;
  color: var(--neu-text) !important;
}
.card:hover, .kpi-card:hover { box-shadow: var(--neu-shadow); transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   6) PROGRESS
   -------------------------------------------------------------------------- */
.progress {
  background: var(--neu-surface) !important;
  border-radius: 999px;
  box-shadow: var(--neu-shadow-inset-sm);
  overflow: hidden;
}
.progress-bar {
  background: linear-gradient(135deg, var(--neu-accent-hi) 0%, var(--neu-accent) 50%, var(--neu-accent-lo) 100%) !important;
  box-shadow: 0 0 10px rgba(var(--neu-accent-rgb), .5);
}

/* --------------------------------------------------------------------------
   7) NAVBAR
   -------------------------------------------------------------------------- */
.navbar {
  background: var(--neu-surface) !important;
  box-shadow: var(--neu-shadow-sm);
  border: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.navbar .navbar-brand, .navbar .nav-link, .navbar span { color: var(--neu-text) !important; }
.navbar .nav-link.active { color: var(--neu-accent) !important; font-weight: 700; }
.navbar-dark.bg-dark, .bg-dark.navbar { background: var(--neu-surface) !important; }

/* Landing navbar: genel sayfa arkaplanıyla BİREBİR aynı + gölgesiz/düz (light+dark).
   Yüksek özgüllük → base '.navbar' ve dark '.navbar' kurallarını ezer; sayfa bütünlüğü. */
.navbar.navbar-landing,
html[data-bs-theme="dark"] .navbar.navbar-landing {
  background: var(--neu-bg) !important;
  box-shadow: none !important;
  border: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

/* --------------------------------------------------------------------------
   8) DROPDOWN / MODAL
   -------------------------------------------------------------------------- */
.dropdown-menu {
  background: var(--neu-surface); border: none;
  border-radius: var(--neu-radius); box-shadow: var(--neu-shadow-lg);
}
.dropdown-item { color: var(--neu-text); border-radius: var(--neu-radius-sm); }
.dropdown-item:hover, .dropdown-item:focus {
  background: var(--neu-surface); box-shadow: var(--neu-shadow-inset-sm); color: var(--neu-accent);
}

.modal-content {
  background: var(--neu-surface) !important;
  color: var(--neu-text) !important;
  border: none !important;
  border-radius: var(--neu-radius-lg);
  box-shadow: var(--neu-shadow-lg);
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.modal-header, .modal-footer { border: none !important; }

/* --------------------------------------------------------------------------
   9) TABLO
   -------------------------------------------------------------------------- */
.table { color: var(--neu-text) !important; --bs-table-bg: transparent; }
.table > :not(caption) > * > * { background: transparent !important; box-shadow: none; }
.table thead th { color: var(--neu-text-muted) !important; border: none !important; font-weight: 600; }
.table td, .table th { border-bottom: none !important; }
.table-neu { border-radius: var(--neu-radius); box-shadow: var(--neu-shadow-inset); padding: .5rem; }

/* --------------------------------------------------------------------------
   10) NAV-PILLS / TABS (segmented)
   -------------------------------------------------------------------------- */
.nav-pills {
  background: var(--neu-surface); border-radius: 999px;
  box-shadow: var(--neu-shadow-inset-sm); padding: .3rem; gap: .3rem;
}
.nav-pills .nav-link { color: var(--neu-text-muted); border-radius: 999px; }
.nav-pills .nav-link.active {
  background: var(--neu-surface); color: var(--neu-accent);
  box-shadow: var(--neu-shadow-sm);
}

/* --------------------------------------------------------------------------
   11) BADGE / ALERT / LIST-GROUP / ACCORDION
   -------------------------------------------------------------------------- */
.badge {
  background-color: var(--neu-surface) !important; color: var(--neu-text) !important;
  box-shadow: var(--neu-shadow-sm); font-weight: 600; border-radius: 999px;
}
.badge.bg-primary, .badge.bg-danger { background: var(--neu-accent) !important; color: #fff !important; }

.alert {
  background: var(--neu-surface) !important; color: var(--neu-text) !important;
  border: none !important; border-radius: var(--neu-radius);
  box-shadow: var(--neu-shadow-inset); backdrop-filter: none !important;
}
.alert-danger { color: var(--neu-accent) !important; }

.list-group-item {
  background: var(--neu-surface) !important; color: var(--neu-text) !important;
  border: none !important; margin-bottom: .5rem; border-radius: var(--neu-radius) !important;
  box-shadow: var(--neu-shadow-sm); backdrop-filter: none !important;
}
.accordion-item {
  background: var(--neu-surface) !important; border: none !important;
  box-shadow: var(--neu-shadow); border-radius: var(--neu-radius) !important; margin-bottom: .75rem;
}
.accordion-button {
  background: var(--neu-surface) !important; color: var(--neu-text) !important;
  box-shadow: none !important; border-radius: var(--neu-radius) !important;
}
.accordion-button:not(.collapsed) { color: var(--neu-accent) !important; box-shadow: var(--neu-shadow-inset-sm) !important; }
.accordion-button:focus { box-shadow: var(--neu-focus-ring) !important; }

/* --------------------------------------------------------------------------
   12) PAGINATION / SPINNER / TOOLTIP / TOAST
   -------------------------------------------------------------------------- */
.page-link {
  background: var(--neu-surface); color: var(--neu-text); border: none;
  box-shadow: var(--neu-shadow-sm); margin: 0 .2rem; border-radius: var(--neu-radius-sm);
}
.page-item.active .page-link { color: var(--neu-accent); box-shadow: var(--neu-shadow-inset-sm); }
.spinner-border, .spinner-grow { color: var(--neu-accent) !important; }
.tooltip-inner { background: var(--neu-surface); color: var(--neu-text); box-shadow: var(--neu-shadow); border-radius: var(--neu-radius-sm); }
.toast {
  background: var(--neu-surface); color: var(--neu-text); border: none;
  box-shadow: var(--neu-shadow-lg); border-radius: var(--neu-radius); backdrop-filter: none !important;
}

/* --------------------------------------------------------------------------
   13) SweetAlert2
   -------------------------------------------------------------------------- */
.swal2-popup {
  background: var(--neu-surface) !important; color: var(--neu-text) !important;
  border-radius: var(--neu-radius-lg) !important; box-shadow: var(--neu-shadow-lg) !important;
  backdrop-filter: none !important;
}
.swal2-title, .swal2-html-container { color: var(--neu-text) !important; }
.swal2-confirm {
  background: linear-gradient(145deg, var(--neu-accent-hi), var(--neu-accent-lo)) !important;
  color: #fff !important; box-shadow: var(--neu-shadow-sm) !important; border-radius: var(--neu-radius) !important;
}
.swal2-cancel {
  background: var(--neu-surface) !important; color: var(--neu-text) !important;
  box-shadow: var(--neu-shadow-sm) !important; border-radius: var(--neu-radius) !important;
}

/* --------------------------------------------------------------------------
   14) Flatpickr (tarih seçici)
   -------------------------------------------------------------------------- */
.flatpickr-calendar { background: var(--neu-surface) !important; box-shadow: var(--neu-shadow-lg) !important; border: none !important; border-radius: var(--neu-radius) !important; }
.flatpickr-day { color: var(--neu-text) !important; border-radius: var(--neu-radius-sm) !important; border: none !important; }
.flatpickr-day.selected { background: var(--neu-accent) !important; box-shadow: var(--neu-shadow-inset-sm) !important; color: #fff !important; }
.flatpickr-day:hover { box-shadow: var(--neu-shadow-inset-sm) !important; background: var(--neu-surface) !important; }
.flatpickr-months .flatpickr-month, .flatpickr-weekdays, .flatpickr-weekday, .flatpickr-current-month { color: var(--neu-text-muted) !important; fill: var(--neu-text-muted) !important; }

/* --------------------------------------------------------------------------
   15) ERİŞİLEBİLİRLİK / HAREKET
   -------------------------------------------------------------------------- */
:focus-visible { outline: none; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
  .card:hover, .kpi-card:hover, .btn:active { transform: none !important; }
}

/* --------------------------------------------------------------------------
   16) SAFETY-NET — sayfa CSS'lerindeki yüksek specificity'li eski tema
   override'larını (özellikle [data-bs-theme="dark"] body/.card {..!important})
   otoriter şekilde ezmek için html[...] önekiyle daha yüksek specificity.
   -------------------------------------------------------------------------- */
html body { background: var(--neu-bg) !important; color: var(--neu-text) !important; }

html[data-bs-theme="dark"] body {
  background: var(--neu-bg) !important; color: var(--neu-text) !important;
}
html[data-bs-theme="dark"] .card,
html[data-bs-theme="dark"] .kpi-card,
html[data-bs-theme="dark"] .modal-content,
html[data-bs-theme="dark"] .list-group-item,
html[data-bs-theme="dark"] .accordion-item,
html[data-bs-theme="dark"] .dropdown-menu,
html[data-bs-theme="dark"] .toast {
  background: var(--neu-surface) !important;
  color: var(--neu-text) !important;
  border: none !important;
}
html[data-bs-theme="dark"] .bg-white,
html[data-bs-theme="dark"] .bg-light,
html[data-bs-theme="dark"] .bg-body,
html[data-bs-theme="dark"] .bg-body-tertiary,
html[data-bs-theme="dark"] .bg-dark,
html[data-bs-theme="dark"] .bg-black {
  background-color: var(--neu-surface) !important;
}
html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] textarea,
html[data-bs-theme="dark"] .input-group-text {
  background: var(--neu-surface) !important;
  color: var(--neu-text) !important;
  border: none !important;
}
html[data-bs-theme="dark"] .table { color: var(--neu-text) !important; }
html[data-bs-theme="dark"] .navbar,
html[data-bs-theme="dark"] .navbar-dark,
html[data-bs-theme="dark"] .navbar.bg-dark { background: var(--neu-surface) !important; }
html[data-bs-theme="dark"] .alert { background: var(--neu-surface) !important; color: var(--neu-text) !important; }

/* Light tarafta da yüksek specificity'li hardcoded body/gradient override'larını ez */
html:not([data-bs-theme="dark"]) body { background: var(--neu-bg) !important; color: var(--neu-text) !important; }
