/**
 * GTOS Platform Theme Bridge — PROGRAM-002
 * Shell, tipografi, form ve modül workspace için light/dark parity.
 * Sidebar layout/UX dokunulmaz (cc-ux-15); yalnızca renk/token katmanı.
 */

/* —— Staff / genel yüzey (prod landing override dışı) —— */
html[data-customer-mode='staff'] body,
html:not([data-maytras-prod-surface='1']) body {
  background: var(--maytras-shell-bg-gradient);
  background-color: var(--maytras-shell-bg);
  color: var(--maytras-shell-text);
}

html[data-customer-mode='staff'] .main-content,
html:not([data-maytras-prod-surface='1']) .main-content,
html[data-customer-mode='staff'] #maytras-app,
html:not([data-maytras-prod-surface='1']) #maytras-app {
  color: var(--maytras-shell-text);
}

html[data-customer-mode='staff'] .main-header,
html:not([data-maytras-prod-surface='1']) .main-header {
  background: var(--maytras-shell-header-bg);
  backdrop-filter: blur(12px) saturate(140%);
  border-bottom-color: var(--maytras-shell-border);
  color: var(--maytras-shell-text);
}

html[data-theme='light'][data-customer-mode='staff'] .sidebar,
html[data-theme='light']:not([data-maytras-prod-surface='1']) .sidebar {
  background: var(--maytras-shell-sidebar-bg);
  color: var(--maytras-shell-sidebar-text);
  border-right-color: var(--maytras-shell-border);
}

html[data-theme='dark'][data-customer-mode='staff'] .sidebar,
html[data-theme='dark']:not([data-maytras-prod-surface='1']) .sidebar {
  background: var(--maytras-shell-sidebar-bg);
  color: var(--maytras-shell-sidebar-text);
  border-right-color: var(--maytras-shell-border);
}

/* —— Tipografi —— */
#maytras-app .main-content h1,
#maytras-app .main-content h2,
#maytras-app .main-content h3,
#maytras-app .main-content h4,
#maytras-app .module-workspace-title,
#maytras-app .workspace-title {
  color: var(--maytras-shell-text, var(--text-primary));
}

#maytras-app .main-content p,
#maytras-app .module-workspace-subtitle,
#maytras-app .workspace-subtitle,
#maytras-app .module-desc,
#maytras-app label,
#maytras-app .detail-panel label {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
}

#maytras-app .main-content strong,
#maytras-app .module-card .module-info h3 {
  color: var(--maytras-shell-text, var(--text-primary));
}

/* H5-THEME: uygulamadaki tum baglantilarin rengi buradan geliyor. Ham
 * --gtos-color-primary musteri yuzeyinde altin ve beyaz zeminde 3.52:1
 * kaliyor. -text varyanti ayni ton ailesinde ama AA gecer; koyu temada
 * zaten primary'ye esit oldugu icin orada gorunum degismez. */
#maytras-app a:not(.btn-primary):not(.gtos-cc__btn--primary):not(.sidebar-module-link) {
  color: var(--gtos-color-primary-text, var(--gtos-color-primary, var(--primary-color)));
}

html[data-theme='dark'] #maytras-app a:not(.btn-primary):not(.gtos-cc__btn--primary):not(.sidebar-module-link):hover {
  color: var(--gtos-color-primary-strong, var(--gtos-teal-300));
}

/* —— Modül workspace kabuğu —— */
#module-workspace-root:not(.hidden) {
  background: var(--maytras-shell-surface-muted, var(--glass, rgba(255, 255, 255, 0.78)));
  border: 1px solid var(--maytras-shell-border, var(--surface-outline));
  border-radius: 1rem;
  color: var(--maytras-shell-text, var(--text-primary));
}

#module-workspace-root:not(.hidden) .module-workspace-bar {
  background: var(--maytras-shell-header-bg, var(--glass-strong));
  border-bottom: 1px solid var(--maytras-shell-border, var(--border-color));
  color: var(--maytras-shell-text, var(--text-primary));
}

#module-workspace-root:not(.hidden) .module-workspace-back {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
  border-color: var(--maytras-shell-border, var(--border-color));
  background: transparent;
}

#module-workspace-root:not(.hidden) .module-workspace-back:hover {
  color: var(--maytras-shell-text, var(--text-primary));
  border-color: var(--gtos-color-primary, var(--primary-color));
  background: color-mix(in srgb, var(--gtos-color-primary, var(--gtos-teal-600)) 8%, transparent);
}

#module-workspace-root:not(.hidden) .module-workspace-title {
  color: var(--maytras-shell-text, var(--title-color, var(--text-primary)));
}

#module-workspace-root:not(.hidden) .module-workspace-subtitle {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
}

#module-workspace-root:not(.hidden) .module-workspace-body {
  color: var(--maytras-shell-text, var(--text-primary));
}

#module-workspace-root:not(.hidden) .module-workspace-agent-chip {
  border-color: var(--maytras-shell-border, var(--border-color));
  background: var(--maytras-shell-surface, var(--surface-color));
  color: var(--maytras-shell-text-muted, var(--text-secondary));
}

/* —— Form kontrolleri (platform geneli) —— */
#maytras-app input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']),
#maytras-app select,
#maytras-app textarea,
#maytras-app .search-box input,
#maytras-app .global-search input {
  background: var(--maytras-shell-input-bg, var(--surface-color));
  color: var(--maytras-shell-input-text, var(--text-primary));
  border-color: var(--maytras-shell-input-border, var(--border-color));
}

#maytras-app input::placeholder,
#maytras-app textarea::placeholder,
#maytras-app .search-box input::placeholder {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
  opacity: 0.85;
}

#maytras-app input:focus,
#maytras-app select:focus,
#maytras-app textarea:focus,
#maytras-app .search-box input:focus {
  border-color: var(--maytras-shell-focus, var(--gtos-color-primary));
  outline: 2px solid color-mix(in srgb, var(--maytras-shell-focus, var(--gtos-teal-600)) 35%, transparent);
  outline-offset: 1px;
}

/* —— Header araçları —— */
#maytras-app .header-icon-btn,
#maytras-app .lang-toggle,
#maytras-app .role-toggle .role-btn {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
  border-color: var(--maytras-shell-border, var(--border-color));
  background: var(--maytras-shell-surface-muted, var(--glass));
}

#maytras-app .header-icon-btn:hover,
#maytras-app .lang-toggle-btn:hover,
#maytras-app .role-toggle .role-btn:hover {
  color: var(--maytras-shell-text, var(--text-primary));
  background: color-mix(in srgb, var(--gtos-color-primary, var(--gtos-teal-600)) 8%, var(--maytras-shell-surface, var(--gtos-white)));
}

html[data-theme='dark'] #maytras-app .lang-toggle {
  background: rgba(15, 23, 42, 0.55);
  border-color: var(--maytras-shell-border, rgba(71, 85, 105, 0.45));
  box-shadow: none;
}

html[data-theme='dark'] #maytras-app .lang-toggle-btn {
  color: var(--maytras-shell-text-muted, var(--gtos-slate-400));
}

html[data-theme='dark'] #maytras-app .lang-toggle-btn:hover {
  color: var(--maytras-shell-text, var(--gtos-slate-100));
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme='light'] #maytras-app .lang-toggle {
  background: var(--gtos-slate-100);
  border-color: rgba(148, 163, 184, 0.35);
}

html[data-theme='light'] #maytras-app .lang-toggle-btn {
  color: var(--gtos-slate-600);
}

html[data-theme='light'] #maytras-app .lang-toggle-btn:hover {
  color: var(--gtos-slate-900);
  background: rgba(255, 255, 255, 0.9);
}

/* H5-THEME — AKTIF DURUM OZGULLUK KILIDI
 * Bu kural, yukaridaki tema kurallarindan (`html[data-theme='dark'] #maytras-app
 * .lang-toggle-btn`, ozgulluk 1-2-1) daha DUSUK ozgullukteydi (1-2-0). Sonuc:
 * koyu temada aktif dil dugmesi birincil zemini aliyor ama yazi rengi soluk
 * gri kaliyordu — olculen kontrast 1.22:1, yani etiket pratikte gorunmuyordu.
 * `html` on eki eklenerek ozgulluk tema kurallarinin uzerine cikarilir.
 * Yazi rengi artik birincil renge bagli `--gtos-color-on-primary`. */
html #maytras-app .lang-toggle-btn.active,
html #maytras-app .role-toggle .role-btn.active {
  background: var(--gtos-color-primary, var(--primary-color));
  color: var(--gtos-color-on-primary, var(--gtos-white));
  border-color: transparent;
}

#maytras-app .insight-pill {
  background: var(--maytras-shell-surface-muted, var(--glass-strong));
  border-color: var(--maytras-shell-border, var(--border-color));
  color: var(--maytras-shell-text, var(--text-primary));
}

#maytras-app .insight-pill i {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
}

/* —— Kartlar & paneller —— */
#maytras-app .module-card,
#maytras-app .detail-panel:not(.billing-gate-shell__frame),
#maytras-app .dashboard-overview,
#maytras-app .gtos-surface {
  color: var(--gtos-color-text, var(--text-primary));
}

html[data-theme='dark'] #maytras-app .module-card,
html[data-theme='dark'] #maytras-app .detail-panel:not(.billing-gate-shell__frame) {
  background: var(--gtos-color-surface, var(--surface-color));
  border-color: var(--gtos-color-border, var(--border-color));
}

html[data-theme='light'] #maytras-app .module-card,
html[data-theme='light'] #maytras-app .detail-panel:not(.billing-gate-shell__frame) {
  background: var(--gtos-color-surface, var(--gtos-white));
  border-color: var(--gtos-color-border, var(--border-color));
}

#maytras-app .detail-btn.secondary,
#maytras-app .gtos-cc__btn:not(.gtos-cc__btn--primary) {
  color: var(--gtos-color-text, var(--text-primary));
  border-color: var(--gtos-color-border, var(--border-color));
  background: var(--gtos-color-surface, var(--surface-color));
}

/* —— Tablolar —— */
#maytras-app table th {
  color: var(--maytras-shell-text-muted, var(--text-secondary));
}

#maytras-app table td {
  color: var(--maytras-shell-text, var(--text-primary));
}

/* GTOS modül tabloları — genel th rengi Excel / pack başlıklarını bozmaz */
#maytras-app .gtos-mp .a02-excel-table thead th {
  color: #1b4332;
}

html[data-theme='dark'] #maytras-app .gtos-mp .a02-excel-table thead th {
  color: var(--gtos-emerald-50);
}

html[data-theme='dark'] #maytras-app .gtos-mp .a02-excel-table thead th .a03-sort-icon {
  color: color-mix(in srgb, var(--gtos-emerald-50) 72%, #6ee7b7);
}

#maytras-app .gtos-mp .pack-module-table th,
#maytras-app .gtos-mp .query-result-table th,
#maytras-app .gtos-mp .c01-report-table thead th,
#maytras-app .gtos-mp .c06-premium-table thead th,
#maytras-app .gtos-mp .a06-trademap-table thead th,
#maytras-app .gtos-mp .a06-trade-overview-table thead th {
  color: var(--gtos-color-text-muted, var(--text-secondary));
}

html[data-theme='dark'] #maytras-app .gtos-mp .pack-module-table th,
html[data-theme='dark'] #maytras-app .gtos-mp .query-result-table th,
html[data-theme='dark'] #maytras-app .gtos-mp .c01-report-table thead th,
html[data-theme='dark'] #maytras-app .gtos-mp .c06-premium-table thead th,
html[data-theme='dark'] #maytras-app .gtos-mp .a06-trademap-table thead th,
html[data-theme='dark'] #maytras-app .gtos-mp .a06-trade-overview-table thead th {
  color: var(--gtos-color-text-muted, var(--text-secondary));
}

html[data-theme='dark'] #maytras-app table th,
html[data-theme='dark'] #maytras-app table td {
  border-color: var(--gtos-color-border, var(--border-color));
}

/* —— Context bar (token tabanlı fallback) —— */
html:not([data-maytras-prod-surface='1']) .gtos-ctx-bar,
html[data-customer-mode='staff'] .gtos-ctx-bar {
  background: var(--gtos-color-bg, var(--maytras-shell-header-bg));
  border-bottom-color: var(--gtos-color-border, var(--maytras-shell-border));
  color: var(--gtos-color-text, var(--maytras-shell-text));
}

html:not([data-maytras-prod-surface='1']) .gtos-ctx__label,
html:not([data-maytras-prod-surface='1']) .gtos-ctx__chip span,
html[data-customer-mode='staff'] .gtos-ctx__label,
html[data-customer-mode='staff'] .gtos-ctx__chip span {
  color: var(--gtos-color-text-muted, var(--text-secondary));
}

html:not([data-maytras-prod-surface='1']) .gtos-ctx__chip strong,
html[data-customer-mode='staff'] .gtos-ctx__chip strong {
  color: var(--gtos-color-text, var(--text-primary));
}

html:not([data-maytras-prod-surface='1']) .gtos-ctx__chip,
html[data-customer-mode='staff'] .gtos-ctx__chip {
  border-color: var(--gtos-color-border, var(--border-color));
  background: color-mix(in srgb, var(--gtos-color-surface, var(--gtos-white)) 88%, transparent);
}

html[data-theme='dark'] .gtos-ctx__demo-badge {
  background: color-mix(in srgb, var(--gtos-color-ai, var(--gtos-teal-400)) 14%, transparent);
  color: var(--gtos-color-ai, var(--gtos-teal-400));
  border-color: color-mix(in srgb, var(--gtos-color-ai, var(--gtos-teal-400)) 28%, transparent);
}

/* —— Toast & auth —— */
#maytras-app .maytras-toast {
  background: var(--gtos-color-surface-elevated, var(--surface-color));
  border-color: var(--gtos-color-border, var(--border-color));
  color: var(--gtos-color-text, var(--text-primary));
}

.auth-overlay--premium .auth-panel,
.auth-overlay .auth-card {
  background: var(--gtos-color-surface, var(--surface-color));
  border-color: var(--gtos-color-border, var(--border-color));
  color: var(--gtos-color-text, var(--text-primary));
}

.auth-overlay--premium .auth-panel h2,
.auth-overlay .auth-card h2 {
  color: var(--gtos-color-text, var(--text-primary));
}

.auth-overlay--premium .auth-panel p,
.auth-overlay .auth-card p,
.auth-overlay label {
  color: var(--gtos-color-text-muted, var(--text-secondary));
}

/* —— Modül agent insight (hardcoded light fix) —— */
html[data-theme='dark'] .module-agent-insight {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.9));
  border-color: var(--gtos-color-border, rgba(148, 163, 184, 0.28));
}

html[data-theme='dark'] .module-agent-insight-top strong {
  color: var(--gtos-color-text, var(--gtos-slate-100));
}

html[data-theme='dark'] .module-agent-insight-top small,
html[data-theme='dark'] .module-agent-insight-body.is-empty {
  color: var(--gtos-color-text-muted, var(--gtos-slate-400));
}

html[data-theme='dark'] .module-agent-insight-select {
  background: var(--gtos-color-surface, var(--gtos-slate-800));
  color: var(--gtos-color-text, var(--gtos-slate-100));
  border-color: var(--gtos-color-border, rgba(148, 163, 184, 0.35));
}

html[data-theme='dark'] .module-agent-insight-body {
  background: rgba(15, 23, 42, 0.55);
  border-color: var(--gtos-color-border, rgba(148, 163, 184, 0.25));
  color: var(--gtos-color-text, var(--gtos-gray-200));
}

/* —— North star (light CC modunda görünür olunca) —— */
html[data-theme='light'] #gtos-north-star {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.94) 55%, rgba(238, 242, 255, 0.92) 100%);
  border-color: var(--maytras-shell-border);
}

html[data-theme='light'] #gtos-north-star .gtos-north-star__title {
  color: var(--maytras-shell-text);
}

html[data-theme='light'] #gtos-north-star .gtos-north-star__sub,
html[data-theme='light'] #gtos-north-star .gtos-north-star__positioning {
  color: var(--maytras-shell-text-muted);
}

html[data-theme='dark'] #gtos-north-star {
  background: linear-gradient(135deg, rgba(10, 14, 26, 0.92) 0%, rgba(15, 23, 42, 0.88) 100%);
  border-color: rgba(207, 175, 107, 0.18);
}

html[data-theme='dark'] #gtos-north-star .gtos-north-star__title {
  color: var(--maytras-landing-text, var(--gtos-shell-tint-50));
}

html[data-theme='dark'] #gtos-north-star .gtos-north-star__sub,
html[data-theme='dark'] #gtos-north-star .gtos-north-star__positioning {
  color: var(--maytras-landing-text-muted, var(--gtos-shell-ink-500));
}

/* —— Demo rozeti / banner hijyeni (seed arka planda kalır) —— */
.gtos-ctx__demo-badge,
.gtos-demo-seed-badge,
.gtos-demo-seed-banner,
#gtos-demo-seed-banner {
  display: none !important;
}

/* —— Light tema: d2030 CC + context bar (hardcoded dark override düzeltmesi) —— */
html[data-theme='light'] .gtos-cc--d2030 {
  --gtos-d2030-bg: var(--gtos-color-bg, #f4f7fb);
  --gtos-d2030-panel: var(--gtos-white);
  --gtos-d2030-panel-2: var(--gtos-slate-50);
  --gtos-d2030-border: var(--gtos-color-border, rgba(148, 163, 184, 0.28));
  --gtos-d2030-text: var(--gtos-color-text, var(--gtos-slate-900));
  --gtos-d2030-muted: var(--gtos-color-text-muted, var(--gtos-slate-500));
  --gtos-d2030-accent: var(--gtos-color-primary, var(--gtos-teal-600));
  --gtos-d2030-accent-dim: rgba(13, 148, 136, 0.12);
  background:
    radial-gradient(1200px 480px at 12% -10%, rgba(13, 148, 136, 0.06), transparent 55%),
    radial-gradient(900px 420px at 100% 0%, rgba(37, 99, 235, 0.04), transparent 50%),
    var(--gtos-d2030-bg);
  color: var(--gtos-d2030-text);
  border-color: var(--gtos-d2030-border);
}

html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__search input {
  background: var(--gtos-color-surface, var(--gtos-white));
  border-color: var(--gtos-d2030-border);
  color: var(--gtos-d2030-text);
}

html[data-theme='light'] .gtos-cc--d2030 .gtos-surface,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__brief,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__pulse,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__timeline,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__onboard,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__recent,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__tc-empty,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__tc-live,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__quick-btn,
html[data-theme='light'] .gtos-cc--d2030 .gtos-pipeline,
html[data-theme='light'] .gtos-cc--d2030 .gtos-metric-card,
html[data-theme='light'] .gtos-cc--d2030 .gtos-demo-copilot__prompt {
  background: linear-gradient(180deg, var(--gtos-d2030-panel-2), var(--gtos-d2030-panel)) !important;
  border-color: var(--gtos-d2030-border) !important;
  color: var(--gtos-d2030-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__hello,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__block-title,
html[data-theme='light'] .gtos-cc--d2030 .gtos-metric-card__value,
html[data-theme='light'] .gtos-cc--d2030 .gtos-demo-copilot__prompt strong {
  color: var(--gtos-d2030-text) !important;
}

html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__sub,
html[data-theme='light'] .gtos-cc--d2030 .gtos-text-muted,
html[data-theme='light'] .gtos-cc--d2030 .gtos-cc__design-note,
html[data-theme='light'] .gtos-cc--d2030 .gtos-metric-card__label,
html[data-theme='light'] .gtos-cc--d2030 .gtos-demo-copilot__prompt span {
  color: var(--gtos-d2030-muted) !important;
}

html[data-theme='light'] .gtos-ctx-bar,
html[data-theme='light'][data-gtos-d2030='on'] .gtos-ctx-bar {
  background: var(--maytras-landing-header-bg, var(--gtos-color-bg, var(--gtos-white)));
  border-bottom-color: var(--gtos-color-border, rgba(148, 163, 184, 0.28));
  color: var(--gtos-color-text, var(--gtos-slate-900));
}

html[data-theme='light'] .gtos-ctx__chip,
html[data-theme='light'][data-gtos-d2030='on'] .gtos-ctx__chip {
  background: var(--gtos-color-surface, var(--gtos-white));
  border-color: var(--gtos-color-border, rgba(148, 163, 184, 0.28));
  color: var(--gtos-color-text, var(--gtos-slate-900));
}

html[data-theme='light'] .gtos-ctx__chip span {
  color: var(--gtos-color-text-muted, var(--gtos-slate-500));
}

html[data-theme='light'] .gtos-ctx__chip strong {
  color: var(--gtos-color-text, var(--gtos-slate-900));
}

html[data-theme='light'] .gtos-ctx__mark {
  color: var(--gtos-color-primary, var(--maytras-landing-gold, #a3844a));
}

html[data-theme='light'][data-maytras-prod-surface='1'] .main-header {
  background: var(--maytras-landing-header-bg, rgba(255, 255, 255, 0.9));
  color: var(--maytras-landing-text, var(--gtos-slate-900));
}

html[data-theme='light'][data-maytras-prod-surface='1'] .main-content,
html[data-theme='light'][data-maytras-prod-surface='1'] #maytras-app {
  color: var(--maytras-landing-text, var(--gtos-slate-900));
}

/* Prod light — sidebar metinleri (gtos-customer-surface koyu sidebar varsayımını düzelt) */
html[data-theme='light'][data-gtos-cc='on'] .sidebar-module-title,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-workspace-head,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-home-btn,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-dock-btn,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-user-name-row strong,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-account-dock__meta strong {
  color: var(--maytras-landing-text, var(--gtos-slate-900));
}

html[data-theme='light'][data-gtos-cc='on'] .sidebar-module-desc,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-user-tenant,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-account-dock__hint,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-nav-group {
  color: var(--maytras-landing-text-muted, var(--gtos-slate-500));
}

html[data-theme='light'][data-gtos-cc='on'] .sidebar-home-btn--primary {
  color: var(--maytras-landing-text, var(--gtos-slate-900)) !important;
}

html[data-theme='dark'][data-gtos-cc='on'] .sidebar-module-title,
html[data-theme='dark'][data-gtos-cc='on'] .sidebar-workspace-head,
html[data-theme='dark'][data-gtos-cc='on'] .sidebar-home-btn,
html[data-theme='dark'][data-gtos-cc='on'] .sidebar-dock-btn,
html[data-theme='dark'][data-gtos-cc='on'] .sidebar-user-name-row strong {
  color: var(--maytras-landing-text, var(--gtos-shell-tint-50));
}

/* UX-PROGRAM-2026-08: acik temada CC sidebar modul linkleri okunmuyordu (Yasin canli bulgusu 23.08) */
html[data-theme='light'][data-gtos-cc='on'] .sidebar-module-link,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-module-link:hover,
html[data-theme='light'][data-gtos-cc='on'] .sidebar-module-link.active { color: var(--maytras-landing-text, var(--gtos-slate-900)); }
html[data-theme='light'][data-gtos-cc='on'] .sidebar-module-link.active .sidebar-module-code { color: var(--gtos-slate-550, #64748b); }

/* UX-PROGRAM-2026-08 v2: yukarudaki fix bir modul workspace'i acikken (orn. A08) tekrar bozuluyordu
   (Yasin canli bulgusu ikinci kez, 23-24.08). Kok neden: yukarudaki kural (0,3,1) specificity ile
   maytras-landing-dashboard.css:490'daki "premium prod-surface" kuraliyla
   (html[data-maytras-prod-surface='1']:not([data-customer-mode='staff']) .sidebar-module-link,
   ayni specificity (0,3,1)) beraberlik yapiyor; o dosya index.html'de gtos-theme-platform.css'ten
   SONRA yuklendigi icin kaynak-sirasi beraberligi kazanip metni --maytras-landing-text-muted'a
   (gtos-slate-550, #5d6c80) dusuruyor. Bu deger "on/off modul workspace'i disinda" (CC ana ekran)
   degil, modul workspace'i ACIKKEN devreye giriyor cunku #maytras-app o an
   data-maytras-prod-surface='1' tasiyor (bkz. unified.css a08-workspace-active) — tam olarak
   Yasin'in bulgusuyla ortusuyor: yalniz aktif modul (orn. A08, ayri .active kurali (0,4,1) ile
   zaten kazaniyor) okunur, digerleri (A03-A07) soluk kaliyor. #maytras-app id'siyle specificity'yi
   (1,3,1)+'e cikarip yukleme sirasindan bagimsizlastiriyoruz — koyu tema bu bloktan etkilenmiyor
   (data-theme='light' kapili, koyu temadaki muted/gold ayrimi kasitli ve degismiyor). */
html[data-theme='light'] #maytras-app .sidebar-module-link,
html[data-theme='light'] #maytras-app .sidebar-module-link:hover,
html[data-theme='light'] #maytras-app .sidebar-module-link.active { color: var(--maytras-landing-text, var(--gtos-slate-900)); }
html[data-theme='light'] #maytras-app .sidebar-module-link.active .sidebar-module-code { color: var(--gtos-slate-550, var(--gtos-slate-500)); }

/* Kalici tuzak fix: premium-home.css:3584 acik temada --maytras-landing-text/-muted degerlerini kosulsuz tanimliyor
   (o dosyaya DOKUNMUYORUZ — burada acik tema icin ayni degerleri tekrar tanimlayip ezilmesini onluyoruz) */
html[data-theme='light'] {
  --maytras-landing-text: var(--gtos-slate-900);
  --maytras-landing-text-muted: var(--gtos-slate-550);
}

/* UX-PROGRAM-2026-08 v3 — KESIN FIX (25.08 sabah, Yasin canli bulgusu UCUNCU kez, ayni tekrar: "A08'e
   tiklayinca acik temada sol bardaki yazilar kayboluyor"). Kok neden onceki 2 turda hic bulunmamis, farkli
   bir dosyada: unified.css:33615-33638 icindeki #maytras-app.a08-workspace-active .sidebar bloğu — A08
   modulu acilinca (bkz. unified-platform.js updateModuleWorkspaceVisual, tek boyle class: a08-workspace-active,
   baska hicbir modulde yok) #maytras-app'e eklenen, TEMA KAPISI OLMAYAN eski/immersive bir kural. Bu kural
   .sidebar-module-title / .sidebar-brand-text / .sidebar-home-btn rengini kosulsuz --gtos-slate-200
   (#e2e8f0, neredeyse beyaz) yapiyor — ve secici (#maytras-app.a08-workspace-active .sidebar ...) sadece
   "a08-workspace-active" class'ina bakiyor, o an gorunen modulun A08 olup olmadigina degil; yani A08'i actiktan
   sonra TUM sidebar modul basliklari (A03, B04, C01 ...) etkileniyor, yalniz A08 degil — tam Yasin'in
   tarifiyle ortusuyor. Acik temada sidebar arka plani ACIK kaliyor (rgba(255,255,255,.97), bu blok arka
   planı koyulastirmiyor/koyulastırsa bile digerpanel/gölge katmanlari yuzunden etkisiz), o yuzden neredeyse-
   beyaz metin acik zeminde OKUNMUYOR. Onceki 2 fix (yukarida, satir 536 ve 554) yalniz .sidebar-module-link
   ve .sidebar-module-link .sidebar-module-code'u kapsadi — .sidebar-module-title'a hic dokunmadi, o yuzden
   bu üçüncü kez sessizce nüksetti. Specificity yarisina degil !important'a bilerek gidiyoruz (üç kez nüksetti,
   koruma) — data-theme='light' kapili oldugu icin koyu tema (mevcut immersive/muted ayrimi kasitli) HİÇ
   ETKİLENMİYOR; kanit: docs/AUDIT/UIUX-SIDEBAR-KESIN-20260825.md (izole ayni-origin harness, CSSOM eslesen-
   kural taramasi, getComputedStyle capraz kontrolu). scripts/check-sidebar-contrast.js bu kuralin varligini
   statik olarak dogrular. */
html[data-theme='light'] #maytras-app.a08-workspace-active .sidebar .sidebar-module-title,
html[data-theme='light'] #maytras-app.a08-workspace-active .sidebar .sidebar-brand-text,
html[data-theme='light'] #maytras-app.a08-workspace-active .sidebar .sidebar-home-btn {
  color: var(--maytras-landing-text, var(--gtos-slate-900)) !important;
}

/* UIUX-SIDEBAR-ROZET-P1-20260825: acik temada sidebar modul KOD ROZETLERI (A01/A02/...) okunmuyordu
   (Yasin production teftisi bulgusu, 25.08 aksam). Ustteki fix'ler (536-588) yalniz baslik/aciklama
   metnini kapsadi, rozet elementine hic dokunmadi — bu yuzden ayni desen (tema kapisi olmayan koyu
   tema rengi/opak-olmayan arka plan acik temada da kullaniliyor) rozette nukset etti. Kok neden iki
   ayri kural, ikisi de unified.css'te, ikisi de tema kapisiz:
     - .sidebar-module-code (unified.css ~12820, "Sidebar redesign" blok): background bir
       linear-gradient(rgba(17,94,89,.9), rgba(13,148,136,.92)) — yeterince opak oldugu icin
       DOGRU render'da (canvas ile piksel olcum, bu turda dogrulandi) acik temada da ~4.6:1 civarinda
       kaliyor, ama arka plan bir GRADIENT IMAGE oldugu icin basit getComputedStyle(el).backgroundColor
       okuyan otomatik kontrol araclari (production teftisinde kullanilan yontem dahil) background'u
       "transparent" görüp altindaki acik sidebar zeminiyle karsilastiriyor — bu da raporlanan ~1.06:1
       degerini acikliyor: olcum metodu farkli ama SONUC (marjinal/kirilgan kontrast, backdrop'a bagimli)
       gercek ve dogrulanmis bir P1.
     - .sidebar-module-link.active .sidebar-module-code (unified.css ~12593): background
       rgba(20,184,166,.34) — bu YARI SAYDAM, gercek arka plan degil; acik temada altindaki neredeyse-
       beyaz sidebar zeminiyle (rgba(255,255,255,.97)) birlesince rozet metniyle (--gtos-teal-100,
       #ccfbf1, neredeyse beyaz) birlikte gercekten olculebilir ~3.7-3.9:1'e duşuyor (WCAG AA 4.5:1
       esiginin altinda, DOGRULANMIS gercek basarisizlik — backdrop varsayimina bagli degil).
   Coz: acik temada rozete backdrop'tan bagimsiz, OPAK, marka-teal token cifti veriyoruz (elle hex yok,
   var() ile marka paletinden). Taban rozet: specificity (0,2,1), unified.css'teki (0,1,0) rakibini
   !important olmadan geciyor — dogrulanmis kontrast ~8.4:1 (teal-900 metin / teal-100 zemin).
   .active varyanti icin ILK denemede sadece (0,4,1) kullanildi (#maytras-app'siz) — bu unified.css'teki
   (0,3,0) rakibini gecti AMA 557'deki mevcut ".active .sidebar-module-code" renk kurali
   (#maytras-app ID'li, (1,4,1)) benim renk bildirimimden daha yuksek specificity'yle kazanmaya devam
   etti; sonuc gercek tarayicida olculdu: slate-550 metin + benim teal-200 zeminim = ~4.25:1 (WCAG AA
   4.5:1'in HALA altinda, ilk fix yetersiz kaldi — bu turda canli getComputedStyle ile yakalandi).
   Duzeltme: .active kuralini de #maytras-app ile (1,4,1)'e cikarip 557'yi specificity'de esitledik;
   dosyada 557'DEN SONRA geldigi icin kaynak-sirasi beraberligi kazanip renk de teal-900'e donuyor.
   Olcum (gercek tarayici, click-tetiklenmis .active durum, docs/AUDIT/UIUX-SIDEBAR-ROZET-P1-20260825.md):
   taban ~8.41:1, .active ~7.52:1. Koyu tema bu blokdan etkilenmiyor (data-theme='light' kapili, mevcut
   koyu-tema rozet tasarimi kasitli/degismiyor). scripts/check-sidebar-contrast.js bu kuralin varligini
   statik olarak dogrular. */
html[data-theme='light'] .sidebar-module-code {
  background: var(--gtos-teal-100);
  background-image: none;
  color: var(--gtos-teal-900);
  border-color: var(--gtos-teal-500);
}

html[data-theme='light'] #maytras-app .sidebar-module-link.active .sidebar-module-code {
  background: var(--gtos-teal-200);
  background-image: none;
  color: var(--gtos-teal-900);
  border-color: var(--gtos-teal-600);
}
