@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Dancing+Script:wght@600;700&family=Marck+Script&display=swap');

:root {
  --ink: #0f172a;
  --ink-soft: #475569;
  --navy: #0f172a;
  --navy-surface: #1e293b;
  --gold: #d97706;
  --gold-glow: rgba(245, 158, 11, 0.25);
  --blue: #2563eb;
  --blue-hover: #1d4ed8;
  --blue-light: #eff6ff;
  --red: #ef4444;
  --deep-red: #b91c1c;
  --paper: #fcfaf4;
  --canvas: #f1f5f9;
  --panel: #ffffff;
  --line: #e2e8f0;
  --shadow: 0 20px 45px -10px rgba(15, 23, 42, 0.12);
  --frame: #d97706;
  --strip-bg: #0f172a;
  --strip-ink: #ffffff;

  /* ==========================================================================
     LIQUID GLASS TASARIM TOKEN SİSTEMİ
     Tüm cam yüzeyler bu değişkenleri kullanır. Değerleri doğrudan yazmak yerine
     buradaki kademeleri tercih et; koyu tema karşılıkları aşağıda tanımlıdır.
     ========================================================================== */

  /* Bulanıklık kademeleri (cam derinliği) */
  --glass-blur-xs: 8px;
  --glass-blur-sm: 12px;
  --glass-blur-md: 18px;
  --glass-blur-lg: 28px;
  --glass-saturate: 180%;

  /* Yüzey opaklığı - ne kadar saydam, o kadar cam */
  --glass-surface-xs: rgba(255, 255, 255, 0.58);
  --glass-surface-sm: rgba(255, 255, 255, 0.72);
  --glass-surface-md: rgba(255, 255, 255, 0.85);
  --glass-surface-lg: rgba(255, 255, 255, 0.94);

  /* İç highlight (Apple'ın üst kenar ışığı) ve kenarlık */
  --glass-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.95);
  --glass-highlight-soft: inset 0 1px 0 rgba(255, 255, 255, 0.65);
  --glass-border: rgba(255, 255, 255, 0.75);
  --glass-border-strong: rgba(226, 232, 240, 0.95);

  /* Yükselti gölgeleri */
  --glass-shadow-sm: 0 2px 8px -2px rgba(15, 23, 42, 0.08), var(--glass-highlight-soft);
  --glass-shadow-md: 0 6px 20px -4px rgba(15, 23, 42, 0.12), var(--glass-highlight);
  --glass-shadow-lg: 0 24px 60px -12px rgba(15, 23, 42, 0.28), var(--glass-highlight);
  --glass-shadow-float: 0 18px 48px -8px rgba(15, 23, 42, 0.3), var(--glass-highlight);

  /* Köşe yarıçapları */
  --glass-radius-sm: 10px;
  --glass-radius-md: 14px;
  --glass-radius-lg: 20px;
  --glass-radius-xl: 28px;

  /* ==========================================================================
     METİN Rengi TOKENLARI (tema-duyarsız yazım için)
     Metin rengini satır içi (inline) style olarak yazmak koyu temada okunmaz
     metin üretir; çünkü inline stil CSS kurallarını her zaman yener.
     Bu token'ları kullanan sınıflar iki temada da otomatik uyum sağlar.
     ========================================================================== */
  --text-strong: #0f172a;   /* başlıklar, kart numaraları, isimler */
  --text-body: #1e293b;     /* gövde metni, uzun açıklamalar */
  --text-muted: #64748b;    /* etiketler, ikincil bilgi */
  --text-on-tint: #1e3a8a;  /* renkli zemin üstündeki metin */

  /* Mavi bilgi kutusu (SLA vb.) */
  --info-tint-bg: rgba(37, 99, 235, 0.06);
  --info-tint-border: rgba(37, 99, 235, 0.18);

  /* Rozet kenar/yazı renkleri */
  --badge-success-text: #059669;
  --badge-warning-text: #b45309;
}

/* ============================================================================
   KOYU TEMA CAM TOKENLARI
   Koyu temada cam daha şeffaf, kenarlık ve highlight daha parlak olmalıdır;
   aksi halde yüzeyler düz siyah kutu gibi görünür.
   ========================================================================== */
html[data-theme="dark"] {
  color-scheme: dark;
  --glass-blur-xs: 8px;
  --glass-blur-sm: 12px;
  --glass-blur-md: 20px;
  --glass-blur-lg: 32px;
  --glass-saturate: 190%;

  --glass-surface-xs: rgba(17, 27, 33, 0.62);
  --glass-surface-sm: rgba(17, 27, 33, 0.76);
  --glass-surface-md: rgba(17, 27, 33, 0.88);
  --glass-surface-lg: rgba(17, 27, 33, 0.96);

  --glass-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  --glass-highlight-soft: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  --glass-border: rgba(255, 255, 255, 0.12);
  --glass-border-strong: rgba(255, 255, 255, 0.16);

  --glass-shadow-sm: 0 2px 8px -2px rgba(0, 0, 0, 0.4), var(--glass-highlight-soft);
  --glass-shadow-md: 0 6px 20px -4px rgba(0, 0, 0, 0.5), var(--glass-highlight);
  --glass-shadow-lg: 0 24px 60px -12px rgba(0, 0, 0, 0.65), var(--glass-highlight);
  --glass-shadow-float: 0 18px 48px -8px rgba(0, 0, 0, 0.7), var(--glass-highlight);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

/* --- ÜST KULLANICI / DURUM ÇUBUĞU (PREMIUM LIQUID GLASS NAVBAR - AÇIK TEMA) --- */
.top-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  height: 60px;
  background: var(--glass-surface-lg);
  background-image: 
    radial-gradient(circle at 10% -20%, rgba(37, 99, 235, 0.07) 0%, transparent 42%),
    radial-gradient(circle at 90% 120%, rgba(245, 158, 11, 0.05) 0%, transparent 45%);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  color: #0f172a;
  border-bottom: 1px solid var(--glass-border-strong);
  box-shadow: var(--glass-shadow-md);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.nav-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* O anki kurumun logosunu taşıyan sıvı cam kapsül */
.nav-brand-logo {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: var(--glass-surface-lg);
  border: 1px solid var(--glass-border-strong);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 4px;
  box-shadow: var(--glass-shadow-sm);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}
.nav-brand-logo:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
  transform: scale(1.04);
}
.nav-brand-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15));
  pointer-events: none;
  animation: logoFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes logoFadeIn {
  from { opacity: 0; transform: scale(0.88); }
  to { opacity: 1; transform: scale(1); }
}

.nav-brand-title {
  font-family: Inter, system-ui, -apple-system, sans-serif;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #0f172a;
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-brand-title small {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.03em;
}

.nav-user-area {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-user-info {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 20px;
  gap: 8px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.nav-user-name {
  font-size: 0.82rem;
  font-weight: 750;
  color: #0f172a;
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-user-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  padding: 2px 8px;
  border-radius: 12px;
  background: #e0f2fe;
  color: #0369a1;
  font-weight: 750;
  border: 1px solid #bae6fd;
  letter-spacing: 0.02em;
}
.nav-user-badge.badge-master {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fecaca;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.btn-nav {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #1e293b;
  padding: 6px 13px;
  border-radius: 9px;
  font-size: 0.78rem;
  font-weight: 650;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
}
.btn-nav:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.08);
}
.btn-nav.btn-danger {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}
.btn-nav.btn-danger:hover {
  background: #fee2e2;
  color: #991b1b;
  border-color: #f87171;
}

/* Canlı Akış & Oturum Göstergesi (Açık Tema) */
.btn-nav.session-stream-badge {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  border-radius: 20px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 3px rgba(16, 185, 129, 0.12);
  cursor: default;
  user-select: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: all 0.25s ease;
}
.btn-nav.session-stream-badge:hover {
  background: #d1fae5;
  border-color: #6ee7b7;
  transform: none;
}

/* Git-gelli Canlı Akış Işığı (Streaming Shimmer Wave) */
.btn-nav.session-stream-badge .stream-flow-line {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(52, 211, 153, 0) 15%, 
    rgba(52, 211, 153, 0.38) 50%, 
    rgba(52, 211, 153, 0) 85%, 
    transparent 100%
  );
  animation: liquidGitGelStream 3.2s infinite ease-in-out;
  pointer-events: none;
}

@keyframes liquidGitGelStream {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* Canlı Nabız & Radar Noktası */
.btn-nav.session-stream-badge .stream-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  position: relative;
  flex-shrink: 0;
}
.btn-nav.session-stream-badge .stream-dot::after {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  border-radius: 50%;
  border: 1.5px solid #10b981;
  animation: streamRadarPing 2.2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes streamRadarPing {
  0% { transform: scale(1); opacity: 0.95; }
  75%, 100% { transform: scale(2.4); opacity: 0; }
}

.btn-nav.session-stream-badge .stream-label {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}

/* Kullanıcı hareket ettiğinde anlık canlı parlama */
.btn-nav.session-stream-badge.stream-active {
  border-color: rgba(52, 211, 153, 0.6);
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Kritik Süre / Hareketsizlik Uyarısı (Son 60 saniye) */
.btn-nav.session-stream-badge.is-critical {
  background: rgba(239, 68, 68, 0.16);
  border-color: rgba(239, 68, 68, 0.55);
  color: #fca5a5;
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.3);
  animation: criticalBlink 1.2s infinite ease-in-out;
}
.btn-nav.session-stream-badge.is-critical .stream-dot {
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
}
.btn-nav.session-stream-badge.is-critical .stream-dot::after {
  border-color: #ef4444;
}
.btn-nav.session-stream-badge.is-critical .stream-flow-line {
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(248, 113, 113, 0.4) 50%, 
    transparent 100%
  );
}

@keyframes criticalBlink {
  0%, 100% { opacity: 1; border-color: rgba(239, 68, 68, 0.8); }
  50% { opacity: 0.55; border-color: rgba(239, 68, 68, 0.2); }
}


/* --- ANA SHELL & SOL KONTROL PANELİ (PREMIUM SAAS WORKSPACE) --- */
.app-shell {
  min-height: calc(100vh - 58px);
  display: grid;
  grid-template-columns: minmax(370px, 440px) 1fr;
  background: var(--canvas);
}

.control-panel {
  padding: 20px 20px 48px;
  background: var(--glass-surface-md);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  border-right: 1px solid var(--glass-border-strong);
  box-shadow: 4px 0 24px -4px rgba(15, 23, 42, 0.04);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Sol Panel Kaydırma Çubuğu */
.control-panel::-webkit-scrollbar {
  width: 5px;
}
.control-panel::-webkit-scrollbar-track {
  background: transparent;
}
.control-panel::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.control-panel::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* 1. Üst Başlık Kartı */
.brand-lockup {
  background: var(--glass-surface-md);
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius-md);
  padding: 16px 18px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--glass-shadow-sm);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
}
.brand-lockup::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.06) 0%, transparent 70%);
  pointer-events: none;
}
.brand-header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  background: #fee2e2;
  color: #991b1b;
  padding: 3px 9px;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.brand-portal-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  color: #2563eb;
  background: #eff6ff;
  border: 1px solid rgba(37, 99, 235, 0.2);
  padding: 2px 8px;
  border-radius: 12px;
}
.brand-lockup h1 {
  margin: 0 0 6px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.brand-lockup p {
  margin: 0;
  color: #64748b;
  font-size: 0.79rem;
  line-height: 1.5;
}
.brand-lockup p b {
  color: #1e293b;
  font-weight: 650;
}

/* 2. Bölüm Kartları */
.workflow-section {
  background: var(--glass-surface-md);
  border: 1px solid var(--glass-border-strong);
  border-radius: var(--glass-radius-md);
  padding: 16px 18px;
  box-shadow: var(--glass-shadow-sm);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.workflow-section:hover {
  border-color: rgba(203, 213, 225, 0.95);
  box-shadow: var(--glass-shadow-md);
  transform: translateY(-1px);
}

.section-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
}
.section-label .sec-num,
.section-label span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 6px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 0.7rem;
  font-weight: 800;
  font-family: ui-monospace, SFMono-Regular, monospace;
  letter-spacing: -0.02em;
}
.section-label h2 {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 750;
  color: #0f172a;
  letter-spacing: -0.015em;
}

/* Meslek Grupları ve Ayrımı (Hâkim / Savcı vs. Avukat) */
.profession-filter-bar {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  background: var(--bg-card-subtle, rgba(0, 0, 0, 0.04));
  padding: 6px;
  border-radius: 12px;
  margin-bottom: 12px;
  border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
}
.prof-filter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 650;
  padding: 7px 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary, #64748b);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.18s ease;
  white-space: nowrap;
  text-align: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.prof-filter-btn:hover {
  color: var(--text-primary, #0f172a);
  background: rgba(255, 255, 255, 0.65);
}
.prof-filter-btn.is-active {
  background: #ffffff;
  color: #2563eb;
  font-weight: 750;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
  border-color: rgba(37, 99, 235, 0.15);
}
.profession-group {
  margin-bottom: 14px;
}
.profession-group:last-child {
  margin-bottom: 0;
}
.profession-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.71rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748b;
  margin-bottom: 7px;
  padding: 0 4px;
}
.profession-label .prof-icon {
  font-size: 0.85rem;
}

/* 3. Belge Ailesi - Modern 2-Sütun Sıvı Cam Izgara (Liquid Glass Pill Hub) */
.family-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.family-card {
  position: relative;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 12px;
  text-align: left;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  color: #0f172a;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  user-select: none;
}
.family-card:last-child:nth-child(odd),
.family-card.family-card-full {
  grid-column: span 2;
}
.family-card:hover:not(.is-locked) {
  border-color: #93c5fd;
  background: #f8fafc;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
  transform: translateY(-1px);
}
.family-card.is-active {
  border: 1.5px solid #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.22), 0 2px 8px rgba(37, 99, 235, 0.12);
}
.family-card.is-locked {
  opacity: 0.45;
  background: #f8fafc;
  border-color: #e2e8f0;
  cursor: not-allowed;
  filter: grayscale(0.7);
}
.family-card.is-locked:hover {
  transform: none;
  border-color: #e2e8f0;
}
.card-icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #2563eb;
  border-radius: 7px;
  font-size: 0.95rem;
  transition: all 0.18s ease;
}
.card-icon.doctor-icon-emerald { background: rgba(4, 120, 87, 0.12); color: #047857; }
.card-icon.doctor-icon-teal { background: rgba(15, 118, 110, 0.12); color: #0f766e; }
.card-icon.doctor-icon-green { background: rgba(6, 95, 70, 0.12); color: #065f46; }
.card-icon.doctor-icon-sky { background: rgba(3, 105, 161, 0.12); color: #0369a1; }
.card-icon.doctor-icon-slate { background: rgba(51, 65, 85, 0.12); color: #334155; }

.family-card:hover:not(.is-locked) .card-icon {
  background: #dbeafe;
  transform: scale(1.06);
}
.family-card.is-active .card-icon {
  background: #2563eb;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
}
.family-card strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.81rem;
  font-weight: 750;
  color: inherit;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.family-card small {
  display: none !important;
}
.lock-badge {
  display: none !important;
}
.family-card.is-locked:not(.is-active) .lock-badge {
  display: inline-flex !important;
  margin-left: auto;
  font-size: 0.72rem;
  opacity: 0.75;
}

/* 4. Form Alanları (Belge Bilgileri) */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.full-width {
  grid-column: 1 / -1;
}
label {
  display: block;
  font-family: Inter, system-ui, sans-serif;
  color: #475569;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
input, select {
  width: 100%;
  height: 38px;
  margin-top: 5px;
  padding: 0 12px;
  color: #0f172a;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.82rem;
  outline: none;
  transition: all 0.15s ease;
  box-sizing: border-box;
}
input:focus, select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
#documentDate[readonly],
#documentDate:disabled,
input[readonly].is-locked {
  background: #f1f5f9;
  color: #475569;
  cursor: not-allowed;
  border-style: dashed;
  font-weight: 650;
  user-select: none;
  opacity: 0.88;
}
.input-action {
  display: flex;
  margin-top: 5px;
  width: 100%;
}
.input-action input {
  margin: 0;
  border-radius: 8px 0 0 8px;
  min-width: 0;
  flex: 1;
  font-size: 0.78rem;
  padding: 8px 6px;
  letter-spacing: -0.015em;
}
.small-button {
  width: 32px;
  min-width: 32px;
  flex-shrink: 0;
  border: 1px solid #cbd5e1;
  border-left: 0;
  border-radius: 0 8px 8px 0;
  color: #2563eb;
  background: #f8fafc;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.small-button:hover {
  background: #e2e8f0;
}
.toggle-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: #475569;
  font-size: 0.75rem;
  font-weight: 650;
  cursor: pointer;
  user-select: none;
}
.toggle-line input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #2563eb;
  cursor: pointer;
}
.field-desc {
  margin: 7px 0 0;
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1.45;
}

.rows-editor { display: grid; gap: 6px; }
.row-item {
  display: grid;
  grid-template-columns: 26px 96px 1fr 28px;
  gap: 6px;
  align-items: center;
  padding: 2px;
  border-radius: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.row-drag {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  color: #64748b;
  background: #ffffff;
  font-size: .8rem;
  height: 32px;
  cursor: grab;
  user-select: none;
  transition: all 0.15s;
}
.row-drag:hover {
  background: #f1f5f9;
  color: #0f172a;
}
.row-drag:active { cursor: grabbing; }
.row-item.is-dragging { opacity: .45; }
.row-item.is-over-top { box-shadow: inset 0 3px 0 0 var(--gold); }
.row-item.is-over-bottom { box-shadow: inset 0 -3px 0 0 var(--gold); }
.row-item input { height: 32px; margin: 0; font-size: .78rem; background: #ffffff; }
.row-item .row-label { font-weight: 700; text-transform: uppercase; }
.row-remove {
  border: 1px solid #fecaca;
  border-radius: 5px;
  color: #ef4444;
  background: #ffffff;
  font-weight: 800;
  height: 32px;
  transition: all 0.15s;
}
.row-remove:hover {
  background: #fee2e2;
  border-color: #ef4444;
}


/* Önizleme satırı sürükle-yeniden-sırala ve satır silme kontrolleri */
.preview-row-item {
  position: relative;
}
.preview-row-actions {
  position: absolute;
  left: -52px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding-right: 18px; /* Satır ile butonlar arasındaki boşluğu köprüleyerek fare ayrılmasını engeller */
  opacity: 0;
  pointer-events: none;
  z-index: 40;
  transition: opacity .15s ease;
}
.preview-row-actions::after {
  content: "";
  position: absolute;
  top: -10px;
  bottom: -10px;
  left: -10px;
  right: -16px; /* Satırın içine taşarak farenin butona giderken hover'ı kaybetmesini önler */
}
.meta-row:hover .preview-row-actions,
.colon-row:hover .preview-row-actions,
.preview-row-item:hover .preview-row-actions,
.preview-row-actions:hover {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.preview-row-drag,
.preview-row-delete {
  position: relative;
  z-index: 2;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  line-height: 1;
  user-select: none;
  box-sizing: border-box;
  padding: 0;
  transition: all .15s ease;
}

.preview-row-drag {
  border: 1px solid #cbd6e3;
  color: #64748b;
  background: #ffffff;
  font-size: 11px;
  cursor: grab;
}
.preview-row-drag:hover {
  background: #f1f5f9;
  color: var(--navy);
  border-color: #94a3b8;
  transform: scale(1.08);
}
.preview-row-drag:active {
  cursor: grabbing;
}

.preview-row-delete {
  border: 1px solid rgba(239, 68, 68, 0.45);
  color: #dc2626;
  background: #ffffff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
.preview-row-delete:hover {
  background: #fee2e2;
  border-color: #ef4444;
  color: #b91c1c;
  transform: scale(1.08);
}
.preview-row-delete:active {
  transform: scale(0.95);
  background: #fca5a5;
}

/* Satır içi sağ uç silme butonu (Doğrudan hücre içinden tek tıkla silme) */
.preview-row-inline-del {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border-radius: 4px;
  background: #fee2e2;
  border: 1px solid #ef4444;
  color: #dc2626;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  z-index: 30;
  padding: 0;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  transition: opacity .15s ease, transform .12s ease, background .15s ease;
}
.meta-row:hover .preview-row-inline-del,
.colon-row:hover .preview-row-inline-del,
.preview-row-item:hover .preview-row-inline-del,
.preview-row-inline-del:hover {
  opacity: 0.95;
  pointer-events: auto;
}
.preview-row-inline-del:hover {
  opacity: 1;
  background: #dc2626;
  color: #ffffff;
  transform: translateY(-50%) scale(1.12);
}
.preview-row-inline-del:active {
  transform: translateY(-50%) scale(0.95);
  background: #b91c1c;
}

.preview-row-item.is-dragging {
  opacity: .45;
}
.preview-row-item.is-over-top {
  box-shadow: inset 0 3px 0 0 var(--gold, #c8a84b);
}
.preview-row-item.is-over-bottom {
  box-shadow: inset 0 -3px 0 0 var(--gold, #c8a84b);
}

/* Toolbar Satır Silme Butonu Stili */
.fmt-btn.btn-quick-del-row {
  color: #ef4444 !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}
.fmt-btn.btn-quick-del-row:hover {
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: #ef4444 !important;
  color: #dc2626 !important;
}

/* Dark Mode Desteği */
html[data-theme="dark"] .preview-row-drag {
  border-color: rgba(255, 255, 255, 0.2);
  background: #1e293b;
  color: #94a3b8;
}
html[data-theme="dark"] .preview-row-drag:hover {
  background: #334155;
  color: #f8fafc;
}
html[data-theme="dark"] .preview-row-delete {
  border-color: rgba(248, 113, 113, 0.35);
  background: #1e293b;
  color: #f87171;
}
html[data-theme="dark"] .preview-row-delete:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: #f87171;
  color: #fca5a5;
}
html[data-theme="dark"] .preview-row-inline-del {
  background: #450a0a;
  border-color: #ef4444;
  color: #fca5a5;
}
html[data-theme="dark"] .preview-row-inline-del:hover {
  background: #dc2626;
  color: #ffffff;
}

@media print {
  .preview-row-actions,
  .preview-row-drag,
  .preview-row-delete,
  .preview-row-inline-del,
  .preview-format-bar,
  #previewToolbar {
    display: none !important;
  }
}
.png-root .preview-row-actions,
.png-root .preview-row-drag,
.png-root .preview-row-delete,
.png-root .preview-row-inline-del,
.png-root .preview-format-bar,
.png-root #previewToolbar {
  display: none !important;
}

/* Önizleme Biçimlendirme Araç Çubuğu (Apple Liquid Glass Sticky Dock - Açık Tema) */
.preview-format-bar {
  max-width: 882px;
  margin: 0 auto 16px;
  position: sticky;
  top: 72px;
  z-index: 90;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px 14px;
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-radius: 980px;
  box-shadow: 
    0 12px 32px -4px rgba(15, 23, 42, 0.09), 
    0 2px 6px 0 rgba(15, 23, 42, 0.04),
    inset 0 1.5px 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -1px 1px 0 rgba(255, 255, 255, 0.45);
  transition: box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

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

.format-divider {
  width: 1px;
  height: 18px;
  background: rgba(15, 23, 42, 0.10);
  margin: 0 4px;
}

.fmt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-width: 30px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 980px;
  background: transparent;
  color: #1e293b;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.16s ease;
  user-select: none;
}

.fmt-btn:hover {
  background: rgba(15, 23, 42, 0.06);
  border-color: rgba(15, 23, 42, 0.08);
  color: #0f172a;
  transform: translateY(-1px);
}

.fmt-btn:active {
  background: rgba(37, 99, 235, 0.14);
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.28);
  transform: translateY(0);
}

.fmt-select {
  height: 30px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 980px;
  padding: 0 12px;
  font-size: 0.76rem;
  font-weight: 600;
  color: #1e293b;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  cursor: pointer;
  outline: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  transition: all 0.2s ease;
}

.fmt-select:focus {
  border-color: #0071e3;
  background: rgba(255, 255, 255, 0.90);
  box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.22);
}

.btn-quick-add-row {
  margin-left: auto;
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.32);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 980px;
  font-size: 0.74rem;
  font-weight: 750;
  padding: 0 12px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  transition: all 0.15s ease;
}

.btn-quick-add-row:hover {
  background: rgba(16, 185, 129, 0.22);
  border-color: rgba(16, 185, 129, 0.50);
  color: #065f46;
  transform: translateY(-1px);
}

.editor-label { margin-top: 14px; }
.editor-toolbar { display: flex; gap: 5px; margin-top: 5px; padding: 5px; background: #f4f7fa; border: 1px solid #cbd6e3; border-bottom: 0; border-radius: 5px 5px 0 0; }
.editor-toolbar button { border: 0; border-radius: 3px; padding: 4px 7px; color: var(--ink); background: transparent; font-size: .72rem; }
.editor-toolbar button:hover { background: #e2e9f0; }
.rich-editor { min-height: 190px; padding: 11px; overflow-y: auto; outline: 0; border: 1px solid #cbd6e3; border-radius: 0 0 5px 5px; color: #26384e; font-family: Georgia, serif; font-size: .86rem; line-height: 1.52; }
.rich-editor h3 { margin: .35em 0; font-size: 1em; text-transform: uppercase; }
.rich-editor p { margin: 0 0 .75em; }

.folder-button {
  display: block; padding: 13px 10px; text-align: center; border: 2px dashed var(--gold); border-radius: 7px;
  color: var(--navy); background: #fffdf5; font-size: .78rem; font-weight: 800; cursor: pointer;
}
.folder-button:hover { background: #fff7e2; }
.folder-button input { display: none; }
.asset-status { margin: 9px 0 0; padding: 8px 10px; border-radius: 5px; background: #f4f7fa; color: #4a5a70; font-size: .69rem; line-height: 1.5; }
.asset-status b { color: var(--navy); }
.asset-status.is-warning { background: #fff5f5; color: #9b2c2c; }
.asset-list { margin: 9px 0 0; color: #718096; font-size: .68rem; }
.asset-list summary { cursor: pointer; color: var(--navy); font-weight: 700; }
.asset-list code { display: inline-block; margin: 3px 4px 0 0; padding: 1px 5px; border-radius: 3px; background: #eef2f7; color: #2d3748; font-size: .66rem; }

.upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
.upload-button { padding: 8px 4px; text-align: center; border: 1px dashed #aebed0; border-radius: 5px; color: var(--ink); background: #f9fbfd; font-size: .63rem; cursor: pointer; }
.upload-button:hover { color: var(--red); border-color: var(--gold); }
.upload-button input { display: none; }
.toggle-line { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #45566c; font-size: .72rem; font-weight: 750; cursor: pointer; }
.toggle-line input[type="checkbox"] { flex: 0 0 15px; width: 15px; height: 15px; margin: 0; accent-color: var(--navy); cursor: pointer; }
.text-button { margin: 10px 0 0; padding: 0; border: 0; color: var(--red); background: none; font-size: .72rem; text-decoration: underline; }

/* 5. Alt Aksiyon Butonları (Action Dock - Modern Floating Command Deck) */
.action-dock {
  position: sticky;
  bottom: 12px;
  z-index: 25;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(203, 213, 225, 0.9);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.primary-action.print-btn-glow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 44px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 50%, #3b82f6 100%);
  color: #ffffff;
  font-family: Inter, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.88rem;
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35);
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}
.primary-action.print-btn-glow:hover {
  box-shadow: 0 6px 22px rgba(37, 99, 235, 0.48);
  transform: translateY(-1px);
  background: linear-gradient(135deg, #1e40af 0%, #1d4ed8 50%, #2563eb 100%);
}
.action-dock-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.action-dock-grid .secondary-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 38px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: #1e293b;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.77rem;
  font-weight: 700;
  transition: all 0.15s ease;
  cursor: pointer;
}
.action-dock-grid .secondary-action:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08);
}
.action-dock-subgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px solid #f1f5f9;
}
.btn-tool-action {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #ffffff;
  color: #475569;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 650;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-tool-action:hover:not(:disabled) {
  background: #f1f5f9;
  color: #0f172a;
  border-color: #cbd5e1;
}
.btn-tool-action:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.btn-tool-reset:hover {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border-color: #fecaca !important;
}
.helper-shortcuts {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 2px;
  font-size: 0.7rem;
  color: #64748b;
}
.helper-shortcuts kbd {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  padding: 1px 5px;
  font-family: ui-monospace, SFMono-Regular, monospace;
  font-size: 0.67rem;
  color: #334155;
  font-weight: 700;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}
.helper-text {
  margin: 8px 4px 0;
  color: #64748b;
  font-size: 0.7rem;
  line-height: 1.45;
}

.preview-area {
  padding: 20px clamp(16px, 3.5vw, 50px) 60px;
  overflow: visible;
  background-color: var(--canvas);
  background-image: radial-gradient(#cbd5e1 1.2px, transparent 1.2px);
  background-size: 20px 20px;
}
.preview-header {
  max-width: 882px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 12px;
}
.preview-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  background: var(--glass-surface-lg);
  backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border-strong);
  border-radius: 20px;
  font-size: 0.74rem;
  color: #1e293b;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.preview-status-pill b {
  font-weight: 800;
  letter-spacing: 0.02em;
}
.preview-mode-tag {
  font-weight: 500;
  font-size: 0.7rem;
  color: #64748b;
  border-left: 1px solid #cbd5e1;
  padding-left: 8px;
}
.page-meter-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  font-size: 0.73rem;
  font-weight: 650;
  color: #475569;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  font-family: ui-monospace, SFMono-Regular, monospace;
}
.live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.6);
  animation: timerPulse 2s infinite ease-in-out;
}

/* ===================== BELGE SAYFASI VE TEMALARI ===================== */
.document-page {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(100%, 882px);
  min-height: 1247px;
  margin: auto;
  padding: 44px 46px 62px;
  overflow: hidden;
  color: var(--ink);
  background-color: var(--paper);
  background-image: linear-gradient(135deg, rgb(255 255 255 / 78%), rgb(241 236 218 / 44%));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 24px 48px -12px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(15, 23, 42, 0.04);
  border-radius: 2px;
  font-family: Georgia, "Times New Roman", serif;
}

/* Temalar */
.document-page.theme-internal { --frame: #102a4a; --accent: #d8aa42; --chip: #bd3a48; --strip-bg: #102a4a; --strip-ink: #f0f4f8; }
.document-page.theme-directive { --frame: #d8aa42; --accent: #102a4a; --chip: #bd3a48; --strip-bg: #102a4a; --strip-ink: #f9d884; }
.document-page.theme-court { --frame: #b02a33; --accent: #ffffff; --chip: #b02a33; --strip-bg: #8e1a25; --strip-ink: #ffffff; }
.document-page.court-aym { --frame: #5b2a86; --accent: #d8aa42; --chip: #5b2a86; --strip-bg: #4a2270; --strip-ink: #f2d58a; }
.document-page.court-ust { --frame: #17457f; --accent: #d8aa42; --chip: #17457f; --strip-bg: #123a6d; --strip-ink: #f2d58a; }
.document-page.court-istinaf { --frame: #1e6b4f; --accent: #ffffff; --chip: #1e6b4f; --strip-bg: #1a5c44; --strip-ink: #ffffff; }
.document-page.court-alt { --frame: #a5202c; --accent: #ffffff; --chip: #a5202c; --strip-bg: #8e1a25; --strip-ink: #ffffff; }

/* Yeni Temalar: Savcılık, MGK, Avukat Dava Talebi, Vekaletname, Sözleşme */
.document-page.theme-prosecutor { --frame: #16325c; --accent: #b02a33; --chip: #16325c; --strip-bg: #16325c; --strip-ink: #ffffff; }
.document-page.theme-mgk { --frame: #8b0000; --accent: #c49a45; --chip: #8b0000; --strip-bg: #8b0000; --strip-ink: #f7e7c4; }
.document-page.theme-lawsuit { --frame: #2c3e50; --accent: #7f8c8d; --chip: #2c3e50; --strip-bg: #2c3e50; --strip-ink: #ffffff; }
.document-page.theme-attorney,
.document-page.theme-power_of_attorney { --frame: #1e3a8a; --accent: #475569; --chip: #1e3a8a; --strip-bg: #1e3a8a; --strip-ink: #ffffff; }
.document-page.theme-contract { --frame: #1e3a8a; --accent: #b45309; --chip: #1e3a8a; --strip-bg: #1e3a8a; --strip-ink: #fef3c7; }

/* DoktorNET Sağlık Bakanlığı ve Adli Tıp / Darp Raporu Temaları */
.document-page.theme-darp_raporu,
.document-page.theme-adli_muayene,
.document-page.theme-kesin_adli,
.document-page.theme-is_goremezlik {
  --frame: #064e3b;
  --accent: #10b981;
  --chip: #064e3b;
  --strip-bg: #064e3b;
  --strip-ink: #ffffff;
}

.document-page.theme-olum_belgesi {
  --frame: #1e293b;
  --accent: #475569;
  --chip: #1e293b;
  --strip-bg: #1e293b;
  --strip-ink: #f8fafc;
}

.document-page.theme-power_of_attorney,
.document-page.theme-contract {
  padding: 44px 54px 40px;
}

.document-page::before { content: ""; position: absolute; inset: 12px; z-index: 3; border: 2.5px solid var(--frame); pointer-events: none; }
.document-page::after { content: ""; position: absolute; inset: 17px; z-index: 3; border: 1px solid var(--accent); opacity: .8; pointer-events: none; }
.document-page > * { position: relative; z-index: 1; }

.watermark-layer { position: absolute; inset: 17% 9% 15%; z-index: 0; display: flex; align-items: center; justify-content: center; opacity: .09; pointer-events: none; }
.watermark-layer::after { content: "⚖"; color: var(--frame); font-size: 300px; line-height: 1; }
.document-page.theme-darp_raporu .watermark-layer,
.document-page.theme-adli_muayene .watermark-layer,
.document-page.theme-kesin_adli .watermark-layer,
.document-page.theme-is_goremezlik .watermark-layer,
.document-page.theme-olum_belgesi .watermark-layer {
  opacity: 0.10 !important;
}
.watermark-layer.has-image::after { content: none; display: none; }
.watermark-layer img { max-width: 92%; max-height: 78%; object-fit: contain; }
.document-page.no-watermark .watermark-layer { display: none; }

.document-page [data-edit] { cursor: text; }
.document-page [data-edit]:hover { outline: 1px dashed rgb(176 42 51 / 45%); outline-offset: 2px; }
.document-page [data-edit].is-editing { outline: 2px solid var(--gold); outline-offset: 2px; background: rgb(255 248 220 / 80%); }
.document-page .slot-empty { cursor: pointer; }

/* Ortak parçalar */
.chip-red { min-width: 148px; padding: 5px 9px; border: 1px solid var(--chip); color: var(--chip); text-align: center; line-height: 1.25; }
.chip-red .chip-label { font-family: Inter, sans-serif; font-size: .6rem; font-weight: 800; letter-spacing: .08em; }
.chip-red .chip-value { font-family: "Courier New", monospace; font-size: .95rem; letter-spacing: .04em; }
.chip-red .chip-value + .chip-label { margin-top: 3px; padding-top: 3px; border-top: 1px solid rgb(0 0 0 / 14%); }

.stamp-box { width: 156px; text-align: center; flex-shrink: 0; }
.stamp-box .stamp-caption {
  display: block;
  margin-bottom: 3px;
  font-family: Inter, sans-serif;
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.stamp-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 136px;
  min-height: 136px;
  padding: 3px;
  border: 1.5px solid var(--frame);
  border-radius: 4px;
  background: rgb(255 255 255 / 85%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.stamp-frame img {
  max-width: 100%;
  max-height: 130px;
  width: auto;
  height: 100%;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  filter: contrast(1.1) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.16));
}
.stamp-frame .slot-empty {
  color: #9aa7b6;
  font-family: Inter, sans-serif;
  font-size: .54rem;
  line-height: 1.35;
}

.crest { display: flex; align-items: center; justify-content: center; }
.crest img { width: 100%; height: 100%; object-fit: contain; }
.crest.is-blank { border: 3px solid var(--gold); border-radius: 50%; background: var(--navy); color: var(--gold); box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 6px var(--gold); flex-direction: column; }
.crest.is-blank b { font-size: 2.1rem; line-height: .8; }
.crest.is-blank small { margin-top: 6px; font-size: .4rem; letter-spacing: .1em; }

.doc-title { margin: 0; padding-bottom: 7px; text-align: center; font-size: 1.62rem; line-height: 1.1; text-transform: uppercase; }
.doc-body { flex: 1 1 auto; font-size: 1.02rem; line-height: 1.55; text-align: justify; }
.doc-body h3 { margin: 1em 0 .6em; text-align: center; font-size: 1.1em; text-transform: uppercase; }
.doc-body p { margin: 0 0 .95em; }
.doc-body ul { margin: -.2em 0 1em; padding-left: 1.4em; }
.doc-body li { margin-bottom: .3em; }

.page-bottom {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 18px;
  color: var(--strip-ink, #ffffff) !important;
  background: var(--strip-bg, #102a4a) !important;
  border: 1.5px solid var(--frame, var(--gold));
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
  font-family: Inter, sans-serif;
  font-size: .54rem;
  font-weight: 600;
  letter-spacing: .06em;
}
.page-bottom > span,
.page-bottom .stamp-time {
  color: inherit !important;
}
.page-bottom .stamp-time {
  flex: 1;
  text-align: center;
  font-weight: 700;
  opacity: .95;
  letter-spacing: .08em;
}

/* İç Yazışma */
.head-classic { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.head-classic .crest { flex: 0 0 112px; width: 112px; height: 112px; }
.head-classic .org-text { flex: 1; padding-top: 4px; }
.org-text p, .org-text h2 { margin: 0; }
.org-text .org-kicker { color: var(--red); font-size: .7rem; font-weight: 700; letter-spacing: .05em; }
.org-text .org-main { margin: 3px 0; font-size: 1.3rem; font-weight: 700; letter-spacing: .02em; }
.org-text .org-unit { font-size: .84rem; }
.head-side { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }

.rule-line { height: 0; margin: 15px 0 17px; border-bottom: 2.5px solid var(--frame); }
.rule-line span { display: none; }

.meta-table { margin-bottom: 18px; border: 1px solid #4b6078; background: rgb(255 255 255 / 30%); }
.meta-row { display: grid; grid-template-columns: 150px 1fr; min-height: 31px; border-top: 1px solid #8594a8; }
.meta-row:first-child { border-top: 0; }
.meta-label { display: flex; align-items: center; padding: 5px 10px; border-right: 1px solid #8594a8; font-size: .8rem; font-weight: 700; }
.meta-value { display: flex; align-items: center; padding: 5px 10px; font-size: .88rem; }

/* Mahkeme */
.head-court { display: grid; grid-template-columns: 180px 1fr 180px; align-items: start; gap: 10px; }
.head-court .crest { width: 158px; height: 158px; margin: 0 auto; }
.head-court .head-side { gap: 8px; }
.court-org { margin: 6px 0 2px; text-align: center; line-height: 1.35; }
.court-org p { margin: 0; }
.court-org .line-1 { font-size: 1.16rem; font-weight: 700; letter-spacing: .02em; }
.court-org .line-2 { font-size: 1rem; }
.court-org .line-3 { font-size: .98rem; }
.document-page.theme-court .doc-title, .document-page.theme-prosecutor .doc-title { margin: 14px 0 18px; border-bottom: 2.5px solid var(--frame); font-size: 1.5rem; }

.colon-rows { margin-bottom: 20px; }
.colon-row { display: grid; grid-template-columns: 148px 14px 1fr; align-items: baseline; margin-bottom: 7px; }
.colon-row .c-label { font-size: .88rem; letter-spacing: .01em; }
.colon-row .c-colon { font-size: .95rem; }
.colon-row .c-value { font-size: 1.02rem; }
.section-heading { margin: 4px 0 14px; text-align: center; font-size: 1.22rem; font-weight: 700; }

/* Kararname */
.kararname-top { margin-bottom: 6px; color: var(--deep-red); text-align: center; font-size: .92rem; font-weight: 700; letter-spacing: .02em; }
.head-kararname { display: grid; grid-template-columns: 120px 1fr 168px; gap: 12px; align-items: start; }
.head-kararname .crest { width: 116px; height: 116px; }
.head-kararname .org-block { text-align: left; padding-top: 2px; }
.head-kararname .org-block p { margin: 0; line-height: 1.4; }
.head-kararname .org-block .line-1 { font-size: 1.22rem; font-weight: 700; }
.head-kararname .org-block .line-2 { font-size: 1.02rem; }
.head-kararname .org-block .line-3 { font-size: .92rem; }
.head-kararname .head-side { gap: 5px; }
.e-note { font-family: Inter, sans-serif; font-size: .52rem; font-style: italic; color: #6b7a8d; }

.band-title { margin: 10px 0 12px; padding: 5px 0; border-top: 2px solid var(--frame); border-bottom: 2px solid var(--frame); text-align: center; font-size: 1.28rem; font-weight: 700; letter-spacing: .01em; text-transform: uppercase; }
.meta-stamp-grid { display: grid; grid-template-columns: 1fr 156px; gap: 14px; margin-bottom: 16px; align-items: start; }
.meta-stamp-grid .meta-table { margin-bottom: 0; border-color: var(--frame); }
.meta-stamp-grid .meta-row, .meta-stamp-grid .meta-label { border-color: var(--frame); }
.meta-stamp-grid .meta-label { background: rgb(0 0 0 / 4%); }
.meta-stamp-grid .colon-rows { margin-bottom: 0; }
.meta-stamp-grid .colon-row { grid-template-columns: 135px 12px 1fr; margin-bottom: 5px; }
.number-strip { display: flex; align-items: center; gap: 12px; margin: 14px 0 12px; color: var(--deep-red); font-family: "Courier New", monospace; font-size: 1.05rem; letter-spacing: .08em; }
.number-strip::before, .number-strip::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .55; }

/* Onay tablosu (kararname alt bilgi) */
.approval-wrap { display: grid; grid-template-columns: 1fr 218px; gap: 10px; margin-top: 16px; align-items: stretch; }
.approval-table { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); border: 1px solid var(--frame); overflow: hidden; }
.approval-table > div { padding: 4px 5px; border-right: 1px solid var(--frame); border-bottom: 1px solid var(--frame); min-width: 0; overflow: hidden; }
.at-declaration { color: var(--deep-red); font-family: Inter, sans-serif; font-size: .46rem; line-height: 1.35; }
.at-header { color: var(--deep-red); text-align: center; font-size: .53rem; font-weight: 700; line-height: 1.25; }
.approval-table .at-sign, .approval-table .at-fees { border-bottom: 0; }
.approval-table .edge-right { border-right: 0; }
.at-fees { font-family: Inter, sans-serif; font-size: .5rem; line-height: 1.5; }
.at-fees .fees-title { display: block; margin-bottom: 3px; color: var(--deep-red); font-size: .47rem; font-weight: 700; }
.at-fees .fee-line { display: block; font-weight: 700; color: #2d3748; }
.at-fees .fee-total { display: block; margin-top: 4px; color: var(--deep-red); font-size: .62rem; font-weight: 800; }
.at-sign { display: flex; flex-direction: column; align-items: center; text-align: center; overflow: hidden; }
.at-sign strong { font-size: .65rem; line-height: 1.2; word-break: break-word; overflow-wrap: break-word; max-width: 100%; }
.at-sign small { display: block; margin-top: 2px; font-size: .43rem; line-height: 1.3; color: #3c4a5e; word-break: break-word; overflow-wrap: break-word; max-width: 100%; }
.seal-slot { position: relative; width: 100%; height: 86px; margin-top: auto; flex-shrink: 0; }
.seal-slot img { position: absolute; top: 50%; left: 50%; object-fit: contain; transform: translate(-50%, -50%); }
.seal-slot .seal-img { width: 84px; height: 84px; z-index: 1; }
.seal-slot .sign-img { width: 78px; max-height: 60px; z-index: 2; }
.seal-slot .slot-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; border: 1px dashed #c9d3df; color: #a9b4c2; font-family: Inter, sans-serif; font-size: .45rem; text-align: center; }


.final-approval { display: flex; flex-direction: column; align-items: center; text-align: center; }
.approve-chip { display: inline-block; margin-bottom: 8px; padding: 3px 16px; border: 1px solid var(--red); color: var(--red); font-family: Inter, sans-serif; font-size: .62rem; font-weight: 800; letter-spacing: .04em; }
.final-stack { position: relative; width: 100%; min-height: 118px; padding-top: 6px; }
.final-stack .final-seal { position: absolute; top: 50%; left: 50%; width: 132px; height: 132px; object-fit: contain; opacity: .9; transform: translate(-50%, -48%); z-index: 0; }
.final-stack .final-sign { position: absolute; bottom: -6px; left: 50%; width: 160px; max-height: 66px; object-fit: contain; transform: translateX(-50%); z-index: 2; }
.final-stack strong, .final-stack small { position: relative; z-index: 1; display: block; }
.final-stack strong { font-size: 1.05rem; }
.final-stack small { font-size: .74rem; }

/* Basit alt bilgi */
.simple-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 18px; }
.verification-note { max-width: 320px; padding: 9px 0 0; border-top: 1px solid #d6aeb1; color: var(--red); font-family: Inter, sans-serif; font-size: .55rem; line-height: 1.45; }
.verification-note strong, .verification-note span { display: block; }
.timestamp { display: block; margin-top: 5px; color: var(--ink); font-size: .58rem; font-weight: 800; letter-spacing: .03em; }
.simple-footer .final-approval { min-width: 250px; }

/* Avukat Dilekçe & Vekaletname Özelleştirmeleri */
.document-page.theme-lawsuit .simple-footer, .document-page.theme-attorney .simple-footer {
  justify-content: flex-end;
}
.document-page.theme-lawsuit .head-classic, .document-page.theme-attorney .head-classic {
  border-bottom: 2px solid var(--frame);
  padding-bottom: 12px;
}
.lawyer-footer-block {
  text-align: right;
  min-width: 280px;
}
.lawyer-footer-block .final-sign {
  margin: 10px 0 5px auto;
  max-height: 65px;
  display: block;
}

/* Avukatlık Sözleşmesi ve Ücret Tarifesi Tablosu */
.document-page.theme-contract .head-classic {
  border-bottom: 2px solid var(--frame);
  padding-bottom: 12px;
}
.contract-fee-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.82rem;
}
.contract-fee-table th {
  background: #f8fafc;
  border: 1.5px solid #64748b;
  padding: 8px 10px;
  text-align: left;
  font-weight: 800;
  color: #0f172a;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
}
.contract-fee-table td {
  border: 1px solid #cbd5e1;
  padding: 7px 10px;
  color: #1e293b;
  line-height: 1.35;
}
.contract-fee-table tr:nth-child(even) td {
  background: #f8fafc;
}
.contract-fee-table tr.total-row td {
  background: #f1f5f9;
  border-top: 2px solid #475569;
  font-weight: 800;
  color: #0f172a;
}
.contract-signatures {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
  gap: 18px;
  page-break-inside: avoid;
}
.contract-sign-col {
  flex: 1;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 10px 14px;
  text-align: center;
  background: #fafbfc;
}
.font-signature {
  font-family: 'Dancing Script', 'Caveat', 'Marck Script', 'Segoe Script', 'Brush Script MT', cursive;
  font-size: 1.85rem;
  font-weight: 700;
  color: #1a365d; /* Resmi dolmakalem laciverti / legal deep navy ink */
  display: inline-block;
  transform: rotate(-3deg);
  margin: 2px auto;
  user-select: none;
  letter-spacing: 0.5px;
  line-height: 1.15;
  text-shadow: 0.25px 0.25px 0.5px rgba(26, 54, 93, 0.25);
  transition: transform 0.2s ease;
  white-space: nowrap;
}
.font-signature:hover {
  transform: rotate(-1deg) scale(1.03);
}

/* --- TOAST BİLDİRİM --- */
.toast {
  position: fixed;
  right: 24px;
  bottom: 88px; /* AdliNET İletişim FAB butonunun hemen üstünde yer alır, asla üst üste binmez */
  z-index: 100000;
  max-width: 380px;
  padding: 12px 18px;
  transform: translateY(16px);
  opacity: 0;
  border-radius: 10px;
  color: #fff;
  background: var(--navy);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1);
  font-size: .82rem;
  line-height: 1.45;
  transition: .25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.toast.is-visible {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 768px) {
  .toast {
    right: 16px;
    bottom: 80px;
    max-width: calc(100vw - 32px);
  }
}

/* AdliNET sohbeti açıkken bildirim, yazma alanının (composer) üstüne binmesin.
   Sağ alt köşe yazma alanıyla çakıştığı için üst çubuğa alınır. */
body:has(#uyapModal.is-open) .toast {
  top: 18px;
  bottom: auto;
  right: 50%;
  transform: translate(50%, -16px);
}

body:has(#uyapModal.is-open) .toast.is-visible {
  transform: translate(50%, 0);
}

/* ===================== MODALLAR ===================== */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.modal-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.modal-card {
  background: var(--glass-surface-lg);
  border-radius: var(--glass-radius-lg);
  box-shadow: 0 25px 60px rgba(0,0,0,0.35), var(--glass-highlight);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  width: min(100%, 540px);
  /* max-height tek başına flex çocuklarının kaydırmasını her tarayıcıda
     garanti etmez; belirli height ile gövde kayması kesinleşir. */
  height: 88vh;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--glass-border-strong);
  animation: modalPop .25s ease-out;
}

/* Kısa içerikli modalarda gereksiz boşluk oluşmasın */
.modal-card:has(.modal-body:empty),
.modal-card.auto-height {
  height: auto;
  max-height: 88vh;
}
.modal-card.modal-lg {
  width: min(100%, 780px);
}
@keyframes modalPop {
  from { transform: scale(0.95) translateY(10px); opacity: 0; }
  to { transform: scale(1) translateY(0); opacity: 1; }
}
.modal-header {
  padding: 16px 22px;
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h3 {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 750;
  letter-spacing: -0.015em;
  font-size: 1.15rem;
  color: var(--navy);
  display: flex;
  align-items: center;
  gap: 8px;
}
.modal-close {
  background: none;
  border: none;
  font-size: 1.4rem;
  line-height: 1;
  color: #718096;
  padding: 4px 8px;
  border-radius: 4px;
}
.modal-close:hover { background: #edf2f7; color: var(--navy); }
.modal-body {
  padding: 22px;
  overflow-y: auto;
  /* Flex sütunda kaydırma için şart: gövde esnemesin, footer her zaman görünür kalsın */
  flex: 1 1 auto;
  min-height: 0;
  font-size: .85rem;
  color: #2d3748;
}

/* KRİTİK: .modal-body bazı modalların içinde <form> sarıcısının ALTINDA durur
   (ör. #profileForm). O zaman .modal-body'nin ebeveyni flex sütun değildir;
   flex:1/min-height:0 işe yaramaz, form içeriğe göre büyür ve footer
   .modal-card'ın max-height'ı dışına taşar (overflow:hidden onu kırpar).
   Formu da esnek sütun yapıp gövdeyi onun içinde kaydırıyoruz. */
.modal-card > form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.modal-footer {
  padding: 14px 22px;
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  border-top: 1px solid var(--glass-border-strong);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
  align-items: center;
}

.modal-footer-hint {
  margin-right: auto;
  font-size: .72rem;
  color: #718096;
}

/* Modal Form Bileşenleri */
.m-group {
  margin-bottom: 14px;
}
.m-group label {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  color: #4a5568;
  margin-bottom: 4px;
}
.m-group input, .m-group select, .m-group textarea {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #cbd6e3;
  border-radius: 6px;
  font-size: .85rem;
}
.m-group textarea {
  height: 70px;
  padding: 8px 10px;
}
.m-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Dar alanda etiketlerin alt alta kaymasını önle */
.m-grid-2 > .m-group {
  min-width: 0;
}

.m-grid-2 > .m-group > label {
  overflow-wrap: anywhere;
  line-height: 1.35;
}
#profileMediaGrid:has(#profileSealGroup[style*="none"]) {
  grid-template-columns: 1fr;
}

/* ============================================================================
   PROFİL EKRANI - MODERN CAM YÜZEY + KİMLİK KARTI
   ========================================================================== */
/* Profil modalı: form sarmalayıcı sayesinde gövde artık kayabilir */
#profileModal .modal-card {
  height: 88vh;
  max-height: 88vh;
}

#profileModal #profileForm {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

#profileModal .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.profile-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Kritik: Bu blok flex sütun olduğu için çocuklar varsayılan flex-shrink:1 ile
   içerik yerine SIKIŞIR ve taşma olmadığından kaydırma çubuğu hiç oluşmaz.
   flex-shrink:0 ile doğal yükseklikleri korunur, gövde gerektiğinde kayar. */
.profile-body > * {
  flex-shrink: 0;
}

/* Kimlik Kartı */
.profile-id-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border-radius: var(--glass-radius-lg);
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow-md);
}

.profile-id-avatar {
  width: 58px;
  height: 58px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

html[data-theme="dark"] .profile-id-avatar {
  background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);
  box-shadow: 0 6px 18px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.profile-id-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.profile-id-info strong {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html[data-theme="dark"] .profile-id-info strong {
  color: #f1f5f9;
}

.profile-id-grade {
  display: inline-flex;
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
  font-size: 0.72rem;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

html[data-theme="dark"] .profile-id-grade {
  background: rgba(56, 189, 248, 0.16);
  color: #7dd3fc;
}

.profile-id-did {
  font-family: 'Anonymous Pro', monospace;
  font-size: 0.72rem;
  color: #64748b;
  word-break: break-all;
}

html[data-theme="dark"] .profile-id-did {
  color: #94a3b8;
}

/* Bölüm başlıkları */
.profile-section {
  padding: 14px 16px;
  border-radius: var(--glass-radius-md);
  background: var(--glass-surface-xs);
  border: 1px solid var(--glass-border);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.profile-section-title {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #475569;
  display: flex;
  align-items: center;
  gap: 7px;
}

html[data-theme="dark"] .profile-section-title {
  color: #94a3b8;
}

/* Profil 2AD bölümü artık kendi cam kartında */
.profile-section .profile-2fa-box {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-top: 0;
}

/* Profil Kilit Bildirimi */
.profile-lock-notice {
  background: #fffaf0;
  border: 1px solid #fbd38d;
  color: #7b341e;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: .78rem;
  margin-bottom: 14px;
  line-height: 1.4;
}

.m-group input.is-locked,
.m-group input:disabled,
.m-group select.is-locked,
.m-group select:disabled {
  background: #f1f5f9 !important;
  color: #64748b !important;
  border-color: #cbd5e1 !important;
  cursor: not-allowed !important;
}

/* Kilit / Lockout Uyarı Kutusu */
.lockout-alert {
  padding: 12px 14px;
  border-radius: 6px;
  background: #fff5f5;
  border: 1px solid #feb2b2;
  color: #c53030;
  font-size: .8rem;
  margin-bottom: 16px;
  display: none;
}
.lockout-alert.is-active {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* İzin Checkbox Tablosu */
.permissions-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background: #f8fafc;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  margin-top: 5px;
}
.perm-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
}
.perm-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--navy);
  margin: 0;
}

/* Kullanıcı Tablosu */
.user-table-wrap {
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 18px;
}
.user-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .78rem;
  text-align: left;
}
.user-table th {
  background: #edf2f7;
  padding: 8px 10px;
  font-weight: 700;
  color: #4a5568;
  border-bottom: 1px solid var(--line);
}
.user-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #edf2f7;
  vertical-align: middle;
}
.user-table tr {
  cursor: pointer;
  transition: all .15s ease;
}
.user-table tr:hover {
  background: #f7fafc;
}
.user-table tr.is-selected {
  background: #fff8e6 !important;
  box-shadow: inset 3px 0 0 var(--gold);
}
.user-table tr.is-selected td {
  font-weight: 600;
}
.perm-mini-badge {
  display: inline-block;
  font-size: .62rem;
  padding: 1px 5px;
  border-radius: 3px;
  background: #edf2f7;
  color: #718096;
  margin: 1px 2px;
}
.perm-mini-badge.perm-on {
  background: #e6fffa;
  color: #234e52;
  border: 1px solid #b2f5ea;
  font-weight: 700;
}
.perm-mini-badge.perm-master {
  background: #fff5f5;
  color: #c53030;
  border: 1px solid #feb2b2;
  font-weight: 800;
}

/* Profil İmza & Mühür Önizleme */
.signature-box-preview {
  width: 100%;
  height: 90px;
  border: 1.5px dashed #cbd6e3;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: #fafbfc;
  margin-top: 6px;
  overflow: hidden;
}
.signature-box-preview img {
  max-width: 90%;
  max-height: 80px;
  object-fit: contain;
}

/* 2FA / TOTP Karekod ve Kurulum Kutusu */
.profile-2fa-box {
  margin-top: 12px;
  padding: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.04);
}

/* 2AD Kurtarma Kodları */
.profile-2fa-recovery {
  width: 100%;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px dashed #cbd5e1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}

.profile-2fa-recovery-head {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: center;
}

.profile-2fa-recovery-head strong {
  font-size: 0.82rem;
  color: #2d3748;
}

.profile-2fa-recovery-head small {
  font-size: 0.7rem;
  color: #718096;
  line-height: 1.45;
}

.profile-2fa-recovery-box {
  width: 100%;
  background: #fffdf5;
  border: 1px solid #fde68a;
  border-radius: 9px;
  padding: 11px;
}

.profile-2fa-recovery-note {
  font-size: 0.72rem;
  font-weight: 600;
  color: #92400e;
  margin-bottom: 8px;
  text-align: center;
  line-height: 1.4;
}

.profile-2fa-recovery-codes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

.profile-2fa-recovery-codes code {
  display: block;
  text-align: center;
  padding: 5px 6px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-family: 'Anonymous Pro', monospace;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.5px;
  color: #1a202c;
  user-select: all;
}
.profile-2fa-hint {
  margin: 0;
  font-size: 0.78rem;
  color: #475569;
  text-align: center;
  line-height: 1.4;
  font-weight: 500;
}
.profile-2fa-qr-container {
  padding: 12px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-2fa-qr {
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-2fa-qr img,
.profile-2fa-qr canvas {
  display: block;
  width: 140px;
  height: 140px;
  border-radius: 4px;
}
.profile-2fa-manual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 100%;
}
.profile-2fa-manual-label {
  font-size: 0.72rem;
  color: #64748b;
  font-weight: 600;
}
.profile-2fa-code {
  display: inline-block;
  padding: 6px 12px;
  background: #edf2f7;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-family: 'Anonymous Pro', monospace;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 2px;
  color: #0f172a;
  text-align: center;
  user-select: all;
}
.btn-2fa-generate {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 0.76rem;
  font-weight: 650;
  color: #334155;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-2fa-generate:hover {
  background: #e2e8f0;
  color: #0f172a;
  border-color: #94a3b8;
}

/* Responsive */
@media (max-width: 900px) {
  .app-shell { grid-template-columns: 1fr; }
  .control-panel { border-right: 0; }
  .preview-area { padding: 20px; }
  .top-nav { flex-direction: column; align-items: flex-start; gap: 10px; }
  .nav-user-area { width: 100%; justify-content: space-between; }
}
@media (max-width: 550px) {
  .control-panel { padding: 20px 14px; }
  .document-page { min-height: 1120px; padding: 28px 20px 48px; }
  .head-court { grid-template-columns: 100px 1fr 100px; }
  .head-kararname { grid-template-columns: 72px 1fr 100px; }
  .head-kararname .crest { width: 68px; height: 68px; }
  .head-classic .crest { flex-basis: 68px; width: 68px; height: 68px; }
  .meta-row, .colon-row { grid-template-columns: 90px 1fr; }
  .colon-row { grid-template-columns: 85px 10px 1fr; }
  .approval-wrap { grid-template-columns: 1fr; }
  .stamp-box { width: 100px; }
  .verification-note { display: none; }
  .permissions-grid, .m-grid-2 { grid-template-columns: 1fr; }
}

/* =========================================================================
   GİRİŞ PORTALI (TAM EKRAN GÜVENLİK İZOLASYONU & ANİMASYONLU DOJ MÜHRÜ)
   ========================================================================= */
.login-portal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none !important;
  align-items: center;
  justify-content: center;
  background-color: #07090e !important;
  background-image: 
    radial-gradient(circle at 50% 18%, rgba(30, 48, 80, 0.45) 0%, rgba(13, 19, 32, 0.75) 45%, #06080d 95%) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 24px 14px;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
}

.login-portal-overlay.is-open {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.portal-bg-effects {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

/* Apple Liquid Dark: Işıltılı Canlı Aurora Küreleri */
.portal-bg-effects::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 720px;
  top: -10%;
  left: 15%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.22) 0%, rgba(56, 189, 248, 0.12) 40%, transparent 70%);
  filter: blur(65px);
  animation: portalAmbientFloat1 18s ease-in-out infinite alternate;
  pointer-events: none;
}

.portal-bg-effects::after {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  bottom: -8%;
  right: 12%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, rgba(139, 92, 246, 0.08) 45%, transparent 70%);
  filter: blur(60px);
  animation: portalAmbientFloat2 22s ease-in-out infinite alternate;
  pointer-events: none;
}

/* DoktorNET Portalı Aktifken Zümrüt Yeşili Canlı Işıltı */
.login-portal-overlay.mode-doctor .portal-bg-effects::before {
  background: radial-gradient(circle, rgba(16, 185, 129, 0.24) 0%, rgba(5, 150, 105, 0.12) 40%, transparent 70%);
}
.login-portal-overlay.mode-doctor .portal-bg-effects::after {
  background: radial-gradient(circle, rgba(20, 184, 166, 0.20) 0%, rgba(13, 148, 136, 0.08) 45%, transparent 70%);
}

/* Apple Geometrik Kılavuz Ağı (Modern Vignette Maskeli) */
.portal-grid-lines {
  display: block !important;
  position: absolute;
  inset: -150px;
  background-image: 
    linear-gradient(rgba(148, 163, 184, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.07) 1px, transparent 1px);
  background-size: 56px 56px;
  transform: rotate(12deg);
  mask-image: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.95) 25%, transparent 78%);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.95) 25%, transparent 78%);
  animation: portalGridMove 32s linear infinite;
  pointer-events: none;
}

.login-portal-overlay.mode-doctor .portal-grid-lines {
  background-image: 
    linear-gradient(rgba(52, 211, 153, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(52, 211, 153, 0.09) 1px, transparent 1px);
}

/* 1 logo var / 1 logo yok: Net, kaliteli ve belirgin akan resmi mühür filigranı */
.portal-doj-watermark {
  position: absolute;
  inset: -1500px;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 660px 660px;
  filter: grayscale(100%) brightness(1.2) contrast(1.02);
  opacity: 0.30 !important;
  pointer-events: none;
  transform: rotate(-18deg);
  animation: portalStreamTopRightToBottomLeft 42s linear infinite;
}

/* Sağ üstten sol alta kesintisiz çapraz sonsuz akış */
@keyframes portalStreamTopRightToBottomLeft {
  0% {
    transform: rotate(-18deg) translate3d(0, 0, 0);
  }
  100% {
    transform: rotate(-18deg) translate3d(-660px, 660px, 0);
  }
}

@keyframes portalGridMove {
  0% {
    transform: rotate(12deg) translate3d(0, 0, 0);
  }
  100% {
    transform: rotate(12deg) translate3d(56px, 56px, 0);
  }
}

@keyframes portalAmbientFloat1 {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.8;
  }
  50% {
    transform: translate3d(45px, 25px, 0) scale(1.12);
    opacity: 1;
  }
  100% {
    transform: translate3d(-35px, 45px, 0) scale(0.94);
    opacity: 0.82;
  }
}

@keyframes portalAmbientFloat2 {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.75;
  }
  50% {
    transform: translate3d(-40px, -30px, 0) scale(1.15);
    opacity: 1;
  }
  100% {
    transform: translate3d(30px, -20px, 0) scale(0.92);
    opacity: 0.78;
  }
}


/* Ana Çatı Master Logo: HükümNET (Federal Hükümetin Dijital Kapısı) */
.login-portal-wrapper {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto;
  width: 100%;
  max-width: 540px;
  animation: portalCardIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.portal-umbrella-brand {
  margin-bottom: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
}

.portal-umbrella-logo {
  width: 270px;
  max-width: 85vw;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 4px 24px rgba(56, 189, 248, 0.45));
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease;
}

.portal-umbrella-logo:hover {
  transform: translateY(-2px) scale(1.02);
  filter: drop-shadow(0 8px 32px rgba(56, 189, 248, 0.65));
}

.login-portal-overlay.mode-doctor .portal-umbrella-logo {
  filter: drop-shadow(0 4px 24px rgba(20, 184, 166, 0.5));
}

.login-portal-overlay.mode-doctor .portal-umbrella-logo:hover {
  filter: drop-shadow(0 8px 32px rgba(20, 184, 166, 0.7));
}

@media (max-width: 480px) {
  .portal-umbrella-logo {
    width: 210px;
  }
  .portal-umbrella-brand {
    margin-bottom: 12px;
  }
}

/* Modern Sıvı Cam Federal Güvenlik Kartı (Apple Dark Liquid Glass) */
.modal-card.login-portal-card,
html[data-theme="dark"] .modal-card.login-portal-card {
  position: relative;
  z-index: 10;
  width: min(94vw, 500px);
  background: rgba(8, 14, 26, 0.28) !important;
  backdrop-filter: blur(12px) saturate(210%) contrast(108%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(210%) contrast(108%) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 
    0 32px 80px -16px rgba(0, 0, 0, 0.82),
    0 0 0 1px rgba(255, 255, 255, 0.10),
    inset 0 1.5px 1.5px 0 rgba(255, 255, 255, 0.45),
    inset 0 -1px 1px 0 rgba(255, 255, 255, 0.10) !important;
  border-radius: 26px !important;
  color: #f8fafc;
  padding: 0;
  overflow: hidden;
  animation: portalCardIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* CANLI SİSTEM SAATİ ÇUBUĞU (APPLE STATUS BAR AESTHETIC) */
.portal-clock-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif;
  letter-spacing: 0.02em;
  user-select: none;
}

.portal-clock-status {
  display: flex;
  align-items: center;
  gap: 8px;
}

.clock-pulsing-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #30d158;
  box-shadow: 0 0 8px rgba(48, 209, 88, 0.6);
  animation: clockPulse 2.5s infinite ease-in-out;
}

@keyframes clockPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.45; }
}

.clock-status-label {
  font-size: 0.68rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.82);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.portal-clock-datetime {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.78);
}

.portal-clock-date {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
}

.portal-clock-divider {
  color: rgba(255, 255, 255, 0.2);
  font-size: 0.75rem;
}

.portal-clock-digits {
  font-size: 0.88rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.04em;
  text-shadow: none;
}

.portal-clock-tz {
  font-size: 0.62rem;
  color: #ffffff;
  font-weight: 750;
  background: rgba(255, 255, 255, 0.12);
  padding: 1.5px 6px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  letter-spacing: 0.04em;
}

/* PORTAL GEÇİŞ SEKMELERİ (APPLE SEGMENTED CONTROL) */
.portal-switch-tabs {
  display: flex;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 14px;
  margin: 14px 22px 4px;
  padding: 4px;
  gap: 4px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}

.portal-tab-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 10px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.65);
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif;
  font-size: 0.82rem;
  font-weight: 650;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.portal-tab-btn .tab-icon {
  font-size: 1.1rem;
}

.portal-tab-btn .tab-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.2;
}

.portal-tab-btn .tab-text small {
  font-size: 0.64rem;
  font-weight: 500;
  opacity: 0.65;
}

.portal-tab-btn:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.portal-tab-btn.is-active {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.portal-tab-btn[data-portal="doctor"].is-active {
  background: rgba(48, 209, 88, 0.20);
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.38);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(110, 231, 183, 0.35);
}

.portal-tab-btn[data-portal="police"]:hover {
  background: rgba(10, 132, 255, 0.18);
  color: #93c5fd;
  border-color: rgba(96, 165, 250, 0.4);
}

/* DoktorNET Portalı Aktifken Kart Teması (Apple Dark Emerald Glass) */
.modal-card.login-portal-card.mode-doctor {
  border-color: rgba(52, 211, 153, 0.22) !important;
  box-shadow: 0 32px 80px -16px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(110, 231, 183, 0.25), inset 0 0 0 1px rgba(16, 185, 129, 0.05) !important;
  background: rgba(6, 20, 14, 0.32) !important;
}

.login-portal-card.mode-doctor .portal-kicker {
  color: #34d399 !important;
}

.login-portal-card.mode-doctor .portal-emblem-wrap {
  background: rgba(16, 185, 129, 0.1) !important;
  border-color: rgba(52, 211, 153, 0.3) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(110, 231, 183, 0.25) !important;
}

.login-portal-card.mode-doctor button.primary-action {
  background: linear-gradient(180deg, #30d158 0%, #248a3d 100%) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 6px 20px rgba(48, 209, 88, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

.login-portal-card.mode-doctor input:focus {
  border-color: #30d158 !important;
  box-shadow: 0 0 0 3.5px rgba(48, 209, 88, 0.28) !important;
}

/* DoktorNET Portalı Aktifken Arka Plan Zeminini Zümrüt Yeşiline Dönüştür */
.login-portal-overlay.mode-doctor {
  background-color: #040d09 !important;
  background-image: radial-gradient(circle at 50% 20%, rgba(6, 78, 59, 0.45) 0%, rgba(3, 38, 28, 0.75) 45%, #020a06 95%) !important;
}

/* Nav User Badge Doktor / Başhekim Teması */
.nav-user-badge.badge-doctor {
  background: #064e3b;
  color: #6ee7b7;
  border: 1px solid #059669;
}
.nav-user-badge.badge-doctor-master {
  background: linear-gradient(135deg, #064e3b 0%, #047857 100%);
  color: #a7f3d0;
  border: 1px solid #10b981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.4);
}

/* =========================================================================
   DOKTORNET / ADLİ TIP & DARP RAPORU ÖZEL BİLEŞENLERİ
   ========================================================================= */
.medical-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 2.5px solid var(--frame);
  padding-bottom: 12px;
  margin-bottom: 12px;
}

.medical-header .crest {
  flex: 0 0 110px;
  width: 110px;
  height: 110px;
}

.medical-header .org-text {
  flex: 1;
  text-align: center;
  padding-top: 4px;
}

.medical-header .org-kicker {
  margin: 0;
  color: #047857;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.medical-header .org-main {
  margin: 4px 0 2px;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--frame);
  letter-spacing: 0.02em;
}

.medical-header .org-unit {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 700;
  color: #334155;
}

.medical-barcode-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}

.medical-barcode {
  font-family: 'Libre Barcode 39', 'Courier New', monospace;
  font-size: 1.8rem;
  letter-spacing: 3px;
  color: #0f172a;
  line-height: 1;
}

.medical-barcode-sub {
  font-size: 0.58rem;
  font-family: Inter, monospace;
  color: #475569;
  letter-spacing: 0.05em;
  font-weight: 700;
}

.medical-title-banner {
  margin: 10px 0 14px;
  padding: 8px 12px;
  background: var(--frame);
  color: #ffffff;
  text-align: center;
  border-radius: 4px;
}

.medical-title-banner h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.medical-title-banner .report-nature {
  margin-top: 3px;
  font-size: 0.74rem;
  font-family: Inter, sans-serif;
  letter-spacing: 0.06em;
  opacity: 0.92;
}

/* Hasta & Soruşturma Kimlik Tablosu */
.medical-meta-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 14px;
  border: 1.5px solid var(--frame);
  font-family: Inter, sans-serif;
  font-size: 0.78rem;
}

.medical-meta-table td,
.medical-meta-table th {
  padding: 4px 8px;
  border: 1px solid #cbd5e1;
  vertical-align: middle;
}

.medical-meta-table th {
  background: #f1f5f9;
  color: #1e293b;
  font-weight: 700;
  width: 22%;
  font-size: 0.74rem;
}

.medical-meta-table td {
  background: #ffffff;
  color: #0f172a;
  width: 28%;
}

.medical-meta-table .sec-th {
  background: #e2e8f0;
  color: #0f172a;
  font-weight: 800;
  text-align: left;
  padding: 5px 8px;
  border-top: 1.5px solid var(--frame);
  border-bottom: 1.5px solid var(--frame);
}

/* Klinik Bölüm Başlığı */
.med-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 6px;
  padding-bottom: 4px;
  border-bottom: 1.5px solid var(--frame);
  color: var(--frame);
  font-size: 0.94rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.med-section-badge {
  display: inline-block;
  padding: 2px 7px;
  background: var(--frame);
  color: #ffffff;
  font-size: 0.68rem;
  border-radius: 3px;
  font-family: Inter, sans-serif;
}

/* Vital Bulgular Tablosu */
.medical-vitals-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin: 8px 0 12px;
  font-family: Inter, sans-serif;
}

.vitals-card {
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  padding: 6px 8px;
  background: #f8fafc;
  text-align: center;
}

.vitals-card .v-title {
  display: block;
  font-size: 0.62rem;
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 2px;
}

.vitals-card .v-val {
  font-size: 0.84rem;
  font-weight: 800;
  color: #0f172a;
}

/* Lezyon & Anamnez Metin Kutuları */
.medical-box {
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  padding: 8px 12px;
  background: #fcfdfd;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #1e293b;
  margin-bottom: 10px;
}

.lesion-group {
  margin-bottom: 6px;
}

.lesion-group strong {
  color: var(--frame);
  font-size: 0.82rem;
  display: inline-block;
  min-width: 140px;
}

/* Kesin Hekim Kanaati / Karar Kutusu */
.medical-conclusion-box {
  margin: 14px 0 18px;
  border: 2px solid var(--frame);
  border-radius: 6px;
  background: #f0fdf4;
  padding: 10px 14px;
}

.medical-conclusion-box h3 {
  margin: 0 0 8px;
  font-size: 0.98rem;
  color: var(--frame);
  font-weight: 900;
  border-bottom: 1px solid #bbf7d0;
  padding-bottom: 4px;
}

.medical-conclusion-box ol {
  margin: 0;
  padding-left: 20px;
  font-size: 0.88rem;
  line-height: 1.55;
}

.medical-conclusion-box li {
  margin-bottom: 4px;
  color: #064e3b;
  font-weight: 700;
}

/* Çift Taraflı Onay & İmza (Başhekim & Muayene Eden Tabip) */
.medical-signatures-wrap {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  page-break-inside: avoid;
}

.med-sign-card {
  flex: 1;
  border: 1.5px solid #cbd5e1;
  border-radius: 6px;
  padding: 8px 12px;
  text-align: center;
  background: #fafbfc;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 155px;
}

.med-sign-card .title-badge {
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--frame);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-bottom: 1px solid #e2e8f0;
  width: 100%;
  padding-bottom: 4px;
  margin-bottom: 6px;
}

.med-sign-card .person-name {
  font-size: 1.02rem;
  font-weight: 800;
  color: #0f172a;
  margin: 2px 0;
}

.med-sign-card .person-role {
  font-size: 0.74rem;
  color: #475569;
  font-weight: 600;
}

.med-sign-slot {
  position: relative;
  width: 100%;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4px 0;
}

.med-sign-slot img.hospital-seal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 82px;
  height: 82px;
  object-fit: contain;
  opacity: 0.88;
  z-index: 1;
}

.med-sign-slot img.doctor-stamp {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 140px;
  max-height: 58px;
  object-fit: contain;
  opacity: 0.92;
  z-index: 1;
}

.med-sign-card .approval-note {
  font-size: 0.62rem;
  font-weight: 800;
  color: #059669;
  letter-spacing: 0.04em;
}

/* =========================================================================
   ULUSLARARASI UYGUNLUK ŞERİDİ (KIZILAY - KIZILHAÇ - HUMAN RIGHTS WATCH)
   ========================================================================= */
.medical-intl-compliance-banner {
  margin: 12px 0 16px 0;
  padding: 10px 14px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-left: 5px solid #dc2626;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 8px;
  page-break-inside: avoid;
}

.compliance-logos-strip {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}

.compliance-logo-card {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 4px 10px 4px 6px;
}

.compliance-img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;
  background: #ffffff;
}

.compliance-img.hrw-img {
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.compliance-logo-titles {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.compliance-org-name {
  font-family: Inter, -apple-system, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #0f172a;
}

.compliance-org-sub {
  font-family: Inter, -apple-system, sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  color: #64748b;
  letter-spacing: 0.02em;
}

.compliance-divider-bar {
  width: 1px;
  height: 32px;
  background: #cbd5e1;
}

.compliance-text {
  font-family: Georgia, serif;
  font-size: 0.76rem;
  line-height: 1.45;
  color: #334155;
  font-style: italic;
  border-top: 1px dashed #e2e8f0;
  padding-top: 6px;
}

/* =========================================================================
   OTOMATİK HÜKÜM KAŞESİ (KIRMIZI, %50 SAYDAMLIK) VE İMZA KATMANI
   ========================================================================= */
.synthetic-stamp-box {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 4px auto;
  min-width: 220px;
  min-height: 82px;
}

.synthetic-hukum-stamp {
  display: inline-block;
  border: 2px solid #b91c1c;
  border-radius: 4px;
  padding: 2px;
  background: rgba(254, 242, 242, 0.45);
  transform: rotate(-2deg);
  user-select: none;
  width: 215px;
  opacity: 0.5; /* İstenen %50 kırmızı saydamlık */
  box-shadow: 0 0 2px rgba(185, 28, 28, 0.35);
}

.synthetic-hukum-stamp .stamp-inner {
  border: 1.5px solid #dc2626;
  padding: 4px 6px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.synthetic-hukum-stamp .stamp-header {
  font-family: Inter, sans-serif;
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #991b1b;
  text-transform: uppercase;
  border-bottom: 0.5px solid rgba(220, 38, 38, 0.4);
  padding-bottom: 2px;
}

.synthetic-hukum-stamp .stamp-name {
  font-family: Inter, sans-serif;
  font-size: 0.74rem;
  font-weight: 800;
  color: #7f1d1d;
  letter-spacing: 0.02em;
}

.synthetic-hukum-stamp .stamp-title {
  font-family: Inter, sans-serif;
  font-size: 0.58rem;
  font-weight: 600;
  color: #b91c1c;
  line-height: 1.2;
}

.synthetic-hukum-stamp .stamp-footer {
  font-family: Inter, monospace, sans-serif;
  font-size: 0.52rem;
  font-weight: 700;
  color: #991b1b;
  letter-spacing: 0.04em;
  border-top: 0.5px solid rgba(220, 38, 38, 0.4);
  padding-top: 2px;
  margin-top: 1px;
}

/* Kaşenin doğrudan üstündeki imza bindirme alanı */
.stamp-signature-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  pointer-events: none;
}

.stamp-signature-overlay * {
  pointer-events: auto;
}

.stamp-signature-overlay .final-sign-img {
  max-width: 170px;
  max-height: 60px;
  object-fit: contain;
  transform: rotate(-2deg);
}

/* Mühürlü makamlar için imza yerleşimi */
.final-stack.has-seal-image {
  position: relative;
  width: 100%;
  min-height: 120px;
  padding-top: 6px;
}

.final-stack.has-seal-image .final-sign-overlay {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 2;
  text-align: center;
}

.final-stack.is-simple-sign {
  position: relative;
  width: 100%;
  min-height: 80px;
  padding-top: 4px;
}

.final-stack.is-simple-sign .final-sign-overlay {
  margin-top: 4px;
  text-align: center;
}

/* Canlı resmi mavi renkte imza fontu */
.font-signature.auto-font-sign {
  color: #1d4ed8 !important; /* Canlı resmi dolmakalem mavisi */
  font-family: 'Dancing Script', 'Caveat', 'Marck Script', cursive;
  font-size: 1.85rem;
  font-weight: 700;
  display: inline-block;
  transform: rotate(-3deg);
  margin: 0 auto;
  user-select: none;
  letter-spacing: 0.5px;
  line-height: 1.15;
  text-shadow: 0.25px 0.25px 0.5px rgba(29, 78, 216, 0.35);
  transition: transform 0.2s ease;
  white-space: nowrap;
}

.font-signature.auto-font-sign:hover {
  transform: rotate(-1deg) scale(1.04);
}

/* =========================================================================
   SUNİ HEKİM KAŞESİ VE İMZA ALANI (STATİK GÖRSEL İHTİYACINI KALDIRAN SİSTEM)
   ========================================================================= */
.synthetic-doctor-stamp {
  display: inline-block;
  border: 2px solid #1d4ed8;
  border-radius: 4px;
  padding: 2px;
  background: rgba(239, 246, 255, 0.45);
  transform: rotate(-1.5deg);
  margin: 2px auto;
  box-shadow: 0 0 1px rgba(29, 78, 216, 0.35);
  user-select: none;
  max-width: 220px;
  width: 90%;
}

.synthetic-doctor-stamp .stamp-inner {
  border: 1px solid #2563eb;
  padding: 4px 6px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.synthetic-doctor-stamp .stamp-header {
  font-family: Inter, sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #1e40af;
  text-transform: uppercase;
  border-bottom: 0.5px solid rgba(37, 99, 235, 0.3);
  padding-bottom: 2px;
}

.synthetic-doctor-stamp .stamp-name {
  font-family: Inter, sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  color: #1e3a8a;
  letter-spacing: 0.02em;
}

.synthetic-doctor-stamp .stamp-title {
  font-family: Inter, sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  color: #1d4ed8;
  line-height: 1.2;
}

.synthetic-doctor-stamp .stamp-footer {
  font-family: "Courier New", monospace;
  font-size: 0.56rem;
  font-weight: 700;
  color: #1e40af;
  border-top: 0.5px solid rgba(37, 99, 235, 0.3);
  padding-top: 2px;
  margin-top: 1px;
}

/* Suni Başhekimlik Onay Kaşesi */
.synthetic-chief-stamp {
  display: inline-block;
  border: 2px solid #0f766e;
  border-radius: 4px;
  padding: 2px;
  background: rgba(240, 253, 250, 0.5);
  transform: rotate(1deg);
  margin: 2px auto;
  user-select: none;
  max-width: 220px;
  width: 90%;
}

.synthetic-chief-stamp .stamp-inner {
  border: 1px solid #14b8a6;
  padding: 4px 6px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.synthetic-chief-stamp .stamp-header {
  font-family: Inter, sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #0f766e;
  text-transform: uppercase;
  border-bottom: 0.5px solid rgba(20, 184, 166, 0.3);
  padding-bottom: 2px;
}

.synthetic-chief-stamp .stamp-name {
  font-family: Inter, sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  color: #134e4a;
}

.synthetic-chief-stamp .stamp-title {
  font-family: Inter, sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  color: #0f766e;
}

.doctor-signature-handwritten {
  margin: 2px 0 4px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.doctor-signature-handwritten .font-signature {
  font-size: 1.85rem;
  color: #1e3a8a;
  transform: rotate(-3deg);
  text-shadow: 0.25px 0.25px 0.5px rgba(30, 58, 138, 0.3);
}

@keyframes portalCardIn {
  from { opacity: 0; transform: scale(0.95) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.portal-header {
  text-align: center;
  padding: 32px 28px 12px;
}

.portal-emblem-wrap {
  width: 78px;
  height: 78px;
  margin: 0 auto 12px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.20);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.portal-emblem-img {
  width: 66px;
  height: 66px;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.4));
}

.portal-kicker {
  display: block;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  margin-bottom: 3px;
}

.portal-title {
  margin: 0;
  font-size: 1.38rem;
  font-weight: 750;
  color: #ffffff;
  letter-spacing: -0.02em;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif;
}

.portal-subtitle {
  margin: 4px 0 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.65);
}

.login-portal-card .modal-body {
  padding: 0 24px 24px;
}

.login-portal-card .m-group {
  margin-bottom: 12px;
}

.login-portal-card .m-group label {
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  font-size: 0.74rem;
  letter-spacing: 0.01em;
}

.login-portal-card input {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  height: 44px !important;
  padding: 0 14px !important;
  font-size: 0.94rem !important;
  box-sizing: border-box !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: inset 0 1.5px 3px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.login-portal-card input:focus {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.28), inset 0 1.5px 3px rgba(0, 0, 0, 0.2) !important;
  background: rgba(255, 255, 255, 0.09) !important;
}

.login-portal-card button.primary-action {
  background: linear-gradient(180deg, #0071e3 0%, #0056b3 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 113, 227, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.5) !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  height: 44px !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.login-portal-card button.primary-action:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(0, 113, 227, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.6) !important;
}

.login-portal-card button.primary-action:active {
  transform: translateY(0) !important;
}

.login-portal-card .lockout-alert {
  background: rgba(255, 69, 58, 0.16);
  border: 1px solid rgba(255, 69, 58, 0.35);
  color: #ff6961;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 0.8rem;
  margin-bottom: 14px;
}
.login-portal-card .lockout-alert.is-warning {
  background: rgba(255, 214, 10, 0.16);
  border-color: rgba(255, 214, 10, 0.35);
  color: #ffd60a;
}
.login-portal-card .lockout-alert.is-danger {
  background: rgba(255, 69, 58, 0.22);
  border-color: rgba(255, 69, 58, 0.5);
  color: #ff6961;
}

/* Modern Şifre Göster/Gizle Butonu */
.pw-input-wrapper {
  position: relative;
  width: 100%;
}
.pw-input-wrapper input {
  width: 100%;
  padding-right: 44px !important;
}
.btn-toggle-pw {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #94a3b8;
  padding: 0;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-toggle-pw:hover {
  background: rgba(56, 189, 248, 0.16);
  border-color: rgba(56, 189, 248, 0.45);
  color: #38bdf8;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.25);
}
.btn-toggle-pw:active {
  transform: translateY(-50%) scale(0.92);
}
.pw-eye-svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  transition: transform 0.15s ease;
  pointer-events: none;
}

/* 2 NUMARALI ALAN: Kurumsal Geliştirme & İşletme Bilgisi */
.portal-card-attribution {
  padding: 14px 22px 16px;
  background: rgba(0, 0, 0, 0.28);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-family: Inter, sans-serif;
  user-select: none;
}

.portal-attribution-row {
  display: flex;
  align-items: center;
  gap: 18px;
}

.portal-attribution-logos {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.portal-attr-logo {
  object-fit: contain;
  pointer-events: none;
  display: block;
  transition: all 0.2s ease;
}

/* Siber Güvenlik Başkanlığı Logosu: Monokrom Gri */
.portal-attr-logo-siber {
  height: 42px;
  width: auto;
  filter: grayscale(100%) brightness(1.75) contrast(1.1) opacity(0.85);
}

/* Caba İletişim Logosu: Monokrom Gri */
.portal-attr-logo-caba {
  height: 38px;
  width: auto;
  filter: grayscale(100%) invert(1) brightness(0.92) contrast(1.05) opacity(0.85);
}

.portal-attribution-text {
  flex: 1;
  font-size: 0.69rem;
  line-height: 1.48;
  color: #94a3b8;
  text-align: left;
}

.portal-attribution-text a {
  color: #38bdf8;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.18s ease, text-decoration 0.18s ease;
}

.portal-attribution-text a:hover {
  text-decoration: underline;
  color: #7dd3fc;
}

@media (max-width: 480px) {
  .portal-attribution-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .portal-attr-logo-siber {
    height: 34px;
  }
  .portal-attr-logo-caba {
    height: 30px;
  }
}

/* 1 NUMARALI ALAN: Sol Alt Ekran Sürüm İbaresi (Anonymous Pro) */
.portal-screen-version {
  position: fixed;
  bottom: 16px;
  left: 20px;
  font-family: 'Anonymous Pro', monospace;
  font-size: 0.74rem;
  color: #64748b;
  opacity: 0.65;
  user-select: none;
  letter-spacing: 0.06em;
  z-index: 20;
  transition: opacity 0.2s ease, color 0.2s ease;
}
.portal-screen-version:hover {
  opacity: 0.95;
  color: #94a3b8;
}

/* =========================================================================
   KOYU TEMA (DARK THEME)
   Belgeyi ASLA bozmadan arayüzün (nav, sol panel, masa, modallar) modern karanlık temaya geçişi
   ========================================================================= */
html[data-theme="dark"] {
  --canvas: #090e17;
  --panel: #0d1522;
  --line: #1e293b;
  --ink: #f1f5f9;
  --ink-soft: #94a3b8;

  /* Metin tokenlarının koyu tema karşılıkları */
  --text-strong: #f8fafc;
  --text-body: #e2e8f0;
  --text-muted: #9aa8bd;
  --text-on-tint: #bfdbfe;

  --info-tint-bg: rgba(59, 130, 246, 0.14);
  --info-tint-border: rgba(96, 165, 250, 0.30);

  --badge-success-text: #34d399;
  --badge-warning-text: #fbbf24;
}

html[data-theme="dark"] body {
  background: #090e17;
  color: #f1f5f9;
}

html[data-theme="dark"] .top-nav {
  background: var(--glass-surface-lg) !important;
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate)) !important;
  border-bottom: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-md) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .nav-brand-logo {
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  border-color: var(--glass-border);
  box-shadow: var(--glass-shadow-sm);
}

html[data-theme="dark"] .nav-brand-title {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .nav-brand-title small {
  background: rgba(255, 255, 255, 0.10);
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.35);
  backdrop-filter: blur(8px);
}

html[data-theme="dark"] .nav-user-info {
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html[data-theme="dark"] .nav-user-name {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

html[data-theme="dark"] .nav-user-badge {
  background: rgba(59, 130, 246, 0.32) !important;
  color: #bfdbfe !important;
  border: 1px solid rgba(147, 197, 253, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

html[data-theme="dark"] .nav-user-badge.badge-master {
  background: rgba(239, 68, 68, 0.35) !important;
  color: #fecaca !important;
  border-color: rgba(239, 68, 68, 0.55) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

html[data-theme="dark"] .btn-nav {
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 980px !important;
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 2px 6px rgba(0, 0, 0, 0.25) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html[data-theme="dark"] .btn-nav:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

html[data-theme="dark"] .btn-nav.btn-danger {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
  color: #fecaca !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  border-radius: 980px !important;
}

html[data-theme="dark"] .btn-nav.btn-danger:hover {
  background: rgba(239, 68, 68, 0.45) !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.45) !important;
}

html[data-theme="dark"] .session-stream-badge {
  background: rgba(16, 185, 129, 0.22) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-color: rgba(52, 211, 153, 0.45) !important;
  color: #a7f3d0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  border-radius: 980px !important;
}

html[data-theme="dark"] .session-stream-badge.is-critical {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: rgba(239, 68, 68, 0.55) !important;
  color: #fecaca !important;
}

html[data-theme="dark"] .control-panel {
  background: var(--glass-surface-md);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  border-right-color: var(--glass-border);
}

html[data-theme="dark"] .control-panel::-webkit-scrollbar-thumb {
  background: #1e293b;
}

html[data-theme="dark"] .brand-lockup {
  background: var(--glass-surface-md);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow-md);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
}

html[data-theme="dark"] .brand-portal-tag {
  background: rgba(37, 99, 235, 0.15);
  color: #60a5fa;
  border-color: rgba(37, 99, 235, 0.3);
}

html[data-theme="dark"] .workflow-section {
  background: var(--glass-surface-md);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow-md);
  backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(var(--glass-saturate));
}

html[data-theme="dark"] .action-dock {
  background: rgba(13, 21, 34, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html[data-theme="dark"] .eyebrow {
  background: rgba(185, 28, 28, 0.25);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.35);
}

html[data-theme="dark"] .brand-lockup h1 {
  color: #f8fafc;
}

html[data-theme="dark"] .brand-lockup p,
html[data-theme="dark"] .field-desc,
html[data-theme="dark"] .helper-text {
  color: #94a3b8;
}

html[data-theme="dark"] .section-label .sec-num,
html[data-theme="dark"] .section-label span {
  background: rgba(37, 99, 235, 0.15);
  color: #60a5fa;
}

html[data-theme="dark"] .section-label h2 {
  color: #f1f5f9;
}

html[data-theme="dark"] .profession-filter-bar {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .prof-filter-btn {
  color: #94a3b8;
}

html[data-theme="dark"] .prof-filter-btn:hover {
  color: #f8fafc;
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .prof-filter-btn.is-active {
  background: rgba(37, 99, 235, 0.25);
  color: #60a5fa;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(96, 165, 250, 0.3);
}

html[data-theme="dark"] .profession-label {
  color: #94a3b8;
}

html[data-theme="dark"] .family-card {
  background: rgba(17, 26, 40, 0.75);
  border-color: rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .family-card:hover:not(.is-locked) {
  border-color: #38bdf8;
  background: rgba(23, 36, 56, 0.9);
  box-shadow: 0 4px 14px rgba(56, 189, 248, 0.12);
}

html[data-theme="dark"] .family-card.is-active {
  border-color: #38bdf8;
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.45) 0%, rgba(37, 99, 235, 0.25) 100%);
  color: #f0f9ff;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.35), 0 4px 14px rgba(56, 189, 248, 0.2);
}

html[data-theme="dark"] .card-icon {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}

html[data-theme="dark"] .family-card:hover:not(.is-locked) .card-icon {
  background: rgba(59, 130, 246, 0.25);
  color: #93c5fd;
}

html[data-theme="dark"] .family-card.is-active .card-icon {
  background: #38bdf8;
  color: #090e17;
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.45);
}

html[data-theme="dark"] .family-card.is-locked {
  background: rgba(11, 17, 26, 0.6);
  border-color: rgba(255, 255, 255, 0.04);
  opacity: 0.4;
}

html[data-theme="dark"] .family-card strong {
  color: inherit;
}

html[data-theme="dark"] .card-icon.doctor-icon-emerald { background: rgba(16, 185, 129, 0.18); color: #34d399; }
html[data-theme="dark"] .card-icon.doctor-icon-teal { background: rgba(20, 184, 166, 0.18); color: #2dd4bf; }
html[data-theme="dark"] .card-icon.doctor-icon-green { background: rgba(52, 211, 153, 0.18); color: #6ee7b7; }
html[data-theme="dark"] .card-icon.doctor-icon-sky { background: rgba(56, 189, 248, 0.18); color: #7dd3fc; }
html[data-theme="dark"] .card-icon.doctor-icon-slate { background: rgba(148, 163, 184, 0.18); color: #cbd5e1; }

html[data-theme="dark"] label,
html[data-theme="dark"] .editor-label {
  color: #94a3b8;
}

html[data-theme="dark"] input,
html[data-theme="dark"] select {
  background: #131d2e;
  border-color: #27374d;
  color: #f8fafc;
}

html[data-theme="dark"] #documentDate[readonly],
html[data-theme="dark"] #documentDate:disabled,
html[data-theme="dark"] input[readonly].is-locked {
  background: rgba(255, 255, 255, 0.05);
  border-color: #334155;
  border-style: dashed;
  color: #94a3b8;
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] .rich-editor:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
}

html[data-theme="dark"] .small-button {
  background: #1e293b;
  border-color: #27374d;
  color: #93c5fd;
}

html[data-theme="dark"] .editor-toolbar {
  background: #131d2e;
  border-color: #27374d;
}

html[data-theme="dark"] .editor-toolbar button {
  color: #cbd5e1;
}

html[data-theme="dark"] .editor-toolbar button:hover {
  background: #243247;
  color: #ffffff;
}

html[data-theme="dark"] .rich-editor {
  background: #131d2e;
  border-color: #27374d;
  color: #f1f5f9;
}

html[data-theme="dark"] .folder-button {
  background: #131d2e;
  border-color: var(--gold);
  color: #fde047;
}

html[data-theme="dark"] .folder-button:hover {
  background: #1a273c;
}

html[data-theme="dark"] .asset-status {
  background: #131d2e;
  border: 1px solid #27374d;
  color: #94a3b8;
}

html[data-theme="dark"] .asset-status b {
  color: #60a5fa;
}

html[data-theme="dark"] .asset-list code {
  background: #1e293b;
  color: #cbd5e1;
}

html[data-theme="dark"] .upload-button {
  background: #131d2e;
  border-color: #27374d;
  color: #cbd5e1;
}

html[data-theme="dark"] .upload-button:hover {
  border-color: var(--gold);
  color: #f8fafc;
}

html[data-theme="dark"] .toggle-line {
  color: #cbd5e1;
}

html[data-theme="dark"] .action-dock-grid .secondary-action {
  background: #131d2e;
  border-color: #27374d;
  color: #f1f5f9;
}

html[data-theme="dark"] .action-dock-grid .secondary-action:hover {
  background: #1a273c;
  border-color: #38bdf8;
  color: #38bdf8;
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.15);
}

html[data-theme="dark"] .action-dock-subgrid {
  border-top-color: #1e293b;
}

html[data-theme="dark"] .btn-tool-action {
  background: #131d2e;
  border-color: #27374d;
  color: #94a3b8;
}

html[data-theme="dark"] .btn-tool-action:hover:not(:disabled) {
  background: #1a273c;
  color: #f8fafc;
  border-color: #3b82f6;
}

html[data-theme="dark"] .helper-shortcuts kbd {
  background: #131d2e;
  border-color: #27374d;
  color: #94a3b8;
}

html[data-theme="dark"] .row-item {
  background: #111a28;
  border-color: #1e2c40;
}

html[data-theme="dark"] .row-drag {
  background: #131d2e;
  border-color: #27374d;
  color: #8899ac;
}

html[data-theme="dark"] .row-remove {
  background: #131d2e;
  border-color: rgba(239, 68, 68, 0.35);
  color: #f87171;
}

html[data-theme="dark"] .row-remove:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: #ef4444;
}

/* Karanlık Temada Önizleme Biçimlendirme Araç Çubuğu (Apple Dark Liquid Glass Sticky Dock) */
html[data-theme="dark"] .preview-format-bar {
  background: rgba(15, 23, 42, 0.62) !important;
  backdrop-filter: blur(24px) saturate(210%) contrast(108%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(210%) contrast(108%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 980px;
  box-shadow: 
    0 16px 40px -6px rgba(0, 0, 0, 0.65), 
    0 0 0 1px rgba(255, 255, 255, 0.05),
    inset 0 1.5px 1px 0 rgba(255, 255, 255, 0.32), 
    inset 0 -1px 1px 0 rgba(255, 255, 255, 0.06) !important;
}

html[data-theme="dark"] .format-divider {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-theme="dark"] .fmt-btn {
  color: #f1f5f9 !important;
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 980px;
}

html[data-theme="dark"] .fmt-btn:hover {
  background: rgba(255, 255, 255, 0.10) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  transform: translateY(-1px);
}

html[data-theme="dark"] .fmt-btn:active {
  background: rgba(0, 113, 227, 0.35) !important;
  color: #38bdf8 !important;
  border-color: rgba(56, 189, 248, 0.5) !important;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.25) !important;
  transform: translateY(0);
}

html[data-theme="dark"] .fmt-select {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  border-radius: 980px;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}

html[data-theme="dark"] .fmt-select option {
  background: #0f172a;
  color: #ffffff;
}

html[data-theme="dark"] .fmt-select:focus {
  border-color: #38bdf8 !important;
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.3) !important;
}

html[data-theme="dark"] .btn-quick-add-row {
  background: rgba(48, 209, 88, 0.18) !important;
  color: #34d399 !important;
  border: 1px solid rgba(52, 211, 153, 0.38) !important;
  border-radius: 980px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(110, 231, 183, 0.35) !important;
}

html[data-theme="dark"] .btn-quick-add-row:hover {
  background: rgba(48, 209, 88, 0.28) !important;
  border-color: rgba(52, 211, 153, 0.55) !important;
  color: #6ee7b7 !important;
  transform: translateY(-1px);
}

html[data-theme="dark"] .preview-area {
  background-color: #080d16;
  background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.2px, transparent 1.2px);
  background-size: 20px 20px;
}

html[data-theme="dark"] .preview-status-pill,
html[data-theme="dark"] .page-meter-chip {
  background: rgba(13, 21, 34, 0.9);
  border-color: #1e293b;
  color: #e2e8f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .preview-mode-tag {
  color: #94a3b8;
  border-left-color: #27374d;
}

/* Modallar Koyu Tema */
html[data-theme="dark"] .modal-overlay {
  background: rgba(5, 10, 18, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html[data-theme="dark"] .modal-card:not(.login-portal-card) {
  background: var(--glass-surface-lg) !important;
  border: 1px solid var(--glass-border-strong) !important;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.75), var(--glass-highlight) !important;
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate)) !important;
  color: #f1f5f9;
}

html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
  background: var(--glass-surface-sm) !important;
  border-color: var(--glass-border) !important;
}

html[data-theme="dark"] .modal-header h3 {
  color: #f8fafc;
}

html[data-theme="dark"] .modal-close {
  color: #94a3b8;
}

html[data-theme="dark"] .modal-close:hover {
  background: #1e293b;
  color: #ffffff;
}

html[data-theme="dark"] .modal-body {
  color: #e2e8f0;
}

html[data-theme="dark"] .profile-lock-notice {
  background: rgba(245, 158, 11, 0.12) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(245, 158, 11, 0.32) !important;
  color: #fde68a !important;
  border-radius: 10px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

html[data-theme="dark"] .m-group label {
  color: #cbd5e1 !important;
}

html[data-theme="dark"] .m-group input,
html[data-theme="dark"] .m-group select,
html[data-theme="dark"] .m-group textarea {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 8px !important;
  color: #f8fafc !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}

html[data-theme="dark"] .m-group select,
html[data-theme="dark"] select,
html[data-theme="dark"] .m-select {
  color-scheme: dark !important;
}

html[data-theme="dark"] .m-group select option,
html[data-theme="dark"] .m-group select optgroup,
html[data-theme="dark"] select option,
html[data-theme="dark"] select optgroup,
html[data-theme="dark"] .m-select option,
html[data-theme="dark"] .m-select optgroup {
  background-color: #1a2234 !important;
  color: #f8fafc !important;
}

html[data-theme="dark"] .m-group select optgroup,
html[data-theme="dark"] select optgroup,
html[data-theme="dark"] .m-select optgroup {
  background-color: #0b1120 !important;
  color: #60a5fa !important;
  font-weight: 800 !important;
  font-style: normal !important;
}

html[data-theme="dark"] .m-group select option:checked,
html[data-theme="dark"] select option:checked,
html[data-theme="dark"] .m-select option:checked {
  background-color: #2563eb !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .m-group input:focus,
html[data-theme="dark"] .m-group select:focus,
html[data-theme="dark"] .m-group textarea:focus {
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: rgba(56, 189, 248, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25), inset 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

html[data-theme="dark"] .m-group input.is-locked,
html[data-theme="dark"] .m-group input:disabled,
html[data-theme="dark"] .m-group select.is-locked,
html[data-theme="dark"] .m-group select:disabled {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px dashed rgba(255, 255, 255, 0.15) !important;
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .user-table th {
  background: #131d2e;
  color: #94a3b8;
  border-color: #243247;
}

html[data-theme="dark"] .user-table td {
  border-color: #1e293b;
  color: #e2e8f0;
}

html[data-theme="dark"] .user-table tr:hover {
  background: #162235;
}

html[data-theme="dark"] .signature-box-preview {
  background: #131d2e;
  border-color: #243247;
}

/* 2FA Koyu Tema */
html[data-theme="dark"] .profile-2fa-box {
  background: #111a28;
  border-color: #1e293b;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);
}
html[data-theme="dark"] .profile-2fa-hint {
  color: #94a3b8;
}
html[data-theme="dark"] .profile-2fa-qr-container {
  background: #ffffff;
  border-color: #334155;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}
html[data-theme="dark"] .profile-2fa-manual-label {
  color: #64748b;
}
html[data-theme="dark"] .profile-2fa-code {
  background: #192639;
  border-color: #27374d;
  color: #38bdf8;
}
html[data-theme="dark"] .btn-2fa-generate {
  background: #162234;
  border-color: #243247;
  color: #cbd5e1;
}
html[data-theme="dark"] .btn-2fa-generate:hover {
  background: #1e2f47;
  color: #f8fafc;
  border-color: #3b82f6;
}

/* =========================================================================
   BELGE BÜTÜNLÜĞÜ KORUMASI (CRITICAL PROTECTION)
   Koyu tema ne olursa olsun, A4 Resmî Belgesi KESİNLİKLE etkilenmez!
   Orijinal kâğıt dokusu, siyah mürekkep, altın çerçeve, mühür ve pul renkleri
   birebir korunur!
   ========================================================================= */
html[data-theme="dark"] .document-page {
  --ink: #122949 !important;
  --ink-soft: #516074 !important;
  --paper: #fcfaf4 !important;
  background-color: #fcfaf4 !important;
  background-image: linear-gradient(135deg, rgb(255 255 255 / 78%), rgb(241 236 218 / 44%)) !important;
  color: #122949 !important;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.85) !important;
}

html[data-theme="dark"] .document-page input,
html[data-theme="dark"] .document-page select,
html[data-theme="dark"] .document-page textarea {
  color: inherit !important;
  background: transparent !important;
}

/* DokNET Sağlık Belgeleri & Tüm Evrak İçi Yazılar Koyu Renk Kalır */
html[data-theme="dark"] .document-page .medical-box {
  background: #fcfdfd !important;
  color: #1e293b !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="dark"] .document-page .vitals-card {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="dark"] .document-page .vitals-card .v-val {
  color: #0f172a !important;
}

html[data-theme="dark"] .document-page .vitals-card .v-title {
  color: #64748b !important;
}

html[data-theme="dark"] .document-page .medical-conclusion-box {
  background: #f0fdf4 !important;
}

html[data-theme="dark"] .document-page .medical-conclusion-box li {
  color: #064e3b !important;
}

html[data-theme="dark"] .document-page .doc-body,
html[data-theme="dark"] .document-page .doc-title,
html[data-theme="dark"] .document-page .band-title,
html[data-theme="dark"] .document-page .c-label,
html[data-theme="dark"] .document-page .c-value,
html[data-theme="dark"] .document-page .c-colon,
html[data-theme="dark"] .document-page .meta-label,
html[data-theme="dark"] .document-page .meta-value,
html[data-theme="dark"] .document-page .org-text,
html[data-theme="dark"] .document-page .kararname-top,
html[data-theme="dark"] .document-page .page-bottom {
  color: inherit;
}



/* AFK Modal İkon Titreme Efekti */
@keyframes afkPulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(234, 179, 8, 0.5); }
  50% { transform: scale(1.08); box-shadow: 0 0 0 10px rgba(234, 179, 8, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(234, 179, 8, 0); }
}
/* =========================================================================
   FEDERAL KANUNLAR KÜTÜPHANESİ & AKILLI CEZA MOTORU (LIT-V3.3)
   ========================================================================= */
#lawsModal,
#calculatorModal {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#lawsModal.is-open,
#calculatorModal.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.laws-modal-card {
  width: min(96vw, 960px);
  height: 85vh;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--card-bg, #ffffff);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.45);
}

.laws-modal-card .modal-header {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.laws-header-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.laws-header-title h3 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
}
.laws-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
  letter-spacing: 0.04em;
}

.laws-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.law-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.25);
  color: #2563eb;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s;
}
.law-link-btn:hover {
  background: #2563eb;
  color: #ffffff;
}

.laws-toolbar {
  padding: 12px 20px;
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.laws-search-box {
  position: relative;
  width: 100%;
}
.laws-search-box .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 0.95rem;
  pointer-events: none;
}
.laws-search-box input {
  width: 100%;
  height: 42px;
  padding: 0 38px 0 38px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #ffffff;
  font-size: 0.88rem;
  outline: none;
  transition: all 0.2s;
  box-sizing: border-box;
}
.laws-search-box input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}
.btn-clear-search {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 1.1rem;
  cursor: pointer;
}

.master-law-controls {
  display: none !important;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.master-law-controls.is-master {
  display: flex !important;
}
.btn-law-action {
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #ffffff;
  color: #1e293b;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-law-action:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.btn-law-action.btn-law-danger {
  color: #ef4444;
  border-color: rgba(239, 68, 68, 0.3);
}
.btn-law-action.btn-law-danger:hover {
  background: rgba(239, 68, 68, 0.08);
}

.laws-category-filter {
  display: flex;
  overflow-x: auto;
  gap: 6px;
  padding: 8px 20px;
  background: rgba(0, 0, 0, 0.015);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  scrollbar-width: thin;
}
.law-cat-btn {
  white-space: nowrap;
  padding: 6px 12px;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: transparent;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.law-cat-btn:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #0f172a;
}
.law-cat-btn.is-active {
  background: #2563eb;
  color: #ffffff;
  border-color: #2563eb;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
}

.laws-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px 24px;
}

.master-import-drawer {
  background: rgba(37, 99, 235, 0.04);
  border: 1px dashed rgba(37, 99, 235, 0.3);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.88rem;
  margin-bottom: 4px;
}
.drawer-close-btn {
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  color: #94a3b8;
}
.drawer-sub {
  font-size: 0.78rem;
  color: #64748b;
  margin: 0 0 10px;
}
.master-import-drawer textarea {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  font-family: monospace;
  font-size: 0.8rem;
  box-sizing: border-box;
}

.laws-list-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.law-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  background: #ffffff;
  padding: 16px;
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.law-card:hover {
  border-color: rgba(37, 99, 235, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
.law-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.law-code-badge {
  font-family: 'Anonymous Pro', monospace;
  font-weight: 800;
  font-size: 0.85rem;
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
  padding: 2px 8px;
  border-radius: 6px;
}
.law-card-title {
  flex: 1;
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.law-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-insert-law {
  padding: 5px 10px;
  border-radius: 6px;
  background: #2563eb;
  color: #ffffff;
  border: none;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}
.btn-insert-law:hover {
  background: #1d4ed8;
}
.btn-edit-law-item {
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.72rem;
  cursor: pointer;
}

.law-card-body {
  font-size: 0.84rem;
  line-height: 1.55;
  color: #334155;
  white-space: pre-line;
}
.law-card-penalties {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(0, 0, 0, 0.08);
}
.law-penalty-chip {
  font-size: 0.74rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}
.law-penalty-chip.chip-danger {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

/* CEZA MOTORU MODALI */
.calculator-modal-card {
  width: min(94vw, 680px);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--card-bg, #ffffff);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.45);
}
.calculator-modal-card .modal-header {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.calc-header-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.calc-header-title h3 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
}
.calc-modal-body {
  padding: 20px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.calc-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: #475569;
  margin-bottom: 6px;
}
.calc-select {
  width: 100%;
  height: 40px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #ffffff;
  padding: 0 10px;
  font-size: 0.85rem;
}
.calc-guide-info {
  margin-top: 6px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.2);
  font-size: 0.8rem;
  color: #1e40af;
}
.calc-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.calc-field label {
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  color: #64748b;
  margin-bottom: 4px;
}
.calc-field input {
  width: 100%;
  height: 40px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 0 10px;
  font-size: 0.92rem;
  font-weight: 700;
  box-sizing: border-box;
}

.calc-add-row-bar {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.btn-add-penalty-item {
  height: 36px;
  padding: 0 16px;
  border-radius: 980px;
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
  border: 1px solid rgba(37, 99, 235, 0.35);
  font-size: 0.8rem;
  font-weight: 750;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}
.btn-add-penalty-item:hover {
  background: rgba(37, 99, 235, 0.22);
  border-color: rgba(37, 99, 235, 0.55);
  transform: translateY(-1px);
}
.btn-add-penalty-item:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

.calc-penalties-container {
  margin-top: 12px;
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  padding: 12px;
}
.calc-penalties-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.calc-penalties-title {
  font-size: 0.78rem;
  font-weight: 750;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.calc-count-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 980px;
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
  border: 1px solid rgba(37, 99, 235, 0.25);
}

.calc-penalties-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 220px;
  overflow-y: auto;
}
.calc-penalties-empty {
  font-size: 0.78rem;
  color: #64748b;
  text-align: center;
  padding: 10px;
  line-height: 1.45;
}
.calc-penalty-item-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  animation: penaltyItemIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes penaltyItemIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.calc-penalty-item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.calc-penalty-item-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #0f172a;
}
.calc-penalty-item-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.calc-penalty-tag {
  font-size: 0.7rem;
  font-weight: 650;
  padding: 1px 6px;
  border-radius: 4px;
}
.calc-tag-prison {
  background: rgba(239, 68, 68, 0.1);
  color: #b91c1c;
  border: 1px solid rgba(239, 68, 68, 0.25);
}
.calc-tag-fine {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.25);
}
.calc-tag-community {
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.25);
}
.btn-remove-penalty {
  background: transparent;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.16s ease;
}
.btn-remove-penalty:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* Karanlık Temada Çoklu Ceza Kutusu */
html[data-theme="dark"] .btn-add-penalty-item {
  background: rgba(56, 189, 248, 0.16);
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.38);
}
html[data-theme="dark"] .btn-add-penalty-item:hover {
  background: rgba(56, 189, 248, 0.28);
  border-color: rgba(56, 189, 248, 0.6);
}
html[data-theme="dark"] .calc-penalties-container {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .calc-penalties-title {
  color: #e2e8f0;
}
html[data-theme="dark"] .calc-count-badge {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.3);
}
html[data-theme="dark"] .calc-penalty-item-card {
  background: rgba(15, 23, 42, 0.85);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
html[data-theme="dark"] .calc-penalty-item-title {
  color: #f8fafc;
}
html[data-theme="dark"] .calc-penalties-empty {
  color: #94a3b8;
}

.csk20-alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(239, 68, 68, 0.08);
  border: 1.5px solid #ef4444;
  border-radius: 10px;
  padding: 12px 14px;
  color: #991b1b;
  animation: cskPulse 2s infinite ease-in-out;
}
@keyframes cskPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.3); }
  50% { box-shadow: 0 0 0 6px rgba(239, 68, 68, 0.15); }
}
.csk20-icon {
  font-size: 24px;
}
.csk20-content b {
  display: block;
  font-size: 0.82rem;
  color: #dc2626;
  margin-bottom: 2px;
}
.csk20-content p {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.4;
}

.calc-discount-box, .calc-bail-box {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  padding: 12px 14px;
}
.discount-radios {
  display: flex;
  gap: 14px;
  font-size: 0.82rem;
  margin-top: 6px;
}
.discount-radios label {
  cursor: pointer;
}
.btn-bail-action {
  height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #ffffff;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}
.calc-bail-result {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.25);
  font-size: 0.8rem;
  color: #065f46;
}

.calc-result-summary {
  margin-top: 6px;
}
.result-box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 8px;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  padding: 12px;
}
.res-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.res-label {
  font-size: 0.7rem;
  color: #64748b;
  font-weight: 700;
}
.res-item b {
  font-size: 0.95rem;
  color: #0f172a;
}

/* Yasal İtiraz Süresi Çipi (Belge Altında) */
.appeal-deadline-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.25);
  color: #1d4ed8;
  font-size: 0.75rem;
  font-weight: 700;
  margin-top: 8px;
}
.csk20-stamp-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #b91c1c;
  font-size: 0.75rem;
  font-weight: 800;
  margin-top: 8px;
}

/* DARK MODE UYARLAMALARI */
html[data-theme="dark"] .laws-modal-card,
html[data-theme="dark"] .calculator-modal-card {
  background: rgba(13, 20, 34, 0.84) !important;
  backdrop-filter: blur(28px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
  color: #f8fafc !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .laws-toolbar,
html[data-theme="dark"] .laws-category-filter {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .laws-search-box input,
html[data-theme="dark"] .calc-select,
html[data-theme="dark"] .calc-field input,
html[data-theme="dark"] .master-import-drawer textarea {
  background: rgba(15, 23, 42, 0.85);
  border-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}
html[data-theme="dark"] .btn-law-action,
html[data-theme="dark"] .btn-bail-action {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
  color: #f8fafc;
}
html[data-theme="dark"] .law-card {
  background: rgba(30, 41, 59, 0.6);
  border-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .law-card-title {
  color: #f8fafc;
}
html[data-theme="dark"] .law-card-body {
  color: #cbd5e1;
}
html[data-theme="dark"] .result-box {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}
html[data-theme="dark"] .res-item b {
  color: #ffffff;
}

/* Ceza Motoru Rol / Makam Seçim Kutusu (Açık ve Koyu Tema) */
.calc-role-mode-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px 14px;
}
.calc-role-mode-label {
  font-size: 0.76rem;
  font-weight: 700;
  color: #475569;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}
.calc-mode-pill-group {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.btn-calc-mode {
  flex: 1;
  min-width: 170px;
  padding: 8px 12px;
  font-size: 0.8rem;
  font-weight: 700;
  border-radius: 980px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #334155;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  text-align: center;
}
.btn-calc-mode:hover {
  background: #f1f5f9;
  color: #0f172a;
  transform: translateY(-1px);
}
.btn-calc-mode.is-active[data-mode="judgment"] {
  background: #eff6ff;
  border-color: #3b82f6;
  color: #1d4ed8;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
}
.btn-calc-mode.is-active[data-mode="prosecution"] {
  background: #fef2f2;
  border-color: #ef4444;
  color: #b91c1c;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25);
}
.calc-mode-fixed-badge {
  padding: 9px 14px;
  border-radius: 980px;
  font-size: 0.82rem;
  font-weight: 700;
  text-align: center;
  display: block;
}
.calc-mode-fixed-badge.badge-defense {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #b45309;
}
.calc-mode-fixed-badge.badge-prosecution {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
}
.calc-mode-fixed-badge.badge-judgment {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
}

/* Koyu Temada Sıvı Cam Rol Seçicileri */
html[data-theme="dark"] .calc-role-mode-box {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .calc-role-mode-label {
  color: #94a3b8;
}
html[data-theme="dark"] .btn-calc-mode {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #e2e8f0;
}
html[data-theme="dark"] .btn-calc-mode:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
html[data-theme="dark"] .btn-calc-mode.is-active[data-mode="judgment"] {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.6) 0%, rgba(30, 58, 138, 0.8) 100%);
  border: 1px solid #60a5fa;
  color: #ffffff;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.45);
}
html[data-theme="dark"] .btn-calc-mode.is-active[data-mode="prosecution"] {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.6) 0%, rgba(153, 27, 27, 0.8) 100%);
  border: 1px solid #f87171;
  color: #ffffff;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.45);
}
html[data-theme="dark"] .calc-mode-fixed-badge.badge-defense {
  background: rgba(217, 119, 6, 0.18);
  border-color: rgba(245, 158, 11, 0.35);
  color: #fbbf24;
}
html[data-theme="dark"] .calc-mode-fixed-badge.badge-prosecution {
  background: rgba(220, 38, 38, 0.18);
  border-color: rgba(239, 68, 68, 0.35);
  color: #f87171;
}
html[data-theme="dark"] .calc-mode-fixed-badge.badge-judgment {
  background: rgba(37, 99, 235, 0.18);
  border-color: rgba(59, 130, 246, 0.35);
  color: #60a5fa;
}

/* ==========================================================================
   ADLİNET GÜVENLİ İLETİŞİM & EVRAK TRANSFER PORTALI (LIQUID GLASS E2EE)
   ========================================================================== */

.uyap-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ef4444;
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 800;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  margin-left: 6px;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.5);
  animation: uyapPulseBadge 2.2s infinite ease-in-out;
  line-height: 1;
}

@keyframes uyapPulseBadge {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); box-shadow: 0 0 12px rgba(239, 68, 68, 0.8); }
}

.modal-uyap-card {
  width: min(96vw, 1180px);
  height: 88vh;
  max-height: 900px;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: var(--glass-radius-lg);
  background: var(--glass-surface-lg);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border-strong);
  box-shadow: 0 32px 85px -10px rgba(15, 23, 42, 0.35), var(--glass-highlight);
}

.uyap-modal-header {
  padding: 14px 22px;
  border-bottom: 1px solid var(--glass-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
}

.uyap-head-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}

.uyap-head-title-wrap h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #0f172a;
}

.uyap-e2ee-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #059669;
  font-size: 0.72rem;
  font-weight: 750;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: 0.02em;
}

.e2ee-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  animation: uyapGlowDot 2s infinite ease-in-out;
}

@keyframes uyapGlowDot {
  0%, 100% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.15); box-shadow: 0 0 10px #10b981; }
}

.uyap-modal-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  position: relative;
}

/* Sol Kenar Çubuğu: Klasörler, Filtre ve Muhataplar */
.uyap-sidebar {
  width: 380px;
  min-width: 330px;
  max-width: 420px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  background: rgba(248, 250, 252, 0.65);
}

.uyap-folder-tabs {
  display: flex;
  padding: 10px 12px;
  gap: 6px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.uyap-folder-tab {
  flex: 1;
  padding: 8px 10px;
  font-size: 0.78rem;
  font-weight: 700;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.uyap-folder-tab:hover {
  background: rgba(255, 255, 255, 0.6);
  color: #0f172a;
}

.uyap-folder-tab.is-active {
  background: #ffffff;
  color: #1e293b;
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.uyap-folder-tab .tab-badge {
  background: #ef4444;
  color: #ffffff;
  font-size: 0.64rem;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 8px;
}

.uyap-search-wrap {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.uyap-search-wrap input {
  width: 100%;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  font-size: 0.8rem;
  outline: none;
  transition: all 0.2s ease;
}

.uyap-search-wrap input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.uyap-recipients-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.uyap-recipient-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  margin-bottom: 4px;
  border: 1px solid transparent;
  user-select: none;
}

.uyap-recipient-item:hover {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(203, 213, 225, 0.8);
  transform: translateX(2px);
}

.uyap-recipient-item.is-active {
  background: rgba(37, 99, 235, 0.09);
  border-color: rgba(37, 99, 235, 0.28);
}

.uyap-recipient-avatar {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
}

.uyap-recipient-avatar-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

.presence-badge-dot {
  position: absolute;
  bottom: -1px;
  right: -1px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  z-index: 2;
  transition: all 0.2s ease;
}

.presence-badge-dot.is-online {
  background: #10b981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.7);
}

.presence-badge-dot.is-offline {
  background: #94a3b8;
}

.group-badge-icon {
  position: absolute;
  bottom: -2px;
  right: -2px;
  font-size: 0.6rem;
  background: #2563eb;
  color: #ffffff;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  z-index: 3;
}

.group-badge-icon.is-locked {
  background: #64748b;
}

.uyap-recipient-item.is-locked {
  opacity: 0.68;
}

.uyap-recipient-item.is-locked:hover {
  background: rgba(239, 68, 68, 0.05);
  border-color: rgba(239, 68, 68, 0.2);
}

.uyap-section-header {
  padding: 8px 10px 6px 10px;
  font-size: 0.68rem;
  font-weight: 800;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.active-count-badge {
  font-size: 0.64rem;
  font-weight: 750;
  background: rgba(16, 185, 129, 0.12);
  color: #059669;
  border: 1px solid rgba(16, 185, 129, 0.3);
  padding: 1px 7px;
  border-radius: 10px;
  text-transform: none;
  letter-spacing: 0;
}

.presence-text-online {
  color: #059669;
  font-weight: 700;
}

.presence-text-offline {
  color: #94a3b8;
  font-weight: 500;
}

.uyap-recipient-info {
  flex: 1;
  min-width: 0;
}

.uyap-recipient-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.uyap-recipient-name {
  font-size: 0.84rem;
  font-weight: 750;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

.uyap-recipient-time {
  font-size: 0.68rem;
  color: #94a3b8;
  white-space: nowrap;
  flex-shrink: 0;
}

.uyap-recipient-sub {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 2px;
}

.uyap-sub-desc {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

.uyap-sub-badge {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.70rem;
  font-weight: 600;
}

.uyap-recipient-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 3px;
}

.uyap-recipient-snippet {
  font-size: 0.71rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

.uyap-recipient-unread-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2563eb;
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(37, 99, 235, 0.5);
}

/* Sağ Panel: Mesajlaşma & Evrak Akışı */
.uyap-main-chat {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.45);
  position: relative;
}

.uyap-chat-header {
  padding: 12px 20px;
  border-bottom: 1px solid var(--glass-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
}

.uyap-active-user-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.uyap-avatar-placeholder {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

.uyap-active-meta {
  display: flex;
  flex-direction: column;
}

.uyap-active-name-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.uyap-active-name {
  font-size: 0.94rem;
  font-weight: 800;
  color: #0f172a;
}

.uyap-active-grade {
  font-size: 0.68rem;
  padding: 2px 7px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  color: #475569;
  font-weight: 700;
}

.uyap-active-sub {
  font-size: 0.72rem;
  color: #10b981;
  font-weight: 650;
  margin-top: 1px;
}

.uyap-messages-container {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.uyap-empty-chat {
  margin: auto;
  text-align: center;
  color: #94a3b8;
  max-width: 360px;
  padding: 20px;
}

.uyap-empty-chat .empty-icon {
  font-size: 2.8rem;
  margin-bottom: 12px;
  opacity: 0.7;
}

.uyap-empty-chat h4 {
  margin: 0 0 6px 0;
  color: #475569;
  font-size: 1rem;
}

.uyap-empty-chat p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.5;
}

.uyap-msg-row {
  display: flex;
  flex-direction: column;
  max-width: 78%;
  animation: uyapFadeMsg 0.25s ease-out;
}

@keyframes uyapFadeMsg {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.uyap-msg-row.msg-outgoing {
  align-self: flex-end;
  align-items: flex-end;
}

.uyap-msg-row.msg-incoming {
  align-self: flex-start;
  align-items: flex-start;
}

.uyap-msg-bubble {
  padding: 12px 16px;
  border-radius: 16px;
  position: relative;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  font-size: 0.88rem;
  line-height: 1.52;
  word-break: break-word;
}

/* --- Mesaj meta alanı (saat + çift tik + i butonu) --- */
.uyap-msg-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  margin-left: auto;
  white-space: nowrap;
}

.uyap-msg-ticks {
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1px;
}

.uyap-msg-ticks.is-pending {
  opacity: 0.55;
}

.uyap-msg-ticks.is-read {
  color: #53bdeb;
}

.msg-incoming .uyap-msg-ticks.is-read {
  color: #059669;
}

.uyap-msg-info-btn {
  width: 15px;
  height: 15px;
  min-width: 15px;
  border-radius: 50%;
  border: none;
  background: rgba(15, 23, 42, 0.1);
  color: #475569;
  font-size: 0.62rem;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

.uyap-msg-info-btn:hover {
  background: rgba(15, 23, 42, 0.22);
  transform: scale(1.12);
}

.msg-outgoing .uyap-msg-info-btn {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.msg-outgoing .uyap-msg-info-btn:hover {
  background: rgba(255, 255, 255, 0.4);
}

/* --- Kimler okudu? baloncuğu --- */
.msg-readers-popover {
  position: fixed;
  z-index: 100000;
  min-width: 210px;
  max-width: 280px;
  padding: 10px 12px;
  border-radius: var(--glass-radius-md);
  background: var(--glass-surface-lg);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border-strong);
  box-shadow: var(--glass-shadow-float);
  animation: msgReadersIn 0.16s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes msgReadersIn {
  from { opacity: 0; transform: translateY(6px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.msg-readers-head {
  font-size: 0.72rem;
  font-weight: 800;
  color: #0f172a;
  padding-bottom: 7px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.msg-readers-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-height: 230px;
  overflow-y: auto;
}

.msg-reader-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.msg-reader-avatar {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.msg-reader-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.msg-reader-text strong {
  font-size: 0.76rem;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.msg-reader-text small {
  font-size: 0.66rem;
  color: #64748b;
}

.msg-reader-tick {
  font-size: 0.7rem;
  font-weight: 700;
  color: #53bdeb;
  letter-spacing: -1px;
  flex-shrink: 0;
}

.msg-reader-empty {
  font-size: 0.74rem;
  color: #94a3b8;
  padding: 4px 0;
}

/* --- Aşağı atlama butonu (WhatsApp) --- */
.uyap-scroll-bottom-btn {
  position: absolute;
  right: 20px;
  bottom: 92px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  background: #ffffff;
  color: #54656f;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(11, 20, 26, 0.2);
  z-index: 40;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  animation: scrollBottomIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes scrollBottomIn {
  from { opacity: 0; transform: translateY(10px) scale(0.9); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.uyap-scroll-bottom-btn:hover {
  background: #f0f2f5;
  transform: translateY(-2px);
}

.uyap-scroll-bottom-badge {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #25d366;
  color: #ffffff;
  font-size: 0.64rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(37, 211, 102, 0.5);
  line-height: 1;
}

html[data-theme="dark"] .uyap-scroll-bottom-btn {
  background: #2a3942;
  color: #8696a0;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .uyap-scroll-bottom-btn:hover {
  background: #32444f;
}

/* --- WhatsApp tarzı kuyruk köşeleri --- */
.msg-outgoing .uyap-msg-bubble {
  border-bottom-right-radius: 4px;
}

.msg-incoming .uyap-msg-bubble {
  border-bottom-left-radius: 4px;
}

/* Ardışık mesajlarda köşeleri yumuşat (gruba havası) */
.msg-outgoing .uyap-msg-row + .msg-outgoing .uyap-msg-bubble,
.msg-incoming .uyap-msg-row + .msg-incoming .uyap-msg-bubble {
  border-top-right-radius: 6px;
}

.msg-outgoing .uyap-msg-row + .msg-outgoing .uyap-msg-bubble {
  border-bottom-right-radius: 4px;
}

.msg-incoming .uyap-msg-row + .msg-incoming .uyap-msg-bubble {
  border-bottom-left-radius: 4px;
}

/* --- Koyu tema okuyan baloncuğu --- */
html[data-theme="dark"] .msg-readers-popover {
  background: rgba(17, 27, 33, 0.96);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 18px 48px -8px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .msg-readers-head {
  color: #e2e8f0;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .msg-reader-text strong {
  color: #e2e8f0;
}

html[data-theme="dark"] .msg-reader-text small {
  color: #8696a0;
}

html[data-theme="dark"] .msg-incoming .uyap-msg-info-btn {
  background: rgba(255, 255, 255, 0.14);
  color: #cbd5e1;
}

/* --- Gönder butonu: sabit ikon + spinner (taşma yok) --- */
.wa-send-icon {
  display: block;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.01 21L23 12 2.01 3 2 10l15 2-15 2z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.01 21L23 12 2.01 3 2 10l15 2-15 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wa-send-spinner {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  animation: waSendSpin 0.7s linear infinite;
}

@keyframes waSendSpin {
  to { transform: rotate(360deg); }
}

.msg-outgoing .uyap-msg-bubble {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  border-bottom-right-radius: 4px;
  box-shadow: 0 6px 20px rgba(37, 99, 235, 0.28);
}

.msg-incoming .uyap-msg-bubble {
  background: rgba(255, 255, 255, 0.95);
  color: #0f172a;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-bottom-left-radius: 4px;
}

.uyap-msg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  font-size: 0.7rem;
  flex-wrap: wrap;
  row-gap: 2px;
}

.msg-outgoing .uyap-msg-header {
  color: rgba(255, 255, 255, 0.85);
}

.msg-incoming .uyap-msg-header {
  color: #64748b;
}

.uyap-msg-sender {
  font-weight: 750;
  overflow-wrap: anywhere;
  min-width: 0;
}

.uyap-msg-sender-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  row-gap: 2px;
  min-width: 0;
}

.uyap-msg-role-chip {
  font-size: 0.62rem;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 750;
  display: inline-block;
  line-height: 1.3;
}

.role-judge {
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
}

.role-prosecutor {
  background: rgba(220, 38, 38, 0.12);
  color: #b91c1c;
}

.role-lawyer {
  background: rgba(217, 119, 6, 0.14);
  color: #b45309;
}

.role-doctor {
  background: rgba(16, 185, 129, 0.14);
  color: #047857;
}

html[data-theme="dark"] .role-judge {
  background: rgba(59, 130, 246, 0.22);
  color: #93c5fd;
}

html[data-theme="dark"] .role-prosecutor {
  background: rgba(239, 68, 68, 0.22);
  color: #fca5a5;
}

html[data-theme="dark"] .role-lawyer {
  background: rgba(245, 158, 11, 0.22);
  color: #fde68a;
}

html[data-theme="dark"] .role-doctor {
  background: rgba(16, 185, 129, 0.22);
  color: #6ee7b7;
}

html[data-theme="dark"] .group-badge-icon {
  border-color: #0b1220;
}

.uyap-msg-time {
  font-weight: 500;
  opacity: 0.85;
  white-space: nowrap;
}

.uyap-msg-e2ee {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.65rem;
  background: rgba(16, 185, 129, 0.16);
  color: #059669;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 700;
}

.msg-outgoing .uyap-msg-e2ee {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}

.uyap-msg-text {
  white-space: pre-wrap;
}

/* Evrak ve Dosya Ekleri Kartları */
.uyap-msg-attachments {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.uyap-doc-attachment-card {
  padding: 10px 14px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(8px);
}

.msg-incoming .uyap-doc-attachment-card {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.doc-card-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.doc-card-icon {
  font-size: 1.6rem;
  flex-shrink: 0;
}

.doc-card-text {
  min-width: 0;
}

.doc-card-title {
  font-size: 0.82rem;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.doc-card-sub {
  font-size: 0.68rem;
  opacity: 0.85;
  display: block;
  margin-top: 2px;
}

.btn-open-doc-in-editor {
  padding: 6px 13px;
  font-size: 0.74rem;
  font-weight: 750;
  border-radius: 8px;
  border: none;
  background: #ffffff;
  color: #1d4ed8;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.msg-incoming .btn-open-doc-in-editor {
  background: #2563eb;
  color: #ffffff;
}

.btn-open-doc-in-editor:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.uyap-file-attachment-card {
  padding: 8px 12px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px dashed rgba(255, 255, 255, 0.35);
  font-size: 0.78rem;
}

.msg-incoming .uyap-file-attachment-card {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.file-download-btn {
  background: none;
  border: none;
  color: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

/* Inline Resim Önizleme Kartı (Sohbet İçi PNG/JPG) */
.uyap-image-attachment-wrap {
  margin-top: 8px;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  max-width: 290px;
}
.msg-incoming .uyap-image-attachment-wrap {
  background: #f8fafc;
  border-color: #cbd5e1;
}
.uyap-image-thumb-box {
  position: relative;
  width: 100%;
  max-height: 260px;
  overflow: hidden;
  cursor: pointer;
  background: #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.uyap-chat-inline-img {
  width: 100%;
  height: auto;
  max-height: 260px;
  display: block;
  object-fit: cover;
  transition: transform 0.25s ease, filter 0.2s ease;
}
.uyap-image-thumb-box:hover .uyap-chat-inline-img {
  transform: scale(1.03);
  filter: brightness(1.05);
}
.uyap-img-overlay-badge {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(15, 23, 42, 0.75);
  color: #ffffff;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
  pointer-events: none;
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.uyap-img-caption {
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.78rem;
  background: rgba(255, 255, 255, 0.12);
}
.msg-incoming .uyap-img-caption {
  background: #f1f5f9;
}

html[data-theme="dark"] .uyap-image-attachment-wrap {
  background: #1e293b;
  border-color: #334155;
}
html[data-theme="dark"] .msg-incoming .uyap-image-attachment-wrap {
  background: #1e293b;
  border-color: #334155;
}
html[data-theme="dark"] .uyap-img-caption,
html[data-theme="dark"] .msg-incoming .uyap-img-caption {
  background: #0f172a;
  color: #e2e8f0;
}

/* Staged Tray (Gönderilmek Üzere Eklenmiş Dosya/Evrak Çubuğu) */
.uyap-staged-tray {
  padding: 8px 18px;
  background: rgba(241, 245, 249, 0.85);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.staged-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  font-size: 0.76rem;
  max-width: 320px;
}

.staged-icon {
  font-size: 1.15rem;
}

.staged-info {
  min-width: 0;
  flex: 1;
}

.staged-info strong {
  display: block;
  font-weight: 750;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.staged-info small {
  display: block;
  font-size: 0.67rem;
  color: #64748b;
}

.staged-remove-btn {
  border: none;
  background: #ef4444;
  color: #ffffff;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

.staged-remove-btn:hover {
  transform: scale(1.15);
}

/* Alt Mesaj Editörü & Araç Çubuğu */
.uyap-composer {
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.85);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.uyap-composer textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  padding: 10px 14px;
  font-size: 0.86rem;
  line-height: 1.45;
  resize: none;
  background: #ffffff;
  color: #0f172a;
  outline: none;
  transition: all 0.2s ease;
  font-family: inherit;
}

.uyap-composer textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.uyap-composer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.uyap-composer-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.uyap-tool-btn {
  padding: 7px 12px;
  border-radius: 9px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  font-size: 0.76rem;
  font-weight: 650;
  color: #334155;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.uyap-tool-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
  transform: translateY(-1px);
}

.uyap-tool-btn.has-staged {
  background: #eff6ff;
  border-color: #3b82f6;
  color: #1d4ed8;
  font-weight: 750;
}

.uyap-send-btn {
  padding: 8px 18px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #ffffff;
  font-size: 0.84rem;
  font-weight: 750;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.uyap-send-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45);
}

.uyap-send-btn:active {
  transform: translateY(0);
}

/* ================= DARK THEME OVERRIDES FOR ADLINET ================= */
html[data-theme="dark"] .modal-uyap-card {
  background: rgba(11, 18, 32, 0.86) !important;
  backdrop-filter: blur(28px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(200%) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 32px 85px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
  color: #f8fafc !important;
}

html[data-theme="dark"] .uyap-modal-header {
  background: var(--glass-surface-sm) !important;
  border-color: var(--glass-border) !important;
}

html[data-theme="dark"] .uyap-head-title-wrap h3 {
  color: #f1f5f9;
}

html[data-theme="dark"] .uyap-sidebar {
  background: rgba(255, 255, 255, 0.02) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .uyap-folder-tabs {
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .uyap-folder-tab {
  color: #94a3b8;
}

html[data-theme="dark"] .uyap-folder-tab:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

html[data-theme="dark"] .uyap-folder-tab.is-active {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .uyap-search-wrap {
  border-color: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .uyap-search-wrap input {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  color: #f8fafc;
}

html[data-theme="dark"] .uyap-search-wrap input:focus {
  border-color: #3b82f6;
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .uyap-recipient-item:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .uyap-recipient-item.is-active {
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.35);
}

html[data-theme="dark"] .uyap-recipient-avatar {
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .presence-badge-dot {
  border-color: #0b1220;
}

html[data-theme="dark"] .active-count-badge {
  background: rgba(16, 185, 129, 0.18);
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.35);
}

html[data-theme="dark"] .presence-text-online {
  color: #34d399;
}

html[data-theme="dark"] .uyap-recipient-name {
  color: #f1f5f9;
}

html[data-theme="dark"] .uyap-recipient-sub,
html[data-theme="dark"] .uyap-recipient-snippet {
  color: #94a3b8;
}

html[data-theme="dark"] .uyap-main-chat {
  background: rgba(0, 0, 0, 0.15);
}

html[data-theme="dark"] .uyap-chat-header {
  background: var(--glass-surface-sm);
  border-color: var(--glass-border);
}

html[data-theme="dark"] .uyap-avatar-placeholder {
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.3);
  color: #60a5fa;
}

html[data-theme="dark"] .uyap-active-name {
  color: #ffffff;
}

html[data-theme="dark"] .uyap-active-grade {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
}

html[data-theme="dark"] .msg-incoming .uyap-msg-bubble {
  background: rgba(30, 41, 59, 0.85);
  color: #f1f5f9;
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .msg-incoming .uyap-msg-header {
  color: #94a3b8;
}

html[data-theme="dark"] .msg-incoming .uyap-doc-attachment-card {
  background: rgba(15, 23, 42, 0.6);
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .msg-incoming .uyap-file-attachment-card {
  background: rgba(15, 23, 42, 0.6);
  border-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .uyap-staged-tray {
  background: rgba(15, 23, 42, 0.7);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .staged-card {
  background: rgba(30, 41, 59, 0.9);
  border-color: rgba(255, 255, 255, 0.14);
}

html[data-theme="dark"] .staged-info strong {
  color: #f8fafc;
}

html[data-theme="dark"] .staged-info small {
  color: #94a3b8;
}

html[data-theme="dark"] .uyap-composer {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .uyap-composer textarea {
  background: rgba(15, 23, 42, 0.6);
  border-color: rgba(255, 255, 255, 0.14);
  color: #f8fafc;
}

html[data-theme="dark"] .uyap-composer textarea:focus {
  border-color: #3b82f6;
  background: rgba(15, 23, 42, 0.8);
}

html[data-theme="dark"] .uyap-tool-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
}

html[data-theme="dark"] .uyap-tool-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

html[data-theme="dark"] .uyap-tool-btn.has-staged {
  background: rgba(59, 130, 246, 0.2);
  border-color: rgba(59, 130, 246, 0.4);
  color: #93c5fd;
}

/* ==========================================================================
   ADLİNET 2.0: YARGI PORTALI, DASHBOARD, TEVZİ & SLA STİLLERİ (LIQUID GLASS)
   ========================================================================== */

.portal-sub-nav {
  position: relative;
  z-index: 40;
  background: var(--glass-surface-md);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border-bottom: 1px solid var(--glass-border-strong);
  box-shadow: var(--glass-shadow-sm);
  padding: 8px 24px;
  transition: all 0.2s ease;
}

.portal-sub-nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.portal-nav-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.portal-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: #475569;
  font-size: 0.84rem;
  font-weight: 650;
  cursor: pointer;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.portal-nav-btn:hover {
  background: rgba(241, 245, 249, 0.9);
  color: #0f172a;
  transform: translateY(-1px);
}

.portal-nav-btn.is-active {
  background: #ffffff;
  color: #2563eb;
  border-color: rgba(37, 99, 235, 0.22);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
}

.p-nav-badge {
  font-size: 0.68rem;
  font-weight: 750;
  padding: 2px 7px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
}

.p-nav-badge.is-urgent {
  background: rgba(239, 68, 68, 0.14);
  color: #dc2626;
  border: 1px solid rgba(239, 68, 68, 0.25);
  animation: pulseUrgentBadge 2s infinite ease-in-out;
}

@keyframes pulseUrgentBadge {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: 0.85; }
}

.btn-cta-editor {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.28) !important;
}

.btn-cta-editor:hover {
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.38) !important;
}

/* PORTAL ANA GÖVDE VE GÖRÜNÜMLER */
.portal-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px 24px 80px 24px;
}

.portal-view {
  animation: portalFadeIn 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes portalFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* DASHBOARD: HERO VE GİRİŞ KARTI */
.portal-hero-banner {
  background: var(--glass-surface-md);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius-lg);
  padding: 24px 28px;
  box-shadow: var(--glass-shadow-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}

.portal-hero-banner::after {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.hero-welcome h2 {
  font-size: 1.45rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 6px 0;
  letter-spacing: -0.02em;
}

.hero-welcome p {
  margin: 0;
  font-size: 0.86rem;
  color: #64748b;
  line-height: 1.5;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* KPI KARTLARI */
.portal-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.portal-kpi-card {
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius-lg);
  padding: 18px 20px;
  box-shadow: var(--glass-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.portal-kpi-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--glass-shadow-md);
  border-color: rgba(37, 99, 235, 0.35);
}

.kpi-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.kpi-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  background: rgba(37, 99, 235, 0.1);
  color: #2563eb;
}

.kpi-icon.kpi-warn { background: rgba(245, 158, 11, 0.12); color: #d97706; }
.kpi-icon.kpi-danger { background: rgba(239, 68, 68, 0.12); color: #dc2626; }
.kpi-icon.kpi-success { background: rgba(16, 185, 129, 0.12); color: #059669; }

.kpi-num {
  font-size: 1.85rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.kpi-label {
  font-size: 0.8rem;
  font-weight: 650;
  color: #64748b;
}

.kpi-footer {
  font-size: 0.72rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* PORTAL KART VE TABLOLARI */
.portal-card {
  background: var(--glass-surface-md);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius-lg);
  box-shadow: var(--glass-shadow-md);
  margin-bottom: 24px;
  overflow: hidden;
}

.portal-card-header {
  padding: 16px 22px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.portal-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 750;
  color: #0f172a;
}

.portal-card-body {
  padding: 20px 22px;
}

/* SLA GERİ SAYIM ROZETLERİ */
.sla-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 750;
  padding: 3px 9px;
  border-radius: 999px;
  white-space: nowrap;
}

.sla-normal {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.28);
}

.sla-warning {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.sla-critical {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
  border: 1px solid rgba(239, 68, 68, 0.3);
  animation: pulseUrgentBadge 2s infinite ease-in-out;
}

.sla-expired {
  background: #dc2626;
  color: #ffffff;
  border: 1px solid #b91c1c;
  box-shadow: 0 0 10px rgba(220, 38, 38, 0.4);
}

.sla-done {
  background: rgba(100, 116, 139, 0.12);
  color: #475569;
  border: 1px solid rgba(100, 116, 139, 0.25);
}

/* SLA BİLGİLENDİRME BARI (MODAL VE DETAYLAR İÇİN) */
.sla-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 0.82rem;
  line-height: 1.45;
  width: 100%;
  box-sizing: border-box;
}

.sla-banner-main {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sla-banner-sub {
  font-size: 0.74rem;
  opacity: 0.85;
}

.sla-banner-status {
  white-space: nowrap;
  font-size: 0.80rem;
  margin-left: auto;
}

/* PORTAL TABLOLARI */
.portal-table-wrap {
  overflow-x: auto;
}

.portal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  text-align: left;
}

.portal-table th {
  padding: 10px 14px;
  background: rgba(248, 250, 252, 0.7);
  color: #64748b;
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #e2e8f0;
}

.portal-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.6);
  color: #1e293b;
  vertical-align: middle;
}

.portal-table tr:hover td {
  background: rgba(241, 245, 249, 0.4);
}

/* DAVA & TEVZİ KARTLARI */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 16px;
}

.case-card {
  background: var(--glass-surface-md);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius-md);
  padding: 18px;
  box-shadow: var(--glass-shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.case-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  border-color: rgba(37, 99, 235, 0.3);
}

.case-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.case-num {
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-strong);
}

/* Dava konusu / olay tanımı — kartın ana metni. Satır içi renk yazılmaz,
   aksi halde koyu temada okunmaz hale gelir. */
.case-subject {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-body);
  margin: 10px 0 8px 0;
}

.case-unit {
  font-size: 0.74rem;
  color: var(--text-muted);
  margin-top: 2px;
}

.case-badge {
  font-size: 0.68rem;
  font-weight: 750;
  padding: 2px 8px;
  border-radius: 6px;
}

.case-badge-open {
  background: rgba(16, 185, 129, 0.12);
  color: var(--badge-success-text);
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.case-badge-unassigned {
  background: rgba(245, 158, 11, 0.12);
  color: var(--badge-warning-text);
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.case-badge-mediation {
  background: rgba(16, 185, 129, 0.12);
  color: #059669;
  border: 1px solid rgba(16, 185, 129, 0.25);
}
html[data-theme="dark"] .case-badge-mediation {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #34d399 !important;
  border-color: rgba(16, 185, 129, 0.35) !important;
}

.case-party-info {
  font-size: 0.78rem;
  color: var(--text-body);
  background: rgba(248, 250, 252, 0.8);
  padding: 8px 12px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.case-party-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.case-party-label {
  color: var(--text-muted);
  font-weight: 600;
}

/* Dosyayı devralan makamın adı ve unvanı */
.case-assignee-name {
  font-weight: 700;
  color: var(--text-strong);
}

.case-assignee-role {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* Mavi bilgi kutusu (SLA kuralı, uyarı metinleri) */
.portal-info-banner {
  background: var(--info-tint-bg);
  border: 1px solid var(--info-tint-border);
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 20px;
  font-size: 0.82rem;
  color: var(--text-on-tint);
  display: flex;
  align-items: center;
  gap: 10px;
}

.portal-info-banner > span {
  font-size: 1.2rem;
  line-height: 1;
}

.case-assignee {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.12);
}

.case-authorities-box {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: rgba(37, 99, 235, 0.05);
  border: 1px solid rgba(37, 99, 235, 0.12);
  border-radius: 8px;
  padding: 8px 10px;
  margin-bottom: 10px;
}

.case-authority-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.78rem;
  gap: 8px;
}

.case-authority-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #64748b;
  font-weight: 600;
}

.case-authority-val {
  font-weight: 700;
  text-align: right;
}

html[data-theme="dark"] .case-authorities-box {
  background: rgba(30, 41, 59, 0.5);
  border-color: rgba(51, 65, 85, 0.7);
}

html[data-theme="dark"] .case-authority-label {
  color: #94a3b8;
}

html[data-theme="dark"] .case-authority-val {
  color: #f1f5f9;
}

/* DOSYA HESABI VE SAYMANLIK STİLLERİ */
#caseAccountingModal .modal-card,
.case-accounting-modal-card {
  width: min(96vw, 1100px) !important;
  max-width: 1100px !important;
  height: 90vh;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
#caseAccountingModal .modal-body {
  overflow-y: auto;
  flex: 1;
  padding: 18px 24px;
}
#caseAccountingModal .acc-kpi-card {
  transition: all 0.2s ease;
  min-width: 170px;
}
#caseAccountingModal .acc-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
#caseAccountingModal .portal-table th {
  background: rgba(0, 0, 0, 0.03);
  font-weight: 700;
  color: #475569;
  padding: 10px 14px;
  white-space: nowrap;
}
#caseAccountingModal .portal-table td {
  padding: 10px 14px;
  vertical-align: middle;
}
#caseAccountingModal .portal-table td:nth-child(3) {
  min-width: 200px;
}
html[data-theme="dark"] #caseAccountingModal .modal-glass-card {
  background: #0f172a;
  color: #f1f5f9;
}
html[data-theme="dark"] #caseAccountingModal .modal-header {
  background: rgba(255, 255, 255, 0.03);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
html[data-theme="dark"] #caseAccountingModal .acc-kpi-card {
  background: rgba(30, 41, 59, 0.6) !important;
  border-color: rgba(51, 65, 85, 0.7) !important;
}
html[data-theme="dark"] #accKpiTotalExpense {
  color: #f1f5f9 !important;
}
html[data-theme="dark"] #accAddFormWrap {
  background: rgba(30, 41, 59, 0.4) !important;
  border-color: rgba(51, 65, 85, 0.8) !important;
}
html[data-theme="dark"] #caseAccountingModal .portal-table th {
  background: rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
}

.case-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

/* BUTONLAR */
.btn-portal {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 0.78rem;
  font-weight: 650;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.16s ease;
  border: 1px solid transparent;
}

.btn-portal-primary {
  background: #2563eb;
  color: #ffffff;
}
.btn-portal-primary:hover {
  background: #1d4ed8;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
}

.btn-portal-success {
  background: #10b981;
  color: #ffffff;
}
.btn-portal-success:hover {
  background: #059669;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}

.btn-portal-danger {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.25);
}
.btn-portal-danger:hover {
  background: #dc2626;
  color: #ffffff;
}

.btn-portal-warning {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.35);
  font-weight: 700;
}
.btn-portal-warning:hover {
  background: #f59e0b;
  color: #ffffff;
  border-color: #d97706;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

.btn-portal-secondary {
  background: #f1f5f9;
  color: #334155;
  border-color: #cbd5e1;
}
.btn-portal-secondary:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.btn-portal-doc {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
  font-weight: 700;
}
.btn-portal-doc:hover {
  background: #2563eb;
  color: #ffffff;
  border-color: #2563eb;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}

/* VEKALETNAME DOĞRULAMA KUTUSU */
.power-search-card {
  max-width: 680px;
  margin: 0 auto 30px auto;
  text-align: center;
}

.power-search-bar {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.power-search-input {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  font-size: 0.95rem;
  border: 1.5px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
  outline: none;
  transition: all 0.2s;
}

.power-search-input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.verified-card-result {
  background: #ffffff;
  border: 1.5px solid rgba(16, 185, 129, 0.35);
  border-radius: 14px;
  padding: 20px;
  margin-top: 16px;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.08);
  text-align: left;
  animation: portalFadeIn 0.2s ease;
}

/* EDİTÖRE DÖNÜŞ BARI & KAPSAYICI */
#viewEditor {
  width: 100%;
}

.editor-return-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  background: rgba(37, 99, 235, 0.08);
  border-bottom: 1px solid rgba(37, 99, 235, 0.18);
  backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
}

.editor-return-title {
  font-size: 0.84rem;
  font-weight: 700;
  color: #1e3a8a;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-return-portal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 8px;
  background: #ffffff;
  color: #2563eb;
  border: 1px solid rgba(37, 99, 235, 0.28);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.1);
  transition: all 0.16s ease;
}

.btn-return-portal:hover {
  background: #2563eb;
  color: #ffffff;
  transform: translateX(-2px);
}

/* ================= DARK THEME OVERRIDES FOR PORTAL ================= */
html[data-theme="dark"] .portal-sub-nav {
  background: rgba(11, 18, 32, 0.88);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .portal-nav-btn {
  color: #94a3b8;
}

html[data-theme="dark"] .portal-nav-btn:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #f1f5f9;
}

html[data-theme="dark"] .portal-nav-btn.is-active {
  background: rgba(30, 41, 59, 0.95);
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .portal-hero-banner,
html[data-theme="dark"] .portal-kpi-card,
html[data-theme="dark"] .portal-card,
html[data-theme="dark"] .case-card {
  background: var(--glass-surface-md);
  border-color: var(--glass-border);
  box-shadow: var(--glass-shadow-md);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
}

html[data-theme="dark"] .hero-welcome h2,
html[data-theme="dark"] .kpi-num,
html[data-theme="dark"] .portal-card-title,
html[data-theme="dark"] .case-num {
  color: #f8fafc;
}

html[data-theme="dark"] .hero-welcome p,
html[data-theme="dark"] .kpi-label,
html[data-theme="dark"] .case-unit {
  color: #94a3b8;
}

html[data-theme="dark"] .portal-card-header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .portal-table th {
  background: rgba(30, 41, 59, 0.6);
  color: #94a3b8;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .portal-table td {
  border-bottom-color: rgba(255, 255, 255, 0.06);
  color: #e2e8f0;
}

html[data-theme="dark"] .portal-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

html[data-theme="dark"] .case-party-info {
  background: rgba(30, 41, 59, 0.6);
  color: #cbd5e1;
}

html[data-theme="dark"] .case-actions {
  border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .btn-portal-secondary {
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  border-color: rgba(255, 255, 255, 0.14);
}

html[data-theme="dark"] .btn-portal-secondary:hover {
  background: rgba(255, 255, 255, 0.14);
}

html[data-theme="dark"] .btn-portal-warning {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.4);
}
html[data-theme="dark"] .btn-portal-warning:hover {
  background: #d97706;
  color: #ffffff;
}

html[data-theme="dark"] .btn-portal-doc {
  background: rgba(37, 99, 235, 0.18);
  color: #93c5fd;
  border-color: rgba(37, 99, 235, 0.35);
}
html[data-theme="dark"] .btn-portal-doc:hover {
  background: #2563eb;
  color: #ffffff;
  border-color: #2563eb;
}

html[data-theme="dark"] .power-search-input {
  background: rgba(30, 41, 59, 0.8);
  border-color: rgba(255, 255, 255, 0.15);
  color: #f8fafc;
}

html[data-theme="dark"] .verified-card-result {
  background: rgba(15, 23, 42, 0.85);
  border-color: rgba(16, 185, 129, 0.35);
}

html[data-theme="dark"] .sla-normal {
  background: rgba(16, 185, 129, 0.18);
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.35);
}

html[data-theme="dark"] .sla-warning {
  background: rgba(245, 158, 11, 0.18);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.35);
}

html[data-theme="dark"] .sla-critical {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.4);
}

html[data-theme="dark"] .sla-done {
  background: rgba(100, 116, 139, 0.2);
  color: #cbd5e1;
  border-color: rgba(148, 163, 184, 0.3);
}

html[data-theme="dark"] .editor-return-bar {
  background: rgba(30, 41, 59, 0.6);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .editor-return-title {
  color: #93c5fd;
}

html[data-theme="dark"] .btn-return-portal {
  background: rgba(30, 41, 59, 0.9);
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
}

/* =========================================================================
   ADLİNET 2.0 MODERN ARAYÜZ, NOTERLİK ONAY MASASI & CANLI TYPING STİLLERİ
   ========================================================================= */

/* Onay Bilgilendirme Bannerı */
.approval-info-banner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(59, 130, 246, 0.03) 100%);
  border: 1px solid rgba(37, 99, 235, 0.2);
  border-left: 4px solid #2563eb;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 20px;
}

.approval-info-icon {
  font-size: 1.35rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}

.approval-info-text {
  font-size: 0.85rem;
  color: #1e293b;
  line-height: 1.55;
}

html[data-theme="dark"] .approval-info-banner {
  background: rgba(30, 58, 138, 0.2);
  border-color: rgba(96, 165, 250, 0.25);
  border-left-color: #60a5fa;
}

html[data-theme="dark"] .approval-info-text {
  color: #cbd5e1;
}

/* Modern Tablo İçi Onay Aksiyon Butonları */
.btn-approval-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 6px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.btn-approval-action.btn-approve {
  background: #10b981;
  color: #ffffff;
  border-color: #059669;
}

.btn-approval-action.btn-approve:hover {
  background: #059669;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}

.btn-approval-action.btn-reject {
  background: #ef4444;
  color: #ffffff;
  border-color: #dc2626;
}

.btn-approval-action.btn-reject:hover {
  background: #dc2626;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
}

.btn-approval-action.btn-view {
  background: #f1f5f9;
  color: #334155;
  border-color: #cbd5e1;
  text-decoration: none;
}

.btn-approval-action.btn-view:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.btn-approval-action.btn-delete {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}
.btn-approval-action.btn-delete:hover {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fca5a5;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.25);
}

html[data-theme="dark"] .btn-approval-action.btn-view {
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  border-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .btn-approval-action.btn-delete {
  background: rgba(239, 68, 68, 0.15);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.3);
}

/* WhatsApp Grup Katılımcıları Banner'ı (Sohbet Üst Alanı) */
.wa-group-banner {
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 12px;
  padding: 8px 12px;
  margin: 6px 12px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  transition: all 0.2s ease;
}
.wa-group-banner:hover {
  background: rgba(37, 99, 235, 0.09);
}
html[data-theme="dark"] .wa-group-banner {
  background: rgba(37, 99, 235, 0.14);
  border-color: rgba(37, 99, 235, 0.28);
}
.wa-group-banner-info {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wa-group-banner-avatars {
  display: flex;
  align-items: center;
}
.wa-group-banner-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #2563eb;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  border: 2px solid #ffffff;
  margin-left: -7px;
}
.wa-group-banner-avatar:first-child {
  margin-left: 0;
}
html[data-theme="dark"] .wa-group-banner-avatar {
  border-color: #1e293b;
}
.wa-group-banner-text {
  font-size: 0.78rem;
  color: #1e293b;
  font-weight: 650;
}
html[data-theme="dark"] .wa-group-banner-text {
  color: #e2e8f0;
}
.wa-group-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(37, 99, 235, 0.25);
  background: #ffffff;
  color: #2563eb;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}
.wa-group-banner-btn:hover {
  background: #2563eb;
  color: #ffffff;
}
html[data-theme="dark"] .wa-group-banner-btn {
  background: #1e293b;
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
}

/* Grup Üye Listesi Kartları (Modal İçi) */
.wa-member-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(241, 245, 249, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.15s ease;
}
.wa-member-item:hover {
  background: rgba(226, 232, 240, 0.9);
}
html[data-theme="dark"] .wa-member-item {
  background: rgba(30, 41, 59, 0.6);
  border-color: rgba(255, 255, 255, 0.06);
}
html[data-theme="dark"] .wa-member-item:hover {
  background: rgba(30, 41, 59, 0.95);
}
.wa-member-item-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.wa-member-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
  position: relative;
}
.wa-member-online-indicator {
  position: absolute;
  bottom: -1px;
  right: -1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: #10b981;
}
.wa-member-online-indicator.is-offline {
  background: #94a3b8;
}
html[data-theme="dark"] .wa-member-online-indicator {
  border-color: #1e293b;
}
.wa-member-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.wa-member-name {
  font-size: 0.84rem;
  font-weight: 700;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html[data-theme="dark"] .wa-member-name {
  color: #f1f5f9;
}
.wa-member-role {
  font-size: 0.72rem;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 6px;
}
html[data-theme="dark"] .wa-member-role {
  color: #94a3b8;
}
.wa-member-direct-btn {
  padding: 5px 12px;
  border-radius: 7px;
  border: 1px solid rgba(37, 99, 235, 0.2);
  background: #2563eb;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.wa-member-direct-btn:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}

/* UYAP CANLI YAZIYOR... (TYPING INDICATOR) */
.uyap-typing-bar {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: var(--glass-surface-sm);
  backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  border-top: 1px solid var(--glass-border);
  font-size: 0.78rem;
  color: #64748b;
  font-style: italic;
  animation: fadeInTyping 0.25s ease-out;
}

html[data-theme="dark"] .uyap-typing-bar {
  background: rgba(15, 23, 42, 0.8);
  border-top-color: rgba(255, 255, 255, 0.08);
  color: #94a3b8;
}

.typing-bubble {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: rgba(37, 99, 235, 0.12);
  padding: 4px 8px;
  border-radius: 12px;
}

html[data-theme="dark"] .typing-bubble {
  background: rgba(96, 165, 250, 0.18);
}

.typing-dot {
  width: 5px;
  height: 5px;
  background: #2563eb;
  border-radius: 50%;
  animation: typingBounce 1.4s infinite ease-in-out;
}

html[data-theme="dark"] .typing-dot {
  background: #60a5fa;
}

.typing-dot:nth-child(1) { animation-delay: 0s; }
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes typingBounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
  40% { transform: translateY(-4px); opacity: 1; }
}

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

/* ==========================================================================
   ADLİNET 2.0 ULTRA-MODERN UNIFIED NAVIGATION & FLOATING CHAT WIDGET
   ========================================================================== */

/* 1. ÜST TEK BİRLEŞİK CAM MENÜ (UNIFIED GLASS NAVBAR) */
.modern-nav-unified {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 64px !important;
  padding: 0 20px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  gap: 16px !important;
  transition: all 0.25s ease !important;
}

.modern-nav-unified .nav-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.modern-nav-unified .nav-brand-logo {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  padding: 4px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}

.modern-nav-unified .nav-brand-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 8px;
}

.modern-nav-unified .nav-brand-title small {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.02em;
}

/* ORTA: Segmentli Sekmeler (Segmented Pill Controls) */
.portal-sub-nav.nav-segmented-tabs {
  position: static !important;
  background: rgba(241, 245, 249, 0.9) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  padding: 3px !important;
  border-radius: 13px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
}

.portal-sub-nav.nav-segmented-tabs::-webkit-scrollbar {
  display: none !important;
}

.nav-segmented-tabs .portal-nav-group {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-wrap: nowrap;
}

.nav-segmented-tabs .portal-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border-radius: var(--glass-radius-sm);
  border: 1px solid transparent;
  background: transparent;
  color: #475569;
  font-size: 0.82rem;
  font-weight: 650;
  cursor: pointer;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.nav-segmented-tabs .portal-nav-btn:hover {
  color: #0f172a;
  background: var(--glass-surface-sm);
}

.nav-segmented-tabs .portal-nav-btn.is-active {
  background: var(--glass-surface-lg) !important;
  color: #1d4ed8 !important;
  border-color: var(--glass-border) !important;
  box-shadow: var(--glass-shadow-sm) !important;
}

.nav-segmented-tabs .portal-nav-btn.is-active::after {
  display: none !important;
}

/* SAĞ: Modern Eylem Grubu */
.nav-actions-modern {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Belge Oluşturucu Ana Butonu */
.nav-actions-modern .btn-cta-editor {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 15px;
  border-radius: 11px;
  font-size: 0.82rem;
  font-weight: 750;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 3px 12px rgba(37, 99, 235, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  white-space: nowrap;
}

.nav-actions-modern .btn-cta-editor:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(37, 99, 235, 0.4) !important;
}

/* 2. KULLANICI PROFİL KAPSÜLÜ & AÇILIR MENÜ (POPOVER) */
.user-profile-menu-wrap {
  position: relative;
}

.user-profile-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px 12px 4px 5px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 30px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}

.user-profile-trigger:hover {
  background: #ffffff;
  border-color: #94a3b8;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.user-avatar-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e40af;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 800;
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 1px 4px rgba(37, 99, 235, 0.15);
  flex-shrink: 0;
}

.user-meta-text {
  display: flex;
  align-items: center;
  gap: 6px;
}

.user-name-text {
  font-size: 0.82rem;
  font-weight: 750;
  color: #0f172a;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-chevron {
  font-size: 0.72rem;
  color: #64748b;
  transition: transform 0.2s ease;
}

.user-profile-menu-wrap.is-open .user-chevron {
  transform: rotate(180deg);
}

/* User Popover Açılır Kartı */
.user-popover-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 290px;
  background: var(--glass-surface-lg);
  backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border-strong);
  border-radius: var(--glass-radius-lg);
  box-shadow: var(--glass-shadow-float);
  padding: 8px;
  z-index: 1000;
  animation: popoverDrop 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes popoverDrop {
  from { opacity: 0; transform: translateY(-8px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.popover-user-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(248, 250, 252, 0.8);
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.8);
  margin-bottom: 6px;
}

.popover-user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
  color: #0369a1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  border: 1px solid #7dd3fc;
  flex-shrink: 0;
}

.popover-user-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.popover-user-details strong {
  font-size: 0.88rem;
  font-weight: 750;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.popover-role-tag {
  font-size: 0.7rem;
  font-weight: 700;
  color: #2563eb;
}

.popover-discord-tag {
  font-size: 0.68rem;
  color: #64748b;
  font-family: monospace;
}

.popover-divider {
  height: 1px;
  background: rgba(226, 232, 240, 0.8);
  margin: 6px 4px;
}

.popover-group-label {
  font-size: 0.66rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
  padding: 6px 10px 3px 10px;
}

.popover-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: #1e293b;
  font-size: 0.82rem;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

.popover-item:hover {
  background: #f1f5f9;
  color: #0f172a;
  transform: translateX(2px);
}

.popover-item-icon {
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  flex-shrink: 0;
}

.popover-item-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.popover-item-title {
  font-size: 0.82rem;
  font-weight: 650;
  color: #0f172a;
}

.popover-item-sub {
  font-size: 0.68rem;
  color: #64748b;
}

.popover-item-danger {
  color: #dc2626;
}

.popover-item-danger .popover-item-title {
  color: #dc2626;
}

.popover-item-danger:hover {
  background: #fef2f2;
}

/* 3. SAĞ ALT SOHBET BALONCUĞU (FLOATING ACTION BUTTON - FAB) */
.uyap-chat-fab-wrap {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99990;
}

.uyap-chat-fab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 20px 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 50%, #3b82f6 100%);
  color: #ffffff;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.86rem;
  font-weight: 750;
  cursor: pointer;
  box-shadow: 0 10px 28px -4px rgba(37, 99, 235, 0.45), 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}

.uyap-chat-fab:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 14px 35px -4px rgba(37, 99, 235, 0.55), 0 6px 14px rgba(0, 0, 0, 0.15);
}

.uyap-chat-fab:active {
  transform: translateY(0) scale(0.98);
}

.uyap-chat-fab.is-active {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.35);
}

.fab-icon-inner {
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.fab-badge-counter {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #ef4444;
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 800;
  min-width: 22px;
  height: 22px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.6);
  animation: fabBadgePulse 2s infinite ease-in-out;
}

@keyframes fabBadgePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); box-shadow: 0 0 14px rgba(239, 68, 68, 0.9); }
}

.fab-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  margin-left: 2px;
  animation: fabDotBlink 2.5s infinite ease-in-out;
}

@keyframes fabDotBlink {
  0%, 100% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
}

/* 4. SAĞ ALT SOHBET YÜZEN PENCERESİ (WHATSAPP / INSTAGRAM UI) */
.uyap-floating-widget {
  position: fixed !important;
  bottom: 88px !important;
  right: 24px !important;
  width: 440px !important;
  height: 640px !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 105px) !important;
  z-index: 99991 !important;
  display: none !important; /* VARSAYILAN OLARAK KAPALI */
  flex-direction: column !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #efeae2 !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 20px 60px -10px rgba(15, 23, 42, 0.28), 0 0 0 1px rgba(0, 0, 0, 0.04) !important;
  animation: floatWidgetIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transition: width 0.28s cubic-bezier(0.16, 1, 0.3, 1), 
              height 0.28s cubic-bezier(0.16, 1, 0.3, 1), 
              top 0.28s cubic-bezier(0.16, 1, 0.3, 1), 
              right 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              bottom 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              left 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.uyap-floating-widget.is-open {
  display: flex !important; /* YALNIZCA AÇIKKEN GÖRÜNÜR */
}

@keyframes floatWidgetIn {
  from { opacity: 0; transform: translateY(20px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Büyütülmüş (Maximized) Mod: WhatsApp Web Tarzı İki Sütunlu Masaüstü Görünüm */
.uyap-floating-widget.is-maximized {
  width: min(94vw, 1180px) !important;
  height: min(88vh, 880px) !important;
  max-height: 88vh !important;
  top: 50% !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.45), 0 0 0 1000px rgba(15, 23, 42, 0.45) !important;
}

.uyap-floating-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

/* 4.1. WHATSAPP & INSTAGRAM ÜST BAŞLIKLARI (HEADERS) */
.wa-header, .wa-list-header {
  padding: 10px 16px !important;
  background: #f0f2f5 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
  min-height: 60px !important;
  box-sizing: border-box !important;
}

.wa-header-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 !important;
}

/* Sleek WhatsApp/Instagram Chevron Geri Dön Butonu */
.wa-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: #54656f !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.wa-back-btn:hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #111b21 !important;
  transform: translateX(-2px) !important;
}

.wa-header-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: #dbeafe !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.25rem !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.wa-header-info {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  flex: 1 !important;
}

.wa-header-name {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #111b21 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  letter-spacing: -0.01em !important;
}

.wa-header-sub {
  font-size: 0.72rem !important;
  color: #667781 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-top: 1px !important;
}

.wa-online-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  display: inline-block !important;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.7) !important;
}

.wa-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}

.wa-action-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: #54656f !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.88rem !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.wa-action-btn:hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #111b21 !important;
}

.wa-close-btn:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

/* Liste Başlığı (Chats Mode) */
.wa-list-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.wa-list-app-icon {
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.wa-list-headings {
  display: flex !important;
  flex-direction: column !important;
}

.wa-list-title {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #111b21 !important;
  letter-spacing: -0.01em !important;
}

.wa-e2ee-tag {
  font-size: 0.68rem !important;
  color: #059669 !important;
  font-weight: 700 !important;
}

/* 4.2. VIEW TOGGLING (KOMPAKT vs MAXIMIZED MODLAR) */
/* Kompakt mod artık EKRAN GENİSLİĞİNE değil, sadece "is-maximized" durumuna bağlıdır.
   Önceden masaüstünde (>=769px) widget'a 860px genişlik dayatılıyor ve iki sütun
   her zaman açık tutuluyordu; bu yüzden kompakt mod tam ekran gibi görünüyordu.
   Artık: kompakt = 440x640 tek sütun (liste <-> sohbet), büyütülmüş = iki sütun. */

/* Kompakt Modda Aktif Sohbet Ekranı Görünümü */
  .uyap-floating-widget:not(.is-maximized).view-chat #waHeaderChat {
    display: flex !important;
  }
  .uyap-floating-widget:not(.is-maximized).view-chat #waHeaderList {
    display: none !important;
  }
  .uyap-floating-widget:not(.is-maximized).view-chat .uyap-sidebar {
    display: none !important;
  }
  .uyap-floating-widget:not(.is-maximized).view-chat .uyap-main-chat {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Kompakt Modda Sohbet Listesi (Chats) Görünümü */
  .uyap-floating-widget:not(.is-maximized).view-list #waHeaderChat {
    display: none !important;
  }
  .uyap-floating-widget:not(.is-maximized).view-list #waHeaderList {
    display: flex !important;
  }
  .uyap-floating-widget:not(.is-maximized).view-list .uyap-sidebar {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 !important;
    border-right: none !important;
  }
  .uyap-floating-widget:not(.is-maximized).view-list .uyap-main-chat {
    display: none !important;
  }

/* Büyütülmüş (Maximized) Mod: Masaüstü WhatsApp Web gibi iki sütun yan yana */
.uyap-floating-widget.is-maximized #waHeaderChat {
  display: flex !important;
}
.uyap-floating-widget.is-maximized #waHeaderList {
  display: none !important;
}
.uyap-floating-widget.is-maximized #btnBackToContacts {
  display: none !important; /* Masaüstünde yan yana olduğu için geri butonuna gerek yok */
}
.uyap-floating-widget.is-maximized .uyap-sidebar {
  display: flex !important;
  width: 360px !important;
  min-width: 320px !important;
  max-width: 380px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  flex-shrink: 0 !important;
}
.uyap-floating-widget.is-maximized .uyap-main-chat {
  display: flex !important;
  flex: 1 !important;
  min-width: 0 !important;
}

/* 4.3. SOHBET LİSTESİ (SIDEBAR & SEARCH & CHIPS) */
.uyap-sidebar {
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.wa-search-box {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f0f2f5 !important;
  border-radius: 10px !important;
  padding: 6px 12px !important;
}

.wa-search-icon {
  font-size: 0.85rem !important;
  opacity: 0.6 !important;
}

.wa-search-box input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 0.82rem !important;
  width: 100% !important;
  color: #111b21 !important;
  padding: 0 !important;
}

.wa-folder-chips {
  display: flex !important;
  padding: 6px 12px !important;
  gap: 6px !important;
  background: #ffffff !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.wa-folder-chip {
  padding: 5px 12px !important;
  border-radius: 16px !important;
  border: 1px solid transparent !important;
  background: #f0f2f5 !important;
  color: #54656f !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: all 0.15s ease !important;
}

.wa-folder-chip:hover {
  background: #e2e8f0 !important;
  color: #111b21 !important;
}

.wa-folder-chip.is-active {
  background: #e7fce3 !important;
  color: #008069 !important;
  border-color: rgba(0, 168, 132, 0.3) !important;
}

/* 4.4. MESAJ AKIŞI (MESSAGES CONTAINER & BUBBLES) */
.uyap-messages-container {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  /* Resmî güvenlik kâğıdı dokusu: ince çapraz tarama çizgileri.
     Desen kasıtlı olarak çok soluk - okunabilirliği hiç bozmaz,
     yüzeye derinlik verir ama oyuncak gibi görünmez. */
  background-color: #ece5dd !important;
  background-image:
    repeating-linear-gradient(45deg, rgba(120, 113, 108, 0.045) 0 1px, transparent 1px 9px),
    repeating-linear-gradient(-45deg, rgba(120, 113, 108, 0.045) 0 1px, transparent 1px 9px),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.55), transparent 60%) !important;
  background-repeat: repeat, repeat, no-repeat !important;
}

.msg-outgoing .uyap-msg-bubble {
  background: #d9fdd3 !important;
  color: #111b21 !important;
  border-radius: 12px 12px 2px 12px !important;
  box-shadow: 0 1px 2px rgba(11, 20, 26, 0.12) !important;
  border: none !important;
}

.msg-incoming .uyap-msg-bubble {
  background: #ffffff !important;
  color: #111b21 !important;
  border-radius: 12px 12px 12px 2px !important;
  box-shadow: 0 1px 2px rgba(11, 20, 26, 0.12) !important;
  border: none !important;
}

.msg-outgoing .uyap-msg-header {
  color: #008069 !important;
}

.msg-outgoing .uyap-msg-e2ee {
  background: rgba(0, 168, 132, 0.12) !important;
  color: #008069 !important;
}

/* Canlı Yazıyor Çubuğu */
.uyap-typing-bar {
  padding: 4px 16px 6px 16px !important;
  display: none;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(239, 234, 226, 0.95) !important;
  font-size: 0.74rem !important;
  color: #008069 !important;
  font-weight: 600 !important;
}

.uyap-typing-bar.is-typing {
  display: flex !important;
}

.typing-dot {
  width: 5px !important;
  height: 5px !important;
  background: #008069 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  animation: typingBounce 1.4s infinite ease-in-out !important;
}

/* 4.5. WHATSAPP CAPSULE COMPOSER (GİRİŞ KAPSÜLÜ & BUTONLAR) */
.wa-composer-area {
  padding: 8px 12px !important;
  background: #f0f2f5 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}

.wa-composer-pill {
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
}

.wa-attach-dropdown {
  position: relative !important;
  display: inline-flex !important;
}

.wa-composer-icon-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: #54656f !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.wa-composer-icon-btn:hover {
  background: rgba(0, 0, 0, 0.08) !important;
  color: #111b21 !important;
}

.wa-textarea {
  flex: 1 !important;
  min-height: 40px !important;
  max-height: 110px !important;
  border-radius: 20px !important;
  border: none !important;
  background: #ffffff !important;
  color: #111b21 !important;
  padding: 10px 16px !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
  resize: none !important;
  outline: none !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
}

.wa-textarea:focus {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12) !important;
}

/* WhatsApp Dairesel Yeşil Gönder Butonu */
.wa-send-circle-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: none !important;
  background: #00a884 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 168, 132, 0.4) !important;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1) !important;
  padding: 0 !important;
}

.wa-send-circle-btn:hover {
  background: #029071 !important;
  transform: scale(1.06) !important;
  box-shadow: 0 4px 12px rgba(0, 168, 132, 0.5) !important;
}

.wa-send-circle-btn:active {
  transform: scale(0.96) !important;
}

/* WhatsApp Ataç Açılır Menüsü */
.wa-attach-menu {
  position: absolute !important;
  bottom: 48px !important;
  left: 0 !important;
  width: 250px !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
  padding: 6px !important;
  z-index: 100 !important;
  display: none !important;
  flex-direction: column !important;
  gap: 3px !important;
  animation: floatWidgetIn 0.15s ease-out !important;
}

.wa-attach-menu.is-open {
  display: flex !important;
}

.wa-attach-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  text-align: left !important;
  width: 100% !important;
  transition: background 0.12s ease !important;
}

.wa-attach-item:hover {
  background: #f0f2f5 !important;
}

.wa-attach-item-icon {
  font-size: 1.25rem !important;
  flex-shrink: 0 !important;
}

.wa-attach-item-text {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.wa-attach-item-text strong {
  font-size: 0.8rem !important;
  color: #111b21 !important;
  font-weight: 700 !important;
}

.wa-attach-item-text small {
  font-size: 0.68rem !important;
  color: #667781 !important;
}

/* 5. KOYU TEMA UYARLAMALARI (DARK MODE OVERRIDES) */
html[data-theme="dark"] .modern-nav-unified {
  background: rgba(10, 16, 28, 0.85) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .modern-nav-unified .nav-brand-title {
  color: #ffffff !important;
}

html[data-theme="dark"] .nav-segmented-tabs {
  background: rgba(15, 23, 42, 0.65) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .nav-segmented-tabs .portal-nav-btn {
  color: #94a3b8 !important;
}

html[data-theme="dark"] .nav-segmented-tabs .portal-nav-btn:hover {
  color: #f1f5f9 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

html[data-theme="dark"] .nav-segmented-tabs .portal-nav-btn.is-active {
  background: rgba(30, 41, 59, 0.95) !important;
  color: #60a5fa !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

html[data-theme="dark"] .user-profile-trigger {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-theme="dark"] .user-profile-trigger:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-theme="dark"] .user-name-text {
  color: #f8fafc !important;
}

html[data-theme="dark"] .user-popover-dropdown {
  background: var(--glass-surface-lg) !important;
  border-color: var(--glass-border-strong) !important;
  box-shadow: var(--glass-shadow-float) !important;
}

html[data-theme="dark"] .popover-user-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .popover-user-details strong {
  color: #f8fafc !important;
}

html[data-theme="dark"] .popover-divider {
  background: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .popover-item:hover {
  background: rgba(255, 255, 255, 0.07) !important;
}

html[data-theme="dark"] .popover-item-title {
  color: #f1f5f9 !important;
}

html[data-theme="dark"] .popover-item-danger:hover {
  background: rgba(239, 68, 68, 0.14) !important;
}

/* WHATSAPP DARK MODE */
html[data-theme="dark"] .uyap-floating-widget {
  background: #0b141a !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .wa-header, 
html[data-theme="dark"] .wa-list-header {
  background: #202c33 !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .wa-header-name,
html[data-theme="dark"] .wa-list-title {
  color: #e9edef !important;
}

html[data-theme="dark"] .wa-header-sub {
  color: #8696a0 !important;
}

html[data-theme="dark"] .wa-back-btn,
html[data-theme="dark"] .wa-action-btn,
html[data-theme="dark"] .wa-composer-icon-btn {
  color: #aebac1 !important;
}

html[data-theme="dark"] .wa-back-btn:hover,
html[data-theme="dark"] .wa-action-btn:hover,
html[data-theme="dark"] .wa-composer-icon-btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .wa-header-avatar {
  background: #2a3942 !important;
}

html[data-theme="dark"] .uyap-sidebar {
  background: #111b21 !important;
  border-right-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .wa-search-box {
  background: #202c33 !important;
}

html[data-theme="dark"] .wa-search-box input {
  color: #e9edef !important;
}

html[data-theme="dark"] .wa-folder-chips {
  background: #111b21 !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .wa-folder-chip {
  background: #202c33 !important;
  color: #8696a0 !important;
}

html[data-theme="dark"] .wa-folder-chip:hover {
  background: #2a3942 !important;
  color: #e9edef !important;
}

html[data-theme="dark"] .wa-folder-chip.is-active {
  background: rgba(0, 168, 132, 0.2) !important;
  color: #00a884 !important;
  border-color: rgba(0, 168, 132, 0.4) !important;
}

html[data-theme="dark"] .uyap-recipient-item:hover {
  background: #202c33 !important;
}

html[data-theme="dark"] .uyap-recipient-item.is-active {
  background: #2a3942 !important;
}

html[data-theme="dark"] .uyap-messages-container {
  background-color: #0b141a !important;
  background-image:
    repeating-linear-gradient(45deg, rgba(134, 150, 160, 0.05) 0 1px, transparent 1px 9px),
    repeating-linear-gradient(-45deg, rgba(134, 150, 160, 0.05) 0 1px, transparent 1px 9px),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.04), transparent 60%) !important;
  background-repeat: repeat, repeat, no-repeat !important;
}

html[data-theme="dark"] .msg-outgoing .uyap-msg-bubble {
  background: #005c4b !important;
  color: #e9edef !important;
}

html[data-theme="dark"] .msg-incoming .uyap-msg-bubble {
  background: #202c33 !important;
  color: #e9edef !important;
}

html[data-theme="dark"] .msg-outgoing .uyap-msg-header {
  color: #34d399 !important;
}

html[data-theme="dark"] .msg-incoming .uyap-msg-header {
  color: #8696a0 !important;
}

html[data-theme="dark"] .msg-incoming .uyap-doc-attachment-card,
html[data-theme="dark"] .msg-incoming .uyap-file-attachment-card {
  background: #111b21 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-theme="dark"] .wa-composer-area {
  background: #202c33 !important;
  border-top-color: rgba(255, 255, 255, 0.06) !important;
}

html[data-theme="dark"] .wa-textarea {
  background: #2a3942 !important;
  color: #e9edef !important;
}

html[data-theme="dark"] .wa-attach-menu {
  background: #233138 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

html[data-theme="dark"] .wa-attach-item:hover {
  background: #182229 !important;
}

html[data-theme="dark"] .wa-attach-item-text strong {
  color: #e9edef !important;
}

html[data-theme="dark"] .wa-attach-item-text small {
  color: #8696a0 !important;
}

html[data-theme="dark"] .uyap-typing-bar {
  background: #0b141a !important;
  color: #00a884 !important;
}

html[data-theme="dark"] .uyap-staged-tray {
  background: #111b21 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .staged-card {
  background: #202c33 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* 6. DUYARLI EKRANLAR (RESPONSIVE) */
@media (max-width: 960px) {
  .modern-nav-unified {
    height: auto !important;
    padding: 10px 14px !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .portal-sub-nav.nav-segmented-tabs {
    order: 3;
    width: 100% !important;
    overflow-x: auto;
    justify-content: flex-start;
  }
  .nav-segmented-tabs .portal-nav-group {
    width: 100%;
    justify-content: flex-start;
  }
  .uyap-floating-widget {
    right: 12px !important;
    bottom: 80px !important;
    width: calc(100vw - 24px) !important;
    height: 72vh !important;
  }
  .uyap-chat-fab-wrap {
    bottom: 16px;
    right: 16px;
  }
  .fab-label-text {
    display: none;
  }
}

.portal-card {
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
}

html[data-theme="dark"] .portal-card {
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.portal-table th {
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.72rem !important;
  color: #64748b !important;
  padding: 12px 14px !important;
}

.portal-table td {
  padding: 12px 14px !important;
  vertical-align: middle;
}

.portal-table tbody tr {
  transition: background 0.12s ease;
}

.portal-table tbody tr:hover {
  background: rgba(37, 99, 235, 0.025);
}

html[data-theme="dark"] .portal-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}


@page { size: A4 portrait; margin: 0; }
@media print {
  body {
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000000 !important;
  }
  .top-nav, 
  .control-panel, 
  .preview-header, 
  .preview-format-bar, 
  #previewToolbar, 
  .toast, 
  .modal-overlay,
  .portal-subnav,
  #portalSubNav,
  .editor-return-bar,
  #editorReturnBar,
  .portal-view,
  #viewDashboard,
  #viewCases,
  #viewRequests,
  #viewPowers,
  .action-dock,
  #uyapChatFabWrap,
  #uyapModal,
  .uyap-floating-widget,
  .user-popover-dropdown,
  .preview-row-actions,
  .preview-row-drag,
  .preview-row-delete,
  .preview-row-inline-del { 
    display: none !important; 
    visibility: hidden !important; 
    height: 0 !important; 
    margin: 0 !important; 
    padding: 0 !important; 
  }
  #viewEditor {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .app-shell, .preview-area {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    width: 100% !important;
    min-height: 0 !important;
    box-shadow: none !important;
  }
  .document-page {
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    border: none !important;
    background: #ffffff !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }
  .document-page [data-edit]:hover { outline: 0 !important; }
  .document-page, .document-page * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}


/* #############################################################################
   ADLINET - "RESMI CAM" SOHBET YENIDEN TASARIMI (iOS 27 Liquid Glass dili)
   ----------------------------------------------------------------------------
   Kapsam: SADECE sohbet penceresi (.uyap-floating-widget altindaki her seici).
   Sohbet disi hicbir yuzey, belge, portal veya modal etkilenmez.

   NASIL CALISIR: Bu dosyanin sonunda, tum eski sohbet kurallarindan SONRA gelir.
   Seciciler ".uyap-floating-widget" ile kapsandigi icin daha yuksek specificity
   tasir ve sohbet penceresi disina sizmaz. Bu blogu silmek eski gorunume doner.

   HEDEF: WhatsApp gorusunu (yesil gonder butonu, yesil balon, kuyruklu koseler,
   bej duvar kagidi, yesil klasor rozeti) kaldirip Signal/Telegram tarafi bir
   kurumsal cam yuzey diline gecirmek. Islev, sifreleme ve okundu mantigi
   DEGISTIRILMEMISTIR - sadece gorunur.
   ############################################################################# */

/* --- 1) SOHBET KAMU TOKENLARI ------------------------------------------------ */
html .uyap-floating-widget {
  --lg-accent: #0369a1;
  --lg-accent-bright: #0ea5e9;
  /* Camgöbeği tintli yüzeylerin ÜZERİNDE okunacak metin (koyu lacivert) */
  --lg-accent-ink: #075985;
  --lg-accent-tint: rgba(14, 165, 233, 0.13);
  --lg-accent-tint-strong: rgba(14, 165, 233, 0.22);
  --lg-ink: #0d1b26;
  --lg-ink-soft: #55687a;
  --lg-ink-faint: #5f7180;
  --lg-glass: rgba(255, 255, 255, 0.55);
  --lg-glass-strong: rgba(255, 255, 255, 0.74);
  --lg-hairline: rgba(255, 255, 255, 0.72);
  --lg-rim: rgba(125, 195, 235, 0.40);
  --lg-shadow: 0 1px 2px rgba(13, 27, 38, 0.05), 0 10px 30px -12px rgba(13, 27, 38, 0.14);
  --lg-spring: cubic-bezier(0.34, 1.42, 0.64, 1);

  /* Cam kenar ışığı: üst kenarda keskin specular, alt kenarda yumuşak geri sekme */
  --lg-specular: inset 0 1px 0 rgba(255, 255, 255, 0.88), inset 0 -1px 0 rgba(255, 255, 255, 0.22);
  --lg-blur: blur(30px) saturate(190%);
}

html[data-theme="dark"] .uyap-floating-widget {
  --lg-accent: #7dd3fc;
  --lg-accent-bright: #38bdf8;
  /* Koyu temada giden balon koyu camgobegi tintlidir; ustunde okunacak metin
     acik mavi olmali (#38bdf8 4.00:1 veriyordu, #7dd3fc 5.19:1). */
  --lg-accent-ink: #7dd3fc;
  --lg-accent-tint: rgba(56, 189, 248, 0.15);
  --lg-accent-tint-strong: rgba(56, 189, 248, 0.26);
  --lg-ink: #e9f2f8;
  --lg-ink-soft: #a0b3c1;
  --lg-ink-faint: #7f92a1;
  --lg-glass: rgba(18, 31, 41, 0.58);
  --lg-glass-strong: rgba(18, 31, 41, 0.80);
  --lg-hairline: rgba(255, 255, 255, 0.10);
  --lg-rim: rgba(125, 211, 252, 0.20);
  --lg-shadow: 0 1px 2px rgba(0, 0, 0, 0.45), 0 12px 34px -12px rgba(0, 0, 0, 0.60);
  --lg-specular: inset 0 1px 0 rgba(255, 255, 255, 0.14), inset 0 -1px 0 rgba(255, 255, 255, 0.05);
}

/* --- 2) PENCERE KABUĞU ------------------------------------------------------- */
html .uyap-floating-widget {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.82), rgba(233, 242, 250, 0.66)) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 24px !important;
  box-shadow: var(--lg-shadow), var(--lg-specular) !important;
  color: var(--lg-ink) !important;
}

html[data-theme="dark"] .uyap-floating-widget {
  background: linear-gradient(160deg, rgba(23, 37, 48, 0.92), rgba(14, 24, 33, 0.86)) !important;
  border-color: var(--lg-rim) !important;
}

html .uyap-floating-widget.is-maximized {
  /* SORUN: burada yalnızca gölge override ediliyordu; genişlik/yükseklik
     .uyap-floating-widget'in 440px x 640px temel kuralında kalıyordu.
     "html " onekli kurallar özgüllükte bir fazla olduğundan, temel kural
     kazanıyor ve panel büyümüyordu; sidebar 360px alınca sohbet 78px'e
     eziliyor, yazma alanı kullanılamaz hale geliyordu.
     ÇÖZÜM: maksimize ölçüleri de burada, aynı özgüllükle tanımlanır. */
  width: min(94vw, 1180px) !important;
  height: min(88vh, 880px) !important;
  max-width: min(94vw, 1180px) !important;
  max-height: min(88vh, 880px) !important;
  top: 50% !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: 0 40px 100px -20px rgba(6, 14, 20, 0.55), 0 0 0 1000px rgba(8, 16, 23, 0.55), var(--lg-specular) !important;
}

html .uyap-floating-widget .uyap-floating-card {
  border-radius: 24px !important;
}

/* --- 3) BAŞLIKLAR (CAM ŞERİT) ------------------------------------------------ */
html .uyap-floating-widget .wa-header,
html .uyap-floating-widget .wa-list-header,
html .uyap-floating-widget .uyap-chat-header {
  background: var(--lg-glass-strong) !important;
  backdrop-filter: var(--lg-blur) !important;
  -webkit-backdrop-filter: var(--lg-blur) !important;
  border-bottom: 1px solid var(--lg-hairline) !important;
  box-shadow: var(--lg-specular) !important;
  color: var(--lg-ink) !important;
  padding: 12px 16px !important;
}

html .uyap-floating-widget .wa-header-name,
html .uyap-floating-widget .wa-list-title,
html .uyap-floating-widget .uyap-head-title-wrap h3,
html .uyap-floating-widget .uyap-active-name {
  color: var(--lg-ink) !important;
  letter-spacing: -0.01em !important;
}

html .uyap-floating-widget .wa-header-sub,
html .uyap-floating-widget .uyap-active-grade,
html .uyap-floating-widget .uyap-recipient-sub {
  color: var(--lg-ink-soft) !important;
}

html .uyap-floating-widget .wa-back-btn,
html .uyap-floating-widget .wa-action-btn,
html .uyap-floating-widget .wa-composer-icon-btn,
html .uyap-floating-widget .wa-close-btn {
  color: var(--lg-ink-soft) !important;
  transition: background 0.18s var(--lg-spring), color 0.18s var(--lg-spring) !important;
}

html .uyap-floating-widget .wa-back-btn:hover,
html .uyap-floating-widget .wa-action-btn:hover,
html .uyap-floating-widget .wa-composer-icon-btn:hover {
  background: var(--lg-accent-tint) !important;
  color: var(--lg-accent) !important;
}

/* --- 4) KİME AİT ODA KUTUSU -------------------------------------------------- */
html .uyap-floating-widget .wa-header-avatar,
html .uyap-floating-widget .uyap-active-avatar {
  border: 1px solid var(--lg-rim) !important;
  box-shadow: var(--lg-specular) !important;
}

/* --- 5) SOHBET LISTESI PANELİ ------------------------------------------------ */
html .uyap-floating-widget .uyap-sidebar {
  background: var(--lg-glass) !important;
  backdrop-filter: var(--lg-blur) !important;
  -webkit-backdrop-filter: var(--lg-blur) !important;
  border-right: 1px solid var(--lg-hairline) !important;
}

html .uyap-floating-widget .wa-search-box input {
  background: var(--lg-glass-strong) !important;
  color: var(--lg-ink) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 999px !important;
  box-shadow: var(--lg-specular) !important;
}

html .uyap-floating-widget .wa-search-box input::placeholder {
  color: var(--lg-ink-faint) !important;
}

html .uyap-floating-widget .wa-search-box input:focus {
  border-color: var(--lg-accent) !important;
  box-shadow: var(--lg-specular), 0 0 0 3px var(--lg-accent-tint) !important;
}

/* --- 6) KLASÖR ÇİPLERİ (Gelenler / Gidenler) -------------------------------- */
html .uyap-floating-widget .wa-folder-chips {
  background: transparent !important;
  border-bottom: 1px solid var(--lg-hairline) !important;
}

html .uyap-floating-widget .wa-folder-chip {
  background: var(--lg-glass-strong) !important;
  color: var(--lg-ink-soft) !important;
  border: 1px solid var(--lg-hairline) !important;
  border-radius: 999px !important;
  box-shadow: var(--lg-specular) !important;
  font-weight: 700 !important;
  transition: background 0.18s var(--lg-spring), color 0.18s var(--lg-spring) !important;
}

html .uyap-floating-widget .wa-folder-chip:hover {
  background: var(--lg-accent-tint) !important;
  color: var(--lg-accent) !important;
}

/* WhatsApp'ın yeşil "aktif" rozeti yerine camgöbeği vurgu */
html .uyap-floating-widget .wa-folder-chip.is-active {
  background: var(--lg-accent-tint-strong) !important;
  color: var(--lg-accent) !important;
  border-color: var(--lg-rim) !important;
}

/* --- 7) BÖLÜM BAŞLIKLARI (Signal tarzı ince büyük harf) ---------------------- */
html .uyap-floating-widget .uyap-section-header {
  color: var(--lg-ink-faint) !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.10em !important;
  padding: 12px 12px 6px 12px !important;
}

html .uyap-floating-widget .active-count-badge {
  background: var(--lg-accent-tint) !important;
  color: var(--lg-accent) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 999px !important;
  padding: 2px 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

/* --- 8) MUHATAP SATIRLARI ---------------------------------------------------- */
html .uyap-floating-widget .uyap-recipient-item {
  border-radius: 16px !important;
  padding: 10px 12px !important;
  border: 1px solid transparent !important;
  transition: background 0.2s var(--lg-spring), border-color 0.2s var(--lg-spring),
              transform 0.2s var(--lg-spring) !important;
}

html .uyap-floating-widget .uyap-recipient-item:hover {
  background: var(--lg-glass-strong) !important;
  border-color: var(--lg-hairline) !important;
  box-shadow: var(--lg-specular) !important;
}

html .uyap-floating-widget .uyap-recipient-item.is-active {
  background: var(--lg-accent-tint) !important;
  border-color: var(--lg-rim) !important;
  box-shadow: var(--lg-specular) !important;
}

html .uyap-floating-widget .uyap-recipient-avatar {
  border-radius: 14px !important;
  background: var(--lg-glass-strong) !important;
  border: 1px solid var(--lg-hairline) !important;
  box-shadow: var(--lg-specular) !important;
}

html .uyap-floating-widget .uyap-recipient-name {
  color: var(--lg-ink) !important;
  font-weight: 700 !important;
}

html .uyap-floating-widget .uyap-recipient-snippet,
html .uyap-floating-widget .wa-sub-desc {
  color: var(--lg-ink-soft) !important;
}

html .uyap-floating-widget .presence-text-online {
  color: var(--lg-accent) !important;
}

html .uyap-floating-widget .presence-text-offline {
  color: var(--lg-ink-faint) !important;
}

html .uyap-floating-widget .uyap-recipient-unread-dot {
  background: var(--lg-accent) !important;
  box-shadow: 0 0 0 3px var(--lg-accent-tint) !important;
}

/* --- 9) MESAJ AKIŞI ZEMİNİ (bej duvar kâğıdı yerine nötr camgöbeği) --------- */
html .uyap-floating-widget .uyap-messages-container {
  background-color: #e8eff6 !important;
  background-image:
    radial-gradient(120% 80% at 50% -10%, rgba(255, 255, 255, 0.92), transparent 60%),
    repeating-linear-gradient(45deg, rgba(13, 27, 38, 0.030) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(-45deg, rgba(13, 27, 38, 0.030) 0 1px, transparent 1px 11px) !important;
}

html[data-theme="dark"] .uyap-floating-widget .uyap-messages-container {
  background-color: #0c141c !important;
  background-image:
    radial-gradient(120% 80% at 50% -10%, rgba(56, 189, 248, 0.10), transparent 62%),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 11px) !important;
}

/* --- 10) BALONLAR (kuyruk yok, düzgün sürekli köşe) --------------------------
   GENİŞLİK DÜZELTMESİ: Satır %78, balon %84 idi; ikisi çarpıldığı için
   gerçek tavan %65'e düşüyordu ve metin çok dar bir sütunda bölünüyordu.
   Artık tavan tek yerde (satırda) belirleniyor: %88.
   Kısa mesajlar yine içeriğine göre küçük kalıyor (align-items flex-start/end). */
html .uyap-floating-widget .uyap-msg-row {
  max-width: 88% !important;
}

html .uyap-floating-widget .uyap-msg-bubble {
  border-radius: 18px !important;
  border: 1px solid var(--lg-hairline) !important;
  box-shadow: var(--lg-specular), 0 1px 2px rgba(13, 27, 38, 0.06) !important;
  backdrop-filter: blur(14px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
  max-width: 100% !important;
}

/* Giden mesaj: camgöbeği tintli cam (beyaz üstüne mavi metin = yüksek kontrast) */
html .uyap-floating-widget .msg-outgoing .uyap-msg-bubble {
  background: linear-gradient(150deg, rgba(14, 165, 233, 0.26), rgba(2, 132, 199, 0.30)) !important;
  color: var(--lg-ink) !important;
  border-color: rgba(125, 195, 235, 0.42) !important;
}

/* Gelen mesaj: nötr cam */
html .uyap-floating-widget .msg-incoming .uyap-msg-bubble {
  background: rgba(255, 255, 255, 0.86) !important;
  color: var(--lg-ink) !important;
  border-color: var(--lg-hairline) !important;
}

html[data-theme="dark"] .uyap-floating-widget .msg-incoming .uyap-msg-bubble {
  background: rgba(232, 242, 249, 0.92) !important;
  color: #0d1b26 !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

/* Ardışık mesajlarda yalnızca temas eden köşe yumuşatılır (kuyruk değil) */
html .uyap-floating-widget .msg-outgoing .uyap-msg-row + .msg-outgoing .uyap-msg-bubble {
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 18px !important;
}

html .uyap-floating-widget .msg-incoming .uyap-msg-row + .msg-incoming .uyap-msg-bubble {
  border-top-left-radius: 8px !important;
  border-bottom-left-radius: 18px !important;
}

html .uyap-floating-widget .uyap-msg-header {
  color: var(--lg-ink-soft) !important;
  font-weight: 700 !important;
}

html .uyap-floating-widget .uyap-msg-time {
  color: var(--lg-ink-soft) !important;
  opacity: 0.85 !important;
}

/* Giden balonun içi camgöbeği tintlidir; zaman damgası, gönderen adı ve
   şifre rozeti bu yüzden koyu lacivert (--lg-accent-ink) olmalı. */
html .uyap-floating-widget .msg-outgoing .uyap-msg-time,
html .uyap-floating-widget .msg-outgoing .uyap-msg-header,
html .uyap-floating-widget .msg-outgoing .uyap-msg-e2ee {
  color: var(--lg-accent-ink) !important;
}

/* Şifreli ileti rozeti: WhatsApp yeşili yerine camgöbeği */
html .uyap-floating-widget .uyap-msg-e2ee {
  background: var(--lg-accent-tint) !important;
  color: var(--lg-accent) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

/* Giden balonda rozet zeminini açık cam yap, metni yukarıdaki koyu ton alsın */
html .uyap-floating-widget .msg-outgoing .uyap-msg-e2ee {
  background: rgba(255, 255, 255, 0.55) !important;
  border-color: var(--lg-rim) !important;
}

/* Koyu temada giden balon koyu camgöbeği tintlidir; rozet zemininde beyaz
   metin gerekir, aksi halde açık mavi üstüne açık mazi okunmaz olur. */
html[data-theme="dark"] .uyap-floating-widget .msg-outgoing .uyap-msg-e2ee {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
}

/* --- 11) OKUNDU GÖSTERGESİ (kalsın, sade ve kurumsal) ---------------------- */
html .uyap-floating-widget .uyap-msg-ticks {
  font-size: 0.66rem !important;
  font-weight: 800 !important;
  letter-spacing: -1.5px !important;
  opacity: 0.9 !important;
}

/* Giden balon camgöbeği tintli olduğu için üstünde koyu lacivert okunur */
html .uyap-floating-widget .msg-outgoing .uyap-msg-ticks.is-read {
  color: var(--lg-accent-ink) !important;
}

html .uyap-floating-widget .msg-outgoing .uyap-msg-ticks.is-pending {
  color: var(--lg-accent-ink) !important;
  opacity: 0.65 !important;
}

/* Gelen balon HER iki temada da açık cam yüzeydir; içindeki zaman damgası ve
   tikler bu yüzden daima koyu mürekkep olmalı (koyu temada açık renk görünmez).
   #55687a 4.31:1 veriyordu; #3f4e5a ile AA'nın üstüne çıkıldı. */
html .uyap-floating-widget .msg-incoming .uyap-msg-ticks.is-read,
html .uyap-floating-widget .msg-incoming .uyap-msg-ticks.is-pending,
html .uyap-floating-widget .msg-incoming .uyap-msg-time,
html .uyap-floating-widget .msg-incoming .uyap-msg-header {
  color: #3f4e5a !important;
}

html .uyap-floating-widget .msg-incoming .uyap-msg-ticks.is-pending {
  opacity: 0.7 !important;
}

/* --- 12) YAZARAK GÖSTERGESİ -------------------------------------------------- */
html .uyap-floating-widget .uyap-typing-bar {
  background: transparent !important;
  color: var(--lg-accent) !important;
  font-weight: 700 !important;
}

html .uyap-floating-widget .typing-dot {
  background: var(--lg-accent) !important;
  width: 6px !important;
  height: 6px !important;
}

html .uyap-floating-widget .typing-bubble {
  background: var(--lg-glass-strong) !important;
  border: 1px solid var(--lg-hairline) !important;
  border-radius: 999px !important;
}

/* --- 13) YAZMA ALANI (CAM KAPSÜL) -------------------------------------------- */
html .uyap-floating-widget .wa-composer-area {
  background: var(--lg-glass-strong) !important;
  backdrop-filter: var(--lg-blur) !important;
  -webkit-backdrop-filter: var(--lg-blur) !important;
  border-top: 1px solid var(--lg-hairline) !important;
  box-shadow: var(--lg-specular) !important;
  padding: 10px 12px !important;
}

html .uyap-floating-widget .wa-textarea {
  background: var(--lg-glass) !important;
  color: var(--lg-ink) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 999px !important;
  box-shadow: var(--lg-specular) !important;
  backdrop-filter: blur(10px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
  padding: 11px 18px !important;
}

html .uyap-floating-widget .wa-textarea::placeholder {
  color: var(--lg-ink-faint) !important;
}

html .uyap-floating-widget .wa-textarea:focus {
  background: var(--lg-glass-strong) !important;
  border-color: var(--lg-accent) !important;
  box-shadow: var(--lg-specular), 0 0 0 3px var(--lg-accent-tint) !important;
}

/* WhatsApp'ın yeşil dairesel gönder butonu -> kurumsal camgöbeği kapsül.
   Renk İKİ temada da sabit tutulur: açık uçta beyaz ikon 4.09:1 verir,
   koyu temada açık mavi zemin üstünde beyaz ikon okunmaz olurdu. */
html .uyap-floating-widget .wa-send-circle-btn {
  background: linear-gradient(145deg, #0284c7, #075985) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.34), var(--lg-specular) !important;
  transition: transform 0.18s var(--lg-spring), box-shadow 0.18s var(--lg-spring) !important;
}

html .uyap-floating-widget .wa-send-circle-btn:hover {
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 8px 22px rgba(2, 132, 199, 0.42), var(--lg-specular) !important;
}

html .uyap-floating-widget .wa-send-circle-btn:active {
  transform: scale(0.96);
}

html .uyap-floating-widget .wa-attach-menu {
  background: var(--lg-glass-strong) !important;
  backdrop-filter: var(--lg-blur) !important;
  -webkit-backdrop-filter: var(--lg-blur) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 16px !important;
  box-shadow: var(--lg-shadow), var(--lg-specular) !important;
}

html .uyap-floating-widget .wa-attach-item:hover {
  background: var(--lg-accent-tint) !important;
}

/* --- 14) BEKLEYEN EVRak / DOSYA KARTLARI ------------------------------------ */
html .uyap-floating-widget .uyap-staged-tray {
  background: var(--lg-glass) !important;
  border-top: 1px solid var(--lg-hairline) !important;
}

html .uyap-floating-widget .staged-card {
  background: var(--lg-glass-strong) !important;
  border: 1px solid var(--lg-hairline) !important;
  border-radius: 14px !important;
  box-shadow: var(--lg-specular) !important;
}

html .uyap-floating-widget .staged-info strong {
  color: var(--lg-ink) !important;
}

html .uyap-floating-widget .staged-info small {
  color: var(--lg-ink-soft) !important;
}

html .uyap-floating-widget .uyap-doc-attachment-card,
html .uyap-floating-widget .uyap-file-attachment-card {
  background: var(--lg-glass-strong) !important;
  border: 1px solid var(--lg-hairline) !important;
  border-radius: 14px !important;
  box-shadow: var(--lg-specular) !important;
  color: var(--lg-ink) !important;
}

/* --- 15) AŞAĞI KAYDIRMA DÜĞMESİ (yeşil rozet -> camgöbeği) ------------------ */
html .uyap-floating-widget .uyap-scroll-bottom-btn {
  background: var(--lg-glass-strong) !important;
  color: var(--lg-accent) !important;
  border: 1px solid var(--lg-rim) !important;
  box-shadow: var(--lg-shadow), var(--lg-specular) !important;
}

html .uyap-floating-widget .uyap-scroll-bottom-badge {
  background: var(--lg-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.45) !important;
}

/* --- 16) GRUP BANNER'I ------------------------------------------------------- */
html .uyap-floating-widget .wa-group-banner {
  background: var(--lg-accent-tint) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 16px !important;
  color: var(--lg-ink) !important;
}

html .uyap-floating-widget .wa-group-banner-text strong {
  color: var(--lg-ink) !important;
}

html .uyap-floating-widget .wa-group-banner-btn {
  background: var(--lg-glass-strong) !important;
  color: var(--lg-accent) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 999px !important;
}

/* --- 17) OKUYANLAR POPOVER'I -------------------------------------------------- */
html .uyap-floating-widget .msg-readers-popover {
  background: var(--lg-glass-strong) !important;
  backdrop-filter: var(--lg-blur) !important;
  -webkit-backdrop-filter: var(--lg-blur) !important;
  border: 1px solid var(--lg-rim) !important;
  border-radius: 16px !important;
  box-shadow: var(--lg-shadow), var(--lg-specular) !important;
  color: var(--lg-ink) !important;
}

html .uyap-floating-widget .msg-readers-head,
html .uyap-floating-widget .msg-reader-text small {
  color: var(--lg-ink-soft) !important;
}

html .uyap-floating-widget .msg-reader-text strong {
  color: var(--lg-ink) !important;
}

/* --- 18) ERİŞİMİ OLMAYAN ODA (kilitli) --------------------------------------- */
html .uyap-floating-widget .uyap-recipient-item.is-locked {
  opacity: 0.62 !important;
}

html .uyap-floating-widget .uyap-recipient-item.is-locked .uyap-recipient-name {
  color: var(--lg-ink-soft) !important;
}

/* --- 19) AKIŞ HAREKETİ (yumuşak yay fiziği) ---------------------------------- */
html .uyap-floating-widget .uyap-recipient-item.is-active,
html .uyap-floating-widget .wa-folder-chip.is-active {
  transition: background 0.28s var(--lg-spring), border-color 0.28s var(--lg-spring);
}

/* =========================================================================
   DAVA SAFAHATI, CELSELER & EVRAK MODALI STİLLERİ
   ========================================================================= */
.btn-open-case-timeline {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-open-case-timeline:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}

/* Base (Light Theme) */
.timeline-case-header-card {
  background: linear-gradient(135deg, rgba(238, 242, 255, 0.75), rgba(248, 250, 252, 0.95));
  border: 1px solid rgba(199, 210, 254, 0.7);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
}
.timeline-party-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  font-size: 0.78rem;
  background: rgba(255, 255, 255, 0.7);
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(226, 232, 240, 0.8);
}
.timeline-add-box {
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 20px;
}
.timeline-box-title {
  margin: 0;
  font-size: 0.92rem;
  color: #0f172a;
  display: flex;
  align-items: center;
  gap: 6px;
}
.timeline-checkbox-label {
  font-size: 0.78rem;
  color: #475569;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.timeline-file-input {
  font-size: 0.8rem;
  width: 100%;
  border: 1px dashed #cbd5e1;
  padding: 6px;
  border-radius: 6px;
  background: #ffffff;
}
.timeline-item-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}
.timeline-item-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 4px;
}
.timeline-item-desc {
  font-size: 0.8rem;
  color: #334155;
  white-space: pre-wrap;
  line-height: 1.45;
  margin-bottom: 8px;
  background: rgba(248, 250, 252, 0.7);
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid #f1f5f9;
}
.timeline-empty-card {
  padding: 30px;
  text-align: center;
  color: #94a3b8;
  background: #ffffff;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
}

/* Koyu Tema (Dark Theme) */
html[data-theme="dark"] .timeline-case-header-card {
  background: rgba(30, 41, 59, 0.75) !important;
  border-color: rgba(99, 102, 241, 0.35) !important;
  color: #f1f5f9 !important;
}
html[data-theme="dark"] #timelineCaseNumber {
  color: #93c5fd !important;
}
html[data-theme="dark"] #timelineCaseCourt {
  color: #94a3b8 !important;
}
html[data-theme="dark"] #timelineCaseSubject {
  color: #e2e8f0 !important;
}
html[data-theme="dark"] .timeline-party-grid {
  background: rgba(15, 23, 42, 0.65) !important;
  border-color: rgba(51, 65, 85, 0.8) !important;
  color: #f1f5f9 !important;
}
html[data-theme="dark"] .timeline-party-grid strong {
  color: #f8fafc !important;
}
html[data-theme="dark"] .timeline-add-box {
  background: rgba(15, 23, 42, 0.75) !important;
  border-color: rgba(51, 65, 85, 0.85) !important;
  color: #f1f5f9 !important;
}
html[data-theme="dark"] .timeline-box-title {
  color: #f8fafc !important;
}
html[data-theme="dark"] .timeline-checkbox-label {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .timeline-file-input {
  background: rgba(30, 41, 59, 0.6) !important;
  border-color: #475569 !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .timeline-item-card {
  background: rgba(30, 41, 59, 0.85) !important;
  border-color: rgba(51, 65, 85, 0.9) !important;
  color: #f1f5f9 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}
html[data-theme="dark"] .timeline-item-title {
  color: #f8fafc !important;
}
html[data-theme="dark"] .timeline-item-desc {
  background: rgba(15, 23, 42, 0.65) !important;
  border-color: rgba(51, 65, 85, 0.8) !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .timeline-empty-card {
  background: rgba(15, 23, 42, 0.6) !important;
  border-color: rgba(51, 65, 85, 0.8) !important;
  color: #94a3b8 !important;
}
/* --- 20) GRUP UYELERI PANELI: sohbet penceresinin ICINDE ------------------------
   Once body seviyesinde "modal-overlay" idi: tum ekrani kapliyor, .modal-card
   height:88vh oldugu icin 4 uyeyle bile ekrani dolduruyordu. Artik
   .uyap-modal-body (position:relative; overflow:hidden) icinde absolute bir
   panel olarak duruyor; kompakt ve buyuk modda sohbet alanina tam oturur. */
html .uyap-floating-widget .group-members-sheet {
  position: absolute;
  inset: 0;
  display: none;
  z-index: 40;
  background: var(--lg-glass-strong) !important;
  backdrop-filter: var(--lg-blur) !important;
  -webkit-backdrop-filter: var(--lg-blur) !important;
  border-left: 1px solid var(--lg-hairline) !important;
  box-shadow: inset 0 1px 0 var(--lg-hairline) !important;
  animation: lgSheetIn 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

html .uyap-floating-widget .group-members-sheet.is-open {
  display: flex;
}

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

@media (prefers-reduced-motion: reduce) {
  html .uyap-floating-widget .group-members-sheet {
    animation: none;
  }
}

html .uyap-floating-widget .group-members-card {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
  display: flex !important;
  flex-direction: column !important;
}

html .uyap-floating-widget .group-members-card .modal-header {
  flex: 0 0 auto !important;
  background: transparent !important;
  border-bottom: 1px solid var(--lg-hairline) !important;
  box-shadow: none !important;
  padding: 12px 16px !important;
}

html .uyap-floating-widget .group-members-card .modal-title-wrap h3 {
  color: var(--lg-ink) !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
}

html .uyap-floating-widget .group-members-card .modal-header small {
  color: var(--lg-ink-soft) !important;
  font-size: 0.72rem !important;
}

html .uyap-floating-widget .group-members-card .modal-icon {
  background: var(--lg-accent-tint) !important;
  color: var(--lg-accent) !important;
  border: 1px solid var(--lg-rim) !important;
}

html .uyap-floating-widget .group-members-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 12px 14px !important;
}

/* Liste sohbet alanina sigacak sekilde kendi icinde kayar */
html .uyap-floating-widget .group-members-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}


/* --- 21) GRUP UYE LISTESI: VAR OLMA DURUMU METNI ---------------------------
   Once satir ici "color:#10b981 / #94a3b8" yaziliyordu; panelin cam yuzeyi
   uzerinde 2.56:1 idi (WCAG AA alti). Artik sinif tabanli ve her iki temada
   AA uzerinde. */
html .uyap-floating-widget .wa-member-presence {
  font-weight: 600;
}

html .uyap-floating-widget .wa-member-presence.is-online {
  color: #047857;
}

html .uyap-floating-widget .wa-member-presence.is-offline {
  color: #5f7180;
}

html[data-theme="dark"] .uyap-floating-widget .wa-member-presence.is-online {
  color: #34d399;
}

html[data-theme="dark"] .uyap-floating-widget .wa-member-presence.is-offline {
  color: #94a3b8;
}

/* --- 22) ACIK BALON ICINDEKI ROZET VE IKONLAR -------------------------------
   GelEN balon iki temada da ACIK cam yuzeydir. Ama rol rozetleri ve "i" butonu
   tema rengine gore renkleniyordu; koyu temada acik tonlar acik balonun uzerinde
   1.09-1.21:1 ile okunmaz hale geliyordu. Burada balon icindeki her metin ve
   ikon ogesi acik zemin icin koyulastirilir.
   Not: Rol rozetleri sadece GELEN mesajlarda gorunur (gidenlerde "Siz" yazar),
   bu yuzden sadece .msg-incoming icin kuruluyor. --------------------------- */

/* Rol rozetleri - koyu mürekkep, açık cam zemin üzerinde (4.7-6.2:1) */
html .uyap-floating-widget .msg-incoming .uyap-msg-role-chip {
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

html .uyap-floating-widget .msg-incoming .uyap-msg-role-chip.role-judge {
  background: rgba(37, 99, 235, 0.14);
  color: #1e3a8a;
  border-color: rgba(37, 99, 235, 0.22);
}

html .uyap-floating-widget .msg-incoming .uyap-msg-role-chip.role-prosecutor {
  background: rgba(220, 38, 38, 0.14);
  color: #7f1d1d;
  border-color: rgba(220, 38, 38, 0.22);
}

html .uyap-floating-widget .msg-incoming .uyap-msg-role-chip.role-lawyer {
  background: rgba(217, 119, 6, 0.16);
  color: #92400e;
  border-color: rgba(217, 119, 6, 0.24);
}

html .uyap-floating-widget .msg-incoming .uyap-msg-role-chip.role-doctor {
  background: rgba(16, 185, 129, 0.16);
  color: #065f46;
  border-color: rgba(16, 185, 129, 0.24);
}

/* "i" bilgi butonu - koyu temada #cbd5e1 açık balon üzerinde 1.16:1 idi */
html .uyap-floating-widget .msg-incoming .uyap-msg-info-btn {
  background: rgba(15, 23, 42, 0.10);
  color: #334155;
  border: 1px solid rgba(15, 23, 42, 0.10);
}

html .uyap-floating-widget .msg-incoming .uyap-msg-info-btn:hover {
  background: rgba(15, 23, 42, 0.20);
  color: #0d1b26;
}

/* Şifreli ileti rozeti - gelen balonda da koyu mürekkep gerekir */
html .uyap-floating-widget .msg-incoming .uyap-msg-e2ee {
  background: rgba(2, 132, 199, 0.12);
  color: #075985;
  border: 1px solid rgba(2, 132, 199, 0.22);
}

/* Giden balonun "i" butonu: acik temada balon ACIK tint, koyu temada KOYU tint.
   Sabit bir zemin rengi bir temada okunup digerinde okunmuyordu (4.46:1).
   Cozum: zemin seffaf, yazi rengi temadan gelen --lg-accent-ink.
   Boylece butonun kontrasti dogrudan balonun kontrastindan gelir. */
html .uyap-floating-widget .msg-outgoing .uyap-msg-info-btn {
  background: transparent;
  color: var(--lg-accent-ink);
  border: 1px solid transparent;
}

html .uyap-floating-widget .msg-outgoing .uyap-msg-info-btn:hover {
  background: rgba(15, 23, 42, 0.10);
  border-color: rgba(15, 23, 42, 0.10);
}

html[data-theme="dark"] .uyap-floating-widget .msg-outgoing .uyap-msg-info-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.18);
}

/* =========================================================================
   RESMÎ BANKA DEKONT & MAKBUZ MODALI
   ========================================================================= */
.bank-choice-card {
  user-select: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 2px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  background: #ffffff;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.bank-choice-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
.bank-choice-card.is-active#lblBankAtilim,
#lblBankAtilim.is-active {
  border-color: #be185d !important;
  background: rgba(190, 24, 93, 0.05) !important;
  box-shadow: 0 4px 16px rgba(190, 24, 93, 0.12);
}
.bank-choice-card.is-active#lblBankMaze,
#lblBankMaze.is-active {
  border-color: #b91c1c !important;
  background: rgba(185, 28, 28, 0.05) !important;
  box-shadow: 0 4px 16px rgba(185, 28, 28, 0.12);
}
.bank-choice-card input[type="radio"],
.bank-choice-radio {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 18px !important;
  cursor: pointer;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
#lblBankAtilim .bank-choice-radio,
#lblBankAtilim input[type="radio"] {
  accent-color: #be185d !important;
}
#lblBankMaze .bank-choice-radio,
#lblBankMaze input[type="radio"] {
  accent-color: #b91c1c !important;
}
.bank-choice-logo-wrap {
  flex: 0 0 76px;
  width: 76px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 3px 6px;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.bank-choice-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.bank-choice-content {
  flex: 1;
  min-width: 0;
}
.bank-choice-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.bank-choice-title {
  font-size: 0.95rem;
  font-weight: 700;
  white-space: nowrap;
}
.bank-choice-title.atilim {
  color: #9d174d;
}
.bank-choice-title.maze {
  color: #b91c1c;
}
.bank-choice-badge {
  font-size: 0.70rem;
  font-weight: 700;
  color: #ffffff;
  padding: 2px 8px;
  border-radius: 12px;
  white-space: nowrap;
  letter-spacing: 0.3px;
}
.bank-choice-badge.atilim {
  background: #be185d;
}
.bank-choice-badge.maze {
  background: #b91c1c;
}
.bank-choice-desc {
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 3px;
  line-height: 1.3;
}
#bankReceiptPaperWrap {
  width: 1320px;
  height: 955px;
  min-width: 1320px;
  min-height: 955px;
  transform-origin: top center;
  transition: transform 0.2s ease;
  font-family: 'Arial MT Pro', 'ArialMTPro', Arial, 'Helvetica Neue', Helvetica, sans-serif;
}
@media (min-width: 1450px) {
  #bankReceiptPaperWrap {
    transform: scale(0.80);
    margin-bottom: -180px;
  }
}
@media (max-width: 1449px) and (min-width: 1150px) {
  #bankReceiptPaperWrap {
    transform: scale(0.70);
    margin-bottom: -275px;
  }
}
@media (max-width: 1149px) and (min-width: 900px) {
  #bankReceiptPaperWrap {
    transform: scale(0.56);
    margin-bottom: -400px;
  }
}
@media (max-width: 899px) and (min-width: 650px) {
  #bankReceiptPaperWrap {
    transform: scale(0.42);
    margin-bottom: -530px;
  }
}
@media (max-width: 649px) {
  #bankReceiptPaperWrap {
    transform: scale(0.30);
    margin-bottom: -640px;
  }
}
html[data-theme="dark"] #bankReceiptModal .modal-glass-card {
  background: #0f172a;
  color: #f1f5f9;
}
html[data-theme="dark"] #bankReceiptModal .modal-header {
  background: rgba(255, 255, 255, 0.03);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
html[data-theme="dark"] #bankReceiptModal h3 {
  color: #f8fafc !important;
}
html[data-theme="dark"] .bank-choice-card {
  background: #1e293b !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}
html[data-theme="dark"] .bank-choice-logo-wrap {
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}
html[data-theme="dark"] #lblBankAtilim.is-active {
  background: rgba(190, 24, 93, 0.22) !important;
  border-color: #f472b6 !important;
}
html[data-theme="dark"] #lblBankMaze.is-active {
  background: rgba(185, 28, 28, 0.22) !important;
  border-color: #f87171 !important;
}
html[data-theme="dark"] .bank-choice-title.atilim {
  color: #f472b6;
}
html[data-theme="dark"] .bank-choice-title.maze {
  color: #f87171;
}
html[data-theme="dark"] .bank-choice-desc {
  color: #94a3b8;
}


/* --- 23) YANITLA (REPLY) OZELLIGI --------------------------------------------
   WhatsApp / Telegram tarzi: mesaja sag tik veya hover butonu ile yanit verilir.
   Gonderilen mesaj, balon icinde alinti blogu olarak gosterilir; tiklaninca
   yanitlanan mesaja gidilir. Alinti metni sifreli payload icindedir. */

/* Beste ustundeki yanit onizleme cubugu */
html .uyap-floating-widget .uyap-reply-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid var(--lg-rim);
  background: var(--lg-accent-tint);
  box-shadow: var(--lg-specular);
}

html .uyap-floating-widget .reply-bar-icon {
  font-size: 1rem;
  color: var(--lg-accent);
  flex-shrink: 0;
  line-height: 1;
}

html .uyap-floating-widget .reply-bar-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

html .uyap-floating-widget .reply-bar-text strong {
  font-size: 0.76rem;
  font-weight: 750;
  color: var(--lg-accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html .uyap-floating-widget .reply-bar-text small {
  font-size: 0.7rem;
  color: var(--lg-ink-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html .uyap-floating-widget .reply-bar-close {
  border: none;
  background: transparent;
  color: var(--lg-ink-soft);
  cursor: pointer;
  font-size: 0.8rem;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.18s var(--lg-spring), color 0.18s var(--lg-spring);
}

html .uyap-floating-widget .reply-bar-close:hover {
  background: rgba(15, 23, 42, 0.10);
  color: var(--lg-ink);
}

/* Balon konumlanmali ki hover butonu ustten tasmasin */
html .uyap-floating-widget .uyap-msg-bubble {
  position: relative;
}

/* Balon icindeki alinti blogu */
html .uyap-floating-widget .uyap-msg-quote {
  cursor: pointer;
  border-left: 3px solid var(--lg-accent);
  border-radius: 8px;
  padding: 5px 9px;
  margin-bottom: 7px;
  background: rgba(15, 23, 42, 0.06);
  transition: background 0.18s var(--lg-spring);
}

html .uyap-floating-widget .uyap-msg-quote:hover {
  background: rgba(15, 23, 42, 0.12);
}

html .uyap-floating-widget .uyap-msg-quote-name {
  font-size: 0.7rem;
  font-weight: 800;
  color: #075985;
  margin-bottom: 1px;
}

html .uyap-floating-widget .uyap-msg-quote-text {
  font-size: 0.72rem;
  color: #3f4e5a;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

html[data-theme="dark"] .uyap-floating-widget .uyap-msg-quote {
  background: rgba(15, 23, 42, 0.10);
  border-left-color: #7dd3fc;
}

html[data-theme="dark"] .uyap-floating-widget .uyap-msg-quote:hover {
  background: rgba(15, 23, 42, 0.18);
}

html[data-theme="dark"] .uyap-floating-widget .uyap-msg-quote-name {
  color: #0369a1;
}

html[data-theme="dark"] .uyap-floating-widget .uyap-msg-quote-text {
  color: #3f4e5a;
}

/* Hover ile beliren yanit butonu */
html .uyap-floating-widget .uyap-msg-reply-btn {
  position: absolute;
  top: -9px;
  right: -9px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--lg-rim);
  background: var(--lg-glass-strong);
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  color: var(--lg-accent);
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.7);
  transition: opacity 0.16s ease, transform 0.16s var(--lg-spring);
  z-index: 3;
  padding: 0;
}

html .uyap-floating-widget .uyap-msg-row:hover .uyap-msg-reply-btn,
html .uyap-floating-widget .uyap-msg-reply-btn:focus-visible {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

html .uyap-floating-widget .uyap-msg-reply-btn:hover {
  background: var(--lg-accent-tint-strong);
}

/* Yanitlanan mesaja atlama vurgusu */
html .uyap-floating-widget .uyap-msg-row.is-jump-flash .uyap-msg-bubble {
  animation: lgJumpFlash 1.6s ease;
}

@keyframes lgJumpFlash {
  0%   { box-shadow: 0 0 0 0 rgba(14, 165, 233, 0); }
  18%  { box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.85); }
  100% { box-shadow: 0 0 0 0 rgba(14, 165, 233, 0); }
}

@media (prefers-reduced-motion: reduce) {
  html .uyap-floating-widget .uyap-msg-row.is-jump-flash .uyap-msg-bubble {
    animation: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   SON GÖRÜLME (LAST SEEN) GÖRÜNÜMÜ
   ═══════════════════════════════════════════════════════════════════════
   Personel kartlarında ve sohbet başlığında "Son görülme: 5 dk önce"
   bilgisini gösterir. Kart zaten dar olduğu için küçük ve ikincil
   görünür; çevrim içi olduğunda yeşile döner.
   Not: Buraya eklenen her seçici "html " ile başlar; eski kurallar
   data-theme özniteliği taşıdığı için bir fazla özgüllüğe sahiptir.
   ═══════════════════════════════════════════════════════════════════════ */

html .uyap-floating-widget .uyap-last-seen {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  opacity: 0.9;
  transition: color 0.25s ease;
}

/* Sidebar kartındaki rozet: diğer rozetlerle aynı hizada dursun */
html .uyap-floating-widget .uyap-recipient-sub .uyap-last-seen {
  flex: 0 0 auto;
  padding-left: 2px;
}

/* Çevrim dışı: sessiz gri */
html .uyap-floating-widget .uyap-last-seen.presence-text-offline {
  color: #94a3b8;
}

/* Çevrim içi: canlı yeşil */
html .uyap-floating-widget .uyap-last-seen.presence-text-online {
  color: #10b981;
}

html[data-theme="dark"] .uyap-floating-widget .uyap-last-seen.presence-text-offline {
  color: #94a3b8;
}

html[data-theme="dark"] .uyap-floating-widget .uyap-last-seen.presence-text-online {
  color: #34d399;
}

/* Sohbet başlığındaki satır biraz daha okunabilir olsun */
html .uyap-floating-widget #uyapActiveSub .uyap-last-seen {
  font-size: 0.72rem;
  font-weight: 600;
}

/* Dar ekranda kart yerleşimi bozulmasın */
@media (max-width: 480px) {
  html .uyap-floating-widget .uyap-recipient-sub .uyap-last-seen {
    font-size: 0.62rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   TEVZİ HAVUZU KART UI — Hiyerarşi Sadeleştirmesi
   ═══════════════════════════════════════════════════════════════════════
   Sorun: Her kartta 12+ buton yan yana diziliyordu. Kart yüksekliği
   değişiyor, hangi buton önemli olduğu belli değildi.
   Çözüm: Üç katman.
     1. .case-actions           → birincil işlemler (devral, talep, celseler)
     2. .case-actions-secondary → yardımcı işlemler (belge, editör)
     3. .case-actions-menu      → nadir ve yetki gerektiren işlemler (açılır menü)
   Tüm seçiciler "html " ile başlar: eski kurallar data-theme özniteliği
   taşıdığı için bir fazla özgüllüğe sahiptir.
   ═══════════════════════════════════════════════════════════════════════ */

/* --- 1) Birincil satır: daha sıkı, daha okunur ------------------------- */
html .uyap-floating-widget .case-actions,
.cases-grid .case-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.cases-grid .case-actions > .btn-portal {
  flex: 1 1 auto;
  min-width: 118px;
  font-size: 0.78rem;
  padding: 7px 11px;
}

/* --- 2) İkincil satır: görsel olarak daha sessiz ----------------------- */
.cases-grid .case-actions-secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
  padding-top: 7px;
  border-top: 1px dashed rgba(100, 116, 139, 0.22);
}

.cases-grid .case-actions-secondary > .btn-portal {
  font-size: 0.72rem;
  padding: 4px 9px;
  opacity: 0.88;
}

.cases-grid .case-actions-secondary > .btn-portal:hover {
  opacity: 1;
}

/* --- 3) "Dosya İşlemleri" açılır menü ---------------------------------- */
.cases-grid .case-actions-menu-wrap {
  position: relative;
  margin-top: 6px;
}

.cases-grid .case-actions-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  justify-content: center;
  padding: 5px 10px;
  font-size: 0.73rem;
  font-weight: 700;
  color: #64748b;
  background: rgba(100, 116, 139, 0.08);
  border: 1px dashed rgba(100, 116, 139, 0.3);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.cases-grid .case-actions-menu-toggle:hover {
  background: rgba(100, 116, 139, 0.15);
  color: #334155;
  border-color: rgba(100, 116, 139, 0.45);
}

.cases-grid .case-actions-menu-toggle[aria-expanded="true"] {
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.35);
  border-style: solid;
}

.cases-grid .case-actions-menu {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 6px;
  padding: 8px;
  background: rgba(248, 250, 252, 0.98);
  border: 1px solid rgba(100, 116, 139, 0.25);
  border-radius: 10px;
  box-shadow: 0 10px 24px -8px rgba(15, 23, 42, 0.28);
  animation: caseMenuIn 0.16s ease;
}

.cases-grid .case-actions-menu[hidden] {
  display: none;
}

.cases-grid .case-actions-menu > .btn-portal {
  width: 100%;
  justify-content: flex-start;
  font-size: 0.76rem;
  padding: 6px 10px;
}

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

/* Koyu tema */
html[data-theme="dark"] .cases-grid .case-actions-menu-toggle {
  color: #94a3b8;
  background: rgba(148, 163, 184, 0.1);
  border-color: rgba(148, 163, 184, 0.25);
}

html[data-theme="dark"] .cases-grid .case-actions-menu-toggle:hover {
  background: rgba(148, 163, 184, 0.18);
  color: #e2e8f0;
}

html[data-theme="dark"] .cases-grid .case-actions-menu-toggle[aria-expanded="true"] {
  background: rgba(59, 130, 246, 0.16);
  color: #93c5fd;
  border-color: rgba(59, 130, 246, 0.4);
}

html[data-theme="dark"] .cases-grid .case-actions-menu {
  background: rgba(15, 23, 42, 0.98);
  border-color: rgba(148, 163, 184, 0.22);
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.6);
}

html[data-theme="dark"] .cases-grid .case-actions-secondary {
  border-top-color: rgba(148, 163, 184, 0.2);
}

/* Düşük genişlikte kart tam genişlik: butonlar sarmasın */
@media (max-width: 520px) {
  .cases-grid .case-actions > .btn-portal {
    min-width: calc(50% - 3px);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   DOKNET — SAĞLIK BAKANLIĞI ADLİ TİP PORTALI
   Görsel dil HükümetNET'ten (mavi/lacivert) ayrıdır: DokNET sağlık
   kurumuna aittir ve turkuaz-yeşil bir palet kullanır. Böylece doktor
   ekranının hangi sisteme ait olduğu ilk bakışta anlaşılır.
   ═══════════════════════════════════════════════════════════════════════════ */

.doknet-sub-nav {
  border-bottom: 2px solid rgba(13, 148, 136, 0.22) !important;
}
.doknet-sub-nav .portal-nav-btn.is-active {
  background: linear-gradient(135deg, #0f766e, #14b8a6) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(15, 118, 110, 0.3) !important;
}

/* Hero */
.doknet-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  flex-wrap: wrap;
  padding: 22px 24px;
  margin-bottom: 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 55%, #14b8a6 100%);
  color: #ffffff;
  box-shadow: 0 8px 26px rgba(13, 148, 136, 0.24);
}
.doknet-hero-eyebrow {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  opacity: 0.82;
  margin-bottom: 5px;
}
.doknet-hero-text h2 {
  margin: 0 0 6px;
  font-size: 1.42rem;
  font-weight: 800;
}
.doknet-hero-text p {
  margin: 0;
  font-size: 0.85rem;
  opacity: 0.9;
  line-height: 1.5;
}
.doknet-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Butonlar */
.btn-doknet {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
  white-space: nowrap;
}
.btn-doknet:hover { transform: translateY(-1px); }
.btn-doknet:active { transform: translateY(0); }
.btn-doknet-primary {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(15, 118, 110, 0.28);
}
.btn-doknet-primary:hover { box-shadow: 0 6px 16px rgba(15, 118, 110, 0.36); }
.btn-doknet-ghost {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn-doknet-ghost:hover { background: rgba(255, 255, 255, 0.26); }
.btn-doknet-danger {
  background: rgba(220, 38, 38, 0.12);
  color: #b91c1c;
  border-color: rgba(220, 38, 38, 0.3);
}
.btn-doknet-danger:hover { background: rgba(220, 38, 38, 0.2); }
.btn-doknet-sm { padding: 5px 10px; font-size: 0.74rem; border-radius: 8px; }

/* HükümetNET kartları içinde kullanılan butonlar koyu zeminde okunur */
.portal-card .btn-doknet-ghost {
  background: rgba(15, 118, 110, 0.08);
  color: #0f766e;
  border-color: rgba(15, 118, 110, 0.28);
}
.portal-card .btn-doknet-ghost:hover { background: rgba(15, 118, 110, 0.15); }

/* KPI kartları */
.doknet-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.doknet-kpi {
  padding: 16px 18px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(13, 148, 136, 0.18);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}
.doknet-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(13, 148, 136, 0.16);
  border-color: rgba(13, 148, 136, 0.42);
}
.doknet-kpi-label {
  font-size: 0.76rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.doknet-kpi-num {
  font-size: 2rem;
  font-weight: 800;
  color: #0f766e;
  line-height: 1.15;
  margin: 3px 0 2px;
}
.doknet-kpi-foot { font-size: 0.73rem; color: #94a3b8; }

/* İki kolonlu kart düzeni */
.doknet-two-col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}
.doknet-card {
  padding: 18px 20px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(13, 148, 136, 0.16);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}
.doknet-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.doknet-card-head h3 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 800;
  color: #0f172a;
}
.doknet-card-head .btn-doknet-ghost {
  background: rgba(15, 118, 110, 0.08);
  color: #0f766e;
  border-color: rgba(15, 118, 110, 0.24);
}

/* Mini liste */
.doknet-mini-list { display: flex; flex-direction: column; gap: 7px; }
.doknet-mini-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 11px;
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.9);
}
.doknet-mini-dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #0f766e;
}
.doknet-mini-dot[data-tip="rapor"] { background: #2563eb; }
.doknet-mini-dot[data-tip="olum"] { background: #6b21a8; }
.doknet-mini-main { flex: 1; min-width: 0; }
.doknet-mini-main strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: #1e293b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.doknet-mini-main small { font-size: 0.72rem; color: #94a3b8; }

/* Bilgi notu */
.doknet-info-note {
  padding: 11px 14px;
  margin-bottom: 14px;
  border-radius: 10px;
  background: rgba(13, 148, 136, 0.07);
  border: 1px solid rgba(13, 148, 136, 0.22);
  border-left: 4px solid #0f766e;
  font-size: 0.8rem;
  line-height: 1.55;
  color: #334155;
}
.doknet-info-note strong { color: #0f766e; }

/* Tablo */
.doknet-table-wrap { overflow-x: auto; }
.doknet-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  min-width: 780px;
}
.doknet-table thead th {
  text-align: left;
  padding: 10px 11px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #0f766e;
  background: rgba(13, 148, 136, 0.07);
  border-bottom: 2px solid rgba(13, 148, 136, 0.24);
  white-space: nowrap;
}
.doknet-table tbody td {
  padding: 10px 11px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
  color: #1e293b;
  vertical-align: middle;
}
.doknet-table tbody tr:hover { background: rgba(13, 148, 136, 0.04); }
.doknet-td-kucuk { font-size: 0.76rem; color: #64748b; }
.doknet-islem {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}

/* Durum rozetleri */
.doknet-durum {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  background: rgba(100, 116, 139, 0.12);
  color: #475569;
  border: 1px solid rgba(100, 116, 139, 0.24);
  white-space: nowrap;
}
.doknet-durum[data-durum="Talep Edildi"] { background: rgba(217, 119, 6, 0.12); color: #b45309; border-color: rgba(217, 119, 6, 0.3); }
.doknet-durum[data-durum="Atandı"] { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; border-color: rgba(37, 99, 235, 0.3); }
.doknet-durum[data-durum="Muayene Edildi"] { background: rgba(13, 148, 136, 0.14); color: #0f766e; border-color: rgba(13, 148, 136, 0.32); }
.doknet-durum[data-durum="Rapor Bekliyor"] { background: rgba(219, 39, 119, 0.12); color: #be185d; border-color: rgba(219, 39, 119, 0.3); }
.doknet-durum[data-durum="Tamamlandı"] { background: rgba(22, 163, 74, 0.12); color: #15803d; border-color: rgba(22, 163, 74, 0.3); }
.doknet-durum[data-durum="Taslak"] { background: rgba(100, 116, 139, 0.12); color: #475569; }
.doknet-durum[data-durum="Onaya Sunuldu"] { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.doknet-durum[data-durum="Onaylandı"] { background: rgba(22, 163, 74, 0.12); color: #15803d; }
.doknet-durum[data-durum="Morgda"] { background: rgba(107, 33, 168, 0.12); color: #6b21a8; border-color: rgba(107, 33, 168, 0.3); }
.doknet-durum[data-durum="Adli Tıp İncelemesinde"] { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.doknet-durum[data-durum="Ölüm Belgesi Hazırlandı"] { background: rgba(13, 148, 136, 0.14); color: #0f766e; }
.doknet-durum[data-durum="Teslim Edildi"] { background: rgba(22, 163, 74, 0.12); color: #15803d; }

.doknet-rapor-tur {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 700;
  font-size: 0.78rem;
  color: #0f172a;
}
.doknet-rapor-tur[data-tur="darp_raporu"] { color: #dc2626; }
.doknet-rapor-tur[data-tur="adli_muayene"] { color: #2563eb; }
.doknet-rapor-tur[data-tur="is_goremezlik"] { color: #d97706; }
.doknet-rapor-tur[data-tur="olum_belgesi"] { color: #6b21a8; }

/* Form öğeleri */
.doknet-search, .doknet-select {
  padding: 8px 11px;
  border-radius: 9px;
  border: 1px solid rgba(13, 148, 136, 0.3);
  background: #ffffff;
  font-size: 0.8rem;
  font-family: inherit;
  color: #1e293b;
}
.doknet-search { min-width: 210px; }
.doknet-search:focus, .doknet-select:focus {
  outline: none;
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
}
.doknet-select-sm { padding: 5px 8px; font-size: 0.74rem; }

.doknet-bos {
  padding: 28px 14px;
  text-align: center;
  color: #94a3b8;
  font-size: 0.82rem;
  font-style: italic;
}

/* Künye modalı */
.doknet-kunye {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.doknet-kunye > div {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.9);
}
.doknet-kunye span {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #0f766e;
  margin-bottom: 2px;
}
.doknet-kunye strong { font-size: 0.83rem; color: #1e293b; word-break: break-word; }
.doknet-blok-baslik {
  margin: 16px 0 9px;
  font-size: 0.86rem;
  font-weight: 800;
  color: #0f172a;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}
.doknet-kunye-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  border-radius: 9px;
  background: rgba(248, 250, 252, 0.8);
  border: 1px solid rgba(226, 232, 240, 0.8);
  margin-bottom: 6px;
  font-size: 0.8rem;
  flex-wrap: wrap;
}
.doknet-kunye-satir a { color: #0f766e; font-weight: 600; text-decoration: none; }
.doknet-kunye-satir a:hover { text-decoration: underline; }
.doknet-kunye-satir small { color: #94a3b8; font-size: 0.72rem; }

/* DokNET modalı HükümetNET mührü kullanmaz; sağlık kurumu kimliği taşır */
#doknetCaseModal .modal-header {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  color: #ffffff;
}
#doknetCaseModal .modal-title { color: #ffffff; }
#doknetCaseModal .modal-close { color: #ffffff; }

/* Mobil uyumluluk */
@media (max-width: 720px) {
  .doknet-hero { flex-direction: column; }
  .doknet-hero-actions { width: 100%; }
  .doknet-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .doknet-kpi-num { font-size: 1.6rem; }
  .doknet-search { min-width: 0; width: 100%; }
}
/* ── DOKNET İZOLASYON DÜZELTMESİ ────────────────────────────────────────
   SORUN: .portal-sub-nav.nav-segmented-tabs display:flex !important ile
   geliyor. Satır içi style="display:none" DEĞERİ eziliyordu; bu yüzden
   doktor HükümetNET menüsünü görmeye devam ediyordu.
   ÇÖZÜM: Gizleme kararı CSS ile de destekleniyor. [hidden] ve .is-gizli
   sınıfları display:flex !important'i yener.
   ───────────────────────────────────────────────────────────────────── */
.doknet-sub-nav[hidden],
.doknet-sub-nav.is-gizli,
.portal-sub-nav[hidden],
.portal-sub-nav.is-gizli {
  display: none !important;
}
/* ==========================================================================
   GIRIS EKRANINDA KAYDIRMA CUBUGU (FAZ 5 UX duzeltmesi)
   Once giris ekrani acikken sayfa kaydirilabiliyor ve altta siyah bir cubuk
   beliriyordu. Giris ekrani tam ekran bir katmandir; sayfa kaydirilmamali.

   Iki mekanizma birlikte calisir:
     - CSS :has() destekleyen tarayicilarda (guncel Chrome/Safari/Edge)
     - JS  : openLoginModal/closeLoginModal body'ye sinif ekler/cikarir
             (:has() desteklemeyenler icin yedek)
   ========================================================================== */
body.login-open,
body:has(#loginModal.is-open) {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/* Kucuk ekran / yazilim klavyesi acildiginda katman kendi icinde
   kaydirilabilir kalmali; ancak gorunur kaydirma cubugu kirletici
   gorunuyordu. Kaydirma KORUNUR, cubugun gorunumu GIZLENIR. */
.login-portal-overlay.is-open {
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* eski Edge */
}
.login-portal-overlay.is-open::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;                  /* Chrome / Safari / Edge */
}

/* Ayni sekilde sayfa govdesinde gizli kalan kaydirma cubugu */
body.login-open::-webkit-scrollbar,
body:has(#loginModal.is-open)::-webkit-scrollbar {
  width: 0;
  display: none;
}

/* ==========================================================================
   GIRIŞ KARTINI EKRANA SIĞDIRMA (FAZ 5)
   Önceden giriş kartı sabit bir yükseklikteydi ve ekran yüksekliğinden
   uzun olduğunda katman kayıyor, üst kısım (logo, saat, portal sekmeleri)
   görünmüyor ve altta siyah bar oluşuyordu.

   Çözüm: yüksekliğe göre kademeli sıkıştırma.
     <= 900px  : logo küçülür, saat bandı gizlenir (dekoratif), boşluklar daralır
     <= 760px  : amblem küçülür, sekmeler daralır
     <= 660px  : başlık alt bağlamı gizlenir, kart tam genişliğe yaklaşır

   Ölçüm: 900px'lik pencere = 810px'lik kart; 760px'lik pencere = ~700px;
   660px'lik pencere = ~610px. Hepsi ekrana sığar.
   ========================================================================== */

/* --- 1. kademe: 900px altı --- */
@media (max-height: 900px) {
  .portal-umbrella-brand { margin-bottom: 10px; }
  .portal-umbrella-logo { width: 190px; }
  /* Saat bandı tamamen dekoratif; dikey yer kaplıyordu. */
  .portal-clock-banner { display: none !important; }
  .login-portal-card .modal-body { padding-top: 12px !important; padding-bottom: 12px !important; }
  .portal-header { margin-bottom: 10px !important; }
  .portal-emblem-img { width: 58px !important; height: 58px !important; }
}

/* --- 2. kademe: 760px altı --- */
@media (max-height: 760px) {
  .portal-umbrella-logo { width: 150px; }
  .portal-umbrella-brand { margin-bottom: 6px; }
  .portal-emblem-img { width: 46px !important; height: 46px !important; }
  .portal-title { font-size: 1.25rem !important; margin: 4px 0 2px !important; }
  .portal-kicker { font-size: .68rem !important; }
  .portal-subtitle { display: none !important; }
  .portal-switch-tabs { margin-bottom: 10px !important; }
  .portal-tab-btn { padding: 8px 10px !important; }
  .login-portal-card .m-group { margin-bottom: 10px !important; }
  /* Alt yasal metin (logolar + kurum bilgisi) yükseklik kıtığında gizlenir */
  .login-portal-overlay .portal-disclaimer-block { display: none !important; }
}

/* --- 3. kademe: 660px altı --- */
@media (max-height: 660px) {
  .portal-umbrella-logo { width: 120px; }
  .portal-emblem-img { width: 38px !important; height: 38px !important; }
  .portal-title { font-size: 1.1rem !important; }
  .login-portal-card { width: min(96vw, 440px) !important; }
  .login-portal-overlay { padding: 8px !important; }
}
