/* ═══════════════════════════════════════════════════════════════════════
   TEMA TOKEN'LARI — tüm dashboard sayfaları için tek kaynak (2026-09)
   ─────────────────────────────────────────────────────────────────────
   Mekanizma: koyu tema varsayılan; açık tema body.light-theme sınıfıyla
   (layout-foot.ejs toggleTheme(), localStorage 'theme'). Her token'ın
   :root'taki değeri KOYU temadaki eski sabit rengin birebir aynısıdır;
   body.light-theme altında açık tema karşılığı tanımlıdır. Böylece koyu
   görünüm değişmez, açık tema otomatik uyum sağlar.

   Aileler:
     --dp-fg            ana metin (#fff / #1e293b)
     --dp-tNN           metin alfaları  (rgba(255,255,255,0.NN) ↔ slate)
     --dp-sNN           yüzey/kenarlık beyaz-alfa (cam yüzey, çip zemini)
     --dp-kNN           mürekkep siyah-alfa (koyu karo/tile zemini)
     --th-*             anlamsal: sayfa, kart, karo, metin, kenarlık,
                        grafik (tick/grid/legend/tooltip), input
   Grafikler: /assets/js/chart-theme.js bu token'ları getComputedStyle ile
   okur (getChartTheme) ve tema değişince tüm Chart.js örneklerini günceller.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --dp-fg: #ffffff;
  --dp-t05: rgba(255,255,255,0.05);
  --dp-t1: rgba(255,255,255,0.1);
  --dp-t15: rgba(255,255,255,0.15);
  --dp-t18: rgba(255,255,255,0.18);
  --dp-t2: rgba(255,255,255,0.2);
  --dp-t22: rgba(255,255,255,0.22);
  --dp-t24: rgba(255,255,255,0.24);
  --dp-t25: rgba(255,255,255,0.25);
  --dp-t28: rgba(255,255,255,0.28);
  --dp-t3: rgba(255,255,255,0.3);
  --dp-t32: rgba(255,255,255,0.32);
  --dp-t35: rgba(255,255,255,0.35);
  --dp-t38: rgba(255,255,255,0.38);
  --dp-t4: rgba(255,255,255,0.4);
  --dp-t42: rgba(255,255,255,0.42);
  --dp-t45: rgba(255,255,255,0.45);
  --dp-t48: rgba(255,255,255,0.48);
  --dp-t5: rgba(255,255,255,0.5);
  --dp-t55: rgba(255,255,255,0.55);
  --dp-t58: rgba(255,255,255,0.58);
  --dp-t6: rgba(255,255,255,0.6);
  --dp-t62: rgba(255,255,255,0.62);
  --dp-t65: rgba(255,255,255,0.65);
  --dp-t68: rgba(255,255,255,0.68);
  --dp-t7: rgba(255,255,255,0.7);
  --dp-t72: rgba(255,255,255,0.72);
  --dp-t75: rgba(255,255,255,0.75);
  --dp-t78: rgba(255,255,255,0.78);
  --dp-t8: rgba(255,255,255,0.8);
  --dp-t84: rgba(255,255,255,0.84);
  --dp-t85: rgba(255,255,255,0.85);
  --dp-t9: rgba(255,255,255,0.9);
  --dp-t92: rgba(255,255,255,0.92);
  --dp-t95: rgba(255,255,255,0.95);
  --dp-s01: rgba(255,255,255,0.01);
  --dp-s02: rgba(255,255,255,0.02);
  --dp-s025: rgba(255,255,255,0.025);
  --dp-s03: rgba(255,255,255,0.03);
  --dp-s035: rgba(255,255,255,0.035);
  --dp-s04: rgba(255,255,255,0.04);
  --dp-s045: rgba(255,255,255,0.045);
  --dp-s05: rgba(255,255,255,0.05);
  --dp-s055: rgba(255,255,255,0.055);
  --dp-s06: rgba(255,255,255,0.06);
  --dp-s065: rgba(255,255,255,0.065);
  --dp-s07: rgba(255,255,255,0.07);
  --dp-s075: rgba(255,255,255,0.075);
  --dp-s08: rgba(255,255,255,0.08);
  --dp-s09: rgba(255,255,255,0.09);
  --dp-s1: rgba(255,255,255,0.1);
  --dp-s11: rgba(255,255,255,0.11);
  --dp-s12: rgba(255,255,255,0.12);
  --dp-s13: rgba(255,255,255,0.13);
  --dp-s14: rgba(255,255,255,0.14);
  --dp-s15: rgba(255,255,255,0.15);
  --dp-s16: rgba(255,255,255,0.16);
  --dp-s18: rgba(255,255,255,0.18);
  --dp-s2: rgba(255,255,255,0.2);
  --dp-s22: rgba(255,255,255,0.22);
  --dp-s25: rgba(255,255,255,0.25);
  --dp-s28: rgba(255,255,255,0.28);
  --dp-s3: rgba(255,255,255,0.3);
  --dp-s35: rgba(255,255,255,0.35);
  --dp-s4: rgba(255,255,255,0.4);
  --dp-s5: rgba(255,255,255,0.5);
  --dp-s6: rgba(255,255,255,0.6);
  --dp-s7: rgba(255,255,255,0.7);
  --dp-s85: rgba(255,255,255,0.85);
  --dp-s95: rgba(255,255,255,0.95);
  --dp-k04: rgba(0,0,0,0.04);
  --dp-k06: rgba(0,0,0,0.06);
  --dp-k08: rgba(0,0,0,0.08);
  --dp-k1: rgba(0,0,0,0.1);
  --dp-k12: rgba(0,0,0,0.12);
  --dp-k15: rgba(0,0,0,0.15);
  --dp-k18: rgba(0,0,0,0.18);
  --dp-k2: rgba(0,0,0,0.2);
  --dp-k22: rgba(0,0,0,0.22);
  --dp-k25: rgba(0,0,0,0.25);
  --dp-k3: rgba(0,0,0,0.3);
  --dp-k35: rgba(0,0,0,0.35);
  --dp-k4: rgba(0,0,0,0.4);
  --dp-k45: rgba(0,0,0,0.45);
  /* guilds/dashboard kart dilinin rgb üçlüleri (rgba(var(--gl-ac), .x) biçiminde kullanılır) */
  --gl-ac: var(--gift-ac, 147, 104, 233); --gl-pro: 147, 104, 233; --gl-max: 251, 191, 36; --gl-ok: 46, 204, 113; --gl-no: 231, 76, 60; --gl-warn: 245, 158, 11; --gl-info: 59, 130, 246;
  /* vurgu (mor) */
  --dp-accent: #c9b3ff; --dp-accent-mid: #9368e9;
  --dp-accent-06: rgba(147,104,233,0.06); --dp-accent-1: rgba(147,104,233,0.10); --dp-accent-12: rgba(147,104,233,0.12);
  --dp-accent-15: rgba(147,104,233,0.15); --dp-accent-2: rgba(147,104,233,0.20); --dp-accent-3: rgba(147,104,233,0.30); --dp-accent-4: rgba(147,104,233,0.40);
  /* panel geometrisi */
  --dp-radius: 16px; --dp-radius-sm: 12px; --dp-pad: 20px 22px;
  --dp-panel-bg: rgba(255,255,255,0.04); --dp-panel-border: rgba(255,255,255,0.08); --dp-panel-shadow: 0 4px 15px rgba(0,0,0,0.15);
  /* anlamsal */
  --th-page-bg: #1a1a2e;
  --th-surface: rgba(255,255,255,0.05);
  --th-surface-2: rgba(0,0,0,0.22);
  --th-text: #ffffff;
  --th-text-muted: rgba(255,255,255,0.6);
  --th-text-faint: rgba(255,255,255,0.4);
  --th-border: rgba(255,255,255,0.1);
  --th-divider: rgba(255,255,255,0.07);
  --th-chart-tick: #ffffff;
  --th-chart-tick-soft: #9f9f9f;
  --th-chart-grid: rgba(255,255,255,0.1);
  --th-chart-grid-soft: rgba(255,255,255,0.05);
  --th-chart-band: rgba(255,255,255,0.12);
  --th-chart-legend: #cccccc;
  --th-tooltip-bg: #f5f5f5;
  --th-tooltip-title: #333333;
  --th-tooltip-body: #666666;
  --th-tooltip-border: rgba(0,0,0,0);
  --th-input-bg: rgba(255,255,255,0.05);
  --th-input-text: #ffffff;
  --th-input-border: rgba(255,255,255,0.1);
  --th-input-placeholder: rgba(255,255,255,0.35);
  color-scheme: dark;
}
body.light-theme {
  --dp-fg: #1e293b;
  --dp-t05: rgba(30,41,59,0.35);
  --dp-t1: rgba(30,41,59,0.39);
  --dp-t15: rgba(30,41,59,0.42);
  --dp-t18: rgba(30,41,59,0.45);
  --dp-t2: rgba(30,41,59,0.32);
  --dp-t22: rgba(30,41,59,0.47);
  --dp-t24: rgba(30,41,59,0.49);
  --dp-t25: rgba(30,41,59,0.38);
  --dp-t28: rgba(30,41,59,0.52);
  --dp-t3: rgba(30,41,59,0.44);
  --dp-t32: rgba(30,41,59,0.54);
  --dp-t35: rgba(30,41,59,0.48);
  --dp-t38: rgba(30,41,59,0.59);
  --dp-t4: rgba(30,41,59,0.52);
  --dp-t42: rgba(30,41,59,0.61);
  --dp-t45: rgba(30,41,59,0.56);
  --dp-t48: rgba(30,41,59,0.66);
  --dp-t5: rgba(30,41,59,0.60);
  --dp-t55: rgba(30,41,59,0.64);
  --dp-t58: rgba(30,41,59,0.73);
  --dp-t6: rgba(30,41,59,0.68);
  --dp-t62: rgba(30,41,59,0.75);
  --dp-t65: rgba(30,41,59,0.72);
  --dp-t68: rgba(30,41,59,0.80);
  --dp-t7: rgba(30,41,59,0.76);
  --dp-t72: rgba(30,41,59,0.78);
  --dp-t75: rgba(30,41,59,0.80);
  --dp-t78: rgba(30,41,59,0.87);
  --dp-t8: rgba(15,23,42,0.84);
  --dp-t84: rgba(30,41,59,0.91);
  --dp-t85: rgba(15,23,42,0.88);
  --dp-t9: rgba(15,23,42,0.94);
  --dp-t92: rgba(15,23,42,0.95);
  --dp-t95: rgba(15,23,42,0.95);
  --dp-s01: rgba(100,116,139,0.06);
  --dp-s02: rgba(100,116,139,0.07);
  --dp-s025: rgba(100,116,139,0.05);
  --dp-s03: rgba(100,116,139,0.06);
  --dp-s035: rgba(100,116,139,0.08);
  --dp-s04: rgba(100,116,139,0.07);
  --dp-s045: rgba(100,116,139,0.09);
  --dp-s05: rgba(100,116,139,0.09);
  --dp-s055: rgba(100,116,139,0.10);
  --dp-s06: rgba(100,116,139,0.10);
  --dp-s065: rgba(100,116,139,0.11);
  --dp-s07: rgba(100,116,139,0.11);
  --dp-s075: rgba(100,116,139,0.12);
  --dp-s08: rgba(100,116,139,0.13);
  --dp-s09: rgba(100,116,139,0.14);
  --dp-s1: rgba(100,116,139,0.15);
  --dp-s11: rgba(100,116,139,0.16);
  --dp-s12: rgba(100,116,139,0.17);
  --dp-s13: rgba(100,116,139,0.18);
  --dp-s14: rgba(100,116,139,0.19);
  --dp-s15: rgba(100,116,139,0.20);
  --dp-s16: rgba(100,116,139,0.21);
  --dp-s18: rgba(100,116,139,0.23);
  --dp-s2: rgba(100,116,139,0.26);
  --dp-s22: rgba(100,116,139,0.28);
  --dp-s25: rgba(100,116,139,0.31);
  --dp-s28: rgba(100,116,139,0.34);
  --dp-s3: rgba(100,116,139,0.36);
  --dp-s35: rgba(100,116,139,0.41);
  --dp-s4: rgba(100,116,139,0.47);
  --dp-s5: rgba(255,255,255,0.5);
  --dp-s6: rgba(255,255,255,0.6);
  --dp-s7: rgba(255,255,255,0.7);
  --dp-s85: rgba(255,255,255,0.85);
  --dp-s95: rgba(255,255,255,0.95);
  --dp-k04: rgba(100,116,139,0.054);
  --dp-k06: rgba(100,116,139,0.061);
  --dp-k08: rgba(100,116,139,0.068);
  --dp-k1: rgba(100,116,139,0.075);
  --dp-k12: rgba(100,116,139,0.082);
  --dp-k15: rgba(100,116,139,0.092);
  --dp-k18: rgba(100,116,139,0.103);
  --dp-k2: rgba(100,116,139,0.110);
  --dp-k22: rgba(100,116,139,0.117);
  --dp-k25: rgba(100,116,139,0.128);
  --dp-k3: rgba(100,116,139,0.145);
  --dp-k35: rgba(100,116,139,0.162);
  --dp-k4: rgba(100,116,139,0.180);
  --dp-k45: rgba(100,116,139,0.198);
  --dp-accent: #6d4dc4; --dp-accent-mid: #7c53d8;
  --dp-accent-06: rgba(109,77,196,0.06); --dp-accent-1: rgba(109,77,196,0.10); --dp-accent-12: rgba(109,77,196,0.12);
  --dp-accent-15: rgba(109,77,196,0.14); --dp-accent-2: rgba(109,77,196,0.20); --dp-accent-3: rgba(109,77,196,0.28); --dp-accent-4: rgba(109,77,196,0.38);
  --dp-panel-bg: rgba(255,255,255,0.92); --dp-panel-border: rgba(148,163,184,0.40); --dp-panel-shadow: 0 2px 16px rgba(100,116,139,0.14);
  --th-page-bg: #f5f7fa;
  --th-surface: rgba(255,255,255,0.92);
  --th-surface-2: rgba(100,116,139,0.10);
  --th-text: #1e293b;
  --th-text-muted: rgba(30,41,59,0.68);
  --th-text-faint: rgba(30,41,59,0.52);
  --th-border: rgba(100,116,139,0.15);
  --th-divider: rgba(100,116,139,0.11);
  --th-chart-tick: #334155;
  --th-chart-tick-soft: #64748b;
  --th-chart-grid: rgba(30,41,59,0.10);
  --th-chart-grid-soft: rgba(30,41,59,0.06);
  --th-chart-band: rgba(30,41,59,0.10);
  --th-chart-legend: #334155;
  --th-tooltip-bg: #1e1b33;
  --th-tooltip-title: #ffffff;
  --th-tooltip-body: rgba(255,255,255,0.8);
  --th-tooltip-border: rgba(0,0,0,0);
  --th-input-bg: #ffffff;
  --th-input-text: #1e293b;
  --th-input-border: rgba(0,0,0,0.12);
  --th-input-placeholder: rgba(30,41,59,0.35);
  color-scheme: light;
}
/* Token tabanlı yardımcı sınıflar (karo / çip / değer-etiket) — sayfalar arası tutarlılık */
.th-tile { background: var(--th-surface-2); border: 1px solid var(--th-divider); border-radius: 12px; }
.th-chip { background: var(--dp-s07); border: 1px solid var(--dp-s12); color: var(--th-text) !important; }
.th-value { color: var(--th-text) !important; }
.th-muted { color: var(--th-text-muted) !important; }
.th-faint { color: var(--th-text-faint) !important; }
