/* ==========================================================================
   1. MERKEZİ FONT YÖNETİM SİSTEMİ (CENTRAL TYPOGRAPHY SYSTEM)
   ========================================================================== */

:root {
  --font-scale: 1;
  --font-section-title-size: 1rem;
  --font-section-title-weight: 700;
  --font-subtitle-size: 0.9rem;
  --font-subtitle-weight: 700;
  --font-btn-size: 0.8rem;
  --font-btn-weight: 700;
  --font-desc-size: 0.8rem;
  --font-desc-weight: 500;
  --font-gray-size: 0.8rem;
  --font-gray-weight: 600;
  --font-gray-color: #444444;
}

@media (min-width: 576px) and (max-width: 767.98px) {
  :root {
    --font-scale: 1;
    --font-section-title-size: 1rem;
    --font-subtitle-size: 0.9rem;
    --font-btn-size: 0.8rem;
    --font-desc-size: 0.8rem;
    --font-gray-size: 0.8rem;
  }
}

@media (min-width: 768px) {
  :root {
    --font-scale: 1;
    --font-section-title-size: 1rem;
    --font-subtitle-size: 0.9rem;
    --font-btn-size: 0.8rem;
    --font-desc-size: 0.8rem;
    --font-gray-size: 0.8rem;
  }
}

/* 5 TEMEL TİPOGRAFİ BAĞLAMA KURALI */

/* Kural 1: Section ve Kapsayıcı Başlıkları */
.section-title, .section-header h2, .footer-title, .modal-title, .category-title, .app-module-title {
  font-size: var(--font-section-title-size) !important;
  font-weight: var(--font-section-title-weight) !important;
  line-height: 1.35;
}

/* Kural 2: Alt Başlıklar ve Kart Başlıkları */
.card-title, .service-title, .news-title, .product-title, [class*="-card"] h4, [class*="-card"] h5, [class*="-card"] h6, .table th {
  font-size: var(--font-subtitle-size) !important;
  font-weight: var(--font-subtitle-weight) !important;
  line-height: 1.35;
}

/* Kural 3: Aksiyon Butonları */
.btn, .card-btn, [class*="-card"] .btn, [class*="-card"] a.fw-bold, .nav-link-btn {
  font-size: var(--font-btn-size) !important;
  font-weight: var(--font-btn-weight) !important;
  line-height: 1.35;
}

/* Kural 4: Paragraflar ve Açıklama Metinleri */
p, .card p, .service-desc, [class*="-card"] p, [class*="-card"] ul li, .table td {
  font-size: var(--font-desc-size) !important;
  font-weight: var(--font-desc-weight) !important;
  line-height: 1.5;
}

/* Kural 5: Meta Bilgiler ve İkincil Gri Metinler */
.meta-row, .date-text, .card-subtitle, small, .small, [class*="-meta"], .badge-meta {
  font-size: var(--font-gray-size) !important;
  font-weight: var(--font-gray-weight) !important;
  color: var(--font-gray-color) !important;
  line-height: 1.4;
}

/* ERİŞİLEBİLİRLİK FONT YAKINLAŞTIRMA SINIFLARI */
html.font-zoom-small { font-size: 88%; }
html.font-zoom-normal { font-size: 100%; }
html.font-zoom-1 { font-size: 108%; }
html.font-zoom-2 { font-size: 116%; }
html.font-zoom-3 { font-size: 124%; }
html.font-zoom-4 { font-size: 132%; }


/* ==========================================================================
   2. MERKEZİ TEMA VE RENK PALETİ MOTORU (CENTRAL THEME ENGINE)
   ========================================================================== */

:root {
  --theme-primary: #008080;
  --theme-primary-rgb: 0, 128, 128;
  --theme-primary-dark: #005959;
  --theme-primary-light: #e6f4f4;
  --theme-bg-body: #F3F3E9;
  --theme-surface: #ffffff;
  --theme-surface-subtle: #f8fafc;
  --theme-border: #e2e8f0;
  --theme-text: #0f172a;
  --theme-text-main: #0f172a;
  --theme-text-muted: #64748b;
}

[data-color="turkuaz"] {
  --theme-primary: #008080;
  --theme-primary-rgb: 0, 128, 128;
  --theme-primary-dark: #005959;
  --theme-primary-light: #e6f4f4;
}

[data-color="mavi"] {
  --theme-primary: #1e40af;
  --theme-primary-rgb: 30, 64, 175;
  --theme-primary-dark: #1e3a8a;
  --theme-primary-light: #eff6ff;
}

[data-color="yesil"] {
  --theme-primary: #15803d;
  --theme-primary-rgb: 21, 128, 61;
  --theme-primary-dark: #166534;
  --theme-primary-light: #f0fdf4;
}

[data-color="kirmizi"] {
  --theme-primary: #b91c1c;
  --theme-primary-rgb: 185, 28, 28;
  --theme-primary-dark: #991b1b;
  --theme-primary-light: #fef2f2;
}

[data-theme="dark"] {
  --theme-bg-body: #2E2B27;
  --font-gray-color: #cbd5e1;
  background-color: #2E2B27 !important;
  color: #f8fafc !important;
}

/* Base Body & 20% Proportional Scale System (zoom: 0.8 & 100% Canvas) */
html {
  zoom: 0.8;
  -webkit-text-size-adjust: 100%;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}

body {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  background-color: var(--theme-bg-body);
  transition: background-color 0.25s ease, color 0.25s ease;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.app-root,
.app-container,
.app-layout,
.dx-teachers-layout,
.dx-courses-layout,
.dx-classes-layout,
.dx-duties-layout {
  min-width: 600px !important;
}

/* Dynamic Primary Overrides */
.btn-primary, .bg-primary-custom {
  background-color: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
  color: #ffffff !important;
}

.btn-primary:hover, .btn-primary:focus {
  background-color: var(--theme-primary-dark) !important;
  border-color: var(--theme-primary-dark) !important;
}

.btn-outline-primary {
  color: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
}

.btn-outline-primary:hover {
  background-color: var(--theme-primary) !important;
  color: #ffffff !important;
}

.text-primary {
  color: var(--theme-primary) !important;
}

.bg-primary-subtle {
  background-color: var(--theme-primary-light) !important;
}

/* Strict Modal Hider - Ensures closed modals consume zero height/space */
#appCrudModal:not(.show),
.modal:not(.show) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Explicit Grid Rules - Guarantee 4-Column Horizontal Layout */
.row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.row > [class*="col-"] {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

@media (min-width: 576px) {
  .col-md-3 {
    flex: 0 0 auto !important;
    width: 25% !important;
  }
}

@media (min-width: 992px) {
  .col-lg-8 {
    flex: 0 0 auto !important;
    width: 66.666667% !important;
  }
  .col-lg-4 {
    flex: 0 0 auto !important;
    width: 33.333333% !important;
  }
}

/* ==========================================================================
   3. MASAÜSTÜ UYGULAMA LAYOUT YAPISI (DESKTOP NO-SCROLL LAYOUT)
   ========================================================================== */

html, body {
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.app-wrapper {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}

/* 3rem (48px) Sabit Yükseklikte Header */
.app-header {
  position: relative !important;
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 0.75rem !important;
  z-index: 1020 !important;
}

[data-theme="dark"] .app-header {
  background-color: rgba(46, 43, 39, 0.9);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

/* Header Brand Logo & TT-Studio Title (Tema Rengi İç Dolgu + #FDF4FF 0.3px Border Kontur) */
.brand-title-text {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--theme-primary) !important;
  text-decoration: none !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.brand-text {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--theme-primary) !important;
  -webkit-text-stroke: 0.3px #FDF4FF;
  text-shadow: 
    -0.3px -0.3px 0 #FDF4FF,  
     0.3px -0.3px 0 #FDF4FF,
    -0.3px  0.3px 0 #FDF4FF,
     0.3px  0.3px 0 #FDF4FF;
  letter-spacing: 0.5px;
}

.brand-logo-icon {
  font-size: 2rem !important;
  color: var(--theme-primary) !important;
  -webkit-text-stroke: 0.3px #FDF4FF;
  text-shadow: 
    -0.3px -0.3px 0 #FDF4FF,  
     0.3px -0.3px 0 #FDF4FF,
    -0.3px  0.3px 0 #FDF4FF,
     0.3px  0.3px 0 #FDF4FF;
}

.app-header .search-container {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 40% !important;
  max-width: 40% !important;
  min-width: 300px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1000;
}

.app-header .search-input {
  height: 2.2rem !important;
  min-height: 2.2rem !important;
  max-height: 2.2rem !important;
  font-size: 0.84rem;
  border-radius: 0.4rem !important;
  padding-left: 2.25rem !important;
  padding-right: 2.2rem !important;
  background-color: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.12);
  width: 100% !important;
  transition: all 0.2s ease;
}

.app-header .search-input:focus {
  background-color: #ffffff;
  border-color: var(--bs-primary, #0d6efd);
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15);
  outline: none;
}

[data-theme="dark"] .app-header .search-input {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
  color: #f8fafc;
}

[data-theme="dark"] .app-header .search-input:focus {
  background-color: #1e2430;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}

.app-header .search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.85rem;
  color: #888;
  z-index: 5;
  pointer-events: none;
}

.app-header .search-clear-btn {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 0.85rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: all 0.15s ease;
}

.app-header .search-clear-btn:hover {
  color: #ef4444;
  background-color: rgba(239, 68, 68, 0.1);
}

/* Arama Sonuç Paneli (Search Results Container: aynı genişlik, max 300px yükseklik) */
.header-search-results {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 0.5rem;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  z-index: 1050;
  padding: 0.45rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.header-search-results::-webkit-scrollbar {
  width: 5px;
}
.header-search-results::-webkit-scrollbar-track {
  background: transparent;
}
.header-search-results::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 10px;
}
.header-search-results::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.32);
}

/* Kart Tasarımı */
.search-result-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.4rem 0.55rem;
  border-radius: 0.45rem;
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.05);
  cursor: pointer;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.15s ease;
}

.search-result-card:hover {
  background: rgba(13, 110, 253, 0.07);
  border-color: rgba(13, 110, 253, 0.25);
  transform: translateX(2px);
}

/* 2.5rem Yüksekliğinde Yuvarlak Resim / Avatar */
.search-card-avatar {
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  max-width: 2.5rem;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  background-color: #f1f5f9;
}

.search-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.search-avatar-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
}

.search-avatar-placeholder.teacher-bg {
  background: linear-gradient(135deg, #e0f2fe, #bae6fd);
  color: #0284c7;
}

.search-avatar-placeholder.duty-bg {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  color: #b45309;
}

.search-avatar-placeholder.class-bg {
  background: linear-gradient(135deg, #d1fae5, #a7f3d0);
  color: #059669;
}

/* Kart Sağ İçerik */
.search-card-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.search-card-line-1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.search-card-name {
  font-weight: 700;
  font-size: 0.8rem;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-card-line-2 {
  font-weight: 400;
  font-size: 0.7rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}

/* Tür Rozetleri */
.search-card-badge {
  font-size: 0.65rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-weight: 600;
  white-space: nowrap;
  letter-spacing: 0.3px;
  flex-shrink: 0;
}

.badge-teacher {
  background-color: #e0f2fe;
  color: #0369a1;
}

.badge-duty {
  background-color: #fef3c7;
  color: #b45309;
}

.badge-class {
  background-color: #d1fae5;
  color: #047857;
}

.badge-classroom {
  background-color: rgba(13, 148, 136, 0.12);
  color: #0d9488;
}

.badge-committee {
  background-color: rgba(99, 102, 241, 0.12);
  color: #6366f1;
}

.badge-club {
  background-color: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

.badge-task {
  background-color: rgba(37, 99, 235, 0.12);
  color: #2563eb;
}

.badge-priority-high {
  background-color: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

.badge-priority-medium {
  background-color: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
}

.badge-priority-low {
  background-color: rgba(56, 189, 248, 0.12);
  color: #0284c7;
}

.badge-status-completed {
  background-color: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

.badge-status-waiting {
  background-color: rgba(100, 116, 139, 0.12);
  color: #64748b;
}

.avatar-classroom {
  background: rgba(13, 148, 136, 0.12);
  color: #0d9488;
}

.avatar-committee {
  background: rgba(99, 102, 241, 0.12);
  color: #6366f1;
}

.avatar-club {
  background: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

.avatar-task {
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
}

.search-empty-state {
  padding: 1.25rem 0.5rem;
  text-align: center;
  color: #94a3b8;
  font-size: 0.82rem;
}

.search-empty-state i {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 0.4rem;
  color: #cbd5e1;
}

/* Kategori Başlığı */
.search-group-header {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #94a3b8;
  padding: 0.25rem 0.4rem 0.1rem;
}

/* Karanlık Tema Uyum */
[data-theme="dark"] .header-search-results {
  background-color: #1e2430;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .header-search-results::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .search-result-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.07);
}

[data-theme="dark"] .search-result-card:hover {
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.4);
}

[data-theme="dark"] .search-card-name {
  color: #f1f5f9;
}

[data-theme="dark"] .search-card-line-2 {
  color: #94a3b8;
}

[data-theme="dark"] .search-card-avatar {
  background-color: #272f3d;
}

[data-theme="dark"] .badge-teacher {
  background-color: rgba(14, 165, 233, 0.2);
  color: #38bdf8;
}

[data-theme="dark"] .badge-duty {
  background-color: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
}

[data-theme="dark"] .badge-class {
  background-color: rgba(16, 185, 129, 0.2);
  color: #34d399;
}

[data-theme="dark"] .badge-classroom,
[data-theme="dark"] .avatar-classroom {
  background-color: rgba(13, 148, 136, 0.25) !important;
  color: #2dd4bf !important;
}

[data-theme="dark"] .badge-committee,
[data-theme="dark"] .avatar-committee {
  background-color: rgba(99, 102, 241, 0.25) !important;
  color: #a5b4fc !important;
}

[data-theme="dark"] .badge-club,
[data-theme="dark"] .avatar-club {
  background-color: rgba(16, 185, 129, 0.25) !important;
  color: #34d399 !important;
}

[data-theme="dark"] .badge-task,
[data-theme="dark"] .avatar-task {
  background-color: rgba(37, 99, 235, 0.25) !important;
  color: #60a5fa !important;
}

[data-theme="dark"] .badge-priority-high {
  background-color: rgba(239, 68, 68, 0.25) !important;
  color: #f87171 !important;
}

[data-theme="dark"] .badge-priority-medium {
  background-color: rgba(245, 158, 11, 0.25) !important;
  color: #fbbf24 !important;
}

[data-theme="dark"] .badge-priority-low {
  background-color: rgba(56, 189, 248, 0.25) !important;
  color: #38bdf8 !important;
}

[data-theme="dark"] .badge-status-completed {
  background-color: rgba(16, 185, 129, 0.25) !important;
  color: #34d399 !important;
}

[data-theme="dark"] .badge-status-waiting {
  background-color: rgba(148, 163, 184, 0.2) !important;
  color: #94a3b8 !important;
}

[data-theme="dark"] .search-avatar-placeholder.teacher-bg {
  background: rgba(14, 165, 233, 0.25) !important;
  color: #38bdf8 !important;
}

[data-theme="dark"] .search-avatar-placeholder.duty-bg {
  background: rgba(245, 158, 11, 0.25) !important;
  color: #fbbf24 !important;
}

[data-theme="dark"] .search-avatar-placeholder.class-bg {
  background: rgba(16, 185, 129, 0.25) !important;
  color: #34d399 !important;
}

[data-theme="dark"] .search-empty-state {
  color: #64748b;
}

[data-theme="dark"] .search-group-header {
  color: #64748b;
}

/* Layout Body & Strict 0.4rem Content Gap */
.app-body {
  display: flex !important;
  flex: 1 1 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  height: calc(100% - 3rem) !important;
  max-height: calc(100% - 3rem) !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  padding: 0.4rem; /* Kırılmaz 0.4rem iç boşluk */
  gap: 0.4rem;     /* Sidebar ile Content arasında 0.4rem sabit boşluk */
}

/* Collapsible Sidebar: 180px normal (icon+text), 55px collapsed (only icon) */
.app-sidebar {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), min-width 0.25s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  user-select: none;
}

[data-theme="dark"] .app-sidebar {
  background-color: #38342f;
  border-color: #4a453f;
}

.app-sidebar.sidebar-collapsed {
  width: 55px !important;
  min-width: 55px !important;
  max-width: 55px !important;
}

.app-sidebar .sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.4rem 0.35rem;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.sidebar-nav-item {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.6rem;
  border-radius: 0.375rem;
  color: inherit;
  text-decoration: none;
  font-weight: 400 !important;
  font-size: 0.88rem !important;
  transition: all 0.2s ease;
  white-space: nowrap;
  cursor: pointer;
}

.sidebar-nav-item .sidebar-text {
  font-weight: 400 !important;
  font-size: 0.88rem !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-nav-item i {
  width: 20px;
  text-align: center;
  font-size: 1.05rem !important;
  margin-right: 0.55rem;
  transition: margin 0.25s ease;
  flex-shrink: 0;
}

.sidebar-collapsed .sidebar-nav-item {
  justify-content: center !important;
  padding: 0.55rem 0 !important;
}

.sidebar-collapsed .sidebar-nav-item i {
  margin-right: 0 !important;
  width: 100% !important;
  text-align: center !important;
}

.sidebar-collapsed .sidebar-text {
  display: none !important;
}

.sidebar-nav-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--theme-primary);
}

[data-theme="dark"] .sidebar-nav-item:hover {
  background-color: rgba(255, 255, 255, 0.06);
}

.sidebar-nav-item.active {
  background-color: var(--theme-primary) !important;
  color: #ffffff !important;
}

/* Content Area Frame & Internal Scroll Container */
.app-content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

[data-theme="dark"] .app-content-wrapper {
  background-color: #38342f;
  border-color: #4a453f;
}

/* Dashboard Şeffaf / Transparan Container Modu & Başlık İzi Temizleme */
.app-content-wrapper.dx-dashboard-mode {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  height: 100% !important;
  flex: 1 1 auto !important;
}

[data-theme="dark"] .app-content-wrapper.dx-dashboard-mode {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Başlık alanındaki border, shadow ve yüksekliği tamamen sıfırlayan kural */
.app-content-wrapper.dx-dashboard-mode .app-content-header,
.app-content-wrapper.dx-dashboard-mode #contentHeaderArea,
.app-content-header.dx-dashboard-hidden,
#contentHeaderArea.dx-dashboard-hidden {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

.app-content-body.dx-dashboard-mode {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.dx-dashboard-content-area {
  background: transparent !important;
  background-color: transparent !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}


.app-content-header {
  height: 3.5rem !important;
  min-height: 3.5rem !important;
  max-height: 3.5rem !important;
  padding: 0 1rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .app-content-header {
  border-bottom-color: #4a453f;
}

.app-content-body {
  flex: 1;
  padding: 1rem;
  overflow-y: auto; /* Yalnızca içerik alanı gerektiğinde iç scroll oluşturur */
}

/* Custom Table & Card Styles for Content Area */
.table-desktop {
  width: 100%;
  margin-bottom: 0;
  vertical-align: middle;
}

.table-desktop th {
  background-color: rgba(0, 0, 0, 0.02);
  border-bottom: 2px solid rgba(0, 0, 0, 0.08);
  white-space: nowrap;
}

[data-theme="dark"] .table-desktop th {
  background-color: rgba(255, 255, 255, 0.03);
  border-bottom-color: #4a453f;
  color: #f8fafc;
}

[data-theme="dark"] .table-desktop td {
  border-color: #4a453f;
  color: #e2e8f0;
}

/* Collapsible Sidebar Header & FontAwesome fa-bars-staggered Toggle Button */
.sidebar-header {
  height: 2.75rem;
  min-height: 2.75rem;
  background-color: rgba(0, 0, 0, 0.02);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0.85rem;
  transition: all 0.25s ease;
}

[data-theme="dark"] .sidebar-header {
  background-color: rgba(255, 255, 255, 0.03);
}

.sidebar-collapsed .sidebar-header {
  justify-content: center !important;
  padding: 0 !important;
}

.sidebar-header-title {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px;
}

.sidebar-toggle-btn {
  background: transparent !important;
  outline: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--theme-primary) !important;
  font-size: 1.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, color 0.2s ease;
}

.sidebar-toggle-btn:hover {
  color: var(--theme-primary-dark) !important;
  transform: scale(1.15);
}

/* Sidebar Bottom Footer & Font Zoom Buttons (Sidebar Nav İle Birebir Uyumlu Stil) */
.sidebar-footer {
  box-sizing: border-box;
  background-color: transparent !important;
  padding: 0.35rem 0.35rem !important;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0 !important;
  flex-shrink: 0;
  width: 100%;
}

.sidebar-zoom-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid transparent;
  background-color: transparent;
  color: inherit;
  font-weight: 400 !important;
  font-size: 0.82rem !important;
  transition: all 0.2s ease;
  white-space: nowrap;
  cursor: pointer;
  outline: none !important;
  user-select: none;
}

.sidebar-zoom-item i {
  font-size: 1rem !important;
  transition: margin 0.25s ease;
  flex-shrink: 0;
}

.sidebar-zoom-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--theme-primary);
}

[data-theme="dark"] .sidebar-zoom-item:hover {
  background-color: rgba(255, 255, 255, 0.06);
}

.sidebar-zoom-item:active {
  background-color: var(--theme-primary);
  color: #ffffff !important;
}

.sidebar-collapsed .sidebar-footer {
  flex-direction: column !important;
  padding: 0.35rem 0.25rem !important;
  gap: 0.25rem !important;
}

.sidebar-collapsed .sidebar-zoom-item {
  width: 100% !important;
  padding: 0.5rem 0 !important;
  justify-content: center !important;
}

.sidebar-collapsed .sidebar-zoom-item .sidebar-text {
  display: none !important;
}

/* User Account Circular Avatar Button & Floating Arrow Dropdown Menu */
.user-account-container {
  margin-right: 2rem !important;
}

.user-account-container {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.user-avatar-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: var(--theme-primary-light, #eef4ff);
  border: 2px solid var(--theme-primary, #0d6efd) !important;
  outline: none !important;
  box-shadow: 0 2px 8px rgba(13, 110, 253, 0.2) !important;
  color: var(--theme-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  overflow: hidden !important;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
  position: relative;
}

.user-avatar-btn img,
.user-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.user-avatar-btn:hover, .user-avatar-btn:focus, .user-avatar-btn:active {
  transform: scale(1.08);
  box-shadow: 0 4px 14px rgba(13, 110, 253, 0.35) !important;
  outline: none !important;
}

/* Uçarak Açılan Uçan Menü (Fly-in Animation) & Resmin Hemen Altında Konumlanma */
@keyframes userMenuFlyIn {
  0% {
    opacity: 0;
    transform: translateY(-16px) scale(0.92);
    visibility: visible;
  }
  65% {
    opacity: 1;
    transform: translateY(2px) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    visibility: visible;
  }
}

.user-dropdown-menu {
  min-width: 270px;
  border-radius: 0.85rem;
  box-shadow: 0 16px 36px -4px rgba(0, 0, 0, 0.22), 0 6px 12px -2px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 1060 !important;
  display: block !important;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-16px) scale(0.92);
  transform-origin: top right;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.2s ease;
  pointer-events: none;
  background-color: #ffffff;
}

.user-dropdown-menu.show {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  animation: userMenuFlyIn 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

/* Ucunda Resme Bakan Üçgen Ok (Pointing Arrow Top Indicator) */
/* 1. Dış çizgi / gölge için arka üçgen */
.user-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -9px;
  right: 11px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 9px solid rgba(0, 0, 0, 0.12);
  z-index: 10;
  pointer-events: none;
}

/* 2. Menü başlığı rengiyle kusursuz birleşen ön üçgen */
.user-dropdown-menu::after {
  content: '';
  position: absolute;
  top: -7.5px;
  right: 11px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid var(--theme-primary-light, #eef4ff);
  z-index: 11;
  pointer-events: none;
}

[data-theme="dark"] .user-dropdown-menu::before {
  border-bottom-color: rgba(255, 255, 255, 0.15);
}

[data-theme="dark"] .user-dropdown-menu::after {
  border-bottom-color: #38342f;
}

/* 100px Yüksekliğinde Kullanıcı Bilgi Header'ı & Düzenlemesi (.8rem bold 600 header, .7rem bold 600 body) */
.user-dropdown-header {
  padding: 0.75rem 1rem !important;
  background-color: var(--theme-primary-light);
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

[data-theme="dark"] .user-dropdown-header {
  background-color: rgba(255, 255, 255, 0.08);
  border-bottom-color: #4a453f;
}

.user-dropdown-header-row {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
}

.user-dropdown-header-label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

[data-theme="dark"] .user-dropdown-header-label {
  color: #94a3b8 !important;
}

.user-dropdown-header-value {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--theme-primary, #2563eb) !important;
  text-align: right !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* User dropdown body buttons: .7rem bold 600, alt alta tam satır yayılma */
.user-dropdown-body {
  padding: 0.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}

.user-dropdown-btn {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0.45rem 0.75rem !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #1e293b !important;
  cursor: pointer !important;
  transition: all 0.18s ease-in-out !important;
  text-align: left !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}

.user-dropdown-btn:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: var(--theme-primary, #2563eb) !important;
  transform: translateX(2px) !important;
}

.user-dropdown-btn.btn-logout {
  color: #dc2626 !important;
  border-color: rgba(220, 38, 38, 0.2) !important;
  background: rgba(220, 38, 38, 0.03) !important;
}

.user-dropdown-btn.btn-logout:hover {
  background: rgba(220, 38, 38, 0.12) !important;
  border-color: #dc2626 !important;
  color: #b91c1c !important;
}

[data-theme="dark"] .user-dropdown-btn {
  background: #2a2724 !important;
  border-color: #48433e !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .user-dropdown-btn:hover {
  background: #38342f !important;
  border-color: #64748b !important;
  color: #ffffff !important;
}

[data-theme="dark"] .user-dropdown-btn.btn-logout {
  background: rgba(239, 68, 68, 0.1) !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
  color: #f87171 !important;
}

[data-theme="dark"] .user-dropdown-btn.btn-logout:hover {
  background: rgba(239, 68, 68, 0.2) !important;
  border-color: #ef4444 !important;
  color: #fca5a5 !important;
}

[data-theme="dark"] .user-dropdown-menu {
  background-color: #38342f;
  border-color: #4a453f;
  color: #f8fafc;
}

/* Auth / Member Permissions Checkboxes Grid */
.dx-perm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.65rem;
  margin-top: 0.4rem;
}

.dx-perm-group-card {
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #f8fafc;
  padding: 0.5rem 0.75rem;
}

[data-theme="dark"] .dx-perm-group-card {
  border-color: #48433e;
  background: #262320;
}

.dx-perm-group-title {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--theme-primary, #2563eb);
  margin-bottom: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding-bottom: 0.25rem;
}

[data-theme="dark"] .dx-perm-group-title {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.dx-perm-item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 500;
  color: #334155;
  margin-bottom: 0.25rem;
  cursor: pointer;
  user-select: none;
}

[data-theme="dark"] .dx-perm-item {
  color: #cbd5e1;
}

.dx-perm-item input[type="checkbox"] {
  accent-color: var(--theme-primary, #2563eb);
  cursor: pointer;
}

/* Right-Side Attached Tab Toggle Button (Image 2 Style) */
#themePanelToggleBtn {
  position: fixed !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 30px !important;
  background-color: var(--theme-primary) !important;
  color: #ffffff !important;
  border-radius: 8px 0 0 8px !important;
  border: none !important;
  box-shadow: -3px 0 12px rgba(0, 0, 0, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1045 !important;
  cursor: pointer !important;
  transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s ease !important;
  padding: 0 !important;
}

#themePanelToggleBtn:hover {
  width: 40px !important;
  background-color: var(--theme-primary-dark) !important;
}

#themePanelToggleBtn i {
  font-size: 0.85rem;
  transition: transform 0.25s ease;
}

#themePanelToggleBtn:hover i {
  transform: scale(1.15);
}

/* ==========================================================================
   4. TEMA YAN PANELİ VE OVERLAY STİLLERİ (IMAGE MATCHING DESIGN)
   ========================================================================== */

.theme-side-panel {
  position: fixed;
  top: 0;
  right: -360px;
  width: 340px;
  height: 100% !important;
  background-color: #181818 !important;
  color: #ffffff;
  box-shadow: -5px 0 30px rgba(0, 0, 0, 0.5);
  z-index: 1060;
  transition: right 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.theme-side-panel.open {
  right: 0;
}

.theme-panel-overlay {
  position: fixed;
  inset: 0 !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(3px);
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.theme-panel-overlay.active {
  opacity: 1;
  visibility: visible;
}

body.theme-panel-open {
  overflow: hidden;
}

.cursor-pointer {
  cursor: pointer;
}

.font-xs {
  font-size: 0.75rem;
}

/* Tema Yan Paneli Header (Sol Üst 0,0 Kapat Butonu & Sağa Ötelenmiş İkonlu Yerleşim) */
.theme-panel-header {
  background-color: #1f1f1f !important;
  color: #ffffff !important;
  padding: 0.85rem 1rem !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid #2e2e2e !important;
  box-sizing: border-box !important;
  min-height: 60px !important;
}

.theme-panel-close-btn-fix00 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #94a3b8 !important;
  font-size: 1.15rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.theme-panel-close-btn-fix00:hover {
  color: #ffffff !important;
  transform: scale(1.15);
}

.theme-header-content {
  margin-left: 1rem !important; /* İkonu sağa doğru 1rem öteleme */
  width: calc(100% - 1rem) !important;
  display: flex !important;
  align-items: center !important; /* İkon ile dikey olarak tam ortala */
}

.theme-header-badge {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border-radius: 50% !important;
  background-color: var(--theme-primary-light) !important;
  color: var(--theme-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.2rem !important;
  flex-shrink: 0 !important;
  margin-right: 0.6rem !important;
  transition: background-color 0.25s ease, color 0.25s ease !important;
}

.theme-panel-title {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  transition: color 0.25s ease !important;
}

.theme-panel-subtitle {
  font-size: 0.74rem !important;
  color: #94a3b8 !important;
  line-height: 1.2 !important;
  transition: color 0.25s ease !important;
}

/* GÖRÜNÜM MODU & KURUMSAL RENK PALETLERİ Başlıkları (Bold 700, margin-top: 2rem, margin-bottom: 0.6rem) */
.theme-panel-section-title {
  font-size: 0.9rem !important;
  font-weight: 700 !important; /* Bold 700 */
  letter-spacing: 0.8px !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  margin-top: 2rem !important;    /* üstlerine 2rem margin */
  margin-bottom: 0.6rem !important; /* altlarına .6rem margin */
  transition: color 0.25s ease !important;
}

.theme-mode-section, .theme-color-section {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.theme-panel-body {
  padding-bottom: 7.5rem !important;
}

/* Fixed Bottom Reset Button Container */
.theme-reset-footer-container {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.theme-reset-btn {
  pointer-events: auto !important;
  width: calc(100% - 6rem) !important;
  margin-top: 0 !important;
  margin-bottom: 3rem !important;
  margin-left: 3rem !important;
  margin-right: 3rem !important;
  background-color: #242424 !important;
  border: 1px solid #383838 !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

.theme-reset-btn:hover {
  border-color: var(--theme-primary) !important;
  color: var(--theme-primary) !important;
  background-color: #2a2424 !important;
}

/* Görünüm Modu Check Butonları (Yükseklik: 80px, 2 Satır Kolon Düzeti) */
.theme-mode-container {
  display: flex !important;
  gap: 0.75rem !important;
  width: 100% !important;
}

.theme-mode-card {
  flex: 1 !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  border-radius: 14px !important;
  border: 1px solid #383838 !important;
  background-color: #242424 !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  box-sizing: border-box !important;
}

.theme-mode-card:hover {
  border-color: var(--theme-primary) !important;
  transform: translateY(-1px);
}

.theme-mode-card .mode-icon {
  font-size: 1.4rem !important;
  margin-bottom: 0 !important;
  color: var(--theme-primary) !important;
  transition: color 0.2s ease !important;
}

.theme-mode-card .mode-text {
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  transition: color 0.2s ease !important;
}

.theme-mode-card.active {
  border: 1.5px solid var(--theme-primary) !important;
  background-color: #242424 !important;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.3) !important;
}

.theme-mode-card.active .mode-text {
  color: var(--theme-primary) !important;
}

.theme-mode-card:not(.active) .mode-text {
  color: #ffffff !important;
}

/* 100% Genişlik, 60px Yükseklik, 3rem Çaplı Yuvarlak Renk Kartları (altlarına .3rem margin) */
.theme-color-card {
  width: 100% !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  margin-bottom: 0.3rem !important; /* renk paletleri cardlarının altlarına .3rem margin */
  border-radius: 14px !important;
  border: 1.5px solid #333333 !important;
  background-color: #242424 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 0.85rem !important;
  gap: 0.85rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  box-sizing: border-box !important;
}

.theme-color-card:hover {
  border-color: var(--theme-primary) !important;
  transform: translateY(-1px);
}

.theme-color-card.active {
  border: 2px solid var(--theme-primary) !important;
  background-color: #2a2424 !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) !important;
}

.theme-color-bullet {
  width: 3rem !important;
  height: 3rem !important;
  min-width: 3rem !important;
  max-width: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
}

.theme-color-card .color-info-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.theme-color-card .color-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  transition: color 0.2s ease !important;
}

.theme-color-card.active .color-title {
  color: var(--theme-primary) !important;
}

.theme-color-card .color-desc {
  font-size: 0.74rem !important;
  color: #94a3b8 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color 0.2s ease !important;
}

/* Dark Theme Adjustments */
[data-theme="dark"] .theme-side-panel {
  background-color: #181818 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .card {
  background-color: #38342f;
  border-color: #4a453f;
  color: #f8fafc;
}

/* ==========================================================================
   AYDINLIK MOD (LIGHT MODE) PANEL UYUMU (LIGHT THEME SIDE PANEL HARMONY)
   ========================================================================== */

[data-theme="light"] .theme-side-panel {
  background-color: #ffffff !important;
  color: #0f172a !important;
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.12) !important;
}

[data-theme="light"] .theme-panel-header {
  background-color: #f8fafc !important;
  border-bottom-color: #e2e8f0 !important;
  color: #0f172a !important;
}

[data-theme="light"] .theme-panel-close-btn-fix00 {
  color: #64748b !important;
}

[data-theme="light"] .theme-panel-close-btn-fix00:hover {
  color: #0f172a !important;
}

[data-theme="light"] .theme-panel-title {
  color: #0f172a !important;
}

[data-theme="light"] .theme-panel-subtitle,
[data-theme="light"] .theme-panel-section-title {
  color: #64748b !important;
}

[data-theme="light"] .theme-mode-card {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .theme-mode-card:not(.active) .mode-text {
  color: #0f172a !important;
}

[data-theme="light"] .theme-mode-card.active {
  background-color: #f8fafc !important;
  border-color: var(--theme-primary) !important;
}

[data-theme="light"] .theme-color-card {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .theme-color-card .color-title {
  color: #0f172a !important;
}

[data-theme="light"] .theme-color-card.active {
  background-color: #f8fafc !important;
  border-color: var(--theme-primary) !important;
}

[data-theme="light"] .theme-color-card .color-desc {
  color: #64748b !important;
}

[data-theme="light"] .theme-reset-btn {
  background-color: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] .theme-reset-btn:hover {
  background-color: #f1f5f9 !important;
  border-color: var(--theme-primary) !important;
  color: var(--theme-primary) !important;
}

/* Tema Yan Paneli Toggle Kartları (Paneller ve Tooltip) */
.theme-panel-toggle-card {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin-bottom: 0.35rem !important;
  border-radius: 12px !important;
  border: 1.5px solid #333333 !important;
  background-color: #242424 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 0.85rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  box-sizing: border-box !important;
}

.theme-panel-toggle-card:hover {
  border-color: var(--theme-primary) !important;
  transform: translateY(-1px);
}

.theme-panel-toggle-card.active {
  border-color: var(--theme-primary) !important;
}

.theme-panel-toggle-card .toggle-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.theme-panel-toggle-card .toggle-icon {
  font-size: 1.1rem;
  color: var(--theme-primary);
  width: 24px;
  text-align: center;
}

.theme-panel-toggle-card .toggle-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
}

.theme-panel-toggle-card .toggle-desc {
  font-size: 0.7rem;
  color: #94a3b8;
}

.theme-panel-toggle-card .toggle-switch-pill {
  width: 38px;
  height: 22px;
  background-color: #383838;
  border-radius: 12px;
  position: relative;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}

.theme-panel-toggle-card.active .toggle-switch-pill {
  background-color: var(--theme-primary, #008080);
}

.theme-panel-toggle-card .toggle-switch-pill::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border-radius: 50%;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.theme-panel-toggle-card.active .toggle-switch-pill::after {
  transform: translateX(16px);
}

.theme-db-sync-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #94a3b8;
  padding: 0.5rem;
  margin-top: 0.6rem;
  margin-bottom: 0.5rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  text-align: center;
}
.theme-db-sync-badge i {
  color: var(--theme-primary, #008080);
}

/* Light Theme Overrides for Toggle Cards */
[data-theme="light"] .theme-panel-toggle-card {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .theme-panel-toggle-card .toggle-label {
  color: #0f172a !important;
}

[data-theme="light"] .theme-panel-toggle-card .toggle-desc {
  color: #64748b !important;
}

[data-theme="light"] .theme-panel-toggle-card .toggle-switch-pill {
  background-color: #cbd5e1;
}

[data-theme="light"] .theme-panel-toggle-card.active {
  background-color: #f8fafc !important;
  border-color: var(--theme-primary) !important;
}

[data-theme="light"] .theme-panel-toggle-card.active .toggle-switch-pill {
  background-color: var(--theme-primary, #008080);
}

[data-theme="light"] .theme-db-sync-badge {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(0, 0, 0, 0.1);
  color: #64748b;
}

/* ==========================================================================
   ÖĞRETMENLER SAYFASI - DEVEXPRESS BİREBİR SADIK DESKTOP MİMARİSİ
   ========================================================================== */

/* 0. Sayfa Gövdesi Scrollbar Kilidi (Her tarafta scrollbar çıkmasını önler) */
.app-content-wrapper.dx-page-mode {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--theme-bg-body, #f1f5f9) !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .app-content-wrapper.dx-page-mode {
  background: var(--theme-bg-body, #1c1a18) !important;
  border: none !important;
}

.app-content-body.dx-page-mode {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  flex: 1 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 1. Üst Menü Ribbon Çubuğu / Başlık Kartı (Dört Köşesi Eşit Yuvarlatılmış Bağımsız Card) */
.app-content-wrapper.dx-page-mode .app-content-header {
  margin: 0.5rem 0.65rem 0.25rem 0.65rem !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 950 !important;
}

[data-theme="dark"] .app-content-wrapper.dx-page-mode .app-content-header {
  background: #242220 !important;
  border-color: #38342f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
}

.app-content-header {
  border-radius: 8px !important;
}

.dx-header-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
  gap: 0.75rem !important;
  width: 100%;
  height: 100%;
}

.dx-header-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--theme-primary) !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.dx-tb-actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin-left: 0 !important; /* SOLA YASLI - Tüm sayfa ve sekmelerde butonlar sola yaslı */
  margin-right: auto !important;
  justify-content: flex-start !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.dx-tb-btn {
  background: transparent !important;
  border: 1px solid transparent !important;
  color: #334155;
  font-size: 0.8125rem !important; /* Tab ile birebir eşit font büyüklüğü */
  font-weight: 600 !important;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
  line-height: 1.25 !important;
  transition: all 0.15s ease;
  white-space: nowrap;
  box-shadow: none !important;
  text-decoration: none;
  user-select: none;
  position: relative;
}

/* Only-Icon Görünümü: İkon boyutu net ve metin tamamen gizlenir */
.dx-tb-btn.only-icon {
  padding: 0.25rem 0.45rem !important;
  min-width: 34px !important;
  max-width: 36px !important;
  width: auto !important;
  height: 32px !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: hidden !important;
}

.dx-tb-btn.only-icon .btn-label,
.dx-tb-btn.only-icon .dx-tb-btn-text,
.dx-tb-btn.only-icon span:not(.badge):not(.badge-count) {
  display: none !important;
}

.dx-tb-btn.only-icon.dropdown-toggle::after {
  display: none !important;
}

.dx-tb-btn.only-icon i,
.dx-tb-btn.only-icon svg {
  font-size: 1.25em !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: inline-block !important;
}

.dx-tb-btn.only-icon .badge-count,
.dx-tb-btn.only-icon .badge {
  position: absolute;
  top: -2px;
  right: -2px;
  font-size: 0.55rem !important;
  padding: 1px 4px !important;
  border-radius: 10px;
}

.dx-tb-btn:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
  color: var(--theme-primary, #2563eb) !important;
}

.dx-tb-btn:active,
.dx-tb-btn.active {
  background: rgba(37, 99, 235, 0.1) !important;
  border-color: rgba(37, 99, 235, 0.25) !important;
  color: var(--theme-primary, #2563eb) !important;
  font-weight: 600;
}

[data-theme="dark"] .dx-tb-btn {
  background: transparent;
  border-color: transparent;
  color: #cbd5e1;
  box-shadow: none;
}

[data-theme="dark"] .dx-tb-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

[data-theme="dark"] .dx-tb-btn:active,
[data-theme="dark"] .dx-tb-btn.active {
  background: rgba(37, 99, 235, 0.2) !important;
  border-color: rgba(96, 165, 250, 0.35) !important;
  color: #93c5fd !important;
}

.dx-tb-divider {
  width: 1px;
  height: 1.25rem;
  background: rgba(0, 0, 0, 0.12);
  margin: 0 0.25rem;
}

[data-theme="dark"] .dx-tb-divider {
  background: rgba(255, 255, 255, 0.15);
}

/* 2. 3-Panel Ana Kapsayıcı (Ayrıştırılmış Card & Layout Yapısı) */
.dx-teachers-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 360px;
  grid-template-areas: "left center right";
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0.65rem !important;
  padding: 0.65rem 12px !important;
  height: 100% !important;
  width: 100% !important;
  flex: 1 !important;
  min-height: 0 !important;
  background: var(--theme-bg-body, #f1f5f9);
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dx-account-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  grid-template-areas: "center right" !important;
  gap: 0.65rem !important;
  padding: 0 0.65rem 0.65rem 0.65rem !important; /* Başlık menüsü (margin: 0.65rem) ile sol ve sağdan birebir aynı */
  height: 100% !important;
  width: 100% !important;
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dx-account-layout.no-right-pane,
.dx-account-layout:has(#dxAccountRightInfo[style*="display: none"]),
.dx-account-layout:has(#dxAccountRightInfo[style*="display:none"]) {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "center" !important;
  gap: 0 !important;
  padding: 0 0.65rem 0.65rem 0.65rem !important;
}

.dx-account-layout .dx-left-accordion,
#dxAccountLeftAccordion {
  display: none !important;
}

.dx-account-layout .dx-grid-container {
  grid-area: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.dx-account-layout .dx-right-info {
  grid-area: right !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 999.98px) {
  .dx-account-layout .dx-right-info,
  #dxAccountRightInfo {
    display: none !important;
  }
  .dx-account-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "center" !important;
  }
}

/* =========================================================================
   HESAP AYARLARI TAB HEADER & FOOTER & PADDING STİLLERİ (3rem, TEMA UYUMLU)
   ========================================================================= */
.dx-account-tab-header {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  padding: 0 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #f1f5f9 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  z-index: 2;
}

.dx-account-tab-footer {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  padding: 0 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #f1f5f9 !important;
  border-top: 1px solid #e2e8f0 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  z-index: 2;
}

.dx-account-tab-body {
  flex: 1 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 1.25rem 1.5rem !important;
  box-sizing: border-box !important;
}

/* Dark Mode Uyum */
[data-theme="dark"] .dx-account-tab-header,
[data-theme="dark"] .dx-account-tab-footer {
  background-color: #242220 !important;
  border-color: #38342f !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .dx-account-tab-body {
  background-color: transparent !important;
}

[data-theme="dark"] .dx-perm-card-row {
  background-color: #1e1c1a !important;
  border-color: #38342f !important;
  color: #f8fafc !important;
}
[data-theme="dark"] .dx-perm-card-row .dx-perm-card-info .fw-semibold {
  color: #f8fafc !important;
}

[data-theme="dark"] .dx-account-admin-direct .dx-table-container {
  background-color: #1e1c1a !important;
  border-color: #38342f !important;
}
[data-theme="dark"] .dx-account-admin-direct .dx-table-container thead {
  background-color: #242220 !important;
}
[data-theme="dark"] .dx-account-admin-direct .dx-table-container th {
  background-color: #242220 !important;
  color: #cbd5e1 !important;
  border-color: #38342f !important;
}
[data-theme="dark"] .dx-account-admin-direct .dx-table-container td {
  border-color: #38342f !important;
  color: #f8fafc !important;
}

/* Kullanıcı Tanımla Tabında GridView Card'dan Çıkarıldı ve Content'e Tam Yayılmış */
.dx-account-admin-direct .dx-account-admin-grid-area {
  flex: 1 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}

.dx-account-admin-direct .dx-table-container {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.dx-account-admin-direct .dx-table th {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

/* Kullanıcı Tabpage List Item ve Buton Tipografisi (.8rem bold 500, butonlar .6rem bold 600, 1rem sağ-sol padding) */
.dx-user-card-row,
.dx-perm-card-row {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
}

.dx-user-card-row .btn,
.dx-perm-card-row .btn,
.dx-fum-card .btn {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
}

/* Yetkiler ve İzinler Matrisi cardındaki font .6rem bold 500 */
#fumPermsList,
#fumPermsList .dx-perm-card-row,
#fumPermsList .dx-perm-card-info,
#fumPermsList .dx-perm-card-info div,
#fumPermsList span,
#fumPermsList .badge {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
}

/* Yeni Kullanıcı & Rol Yetkisi Tanımla sayfasındaki başlıklar ve card başlıkları .8rem bold 600 */
.dx-fum-header-title div:first-child,
.dx-fum-card h6,
.dx-fum-card .dx-card-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

/* Footerda yer alan butonların fontu .8rem bold 600 */
.dx-fum-footer .btn,
.dx-account-tab-footer .btn {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .dx-user-card-row {
  background-color: #1e1c1a !important;
  border-color: #38342f !important;
  color: #f8fafc !important;
}
[data-theme="dark"] .dx-user-card-row .fw-semibold,
[data-theme="dark"] .dx-user-card-row .text-dark {
  color: #f8fafc !important;
}

.dx-todo-layout {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  grid-template-areas: "left center" !important;
  gap: 0 !important;
  padding: 0 12px 0.65rem 12px !important;
  height: 100% !important;
  width: 100% !important;
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dx-todo-layout.no-left-pane {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "center" !important;
  padding-left: 12px !important;
}

.dx-todo-layout.has-left-icon-only {
  grid-template-columns: 50px minmax(0, 1fr) !important;
  grid-template-areas: "left center" !important;
}

.dx-todo-layout .dx-left-accordion,
#dxTodoLeftAccordion {
  grid-area: left !important;
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
}

.dx-todo-layout.has-left-icon-only .dx-left-accordion,
#dxTodoLayout.has-left-icon-only #dxTodoLeftAccordion {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
}

.dx-todo-layout .dx-grid-container,
#dxTodoGridContainer {
  grid-area: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.dx-todo-layout .dx-right-info {
  display: none !important;
}

.dx-teachers-layout.no-left-pane {
  grid-template-columns: minmax(0, 1fr) 360px !important;
  grid-template-areas: "center right" !important;
}

.dx-teachers-layout.no-right-pane {
  grid-template-columns: 200px minmax(0, 1fr) !important;
  grid-template-areas: "left center" !important;
}

.dx-teachers-layout.no-left-pane.no-right-pane {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "center" !important;
}

[data-theme="dark"] .dx-teachers-layout {
  background: var(--theme-bg-body, #1c1a18);
  border-top-color: #333842;
}

/* Sol Dikey Filtre Alanı (Accordion - Herhangi bir card görünümü yok, serbest zemin) */
.dx-left-accordion {
  grid-area: left;
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  margin: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  user-select: none;
}

[data-theme="dark"] .dx-left-accordion {
  background: transparent !important;
  border: none !important;
}

.dx-left-accordion::-webkit-scrollbar {
  width: 5px;
}
.dx-left-accordion::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}
[data-theme="dark"] .dx-left-accordion::-webkit-scrollbar-thumb {
  background: #4a453f;
}

/* Semantik Accordion Grup Bileşenleri */
.dx-accordion-group {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .dx-accordion-group {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.dx-accordion-header {
  padding: 0.38rem 0.45rem !important;
  font-size: 0.70rem !important;
  font-weight: 700;
  color: #334155;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer;
  background: transparent !important;
  transition: background 0.15s ease;
  user-select: none;
  border-left: 3px solid transparent;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  gap: 0.25rem !important;
  white-space: nowrap !important;
}

.dx-accordion-header .dx-acc-title-wrap,
.dx-accordion-header .dx-acc-title {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  max-width: calc(100% - 16px) !important;
  gap: 0.3rem !important;
}

.dx-accordion-header .dx-acc-title-text,
.dx-accordion-header span.dx-acc-title-text {
  font-size: 0.69rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.25px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: inline-block !important;
}

.dx-accordion-header i:not(.dx-acc-chevron):not(.dx-acc-arrow):not(.fa-chevron-up):not(.fa-chevron-down) {
  font-size: 0.72rem !important;
  width: 13px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

[data-theme="dark"] .dx-accordion-header {
  background: transparent !important;
  color: #cbd5e1;
}

.dx-accordion-header:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}

[data-theme="dark"] .dx-accordion-header:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}

.dx-accordion-group.open .dx-accordion-header {
  border-left-color: var(--theme-primary, #2563eb);
}

.dx-acc-chevron,
.dx-acc-arrow,
.dx-accordion-header i.fa-chevron-up,
.dx-accordion-header i.fa-chevron-down,
.dx-accordion-header i.dx-acc-chevron,
.dx-accordion-header i.dx-acc-arrow {
  font-size: 0.62rem !important;
  color: #94a3b8;
  width: 12px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.15s ease;
}

.dx-accordion-header:hover .dx-acc-chevron,
.dx-accordion-header:hover .dx-acc-arrow {
  color: #475569;
}

[data-theme="dark"] .dx-acc-chevron,
[data-theme="dark"] .dx-acc-arrow {
  color: #64748b;
}

[data-theme="dark"] .dx-accordion-header:hover .dx-acc-chevron,
[data-theme="dark"] .dx-accordion-header:hover .dx-acc-arrow {
  color: #cbd5e1;
}

/* Akordiyon grup başlıklarında sayı rozetlerini kesinlikle kaldır */
.dx-accordion-header .count-badge,
.dx-accordion-header .dx-acc-badge,
.dx-accordion-header .badge {
  display: none !important;
}

/* ==============================================================
   AKORDİYON ONLY-ICON (YALNIZCA İKON) VE DAR ALAN UYARLAMA KURALI
   ============================================================== */
.dx-teachers-layout.has-left-icon-only,
.dx-courses-layout.has-left-icon-only,
.dx-classes-layout.has-left-icon-only,
.dx-duties-layout.has-left-icon-only,
.dx-todo-layout.has-left-icon-only {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.dx-left-accordion.icon-only,
.dx-left-accordion.only-icon {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transition: width 0.2s ease;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 6px 0 !important;
  box-sizing: border-box !important;
}

.dx-left-accordion.icon-only .dx-accordion-group,
.dx-left-accordion.only-icon .dx-accordion-group {
  width: 50px !important;
  margin: 3px auto !important;
  border-bottom: none !important;
}

/* 50x50px Tam Kare İkon Butonları */
.dx-left-accordion.icon-only .dx-accordion-header,
.dx-left-accordion.only-icon .dx-accordion-header {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  max-width: 50px !important;
  max-height: 50px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease !important;
}

[data-theme="dark"] .dx-left-accordion.icon-only .dx-accordion-header,
[data-theme="dark"] .dx-left-accordion.only-icon .dx-accordion-header {
  background: #242220 !important;
  border-color: #38342f !important;
  color: #cbd5e1 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) !important;
}

.dx-left-accordion.icon-only .dx-accordion-header:hover,
.dx-left-accordion.only-icon .dx-accordion-header:hover {
  background-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.12) !important;
  border-color: var(--theme-primary, #2563eb) !important;
  color: var(--theme-primary, #2563eb) !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1) !important;
}

[data-theme="dark"] .dx-left-accordion.icon-only .dx-accordion-header:hover,
[data-theme="dark"] .dx-left-accordion.only-icon .dx-accordion-header:hover {
  background-color: rgba(var(--theme-primary-rgb, 96, 165, 250), 0.2) !important;
  border-color: var(--theme-primary, #60a5fa) !important;
  color: #ffffff !important;
}

.dx-left-accordion.only-icon .dx-accordion-group:has(.dx-acc-item.active:not([data-filter="all"]):not([onclick*="'all'"])) .dx-accordion-header,
.dx-left-accordion.icon-only .dx-accordion-group:has(.dx-acc-item.active:not([data-filter="all"]):not([onclick*="'all'"])) .dx-accordion-header {
  border-color: var(--theme-primary, #2563eb) !important;
  color: var(--theme-primary, #2563eb) !important;
  background-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.12) !important;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 37, 99, 235), 0.25) !important;
}

/* İkon taşıyıcı span'ları görünür tut ve ortala */
.dx-left-accordion.icon-only .dx-accordion-header span.text-truncate,
.dx-left-accordion.only-icon .dx-accordion-header span.text-truncate,
.dx-left-accordion.icon-only .dx-accordion-header .dx-acc-title,
.dx-left-accordion.only-icon .dx-accordion-header .dx-acc-title,
.dx-left-accordion.icon-only .dx-accordion-header .dx-acc-title-wrap,
.dx-left-accordion.only-icon .dx-accordion-header .dx-acc-title-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ana kategori ikonu: Net, ortalanmış ve belirgin */
.dx-left-accordion.icon-only .dx-accordion-header i,
.dx-left-accordion.only-icon .dx-accordion-header i {
  margin: 0 !important;
  font-size: 1.35rem !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/* Only-Icon modunda TÜM OKLARI (chevron / arrow), başlık yazılarını ve rozetleri kesinlikle gizle */
.dx-left-accordion.icon-only .dx-accordion-header .dx-acc-title-text,
.dx-left-accordion.only-icon .dx-accordion-header .dx-acc-title-text,
.dx-left-accordion.icon-only .dx-accordion-header .dx-acc-chevron,
.dx-left-accordion.only-icon .dx-accordion-header .dx-acc-chevron,
.dx-left-accordion.icon-only .dx-accordion-header .dx-acc-arrow,
.dx-left-accordion.only-icon .dx-accordion-header .dx-acc-arrow,
.dx-left-accordion.icon-only .dx-accordion-header i.dx-acc-chevron,
.dx-left-accordion.only-icon .dx-accordion-header i.dx-acc-chevron,
.dx-left-accordion.icon-only .dx-accordion-header i.dx-acc-arrow,
.dx-left-accordion.only-icon .dx-accordion-header i.dx-acc-arrow,
.dx-left-accordion.icon-only .dx-accordion-header i.fa-chevron-down,
.dx-left-accordion.only-icon .dx-accordion-header i.fa-chevron-down,
.dx-left-accordion.icon-only .dx-accordion-header i.fa-chevron-up,
.dx-left-accordion.only-icon .dx-accordion-header i.fa-chevron-up,
.dx-left-accordion.icon-only .dx-accordion-header i.fa-angle-down,
.dx-left-accordion.only-icon .dx-accordion-header i.fa-angle-down,
.dx-left-accordion.icon-only .count-badge,
.dx-left-accordion.only-icon .count-badge,
.dx-left-accordion.icon-only .dx-acc-badge,
.dx-left-accordion.only-icon .dx-acc-badge {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  pointer-events: none !important;
}

.dx-left-accordion.icon-only .dx-acc-item,
.dx-left-accordion.only-icon .dx-acc-item,
.dx-left-accordion.icon-only .dx-accordion-body,
.dx-left-accordion.only-icon .dx-accordion-body,
.dx-left-accordion.icon-only .dx-accordion-content,
.dx-left-accordion.only-icon .dx-accordion-content,
.dx-left-accordion.icon-only .dx-acc-list,
.dx-left-accordion.only-icon .dx-acc-list {
  display: none !important;
}

/* ==============================================================
   GRIDVIEW TABLO TAŞMA VE ÜÇ NOKTA (...) HÜCRE KIRPMA KURALI
   ============================================================== */
.dx-table {
  table-layout: fixed !important;
  width: 100% !important;
}

.dx-table th,
.dx-table td {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: middle;
}

.dx-table td .dx-cell-name,
.dx-table td .dx-cell-text,
.dx-table td .dx-cell-kod,
.dx-table th .th-text {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: inline-block;
  max-width: 100%;
}

.dx-table th.dx-col-kurul-adi,
.dx-table td.dx-col-kurul-adi {
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Akordiyon grubun alt elementlerini 8px girintili göster */
.dx-accordion-body,
.dx-accordion-content {
  padding-left: 8px !important;
  padding-right: 4px !important;
}

.dx-left-accordion.icon-only .dx-accordion-body,
.dx-left-accordion.only-icon .dx-accordion-body,
.dx-left-accordion.icon-only .dx-accordion-content,
.dx-left-accordion.only-icon .dx-accordion-content {
  padding-left: 0 !important;
}

.dx-accordion-body {
  display: none;
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

.dx-accordion-content {
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

.dx-accordion-group.open .dx-accordion-body {
  display: block;
}

.dx-acc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dx-acc-item {
  padding: 0.25rem 0.35rem !important;
  font-size: 0.68rem !important;
  color: #475569;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer;
  border-radius: 4px;
  margin: 1px 0;
  transition: background 0.1s ease;
  line-height: 1.15;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  gap: 0.25rem !important;
}

.dx-acc-item > span,
.dx-acc-item .dx-acc-item-title,
.dx-acc-item span.text-truncate,
.dx-acc-item .d-flex {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: 0.68rem !important;
  letter-spacing: -0.2px !important;
  max-width: 100% !important;
  gap: 0.25rem !important;
}

.dx-acc-item i {
  font-size: 0.68rem !important;
  width: 12px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

[data-theme="dark"] .dx-acc-item {
  color: #94a3b8;
}

.dx-acc-item:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #1e293b;
}

[data-theme="dark"] .dx-acc-item:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #f1f5f9;
}

.dx-acc-item.active {
  background: rgba(0, 0, 0, 0.07);
  color: #0f172a !important;
  font-weight: 600;
  border-left: 3px solid #dc2626; /* Görseldeki kırmızı vurgu çizgisi */
  padding-left: calc(0.35rem - 3px) !important;
}

[data-theme="dark"] .dx-acc-item.active {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff !important;
  border-left-color: #ef4444;
}

.dx-acc-item .count-badge,
.dx-acc-item .dx-acc-badge,
.dx-acc-item .badge,
.dx-acc-item span.count-badge,
.dx-acc-item span.badge {
  font-size: 0.60rem !important;
  color: #64748b;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  text-align: right !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 4px !important;
  line-height: 1.2 !important;
}

.dx-acc-item.active .count-badge,
.dx-acc-item.active .dx-acc-badge,
.dx-acc-item.active .badge,
.dx-acc-item.active span.count-badge,
.dx-acc-item.active span.badge {
  color: #0f172a;
  font-weight: 700;
}

[data-theme="dark"] .dx-acc-item.active .count-badge,
[data-theme="dark"] .dx-acc-item.active .dx-acc-badge,
[data-theme="dark"] .dx-acc-item.active .badge,
[data-theme="dark"] .dx-acc-item.active span.count-badge,
[data-theme="dark"] .dx-acc-item.active span.badge {
  color: #f8fafc;
}

/* Orta GridView Alanı (Köşeleri Yuvarlatılmış Bağımsız Card) */
.dx-grid-container {
  grid-area: center;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  position: relative !important;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  margin: 0;
  margin-left: 12px !important; /* Accordion ile Gridview arasındaki margin DAİMA 12px */
  min-height: 0;
  min-width: 0 !important;
  container-type: inline-size;
}

.dx-teachers-layout.no-left-pane .dx-grid-container,
.dx-courses-layout.no-left-pane .dx-grid-container,
.dx-classes-layout.no-left-pane .dx-grid-container,
.dx-duties-layout.no-left-pane .dx-grid-container,
.dx-todo-layout.no-left-pane .dx-grid-container {
  margin-left: 0 !important;
}

/* Accordion ile Gridview arasındaki margin DAİMA 12px */
.dx-teachers-layout.has-left-icon-only .dx-grid-container,
.dx-courses-layout.has-left-icon-only .dx-grid-container,
.dx-classes-layout.has-left-icon-only .dx-grid-container,
.dx-duties-layout.has-left-icon-only .dx-grid-container,
.dx-todo-layout.has-left-icon-only .dx-grid-container,
.dx-left-accordion.only-icon + .dx-grid-container,
.dx-left-accordion.icon-only + .dx-grid-container,
.dx-left-accordion.only-icon ~ .dx-grid-container,
.dx-left-accordion.icon-only ~ .dx-grid-container,
:has(> .dx-left-accordion.only-icon) > .dx-grid-container,
:has(> .dx-left-accordion.icon-only) > .dx-grid-container,
.dx-teachers-layout:has(.dx-left-accordion.only-icon) .dx-grid-container,
.dx-teachers-layout:has(.dx-left-accordion.icon-only) .dx-grid-container,
.dx-courses-layout:has(.dx-left-accordion.only-icon) .dx-grid-container,
.dx-courses-layout:has(.dx-left-accordion.icon-only) .dx-grid-container,
.dx-classes-layout:has(.dx-left-accordion.only-icon) .dx-grid-container,
.dx-classes-layout:has(.dx-left-accordion.icon-only) .dx-grid-container,
.dx-duties-layout:has(.dx-left-accordion.only-icon) .dx-grid-container,
.dx-duties-layout:has(.dx-left-accordion.icon-only) .dx-grid-container,
.dx-todo-layout:has(.dx-left-accordion.only-icon) .dx-grid-container,
.dx-todo-layout:has(.dx-left-accordion.icon-only) .dx-grid-container {
  margin-left: 12px !important;
}

.dx-todo-layout:not(.no-left-pane) .dx-grid-container {
  margin-left: 12px !important;
}

/* Info panel bulunan sayfalarda info panel ile gridview arasındaki margin DAİMA 12px */
.dx-teachers-layout.has-right-pane .dx-grid-container,
.dx-teachers-layout:has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) .dx-grid-container,
.dx-teachers-layout:has(.dx-right-info:not([style*="display: none"]):not([style*="display:none"])) .dx-grid-container {
  margin-right: 12px !important;
  width: auto !important;
}

.dx-teachers-layout.no-right-pane .dx-grid-container,
.dx-teachers-layout:has(#dxRightInfo[style*="display: none"]) .dx-grid-container,
.dx-teachers-layout:has(#dxRightInfo[style*="display:none"]) .dx-grid-container {
  margin-right: 0 !important;
  width: auto !important;
}

[data-theme="dark"] .dx-courses-layout .dx-grid-container,
[data-theme="dark"] .dx-classes-layout .dx-grid-container,
[data-theme="dark"] .dx-duties-layout .dx-grid-container,
[data-theme="dark"] .dx-teachers-layout .dx-grid-container,
[data-theme="dark"] .dx-grid-container,
[data-theme="dark"] #dxGridContainer,
[data-theme="dark"] #dxCoursesGridContainer,
[data-theme="dark"] #dxClassesGridContainer,
[data-theme="dark"] #dxDutiesGridContainer,
[data-theme="dark"] #dxVpScheduleRoot,
[data-theme="dark"] #dxVpReportScheduleRoot {
  background: #242220 !important;
  border-color: #38342f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
}

/* Üst Gruplama ve Özet Çipleri - Tüm sayfalardaki gridview'lerden kaldırıldı */
.dx-group-header-bar,
.dx-group-chip:not(.interactive),
.dx-vp-count-badge,
.dx-summary-chip {
  display: none !important;
}

.dx-group-chip {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  font-size: 0.74rem;
  padding: 0.15rem 0.55rem;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #334155;
  font-weight: 500;
}

.dx-group-chip.interactive {
  cursor: pointer;
  user-select: none;
  transition: all 0.15s ease;
  border-radius: 4px;
}

.dx-group-chip.interactive:hover {
  border-color: var(--theme-primary, #0284c7);
  color: var(--theme-primary, #0284c7);
}

.dx-group-chip.interactive.active {
  background: var(--theme-primary, #0284c7);
  border-color: var(--theme-primary, #0284c7);
  color: #ffffff;
}

.dx-group-chip.interactive.active .badge {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

[data-theme="dark"] .dx-group-chip {
  background: #38342f;
  border-color: #4a453f;
  color: #cbd5e1;
}

[data-theme="dark"] .dx-group-chip.interactive:hover {
  border-color: var(--theme-primary, #38bdf8);
  color: var(--theme-primary, #38bdf8);
}

[data-theme="dark"] .dx-group-chip.interactive.active {
  background: var(--theme-primary, #0284c7);
  border-color: var(--theme-primary, #0284c7);
  color: #ffffff;
}

.dx-grid-search {
  position: relative;
  width: 240px;
}

.dx-grid-search input {
  height: 26px;
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem 0.15rem 0.5rem;
  border-radius: 3px;
  border: 1px solid #cbd5e1;
}

[data-theme="dark"] .dx-grid-search input {
  background: #38342f;
  border-color: #4a453f;
  color: #e2e8f0;
}

/* Tablo Alanı (GridView'de ASLA yatay scrollbar çıkmaz, yalnızca dikey satırlar kayar) */
.dx-table-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important; /* GridView'de HİÇBİR ZAMAN yatay scrollbar çıkmaz */
  position: relative;
  width: 100% !important;
  box-sizing: border-box;
}

.dx-table-scroll::-webkit-scrollbar {
  width: 6px;
  height: 0px !important; /* Yatay scrollbar'ı tamamen sıfırla */
}
.dx-table-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}
.dx-table-scroll::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

.dx-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important; /* Sütunlar tam alana sığar, asla taşmaz */
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.73rem !important;
  margin: 0;
}

/* Grid View Eşit Font Büyüklüğü & Üç Nokta (...) ile Metin Daraltma */
.dx-table,
.dx-table thead th,
.dx-table thead th .th-text,
.dx-table tbody td,
.dx-table tbody td span,
.dx-table tbody td a,
.dx-table tbody td .badge {
  font-size: 0.73rem !important;
}

.dx-table th,
.dx-table td {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  box-sizing: border-box;
}

.dx-table .th-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: visible !important;
}

.dx-table .th-left {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: visible !important;
}

.dx-table .th-text,
.dx-table .dx-cell-name,
.dx-table .dx-cell-text,
.dx-table .dx-cell-link,
.dx-table .dx-cell-kod {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}

.dx-table thead tr {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
}

.dx-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 5;
  background: #f8fafc;
  color: #334155;
  font-weight: 600;
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  padding: 0 0.5rem;
  border-bottom: 1px solid #cbd5e1;
  border-right: none !important;
  border-left: none !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

[data-theme="dark"] .dx-table thead th {
  background: #25221e;
  color: #cbd5e1;
  border-bottom-color: #4a453f;
  border-right: none !important;
  border-left: none !important;
}

.th-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  line-height: 1;
}

.th-left {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.excel-filter-btn {
  border: 1px solid transparent;
  background: transparent;
  color: #94a3b8;
  width: 20px;
  height: 20px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1;
  border-radius: 4px;
  transition: all 0.15s ease;
}

.excel-filter-btn:hover {
  color: var(--theme-primary) !important;
  background: rgba(var(--theme-primary-rgb), 0.1) !important;
  border-color: rgba(var(--theme-primary-rgb), 0.2) !important;
}

.excel-filter-btn.filtered {
  color: #ffffff !important;
  background: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
  box-shadow: 0 1px 3px rgba(var(--theme-primary-rgb), 0.35);
}

.column-sort-btn {
  border: 1px solid transparent;
  background: transparent;
  color: #94a3b8;
  width: 18px;
  height: 18px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1;
  border-radius: 4px;
  transition: all 0.15s ease;
}

.column-sort-btn:hover {
  color: var(--theme-primary) !important;
  background: rgba(var(--theme-primary-rgb), 0.1) !important;
}

.column-sort-btn.active {
  color: var(--theme-primary) !important;
}

/* ========================================================================= */
/* MERKEZİ POPUP FİLTRE FORMU (CENTRAL EXCEL FILTER POPUP)                  */
/* ========================================================================= */
.excel-filter-popup {
  position: absolute;
  z-index: 99999 !important;
  min-width: 220px !important;
  max-width: 260px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  display: none;
  overflow: hidden !important;
  box-sizing: border-box !important;
  animation: excelPopupFadeIn 0.15s ease-out;
}

@keyframes excelPopupFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

[data-theme="dark"] .excel-filter-popup {
  background: #242220 !important;
  border-color: #38342f !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
  color: #f1f5f9 !important;
}

.excel-filter-popup.show {
  display: block !important;
}

/* Header Kısmı: Yükseklik 2rem (32px), Başlık .8rem bold 600 */
.excel-filter-popup .excel-filter-header {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  padding: 0 0.6rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #f8fafc !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .excel-filter-popup .excel-filter-header {
  background: #2a2723 !important;
  border-bottom-color: #38342f !important;
}

.excel-filter-popup .excel-filter-header span,
.excel-filter-popup .excel-filter-header .fw-bold,
.excel-filter-popup .excel-filter-header .excel-filter-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: inherit !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.excel-filter-popup .excel-filter-header i.fa-xmark {
  font-size: 0.8rem !important;
  cursor: pointer !important;
  opacity: 0.65 !important;
  transition: opacity 0.15s ease, color 0.15s ease !important;
  line-height: 1 !important;
}

.excel-filter-popup .excel-filter-header i.fa-xmark:hover {
  opacity: 1 !important;
  color: var(--theme-primary, #2563eb) !important;
}

/* Arama Alanı */
.excel-filter-popup .excel-filter-search {
  position: relative !important;
  padding: 0.3rem 0.5rem 0.2rem 0.5rem !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.excel-filter-popup .excel-filter-search input {
  font-size: 0.65rem !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 0.4rem 0 1.5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  border-radius: 4px !important;
  background: rgba(0, 0, 0, 0.02) !important;
  color: inherit !important;
  outline: none !important;
}

.excel-filter-popup .excel-filter-search input:focus {
  border-color: var(--theme-primary, #2563eb) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 37, 99, 235), 0.15) !important;
}

[data-theme="dark"] .excel-filter-popup .excel-filter-search input {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: #4a453f !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .excel-filter-popup .excel-filter-search input:focus {
  background: #2e2b27 !important;
}

.excel-filter-popup .excel-filter-search i {
  position: absolute !important;
  left: 0.85rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 0.65rem !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
}

/* Tümünü Seç Alanı: margin ve padding toplamda .3rem */
.excel-filter-popup .excel-filter-select-all,
.excel-filter-popup .excel-filter-item.border-bottom {
  padding: 0.15rem 0.5rem !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  background: rgba(0, 0, 0, 0.01) !important;
}

/* Form Yüksekliği: Mevcut yüksekliğin 60px altına çekildi (max-height: 140px) */
.excel-filter-popup .excel-filter-list,
.excel-filter-list {
  max-height: 140px !important;
  overflow-y: auto !important;
  padding: 0.15rem 0.5rem !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Checkbox'lar: font .6rem bold 500, margin ve padding toplamda .3rem (0.15rem padding + 0.15rem padding) */
.excel-filter-popup .excel-filter-item,
.excel-filter-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.15rem 0.35rem !important;
  margin: 0 !important;
  cursor: pointer !important;
  border-radius: 3px !important;
  user-select: none !important;
  transition: background 0.1s ease !important;
  box-sizing: border-box !important;
}

.excel-filter-popup .excel-filter-item:hover,
.excel-filter-item:hover {
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.08) !important;
  color: var(--theme-primary, #2563eb) !important;
}

.excel-filter-popup .excel-filter-item input[type="checkbox"],
.excel-filter-item input[type="checkbox"] {
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  accent-color: var(--theme-primary, #2563eb) !important;
  cursor: pointer !important;
}

.excel-filter-popup .excel-filter-item label,
.excel-filter-popup label,
.excel-filter-item label {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  cursor: pointer !important;
  color: inherit !important;
}

.excel-filter-popup .excel-filter-item .text-muted,
.excel-filter-popup .excel-filter-item span.small,
.excel-filter-item .text-muted {
  font-size: 0.56rem !important;
  font-weight: 500 !important;
  opacity: 0.75 !important;
}

/* Footer Kısmı: Yükseklik 2rem (32px) */
.excel-filter-popup .excel-filter-footer,
.excel-filter-popup .excel-filter-actions {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  padding: 0 0.5rem !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #f8fafc !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .excel-filter-popup .excel-filter-footer,
[data-theme="dark"] .excel-filter-popup .excel-filter-actions {
  background: #2a2723 !important;
  border-top-color: #38342f !important;
}

.excel-filter-popup .excel-filter-footer button,
.excel-filter-popup .excel-filter-footer .btn,
.excel-filter-popup .excel-filter-actions button,
.excel-filter-popup .excel-filter-actions .btn,
.excel-filter-popup .btn-excel-clear,
.excel-filter-popup .btn-excel-apply {
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  padding: 0 10px !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  cursor: pointer !important;
}

.excel-filter-popup .excel-filter-footer button i,
.excel-filter-popup .excel-filter-actions button i {
  font-size: 0.62rem !important;
}

/* Sıralama Butonları Daima Görünür Standart */
.dx-table thead th .column-sort-btn,
.dx-modal-grid-box .column-sort-btn,
.column-sort-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  visibility: visible !important;
  opacity: 0.8 !important;
  color: #64748b !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  width: 19px !important;
  height: 19px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  margin-left: 2px !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}

.dx-table thead th .column-sort-btn:hover,
.dx-modal-grid-box .column-sort-btn:hover,
.column-sort-btn:hover {
  opacity: 1 !important;
  color: var(--theme-primary, #2563eb) !important;
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.12) !important;
  border-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.25) !important;
}

.dx-table thead th .column-sort-btn.active,
.dx-modal-grid-box .column-sort-btn.active,
.column-sort-btn.active {
  opacity: 1 !important;
  color: var(--theme-primary, #2563eb) !important;
}

[data-theme="dark"] .dx-table thead th .column-sort-btn,
[data-theme="dark"] .dx-modal-grid-box .column-sort-btn,
[data-theme="dark"] .column-sort-btn {
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-table thead th .column-sort-btn:hover,
[data-theme="dark"] .dx-modal-grid-box .column-sort-btn:hover,
[data-theme="dark"] .column-sort-btn:hover {
  color: #60a5fa !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-table thead th .column-sort-btn.active,
[data-theme="dark"] .dx-modal-grid-box .column-sort-btn.active,
[data-theme="dark"] .column-sort-btn.active {
  color: #60a5fa !important;
}

/* Tablo Satırları (Tam Olarak 32px Yükseklik) */
.dx-table tbody tr {
  height: 32px !important;
  max-height: 32px !important;
  cursor: pointer;
  transition: background 0.05s ease;
}

.dx-table tbody tr:hover {
  background: #f8fafc;
}

[data-theme="dark"] .dx-table tbody tr:hover {
  background: #332f2a;
}

.dx-table tbody tr.selected-row {
  background-color: rgba(var(--theme-primary-rgb), 0.12) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 12%, transparent) !important;
  color: #0f172a;
}

[data-theme="dark"] .dx-table tbody tr.selected-row {
  background-color: rgba(var(--theme-primary-rgb), 0.16) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 16%, transparent) !important;
  color: #ffffff;
}

.dx-table tbody td {
  padding: 0 0.5rem;
  border-bottom: 1px dotted #cbd5e1 !important;
  border-right: none !important;
  border-left: none !important;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.2;
  color: #1e293b !important;
}

[data-theme="dark"] .dx-table tbody td {
  border-bottom: 1px dotted #4a453f !important;
  border-right: none !important;
  border-left: none !important;
}

/* Gridview Yazı Rengi Bütünlüğü (Tüm sütunlar tek ve okunaklı renkte) */
.dx-table tbody td,
.dx-table tbody td span,
.dx-table tbody td a,
.dx-table tbody td .dx-cell-text,
.dx-table tbody td .dx-cell-kod,
.dx-table tbody td .dx-cell-name,
.dx-table tbody td .dx-cell-empty,
.dx-table tbody td .dx-cell-link {
  color: #1e293b !important;
  font-size: 0.73rem !important;
  text-decoration: none;
}

.dx-table tbody td .dx-cell-name {
  font-weight: 600;
}

.dx-table tbody td .dx-cell-kod {
  font-weight: 600;
}

.dx-table tbody td .dx-cell-empty {
  opacity: 0.45;
}

.dx-table tbody td .dx-cell-subicon {
  color: #64748b !important;
  font-size: 0.76rem;
}

/* 1. Sütun: Cinsiyet İkonları ve Sabit 50px Genişlik */
.col-cinsiyet,
th.col-cinsiyet,
td.col-cinsiyet {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  text-align: center !important;
  padding: 0 2px !important;
  box-sizing: border-box !important;
}

/* Excel Tarzı Sütun Boyutlandırma Kolu */
.dx-col-resizer {
  position: absolute;
  top: 0;
  right: -4px;
  width: 8px;
  height: 100%;
  cursor: col-resize !important;
  user-select: none;
  -webkit-user-select: none;
  z-index: 20;
}

.dx-col-resizer::after {
  content: '';
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 3px;
  width: 2px;
  background: transparent;
  transition: background 0.12s ease;
}

.dx-col-resizer:hover::after,
.dx-col-resizer.resizing::after {
  background: #2563eb;
}

[data-theme="dark"] .dx-col-resizer:hover::after,
[data-theme="dark"] .dx-col-resizer.resizing::after {
  background: #60a5fa;
}

body.table-resizing,
body.table-resizing * {
  cursor: col-resize !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.dx-gender-icon {
  font-size: 1.15rem;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}

.dx-gender-icon.male {
  color: #2563eb !important; /* Erkek öğretmen: Mavi ikon */
}

.dx-gender-icon.female {
  color: #e11d48 !important; /* Kadın öğretmen: Pembe/Kırmızı ikon */
}

[data-theme="dark"] .dx-gender-badge.male {
  background: rgba(96, 165, 250, 0.18);
  color: #60a5fa !important;
  border-color: rgba(96, 165, 250, 0.45);
}

[data-theme="dark"] .dx-gender-badge.female {
  background: rgba(251, 113, 133, 0.18);
  color: #fb7185 !important;
  border-color: rgba(251, 113, 133, 0.45);
}

[data-theme="dark"] .dx-table tbody td {
  border-bottom: 0.5px dotted #857d72; /* Karanlık mod belirgin noktalı çizgi (.5px) */
  border-right-color: #2b2824;
}

[data-theme="dark"] .dx-table tbody td,
[data-theme="dark"] .dx-table tbody td span,
[data-theme="dark"] .dx-table tbody td a,
[data-theme="dark"] .dx-table tbody td .dx-cell-text,
[data-theme="dark"] .dx-table tbody td .dx-cell-kod,
[data-theme="dark"] .dx-table tbody td .dx-cell-name,
[data-theme="dark"] .dx-table tbody td .dx-cell-empty,
[data-theme="dark"] .dx-table tbody td .dx-cell-link {
  color: #f1f5f9 !important; /* Karanlık modda kristal netliğinde tek tip yazı rengi */
}

[data-theme="dark"] .dx-table tbody td .dx-cell-subicon {
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-gender-icon.male {
  color: #60a5fa !important;
}

[data-theme="dark"] .dx-gender-icon.female {
  color: #fb7185 !important;
}

/* Seçili Satır (Selected Row) Renk Dengesi */
.dx-table tbody tr.selected-row td,
.dx-table tbody tr.selected-row td span,
.dx-table tbody tr.selected-row td a,
.dx-table tbody tr.selected-row td .dx-cell-text,
.dx-table tbody tr.selected-row td .dx-cell-kod,
.dx-table tbody tr.selected-row td .dx-cell-name,
.dx-table tbody tr.selected-row td .dx-cell-link {
  color: #0f172a !important;
}

[data-theme="dark"] .dx-table tbody tr.selected-row td,
[data-theme="dark"] .dx-table tbody tr.selected-row td span,
[data-theme="dark"] .dx-table tbody tr.selected-row td a,
[data-theme="dark"] .dx-table tbody tr.selected-row td .dx-cell-text,
[data-theme="dark"] .dx-table tbody tr.selected-row td .dx-cell-kod,
[data-theme="dark"] .dx-table tbody tr.selected-row td .dx-cell-name,
[data-theme="dark"] .dx-table tbody tr.selected-row td .dx-cell-link {
  color: #ffffff !important;
}

/* 4. GridView Footer (Tam 3rem Yükseklik) */
.dx-grid-footer {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  border-top: 1px solid #e2e8f0;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 1rem;
  background: #ffffff;
  font-size: 0.78rem;
  color: #64748b;
  box-sizing: border-box !important;
}

[data-theme="dark"] .dx-grid-footer {
  background: #2b2824;
  border-top-color: #3d3934;
  color: #94a3b8;
}

.dx-pagination-group {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.dx-page-size-group {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.dx-pg-divider {
  width: 1px;
  height: 18px;
  background: #cbd5e1;
  margin: 0 0.35rem;
}

[data-theme="dark"] .dx-pg-divider {
  background: #4a453f;
}

.dx-pg-btn {
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #334155;
  font-size: 0.75rem;
  font-weight: 600;
  min-width: 26px;
  height: 26px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.12s ease;
  user-select: none;
  text-decoration: none;
}

[data-theme="dark"] .dx-pg-btn {
  background: #38342f;
  border-color: #4a453f;
  color: #e2e8f0;
}

.dx-pg-btn:hover:not(:disabled):not(.active) {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--theme-primary);
  color: var(--theme-primary);
}

[data-theme="dark"] .dx-pg-btn:hover:not(:disabled):not(.active) {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--theme-primary);
  color: var(--theme-primary);
}

.dx-pg-btn.active {
  background: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.dx-pg-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* 5. Sağ Bilgi Paneli (Sağ Kolon) */
.dx-right-info,
#dxRightInfo,
#dxRightPane {
  grid-area: right;
  width: 360px;
  max-width: 360px !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  display: flex;
  flex-direction: column;
  gap: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  margin-left: auto !important;
  justify-self: end !important;
  min-height: 0;
}

[data-theme="dark"] .dx-right-info {
  background: transparent !important;
  border: none !important;
}

/* Sağ Bilgi Paneli: Info Panel Genişliği 360px */
.dx-teachers-layout .dx-right-info.reduced-width,
.dx-right-info.reduced-width,
#dxRightPane.reduced-width,
#dxRightInfo.reduced-width {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  flex: 0 0 360px !important;
  justify-self: end !important;
  margin-left: auto !important;
}

.dx-right-info.reduced-width .dx-profile-card-exact,
#dxRightPane.reduced-width .dx-profile-card-exact {
  padding: 0.4rem 0.5rem !important;
  gap: 0.55rem !important;
}

.dx-right-info.reduced-width .dx-person-photo,
#dxRightPane.reduced-width .dx-person-photo {
  width: 6rem !important;
  height: 8rem !important;
  min-width: 6rem !important;
  min-height: 8rem !important;
}

.dx-right-info.reduced-width .dx-person-name,
#dxRightPane.reduced-width .dx-person-name {
  font-size: 0.92rem !important;
}

.dx-right-info.reduced-width .dx-person-title,
#dxRightPane.reduced-width .dx-person-title {
  font-size: 0.72rem !important;
  margin-bottom: 0.2rem !important;
}

.dx-right-info.reduced-width .dx-circle-btn,
#dxRightPane.reduced-width .dx-circle-btn {
  width: 25px !important;
  height: 25px !important;
  font-size: 0.65rem !important;
}

.dx-right-info.reduced-width .dx-right-tabs-bar,
#dxRightPane.reduced-width .dx-right-tabs-bar {
  padding: 0 0.15rem !important;
  gap: 0.1rem !important;
  justify-content: flex-end !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dx-right-info.reduced-width .dx-right-tabs-bar::-webkit-scrollbar,
#dxRightPane.reduced-width .dx-right-tabs-bar::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.dx-right-info.reduced-width .dx-right-tab-item,
#dxRightPane.reduced-width .dx-right-tab-item {
  font-size: 0.54rem !important;
  padding: 0.35rem 0.15rem !important;
  white-space: nowrap !important;
  letter-spacing: -0.35px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  text-align: center !important;
}

/* Üst Profil Kartı: Solda Fotoğraf, Sağda İsim + Unvan + 4 Yuvarlak İkon */
.dx-profile-card-exact {
  padding: 0.5rem 0.65rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-bottom: none !important;
  background: transparent !important;
  flex-shrink: 0;
  margin-bottom: 2rem !important; /* Info bölümü ile tab control bölümü arasındaki margin 2rem */
}

/* Alttaki Bağımsız Card (Sekmeler ve Kart İçeriği) */
.dx-tab-card {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  overflow: hidden !important;
}

[data-theme="dark"] .dx-tab-card {
  background: #242220;
  border-color: #38342f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.dx-person-photo {
  width: 6rem !important;
  height: 8rem !important;
  min-width: 6rem !important;
  min-height: 8rem !important;
  max-width: 6rem !important;
  max-height: 8rem !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  background: #f1f5f9;
  flex-shrink: 0;
}

.dx-person-info-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.15rem;
}

.dx-person-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.2;
  margin-bottom: 0.15rem;
}

[data-theme="dark"] .dx-person-name {
  color: #f1f5f9;
}

.dx-person-title {
  font-size: 0.82rem;
  color: #64748b;
  margin-bottom: 0.25rem;
}

[data-theme="dark"] .dx-person-title {
  color: #94a3b8;
}

.dx-person-gender-row {
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
}

/* 4 Adet Yuvarlak İkon Butonu */
.dx-person-icons-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.dx-circle-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #475569;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.1s ease;
}

[data-theme="dark"] .dx-circle-btn {
  background: #38342f;
  border-color: #4a453f;
  color: #cbd5e1;
}

.dx-circle-btn:hover {
  background: #f1f5f9;
  color: #2563eb;
  border-color: #94a3b8;
}

.dx-circle-btn.dx-btn-telegram:hover {
  color: #229ED9 !important;
  border-color: #229ED9 !important;
}

.dx-circle-btn.dx-btn-instagram:hover {
  color: #E1306C !important;
  border-color: #E1306C !important;
}

.dx-circle-btn.dx-btn-bip:hover {
  color: #0076fe !important;
  border-color: #0076fe !important;
}

/* Sağ Panel Sekmeler (Sağa Yaslı, Kırmızı Alt Çizgili) */
.dx-right-tabs-bar {
  display: flex;
  justify-content: flex-end !important; /* Sağa Yasla */
  align-items: center;
  padding: 0 0.5rem;
  border-bottom: 1px solid #e2e8f0;
  background: #ffffff;
  gap: 0.35rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dx-right-tabs-bar::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

[data-theme="dark"] .dx-right-tabs-bar {
  background: #242220;
  border-bottom-color: #38342f;
}

.dx-right-tab-item {
  padding: 0.45rem 0.2rem;
  font-size: 0.62rem !important;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  position: relative;
  text-decoration: none;
  white-space: nowrap;
  flex: 0 0 auto !important;
  letter-spacing: -0.3px;
  text-align: center;
  display: inline-flex;
  align-items: center;
}

[data-theme="dark"] .dx-right-tab-item {
  color: #94a3b8;
}

.dx-right-tab-item:hover {
  color: #0f172a;
}

.dx-right-tab-item.active {
  color: #dc2626; /* Görseldeki Tasks kırmızı rengi */
}

.dx-right-tab-item.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #dc2626;
}

/* Sekme İçerik Sayısı Label/Badge (İnce hatlar, tema arka planı, genişlik: sayı uzunluğu + 5px, beyaz yazı) */
.dx-right-tab-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--theme-primary, #008080) !important;
  color: #ffffff !important;
  padding: 0 2.5px !important;
  min-width: calc(1ch + 5px) !important;
  box-sizing: content-box !important;
  height: 14px !important;
  line-height: 14px !important;
  font-size: 0.60rem !important;
  font-weight: 500 !important;
  border-radius: 3px !important;
  margin-left: 3px !important;
  vertical-align: middle !important;
  border: none !important;
}

/* Sağ Panel Kart Alanı (Görseldeki Görev / Kart Tasarımı) */
.dx-right-cards-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0.65rem 0.65rem;
}

.dx-right-cards-scroll.no-scrollbar,
.dx-right-cards-scroll:has(.dx-sched-container) {
  overflow: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dx-right-cards-scroll::-webkit-scrollbar {
  width: 5px;
}
.dx-right-cards-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

.dx-right-cards-scroll.no-scrollbar::-webkit-scrollbar,
.dx-right-cards-scroll:has(.dx-sched-container)::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* ==========================================================================
   ÖĞRETMEN HAFTALIK DERS PROGRAMI TABLOSU (WEEKLY SCHEDULE TABLE)
   ========================================================================== */

.dx-sched-container {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  overflow: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dx-sched-container::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.dx-sched-badge-load {
  background: rgba(var(--theme-primary-rgb), 0.1);
  color: var(--theme-primary);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  font-weight: 700;
  font-size: 0.7rem;
  border: 1px solid rgba(var(--theme-primary-rgb), 0.2);
  display: inline-flex;
  align-items: center;
}

.dx-sched-badge-duty {
  background: rgba(250, 204, 21, 0.2) !important;
  color: #854d0e !important;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  font-weight: 700;
  font-size: 0.7rem;
  border: 1px solid rgba(234, 179, 8, 0.35) !important;
  display: inline-flex;
  align-items: center;
}

[data-theme="dark"] .dx-sched-badge-duty {
  background: rgba(250, 204, 21, 0.2) !important;
  color: #fde047 !important;
  border-color: rgba(250, 204, 21, 0.35) !important;
}

.dx-sched-table-wrap {
  width: 100%;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.dx-sched-table-wrap::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

[data-theme="dark"] .dx-sched-table-wrap {
  background: #1c1a18;
  border-color: #38342f;
  box-shadow: none;
}

.dx-sched-table {
  width: 100% !important;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.72rem;
  margin: 0;
}

.dx-sched-table th,
.dx-sched-table td {
  box-sizing: border-box;
}

.dx-sched-table thead tr {
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .dx-sched-table thead tr {
  background: rgba(255, 255, 255, 0.03);
  border-bottom-color: #38342f;
}

.dx-sched-th-hour {
  width: 84px;
  min-width: 84px;
  max-width: 84px;
  padding: 0.25rem 0.2rem;
  text-align: center;
  font-size: 0.7rem;
  font-weight: 700;
  color: #64748b;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .dx-sched-th-hour {
  color: #94a3b8;
  border-right-color: #38342f;
}

.dx-sched-th-day {
  padding: 0.2rem 0.1rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.72rem;
  color: #334155;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .dx-sched-th-day {
  color: #cbd5e1;
  border-right-color: #38342f;
}

.dx-sched-th-day:last-child {
  border-right: none;
}

.dx-sched-th-day.has-duty {
  background: rgba(250, 204, 21, 0.2) !important;
}

[data-theme="dark"] .dx-sched-th-day.has-duty {
  background: rgba(250, 204, 21, 0.2) !important;
}

.sched-duty-icon {
  font-size: 0.62rem;
}

.dx-sched-td-hour {
  width: 84px;
  min-width: 84px;
  max-width: 84px;
  text-align: center;
  vertical-align: middle;
  background: rgba(0, 0, 0, 0.015);
  font-weight: 700;
  font-size: 0.72rem;
  color: #475569;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  height: 32px !important;
  padding: 2px 4px;
  user-select: none;
  box-sizing: border-box;
}

[data-theme="dark"] .dx-sched-td-hour {
  background: rgba(255, 255, 255, 0.02);
  color: #94a3b8;
  border-bottom-color: #38342f;
  border-right-color: #38342f;
}

.dx-sched-hour-time {
  font-size: 0.63rem;
  line-height: 1.15;
  color: #64748b;
  font-family: inherit;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  letter-spacing: -0.2px;
  margin-top: 1px;
}

[data-theme="dark"] .dx-sched-hour-time {
  color: #94a3b8;
}

.dx-sched-table tbody tr:last-child .dx-sched-td-hour,
.dx-sched-table tbody tr:last-child .dx-sched-td-cell {
  border-bottom: none;
}

.dx-sched-td-cell {
  height: 28px !important;
  padding: 1.5px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  transition: background 0.15s ease;
}

[data-theme="dark"] .dx-sched-td-cell {
  border-bottom-color: #38342f;
  border-right-color: #38342f;
}

.dx-sched-td-cell:last-child {
  border-right: none;
}

.dx-sched-td-cell.empty {
  color: #cbd5e1;
  font-weight: 300;
  font-size: 0.75rem;
  background: transparent;
  line-height: 1;
}

[data-theme="dark"] .dx-sched-td-cell.empty {
  color: #475569;
}

.dx-sched-cell-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.05;
  border-radius: 3px;
  padding: 0 1px;
  background: rgba(var(--theme-primary-rgb), 0.08);
  border: 1px solid var(--theme-primary) !important;
  cursor: pointer;
  box-sizing: border-box;
  overflow: hidden;
  transition: background 0.15s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

.dx-sched-cell-inner:hover {
  background: rgba(var(--theme-primary-rgb), 0.18);
  border-color: var(--theme-primary) !important;
  transform: scale(1.03);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  z-index: 2;
}

[data-theme="dark"] .dx-sched-cell-inner {
  background: rgba(var(--theme-primary-rgb), 0.14);
  border: 1px solid var(--theme-primary) !important;
}

[data-theme="dark"] .dx-sched-cell-inner:hover {
  background: rgba(var(--theme-primary-rgb), 0.25);
  border-color: var(--theme-primary) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

.dx-sched-cell-class {
  font-size: 0.66rem;
  font-weight: 800;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1;
}

[data-theme="dark"] .dx-sched-cell-class {
  color: #f1f5f9;
}

.dx-sched-cell-code {
  font-size: 0.56rem;
  font-weight: 700;
  color: var(--theme-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1;
}

/* Rehberlik Dersi Vurgusu */
.dx-sched-td-cell.is-rehberlik .dx-sched-cell-inner {
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid #f59e0b !important;
}

.dx-sched-td-cell.is-rehberlik .dx-sched-cell-code {
  color: #d97706;
}

[data-theme="dark"] .dx-sched-td-cell.is-rehberlik .dx-sched-cell-code {
  color: #fbbf24;
}

/* Tablo Altı 2 Satırlı Bilgi Listesi (Footer List Items) */
/* Tab Panelin Altında 2 Kart: Nöbet Yeri & Haftalık Ders Saati (4rem Kare, Arka Plansız, Gölgesiz) */
.dx-sched-footer-cards {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.75rem !important;
  margin-top: 0.5rem !important;
  padding: 0 0.25rem !important;
  flex-shrink: 0 !important;
}

.dx-sched-stat-card {
  width: 6rem !important;
  height: 4rem !important;
  min-width: 6rem !important;
  min-height: 4rem !important;
  max-width: 6rem !important;
  max-height: 4rem !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 4px 6px !important;
  cursor: default !important;
  border-radius: 6px !important;
  transition: transform 0.15s ease, background 0.15s ease, background-color 0.15s ease !important;
}

.dx-sched-stat-card:hover,
.dx-sched-footer-cards .dx-sched-stat-card:hover,
.dx-sched-footer-cards .duty-card:hover,
.dx-sched-stat-card.duty-card:hover {
  transform: none !important;
  background: rgba(0, 0, 0, 0.05) !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  box-shadow: none !important;
  border: none !important;
  border-color: transparent !important;
}

[data-theme="dark"] .dx-sched-stat-card:hover,
[data-theme="dark"] .dx-sched-footer-cards .dx-sched-stat-card:hover,
[data-theme="dark"] .dx-sched-footer-cards .duty-card:hover,
[data-theme="dark"] .dx-sched-stat-card.duty-card:hover {
  transform: none !important;
  background: rgba(255, 255, 255, 0.08) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
  border: none !important;
  border-color: transparent !important;
}

[data-theme="dark"] .dx-sched-stat-card,
[data-theme="dark"] .dx-sched-footer-cards .dx-sched-stat-card,
[data-theme="dark"] .dx-sched-footer-cards .duty-card {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.dx-sched-stat-card.duty-card,
.dx-sched-footer-cards .duty-card {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.dx-sched-stat-label {
  font-weight: 600 !important;
  color: #475569 !important;
  font-size: 0.65rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  line-height: 1 !important;
}

[data-theme="dark"] .dx-sched-stat-label {
  color: #94a3b8 !important;
}

.dx-sched-stat-value {
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  color: #1e293b !important;
  line-height: 1.15 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}

[data-theme="dark"] .dx-sched-stat-value {
  color: #f1f5f9 !important;
}

.dx-sched-stat-sub {
  font-size: 0.58rem !important;
  color: #64748b !important;
  line-height: 1 !important;
  max-width: 100% !important;
  margin-top: 1px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

[data-theme="dark"] .dx-sched-stat-sub {
  color: #94a3b8 !important;
}

/* Eski Çizelge Tooltipi (Merkezi birleşik tooltip sistemine devredildi) */
.dx-sched-custom-tooltip {
  display: none !important;
}

/* Ok (Arrow Pointer) - Üstte veya Altta Dinamik */
.dx-sched-custom-tooltip[data-arrow="bottom"]::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: var(--tt-arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid var(--theme-primary, #2563eb);
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.18));
}

.dx-sched-custom-tooltip[data-arrow="top"]::after {
  content: "";
  position: absolute;
  top: -7px;
  left: var(--tt-arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid var(--theme-primary, #2563eb);
  filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.18));
}

/* Üst Başlık (Ders Saati + Gün Rozeti) */
.dx-sched-tt-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  padding-bottom: 4px;
  margin-bottom: 2px;
}

.dx-sched-tt-hour-title {
  font-size: 0.74rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.2px;
  line-height: 1.1;
  white-space: nowrap;
}

.dx-sched-tt-day-badge {
  font-size: 0.58rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
  padding: 1px 4px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Alt Açıklama (Dersin Adı, Saatleri, Sınıf Bilgisi) */
.dx-sched-tt-desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 2px;
}

.dx-sched-tt-line {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.dx-sched-tt-k {
  font-size: 0.55rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
}

.dx-sched-tt-k i {
  font-size: 0.52rem;
  margin-right: 3px;
  opacity: 0.9;
}

.dx-sched-tt-v {
  font-size: 0.68rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 130px;
}

/* Görseldeki Kart Modeli */
.dx-task-card {
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

[data-theme="dark"] .dx-task-card {
  border-bottom-color: #3d3934;
}

.dx-task-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}

.dx-task-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}

[data-theme="dark"] .dx-task-title {
  color: #f1f5f9;
}

.dx-task-due {
  font-size: 0.72rem;
  color: #64748b;
  text-align: right;
  white-space: nowrap;
}

.dx-task-desc {
  font-size: 0.76rem;
  color: #475569;
  line-height: 1.35;
  margin-bottom: 0.6rem;
}

[data-theme="dark"] .dx-task-desc {
  color: #94a3b8;
}

/* Mavi Kalın İlerleme Çubuğu ve % Yüzde (Görseldeki gibi) */
.dx-task-progress-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.dx-task-bar-track {
  flex: 1;
  height: 5px;
  background: #f1f5f9;
  border-radius: 3px;
  overflow: hidden;
}

[data-theme="dark"] .dx-task-bar-track {
  background: #38342f;
}

.dx-task-bar-fill {
  height: 100%;
  background: #2563eb;
  border-radius: 3px;
}

.dx-task-percentage {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2563eb;
  min-width: 48px;
  text-align: right;
  line-height: 1;
}

/* ==========================================================================
   T.C. KİMLİK KARTI TASARIMI (GRIDVIEW KART GÖRÜNÜMÜ)
   ========================================================================== */
.tc-cards-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px;
  align-items: flex-start;
  justify-content: flex-start;
}

.tc-card {
  position: relative;
  width: 212px;
  height: 150px;
  flex: 0 0 212px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e2eefb 45%, #f4ecf8 75%, #e9f1fc 100%);
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  padding: 4px;
  display: flex;
  gap: 4px;
  overflow: hidden;
  box-sizing: border-box;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  user-select: none;
}

.tc-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.11);
  border-color: #93c5fd;
}

.tc-card.selected,
.tc-card.active {
  border: 2px solid #2563eb !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.25), 0 5px 12px rgba(0, 0, 0, 0.12);
}

/* Sağ Üst MEB Logo Filigranı */
.tc-card-watermark {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 52px;
  height: 52px;
  background-image: url('/assets/images/meb_logo.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.18;
  pointer-events: none;
  z-index: 1;
}

/* Sol Alan: 80px Genişlik (Fotoğraf + TCKN) */
.tc-card-left {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
}

.tc-photo-box {
  width: 80px;
  height: 118px;
  border-radius: 6px;
  overflow: hidden;
  background: #cbd5e1;
  border: 1px solid #94a3b8;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tc-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tc-photo-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #334155 0%, #0f172a 100%);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.tc-photo-fallback i {
  font-size: 1.6rem;
  opacity: 0.85;
}

.tc-photo-fallback span {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.tc-tckn-row {
  width: 80px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px 0 4px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.tc-tckn-text {
  font-family: 'Consolas', 'Courier New', monospace;
  font-size: 0.58rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}

/* Sağ Alan: 120px Genişlik (6 Satır Bilgi) */
.tc-card-right {
  width: 120px;
  min-width: 120px;
  max-width: 120px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  padding: 1px 0;
}

.tc-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  height: 23px;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.4);
  padding: 0 1px;
  box-sizing: border-box;
}

.tc-info-row:last-child {
  border-bottom: none;
}

.tc-info-val {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.59rem;
  font-weight: 500;
  color: #1e293b;
  line-height: 1.15;
  padding-right: 3px;
}

.tc-info-val.name {
  font-weight: 700;
  font-size: 0.65rem;
  color: #0f172a;
}

.tc-info-val.branch {
  color: #2563eb;
  font-weight: 600;
}

/* Sağdaki Mini Kopyala Butonu */
.tc-copy-btn {
  margin-left: auto;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #64748b;
  font-size: 0.56rem;
  border-radius: 3px;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}

.tc-copy-btn:hover {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.12);
  transform: scale(1.15);
}

.tc-copy-btn:active {
  transform: scale(0.95);
}

/* Toast Bildirimi (Kopyalandı) */
.dx-card-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #0f172a;
  color: #ffffff;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 500;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  z-index: 999999;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.dx-card-toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* Karanlık Tema Uyumu */
[data-theme="dark"] .tc-card {
  background: linear-gradient(135deg, #1e2633 0%, #17202c 45%, #23202e 75%, #192230 100%);
  border-color: #334155;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .tc-card:hover {
  border-color: #3b82f6;
}

[data-theme="dark"] .tc-card.selected,
[data-theme="dark"] .tc-card.active {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3), 0 5px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .tc-card-watermark {
  opacity: 0.22;
  filter: brightness(1.2);
}

[data-theme="dark"] .tc-photo-box {
  background: #1e293b;
  border-color: #475569;
}

[data-theme="dark"] .tc-tckn-row {
  background: rgba(30, 41, 59, 0.9);
  border-color: #475569;
}

[data-theme="dark"] .tc-tckn-text {
  color: #f1f5f9;
}

[data-theme="dark"] .tc-info-row {
  border-bottom-color: rgba(71, 85, 105, 0.45);
}

[data-theme="dark"] .tc-info-val {
  color: #cbd5e1;
}

[data-theme="dark"] .tc-info-val.name {
  color: #f8fafc;
}

[data-theme="dark"] .tc-info-val.branch {
  color: #60a5fa;
}

[data-theme="dark"] .tc-copy-btn {
  color: #94a3b8;
}

[data-theme="dark"] .tc-copy-btn:hover {
  color: #60a5fa;
  background: rgba(96, 165, 250, 0.15);
}

/* ==========================================================================
   SOFT CHECKBOX & SEÇİCİ KOLONU STİLLERİ
   ========================================================================== */
.dx-th-select,
.dx-td-select {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.dx-th-select .dx-select-cell,
.dx-td-select .dx-select-cell {
  width: 36px !important;
  height: 100% !important;
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.dx-soft-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  line-height: 1;
}

.dx-soft-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
  margin: 0;
}

.dx-soft-checkmark {
  position: relative;
  display: inline-block;
  width: 17px;
  height: 17px;
  background: #ffffff;
  border: 1.5px solid #94a3b8;
  border-radius: 4px;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.dx-soft-checkbox:hover input ~ .dx-soft-checkmark {
  border-color: var(--theme-primary);
  background: #f8fafc;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-primary) 20%, transparent);
}

.dx-soft-checkbox input:checked ~ .dx-soft-checkmark {
  background: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
  box-shadow: 0 1px 3px rgba(var(--theme-primary-rgb), 0.35);
}

.dx-soft-checkbox input:checked ~ .dx-soft-checkmark::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1.5px;
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Kısmi seçim (Indeterminate) çizgisi */
.dx-soft-checkmark.indeterminate {
  background: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
}

.dx-soft-checkmark.indeterminate::after {
  content: '' !important;
  position: absolute !important;
  left: 3.5px !important;
  top: 6.5px !important;
  width: 8px !important;
  height: 2px !important;
  background: #ffffff !important;
  border: none !important;
  transform: none !important;
  border-radius: 1px !important;
}

/* Karanlık Mod Checkbox */
[data-theme="dark"] .dx-soft-checkmark {
  background: #1e293b;
  border-color: #64748b;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .dx-soft-checkbox:hover input ~ .dx-soft-checkmark {
  border-color: var(--theme-primary);
  background: #242f3d;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-primary) 25%, transparent);
}

[data-theme="dark"] .dx-soft-checkbox input:checked ~ .dx-soft-checkmark {
  background: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
  box-shadow: 0 1px 3px rgba(var(--theme-primary-rgb), 0.45);
}

[data-theme="dark"] .dx-soft-checkbox input:checked ~ .dx-soft-checkmark::after {
  border-color: #ffffff;
}

[data-theme="dark"] .dx-soft-checkmark.indeterminate {
  background: var(--theme-primary) !important;
  border-color: var(--theme-primary) !important;
}

[data-theme="dark"] .dx-soft-checkmark.indeterminate::after {
  background: #ffffff !important;
}

/* ==========================================================================
   ÇOKLU SEÇİM SATIR RENKLENDİRMESİ
   - Tema Rengi ile Eşlenmiş .2 (20%) Opaklıkta Vurgu Katmanı
   ========================================================================== */
.dx-table tbody tr.dx-row-checked {
  background-color: rgba(var(--theme-primary-rgb), 0.2) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 20%, transparent) !important;
}

.dx-table tbody tr.dx-row-checked:hover {
  background-color: rgba(var(--theme-primary-rgb), 0.26) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 26%, transparent) !important;
}

.dx-table tbody tr.selected-row.dx-row-checked {
  background-color: rgba(var(--theme-primary-rgb), 0.28) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 28%, transparent) !important;
}

[data-theme="dark"] .dx-table tbody tr.dx-row-checked {
  background-color: rgba(var(--theme-primary-rgb), 0.2) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 20%, transparent) !important;
}

[data-theme="dark"] .dx-table tbody tr.dx-row-checked:hover {
  background-color: rgba(var(--theme-primary-rgb), 0.26) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 26%, transparent) !important;
}

[data-theme="dark"] .dx-table tbody tr.selected-row.dx-row-checked {
  background-color: rgba(var(--theme-primary-rgb), 0.28) !important;
  background-color: color-mix(in srgb, var(--theme-primary) 28%, transparent) !important;
}

/* Toolbar Seçici Butonu Aktif Durum */
.dx-tb-btn.selection-active {
  background: rgba(var(--theme-primary-rgb), 0.14) !important;
  background: color-mix(in srgb, var(--theme-primary) 14%, transparent) !important;
  border-color: var(--theme-primary) !important;
  color: var(--theme-primary) !important;
  font-weight: 600;
}

[data-theme="dark"] .dx-tb-btn.selection-active {
  background: rgba(var(--theme-primary-rgb), 0.2) !important;
  background: color-mix(in srgb, var(--theme-primary) 20%, transparent) !important;
  border-color: var(--theme-primary) !important;
  color: #ffffff !important;
  font-weight: 600;
}

/* Card View Seçim Katmanı */
.tc-card.dx-card-checked {
  box-shadow: 0 0 0 2px var(--theme-primary), 0 4px 10px rgba(var(--theme-primary-rgb), 0.2) !important;
  background: color-mix(in srgb, var(--theme-primary) 20%, white) !important;
  border-color: var(--theme-primary) !important;
}

[data-theme="dark"] .tc-card.dx-card-checked {
  box-shadow: 0 0 0 2px var(--theme-primary), 0 4px 10px rgba(var(--theme-primary-rgb), 0.25) !important;
  background: color-mix(in srgb, var(--theme-primary) 20%, #1e2024) !important;
  border-color: var(--theme-primary) !important;
}

.tc-card-checkbox-pos {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 10;
}

/* ==========================================================================
   A4 BASKI & ŞABLON TASARIMCISI (PRINT LAYOUT DESIGNER)
   ========================================================================== */

.dx-print-designer-open {
  overflow: hidden !important;
}

.dx-print-designer-overlay,
.dx-print-designer-modal,
#dxPrintDesignerModal,
#dxDutyPrintDesignerModal,
#dxVpPrintDesignerModal,
#dxOfficialLetterModal,
#dxCommitteesPrintModal,
#dxTeacherDutyPrintDesignerModal,
.dx-teacher-duty-modal {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 100500 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #1c1a18 !important;
  color: #f8fafc !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  animation: pdOverlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden !important;
}

#dxTeacherDutyPrintDesignerModal {
  background: #0f172a !important;
}

@keyframes pdOverlayFadeIn {
  from { opacity: 0; transform: scale(0.99); }
  to { opacity: 1; transform: scale(1); }
}

/* Header */
.dx-pd-header {
  height: 56px;
  min-height: 56px;
  background: #242220;
  border-bottom: 1px solid #38342f;
  padding: 0 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.dx-pd-header-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(var(--theme-primary-rgb, 0, 128, 128), 0.18);
  color: var(--theme-primary, #008080);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

.dx-pd-title {
  color: #ffffff;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
}

.dx-pd-subtitle {
  color: #94a3b8;
  font-size: 0.72rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* Split Body */
.dx-pd-body {
  display: grid;
  grid-template-columns: 340px 1fr;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* Sol Sidebar */
.dx-pd-sidebar {
  background: #242220;
  border-right: 1px solid #38342f;
  overflow-y: auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.dx-pd-sidebar::-webkit-scrollbar {
  width: 5px;
}
.dx-pd-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}

.dx-pd-section {
  background: #1c1a18;
  border: 1px solid #38342f;
  border-radius: 8px;
  padding: 0.75rem;
}

.dx-pd-section-header {
  font-size: 0.78rem;
  font-weight: 700;
  color: #e2e8f0;
  margin-bottom: 0.5rem;
  letter-spacing: 0.01em;
}

.dx-pd-section-body textarea,
.dx-pd-section-body input[type="text"],
.dx-pd-section-body select {
  background: #2E2B27;
  border-color: #38342f;
  color: #f8fafc;
}
.dx-pd-section-body textarea:focus,
.dx-pd-section-body input[type="text"]:focus,
.dx-pd-section-body select:focus {
  background: #2E2B27;
  border-color: var(--theme-primary, #008080);
  color: #ffffff;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 0, 128, 128), 0.25);
}

.dx-pd-col-item {
  background: #2E2B27;
  border: 1px solid #38342f;
  transition: background 0.15s;
}
.dx-pd-col-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* Sağ Preview Workspace */
.dx-pd-preview-wrap {
  background: #1c1a18;
  overflow-y: auto;
  overflow-x: auto;
  padding: 3rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.dx-pd-preview-wrap::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.dx-pd-preview-wrap::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* Word Floating Context Menu */
.dx-word-context-bar {
  position: absolute;
  z-index: 1000;
  background: #242220;
  border: 1px solid #38342f;
  border-radius: 8px;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(0, 0, 0, 0.2);
  animation: pdFadeIn 0.15s ease-out;
}

@keyframes pdFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.dx-wcb-group {
  display: flex;
  align-items: center;
  gap: 3px;
}

.dx-wcb-select {
  background: #2E2B27;
  color: #f8fafc;
  border: 1px solid #38342f;
  font-size: 0.75rem;
  padding: 2px 6px;
  height: 26px;
  border-radius: 4px;
}
.dx-wcb-select:focus {
  background: #2E2B27;
  color: #fff;
  border-color: var(--theme-primary, #008080);
  outline: none;
}

.dx-wcb-divider {
  width: 1px;
  height: 18px;
  background: #38342f;
  margin: 0 2px;
}

.dx-wcb-btn {
  background: transparent;
  border: none;
  color: #cbd5e1;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.15s;
}
.dx-wcb-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}
.dx-wcb-btn.active {
  background: var(--theme-primary, #008080);
  color: #ffffff;
}

/* Çoklu Sayfa Konteyneri & Sayfa Sarmalayıcı */
.dx-pd-pages-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 100%;
}

.dx-pd-a4-page-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.dx-pd-page-badge {
  background: #2e2b27;
  color: #f1f5f9;
  border: 1px solid #454039;
  border-radius: 20px;
  padding: 3px 12px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 0.6rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  user-select: none;
}

.dx-pd-continuation-header {
  border-bottom: 1px solid #cbd5e1;
  padding-bottom: 5px;
  margin-bottom: 8px;
}

.dx-pd-page-number-footer {
  margin-top: auto !important;
  padding-top: 6px !important;
  font-size: 7.5pt !important;
  color: #64748b !important;
  border-top: 1px solid #e2e8f0 !important;
  text-align: left !important;
  display: block !important;
}

/* A4 Kağıt Bileşeni */
.dx-pd-a4-paper {
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.45);
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: width 0.2s, min-height 0.2s;
}

.dx-pd-a4-paper.orientation-portrait {
  width: 210mm;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  padding: 12mm 14mm;
  overflow: hidden;
}

.dx-pd-a4-paper.orientation-landscape {
  width: 297mm;
  height: 210mm;
  min-height: 210mm;
  max-height: 210mm;
  padding: 12mm 14mm;
  overflow: hidden;
}

/* A4 Başlık Alanı */
.dx-pd-title-box {
  margin-bottom: 12px;
  position: relative;
}

.dx-pd-title-block {
  white-space: pre-wrap;
  outline: none;
  border: 1px dashed transparent;
  padding: 4px 8px;
  border-radius: 4px;
  line-height: 1.35;
  transition: border-color 0.2s, background 0.2s;
  cursor: text;
}

.dx-pd-title-block:hover {
  border-color: rgba(59, 130, 246, 0.5);
  background: rgba(59, 130, 246, 0.04);
}

.dx-pd-title-block:focus {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.06);
}

.dx-pd-title-tip {
  font-size: 0.65rem;
  color: #64748b;
  text-align: center;
  margin-top: 2px;
  user-select: none;
  opacity: 0;
  transition: opacity 0.2s;
}
.dx-pd-title-box:hover .dx-pd-title-tip {
  opacity: 1;
}

/* A4 Tarih Alanı */
.dx-pd-date-block {
  text-align: right;
  font-size: 8.5pt;
  color: #334155;
  margin-bottom: 8px;
  font-family: inherit;
}

/* A4 Tablo */
.dx-pd-table-container {
  width: 100%;
  overflow: visible;
}

.dx-pd-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 7.5pt;
  color: #0f172a;
  font-family: inherit;
}

.dx-pd-table th,
.dx-pd-table td {
  border: 1px solid #64748b;
  padding: 2px 4px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dx-pd-table th {
  background: #f1f5f9;
  font-weight: 700;
  position: relative;
  user-select: none;
  color: #0f172a;
  text-align: left;
  font-size: 7.5pt;
}

.dx-pd-table th .dx-pd-th-title {
  display: inline-block;
  max-width: calc(100% - 10px);
  overflow: hidden;
  text-overflow: ellipsis;
}

.dx-pd-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

/* Kolon Sürükle-Genişlet (Resizer) */
.col-resizer {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  user-select: none;
  z-index: 5;
  transition: background 0.15s;
}

.col-resizer:hover,
body.is-col-resizing .col-resizer {
  background: #3b82f6 !important;
}

body.is-col-resizing {
  cursor: col-resize !important;
  user-select: none !important;
}

/* Nöbet Çizelgesi Özel Baskı Tasarımı Stilleri */
.dx-duty-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 15px;
}

.dx-duty-header-left {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.dx-duty-print-logo {
  height: 4rem;
  width: auto;
  object-fit: contain;
}

.dx-duty-header-center {
  flex: 1 1 auto;
  text-align: center;
}

.dx-duty-header-right {
  flex: 0 0 auto;
  text-align: right;
  min-width: 140px;
}

.dx-pd-editable-inline {
  outline: none;
  border: 1px dashed transparent;
  border-radius: 4px;
  padding: 1px 4px;
  transition: all 0.15s ease;
  cursor: text;
  display: inline-block;
}

.dx-pd-editable-inline:hover {
  border-color: rgba(59, 130, 246, 0.5);
  background: rgba(59, 130, 246, 0.05);
}

.dx-pd-editable-inline:focus {
  border-color: #2563eb;
  background: rgba(59, 130, 246, 0.08);
}

.dx-duty-matrix-table th {
  text-align: center !important;
  background: #f1f5f9;
  font-weight: 700;
  padding: 6px 4px;
}

.dx-duty-matrix-table td {
  padding: 4px 6px;
  vertical-align: middle;
}

.dx-duty-teacher-single {
  line-height: 1.25;
}

.dx-duty-teacher-multi {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.dx-duty-teacher-row {
  line-height: 1.2;
}

.dx-duty-footer-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-top: 1rem !important;
  gap: 20px !important;
}

.dx-duty-footer-notes {
  flex: 1 !important;
  font-size: 7.5pt !important;
  color: #475569 !important;
  line-height: 1.35 !important;
  white-space: pre-wrap !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.dx-duty-footer-sign,
.vp-pd-footer-sign,
#vpPdFooterSign,
#pdFooterSign {
  flex: 0 0 auto !important;
  text-align: center !important;
  min-width: 180px !important;
  margin-top: 0 !important;
}

.dx-duty-footer-sign div,
.dx-duty-footer-sign span,
.dx-duty-footer-sign .dx-pd-editable-inline,
.vp-pd-footer-sign div,
.vp-pd-footer-sign span,
#vpPdFooterSign div,
#vpPdFooterSign span,
#pdFooterSign div,
#pdFooterSign span {
  line-height: 0.8rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dx-pd-sign-space {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   @MEDIA PRINT - KUSURSUZ FİZİKSEL / PDF BASKI AYARLARI
   ========================================================================== */

@media print {
  /* Sayfa genel ayarları (standart 10mm kenar boşluğu, yatayda tam yayılım) */
  @page {
    size: auto;
    margin: 10mm;
  }

  html,
  body,
  body.dx-print-designer-open,
  body.dx-official-letter-open,
  body[data-theme="dark"] {
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    position: static !important;
    background: #ffffff !important;
    color: #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Gölge ve kenarlık temizliği - A4 sayfa çevresinde çizgi veya gölge kalmaz */
  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Arka plan sayfa düzeni öğelerini akıştan tamamen çıkar (İlk sayfanın boş kalmasını önler) */
  body.dx-official-letter-open > :not(#dxOfficialLetterModal),
  body.dx-official-letter-open .app-header,
  body.dx-official-letter-open .app-body,
  body.dx-official-letter-open aside,
  body.dx-official-letter-open header,
  body.dx-official-letter-open footer,
  body.dx-committees-print-open > :not(#dxCommitteesPrintModal),
  body.dx-committees-print-open .app-header,
  body.dx-committees-print-open .app-body,
  body.dx-committees-print-open aside,
  body.dx-committees-print-open header,
  body.dx-committees-print-open footer,
  body.dx-teacher-duty-designer-open > :not(#dxTeacherDutyPrintDesignerModal),
  body.dx-print-designer-open > :not(#dxPrintDesignerModal):not(#dxDutyPrintDesignerModal):not(#dxVpPrintDesignerModal):not(#dxTeacherDutyPrintDesignerModal):not(#dxCommitteesPrintModal),
  body.dx-print-designer-open .app-header,
  body.dx-print-designer-open .app-body,
  body.dx-print-designer-open aside,
  body.dx-print-designer-open header,
  body.dx-print-designer-open footer {
    display: none !important;
  }

  /* Tüm sayfa öğelerini gizle */
  body * {
    visibility: hidden !important;
  }

  /* Sadece A4 Kağıtlarını ve İçeriklerini görünür yap */
  #dxPrintDesignerModal,
  #dxPrintDesignerModal *,
  #dxDutyPrintDesignerModal,
  #dxDutyPrintDesignerModal *,
  #dxVpPrintDesignerModal,
  #dxVpPrintDesignerModal *,
  #dxOfficialLetterModal,
  #dxOfficialLetterModal *,
  #dxCommitteesPrintModal,
  #dxCommitteesPrintModal *,
  #dxTeacherDutyPrintDesignerModal,
  #dxTeacherDutyPrintDesignerModal *,
  .teacher-duty-page,
  .teacher-duty-page *,
  .dx-official-letter-paper,
  .dx-official-letter-paper *,
  .dx-official-committee-paper,
  .dx-official-committee-paper *,
  .dx-print-designer-overlay,
  .dx-print-designer-modal,
  .dx-pd-preview-wrap,
  .dx-pd-a4-paper,
  .dx-pd-a4-paper * {
    visibility: visible !important;
  }

  /* Çoklu sayfa akışını bozan position: absolute kaldırıldı, position: static yapıldı */
  #dxPrintDesignerModal,
  #dxDutyPrintDesignerModal,
  #dxVpPrintDesignerModal,
  #dxOfficialLetterModal,
  #dxCommitteesPrintModal,
  .dx-print-designer-overlay,
  .dx-print-designer-modal,
  .dx-pd-body,
  .dx-pd-preview-wrap,
  .dx-substitution-dialog,
  #vpPdPreviewWrap,
  #dutyPdPreviewWrap,
  #pdPreviewWrap {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    float: none !important;
    inset: auto !important;
  }

  .dx-pd-header,
  .dx-pd-sidebar,
  .dx-word-context-bar,
  .col-resizer,
  .dx-pd-title-tip,
  .dx-pd-page-badge,
  .no-print,
  .dx-sub-header {
    display: none !important;
    visibility: hidden !important;
  }

  .dx-pd-preview-wrap {
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    overflow: visible !important;
    display: block !important;
    width: 100% !important;
  }

  .dx-pd-pages-container {
    display: block !important;
    width: 100% !important;
    gap: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
  }

  .dx-pd-a4-page-wrapper {
    display: block !important;
    width: 100% !important;
    page-break-after: always !important;
    break-after: page !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
  }

  .dx-pd-a4-page-wrapper:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  /* A4 Kağıt Konteyneri - Çoklu Sayfa için Statik ve Tam Genişlik - Çerçeve Kesinlikle Yoktur */
  .dx-pd-a4-paper,
  [id^="vpPdPaper_"],
  #vpPdPaper,
  .dx-official-letter-paper {
    position: static !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    display: flex !important;
    flex-direction: column !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    box-sizing: border-box !important;
  }

  .dx-pd-a4-paper.orientation-portrait {
    min-height: 275mm !important;
  }

  .dx-pd-a4-paper.orientation-landscape {
    min-height: 188mm !important;
  }

  .dx-pd-title-block,
  .dx-pd-editable-inline,
  .dx-vp-print-header,
  .dx-vp-print-header *,
  .dx-duty-header-row,
  .dx-duty-header-row *,
  .dx-pd-continuation-header,
  .dx-pd-continuation-header * {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* TABLOLARI YATAYDA TAM YAYMA (100% SPREAD) & ÇOKLU SAYFA DESTEĞİ */
  table,
  .dx-pd-table,
  .dx-duty-matrix-table,
  .dx-table,
  .print-table,
  .data-table,
  #pdPreviewTable,
  #vpPdTablePreview {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    font-size: 8pt !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  thead {
    display: table-header-group !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  tfoot {
    display: table-footer-group !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    page-break-after: auto !important;
    break-after: auto !important;
  }

  th, td {
    border-color: #000 !important;
    color: #000 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .dx-pd-table th,
  #vpPdTablePreview th,
  .dx-duty-matrix-table th {
    background: #e2e8f0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* MÜDÜR İMZASI VE AÇIKLAMA/NOT BOŞLUKLARI KURALI:
     - Tablo ile başlık (açıklama/notlar ve imza bloğu) arasında 1rem boşluk
     - Başlık ile maddeler arasında 0.6rem boşluk
     - İmza bloğundaki satırlar line-height: 0.8rem, satırlar arası margin 0
     - Sayfa numarası sayfanın en altında ve sola yaslı
  */
  .dx-duty-footer-row,
  #vpPdFooterArea,
  #pdFooterArea,
  .vp-pd-footer-area,
  .dx-print-footer-row {
    margin-top: 1rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 20px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .dx-duty-footer-notes,
  .dx-pd-notes-block,
  #vpPdNotesBlock,
  #pdNotesBlock,
  .dx-print-notes,
  .vp-pd-notes-block {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    flex: 1 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .dx-duty-footer-sign,
  .dx-official-letter-signature,
  #vpPdFooterSign,
  #pdFooterSign,
  .dx-print-signature,
  .footer-sign,
  .vp-pd-footer-sign {
    margin-top: 0 !important;
    text-align: center !important;
    min-width: 180px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .dx-duty-footer-sign div,
  .dx-duty-footer-sign span,
  .dx-official-letter-signature div,
  .dx-official-letter-signature span,
  #vpPdFooterSign div,
  #vpPdFooterSign span,
  #pdFooterSign div,
  #pdFooterSign span,
  .dx-print-signature div,
  .dx-print-signature span,
  .footer-sign div,
  .footer-sign span,
  .vp-pd-footer-sign div,
  .vp-pd-footer-sign span {
    line-height: 0.8rem !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .dx-pd-page-number-footer {
    margin-top: auto !important;
    padding-top: 6px !important;
    font-size: 7.5pt !important;
    color: #64748b !important;
    border-top: 1px solid #e2e8f0 !important;
    text-align: left !important;
    display: block !important;
  }
}

/* ==========================================================================
   SINIF & KULÜP TABI - 2 YAYILAN CARD (SAĞA/SOLA YASLI) & UNIVERSAL KARTLAR
   ========================================================================== */

/* 1. Sınıf & Kulüp Görev Pill Kartları (Sağa ve Sola Yaslı) */
.dx-duty-pill-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
  margin-bottom: 0.45rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: border-color 0.15s, box-shadow 0.15s;
}

[data-theme="dark"] .dx-duty-pill-card {
  background: #242220;
  border-color: #38342f;
}

.dx-duty-pill-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.dx-duty-pill-left {
  display: flex;
  align-items: center;
  font-size: 0.76rem;
  font-weight: 600;
  color: #475569;
}

[data-theme="dark"] .dx-duty-pill-left {
  color: #94a3b8;
}

.dx-duty-pill-value {
  font-size: 0.76rem;
  font-weight: 700;
  color: #1e293b;
  max-width: 170px;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .dx-duty-pill-value {
  color: #f1f5f9;
}

.dx-duty-pill-card-stacked {
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0.25rem !important;
}

.dx-duty-pill-card-stacked .dx-duty-pill-label {
  font-size: 0.74rem;
  font-weight: 600;
  color: #64748b;
  display: flex;
  align-items: center;
}

[data-theme="dark"] .dx-duty-pill-card-stacked .dx-duty-pill-label {
  color: #94a3b8;
}

.dx-duty-pill-card-stacked .dx-duty-pill-subvalue {
  font-size: 0.78rem;
  font-weight: 700;
  color: #1e293b;
  word-break: break-word;
  white-space: normal;
  line-height: 1.35;
}

[data-theme="dark"] .dx-duty-pill-card-stacked .dx-duty-pill-subvalue {
  color: #f1f5f9;
}

/* 2. Bölüm Başlığı & Minik + Ekleme Butonu */
.dx-tab-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0.75rem 0 0.45rem 0;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid #e2e8f0;
}

.dx-club-section-header {
  margin-top: 1.15rem !important;
}

[data-theme="dark"] .dx-tab-section-header {
  border-bottom-color: #38342f;
}

.dx-tab-section-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  letter-spacing: -0.2px;
}

[data-theme="dark"] .dx-tab-section-title {
  color: #cbd5e1;
}

.dx-mini-add-btn {
  width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 4px;
  font-size: 0.70rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--theme-primary, #2563eb) !important;
  border: 1px solid var(--theme-primary, #2563eb) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: transform 0.15s, opacity 0.15s;
}

.dx-mini-add-btn:hover {
  transform: scale(1.1);
  opacity: 0.92;
}

/* 3. Universal Card (Kulüp Faaliyetleri, Görevler ve Notlar İçin Birebir Aynı) */
.dx-universal-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.7rem 0.85rem;
  margin-bottom: 0.55rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.2s, border-color 0.2s;
}

[data-theme="dark"] .dx-universal-card {
  background: #242220;
  border-color: #38342f;
}

.dx-universal-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
}

.dx-ucard-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.dx-ucard-title {
  font-size: 0.77rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
  flex: 1;
}

[data-theme="dark"] .dx-ucard-title {
  color: #f8fafc;
}

.dx-ucard-meta {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.dx-ucard-date {
  font-size: 0.63rem;
  color: #64748b;
  background: #f1f5f9;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  white-space: nowrap;
}

[data-theme="dark"] .dx-ucard-date {
  background: #1c1a18;
  color: #94a3b8;
}

.dx-ucard-del-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 0.68rem;
  cursor: pointer;
  padding: 0.1rem 0.25rem;
  border-radius: 3px;
  transition: color 0.15s, background 0.15s;
}

.dx-ucard-del-btn:hover {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.1);
}

.dx-ucard-desc {
  font-size: 0.71rem;
  color: #475569;
  line-height: 1.4;
  margin-bottom: 0.45rem;
  white-space: pre-wrap;
  word-break: break-word;
}

[data-theme="dark"] .dx-ucard-desc {
  color: #cbd5e1;
}

/* 4. Footer: Tek Trackbar (Hover olunca thumb görünür) + Sağda % */
.dx-ucard-footer {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .dx-ucard-footer {
  border-top-color: rgba(255, 255, 255, 0.06);
}

:root {
  --trackbar-empty: #e2e8f0;
}

[data-theme="dark"] {
  --trackbar-empty: #38342f;
}

.dx-ucard-trackbar {
  flex: 1;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: #e2e8f0;
  outline: none;
  cursor: pointer;
  transition: background 0.05s ease;
}

[data-theme="dark"] .dx-ucard-trackbar {
  background: #38342f;
}

/* Thumb: Normalde GÖRÜNMEZ (opacity: 0), mouse hover/active olunca görünür! */
.dx-ucard-trackbar::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--theme-primary, #2563eb);
  cursor: ew-resize;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.dx-ucard-trackbar:hover::-webkit-slider-thumb,
.dx-ucard-trackbar:active::-webkit-slider-thumb,
.dx-ucard-trackbar:focus::-webkit-slider-thumb {
  opacity: 1;
  transform: scale(1.1);
}

.dx-ucard-trackbar::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--theme-primary, #2563eb);
  cursor: ew-resize;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.dx-ucard-trackbar:hover::-moz-range-thumb,
.dx-ucard-trackbar:active::-moz-range-thumb,
.dx-ucard-trackbar:focus::-moz-range-thumb {
  opacity: 1;
  transform: scale(1.1);
}

.dx-ucard-pct {
  font-size: 0.74rem;
  font-weight: 700;
  min-width: 38px;
  text-align: right;
  color: var(--theme-primary, #2563eb);
  user-select: none;
}

/* 5. Popup Modal (800x450 px Boyutlarında Bootstrap Uyumlu Form) */
.dx-card-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: dxFadeIn 0.15s ease-out;
}

.dx-card-modal-dialog {
  background: #ffffff;
  width: 80vw !important;
  max-width: 80vw !important;
  min-width: 80vw !important;
  height: 80vh !important;
  max-height: 80vh !important;
  min-height: 80vh !important;
  border-radius: 8px !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e2e8f0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  position: relative;
}

@media (max-width: 900px) {
  .dx-card-modal-dialog {
    width: 94vw !important;
    max-width: 94vw !important;
    min-width: 94vw !important;
    height: 88vh !important;
    max-height: 88vh !important;
    min-height: 88vh !important;
  }
}

[data-theme="dark"] .dx-card-modal-dialog {
  background: #1e1c1a !important;
  border-color: #38342f !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.6) !important;
}

.dx-card-modal-header {
  padding: 0.8rem 1.4rem;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-card-modal-header {
  background: #1e1c1a;
  border-bottom-color: #38342f;
}

.dx-card-modal-title {
  font-size: 0.98rem;
  font-weight: 700;
  color: #1e293b;
  display: flex;
  align-items: center;
}

[data-theme="dark"] .dx-card-modal-title {
  color: #f1f5f9;
}

.dx-card-modal-close {
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 1.15rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}

.dx-card-modal-close:hover {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.1);
}

[data-theme="dark"] .dx-card-modal-close {
  color: #94a3b8;
}

.dx-card-modal-body {
  padding: 1rem 1.4rem;
  flex: 1;
  overflow: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dx-card-modal-body::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.dx-modal-form-group {
  margin-bottom: 0.7rem;
  display: flex;
  flex-direction: column;
}

.dx-card-modal-body .form-label {
  display: block !important;
  font-size: 0.82rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 0.35rem;
}

[data-theme="dark"] .dx-card-modal-body .form-label {
  color: #cbd5e1;
}

.dx-card-modal-body .form-control {
  display: block !important;
  width: 100% !important;
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.5;
  color: #1e293b;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  box-sizing: border-box;
}

.dx-card-modal-body .form-control:focus {
  border-color: var(--theme-primary, #2563eb);
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.25);
  outline: 0;
}

[data-theme="dark"] .dx-card-modal-body .form-control {
  background-color: #2a2724;
  border-color: #48433e;
  color: #f1f5f9;
}

[data-theme="dark"] .dx-card-modal-body .form-control:focus {
  background-color: #302c29;
  border-color: var(--theme-primary, #2563eb);
  color: #ffffff;
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.35);
}

[data-theme="dark"] .dx-card-modal-body .form-control::placeholder {
  color: #64748b;
}

.dx-modal-progress-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* 60x30px Slider Sonu Yüzde Etiketi */
.dx-modal-pct-badge {
  width: 60px !important;
  height: 30px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.12) !important;
  color: var(--theme-primary, #2563eb) !important;
  border: 1px solid rgba(var(--theme-primary-rgb, 37, 99, 235), 0.3) !important;
  border-radius: 6px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  user-select: none !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease !important;
}

[data-theme="dark"] .dx-modal-pct-badge {
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.22) !important;
  border-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.45) !important;
  color: #60a5fa !important;
}

/* Modal Butonları (Bootstrap & Tema ile Uyumlu) */
.dx-modal-btn-cancel {
  border-radius: 6px !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  padding: 0.45rem 1.1rem !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
  background: transparent !important;
  transition: all 0.15s ease !important;
}

.dx-modal-btn-cancel:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
}

[data-theme="dark"] .dx-modal-btn-cancel {
  border-color: #48433e !important;
  color: #cbd5e1 !important;
  background: #2a2724 !important;
}

[data-theme="dark"] .dx-modal-btn-cancel:hover {
  background: #36322d !important;
  color: #ffffff !important;
  border-color: #64748b !important;
}

.dx-modal-btn-save {
  border-radius: 6px !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  padding: 0.45rem 1.35rem !important;
  background-color: var(--theme-primary, #2563eb) !important;
  border: 1px solid var(--theme-primary, #2563eb) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
  transition: all 0.15s ease !important;
}

.dx-modal-btn-save:hover {
  filter: brightness(1.1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22) !important;
}

.dx-card-modal-footer {
  padding: 0.85rem 1.6rem;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-card-modal-footer {
  background: #1e1c1a;
  border-top-color: #38342f;
}

@keyframes dxFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ==========================================================================
   YENİ ÖĞRETMEN EKLEME MODALI & WHATSAPP TARZI CANLI FOTOĞRAF KIRPICI
   ========================================================================== */

/* Header Toolbar "Yeni Öğretmen" ve Özel Eylem Butonları (Varsayılan Olarak Transparan, Hover'da Vurgulu) */
.dx-tb-btn.btn-primary-highlight {
  background: transparent !important;
  color: var(--theme-primary, #2563eb) !important;
  border-color: transparent !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.dx-tb-btn.btn-primary-highlight i {
  color: var(--theme-primary, #2563eb) !important;
}

.dx-tb-btn.btn-primary-highlight:hover {
  filter: none !important;
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.1) !important;
  border-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.25) !important;
  color: var(--theme-primary, #2563eb) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .dx-tb-btn.btn-primary-highlight {
  background: transparent !important;
  color: var(--theme-primary, #60a5fa) !important;
  border-color: transparent !important;
}

[data-theme="dark"] .dx-tb-btn.btn-primary-highlight i {
  color: var(--theme-primary, #60a5fa) !important;
}

[data-theme="dark"] .dx-tb-btn.btn-primary-highlight:hover {
  background: rgba(37, 99, 235, 0.2) !important;
  border-color: rgba(96, 165, 250, 0.35) !important;
  color: #93c5fd !important;
}

/* Modal Arka Planı (Backdrop) */
.dx-new-teacher-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  z-index: 1060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: dxFadeIn 0.2s ease-out;
}

/* Modal Penceresi (Popup Form Yapısı: 80vw x 80vh Standart Boyut) */
.dx-new-teacher-dialog {
  width: 80vw !important;
  max-width: 80vw !important;
  min-width: 80vw !important;
  height: 80vh !important;
  max-height: 80vh !important;
  min-height: 80vh !important;
  background: #ffffff;
  border-radius: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e2e8f0 !important;
  position: relative;
}

@media (max-width: 900px) {
  .dx-new-teacher-dialog {
    width: 94vw !important;
    max-width: 94vw !important;
    min-width: 94vw !important;
    height: 88vh !important;
    max-height: 88vh !important;
    min-height: 88vh !important;
  }
}

[data-theme="dark"] .dx-new-teacher-dialog {
  background: #1e1c1a !important;
  border-color: #38342f !important;
  color: #f1f5f9;
}

/* Modal Header */
.dx-nt-header {
  padding: 0.85rem 1.4rem;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-nt-header {
  background: #1a1816;
  border-bottom-color: #38342f;
}

.dx-nt-title {
  font-size: 1.12rem;
  font-weight: 700;
  color: #0f172a;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
}

[data-theme="dark"] .dx-nt-title {
  color: #f8fafc;
}

.dx-nt-close {
  background: transparent;
  border: none;
  font-size: 1.35rem;
  color: #94a3b8;
  cursor: pointer;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  line-height: 1;
  transition: all 0.15s ease;
}

.dx-nt-close:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #0f172a;
}

[data-theme="dark"] .dx-nt-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* Modal Body - Scrollbar Çıkmaması İçin Optimize Edildi */
.dx-nt-body {
  flex: 1;
  overflow: hidden !important;
  padding: 0.95rem 1.4rem;
}

@media (max-height: 520px) {
  .dx-nt-body {
    overflow-y: auto !important;
  }
}

/* WhatsApp Tarzı 120px Profil Fotoğrafı Kırpma Alanı */
.dx-avatar-crop-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 0.25rem;
}

.dx-avatar-crop-wrapper {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 0 auto;
}

.dx-avatar-crop-mask {
  width: 150px;
  height: 150px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  border: 3px solid var(--theme-primary, #2563eb);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
  background: #f1f5f9;
  cursor: grab;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  touch-action: none;
}

[data-theme="dark"] .dx-avatar-crop-mask {
  background: #282421;
  border-color: var(--theme-primary, #3b82f6);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.dx-avatar-crop-mask:active,
.dx-avatar-crop-mask.grabbing {
  cursor: grabbing !important;
}

.dx-avatar-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: 150px;
  border-radius: 12px;
  pointer-events: none;
}

.dx-avatar-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  text-align: center;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.dx-avatar-placeholder i {
  font-size: 2.75rem;
  margin-bottom: 0.2rem;
  opacity: 0.8;
}

.dx-avatar-placeholder span {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Kamera Butonu (Sağ Alt Border Üzerinde) */
.dx-avatar-cam-btn {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--theme-primary, #2563eb);
  color: #ffffff;
  border: 2.5px solid #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  font-size: 0.95rem;
  transition: all 0.15s ease;
}

[data-theme="dark"] .dx-avatar-cam-btn {
  border-color: #1e1c1a;
}

.dx-avatar-cam-btn:hover {
  transform: scale(1.1);
  filter: brightness(1.15);
  box-shadow: 0 4px 12px rgba(var(--theme-primary-rgb, 37, 99, 235), 0.5);
}

/* Kamera Menü Popover (Dosya Seç / Kamera ile Çek) */
.dx-cam-menu-popover {
  position: absolute;
  top: 105%;
  right: -10px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 25px -4px rgba(0, 0, 0, 0.18);
  padding: 0.35rem;
  min-width: 165px;
  z-index: 20;
  display: none;
  animation: excelPopupFadeIn 0.15s ease-out;
}

[data-theme="dark"] .dx-cam-menu-popover {
  background: #282421;
  border-color: #3d3934;
  color: #f1f5f9;
}

.dx-cam-menu-popover.show {
  display: block;
}

.dx-cam-menu-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.65rem;
  border-radius: 6px;
  font-size: 0.82rem;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  transition: background 0.12s ease;
}

[data-theme="dark"] .dx-cam-menu-item {
  color: #cbd5e1;
}

.dx-cam-menu-item:hover {
  background: #f1f5f9;
  color: var(--theme-primary, #2563eb);
}

[data-theme="dark"] .dx-cam-menu-item:hover {
  background: #36322d;
  color: #60a5fa;
}

/* Zoom Slider Kontrolü (Fotoğraf genişliğini aşmayan kompakt düzen) */
.dx-avatar-zoom-ctrl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  margin: 0.45rem auto 0 auto !important;
  width: 100% !important;
  max-width: 135px !important;
  box-sizing: border-box !important;
}

.dx-avatar-zoom-ctrl input[type="range"] {
  width: 58px !important;
  max-width: 58px !important;
  min-width: 50px !important;
  flex: 0 0 58px !important;
  height: 4px !important;
  border-radius: 2px !important;
  accent-color: var(--theme-primary, #2563eb) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dx-avatar-zoom-btn {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 0.72rem !important;
  padding: 2px 3px !important;
  margin: 0 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
}

.dx-avatar-zoom-btn:hover {
  color: var(--theme-primary, #2563eb) !important;
  background-color: rgba(37, 99, 235, 0.08) !important;
}

[data-theme="dark"] .dx-avatar-zoom-btn:hover {
  color: #60a5fa !important;
  background-color: rgba(96, 165, 250, 0.15) !important;
}

.dx-avatar-hint {
  font-size: 0.68rem;
  color: #94a3b8;
  margin-top: 0.35rem;
  text-align: center;
}

/* Canlı Webcam Çekim Ekranı */
.dx-webcam-box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #0f172a;
  z-index: 30;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.dx-webcam-box.show {
  display: flex;
}

.dx-webcam-video {
  width: 320px;
  max-width: 90%;
  height: 240px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid #38bdf8;
  background: #000000;
}

.dx-webcam-actions {
  display: flex;
  gap: 0.8rem;
  margin-top: 1rem;
}

/* Form Alanları Uyum & Tipografi */
.dx-nt-form .form-label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin-bottom: 0.25rem !important;
}

[data-theme="dark"] .dx-nt-form .form-label {
  color: #94a3b8 !important;
}

.dx-nt-form .form-control,
.dx-nt-form .form-select {
  font-size: 0.84rem !important;
  border-radius: 6px !important;
  border: 1px solid #cbd5e1 !important;
  padding: 0.42rem 0.65rem !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

[data-theme="dark"] .dx-nt-form .form-control,
[data-theme="dark"] .dx-nt-form .form-select {
  background-color: #282421 !important;
  border-color: #3d3934 !important;
  color: #f1f5f9 !important;
}

.dx-nt-form .form-control:focus,
.dx-nt-form .form-select:focus {
  border-color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 0 0 3px rgba(var(--theme-primary-rgb, 37, 99, 235), 0.18) !important;
}

/* Dağıtım Bilgi Kartı (Ders Güncelleme Modalı) */
.dx-distribution-info-card {
  background-color: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="dark"] .dx-distribution-info-card {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-distribution-info-card .text-secondary {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .dx-distribution-info-card .text-muted {
  color: #94a3b8 !important;
}

/* Toolbar Pasif / Aktif Buton Durumları */
.dx-tb-btn.disabled,
.dx-tb-btn:disabled,
.dx-tb-btn[disabled] {
  opacity: 0.42 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  filter: grayscale(0.6);
}

/* Öğretmen Modal Başlık Tab Switcher */
.dx-nt-header-tabs {
  display: inline-flex;
  align-items: center;
  background: #e2e8f0;
  padding: 3px;
  border-radius: 8px;
  gap: 3px;
  user-select: none;
}

[data-theme="dark"] .dx-nt-header-tabs {
  background: #282421;
  border: 1px solid #3d3934;
}

.dx-nt-tab-btn {
  border: none;
  background: transparent;
  padding: 0.32rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 600;
  border-radius: 6px;
  color: #64748b;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: all 0.15s ease;
  line-height: 1.2;
}

.dx-nt-tab-btn:hover {
  color: #0f172a;
  background: rgba(255, 255, 255, 0.4);
}

[data-theme="dark"] .dx-nt-tab-btn {
  color: #94a3b8;
}

[data-theme="dark"] .dx-nt-tab-btn:hover {
  color: #f1f5f9;
  background: rgba(255, 255, 255, 0.06);
}

.dx-nt-tab-btn.active {
  background: #ffffff;
  color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

[data-theme="dark"] .dx-nt-tab-btn.active {
  background: #38342f;
  color: #60a5fa !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* Devamsızlık Tab Görünümü */
.dx-absence-container {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  height: 100%;
}

.dx-absence-form-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
}

[data-theme="dark"] .dx-absence-form-card {
  background: #242220;
  border-color: #38342f;
}

.dx-absence-form-card .form-label {
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin-bottom: 0.2rem !important;
}

[data-theme="dark"] .dx-absence-form-card .form-label {
  color: #94a3b8 !important;
}

.dx-absence-form-card .form-control,
.dx-absence-form-card .form-select {
  font-size: 0.8rem !important;
  padding: 0.3rem 0.5rem !important;
  border-radius: 5px !important;
  height: 32px !important;
}

[data-theme="dark"] .dx-absence-form-card .form-control,
[data-theme="dark"] .dx-absence-form-card .form-select {
  background-color: #2e2b27 !important;
  border-color: #4a453f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-absence-form-card .form-control:focus,
[data-theme="dark"] .dx-absence-form-card .form-select:focus {
  border-color: var(--theme-primary, #008080) !important;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 0, 128, 128), 0.25) !important;
}

[data-theme="dark"] .dx-absence-form-card .form-control::placeholder {
  color: #78716c !important;
}

.dx-absence-table-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 180px;
}

[data-theme="dark"] .dx-absence-table-card {
  background: #1e1c1a;
  border-color: #38342f;
}

.dx-absence-table-header {
  padding: 0.45rem 0.75rem;
  background: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.78rem;
  font-weight: 700;
  color: #334155;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

[data-theme="dark"] .dx-absence-table-header {
  background: #282421;
  border-bottom-color: #38342f;
  color: #e2e8f0;
}

.dx-absence-table-scroll {
  flex: 1;
  max-height: 220px;
  overflow-y: auto;
}

.dx-absence-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.76rem;
}

.dx-absence-table th {
  position: sticky;
  top: 0;
  background: #f8fafc;
  color: #475569;
  font-weight: 600;
  padding: 0.4rem 0.6rem;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
  font-size: 0.74rem;
  z-index: 2;
}

[data-theme="dark"] .dx-absence-table th {
  background: #25221e;
  color: #cbd5e1;
  border-bottom-color: #38342f;
}

.dx-absence-table td {
  padding: 0.4rem 0.6rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  color: #1e293b;
  vertical-align: middle;
}

[data-theme="dark"] .dx-absence-table td {
  border-bottom-color: rgba(255, 255, 255, 0.05);
  color: #f1f5f9;
}

.dx-absence-table tbody tr:hover {
  background: rgba(0, 0, 0, 0.02);
}

[data-theme="dark"] .dx-absence-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.04);
}

.dx-absence-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.18rem 0.45rem;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
}

.dx-absence-badge.rapor {
  background: #fee2e2;
  color: #b91c1c;
}

[data-theme="dark"] .dx-absence-badge.rapor {
  background: rgba(220, 38, 38, 0.2);
  color: #fca5a5;
}

.dx-absence-badge.yillik {
  background: #dcfce7;
  color: #15803d;
}

[data-theme="dark"] .dx-absence-badge.yillik {
  background: rgba(22, 163, 74, 0.2);
  color: #86efac;
}

.dx-absence-badge.idari {
  background: #e0f2fe;
  color: #0369a1;
}

[data-theme="dark"] .dx-absence-badge.idari {
  background: rgba(2, 132, 199, 0.2);
  color: #7dd3fc;
}

.dx-absence-badge.mazeret {
  background: #fef3c7;
  color: #b45309;
}

[data-theme="dark"] .dx-absence-badge.mazeret {
  background: rgba(217, 119, 6, 0.2);
  color: #fcd34d;
}

.dx-absence-badge.gorevli {
  background: #ede9fe;
  color: #6d28d9;
}

[data-theme="dark"] .dx-absence-badge.gorevli {
  background: rgba(109, 40, 217, 0.2);
  color: #c4b5fd;
}

.dx-absence-badge.ucretsiz {
  background: #f1f5f9;
  color: #475569;
}

[data-theme="dark"] .dx-absence-badge.ucretsiz {
  background: rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
}

.dx-absence-del-btn {
  border: 1px solid transparent;
  background: transparent;
  color: #ef4444;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dx-absence-del-btn:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.25);
}

/* Themed Devamsızlık Saat & Gün & Aşama Rozetleri */
.dx-hours-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
  line-height: 1;
}

[data-theme="dark"] .dx-hours-badge {
  background: rgba(245, 158, 11, 0.18);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.35);
}

.dx-day-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

[data-theme="dark"] .dx-day-badge {
  background: #2e2b27;
  color: #cbd5e1;
  border-color: #4a453f;
}

.dx-staged-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 0.18rem 0.45rem;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

[data-theme="dark"] .dx-staged-badge {
  background: rgba(16, 185, 129, 0.18);
  color: #34d399;
  border-color: rgba(16, 185, 129, 0.35);
}

.dx-staged-row {
  background: rgba(16, 185, 129, 0.05) !important;
  border-left: 3px solid #10b981 !important;
}

[data-theme="dark"] .dx-staged-row {
  background: rgba(16, 185, 129, 0.1) !important;
  border-left: 3px solid #34d399 !important;
}

.dx-teacher-name-cell {
  color: #1e293b;
}

[data-theme="dark"] .dx-teacher-name-cell {
  color: #f1f5f9;
}

/* ==========================================================================
   ÖĞRETMEN DEVAMSIZLIK MODAL (60% x 60%, AYDINLIK / KARANLIK TEMA UYUMU)
   ========================================================================== */
.dx-absence-dialog,
.dx-crud-dialog {
  width: 60% !important;
  height: 60% !important;
  max-width: 60% !important;
  max-height: 60% !important;
  min-width: 580px !important;
  min-height: 380px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  background-color: #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
}

[data-theme="dark"] .dx-absence-dialog,
[data-theme="dark"] .dx-crud-dialog {
  background-color: #1e1c1a !important;
  border-color: #38342f !important;
  color: #f1f5f9 !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.6) !important;
}

.dx-absence-header,
.dx-crud-header {
  position: relative !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 48px 0 0.9rem !important;
  border-bottom: 1px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #f8fafc !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

[data-theme="dark"] .dx-absence-header,
[data-theme="dark"] .dx-crud-header {
  background-color: #1e1c1a !important;
  border-bottom-color: #38342f !important;
}

.dx-absence-title,
.dx-crud-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}

[data-theme="dark"] .dx-absence-title,
[data-theme="dark"] .dx-crud-title {
  color: #f8fafc !important;
}

.dx-absence-form-bar,
.dx-crud-form-bar {
  padding: 0.6rem 0.9rem !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background-color: #ffffff !important;
  flex-shrink: 0 !important;
}

[data-theme="dark"] .dx-absence-form-bar,
[data-theme="dark"] .dx-crud-form-bar {
  background-color: #242220 !important;
  border-bottom-color: #38342f !important;
}

.dx-absence-form-bar .form-label,
.dx-crud-form-bar .form-label {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin-bottom: 0.2rem !important;
}

[data-theme="dark"] .dx-absence-form-bar .form-label,
[data-theme="dark"] .dx-crud-form-bar .form-label {
  color: #cbd5e1 !important;
}

.dx-absence-form-bar .form-control,
.dx-absence-form-bar .form-select,
.dx-crud-form-bar .form-control,
.dx-crud-form-bar .form-select,
.dx-absence-header .form-select,
.dx-crud-header .form-select {
  font-size: 0.74rem !important;
  height: 29px !important;
  min-height: 29px !important;
  padding: 0.25rem 0.5rem !important;
  background-color: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

[data-theme="dark"] .dx-absence-form-bar .form-control,
[data-theme="dark"] .dx-absence-form-bar .form-select,
[data-theme="dark"] .dx-crud-form-bar .form-control,
[data-theme="dark"] .dx-crud-form-bar .form-select,
[data-theme="dark"] .dx-absence-header .form-select,
[data-theme="dark"] .dx-crud-header .form-select {
  background-color: #2e2b27 !important;
  border-color: #4a453f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-absence-form-bar .form-control::placeholder,
[data-theme="dark"] .dx-crud-form-bar .form-control::placeholder {
  color: #78716c !important;
}

.dx-absence-form-bar .btn,
.dx-crud-form-bar .btn {
  height: 29px !important;
  font-size: 0.73rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0.6rem !important;
}

.dx-absence-scroll,
.dx-crud-scroll {
  flex-grow: 1 !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
  background-color: #ffffff !important;
  min-height: 0 !important;
  width: 100% !important;
}

.dx-absence-scroll table.dx-table,
.dx-crud-scroll table.dx-table {
  width: 100% !important;
  margin: 0 !important;
}

[data-theme="dark"] .dx-absence-scroll,
[data-theme="dark"] .dx-crud-scroll {
  background-color: #1e1c1a !important;
}

[data-theme="dark"] .dx-absence-scroll .dx-table thead th,
[data-theme="dark"] .dx-crud-scroll .dx-table thead th {
  background-color: #25221e !important;
  color: #cbd5e1 !important;
  border-bottom-color: #38342f !important;
  border-right-color: #332f2a !important;
}

[data-theme="dark"] .dx-absence-scroll .dx-table tbody td,
[data-theme="dark"] .dx-crud-scroll .dx-table tbody td {
  border-bottom-color: #2f2b26 !important;
  color: #f1f5f9 !important;
}

/* Staged / New Rows: Active (Kırmızı .1 Opacity) */
.dx-absence-row-staged,
.dx-crud-row-staged {
  background-color: rgba(239, 68, 68, 0.1) !important;
}

[data-theme="dark"] .dx-absence-row-staged,
[data-theme="dark"] .dx-crud-row-staged {
  background-color: rgba(239, 68, 68, 0.18) !important;
}

/* Passive / Old Rows: Muted */
.dx-absence-row-passive,
.dx-crud-row-passive {
  opacity: 0.65 !important;
  background-color: rgba(241, 245, 249, 0.5) !important;
}

[data-theme="dark"] .dx-absence-row-passive,
[data-theme="dark"] .dx-crud-row-passive {
  opacity: 0.6 !important;
  background-color: rgba(255, 255, 255, 0.02) !important;
}

.dx-absence-row-passive:hover,
.dx-crud-row-passive:hover {
  opacity: 0.95 !important;
}

/* Footer */
.dx-absence-footer,
.dx-crud-footer {
  padding: 0.5rem 0.9rem !important;
  background-color: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
  min-height: 42px !important;
  max-height: 42px !important;
}

[data-theme="dark"] .dx-absence-footer,
[data-theme="dark"] .dx-crud-footer {
  background-color: #181614 !important;
  border-top-color: #38342f !important;
  color: #94a3b8 !important;
}

.dx-absence-footer .btn,
.dx-crud-footer .btn {
  height: 28px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0.75rem !important;
}

/* Kırmızı Sağ Üst Kapat Butonu - Sağa üste fixli, genişliği header ile aynı (kare) */
.dx-absence-header .dx-nt-close,
.dx-absence-header-close,
.dx-crud-close,
.dx-crud-header-close,
.dx-crud-header .dx-nt-close,
.dx-crud-header .dx-crud-close {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 42px !important;
  height: 42px !important;
  aspect-ratio: 1 / 1 !important;
  background-color: #ef4444 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 8px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
  padding: 0 !important;
  font-size: 1rem !important;
  z-index: 10 !important;
}

.dx-absence-header .dx-nt-close:hover,
.dx-absence-header-close:hover,
.dx-crud-close:hover,
.dx-crud-header-close:hover,
.dx-crud-header .dx-nt-close:hover,
.dx-crud-header .dx-crud-close:hover {
  background-color: #dc2626 !important;
  color: #ffffff !important;
}

.dx-absence-btn-save,
.dx-crud-btn-save {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 0.35rem 1rem !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  line-height: 1 !important;
}

/* Footer Sola Yaslı Sayaç: .6rem regular yazı, .8rem bold 700 sayı */
.dx-absence-footer-text,
.dx-absence-footer-label,
.dx-crud-footer-text,
.dx-crud-footer-label {
  font-size: 0.6rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

[data-theme="dark"] .dx-absence-footer-text,
[data-theme="dark"] .dx-absence-footer-label,
[data-theme="dark"] .dx-crud-footer-text,
[data-theme="dark"] .dx-crud-footer-label {
  color: #a1a1aa !important;
}

.dx-absence-footer-count,
.dx-crud-footer-count {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin: 0 2px !important;
}

[data-theme="dark"] .dx-absence-footer-count,
[data-theme="dark"] .dx-crud-footer-count {
  color: #f4f4f5 !important;
}

/* İzin / Devamsızlık GridView Okunaklı Rozetler */
.dx-abs-grid-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.dx-abs-grid-badge.staged {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
}

[data-theme="dark"] .dx-abs-grid-badge.staged {
  background: rgba(245, 158, 11, 0.22) !important;
  color: #fbbf24 !important;
  border-color: rgba(245, 158, 11, 0.45) !important;
}

.dx-abs-grid-badge.saved {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #cbd5e1;
}

[data-theme="dark"] .dx-abs-grid-badge.saved {
  background: #27272a !important;
  color: #cbd5e1 !important;
  border-color: #3f3f46 !important;
}

.dx-abs-grid-badge.day {
  background: #f8fafc;
  color: #334155;
  border: 1px solid #cbd5e1;
  font-weight: 600;
}

[data-theme="dark"] .dx-abs-grid-badge.day {
  background: #27272a !important;
  color: #e4e4e7 !important;
  border-color: #3f3f46 !important;
}

.dx-abs-grid-badge.hours {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-weight: 600;
}

[data-theme="dark"] .dx-abs-grid-badge.hours {
  background: rgba(59, 130, 246, 0.2) !important;
  color: #93c5fd !important;
  border-color: rgba(59, 130, 246, 0.4) !important;
}

.dx-abs-grid-badge.duty-active {
  background: #ede9fe;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
}

[data-theme="dark"] .dx-abs-grid-badge.duty-active {
  background: rgba(139, 92, 246, 0.22) !important;
  color: #c4b5fd !important;
  border-color: rgba(139, 92, 246, 0.45) !important;
}

.dx-abs-grid-badge.duty-none {
  background: #f8fafc;
  color: #64748b;
  border: 1px solid #e2e8f0;
}

[data-theme="dark"] .dx-abs-grid-badge.duty-none {
  background: #27272a !important;
  color: #a1a1aa !important;
  border-color: #3f3f46 !important;
}

.dx-abs-date-text {
  font-weight: 600;
  color: #0f172a;
}

[data-theme="dark"] .dx-abs-date-text {
  color: #f4f4f5 !important;
}

.dx-abs-desc-text {
  color: #334155;
  font-size: 0.78rem;
}

[data-theme="dark"] .dx-abs-desc-text {
  color: #cbd5e1 !important;
}

/* Nöbet Durumu Rozeti */
.dx-duty-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.18rem 0.45rem;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dx-duty-badge.active {
  background: #ede9fe;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
}

[data-theme="dark"] .dx-duty-badge.active {
  background: rgba(139, 92, 246, 0.2);
  color: #c4b5fd;
  border-color: rgba(139, 92, 246, 0.4);
}

.dx-duty-badge.none {
  background: #f1f5f9;
  color: #64748b;
  border: 1px solid #e2e8f0;
}

[data-theme="dark"] .dx-duty-badge.none {
  background: #2a2724;
  color: #94a3b8;
  border-color: #3f3b35;
}

/* Sağ Info Paneli Devamsızlık Kartları */
.dx-absence-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.65rem 0.75rem;
  margin-bottom: 0.5rem;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

[data-theme="dark"] .dx-absence-card {
  background: #242220;
  border-color: #38342f;
}

.dx-absence-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.dx-absence-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.dx-absence-card-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.4rem;
  padding-top: 0.4rem;
  border-top: 1px dashed #e2e8f0;
}

[data-theme="dark"] .dx-absence-card-bottom-row {
  border-top-color: #38342f;
}

.dx-absence-card-bottom-row .dx-duty-badge,
.dx-absence-card-bottom-row .dx-day-badge,
.dx-absence-card-bottom-row .dx-hours-badge {
  font-size: 0.7rem;
  padding: 0.16rem 0.42rem;
}

.dx-absence-card-meta {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.dx-absence-card-days {
  font-size: 0.76rem;
  font-weight: 700;
  color: #334155;
}

[data-theme="dark"] .dx-absence-card-days {
  color: #cbd5e1;
}

.dx-absence-card-date {
  font-size: 0.74rem;
  color: #64748b;
}

[data-theme="dark"] .dx-absence-card-date {
  color: #94a3b8;
}

.dx-absence-card-desc {
  font-size: 0.76rem;
  color: #475569;
  line-height: 1.35;
  background: #f8fafc;
  padding: 0.35rem 0.5rem;
  border-radius: 4px;
  border-left: 3px solid #cbd5e1;
}

[data-theme="dark"] .dx-absence-card-desc {
  background: #1a1816;
  color: #94a3b8;
  border-left-color: #4a453f;
}

/* Boş Durum (Empty State) - Tema & Karanlık Mod Uyumlu */
.dx-empty-state-card {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  padding: 1.6rem 1rem;
  text-align: center;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  margin-top: 0.25rem;
}

[data-theme="dark"] .dx-empty-state-card {
  background: #1c1a18 !important;
  border: 1px dashed #3f3b35 !important;
  box-shadow: none;
}

.dx-empty-state-card .dx-empty-icon {
  font-size: 2.2rem;
  display: block;
  margin: 0 auto 0.6rem auto;
  color: #10b981;
  opacity: 0.85;
}

[data-theme="dark"] .dx-empty-state-card .dx-empty-icon {
  color: #34d399;
  opacity: 0.9;
}

.dx-empty-state-card .dx-empty-icon.folder {
  color: #64748b;
  opacity: 0.6;
}

[data-theme="dark"] .dx-empty-state-card .dx-empty-icon.folder {
  color: #94a3b8;
  opacity: 0.7;
}

.dx-empty-state-card .dx-empty-text {
  font-size: 0.78rem;
  font-weight: 500;
  color: #64748b;
  line-height: 1.45;
}

[data-theme="dark"] .dx-empty-state-card .dx-empty-text {
  color: #a8a29e;
}

/* ==========================================================================
   DASHBOARD CANLI KONTROL SATIRI (DEĞİŞKEN YÜKSEKLİKLİ GLASSMORPHISM KARTLAR)
   ========================================================================== */
.dx-dash-hero-row {
  height: var(--dx-hero-height, clamp(240px, 28vh, 360px)) !important;
  min-height: 240px !important;
  max-height: 360px !important;
  flex: 0 0 var(--dx-hero-height, clamp(240px, 28vh, 360px)) !important;
  flex-shrink: 0 !important;
  display: flex !important;
  gap: 0.2rem !important;
  margin-bottom: 0.25rem !important;
  width: 100%;
  box-sizing: border-box;
  transition: height 0.2s ease;
}

.dx-dash-hero-col-left,
.dx-dash-hero-col-right {
  flex: 1 1 50%;
  max-width: calc(50% - 0.1rem);
  height: 100%;
  min-height: 240px;
  max-height: 360px;
  box-sizing: border-box;
}

.dx-dash-hero-col-right {
  display: flex;
  flex-direction: column;
  gap: 0.2rem !important;
  height: 100%;
}

.dx-dash-hero-right-top {
  flex: 1 1 50%;
  height: 50%;
  min-height: 118px;
  max-height: 178px;
  width: 100%;
}

.dx-dash-hero-right-bottom {
  flex: 1 1 50%;
  height: 50%;
  min-height: 118px;
  max-height: 178px;
  display: flex;
  gap: 0.2rem !important;
  width: 100%;
}

.dx-dash-hero-right-bottom > div {
  flex: 1 1 50%;
  max-width: calc(50% - 0.1rem);
  height: 100%;
  min-height: 118px;
  max-height: 178px;
}

/* Cam Efektli (Glassmorphism) Ortak Kart Yapısı */
.dx-glass-card {
  position: relative;
  border-radius: 0.4rem !important;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0.55rem 0.75rem;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.32), inset 0 1px 1px 0 rgba(255, 255, 255, 0.38);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #ffffff !important;
  font-weight: 700 !important;
  user-select: none;
}

/* Cam Yansıması / Glossy Highlight Üst Katman */
.dx-glass-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.03) 75%, transparent 100%);
  pointer-events: none;
  border-top-left-radius: 0.4rem;
  border-top-right-radius: 0.4rem;
  z-index: 1;
}

/* Yazıların Hepsi Beyaz, Bold ve 700 */
.dx-glass-card,
.dx-glass-card *,
.dx-glass-card span,
.dx-glass-card div,
.dx-glass-card p,
.dx-glass-card i {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Renk Çeşitleri (Koyu Parlak Zeminli Canlı Camlar) */

/* 1. Sol Slider: Mavi Container Tamamen Kaldırıldı, Slayt Doğrudan Ekrana Gelir */
.dx-hero-slider-wrap,
.dx-glass-slider-card {
  position: relative !important;
  height: 100% !important;
  min-height: 240px !important;
  max-height: 360px !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  border-radius: 0.4rem !important;
  overflow: hidden !important;
  user-select: none !important;
}

.dx-hero-slider-wrap::before,
.dx-glass-slider-card::before {
  display: none !important;
}

/* 2. Sağ Üst Büyük Saat: Koyu Zümrüt & Petrol Mavisi Parlak Cam Zemin */
.dx-glass-clock-card {
  container-type: inline-size;
  background: linear-gradient(135deg, #064e3b 0%, #065f46 50%, #0f172a 100%) !important;
  border-color: rgba(52, 211, 153, 0.4) !important;
}

/* 3. Sağ Alt Sol (Devamsızlık/İkame): Koyu Yakut & Turuncu / Kiremit Parlak Cam Zemin */
.dx-glass-absent-card {
  background: linear-gradient(135deg, #7c2d12 0%, #c2410c 50%, #991b1b 100%) !important;
  border-color: rgba(251, 146, 60, 0.45) !important;
}

/* 4. Sağ Alt Sağ (Okuldaki Öğretmen): Koyu Yeşil & Zümrüt Parlak Cam Zemin */
.dx-glass-teachers-card {
  background: linear-gradient(135deg, #047857 0%, #059669 50%, #064e3b 100%) !important;
  border-color: rgba(74, 222, 128, 0.45) !important;
}

/* Slider İç Elemanları */
.dx-slider-content {
  position: relative !important;
  z-index: 2 !important;
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.dx-slider-header {
  display: none !important;
}

.dx-slider-title {
  display: none !important;
}

.dx-slider-nav-btns {
  display: none !important;
}

.dx-slider-btn {
  display: none !important;
}

.dx-slider-slide-body {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 0.4rem !important;
}
.dx-slider-slide-body::-webkit-scrollbar {
  display: none;
}

/* Gösterge Noktaları: Slaytın Altında Şık ve Saydam Konumlandırılmış */
.dx-slider-dots {
  position: absolute !important;
  bottom: 8px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  padding: 0 !important;
  height: 16px !important;
  border-top: none !important;
  background: transparent !important;
  pointer-events: auto !important;
}

.dx-slider-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

.dx-slider-dot.active {
  background: #ffffff;
  width: 22px;
  border-radius: 4px;
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.9), 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* ========================================================================== */
/* DASHBOARD HERO SLIDER - 4 ÖZEL SLAYT STİLLERİ                              */
/* ========================================================================== */
/* DASHBOARD HERO SLIDER - 4 ÖZEL SLAYT STİLLERİ                              */
/* ========================================================================== */

/* Slayt 1: Siyah Zemin, Ekrana Yayılan Okul Logosu ve Cam Işık Yansıması */
.dx-slide-school-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
  background: #000000 !important; /* Arka planı derin siyah */
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding: 6px;
  box-sizing: border-box;
  box-shadow: none !important; /* Arkaplan ile düzlendi, ışık sızması yapan gölgeler kaldırıldı */
}

.dx-slide-school-logo-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: transparent !important;
}

/* Taban Net Logo - Etrafındaki ışık sızması ve hale kaldırıldı, zeminle düzlendi */
.dx-slide-logo-img {
  height: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  filter: none !important; /* Işık sızması yapan drop-shadow kaldırıldı, arkaplanla düzlendi */
  box-shadow: none !important;
  border: none !important;
  z-index: 1;
  pointer-events: none;
  display: block;
}

/* Eski Cam Yansıma / Işık Parıltısı Hareketi */
.dx-slide-school-glass-layer {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, transparent 45%, rgba(255, 255, 255, 0.03) 100%);
  border: none !important;
  overflow: hidden;
}

.dx-slide-glass-sheen {
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.28) 50%, transparent 100%);
  transform: translateX(-150%) skewX(-25deg);
  animation: dxGlassSheen 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes dxGlassSheen {
  0% {
    transform: translateX(-150%) skewX(-25deg);
  }
  30%, 100% {
    transform: translateX(280%) skewX(-25deg);
  }
}

.dx-slide-school-caption {
  position: relative;
  z-index: 4;
  margin-top: 0.2rem;
  margin-bottom: 22px !important;
  padding: 0.15rem 0.6rem;
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #f8fafc;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  white-space: nowrap;
}

/* Slayt 2: TT-Studio Brand (Koyu Kırmızı Zemin, Beyaz Yazı ve İkon, 1px Solid Neon Işık Gök Mavisi Border) */
.dx-slide-brand-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: 0;
  border-radius: 8px;
  background: #6b0f1a !important; /* Koyu Kırmızı */
  background: linear-gradient(135deg, #4c050a 0%, #7f1d1d 50%, #3f0408 100%) !important;
  border: 1px solid #38bdf8 !important; /* Neon Işık Gök Mavisi 1px Solid Border */
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.45), inset 0 0 10px rgba(56, 189, 248, 0.2) !important;
  overflow: hidden;
}

.dx-slide-brand-content {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.1rem;
  padding: 0.5rem 1rem;
  border: none !important;
}

.dx-slide-brand-icon {
  font-size: 4rem;
  line-height: 1;
  font-weight: 800;
  color: #ffffff !important; /* Beyaz İkon */
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.6));
  display: inline-flex;
  align-items: center;
}

.dx-slide-brand-text {
  font-size: 4rem;
  line-height: 1;
  font-weight: 800;
  color: #ffffff !important; /* Beyaz Yazı */
  letter-spacing: -1.5px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  white-space: nowrap;
}

/* Slayt 3: Günün İpucu / Menü Rehberi */
.dx-slide-tip-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 0.5rem 0.65rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.dx-slide-tip-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.dx-slide-tip-icon-box {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.15rem;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
  flex-shrink: 0;
}

.dx-slide-tip-desc {
  font-size: 0.74rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
  margin: 0.35rem 0;
}

.dx-slide-tip-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto;
  margin-bottom: 18px !important;
}

/* Slider İçindeki Buton Tipografisi: .8rem bold 500 */
#btnOpenMenuGuideToast,
.dx-slide-guide-btn,
.dx-slide-tip-action-row .btn {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

/* Sarı Renkli Menü Rehberi Toast (1 dk sonra otomatik kapanan, tıklanabilir) */
.dx-toast.dx-toast-guide-persistent,
.dx-toast.dx-toast-guide-yellow {
  max-width: 480px;
  cursor: pointer;
  border-left: 6px solid #eab308 !important; /* Canlı Altın Sarısı */
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 45%, #fde68a 100%) !important;
  border-top: 1px solid #fcd34d !important;
  border-right: 1px solid #fcd34d !important;
  border-bottom: 1px solid #f59e0b !important;
  box-shadow: 0 12px 36px rgba(234, 179, 8, 0.28), 0 6px 18px rgba(0, 0, 0, 0.15) !important;
  color: #78350f !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dx-toast.dx-toast-guide-persistent:hover,
.dx-toast.dx-toast-guide-yellow:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 42px rgba(234, 179, 8, 0.35);
}

.dx-toast.dx-toast-guide-persistent .dx-toast-title {
  color: #854d0e !important;
  font-weight: 800 !important;
  font-size: 0.84rem !important;
}

.dx-toast.dx-toast-guide-persistent .dx-toast-icon i {
  color: #d97706 !important;
  font-size: 1.25rem !important;
}

.dx-toast.dx-toast-guide-persistent .dx-toast-close {
  color: #92400e !important;
  opacity: 0.85;
  font-size: 1.2rem;
}

.dx-toast.dx-toast-guide-persistent .dx-toast-close:hover {
  color: #78350f !important;
  opacity: 1;
}

.dx-toast.dx-toast-guide-persistent .dx-toast-progress-bar {
  background: linear-gradient(90deg, #eab308, #b45309) !important;
}

.dx-toast.dx-toast-guide-persistent .dx-guide-toast-item {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
  border-radius: 6px;
  padding: 0.35rem 0.45rem;
  font-size: 0.68rem;
  line-height: 1.25;
  box-shadow: 0 1px 3px rgba(180, 83, 9, 0.06);
}

.dx-toast.dx-toast-guide-persistent .dx-guide-toast-item strong {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #78350f !important;
  margin-bottom: 2px;
  font-size: 0.72rem;
}

.dx-toast.dx-toast-guide-persistent .dx-guide-toast-item .text-muted {
  color: #92400e !important;
  opacity: 0.88;
}

/* Slayt 3: Okul Yönetim Kadrosu (Koyu Pastel Sarı Zemin) */
.dx-slide-mgmt-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  height: 100% !important;
  width: 100% !important;
  gap: 0.5rem !important;
  padding: 0.2rem 0.5rem 22px 0.5rem !important;
  box-sizing: border-box !important;
  border-radius: 0.4rem !important;
  background: #713f12 !important;
  background: linear-gradient(135deg, #78590c 0%, #a16207 45%, #713f12 100%) !important;
  border: 1px solid rgba(250, 204, 21, 0.5) !important;
  box-shadow: inset 0 0 16px rgba(250, 204, 21, 0.18), 0 4px 18px rgba(0, 0, 0, 0.3) !important;
  overflow: hidden !important;
}

.dx-mgmt-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
}

.dx-mgmt-card {
  width: 80px !important;
  height: 60px !important;
  min-width: 80px;
  max-width: 80px;
  min-height: 60px;
  max-height: 60px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.32) !important;
  border: 1px solid rgba(250, 204, 21, 0.35) !important;
  border-radius: 6px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
  transition: all 0.2s ease;
  overflow: hidden;
  user-select: none;
}

.dx-mgmt-card:hover {
  transform: translateY(-2px);
  background: rgba(0, 0, 0, 0.45) !important;
  border-color: #facc15 !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
}

.dx-mgmt-card-principal {
  border-color: rgba(250, 204, 21, 0.65) !important;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.45) 0%, rgba(120, 89, 12, 0.5) 100%) !important;
}

.dx-mgmt-role-badge {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1;
  margin-bottom: 2px;
}

.dx-mgmt-card-principal .dx-mgmt-role-badge {
  color: #fde047;
}

.dx-mgmt-card-vp .dx-mgmt-role-badge {
  color: #38bdf8;
}

.dx-mgmt-name {
  font-size: 0.56rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.1;
  max-width: 74px;
  word-wrap: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.dx-mgmt-avatar {
  font-size: 0.75rem;
  margin-bottom: 2px;
}


/* Titremeyen Büyük Dijital Saat & Canlı Ders/Teneffüs Takip Kartı */
.dx-clock-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}

.dx-clock-half {
  flex: 1 1 50%;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 0.4rem;
  box-sizing: border-box;
}

.dx-clock-left-half {
  flex: 1 1 50%;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start !important;
  text-align: left !important;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  padding: 0 !important;
}

.dx-clock-right-half {
  flex: 1 1 50%;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start !important;
  text-align: left !important;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  padding: 0 !important;
}

.dx-clock-divider {
  width: 0;
  height: 75%;
  border-left: 2px dotted rgba(255, 255, 255, 0.45);
  margin: 0 0.25rem;
  align-self: center;
  flex-shrink: 0;
}

.dx-clock-label {
  font-size: 0.8rem;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  opacity: 0.92;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100% !important;
  line-height: 1.1;
  box-sizing: border-box;
}

.dx-clock-right-half .dx-clock-label,
#dxHeroStatusLabel {
  position: absolute;
  top: 0.3rem !important;
  left: 0 !important;
  margin-top: 0 !important;
  margin-left: clamp(0.5rem, 3.5cqi, 1rem) !important;
  font-size: 0.8rem;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  opacity: 0.92;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.1;
  text-align: left !important;
  box-sizing: border-box;
}

.dx-clock-time {
  font-family: 'Consolas', 'Courier New', monospace, var(--bs-font-monospace) !important;
  font-variant-numeric: tabular-nums;
  font-size: 4rem;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 1px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100% !important;
  margin-top: -0.35rem !important;
  margin-left: clamp(0.5rem, 3.5cqi, 1rem) !important;
  text-align: left !important;
  display: block;
  box-sizing: border-box;
}

.dx-clock-date {
  font-size: 0.72rem;
  font-weight: 600 !important;
  opacity: 0.92;
  margin-top: 0.2rem;
  margin-left: clamp(0.5rem, 3.5cqi, 1rem) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100% !important;
  text-align: left !important;
  display: block;
  box-sizing: border-box;
}

.dx-clock-counter {
  font-family: 'Consolas', 'Courier New', monospace, var(--bs-font-monospace) !important;
  font-variant-numeric: tabular-nums;
  font-size: 3rem;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 1px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100% !important;
  margin-left: clamp(0.5rem, 3.5cqi, 1rem) !important;
  text-align: left !important;
  display: block;
  box-sizing: border-box;
}

.dx-clock-counter.dx-text-mode {
  font-family: inherit !important;
  font-size: 4rem;
  font-weight: 800 !important;
  letter-spacing: -0.5px;
  line-height: 1.05 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100% !important;
  margin-left: clamp(0.5rem, 3.5cqi, 1rem) !important;
  text-align: left !important;
  display: block;
  box-sizing: border-box;
}

.dx-clock-subtext {
  font-size: 0.75rem;
  font-weight: 600 !important;
  opacity: 0.88;
  margin-top: 0.3rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100% !important;
  box-sizing: border-box;
}

.dx-clock-right-half .dx-clock-subtext,
#dxHeroStatusSubtext {
  position: absolute;
  bottom: 0.3rem !important;
  left: 0 !important;
  margin-bottom: 0 !important;
  margin-left: clamp(0.5rem, 3.5cqi, 1rem) !important;
  font-size: 0.75rem;
  font-weight: 600 !important;
  opacity: 0.88;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left !important;
  box-sizing: border-box;
}

/* Küçük İstatistik Kartları */
.dx-stat-glass-body {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dx-stat-glass-title {
  font-size: 0.72rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  padding-bottom: 0.2rem;
}

.dx-stat-glass-metrics {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin: 0.1rem 0;
}

.dx-stat-mini-item {
  text-align: center;
}

.dx-stat-mini-val {
  font-size: 1.4rem;
  line-height: 1.05;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

.dx-stat-mini-lbl {
  font-size: 0.61rem;
  opacity: 0.95;
  white-space: nowrap;
}

.dx-stat-teachers-big {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 100%;
}

.dx-stat-teachers-val {
  font-size: 2.1rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.dx-stat-teachers-lbl {
  font-size: 0.65rem !important;
  opacity: 0.95;
  font-weight: 600;
  margin-top: 0.2rem;
  white-space: nowrap;
}

/* Okul Öğretmen Mevcudu İkiye Bölünmüş Düzen */
.dx-stat-teachers-split {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
  height: 100%;
  padding: 0.15rem 0;
}

.dx-stat-split-half {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.dx-stat-split-divider {
  width: 0;
  height: 70%;
  border-left: 2px dotted rgba(255, 255, 255, 0.45);
  margin: 0 0.25rem;
  align-self: center;
  flex-shrink: 0;
}

/* Cam Kart Başlık Aksiyonları & Butonları */
.dx-glass-header-btn {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 4px;
  color: #ffffff !important;
  padding: 0.15rem 0.35rem;
  font-size: 0.68rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  line-height: 1;
}

.dx-glass-header-btn:hover {
  background: rgba(255, 255, 255, 0.35);
  transform: scale(1.06);
}

.dx-glass-header-btn:active {
  transform: scale(0.96);
}

.dx-lesson-nav-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.dx-hero-lesson-badge {
  font-size: 0.65rem;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  padding: 0.12rem 0.4rem;
  white-space: nowrap;
  letter-spacing: 0.3px;
}

.dx-btn-detail-highlight {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
  font-weight: 700;
  padding: 0.12rem 0.45rem;
  border-radius: 4px;
}

.dx-btn-detail-highlight:hover {
  background: #ffffff;
  color: #064e3b !important;
}

/* Okuldaki Öğretmen Sayısı Kartı: Başlık ve Butonlar Responsive İkinci Satıra İndirme */
.dx-glass-teachers-card {
  container-type: inline-size;
}

.dx-glass-teachers-card .dx-stat-glass-title {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  row-gap: 0.25rem !important;
  line-height: 0.9rem !important;
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
}

.dx-glass-teachers-card .dx-stat-glass-title > span {
  line-height: 0.9rem !important;
  white-space: nowrap !important;
  min-width: 170px;
}

.dx-glass-teachers-card .dx-lesson-nav-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  line-height: 0.9rem !important;
  white-space: nowrap !important;
  min-width: 165px;
  justify-content: flex-end !important;
  margin-left: auto;
}

/* Ekran genişliği yetmediğinde başlık 1. satır, butonlar 2. satır */
.dx-glass-teachers-card .dx-stat-glass-title.dx-header-wrap,
.dx-glass-teachers-card .dx-stat-glass-title.dx-title-wrapped-2lines {
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  row-gap: 0.25rem !important;
}

.dx-glass-teachers-card .dx-stat-glass-title.dx-header-wrap > span,
.dx-glass-teachers-card .dx-stat-glass-title.dx-title-wrapped-2lines > span {
  width: 100% !important;
  display: block !important;
}

.dx-glass-teachers-card .dx-stat-glass-title.dx-header-wrap .dx-lesson-nav-actions,
.dx-glass-teachers-card .dx-stat-glass-title.dx-title-wrapped-2lines .dx-lesson-nav-actions {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
}

@container (max-width: 380px) {
  .dx-glass-teachers-card .dx-stat-glass-title {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    row-gap: 0.25rem !important;
  }
  .dx-glass-teachers-card .dx-stat-glass-title > span {
    width: 100% !important;
    display: block !important;
  }
  .dx-glass-teachers-card .dx-lesson-nav-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
  }
}

@media (max-width: 1600px) {
  .dx-glass-teachers-card .dx-stat-glass-title {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    row-gap: 0.25rem !important;
  }
  .dx-glass-teachers-card .dx-stat-glass-title > span {
    width: 100% !important;
    display: block !important;
  }
  .dx-glass-teachers-card .dx-lesson-nav-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
  }
}

/* Öğretmen Durum Detayı Modal Özel Tasarımı & Tipografi Kuralları */
.dx-presence-modal-dialog {
  max-width: 980px;
}

#dxTeacherStatusModal .modal-content {
  border-radius: 6px;
  overflow: hidden;
}

/* Header Açıklama Metni: .6rem bold 600 italik */
#dxPresenceHeaderSubtitle {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  font-style: italic !important;
  letter-spacing: 0.2px;
}

/* Formun Tab Fontu: .8rem bold 600 */
#dxPresenceTabs .nav-link {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
  padding: 0.5rem 0.85rem;
  border-radius: 0 !important;
}

/* 2. Ders .. Diye Başlayan Açıklama Metni: .7rem bold 600 */
#lblPresenceSummary {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
}

/* GridView alta fixlenecek, footer ile bir bütün olacak, yanlardan kenarlar fixlenecek ve yuvarlak köşe hatları olmayacak */
#dxTeacherStatusModal .modal-body {
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.dx-presence-top-controls {
  padding: 0 1rem;
}

.dx-presence-table-wrapper {
  margin: 0 !important;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  max-height: 460px;
  overflow-y: auto;
}

.dx-presence-table-wrapper table {
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  border-collapse: collapse !important;
}

/* GridView Başlık Fontu: .8rem bold 600 */
#dxTeacherStatusModal table thead th {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
  background-color: #f8fafc !important;
  border-bottom: 2px solid #e2e8f0 !important;
  border-radius: 0 !important;
  vertical-align: middle;
  padding: 0.45rem 0.5rem;
}

/* Ad Soyad Sütunu İçerik: .7rem bold 600 */
#dxTeacherStatusModal table tbody td.dx-col-name {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
  vertical-align: middle;
}

#dxTeacherStatusModal table tbody td.dx-col-name strong {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
}

/* Diğer Sütun İçerikleri: .7rem regular (400) */
#dxTeacherStatusModal table tbody td:not(.dx-col-name) {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.1px;
  vertical-align: middle;
  padding: 0.4rem 0.5rem;
}

/* Footer Açıklama Metin Fontu: .7rem bold 600 */
#dxPresenceFooterNote {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
}

#dxTeacherStatusModal .modal-footer {
  border-top: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background-color: #ffffff !important;
  padding: 0.5rem 1rem !important;
}

.dx-presence-badge-chip {
  display: inline-block;
  font-size: 0.65rem;
  padding: 0.12rem 0.32rem;
  border-radius: 2px;
  margin-right: 2px;
  margin-bottom: 2px;
  font-weight: 600;
}

.dx-presence-chip-active {
  background-color: #0d6efd;
  color: #ffffff;
}

.dx-presence-chip-idle {
  background-color: #e2e8f0;
  color: #475569;
}

/* ==========================================================================
   DERS YÖNETİMİ 2-PANELLİ DEVEXPRESS LAYOUT & KART STİLLERİ
   ========================================================================== */
.dx-courses-layout,
.dx-classes-layout,
.dx-duties-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  grid-template-areas: "left center";
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0.65rem !important;
  padding: 0.65rem 12px !important;
  height: 100% !important;
  flex: 1 !important;
  min-height: 0 !important;
  background: var(--theme-bg-body, #f1f5f9);
  overflow: hidden !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .dx-courses-layout,
[data-theme="dark"] .dx-classes-layout,
[data-theme="dark"] .dx-duties-layout {
  background: var(--theme-bg-body, #1c1a18);
  border-top-color: #333842;
}

.dx-courses-layout.no-left-pane,
.dx-classes-layout.no-left-pane,
.dx-duties-layout.no-left-pane {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "center" !important;
  padding-left: 12px !important;
}

.dx-courses-layout .dx-left-accordion,
.dx-classes-layout .dx-left-accordion,
.dx-duties-layout .dx-left-accordion {
  grid-area: left;
}

.dx-courses-layout .dx-grid-container,
.dx-classes-layout .dx-grid-container,
.dx-duties-layout .dx-grid-container {
  grid-area: center;
  margin-left: 12px !important;
}

.dx-courses-layout.no-left-pane .dx-grid-container,
.dx-classes-layout.no-left-pane .dx-grid-container,
.dx-duties-layout.no-left-pane .dx-grid-container {
  margin-left: 0 !important;
}

.dx-courses-layout.has-left-icon-only,
.dx-classes-layout.has-left-icon-only,
.dx-duties-layout.has-left-icon-only {
  grid-template-columns: 50px minmax(0, 1fr) !important;
}

.dx-courses-layout.has-left-icon-only .dx-grid-container,
.dx-classes-layout.has-left-icon-only .dx-grid-container,
.dx-duties-layout.has-left-icon-only .dx-grid-container {
  margin-left: 12px !important;
}

/* Kart Görünümleri (Cards Grid) */
.course-cards-grid,
.class-cards-grid,
.duty-cards-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px;
  align-items: flex-start;
  justify-content: flex-start;
}

.course-card,
.class-card,
.duty-card {
  position: relative;
  width: 240px;
  min-height: 140px;
  flex: 0 0 240px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  user-select: none;
}

.course-card:hover,
.class-card:hover,
.duty-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  border-color: #93c5fd;
}

.course-card.selected,
.course-card.active,
.class-card.selected,
.class-card.active,
.duty-card.selected,
.duty-card.active {
  border: 2px solid var(--theme-primary, #2563eb) !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2), 0 5px 12px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .course-card,
[data-theme="dark"] .class-card,
[data-theme="dark"] .duty-card {
  background: #242220;
  border-color: #38342f;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .course-card:hover {
  border-color: #60a5fa;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.4);
}

.course-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.course-badge-code {
  font-family: 'Consolas', monospace;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(37, 99, 235, 0.1);
  color: var(--theme-primary, #2563eb);
  border: 1px solid rgba(37, 99, 235, 0.25);
}

.course-badge-type {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

.course-badge-type.zorunlu {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}

[data-theme="dark"] .course-badge-type.zorunlu {
  background: rgba(29, 78, 216, 0.2);
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.3);
}

.course-badge-type.secmeli {
  background: #fdf4ff;
  color: #a21caf;
  border: 1px solid #f5d0fe;
}

[data-theme="dark"] .course-badge-type.secmeli {
  background: rgba(162, 28, 175, 0.2);
  color: #f0abfc;
  border-color: rgba(240, 171, 252, 0.3);
}

.course-card-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.25;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .course-card-title {
  color: #f1f5f9;
}

.course-card-branch {
  font-size: 0.72rem;
  color: #64748b;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}

[data-theme="dark"] .course-card-branch {
  color: #94a3b8;
}

.course-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px dashed rgba(0, 0, 0, 0.08);
  padding-top: 6px;
  font-size: 0.72rem;
  color: #475569;
}

[data-theme="dark"] .course-card-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

.course-metric-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

/* ==========================================================================
   TEMEL TANIMLAR (DEVEXPRESS ACCORDION TAB & PAGE THEME VIEW)
   ========================================================================== */
.dx-tanimlar-layout {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  gap: 0.65rem;
  overflow: hidden;
  background: transparent;
  padding: 0 0.65rem 0.65rem 0.65rem !important; /* Başlık ribbon kartı (margin: 0.65rem) ile birebir eşit genişlik */
  box-sizing: border-box !important;
}

/* Sol Dikey Sekme Paneli: Başlığın soluyla dikeyde hizalı, cardların üstüyle üstten hizalı */
.dx-tanimlar-sidebar {
  width: 200px;
  min-width: 200px;
  max-width: 200px;
  height: auto;
  background: transparent !important;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  user-select: none;
  gap: 0;
  padding: 0;
  margin-top: 0;
}

/* Tab Butonları: Makul ölçülerde (38px yükseklik, 200px genişlik), eşit boyutlu ve alt alta 8px margin */
.dx-tanimlar-tab-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 0.85rem;
  height: 38px;
  min-height: 38px;
  max-height: 38px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  width: 100%;
  text-align: left;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  margin-bottom: 8px; /* alt alta aynı margin ile boşluklu */
  box-sizing: border-box;
}

.dx-tanimlar-tab-btn:last-child {
  margin-bottom: 0;
}

[data-theme="dark"] .dx-tanimlar-tab-btn {
  background: #242220;
  border-color: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.dx-tanimlar-tab-btn i {
  font-size: 0.95rem;
  width: 18px;
  text-align: center;
  color: var(--theme-primary, #0284c7);
  transition: color 0.15s ease;
}

.dx-tanimlar-tab-btn:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #0f172a;
}

[data-theme="dark"] .dx-tanimlar-tab-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #f8fafc;
}

/* Sadece seçilen butonun arka planı primary renge boyanır */
.dx-tanimlar-tab-btn.active {
  background: var(--theme-primary, #0284c7) !important;
  color: #ffffff !important;
  border-color: var(--theme-primary, #0284c7) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.dx-tanimlar-tab-btn.active i {
  color: #ffffff !important;
}

/* Sağ İçerik Alanı: Kart görünümünde, tema uyumlu */
.dx-tanimlar-content {
  flex: 1;
  min-width: 0;
  width: 100% !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: transparent;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .dx-tanimlar-content {
  background: transparent;
  border: none !important;
  box-shadow: none !important;
}

.dx-tanimlar-body {
  flex: 1;
  min-height: 0;
  width: 100% !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Kurum Bilgileri Form Stilleri: Cardlar aşağı kadar uzanmasın, en yüksek content kadar olsun */
.dx-school-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0.85rem;
  overflow-y: auto;
  overflow-x: hidden !important;
  padding: 0;
  margin: 0;
  height: auto;
  max-height: 100%;
  align-content: start;
  align-self: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .dx-school-info-grid {
    grid-template-columns: 1fr;
  }
}

.dx-info-section-card {
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
  border-radius: 6px;
  padding: 0.85rem 1rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

[data-theme="dark"] .dx-info-section-card {
  background: #242220;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none !important;
}

/* Kart Başlıkları: .8rem bold 700 */
.dx-info-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: var(--theme-primary, #0284c7) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding-bottom: 6px !important;
  margin-bottom: 8px !important;
}

[data-theme="dark"] .dx-info-section-header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.dx-info-section-header i {
  font-size: 0.85rem !important;
}

.dx-info-item-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 8px !important;
}

.dx-info-item-row:last-child {
  margin-bottom: 0 !important;
}

/* Labellar: .7rem bold 600 */
.dx-info-label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin-bottom: 2px !important;
}

[data-theme="dark"] .dx-info-label {
  color: #94a3b8 !important;
}

/* Paragraflar / Değerler: .7rem regular (400) */
.dx-info-value {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  color: #1e293b !important;
  word-break: break-word;
  line-height: 1.4 !important;
}

[data-theme="dark"] .dx-info-value {
  color: #f1f5f9 !important;
}

.dx-info-value.fw-bold {
  font-weight: 600 !important;
  font-size: 0.7rem !important;
}

/* Müdür Yardımcısı Açıklaması: .7rem bold 600 */
.dx-vp-unvan,
.dx-vp-desc {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

[data-theme="dark"] .dx-vp-unvan,
[data-theme="dark"] .dx-vp-desc {
  color: #94a3b8 !important;
}

/* Ders Programı Parametreleri Mini Kartları: Tam Tekdüzelik */
.dx-stat-mini-box {
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
  border-radius: 4px;
  padding: 0.4rem 0.6rem !important;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dx-stat-mini-box .text-muted,
.dx-stat-mini-box .small,
.dx-stat-mini-box .dx-stat-label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  line-height: 1.2 !important;
}

[data-theme="dark"] .dx-stat-mini-box .text-muted,
[data-theme="dark"] .dx-stat-mini-box .small,
[data-theme="dark"] .dx-stat-mini-box .dx-stat-label {
  color: #94a3b8 !important;
}

.dx-stat-mini-box .fw-bold,
.dx-stat-mini-box .dx-stat-val {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  color: #1e293b !important;
  line-height: 1.2 !important;
}

[data-theme="dark"] .dx-stat-mini-box .fw-bold,
[data-theme="dark"] .dx-stat-mini-box .dx-stat-val {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-stat-mini-box {
  background: #242220;
  border-color: rgba(255, 255, 255, 0.08);
}

/* Kurum Kimliği Kartı & Logo Yerleşimi */
.dx-school-identity-layout {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.dx-school-identity-content {
  flex: 1;
  min-width: 0;
}

.dx-school-logo-box {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}

.dx-school-logo-frame {
  width: 96px;
  height: 96px;
  border-radius: 8px;
  border: 1.5px dashed rgba(37, 99, 235, 0.3);
  background: rgba(37, 99, 235, 0.03);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
}

.dx-school-logo-frame:hover {
  border-color: var(--theme-primary, #2563eb);
  border-style: solid;
  background: rgba(37, 99, 235, 0.06);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15);
}

.dx-school-logo-frame:hover .dx-school-logo-overlay {
  opacity: 1;
}

.dx-school-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.dx-school-logo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #64748b;
  font-size: 0.65rem;
  font-weight: 600;
  text-align: center;
}

.dx-school-logo-placeholder i {
  font-size: 1.5rem;
  color: #94a3b8;
}

.dx-school-logo-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 23, 42, 0.6);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 0.65rem;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.dx-school-logo-overlay i {
  font-size: 1rem;
}

[data-theme="dark"] .dx-school-logo-frame {
  border-color: rgba(96, 165, 250, 0.3);
  background: rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .dx-school-logo-placeholder {
  color: #94a3b8;
}

[data-theme="dark"] .dx-school-logo-placeholder i {
  color: #64748b;
}

/* ==========================================================================
   TEMEL TANIMLAR - KART GÖRÜNÜMLERİ (BRANŞ, DERSLİK, KURUL)
   ========================================================================== */
.branch-cards-grid,
.classroom-cards-grid,
.committee-cards-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px;
  align-items: flex-start;
  justify-content: flex-start;
  overflow-y: auto;
  max-height: 100%;
}

/* Kart Başlığı Standartı: 2rem Yükseklik, 0.8rem Font, Bold 600, Line-Height 0.8rem, 2 Satır Clamp */
.dx-definition-card-header {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0.4rem !important;
  overflow: hidden !important;
  width: 100% !important;
}

.dx-definition-card-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 0.8rem !important;
  color: #0f172a !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

[data-theme="dark"] .dx-definition-card-title {
  color: #f8fafc !important;
}

.branch-card,
.classroom-card {
  position: relative;
  width: 260px;
  min-height: 135px;
  flex: 0 0 260px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  user-select: none;
}

.committee-card {
  position: relative;
  width: 320px;
  min-height: 175px;
  flex: 0 0 320px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  user-select: none;
}

.branch-card:hover,
.classroom-card:hover,
.committee-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.1);
  border-color: #93c5fd;
}

.branch-card.selected,
.classroom-card.selected,
.committee-card.selected {
  border: 2px solid var(--theme-primary, #2563eb) !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2), 0 6px 14px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .branch-card,
[data-theme="dark"] .classroom-card,
[data-theme="dark"] .committee-card {
  background: #242220;
  border-color: #38342f;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  color: #e2e8f0;
}

[data-theme="dark"] .branch-card:hover,
[data-theme="dark"] .classroom-card:hover,
[data-theme="dark"] .committee-card:hover {
  border-color: #60a5fa;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .branch-card.selected,
[data-theme="dark"] .classroom-card.selected,
[data-theme="dark"] .committee-card.selected {
  border-color: var(--theme-primary, #60a5fa) !important;
  background: #1b2636 !important;
  box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3), 0 6px 14px rgba(0, 0, 0, 0.4) !important;
}

.committee-members-chip-container {
  max-height: 60px;
  overflow-y: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 2px 0;
}

.committee-member-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.70rem;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  padding: 1px 5px;
  color: #334155;
  white-space: nowrap;
}

[data-theme="dark"] .committee-member-chip {
  background: #2d2a27;
  border-color: #3f3b37;
  color: #cbd5e1;
}

/* ==========================================================================
   KURUL / KOMİSYON MODAL (%80 GENİŞLİK, %80 YÜKSEKLİK & PERSONEL SEÇİM GRİDİ)
   ========================================================================== */
.dx-committee-modal-dialog {
  width: 80vw !important;
  max-width: 80vw !important;
  min-width: 80vw !important;
  height: 80vh !important;
  max-height: 80vh !important;
  min-height: 80vh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

@media (max-width: 900px) {
  .dx-committee-modal-dialog {
    width: 94vw !important;
    max-width: 94vw !important;
    min-width: 94vw !important;
    height: 88vh !important;
    max-height: 88vh !important;
    min-height: 88vh !important;
  }
}

.dx-modal-grid-box {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #ffffff;
}

[data-theme="dark"] .dx-modal-grid-box {
  border-color: #38342f;
  background: #242220;
}

.dx-modal-grid-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  gap: 10px;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-modal-grid-header {
  background: #1e1c1a;
  border-color: #38342f;
}

.dx-modal-grid-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/* ==========================================================================
   MERKEZİ POPUP ONAY MODALI (APP CONFIRM POPUP MODAL)
   ========================================================================== */
.dx-confirm-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(15, 23, 42, 0.75) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 1rem !important;
  box-sizing: border-box !important;
  animation: dxConfirmFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes dxConfirmFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes dxConfirmPopIn {
  from { opacity: 0; transform: scale(0.94) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.dx-confirm-dialog {
  width: min(520px, 94vw) !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.12) !important;
  display: flex !important;
  flex-direction: column !important;
  animation: dxConfirmPopIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  margin: auto !important;
}

[data-theme="dark"] .dx-confirm-dialog {
  background: #1e1c1a;
  box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.75), 0 0 0 1px #38342f;
  color: #f1f5f9;
}

.dx-confirm-header {
  padding: 1.25rem 1.4rem 0.6rem 1.4rem;
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.dx-confirm-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
  background: #fee2e2;
  color: #dc2626;
  border: 1px solid #fecaca;
}

[data-theme="dark"] .dx-confirm-icon-box {
  background: rgba(220, 38, 38, 0.18);
  color: #f87171;
  border-color: rgba(220, 38, 38, 0.35);
}

.dx-confirm-icon-box.info {
  background: #e0f2fe;
  color: #0284c7;
  border-color: #bae6fd;
}

[data-theme="dark"] .dx-confirm-icon-box.info {
  background: rgba(2, 132, 199, 0.18);
  color: #38bdf8;
  border-color: rgba(2, 132, 199, 0.35);
}

.dx-confirm-title-area {
  flex: 1;
}

.dx-confirm-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 2px 0;
  line-height: 1.3;
}

[data-theme="dark"] .dx-confirm-title {
  color: #f8fafc;
}

.dx-confirm-subtitle {
  font-size: 0.82rem;
  color: #64748b;
  margin: 0;
}

[data-theme="dark"] .dx-confirm-subtitle {
  color: #94a3b8;
}

.dx-confirm-body {
  padding: 0.6rem 1.4rem 1.25rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.dx-confirm-msg {
  font-size: 0.92rem;
  line-height: 1.45;
  color: #334155;
  margin: 0;
}

[data-theme="dark"] .dx-confirm-msg {
  color: #cbd5e1;
}

/* Silinecek Veri Bilgisi (Doğrudan Gövdeye Basılan Başlık & Açıklama) */
.dx-confirm-item-info {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.25rem 0;
}

.dx-confirm-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #cbd5e1;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

[data-theme="dark"] .dx-confirm-badge {
  background: #332f2a;
  color: #cbd5e1;
  border-color: #4a453e;
}

.dx-confirm-item-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  word-break: break-word;
}

[data-theme="dark"] .dx-confirm-item-title {
  color: #ffffff;
}

.dx-confirm-item-sub {
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.4;
  word-break: break-word;
}

[data-theme="dark"] .dx-confirm-item-sub {
  color: #a1a1aa;
}

/* Olası Veri Kayıpları Yer İmleri Listesi (Bookmark List) */
.dx-confirm-loss-section {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding-top: 0.4rem;
  border-top: 1px dashed rgba(239, 68, 68, 0.25);
}

.dx-confirm-loss-heading {
  font-size: 0.78rem;
  font-weight: 700;
  color: #b91c1c;
  display: flex;
  align-items: center;
}

[data-theme="dark"] .dx-confirm-loss-heading {
  color: #fca5a5;
}

.dx-confirm-loss-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.dx-confirm-loss-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #475569;
}

[data-theme="dark"] .dx-confirm-loss-item {
  color: #cbd5e1;
}

.dx-confirm-loss-item i {
  font-size: 0.75rem;
  margin-top: 3px;
  color: #ef4444 !important;
}

.dx-confirm-footer {
  padding: 0.85rem 1.4rem;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
}

[data-theme="dark"] .dx-confirm-footer {
  background: #1a1816;
  border-top-color: #38342f;
}

.dx-confirm-btn-cancel {
  padding: 0.55rem 1.15rem;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #334155;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dx-confirm-btn-cancel:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
}

[data-theme="dark"] .dx-confirm-btn-cancel {
  background: #2b2824;
  border-color: #423d36;
  color: #cbd5e1;
}

[data-theme="dark"] .dx-confirm-btn-cancel:hover {
  background: #38342f;
  border-color: #524c43;
  color: #ffffff;
}

.dx-confirm-btn-danger {
  padding: 0.55rem 1.25rem;
  border-radius: 8px;
  border: 1px solid #dc2626;
  background: #dc2626;
  color: #ffffff;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 2px 6px rgba(220, 38, 38, 0.35);
  transition: all 0.15s ease;
}

.dx-confirm-btn-danger:hover {
  background: #b91c1c;
  border-color: #b91c1c;
  box-shadow: 0 4px 10px rgba(220, 38, 38, 0.45);
}

.dx-confirm-btn-danger:active {
  transform: translateY(1px);
}

/* ==========================================================================
   DX EXCEL-TARZI SÜTUN BOYUTLANDIRICI (EXCEL-STYLE COLUMN RESIZER)
   ========================================================================== */

body.table-resizing {
  cursor: col-resize !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.dx-table th,
.table-desktop th {
  position: relative;
}

.dx-col-resizer {
  position: absolute;
  top: 0;
  right: -5px;
  width: 10px;
  height: 100%;
  cursor: col-resize !important;
  z-index: 25;
  user-select: none;
  touch-action: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dx-col-resizer::after {
  content: '';
  display: block;
  width: 2px;
  height: 55%;
  background: transparent;
  border-radius: 1px;
  transition: background-color 0.15s ease, height 0.15s ease;
}

.dx-col-resizer:hover::after,
.dx-col-resizer.is-resizing::after {
  background: #0284c7;
  height: 100%;
}

[data-theme="dark"] .dx-col-resizer:hover::after,
[data-theme="dark"] .dx-col-resizer.is-resizing::after {
  background: #38bdf8;
}

/* ==========================================================================
   CİNSİYET SÜTUNU & İKONLARI (GENDER COLUMN & ICONS)
   ========================================================================== */

th.col-cinsiyet,
td.col-cinsiyet {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  text-align: center !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

td.col-cinsiyet {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

td.col-cinsiyet:hover {
  background-color: rgba(99, 102, 241, 0.08) !important;
}

td.col-cinsiyet:hover .dx-gender-icon {
  transform: scale(1.22);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

.dx-gender-icon {
  font-size: 1.15rem;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  transition: transform 0.15s ease, filter 0.15s ease;
}

.dx-gender-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.dx-gender-badge:hover {
  transform: scale(1.08);
  opacity: 0.9;
}

.dx-gender-icon.female {
  color: #e11d48; /* Soft rose / pink */
}

.dx-gender-icon.male {
  color: #2563eb; /* Canlı mavi */
}

[data-theme="dark"] .dx-gender-icon.female {
  color: #fb7185;
}

[data-theme="dark"] .dx-gender-icon.male {
  color: #60a5fa;
}

/* ==========================================================================
   BİRLEŞİK MERKEZİ TOOLTİP SİSTEMİ (Sivri Uçlu, Tema Renginde, Sınır-Korumalı)
   4 Yön Desteği: Üst (arrow-bottom), Alt (arrow-top), Sol (arrow-right), Sağ (arrow-left)
   Mouse / Hedef Bitişiğinde Açılma (Snug Adjacent), Kompakt Tek Satır & Detaylı Mod
   ========================================================================== */
.dx-grid-cell-tooltip {
  position: fixed;
  z-index: 999999;
  width: auto;
  min-width: 36px;
  max-width: 320px;
  min-height: auto;
  background: var(--theme-primary, #1e40af);
  color: #ffffff;
  border-radius: 6px;
  padding: 6px 10px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28), 0 2px 6px rgba(0, 0, 0, 0.16);
  pointer-events: none;
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.12s cubic-bezier(0.16, 1, 0.3, 1), transform 0.12s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  text-align: left;
}

.dx-grid-cell-tooltip.visible {
  opacity: 1;
  transform: scale(1);
}

.dx-grid-cell-tooltip .dx-tooltip-title {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 3px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  padding-bottom: 2px;
}

.dx-grid-cell-tooltip .dx-tooltip-content {
  font-size: 0.76rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  line-height: 1.35;
  word-break: break-word;
  white-space: pre-line;
}

/* Basit tek satır/blok modunda başlık yoksa ekstra kompaktlık */
.dx-grid-cell-tooltip.simple-tooltip {
  padding: 4px 8px;
}

.dx-grid-cell-tooltip.simple-tooltip .dx-tooltip-title {
  display: none !important;
}

.dx-grid-cell-tooltip.simple-tooltip .dx-tooltip-content {
  font-size: 0.76rem !important;
  font-weight: 500 !important;
}

/* Tooltip sivri ok uçları (9x9px, 45 derece döndürülmüş) */
.dx-grid-cell-tooltip .dx-tooltip-arrow {
  position: absolute;
  width: 9px;
  height: 9px;
  background: var(--theme-primary, #1e40af);
  transform: rotate(45deg);
  pointer-events: none;
}

/* Üstte açılan tooltip için sivri ok altta olur (arrow-bottom) */
.dx-grid-cell-tooltip.arrow-bottom {
  transform-origin: var(--tt-arrow-left, 50%) bottom;
}
.dx-grid-cell-tooltip.arrow-bottom .dx-tooltip-arrow {
  bottom: -4px;
  left: var(--tt-arrow-left, 50%);
  margin-left: -4px;
}

/* Altta açılan tooltip için sivri ok üstte olur (arrow-top) */
.dx-grid-cell-tooltip.arrow-top {
  transform-origin: var(--tt-arrow-left, 50%) top;
}
.dx-grid-cell-tooltip.arrow-top .dx-tooltip-arrow {
  top: -4px;
  left: var(--tt-arrow-left, 50%);
  margin-left: -4px;
}

/* Solda açılan tooltip için sivri ok sağda olur (arrow-right) */
.dx-grid-cell-tooltip.arrow-right {
  transform-origin: right var(--tt-arrow-top, 50%);
}
.dx-grid-cell-tooltip.arrow-right .dx-tooltip-arrow {
  right: -4px;
  top: var(--tt-arrow-top, 50%);
  margin-top: -4px;
}

/* Sağda açılan tooltip için sivri ok solda olur (arrow-left) */
.dx-grid-cell-tooltip.arrow-left {
  transform-origin: left var(--tt-arrow-top, 50%);
}
.dx-grid-cell-tooltip.arrow-left .dx-tooltip-arrow {
  left: -4px;
  top: var(--tt-arrow-top, 50%);
  margin-top: -4px;
}

/* ==========================================================================
   NÖBETLER SAYFASI RIBBON TABPAGE VE MÜDÜR YARDIMCISI KARTLARI
   ========================================================================== */

/* Ribbon TabPage Header Kartı: dx-ribbon-header */
.app-content-wrapper.dx-page-mode .app-content-header.dx-ribbon-header {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  border-radius: 8px !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 950 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;
}

/* 1. Üst Sekme Şeridi (Ribbon Tab Strip - Primary Arka Plan) */
.dx-ribbon-tab-strip {
  display: flex;
  align-items: stretch !important;
  justify-content: space-between;
  padding: 6px 12px 0 12px;
  background: var(--theme-primary) !important;
  border-bottom: none !important;
  position: relative;
  min-height: 38px;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  box-sizing: border-box;
}

.dx-ribbon-tab-left {
  display: flex !important;
  align-items: stretch !important;
}

[data-theme="dark"] .dx-ribbon-tab-strip {
  background: var(--theme-primary) !important;
  border-bottom: none !important;
}

/* Ribbon Başlık / Brand */
.dx-ribbon-brand {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  font-size: 0.92rem;
  font-weight: 800 !important;
  color: #ffffff !important;
  padding-bottom: 2px;
  margin-right: 1.25rem;
  white-space: nowrap;
  user-select: none;
}

.dx-ribbon-brand i,
.dx-ribbon-brand svg {
  color: #ffffff !important;
}

.dx-ribbon-brand-title {
  color: #ffffff !important;
  letter-spacing: -0.2px;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}

/* Tab Grubu: Tüm tablar en yüksek taba göre eşit yükseklikte uzanır */
.dx-ribbon-tabs-group {
  display: inline-flex !important;
  align-items: stretch !important;
  gap: 4px;
}

/* Ribbon Tab Butonu: Primary arka plan üzerinde net beyaz/aydınlık */
.dx-ribbon-tab-btn {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  gap: 0.45rem;
  padding: 6px 16px 7px 16px;
  font-size: 0.8125rem;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  background: transparent;
  border: 1px solid transparent;
  border-bottom: none !important;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
  user-select: none;
  margin-bottom: 0 !important;
  line-height: 1.25;
  outline: none;
  text-decoration: none;
  text-align: center;
  text-transform: uppercase !important;
  letter-spacing: 0.3px;
}

.dx-ribbon-tab-btn span,
.dx-ribbon-tab-btn * {
  text-transform: uppercase !important;
  color: inherit;
}

.dx-ribbon-tab-btn:hover:not(.active) {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}

[data-theme="dark"] .dx-ribbon-tab-btn {
  color: rgba(255, 255, 255, 0.88) !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .dx-ribbon-tab-btn:hover:not(.active) {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Aktif Sekme: Arka planı başlık menüsü (toolbar / #ffffff / #242220) ile AYNI RENK, çizgi olmadan kusursuz birleşir */
.dx-ribbon-tab-btn.active {
  color: var(--theme-primary) !important;
  background: #ffffff !important;
  border: 1px solid transparent !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: none !important;
  z-index: 5;
  box-shadow: none !important;
}

.dx-ribbon-tab-btn.active span,
.dx-ribbon-tab-btn.active * {
  color: var(--theme-primary) !important;
}

[data-theme="dark"] .dx-ribbon-tab-btn.active {
  color: var(--theme-primary) !important;
  background: #242220 !important;
  border: 1px solid transparent !important;
  border-top: 1px solid #38342f !important;
  border-left: 1px solid #38342f !important;
  border-right: 1px solid #38342f !important;
  border-bottom: none !important;
}

[data-theme="dark"] .dx-ribbon-tab-btn.active span,
[data-theme="dark"] .dx-ribbon-tab-btn.active * {
  color: var(--theme-primary) !important;
}

/* Ribbon Tab Strip Sağ Bilgi Rozetleri */
.dx-ribbon-tab-strip .dx-ribbon-tab-right {
  color: rgba(255, 255, 255, 0.9) !important;
}

.dx-ribbon-tab-strip .dx-ribbon-tab-right .badge {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  font-weight: 600 !important;
}

.dx-ribbon-tab-strip .dx-ribbon-tab-right .badge i,
.dx-ribbon-tab-strip .dx-ribbon-tab-right .badge svg,
.dx-ribbon-tab-strip .dx-ribbon-tab-right .badge .text-primary,
.dx-ribbon-tab-strip .dx-ribbon-tab-right .badge .text-secondary {
  color: #ffffff !important;
}

/* Sosyal Kulüpler GridView Sütun ve Tablo Kuralları */
#dxClubsTable {
  table-layout: fixed;
  width: 100%;
}

#dxClubsTable th.col-actions,
#dxClubsTable td.col-actions {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  flex-shrink: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

#dxClubsTable th.col-advisors,
#dxClubsTable td.col-advisors {
  word-break: break-word;
  white-space: normal;
}

/* 2. Ribbon Toolbar (Eylem Butonları Alanı - Header Menü Görünümü Aynen Korunur) */
.dx-header-toolbar.dx-ribbon-toolbar {
  height: 3.25rem !important;
  min-height: 3.25rem !important;
  padding: 0 0.5rem 0 1rem !important;
  background: #ffffff !important;
  border-top: none !important;
  border-bottom-left-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  z-index: 951 !important;
  overflow: visible !important;
}

.dx-header-toolbar,
.dx-header-toolbar .dx-tb-actions,
.dx-ribbon-toolbar,
.dx-ribbon-toolbar .dx-tb-actions {
  overflow: visible !important;
}

.dx-header-toolbar .dropdown,
.dx-ribbon-toolbar .dropdown {
  position: relative !important;
  z-index: 952 !important;
}

.dx-header-toolbar .dropdown-menu,
.dx-ribbon-toolbar .dropdown-menu,
.dx-header-toolbar .dropdown-menu.show,
.dx-ribbon-toolbar .dropdown-menu.show {
  z-index: 9999 !important;
}

[data-theme="dark"] .dx-header-toolbar.dx-ribbon-toolbar {
  background: #242220 !important;
  border-top: none !important;
}

/* Geriye dönük uyumluluk */
.dx-duty-tab-group {
  display: inline-flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  padding: 2px;
  gap: 2px;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.dx-duty-tab-btn {
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  border: none;
  background: transparent;
  color: #64748b;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.dx-duty-tab-btn.active {
  background: #ffffff;
  color: var(--theme-primary, #2563eb);
}

/* Kompakt Müdür Yardımcısı Kartları - Container Genişliğine Tam Uyumlu */
.dx-vice-principal-card {
  width: 100% !important;
  max-width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  box-sizing: border-box !important;
  border-radius: 4px !important;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 6px !important;
  margin-bottom: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: #1e293b;
  cursor: grab;
  user-select: none;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
  position: relative;
  gap: 4px !important;
}

[data-theme="dark"] .dx-vice-principal-card {
  background: #2b2824;
  border-color: #4a453f;
  color: #f1f5f9;
}

.dx-vice-principal-card:hover {
  border-color: var(--theme-primary, #2563eb);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.dx-vice-principal-card.dragging {
  opacity: 0.5;
  transform: scale(0.98);
}

.dx-vice-principal-card .vp-left-group {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.dx-vice-principal-card .vp-order-btn-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  flex-shrink: 0;
}

.dx-vice-principal-card .vp-order-btn {
  width: 14px;
  height: 10px;
  padding: 0;
  border: none;
  background: transparent;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.55rem !important;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1;
  transition: background 0.1s, color 0.1s;
}

.dx-vice-principal-card .vp-order-btn:hover:not(:disabled) {
  background: rgba(37, 99, 235, 0.15);
  color: #2563eb;
}

[data-theme="dark"] .dx-vice-principal-card .vp-order-btn:hover:not(:disabled) {
  background: rgba(96, 165, 250, 0.2);
  color: #60a5fa;
}

.dx-vice-principal-card .vp-order-btn:disabled {
  opacity: 0.2;
  cursor: default;
}

.dx-vice-principal-card .vp-handle {
  color: #94a3b8;
  cursor: grab;
  font-size: 0.7rem;
  margin: 0 2px;
  flex-shrink: 0;
}

.dx-vice-principal-card .vp-name {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 4px;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
}

.dx-vice-principal-card .vp-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
  pointer-events: auto !important;
}

.dx-vice-principal-card .vp-toggle-btn,
.dx-vice-principal-card .vp-delete-btn {
  width: 18px;
  height: 18px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  cursor: pointer !important;
  border-radius: 3px;
  font-size: 0.7rem;
  transition: background 0.15s ease, transform 0.1s ease;
  pointer-events: auto !important;
  position: relative;
  z-index: 12;
}

.dx-vice-principal-card .vp-toggle-btn:active,
.dx-vice-principal-card .vp-delete-btn:active {
  transform: scale(0.9);
}

.dx-vice-principal-card .vp-toggle-btn {
  color: #10b981;
}

.dx-vice-principal-card .vp-toggle-btn.inactive {
  color: #94a3b8;
}

.dx-vice-principal-card .vp-delete-btn {
  color: #ef4444;
}

.dx-vice-principal-card .vp-delete-btn:hover {
  background: rgba(239, 68, 68, 0.15) !important;
}

/* Nöbetçi Müdür Yardımcısı Takvim Seçici ve Tablosu */
.dx-vp-schedule-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  --vp-row-height: 34px;
}

.dx-vp-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.85rem;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  flex-wrap: wrap;
}

[data-theme="dark"] .dx-vp-toolbar {
  background: #242220;
  border-bottom-color: #38342f;
}

.dx-vp-date-input {
  padding: 0.35rem 0.6rem;
  font-size: 0.8rem;
  border-radius: 6px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: inherit;
}

[data-theme="dark"] .dx-vp-date-input {
  background: #1c1a18;
  border-color: #4a453f;
}

/* Düzenlenebilir Başlık Kutusu (Canlı Başlık Alanı) */
.dx-vp-title-box {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.6rem 1rem;
  margin: 0.75rem 1rem 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[data-theme="dark"] .dx-vp-title-box {
  background: #2b2824;
  border-color: #3d3934;
}

.dx-vp-title-editable {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
  cursor: text;
  outline: none;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px dashed transparent;
  transition: all 0.15s ease;
  flex: 1;
}

.dx-vp-title-editable:hover {
  border-color: #94a3b8;
  background: rgba(0, 0, 0, 0.02);
}

.dx-vp-title-editable:focus {
  border: 1px solid var(--theme-primary, #2563eb);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

[data-theme="dark"] .dx-vp-title-editable {
  color: #f1f5f9;
}
[data-theme="dark"] .dx-vp-title-editable:focus {
  background: #1e1c1a;
}

/* Satır Yüksekliği Dinamik Kuralı */
.dx-vp-schedule-table tr td,
.dx-vp-schedule-table tr th {
  height: var(--vp-row-height, 34px) !important;
  vertical-align: middle !important;
  padding: 0 0.5rem !important;
}

/* Nöbetçi Müdür Yardımcısı GridView Sabit Başlık (Sticky Leakage Önleme) */
#dxVpScheduleContainer {
  padding: 0 !important;
  overflow-y: auto;
  position: relative;
  background: var(--bg-surface, #ffffff);
}

.dx-vp-schedule-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Nöbetçi Müdür Yardımcısı Başlık Tipografisi (.8rem bold 700) */
#dxVpScheduleMainTitle {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
}

/* Rapor Al Başlık Tipografisi (.8rem bold 600) */
#dxVpReportMainTitle {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

/* DevExpress Tarzı Nöbet Saatleri İnline Editör Hücresi */
.dx-inline-time-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Consolas', 'Courier New', monospace;
  font-size: 0.78rem;
  font-weight: 600;
  color: #1e293b;
  cursor: pointer;
  border: 1px dashed transparent;
  transition: all 0.15s ease;
  min-width: 100px;
  user-select: none;
}

.dx-inline-time-cell:hover {
  background: rgba(59, 130, 246, 0.08);
  border-color: #94a3b8;
  color: #0284c7;
}

[data-theme="dark"] .dx-inline-time-cell {
  color: #e2e8f0;
}

[data-theme="dark"] .dx-inline-time-cell:hover {
  background: rgba(59, 130, 246, 0.15);
  border-color: #64748b;
  color: #38bdf8;
}

.dx-devexpress-time-editor {
  width: 110px !important;
  height: 25px !important;
  font-family: 'Consolas', 'Courier New', monospace !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid var(--theme-primary, #3b82f6) !important;
  border-radius: 4px !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
  padding: 1px 4px !important;
  outline: none !important;
}

[data-theme="dark"] .dx-devexpress-time-editor {
  background: #1c1a17 !important;
  color: #f8fafc !important;
  border-color: var(--theme-primary, #38bdf8) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25) !important;
}

.dx-inline-saved {
  animation: dxInlineSavedFlash 0.8s ease;
}

@keyframes dxInlineSavedFlash {
  0% { background-color: rgba(34, 197, 94, 0.35); }
  100% { background-color: transparent; }
}

/* Nöbetçi Müdür Yardımcısı & Rapor Al Layout ve Panel Stilleri */
#dxVicePrincipalLayoutRoot,
#dxVpReportLayoutRoot {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  grid-template-areas: "left center" !important;
  gap: 0 !important;
  column-gap: 0 !important;
  padding: 0.65rem 0 0.65rem 12px !important;
  height: 100% !important;
  flex: 1 !important;
  min-height: 0 !important;
  background: var(--theme-bg-body, #f1f5f9) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] #dxVicePrincipalLayoutRoot,
[data-theme="dark"] #dxVpReportLayoutRoot {
  background: var(--theme-bg-body, #1c1a18) !important;
  border-top-color: #333842;
}

#dxVicePrincipalLayoutRoot #dxVpLeftPane,
#dxVpLeftPane,
#dxVpReportLayoutRoot #dxVpReportLeftPane,
#dxVpReportLeftPane {
  grid-area: left !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  padding: 10px 12px !important; /* Side panel genişliği kartlar + padding ile sınırlanır */
  box-sizing: border-box !important;
  margin: 0 !important;
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] #dxVpLeftPane,
[data-theme="dark"] #dxVpReportLeftPane {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#dxVpScheduleRoot,
#dxVpReportScheduleRoot {
  grid-area: center !important;
  margin-left: 12px !important; /* Kartlar ile gridview arasındaki net 12px margin */
  margin-right: 0.65rem !important; /* Başlık menüsü (0.65rem) ile birebir aynı sağ margin */
  min-width: 0 !important;
  width: auto !important;
  flex: 1 !important;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

[data-theme="dark"] #dxVpScheduleRoot,
[data-theme="dark"] #dxVpReportScheduleRoot {
  background: #242220;
  border-color: #38342f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Gridview Başlığı Yüksekliği 3rem & Dikeyde Ortalı Başlık Metni */
#dxVpScheduleRoot .dx-vp-header-bar,
#dxVpReportScheduleRoot .dx-vp-header-bar {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

#dxVpScheduleRoot .dx-vp-header-bar .dx-vp-title-text,
#dxVpReportScheduleRoot .dx-vp-header-bar .dx-vp-title-text {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  line-height: 3rem !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

#dxVpScheduleContainer table.dx-table thead tr,
#dxVpScheduleContainer table.dx-table thead th,
#dxVpReportTableContainer table.dx-table thead tr,
#dxVpReportTableContainer table.dx-table thead th,
.dx-vp-schedule-table thead tr,
.dx-vp-schedule-table thead th {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  line-height: 3rem !important;
  vertical-align: middle !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

#dxVpScheduleContainer table.dx-table thead th .th-inner,
#dxVpReportTableContainer table.dx-table thead th .th-inner,
.dx-vp-schedule-table thead th .th-inner {
  height: 100% !important;
  min-height: 3rem !important;
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* Satır Yüksekliği Dinamik Kuralı: 26px, 34px, 44px */
#dxVpScheduleRoot .dx-table tbody tr,
#dxVpReportScheduleRoot .dx-table tbody tr,
.dx-vp-schedule-table tbody tr {
  height: var(--vp-row-height, 34px) !important;
  min-height: var(--vp-row-height, 34px) !important;
  max-height: var(--vp-row-height, 34px) !important;
}

#dxVpScheduleRoot .dx-table tbody tr td,
#dxVpReportScheduleRoot .dx-table tbody tr td,
.dx-vp-schedule-table tbody tr td {
  height: var(--vp-row-height, 34px) !important;
  min-height: var(--vp-row-height, 34px) !important;
  max-height: var(--vp-row-height, 34px) !important;
  line-height: var(--vp-row-height, 34px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

/* Sol paneldeki Kart Yapıları (Tarih Aralığı, Nöbet Saatleri, Satır Yüksekliği, Müdür Yardımcıları, Rapor Kartları) */
.dx-vp-side-card {
  width: 224px !important;
  min-width: 224px !important;
  max-width: 224px !important;
  background: transparent !important;
  border: 1.5px solid #94a3b8 !important; /* Belirgin kart çizgileri */
  border-radius: 6px !important;
  overflow: hidden !important;
  margin-bottom: 12px !important; /* Cardlar arası 12px margin */
  transition: border-color 0.2s ease;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.dx-vp-side-card:last-child {
  margin-bottom: 0 !important;
}

[data-theme="dark"] .dx-vp-side-card {
  border-color: #52525b !important; /* Karanlık temada belirgin kart çizgileri */
}

.dx-vp-side-card-header {
  background: transparent !important;
  color: #1e293b !important;
  border-bottom: 1.5px solid #94a3b8 !important;
  padding: 6px 10px;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  letter-spacing: 0.2px;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-vp-side-card-header {
  background: transparent !important;
  color: #f1f5f9 !important;
  border-bottom-color: #52525b !important;
}

.dx-vp-side-card-body {
  background: transparent !important;
  padding: 8px 10px;
  box-sizing: border-box !important;
}

/* Kart Yükseklikleri & Alan Dağılımı:
   - Tarih Aralığı: 150px
   - Nöbet Saatleri: 150px
   - Satır Yüksekliği: 100px
   - Müdür Yardımcıları / Rapor İcmali: Ekranı tamamen doldursun */
#dxVpDateRangeCard {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  flex-shrink: 0 !important;
}

#dxVpHoursCard {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  flex-shrink: 0 !important;
}

#dxVpRowHeightCard {
  height: 100px !important;
  min-height: 100px !important;
  max-height: 100px !important;
  flex-shrink: 0 !important;
}

#dxVpPrincipalsCard,
#dxVpReportStatsCard {
  flex: 1 1 auto !important;
  min-height: 120px !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

#dxVpReportQueryCard {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  flex-shrink: 0 !important;
}

#dxVpReportQueryCard .dx-vp-side-card-body {
  padding: 8px 10px 10px 10px !important;
  gap: 8px !important;
  height: auto !important;
}

#dxVpReportQueryCard .dx-vp-report-btn {
  flex: 1 1 0 !important;
  width: 50% !important;
  min-width: 0 !important;
  font-size: 0.65rem !important;
  padding: 0 4px !important;
  white-space: nowrap !important;
}

#dxVpPrincipalsCard .dx-vp-side-card-body,
#dxVpReportStatsCard .dx-vp-side-card-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 8px !important;
}

#dxVpCardsList {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}

/* Nöbetçi Müdür Yardımcısı & Rapor Al Sol Panel Tipografi:
   card başlıkları .8rem bold 600,
   input text .6rem bold 500,
   input label .6rem bold 500,
   açıklama text font .6rem bold 600,
   tümüne uygula & rapor butonları: height 2rem, font .7rem bold 600 */
#dxVpLeftPane,
#dxVpReportLeftPane {
  gap: 12px !important;
}

#dxVpLeftPane input,
#dxVpReportLeftPane input,
#dxVpLeftPane select,
#dxVpReportLeftPane select,
#dxVpLeftPane .form-control,
#dxVpReportLeftPane .form-control,
#dxVpLeftPane .form-select,
#dxVpReportLeftPane .form-select {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
}

#dxVpLeftPane label,
#dxVpReportLeftPane label,
#dxVpLeftPane .form-check-label,
#dxVpReportLeftPane .form-check-label,
#dxVpLeftPane .dx-vp-label,
#dxVpReportLeftPane .dx-vp-form-label {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
}

.dx-vp-desc-text,
.dx-vp-card-desc,
#dxVpLeftPane .dx-vp-desc-text,
#dxVpReportLeftPane .dx-vp-desc-text {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  line-height: 0.85rem !important;
}

.dx-vp-side-card-header,
.dx-vp-side-card-header span,
#dxVpLeftPane .dx-vp-side-card-header,
#dxVpReportLeftPane .dx-vp-side-card-header {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

/* Tümüne uygula butonu & Rapor butonları: height 2rem, font .7rem bold 600 */
#dxVpHoursCard .btn,
.dx-vp-apply-btn,
.dx-vp-report-btn,
#dxVpReportLeftPane .btn {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  line-height: normal !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 8px !important;
}

/* 50x16px Toggle Switch & 24px Daire (Nöbetçi Müdür Yrd Tarih Aralığı) */
.dx-switch-50x24,
.dx-switch-50x16 {
  position: relative !important;
  display: inline-block !important;
  width: 50px !important;
  height: 16px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  flex-shrink: 0 !important;
}

.dx-switch-50x24 input,
.dx-switch-50x16 input {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
}

.dx-switch-50x24 .dx-slider-round,
.dx-switch-50x16 .dx-slider-round {
  position: absolute !important;
  cursor: pointer !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: #cbd5e1 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

.dx-switch-50x24 .dx-slider-round:before,
.dx-switch-50x16 .dx-slider-round:before {
  position: absolute !important;
  content: "" !important;
  height: 24px !important;
  width: 24px !important;
  left: 0px !important;
  top: -4px !important;
  background-color: #ffffff !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
}

.dx-switch-50x24 input:checked + .dx-slider-round,
.dx-switch-50x16 input:checked + .dx-slider-round {
  background-color: var(--theme-primary, #2563eb) !important;
}

.dx-switch-50x24 input:checked + .dx-slider-round:before,
.dx-switch-50x16 input:checked + .dx-slider-round:before {
  transform: translateX(26px) !important;
}

[data-theme="dark"] .dx-switch-50x24 .dx-slider-round,
[data-theme="dark"] .dx-switch-50x16 .dx-slider-round {
  background-color: #4a453e !important;
}

[data-theme="dark"] .dx-switch-50x24 input:checked + .dx-slider-round,
[data-theme="dark"] .dx-switch-50x16 input:checked + .dx-slider-round {
  background-color: var(--theme-primary, #2563eb) !important;
}

/* 40x16px Toggle Switch & 24px Daire (Baskı & Şablon Tasarımcısı vb.) */
.dx-switch-40x16,
#dxVpPrintDesignerModal .dx-switch-40x16,
#dxDutyPrintDesignerModal .dx-switch-40x16 {
  position: relative !important;
  display: inline-block !important;
  width: 40px !important;
  height: 16px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.dx-switch-40x16 input,
#dxVpPrintDesignerModal .dx-switch-40x16 input,
#dxDutyPrintDesignerModal .dx-switch-40x16 input {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
}

.dx-switch-40x16 .dx-slider-round,
#dxVpPrintDesignerModal .dx-switch-40x16 .dx-slider-round,
#dxDutyPrintDesignerModal .dx-switch-40x16 .dx-slider-round {
  position: absolute !important;
  cursor: pointer !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: #4a453e !important;
  transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.25) !important;
}

.dx-switch-40x16 .dx-slider-round:before,
#dxVpPrintDesignerModal .dx-switch-40x16 .dx-slider-round:before,
#dxDutyPrintDesignerModal .dx-switch-40x16 .dx-slider-round:before {
  position: absolute !important;
  content: "" !important;
  height: 24px !important;
  width: 24px !important;
  left: -2px !important;
  top: -4px !important;
  background-color: #ffffff !important;
  transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35) !important;
}

.dx-switch-40x16 input:checked + .dx-slider-round,
#dxVpPrintDesignerModal .dx-switch-40x16 input:checked + .dx-slider-round,
#dxDutyPrintDesignerModal .dx-switch-40x16 input:checked + .dx-slider-round {
  background-color: var(--theme-primary, #008080) !important;
}

.dx-switch-40x16 input:checked + .dx-slider-round:before,
#dxVpPrintDesignerModal .dx-switch-40x16 input:checked + .dx-slider-round:before,
#dxDutyPrintDesignerModal .dx-switch-40x16 input:checked + .dx-slider-round:before {
  transform: translateX(20px) !important;
}

/* Müdür Yardımcısı Baskı & Şablon Tasarımcısı Karanlık Tema & Tipografi */
#dxVpPrintDesignerModal {
  background: #1c1a18 !important;
  color: #f8fafc !important;
}

#dxVpPrintDesignerModal .dx-pd-header {
  background: #242220 !important;
  border-bottom: 1px solid #38342f !important;
}

#dxVpPrintDesignerModal .dx-pd-sidebar {
  background: #1c1a18 !important;
  border-right: 1px solid #38342f !important;
  color: #f8fafc !important;
}

#dxVpPrintDesignerModal .dx-pd-section {
  background: #242220 !important;
  border: 1px solid #38342f !important;
  border-radius: 8px !important;
}

/* Side panel kart başlıkları: .8rem bold 600 */
#dxVpPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header,
#dxVpPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header span,
#dxVpPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header i {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
}

/* Side panel input text: .6rem bold 600 */
#dxVpPrintDesignerModal .dx-pd-sidebar input[type="text"],
#dxVpPrintDesignerModal .dx-pd-sidebar input[type="number"],
#dxVpPrintDesignerModal .dx-pd-sidebar textarea,
#dxVpPrintDesignerModal .dx-pd-sidebar select,
#dxVpPrintDesignerModal .dx-pd-sidebar .form-control,
#dxVpPrintDesignerModal .dx-pd-sidebar .form-select {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  background: #2E2B27 !important;
  border: 1px solid #38342f !important;
  color: #f8fafc !important;
}

#dxVpPrintDesignerModal .dx-pd-sidebar input:focus,
#dxVpPrintDesignerModal .dx-pd-sidebar textarea:focus,
#dxVpPrintDesignerModal .dx-pd-sidebar select:focus {
  background: #2E2B27 !important;
  border-color: var(--theme-primary, #008080) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 0, 128, 128), 0.25) !important;
}

/* Side panel açıklamalar: .6rem bold 500 */
#dxVpPrintDesignerModal .dx-pd-sidebar .dx-pd-desc,
#dxVpPrintDesignerModal .dx-pd-sidebar small,
#dxVpPrintDesignerModal .dx-pd-sidebar .small,
#dxVpPrintDesignerModal .dx-pd-sidebar .text-muted {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
}

/* Side panel input label: .6rem bold 600 */
#dxVpPrintDesignerModal .dx-pd-sidebar label,
#dxVpPrintDesignerModal .dx-pd-sidebar .form-label {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  color: #cbd5e1 !important;
}

/* Workspace preview */
#dxVpPrintDesignerModal .dx-pd-preview-wrap,
#vpPdPreviewWrap {
  background: #141210 !important;
}

/* Müdür Yardımcısı Baskı Logo & Başlık Alanı Çerçevesiz Temiz Tasarım */
.dx-vp-print-header,
.dx-vp-print-header *,
#dxVpPrintDesignerModal .dx-vp-print-header,
#dxVpPrintDesignerModal .dx-vp-print-header *,
#dxVpPrintDesignerModal .dx-duty-header-row,
#dxVpPrintDesignerModal .dx-duty-header-row *,
#dxVpPrintDesignerModal .dx-pd-a4-paper > div:first-child,
#dxVpPrintDesignerModal .dx-pd-a4-paper > div:first-child *,
#dxVpPrintDesignerModal img {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Ribbon & Toolbar Buton Text Boyutları (.8125rem - Tab ile eşit) */
#dxVicePrincipalLayoutRoot > .dx-grid-toolbar .btn,
#dxVpReportLayoutRoot .btn,
.dx-header-toolbar .dx-tb-btn,
.dx-header-toolbar .dx-tb-btn .btn-label,
.dx-ribbon-tab-btn {
  font-size: 0.8125rem !important;
}

/* Sol paneldeki Müdür Yardımcıları Kart Kutusu (Card Yapısı - Transparan Arka Plan) */
.dx-vp-card-box {
  background: transparent !important;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: none;
  overflow: hidden;
}

[data-theme="dark"] .dx-vp-card-box {
  background: transparent !important;
  border-color: #3d3934 !important;
}

#btnToolbarDeleteVpSchedule {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.dx-vp-report-stat-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.03);
  font-size: 0.75rem;
  font-weight: 500;
}

[data-theme="dark"] .dx-vp-report-stat-item {
  background: rgba(255, 255, 255, 0.04);
}

/* ==========================================================================
   NÖBETÇİ MÜDÜR YARDIMCISI & RAPOR AL EKRANI KARANLIK TEMA UYUMU
   ========================================================================== */
.dx-vp-title-text {
  color: #1e293b;
}

[data-theme="dark"] .dx-vp-title-text {
  color: #f4f4f5 !important;
}

.dx-vp-count-badge {
  background: #eff6ff;
  color: #2563eb;
  border: 1px solid #bfdbfe;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
}

[data-theme="dark"] .dx-vp-count-badge {
  background: rgba(37, 99, 235, 0.2) !important;
  color: #60a5fa !important;
  border-color: rgba(37, 99, 235, 0.4) !important;
}

.dx-vp-form-label {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  display: block;
}

[data-theme="dark"] .dx-vp-form-label {
  color: #cbd5e1 !important;
}

.dx-vp-stat-name {
  color: #1e293b;
}

[data-theme="dark"] .dx-vp-stat-name {
  color: #f4f4f5 !important;
}

/* Sol Paneller ve Form Elemanları Karanlık Tema */
[data-theme="dark"] #dxVpLeftPane,
[data-theme="dark"] #dxVpReportLeftPane {
  background: #18181b !important;
  border-right: 1px solid #27272a !important;
}

[data-theme="dark"] #dxVpLeftPane .form-control,
[data-theme="dark"] #dxVpLeftPane .form-select,
[data-theme="dark"] #dxVpReportLeftPane .form-control,
[data-theme="dark"] #dxVpReportLeftPane .form-select {
  background-color: #27272a !important;
  color: #f4f4f5 !important;
  border-color: #3f3f46 !important;
  color-scheme: dark;
}

[data-theme="dark"] #dxVpLeftPane .btn-outline-secondary,
[data-theme="dark"] #dxVpReportLeftPane .btn-outline-secondary {
  border-color: #3f3f46 !important;
  color: #cbd5e1 !important;
}

[data-theme="dark"] #dxVpLeftPane .btn-outline-secondary:hover,
[data-theme="dark"] #dxVpReportLeftPane .btn-outline-secondary:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

[data-theme="dark"] .dx-vp-side-card {
  border-color: #27272a !important;
  background: transparent !important;
}

[data-theme="dark"] .dx-vp-side-card-header {
  color: #f4f4f5 !important;
  border-bottom-color: #27272a !important;
}

[data-theme="dark"] .dx-vp-side-card .form-check-label {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .dx-vp-card-box {
  background: #202024 !important;
  border-color: #27272a !important;
}

/* Nöbetçi Müdür Yrd. & Rapor Al GridView Karanlık Tema */
[data-theme="dark"] #dxVpScheduleRoot,
[data-theme="dark"] #dxVpReportScheduleRoot,
[data-theme="dark"] #dxVpScheduleContainer,
[data-theme="dark"] #dxVpReportTableContainer {
  background: #121214 !important;
}

.dx-vp-schedule-table tbody td,
.dx-vp-report-table tbody td {
  color: #1e293b;
  border-bottom: 1px solid #e2e8f0;
}

[data-theme="dark"] .dx-vp-schedule-table tbody td,
[data-theme="dark"] .dx-vp-report-table tbody td {
  color: #f4f4f5 !important;
  border-bottom-color: #27272a !important;
}

[data-theme="dark"] .dx-vp-schedule-table thead th,
[data-theme="dark"] .dx-vp-report-table thead th {
  background-color: #27272a !important;
  color: #f4f4f5 !important;
  border-bottom: 2px solid #3f3f46 !important;
  box-shadow: 0 1px 0 #3f3f46 !important;
}

[data-theme="dark"] .dx-vp-schedule-table tr.dx-row-alt td,
[data-theme="dark"] .dx-vp-report-table tr.dx-row-alt td {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

[data-theme="dark"] .dx-vp-schedule-table tr:hover td,
[data-theme="dark"] .dx-vp-report-table tr:hover td {
  background-color: rgba(59, 130, 246, 0.12) !important;
}

[data-theme="dark"] .dx-vp-schedule-table a.text-muted,
[data-theme="dark"] .dx-vp-report-table a.text-muted {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .dx-vp-report-stat-item {
  background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .dx-vp-report-stat-item .badge {
  background: rgba(37, 99, 235, 0.25) !important;
  color: #93c5fd !important;
  border-color: rgba(37, 99, 235, 0.45) !important;
}

/* İzin / Rapor Takip Tablosu (TeachersManager) Tema & Dark Mode Uyumu */
#dxIzinLayout {
  background: var(--theme-bg-body, #F3F3E9) !important;
}

[data-theme="dark"] #dxIzinLayout {
  background: var(--theme-bg-body, #2E2B27) !important;
}

#dxIzinGridContainer {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

[data-theme="dark"] #dxIzinGridContainer {
  background: #242220 !important;
  border-color: #38342f !important;
}

#dxIzinTableContainer {
  background: transparent !important;
}

[data-theme="dark"] #dxIzinTableContainer {
  background: transparent !important;
}

[data-theme="dark"] #dxIzinTableContainer table thead th {
  background-color: #25221e !important;
  color: #cbd5e1 !important;
  border-bottom: 1px solid #4a453f !important;
}

[data-theme="dark"] #dxIzinTableContainer table tbody td {
  color: #f1f5f9 !important;
  border-bottom: 1px solid #332f2a !important;
}

[data-theme="dark"] #dxIzinTableContainer table tr.table-warning-subtle td {
  background-color: rgba(245, 158, 11, 0.15) !important;
  color: #fef08a !important;
}

[data-theme="dark"] #dxIzinTableContainer table tr.selected-row td,
[data-theme="dark"] #dxIzinTableContainer table tr.dx-row-selected td {
  background-color: rgba(0, 128, 128, 0.25) !important;
}

/* İzin Tablosu Tema Uyumlu Okunaklı Rozetler */
.dx-izin-badge-rapor {
  background-color: #fee2e2;
  color: #b91c1c;
  border: 1px solid #fca5a5;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  display: inline-block;
}

[data-theme="dark"] .dx-izin-badge-rapor {
  background-color: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
}

.dx-izin-badge-izin {
  background-color: #e0f2fe;
  color: #0369a1;
  border: 1px solid #7dd3fc;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  display: inline-block;
}

[data-theme="dark"] .dx-izin-badge-izin {
  background-color: rgba(14, 165, 233, 0.2) !important;
  color: #7dd3fc !important;
  border-color: rgba(14, 165, 233, 0.4) !important;
}

.dx-izin-badge-nobet {
  background-color: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

[data-theme="dark"] .dx-izin-badge-nobet {
  background-color: rgba(245, 158, 11, 0.2) !important;
  color: #fde68a !important;
  border-color: rgba(245, 158, 11, 0.4) !important;
}

.dx-izin-hours-cell {
  color: #ef4444;
}

[data-theme="dark"] .dx-izin-hours-cell {
  color: #f87171 !important;
}

/* Sütun Seçici Açılır Menüsü */
.dx-vp-col-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 1050;
  min-width: 220px;
  padding: 8px 0;
}

[data-theme="dark"] .dx-vp-col-menu {
  background: #2b2824;
  border-color: #4a453f;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.dx-vp-col-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  font-size: 0.78rem;
  color: #1e293b;
  cursor: pointer;
  transition: background 0.12s ease;
  user-select: none;
}

[data-theme="dark"] .dx-vp-col-menu-item {
  color: #e2e8f0;
}

.dx-vp-col-menu-item:hover {
  background: rgba(37, 99, 235, 0.08);
}

/* Nöbetçi Müdür Yardımcısı Sol Panel Bölümleri */
.dx-vp-side-section {
  width: 100%;
}
.dx-vp-col-toggle-label {
  transition: background-color 0.15s ease;
  user-select: none;
}
.dx-vp-col-toggle-label:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
[data-theme="dark"] .dx-vp-col-toggle-label:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

/* ==========================================================================
   YAZICI ÇIKTILARI İÇİN TABLOLARI YATAYDA TAM YAYMA (100% SPREAD)
   ========================================================================== */
@media print {
  body {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  
  table,
  .dx-duty-matrix-table,
  .dx-table,
  .print-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
}

/* ==========================================================================
   ZÜMRE YÖNETİMİ VE FİLTRE ROZETLERİ
   ========================================================================== */
.dx-zumre-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.72rem;
  font-weight: 600;
  background: rgba(59, 130, 246, 0.1);
  color: #2563eb;
}

.dx-zumre-card-item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.75rem;
  background: #ffffff;
  margin-bottom: 0.6rem;
  transition: all 0.15s ease;
}

[data-theme="dark"] .dx-zumre-card-item {
  background: #242220;
  border-color: #38342f;
}

/* ==========================================================================
   BOŞ DERSLERİ DOLDURMA (İKAME / NÖBET GÖREVLENDİRME) MATRİS VE MODAL STİLLERİ
   ========================================================================== */
.dx-substitution-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(8px);
  z-index: 99999 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dx-substitution-dialog {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: var(--bg-surface, #ffffff);
  color: var(--text-primary, #1e293b);
  overflow: hidden;
}

[data-theme="dark"] .dx-substitution-dialog {
  background: #18181b;
  color: #f4f4f5;
}

.dx-sub-header {
  height: 56px;
  background: var(--bg-surface, #ffffff);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 0 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  gap: 1rem;
}

[data-theme="dark"] .dx-sub-header {
  background: #1e1e24;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.dx-sub-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  background: #f8fafc;
}

[data-theme="dark"] .dx-sub-body {
  background: #121214;
}

.dx-sub-section {
  background: var(--bg-surface, #ffffff);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

[data-theme="dark"] .dx-sub-section {
  background: #1e1e24;
  border-color: rgba(255, 255, 255, 0.08);
}

.dx-sub-section-header {
  padding: 0.65rem 1rem;
  font-weight: 700;
  font-size: 0.88rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

[data-theme="dark"] .dx-sub-section-header {
  background: rgba(255, 255, 255, 0.02);
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.dx-sub-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.8rem;
}

.dx-sub-table th, .dx-sub-table td {
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 3px 2px;
  text-align: center;
  vertical-align: middle;
}

.dx-sub-table td {
  display: table-cell !important;
  vertical-align: middle !important;
}

.sub-td-cell {
  padding: 2px !important;
  text-align: center;
  vertical-align: middle;
  height: 44px;
}

[data-theme="dark"] .dx-sub-table th, [data-theme="dark"] .dx-sub-table td {
  border-color: rgba(255, 255, 255, 0.08);
}

.dx-sub-table th {
  background: #f1f5f9;
  color: #334155;
  font-weight: 700;
  font-size: 0.76rem;
  height: 34px;
}

[data-theme="dark"] .dx-sub-table th {
  background: #27272a;
  color: #e4e4e7;
}

.dx-sub-cell-slot {
  width: 100%;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 2px 4px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  user-select: none;
  overflow: hidden !important;
  line-height: 1 !important;
  position: relative;
  border-radius: 4px;
  box-sizing: border-box;
  transition: all 0.15s ease;
}

.sub-slot-empty {
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.sub-slot-line1 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.sub-slot-class {
  font-size: 11px !important;
  font-weight: 700 !important;
}

.sub-slot-lesson {
  font-size: 8px !important;
  line-height: 8px !important;
  color: #64748b;
  font-weight: 500;
}

.sub-slot-line2 {
  font-size: 11px !important;
  font-weight: 600 !important;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
  margin-top: 2px;
}

.sub-teacher-branch {
  font-size: 8px !important;
  line-height: 8px !important;
  color: #64748b;
  margin-top: 2px;
}

.dx-sub-table td.sub-row-header {
  padding: 3px 6px !important;
  line-height: 1.15;
}

/* Gelmeyen öğretmenin dersi (Boş Kalan / Açık) */
.sub-slot-missing {
  background: rgba(239, 68, 68, 0.08);
  border: 1px dashed rgba(239, 68, 68, 0.4) !important;
  color: #b91c1c;
}

[data-theme="dark"] .sub-slot-missing {
  background: rgba(239, 68, 68, 0.15);
  color: #fca5a5;
}

/* Gelmeyen öğretmenin doldurulmuş dersi */
.sub-slot-covered {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  color: #047857;
}

[data-theme="dark"] .sub-slot-covered {
  background: rgba(16, 185, 129, 0.18);
  color: #6ee7b7;
}

/* Nöbetçi öğretmenin asıl ders saati (Meşgul) */
.sub-slot-busy {
  background: rgba(148, 163, 184, 0.12);
  color: #64748b;
  cursor: not-allowed;
}

[data-theme="dark"] .sub-slot-busy {
  background: rgba(255, 255, 255, 0.04);
  color: #94a3b8;
}

/* Nöbetçi öğretmenin boş saati (Tıklanabilir) */
.sub-slot-available {
  background: #ffffff;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

[data-theme="dark"] .sub-slot-available {
  background: #1e1e24;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.sub-slot-available:hover {
  background: rgba(16, 185, 129, 0.08);
  border-color: #10b981 !important;
}

/* Nöbetçi öğretmenin boş saatine atanmış / seçilmiş durumu */
.sub-slot-assigned {
  background: rgba(16, 185, 129, 0.14) !important;
  border-color: #10b981 !important;
}

/* 5px / Köşe Yeşil Tik Gösterimi */
.sub-slot-check-icon {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 15px;
  height: 15px;
  background: #10b981;
  color: #ffffff;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  font-weight: 900;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: 5;
}

/* ==========================================================================
   YENİ DÜZEN: TABLO ÜSTÜ STATS BARI, 150x42px KARTLAR VE KARANLIK TEMA UYUMU
   ========================================================================== */
.sub-dialog-title {
  color: #2563eb;
}

[data-theme="dark"] .sub-dialog-title {
  color: #60a5fa !important;
}

[data-theme="dark"] #subDateInput {
  background-color: #27272a !important;
  color: #f4f4f5 !important;
  border-color: #3f3f46 !important;
  color-scheme: dark;
}

/* Tablo Üstündeki İstatistik Kartları Barı */
.dx-sub-stats-bar {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  flex-shrink: 0;
}

[data-theme="dark"] .dx-sub-stats-bar {
  background: #18181b;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.sub-stat-card {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
  height: 42px;
  border-radius: 6px;
  padding: 3px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  transition: all 0.15s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.sub-stat-card.card-day {
  background: #2563eb !important;
  border: 1.5px solid #1d4ed8 !important;
}
.sub-stat-card.card-absent {
  background: #dc2626 !important;
  border: 1.5px solid #b91c1c !important;
}
.sub-stat-card.card-missing {
  background: #d97706 !important;
  border: 1.5px solid #b45309 !important;
}
.sub-stat-card.card-duty,
.dx-sub-date-picker-wrap {
  background: #0284c7 !important;
  border: 1.5px solid #0369a1 !important;
}
.sub-stat-card.card-covered {
  background: #16a34a !important;
  border: 1.5px solid #15803d !important;
}

[data-theme="dark"] .sub-stat-card.card-day {
  background: #1d4ed8 !important;
  border: 1.5px solid #3b82f6 !important;
}
[data-theme="dark"] .sub-stat-card.card-absent {
  background: #b91c1c !important;
  border: 1.5px solid #ef4444 !important;
}
[data-theme="dark"] .sub-stat-card.card-missing {
  background: #b45309 !important;
  border: 1.5px solid #f59e0b !important;
}
[data-theme="dark"] .sub-stat-card.card-duty,
[data-theme="dark"] .dx-sub-date-picker-wrap {
  background: #0369a1 !important;
  border: 1.5px solid #0ea5e9 !important;
}
[data-theme="dark"] .sub-stat-card.card-covered {
  background: #15803d !important;
  border: 1.5px solid #22c55e !important;
}

.sub-stat-card-title,
[data-theme="dark"] .sub-stat-card-title {
  font-size: 9px;
  line-height: 10px;
  color: rgba(255, 255, 255, 0.85) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sub-stat-card-value,
[data-theme="dark"] .sub-stat-card-value,
.sub-val-day,
[data-theme="dark"] .sub-val-day,
.sub-val-absent,
[data-theme="dark"] .sub-val-absent,
.sub-val-missing,
[data-theme="dark"] .sub-val-missing,
.sub-val-duty,
[data-theme="dark"] .sub-val-duty,
.sub-val-covered,
[data-theme="dark"] .sub-val-covered {
  font-size: 13px;
  line-height: 16px;
  font-weight: 700;
  color: #ffffff !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}

/* Öğretmen İsimleri ve Hücre Metinleri (Karanlık Tema Uyumu) */
.sub-teacher-name {
  font-size: 11px;
  font-weight: 700;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .sub-teacher-name {
  color: #f4f4f5 !important;
}

.sub-slot-class {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #1e293b;
}

[data-theme="dark"] .sub-slot-class {
  color: #f4f4f5 !important;
}

.sub-slot-lesson {
  font-size: 8px !important;
  line-height: 8px !important;
  color: #64748b;
  font-weight: 500;
}

[data-theme="dark"] .sub-slot-lesson {
  color: #cbd5e1 !important;
}

.sub-slot-dash {
  color: #94a3b8;
  font-size: 10px;
  opacity: 0.5;
}

[data-theme="dark"] .sub-slot-dash {
  color: #71717a !important;
  opacity: 0.7;
}

.sub-slot-free-text {
  font-size: 10px;
  font-weight: 500;
  color: #64748b;
}

[data-theme="dark"] .sub-slot-free-text {
  color: #a1a1aa !important;
}

[data-theme="dark"] .dx-sub-empty-msg {
  color: #a1a1aa !important;
}

[data-theme="dark"] .sub-slot-missing .text-danger {
  color: #f87171 !important;
}

[data-theme="dark"] .sub-slot-covered .sub-slot-line2.text-success,
[data-theme="dark"] .sub-slot-assigned .sub-slot-line2.text-success {
  color: #4ade80 !important;
}

[data-theme="dark"] .sub-slot-busy .text-secondary {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .sub-slot-busy .text-muted {
  color: #94a3b8 !important;
}

/* 36px Yüksekliğinde, 5px Köşe Yuvarlatmalı Aksiyon Butonları */
.sub-action-btn {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 5px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
}

.sub-action-btn-primary {
  background: #2563eb !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
}

.sub-action-btn-primary:hover {
  background: #1d4ed8 !important;
}

.sub-action-btn-secondary {
  background: #1e40af !important;
  border: 1px solid #1e3a8a !important;
  color: #ffffff !important;
}

.sub-action-btn-secondary:hover {
  background: #1e3a8a !important;
}

.sub-action-btn-outline {
  background: transparent !important;
  border: 1.5px solid #2563eb !important;
  color: #2563eb !important;
}

.sub-action-btn-outline:hover {
  background: rgba(37, 99, 235, 0.08) !important;
}

[data-theme="dark"] .sub-action-btn-outline {
  border-color: #3b82f6 !important;
  color: #60a5fa !important;
}

.sub-action-btn-danger {
  background: transparent !important;
  border: 1.5px solid #ef4444 !important;
  color: #ef4444 !important;
  width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
}

.sub-action-btn-danger:hover {
  background: rgba(239, 68, 68, 0.1) !important;
}

[data-theme="dark"] .sub-action-btn-danger {
  border-color: #f87171 !important;
  color: #f87171 !important;
}

[data-theme="dark"] .sub-action-btn-danger:hover {
  background: rgba(248, 113, 113, 0.15) !important;
}

/* Gelmeyen Öğretmenler Satırı - Pastel Sarı 0.2 Opacity */
.dx-sub-table tr.sub-row-absent td {
  background-color: rgba(254, 240, 138, 0.2) !important;
}

[data-theme="dark"] .dx-sub-table tr.sub-row-absent td {
  background-color: rgba(234, 179, 8, 0.12) !important;
}

.dx-sub-table tr.sub-row-absent td.sub-row-header {
  background-color: rgba(254, 240, 138, 0.35) !important;
  border-left: 3px solid #eab308 !important;
}

[data-theme="dark"] .dx-sub-table tr.sub-row-absent td.sub-row-header {
  background-color: rgba(234, 179, 8, 0.22) !important;
  border-left: 3px solid #facc15 !important;
}

.dx-sub-table tr.sub-row-duty td.sub-row-header {
  border-left: 3px solid #2563eb !important;
}

[data-theme="dark"] .dx-sub-table tr.sub-row-duty td.sub-row-header {
  border-left: 3px solid #3b82f6 !important;
}

/* Satır Başlığında Öğretmen Niteliği (Devamsız-Branş / Nöbetçi-Branş) - 8px Font */
.sub-teacher-subtext {
  font-size: 8px !important;
  line-height: 8px !important;
  font-weight: 600 !important;
  margin-top: 3px !important;
}

.sub-teacher-subtext.absent {
  color: #b45309 !important;
}

[data-theme="dark"] .sub-teacher-subtext.absent {
  color: #fde047 !important;
}

.sub-teacher-subtext.duty {
  color: #2563eb !important;
}

[data-theme="dark"] .sub-teacher-subtext.duty {
  color: #60a5fa !important;
}

/* Resmi Görevlendirme Yazısı Modal Stilleri */
.dx-official-letter-paper {
  background: #ffffff;
  color: #000000;
  width: 210mm;
  min-height: 297mm;
  padding: 20mm 20mm 15mm 20mm;
  margin: 0 auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-family: 'Times New Roman', Times, serif;
  font-size: 11pt;
  line-height: 1.4;
  box-sizing: border-box;
}

@media print {
  body.dx-official-letter-open > :not(#dxOfficialLetterModal),
  body.dx-official-letter-open .app-header,
  body.dx-official-letter-open .app-body,
  body.dx-official-letter-open aside,
  body.dx-official-letter-open header,
  body.dx-official-letter-open footer {
    display: none !important;
  }
  body.dx-official-letter-open {
    background: #ffffff !important;
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dx-official-letter-open * {
    visibility: hidden !important;
  }
  body.dx-official-letter-open #dxOfficialLetterModal,
  body.dx-official-letter-open #dxOfficialLetterModal *,
  body.dx-official-letter-open .dx-official-letter-paper,
  body.dx-official-letter-open .dx-official-letter-paper * {
    visibility: visible !important;
  }
  body.dx-official-letter-open #dxOfficialLetterModal {
    position: static !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    overflow: visible !important;
    display: block !important;
    z-index: auto !important;
  }
  body.dx-official-letter-open #dxOfficialLetterModal .dx-substitution-dialog {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
    display: block !important;
    border: none !important;
  }
  body.dx-official-letter-open #dxOfficialLetterModal .dx-substitution-dialog > div {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: auto !important;
  }
  body.dx-official-letter-open .dx-official-letter-paper {
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    background: #ffffff !important;
    color: #000000 !important;
    display: block !important;
    page-break-after: auto !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    font-size: 10pt !important;
    line-height: 1.35 !important;
  }
  body.dx-official-letter-open .dx-official-letter-paper table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 9pt !important;
    margin-bottom: 0 !important;
  }
  body.dx-official-letter-open .dx-official-letter-paper th,
  body.dx-official-letter-open .dx-official-letter-paper td {
    padding: 4px 6px !important;
  }
  body.dx-official-letter-open .no-print,
  body.dx-official-letter-open .dx-sub-header {
    display: none !important;
    visibility: hidden !important;
  }
  body.dx-official-letter-open .dx-official-letter-signature {
    margin-top: 1.5rem !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* ==========================================================================
     RESMİ KURUL VE KOMİSYONLAR / SOSYAL KULÜPLER YAZDIRMA & ÇİZELGE STİLLERİ
     ========================================================================== */
  body.dx-committees-print-open > :not(#dxCommitteesPrintModal),
  body.dx-committees-print-open .app-header,
  body.dx-committees-print-open .app-body,
  body.dx-committees-print-open aside,
  body.dx-committees-print-open header,
  body.dx-committees-print-open footer,
  body.dx-clubs-print-open > :not(#dxClubsPrintModal),
  body.dx-clubs-print-open .app-header,
  body.dx-clubs-print-open .app-body,
  body.dx-clubs-print-open aside,
  body.dx-clubs-print-open header,
  body.dx-clubs-print-open footer {
    display: none !important;
  }
  body.dx-committees-print-open,
  body.dx-clubs-print-open {
    background: #ffffff !important;
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dx-committees-print-open *,
  body.dx-clubs-print-open * {
    visibility: hidden !important;
  }
  body.dx-committees-print-open #dxCommitteesPrintModal,
  body.dx-committees-print-open #dxCommitteesPrintModal *,
  body.dx-committees-print-open .dx-official-committee-paper,
  body.dx-committees-print-open .dx-official-committee-paper *,
  body.dx-clubs-print-open #dxClubsPrintModal,
  body.dx-clubs-print-open #dxClubsPrintModal *,
  body.dx-clubs-print-open .dx-official-club-paper,
  body.dx-clubs-print-open .dx-official-club-paper * {
    visibility: visible !important;
  }
  body.dx-committees-print-open #dxCommitteesPrintModal,
  body.dx-clubs-print-open #dxClubsPrintModal {
    position: static !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    overflow: visible !important;
    display: block !important;
    z-index: auto !important;
  }
  body.dx-committees-print-open #dxCommitteesPrintModal .dx-substitution-dialog,
  body.dx-clubs-print-open #dxClubsPrintModal .dx-substitution-dialog {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
    display: block !important;
    border: none !important;
  }
  body.dx-committees-print-open #dxCommitteesPrintModal .dx-substitution-dialog > div,
  body.dx-clubs-print-open #dxClubsPrintModal .dx-substitution-dialog > div {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: auto !important;
  }
  body.dx-committees-print-open .dx-official-committee-paper,
  body.dx-clubs-print-open .dx-official-club-paper:not(.dx-veli-izin-sheet) {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    background: #ffffff !important;
    color: #000000 !important;
    display: block !important;
    font-family: 'Times New Roman', Times, serif !important;
    font-size: 10pt !important;
    line-height: 1.35 !important;
  }
  body.dx-committees-print-open .dx-official-committee-paper table,
  body.dx-committees-print-open .official-print-table,
  body.dx-clubs-print-open .dx-official-club-paper table,
  body.dx-clubs-print-open .official-print-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    border-collapse: collapse !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    font-size: 9pt !important;
    margin-bottom: 0 !important;
  }
  body.dx-committees-print-open .official-print-table thead,
  body.dx-clubs-print-open .official-print-table thead {
    display: table-header-group !important; /* Çoklu sayfa desteği: Her sayfada başlık tekrarı */
  }
  body.dx-committees-print-open .official-print-table tfoot,
  body.dx-clubs-print-open .official-print-table tfoot {
    display: table-footer-group !important;
  }
  body.dx-committees-print-open .official-print-table tr,
  body.dx-clubs-print-open .official-print-table tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  body.dx-committees-print-open .official-print-table th,
  body.dx-committees-print-open .official-print-table td,
  body.dx-clubs-print-open .official-print-table th,
  body.dx-clubs-print-open .official-print-table td {
    padding: 5px 6px !important;
    border: 1px solid #000000 !important;
    color: #000000 !important;
  }
  body.dx-committees-print-open .official-print-table th,
  body.dx-clubs-print-open .official-print-table th {
    background: #f1f5f9 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  /* Yazdırma ekranında TÜM İKONLAR GİZLENSİN (İsteğe özel kesin kural) */
  body.dx-committees-print-open i,
  body.dx-committees-print-open .fa,
  body.dx-committees-print-open .fa-solid,
  body.dx-committees-print-open .fa-regular,
  body.dx-committees-print-open .fa-brands,
  body.dx-committees-print-open svg,
  body.dx-clubs-print-open i,
  body.dx-clubs-print-open .fa,
  body.dx-clubs-print-open .fa-solid,
  body.dx-clubs-print-open .fa-regular,
  body.dx-clubs-print-open .fa-brands,
  body.dx-clubs-print-open svg {
    display: none !important;
    visibility: hidden !important;
  }
  body.dx-committees-print-open .no-print,
  body.dx-committees-print-open .dx-sub-header,
  body.dx-committees-print-open .dx-cp-sidebar,
  body.dx-committees-print-open .dx-cp-badge,
  body.dx-clubs-print-open .no-print,
  body.dx-clubs-print-open .dx-sub-header,
  body.dx-clubs-print-open .dx-cp-sidebar,
  body.dx-clubs-print-open .dx-cp-badge {
    display: none !important;
    visibility: hidden !important;
  }
  body.dx-committees-print-open .dx-cp-module,
  body.dx-clubs-print-open .dx-cp-module {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  body.dx-committees-print-open .dx-cp-main-body,
  body.dx-clubs-print-open .dx-cp-main-body {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }
  body.dx-committees-print-open .dx-cp-preview-wrapper,
  body.dx-clubs-print-open .dx-cp-preview-wrapper {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
  }
  body.dx-committees-print-open .official-sign-block,
  body.dx-clubs-print-open .official-sign-block {
    margin-top: 1.5rem !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.dx-clubs-print-landscape .dx-door-sign-sheet {
    width: 100% !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    page-break-after: always !important;
    break-after: page !important;
  }

  body.dx-clubs-print-open.dx-clubs-print-veli-izin .dx-official-club-paper.dx-veli-izin-sheet,
  body.dx-clubs-print-veli-izin .dx-official-club-paper.dx-veli-izin-sheet,
  body.dx-clubs-print-veli-izin .dx-veli-izin-sheet {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 284mm !important;
    min-height: 284mm !important;
    max-height: 284mm !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 auto !important;
    border: none !important;
    box-shadow: none !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    overflow: hidden !important;
  }

  body.dx-clubs-print-veli-izin .dx-veli-half {
    height: 137mm !important;
    min-height: 137mm !important;
    max-height: 137mm !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    width: 100% !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    overflow: hidden !important;
  }

  body.dx-clubs-print-veli-izin .dx-veli-izin-voucher {
    height: 137mm !important;
    min-height: 137mm !important;
    max-height: 137mm !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    width: 100% !important;
    border: 1.5px solid #000000 !important;
    padding: 3.5mm 7mm !important;
    overflow: hidden !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.dx-clubs-print-veli-izin .dx-scissor-cut-line {
    height: 6mm !important;
    margin: 1mm 0 !important;
    border: none !important;
    border-top: none !important;
    flex-shrink: 0 !important;
  }
}

/* ==========================================================================
   SOSYAL KULÜPLER VELİ İZİN VE MUVAFAKAT BELGESİ (YARIM A4) & ÖNİZLEME
   ========================================================================== */
.dx-veli-izin-sheet {
  width: 210mm;
  height: 284mm;
  min-height: 284mm;
  max-height: 284mm;
  background: #ffffff;
  color: #000000;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  margin: 0 auto;
  padding: 2mm 6mm;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

.dx-veli-izin-sheet.dx-single-sheet {
  height: 140mm;
  min-height: 140mm;
  max-height: 140mm;
}

.dx-veli-half {
  height: 137mm;
  min-height: 137mm;
  max-height: 137mm;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}

.dx-veli-izin-voucher {
  height: 100%;
  min-height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  border: 1.5px solid #000000;
  padding: 3.5mm 7mm;
  position: relative;
  background: #ffffff;
  color: #000000;
  overflow: hidden;
}

/* ==========================================================================
   SOSYAL KULÜPLER A4 YATAY KAPI TABELALARI (KAPI YAZILARI) & ÖNİZLEME
   ========================================================================== */
.dx-door-sign-sheet {
  width: 297mm;
  height: 210mm;
  min-height: 210mm;
  max-height: 210mm;
  background: #ffffff;
  color: #000000;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  margin: 0 auto 20px auto;
  box-sizing: border-box;
  padding: 12mm 15mm;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  page-break-after: always;
  break-after: page;
}

.dx-door-sign-border {
  width: 100%;
  height: 100%;
  border: 7px double #000000;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10mm 15mm;
  box-sizing: border-box;
  text-align: center;
  position: relative;
}

.dx-door-sign-border.border-none {
  border: none !important;
}

.dx-door-sign-border.border-solid {
  border: 5px solid #000000 !important;
}

.dx-door-sign-title {
  font-family: 'Arial Black', Impact, 'Segoe UI Black', Montserrat, Arial, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  color: #000000;
  line-height: 1.15;
  letter-spacing: 0.5px;
  word-break: break-word;
  text-align: center;
  margin: 0;
  padding: 0;
}

.dx-door-sign-room-tag {
  position: absolute;
  bottom: 8mm;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 13pt;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #000000;
  color: #ffffff;
  padding: 4px 18px;
  border-radius: 4px;
  white-space: nowrap;
}

.dx-door-sign-teachers {
  font-family: 'Segoe UI', Montserrat, Arial, sans-serif;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  line-height: 1.25 !important;
  letter-spacing: 0.5px;
  text-align: center;
  margin-top: 24px;
}

@page landscapePage {
  size: A4 landscape;
  margin: 8mm;
}
@page portraitPage {
  size: A4 portrait;
  margin: 10mm 12mm 10mm 12mm;
}

@media print {
  .page-landscape {
    page: landscapePage !important;
    width: 297mm !important;
    height: 210mm !important;
    min-height: 210mm !important;
    max-height: 210mm !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    page-break-after: always !important;
    break-after: page !important;
  }
  .page-portrait {
    page: portraitPage !important;
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    page-break-after: always !important;
    break-after: page !important;
  }
}

/* ==========================================================================
   60vw x 60vh GLOBAL DETAY POPUP PENCERELERİ (ÖĞRETMEN VE SINIF)
   ========================================================================== */
.dx-detail-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 10500;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: dxFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes dxFadeIn {
  from { opacity: 0; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1); }
}

.dx-detail-modal-container {
  width: min(1260px, 97vw) !important;
  max-width: 1260px !important;
  min-width: min(1260px, 97vw) !important;
  height: min(840px, 92vh) !important;
  max-height: 92vh !important;
  min-height: min(840px, 92vh) !important;
  background: #ffffff;
  color: #1e293b;
  border-radius: 10px !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

@media (max-width: 900px) {
  .dx-detail-modal-container {
    width: 96vw !important;
    max-width: 96vw !important;
    min-width: 96vw !important;
    height: 92vh !important;
    max-height: 92vh !important;
    min-height: 92vh !important;
  }
}

[data-theme="dark"] .dx-detail-modal-container {
  background: #1e1c1a;
  color: #f1f5f9;
  border-color: #38342f;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.6) !important;
}

/* Modal Header (H: 44px - Popup Form Standart) */
.dx-detail-modal-header {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-detail-modal-header {
  background: #1a1816;
  border-color: #38342f;
}

.dx-detail-modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem !important;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}

[data-theme="dark"] .dx-detail-modal-title {
  color: #f8fafc;
}

.dx-detail-modal-subtitle {
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748b;
  margin-left: 0.35rem;
}

[data-theme="dark"] .dx-detail-modal-subtitle {
  color: #94a3b8;
}

.dx-detail-modal-close {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  border: none;
  background: transparent;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 0.95rem;
}

.dx-detail-modal-close:hover {
  background: #ef4444;
  color: #ffffff;
}

/* Tab Bar: 38px, Alt Başlık / Sekme Çubuğu Standartı */
.dx-detail-tabs-bar {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 0 16px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  overflow-x: auto !important;
  flex-shrink: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  scrollbar-width: none;
}

.dx-detail-tabs-bar::-webkit-scrollbar {
  display: none;
}

[data-theme="dark"] .dx-detail-tabs-bar {
  background: #1a2234 !important;
  border-color: #334155 !important;
}

/* Tab Butonları: 28px, 0.72rem, 1rem padding */
.dx-detail-tab-btn {
  position: relative !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  padding: 0 1rem !important;
  height: 28px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #475569 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

[data-theme="dark"] .dx-detail-tab-btn {
  background: #242220 !important;
  border-color: #475569 !important;
  color: #cbd5e1 !important;
}

.dx-detail-tab-btn i {
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
}

.dx-detail-tab-btn .dx-tab-text {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.dx-detail-tab-btn:hover {
  background: rgba(37, 99, 235, 0.08) !important;
  color: var(--theme-primary, #2563eb) !important;
  border-color: var(--theme-primary, #2563eb) !important;
}

[data-theme="dark"] .dx-detail-tab-btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #60a5fa !important;
  border-color: #60a5fa !important;
}

.dx-detail-tab-btn.active {
  background: var(--theme-primary, #2563eb) !important;
  color: #ffffff !important;
  border-color: var(--theme-primary, #2563eb) !important;
}

[data-theme="dark"] .dx-detail-tab-btn.active {
  background: var(--theme-primary, #2563eb) !important;
  color: #ffffff !important;
  border-color: var(--theme-primary, #2563eb) !important;
}

/* Noktalı/Kesikli Çizgili, Gölgesiz, Saydam Kartlar */
.dx-dashed-card {
  border: 1px dashed #cbd5e1 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
}

[data-theme="dark"] .dx-dashed-card {
  border-color: #475569 !important;
}

/* Bilgi Kopyalama Butonu */
.dx-copy-btn {
  font-size: 0.72rem !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
  border: none !important;
  background: transparent !important;
  transition: all 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.dx-copy-btn:hover {
  color: var(--theme-primary, #2563eb) !important;
  background: rgba(37, 99, 235, 0.08) !important;
}

/* Özel Tasarlanmış Tab Tooltip (Merkezi birleşik tooltip sistemine devredildi) */
.dx-detail-tab-tooltip {
  display: none !important;
}

/* Modal Body (Zero margin, full-width flush to footer) */
.dx-detail-modal-body {
  flex: 1;
  min-height: 0;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

[data-theme="dark"] .dx-detail-modal-body {
  background: #1e293b !important;
  color: #f8fafc !important;
}

/* Detail Modal Sections, Headers and Elements */
.dx-detail-info-section {
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
}

[data-theme="dark"] .dx-detail-info-section {
  background: #1e293b !important;
  border-bottom-color: #334155 !important;
}

.dx-detail-subhead {
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
}

[data-theme="dark"] .dx-detail-subhead {
  background: #0f172a !important;
  border-bottom-color: #334155 !important;
  color: #f8fafc !important;
}

.dx-modal-table-thead th {
  background: #f8fafc !important;
  color: #334155 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

[data-theme="dark"] .dx-modal-table-thead th {
  background: #0f172a !important;
  color: #cbd5e1 !important;
  border-bottom-color: #334155 !important;
}

.dx-detail-label {
  color: #475569;
}

[data-theme="dark"] .dx-detail-label {
  color: #94a3b8 !important;
}

.dx-detail-value {
  color: #0f172a;
}

[data-theme="dark"] .dx-detail-value {
  color: #f8fafc !important;
}

.dx-table-text-main {
  color: #0f172a;
}

[data-theme="dark"] .dx-table-text-main {
  color: #f8fafc !important;
}

/* Tab İçerik Bölümleri */
.dx-detail-tab-pane {
  display: none;
  height: 100%;
  flex: 1;
  min-height: 0;
}

.dx-detail-tab-pane.active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  animation: dxFadeIn 0.2s ease forwards;
}

/* Modal GridView Entegrasyonu: Forma 100% yayılma, 0 margin, alttan footera yapışık */
.dx-detail-modal-container .dx-modal-grid-box {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 0 !important;
  border: none !important;
  margin: 0 !important;
  background: #ffffff;
  overflow: hidden;
}

[data-theme="dark"] .dx-detail-modal-container .dx-modal-grid-box {
  background: #1e293b !important;
}

.dx-detail-modal-container .dx-modal-grid-header {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  padding: 6px 16px !important;
}

[data-theme="dark"] .dx-detail-modal-container .dx-modal-grid-header {
  border-bottom-color: #334155 !important;
  background: #0f172a !important;
}

.dx-detail-modal-container .dx-grid-footer {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-top: 1px solid #e2e8f0 !important;
  margin: 0 !important;
  background: #f8fafc !important;
}

[data-theme="dark"] .dx-detail-modal-container .dx-grid-footer {
  border-top-color: #334155 !important;
  background: #0f172a !important;
}

/* 1. ÖĞRETMEN GENEL SEKMESİ (ÖNCELİKLİ ESNEK DARALAN 3 SÜTUNLU YAPI) */
.dx-teacher-genel-grid {
  display: flex !important;
  flex-direction: row !important;
  gap: 0.85rem !important;
  height: 100% !important;
  width: 100% !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

/* 1. Kolon: Resim Cardı (Önce %30'a kadar daralan) */
.dx-genel-left {
  flex: 0 0 var(--genel-left-w, 210px) !important;
  width: var(--genel-left-w, 210px) !important;
  max-width: var(--genel-left-w, 210px) !important;
  min-width: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.65rem;
  text-align: center;
  overflow: hidden;
  transition: width 0.1s ease, flex-basis 0.1s ease;
}

[data-theme="dark"] .dx-genel-left {
  background: #242220;
  border-color: #38342f;
}

.dx-genel-photo-box {
  width: 100%;
  max-width: 140px;
  aspect-ratio: 1 / 1;
  height: auto;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  background: #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.65rem;
  flex-shrink: 1;
}

.dx-genel-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dx-genel-photo-placeholder {
  font-size: 3.5rem;
  color: #94a3b8;
}

.dx-genel-left-meta {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.dx-genel-left-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: #0f172a;
}

[data-theme="dark"] .dx-genel-left-name {
  color: #f8fafc;
}

.dx-genel-left-sub {
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748b;
}

[data-theme="dark"] .dx-genel-left-sub {
  color: #94a3b8;
}

/* 2. Kolon: Info Cardı (Sonra %20'ye kadar daralan) */
.dx-genel-mid {
  flex: 0 0 var(--genel-mid-w, 280px) !important;
  width: var(--genel-mid-w, 280px) !important;
  max-width: var(--genel-mid-w, 280px) !important;
  min-width: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.75rem 0.85rem;
  overflow-y: auto;
  transition: width 0.1s ease, flex-basis 0.1s ease;
}

[data-theme="dark"] .dx-genel-mid {
  background: #242220;
  border-color: #38342f;
}

.dx-info-row {
  display: flex;
  flex-direction: column;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  min-width: 0;
}

[data-theme="dark"] .dx-info-row {
  border-bottom-color: rgba(255, 255, 255, 0.05);
}

.dx-info-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.dx-info-label {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #94a3b8;
  margin-bottom: 0.15rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dx-info-value {
  font-size: 0.8rem;
  font-weight: 500;
  color: #1e293b;
  word-break: break-word;
}

[data-theme="dark"] .dx-info-value {
  color: #f1f5f9;
}

/* 3. Kolon: Ders Programı Cardı (En fazla %20 daralan, kalan alanı dolduran) */
.dx-genel-right {
  flex: 1 1 var(--genel-right-w, 550px) !important;
  width: var(--genel-right-w, 550px) !important;
  min-width: 0 !important;
  display: flex;
  flex-direction: column;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.65rem;
  overflow-y: auto;
  overflow-x: auto;
  transition: width 0.1s ease, flex-basis 0.1s ease;
}

[data-theme="dark"] .dx-genel-right {
  background: #242220;
  border-color: #38342f;
}

.dx-matrix-title {
  font-size: 0.78rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 0.45rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

[data-theme="dark"] .dx-matrix-title {
  color: #cbd5e1;
}

/* Tablolar (Devamsızlık, Sınıflar, Dersler, Nöbet, Görevler) */
.dx-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.dx-detail-table th {
  padding: 0.45rem 0.6rem;
  font-weight: 700;
  color: #64748b;
  background: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

[data-theme="dark"] .dx-detail-table th {
  background: #141822;
  color: #94a3b8;
  border-color: rgba(255, 255, 255, 0.08);
}

.dx-detail-table td {
  padding: 0.45rem 0.6rem;
  border-bottom: 1px solid #f1f5f9;
  color: #1e293b;
  vertical-align: middle;
}

[data-theme="dark"] .dx-detail-table td {
  border-bottom-color: rgba(255, 255, 255, 0.04);
  color: #e2e8f0;
}

.dx-detail-table tr:hover td {
  background: rgba(0, 0, 0, 0.02);
}

[data-theme="dark"] .dx-detail-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

/* Mini Ders Programı Tablosu */
.dx-mini-schedule-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.7rem;
  table-layout: fixed;
}

.dx-mini-schedule-table th,
.dx-mini-schedule-table td {
  border: 1px solid #e2e8f0;
  padding: 0.25rem 0.3rem;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-theme="dark"] .dx-mini-schedule-table th,
[data-theme="dark"] .dx-mini-schedule-table td {
  border-color: rgba(255, 255, 255, 0.08);
}

.dx-mini-schedule-table th {
  background: #e2e8f0;
  color: #475569;
  font-weight: 700;
  font-size: 0.68rem;
}

[data-theme="dark"] .dx-mini-schedule-table th {
  background: #141822;
  color: #94a3b8;
}

.dx-mini-slot-filled {
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
  font-weight: 600;
  border-radius: 3px;
}

[data-theme="dark"] .dx-mini-slot-filled {
  background: rgba(59, 130, 246, 0.15);
  color: #93c5fd;
}

/* Liste Kartları & Boş Durum */
.dx-detail-empty-box {
  padding: 2.5rem 1rem;
  text-align: center;
  color: #94a3b8;
  font-size: 0.8rem;
}

.dx-detail-empty-box i {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  opacity: 0.5;
  display: block;
}

/* Nöbet Devamsızlık Uyarı Satırı */
.dx-duty-absent-row {
  color: #dc2626 !important;
  font-weight: 600;
}

[data-theme="dark"] .dx-duty-absent-row {
  color: #f87171 !important;
}

.dx-duty-ok-row {
  color: #16a34a !important;
}

[data-theme="dark"] .dx-duty-ok-row {
  color: #4ade80 !important;
}

/* Sınıf Bilgi Üst Barı */
.dx-class-info-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.6rem;
  margin-bottom: 0.85rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
}

[data-theme="dark"] .dx-class-info-bar {
  background: #242220;
  border-color: #38342f;
}

/* ==============================================================
   GENEL GRIDVIEW & RESPONSIVE KURALLARI (KULLANICI TALEBİ)
   1. Gridview header özet etiketleri kaldırıldı
   2. Gridview header butonları .8rem bold 600
   3. Accordion dar alanda only-icon (56px) modu (sidemenu gibi)
   4. Gridview genişliği 500px altına düşmez (min-width: 500px)
   5. Yetmediğinde infopanel %60'a küçültülür (228px)
   ============================================================== */

/* 1. Özet etiketlerini tüm sayfalardan kaldırma */
.dx-group-header-bar,
.dx-group-chip:not(.interactive),
.dx-vp-count-badge,
.dx-summary-chip {
  display: none !important;
}

/* 2. Gridview header ve toolbar buton yazıları .8125rem bold 600 (Tab ile eşit) */
.dx-header-toolbar button,
.dx-header-toolbar .btn,
.dx-header-toolbar .dx-tb-btn,
.dx-header-toolbar .dx-tb-btn .btn-label,
.dx-header-toolbar .dx-tb-btn .dx-tb-btn-text,
.dx-ribbon-toolbar button,
.dx-ribbon-toolbar .btn,
.dx-ribbon-toolbar .dx-tb-btn,
.dx-ribbon-toolbar .dx-tb-btn .btn-label,
.dx-ribbon-tab-btn,
.app-content-header button,
.app-content-header .btn,
.dx-tb-btn,
.dx-tb-btn .btn-label,
.dx-tb-btn .dx-tb-btn-text,
.dx-grid-toolbar button,
.dx-grid-toolbar .btn,
.dx-vp-header-bar button,
.dx-vp-header-bar .btn,
.table-header-actions button {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

/* 3. Gridview Esnekliği & E-Posta Sütunu Responsive Kuralı */
#dxGridContainer,
.dx-grid-container,
#dxCoursesGridContainer,
#dxClassesGridContainer,
#dxDutiesGridContainer,
#dxVpScheduleRoot,
#dxVpReportScheduleRoot {
  min-width: 0 !important;
  container-type: inline-size;
  position: relative !important;
}

/* E-Posta sütunu GridView'de kalıcı olarak gizlenir, diğer sütunlar ekrana yayılır */
th.col-email,
td.col-email,
th.col-eposta,
td.col-eposta,
th[data-col="email"],
td[data-col="email"],
th[data-col="eposta"],
td[data-col="eposta"],
.dx-table th.col-email,
.dx-table td.col-email,
.dx-table th.col-eposta,
.dx-table td.col-eposta,
.dx-table th[data-col="email"],
.dx-table td[data-col="email"],
.dx-table th[data-col="eposta"],
.dx-table td[data-col="eposta"],
.dx-grid-container th.col-email,
.dx-grid-container td.col-email,
.dx-grid-container th.col-eposta,
.dx-grid-container td.col-eposta,
.dx-grid-container th[data-col="email"],
.dx-grid-container td[data-col="email"],
.dx-grid-container th[data-col="eposta"],
.dx-grid-container td[data-col="eposta"],
#dxGridContainer th.col-email,
#dxGridContainer td.col-email,
#dxGridContainer th.col-eposta,
#dxGridContainer td.col-eposta,
#dxGridContainer th[data-col="email"],
#dxGridContainer td[data-col="email"],
#dxGridContainer th[data-col="eposta"],
#dxGridContainer td[data-col="eposta"] {
  display: none !important;
}

/* 4. Responsive Accordion ve Info Panel Kuralları (800px Altı Only-Icon) */
@media (max-width: 799.98px) {
  .dx-teachers-layout .dx-left-accordion,
  .dx-courses-layout .dx-left-accordion,
  .dx-classes-layout .dx-left-accordion,
  .dx-duties-layout .dx-left-accordion {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
  }
  .dx-courses-layout,
  .dx-classes-layout,
  .dx-duties-layout {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }
  .dx-courses-layout .dx-grid-container,
  .dx-classes-layout .dx-grid-container,
  .dx-duties-layout .dx-grid-container {
    margin-left: 12px !important;
  }
}

/* Standart ve 1000px altı ekranlar: Info panel genişliği 360px, boşalan yere gridview yerleşir */
.dx-teachers-layout .dx-right-info,
#dxRightInfo,
#dxRightPane {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  flex: 0 0 360px !important;
}

/* Sağ panel açık olduğunda layout kolonu 360px olur, açılan boşluğu gridview doldurur, panel sağa yaslanır */
.dx-teachers-layout.has-right-pane:not(.has-left-icon-only),
.dx-teachers-layout:not(.has-left-icon-only):has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) {
  grid-template-columns: 200px minmax(0, 1fr) 360px !important;
}

.dx-teachers-layout.has-right-pane.has-left-icon-only,
.dx-teachers-layout.has-left-icon-only:has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) {
  grid-template-columns: 50px minmax(0, 1fr) 360px !important;
}

.dx-teachers-layout.has-right-pane-reduced:not(.has-left-icon-only),
.dx-teachers-layout:not(.has-left-icon-only):has(#dxRightInfo.reduced-width),
.dx-teachers-layout:not(.has-left-icon-only):has(.dx-right-info.reduced-width) {
  grid-template-columns: 200px minmax(0, 1fr) 360px !important;
}

.dx-teachers-layout.has-right-pane-reduced.has-left-icon-only,
.dx-teachers-layout.has-left-icon-only:has(#dxRightInfo.reduced-width),
.dx-teachers-layout.has-left-icon-only:has(.dx-right-info.reduced-width) {
  grid-template-columns: 50px minmax(0, 1fr) 360px !important;
}

.dx-teachers-layout.no-right-pane:not(.has-left-icon-only),
.dx-teachers-layout:not(.has-left-icon-only):has(#dxRightInfo[style*="display: none"]),
.dx-teachers-layout:not(.has-left-icon-only):has(#dxRightInfo[style*="display:none"]) {
  grid-template-columns: 200px minmax(0, 1fr) !important;
}

.dx-teachers-layout.no-right-pane.has-left-icon-only,
.dx-teachers-layout.has-left-icon-only:has(#dxRightInfo[style*="display: none"]),
.dx-teachers-layout.has-left-icon-only:has(#dxRightInfo[style*="display:none"]) {
  grid-template-columns: 50px minmax(0, 1fr) !important;
}

/* 5. 1000px altı ekranlar (max-width: 1000px): Info panel genişliği 280px, boşalan yere GridView yerleşir */
@media (max-width: 1000px) {
  .dx-teachers-layout:not(.has-left-icon-only) {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0.65rem !important;
  }
  .dx-teachers-layout.has-left-icon-only {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0.65rem !important;
  }

  /* Info paneli açık olduğunda gridview ile info panel arasındaki margin korunur, boşalan yere gridview yerleşir */
  .dx-teachers-layout.has-right-pane:not(.has-left-icon-only),
  .dx-teachers-layout:not(.has-left-icon-only):has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) {
    grid-template-columns: 200px minmax(0, 1fr) 280px !important;
  }
  .dx-teachers-layout.has-right-pane.has-left-icon-only,
  .dx-teachers-layout.has-left-icon-only:has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) {
    grid-template-columns: 50px minmax(0, 1fr) 280px !important;
  }

  .dx-teachers-layout.has-right-pane .dx-grid-container,
  .dx-teachers-layout:has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) .dx-grid-container {
    margin-right: 12px !important;
    min-width: 0 !important;
    width: auto !important;
    overflow: hidden !important;
  }

  .dx-teachers-layout .dx-right-info,
  #dxRightInfo,
  #dxRightPane,
  #dxAccountRightInfo {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    flex: 0 0 280px !important;
    position: relative !important;
    margin: 0 !important;
    margin-left: auto !important;
    justify-self: end !important;
    box-sizing: border-box !important;
  }

  .dx-right-info .dx-profile-card-exact,
  #dxRightPane .dx-profile-card-exact {
    padding: 0.4rem 0.5rem !important;
    gap: 0.55rem !important;
  }
  .dx-right-info .dx-person-photo,
  #dxRightPane .dx-person-photo {
    width: 6rem !important;
    height: 8rem !important;
    min-width: 6rem !important;
    min-height: 8rem !important;
  }
  .dx-right-info .dx-person-name,
  #dxRightPane .dx-person-name {
    font-size: 0.92rem !important;
  }
  .dx-right-info .dx-person-title,
  #dxRightPane .dx-person-title {
    font-size: 0.72rem !important;
    margin-bottom: 0.2rem !important;
  }
  .dx-right-info .dx-circle-btn,
  #dxRightPane .dx-circle-btn {
    width: 25px !important;
    height: 25px !important;
    font-size: 0.65rem !important;
  }
  .dx-right-info .dx-right-tabs-bar,
  #dxRightPane .dx-right-tabs-bar {
    padding: 0 0.15rem !important;
    gap: 0.1rem !important;
    justify-content: flex-end !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .dx-right-info .dx-right-tabs-bar::-webkit-scrollbar,
  #dxRightPane .dx-right-tabs-bar::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .dx-right-info .dx-right-tab-item,
  #dxRightPane .dx-right-tab-item {
    font-size: 0.54rem !important;
    padding: 0.35rem 0.15rem !important;
    white-space: nowrap !important;
    letter-spacing: -0.35px !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    text-align: center !important;
  }
}

/* Sınıflar tablosunda öğrenci sayısını gösterme kuralı */
#dxClassesGridContainer th.col-ogrenciSayisi,
#dxClassesGridContainer td.col-ogrenciSayisi,
#dxClassesGridContainer .col-ogrenciSayisi {
  display: none !important;
}

/* Nöbetler tablosunda branşı gösterme kuralı */
#dxDutiesGridContainer th.col-bransAdi,
#dxDutiesGridContainer td.col-bransAdi,
#dxDutiesGridContainer .col-bransAdi {
  display: none !important;
}

/* Sınıflar Sayfası Ribbon Menü Başlığı .8rem bold 600 */
.dx-classes-layout .dx-tb-title,
.dx-classes-layout .dx-header-title,
.dx-classes-layout .dx-ribbon-brand,
.dx-classes-layout .dx-ribbon-brand-title,
#dxClassesToolbarActions ~ .dx-tb-title,
.app-content-header:has(#dxClassesToolbarActions) .dx-tb-title,
.app-content-header:has(#dxClassesToolbarActions) .dx-header-title,
.app-content-header:has(#dxClassesToolbarActions) .dx-ribbon-brand,
.app-content-header:has(#dxClassesToolbarActions) .dx-ribbon-brand-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

/* Dinamik GridView ve Üç Nokta (...) Kuralları */
.dx-table {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.dx-table thead th,
.dx-table tbody td {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
.dx-table thead th .th-text,
.dx-table thead th .th-inner,
.dx-table tbody td span,
.dx-table tbody td .dx-cell-text,
.dx-table tbody td .dx-cell-kod,
.dx-table tbody td .dx-cell-name {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* 6. Sayfa Genişliği 600px Altına Düştüğünde Accordion Only-Icon Modu */
@media (max-width: 600px) {
  .dx-teachers-layout,
  .dx-courses-layout,
  .dx-classes-layout,
  .dx-duties-layout,
  .dx-layout-container {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  .dx-teachers-layout.has-right-pane,
  .dx-teachers-layout:has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) {
    grid-template-columns: 50px minmax(0, 1fr) 280px !important;
  }

  .dx-grid-container,
  #dxGridContainer,
  #dxCoursesGridContainer,
  #dxClassesGridContainer,
  #dxDutiesGridContainer {
    margin-left: 12px !important;
  }

  .dx-left-accordion,
  #dxLeftAccordion,
  #dxCoursesLeftAccordion,
  #dxClassesLeftPane,
  #dxDutiesLeftPane {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 6px 0 !important;
    box-sizing: border-box !important;
  }

  .dx-left-accordion .dx-accordion-group,
  #dxLeftAccordion .dx-accordion-group,
  #dxCoursesLeftAccordion .dx-accordion-group,
  #dxClassesLeftPane .dx-accordion-group,
  #dxDutiesLeftPane .dx-accordion-group {
    width: 50px !important;
    margin: 3px auto !important;
    border-bottom: none !important;
  }

  .dx-left-accordion .dx-accordion-header,
  #dxLeftAccordion .dx-accordion-header,
  #dxCoursesLeftAccordion .dx-accordion-header,
  #dxClassesLeftPane .dx-accordion-header,
  #dxDutiesLeftPane .dx-accordion-header {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  [data-theme="dark"] .dx-left-accordion .dx-accordion-header,
  [data-theme="dark"] #dxLeftAccordion .dx-accordion-header,
  [data-theme="dark"] #dxCoursesLeftAccordion .dx-accordion-header,
  [data-theme="dark"] #dxClassesLeftPane .dx-accordion-header,
  [data-theme="dark"] #dxDutiesLeftPane .dx-accordion-header {
    background: #242220 !important;
    border-color: #38342f !important;
    color: #cbd5e1 !important;
  }

  .dx-left-accordion .dx-accordion-header span.text-truncate,
  .dx-left-accordion .dx-accordion-header .dx-acc-title,
  .dx-left-accordion .dx-accordion-header .dx-acc-title-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .dx-left-accordion .dx-accordion-header i,
  #dxLeftAccordion .dx-accordion-header i,
  #dxCoursesLeftAccordion .dx-accordion-header i,
  #dxClassesLeftPane .dx-accordion-header i,
  #dxDutiesLeftPane .dx-accordion-header i {
    margin: 0 !important;
    font-size: 1.35rem !important;
    display: inline-block !important;
    line-height: 1 !important;
  }

  .dx-left-accordion .dx-accordion-header .dx-acc-title-text,
  .dx-left-accordion .dx-accordion-header .dx-acc-chevron,
  .dx-left-accordion .dx-accordion-header .dx-acc-arrow,
  .dx-left-accordion .dx-accordion-header i.dx-acc-chevron,
  .dx-left-accordion .dx-accordion-header i.dx-acc-arrow,
  .dx-left-accordion .dx-accordion-header i.fa-chevron-down,
  .dx-left-accordion .dx-accordion-header i.fa-chevron-up,
  .dx-left-accordion .dx-accordion-header i.fa-angle-down,
  .dx-left-accordion .dx-accordion-header .count-badge,
  .dx-left-accordion .dx-accordion-header .dx-acc-badge,
  .dx-left-accordion .dx-accordion-body,
  .dx-left-accordion .dx-accordion-content,
  .dx-left-accordion .dx-acc-list {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    pointer-events: none !important;
  }
}

/* ==============================================================
   ACCORDION SAĞA DOĞRU AÇILAN POPUP MENÜ SİSTEMİ (FLYOUT MENU)
   ============================================================== */
.dx-accordion-flyout {
  position: fixed !important;
  z-index: 10050 !important;
  min-width: 220px;
  max-width: 320px;
  max-height: 80vh;
  display: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  box-shadow: 0 10px 25px -4px rgba(0, 0, 0, 0.2), 0 4px 10px -2px rgba(0, 0, 0, 0.1);
  overflow: visible;
  transition: opacity 0.15s ease;
  user-select: none;
}

.dx-accordion-flyout.show {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

[data-theme="dark"] .dx-accordion-flyout {
  background: #1e1c1a !important;
  border-color: #3d3934 !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55), 0 4px 12px rgba(0, 0, 0, 0.35) !important;
}

/* İşaretçi oklar kullanıcı talebi doğrultusunda tamamen gizlenir */
.dx-acc-flyout-arrow {
  display: none !important;
}

.dx-acc-flyout-item i.fa-angle-right {
  display: none !important;
}

.dx-acc-flyout-arrow.in-header {
  background: #f8fafc !important;
}

[data-theme="dark"] .dx-acc-flyout-arrow {
  background: #1e1c1a !important;
  border-left-color: #3d3934 !important;
  border-bottom-color: #3d3934 !important;
}

[data-theme="dark"] .dx-acc-flyout-arrow.in-header {
  background: #242220 !important;
}

/* Flyout Başlık */
.dx-acc-flyout-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.85rem;
  background: #f8fafc;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #1e293b;
  position: relative;
  z-index: 2;
}

[data-theme="dark"] .dx-acc-flyout-header {
  background: #242220 !important;
  border-bottom-color: #38342f !important;
  color: #f1f5f9 !important;
}

.dx-acc-flyout-header i {
  color: var(--theme-primary, #2563eb);
  font-size: 0.95rem;
}

[data-theme="dark"] .dx-acc-flyout-header i {
  color: var(--theme-primary, #60a5fa);
}

/* Flyout İçerik & Liste */
.dx-acc-flyout-body {
  overflow-y: auto;
  max-height: calc(80vh - 45px);
  padding: 0.35rem 0;
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

.dx-acc-flyout-body::-webkit-scrollbar {
  width: 5px;
}

.dx-acc-flyout-body::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

[data-theme="dark"] .dx-acc-flyout-body::-webkit-scrollbar-thumb {
  background: #4a453f;
}

.dx-acc-flyout-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.dx-acc-flyout-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.85rem;
  font-size: 0.78rem;
  color: #334155;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
  gap: 0.5rem;
  border-left: 3px solid transparent;
}

[data-theme="dark"] .dx-acc-flyout-item {
  color: #cbd5e1;
}

.dx-acc-flyout-item:hover {
  background-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.08);
  color: var(--theme-primary, #2563eb);
  border-left-color: var(--theme-primary, #2563eb);
}

[data-theme="dark"] .dx-acc-flyout-item:hover {
  background-color: rgba(var(--theme-primary-rgb, 96, 165, 250), 0.15);
  color: #ffffff;
  border-left-color: var(--theme-primary, #60a5fa);
}

.dx-acc-flyout-item.active {
  background-color: var(--theme-primary, #2563eb) !important;
  color: #ffffff !important;
  font-weight: 600;
  border-left-color: var(--theme-primary, #2563eb);
}

[data-theme="dark"] .dx-acc-flyout-item.active {
  background-color: var(--theme-primary, #60a5fa) !important;
  color: #ffffff !important;
}

.dx-acc-flyout-label {
  flex: 1;
  min-width: 0;
}

.dx-acc-flyout-badge {
  font-size: 0.68rem !important;
  padding: 2px 6px !important;
  border-radius: 10px !important;
  background: #e2e8f0;
  color: #475569;
  font-weight: 600;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-acc-flyout-badge {
  background: #332f2a !important;
  color: #94a3b8 !important;
}

.dx-acc-flyout-item.active .dx-acc-flyout-badge {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

/* ==============================================================
   TÜM GRIDVIEW'LER İÇİN TEMA VE GÖRÜNÜM MODU UYUMU
   ============================================================== */

/* Kompakt Mod (Compact View) Uyumu */
.dx-table.table-sm thead th {
  height: 26px !important;
  padding: 0 0.35rem !important;
  font-size: 0.72rem !important;
}

.dx-table.table-sm tbody tr {
  height: 28px !important;
}

.dx-table.table-sm tbody td {
  padding: 0 0.35rem !important;
  font-size: 0.72rem !important;
  line-height: 1.1 !important;
}

/* Kart Modunda Tema Uyumu (Karanlık Mod) */
[data-theme="dark"] .course-card,
[data-theme="dark"] .class-card,
[data-theme="dark"] .duty-card {
  background: #242220 !important;
  border-color: #38342f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  color: #e2e8f0 !important;
}

[data-theme="dark"] .course-card:hover,
[data-theme="dark"] .class-card:hover,
[data-theme="dark"] .duty-card:hover {
  border-color: #60a5fa !important;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.45) !important;
  transform: translateY(-2px);
}

[data-theme="dark"] .course-card.selected,
[data-theme="dark"] .course-card.active,
[data-theme="dark"] .class-card.selected,
[data-theme="dark"] .class-card.active,
[data-theme="dark"] .duty-card.selected,
[data-theme="dark"] .duty-card.active {
  border-color: var(--theme-primary, #60a5fa) !important;
  background: #1b2636 !important;
  box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3), 0 5px 12px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .course-card.dx-card-checked,
[data-theme="dark"] .class-card.dx-card-checked,
[data-theme="dark"] .duty-card.dx-card-checked {
  background: #18281e !important;
  border-color: #22c55e !important;
}

[data-theme="dark"] .class-card .dx-cell-kod,
[data-theme="dark"] .duty-card .dx-cell-kod {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .class-card .dx-cell-text,
[data-theme="dark"] .duty-card .dx-cell-text {
  color: #94a3b8 !important;
}

[data-theme="dark"] .class-card .dx-cell-name,
[data-theme="dark"] .duty-card .dx-cell-name {
  color: #f8fafc !important;
}

/* Seçim Modu (Selection Mode) Uyumu */
.dx-table tbody tr.dx-row-checked {
  background-color: #f0fdf4 !important;
}

[data-theme="dark"] .dx-table tbody tr.dx-row-checked {
  background-color: #1a2e22 !important;
}

.dx-table tbody tr.selected-row.dx-row-checked {
  background-color: #e0f2fe !important;
}

[data-theme="dark"] .dx-table tbody tr.selected-row.dx-row-checked {
  background-color: #1e3a47 !important;
}

/* Excel Filtreleme Menüsü Tema Uyumu */
[data-theme="dark"] .excel-filter-popup {
  background: #242220 !important;
  border-color: #3d3934 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .excel-filter-search input {
  background: #1c1a18 !important;
  border-color: #3d3934 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .excel-filter-list {
  background: #242220 !important;
}

[data-theme="dark"] .excel-filter-item:hover {
  background: #2e2a25 !important;
  color: #ffffff !important;
}

/* ==============================================================
   BÜTÜN SAYFALAR VE POPUPLAR İÇİN KAPSAMLI TEMA UYUMU (DEVEXPRESS / DARK & LIGHT)
   ============================================================== */

/* 1. Tüm Sayfalardaki GridView ve Tabloların Koyu Tema Uyumu */
[data-theme="dark"] .dx-table,
[data-theme="dark"] .dx-table tbody,
[data-theme="dark"] .dx-table-scroll,
[data-theme="dark"] #dxCoursesGridContainer .dx-table,
[data-theme="dark"] #dxClassesGridContainer .dx-table,
[data-theme="dark"] #dxDutiesGridContainer .dx-table,
[data-theme="dark"] #dxGridContainer .dx-table {
  background-color: #242220 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-table thead,
[data-theme="dark"] .dx-table thead tr {
  background-color: #1e1c1a !important;
}

[data-theme="dark"] .dx-table thead th {
  background-color: #1e1c1a !important;
  color: #cbd5e1 !important;
  border-bottom: 1px solid #4a453f !important;
  border-right: 1px solid #38342f !important;
}

[data-theme="dark"] .dx-table tbody tr {
  background-color: #242220 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-table tbody tr:hover,
[data-theme="dark"] .dx-table tbody tr:hover td {
  background-color: #332f2a !important;
  color: #ffffff !important;
}

[data-theme="dark"] .dx-table tbody td {
  background-color: transparent !important;
  border-bottom: 0.5px dotted #4a453f !important;
  border-right: 1px solid #38342f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-table tbody td span,
[data-theme="dark"] .dx-table tbody td a,
[data-theme="dark"] .dx-table tbody td .dx-cell-text,
[data-theme="dark"] .dx-table tbody td .dx-cell-kod,
[data-theme="dark"] .dx-table tbody td .dx-cell-name,
[data-theme="dark"] .dx-table tbody td .dx-cell-link,
[data-theme="dark"] .dx-table tbody td strong {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-table tbody td .dx-cell-subicon,
[data-theme="dark"] .dx-table tbody td .dx-cell-empty {
  color: #94a3b8 !important;
}

/* Bootstrap Table CSS Değişkenleri ve Hücre Ezmeleri */
[data-theme="dark"] .table {
  --bs-table-bg: #242220 !important;
  --bs-table-striped-bg: #2a2723 !important;
  --bs-table-hover-bg: #332f2a !important;
  --bs-table-color: #f1f5f9 !important;
  --bs-table-hover-color: #ffffff !important;
  --bs-table-border-color: #38342f !important;
  background-color: #242220 !important;
  color: #f1f5f9 !important;
  border-color: #38342f !important;
}

[data-theme="dark"] .table > :not(caption) > * > * {
  background-color: var(--bs-table-bg, #242220) !important;
  color: var(--bs-table-color, #f1f5f9) !important;
  border-bottom-color: var(--bs-table-border-color, #38342f) !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
  --bs-table-bg-state: #332f2a !important;
  background-color: #332f2a !important;
  color: #ffffff !important;
}

/* 2. Bütün Popuplar ve Modallarda Koyu Tema Uyumu */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-dialog .modal-content {
  background-color: #242220 !important;
  border: 1px solid #3d3934 !important;
  color: #f1f5f9 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.65) !important;
}

[data-theme="dark"] .modal-header {
  background-color: #1e1c1a !important;
  border-bottom: 1px solid #38342f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-title,
[data-theme="dark"] .modal-header h4,
[data-theme="dark"] .modal-header h5,
[data-theme="dark"] .modal-header h6 {
  color: #f8fafc !important;
}

[data-theme="dark"] .modal-header .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
}

[data-theme="dark"] .modal-body {
  background-color: #242220 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-footer {
  background-color: #1e1c1a !important;
  border-top: 1px solid #38342f !important;
}

/* Popuplardaki Tüm Gridview ve Tablolar */
[data-theme="dark"] .modal-body table:not(.dx-pd-table):not(.vp-pd-table):not(.dx-duty-matrix-table),
[data-theme="dark"] .modal-body .table:not(.dx-pd-table):not(.vp-pd-table):not(.dx-duty-matrix-table),
[data-theme="dark"] .modal-body .dx-table,
[data-theme="dark"] .modal-content table:not(.dx-pd-table):not(.vp-pd-table):not(.dx-duty-matrix-table),
[data-theme="dark"] .modal-content .table:not(.dx-pd-table):not(.vp-pd-table):not(.dx-duty-matrix-table),
[data-theme="dark"] .modal-content .dx-table,
[data-theme="dark"] #dxCurriculumTable,
[data-theme="dark"] #dxZumrelerTable,
[data-theme="dark"] #dxDutyLocationsTable,
[data-theme="dark"] #dxVicePrincipalDutyTable,
[data-theme="dark"] #dxAbsenceTable,
[data-theme="dark"] .dx-detail-table,
[data-theme="dark"] .dx-mini-schedule-table {
  background-color: #242220 !important;
  color: #f1f5f9 !important;
  border-color: #38342f !important;
}

[data-theme="dark"] .modal-body table thead,
[data-theme="dark"] .modal-body .table thead,
[data-theme="dark"] .modal-content table thead,
[data-theme="dark"] .modal-content .table thead,
[data-theme="dark"] #dxCurriculumTable thead,
[data-theme="dark"] #dxZumrelerTable thead,
[data-theme="dark"] #dxDutyLocationsTable thead {
  background-color: #1e1c1a !important;
}

[data-theme="dark"] .modal-body table thead th,
[data-theme="dark"] .modal-body .table thead th,
[data-theme="dark"] .modal-content table thead th,
[data-theme="dark"] .modal-content .table thead th,
[data-theme="dark"] #dxCurriculumTable thead th,
[data-theme="dark"] #dxZumrelerTable thead th,
[data-theme="dark"] #dxDutyLocationsTable thead th,
[data-theme="dark"] .dx-detail-table thead th {
  background-color: #1e1c1a !important;
  color: #cbd5e1 !important;
  border-bottom: 1px solid #4a453f !important;
  border-top: none !important;
}

[data-theme="dark"] .modal-body table tbody,
[data-theme="dark"] .modal-body .table tbody,
[data-theme="dark"] .modal-content table tbody,
[data-theme="dark"] .modal-content .table tbody {
  background-color: #242220 !important;
}

[data-theme="dark"] .modal-body table tbody tr,
[data-theme="dark"] .modal-body .table tbody tr,
[data-theme="dark"] .modal-content table tbody tr,
[data-theme="dark"] .modal-content .table tbody tr,
[data-theme="dark"] #dxCurriculumTable tbody tr,
[data-theme="dark"] #dxZumrelerTable tbody tr,
[data-theme="dark"] #dxDutyLocationsTable tbody tr {
  background-color: #242220 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-body table tbody tr:hover,
[data-theme="dark"] .modal-body table tbody tr:hover td,
[data-theme="dark"] .modal-content table tbody tr:hover,
[data-theme="dark"] .modal-content table tbody tr:hover td,
[data-theme="dark"] #dxCurriculumTable tbody tr:hover td,
[data-theme="dark"] #dxZumrelerTable tbody tr:hover td,
[data-theme="dark"] #dxDutyLocationsTable tbody tr:hover td {
  background-color: #332f2a !important;
  color: #ffffff !important;
}

[data-theme="dark"] .modal-body table tbody td,
[data-theme="dark"] .modal-body .table tbody td,
[data-theme="dark"] .modal-content table tbody td,
[data-theme="dark"] .modal-content .table tbody td,
[data-theme="dark"] #dxCurriculumTable tbody td,
[data-theme="dark"] #dxZumrelerTable tbody td,
[data-theme="dark"] #dxDutyLocationsTable tbody td,
[data-theme="dark"] .dx-detail-table tbody td {
  background-color: transparent !important;
  color: #f1f5f9 !important;
  border-bottom: 0.5px dotted #4a453f !important;
  border-color: #38342f !important;
}

[data-theme="dark"] .modal-body table tbody td *,
[data-theme="dark"] .modal-body .table tbody td *,
[data-theme="dark"] .modal-content table:not(.dx-pd-table):not(.vp-pd-table):not(.dx-duty-matrix-table) tbody td *,
[data-theme="dark"] .modal-content .table:not(.dx-pd-table):not(.vp-pd-table):not(.dx-duty-matrix-table) tbody td * {
  color: #f1f5f9 !important;
}

/* ==========================================================================
   A4 BASKI KAĞIDI VE BASKI TABLOLARI - DAİMA BEYAZ KAĞIT & SİYAH METİN
   Karanlık veya Aydınlık temadan bağımsız olarak baskı alanı saf beyaz kağıttır
   Tüm A4 kağıtları, resmi tebliğ/görevlendirme kağıtları, kurul ve kulüp belgeleri
   bu kurala tabidir. Metinler istisnasız saf siyah (#000000), zemin saf beyazdır (#ffffff).
   ========================================================================== */
.dx-pd-a4-paper,
[id^="pdA4Paper_"],
#pdA4Paper,
[id^="vpPdPaper_"],
#vpPdPaper,
.teacher-duty-page,
.dx-official-letter-paper,
.dx-official-committee-paper,
.dx-official-club-paper,
.dx-meeting-sheet,
.dx-door-sign-sheet,
.dx-veli-izin-sheet,
.dx-veli-half,
.dx-veli-izin-voucher,
#dxClubsDocContainer > *,
#dxCommitteesDocContainer > *,
.print-paper,
.a4-sheet,
.a4-paper,
.official-print-paper,
[data-theme="dark"] .dx-pd-a4-paper,
[data-theme="dark"] [id^="pdA4Paper_"],
[data-theme="dark"] #pdA4Paper,
[data-theme="dark"] [id^="vpPdPaper_"],
[data-theme="dark"] #vpPdPaper,
[data-theme="dark"] .teacher-duty-page,
[data-theme="dark"] .dx-official-letter-paper,
[data-theme="dark"] .dx-official-committee-paper,
[data-theme="dark"] .dx-official-club-paper,
[data-theme="dark"] .dx-meeting-sheet,
[data-theme="dark"] .dx-door-sign-sheet,
[data-theme="dark"] .dx-veli-izin-sheet,
[data-theme="dark"] .dx-veli-half,
[data-theme="dark"] .dx-veli-izin-voucher,
[data-theme="dark"] #dxClubsDocContainer > *,
[data-theme="dark"] #dxCommitteesDocContainer > *,
[data-theme="dark"] .print-paper,
[data-theme="dark"] .a4-sheet,
[data-theme="dark"] .a4-paper,
[data-theme="dark"] .official-print-paper {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  color-scheme: light !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35) !important;
}

/* Kağıt içerisindeki tüm metin elemanları (başlıklar, paragraflar, spanlar, divler, etiketler) daima saf siyahtır */
.dx-pd-a4-paper *,
[id^="pdA4Paper_"] *,
#pdA4Paper *,
[id^="vpPdPaper_"] *,
#vpPdPaper *,
.teacher-duty-page *,
.dx-official-letter-paper *,
.dx-official-committee-paper *,
.dx-official-club-paper *,
.dx-meeting-sheet *,
.dx-door-sign-sheet *:not(.dx-door-sign-room-tag),
.dx-veli-izin-sheet *,
.dx-veli-half *,
.dx-veli-izin-voucher *,
#dxClubsDocContainer *,
#dxCommitteesDocContainer *,
.print-paper *,
.a4-sheet *,
.a4-paper *,
.official-print-paper *,
[data-theme="dark"] .dx-pd-a4-paper *,
[data-theme="dark"] [id^="pdA4Paper_"] *,
[data-theme="dark"] #pdA4Paper *,
[data-theme="dark"] [id^="vpPdPaper_"] *,
[data-theme="dark"] #vpPdPaper *,
[data-theme="dark"] .teacher-duty-page *,
[data-theme="dark"] .dx-official-letter-paper *,
[data-theme="dark"] .dx-official-committee-paper *,
[data-theme="dark"] .dx-official-club-paper *,
[data-theme="dark"] .dx-meeting-sheet *,
[data-theme="dark"] .dx-door-sign-sheet *:not(.dx-door-sign-room-tag),
[data-theme="dark"] .dx-veli-izin-sheet *,
[data-theme="dark"] .dx-veli-half *,
[data-theme="dark"] .dx-veli-izin-voucher *,
[data-theme="dark"] #dxClubsDocContainer *,
[data-theme="dark"] #dxCommitteesDocContainer *,
[data-theme="dark"] .print-paper *,
[data-theme="dark"] .a4-sheet *,
[data-theme="dark"] .a4-paper *,
[data-theme="dark"] .official-print-paper * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  text-shadow: none !important;
}

/* Kağıt üzerindeki tüm tablolar */
.dx-pd-a4-paper table,
.teacher-duty-page table,
.dx-official-letter-paper table,
.dx-official-committee-paper table,
.dx-official-club-paper table,
.dx-veli-izin-sheet table,
.dx-pd-table,
.vp-pd-table,
.dx-duty-matrix-table,
.official-print-table,
#pdPreviewTable,
#vpPdTablePreview,
#vpDutyMatrixTable,
[data-theme="dark"] .dx-pd-a4-paper table,
[data-theme="dark"] .teacher-duty-page table,
[data-theme="dark"] .dx-official-letter-paper table,
[data-theme="dark"] .dx-official-committee-paper table,
[data-theme="dark"] .dx-official-club-paper table,
[data-theme="dark"] .dx-veli-izin-sheet table,
[data-theme="dark"] .dx-pd-table,
[data-theme="dark"] .vp-pd-table,
[data-theme="dark"] .dx-duty-matrix-table,
[data-theme="dark"] .official-print-table,
[data-theme="dark"] #pdPreviewTable,
[data-theme="dark"] #vpPdTablePreview,
[data-theme="dark"] #vpDutyMatrixTable {
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border-collapse: collapse !important;
  border-color: #000000 !important;
}

/* Tablo Başlıkları (th) - Açık gri zemin, siyah kalın yazı, siyah çizgi */
.dx-pd-a4-paper th,
.teacher-duty-page th,
.dx-official-letter-paper th,
.dx-official-committee-paper th,
.dx-official-club-paper th,
.dx-veli-izin-sheet th,
.dx-pd-table th,
.vp-pd-table th,
.dx-duty-matrix-table th,
.official-print-table th,
#pdPreviewTable th,
#vpPdTablePreview th,
#vpDutyMatrixTable th,
[data-theme="dark"] .dx-pd-a4-paper th,
[data-theme="dark"] .teacher-duty-page th,
[data-theme="dark"] .dx-official-letter-paper th,
[data-theme="dark"] .dx-official-committee-paper th,
[data-theme="dark"] .dx-official-club-paper th,
[data-theme="dark"] .dx-veli-izin-sheet th,
[data-theme="dark"] .dx-pd-table th,
[data-theme="dark"] .vp-pd-table th,
[data-theme="dark"] .dx-duty-matrix-table th,
[data-theme="dark"] .official-print-table th,
[data-theme="dark"] #pdPreviewTable th,
[data-theme="dark"] #vpPdTablePreview th,
[data-theme="dark"] #vpDutyMatrixTable th {
  background-color: #f1f5f9 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border: 1px solid #000000 !important;
  font-weight: 700 !important;
}

/* Tablo Hücreleri (td) - Beyaz zemin, siyah yazı, siyah çizgi */
.dx-pd-a4-paper td,
.teacher-duty-page td,
.dx-official-letter-paper td,
.dx-official-committee-paper td,
.dx-official-club-paper td,
.dx-veli-izin-sheet td,
.dx-pd-table td,
.vp-pd-table td,
.dx-duty-matrix-table td,
.official-print-table td,
#pdPreviewTable td,
#vpPdTablePreview td,
#vpDutyMatrixTable td,
[data-theme="dark"] .dx-pd-a4-paper td,
[data-theme="dark"] .teacher-duty-page td,
[data-theme="dark"] .dx-official-letter-paper td,
[data-theme="dark"] .dx-official-committee-paper td,
[data-theme="dark"] .dx-official-club-paper td,
[data-theme="dark"] .dx-veli-izin-sheet td,
[data-theme="dark"] .dx-pd-table td,
[data-theme="dark"] .vp-pd-table td,
[data-theme="dark"] .dx-duty-matrix-table td,
[data-theme="dark"] .official-print-table td,
[data-theme="dark"] #pdPreviewTable td,
[data-theme="dark"] #vpPdTablePreview td,
[data-theme="dark"] #vpDutyMatrixTable td {
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border: 1px solid #000000 !important;
}

/* Çift satırlar için açık gri tonlama (#f8fafc) */
.dx-pd-a4-paper tbody tr:nth-child(even),
.teacher-duty-page tbody tr:nth-child(even),
.dx-pd-table tbody tr:nth-child(even),
.official-print-table tbody tr:nth-child(even),
[data-theme="dark"] .dx-pd-a4-paper tbody tr:nth-child(even),
[data-theme="dark"] .teacher-duty-page tbody tr:nth-child(even),
[data-theme="dark"] .dx-pd-table tbody tr:nth-child(even),
[data-theme="dark"] .official-print-table tbody tr:nth-child(even) {
  background-color: #f8fafc !important;
}

.dx-pd-a4-paper tbody tr:nth-child(even) td,
.teacher-duty-page tbody tr:nth-child(even) td,
.dx-pd-table tbody tr:nth-child(even) td,
.official-print-table tbody tr:nth-child(even) td,
[data-theme="dark"] .dx-pd-a4-paper tbody tr:nth-child(even) td,
[data-theme="dark"] .teacher-duty-page tbody tr:nth-child(even) td,
[data-theme="dark"] .dx-pd-table tbody tr:nth-child(even) td,
[data-theme="dark"] .official-print-table tbody tr:nth-child(even) td {
  background-color: #f8fafc !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Tek satırlar saf beyaz */
.dx-pd-a4-paper tbody tr:nth-child(odd),
.teacher-duty-page tbody tr:nth-child(odd),
.dx-pd-table tbody tr:nth-child(odd),
.official-print-table tbody tr:nth-child(odd),
[data-theme="dark"] .dx-pd-a4-paper tbody tr:nth-child(odd),
[data-theme="dark"] .teacher-duty-page tbody tr:nth-child(odd),
[data-theme="dark"] .dx-pd-table tbody tr:nth-child(odd),
[data-theme="dark"] .official-print-table tbody tr:nth-child(odd) {
  background-color: #ffffff !important;
}

.dx-pd-a4-paper tbody tr:nth-child(odd) td,
.teacher-duty-page tbody tr:nth-child(odd) td,
.dx-pd-table tbody tr:nth-child(odd) td,
.official-print-table tbody tr:nth-child(odd) td,
[data-theme="dark"] .dx-pd-a4-paper tbody tr:nth-child(odd) td,
[data-theme="dark"] .teacher-duty-page tbody tr:nth-child(odd) td,
[data-theme="dark"] .dx-pd-table tbody tr:nth-child(odd) td,
[data-theme="dark"] .official-print-table tbody tr:nth-child(odd) td {
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Hücre içi tüm elemanlar */
.dx-pd-a4-paper tbody tr td *,
.teacher-duty-page tbody tr td *,
.dx-pd-table tbody tr td *,
.official-print-table tbody tr td *,
[data-theme="dark"] .dx-pd-a4-paper tbody tr td *,
[data-theme="dark"] .teacher-duty-page tbody tr td *,
[data-theme="dark"] .dx-pd-table tbody tr td *,
[data-theme="dark"] .official-print-table tbody tr td * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background-color: transparent !important;
}

/* Modallardaki Form Öğeleri, Inputlar, Kartlar ve Tablar */
[data-theme="dark"] .modal-content .form-control,
[data-theme="dark"] .modal-content .form-select {
  background-color: #1e1c1a !important;
  border-color: #3d3934 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-content .form-control:focus,
[data-theme="dark"] .modal-content .form-select:focus {
  border-color: var(--theme-primary, #60a5fa) !important;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25) !important;
  background-color: #1e1c1a !important;
  color: #ffffff !important;
}

[data-theme="dark"] .modal-content .form-control::placeholder {
  color: #64748b !important;
}

[data-theme="dark"] .modal-content .input-group-text {
  background-color: #2b2824 !important;
  border-color: #3d3934 !important;
  color: #cbd5e1 !important;
}

[data-theme="dark"] .modal-content .form-label {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .modal-content .card,
[data-theme="dark"] .modal-content .bg-light,
[data-theme="dark"] .modal-content .bg-white {
  background-color: #1e1c1a !important;
  border-color: #38342f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-content .nav-tabs {
  border-bottom-color: #38342f !important;
}

[data-theme="dark"] .modal-content .nav-tabs .nav-link {
  color: #94a3b8 !important;
  border: none !important;
  background: transparent !important;
}

[data-theme="dark"] .modal-content .nav-tabs .nav-link:hover {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-content .nav-tabs .nav-link.active {
  color: var(--theme-primary, #60a5fa) !important;
  border-bottom: 2px solid var(--theme-primary, #60a5fa) !important;
  background: transparent !important;
}

/* Scrollbar Tema Renklendirmesi */
[data-theme="dark"] ::-webkit-scrollbar-track {
  background: #1e1c1a !important;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #4a453f !important;
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #645e54 !important;
}

/* ==========================================================================
   KURULLAR VE KOMİSYONLAR TABLO VE HÜCRE STİLLERİ
   ========================================================================== */
.dx-cell-members-stack {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 2px 0;
  max-width: 100%;
}

.dx-cell-member-row {
  font-size: 0.70rem !important;
  line-height: 1 !important;
  height: 0.75rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: flex !important;
  align-items: center;
  color: #334155;
}

[data-theme="dark"] .dx-cell-member-row {
  color: #cbd5e1;
}

.dx-badge-kurul {
  display: inline-flex;
  align-items: center;
  background-color: rgba(37, 99, 235, 0.12) !important;
  color: #2563eb !important;
  border: 1px solid rgba(37, 99, 235, 0.25) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 0.15rem 0.5rem !important;
  border-radius: 4px !important;
  line-height: 1.2;
}

.dx-badge-komisyon {
  display: inline-flex;
  align-items: center;
  background-color: rgba(13, 148, 136, 0.12) !important;
  color: #0d9488 !important;
  border: 1px solid rgba(13, 148, 136, 0.25) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 0.15rem 0.5rem !important;
  border-radius: 4px !important;
  line-height: 1.2;
}

.dx-badge-ekip {
  display: inline-flex;
  align-items: center;
  background-color: rgba(245, 158, 11, 0.12) !important;
  color: #d97706 !important;
  border: 1px solid rgba(245, 158, 11, 0.25) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 0.15rem 0.5rem !important;
  border-radius: 4px !important;
  line-height: 1.2;
}

[data-theme="dark"] .dx-badge-kurul {
  background-color: rgba(37, 99, 235, 0.25) !important;
  color: #93c5fd !important;
  border-color: rgba(96, 165, 250, 0.35) !important;
}

[data-theme="dark"] .dx-badge-komisyon {
  background-color: rgba(13, 148, 136, 0.25) !important;
  color: #5eead4 !important;
  border-color: rgba(45, 212, 191, 0.35) !important;
}

[data-theme="dark"] .dx-badge-ekip {
  background-color: rgba(245, 158, 11, 0.25) !important;
  color: #fcd34d !important;
  border-color: rgba(251, 191, 36, 0.35) !important;
}

/* Temel Tanımlar - GridView Konteyneri ve Tablo Düzeni (Öğretmenler Sayfasıyla Birebir Eşit) */
.dx-tanimlar-layout .dx-grid-container,
.dx-tanimlar-content .dx-grid-container {
  margin-left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

[data-theme="dark"] .dx-tanimlar-layout .dx-grid-container,
[data-theme="dark"] .dx-tanimlar-content .dx-grid-container {
  background: #242220 !important;
  border-color: #38342f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
}

.dx-modal-grid-box th.col-cinsiyet,
.dx-modal-grid-box td.col-cinsiyet {
  display: table-cell !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
}

/* ==========================================================================
   KURUL / KOMİSYON DÜZENLE MODAL STİLLERİ (Font Hiyerarşisi, Kenar Birleştirme & Tema Uyumu)
   ========================================================================== */
#committeeModalOverlay .dx-nt-header,
.dx-committee-modal-dialog .dx-nt-header {
  padding: 8px 14px !important;
  min-height: 38px !important;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

[data-theme="dark"] #committeeModalOverlay .dx-nt-header,
[data-theme="dark"] .dx-committee-modal-dialog .dx-nt-header {
  background: #1a1816 !important;
  border-bottom-color: #38342f !important;
}

#committeeModalOverlay .dx-nt-title,
.dx-committee-modal-dialog .dx-nt-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
}

[data-theme="dark"] #committeeModalOverlay .dx-nt-title,
[data-theme="dark"] .dx-committee-modal-dialog .dx-nt-title {
  color: #f8fafc !important;
}

#committeeModalOverlay .dx-nt-title i,
.dx-committee-modal-dialog .dx-nt-title i {
  font-size: 0.85rem !important;
}

#committeeModalOverlay .dx-nt-close,
.dx-committee-modal-dialog .dx-nt-close {
  font-size: 0.95rem !important;
  padding: 2px 6px !important;
  line-height: 1 !important;
}

/* Modal Body & Üst Form: Kenar boşluksuz tam uyum */
.dx-committee-modal-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  background: #ffffff;
}

[data-theme="dark"] .dx-committee-modal-body {
  background: #242220;
}

.dx-committee-modal-body #committeeForm {
  padding: 10px 16px 8px 16px;
  margin: 0;
  border-bottom: 1px solid #e2e8f0;
  background: inherit;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-committee-modal-body #committeeForm {
  border-bottom-color: #38342f;
}

/* Input Labelleri: .7rem, bold 600 */
#committeeModalOverlay .form-label,
#committeeModalOverlay label,
.dx-committee-modal-dialog .form-label,
.dx-committee-modal-dialog label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  margin-bottom: 2px !important;
  color: #334155 !important;
}

[data-theme="dark"] #committeeModalOverlay .form-label,
[data-theme="dark"] #committeeModalOverlay label,
[data-theme="dark"] .dx-committee-modal-dialog .form-label,
[data-theme="dark"] .dx-committee-modal-dialog label {
  color: #cbd5e1 !important;
}

#committeeModalOverlay .form-control-sm,
#committeeModalOverlay .form-select-sm,
.dx-committee-modal-dialog .form-control-sm,
.dx-committee-modal-dialog .form-select-sm {
  font-size: 0.72rem !important;
  height: 28px !important;
  padding: 2px 8px !important;
}

[data-theme="dark"] .dx-committee-modal-dialog .form-control,
[data-theme="dark"] .dx-committee-modal-dialog .form-select {
  background-color: #2b2824 !important;
  border-color: #4a453f !important;
  color: #f1f5f9 !important;
}

/* Alt Personel GridView Kutusu: Kenarlara tam oturan, yuvarlak hatları kaldırılmış, alt bordersız */
.dx-committee-modal-dialog .dx-modal-grid-box {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  margin: 0 !important;
  background: #ffffff;
  overflow: hidden;
}

[data-theme="dark"] .dx-committee-modal-dialog .dx-modal-grid-box {
  background: #242220;
}

/* GridView Header */
.dx-committee-modal-dialog .dx-modal-grid-header {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
  padding: 6px 16px;
}

[data-theme="dark"] .dx-committee-modal-dialog .dx-modal-grid-header {
  background: #1e1c1a;
  border-bottom-color: #38342f;
}

/* Grid Tablo Satır ve Sütunları Tema Uyumu */
[data-theme="dark"] .dx-committee-modal-dialog .dx-table th {
  background-color: #1e1c1a !important;
  color: #94a3b8 !important;
  border-bottom-color: #38342f !important;
}

[data-theme="dark"] .dx-committee-modal-dialog .dx-table td {
  border-bottom-color: #38342f !important;
  color: #e2e8f0 !important;
}

[data-theme="dark"] .dx-committee-modal-dialog .dx-cell-name {
  color: #f8fafc !important;
}

[data-theme="dark"] .dx-committee-modal-dialog .dx-cell-text {
  color: #cbd5e1 !important;
}

/* GridView Footer: Alt borderı yok, tema uyumlu, popup footer ile bir bütün */
.dx-committee-modal-dialog #modalPersonnelFooter,
.dx-committee-modal-dialog .dx-grid-footer {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 0 16px !important;
  background: #f8fafc !important;
  color: #64748b !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

[data-theme="dark"] .dx-committee-modal-dialog #modalPersonnelFooter,
[data-theme="dark"] .dx-committee-modal-dialog .dx-grid-footer {
  background: #242220 !important;
  border-top-color: #38342f !important;
  color: #94a3b8 !important;
}

/* Modal Alt Barı (Popup Footer): GridView footer ile üst üste tam temaslı, tema uyumlu */
.dx-card-modal-footer,
.dx-detail-modal-container .dx-card-modal-footer,
.dx-committee-modal-dialog .dx-card-modal-footer {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 0 16px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

[data-theme="dark"] .dx-card-modal-footer,
[data-theme="dark"] .dx-detail-modal-container .dx-card-modal-footer,
[data-theme="dark"] .dx-committee-modal-dialog .dx-card-modal-footer {
  background: #1a1816 !important;
  border-top-color: #38342f !important;
  color: #cbd5e1 !important;
}

/* ==========================================================================
   KATI TASARIM SİSTEMİ: TÜM PROJEDEKİ POPUP FORMLAR VE GRIDVIEW YAPISI
   ========================================================================== */

/* 1. TÜM POPUP MODAL FOOTERLARINDA İKONLARIN GÖRÜNMESİ VE FONT GÜVENCESİ */
.dx-card-modal-footer i,
.dx-card-modal-footer [class*="fa-"],
.dx-card-modal-footer .fa-solid,
.dx-card-modal-footer .fas,
.dx-card-modal-footer .far,
.dx-nt-footer i,
.dx-nt-footer [class*="fa-"],
.dx-absence-footer i,
.dx-absence-footer [class*="fa-"],
.modal-footer i,
.modal-footer [class*="fa-"],
.dx-grid-footer i,
.dx-grid-footer [class*="fa-"],
.dx-modal-grid-header i,
.dx-modal-grid-header [class*="fa-"],
.excel-filter-popup i,
.excel-filter-popup [class*="fa-"] {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  display: inline-block !important;
  line-height: 1 !important;
  font-size: 0.75rem !important;
}

/* 2. TÜM POPUP MODAL FOOTERLARI: BOYUT, RENK VE KENARLIK STANDARDI */
.dx-card-modal-footer,
.dx-committee-modal-dialog .dx-card-modal-footer,
#committeeModalOverlay .dx-card-modal-footer,
.dx-absence-footer,
.dx-nt-footer {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 0 16px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .dx-card-modal-footer,
[data-theme="dark"] .dx-committee-modal-dialog .dx-card-modal-footer,
[data-theme="dark"] #committeeModalOverlay .dx-card-modal-footer,
[data-theme="dark"] .dx-absence-footer,
[data-theme="dark"] .dx-nt-footer {
  background: #1a1816 !important;
  border-top-color: #38342f !important;
  color: #cbd5e1 !important;
}

/* Footer Tipografi: .7rem, 400 normal (İkonlar ve Badge'ler hariç) */
.dx-card-modal-footer,
.dx-card-modal-footer span:not(.badge),
.dx-card-modal-footer div,
.dx-card-modal-footer p,
.dx-committee-modal-dialog .dx-card-modal-footer,
.dx-committee-modal-dialog .dx-card-modal-footer span:not(.badge),
.dx-committee-modal-dialog #modalSelectedSummaryText,
#committeeModalOverlay .dx-card-modal-footer,
#committeeModalOverlay #modalSelectedSummaryText,
.dx-absence-footer,
.dx-absence-footer-text,
.dx-grid-footer,
.dx-grid-footer span:not(.badge) {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
}

.dx-card-modal-footer strong,
.dx-committee-modal-dialog .dx-card-modal-footer strong,
#committeeModalOverlay .dx-card-modal-footer strong,
.dx-grid-footer strong {
  font-weight: 600 !important;
}

[data-theme="dark"] #modalSelectedSummaryText,
[data-theme="dark"] .dx-absence-footer-text {
  color: #94a3b8 !important;
}

/* 3. TÜM MODAL FOOTER BUTONLARI */
.dx-card-modal-footer .btn,
.dx-card-modal-footer .dx-modal-btn-cancel,
.dx-card-modal-footer .dx-modal-btn-save,
.dx-card-modal-footer .dx-confirm-btn-danger,
.dx-absence-footer .btn,
.dx-absence-btn-save,
.dx-nt-footer .btn {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  height: 28px !important;
  padding: 2px 14px !important;
  line-height: 1 !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

/* 4. GRIDVIEW HEADER SEARCHBAR PADDING VE İKON DÜZENİ */
.dx-modal-grid-header input[type="text"],
.dx-modal-grid-header input.form-control,
#modalTeacherSearchInput {
  padding-left: 32px !important;
  padding-right: 28px !important;
  height: 26px !important;
  font-size: 0.75rem !important;
  border-radius: 5px !important;
}

.dx-modal-grid-header .position-relative i.fa-magnifying-glass {
  left: 10px !important;
  top: 7px !important;
  font-size: 0.75rem !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* 5. SÜTUN BAŞI FİLİTRE POPUPINDAKİ BUTONLARIN TEXTLERİ: .7rem BOLD 700 */
.excel-filter-popup .excel-filter-actions button,
.excel-filter-popup .excel-filter-actions .btn,
#modalPersonnelExcelFilterPopup .excel-filter-actions button,
#modalPersonnelExcelFilterPopup .excel-filter-actions .btn {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  height: 26px !important;
  padding: 2px 12px !important;
  line-height: 1 !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}

.excel-filter-popup .excel-filter-actions button i,
#modalPersonnelExcelFilterPopup .excel-filter-actions button i {
  font-size: 0.72rem !important;
  font-weight: 900 !important;
}

/* 6. TÜM MODAL DİALOG VE HEADER STANDARDI */
.dx-committee-modal-dialog,
.dx-new-teacher-dialog,
.dx-card-modal-dialog {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.1) !important;
}

[data-theme="dark"] .dx-committee-modal-dialog,
[data-theme="dark"] .dx-new-teacher-dialog,
[data-theme="dark"] .dx-card-modal-dialog {
  border-color: #38342f !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.6) !important;
}

.dx-nt-header,
.dx-card-modal-header {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

[data-theme="dark"] .dx-nt-header,
[data-theme="dark"] .dx-card-modal-header {
  background: #1e1c1a !important;
  border-bottom-color: #38342f !important;
}

/* Otomatik Nöbet Dağıtım Parametreleri ve Ayarları Pop-up Formu: 3rem Header & Footer */
#dxAdmSettingsModalOverlay .dx-adm-settings-header,
#dxAdmSettingsModalOverlay .dx-nt-header {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  box-sizing: border-box !important;
}

#dxAdmSettingsModalOverlay .dx-adm-settings-footer {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  box-sizing: border-box !important;
}

#dxAdmSettingsModalOverlay .dx-nt-title {
  color: #ffffff !important;
}

.dx-nt-title,
.dx-card-modal-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

[data-theme="dark"] .dx-nt-title,
[data-theme="dark"] .dx-card-modal-title {
  color: #f1f5f9 !important;
}

/* Form Label & Input Standartları */
.dx-nt-body .form-label,
.dx-card-modal-body .form-label,
.dx-committee-modal-body .form-label {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin-bottom: 4px !important;
}

[data-theme="dark"] .dx-nt-body .form-label,
[data-theme="dark"] .dx-card-modal-body .form-label,
[data-theme="dark"] .dx-committee-modal-body .form-label {
  color: #cbd5e1 !important;
}

.dx-nt-body .form-control:not(textarea),
.dx-nt-body .form-select,
.dx-card-modal-body .form-control:not(textarea),
.dx-card-modal-body .form-select,
.dx-committee-modal-body .form-control:not(textarea),
.dx-committee-modal-body .form-select {
  height: 30px !important;
  min-height: 30px !important;
  font-size: 0.75rem !important;
  border-radius: 5px !important;
  padding: 0.25rem 0.55rem !important;
}

/* ==========================================================================
   MERKEZİ GRIDVIEW YAPISI (ÖĞRETMENLER SAYFASI REFERANSLI STANDARTLAR)
   ========================================================================== */

/* 1. Modal GridView Kutusu & Yapısı */
.dx-modal-grid-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  overflow: hidden;
  background: #ffffff;
}

[data-theme="dark"] .dx-modal-grid-box {
  background: #242220 !important;
  border-color: #38342f !important;
}

/* GridView Header */
.dx-modal-grid-header {
  height: 38px;
  min-height: 38px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

[data-theme="dark"] .dx-modal-grid-header {
  background: #1e1c1a !important;
  border-bottom-color: #38342f !important;
}

[data-theme="dark"] .dx-modal-grid-header input.form-control {
  background-color: #2b2824 !important;
  border-color: #4a453f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-modal-grid-header input.form-control::placeholder {
  color: #64748b !important;
}

/* Merkezi GridView Tablo Satır ve Sütunları (Öğretmenler Sayfası Birebir Font Özellikleri) */
.dx-table,
.dx-modal-grid-box table.dx-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: 0.73rem !important;
  margin: 0 !important;
}

.dx-table thead tr,
.dx-modal-grid-box table.dx-table thead tr {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
}

.dx-table thead th,
.dx-modal-grid-box table.dx-table thead th,
.dx-modal-grid-box table.dx-table th {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 0.73rem !important;
  font-weight: 600 !important;
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  padding: 0 0.5rem !important;
  border-bottom: 1px solid #cbd5e1 !important;
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

[data-theme="dark"] .dx-table thead th,
[data-theme="dark"] .dx-modal-grid-box table.dx-table thead th,
[data-theme="dark"] .dx-modal-grid-box table.dx-table th {
  background: #25221e !important;
  color: #cbd5e1 !important;
  border-bottom-color: #4a453f !important;
}

.dx-table thead th .th-text,
.dx-modal-grid-box table.dx-table thead th .th-text {
  font-size: 0.73rem !important;
  font-weight: 600 !important;
  color: inherit !important;
}

.dx-table tbody tr,
.dx-modal-grid-box table.dx-table tbody tr {
  height: 32px !important;
  max-height: 32px !important;
  cursor: pointer;
  transition: background 0.05s ease;
}

.dx-table tbody tr:hover,
.dx-modal-grid-box table.dx-table tbody tr:hover,
.dx-modal-grid-box table.dx-table tr:hover td {
  background-color: #f8fafc !important;
}

[data-theme="dark"] .dx-table tbody tr:hover,
[data-theme="dark"] .dx-modal-grid-box table.dx-table tbody tr:hover,
[data-theme="dark"] .dx-modal-grid-box table.dx-table tr:hover td {
  background-color: #332f2a !important;
}

.dx-table tbody td,
.dx-modal-grid-box table.dx-table tbody td,
.dx-modal-grid-box table.dx-table td {
  font-size: 0.73rem !important;
  color: #1e293b !important;
  padding: 0 0.5rem !important;
  border-bottom: 1px dotted #cbd5e1 !important;
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  vertical-align: middle !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

[data-theme="dark"] .dx-table tbody td,
[data-theme="dark"] .dx-modal-grid-box table.dx-table tbody td,
[data-theme="dark"] .dx-modal-grid-box table.dx-table td {
  border-bottom: 0.5px dotted #857d72 !important;
  color: #f1f5f9 !important;
}

.dx-table tbody td .badge,
.dx-modal-grid-box table.dx-table tbody td .badge {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
}

/* Merkezi Header Sıralama ve Filtreleme Butonları */
.dx-table thead th .excel-filter-btn,
.dx-modal-grid-box .excel-filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  visibility: visible !important;
  opacity: 0.8 !important;
  color: #64748b !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  width: 19px !important;
  height: 19px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  margin-left: 3px !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}

.dx-table thead th .excel-filter-btn:hover,
.dx-modal-grid-box .excel-filter-btn:hover {
  opacity: 1 !important;
  color: var(--theme-primary, #2563eb) !important;
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.12) !important;
  border-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.25) !important;
}

.dx-table thead th .excel-filter-btn.filtered,
.dx-table thead th .excel-filter-btn.active,
.dx-modal-grid-box .excel-filter-btn.filtered,
.dx-modal-grid-box .excel-filter-btn.active {
  opacity: 1 !important;
  color: #ffffff !important;
  background: var(--theme-primary, #2563eb) !important;
  border-color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 1px 3px rgba(var(--theme-primary-rgb, 37, 99, 235), 0.35) !important;
}

.dx-table thead th .column-sort-btn,
.dx-modal-grid-box .column-sort-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  visibility: visible !important;
  opacity: 0.8 !important;
  color: #64748b !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  width: 19px !important;
  height: 19px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  margin-left: 2px !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}

.dx-table thead th .column-sort-btn:hover,
.dx-modal-grid-box .column-sort-btn:hover {
  opacity: 1 !important;
  color: var(--theme-primary, #2563eb) !important;
  background: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.12) !important;
  border-color: rgba(var(--theme-primary-rgb, 37, 99, 235), 0.25) !important;
}

.dx-table thead th .column-sort-btn.active,
.dx-modal-grid-box .column-sort-btn.active {
  opacity: 1 !important;
  color: var(--theme-primary, #2563eb) !important;
}

[data-theme="dark"] .dx-table thead th .excel-filter-btn,
[data-theme="dark"] .dx-table thead th .column-sort-btn,
[data-theme="dark"] .dx-modal-grid-box .excel-filter-btn,
[data-theme="dark"] .dx-modal-grid-box .column-sort-btn {
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-table thead th .excel-filter-btn:hover,
[data-theme="dark"] .dx-table thead th .column-sort-btn:hover,
[data-theme="dark"] .dx-modal-grid-box .excel-filter-btn:hover,
[data-theme="dark"] .dx-modal-grid-box .column-sort-btn:hover {
  color: #60a5fa !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-table thead th .column-sort-btn.active,
[data-theme="dark"] .dx-modal-grid-box .column-sort-btn.active {
  color: #60a5fa !important;
}

/* Merkezi GridView Footer Yapısı (3rem Yükseklik) */
.dx-grid-footer {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  font-size: 0.72rem !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .dx-grid-footer {
  background: #1e1c1a !important;
  border-top-color: #38342f !important;
  color: #94a3b8 !important;
}

.dx-grid-footer strong {
  font-weight: 600 !important;
  color: #1e293b !important;
}

[data-theme="dark"] .dx-grid-footer strong {
  color: #f1f5f9 !important;
}

/* Zümre Üye Öğretmenler Checkboxlist: .7rem bold 500 */
.dx-member-chk-item,
.dx-member-chk-item label,
.dx-member-chk-item span {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  line-height: 1.3 !important;
}

[data-theme="dark"] .dx-member-chk-item,
[data-theme="dark"] .dx-member-chk-item label,
[data-theme="dark"] .dx-member-chk-item span {
  color: #f1f5f9 !important;
}

.dx-member-chk-item .text-muted {
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

[data-theme="dark"] .dx-member-chk-item .text-muted {
  color: #94a3b8 !important;
}

/* 2. Kesikli Çizgili Kartlar (Dashed Cards) ve Tipografi */
.dx-dashed-card {
  border: 1px dashed #cbd5e1 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  transition: border-color 0.2s ease;
}

[data-theme="dark"] .dx-dashed-card {
  border-color: #38342f !important;
  background: transparent !important;
}

.dx-dashed-card-title {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: var(--theme-primary) !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.dx-dashed-card-label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  color: #64748b !important;
  margin-bottom: 2px !important;
  display: block !important;
}

[data-theme="dark"] .dx-dashed-card-label {
  color: #94a3b8 !important;
}

.dx-dashed-card-value {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  line-height: 1.4 !important;
}

[data-theme="dark"] .dx-dashed-card-value {
  color: #f1f5f9 !important;
}

.dx-dashed-card-desc,
.dx-dashed-card p,
.dx-dashed-card small,
.dx-dashed-card .small,
.dx-dashed-card .text-muted:not(.dx-dashed-card-label) {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

[data-theme="dark"] .dx-dashed-card-desc,
[data-theme="dark"] .dx-dashed-card p,
[data-theme="dark"] .dx-dashed-card small,
[data-theme="dark"] .dx-dashed-card .small,
[data-theme="dark"] .dx-dashed-card .text-muted:not(.dx-dashed-card-label) {
  color: #94a3b8 !important;
}

.dx-dashed-card .badge {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
}

.dx-dashed-card-divider {
  border-top: 1px dashed #e2e8f0 !important;
  margin-top: 6px !important;
  padding-top: 6px !important;
}

[data-theme="dark"] .dx-dashed-card-divider {
  border-top-color: #38342f !important;
}

/* 3. Tüm Etiketlerin (Badges) Karanlık Tema Uyumu */
[data-theme="dark"] .badge.bg-primary-subtle {
  background: rgba(37, 99, 235, 0.22) !important;
  color: #93c5fd !important;
  border: 1px solid rgba(59, 130, 246, 0.35) !important;
}

[data-theme="dark"] .badge.bg-success-subtle {
  background: rgba(22, 163, 74, 0.22) !important;
  color: #86efac !important;
  border: 1px solid rgba(34, 197, 94, 0.35) !important;
}

[data-theme="dark"] .badge.bg-warning-subtle {
  background: rgba(217, 119, 6, 0.22) !important;
  color: #fde047 !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
}

[data-theme="dark"] .badge.bg-danger-subtle {
  background: rgba(220, 38, 38, 0.22) !important;
  color: #fca5a5 !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
}

[data-theme="dark"] .badge.bg-secondary-subtle {
  background: rgba(100, 116, 139, 0.22) !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(148, 163, 184, 0.35) !important;
}

[data-theme="dark"] .badge.bg-info-subtle {
  background: rgba(6, 182, 212, 0.22) !important;
  color: #67e8f9 !important;
  border: 1px solid rgba(6, 182, 212, 0.35) !important;
}

[data-theme="dark"] .badge.bg-light {
  background: #2b2824 !important;
  color: #cbd5e1 !important;
  border-color: #4a453f !important;
}

/* Modal İçi Genel Tab Bilgi Satırları Karanlık Tema */
[data-theme="dark"] .dx-info-row {
  border-bottom-color: #2e2a25 !important;
}

[data-theme="dark"] .dx-info-label {
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-info-value {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-genel-left-name {
  color: #f8fafc !important;
}

[data-theme="dark"] .dx-genel-left-sub {
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-matrix-title {
  color: #f1f5f9 !important;
}








/* Input altı açıklamalar: .6rem regular italik bold600 ve tema rengi */
.dx-input-hint,
.dx-form-hint {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: var(--theme-primary) !important;
  margin-top: 3px !important;
  display: block !important;
  line-height: 1.25 !important;
}

/* ========================================================================= */
/* HESAP AYARLARI SAYFASI & 3REM YATAY YETKİ KARTLARI (60x30PX TOGGLE SWITCH) */
/* ========================================================================= */

/* Sidebar Altında Sabitlenen Buton */
.sidebar-bottom-action {
  margin-top: auto !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  padding: 0.35rem 0.35rem !important;
  box-sizing: border-box !important;
  background-color: transparent !important;
}

[data-theme="dark"] .sidebar-bottom-action {
  background-color: transparent !important;
}

.sidebar-collapsed .sidebar-bottom-action {
  padding: 0.35rem 0.25rem !important;
}

.sidebar-bottom-action .sidebar-nav-item {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  border-radius: 0.375rem !important;
  padding: 0.5rem 0.6rem !important;
  text-decoration: none !important;
  color: inherit !important;
  font-weight: 400 !important;
  font-size: 0.88rem !important;
  transition: all 0.2s ease !important;
}

.sidebar-bottom-action .sidebar-nav-item:hover {
  background-color: rgba(0, 0, 0, 0.05) !important;
  color: var(--theme-primary) !important;
}

[data-theme="dark"] .sidebar-bottom-action .sidebar-nav-item:hover {
  background-color: rgba(255, 255, 255, 0.06) !important;
}

.sidebar-bottom-action .sidebar-nav-item.active {
  background-color: var(--theme-primary) !important;
  color: #ffffff !important;
}

.sidebar-bottom-action .sidebar-nav-item.active i {
  color: #ffffff !important;
}

.sidebar-collapsed .sidebar-bottom-action .sidebar-nav-item {
  justify-content: center !important;
  padding: 0.55rem 0 !important;
}

.sidebar-collapsed .sidebar-bottom-action .sidebar-nav-item i {
  margin-right: 0 !important;
  width: 100% !important;
  text-align: center !important;
}

.sidebar-collapsed .sidebar-bottom-action .sidebar-text {
  display: none !important;
}

/* 60px Uzunluk ve 30px Yükseklik Kaydırmalı Checkbox (Toggle Switch) */
.dx-switch-60x30 {
  position: relative !important;
  display: inline-block !important;
  width: 60px !important;
  height: 30px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  flex-shrink: 0 !important;
}

.dx-switch-60x30 input {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
}

.dx-switch-60x30 .dx-slider-round {
  position: absolute !important;
  cursor: pointer !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: #cbd5e1 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 30px !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

.dx-switch-60x30 .dx-slider-round:before {
  position: absolute !important;
  content: "" !important;
  height: 24px !important;
  width: 24px !important;
  left: 3px !important;
  bottom: 3px !important;
  background-color: #ffffff !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25) !important;
}

.dx-switch-60x30 input:checked + .dx-slider-round {
  background-color: var(--theme-primary, #2563eb) !important;
}

.dx-switch-60x30 input:checked + .dx-slider-round:before {
  transform: translateX(30px) !important;
}

[data-theme="dark"] .dx-switch-60x30 .dx-slider-round {
  background-color: #4a453e !important;
}

[data-theme="dark"] .dx-switch-60x30 input:checked + .dx-slider-round {
  background-color: var(--theme-primary, #2563eb) !important;
}

/* 3rem (48px) Yükseklikte Yatayda Yayılmış Yetki Kartı */
.dx-perm-card-row {
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 1.25rem !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  margin-bottom: 0.45rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.18s ease-in-out !important;
  box-sizing: border-box !important;
}

.dx-perm-card-row:hover {
  border-color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-1px) !important;
}

[data-theme="dark"] .dx-perm-card-row {
  background: #23201d !important;
  border-color: #3f3a34 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25) !important;
}

[data-theme="dark"] .dx-perm-card-row:hover {
  background: #2a2622 !important;
  border-color: var(--theme-primary, #2563eb) !important;
}

/* Kartın Sol Kısmı (İşlem Adı .8rem bold 600, Açıklama .6rem bold 600 tema rengi) */
.dx-perm-card-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-right: 1rem !important;
}

.dx-perm-card-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

[data-theme="dark"] .dx-perm-card-title {
  color: #f8fafc !important;
}

.dx-perm-card-desc {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  color: var(--theme-primary, #2563eb) !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Kartın Orta (Okuma) ve Sağ (Yazma) Toggle Grupları */
.dx-perm-card-toggle-group {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-shrink: 0 !important;
}

.dx-perm-card-toggle-group.toggle-group-center {
  margin: 0 1.5rem !important;
}

.dx-perm-toggle-label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  min-width: 48px !important;
  text-align: right !important;
  user-select: none !important;
}

[data-theme="dark"] .dx-perm-toggle-label {
  color: #94a3b8 !important;
}

/* Hesap Ayarları Sayfası Genel Konteyner & Kartlar */
.dx-account-page-container {
  padding: 1rem 1.5rem !important;
  height: 100% !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

.dx-account-avatar-box {
  width: 6rem !important;
  height: 8rem !important;
  min-width: 6rem !important;
  min-height: 8rem !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  border: 2px solid var(--theme-primary, #2563eb) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) !important;
}

.dx-account-tab-btn {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 0.6rem 1.2rem !important;
  border-radius: 6px !important;
  transition: all 0.15s ease-in-out !important;
}

/* =========================================================================
   GENEL TAB PAGE & CARD KARANLIK TEMA (DARK THEME) UYUMU
   ========================================================================= */
[data-theme="dark"] .dx-page-mode .card,
[data-theme="dark"] .dx-teachers-layout .card,
[data-theme="dark"] .dx-account-layout .card,
[data-theme="dark"] .dx-todo-layout .card {
  background-color: #242220 !important;
  border-color: #38342f !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-page-mode .bg-white,
[data-theme="dark"] .dx-teachers-layout .bg-white,
[data-theme="dark"] .dx-account-layout .bg-white,
[data-theme="dark"] .dx-todo-layout .bg-white {
  background-color: #242220 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-page-mode .bg-light,
[data-theme="dark"] .dx-teachers-layout .bg-light,
[data-theme="dark"] .dx-account-layout .bg-light,
[data-theme="dark"] .dx-todo-layout .bg-light {
  background-color: #2e2b27 !important;
  color: #e2e8f0 !important;
}

[data-theme="dark"] .dx-page-mode .text-dark,
[data-theme="dark"] .dx-teachers-layout .text-dark,
[data-theme="dark"] .dx-account-layout .text-dark,
[data-theme="dark"] .dx-todo-layout .text-dark {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-page-mode .text-muted,
[data-theme="dark"] .dx-teachers-layout .text-muted,
[data-theme="dark"] .dx-account-layout .text-muted,
[data-theme="dark"] .dx-todo-layout .text-muted {
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-page-mode .border,
[data-theme="dark"] .dx-page-mode .border-bottom,
[data-theme="dark"] .dx-page-mode .border-top,
[data-theme="dark"] .dx-page-mode .border-start,
[data-theme="dark"] .dx-page-mode .border-end,
[data-theme="dark"] .dx-account-layout .border,
[data-theme="dark"] .dx-account-layout .border-bottom,
[data-theme="dark"] .dx-account-layout .border-top,
[data-theme="dark"] .dx-todo-layout .border,
[data-theme="dark"] .dx-todo-layout .border-bottom,
[data-theme="dark"] .dx-todo-layout .border-top,
[data-theme="dark"] .dx-perms-header {
  border-color: #38342f !important;
}

[data-theme="dark"] .dx-page-mode .form-control,
[data-theme="dark"] .dx-page-mode .form-select,
[data-theme="dark"] .dx-account-layout .form-control,
[data-theme="dark"] .dx-account-layout .form-select,
[data-theme="dark"] .dx-todo-layout .form-control,
[data-theme="dark"] .dx-todo-layout .form-select {
  background-color: #1e1c1a !important;
  border-color: #38342f !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .dx-account-layout .input-group-text,
[data-theme="dark"] .dx-todo-layout .input-group-text {
  background-color: #2b2824 !important;
  border-color: #38342f !important;
  color: #94a3b8 !important;
}

[data-theme="dark"] .dx-page-mode .form-control:focus,
[data-theme="dark"] .dx-page-mode .form-select:focus,
[data-theme="dark"] .dx-account-layout .form-control:focus,
[data-theme="dark"] .dx-account-layout .form-select:focus,
[data-theme="dark"] .dx-todo-layout .form-control:focus,
[data-theme="dark"] .dx-todo-layout .form-select:focus {
  background-color: #242220 !important;
  border-color: var(--theme-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 0.25rem rgba(var(--theme-primary-rgb, 37, 99, 235), 0.25) !important;
}

[data-theme="dark"] .dx-page-mode .form-control::placeholder,
[data-theme="dark"] .dx-account-layout .form-control::placeholder,
[data-theme="dark"] .dx-todo-layout .form-control::placeholder {
  color: #64748b !important;
}

[data-theme="dark"] .dx-page-mode .form-check-input,
[data-theme="dark"] .dx-account-layout .form-check-input,
[data-theme="dark"] .dx-todo-layout .form-check-input {
  background-color: #2e2b27;
  border-color: #4a453f;
}

[data-theme="dark"] .dx-page-mode .form-check-input:checked,
[data-theme="dark"] .dx-account-layout .form-check-input:checked,
[data-theme="dark"] .dx-todo-layout .form-check-input:checked {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
}

[data-theme="dark"] .dx-page-mode .badge.bg-light,
[data-theme="dark"] .dx-account-layout .badge.bg-light,
[data-theme="dark"] .dx-todo-layout .badge.bg-light {
  background-color: #2e2b27 !important;
  color: #cbd5e1 !important;
  border-color: #38342f !important;
}

[data-theme="dark"] .dx-page-mode .bg-primary-subtle,
[data-theme="dark"] .dx-account-layout .bg-primary-subtle,
[data-theme="dark"] .dx-todo-layout .bg-primary-subtle {
  background-color: rgba(37, 99, 235, 0.18) !important;
  color: #93c5fd !important;
  border-color: rgba(37, 99, 235, 0.3) !important;
}

[data-theme="dark"] .dx-page-mode .bg-success-subtle,
[data-theme="dark"] .dx-account-layout .bg-success-subtle,
[data-theme="dark"] .dx-todo-layout .bg-success-subtle {
  background-color: rgba(22, 163, 74, 0.18) !important;
  color: #86efac !important;
  border-color: rgba(22, 163, 74, 0.3) !important;
}

[data-theme="dark"] .dx-page-mode .bg-danger-subtle,
[data-theme="dark"] .dx-account-layout .bg-danger-subtle,
[data-theme="dark"] .dx-todo-layout .bg-danger-subtle {
  background-color: rgba(220, 38, 38, 0.18) !important;
  color: #fca5a5 !important;
  border-color: rgba(220, 38, 38, 0.3) !important;
}

[data-theme="dark"] .dx-page-mode .bg-warning-subtle,
[data-theme="dark"] .dx-account-layout .bg-warning-subtle,
[data-theme="dark"] .dx-todo-layout .bg-warning-subtle {
  background-color: rgba(234, 179, 8, 0.18) !important;
  color: #fde047 !important;
  border-color: rgba(234, 179, 8, 0.3) !important;
}

[data-theme="dark"] .dx-page-mode .bg-info-subtle,
[data-theme="dark"] .dx-account-layout .bg-info-subtle,
[data-theme="dark"] .dx-todo-layout .bg-info-subtle {
  background-color: rgba(14, 165, 233, 0.18) !important;
  color: #7dd3fc !important;
  border-color: rgba(14, 165, 233, 0.3) !important;
}

[data-theme="dark"] .dx-page-mode .bg-secondary-subtle,
[data-theme="dark"] .dx-account-layout .bg-secondary-subtle,
[data-theme="dark"] .dx-todo-layout .bg-secondary-subtle {
  background-color: rgba(148, 163, 184, 0.18) !important;
  color: #cbd5e1 !important;
  border-color: rgba(148, 163, 184, 0.3) !important;
}

/* =========================================================================
   TODO (YAPILACAKLAR) MODÜLÜ BİLEŞEN VE DÜZEN STİLLERİ
   ========================================================================= */
.dx-todo-item-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  transition: all 0.15s ease-in-out;
}

.dx-todo-item-card:hover {
  border-color: var(--theme-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}

.dx-todo-item-card.completed {
  opacity: 0.65;
  background: #f8fafc;
}

.dx-todo-item-card.completed .dx-todo-title {
  text-decoration: line-through;
  color: #94a3b8;
}

[data-theme="dark"] .dx-todo-item-card {
  background: #242220;
  border-color: #38342f;
  color: #f1f5f9;
}

[data-theme="dark"] .dx-todo-item-card:hover {
  background: #2a2724;
  border-color: var(--theme-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .dx-todo-item-card.completed {
  background: #1c1a18;
  border-color: #2e2b27;
}

.dx-todo-check-btn {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
  padding: 0;
  color: transparent;
}

.dx-todo-check-btn:hover {
  border-color: var(--theme-primary);
}

.dx-todo-check-btn.checked {
  background: var(--theme-primary);
  border-color: var(--theme-primary);
  color: #ffffff;
}

.dx-todo-title {
  font-size: 0.825rem;
  font-weight: 600;
  color: inherit;
  line-height: 1.3;
}

.dx-todo-desc {
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 2px;
  line-height: 1.25;
}

[data-theme="dark"] .dx-todo-desc {
  color: #94a3b8;
}

.dx-todo-priority-pill {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* 60px Yüksekliğinde Content Alanına Yayılan Todo Kartı */
.dx-todo-row-card {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 1rem !important;
  border-radius: 8px !important;
  margin-bottom: 0.45rem !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  transition: transform 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease !important;
}

.dx-todo-row-card:hover {
  border-color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  transform: translateY(-1px) !important;
}

.dx-todo-row-card.completed {
  opacity: 0.65 !important;
  background: #f8fafc !important;
}

[data-theme="dark"] .dx-todo-row-card {
  background: #242220 !important;
  border-color: #38342f !important;
}

[data-theme="dark"] .dx-todo-row-card:hover {
  background: #2a2724 !important;
  border-color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .dx-todo-row-card.completed {
  background: #1c1a18 !important;
  border-color: #2e2b27 !important;
}

.dx-todo-row-card .dx-todo-row-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--theme-primary, #2563eb) !important;
  line-height: 1.25 !important;
}

.dx-todo-row-card .dx-todo-row-desc {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: #64748b !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
}

[data-theme="dark"] .dx-todo-row-card .dx-todo-row-desc {
  color: #ffffff !important;
}

.dx-todo-row-left {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.dx-todo-row-right {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-shrink: 0 !important;
  margin-left: 0.75rem !important;
}

/* =========================================================================
   240x180px Todo Box Card Görünümü
   ========================================================================= */
.dx-todo-cards-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  align-items: flex-start !important;
}

.dx-todo-box-card {
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  height: 180px !important;
  min-height: 180px !important;
  max-height: 180px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.dx-todo-box-card:hover {
  transform: translateY(-2px) !important;
  border-color: var(--theme-primary, #2563eb) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

/* Tamamlanan görevler: Siyah .1 opacity arka plan (header & footer dahil) */
.dx-todo-box-card.completed,
.dx-todo-row-card.completed {
  background-color: rgba(0, 0, 0, 0.1) !important;
  border-color: rgba(0, 0, 0, 0.18) !important;
  opacity: 0.88 !important;
}

.dx-todo-box-card.completed .dx-todo-box-title,
.dx-todo-row-card.completed .dx-todo-row-title {
  text-decoration: line-through !important;
  opacity: 0.75 !important;
}

[data-theme="dark"] .dx-todo-box-card.completed,
[data-theme="dark"] .dx-todo-row-card.completed {
  background-color: rgba(0, 0, 0, 0.35) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Öncelik Kart Renkleri: Pastel parlama yapmayan tonlar */
.dx-todo-box-card.priority-high:not(.completed) {
  background-color: rgba(239, 68, 68, 0.2) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}

.dx-todo-box-card.priority-medium:not(.completed) {
  background-color: rgba(234, 179, 8, 0.2) !important;
  border-color: rgba(234, 179, 8, 0.35) !important;
}

.dx-todo-box-card.priority-low:not(.completed) {
  background-color: rgba(59, 130, 246, 0.1) !important;
  border-color: rgba(59, 130, 246, 0.25) !important;
}

.dx-todo-row-card.priority-high:not(.completed) {
  background-color: rgba(239, 68, 68, 0.12) !important;
  border-left: 4px solid rgba(239, 68, 68, 0.5) !important;
}

.dx-todo-row-card.priority-medium:not(.completed) {
  background-color: rgba(234, 179, 8, 0.12) !important;
  border-left: 4px solid rgba(234, 179, 8, 0.5) !important;
}

.dx-todo-row-card.priority-low:not(.completed) {
  background-color: rgba(59, 130, 246, 0.08) !important;
  border-left: 4px solid rgba(59, 130, 246, 0.5) !important;
}

[data-theme="dark"] .dx-todo-box-card.priority-high:not(.completed) {
  background-color: rgba(239, 68, 68, 0.16) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}

[data-theme="dark"] .dx-todo-box-card.priority-medium:not(.completed) {
  background-color: rgba(234, 179, 8, 0.16) !important;
  border-color: rgba(234, 179, 8, 0.35) !important;
}

[data-theme="dark"] .dx-todo-box-card.priority-low:not(.completed) {
  background-color: rgba(59, 130, 246, 0.1) !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
}

/* Header: 2rem yükseklik, başlık ve kategori etiketi */
.dx-todo-box-header {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.35rem !important;
  padding: 0 0.6rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  background-color: transparent !important;
  box-sizing: border-box !important;
}

.dx-todo-box-card.completed .dx-todo-box-header {
  background-color: transparent !important;
  border-bottom-color: rgba(0, 0, 0, 0.1) !important;
}

[data-theme="dark"] .dx-todo-box-header {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-todo-box-card.completed .dx-todo-box-header {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

/* Başlık: .8rem bold 600 tema rengi, satır yüksekliği .8rem, max 2 satır, sığmazsa ... */
.dx-todo-box-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--theme-primary, #2563eb) !important;
  line-height: 0.8rem !important;
  max-height: 1.6rem !important;
  flex: 1 !important;
  min-width: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word !important;
}

.dx-todo-box-badge {
  flex-shrink: 0 !important;
  font-size: 0.62rem !important;
  max-width: 85px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  background-color: rgba(100, 116, 139, 0.25) !important;
  border: 1px solid rgba(100, 116, 139, 0.4) !important;
}

/* Body: .7rem bold 500 tema siyah - beyaz yazı tema ile uyumlu */
.dx-todo-box-body {
  flex: 1 !important;
  min-height: 0 !important;
  padding: 0.4rem 0.6rem !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: var(--text-dark, #1e293b) !important;
  background-color: transparent !important;
  overflow-y: auto !important;
  word-break: break-word !important;
}

.dx-todo-box-card.completed .dx-todo-box-body {
  background-color: transparent !important;
}

[data-theme="dark"] .dx-todo-box-body {
  color: #f1f5f9 !important;
}

/* Footer: Header ile aynı yükseklik (2rem) ve yapı */
.dx-todo-box-footer {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 0.6rem !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  background-color: transparent !important;
  box-sizing: border-box !important;
}

.dx-todo-box-card.completed .dx-todo-box-footer {
  background-color: transparent !important;
  border-top-color: rgba(0, 0, 0, 0.1) !important;
}

[data-theme="dark"] .dx-todo-box-footer {
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-todo-box-card.completed .dx-todo-box-footer {
  border-top-color: rgba(255, 255, 255, 0.06) !important;
}

.dx-todo-box-footer-date {
  font-size: 0.65rem !important;
  color: #64748b !important;
}

[data-theme="dark"] .dx-todo-box-footer-date {
  color: #94a3b8 !important;
}

/* Etiketler (Badges) .4 Opacity */
.dx-badge-priority-high {
  background-color: rgba(239, 68, 68, 0.4) !important;
  color: #991b1b !important;
  border: 1px solid rgba(239, 68, 68, 0.6) !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .dx-badge-priority-high {
  color: #fee2e2 !important;
  border-color: rgba(239, 68, 68, 0.7) !important;
}

.dx-badge-priority-medium {
  background-color: rgba(234, 179, 8, 0.4) !important;
  color: #854d0e !important;
  border: 1px solid rgba(234, 179, 8, 0.6) !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .dx-badge-priority-medium {
  color: #fef08a !important;
  border-color: rgba(234, 179, 8, 0.7) !important;
}

.dx-badge-priority-low {
  background-color: rgba(59, 130, 246, 0.4) !important;
  color: #1e3a8a !important;
  border: 1px solid rgba(59, 130, 246, 0.6) !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .dx-badge-priority-low {
  color: #dbeafe !important;
  border-color: rgba(59, 130, 246, 0.7) !important;
}

/* Modal Öncelik Seçim Butonları */
.dx-priority-opt {
  transition: all 0.15s ease-in-out !important;
  cursor: pointer !important;
}

.dx-priority-opt:hover {
  filter: brightness(0.95) !important;
}

.dx-priority-opt.active {
  font-weight: 700 !important;
}

[data-theme="dark"] .dx-priority-opt[data-priority="low"] {
  color: #93c5fd !important;
}

[data-theme="dark"] .dx-priority-opt[data-priority="medium"] {
  color: #fde047 !important;
}

[data-theme="dark"] .dx-priority-opt[data-priority="high"] {
  color: #fca5a5 !important;
}

/* =========================================================================
   MERKEZİ ACCORDION FİLTRE VE PANEL GENİŞLİK KURALLARI
   - Accordion filtre menüsü genişliği sabittir, ara boyutlara daraltılamaz:
     * 800px ve üzeri ekranlarda: Normal Form (DAİMA sabit 240px)
     * 800px altı ekranlarda: Only-Icon Form (DAİMA sabit 56px)
   - Sol menü only-icon formunda iken (56px) boşalan alana content yayılır,
     sol margin daima 1rem olarak korunur.
   - Sağ bilgi paneli: 1000px altı ekranlarda görünmez, boşalan alana content yayılır,
     sağ margin 0 olur.
   - Content başlıkları: .8rem bold 600 tema rengi
   ========================================================================= */

/* Content Başlıkları: .8rem bold 600 tema rengi */
.dx-todo-layout .dx-content-title,
.dx-todo-layout h5.dx-content-title,
#dxTodoGridContainer .dx-content-title,
#dxTodoGridContainer h5 {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--theme-primary, #2563eb) !important;
}

/* Standart (>= 800px): Normal Form (Sabit 200px) */
@media (min-width: 800px) {
  .dx-left-accordion:not(.only-icon):not(.icon-only),
  #dxLeftAccordion:not(.only-icon):not(.icon-only),
  #dxCoursesLeftAccordion:not(.only-icon):not(.icon-only),
  #dxClassesLeftPane:not(.only-icon):not(.icon-only),
  #dxDutiesLeftPane:not(.only-icon):not(.icon-only),
  #dxTodoLeftAccordion:not(.only-icon):not(.icon-only),
  .dx-teachers-layout:not(.has-left-icon-only) .dx-left-accordion,
  .dx-courses-layout:not(.has-left-icon-only) .dx-left-accordion,
  .dx-classes-layout:not(.has-left-icon-only) .dx-left-accordion,
  .dx-duties-layout:not(.has-left-icon-only) .dx-left-accordion,
  .dx-todo-layout:not(.has-left-icon-only) .dx-left-accordion {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    flex: 0 0 200px !important;
  }

  #dxVicePrincipalLayoutRoot #dxVpLeftPane,
  #dxVicePrincipalLayoutRoot .dx-left-accordion {
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
  }

  /* Yapılacaklar (Todo) Modülü: 2-Panelli Grid (Sağ panel kaldırıldı, content tam yayılır) */
  .dx-todo-layout {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    grid-template-areas: "left center" !important;
  }

  .dx-todo-layout.has-left-icon-only {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    grid-template-areas: "left center" !important;
  }

  .dx-todo-layout.no-left-pane {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "center" !important;
  }
}

/* Yapılacaklar Modülü: Sağ panel her çözünürlükte tamamen kaldırılmıştır */
.dx-todo-layout .dx-right-info,
#dxTodoRightInfo {
  display: none !important;
}

.dx-todo-layout #dxTodoGridContainer,
.dx-todo-layout .dx-grid-container {
  margin-right: 0 !important;
}

/* 800px Altı Ekranlar (< 800px): Tüm sayfalarda DAİMA Only-Icon Form (Sabit 50px) */
@media (max-width: 799.98px) {
  .dx-left-accordion,
  #dxLeftAccordion,
  #dxCoursesLeftAccordion,
  #dxClassesLeftPane,
  #dxDutiesLeftPane,
  #dxTodoLeftAccordion,
  .dx-teachers-layout .dx-left-accordion,
  .dx-courses-layout .dx-left-accordion,
  .dx-classes-layout .dx-left-accordion,
  .dx-duties-layout .dx-left-accordion,
  .dx-todo-layout .dx-left-accordion {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    flex: 0 0 50px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 6px 0 !important;
    box-sizing: border-box !important;
  }

  .dx-left-accordion .dx-accordion-group,
  #dxLeftAccordion .dx-accordion-group,
  #dxCoursesLeftAccordion .dx-accordion-group,
  #dxClassesLeftPane .dx-accordion-group,
  #dxDutiesLeftPane .dx-accordion-group,
  #dxTodoLeftAccordion .dx-accordion-group {
    width: 50px !important;
    margin: 3px auto !important;
    border-bottom: none !important;
  }

  .dx-left-accordion .dx-accordion-header,
  #dxLeftAccordion .dx-accordion-header,
  #dxCoursesLeftAccordion .dx-accordion-header,
  #dxClassesLeftPane .dx-accordion-header,
  #dxDutiesLeftPane .dx-accordion-header,
  #dxTodoLeftAccordion .dx-accordion-header {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  [data-theme="dark"] .dx-left-accordion .dx-accordion-header,
  [data-theme="dark"] #dxLeftAccordion .dx-accordion-header,
  [data-theme="dark"] #dxCoursesLeftAccordion .dx-accordion-header,
  [data-theme="dark"] #dxClassesLeftPane .dx-accordion-header,
  [data-theme="dark"] #dxDutiesLeftPane .dx-accordion-header,
  [data-theme="dark"] #dxTodoLeftAccordion .dx-accordion-header {
    background: #242220 !important;
    border-color: #38342f !important;
    color: #cbd5e1 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) !important;
  }

  /* Only-icon modunda yalnızca metin ve okları gizle, ikon taşıyıcı span ve ikon daima görünür kalsın */
  .dx-left-accordion .dx-accordion-header .dx-acc-title-text,
  .dx-left-accordion .dx-accordion-header .dx-acc-chevron,
  .dx-left-accordion .dx-accordion-header .dx-acc-chevron-wrap,
  .dx-left-accordion .dx-accordion-header .dx-acc-arrow,
  .dx-left-accordion .dx-accordion-header i.fa-chevron-down,
  .dx-left-accordion .dx-accordion-header i.fa-chevron-up,
  .dx-left-accordion .dx-accordion-header i.fa-angle-down,
  .dx-left-accordion .dx-accordion-header i.dx-acc-chevron,
  .dx-left-accordion .dx-accordion-header .count-badge,
  .dx-left-accordion .dx-accordion-header .dx-acc-badge,
  #dxLeftAccordion .dx-accordion-header .dx-acc-title-text,
  #dxLeftAccordion .dx-accordion-header .dx-acc-chevron,
  #dxLeftAccordion .dx-accordion-header .dx-acc-chevron-wrap,
  #dxCoursesLeftAccordion .dx-accordion-header .dx-acc-title-text,
  #dxCoursesLeftAccordion .dx-accordion-header .dx-acc-chevron,
  #dxClassesLeftPane .dx-accordion-header .dx-acc-title-text,
  #dxClassesLeftPane .dx-accordion-header .dx-acc-chevron,
  #dxDutiesLeftPane .dx-accordion-header .dx-acc-title-text,
  #dxDutiesLeftPane .dx-accordion-header .dx-acc-chevron,
  #dxTodoLeftAccordion .dx-accordion-header .dx-acc-title-text,
  #dxTodoLeftAccordion .dx-accordion-header .dx-acc-chevron {
    display: none !important;
  }

  .dx-left-accordion .dx-accordion-header span.dx-acc-title-wrap,
  .dx-left-accordion .dx-accordion-header span.text-truncate,
  #dxLeftAccordion .dx-accordion-header span.dx-acc-title-wrap,
  #dxLeftAccordion .dx-accordion-header span.text-truncate,
  #dxCoursesLeftAccordion .dx-accordion-header span.dx-acc-title-wrap,
  #dxCoursesLeftAccordion .dx-accordion-header span.text-truncate,
  #dxClassesLeftPane .dx-accordion-header span.dx-acc-title-wrap,
  #dxClassesLeftPane .dx-accordion-header span.text-truncate,
  #dxDutiesLeftPane .dx-accordion-header span.dx-acc-title-wrap,
  #dxDutiesLeftPane .dx-accordion-header span.text-truncate,
  #dxTodoLeftAccordion .dx-accordion-header span.dx-acc-title-wrap,
  #dxTodoLeftAccordion .dx-accordion-header span.text-truncate {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .dx-left-accordion .dx-accordion-header i,
  #dxLeftAccordion .dx-accordion-header i,
  #dxCoursesLeftAccordion .dx-accordion-header i,
  #dxClassesLeftPane .dx-accordion-header i,
  #dxDutiesLeftPane .dx-accordion-header i,
  #dxTodoLeftAccordion .dx-accordion-header i {
    display: inline-block !important;
    font-size: 1.35rem !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .dx-left-accordion .dx-accordion-body,
  #dxLeftAccordion .dx-accordion-body,
  #dxCoursesLeftAccordion .dx-accordion-body,
  #dxClassesLeftPane .dx-accordion-body,
  #dxDutiesLeftPane .dx-accordion-body,
  #dxTodoLeftAccordion .dx-accordion-body {
    display: none !important;
  }

  /* Boşalan alana content yayılır (50px minmax(0, 1fr)) */
  .dx-teachers-layout,
  .dx-courses-layout,
  .dx-classes-layout,
  .dx-duties-layout,
  .dx-todo-layout {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  .dx-teachers-layout.no-left-pane,
  .dx-courses-layout.no-left-pane,
  .dx-classes-layout.no-left-pane,
  .dx-duties-layout.no-left-pane,
  .dx-todo-layout.no-left-pane {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .dx-courses-layout .dx-grid-container,
  .dx-classes-layout .dx-grid-container,
  .dx-duties-layout .dx-grid-container,
  #dxCoursesGridContainer,
  #dxClassesGridContainer,
  #dxDutiesGridContainer {
    margin-left: 12px !important;
    margin-right: 0 !important;
  }

  .dx-teachers-layout.has-right-pane .dx-grid-container,
  .dx-teachers-layout:has(#dxRightInfo:not([style*="display: none"]):not([style*="display:none"])) .dx-grid-container {
    margin-left: 12px !important;
    margin-right: 12px !important;
    width: auto !important;
  }

  .dx-teachers-layout.no-right-pane .dx-grid-container,
  .dx-teachers-layout:has(#dxRightInfo[style*="display: none"]) .dx-grid-container,
  .dx-teachers-layout:has(#dxRightInfo[style*="display:none"]) .dx-grid-container {
    margin-left: 12px !important;
    margin-right: 0 !important;
    width: auto !important;
  }

  #dxTodoGridContainer,
  .dx-todo-layout .dx-grid-container {
    margin-left: 12px !important;
    margin-right: 0 !important;
  }

  .dx-todo-layout.no-left-pane .dx-grid-container,
  #dxTodoLayout.no-left-pane #dxTodoGridContainer {
    margin-left: 0 !important;
  }
}

/* Ses Tanıma (Speech Recognition) ve Mikrofon Buton Stilleri */
@keyframes micPulse {
  0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
  70% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

.recording-active {
  animation: micPulse 1.5s infinite !important;
  background-color: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
}

.dx-mic-btn {
  transition: all 0.2s ease-in-out;
}

.dx-mic-btn:hover {
  background-color: rgba(37, 99, 235, 0.08);
  color: var(--theme-primary, #2563eb);
}

/* =========================================================================
   MODERN TOAST & ASYNC CONFIRM MODAL STYLES
   ========================================================================= */
.dx-toast-container {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 999999 !important;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  pointer-events: none;
  max-width: 380px;
  width: 100%;
}

.dx-toast {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border-radius: 8px;
  padding: 10px 14px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(0, 0, 0, 0.08);
  opacity: 0;
  transform: translateY(16px);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.dx-toast.dx-toast-show {
  opacity: 1;
  transform: translateY(0);
}

.dx-toast.dx-toast-hide {
  opacity: 0;
  transform: translateX(30px);
}

.dx-toast-icon {
  font-size: 1.15rem;
  margin-right: 10px;
  margin-top: 1px;
  flex-shrink: 0;
}

.dx-toast-content {
  flex: 1;
  min-width: 0;
}

.dx-toast-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 2px;
}

.dx-toast-message {
  font-size: 0.76rem;
  color: #475569;
  line-height: 1.35;
}

.dx-toast-close {
  background: transparent;
  border: none;
  font-size: 1.1rem;
  line-height: 1;
  color: #94a3b8;
  cursor: pointer;
  padding: 0 0 0 8px;
  margin-top: -2px;
}

.dx-toast-close:hover {
  color: #334155;
}

.dx-toast-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 100%;
  background: rgba(0, 0, 0, 0.05);
}

.dx-toast-progress-bar {
  height: 100%;
  background: var(--theme-primary, #2563eb);
  animation: toastProgress linear forwards;
}

.dx-toast-success .dx-toast-progress-bar { background: #16a34a; }
.dx-toast-info .dx-toast-progress-bar { background: #2563eb; }
.dx-toast-warning .dx-toast-progress-bar { background: #eab308; }
.dx-toast-error .dx-toast-progress-bar { background: #dc2626; }

@keyframes toastProgress {
  from { width: 100%; }
  to { width: 0%; }
}

[data-theme="dark"] .dx-toast {
  background: #242220;
  border-color: #38342f;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .dx-toast-title { color: #f8fafc; }
[data-theme="dark"] .dx-toast-message { color: #cbd5e1; }

/* Async Confirm Modal (Legacy Support) */
.dx-confirm-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2147483647 !important;
  background: rgba(15, 23, 42, 0.75) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 1rem !important;
  box-sizing: border-box !important;
  animation: confirmFadeIn 0.2s ease-out;
}

.dx-confirm-overlay.dx-confirm-fadeout {
  opacity: 0;
  transition: opacity 0.2s ease-out;
}

@keyframes confirmFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.dx-confirm-box {
  background: #ffffff;
  border-radius: 8px;
  width: 400px;
  max-width: 90vw;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  transform: scale(0.95);
  animation: confirmPop 0.2s ease-out forwards;
}

@keyframes confirmPop {
  to { transform: scale(1); }
}

[data-theme="dark"] .dx-confirm-box {
  background: #242220;
  border: 1px solid #38342f;
}

.dx-confirm-header {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 0.84rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.dx-confirm-body {
  padding: 16px;
  font-size: 0.8rem;
  color: #334155;
  line-height: 1.45;
}

[data-theme="dark"] .dx-confirm-body { color: #e2e8f0; }

.dx-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 16px;
  background: #f8fafc;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

[data-theme="dark"] .dx-confirm-actions { background: #1c1a18; }

/* Nöbetçi Öğretmen Tablosu: Nöbetçi Öğretmen Sütunu Font Ayarları (.7rem bold 700) */
#dxDutiesGridContainer td.col-ogretmenAdiSoyadi,
#dxDutiesGridContainer td.col-ogretmenAdiSoyadi span,
#dxDutiesGridContainer td.col-ogretmenAdiSoyadi .dx-cell-name,
#dxDutiesGridContainer td.col-ogretmenAdiSoyadi .dx-cell-text,
.dx-duties-table td.col-ogretmenAdiSoyadi,
.dx-duties-table td.col-ogretmenAdiSoyadi span,
.dx-duties-table td.col-ogretmenAdiSoyadi .dx-cell-name,
.dx-duties-table td.col-ogretmenAdiSoyadi .dx-cell-text {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   DASHBOARD 5rem HIZLI BİLGİ VE NÖBETÇİ SLIDER SATIRI (KOYU PASTEL CAM KARTLAR)
   ========================================================================== */
.dx-dash-quick-row {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 2px !important;
  margin-top: 0.15rem !important;
  margin-bottom: 0.35rem !important;
  height: 5rem !important;
  min-height: 5rem !important;
  max-height: 5rem !important;
  flex: 0 0 5rem !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.dx-quick-card {
  position: relative;
  height: 5rem !important;
  min-height: 5rem !important;
  max-height: 5rem !important;
  border-radius: 0.4rem !important;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0.18rem 0.38rem !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.28), inset 0 1px 1px 0 rgba(255, 255, 255, 0.35);
  color: #ffffff !important;
  user-select: none;
  min-width: 0 !important;
  transition: box-shadow 0.18s ease, filter 0.18s ease;
}

.dx-quick-card:hover {
  transform: none !important;
  box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.38), inset 0 1px 1px 0 rgba(255, 255, 255, 0.45);
  filter: brightness(1.05);
}

.dx-quick-glass-layer {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.04) 55%, rgba(0, 0, 0, 0.14) 100%);
  pointer-events: none;
  border-radius: 0.4rem;
  z-index: 1;
}

.dx-quick-card-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  min-width: 0;
}

.dx-quick-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 1.05rem !important;
  min-height: 1.05rem !important;
  gap: 2px;
}

.dx-quick-title {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.1px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.dx-quick-btn {
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3px;
  color: #ffffff !important;
  width: 18px;
  height: 18px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.55rem;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
  flex-shrink: 0;
}

.dx-quick-btn:hover {
  background: rgba(255, 255, 255, 0.32);
  transform: scale(1.06);
}

.dx-quick-btn:active {
  transform: scale(0.94);
}

.dx-quick-val-row {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
  margin-top: -2px;
  line-height: 1;
  overflow: hidden;
}

.dx-quick-number {
  font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1;
  letter-spacing: -0.5px;
  font-family: inherit;
}

.dx-quick-unit {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.dx-quick-val-text {
  font-size: clamp(0.72rem, 1vw, 0.82rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}

.dx-quick-sub {
  font-size: 0.56rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

/* Nöbetçi Slider Kartı Öğeleri */
.dx-quick-slider-controls {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.dx-quick-slider-btn {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  color: #ffffff !important;
  width: 16px;
  height: 16px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.52rem;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
}

.dx-quick-slider-btn:hover {
  background: rgba(255, 255, 255, 0.36);
  transform: scale(1.05);
}

.dx-quick-slider-counter {
  font-size: 0.54rem !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  min-width: 18px;
  text-align: center;
}

.dx-quick-duty-place-line {
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  color: #fde047 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
  gap: 2px;
  margin-top: 0;
  line-height: 1.1;
}

.dx-quick-duty-person-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 1px;
  overflow: hidden;
}

.dx-quick-duty-avatar {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
}

.dx-quick-duty-person-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  line-height: 1.15;
}

.dx-quick-duty-person-name {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dx-quick-duty-person-sub {
  font-size: 0.54rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Küçük ekranlarda kartların alt satıra kırılmasını engelleyen tek satır yatay kaydırma */
@media (max-width: 680px) {
  .dx-dash-quick-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .dx-dash-quick-row::-webkit-scrollbar {
    display: none !important;
  }
  .dx-quick-card {
    flex: 0 0 145px !important;
    width: 145px !important;
  }
}

/* ==========================================================================
   DASHBOARD 240px GÜNLÜK OKUL DERS PROGRAMI MATRİSİ (KOYU PASTEL CAM TABLO)
   ========================================================================== */
.dx-dash-schedule-row {
  position: relative !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  margin-top: 0.15rem !important;
  margin-bottom: 0.2rem !important;
  border-radius: 0.4rem !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: linear-gradient(135deg, rgba(22, 26, 33, 0.94) 0%, rgba(15, 18, 24, 0.97) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

[data-theme="light"] .dx-dash-schedule-row {
  background: linear-gradient(135deg, rgba(24, 32, 47, 0.95) 0%, rgba(17, 24, 39, 0.98) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Cam Parlaklığı Efekti Katmanı */
.dx-schedule-glass-layer {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.01) 40%, rgba(0, 0, 0, 0.22) 100%) !important;
  z-index: 1 !important;
}

.dx-schedule-inner {
  position: relative !important;
  z-index: 2 !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0.35rem 0.5rem 0.4rem 0.5rem !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Üst Başlık Çubuğu, Legend ve Slider */
.dx-schedule-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 28px !important;
  min-height: 28px !important;
  margin-bottom: 5px !important;
  padding: 0 0.5rem !important;
  flex-shrink: 0 !important;
}

.dx-schedule-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
}

.dx-schedule-title {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: 0.3px;
  display: flex !important;
  align-items: center !important;
}

.dx-schedule-day-nav {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 0.85rem !important;
  margin-right: 0.85rem !important;
}

.dx-schedule-date-badge {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  color: #93c5fd !important;
  background: rgba(59, 130, 246, 0.22) !important;
  border: 1px solid rgba(147, 197, 253, 0.35) !important;
  padding: 2px 8px !important;
  margin: 0 3px !important;
  border-radius: 10px !important;
}

.dx-schedule-legend {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 0.85rem !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  color: #cbd5e1 !important;
}

.dx-legend-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 2px 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.dx-legend-dot {
  width: 9px !important;
  height: 9px !important;
  border-radius: 2px !important;
  display: inline-block !important;
  margin-right: 2px !important;
}

.dx-legend-dot.dot-absent {
  background: #eab308 !important; /* Sarı zemin */
}

.dx-legend-dot.dot-subst {
  background: #f97316 !important; /* Turuncu zemin */
}

.dx-legend-dot.dot-empty {
  background: #ef4444 !important; /* Kırmızı zemin */
}

.dx-legend-dot.dot-duty,
.dx-legend-item:has(.dot-duty) {
  display: none !important;
}

.dx-legend-dot.dot-normal {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important; /* Beyaz çerçeve */
}

/* Slider Navigasyonu */
.dx-schedule-slider-controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
  margin-right: 0.25rem !important;
}

.dx-sched-nav-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.6rem !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: all 0.15s ease !important;
}

.dx-sched-nav-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: #ffffff !important;
}

.dx-sched-page-indicator {
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  color: #f1f5f9 !important;
  padding: 0 4px !important;
}

/* Matris Tablo Sarmalayıcı */
.dx-schedule-table-wrap {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  width: 100% !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  position: relative !important;
  display: block !important;
}

/* Tablo Temel Yapısı */
.dx-schedule-matrix-table {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 1.5px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.dx-schedule-matrix-table th,
.dx-schedule-matrix-table td {
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  user-select: none !important;
}

/* Başlık Satırı (Sınıflar) */
.dx-schedule-matrix-table thead {
  flex-shrink: 0 !important;
}

.dx-schedule-matrix-table thead tr {
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
}

.dx-schedule-matrix-table th {
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 3px !important;
  color: #ffffff !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: all 0.15s ease !important;
}

.dx-schedule-matrix-table th.col-class-header:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}

.dx-schedule-matrix-table th.col-hour-header {
  width: 64px !important;
  min-width: 56px !important;
  max-width: 70px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #94a3b8 !important;
  font-size: 0.6rem !important;
  padding: 1px 2px !important;
  text-align: center !important;
}

.dx-schedule-matrix-table tbody {
  height: auto !important;
}

.dx-schedule-matrix-table tbody tr {
  height: 23px !important;
  min-height: 23px !important;
  max-height: 23px !important;
}

/* Sabit 1. Sütun (Saat İndeksi & Zaman Aralığı - 2 Satır) */
.dx-schedule-matrix-table td.cell-hour-idx {
  width: 64px !important;
  min-width: 56px !important;
  max-width: 70px !important;
  height: 23px !important;
  min-height: 23px !important;
  max-height: 23px !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 3px !important;
  color: #cbd5e1 !important;
  padding: 0 2px !important;
  text-align: center !important;
  vertical-align: middle !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.dx-schedule-matrix-table td.cell-hour-idx .sched-hour-num {
  font-size: 0.56rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

.dx-schedule-matrix-table td.cell-hour-idx .sched-hour-time {
  font-size: 0.48rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  white-space: nowrap !important;
  margin-top: 1px !important;
  letter-spacing: -0.2px !important;
}

.dx-schedule-matrix-table td.cell-hour-idx.active-hour {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.55) 0%, rgba(245, 158, 11, 0.75) 100%) !important;
  border: 1px solid #facc15 !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px #fef08a, 0 0 8px rgba(250, 204, 21, 0.5) !important;
}

.dx-schedule-matrix-table td.cell-hour-idx.active-hour .sched-hour-time {
  color: #fef08a !important;
  font-weight: 700 !important;
}

/* Hücre Genel Tasarımı */
.dx-sched-cell {
  position: relative !important;
  height: 23px !important;
  min-height: 23px !important;
  max-height: 23px !important;
  border-radius: 3px !important;
  transition: transform 0.12s ease, filter 0.15s ease, box-shadow 0.15s ease !important;
  cursor: default !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dx-sched-cell.is-clickable {
  cursor: pointer !important;
}

.dx-sched-cell.is-clickable:hover {
  filter: brightness(1.3) !important;
  transform: scale(1.05) !important;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.28) !important;
  z-index: 10 !important;
}

.dx-sched-cell-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  height: 23px !important;
  max-height: 23px !important;
  padding: 0 !important;
  line-height: 1.05 !important;
  box-sizing: border-box !important;
}

.sched-cell-top {
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  width: 100% !important;
  padding: 0 1px !important;
}

.sched-cell-bottom {
  font-size: 0.5rem !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  width: 100% !important;
  padding: 0 1px !important;
}

/* ==============================================================
   RENK VE DURUM KURALLARI (USER SPECS)
   1. bu tabloda olmayan öğretmenler sarı arka plan ile
   2. ikame dersler turuncu arka zemin ile
   3. boş dersler kırmızı arka zemin ile
   4. nöbetçi öğretmenler sarı çerçeve ile
   5. diğerleri beyaz çerçeve ve normal arka zemin ile
   6. saate göre dersin bulunduğu satır aynı rengin biraz daha açık rengi ile
   ============================================================== */

/* 1. Devamsız Öğretmen (Sarı Arka Plan) */
.dx-sched-cell.cell-absent {
  background: rgba(202, 138, 4, 0.72) !important;
  color: #ffffff !important;
}

/* 2. İkame Ders (Turuncu Arka Zemin) */
.dx-sched-cell.cell-subst {
  background: rgba(234, 88, 12, 0.75) !important;
  color: #ffffff !important;
}

/* 3. Boş Ders (Kırmızı Arka Zemin) */
.dx-sched-cell.cell-empty {
  background: rgba(220, 38, 38, 0.72) !important;
  color: #ffffff !important;
}

.dx-sched-cell.cell-empty .sched-cell-top {
  color: #fecaca !important;
  font-weight: 900 !important;
}

/* 4. Nöbetçi Öğretmen (Kullanıcı Talebi: Nöbetçilerin dersini gösteren border kaldırıldı) */
.dx-schedule-matrix-table td.dx-sched-cell.cell-duty-border,
.dx-sched-cell.cell-duty-border {
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  outline: none !important;
  box-shadow: none !important;
}

.dx-schedule-matrix-table td.dx-sched-cell.cell-duty-border .dx-sched-cell-inner {
  border: none !important;
  box-shadow: none !important;
}

/* 5. Standart / Diğerleri (Beyaz Çerçeve + Pastel Zemin) */
.dx-sched-cell.cell-standard {
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(255, 255, 255, 0.05);
}

/* 6. Saate Göre Dersin Bulunduğu Satır (Canlı Zaman Takibi & Belirgin Vurgulama) */
.dx-schedule-matrix-table tr.row-current-hour {
  position: relative !important;
}

.dx-schedule-matrix-table tr.row-current-hour td.dx-sched-cell {
  filter: brightness(1.36) saturate(1.15) !important;
  box-shadow: inset 0 0 0 1px rgba(250, 204, 21, 0.4), 0 0 6px rgba(250, 204, 21, 0.15) !important;
}

.dx-schedule-matrix-table tr.row-current-hour td.dx-sched-cell.cell-standard {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(250, 204, 21, 0.45) !important;
}

.dx-schedule-matrix-table tr.row-current-hour td.dx-sched-cell.cell-duty-border,
.dx-schedule-matrix-table tr.row-current-hour td.dx-sched-cell.cell-duty-border.cell-standard {
  border: 1px solid rgba(250, 204, 21, 0.45) !important;
  outline: none !important;
  box-shadow: inset 0 0 0 1px rgba(250, 204, 21, 0.4) !important;
}

/* Yatay Scroll Kesinlikle Yasak (Asla Yatay Scroll Çıkarma) */
.dx-schedule-table-wrap {
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}

.dx-schedule-matrix-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

/* ==========================================================================
   DASHBOARD KARTLARI HOVER HAREKETİNİ ENGELLE (ANİMASYONU KALDIR)
   ========================================================================== */
.dx-dash-hero-row .dx-glass-card,
.dx-dash-hero-row .dx-glass-card:hover,
.dx-dash-quick-row .dx-quick-card,
.dx-dash-quick-row .dx-quick-card:hover,
.dx-dash-schedule-row,
.dx-dash-schedule-row:hover,
.dx-dash-tasks-row .dx-dash-task-card,
.dx-dash-tasks-row .dx-dash-task-card:hover,
.dx-sched-stat-card,
.dx-sched-stat-card:hover,
.duty-card:hover,
.dx-glass-card:hover {
  transform: none !important;
}

/* ==========================================================================
   DASHBOARD GÜNLÜK GÖREVLER ÖNCELİK SATIRI (DEĞİŞKEN YÜKSEKLİKLİ PASTEL CAM KARTLAR)
   ========================================================================== */
.dx-dash-tasks-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin-top: 0.15rem !important;
  margin-bottom: 0.15rem !important;
  flex: 0 0 var(--dx-tasks-height, clamp(60px, 9vh, 120px)) !important;
  min-height: 60px !important;
  max-height: 130px !important;
  height: var(--dx-tasks-height, clamp(60px, 9vh, 120px)) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: height 0.2s ease;
}

.dx-dash-task-card {
  position: relative !important;
  height: 100% !important;
  min-height: 60px !important;
  max-height: 130px !important;
  border-radius: 0.4rem !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  color: #ffffff !important;
  user-select: none !important;
  min-width: 0 !important;
  cursor: pointer !important;
  transition: box-shadow 0.18s ease, filter 0.18s ease, border-color 0.18s ease !important;
  transform: none !important;
}

.dx-dash-task-card:hover {
  transform: none !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.45) !important;
  filter: brightness(1.08) !important;
}

/* Cam Efekti Parlak Yansıma Katmanı */
.dx-dash-task-glass-layer {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.04) 50%, rgba(0, 0, 0, 0.12) 100%) !important;
  pointer-events: none !important;
  border-radius: 0.4rem !important;
  z-index: 1 !important;
}

.dx-dash-task-inner {
  position: relative !important;
  z-index: 2 !important;
  height: 100% !important;
  min-height: 60px !important;
  max-height: 130px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0.25rem 0.65rem !important;
  gap: 0.55rem !important;
  box-sizing: border-box !important;
}

.dx-dash-task-left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  flex-shrink: 0 !important;
  min-width: 82px !important;
}

.dx-dash-task-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  line-height: 1 !important;
}

.dx-dash-task-icon {
  font-size: 0.72rem !important;
}

.dx-dash-task-priority-name {
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
}

.dx-dash-task-count-row {
  display: flex !important;
  align-items: center !important;
}

.dx-dash-task-count-pill {
  display: inline-block !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  padding: 1px 7px !important;
  border-radius: 10px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.dx-dash-task-divider {
  width: 1px !important;
  height: 60% !important;
  min-height: 26px !important;
  max-height: 100px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  flex-shrink: 0 !important;
}

/* Görev Slider / Ticker Bölümü */
.dx-dash-task-slider {
  flex: 1 !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Dikey Çoklu Öğe Sonsuz Ticker Sarmalayıcı */
.dx-dash-task-ticker-container {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.dx-dash-task-ticker-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.dx-dash-task-ticker-item {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 2px 4px !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-sizing: border-box !important;
  transition: background 0.15s ease, opacity 0.25s ease, transform 0.25s ease, height 0.25s ease, margin 0.25s ease, padding 0.25s ease !important;
  flex-shrink: 0 !important;
}

.dx-dash-task-ticker-item:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

/* Tik / Tamamlandı Butonu */
.dx-task-check-btn {
  background: transparent !important;
  border: none !important;
  padding: 0 2px !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.85rem !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  transition: color 0.18s ease, transform 0.18s ease !important;
}

.dx-task-check-btn:hover {
  color: #22c55e !important;
  transform: scale(1.25) !important;
}

.dx-task-check-btn.checked {
  color: #22c55e !important;
}

/* Görev Başlık ve Alt Metin Gövdesi */
.dx-dash-task-item-body {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1.15 !important;
  cursor: pointer !important;
}

.dx-dash-task-item-title {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.dx-dash-task-item-sub {
  font-size: 0.58rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Boş Görev Durumu */
.dx-dash-task-empty {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  overflow: hidden !important;
}

/* Açık Tema Uyarlamaları */
[data-theme="light"] .dx-dash-task-ticker-item {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .dx-dash-task-ticker-item:hover {
  background: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .dx-task-check-btn {
  color: rgba(0, 0, 0, 0.45) !important;
}
[data-theme="light"] .dx-task-check-btn:hover {
  color: #16a34a !important;
}

.dx-dash-task-slide {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  animation: dxTaskFadeIn 0.3s ease !important;
}

@keyframes dxTaskFadeIn {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

.dx-dash-task-slide-title {
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
  margin-bottom: 1px !important;
}

.dx-dash-task-slide-sub {
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  line-height: 1.2 !important;
}

.dx-dash-task-mini-indicator {
  font-size: 0.58rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

.dx-dash-task-link-btn {
  font-size: 0.68rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
  padding: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
}

.dx-dash-task-card:hover .dx-dash-task-link-btn {
  color: #ffffff !important;
}

/* 1. SARI KART (Orta Öncelik - Pastel Amber Cam) */
.card-task-medium {
  background: linear-gradient(135deg, rgba(161, 98, 7, 0.32) 0%, rgba(234, 179, 8, 0.22) 50%, rgba(113, 63, 18, 0.35) 100%) !important;
  border: 1px solid rgba(234, 179, 8, 0.45) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
}

.card-task-medium .dx-dash-task-priority-name {
  color: #fef08a !important;
}

.card-task-medium .pill-medium {
  background: rgba(234, 179, 8, 0.35) !important;
  color: #fef08a !important;
  border: 1px solid rgba(234, 179, 8, 0.55) !important;
}

/* 2. GÖKMAVİSİ KART (Düşük Öncelik - Pastel Gökmavisi Cam) */
.card-task-low {
  background: linear-gradient(135deg, rgba(3, 105, 161, 0.32) 0%, rgba(14, 165, 233, 0.22) 50%, rgba(12, 74, 110, 0.35) 100%) !important;
  border: 1px solid rgba(14, 165, 233, 0.45) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
}

.card-task-low .dx-dash-task-priority-name {
  color: #bae6fd !important;
}

.card-task-low .pill-low {
  background: rgba(14, 165, 233, 0.35) !important;
  color: #bae6fd !important;
  border: 1px solid rgba(14, 165, 233, 0.55) !important;
}

/* 3. KIRMIZI KART (Yüksek Öncelik - Pastel Kırmızı Cam) */
.card-task-high {
  background: linear-gradient(135deg, rgba(185, 28, 28, 0.32) 0%, rgba(239, 68, 68, 0.22) 50%, rgba(127, 29, 29, 0.35) 100%) !important;
  border: 1px solid rgba(239, 68, 68, 0.45) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
}

.card-task-high .dx-dash-task-priority-name {
  color: #fecaca !important;
}

.card-task-high .pill-high {
  background: rgba(239, 68, 68, 0.35) !important;
  color: #fecaca !important;
  border: 1px solid rgba(239, 68, 68, 0.55) !important;
}

/* Açık Tema Uyarlamaları (Light Mode) */
[data-theme="light"] .card-task-medium {
  background: linear-gradient(135deg, rgba(254, 240, 138, 0.55) 0%, rgba(253, 224, 71, 0.4) 100%) !important;
  border-color: rgba(202, 138, 4, 0.4) !important;
}
[data-theme="light"] .card-task-medium .dx-dash-task-priority-name,
[data-theme="light"] .card-task-medium .dx-dash-task-slide-title {
  color: #713f12 !important;
}
[data-theme="light"] .card-task-medium .dx-dash-task-slide-sub,
[data-theme="light"] .card-task-medium .dx-dash-task-link-btn {
  color: #854d0e !important;
}

[data-theme="light"] .card-task-low {
  background: linear-gradient(135deg, rgba(186, 230, 253, 0.55) 0%, rgba(125, 211, 252, 0.4) 100%) !important;
  border-color: rgba(2, 132, 199, 0.4) !important;
}
[data-theme="light"] .card-task-low .dx-dash-task-priority-name,
[data-theme="light"] .card-task-low .dx-dash-task-slide-title {
  color: #0c4a6e !important;
}
[data-theme="light"] .card-task-low .dx-dash-task-slide-sub,
[data-theme="light"] .card-task-low .dx-dash-task-link-btn {
  color: #0369a1 !important;
}

[data-theme="light"] .card-task-high {
  background: linear-gradient(135deg, rgba(254, 202, 202, 0.55) 0%, rgba(252, 165, 165, 0.4) 100%) !important;
  border-color: rgba(220, 38, 38, 0.4) !important;
}
[data-theme="light"] .card-task-high .dx-dash-task-priority-name,
[data-theme="light"] .card-task-high .dx-dash-task-slide-title {
  color: #7f1d1d !important;
}
[data-theme="light"] .card-task-high .dx-dash-task-slide-sub,
[data-theme="light"] .card-task-high .dx-dash-task-link-btn {
  color: #991b1b !important;
}

/* Küçük Ekranlar (Mobil / Tablet) */
@media (max-width: 768px) {
  .dx-dash-tasks-row {
    gap: 4px !important;
  }
  .dx-dash-task-inner {
    padding: 0.2rem 0.4rem !important;
    gap: 0.35rem !important;
  }
  .dx-dash-task-left {
    min-width: 68px !important;
  }
  .dx-dash-task-priority-name {
    font-size: 0.62rem !important;
  }
  .dx-dash-task-count-pill {
    font-size: 0.58rem !important;
    padding: 1px 4px !important;
  }
  .dx-dash-task-slide-title {
    font-size: 0.65rem !important;
  }
  .dx-dash-task-slide-sub {
    font-size: 0.56rem !important;
  }
}

/* Görev Arama ve Yönlendirme Vurgu Efekti */
@keyframes dxTaskHighlightPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.7);
    outline: 2px solid #2563eb;
    transform: scale(1.01);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(37, 99, 235, 0);
    outline: 2px solid #3b82f6;
    transform: scale(1.02);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
    outline: 2px solid transparent;
    transform: scale(1);
  }
}

.dx-task-highlight {
  animation: dxTaskHighlightPulse 1.8s ease-in-out 2 !important;
  z-index: 10 !important;
  position: relative !important;
}

/* ==========================================================================
   SINIFLARIN HAFTALIK DERS MÜFREDATI MODAL DÜZENİ & POPUP FONT SİSTEMİ
   ========================================================================== */
#dxClassCurriculumModal {
  font-family: inherit;
}

#dxClassCurriculumModal .dx-curriculum-modal-dialog {
  border-radius: 8px !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.35), 0 10px 10px -5px rgba(0, 0, 0, 0.15) !important;
}

[data-theme="dark"] #dxClassCurriculumModal .dx-curriculum-modal-dialog {
  background: #1e1c1a !important;
  border-color: #38342f !important;
}

[data-theme="dark"] #dxClassCurriculumModal .dx-nt-header {
  background: #242220 !important;
  border-bottom-color: #38342f !important;
}

[data-theme="dark"] #dxClassCurriculumModal .dx-card-modal-footer {
  background: #242220 !important;
  border-top-color: #38342f !important;
}

/* ==========================================================================
   SINIFLARIN HAFTALIK DERS MÜFREDATI MODAL KESİN TİPOGRAFİ KURALLARI
   ========================================================================== */
#dxClassCurriculumModal .dx-nt-title,
#dxClassCurriculumModal .dx-nt-title * {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 0.8rem !important;
}

#dxClassCurriculumModal .dx-curriculum-desc,
#dxClassCurriculumModal .dx-curriculum-desc * {
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  line-height: 0.8rem !important;
}

#dxClassCurriculumModal .dx-crud-table {
  width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
}

#dxClassCurriculumModal #dxCurriculumTable thead th,
#dxClassCurriculumModal #dxCurriculumTable thead th * {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  padding: 6px 10px !important;
}

#dxClassCurriculumModal .dx-crud-table thead th {
  background: #f1f5f9;
  border-bottom: 2px solid #e2e8f0;
  color: #1e293b;
}

[data-theme="dark"] #dxClassCurriculumModal .dx-crud-table thead th {
  background: #242220 !important;
  border-bottom: 2px solid #38342f !important;
  color: #cbd5e1 !important;
}

#dxClassCurriculumModal #dxCurriculumTable tbody td,
#dxClassCurriculumModal #dxCurriculumTable tbody td *,
#dxClassCurriculumModal .dx-table-title,
#dxClassCurriculumModal .dx-table-main-text,
#dxClassCurriculumModal .badge {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
}

#dxClassCurriculumModal .dx-crud-table tbody td {
  padding: 5px 10px !important;
  border-bottom: 1px solid #f1f5f9;
}

[data-theme="dark"] #dxClassCurriculumModal .dx-crud-table tbody td {
  border-bottom-color: rgba(255, 255, 255, 0.05) !important;
}

#dxClassCurriculumModal .dx-modal-btn-cancel {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   NÖBET GÖREV ÇİZELGESİ BASKI & ŞABLON TASARIMCISI (KARANLIK TEMA & KARTSIZ DÜZEN)
   ========================================================================== */
#dxDutyPrintDesignerModal {
  background: rgba(0, 0, 0, 0.75) !important;
}

#dxDutyPrintDesignerModal .dx-pd-header {
  background: #242220 !important;
  border-bottom: 1px solid #38342f !important;
  color: #f8fafc !important;
}

#dxDutyPrintDesignerModal .dx-pd-header-icon {
  background: rgba(var(--theme-primary-rgb, 0, 128, 128), 0.15) !important;
  color: var(--theme-primary, #008080) !important;
}

/* Başlıktaki Font ve Butonların Texti (.8rem bold 600) */
#dxDutyPrintDesignerModal .dx-pd-header .dx-pd-title,
#dxDutyPrintDesignerModal .dx-pd-header .dx-pd-title * {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

#dxDutyPrintDesignerModal .dx-pd-header .btn,
#dxDutyPrintDesignerModal .dx-pd-header button,
#dxDutyPrintDesignerModal .dx-pd-header-actions .btn,
#dxDutyPrintDesignerModal .dx-pd-header-actions button {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

#dxDutyPrintDesignerModal .dx-pd-header .btn-outline-secondary {
  background: #2E2B27 !important;
  border-color: #38342f !important;
  color: #cbd5e1 !important;
}

#dxDutyPrintDesignerModal .dx-pd-header .btn-outline-secondary:hover,
#dxDutyPrintDesignerModal .dx-pd-header .btn-outline-secondary.active {
  background: var(--theme-primary, #008080) !important;
  border-color: var(--theme-primary, #008080) !important;
  color: #ffffff !important;
}

/* Soldaki Side Panel (Karanlık Tema & Kartsız Düz Yerleşim) */
#dxDutyPrintDesignerModal .dx-pd-sidebar {
  background: #1e1c1a !important;
  border-right: 1px solid #38342f !important;
  color: #e2e8f0 !important;
  padding: 1rem !important;
}

/* Kartları Tamamen Kaldır - Doğrudan Panele Eklenen Bölümler */
#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-section,
#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-group {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0 1rem 0 !important;
  margin-bottom: 1rem !important;
  border-bottom: 1px solid #2e2b27 !important;
  border-radius: 0 !important;
}

#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-section:last-child,
#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-group:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Soldaki Side Menünün Yazı Başlıkları (.8rem bold 600) */
#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header,
#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header span:not(.badge),
#dxDutyPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header i {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--theme-primary, #008080) !important;
}

/* Soldaki Side Menünün Input Textleri (.6rem regular) ve Doğrudan Karanlık Tema Stilleri */
#dxDutyPrintDesignerModal .dx-pd-sidebar input[type="text"],
#dxDutyPrintDesignerModal .dx-pd-sidebar input[type="number"],
#dxDutyPrintDesignerModal .dx-pd-sidebar textarea,
#dxDutyPrintDesignerModal .dx-pd-sidebar select,
#dxDutyPrintDesignerModal .dx-pd-sidebar .form-control,
#dxDutyPrintDesignerModal .dx-pd-sidebar .form-select {
  font-size: 0.6rem !important;
  font-weight: 400 !important; /* regular */
  background: #2E2B27 !important;
  border: 1px solid #38342f !important;
  color: #f8fafc !important;
  border-radius: 4px !important;
}

#dxDutyPrintDesignerModal .dx-pd-sidebar input:focus,
#dxDutyPrintDesignerModal .dx-pd-sidebar textarea:focus,
#dxDutyPrintDesignerModal .dx-pd-sidebar select:focus,
#dxDutyPrintDesignerModal .dx-pd-sidebar .form-control:focus,
#dxDutyPrintDesignerModal .dx-pd-sidebar .form-select:focus {
  background: #2E2B27 !important;
  border-color: var(--theme-primary, #008080) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 0, 128, 128), 0.25) !important;
  outline: none !important;
}

#dxDutyPrintDesignerModal .dx-pd-sidebar input::placeholder,
#dxDutyPrintDesignerModal .dx-pd-sidebar textarea::placeholder {
  color: #64748b !important;
}

/* Soldaki Side Menü Butonlarının Fontu (.8rem bold 500) ve Buton Grupları */
#dxDutyPrintDesignerModal .dx-pd-sidebar .btn,
#dxDutyPrintDesignerModal .dx-pd-sidebar button {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
}

#dxDutyPrintDesignerModal .dx-pd-sidebar .btn-group .btn-outline-light,
#dxDutyPrintDesignerModal .dx-pd-sidebar .btn-group .btn-outline-secondary {
  background: #2E2B27 !important;
  border-color: #38342f !important;
  color: #cbd5e1 !important;
}

#dxDutyPrintDesignerModal .dx-pd-sidebar .btn-group .btn-outline-light:hover,
#dxDutyPrintDesignerModal .dx-pd-sidebar .btn-group .btn-outline-secondary:hover {
  background: #38342f !important;
  color: #ffffff !important;
}

#dxDutyPrintDesignerModal .dx-pd-sidebar .btn-group .btn-outline-light.active,
#dxDutyPrintDesignerModal .dx-pd-sidebar .btn-group .btn-outline-secondary.active {
  background: var(--theme-primary, #008080) !important;
  border-color: var(--theme-primary, #008080) !important;
  color: #ffffff !important;
}

/* Soldaki Side Menü Etiketleri (.7rem bold 500) */
#dxDutyPrintDesignerModal .dx-pd-sidebar label,
#dxDutyPrintDesignerModal .dx-pd-sidebar .form-label,
#dxDutyPrintDesignerModal .dx-pd-sidebar .form-check-label,
#dxDutyPrintDesignerModal .dx-pd-sidebar .badge,
#dxDutyPrintDesignerModal .dx-pd-sidebar .small,
#dxDutyPrintDesignerModal .dx-pd-sidebar small,
#dxDutyPrintDesignerModal .dx-pd-sidebar .text-muted {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
}

/* Sağ Preview Çalışma Masası */
#dxDutyPrintDesignerModal #dutyPdPreviewWrap {
  background: #181614 !important;
}

/* ==========================================================================
   ÖĞRETMEN LİSTESİ BASKI & ŞABLON TASARIMCISI SİDEBAR TİPOGRAFİ & AÇIK TONLAR
   ========================================================================== */
#dxPrintDesignerModal .dx-pd-sidebar {
  background: #1c1a18 !important;
  border-right: 1px solid #38342f !important;
  color: #f8fafc !important;
}

#dxPrintDesignerModal .dx-pd-sidebar .dx-pd-section {
  background: #242220 !important;
  border: 1px solid #38342f !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
}

/* Card İçi Başlıklar (.8rem bold 600) ve Canlı Açık Tonlar */
#dxPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header,
#dxPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header span:not(.badge),
#dxPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header i {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

#dxPrintDesignerModal .dx-pd-sidebar .dx-pd-section-header i {
  color: #38bdf8 !important; /* Açık ve net gökyüzü mavisi ikon */
}

/* Card İçi Açıklamalar (.6rem bold 500) ve Açık Ton Renkler */
#dxPrintDesignerModal .dx-pd-sidebar .small,
#dxPrintDesignerModal .dx-pd-sidebar small,
#dxPrintDesignerModal .dx-pd-sidebar .text-muted,
#dxPrintDesignerModal .dx-pd-sidebar label,
#dxPrintDesignerModal .dx-pd-sidebar .form-check-label {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  color: #cbd5e1 !important; /* Çok daha net ve okunur açık ton */
}

#dxPrintDesignerModal .dx-pd-sidebar .text-muted strong,
#dxPrintDesignerModal .dx-pd-sidebar label strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Input / Textarea / Select Fontu (.6rem bold 500) */
#dxPrintDesignerModal .dx-pd-sidebar input[type="text"],
#dxPrintDesignerModal .dx-pd-sidebar input[type="number"],
#dxPrintDesignerModal .dx-pd-sidebar textarea,
#dxPrintDesignerModal .dx-pd-sidebar select,
#dxPrintDesignerModal .dx-pd-sidebar .form-control,
#dxPrintDesignerModal .dx-pd-sidebar .form-select {
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  background: #2E2B27 !important;
  border: 1px solid #454039 !important;
  color: #ffffff !important;
  border-radius: 4px !important;
}

#dxPrintDesignerModal .dx-pd-sidebar input::placeholder,
#dxPrintDesignerModal .dx-pd-sidebar textarea::placeholder {
  color: #94a3b8 !important;
}

#dxPrintDesignerModal .dx-pd-sidebar input:focus,
#dxPrintDesignerModal .dx-pd-sidebar textarea:focus,
#dxPrintDesignerModal .dx-pd-sidebar select:focus,
#dxPrintDesignerModal .dx-pd-sidebar .form-control:focus,
#dxPrintDesignerModal .dx-pd-sidebar .form-select:focus {
  background: #2E2B27 !important;
  border-color: var(--theme-primary, #008080) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(var(--theme-primary-rgb, 0, 128, 128), 0.25) !important;
  outline: none !important;
}

/* Sütun Listesi Kart İçi Öğeleri */
#dxPrintDesignerModal .dx-pd-col-item {
  background: #2E2B27 !important;
  border: 1px solid #38342f !important;
}

#dxPrintDesignerModal .dx-pd-col-item label {
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  color: #f8fafc !important;
}

#dxPrintDesignerModal .dx-pd-sidebar .badge {
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  background: #38342f !important;
  color: #f8fafc !important;
  border: 1px solid #454039 !important;
}

#dxPrintDesignerModal .dx-pd-sidebar .btn-primary {
  font-size: 0.65rem !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   FULLEKRAN KULLANICI & YETKİ YÖNETİMİ POPUP MODAL STİLLERİ
   ========================================================================== */
.dx-fullscreen-user-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 100500 !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--bg-body, #f8fafc) !important;
  color: var(--text-primary, #0f172a) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  animation: pdOverlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow: hidden !important;
}

[data-theme="dark"] .dx-fullscreen-user-modal-overlay {
  background: #1c1a18 !important;
  color: #f8fafc !important;
}

.dx-fum-header {
  height: 56px;
  min-height: 56px;
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
  color: #ffffff;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
  z-index: 10;
}

[data-theme="dark"] .dx-fum-header {
  background: linear-gradient(135deg, #182236 0%, #1e3a8a 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dx-fum-header-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #ffffff;
}

.dx-fum-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  gap: 1.25rem;
}

@media (max-width: 992px) {
  .dx-fum-body {
    flex-direction: column;
  }
}

.dx-fum-left-col {
  flex: 0 0 460px;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 992px) {
  .dx-fum-left-col {
    flex: 1 1 auto;
    max-width: 100%;
  }
}

.dx-fum-right-col {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.dx-fum-card {
  background: var(--bg-card, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 10px;
  padding: 1.25rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

[data-theme="dark"] .dx-fum-card {
  background: #242220;
  border-color: #38342f;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.dx-fum-footer {
  height: 58px;
  min-height: 58px;
  background: var(--bg-card, #ffffff);
  border-top: 1px solid var(--border-color, #e2e8f0);
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.04);
  flex-shrink: 0;
  z-index: 10;
}

[data-theme="dark"] .dx-fum-footer {
  background: #242220;
  border-color: #38342f;
}

/* ==========================================================================
   EN ÜST ÖNCELİKLİ BASKI STİLLERİ (FINAL PRINT OVERRIDES) - DAİMA %100 BEYAZ SAYFA
   Karanlık tema kökleri ve modal çalışma alanlarının baskıda siyah kalmasını kesin olarak önler
   ========================================================================== */
@media print {
  html,
  html[data-theme="dark"],
  body,
  body[data-theme="dark"],
  body.dx-print-designer-open,
  body.dx-official-letter-open,
  [data-theme="dark"],
  [data-theme="dark"] body,
  #dxPrintDesignerModal,
  #dxDutyPrintDesignerModal,
  #dxVpPrintDesignerModal,
  #dxOfficialLetterModal,
  #dxTeacherDutyPrintDesignerModal,
  .teacher-duty-page,
  .dx-print-designer-overlay,
  .dx-print-designer-modal,
  .dx-pd-body,
  .dx-pd-preview-wrap,
  .dx-pd-pages-container,
  .dx-pd-a4-page-wrapper,
  .tdp-preview-wrapper,
  #vpPdPreviewWrap,
  #dutyPdPreviewWrap,
  #pdPreviewWrap,
  #dxDutyPrintDesignerModal #dutyPdPreviewWrap,
  #dxVpPrintDesignerModal .dx-pd-preview-wrap,
  #dxVpPrintDesignerModal #vpPdPreviewWrap,
  .dx-substitution-dialog {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
  }

  /* A4 Kağıdı tüm sayfayı kaplar ve tam beyazdır */
  .dx-pd-a4-paper,
  [id^="vpPdPaper_"],
  #vpPdPaper,
  .dx-official-letter-paper {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    min-height: 100% !important;
    height: 100% !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .dx-pd-a4-paper.orientation-portrait {
    min-height: 275mm !important;
  }

  .dx-pd-a4-paper.orientation-landscape {
    min-height: 188mm !important;
  }

  /* Sayfa numarası ve alt bilgi alanları daima beyaz zemin */
  .dx-pd-page-number-footer {
    background: #ffffff !important;
    background-color: #ffffff !important;
    margin-top: auto !important;
  }

  .dx-duty-footer-row,
  .vp-pd-footer-area,
  #vpPdFooterArea,
  #pdFooterArea,
  .dx-duty-footer-notes,
  .dx-duty-footer-sign,
  .vp-pd-footer-sign {
    background: #ffffff !important;
    background-color: #ffffff !important;
  }
}

/* ==========================================================================
   YETKİ VE İZİN KONTROLÜ (ACTIVE / PASSIVE PERMISSION STYLES)
   ========================================================================== */
.dx-perm-disabled,
.dx-tb-btn.dx-perm-disabled,
.btn.dx-perm-disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  filter: grayscale(80%) !important;
  pointer-events: none !important;
  user-select: none !important;
}

.sidebar-nav-item.dx-perm-disabled {
  opacity: 0.40 !important;
  cursor: not-allowed !important;
  filter: grayscale(85%) !important;
}

.sidebar-nav-item.dx-perm-disabled:hover {
  background: transparent !important;
}

.dx-readonly-badge {
  font-size: 0.72rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ==========================================================================
   GENEL POPUP FORM TAM EKRAN (FULLSCREEN) SİSTEMİ
   ========================================================================== */
.dx-card-modal-dialog.is-fullscreen,
.dx-new-teacher-dialog.is-fullscreen,
.dx-detail-modal-container.is-fullscreen,
.dx-committee-modal-dialog.is-fullscreen,
.dx-iteration-dialog.is-fullscreen,
#dxDutyIterationDialog.is-fullscreen,
.modal-dialog.is-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 100500 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
}

.dx-card-modal-dialog.is-fullscreen .modal-content,
.dx-new-teacher-dialog.is-fullscreen .dx-nt-body,
.dx-detail-modal-container.is-fullscreen .dx-detail-modal-body,
.dx-committee-modal-dialog.is-fullscreen .dx-committee-modal-body,
.dx-iteration-dialog .dx-rotation-table-wrapper,
#dxDutyIterationDialog .dx-rotation-table-wrapper,
.dx-iteration-dialog.is-fullscreen .dx-rotation-table-wrapper,
#dxDutyIterationDialog.is-fullscreen .dx-rotation-table-wrapper {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  border-radius: 0 !important;
}

.dx-detail-modal-overlay:has(.is-fullscreen),
.dx-new-teacher-overlay:has(.is-fullscreen),
.dx-submodal-overlay:has(.is-fullscreen),
.dx-fullscreen-modal-overlay,
#dxDutyIterationModalOverlay,
.modal:has(.is-fullscreen) {
  padding: 0 !important;
  margin: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.dx-modal-fullscreen-btn,
.dx-nt-fullscreen-btn,
.dx-detail-modal-fullscreen-btn {
  background: transparent !important;
  border: none !important;
  color: inherit !important;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.85rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  opacity: 0.8;
}

.dx-modal-fullscreen-btn:hover,
.dx-nt-fullscreen-btn:hover,
.dx-detail-modal-fullscreen-btn:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="dark"] .dx-modal-fullscreen-btn:hover,
[data-theme="dark"] .dx-nt-fullscreen-btn:hover,
[data-theme="dark"] .dx-detail-modal-fullscreen-btn:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

/* ==========================================================================
   AYLIK NÖBET İTERASYONU & ROTASYON YÖNETİMİ (TAM EKRAN / FULLSCREEN)
   ========================================================================== */
body.dx-duty-iteration-open {
  overflow: hidden !important;
}

#dxDutyIterationModalOverlay,
.dx-duty-iteration-fullscreen-modal,
#dxDutyIterationDialog,
.dx-iteration-dialog {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  background: var(--theme-bg-body, var(--bg-body, #f8fafc)) !important;
  color: var(--theme-text-primary, var(--text-primary, #0f172a)) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  z-index: 1005000 !important;
  box-shadow: none !important;
  animation: pdOverlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

[data-theme="dark"] #dxDutyIterationModalOverlay,
[data-theme="dark"] .dx-duty-iteration-fullscreen-modal,
[data-theme="dark"] #dxDutyIterationDialog,
[data-theme="dark"] .dx-iteration-dialog {
  background: #18191a !important;
  color: #f8fafc !important;
}

.dx-rotation-header {
  padding: 10px 20px;
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.dx-rotation-toolbar {
  padding: 10px 20px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-rotation-toolbar {
  background: #242526;
  border-bottom-color: #3a3b3c;
}

.dx-rotation-info-banner {
  padding: 8px 20px;
  background: #eff6ff;
  border-bottom: 1px solid #dbeafe;
  color: #1e40af;
  font-size: 0.76rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-rotation-info-banner {
  background: #1e293b;
  border-bottom-color: #334155;
  color: #93c5fd;
}

.dx-rotation-table-wrapper {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  background: #ffffff;
}

[data-theme="dark"] .dx-rotation-table-wrapper {
  background: #1e293b !important;
}

.dx-rotation-table {
  width: 100% !important;
  min-width: 100% !important;
  border-collapse: collapse;
}

.dx-rotation-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f1f5f9;
  color: #334155;
  font-weight: 600;
  font-size: 0.76rem;
  padding: 10px 12px;
  border-bottom: 2px solid #cbd5e1;
}

[data-theme="dark"] .dx-rotation-table th {
  background: #0f172a !important;
  color: #cbd5e1 !important;
  border-bottom-color: #334155 !important;
}

.dx-rotation-table td {
  padding: 8px 12px;
  font-size: 0.78rem;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}

[data-theme="dark"] .dx-rotation-table td {
  border-bottom-color: #334155 !important;
  color: #f1f5f9 !important;
}

#dxDutyIterationModalOverlay .dx-user-mgmt-footer,
#dxDutyIterationDialog .dx-user-mgmt-footer,
.dx-iteration-dialog .dx-user-mgmt-footer {
  flex-shrink: 0 !important;
}

[data-theme="dark"] #dxDutyIterationModalOverlay .dx-user-mgmt-footer,
[data-theme="dark"] #dxDutyIterationDialog .dx-user-mgmt-footer {
  background: #0f172a !important;
  border-top-color: #334155 !important;
  color: #94a3b8 !important;
}

[data-theme="dark"] #dxDutyIterationModalOverlay .dx-rotation-table tr:hover td,
[data-theme="dark"] #dxDutyIterationDialog .dx-rotation-table tr:hover td {
  background-color: rgba(255, 255, 255, 0.04) !important;
}

.dx-rotation-loc-select {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  border: 1.5px solid #cbd5e1;
  padding: 4px 8px !important;
  background-color: #ffffff;
  transition: all 0.15s ease;
}

.dx-rotation-loc-select.is-changed {
  border-color: #10b981 !important;
  background-color: #ecfdf5 !important;
  color: #065f46 !important;
}

.dx-rotation-loc-select.is-manual {
  border-color: #f59e0b !important;
  background-color: #fffbeb !important;
  color: #92400e !important;
}

/* ==========================================================================
   TOPLU HAFTALIK DERS PROGRAMI YÜKLEME (EXCEL) FULLEKRAN MODAL STİLLERİ
   ========================================================================== */
.dx-schedule-import-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--bg-body, #f8fafc) !important;
  color: var(--text-primary, #0f172a) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  animation: pdOverlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow: hidden !important;
}

[data-theme="dark"] .dx-schedule-import-modal-overlay {
  background: #18191a !important;
  color: #f8fafc !important;
}

.dx-sim-header {
  height: 58px;
  min-height: 58px;
  background: linear-gradient(135deg, #059669 0%, #10b981 100%);
  color: #ffffff;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
  z-index: 10;
}

[data-theme="dark"] .dx-sim-header {
  background: linear-gradient(135deg, #064e3b 0%, #059669 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dx-sim-header-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #ffffff;
}

.dx-sim-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.dx-sim-dropzone {
  border: 2px dashed #10b981;
  background: #f0fdf4;
  border-radius: 12px;
  padding: 2.25rem 1.5rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.dx-sim-dropzone:hover, .dx-sim-dropzone.dragover {
  border-color: #059669;
  background: #dcfce7;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.15);
}

[data-theme="dark"] .dx-sim-dropzone {
  background: #064e3b22;
  border-color: #059669;
}

[data-theme="dark"] .dx-sim-dropzone:hover, [data-theme="dark"] .dx-sim-dropzone.dragover {
  background: #064e3b44;
}

.dx-sim-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.15rem 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .dx-sim-card {
  background: #242526;
  border-color: #374151;
}

.dx-sim-footer {
  height: 64px;
  min-height: 64px;
  background: #ffffff;
  border-top: 1px solid #e2e8f0;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
  flex-shrink: 0;
}

[data-theme="dark"] .dx-sim-footer {
  background: #1c1d1e;
  border-top-color: #374151;
}

.dx-sim-stat-box {
  padding: 0.85rem 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

[data-theme="dark"] .dx-sim-stat-box {
  background: #1e2022;
  border-color: #374151;
}

.dx-sim-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.dx-sim-table th {
  background: #f1f5f9;
  color: #475569;
  font-weight: 600;
  padding: 8px 10px;
  border: 1px solid #e2e8f0;
  text-align: left;
}

[data-theme="dark"] .dx-sim-table th {
  background: #2d3035;
  color: #cbd5e1;
  border-color: #374151;
}

.dx-sim-table td {
  padding: 6px 10px;
  border: 1px solid #e2e8f0;
  vertical-align: middle;
}

[data-theme="dark"] .dx-sim-table td {
  border-color: #374151;
}

/* =========================================================================
   GENEL ORTAK CHECKBOX TASARIMI (MODERN DEVEXPRESS / FLUENT SİSTEMİ)
   ========================================================================= */
.form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch .form-check-input),
input[type="checkbox"]:not([role="switch"]):not(.form-switch *) {
  width: 1.15rem;
  height: 1.15rem;
  min-width: 1.15rem;
  min-height: 1.15rem;
  margin-top: 0.12rem;
  vertical-align: top;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70% 70%;
  border: 1.5px solid #cbd5e1;
  border-radius: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):hover,
input[type="checkbox"]:not([role="switch"]):not(.form-switch *):hover {
  border-color: var(--theme-primary, #2563eb);
}

.form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):focus,
input[type="checkbox"]:not([role="switch"]):not(.form-switch *):focus {
  border-color: var(--theme-primary, #2563eb);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

.form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):checked,
input[type="checkbox"]:not([role="switch"]):not(.form-switch *):checked {
  background-color: var(--theme-primary, #2563eb);
  border-color: var(--theme-primary, #2563eb);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 10 4 4 8-8'/%3e%3c/svg%3e");
}

.form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):indeterminate,
input[type="checkbox"]:not([role="switch"]):not(.form-switch *):indeterminate {
  background-color: var(--theme-primary, #2563eb);
  border-color: var(--theme-primary, #2563eb);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 10h10'/%3e%3c/svg%3e");
}

.form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):disabled,
input[type="checkbox"]:not([role="switch"]):not(.form-switch *):disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.55;
  background-color: #f1f5f9;
  border-color: #cbd5e1;
  cursor: not-allowed;
}

/* Dark mode uyum */
[data-theme="dark"] .form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch .form-check-input),
[data-theme="dark"] input[type="checkbox"]:not([role="switch"]):not(.form-switch *) {
  background-color: #1e1c1a;
  border-color: #475569;
}

[data-theme="dark"] .form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):hover,
[data-theme="dark"] input[type="checkbox"]:not([role="switch"]):not(.form-switch *):hover {
  border-color: var(--theme-primary, #3b82f6);
}

[data-theme="dark"] .form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):checked,
[data-theme="dark"] input[type="checkbox"]:not([role="switch"]):not(.form-switch *):checked {
  background-color: var(--theme-primary, #2563eb);
  border-color: var(--theme-primary, #2563eb);
}

[data-theme="dark"] .form-check-input[type="checkbox"]:not([role="switch"]):not(.form-switch *):disabled,
[data-theme="dark"] input[type="checkbox"]:not([role="switch"]):not(.form-switch *):disabled {
  background-color: #2d2a27;
  border-color: #475569;
}




/* ==========================================================================
   GÜNÜN NÖBETÇİ ÖĞRETMENLERİ POPUP FORMU VE KART TASARIMI
   ========================================================================== */
.dx-duty-modal-overlay {
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: dxFadeIn 0.15s ease-out;
}

.dx-duty-modal-dialog {
  max-width: 95vw !important;
  width: 95vw !important;
  max-height: 80vh !important;
  height: auto !important;
  background: #ffffff;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35) !important;
  border: 1px solid #e2e8f0;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
}

[data-theme="dark"] .dx-duty-modal-dialog {
  background: #1e1c1a !important;
  border-color: #38342f !important;
}

.dx-duty-modal-dialog .modal-header,
.dx-duty-modal-dialog .modal-footer {
  flex-shrink: 0 !important;
}

/* İçeriği %80 yüksekliği aşarsa YALNIZCA popup form içerisinde dikey scroll açılsın */
.dx-duty-modal-body {
  background-color: #f8fafc;
  max-height: calc(80vh - 105px) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 1rem !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
}

[data-theme="dark"] .dx-duty-modal-body {
  background-color: #0f172a;
}

/* Kartların Bulunduğu Konteyner (Dikey Liste) */
.dx-duty-cards-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
}

/* Card Görünümü - Yatayda Tam Yayılır */
.dx-duty-teacher-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 80px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dx-duty-teacher-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04) !important;
}

/* Sol Taraf: Nöbet Yeri + Nöbetçi Öğretmenlerin Listesi */
.dx-duty-card-left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 320px !important;
  flex-shrink: 0 !important;
  gap: 4px !important;
}

.dx-duty-teacher-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

/* Yuvarlak Fotoğraf */
.dx-duty-teacher-card img,
.dx-duty-card-left img,
img.dx-duty-card-photo,
.dx-duty-card-photo {
  object-fit: cover !important;
  border-radius: 50% !important;
  border: 2px solid #e2e8f0 !important;
  background-color: #f1f5f9 !important;
  flex-shrink: 0 !important;
  display: block !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

/* Resmin Yanındaki Metin Alanı */
.dx-duty-card-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  gap: 2px !important;
}

/* Nöbet Yeri */
.dx-duty-card-place {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #b45309 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-bottom: 2px !important;
}

/* Ad Soyad: .8rem bold 600 */
.dx-duty-card-name {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
}

.dx-duty-card-name:hover {
  color: #2563eb !important;
  text-decoration: underline !important;
}

/* Altında Branş */
.dx-duty-card-branch {
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  color: #64748b !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Sağ Taraf: Ders Programları Satırlar Halinde */
.dx-duty-card-right {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
}

.dx-duty-teacher-sched-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  width: 100% !important;
}

.dx-duty-sched-teacher-title {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
}

/* Ders Programı: Tek Parça Bölünmüş (Segmented) Yatay List Item */
.dx-duty-card-schedule {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Bölünmüş Segment Hücreleri */
.dx-duty-sched-segment {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  text-align: center !important;
  user-select: none !important;
  padding: 1px 2px !important;
  transition: all 0.12s ease;
}

.dx-duty-box-hour {
  font-size: 0.50rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  display: block !important;
}

.dx-duty-box-class {
  font-size: 0.60rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  display: block !important;
}

/* Derse Göre Durum Renkleri */
.dx-duty-sched-segment.has-lesson {
  background-color: #eff6ff !important;
}
.dx-duty-sched-segment.has-lesson .dx-duty-box-hour {
  color: #3b82f6 !important;
}
.dx-duty-sched-segment.has-lesson .dx-duty-box-class {
  color: #1e40af !important;
}

.dx-duty-sched-segment.is-free {
  background-color: #f8fafc !important;
}
.dx-duty-sched-segment.is-free .dx-duty-box-hour {
  color: #94a3b8 !important;
}
.dx-duty-sched-segment.is-free .dx-duty-box-class {
  color: #cbd5e1 !important;
}

/* Şu Anki Ders Vurgusu */
.dx-duty-sched-segment.is-current-hour {
  background-color: #fef3c7 !important;
  box-shadow: inset 0 0 0 1.5px #f59e0b !important;
}
.dx-duty-sched-segment.is-current-hour .dx-duty-box-hour,
.dx-duty-sched-segment.is-current-hour .dx-duty-box-class {
  color: #b45309 !important;
  font-weight: 800 !important;
}

/* Dark Mod Uyumu */
[data-theme="dark"] .dx-duty-teacher-card {
  background: #1e293b !important;
  border-color: #334155 !important;
}
[data-theme="dark"] .dx-duty-card-photo {
  border-color: #334155 !important;
  background-color: #0f172a !important;
}
[data-theme="dark"] .dx-duty-card-place {
  color: #fbbf24 !important;
}
[data-theme="dark"] .dx-duty-card-name {
  color: #f8fafc !important;
}
[data-theme="dark"] .dx-duty-sched-teacher-title {
  color: #f8fafc !important;
}
[data-theme="dark"] .dx-duty-card-branch {
  color: #94a3b8 !important;
}
[data-theme="dark"] .dx-duty-sched-box.has-lesson {
  background-color: #1e3a5f !important;
  border-color: #2563eb !important;
}
[data-theme="dark"] .dx-duty-sched-box.has-lesson .dx-duty-box-hour {
  color: #93c5fd !important;
}
[data-theme="dark"] .dx-duty-sched-box.has-lesson .dx-duty-box-class {
  color: #e0f2fe !important;
}
[data-theme="dark"] .dx-duty-sched-box.is-free {
  background-color: #0f172a !important;
  border-color: #1e293b !important;
}
[data-theme="dark"] .dx-duty-sched-box.is-free .dx-duty-box-hour {
  color: #475569 !important;
}
[data-theme="dark"] .dx-duty-sched-box.is-free .dx-duty-box-class {
  color: #334155 !important;
}

/* ==========================================================================
   TEMA AYARLARININ SIKICA VE KATI BİR ŞEKİLDE UYGULANMASI
   (Tüm Sayfalar ve Koyu/Açık Arka Planlı Popup Formlar)
   ========================================================================== */

/* 1. Koyu Temada Tüm Sayfalar ve Elemanlar */
[data-theme="dark"] {
  --theme-bg-body: #1e1c1a !important;
  --theme-surface: #242220 !important;
  --theme-surface-subtle: #2d2a26 !important;
  --theme-border: #38342f !important;
  --theme-text: #f8fafc !important;
  --theme-text-main: #f8fafc !important;
  --theme-text-muted: #94a3b8 !important;
  background-color: #1e1c1a !important;
  color: #f8fafc !important;
}

[data-theme="dark"] body {
  background-color: #1e1c1a !important;
  color: #f8fafc !important;
}

/* Koyu Arkaplanlı Tüm Popup Formlar, Modallar ve Dialoglar */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dx-detail-modal-container,
[data-theme="dark"] .dx-new-teacher-dialog,
[data-theme="dark"] .dx-committee-modal-dialog,
[data-theme="dark"] .dx-card-modal-dialog,
[data-theme="dark"] .dx-duty-modal,
[data-theme="dark"] .dx-duty-popup,
[data-theme="dark"] .dx-modal-box,
[data-theme="dark"] .swal2-popup,
[data-theme="dark"] .swal2-modal,
[data-theme="dark"] .excel-filter-popup,
[data-theme="dark"] .dropdown-menu {
  background-color: #1e293b !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.7), 0 8px 10px -6px rgba(0, 0, 0, 0.7) !important;
}

/* Modal ve Popup Başlık / Alt Bilgi Çubukları */
[data-theme="dark"] .modal-header,
[data-theme="dark"] .dx-nt-header,
[data-theme="dark"] .dx-card-modal-header,
[data-theme="dark"] .excel-filter-header {
  background-color: #0f172a !important;
  border-bottom: 1px solid #334155 !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .modal-footer,
[data-theme="dark"] .dx-nt-footer,
[data-theme="dark"] .dx-card-modal-footer,
[data-theme="dark"] .excel-filter-footer {
  background-color: #0f172a !important;
  border-top: 1px solid #334155 !important;
  color: #f8fafc !important;
}

/* Popup Form İçi Grid Kutuları, Tablolar ve Kartlar */
[data-theme="dark"] .dx-modal-grid-box {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}

[data-theme="dark"] .dx-modal-grid-header {
  background-color: #0f172a !important;
  border-bottom: 1px solid #334155 !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .dx-modal-grid-box .dx-table th {
  background-color: #0f172a !important;
  color: #cbd5e1 !important;
  border-color: #334155 !important;
}

[data-theme="dark"] .dx-modal-grid-box .dx-table td {
  border-color: #334155 !important;
  color: #f1f5f9 !important;
  background-color: transparent !important;
}

[data-theme="dark"] .dx-modal-grid-box .dx-table tr:hover td {
  background-color: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .dx-grid-footer {
  background-color: #0f172a !important;
  border-top: 1px solid #334155 !important;
  color: #94a3b8 !important;
}

/* Detail Modallar Koyu Tema Güvencesi */
[data-theme="dark"] .dx-detail-tabs-bar {
  background: #1a2234 !important;
  border-bottom-color: #334155 !important;
}

[data-theme="dark"] .dx-detail-modal-container [style*="background: #ffffff"],
[data-theme="dark"] .dx-detail-modal-container [style*="background: #fff"],
[data-theme="dark"] .dx-detail-modal-container [style*="background-color: #ffffff"],
[data-theme="dark"] .dx-detail-modal-container [style*="background-color: #fff"] {
  background-color: #1e293b !important;
}

[data-theme="dark"] .dx-detail-modal-container [style*="background: #f8fafc"],
[data-theme="dark"] .dx-detail-modal-container [style*="background-color: #f8fafc"] {
  background-color: #0f172a !important;
}

[data-theme="dark"] .dx-detail-modal-container [style*="border-bottom: 1px solid #e2e8f0"],
[data-theme="dark"] .dx-detail-modal-container [style*="border-top: 1px solid #e2e8f0"],
[data-theme="dark"] .dx-detail-modal-container [style*="border: 1px solid #e2e8f0"] {
  border-color: #334155 !important;
}

/* Form Elemanları (Input, Select, Textarea) Koyu Tema Standartları */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
  background-color: #0f172a !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: #0f172a !important;
  color: #ffffff !important;
  border-color: var(--theme-primary, #008080) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--theme-primary-rgb, 0, 128, 128), 0.25) !important;
}

[data-theme="dark"] .form-label,
[data-theme="dark"] label {
  color: #cbd5e1 !important;
}

/* Koyu Temada Metin Kontrastı Güvencesi (Fiziksel A4 baskı kağıtları HARİÇ tutulur) */
[data-theme="dark"] .text-dark:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *),
[data-theme="dark"] .text-body:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *),
[data-theme="dark"] [style*="color: #0f172a"]:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *),
[data-theme="dark"] [style*="color: #1e293b"]:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *),
[data-theme="dark"] [style*="color: #000"]:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *) {
  color: #f8fafc !important;
}

[data-theme="dark"] .text-muted:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *),
[data-theme="dark"] [style*="color: #64748b"]:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *),
[data-theme="dark"] [style*="color: #475569"]:not(.dx-pd-a4-paper *):not([id^="pdA4Paper_"] *):not(#pdA4Paper *):not([id^="vpPdPaper_"] *):not(#vpPdPaper *):not(.teacher-duty-page *):not(.dx-official-letter-paper *):not(.dx-official-committee-paper *):not(.dx-official-club-paper *):not(.dx-meeting-sheet *):not(.dx-door-sign-sheet *):not(.dx-veli-izin-sheet *):not(.dx-veli-half *):not(.dx-veli-izin-voucher *):not(#dxClubsDocContainer *):not(#dxCommitteesDocContainer *):not(.print-paper *):not(.a4-sheet *):not(.a4-paper *):not(.official-print-paper *) {
  color: #94a3b8 !important;
}

/* ==========================================================================
   A4 BASKI ALANI / FİZİKSEL KAĞIT KESİN KURALI:
   Tüm yazdırma önizleme ve A4 kağıtlarında zemin DAİMA saf beyaz (#ffffff !important),
   metinler, başlıklar ve tablo kenarlıkları DAİMA saf siyahtır (#000000 !important).
   Koyu tema (Dark Mode) dahil hiçbir kural bunu ezemez.
   ========================================================================== */
.dx-pd-a4-paper,
[id^="pdA4Paper_"],
#pdA4Paper,
[id^="vpPdPaper_"],
#vpPdPaper,
.teacher-duty-page,
.dx-official-letter-paper,
.dx-official-committee-paper,
.dx-official-club-paper,
.dx-meeting-sheet,
.dx-door-sign-sheet,
.dx-veli-izin-sheet,
.dx-veli-half,
.dx-veli-izin-voucher,
#dxClubsDocContainer > *,
#dxCommitteesDocContainer > *,
.print-paper,
.a4-sheet,
.a4-paper,
.official-print-paper,
[data-theme="dark"] .dx-pd-a4-paper,
[data-theme="dark"] [id^="pdA4Paper_"],
[data-theme="dark"] #pdA4Paper,
[data-theme="dark"] [id^="vpPdPaper_"],
[data-theme="dark"] #vpPdPaper,
[data-theme="dark"] .teacher-duty-page,
[data-theme="dark"] .dx-official-letter-paper,
[data-theme="dark"] .dx-official-committee-paper,
[data-theme="dark"] .dx-official-club-paper,
[data-theme="dark"] .dx-meeting-sheet,
[data-theme="dark"] .dx-door-sign-sheet,
[data-theme="dark"] .dx-veli-izin-sheet,
[data-theme="dark"] .dx-veli-half,
[data-theme="dark"] .dx-veli-izin-voucher,
[data-theme="dark"] #dxClubsDocContainer > *,
[data-theme="dark"] #dxCommitteesDocContainer > *,
[data-theme="dark"] .print-paper,
[data-theme="dark"] .a4-sheet,
[data-theme="dark"] .a4-paper,
[data-theme="dark"] .official-print-paper {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  color-scheme: light !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35) !important;
}

.dx-pd-a4-paper *,
[id^="pdA4Paper_"] *,
#pdA4Paper *,
[id^="vpPdPaper_"] *,
#vpPdPaper *,
.teacher-duty-page *,
.dx-official-letter-paper *,
.dx-official-committee-paper *,
.dx-official-club-paper *,
.dx-meeting-sheet *,
.dx-door-sign-sheet *:not(.dx-door-sign-room-tag),
.dx-veli-izin-sheet *,
.dx-veli-half *,
.dx-veli-izin-voucher *,
#dxClubsDocContainer *,
#dxCommitteesDocContainer *,
.print-paper *,
.a4-sheet *,
.a4-paper *,
.official-print-paper *,
[data-theme="dark"] .dx-pd-a4-paper *,
[data-theme="dark"] [id^="pdA4Paper_"] *,
[data-theme="dark"] #pdA4Paper *,
[data-theme="dark"] [id^="vpPdPaper_"] *,
[data-theme="dark"] #vpPdPaper *,
[data-theme="dark"] .teacher-duty-page *,
[data-theme="dark"] .dx-official-letter-paper *,
[data-theme="dark"] .dx-official-committee-paper *,
[data-theme="dark"] .dx-official-club-paper *,
[data-theme="dark"] .dx-meeting-sheet *,
[data-theme="dark"] .dx-door-sign-sheet *:not(.dx-door-sign-room-tag),
[data-theme="dark"] .dx-veli-izin-sheet *,
[data-theme="dark"] .dx-veli-half *,
[data-theme="dark"] .dx-veli-izin-voucher *,
[data-theme="dark"] #dxClubsDocContainer *,
[data-theme="dark"] #dxCommitteesDocContainer *,
[data-theme="dark"] .print-paper *,
[data-theme="dark"] .a4-sheet *,
[data-theme="dark"] .a4-paper *,
[data-theme="dark"] .official-print-paper * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  text-shadow: none !important;
}

.dx-pd-a4-paper table,
.dx-pd-a4-paper th,
.dx-pd-a4-paper td,
.teacher-duty-page table,
.teacher-duty-page th,
.teacher-duty-page td,
.dx-official-letter-paper table,
.dx-official-letter-paper th,
.dx-official-letter-paper td,
.dx-official-committee-paper table,
.dx-official-committee-paper th,
.dx-official-committee-paper td,
.dx-official-club-paper table,
.dx-official-club-paper th,
.dx-official-club-paper td,
.dx-veli-izin-sheet table,
.dx-veli-izin-sheet th,
.dx-veli-izin-sheet td,
[data-theme="dark"] .dx-pd-a4-paper table,
[data-theme="dark"] .dx-pd-a4-paper th,
[data-theme="dark"] .dx-pd-a4-paper td,
[data-theme="dark"] .teacher-duty-page table,
[data-theme="dark"] .teacher-duty-page th,
[data-theme="dark"] .teacher-duty-page td,
[data-theme="dark"] .dx-official-letter-paper table,
[data-theme="dark"] .dx-official-letter-paper th,
[data-theme="dark"] .dx-official-letter-paper td,
[data-theme="dark"] .dx-official-committee-paper table,
[data-theme="dark"] .dx-official-committee-paper th,
[data-theme="dark"] .dx-official-committee-paper td,
[data-theme="dark"] .dx-official-club-paper table,
[data-theme="dark"] .dx-official-club-paper th,
[data-theme="dark"] .dx-official-club-paper td,
[data-theme="dark"] .dx-veli-izin-sheet table,
[data-theme="dark"] .dx-veli-izin-sheet th,
[data-theme="dark"] .dx-veli-izin-sheet td {
  border-color: #000000 !important;
  color: #000000 !important;
}

/* ==========================================================================
   RESMİ YAZDIRMA VE YAZICI ÇIKTILARI (@media print) KESİN KURALLARI
   - Yazıcı çıktılarında ASLA koyu arka plan kalmasın
   - Tablolar ekrana/kağıda yatay olarak yayılsın ve ortalansın
   - Ana başlıklar ortalansın
   - Yan başlıklar sola dayalı olsun
   - Paragraf yazıları justify olsun
   ========================================================================== */
@media print {
  /* 1. Asla koyu arkaplan kalmasın - Tüm elemanlar temiz beyaz/şeffaf ve siyah metin */
  *,
  *::before,
  *::after {
    background: transparent !important;
    background-color: transparent !important;
    color: #000000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html,
  html[data-theme="dark"],
  body,
  body[data-theme="dark"],
  .app-root,
  .app-container,
  .modal,
  .modal-content,
  .dx-pd-body,
  .dx-pd-preview-wrap,
  .dx-pd-pages-container,
  .dx-pd-a4-page-wrapper,
  .dx-pd-a4-paper,
  .dx-official-committee-paper,
  .dx-official-letter-paper,
  .dx-official-club-paper,
  .dx-meeting-sheet,
  .dx-door-sign-sheet,
  .dx-veli-izin-sheet,
  .dx-veli-half,
  .dx-veli-izin-voucher,
  .teacher-duty-page,
  .print-paper,
  .a4-sheet,
  .a4-paper,
  .official-print-paper,
  .dx-substitution-dialog,
  #dxPrintDesignerModal,
  #dxDutyPrintDesignerModal,
  #dxVpPrintDesignerModal,
  #dxOfficialLetterModal,
  #dxClubsPrintModal,
  #dxCommitteesPrintModal,
  #dxTeacherDutyPrintDesignerModal,
  .dx-detail-modal-container {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* 2. Tablolar ekrana/sayfaya yatay olarak yayılsın (%100) ve ortalansın */
  table,
  .official-print-table,
  .print-table,
  .dx-duty-matrix-table,
  .dx-table,
  .table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-collapse: collapse !important;
    page-break-inside: auto;
  }

  table thead,
  .official-print-table thead {
    display: table-header-group !important;
  }

  table tr,
  .official-print-table tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  table th,
  .official-print-table th {
    background-color: #f1f5f9 !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  table td,
  .official-print-table td {
    border: 1px solid #000000 !important;
    color: #000000 !important;
    background-color: #ffffff !important;
  }

  /* 3. Yazılar için ana başlıklar ekranda/sayfada ortalansın */
  h1,
  h2,
  .print-main-title,
  .official-main-title,
  .report-header,
  .tc-title,
  .school-header,
  [class*="main-title"],
  .dx-cp-module[style*="text-align: center"] {
    text-align: center !important;
  }

  /* 4. Yan başlıklar sola dayalı olsun */
  h3,
  h4,
  h5,
  h6,
  .print-sub-title,
  .section-title,
  .table-title,
  .section-sub-title,
  .sub-title,
  [class*="sub-title"],
  .committee-sub-header {
    text-align: left !important;
  }

  /* 5. Paragraf yazıları iki yana yaslı (justify) olsun */
  p,
  .print-paragraph,
  .tebellug-text,
  .official-text,
  .desc-text,
  article p,
  [class*="paragraph"] {
    text-align: justify !important;
    text-justify: inter-word !important;
  }

  /* Yazdırmada görünmemesi gereken araç çubukları ve düğmeler */
  .no-print,
  .dx-cp-badge,
  .dx-nt-header button,
  .dx-card-modal-footer button,
  .btn:not(.print-keep),
  .dx-tb-btn,
  .sidebar,
  .app-header,
  nav {
    display: none !important;
  }
}

/* Canlı Önizleme Sayfasında da (Ekran Görünümünde) Bu Tipografi Kurallarını Uygula */
.dx-official-committee-paper,
.dx-pd-a4-paper,
.dx-official-letter-paper {
  background: #ffffff !important;
  color: #000000 !important;
}

.dx-official-committee-paper table,
.dx-pd-a4-paper table,
.dx-official-letter-paper table {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.dx-official-committee-paper p,
.dx-pd-a4-paper p,
.dx-official-letter-paper p {
  text-align: justify !important;
  text-justify: inter-word !important;
}

.dx-official-committee-paper h1,
.dx-official-committee-paper h2,
.dx-pd-a4-paper h1,
.dx-pd-a4-paper h2,
.dx-official-letter-paper h1,
.dx-official-letter-paper h2 {
  text-align: center !important;
}

.dx-official-committee-paper h3,
.dx-official-committee-paper h4,
.dx-official-committee-paper h5,
.dx-pd-a4-paper h3,
.dx-pd-a4-paper h4,
.dx-pd-a4-paper h5,
.dx-official-letter-paper h3,
.dx-official-letter-paper h4,
.dx-official-letter-paper h5 {
  text-align: left !important;
}

/* ==========================================================================
   BÜTÜN SAYFALARDAKİ BAŞLIK MENÜSÜ VE TABLARIN BAŞLIĞINDAKİ TEXTLER (BÜYÜK HARFLER / UPPERCASE)
   ========================================================================== */
.dx-ribbon-tab-btn,
.dx-ribbon-tab-btn span,
.dx-ribbon-tab-btn *,
.dx-ribbon-tabs-group,
.dx-ribbon-tabs-group button,
.dx-ribbon-tabs-group [role="tab"],
.dx-ribbon-tabs-group [role="tab"] *,
.dx-ribbon-brand-title,
.dx-ribbon-tab-right .badge,
.dx-header-toolbar [role="tab"],
.dx-header-toolbar [role="tab"] *,
.app-content-header [role="tab"],
.app-content-header [role="tab"] *,
.app-content-header .dx-ribbon-tab-btn,
.app-content-header .dx-ribbon-tab-btn *,
.nav-tabs .nav-link,
.nav-tabs .nav-link *,
.nav-pills .nav-link,
.nav-pills .nav-link *,
.nav .nav-link,
.nav .nav-link *,
[role="tab"],
[role="tab"] span,
[role="tab"] *,
.dx-tab-btn,
.dx-tab-btn *,
.dx-top-tab,
.dx-top-tab *,
.dx-page-tab,
.dx-page-tab *,
.tab-btn,
.tab-btn *,
.dx-sub-tab,
.dx-sub-tab *,
.nav-tabs button,
.nav-tabs a,
.nav-pills button,
.nav-pills a,
.dx-schedule-tabs .nav-link,
.dx-schedule-tabs .nav-link *,
.nav-tabs-custom .nav-link,
.nav-tabs-custom .nav-link *,
.tab-header,
.tab-title,
.dx-tab,
.dx-tab *,
.dx-tab-text,
.dx-detail-tab-btn,
.dx-detail-tab-btn *,
.dx-account-tab-btn,
.dx-account-tab-btn *,
.dx-right-tab-item,
.dx-right-tab-item * {
  text-transform: uppercase !important;
  letter-spacing: 0.25px;
}

/* ==========================================================================
   BAŞLIKLARDAKİ (RİBBON TAB, SEKME VE BAŞLIK) İKONLARI KALDIRMA
   ========================================================================== */
.dx-ribbon-tab-btn i,
.dx-ribbon-tab-btn svg,
.dx-ribbon-tabs-group [role="tab"] i,
.dx-ribbon-tabs-group [role="tab"] svg,
.dx-ribbon-tabs-group button i,
.dx-ribbon-tabs-group button svg,
.dx-ribbon-tabs-group i,
.dx-ribbon-tabs-group svg,
.app-content-header .dx-ribbon-tab-btn i,
.app-content-header [role="tab"] i,
.dx-ribbon-brand i,
.dx-ribbon-brand svg,
.nav-tabs .nav-link i,
.nav-tabs .nav-link svg,
.nav-pills .nav-link i,
.nav-pills .nav-link svg,
[role="tab"] i,
[role="tab"] svg,
.dx-tab-btn i,
.dx-top-tab i,
.dx-page-tab i,
.dx-detail-tab-btn i,
.dx-account-tab-btn i,
.dx-right-tab-item i {
  display: none !important;
  margin: 0 !important;
}

/* ==========================================================================
   ÖĞRETMEN İNFO PANELİ TAB BAŞLIKLARI DİNAMİK FONT & SIĞDIRMA
   ========================================================================== */
.dx-right-info,
#dxRightPane,
#dxRightInfo,
.dx-tab-card {
  container-type: inline-size;
}

.dx-right-tabs-bar,
.dx-right-info .dx-right-tabs-bar,
#dxRightPane .dx-right-tabs-bar,
#dxRightInfo .dx-right-tabs-bar,
.dx-right-info.reduced-width .dx-right-tabs-bar,
#dxRightPane.reduced-width .dx-right-tabs-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 2px !important;
  gap: clamp(1px, 0.4cqw, 3px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dx-right-tab-item,
.dx-right-info .dx-right-tab-item,
#dxRightPane .dx-right-tab-item,
#dxRightInfo .dx-right-tab-item,
.dx-right-info.reduced-width .dx-right-tab-item,
#dxRightPane.reduced-width .dx-right-tab-item {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  padding: 0.35rem clamp(1px, 0.2cqw, 2px) !important;
  font-size: clamp(0.44rem, 2.2cqw, 0.60rem) !important;
  letter-spacing: -0.35px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}

.dx-right-tab-item *,
.dx-right-info .dx-right-tab-item *,
#dxRightPane .dx-right-tab-item *,
#dxRightInfo .dx-right-tab-item * {
  letter-spacing: -0.35px !important;
}

.dx-right-tab-badge {
  font-size: clamp(0.38rem, 1.8cqw, 0.52rem) !important;
  height: 12px !important;
  line-height: 12px !important;
  min-width: 10px !important;
  padding: 0 1.5px !important;
  margin-left: 2px !important;
  border-radius: 3px !important;
  box-sizing: border-box !important;
}

@container (max-width: 330px) {
  .dx-right-tab-item,
  .dx-right-info .dx-right-tab-item,
  #dxRightPane .dx-right-tab-item,
  #dxRightInfo .dx-right-tab-item {
    font-size: 0.48rem !important;
    letter-spacing: -0.4px !important;
    padding: 0.3rem 1px !important;
  }
  .dx-right-tabs-bar {
    gap: 1px !important;
    padding: 0 1px !important;
  }
  .dx-right-tab-badge {
    font-size: 0.44rem !important;
    height: 11px !important;
    line-height: 11px !important;
    min-width: 9px !important;
  }
}

@container (max-width: 290px) {
  .dx-right-tab-item,
  .dx-right-info .dx-right-tab-item,
  #dxRightPane .dx-right-tab-item,
  #dxRightInfo .dx-right-tab-item {
    font-size: 0.44rem !important;
    letter-spacing: -0.45px !important;
    padding: 0.25rem 0.5px !important;
  }
  .dx-right-tab-badge {
    font-size: 0.40rem !important;
    height: 10px !important;
    line-height: 10px !important;
    min-width: 8px !important;
    margin-left: 1px !important;
    padding: 0 1px !important;
  }
}

@container (max-width: 260px) {
  .dx-right-tab-item,
  .dx-right-info .dx-right-tab-item,
  #dxRightPane .dx-right-tab-item,
  #dxRightInfo .dx-right-tab-item {
    font-size: 0.40rem !important;
    letter-spacing: -0.5px !important;
  }
}


/* ==========================================================================
   OTOMATİK NÖBET DAĞITIM VE TASARIM EKRANI (FULLSCREEN MODAL)
   ========================================================================== */
.dx-adm-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 999990 !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--bg-body, #f8fafc) !important;
  color: var(--text-primary, #0f172a) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  animation: pdOverlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow: hidden !important;
}

[data-theme="dark"] .dx-adm-modal-overlay {
  background: #0f172a !important;
  color: #f1f5f9 !important;
}

.dx-adm-header {
  height: 56px;
  min-height: 56px;
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
  color: #ffffff;
  padding: 0 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
  z-index: 20;
}

[data-theme="dark"] .dx-adm-header {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dx-adm-header-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.dx-adm-header-icon {
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: #ffffff;
}

.dx-adm-body {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: #f1f5f9;
}

[data-theme="dark"] .dx-adm-body {
  background: #0b1120;
}

.dx-adm-sidebar {
  width: 370px;
  min-width: 350px;
  max-width: 390px;
  background: #ffffff;
  border-right: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 1rem;
  gap: 0.9rem;
  flex-shrink: 0;
}

[data-theme="dark"] .dx-adm-sidebar {
  background: #1e293b;
  border-right-color: #334155;
}

.dx-adm-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1rem 1.25rem;
  gap: 0.75rem;
}

.dx-adm-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.85rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[data-theme="dark"] .dx-adm-card {
  background: #1e293b;
  border-color: #334155;
}

.dx-adm-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.65rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.8rem;
  font-weight: 700;
  color: #1e293b;
}

[data-theme="dark"] .dx-adm-card-header {
  border-bottom-color: #334155;
  color: #f1f5f9;
}

.dx-adm-matrix-container {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .dx-adm-matrix-container {
  background: #1e293b;
  border-color: #334155;
}

.dx-adm-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.78rem;
}

.dx-adm-table th {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #f8fafc;
  color: #334155;
  font-weight: 700;
  font-size: 0.78rem;
  padding: 10px 8px;
  border-bottom: 2px solid #cbd5e1;
  border-right: 1px solid #e2e8f0;
  text-align: center;
}

[data-theme="dark"] .dx-adm-table th {
  background: #0f172a;
  color: #cbd5e1;
  border-bottom-color: #475569;
  border-right-color: #334155;
}

.dx-adm-table th.dx-adm-corner-th {
  left: 0;
  z-index: 15;
  width: 170px;
  min-width: 150px;
}

.dx-adm-table td.dx-adm-loc-td {
  position: sticky;
  left: 0;
  z-index: 5;
  background: #f8fafc;
  font-weight: 700;
  color: #1e293b;
  border-right: 2px solid #cbd5e1;
  border-bottom: 1px solid #e2e8f0;
  padding: 10px;
  width: 170px;
  min-width: 150px;
}

[data-theme="dark"] .dx-adm-table td.dx-adm-loc-td {
  background: #1e293b;
  color: #f1f5f9;
  border-right-color: #475569;
  border-bottom-color: #334155;
}

.dx-adm-table td.dx-adm-cell {
  border-right: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  padding: 6px;
  vertical-align: top;
  min-width: 170px;
  width: 20%;
  background: #ffffff;
  transition: background 0.15s;
}

[data-theme="dark"] .dx-adm-table td.dx-adm-cell {
  background: #182234;
  border-color: #334155;
}

.dx-adm-table td.dx-adm-cell:hover {
  background: #f8fafc;
}

[data-theme="dark"] .dx-adm-table td.dx-adm-cell:hover {
  background: #1e293b;
}

.dx-adm-duty-chip {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 5px 8px;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  transition: all 0.15s ease;
}

.dx-adm-duty-chip.is-fixed {
  background: #faf5ff;
  border-color: #e9d5ff;
}

.dx-adm-duty-chip.is-designated {
  background: #fffbeb;
  border-color: #fde68a;
}

.dx-adm-duty-chip.is-manual {
  background: #eff6ff;
  border-color: #bfdbfe;
}

[data-theme="dark"] .dx-adm-duty-chip {
  background: #064e3b;
  border-color: #047857;
}

[data-theme="dark"] .dx-adm-duty-chip.is-fixed {
  background: #581c87;
  border-color: #7e22ce;
}

[data-theme="dark"] .dx-adm-duty-chip.is-designated {
  background: #78350f;
  border-color: #b45309;
}

[data-theme="dark"] .dx-adm-duty-chip.is-manual {
  background: #1e3a8a;
  border-color: #2563eb;
}

.dx-adm-unplaced-item {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 6px 8px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

[data-theme="dark"] .dx-adm-unplaced-item {
  background: #450a0a;
  border-color: #991b1b;
}

.dx-adm-duty-chip .badge {
  color: #1e293b !important;
  font-weight: 600 !important;
}
.dx-adm-duty-chip.is-fixed .badge {
  background: #f3e8ff !important;
  color: #7e22ce !important;
  border-color: #d8b4fe !important;
}
.dx-adm-duty-chip.is-designated .badge {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}
.dx-adm-duty-chip.is-auto .badge {
  background: #dcfce7 !important;
  color: #166534 !important;
  border-color: #86efac !important;
}
.dx-adm-duty-chip.is-manual .badge {
  background: #dbeafe !important;
  color: #1e40af !important;
  border-color: #93c5fd !important;
}


/* Dual Range Slider for Auto Duty Free Hours */
.dx-adm-dual-slider-container {
  position: relative;
  width: 100%;
  padding: 12px 6px 18px 6px;
}

.dx-adm-slider-track {
  position: relative;
  width: 100%;
  height: 6px;
  background-color: #e2e8f0;
  border-radius: 4px;
}

[data-theme="dark"] .dx-adm-slider-track {
  background-color: #334155;
}

.dx-adm-slider-range {
  position: absolute;
  height: 6px;
  background: linear-gradient(90deg, #2563eb, #3b82f6);
  border-radius: 4px;
  z-index: 1;
}

.dx-adm-dual-slider-container input[type="range"] {
  position: absolute;
  width: calc(100% - 12px);
  left: 6px;
  top: 12px;
  height: 6px;
  margin: 0;
  padding: 0;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}

.dx-adm-dual-slider-container input[type="range"]::-webkit-slider-thumb {
  height: 18px;
  width: 18px;
  border-radius: 50%;
  background: #ffffff;
  border: 2.5px solid #2563eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  transition: transform 0.1s ease, border-color 0.1s ease;
}

.dx-adm-dual-slider-container input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  border-color: #1d4ed8;
}

.dx-adm-dual-slider-container input[type="range"]::-webkit-slider-thumb:active {
  transform: scale(1.25);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.2);
}

.dx-adm-dual-slider-container input[type="range"]::-moz-range-thumb {
  height: 18px;
  width: 18px;
  border-radius: 50%;
  background: #ffffff;
  border: 2.5px solid #2563eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.1s ease, border-color 0.1s ease;
}

.dx-adm-slider-ticks {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  padding: 0 2px;
  font-size: 0.66rem;
  color: #64748b;
  font-weight: 600;
  user-select: none;
}

/* Nöbet Çizelgesi Veritabanına Kaydet Modalı */
#dxSaveDutyModalOverlay .card {
  border-radius: 12px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35) !important;
  animation: dxFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

[data-theme="dark"] #dxSaveDutyModalOverlay .card {
  background: #1e293b !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] #dxSaveDutyModalOverlay .bg-light {
  background: #0f172a !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] #dxSaveDutyModalOverlay .text-dark {
  color: #f1f5f9 !important;
}

/* ==========================================================================
   OTURUM ZAMAN AŞIMI (SESSION TIMEOUT) UYARI ÇUBUĞU VE YENİLEME BUTONU
   ========================================================================== */

/* Sayfanın en altında tam genişlikte uzanan 2px progress bar konteyneri */
.session-timeout-bar-container {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 2px !important;
  background: rgba(0, 0, 0, 0.12);
  z-index: 999999 !important;
  pointer-events: none;
  overflow: hidden;
  transition: opacity 0.3s ease;
  display: none !important; /* Varsayılan olarak kesinlikle gizlidir, sadece son 2 dakikada görünür */
}

.session-timeout-bar-container.visible {
  display: block !important;
}

.session-timeout-progress-bar {
  height: 2px !important;
  width: 0%;
  transition: width 0.95s linear, background-color 0.4s ease;
}

/* 4 Kademeli Renkler:
   0 - 1/4 (0-25%): Yeşil (#10b981)
   1/4 - 1/2 (25-50%): Sarı (#eab308)
   1/2 - 3/4 (50-75%): Turuncu (#f97316)
   3/4+ (75-100%): Kırmızı (#ef4444)
*/
.session-timeout-progress-bar.phase-green {
  background-color: #10b981 !important;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.8);
}

.session-timeout-progress-bar.phase-yellow {
  background-color: #eab308 !important;
  box-shadow: 0 0 6px rgba(234, 179, 8, 0.8);
}

.session-timeout-progress-bar.phase-orange {
  background-color: #f97316 !important;
  box-shadow: 0 0 6px rgba(249, 115, 22, 0.8);
}

.session-timeout-progress-bar.phase-red {
  background-color: #ef4444 !important;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.9);
}

/* Sol altta position absolute/fixed bottom:50px left:50px, 60px primary el ikonu buton */
.session-renew-fab-btn {
  position: fixed !important;
  bottom: 50px !important;
  left: 50px !important;
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
  border-radius: 50% !important;
  background-color: var(--theme-primary, #008080) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  color: #ffffff !important;
  display: none !important; /* Varsayılan olarak kesinlikle gizlidir, sadece son 2 dakikada görünür */
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 999998 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, opacity 0.3s ease !important;
  animation: sessionFabPulse 2s infinite ease-in-out;
  outline: none !important;
  padding: 0 !important;
}

.session-renew-fab-btn.visible {
  display: flex !important;
}

.session-renew-fab-btn:hover {
  transform: scale(1.12);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45) !important;
}

.session-renew-fab-btn:active {
  transform: scale(0.95);
}

.session-renew-fab-btn i {
  color: #ffffff !important;
  font-size: 26px !important;
  display: block;
  pointer-events: none;
}

/* Kalan saniye rozeti */
.session-renew-fab-btn .session-renew-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background-color: #ef4444;
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 10px;
  border: 1.5px solid #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  line-height: 1;
  pointer-events: none;
}

@keyframes sessionFabPulse {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), 0 0 0 0 rgba(0, 128, 128, 0.6);
  }
  50% {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4), 0 0 0 14px rgba(0, 128, 128, 0);
  }
}

/* ==========================================================================
   SOSYAL KULÜPLER - RAPOR DROPDOWN MENÜ (2 SÜTUNLU & İKİ SATIRLI)
   ========================================================================== */
.dx-dropdown-menu-2col {
  min-width: 540px !important;
  max-width: 620px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
  padding: 8px !important;
}

[data-theme="dark"] .dx-dropdown-menu-2col {
  background-color: #1e293b !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

.dx-dropdown-grid-2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.dx-report-item {
  transition: all 0.15s ease-in-out;
  border: 1px solid transparent;
  white-space: normal !important;
  cursor: pointer;
  background: transparent;
}

.dx-report-item:hover {
  background-color: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="dark"] .dx-report-item {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-report-item:hover {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .dx-report-item .text-muted {
  color: #94a3b8 !important;
}

.dx-report-icon-box {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background-color: rgba(0, 0, 0, 0.04);
}

[data-theme="dark"] .dx-report-icon-box {
  background-color: rgba(255, 255, 255, 0.06);
}

.dx-report-item.disabled {
  opacity: 0.5;
  cursor: not-allowed !important;
  pointer-events: none;
}

@media (max-width: 640px) {
  .dx-dropdown-menu-2col {
    min-width: 290px !important;
    max-width: 95vw !important;
  }
  .dx-dropdown-grid-2col {
    grid-template-columns: 1fr;
  }
}

/* İmza Bloğu Başlığını / Rozetini Gizleme */
.official-sign-block .dx-cp-badge,
.official-sign-block span.dx-cp-badge,
.tdp-signatures-module .tdp-module-badge {
  display: none !important;
}

/* ==========================================================================
   TEMEL TANIMLAR: KURULLAR & SOSYAL KULÜPLER SAĞ BİLGİ PANELİ (INFO PANEL)
   ========================================================================== */
.dx-tanimlar-dual-pane {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  height: 100% !important;
  gap: 0.65rem !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dx-tanimlar-dual-pane.no-right-pane,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display: none"]),
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display:none"]),
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo.d-none) {
  gap: 0 !important;
}

.dx-tanimlar-dual-pane .dx-grid-container {
  flex: 1 1 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.dx-tanimlar-dual-pane.no-right-pane .dx-grid-container,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display: none"]) .dx-grid-container,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display:none"]) .dx-grid-container,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo.d-none) .dx-grid-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
}

.dx-tanimlar-dual-pane.no-right-pane .dx-table-scroll,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display: none"]) .dx-table-scroll,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display:none"]) .dx-table-scroll,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo.d-none) .dx-table-scroll {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
}

.dx-tanimlar-dual-pane.no-right-pane .dx-table,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display: none"]) .dx-table,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display:none"]) .dx-table,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo.d-none) .dx-table {
  width: 100% !important;
  min-width: 100% !important;
}

#tanimlarRightInfo {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  flex: 0 0 360px !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex;
  flex-direction: column !important;
  overflow: hidden !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  gap: 0 !important;
}

.dx-tanimlar-dual-pane.no-right-pane #tanimlarRightInfo,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display: none"]) #tanimlarRightInfo,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo[style*="display:none"]) #tanimlarRightInfo,
.dx-tanimlar-dual-pane:has(#tanimlarRightInfo.d-none) #tanimlarRightInfo,
#tanimlarRightInfo.d-none,
#tanimlarRightInfo[style*="display: none"],
#tanimlarRightInfo[style*="display:none"] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#tanimlarRightInfo .dx-profile-card-exact {
  margin-bottom: 0.65rem !important;
  flex-shrink: 0 !important;
}

#tanimlarRightInfo .dx-tab-card {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#tanimlarRightInfo .dx-right-cards-scroll {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  max-height: 100% !important;
}

#tanimlarRightInfo .dx-sched-footer-cards {
  margin-top: 0.5rem !important;
  flex-shrink: 0 !important;
}

.dx-info-member-item {
  transition: all 0.15s ease;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  background: rgba(0, 0, 0, 0.015);
}

.dx-info-member-item:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

[data-theme="dark"] .dx-info-member-item {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-info-member-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

[data-theme="dark"] .dx-info-member-item .fw-semibold {
  color: #f1f5f9 !important;
}

[data-theme="dark"] #tanimlarRightInfo .dx-tab-card {
  background: #242220 !important;
  border-color: #38342f !important;
}

/* ==========================================================================
   GÖREVLENDİRME GEÇMİŞİ (NÖBETÇİ İKAME & EK ÜCRET)
   ========================================================================== */
.dx-duty-history-notice-bar {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: rgba(14, 165, 233, 0.25) !important;
  transition: all 0.2s ease;
}

[data-theme="dark"] .dx-duty-history-notice-bar {
  background: rgba(14, 165, 233, 0.15) !important;
  border-color: rgba(14, 165, 233, 0.35) !important;
}

[data-theme="dark"] .dx-duty-history-notice-bar .text-dark {
  color: #f1f5f9 !important;
}

[data-theme="dark"] #dxDutyHistoryGridContainer {
  background: #1e1e1e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] #dxDutyHistoryGridContainer thead {
  background: #252525 !important;
}

[data-theme="dark"] #dxDutyHistoryGridContainer thead th {
  background: #252525 !important;
  color: #cbd5e1 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] #dxDutyHistoryGridContainer tbody tr:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

/* =========================================================================
   DERS SAATLERİ (BELL SCHEDULE) ZAMAN ÇİZELGESİ MODÜLÜ
   ========================================================================= */
.dx-lesson-hours-container {
  background: transparent;
}

.dx-lesson-hours-summary-bar {
  border-radius: 8px;
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: #ffffff;
}

.dx-lesson-hours-add-card {
  border-radius: 8px;
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: #ffffff;
}

.dx-lesson-hours-add-card input[type="time"] {
  font-family: inherit;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.dx-lesson-hours-table-card {
  border-radius: 8px;
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: #ffffff;
}

.dx-lesson-hour-row:hover {
  background-color: rgba(59, 130, 246, 0.04) !important;
}

/* Dark Mode Desteği */
[data-theme="dark"] .dx-lesson-hours-summary-bar,
[data-theme="dark"] .dx-lesson-hours-add-card,
[data-theme="dark"] .dx-lesson-hours-table-card {
  background: #1e1e1e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .dx-lesson-hours-table-card .bg-light,
[data-theme="dark"] .dx-lesson-hours-table-card thead.table-light,
[data-theme="dark"] .dx-lesson-hours-table-card thead th {
  background: #252525 !important;
  color: #cbd5e1 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .dx-lesson-hour-row:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

[data-theme="dark"] .dx-lesson-hours-add-card input[type="time"],
[data-theme="dark"] .dx-lesson-hours-add-card input[type="number"],
[data-theme="dark"] #lessonHourEditModalOverlay input[type="time"],
[data-theme="dark"] #lessonHourEditModalOverlay input[type="number"] {
  background: #2a2a2a !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

[data-theme="dark"] #lessonHourEditModalOverlay .dx-card-modal {
  background: #1e1e1e !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

[data-theme="dark"] #lessonHourEditModalOverlay .dx-card-modal-header,
[data-theme="dark"] #lessonHourEditModalOverlay .dx-card-modal-footer,
[data-theme="dark"] #lessonHourEditModalOverlay .bg-light {
  background: #252525 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

