/* Dilekçe Programı — arayüz biçemi, tasarım dili sürüm 2 (19 Eylül 2026).
 *
 * Bağlayıcı kaynak: gecici/tasarim-dili.md (yön A: sade kurumsal + yeni nesil
 * hukuk yazılımı). Bileşenlerin canlı örneği: gecici/tasarim-bilesenler.html;
 * sınıf adları ve kullanım kuralları: gecici/tasarim-bilesenler.md.
 *
 * Dosyanın sırası (belge §7.1):
 *   1. Yazı tipi (Inter, gömülü; dış kaynak YOK)
 *   2. Token'lar — gündüz, gece (açık seçim) ve gece (işletim sistemi)
 *   3. Temel (sıfırlama, tipografi, bağlantı, odak)
 *   4. Kabuk (kenar menü, üst çubuk, komut paleti, bildirimler)
 *   5. Bileşenler (belge §4 sırasıyla)
 *   6. Uyumluluk katmanı — eski sınıflar yeni görünümle (page-header,
 *      day-card, list-table, error-box, summary, btn-link, badge …). Sayfalar
 *      tek tek yeni sınıflara geçtikçe bu katman küçülür (belge §7.4 adım 8).
 *   7. Dar ekran, hareket azaltma, baskı
 *
 * Kurallar: renk yalnız token'dan; `transition: all` yok; `text-transform`
 * ile büyük harf yok (Türkçe İ/ı); odak her zaman 2 px çerçeve.
 */

/* === 1. Yazı tipi ======================================================== *
 * Inter — SIL OFL 1.1 (static/fonts/OFL.txt). Google Fonts alt kümeleri:
 * latin (ç ö ü ı) ve latin-ext (ğ ş İ Ğ Ş); Türkçe için ikisi de gerekli.
 * Adresler bu dosyaya göredir (fonts/…): sunucuda /static/fonts/…, dosyadan
 * açılan örnek sayfada da aynı klasör. Değişken ağırlık 100–900, opsz 14–32. */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-latin-ext-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-latin-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-latin-ext-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-latin-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* === 2. Token'lar ======================================================== *
 * Değerler belge §3.2–3.7'den; kontrast oranları orada hesaplı (WCAG AA).
 * Gece aynı adları yeniden tanımlar: <html data-tema="gece"> (tema.js) ya da
 * hiç seçim yoksa işletim sisteminin koyu tercihi. Sıra önemli: açık seçim
 * işletim sistemini geçer. */

:root {
  color-scheme: light;

  /* Yüzeyler ve çizgiler */
  --zemin: #F7F7F8;            /* sayfa ve kenar menü zemini */
  --yuzey: #FFFFFF;            /* kart, tablo, girdi */
  --yuzey-2: #F2F2F4;          /* tablo başlığı, satır üstü, ikincil alan */
  --yuzey-3: #EAEAED;          /* seçili menü öğesi, basılı düğme */
  --cizgi: #E3E3E7;            /* kart kenarı, ayraç (süs) */
  --cizgi-guclu: #CFCFD5;      /* ikincil düğme kenarı, üstüne gelince kart */
  --girdi-kenar: #85868F;      /* metin kutusu, onay kutusu — 3:1 üstü */

  /* Metin */
  --metin: #16171B;            /* 17,9:1 */
  --metin-2: #4A4C55;          /* ikincil metin, etiket — 8,5:1 */
  --metin-3: #62646E;          /* yardım, zaman damgası, yer tutucu — 5,9:1 */

  /* Vurgu: kurum laciverti (Excel başlık rengi) */
  --vurgu: #1F4E78;
  --vurgu-ustu: #1A4265;
  --vurgu-ton: #EDF3F9;
  --vurgu-metin: #1A4265;
  --vurgu-cizgi: #C4D6EA;
  --birincil: #1F4E78;         /* dolu düğme zemini (gece ayrı ton) */
  --birincil-ustu: #1A4265;
  --birincil-yazi: #FFFFFF;
  --odak: #2F6DB5;

  /* Durum renkleri — yalnız durum için */
  --olumlu: #0E7043;  --olumlu-ton: #EAF6EF;  --olumlu-cizgi: #B5DEC6;
  --uyari:  #8A5300;  --uyari-ton:  #FFF5DE;  --uyari-cizgi:  #F1D595;
  --olumsuz:#B42318;  --olumsuz-ton:#FDEEEC;  --olumsuz-cizgi:#F5C4BE;
  --bilgi:  #1F5F99;  --bilgi-ton:  #EDF4FB;  --bilgi-cizgi:  #C4D9EF;
  --tehlike: #B42318;  --tehlike-ustu: #912018;

  /* "Akıllı" katman — yalnız programın gerçekten yaptığı otomatik işler */
  --akilli: #4B3FC4;  --akilli-ton: #F1F0FE;  --akilli-cizgi: #D9D5FB;
  --akilli-degrade: linear-gradient(120deg, #3E63DD, #6E56CF 60%, #8E4EC6);

  /* Marka ve özel */
  --altin: #B8892B;
  --altin-metin: #7A5410;
  --isaret: #FFE58A;           /* arama sonucunda <mark> */
  --ipucu-zemin: #16171B;
  --ipucu-metin: #FFFFFF;

  /* Canlı günlük — iki kipte de koyu */
  --gunluk-zemin: #0E141D;
  --gunluk-cizgi: #1F2835;
  --gunluk-metin: #D5DEEA;
  --gunluk-soluk: #8E9BB0;
  --gunluk-hata: #FF8A80;
  --gunluk-uyari: #F2C063;
  --gunluk-olumlu: #6FD3A0;
  --gunluk-bilgi: #9CC3F0;

  /* Yükselti (belge §3.6) */
  --golge-1: 0 1px 2px rgba(16, 24, 40, .04);
  --golge-2: 0 8px 24px -6px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);
  --golge-3: 0 24px 48px -12px rgba(16, 24, 40, .22);
  --katman-yuzey: #FFFFFF;     /* açılır katman, palet, çekmece, bildirim */
  --katman-cizgi: #E3E3E7;
  --perde: rgba(15, 20, 30, .32);
  --ust-zemin: rgba(255, 255, 255, .86);
  --kaydirma: #C9C9D0;

  /* Tipografi (belge §3.4) */
  --yazi: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;
  --yazi-evrak: "Charter", "Georgia", "Times New Roman", serif;   /* karar/evrak metni: tırnaklı kalır */
  --yazi-sabit: "Cascadia Mono", "Cascadia Code", Consolas, ui-monospace, monospace;
  --t-11: 11px; --t-12: 12px; --t-13: 13px; --t-14: 14px; --t-15: 15px;
  --t-16: 16px; --t-18: 18px; --t-24: 24px; --t-30: 30px; --t-36: 36px;

  /* Boşluk (4 px tabanlı) */
  --a-1: 4px; --a-2: 8px; --a-3: 12px; --a-4: 16px; --a-5: 20px; --a-6: 24px;
  --a-8: 32px; --a-10: 40px; --a-12: 48px; --a-16: 64px;

  /* Köşe */
  --r-1: 6px; --r-2: 8px; --r-3: 12px; --r-4: 16px; --r-tam: 999px;

  /* Hareket (IBM Carbon "productive") */
  --h-1: 110ms;
  --h-2: 150ms;
  --h-3: 240ms;
  --h-ilerleme: 400ms;
  --egri: cubic-bezier(0.2, 0, 0.38, 0.9);
  --egri-giris: cubic-bezier(0, 0, 0.38, 0.9);
  --egri-cikis: cubic-bezier(0.2, 0, 1, 0.9);

  /* Yerleşim */
  --kenar-genislik: 240px;
  --kenar-dar: 56px;
  --ust-h: 53px;               /* üst çubuk + çizgisi; arayuz.js ölçüp günceller */
  --icerik-max: 1200px;

  /* Seçim kutusu oku ve arama simgesi (dış dosya yok) */
  --secim-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2362646E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --arama-simge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2362646E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");

  /* Eski adlar (uyumluluk): yeni token'lara bağlı. Yeni kodda kullanmayın. */
  --kagit: var(--zemin);
  --panel: var(--yuzey);
  --panel-alt: var(--yuzey-2);
  --murekkep: var(--metin);
  --baslik: var(--metin);
  --soluk: var(--metin-2);
  --cizgi-koyu: var(--cizgi-guclu);
  --baglanti: var(--vurgu);
  --dugme: var(--birincil);
  --dugme-ustu: var(--birincil-ustu);
  --vurgu-koyu: var(--vurgu-metin);
  --altin-yazi: var(--altin-metin);
}

:root[data-tema="gece"] {
  color-scheme: dark;
  --zemin: #0D0E10;
  --yuzey: #141518;
  --yuzey-2: #1A1B1F;
  --yuzey-3: #212227;
  --cizgi: #2A2B31;
  --cizgi-guclu: #36373E;
  --girdi-kenar: #6C6E78;
  --metin: #EDEDEF;
  --metin-2: #A9AAB2;
  --metin-3: #8A8C96;
  --vurgu: #8DB8EA;
  --vurgu-ustu: #B3D0F2;
  --vurgu-ton: #132740;
  --vurgu-metin: #B3D0F2;
  --vurgu-cizgi: #22406A;
  --birincil: #2A66A8;
  --birincil-ustu: #3374BB;
  --odak: #6FA3E0;
  --olumlu: #4FC98D;  --olumlu-ton: #0D2A1C;  --olumlu-cizgi: #1E4D35;
  --uyari:  #EDB658;  --uyari-ton:  #2A2010;  --uyari-cizgi:  #54401A;
  --olumsuz:#F38D82;  --olumsuz-ton:#2D1616;  --olumsuz-cizgi:#5C2626;
  --bilgi:  #8DB8EA;  --bilgi-ton:  #10233A;  --bilgi-cizgi:  #22406A;
  --tehlike: #C23A2E;  --tehlike-ustu: #A93226;
  --akilli: #AFB6FF;  --akilli-ton: #1B1A3A;  --akilli-cizgi: #34306A;
  --akilli-degrade: linear-gradient(120deg, #5B7BFF, #8B73F0 60%, #B07CE6);
  --altin: #D9A93F;
  --altin-metin: #E6C16C;
  --isaret: #5C4A12;
  --ipucu-zemin: #2A2B31;
  --ipucu-metin: #EDEDEF;
  --gunluk-zemin: #0A0F16;
  --gunluk-cizgi: #22262E;
  --golge-1: none;
  --golge-2: 0 8px 24px rgba(0, 0, 0, .45);
  --golge-3: 0 24px 48px rgba(0, 0, 0, .6);
  --katman-yuzey: #1A1B1F;
  --katman-cizgi: #36373E;
  --perde: rgba(0, 0, 0, .55);
  --ust-zemin: rgba(20, 21, 24, .86);
  --kaydirma: #3A3B42;
  --secim-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8C96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --arama-simge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8C96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}

/* Betik çalışmadıysa ya da henüz bir seçim yapılmadıysa işletim sistemi. */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema]) {
    color-scheme: dark;
    --zemin: #0D0E10;
    --yuzey: #141518;
    --yuzey-2: #1A1B1F;
    --yuzey-3: #212227;
    --cizgi: #2A2B31;
    --cizgi-guclu: #36373E;
    --girdi-kenar: #6C6E78;
    --metin: #EDEDEF;
    --metin-2: #A9AAB2;
    --metin-3: #8A8C96;
    --vurgu: #8DB8EA;
    --vurgu-ustu: #B3D0F2;
    --vurgu-ton: #132740;
    --vurgu-metin: #B3D0F2;
    --vurgu-cizgi: #22406A;
    --birincil: #2A66A8;
    --birincil-ustu: #3374BB;
    --odak: #6FA3E0;
    --olumlu: #4FC98D;  --olumlu-ton: #0D2A1C;  --olumlu-cizgi: #1E4D35;
    --uyari:  #EDB658;  --uyari-ton:  #2A2010;  --uyari-cizgi:  #54401A;
    --olumsuz:#F38D82;  --olumsuz-ton:#2D1616;  --olumsuz-cizgi:#5C2626;
    --bilgi:  #8DB8EA;  --bilgi-ton:  #10233A;  --bilgi-cizgi:  #22406A;
    --tehlike: #C23A2E;  --tehlike-ustu: #A93226;
    --akilli: #AFB6FF;  --akilli-ton: #1B1A3A;  --akilli-cizgi: #34306A;
    --akilli-degrade: linear-gradient(120deg, #5B7BFF, #8B73F0 60%, #B07CE6);
    --altin: #D9A93F;
    --altin-metin: #E6C16C;
    --isaret: #5C4A12;
    --ipucu-zemin: #2A2B31;
    --ipucu-metin: #EDEDEF;
    --gunluk-zemin: #0A0F16;
    --gunluk-cizgi: #22262E;
    --golge-1: none;
    --golge-2: 0 8px 24px rgba(0, 0, 0, .45);
    --golge-3: 0 24px 48px rgba(0, 0, 0, .6);
    --katman-yuzey: #1A1B1F;
    --katman-cizgi: #36373E;
    --perde: rgba(0, 0, 0, .55);
    --ust-zemin: rgba(20, 21, 24, .86);
    --kaydirma: #3A3B42;
    --secim-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8C96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    --arama-simge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8C96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  }
}

:root[data-tema="gunduz"] { color-scheme: light; }

/* === 3. Temel ============================================================ */

/* `hidden` her zaman gizler: sayfaların betikleri soru kutusunu, bekleme
   kutusunu, mikrofonu bu öznitelikle açıp kapatıyor; aşağıda kutulara
   `display` verildiği için bu kural olmadan gizli kutular görünürdü. */
[hidden] { display: none !important; }

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  /* Odak yapışkan üst çubuğun (ve açık soru kutusunun) altında kalmasın (WCAG 2.4.11). */
  scroll-padding-top: calc(var(--ust-h) + 16px + var(--soru-h, 0px));
  scrollbar-color: var(--kaydirma) transparent;
}

body {
  margin: 0;
  font-family: var(--yazi);
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -.006em;
  font-optical-sizing: auto;
  font-feature-settings: "liga" 1, "calt" 1;
  background: var(--zemin);
  color: var(--metin);
}
:root[data-tema="gece"] body { -webkit-font-smoothing: antialiased; }
@media (prefers-color-scheme: dark) { :root:not([data-tema]) body { -webkit-font-smoothing: antialiased; } }

::selection { background: color-mix(in srgb, var(--odak) 26%, transparent); }

img, svg, video { max-width: 100%; }
svg { flex-shrink: 0; }
/* Satır içi çizgi ikon (base.html → ikon()). Rengi yazıdan alır; boyutu bağlam verir. */
.ikon { display: inline-block; vertical-align: middle; width: 18px; height: 18px; }

h1, h2, h3, h4 { color: var(--metin); font-weight: 600; }
h1 { font-size: 24px; line-height: 32px; letter-spacing: -.02em; margin: 0 0 8px; }
h2 { font-size: 18px; line-height: 26px; letter-spacing: -.014em; margin: 32px 0 12px; }
h3 { font-size: 16px; line-height: 24px; letter-spacing: -.011em; margin: 24px 0 8px; }
h4 { font-size: 14px; line-height: 20px; margin: 16px 0 4px; }
p { margin: 0 0 12px; }
ul, ol { padding-left: 1.35em; margin: 0 0 12px; }
li { margin: 2px 0; }
hr { border: 0; border-top: 1px solid var(--cizgi); margin: 24px 0; }
strong, b { font-weight: 600; }
small { font-size: 12px; line-height: 16px; }

a {
  color: var(--vurgu);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
  text-underline-offset: 2px;
  transition: color var(--h-1) var(--egri), text-decoration-color var(--h-1) var(--egri);
}
a:hover { color: var(--vurgu-ustu); text-decoration-color: currentColor; }

/* Odak: her etkileşimli öğede 2 px çerçeve. Kutu gölgesiyle yapılmaz —
   Windows yüksek karşıtlık kipinde görünmüyor (belge §3.10). */
:focus-visible { outline: 2px solid var(--odak); outline-offset: 2px; }
:focus:not(:focus-visible) { outline: none; }

code, kbd, samp, pre { font-family: var(--yazi-sabit); }
code {
  font-size: .86em;
  background: var(--yuzey-2);
  color: var(--metin);
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  padding: .05em .35em;
}
kbd {
  display: inline-block;
  min-width: 20px;
  padding: 0 5px;
  font-family: var(--yazi);
  font-size: 11px;
  line-height: 18px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  color: var(--metin-3);
  background: var(--yuzey);
  border: 1px solid var(--cizgi-guclu);
  border-bottom-width: 2px;
  border-radius: 4px;
}
kbd + kbd { margin-left: 2px; }
pre { font-size: 13px; line-height: 20px; }

.tnum, time { font-variant-numeric: tabular-nums; }
/* Yalnız ekran okuyucunun okuduğu metin. */
.gorunmez {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* === 4. Kabuk (base.html) =============================================== */

.duzen { display: flex; min-height: 100vh; align-items: stretch; }

.atla {
  position: absolute; left: -9999px; top: 8px; z-index: 100;
  background: var(--birincil); color: var(--birincil-yazi);
  padding: 8px 14px; border-radius: var(--r-1);
  font-weight: 500; text-decoration: none;
}
.atla:focus { left: 8px; }

/* --- Kenar menü: açık, soluk; içerik öne çıksın (Linear 2026) --- */
.kenar {
  width: var(--kenar-genislik);
  flex: 0 0 var(--kenar-genislik);
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--zemin);
  border-right: 1px solid var(--cizgi);
  z-index: 40;
  transition: width var(--h-2) var(--egri), flex-basis var(--h-2) var(--egri);
}

.kenar-ust { display: flex; flex-direction: column; gap: 12px; padding: 14px 12px 8px; }

.marka {
  display: flex; align-items: center; gap: 10px;
  padding: 4px;
  border-radius: var(--r-2);
  color: var(--metin);
  text-decoration: none;
}
.marka:hover { background: var(--yuzey-2); color: var(--metin); }
.marka-isaret {
  position: relative;
  width: 30px; height: 30px; flex: 0 0 30px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: linear-gradient(150deg, #2A6496 0%, #1F4E78 55%, #173D5F 100%);
  color: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 1px 2px rgba(16, 24, 40, .18);
}
.marka-isaret .ikon { width: 18px; height: 18px; }
/* Altının tek kullanımı: marka işaretinde bir nokta (belge §1.2). */
.marka-isaret::after {
  content: "";
  position: absolute; right: -2px; top: -2px;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--altin);
  box-shadow: 0 0 0 2px var(--zemin);
}
.marka-yazi { display: flex; flex-direction: column; min-width: 0; }
.marka-ad { font-size: 14px; line-height: 18px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
.marka-alt { font-size: 12px; line-height: 16px; color: var(--metin-3); white-space: nowrap; }

/* Komut paleti tetikleyicisi: arama kutusu görünümlü düğme. */
.palet-ac {
  display: flex; align-items: center; gap: 8px;
  width: 100%; min-height: 32px;
  padding: 0 6px 0 9px;
  font: 400 13px/20px var(--yazi);
  letter-spacing: -.003em;
  color: var(--metin-3);
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-1);
  box-shadow: var(--golge-1);
  cursor: pointer;
  text-align: left;
  transition: border-color var(--h-1) var(--egri), color var(--h-1) var(--egri);
}
.palet-ac:hover { border-color: var(--cizgi-guclu); color: var(--metin-2); }
.palet-ac .ikon { width: 16px; height: 16px; }
.palet-ac-ad { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.palet-ac-kisayol { display: inline-flex; flex: 0 0 auto; }

.kenar-menu {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 4px 8px 8px;
  scrollbar-width: thin;
}
.menu-grup { margin-top: 14px; }
.menu-grup:first-child { margin-top: 4px; }
.menu-grup h2 {
  font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0;
  color: var(--metin-3);
  margin: 0 0 4px; padding: 0 8px;
  white-space: nowrap;
}
/* Son grup (Ayarlar) menünün dibine oturur. */
.menu-grup-alt { margin-top: auto; padding-top: 12px; }
.menu-grup-cizgili { border-top: 1px solid var(--cizgi); padding-top: 8px; }

.kenar-menu a {
  position: relative;
  display: flex; align-items: center; gap: 10px;
  min-height: 30px;
  padding: 0 8px;
  margin: 1px 0;
  border-radius: var(--r-1);
  color: var(--metin-2);
  text-decoration: none;
  font-size: 13px; line-height: 20px; font-weight: 500;
  letter-spacing: -.003em;
  transition: background-color var(--h-1) var(--egri), color var(--h-1) var(--egri);
}
.kenar-menu a .ikon { width: 18px; height: 18px; color: var(--metin-3); transition: color var(--h-1) var(--egri); }
.kenar-menu a:hover { background: var(--yuzey-2); color: var(--metin); }
.kenar-menu a:hover .ikon { color: var(--metin-2); }
.kenar-menu a.secili { background: var(--yuzey-3); color: var(--metin); font-weight: 600; }
.kenar-menu a.secili .ikon { color: var(--vurgu); }
.kenar-menu a:focus-visible, .marka:focus-visible, .palet-ac:focus-visible { outline-offset: -2px; }
.menu-ad { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* UYAP öğelerinde canlı nokta: iş sürüyor (mavi, nabız) / cevap bekleniyor (kırmızı).
   Veri: arayuz.js "uyap-durum" (30 sn'de bir, yalnız okur). */
.kenar-menu a[data-canli]::after {
  content: "";
  flex: 0 0 auto;
  width: 7px; height: 7px; border-radius: 50%;
  margin-left: auto;
  background: var(--bilgi);
  color: var(--bilgi);
  animation: nabiz 1.6s ease-in-out infinite;
}
.kenar-menu a[data-canli="soru"]::after { background: var(--olumsuz); color: var(--olumsuz); animation-duration: 1s; }

.kenar-alt {
  padding: 8px 12px 12px;
  border-top: 1px solid var(--cizgi);
}
.tema-bilgi {
  margin: 0 4px 6px;
  font-size: 12px; line-height: 16px;
  color: var(--metin-3);
}
.tema-bilgi a { color: var(--metin-2); }
.kenar .menu-daralt {
  display: flex; align-items: center; justify-content: flex-start; gap: 10px;
  width: 100%; min-height: 30px;
  padding: 0 8px;
  background: transparent;
  color: var(--metin-3);
  border: 0;
  border-radius: var(--r-1);
  box-shadow: none;
  font: 500 12px/16px var(--yazi);
  cursor: pointer;
}
.kenar .menu-daralt:hover { background: var(--yuzey-2); color: var(--metin); }
.kenar .menu-daralt .ikon { width: 16px; height: 16px; transition: transform var(--h-2) var(--egri); }

/* Daraltılmış menü (yalnız geniş ekranda; tercih tarayıcıda saklanır). */
@media (min-width: 901px) {
  html[data-menu="dar"] .kenar { width: var(--kenar-dar); flex-basis: var(--kenar-dar); }
  html[data-menu="dar"] .marka-yazi,
  html[data-menu="dar"] .menu-grup h2,
  html[data-menu="dar"] .menu-ad,
  html[data-menu="dar"] .palet-ac-ad,
  html[data-menu="dar"] .palet-ac-kisayol,
  html[data-menu="dar"] .tema-bilgi,
  html[data-menu="dar"] .menu-daralt-ad { display: none; }
  html[data-menu="dar"] .kenar-ust { padding: 14px 8px 8px; align-items: center; }
  html[data-menu="dar"] .marka { padding: 3px; }
  html[data-menu="dar"] .palet-ac { justify-content: center; padding: 0; width: 36px; }
  html[data-menu="dar"] .kenar-menu { padding: 4px 10px 8px; }
  html[data-menu="dar"] .kenar-menu a { justify-content: center; padding: 0; }
  html[data-menu="dar"] .kenar-menu a[data-canli]::after { position: absolute; right: 3px; top: 4px; margin: 0; }
  html[data-menu="dar"] .menu-grup + .menu-grup { border-top: 1px solid var(--cizgi); padding-top: 8px; margin-top: 8px; }
  html[data-menu="dar"] .kenar-alt { padding: 8px 10px 12px; }
  html[data-menu="dar"] .kenar .menu-daralt { justify-content: center; padding: 0; }
  html[data-menu="dar"] .kenar .menu-daralt .ikon { transform: rotate(180deg); }
}

/* --- Sağ sütun: üst çubuk + içerik --- */
.ana { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }

.ust-cubuk {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 8px 32px;
  background: var(--ust-zemin);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--cizgi);
}

.ust-dugme {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; min-height: 32px; padding: 0;
  background: transparent;
  color: var(--metin-2);
  border: 1px solid transparent;
  border-radius: var(--r-1);
  box-shadow: none;
  cursor: pointer;
}
.ust-dugme:hover { background: var(--yuzey-2); color: var(--metin); }
.ust-dugme .ikon { width: 20px; height: 20px; }
.menu-ac, .ust-ara { display: none; }

.yol-izi {
  flex: 1 1 auto;
  min-width: 0;
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; line-height: 20px;
  color: var(--metin-3);
  white-space: nowrap;
  overflow: hidden;
}
.yol-izi .ikon { width: 14px; height: 14px; color: var(--cizgi-guclu); }
.yol-izi a { color: var(--metin-3); text-decoration: none; }
.yol-izi a:hover { color: var(--metin); text-decoration: underline; }
.yol-grup { flex-shrink: 0; }
.yol-sayfa { color: var(--metin); font-weight: 500; overflow: hidden; text-overflow: ellipsis; min-width: 0; }

/* UYAP durum hapı (yalnız okur; arayuz.js 30 sn'de bir). */
.uyap-rozet {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 30px;
  max-width: 380px;
  min-width: 0;
  padding: 0 12px 0 10px;
  border: 1px solid var(--cizgi-guclu);
  border-radius: var(--r-tam);
  background: var(--yuzey);
  color: var(--metin);
  font-size: 13px; line-height: 18px; font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 1;
  transition: background-color var(--h-1) var(--egri), border-color var(--h-1) var(--egri);
}
.uyap-rozet:hover { border-color: var(--metin-3); color: var(--metin); }
.uyap-rozet-ad { font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--metin-3); }
.uyap-rozet-metin { overflow: hidden; text-overflow: ellipsis; min-width: 0; font-variant-numeric: tabular-nums; }
.uyap-nokta { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--cizgi-guclu); color: var(--cizgi-guclu); }
.uyap-rozet[data-durum="bosta"] .uyap-nokta { background: var(--olumlu); color: var(--olumlu); }
.uyap-rozet[data-durum="suruyor"] { background: var(--bilgi-ton); border-color: var(--bilgi-cizgi); color: var(--vurgu-metin); }
.uyap-rozet[data-durum="suruyor"] .uyap-rozet-ad { color: var(--bilgi); }
.uyap-rozet[data-durum="suruyor"] .uyap-nokta { background: var(--bilgi); color: var(--bilgi); animation: nabiz 1.6s ease-in-out infinite; }
.uyap-rozet[data-durum="soru"] { background: var(--olumsuz-ton); border-color: var(--olumsuz); color: var(--olumsuz); }
.uyap-rozet[data-durum="soru"] .uyap-rozet-ad { color: var(--olumsuz); }
.uyap-rozet[data-durum="soru"] .uyap-nokta { background: var(--olumsuz); color: var(--olumsuz); animation: nabiz 1s ease-in-out infinite; }
.uyap-rozet[data-durum="bilinmiyor"] .uyap-nokta { background: var(--uyari); color: var(--uyari); }

@keyframes nabiz {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 45%, transparent); }
  50%      { box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 0%, transparent); }
}
@keyframes don { to { transform: rotate(360deg); } }

/* Tema anahtarı: üç ikon (Gündüz / Gece / Otomatik); yazılar ekran okuyucuya. */
.tema-secenekler {
  display: inline-flex;
  flex-shrink: 0;
  gap: 2px;
  padding: 2px;
  border-radius: var(--r-2);
  background: var(--yuzey-2);
  border: 1px solid var(--cizgi);
}
.tema-secenekler button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 26px; min-height: 26px;
  padding: 0;
  border: 0;
  border-radius: var(--r-1);
  background: transparent;
  color: var(--metin-3);
  box-shadow: none;
  cursor: pointer;
  transition: background-color var(--h-1) var(--egri), color var(--h-1) var(--egri);
}
.tema-secenekler button .ikon { width: 15px; height: 15px; }
.tema-secenekler button:hover { color: var(--metin); }
.tema-secenekler button[aria-pressed="true"] {
  background: var(--yuzey);
  color: var(--metin);
  box-shadow: 0 1px 2px rgba(16, 24, 40, .08), 0 0 0 1px var(--cizgi);
}
.tema-ad {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* Eski yerleşimden kalan kutu (kullanılmıyor). */
.tema { margin: 0; }

.kenar-perde { display: none; }

/* --- İçerik alanı --- */
.content {
  flex: 1 0 auto;
  width: 100%;
  min-width: 0;
  max-width: var(--icerik-max);
  margin: 0 auto;
  padding: 28px 32px 72px;
  overflow-wrap: break-word;   /* boşluksuz uzun sözcük (yol, künye) satırı taşırmasın */
}
/* Genişlik kalıpları (belge §3.5): base.html {% block icerik_sinif %} ile verilir. */
.content.icerik-genis { max-width: none; }
.content.icerik-dar { max-width: calc(880px + 64px); }
.icerik-dar { max-width: 880px; }
.content > :last-child { margin-bottom: 0; }

/* --- Komut paleti (Ctrl+K) — yalnız gezinir ve arar --- */
.palet {
  width: min(640px, calc(100vw - 32px));
  max-width: none;
  max-height: none;
  margin: 15vh auto auto;
  padding: 0;
  border: 1px solid var(--katman-cizgi);
  border-radius: var(--r-4);
  background: var(--katman-yuzey);
  color: var(--metin);
  box-shadow: var(--golge-3);
  overflow: hidden;
}
.palet[open] { display: flex; flex-direction: column; animation: katman-gir var(--h-3) var(--egri-giris); }
.palet::backdrop { background: var(--perde); }
.palet-giris {
  display: flex; align-items: center; gap: 10px;
  margin: 0;
  padding: 0 16px;
  border-bottom: 1px solid var(--cizgi);
}
.palet-giris > .ikon { width: 18px; height: 18px; color: var(--metin-3); }
.palet .palet-giris input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 52px;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--metin);
  font: 400 16px/24px var(--yazi);
  letter-spacing: -.011em;
  -webkit-appearance: none;
  appearance: none;
}
.palet .palet-giris input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.palet .palet-giris input:focus-visible { outline: 0; }
#palet-liste {
  list-style: none;
  margin: 0;
  padding: 6px 8px 8px;
  max-height: min(420px, 60vh);
  overflow: auto;
  overscroll-behavior: contain;
}
.palet-grup {
  margin: 0;
  padding: 10px 8px 4px;
  font: 500 12px/16px var(--yazi);
  color: var(--metin-3);
}
.palet [role="option"] {
  display: flex; align-items: center; gap: 10px;
  min-height: 38px;
  margin: 0;
  padding: 0 10px;
  border-radius: var(--r-2);
  font-size: 14px; line-height: 20px;
  color: var(--metin);
  cursor: pointer;
}
.palet [role="option"] .ikon { width: 16px; height: 16px; color: var(--metin-3); }
.palet [role="option"][aria-selected="true"] { background: var(--yuzey-3); }
.palet [role="option"][aria-selected="true"] .ikon { color: var(--vurgu); }
.palet-ad { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.palet-ad mark { background: transparent; color: inherit; font-weight: 600; padding: 0; }
.palet-ek { margin-left: auto; padding-left: 12px; font-size: 12px; color: var(--metin-3); white-space: nowrap; }
.palet-bos { padding: 20px 10px; font-size: 13px; color: var(--metin-3); list-style: none; }
.palet-alt {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px;
  padding: 8px 16px;
  border-top: 1px solid var(--cizgi);
  background: var(--yuzey-2);
  font-size: 12px; line-height: 18px;
  color: var(--metin-3);
}
.palet-alt-not { margin-left: auto; }

/* --- Bildirimler (toast) — yalnız geçici onay (belge §4.15) --- */
.bildirimler {
  position: fixed;
  right: 24px; bottom: 24px;
  z-index: 80;
  display: flex; flex-direction: column; gap: 8px;
  width: min(380px, calc(100vw - 32px));
  pointer-events: none;
}
.bildirim {
  pointer-events: auto;
  display: grid;
  grid-template-columns: 20px 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 12px 10px 12px 14px;
  background: var(--katman-yuzey);
  color: var(--metin);
  border: 1px solid var(--katman-cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-2);
  font-size: 14px; line-height: 20px;
  animation: bildirim-gir var(--h-3) var(--egri-giris);
}
.bildirim > .ikon { width: 20px; height: 20px; color: var(--bilgi); }
.bildirim p { margin: 0; padding-top: 0; }
.bildirim[data-ton="olumlu"] > .ikon { color: var(--olumlu); }
.bildirim[data-ton="uyari"] > .ikon { color: var(--uyari); }
.bildirim[data-ton="olumsuz"] { border-color: var(--olumsuz-cizgi); }
.bildirim[data-ton="olumsuz"] > .ikon { color: var(--olumsuz); }
.bildirim.cikiyor { opacity: 0; transform: translateY(4px); transition: opacity var(--h-2) var(--egri-cikis), transform var(--h-2) var(--egri-cikis); }
.bildirim .dugme-ikon { margin: -4px -2px -4px 0; }
@keyframes bildirim-gir { from { opacity: 0; transform: translateY(8px); } }
@keyframes katman-gir { from { opacity: 0; transform: translateY(-6px) scale(.99); } }

/* === 5. Bileşenler ======================================================= *
 * Adlar Türkçe, tireli, tek düzey. Durum `data-` özniteliğiyle verilir
 * (data-durum, data-ton, data-yogunluk), değiştirici sınıfla değil. */

/* --- 4.2 Sayfa üstü --- */
.sayfa-ust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 24px;
  align-items: end;
  margin: 0 0 24px;
}
.sayfa-ust h1 { margin: 0; }
.sayfa-ust-metin { min-width: 0; }
.sayfa-ust-ust {                 /* tarih / bağlam üst yazısı */
  margin: 0 0 2px;
  font-size: 12px; line-height: 16px; font-weight: 500;
  letter-spacing: .01em;
  color: var(--altin-metin);
}
.sayfa-ust-aciklama { margin: 4px 0 0; font-size: 14px; line-height: 20px; color: var(--metin-2); max-width: 68ch; }
.sayfa-ust-eylem { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.sayfa-ust .sekmeler, .sayfa-ust .kunye-cipleri { grid-column: 1 / -1; }
.sayfa-ust .sekmeler { margin: 8px 0 0; }

/* "Nasıl çalışır?" gibi metin düğmeleri (bağlantı görünümlü). */
.bilgi-ac {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 0; margin: 0 0 0 4px;
  border: 0; background: none; box-shadow: none; min-height: 0;
  font: 500 14px/20px var(--yazi);
  color: var(--vurgu);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
  text-underline-offset: 2px;
}
.bilgi-ac:hover { color: var(--vurgu-ustu); text-decoration-color: currentColor; }

/* --- 4.3 Açıklama metinleri: katlanır "Nasıl çalışır?" --- */
details.nasil, .nasil {
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  background: var(--yuzey);
  margin: 0 0 24px;
}
.nasil > summary {
  list-style: none;
  display: flex; gap: 8px; align-items: center;
  width: auto;
  padding: 12px 16px;
  margin: 0;
  font: 500 14px/20px var(--yazi);
  color: var(--metin-2);
  cursor: pointer;
  border-radius: var(--r-3);
}
.nasil > summary::-webkit-details-marker { display: none; }
.nasil > summary:hover { color: var(--metin); }
.nasil > summary > .ikon { width: 16px; height: 16px; color: var(--metin-3); }
.nasil > summary::after {
  content: "";
  margin-left: auto;
  width: 16px; height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform var(--h-2) var(--egri);
}
.nasil[open] > summary { margin-bottom: 0; }
.nasil[open] > summary::after { transform: rotate(180deg); }
.nasil-govde { padding: 0 16px 16px 40px; font-size: 15px; line-height: 24px; color: var(--metin-2); max-width: 76ch; }
.nasil-govde > :last-child { margin-bottom: 0; }
.nasil-govde h3 { font-size: 15px; margin: 16px 0 4px; color: var(--metin); }
.nasil-govde ol, .nasil-govde ul { padding-left: 1.2em; }
.nasil-govde li + li { margin-top: 6px; }
/* Yardım sayfası (sık sorulanlar): katlanır sorular arka arkaya, sık aralıkla. */
.sss > .nasil { margin: 0 0 8px; }
.sss .nasil-govde > * + * { margin-top: 8px; }

/* Kaynak / yasal dayanak satırı (hesaplamaların altında). */
.kaynak-satir { font-size: 12px; line-height: 16px; color: var(--metin-3); margin: 12px 0 0; }
.kaynak-satir a { color: var(--metin-2); }

/* --- Bilgi ipucu (ⓘ): üstüne gelince ya da odakta açılır, Esc kapatır --- */
.ipucu { position: relative; display: inline-flex; vertical-align: middle; }
.ipucu-dugme {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; min-height: 18px;
  padding: 0; margin: -2px 0 0 2px;
  border: 0; border-radius: 50%;
  background: none; box-shadow: none;
  color: var(--metin-3);
  cursor: help;
}
.ipucu-dugme:hover { color: var(--metin); }
.ipucu-dugme .ikon { width: 14px; height: 14px; }
.ipucu-metin {
  position: absolute;
  left: 50%; top: calc(100% + 6px);
  z-index: 60;
  width: max-content;
  max-width: min(300px, 80vw);
  padding: 8px 10px;
  border-radius: var(--r-2);
  background: var(--ipucu-zemin);
  color: var(--ipucu-metin);
  font: 400 12px/17px var(--yazi);
  letter-spacing: 0;
  text-align: left;
  white-space: normal;
  box-shadow: var(--golge-2);
  /* Gizliyken display:none — görünmez ama yer tutan kutu dar ekranda yatay
     kaydırma yaratıyordu. */
  display: none;
  transform: translateX(-50%);
  pointer-events: none;
}
.ipucu:hover .ipucu-metin, .ipucu:focus-within .ipucu-metin { display: block; animation: ipucu-gir var(--h-2) var(--egri-giris); }
.ipucu.kapali .ipucu-metin { display: none !important; }
.ipucu[data-yon="sol"] .ipucu-metin { left: auto; right: -6px; transform: none; }
.ipucu[data-yon="sag"] .ipucu-metin { left: -6px; transform: none; }
@keyframes ipucu-gir { from { opacity: 0; } }

/* --- 4.4 Kart / bölüm --- */
.kart {
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-1);
  margin: 0 0 24px;
  min-width: 0;
}
.kart-ust { display: flex; align-items: center; gap: 8px; padding: 16px 20px 0; min-height: 40px; flex-wrap: wrap; }
.kart-ust h2, .kart-ust h3 { font-size: 16px; line-height: 24px; font-weight: 600; letter-spacing: -.011em; margin: 0; }
.kart-ust h2 > .ikon, .kart-ust h3 > .ikon { width: 16px; height: 16px; color: var(--metin-3); margin: -2px 6px 0 0; }
.kart-ust-sayi {
  font: 500 12px/16px var(--yazi);
  color: var(--metin-2);
  background: var(--yuzey-2);
  border-radius: var(--r-tam);
  padding: 2px 8px;
  font-variant-numeric: tabular-nums;
}
.kart-ust-bag, .kart-ust-sag { margin-left: auto; }
.kart-ust-bag {
  display: inline-flex; align-items: center; gap: 2px;
  font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap;
}
.kart-ust-bag .ikon { width: 14px; height: 14px; }
.kart-ust-bag:hover { text-decoration: underline; }
.kart-ust-sag { display: flex; gap: 8px; align-items: center; }
.kart-govde { padding: 12px 20px 20px; }
.kart-govde > :last-child { margin-bottom: 0; }
.kart-alt {
  border-top: 1px solid var(--cizgi);
  padding: 12px 20px;
  font-size: 12px; line-height: 16px;
  color: var(--metin-3);
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
}
.kart-bolum { border-top: 1px solid var(--cizgi); padding-top: 16px; margin-top: 16px; }
.kart-grup-baslik { margin: 16px 0 4px; font: 500 12px/16px var(--yazi); color: var(--metin-3); }
.kart-govde > .kart-grup-baslik:first-child { margin-top: 0; }
/* Kartın içindeki tablo kenardan kenara. */
.kart > .tablo, .kart > .tablo-kaydir { margin-top: 12px; }
.kart > .tablo, .kart > .tablo-kaydir > .tablo { border: 0; border-radius: 0; box-shadow: none; }
.kart > .tablo:last-child tbody tr:last-child td:first-child,
.kart > .tablo-kaydir:last-child .tablo tbody tr:last-child td:first-child { border-bottom-left-radius: var(--r-3); }
.kart > .tablo:last-child tbody tr:last-child td:last-child,
.kart > .tablo-kaydir:last-child .tablo tbody tr:last-child td:last-child { border-bottom-right-radius: var(--r-3); }
.kart > .tablo th:first-child, .kart > .tablo td:first-child,
.kart > .tablo-kaydir > .tablo th:first-child, .kart > .tablo-kaydir > .tablo td:first-child { padding-left: 20px; }
.kart > .tablo th:last-child, .kart > .tablo td:last-child,
.kart > .tablo-kaydir > .tablo th:last-child, .kart > .tablo-kaydir > .tablo td:last-child { padding-right: 20px; }
/* Akıllı sonuç kartı: 1 px degrade kenar. Sayfa başına en çok iki. */
.kart-akilli {
  border: 1px solid transparent;
  background: linear-gradient(var(--yuzey), var(--yuzey)) padding-box, var(--akilli-degrade) border-box;
}
/* Tehlikeli bölge (silme gibi) — form sayfalarının en altında. */
.kart-tehlike { border-color: var(--olumsuz-cizgi); }

/* Sık kullanılan ızgaralar (belge §3.5). */
.izgara { display: grid; gap: 24px; align-items: start; }
.izgara > * { min-width: 0; }
.izgara-8-4 { grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); }
.izgara-3-9 { grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr); }
.izgara-5-7 { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.izgara-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.izgara-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sag-ray { position: sticky; top: calc(var(--ust-h) + 24px); }
.bolum { margin: 0 0 32px; }
.bolum-baslik { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.bolum-baslik h2 { margin: 0; }
.bolum-baslik .kart-ust-sag, .bolum-baslik > :last-child:not(h2) { margin-left: auto; }

/* --- 4.5 İstatistik kartı --- */
.istatistik-izgara {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}
.istatistik {
  position: relative;
  display: flex; flex-direction: column; gap: 4px;
  min-width: 0;
  padding: 16px 20px;
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-1);
  color: var(--metin);
  text-decoration: none;
  transition: border-color var(--h-1) var(--egri), transform var(--h-1) var(--egri), box-shadow var(--h-1) var(--egri);
}
a.istatistik:hover { border-color: var(--cizgi-guclu); color: var(--metin); transform: translateY(-1px); box-shadow: var(--golge-2); }
.istatistik-etiket { display: flex; gap: 8px; align-items: center; font: 500 13px/20px var(--yazi); color: var(--metin-2); }
.istatistik-etiket .ikon { width: 16px; height: 16px; color: var(--metin-3); }
.istatistik-deger {
  font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -.021em;
  font-variant-numeric: tabular-nums;
  margin-top: 4px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.istatistik-deger small { font-size: 16px; font-weight: 500; color: var(--metin-3); letter-spacing: 0; margin-left: 2px; }
.istatistik-alt { font-size: 12px; line-height: 16px; color: var(--metin-3); overflow-wrap: anywhere; }
.istatistik-alt strong { color: var(--metin-2); font-weight: 600; }
.istatistik-uyari { color: var(--olumsuz); font-weight: 600; }
.istatistik[data-ton="uyari"] .istatistik-etiket .ikon { color: var(--uyari); }
.istatistik[data-ton="olumsuz"] { border-color: var(--olumsuz-cizgi); }
.istatistik[data-ton="olumsuz"] .istatistik-etiket .ikon,
.istatistik[data-ton="olumsuz"] .istatistik-deger { color: var(--olumsuz); }
.istatistik[data-ton="olumlu"] .istatistik-etiket .ikon { color: var(--olumlu); }
.istatistik[data-durum="suruyor"] .istatistik-etiket .ikon { color: var(--bilgi); }
.istatistik[data-durum="soru"] { border-color: var(--olumsuz); box-shadow: 0 0 0 3px var(--olumsuz-ton); }
.istatistik[data-durum="soru"] .istatistik-etiket .ikon,
.istatistik[data-durum="soru"] .istatistik-deger { color: var(--olumsuz); }
.istatistik[data-durum="soru"] .ilerleme > span { background: var(--olumsuz); }

/* Tek renkli ilerleme çubuğu (istatistik, kart). Çok renklisi koşu kartında. */
.ilerleme {
  display: block;
  height: 6px;
  margin: 6px 0 2px;
  border-radius: var(--r-tam);
  background: var(--yuzey-3);
  overflow: hidden;
}
.ilerleme > span {
  display: block; height: 100%; width: 0;
  border-radius: inherit;
  background: var(--birincil);
  transition: width var(--h-ilerleme) linear;
}

/* Özet şeridi: kenarsız bilgi satırı (eski .summary'lerin çoğu budur). */
.ozet-serit {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px;
  padding: 10px 14px;
  margin: 0 0 16px;
  background: var(--yuzey-2);
  border-radius: var(--r-2);
  font-size: 13px; line-height: 20px;
  color: var(--metin-2);
}
.ozet-serit strong { color: var(--metin); }
/* Arşiv/künye gibi tek satırlık sayı dizisi. */
.arsiv-satir { font-size: 13px; line-height: 20px; color: var(--metin-3); margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; }
.arsiv-satir a { color: var(--metin-2); text-decoration: none; }
.arsiv-satir a:hover { color: var(--metin); text-decoration: underline; }
.arsiv-satir .sayi { color: var(--metin); font-weight: 600; font-variant-numeric: tabular-nums; }
.arsiv-ayrac { color: var(--cizgi-guclu); }

/* Güvence şeridi: ikonlu, sakin satırlar ("E-imza ve PIN'e program dokunmaz"). */
.guvence { display: flex; flex-wrap: wrap; gap: 6px 20px; list-style: none; padding: 0; margin: 0 0 16px; font-size: 13px; line-height: 20px; color: var(--metin-2); }
.guvence li { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.guvence .ikon { width: 16px; height: 16px; color: var(--olumlu); }

/* --- 4.6 Veri tablosu --- */
.tablo-kap {
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-1);
  margin: 0 0 24px;
  min-width: 0;
}
.tablo-kap > .tablo-kaydir:last-child .tablo tbody tr:last-child td:first-child { border-bottom-left-radius: var(--r-3); }
.tablo-kap > .tablo-kaydir:last-child .tablo tbody tr:last-child td:last-child { border-bottom-right-radius: var(--r-3); }
.tablo-arac {
  display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--cizgi);
}
.tablo-arac-sag { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.tablo-sayac { font-size: 13px; color: var(--metin-3); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* position: relative — başlıktaki görünmez "Eylemler" yazısı (sr-only) konumlanacak
   bir kap bulamayınca dar ekranda kaptan taşıyıp bütün sayfayı yana kaydırıyordu. */
.tablo-kaydir { overflow-x: auto; position: relative; }
.tablo-kap > .tablo-kaydir:first-child .tablo th:first-child { border-top-left-radius: var(--r-3); }
.tablo-kap > .tablo-kaydir:first-child .tablo th:last-child { border-top-right-radius: var(--r-3); }
.tablo {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px; line-height: 20px;
  font-variant-numeric: tabular-nums;
}
.tablo th {
  position: sticky; top: var(--ust-h); z-index: 2;
  background: var(--yuzey-2);
  text-align: left;
  font: 500 12px/16px var(--yazi);
  letter-spacing: 0;
  color: var(--metin-2);
  padding: 10px 16px;
  border-bottom: 1px solid var(--cizgi);
  white-space: nowrap;
  vertical-align: bottom;
}
/* Kendi içinde yana kayan kapta yapışma olmaz (kap kayıyor). */
.tablo-kaydir .tablo th { position: static; }
.tablo td { padding: 10px 16px; border-bottom: 1px solid var(--cizgi); vertical-align: top; }
.tablo tbody tr:last-child td { border-bottom: 0; }
.tablo tbody tr { transition: background-color var(--h-1) var(--egri); }
.tablo tbody tr:hover td { background: var(--yuzey-2); }
.tablo tbody tr[aria-selected="true"] td { background: var(--vurgu-ton); }
.tablo tbody tr[data-ton="olumsuz"] td { background: var(--olumsuz-ton); }
.tablo tbody tr[data-ton="olumsuz"] td:first-child { box-shadow: inset 3px 0 0 var(--olumsuz); }
.tablo tbody tr[data-ton="uyari"] td { background: var(--uyari-ton); }
.tablo tbody tr[data-ton="soluk"] td { color: var(--metin-3); }
.tablo a { font-weight: 500; text-decoration: none; }
.tablo a:hover { text-decoration: underline; }
.tablo .sayi { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tablo .tarih { white-space: nowrap; font-variant-numeric: tabular-nums; }
.tablo .eylem { width: 1%; white-space: nowrap; text-align: right; }
.tablo .eylem > * + * { margin-left: 4px; }
.tablo .genis { min-width: 16ch; }
.tablo .alt-satir { display: block; font-size: 12px; line-height: 16px; color: var(--metin-3); margin-top: 2px; }
.tablo .bos-deger { color: var(--metin-3); }
.tablo form { margin: 0; display: inline; }
/* Satır eylemi yalnız üstüne gelince/odakta belirir; dokunmatikte hep görünür. */
.tablo td.eylem .dugme-gizli { opacity: 0; transition: opacity var(--h-1) var(--egri); }
.tablo tr:hover td.eylem .dugme-gizli, .tablo td.eylem .dugme-gizli:focus-visible { opacity: 1; }
@media (hover: none) { .tablo td.eylem .dugme-gizli { opacity: 1; } }
.tablo-kap[data-yogunluk="sik"] .tablo { font-size: 13px; }
.tablo-kap[data-yogunluk="sik"] .tablo td, .tablo-kap[data-yogunluk="sik"] .tablo th { padding: 6px 12px; }
.sirala {
  all: unset;
  display: inline-flex; gap: 4px; align-items: center;
  cursor: pointer;
  border-radius: 4px;
}
.sirala:hover { color: var(--metin); }
.sirala:focus-visible { outline: 2px solid var(--odak); outline-offset: 2px; }
.sirala::after { content: ""; font-size: 12px; color: var(--metin-3); }
th[aria-sort="ascending"] .sirala::after { content: "↑"; color: var(--metin); }
th[aria-sort="descending"] .sirala::after { content: "↓"; color: var(--metin); }
th[aria-sort="ascending"], th[aria-sort="descending"] { color: var(--metin); }
.tablo-alt {
  display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 10px 16px;
  border-top: 1px solid var(--cizgi);
  font-size: 13px; color: var(--metin-3);
}
/* Seçim yapılınca beliren toplu işlem çubuğu (Carbon). */
.toplu-islem {
  display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap;
  padding: 8px 16px;
  background: var(--vurgu-ton);
  color: var(--vurgu-metin);
  border-bottom: 1px solid var(--vurgu-cizgi);
  font-size: 13px; font-weight: 500;
}

/* Arama kutusu (araç çubuğu). */
.arama-kutu {
  position: relative;
  display: inline-flex; align-items: center;
  flex: 1 1 220px;
  max-width: 360px;
  min-width: 160px;
  margin: 0;
}
.arama-kutu > .ikon { position: absolute; left: 10px; width: 16px; height: 16px; color: var(--metin-3); pointer-events: none; }
.arama-kutu input { width: 100%; padding-left: 34px; min-height: 32px; }
.arama-kutu-buyuk { max-width: none; flex: 1 1 auto; }
.arama-kutu-buyuk input { min-height: 44px; font-size: 16px; padding-left: 40px; }
.arama-kutu-buyuk > .ikon { left: 13px; width: 18px; height: 18px; }

/* Sayfalama (belge §4.23). */
.sayfalama { display: flex; justify-content: space-between; align-items: center; gap: 8px 12px; flex-wrap: wrap; margin: 16px 0 0; font-size: 13px; color: var(--metin-3); }
.sayfalama-dugmeler { display: flex; gap: 8px; }

/* --- 4.7 Form --- */
input, select, textarea, button { font-family: inherit; font-size: 14px; letter-spacing: inherit; }

:where(input[type="text"], input[type="search"], input[type="number"],
       input[type="date"], input[type="email"], input[type="password"],
       input[type="datetime-local"], input[type="tel"], input[type="url"],
       input[type="month"], input[type="time"], input:not([type]),
       select, textarea) {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--girdi-kenar);
  border-radius: var(--r-1);
  background-color: var(--yuzey);
  color: var(--metin);
  font: 400 14px/20px var(--yazi);
  letter-spacing: -.006em;
  min-width: 0;
  max-width: 100%;
  transition: border-color var(--h-1) var(--egri), box-shadow var(--h-1) var(--egri), background-color var(--h-1) var(--egri);
}
:where(input, select, textarea):hover:not(:disabled) { border-color: var(--metin-3); }
:where(input, select, textarea):focus-visible { outline: 2px solid var(--odak); outline-offset: 1px; border-color: var(--odak); }
:where(input, select, textarea):focus { border-color: var(--odak); }
:where(input, textarea)::placeholder { color: var(--metin-3); opacity: 1; }
select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 34px;
  background-image: var(--secim-ok);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
  cursor: pointer;
}
select[multiple], select[size] { background-image: none; padding-right: 12px; }
textarea { line-height: 22px; padding: 8px 12px; resize: vertical; }
:where(input:disabled, select:disabled, textarea:disabled) {
  background-color: var(--yuzey-2);
  color: var(--metin-3);
  border-color: var(--cizgi-guclu);
  cursor: not-allowed;
}
input[type="checkbox"], input[type="radio"] {
  width: 16px; height: 16px;
  margin: 0 2px 0 0;
  accent-color: var(--birincil);
  vertical-align: -3px;
  cursor: pointer;
}
input[type="file"] { font-size: 13px; color: var(--metin-2); max-width: 100%; }
input[type="file"]::file-selector-button {
  margin-right: 10px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--cizgi-guclu);
  border-radius: var(--r-1);
  background: var(--yuzey);
  color: var(--metin);
  font: 500 13px/20px var(--yazi);
  cursor: pointer;
}
input[type="file"]::file-selector-button:hover { background: var(--yuzey-2); }

fieldset {
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  padding: 12px 16px 14px;
  margin: 12px 0;
  min-width: 0;
}
legend { font-size: 13px; font-weight: 600; color: var(--metin); padding: 0 6px; }

details { margin: 12px 0; }
details > summary {
  cursor: pointer;
  width: fit-content;
  font-weight: 500;
  font-size: 14px;
  color: var(--vurgu);
  padding: 2px 0;
}
details > summary:hover { color: var(--vurgu-ustu); }
details[open] > summary { margin-bottom: 8px; }

.form { max-width: 100%; }
.form-dar { max-width: 560px; }
.form-bolum {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: 24px;
  padding: 24px 0;
  border-top: 1px solid var(--cizgi);
}
.form-bolum:first-child, .hata-ozeti + .form-bolum, .form-bolum.ilk { border-top: 0; padding-top: 0; }
.form-bolum-metin h2 { font-size: 16px; line-height: 24px; font-weight: 600; margin: 0 0 4px; }
.form-bolum-metin p { font-size: 13px; line-height: 20px; color: var(--metin-3); margin: 0; }
.form-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.form-izgara-tek { grid-template-columns: minmax(0, 1fr); }
.alan { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.form > .alan + .alan, .kart-govde > .alan + .alan, .cekmece-govde .alan + .alan { margin-top: 20px; }
/* Izgarada aralığı `gap` veriyor: yan paneldeki iki sütunlu formlarda yukarıdaki
   kural ikinci sütunu 20 px aşağı itiyordu. Alt alta dizilen alanlar etkilenmez. */
.form-izgara > .alan + .alan, .izgara-2 > .alan + .alan { margin-top: 0; }
.alan-genis { grid-column: 1 / -1; }
.alan-etiket { font: 500 14px/20px var(--yazi); color: var(--metin); }
.alan-etiket code { font-size: 12px; margin-left: 6px; }
.alan-istege { font-weight: 400; color: var(--metin-3); margin-left: 4px; }
.alan-yardim { font-size: 13px; line-height: 18px; color: var(--metin-3); margin: 0; }
.alan-hata { font: 500 13px/18px var(--yazi); color: var(--olumsuz); display: flex; gap: 6px; align-items: flex-start; margin: 0; }
.alan-hata .ikon { width: 16px; height: 16px; margin-top: 1px; }
.alan[data-hata] :is(input, select, textarea) { border-color: var(--olumsuz); box-shadow: inset 3px 0 0 var(--olumsuz); }
.alan-satir { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* Girdi + ek ("TL", "gün"). */
.girdi-ek { display: inline-flex; align-items: stretch; max-width: 100%; }
.girdi-ek > input { border-top-right-radius: 0; border-bottom-right-radius: 0; min-width: 0; }
.girdi-ek > span {
  display: inline-flex; align-items: center;
  padding: 0 10px;
  border: 1px solid var(--girdi-kenar); border-left: 0;
  border-radius: 0 var(--r-1) var(--r-1) 0;
  background: var(--yuzey-2);
  color: var(--metin-2);
  font-size: 13px;
}
/* GOV.UK genişlik sınıfları. */
.gen-4 { width: 6ch; max-width: 100%; } .gen-6 { width: 9ch; max-width: 100%; } .gen-10 { width: 14ch; max-width: 100%; }
.gen-20 { width: 24ch; max-width: 100%; } .gen-30 { width: 34ch; max-width: 100%; } .gen-tam { width: 100%; }
/* Onay kutusu / radyo satırı. */
.secim { display: inline-flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 20px; cursor: pointer; margin: 0; }
.secim input { margin-top: 2px; flex: 0 0 auto; }
.secim-grup { display: flex; flex-direction: column; gap: 8px; border: 0; padding: 0; margin: 0; }
.secim-grup.yatay { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; }

.hata-ozeti {
  border: 2px solid var(--olumsuz);
  border-radius: var(--r-3);
  padding: 16px 20px;
  margin: 0 0 24px;
  background: var(--yuzey);
}
.hata-ozeti:focus { outline: 2px solid var(--odak); outline-offset: 2px; }
.hata-ozeti h2 { font-size: 16px; line-height: 24px; margin: 0 0 8px; color: var(--metin); }
.hata-ozeti ul { margin: 0; }
.hata-ozeti a { color: var(--olumsuz); font-weight: 500; }

.form-eylem {
  position: sticky; bottom: 0; z-index: 4;
  display: flex; justify-content: flex-start; gap: 8px; align-items: center; flex-wrap: wrap;
  padding: 12px 0;
  margin-top: 32px;
  background: var(--zemin);
  border-top: 1px solid var(--cizgi);
}
.kart .form-eylem { background: var(--yuzey); position: static; margin-top: 24px; padding-bottom: 0; }
.form-eylem-durum { margin-left: auto; font-size: 13px; color: var(--uyari); font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
.form-eylem-durum::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cekmece .form-eylem, .onay .form-eylem { justify-content: flex-end; }

/* Seçenek kartları: açıklamalı radyo seçimleri. */
.secenek-kartlari { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; border: 0; padding: 0; margin: 0; min-width: 0; }
.secenek-kartlari > legend { padding: 0; margin-bottom: 8px; }
.secenek-karti {
  position: relative;
  display: grid; gap: 4px; align-content: start;
  padding: 14px 16px 14px 44px;
  border: 1px solid var(--cizgi-guclu);
  border-radius: var(--r-2);
  background: var(--yuzey);
  cursor: pointer;
  transition: border-color var(--h-1) var(--egri), background-color var(--h-1) var(--egri), box-shadow var(--h-1) var(--egri);
}
.secenek-karti:hover { border-color: var(--metin-3); }
.secenek-karti input { position: absolute; left: 16px; top: 16px; margin: 0; }
.secenek-karti:has(input:checked) { border-color: var(--vurgu); box-shadow: 0 0 0 1px var(--vurgu); background: var(--vurgu-ton); }
.secenek-karti[data-ton="tehlike"]:has(input:checked) { border-color: var(--olumsuz); box-shadow: 0 0 0 1px var(--olumsuz); background: var(--olumsuz-ton); }
.secenek-karti:has(input:focus-visible) { outline: 2px solid var(--odak); outline-offset: 2px; }
.secenek-karti:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.secenek-karti-baslik { font: 600 14px/20px var(--yazi); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.secenek-karti-metin { font-size: 13px; line-height: 18px; color: var(--metin-2); }

/* Segment: iki-dört seçenekli kip seçimi (Dosya | Kayıtlı şablon). */
.segment { align-self: flex-start; display: inline-flex; padding: 2px; gap: 2px; border-radius: var(--r-2); background: var(--yuzey-2); border: 1px solid var(--cizgi); margin: 0; min-width: 0; }
.segment label { position: relative; display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--r-1); font: 500 13px/20px var(--yazi); color: var(--metin-2); cursor: pointer; }
.segment input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.segment label:has(input:checked) { background: var(--yuzey); color: var(--metin); box-shadow: 0 1px 2px rgba(16, 24, 40, .08), 0 0 0 1px var(--cizgi); }
.segment label:has(input:focus-visible) { outline: 2px solid var(--odak); outline-offset: 1px; }

/* Anahtar (aç/kapa): <input type="checkbox" role="switch" class="anahtar"> */
input.anahtar {
  -webkit-appearance: none; appearance: none;
  position: relative;
  width: 32px; height: 18px; flex: 0 0 32px;
  margin: 1px 0 0;
  border-radius: var(--r-tam);
  background: var(--cizgi-guclu);
  border: 0;
  cursor: pointer;
  vertical-align: middle;
  transition: background-color var(--h-1) var(--egri);
}
input.anahtar::before {
  content: "";
  position: absolute; left: 2px; top: 2px;
  width: 14px; height: 14px; border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
  transition: transform var(--h-1) var(--egri);
}
input.anahtar:checked { background: var(--birincil); }
input.anahtar:checked::before { transform: translateX(14px); }

/* Sürükle-bırak dosya alanı. */
.dosya-alani {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  min-height: 120px;
  padding: 20px;
  border: 1px dashed var(--girdi-kenar);
  border-radius: var(--r-3);
  background: var(--yuzey);
  color: var(--metin-2);
  text-align: center;
  font-size: 14px;
  cursor: pointer;
  transition: border-color var(--h-1) var(--egri), background-color var(--h-1) var(--egri);
}
.dosya-alani:hover, .dosya-alani.uzerinde { border-color: var(--vurgu); background: var(--vurgu-ton); }
.dosya-alani > .ikon { width: 24px; height: 24px; color: var(--metin-3); }
.dosya-alani input[type="file"] { max-width: 100%; }

/* Seçim alanı: .dosya-alani'nin büyük hâli — klasör sürükle-bırak + "Klasör seç" / "Dosya seç"
   (Dosya İndirme → Klasörden birleştir, 26 Eylül 2026). Seçim özeti ve yükleme aynı ailede. */
.secim-alani { min-height: 220px; gap: 10px; padding: 28px 20px; cursor: default; }
.secim-alani > .ikon { width: 40px; height: 40px; }
.secim-alani[aria-busy="true"] { opacity: .7; }
.secim-baslik { margin: 0; font: 600 16px/24px var(--yazi); color: var(--metin); }
.secim-alt { margin: 2px 0 0; font-size: 13px; line-height: 20px; color: var(--metin-2); }
.secim-dugmeler { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
.secim-dagilim { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 14px 0 6px; }
.secim-dagilim .cip { cursor: default; }
.secim-liste { margin: 6px 0 0; padding-left: 18px; max-height: 220px; overflow: auto; font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
.secim-yardim { display: grid; gap: 8px; margin: 16px 0 0; font-size: 13px; line-height: 20px; color: var(--metin-2); }
.secim-yardim p { display: flex; gap: 8px; align-items: flex-start; margin: 0; }
.secim-yardim .ikon { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--metin-3); }
@media (max-width: 600px) {
  .secim-alani { min-height: 180px; padding: 20px 12px; }
  .secim-dugmeler .dugme { flex: 1 1 100%; }
}

/* --- 4.8 Düğmeler --- */
.dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: var(--r-1);
  font: 500 14px/20px var(--yazi);
  letter-spacing: -.006em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  background: var(--yuzey);
  color: var(--metin);
  box-shadow: none;
  transition: background-color var(--h-1) var(--egri), border-color var(--h-1) var(--egri), color var(--h-1) var(--egri);
}
.dugme .ikon { width: 16px; height: 16px; }
.dugme:hover { text-decoration: none; }
.dugme-birincil { background: var(--birincil); color: var(--birincil-yazi); box-shadow: 0 1px 2px rgba(16, 24, 40, .12), inset 0 1px 0 rgba(255, 255, 255, .08); }
.dugme-birincil:hover { background: var(--birincil-ustu); color: var(--birincil-yazi); }
.dugme-ikincil { background: var(--yuzey); color: var(--metin); border-color: var(--cizgi-guclu); box-shadow: var(--golge-1); }
.dugme-ikincil:hover { background: var(--yuzey-2); color: var(--metin); }
.dugme-hayalet { background: transparent; color: var(--metin-2); }
.dugme-hayalet:hover { background: var(--yuzey-2); color: var(--metin); }
.dugme-tehlike { background: var(--tehlike); color: #FFFFFF; box-shadow: 0 1px 2px rgba(16, 24, 40, .12); }
.dugme-tehlike:hover { background: var(--tehlike-ustu); color: #FFFFFF; }
.dugme-tehlike-ikincil { background: var(--yuzey); color: var(--olumsuz); border-color: var(--olumsuz-cizgi); }
.dugme-tehlike-ikincil:hover { background: var(--olumsuz-ton); color: var(--olumsuz); }
.dugme-baglanti { background: none; border: 0; padding: 0; min-height: 0; color: var(--vurgu); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 2px; }
.dugme-kucuk { min-height: 28px; padding: 0 10px; font-size: 13px; gap: 4px; }
.dugme-buyuk { min-height: 44px; padding: 0 18px; font-size: 15px; }
.dugme-ikon { width: 32px; min-width: 32px; min-height: 32px; padding: 0; }
.dugme-ikon.dugme-kucuk { width: 28px; min-width: 28px; min-height: 28px; }
.dugme:focus-visible { outline: 2px solid var(--odak); outline-offset: 2px; }
.dugme:active:not(:disabled) { transform: translateY(1px); }
.dugme:disabled, .dugme[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; }
.dugme[aria-busy="true"] { color: transparent !important; position: relative; pointer-events: none; }
.dugme[aria-busy="true"] > * { visibility: hidden; }
.dugme[aria-busy="true"]::after {
  content: "";
  position: absolute; left: 50%; top: 50%;
  width: 16px; height: 16px; margin: -8px 0 0 -8px;
  border: 2px solid var(--metin-2);
  border-color: var(--metin-2) var(--metin-2) transparent transparent;
  border-radius: 50%;
  animation: don 700ms linear infinite;
}
.dugme-birincil[aria-busy="true"]::after, .dugme-tehlike[aria-busy="true"]::after { border-color: #FFFFFF #FFFFFF transparent transparent; }
.dugme-kisayol { display: inline-flex; margin-left: 4px; }
.dugme-grup { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* --- 4.9 Rozet, durum, çip, akıllı etiket --- */
.rozet {
  display: inline-flex; align-items: center; gap: 4px;
  height: 20px;
  padding: 0 8px;
  border-radius: var(--r-tam);
  font: 500 12px/16px var(--yazi);
  letter-spacing: 0;
  white-space: nowrap;
  vertical-align: middle;
  border: 1px solid var(--cizgi);
  background: var(--yuzey-2);
  color: var(--metin-2);
}
.rozet .ikon { width: 12px; height: 12px; }
.rozet-notr    { background: var(--yuzey-2);     color: var(--metin-2);  border-color: var(--cizgi); }
.rozet-olumlu  { background: var(--olumlu-ton);  color: var(--olumlu);   border-color: var(--olumlu-cizgi); }
.rozet-uyari   { background: var(--uyari-ton);   color: var(--uyari);    border-color: var(--uyari-cizgi); }
.rozet-olumsuz { background: var(--olumsuz-ton); color: var(--olumsuz);  border-color: var(--olumsuz-cizgi); }
.rozet-bilgi   { background: var(--bilgi-ton);   color: var(--bilgi);    border-color: var(--bilgi-cizgi); }
.rozet-marka   { background: var(--vurgu-ton);   color: var(--vurgu-metin); border-color: var(--vurgu-cizgi); }

.durum { display: inline-flex; align-items: center; gap: 6px; font: 500 13px/20px var(--yazi); color: var(--metin-2); white-space: nowrap; }
.durum::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--metin-3); color: var(--metin-3); }
.durum[data-durum="tamam"]::before    { background: var(--olumlu); color: var(--olumlu); }
.durum[data-durum="suruyor"]::before  { background: var(--bilgi); color: var(--bilgi); animation: nabiz 1.6s ease-in-out infinite; }
.durum[data-durum="bekliyor"]::before { background: var(--uyari); color: var(--uyari); animation: nabiz 1.6s ease-in-out infinite; }
.durum[data-durum="sirada"]::before   { background: transparent; box-shadow: inset 0 0 0 1.5px var(--metin-3); }
.durum[data-durum="soru"]::before, .durum[data-durum="hata"]::before { background: var(--olumsuz); color: var(--olumsuz); }
.durum[data-durum="soru"]::before { animation: nabiz 1s ease-in-out infinite; }
.durum[data-durum="durduruldu"]::before { background: var(--metin-3); border-radius: 2px; }
.durum:empty { gap: 0; }

.akilli {
  display: inline-flex; align-items: center; gap: 6px;
  height: 20px;
  padding: 0 8px 0 6px;
  border-radius: var(--r-tam);
  background: var(--akilli-ton);
  color: var(--akilli);
  border: 1px solid var(--akilli-cizgi);
  font: 500 12px/16px var(--yazi);
  letter-spacing: 0;
  white-space: nowrap;
  vertical-align: middle;
}
.akilli::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--akilli-degrade); flex: 0 0 6px; }
.akilli-yz::before { display: none; }
.akilli-yz .ikon { width: 12px; height: 12px; }
/* Otomatik eşlenmiş satırdaki küçük nokta (◇). */
.akilli-nokta { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--akilli-degrade); vertical-align: middle; }

.cipler { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cip {
  display: inline-flex; gap: 6px; align-items: center;
  height: 28px; min-height: 28px;
  padding: 0 10px;
  border-radius: var(--r-tam);
  border: 1px solid var(--cizgi-guclu);
  background: var(--yuzey);
  box-shadow: none;
  font: 500 13px/20px var(--yazi);
  color: var(--metin-2);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--h-1) var(--egri), border-color var(--h-1) var(--egri), color var(--h-1) var(--egri);
}
.cip:hover { color: var(--metin); border-color: var(--metin-3); text-decoration: none; }
.cip[aria-pressed="true"], .cip[aria-current="page"], .cip[aria-current="true"] { background: var(--vurgu-ton); border-color: var(--vurgu-cizgi); color: var(--vurgu-metin); }
.cip-sayi { color: var(--metin-3); font-variant-numeric: tabular-nums; }
.cip[aria-pressed="true"] .cip-sayi { color: inherit; opacity: .8; }
.cip .ikon { width: 14px; height: 14px; }

/* Karar sonucu rozetleri (şablonlarda karar-{{ tür }}; hepsinin karşılığı olmalı). */
.karar-onama  { background: var(--olumlu-ton);  color: var(--olumlu);  border-color: var(--olumlu-cizgi); }
.karar-bozma  { background: var(--olumsuz-ton); color: var(--olumsuz); border-color: var(--olumsuz-cizgi); }
.karar-red    { background: var(--yuzey-2);     color: var(--metin-2); border-color: var(--cizgi); }
.karar-kabul  { background: var(--bilgi-ton);   color: var(--bilgi);   border-color: var(--bilgi-cizgi); }
.karar-ihlal  { background: var(--uyari-ton);   color: var(--uyari);   border-color: var(--uyari-cizgi); }
.karar-dusme  { background: var(--yuzey-2);     color: var(--metin-2); border-color: var(--cizgi); }
.karar-dal    { background: var(--bilgi-ton);   color: var(--bilgi);   border-color: var(--bilgi-cizgi); }
.karar-konu   { background: var(--olumlu-ton);  color: var(--olumlu);  border-color: var(--olumlu-cizgi); }
.karar-derece { background: color-mix(in srgb, var(--altin) 14%, var(--yuzey)); color: var(--altin-metin); border-color: color-mix(in srgb, var(--altin) 45%, transparent); }

/* --- 4.10 Koşu kartı (saatler süren UYAP işleri) --- */
.kosu {
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-1);
  padding: 20px;
  margin: 0 0 24px;
}
.kosu[data-durum="soru"] { border-color: var(--olumsuz); box-shadow: 0 0 0 3px var(--olumsuz-ton); }
.kosu[data-durum="hata"] { border-color: var(--olumsuz-cizgi); }
.kosu-ust { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.kosu-ust h2 { font-size: 16px; line-height: 24px; font-weight: 600; margin: 0; }
.kosu-meta { font-size: 13px; color: var(--metin-3); }
.kosu-ust-sag, .kosu-durdur { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.kosu-durdur { margin-top: 0; margin-bottom: 0; }
.kosu-ana { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px 28px; align-items: center; margin: 20px 0; }
.kosu-sayac { min-width: 0; }
.kosu-sayac strong { font-size: 36px; line-height: 40px; font-weight: 600; letter-spacing: -.022em; font-variant-numeric: tabular-nums; }
.kosu-sayac span { font-size: 20px; line-height: 28px; color: var(--metin-3); margin-left: 4px; font-variant-numeric: tabular-nums; }
.kosu-sayac small { display: block; font-size: 12px; line-height: 16px; color: var(--metin-3); margin-top: 2px; }
.kosu-ilerleme { min-width: 0; }
.ilerleme-cok { display: flex; height: 8px; border-radius: var(--r-tam); background: var(--yuzey-3); overflow: hidden; }
.ilerleme-cok > span { display: block; height: 100%; background: var(--renk, var(--birincil)); transition: width var(--h-ilerleme) linear; }
[data-tur="tamam"]   { --renk: var(--olumlu); }
[data-tur="atlandi"] { --renk: var(--uyari); }
[data-tur="hata"]    { --renk: var(--olumsuz); }
[data-tur="suruyor"] { --renk: var(--bilgi); }
.ilerleme-lejant { display: flex; flex-wrap: wrap; gap: 4px 16px; list-style: none; padding: 0; margin: 8px 0 0; font-size: 12px; line-height: 16px; color: var(--metin-2); font-variant-numeric: tabular-nums; }
.ilerleme-lejant li { margin: 0; display: inline-flex; align-items: center; }
.ilerleme-lejant li::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 6px; background: var(--renk, var(--cizgi-guclu)); }
.kosu-ayrinti { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 14px; line-height: 20px; }
.kosu-ayrinti > div { display: contents; }
.kosu-ayrinti dt { color: var(--metin-3); }
.kosu-ayrinti dd { margin: 0; min-width: 0; }
.kosu-karar { font-size: 13px; color: var(--metin-2); margin: 8px 0 0; }
.kosu-karar .ikon { width: 14px; height: 14px; color: var(--olumlu); }
.geri-sayim { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--metin); }
.kosu .gunluk-kap { margin: 20px 0 0; border-top: 1px solid var(--cizgi); padding-top: 12px; }
/* Tek satırlık hâli (ana sayfadaki canlı iş şeridi). */
.kosu-serit {
  display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap;
  padding: 12px 16px;
  color: var(--metin);
  text-decoration: none;
  border-color: var(--bilgi-cizgi);
  background: linear-gradient(90deg, var(--bilgi-ton), var(--yuzey) 70%);
}
a.kosu-serit:hover { color: var(--metin); border-color: var(--bilgi); }
.kosu-serit[data-durum="soru"] { background: linear-gradient(90deg, var(--olumsuz-ton), var(--yuzey) 70%); }
.kosu-serit strong { font-weight: 600; }
.kosu-serit-sayac { font-variant-numeric: tabular-nums; font-weight: 600; }
.kosu-serit .ilerleme { width: 120px; margin: 0; flex: 0 0 auto; }
.kosu-serit-asama { flex: 1 1 200px; min-width: 0; color: var(--metin-2); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kosu-serit-ac { margin-left: auto; display: inline-flex; align-items: center; gap: 2px; font-size: 13px; font-weight: 500; color: var(--vurgu); white-space: nowrap; }
.kosu-serit-ac .ikon { width: 14px; height: 14px; }

/* --- 4.11 Canlı günlük --- */
.gunluk-kap > summary {
  display: flex; align-items: center; gap: 8px;
  list-style: none;
  width: auto;
  font: 500 14px/20px var(--yazi);
  color: var(--metin);
}
.gunluk-kap > summary::-webkit-details-marker { display: none; }
.gunluk-kap > summary::before {
  content: ""; width: 14px; height: 14px; background: var(--metin-3);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%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' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform var(--h-2) var(--egri);
}
.gunluk-kap[open] > summary::before { transform: rotate(90deg); }
.gunluk-arac { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 8px; }
/* Kısa kontrollerin son satırları (Talep sonrası tebligat kontrolü, 26 Eylül 2026). */
.gunluk-kutu {
  margin: 8px 0; padding: 8px 12px; max-height: 16rem; overflow: auto; white-space: pre-wrap;
  background: var(--gunluk-zemin); color: var(--gunluk-metin); border: 1px solid var(--gunluk-cizgi);
  border-radius: var(--r-2); font: 400 12.5px/20px var(--yazi-sabit);
}
.gunluk-arac .cip + .dugme { margin-left: auto; }
.gunluk {
  list-style: none;
  margin: 0;
  padding: 10px 0;
  max-height: 24rem;
  overflow: auto;
  background: var(--gunluk-zemin);
  color: var(--gunluk-metin);
  border: 1px solid var(--gunluk-cizgi);
  border-radius: var(--r-2);
  font: 400 12.5px/20px var(--yazi-sabit);
  letter-spacing: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .2) transparent;
}
.gunluk li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; padding: 0 16px; margin: 0; }
.gunluk li:hover { background: rgba(255, 255, 255, .04); }
.gunluk time { color: var(--gunluk-soluk); font-variant-numeric: tabular-nums; }
.gunluk span { overflow-wrap: anywhere; white-space: pre-wrap; }
.gunluk [data-seviye="hata"] span { color: var(--gunluk-hata); }
.gunluk [data-seviye="uyari"] span { color: var(--gunluk-uyari); }
.gunluk [data-seviye="bilgi"] span { color: var(--gunluk-metin); }
.gunluk [data-seviye="olumlu"] b, .gunluk [data-seviye="olumlu"] strong { color: var(--gunluk-olumlu); font-weight: 600; }
.gunluk [data-seviye="soru"] { box-shadow: inset 3px 0 0 var(--gunluk-uyari); }
.gunluk.suzgecli li:not([data-gorunur]) { display: none; }

/* --- 4.12 Soru kutusu (koşu cevap bekliyor) — yapışkan, modal değil --- */
.soru {
  position: sticky;
  top: calc(var(--ust-h) + 12px);
  z-index: 5;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  padding: 16px 20px;
  margin: 0 0 16px;
  background: var(--yuzey);
  border: 1px solid var(--olumsuz);
  border-left-width: 4px;
  border-radius: var(--r-3);
  box-shadow: 0 0 0 4px var(--olumsuz-ton), var(--golge-2);
}
.soru-ikon, .soru > .ikon { color: var(--olumsuz); width: 22px; height: 22px; margin-top: 1px; }
.soru h2 { font-size: 16px; line-height: 24px; margin: 0 0 4px; }
.soru h2:focus { outline: none; }
.soru p { margin: 0 0 8px; }
.soru-not { font-size: 13px; line-height: 18px; color: var(--metin-2); display: flex; gap: 6px; }
.soru-not .ikon { width: 14px; height: 14px; margin-top: 2px; color: var(--metin-3); }
.soru-eylem { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* Onay diyaloğu (window.confirm yerine): form[data-onay] → bilesenler.js. */
.onay {
  width: min(440px, calc(100vw - 32px));
  max-width: none;
  padding: 0;
  border: 1px solid var(--katman-cizgi);
  border-radius: var(--r-4);
  background: var(--katman-yuzey);
  color: var(--metin);
  box-shadow: var(--golge-3);
}
.onay[open] { animation: katman-gir var(--h-3) var(--egri-giris); }
.onay::backdrop { background: var(--perde); }
.onay form { margin: 0; padding: 20px 20px 16px; }
.onay h2 { font-size: 16px; line-height: 24px; margin: 0 0 8px; }
.onay p { color: var(--metin-2); margin: 0 0 8px; }
.onay-eylem { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }

/* --- 4.13 Uyarı kutuları (satır içi) --- */
.uyari {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 12px 16px;
  margin: 0 0 16px;
  border: 1px solid var(--bilgi-cizgi);
  border-radius: var(--r-3);
  background: var(--bilgi-ton);
  color: var(--metin);
  font-size: 14px; line-height: 20px;
}
.uyari > .ikon { width: 20px; height: 20px; color: var(--bilgi); }
.uyari-govde { min-width: 0; }
.uyari-govde > :last-child { margin-bottom: 0; }
.uyari:not(:has(> .ikon)) { grid-template-columns: minmax(0, 1fr) auto; }
.uyari:not(:has(.uyari-eylem)):has(> .ikon) { grid-template-columns: 20px minmax(0, 1fr); }
.uyari-baslik { font-weight: 600; margin: 0 0 2px; }
.uyari p { margin: 0; }
.uyari p + p, .uyari p + ul, .uyari ul + p { margin-top: 4px; }
.uyari ul { margin: 4px 0 0; }
.uyari-eylem { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.uyari-govde .uyari-eylem { margin-top: 10px; }
.uyari code { background: var(--yuzey); }
.uyari-bilgi   { background: var(--bilgi-ton);   border-color: var(--bilgi-cizgi); }   .uyari-bilgi > .ikon   { color: var(--bilgi); }
.uyari-olumlu  { background: var(--olumlu-ton);  border-color: var(--olumlu-cizgi); }  .uyari-olumlu > .ikon  { color: var(--olumlu); }
.uyari-dikkat  { background: var(--uyari-ton);   border-color: var(--uyari-cizgi); }   .uyari-dikkat > .ikon  { color: var(--uyari); }
.uyari-tehlike { background: var(--olumsuz-ton); border-color: var(--olumsuz-cizgi); } .uyari-tehlike > .ikon { color: var(--olumsuz); }

/* --- 4.14 Boş durum --- */
.bos { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 40px 24px; }
.bos-ikon {
  display: grid; place-items: center;
  width: 40px; height: 40px;
  border-radius: var(--r-2);
  background: var(--yuzey-2);
  border: 1px solid var(--cizgi);
  color: var(--metin-3);
}
.bos-ikon .ikon { width: 20px; height: 20px; }
.bos-baslik { font-size: 16px; line-height: 24px; font-weight: 600; margin: 8px 0 0; }
.bos-metin { font-size: 14px; line-height: 20px; color: var(--metin-2); max-width: 44ch; margin: 0; }
.bos-eylem { margin-top: 8px; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.bos-kucuk { padding: 20px 16px; }
.bos-kucuk .bos-baslik { font-size: 14px; line-height: 20px; margin-top: 4px; }
.bos-kucuk .bos-metin { font-size: 13px; line-height: 18px; }
.bos-kucuk .bos-ikon { width: 32px; height: 32px; }
.bos-kucuk .bos-ikon .ikon { width: 16px; height: 16px; }

/* --- 4.17 Yan panel (çekmece) --- */
.cekmece {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(480px, 100vw);
  height: 100vh; height: 100dvh;
  max-width: none;
  max-height: none;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--katman-cizgi);
  border-radius: var(--r-4) 0 0 var(--r-4);
  background: var(--katman-yuzey);
  color: var(--metin);
  box-shadow: var(--golge-3);
}
.cekmece[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; animation: cekmece-gir var(--h-3) var(--egri-giris); }
.cekmece-genis { width: min(720px, 100vw); }
@keyframes cekmece-gir { from { transform: translateX(24px); opacity: 0; } }
.cekmece::backdrop { background: var(--perde); }
.cekmece-ust { display: flex; align-items: center; gap: 8px; padding: 14px 16px 14px 20px; border-bottom: 1px solid var(--cizgi); }
.cekmece-ust h2 { font-size: 16px; line-height: 24px; margin: 0; flex: 1 1 auto; min-width: 0; }
.cekmece-govde { overflow: auto; padding: 20px; font-size: 15px; line-height: 24px; overscroll-behavior: contain; }
.cekmece-govde > :first-child { margin-top: 0; }
.cekmece-govde h3 { font-size: 15px; margin: 20px 0 6px; }
.cekmece-govde .ozellik-liste { font-size: 14px; }
.cekmece-alt { padding: 12px 20px; border-top: 1px solid var(--cizgi); display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
.cekmece-alt:empty { display: none; }

/* --- 4.18 Adım adım sihirbaz --- */
.adimlar { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0 0 24px; }
.adimlar li {
  flex: 1 1 0; min-width: 0;
  display: flex; align-items: center; gap: 8px;
  margin: 0;
  padding: 10px 4px 0;
  border-top: 3px solid var(--cizgi);
  font: 500 13px/20px var(--yazi);
  color: var(--metin-3);
}
.adimlar li a { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.adimlar li a:hover { color: var(--metin); }
.adimlar li[data-adim="tamam"] { border-top-color: var(--olumlu); color: var(--metin-2); }
.adimlar li[data-adim="aktif"] { border-top-color: var(--vurgu); color: var(--metin); }
.adim-no {
  display: grid; place-items: center; flex: 0 0 22px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--yuzey-3); color: var(--metin-2);
  font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums;
}
/* Numara rengi sabit beyaz değil zemin rengi: gece temasında --olumlu açık yeşil
   (#4FC98D) olduğu için beyaz numara okunmuyordu (~2:1). Zemin rengi gündüz açık,
   gece koyu; iki temada da AA kontrastı veriyor. */
[data-adim="tamam"] .adim-no { background: var(--olumlu); color: var(--zemin); }
[data-adim="aktif"] .adim-no { background: var(--birincil); color: #FFFFFF; }   /* gece #2A66A8: beyaz 5,8:1 */

/* Görev listesi (GOV.UK task list): numaralı adım kartları + sağda durum. */
.gorev-listesi { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-direction: column; gap: 12px; }
.gorev-listesi > li { margin: 0; }
.gorev-ust { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gorev-ust h2, .gorev-ust h3 { margin: 0; font-size: 16px; line-height: 24px; }
.gorev-ust .durum, .gorev-ust .rozet { margin-left: auto; }

/* Zaman çizelgesi (notlar, etkinlik). */
.zaman-cizelgesi { list-style: none; padding: 0 0 0 16px; margin: 0; border-left: 1px solid var(--cizgi); }
.zaman-cizelgesi > li { position: relative; margin: 0 0 16px; }
.zaman-cizelgesi > li::before { content: ""; position: absolute; left: -20px; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--yuzey); border: 1px solid var(--cizgi-guclu); }
.zaman-cizelgesi time { display: block; font-size: 12px; line-height: 16px; color: var(--metin-3); margin-bottom: 2px; }
.zaman-cizelgesi .zaman-govde { white-space: pre-wrap; }

/* --- 4.19 Akıllı öneri kartı --- */
.oneri .kart-ust { padding-bottom: 4px; }
.oneri-liste { list-style: none; margin: 0; padding: 4px 0 8px; }
.oneri-liste > li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 20px;
  margin: 0;
  border-top: 1px solid var(--cizgi);
}
.oneri-liste > li:first-child { border-top: 0; }
.oneri-ikon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--r-2); background: var(--akilli-ton); color: var(--akilli); }
.oneri-ikon .ikon { width: 16px; height: 16px; }
.oneri-baslik { margin: 0; font-weight: 500; }
.oneri-kaynak { margin: 2px 0 0; font-size: 12px; line-height: 16px; color: var(--metin-3); }
.oneri-kaynak a { color: var(--metin-2); }

/* --- 4.20 Ayrıntı listesi ve künye çipleri --- */
.ozellik-liste { display: grid; grid-template-columns: minmax(120px, 200px) minmax(0, 1fr); margin: 0; font-size: 14px; line-height: 20px; }
.ozellik-liste > div { display: contents; }
.ozellik-liste dt { color: var(--metin-3); padding: 8px 12px 8px 0; border-bottom: 1px solid var(--cizgi); }
.ozellik-liste dd { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--cizgi); min-width: 0; overflow-wrap: anywhere; }
.ozellik-liste > div:last-child > dt, .ozellik-liste > div:last-child > dd { border-bottom: 0; }
.ozellik-liste .sayi { font-variant-numeric: tabular-nums; }
.ozellik-liste-toplam dt, .ozellik-liste-toplam dd { font-weight: 600; color: var(--metin); }
.kunye-cipleri { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; list-style: none; padding: 0; margin: 6px 0 0; font-size: 13px; line-height: 20px; color: var(--metin-2); }
.kunye-cipleri li { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.kunye-cipleri li + li::before { content: "·"; margin-right: 6px; color: var(--metin-3); }

/* --- 4.21 Yol / kopyala kutusu --- */
.yol-kutu {
  display: flex; align-items: center; gap: 4px;
  max-width: 100%;
  padding: 4px 4px 4px 10px;
  background: var(--yuzey-2);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-2);
}
.yol-kutu code {
  flex: 1 1 auto; min-width: 0;
  padding: 0; border: 0; background: none;
  color: var(--metin);
  font: 400 13px/20px var(--yazi-sabit);
  word-break: break-all;
  user-select: all;
}

/* --- 4.22 Sekmeler ve yerel menü --- */
.sekmeler { display: flex; gap: 4px; border-bottom: 1px solid var(--cizgi); overflow-x: auto; scrollbar-width: none; margin: 0 0 20px; }
.sekmeler a, .sekmeler button {
  position: relative;
  display: inline-flex; gap: 6px; align-items: center;
  min-height: 0;
  padding: 10px 12px;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  font: 500 14px/20px var(--yazi);
  color: var(--metin-2);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.sekmeler a:hover, .sekmeler button:hover { color: var(--metin); }
.sekmeler a[aria-current="page"], .sekmeler a[aria-selected="true"], .sekmeler button[aria-selected="true"] { color: var(--metin); }
.sekmeler a[aria-current="page"]::after, .sekmeler a[aria-selected="true"]::after, .sekmeler button[aria-selected="true"]::after {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2px; background: var(--vurgu); border-radius: 2px;
}
.sekmeler .cip-sayi { font-size: 12px; }
.sekmeler .durum { font-size: 0; gap: 0; }
.yerel-menu {
  position: sticky; top: calc(var(--ust-h) + 8px); z-index: 6;
  display: flex; gap: 6px; flex-wrap: wrap;
  padding: 8px 0;
  margin: 0 0 16px;
  background: var(--zemin);
}
.yerel-menu a { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: var(--r-tam); border: 1px solid var(--cizgi); background: var(--yuzey); font: 500 13px/20px var(--yazi); color: var(--metin-2); text-decoration: none; }
.yerel-menu a:hover { color: var(--metin); border-color: var(--cizgi-guclu); }
.yerel-menu a[aria-current="true"], .yerel-menu a[aria-current="location"] { background: var(--vurgu-ton); border-color: var(--vurgu-cizgi); color: var(--vurgu-metin); }

/* Açılır menü (satır "⋯" eylemleri, "İndir ▾"): <details class="acilir">. */
.acilir { position: relative; display: inline-block; margin: 0; }
.acilir > summary { list-style: none; width: auto; margin: 0; }
.acilir > summary:not(.dugme) { padding: 0; }
.acilir > summary::-webkit-details-marker { display: none; }
.acilir[open] > summary { margin: 0; }
.acilir-menu {
  position: absolute; right: 0; top: calc(100% + 4px); z-index: 50;
  min-width: 200px;
  padding: 4px;
  background: var(--katman-yuzey);
  border: 1px solid var(--katman-cizgi);
  border-radius: var(--r-2);
  box-shadow: var(--golge-2);
  text-align: left;
}
.acilir[data-yon="sol"] .acilir-menu { right: auto; left: 0; }
.acilir-menu > a, .acilir-menu > button, .acilir-menu form > button {
  display: flex; align-items: center; gap: 8px; width: 100%;
  min-height: 32px; padding: 0 10px;
  border: 0; border-radius: var(--r-1); background: none; box-shadow: none;
  font: 400 14px/20px var(--yazi); color: var(--metin); text-decoration: none; text-align: left;
  cursor: pointer; white-space: nowrap;
}
.acilir-menu > a:hover, .acilir-menu > button:hover, .acilir-menu form > button:hover { background: var(--yuzey-2); }
.acilir-menu .ikon { width: 16px; height: 16px; color: var(--metin-3); }
.acilir-menu .tehlikeli, .acilir-menu .tehlikeli .ikon { color: var(--olumsuz); }
.acilir-menu hr { margin: 4px 0; }
.acilir-menu form { margin: 0; display: block; }

/* Yükleniyor iskeleti (150 ms gecikmeyle çıkar). */
.iskelet { display: block; height: 12px; margin: 8px 0; border-radius: var(--r-1); background: linear-gradient(90deg, var(--yuzey-2), var(--yuzey-3), var(--yuzey-2)); background-size: 200% 100%; animation: iskelet 1.4s ease-in-out infinite, gecikmeli-gir 1ms 150ms backwards; }
@keyframes iskelet { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@keyframes gecikmeli-gir { from { opacity: 0; } }
.donen { display: inline-block; width: 16px; height: 16px; border: 2px solid var(--cizgi-guclu); border-top-color: var(--vurgu); border-radius: 50%; animation: don 700ms linear infinite, gecikmeli-gir 1ms 200ms backwards; vertical-align: middle; }

/* Duruşma/olay listesi (ayraçlı, kart içinde). */
.satir-liste { list-style: none; margin: 0; padding: 0; }
.satir-liste > li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding: 10px 0; margin: 0; border-top: 1px solid var(--cizgi); align-items: start; }
.satir-liste > li:first-child { border-top: 0; }
.satir-liste-zaman { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--metin); white-space: nowrap; }
.satir-liste-zaman small { display: block; font-weight: 400; color: var(--metin-3); font-size: 12px; }
.satir-liste-alt { display: block; font-size: 12px; line-height: 16px; color: var(--metin-3); margin-top: 2px; }

/* === 6. Uyumluluk katmanı ================================================ *
 * Henüz yeni bileşenlere geçirilmemiş şablonların kullandığı eski sınıflar
 * (belge §7.1). Görünüm yeni token'larla; seçiciler ve özgüllükleri eski
 * dosyadakiyle aynı tutuldu ki betiklerin ve canlı UYAP sayfalarının
 * dayandığı davranış (soru kutusu, günlük, Durdur) değişmesin.
 * Bir sayfa yeni sınıflara geçince buradaki karşılığı silinebilir. */

/* Sınıfsız düğmeler: geçiş süresince birincil görünür (bugünkü sayfalarda
   "Başlat", "Kaydet", "Hesapla" sınıfsız). Yeni kodda her düğmeye .dugme +
   tür sınıfı verin; bu kural temizlikte "ikincil"e çevrilecek (belge §4.8). */
:where(button:not([class]), input[type="submit"]:not([class]), input[type="button"]:not([class]), input[type="reset"]:not([class]),
       .btn-link, .btn-ikincil, .btn-danger, .btn-secili) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: var(--r-1);
  font: 500 14px/20px var(--yazi);
  letter-spacing: -.006em;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  background: var(--birincil);
  color: var(--birincil-yazi);
  box-shadow: 0 1px 2px rgba(16, 24, 40, .12), inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: background-color var(--h-1) var(--egri), border-color var(--h-1) var(--egri), color var(--h-1) var(--egri);
}
:where(button:not([class]), input[type="submit"]:not([class]), input[type="button"]:not([class])):hover {
  background: var(--birincil-ustu);
  color: var(--birincil-yazi);
}
:where(button:not([class]), .btn-link, .btn-ikincil, .btn-danger):active:not(:disabled) { transform: translateY(1px); }
:where(button:disabled, button[disabled], input[type="submit"]:disabled) {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* İkincil: .btn-link ve .btn-ikincil. */
.btn-link, .btn-ikincil {
  background: var(--yuzey);
  color: var(--metin);
  border: 1px solid var(--cizgi-guclu);
  box-shadow: var(--golge-1);
  text-decoration: none;
}
.btn-link:hover, .btn-ikincil:hover {
  background: var(--yuzey-2);
  color: var(--metin);
  border-color: var(--cizgi-guclu);
  text-decoration: none;
}
/* Sayfanın asıl eylemi olan bağlantı. */
.btn-link.btn-birincil { background: var(--birincil); color: var(--birincil-yazi); border-color: transparent; }
.btn-link.btn-birincil:hover { background: var(--birincil-ustu); color: var(--birincil-yazi); }
/* Satır içi "Sil": sakin kırmızı çerçeve. */
.btn-danger { background: var(--yuzey); color: var(--olumsuz); border: 1px solid var(--olumsuz-cizgi); box-shadow: none; }
.btn-danger:hover { background: var(--olumsuz-ton); color: var(--olumsuz); border-color: var(--olumsuz-cizgi); }
/* Koşuyu durduran düğme (gönderim, tarama, dosya indirme): dolu kırmızı. */
form[action$="/durdur"] > button { background: var(--tehlike); color: #FFFFFF; border-color: var(--tehlike); }
form[action$="/durdur"] > button:hover { background: var(--tehlike-ustu); border-color: var(--tehlike-ustu); color: #FFFFFF; }
form[action$="/durdur"] { margin: 12px 0 16px; }
/* Sorudaki "Hayır" cevabı ikincil; "Evet" birincil. */
#soru-kutu button[value="hayir"] { background: var(--yuzey); color: var(--metin); border: 1px solid var(--cizgi-guclu); box-shadow: var(--golge-1); }
#soru-kutu button[value="hayir"]:hover { background: var(--yuzey-2); }
/* Süzgeç çubuklarında seçili olan ve alt sekmelerde açık olan. */
.btn-secili, .btn-secili:hover,
a.active, .inline-form a.active,
.btn-link.active, .btn-link.active:hover,
.btn-link[aria-current="page"], .btn-link[aria-current="page"]:hover {
  background: var(--vurgu-ton);
  border-color: var(--vurgu-cizgi);
  color: var(--vurgu-metin);
  box-shadow: none;
  text-decoration: none;
}
.btn-link[aria-current="page"] strong { font-weight: 600; }
/* Tablo satırında düğmeler küçülür. */
.list-table :where(button, .btn-link),
.day-card table :where(button, .btn-link) { min-height: 28px; padding: 0 10px; font-size: 13px; }

/* Sayfa üstü: .page-header → .sayfa-ust */
.page-header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 12px 24px; flex-wrap: wrap;
  margin: 0 0 24px;
}
.page-header h1 { margin: 0; }
.page-header > div > h1 + .muted, .page-header > div > h1 + p { margin-top: 4px; }
.page-header .muted, .page-header > div > p:last-child { margin-bottom: 0; }
.page-header > .inline-form { margin: 0; align-items: center; }
.pano-tarih { margin: 0 0 2px; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--altin-metin); }

/* Açıklama paragrafları: .muted */
.muted { color: var(--metin-2); font-size: 14px; }
.muted a { color: var(--metin-2); }
.muted a:hover { color: var(--metin); }
.muted strong { color: var(--metin); }
small.muted, .muted small { font-size: 12px; color: var(--metin-3); }

/* Kartlar: .day-card, .case-card, .devam-kutu, .record-form … → .kart */
.day-card, .case-card, .record-form, .preview-box, .detail-list, .devam-kutu {
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-1);
}
.day-card { padding: 20px; margin-bottom: 16px; min-width: 0; }
.day-card > h2:first-child, .day-card > h3:first-child { margin-top: 0; }
.day-card h2 { font-size: 16px; line-height: 24px; }
.day-card h2 a { color: var(--metin); text-decoration: none; }
.day-card h2 a:hover { color: var(--vurgu); text-decoration: underline; }
.day-card > :last-child { margin-bottom: 0; }
.case-card { padding: 16px 20px; margin-bottom: 12px; }
.devam-kutu { padding: 20px; margin: 16px 0; }
.devam-kutu > h3:first-child { margin-top: 0; font-size: 16px; }
.devam-kutu > :last-child { margin-bottom: 0; }
/* Safahat beklemesi: dikkat tonu. */
#bekleme-kutu { background: var(--uyari-ton); border-color: var(--uyari-cizgi); }

/* Özet şeridi: .summary → .ozet-serit görünümü (sol kalın çizgi kalktı). */
.summary {
  background: var(--yuzey-2);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-2);
  padding: 10px 14px;
  margin: 0 0 16px;
  font-size: 14px; line-height: 20px;
  color: var(--metin);
}
.summary strong { color: var(--metin); font-weight: 600; }

/* Uyarı kutuları: .error-box → .uyari.uyari-tehlike; ton bağlamdan gelir. */
.error-box {
  position: relative;
  background: var(--olumsuz-ton);
  color: var(--metin);
  border: 1px solid var(--olumsuz-cizgi);
  border-radius: var(--r-3);
  padding: 12px 16px 12px 44px;
  margin: 0 0 16px;
  font-size: 14px; line-height: 20px;
}
.error-box::before {
  content: "";
  position: absolute;
  left: 15px; top: 12px;
  width: 20px; height: 20px;
  background: var(--olumsuz);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%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' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.error-box strong { color: var(--olumsuz); }
.error-box > :last-child { margin-bottom: 0; }
.error-box > p:first-child { margin-top: 0; }
.error-box code { background: var(--yuzey); }
.error-box .muted { color: var(--metin-2); }
/* Dikkat (kehribar): işlev panelinin içindeki kutu ve "kaydedilmemiş değişiklik". */
.devam-kutu .error-box, #kurallar-degisti {
  background: var(--uyari-ton);
  border-color: var(--uyari-cizgi);
}
.devam-kutu .error-box::before, #kurallar-degisti::before {
  background: var(--uyari);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.5a2 2 0 0 0 1.7 3h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17v.01'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.5a2 2 0 0 0 1.7 3h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17v.01'/%3E%3C/svg%3E");
}
.devam-kutu .error-box strong, #kurallar-degisti strong { color: var(--uyari); }
/* Bilgi: başka sekmenin taraması sürüyor. */
.error-box.bilgi, #baska-tarama { background: var(--bilgi-ton); border-color: var(--bilgi-cizgi); }
.error-box.bilgi::before, #baska-tarama::before {
  background: var(--bilgi);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.5v.01'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.5v.01'/%3E%3C/svg%3E");
}
.error-box.bilgi strong, #baska-tarama strong { color: var(--bilgi); }
/* Olumlu: gönderim paketi hazır. */
.error-box.olumlu, #icra-paket.error-box { background: var(--olumlu-ton); border-color: var(--olumlu-cizgi); }
.error-box.olumlu::before, #icra-paket.error-box::before {
  background: var(--olumlu);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.7 2.7L16 9.8'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.7 2.7L16 9.8'/%3E%3C/svg%3E");
}
.error-box.olumlu strong, #icra-paket.error-box strong { color: var(--olumlu); }

/* Koşu sırasında sorulan soru ("Kaldığı yerden devam edilsin mi?"): gözden
   kaçmamalı → yeni .soru gibi yapışkan, kırmızı kenarlı. Eski ve yeni
   işaretlemenin ikisi de (#soru-kutu.error-box / section.soru#soru-kutu). */
#soru-kutu {
  position: sticky;
  top: calc(var(--ust-h) + 12px);
  z-index: 5;
  border: 1px solid var(--olumsuz);
  border-left-width: 4px;
  box-shadow: 0 0 0 4px var(--olumsuz-ton), var(--golge-2);
  font-size: 15px; line-height: 22px;
}
#soru-kutu.error-box { background: var(--yuzey); padding: 14px 18px 14px 46px; }
#soru-kutu.error-box::before { left: 15px; top: 15px; }
#soru-kutu.error-box strong { color: var(--metin); }
#soru-kutu form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

/* Satır içi form çubuğu: .inline-form → .tablo-arac / .form-izgara */
.inline-form {
  margin: 12px 0;
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px;
}
.inline-form:has(> a:not(.btn-link)) { align-items: center; }
.inline-form > label:not(:has(input, select, textarea)) { align-self: center; }
.inline-form label {
  display: inline-flex; flex-direction: column; gap: 6px;
  font-size: 13px; line-height: 18px; font-weight: 500; color: var(--metin-2);
}
.inline-form label:has(input[type="checkbox"]) {
  flex-direction: row; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 400;
  color: var(--metin); min-height: 36px;
}
/* Süzgeç bağlantıları (Tür: Tümü / Dava / …) → çip görünümü. */
.inline-form > a:not(.btn-link) {
  display: inline-flex; align-items: center;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--cizgi-guclu);
  border-radius: var(--r-tam);
  background: var(--yuzey);
  color: var(--metin-2);
  font-size: 13px; font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
.inline-form > a:not(.btn-link):hover { border-color: var(--metin-3); color: var(--metin); }
.inline-form > a.active:hover { background: var(--vurgu-ton); color: var(--vurgu-metin); border-color: var(--vurgu-cizgi); }

/* Yan yana seçenekler (koşu hızı: yavaş/orta/hızlı). */
.secenek { display: inline-flex; align-items: center; gap: 8px; margin-right: 16px; white-space: nowrap; }

/* Formlar: .record-form, .form-group, .field-row → .form / .alan */
.record-form { padding: 20px; max-width: 760px; margin: 0 0 24px; }
.record-form:has(.inline-form), .record-form:has(.suzgecler) { max-width: none; }
.record-form > :last-child { margin-bottom: 0; }
.record-form h2:first-child { margin-top: 0; }
.form-group { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 14px; font-weight: 500; color: var(--metin); }
.form-group small.muted { font-size: 13px; color: var(--metin-3); }
.field-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.field-row label { width: 74px; flex-shrink: 0; font-family: var(--yazi-sabit); color: var(--metin-2); font-size: 13px; }
.field-row input { flex: 1; }

/* Tablo süzme kutusu (şablon, müvekkil, dosya listeleri) → .arama-kutu */
.search-box {
  display: block; width: 100%; max-width: 380px; margin: 12px 0;
  padding-left: 34px !important;
  background-image: var(--arama-simge);
  background-repeat: no-repeat;
  background-position: 11px center;
  background-size: 16px;
}

/* Tablolar: .list-table → .tablo (kap görünümüyle) */
table { border-collapse: collapse; }
.list-table, .diff-table {
  width: 100%;
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  overflow: clip;              /* köşeyi kırpar ama kaydırma kabı olmaz: başlık yapışabilir */
  margin: 12px 0 24px;
  box-shadow: var(--golge-1);
  font-size: 14px; line-height: 20px;
  font-variant-numeric: tabular-nums;
}
.list-table th, .list-table td {
  text-align: left;
  padding: 10px 16px;
  border-bottom: 1px solid var(--cizgi);
  vertical-align: middle;
}
/* Başlık satırı: thead ya da yalnız <th>'lerden oluşan ilk satır. */
.list-table thead th,
.list-table tr:not(:has(td)) > th {
  background: var(--yuzey-2);
  font: 500 12px/16px var(--yazi);
  letter-spacing: 0;
  color: var(--metin-2);
}
/* Yapışkan başlık: uzun listede sütun adları görünür kalır. */
.list-table thead th,
.list-table > tbody:first-child > tr:first-child:not(:has(td)) > th {
  position: sticky;
  top: var(--ust-h);
  z-index: 2;
}
/* Yana kayan kutunun içindeki tabloda yapışma yok (kutunun kendisi kayıyor). */
[style*="overflow"] > .list-table th,
.ornek-sarma .list-table th,
.suzgec .list-table th { position: static; }
/* Satır başlığı: <tr><th>Tahsil edilen</th><td>…</td></tr> → .ozellik-liste görünümü */
.list-table tr:has(td) > th {
  width: 30%;
  font-weight: 500;
  color: var(--metin-2);
  font-size: 14px;
  background: transparent;
}
.list-table > :last-child > tr:last-child > td,
.list-table > :last-child > tr:last-child > th { border-bottom: 0; }
.list-table tbody tr:hover > td,
.list-table tbody tr:hover:has(td) > th { background: var(--yuzey-2); }
.list-table a { color: var(--vurgu); text-decoration: none; font-weight: 500; }
.list-table a:hover { color: var(--vurgu-ustu); text-decoration: underline; }
.list-table a.btn-link, .list-table a.btn-link:hover { color: var(--metin); text-decoration: none; }
.list-table code { font-size: .85em; }
.list-table form { margin: 0; }
.list-table .inline-form { margin: 0; gap: 6px; }
.list-table label { cursor: pointer; }
/* Satır vurgusu: süresi geçen / yaklaşan tebligat, işlenmiş kayıt. */
.list-table tbody tr.diff-removed > td { background: var(--olumsuz-ton); }
.list-table tbody tr.diff-removed > td:first-child { box-shadow: inset 3px 0 0 var(--olumsuz); }
.list-table tbody tr.diff-changed > td { background: var(--uyari-ton); }
.list-table tbody tr.muted > td { color: var(--metin-3); }
/* Sayısal sütunlar sağa yaslanır: tutarlar alt alta okunabilsin. */
.list-table td.sayi, .list-table th.sayi, td.sayi, th.sayi {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* Kart içindeki sade tablolar (hesap özetleri). */
.day-card table:not(.list-table):not(.cal-table) { width: 100%; }
.day-card table:not(.list-table):not(.cal-table) th,
.day-card table:not(.list-table):not(.cal-table) td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--cizgi);
  vertical-align: top;
  overflow-wrap: anywhere;
}
.day-card table:not(.list-table):not(.cal-table) th { color: var(--metin-2); font-size: 12px; line-height: 16px; font-weight: 500; }
.day-card table:not(.list-table):not(.cal-table) tr:last-child > td { border-bottom: 0; }
.day-card table:not(.list-table):not(.cal-table) a { text-decoration: none; font-weight: 500; }
.day-card table:not(.list-table):not(.cal-table) a:hover { text-decoration: underline; }

/* Rozetler: .badge / .karar-sonuc → .rozet. Taban kural :where() ile sıfır
   özgüllükte: yukarıdaki .karar-* ton kuralları (önce tanımlı) ezilmesin. */
:where(.badge, .karar-sonuc) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 20px;
  padding: 0 8px;
  border-radius: var(--r-tam);
  font: 500 12px/16px var(--yazi);
  letter-spacing: 0;
  border: 1px solid var(--cizgi);
  background: var(--yuzey-2);
  color: var(--metin-2);
  white-space: nowrap;
  vertical-align: middle;
}
.badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.badge-ok      { background: var(--olumlu-ton); color: var(--olumlu); border-color: var(--olumlu-cizgi); }
.badge-pending { background: var(--uyari-ton);  color: var(--uyari);  border-color: var(--uyari-cizgi); }

/* İstatistik: .kpi → .istatistik ; sayılar: .sayilar/.sayi-kutu → arşiv satırı */
.kpi-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 0 0 24px; }
.kpi { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 16px 20px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-3); box-shadow: var(--golge-1); color: var(--metin); text-decoration: none; }
.kpi-ust { display: flex; align-items: center; gap: 8px; font: 500 13px/20px var(--yazi); color: var(--metin-2); }
.kpi-ikon { display: inline-flex; color: var(--metin-3); }
.kpi-ikon .ikon { width: 16px; height: 16px; }
.kpi-sayi { font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -.021em; font-variant-numeric: tabular-nums; margin-top: 4px; }
.kpi-alt { font-size: 12px; line-height: 16px; color: var(--metin-3); }
.kpi-uyari { color: var(--olumsuz) !important; font-weight: 600; }
.kpi-kirmizi { border-color: var(--olumsuz-cizgi); }
.kpi-kehribar .kpi-ikon { color: var(--uyari); }
.kpi-yesil .kpi-ikon { color: var(--olumlu); }
.pano { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px 24px; align-items: start; margin: 0 0 24px; }
.pano > .kart, .pano > .day-card { margin: 0; min-width: 0; }
.pano-saat { width: 5.5em; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--metin); white-space: nowrap; }
.kart-baslik { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.kart-baslik h2 { margin: 0; font-size: 16px; display: flex; align-items: center; gap: 8px; }
.kart-baglanti { font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.sayilar { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 12px 0 16px; }
.sayi-kutu { display: block; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-3); box-shadow: var(--golge-1); padding: 14px 16px; text-decoration: none; color: var(--metin); }
.sayi-kutu:hover { border-color: var(--cizgi-guclu); color: var(--metin); }
.sayi-kutu .sayi { display: block; font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sayi-ad { display: block; margin-top: 2px; font-size: 12px; font-weight: 500; color: var(--metin-3); }

/* Boş durum: .bos-durum → .bos */
.bos-durum { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px 12px 12px; text-align: center; color: var(--metin-2); font-size: 14px; }
.bos-durum .ikon { width: 24px; height: 24px; color: var(--metin-3); }
.bos-durum p { margin: 0; max-width: 44ch; }

/* UYAP: paket yolu (.kod-yol → .yol-kutu). Zemin ve yazı AYNI token
   çiftinden ve !important ile: `.list-table code` gibi özgül bir kural
   zemini ezip gecede koyu zemine koyu yazı bırakmıştı (16 Eylül 2026). */
.kod-yol {
  display: inline-block;
  max-width: 100%;
  font-family: var(--yazi-sabit);
  font-size: 13px; line-height: 20px;
  background: var(--yuzey-2) !important;
  color: var(--metin) !important;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-1);
  padding: 2px 8px;
  user-select: all;
  word-break: break-all;
  vertical-align: middle;
}
/* Günlük (koşuların akan kaydı): koyu uçbirim görünümü. En yeni satır üstte
   (sayfanın betiği yazar). Yenisi: ol.gunluk (belge §4.11). */
pre.kod-yol#gunluk, pre.kod-yol {
  display: block;
  max-height: 26rem;
  overflow: auto;
  white-space: pre-wrap;
  font-size: 12.5px;
  line-height: 20px;
  padding: 12px 16px;
  margin: 8px 0 24px;
  background: var(--gunluk-zemin) !important;
  color: var(--gunluk-metin) !important;
  border: 1px solid var(--gunluk-cizgi);
  border-radius: var(--r-3);
  user-select: text;
  word-break: normal;
  overflow-wrap: anywhere;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .2) transparent;
  tab-size: 4;
}

/* İcra "Kurallar" paneli (Dosya Paraları). */
.kural-grup { border: 1px solid var(--cizgi); border-radius: var(--r-3); background: var(--yuzey-2); padding: 4px 16px 6px; margin: 12px 0; min-width: 0; }
.kural-grup legend { font-weight: 600; padding: 0 6px; }
.kural-satir { padding: 10px 0; border-bottom: 1px solid var(--cizgi); overflow-wrap: anywhere; }
.kural-satir:last-child { border-bottom: 0; }
.kural-satir .secenek { white-space: normal; }
.kural-satir .secenek-pasif { color: var(--metin-3); }
.kural-tutar { width: 7em; }
.kural-metin { display: block; width: 100%; max-width: 44rem; margin-top: 6px; }
.kural-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; }
.kural-tamam { background: var(--olumlu-ton); color: var(--metin); border: 1px solid var(--olumlu-cizgi); border-radius: var(--r-3); padding: 10px 14px; }
.kural-sonuc { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-3); padding: 12px 16px; margin-top: 10px; }
.kural-sonuc p { margin: 4px 0; }

/* Karar arama süzgeçleri (kutucuklu, çoklu). */
.suzgecler { display: grid; grid-template-columns: repeat(auto-fit, minmax(14em, 1fr)); gap: 10px; margin: 10px 0; }
.suzgec { border: 1px solid var(--cizgi); border-radius: var(--r-2); padding: 6px 12px 10px; background: var(--yuzey-2); margin: 0; min-width: 0; max-height: 15em; overflow-y: auto; scrollbar-width: thin; }
.suzgec legend { font-size: 12px; font-weight: 600; padding: 0 6px; color: var(--metin-2); }
.suzgec-genis { grid-column: span 2; }
.suzgec-genis > label { display: inline-flex; }
.kutucuk { display: flex; align-items: center; gap: 8px; padding: 2px 0; font-size: 14px; cursor: pointer; white-space: nowrap; }
.suzgec-genis .kutucuk { margin-right: 1rem; }
.kutucuk input { margin: 0; }
.tumu-kutucuk { border-bottom: 1px solid var(--cizgi); padding-bottom: 4px; margin-bottom: 4px; }
.suzgec .record-form { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0; }
.suzgec:has(.record-form) { max-height: none; overflow: visible; background: var(--yuzey); }
.suzgec-grup-baslik { font-size: 12px; font-weight: 600; color: var(--metin-2); margin: 6px 0 2px; }
.arama-duzen { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 16px; }
@media (min-width: 62em) { .arama-duzen { grid-template-columns: minmax(0, 3fr) minmax(15em, 1fr); } }
.arama-sonuc { min-width: 0; }
.tumu { accent-color: var(--birincil); }
.arama-yan .day-card { position: sticky; top: calc(var(--ust-h) + 16px); }
.analiz-liste { list-style: none; padding: 0; margin: 4px 0 16px; }
.analiz-liste li { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; margin: 0; border-bottom: 1px solid var(--cizgi); font-size: 14px; }
.analiz-liste li:last-child { border-bottom: 0; }

/* Mevzuat metnindeki madde → içtihat bağlantısı. */
.decision-text .madde-baglanti { font-weight: 600; text-decoration: none; color: var(--vurgu); border-bottom: 1px dotted var(--vurgu); }
.decision-text .madde-baglanti:hover { background: var(--vurgu-ton); }
.decision-text .madde-ictihat { font-weight: 600; text-decoration: none; color: var(--metin); cursor: pointer; }
.decision-text .madde-ictihat:hover { color: var(--vurgu); }
.decision-text .madde-say {
  display: inline-block;
  font-family: var(--yazi); font-weight: 500; font-size: .75em;
  color: var(--vurgu-metin); background: var(--vurgu-ton);
  border: 1px solid var(--vurgu-cizgi);
  border-radius: var(--r-tam);
  padding: 0 .6em; margin-left: .35em;
  white-space: nowrap;
}
.decision-text .madde-ictihat.acik .madde-say { background: var(--birincil); color: #FFFFFF; border-color: var(--birincil); }
.madde-kararlar-panel {
  white-space: normal;
  font-family: var(--yazi);
  background: var(--yuzey-2);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-2);
  margin: .45rem 0 .85rem;
  padding: .65rem .95rem;
  font-size: 14px; line-height: 20px;
}
.atif-ozet { margin: 0 0 .45rem; }
.atif-karar-liste { margin: 0; padding-left: 1.15rem; }
.atif-karar-liste li { margin: .28rem 0; }
.atif-sayfa { margin: .55rem 0 0; gap: .6rem; }

/* Sesle arama — Ara'nın yanında küçük mikrofon. */
.mik {
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--cizgi-guclu);
  background: var(--yuzey);
  color: var(--metin);
  border-radius: 50%;
  width: 36px; height: 36px; min-height: 36px;
  padding: 0; font-size: 1em; line-height: 1;
  box-shadow: var(--golge-1);
  cursor: pointer; vertical-align: middle;
}
.mik:hover { border-color: var(--vurgu); background: var(--vurgu-ton); color: var(--metin); }
.mik.dinliyor { border-color: var(--vurgu); background: var(--vurgu-ton); animation: mik-nabiz 1s infinite; }
@keyframes mik-nabiz {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--odak) 40%, transparent); }
  50%      { box-shadow: 0 0 0 6px color-mix(in srgb, var(--odak) 0%, transparent); }
}
.karar-gerekce { border-left: 3px solid var(--altin); }

/* Evrak metni: karar/evrak METNİ basılı evraka benzesin diye tırnaklı kalır. */
.preview-box { padding: 24px 28px; font-family: var(--yazi-evrak); font-size: 15px; line-height: 1.65; letter-spacing: 0; max-height: 70vh; overflow-y: auto; }
.decision-text {
  white-space: pre-wrap;
  word-wrap: break-word;
  font-family: var(--yazi-evrak);
  font-size: 15.5px;
  line-height: 1.65;
  letter-spacing: 0;
  background: var(--yuzey);
  color: var(--metin);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  padding: 22px 26px;
  max-height: 42rem;
  overflow-y: auto;
  box-shadow: var(--golge-1);
}
/* Yapay zekânın yazdığı analiz, kararın kendi metninden ayrı görünmeli. */
.karar-analiz {
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-left: 3px solid var(--akilli);
  border-radius: var(--r-3);
  padding: 18px 22px;
  font-size: 15px;
  line-height: 24px;
}
.karar-analiz h3 { font-size: 15px; margin: 18px 0 6px; color: var(--metin); }
.karar-analiz h3:first-child { margin-top: 0; }
.karar-analiz ul { margin: 0 0 12px; padding-left: 20px; }
.karar-analiz li { margin-bottom: 5px; }
.karar-analiz a { font-weight: 500; }

/* Karar metni: künye hizalı, bölüm başlıkları ayrık, gerekçe iki yana yaslı. */
.karar-metin {
  font-family: var(--yazi-evrak);
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
  max-width: 72ch;
  background: var(--yuzey);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge-1);
  padding: 28px 34px;
}
.karar-metin p { text-align: justify; text-justify: inter-word; hyphens: auto; margin: 0 0 .85em; text-indent: 1.5em; }
.karar-ust { text-align: center; margin-bottom: 1.2em; }
.karar-ust p { text-align: center; text-indent: 0; margin: 0; font-weight: 600; letter-spacing: .04em; }
.karar-kunye {
  display: grid; grid-template-columns: auto 1fr; gap: .2em .9em;
  margin: 0 0 1.4em; padding-bottom: .9em;
  border-bottom: 1px solid var(--cizgi);
  font-family: var(--yazi); font-size: 14px; line-height: 20px; letter-spacing: -.006em;
}
.karar-kunye dt { font-weight: 500; color: var(--metin-3); }
.karar-kunye dd { margin: 0; }
.karar-bolum { font-family: var(--yazi); font-size: 14px; font-weight: 600; letter-spacing: .02em; margin: 1.6em 0 .6em; }

mark { background: var(--isaret); color: inherit; padding: 0 .12em; border-radius: 3px; }
.ph { border-radius: 4px; padding: 0 4px; font-family: var(--yazi); font-size: .85em; }
.ph-named   { background: var(--olumlu-ton); color: var(--olumlu); }
.ph-unnamed { background: var(--uyari-ton);  color: var(--uyari); }

/* Ayrıntı listeleri: .detail-list → .ozellik-liste */
.detail-grid { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 24px; align-items: start; }
.detail-list { display: grid; grid-template-columns: 170px minmax(0, 1fr); row-gap: 10px; column-gap: 16px; padding: 18px 20px; margin: 0 0 24px; }
.detail-list dt { color: var(--metin-3); font-size: 13px; font-weight: 500; }
.detail-list dd { margin: 0; min-width: 0; }
.status-list { list-style: none; padding: 0; line-height: 2; }
.generated-list { list-style: none; padding: 10px 0 0; margin: 10px 0 0; border-top: 1px solid var(--cizgi); }
.generated-list li { padding: 3px 0; }
.note-list { list-style: none; padding: 0; }
.note-list li { border: 1px solid var(--cizgi); padding: 10px 14px; margin-bottom: 10px; background: var(--yuzey); border-radius: var(--r-2); }
.note-list li div:last-of-type { white-space: pre-wrap; }

/* Belge kıyaslama. */
.diff-table td { vertical-align: top; font-size: 13px; padding: 5px 10px; border-bottom: 1px solid var(--cizgi); }
.diff-table .diff-no { width: 3.6em; color: var(--metin-3); text-align: right; font-variant-numeric: tabular-nums; font-family: var(--yazi-sabit); }
.diff-table tr.diff-changed { background: var(--uyari-ton); }
.diff-table tr.diff-added   { background: var(--olumlu-ton); }
.diff-table tr.diff-removed { background: var(--olumsuz-ton); }
span.diff-add    { background: color-mix(in srgb, var(--olumlu) 26%, transparent); border-radius: 3px; }
span.diff-remove { background: color-mix(in srgb, var(--olumsuz) 26%, transparent); border-radius: 3px; text-decoration: line-through; }

/* Takvim (korunur, yalnız token'lar). */
.cal-header { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 20px 0 12px; }
.cal-header h2 { margin: 0 8px; flex: 0 0 auto; min-width: 9em; }
.cal-table { width: 100%; table-layout: fixed; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-3); border-collapse: separate; border-spacing: 0; overflow: hidden; box-shadow: var(--golge-1); }
.cal-table th { background: var(--yuzey-2); border-bottom: 1px solid var(--cizgi); padding: 8px 6px; font-size: 12px; font-weight: 500; color: var(--metin-2); }
.cal-cell { border-right: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi); vertical-align: top; height: 6.8em; padding: 6px; overflow: hidden; }
.cal-table tr > .cal-cell:last-child { border-right: 0; }
.cal-table tbody tr:last-child > .cal-cell { border-bottom: 0; }
.cal-other { background: var(--yuzey-2); }
.cal-other .cal-day { color: var(--metin-3); }
.cal-today { background: var(--vurgu-ton); }
.cal-today .cal-day { background: var(--birincil); color: #FFFFFF; border-radius: 50%; }
.cal-day { display: inline-block; font-size: 12px; font-weight: 600; min-width: 22px; height: 22px; line-height: 22px; text-align: center; margin-bottom: 4px; color: var(--metin); text-decoration: none; border-radius: 50%; font-variant-numeric: tabular-nums; }
a.cal-day:hover { background: var(--vurgu-ton); color: var(--vurgu-metin); }
.cal-event { display: block; font-size: 11.5px; line-height: 16px; padding: 2px 6px; margin-bottom: 2px; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; color: var(--metin); border-left: 3px solid transparent; }
.cal-durusma { background: var(--bilgi-ton); border-left-color: var(--bilgi); }
.cal-kesif   { background: var(--olumlu-ton); border-left-color: var(--olumlu); }
.cal-sure    { background: var(--olumsuz-ton); border-left-color: var(--olumsuz); font-weight: 600; }
.cal-more { display: block; font-size: 11.5px; color: var(--metin-3); }

/* Örnek Excel tablosu (Excel görünümü korunur). */
.ornek-sarma { overflow-x: auto; margin-top: 12px; border-radius: var(--r-3); }
.ornek-sarma > .list-table { margin: 0; }
.ornek-tablo { font-size: 13px; margin-top: 0; min-width: 100%; }
.ornek-tablo td, .ornek-tablo th { padding: 6px 10px; border-bottom: 1px solid var(--cizgi); border-right: 1px solid var(--cizgi); white-space: nowrap; vertical-align: top; }
.ornek-tablo td:last-child, .ornek-tablo th:last-child { border-right: 0; }
.ornek-tablo .ornek-no, .ornek-no {
  width: 2.6em;
  text-align: center !important;
  background: var(--yuzey-2) !important;
  color: var(--metin-3);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 12px;
  position: sticky;
  left: 0;
}
.ornek-anahtar td { background: var(--uyari-ton) !important; font-family: var(--yazi-sabit); font-size: 12px; }
.ornek-simge  td { background: var(--bilgi-ton) !important;  font-family: var(--yazi-sabit); letter-spacing: .04em; }
.ornek-baslik td { background: var(--yuzey-2) !important;  font-weight: 600; }

/* Geniş eski tablolu sayfalar (Dosya Paraları, Dosya İndirme) sayfa ajanı
   "icerik-genis" verene kadar geniş ekranda sıkışmasın. */
.content:has(div[style*="overflow-x"] > .list-table) { max-width: 1600px; }

/* === 7. Dar ekran ======================================================== *
 * 900 px altında menü gizlenir; üst çubuktaki düğmeyle soldan açılır.
 * Telefonda yatay sayfa kaydırması olmaz: geniş tablolar kendi içinde kayar. */

@media (max-width: 1100px) {
  .izgara-8-4, .izgara-3-9, .izgara-5-7 { grid-template-columns: minmax(0, 1fr); }
  .sag-ray { position: static; }
}

@media (max-width: 900px) {
  .duzen { display: block; }
  .kenar {
    position: fixed;
    left: 0; top: 0; bottom: 0;
    width: min(288px, 86vw);
    height: auto;
    background: var(--yuzey);
    transform: translateX(-102%);
    transition: transform var(--h-3) var(--egri);
    z-index: 60;
  }
  html.menu-acik .kenar { transform: none; box-shadow: var(--golge-3); }
  html.menu-acik { overflow: hidden; }
  .kenar-perde { position: fixed; inset: 0; z-index: 55; background: var(--perde); }
  html.menu-acik .kenar-perde { display: block; }
  .kenar .menu-daralt { display: none; }
  .menu-ac, .ust-ara { display: inline-flex; }

  .ust-cubuk { padding: 8px 16px; gap: 8px; }
  .content { padding: 20px 16px 56px; }

  .detail-grid, .pano, .izgara-2, .izgara-3 { grid-template-columns: minmax(0, 1fr); }
  .detail-list { grid-template-columns: 1fr; row-gap: 2px; }
  .detail-list dd { margin-bottom: 8px; }
  .form-bolum, .form-izgara { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .kosu-ana { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ozellik-liste { grid-template-columns: minmax(0, 1fr); }
  .ozellik-liste dt { border-bottom: 0; padding-bottom: 0; }

  /* Geniş eski tablolar kendi içinde yana kayar; sayfa kaymaz. */
  .list-table, .diff-table { display: block; overflow-x: auto; max-width: 100%; }
  .list-table th, .tablo th { position: static !important; }
  .cal-table { font-size: .9em; }
  .cal-cell { height: 5.4em; padding: 3px; }
  .ornek-tablo { font-size: 12px; }
  .karar-sonuc, .badge, .rozet { white-space: normal; height: auto; min-height: 20px; }
  .inline-form > label { max-width: 100%; min-width: 0; }
  /* Satır içi genişlik verilmiş arama kutuları (ör. Karar Arama'da 28em) daralsın. */
  .content input[style*="min-width"] { min-width: 0 !important; width: 100%; }
  .inline-form > input[type="search"] { flex: 1 1 100%; }
  .cekmece { border-radius: 0; }
}

@media (max-width: 640px) {
  /* Üst çubuk iki satır: [menü · konum · ara · tema] / [UYAP durumu]. */
  .ust-cubuk { flex-wrap: wrap; row-gap: 6px; }
  .yol-izi { order: 1; flex: 1 1 0; }
  .ust-ara { order: 2; }
  .tema-secenekler { order: 3; }
  .uyap-rozet { order: 4; flex: 1 1 100%; max-width: 100%; }
  .sayfa-ust { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sayfa-ust-eylem { justify-content: flex-start; }
  .page-header { align-items: flex-start; }
  .istatistik-izgara, .kpi-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .istatistik { padding: 14px; }
  .istatistik-deger { font-size: 24px; line-height: 32px; }
  .suzgec-genis { grid-column: span 1; }
  .secenek { white-space: normal; }
  .adimlar { flex-wrap: wrap; }
  .adimlar li { flex: 1 1 40%; }
  .kosu-serit .ilerleme { display: none; }
  .tablo td, .tablo th { padding: 8px 10px; }
  .kart > .tablo th:first-child, .kart > .tablo td:first-child,
  .kart > .tablo-kaydir > .tablo th:first-child, .kart > .tablo-kaydir > .tablo td:first-child { padding-left: 16px; }
  .kart > .tablo th:last-child, .kart > .tablo td:last-child,
  .kart > .tablo-kaydir > .tablo th:last-child, .kart > .tablo-kaydir > .tablo td:last-child { padding-right: 16px; }
  .kart-ust { padding: 14px 16px 0; }
  .kart-govde { padding: 12px 16px 16px; }
  .bildirimler { right: 16px; bottom: 16px; }
  .palet { margin-top: 8vh; }
  .palet-alt-not { display: none; }
  .uyari { grid-template-columns: 20px minmax(0, 1fr); }
  .uyari > .uyari-eylem { grid-column: 2; }
}

@media (max-width: 420px) {
  .istatistik-izgara, .kpi-izgara { grid-template-columns: minmax(0, 1fr); }
  .yol-grup, .yol-grup + .ikon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* === 8. Baskı ============================================================ *
 * Bu programın ürettiği şey evrak; hesap dökümü ve karar metni basılıyor.
 * Menü, üst çubuk, düğmeler ve renkli zeminler kâğıda gitmez. */

@media print {
  .kenar, .ust-cubuk, .kenar-perde, .atla, .palet, .bildirimler, .cekmece, .onay,
  button, .dugme, .btn-link, .inline-form, form, .sayfa-ust-eylem, .tablo-arac, .yerel-menu { display: none !important; }
  .duzen, .ana { display: block; }
  .content { max-width: none; padding: 0; }
  body { background: #FFFFFF; color: #000000; font-size: 11.5pt; }
  .day-card, .kart, .list-table, .tablo-kap, .decision-text, .karar-analiz, .summary, .ozet-serit,
  .record-form, .detail-list, .preview-box, .karar-metin, .devam-kutu, .istatistik, .uyari {
    box-shadow: none; border: 1px solid #BBBBBB; break-inside: avoid; background: #FFFFFF; color: #000000;
  }
  .list-table th, .tablo th { position: static; background: #F2F2F2; color: #000000; }
  .decision-text, .preview-box { max-height: none; overflow: visible; }
  a { color: #000000; text-decoration: none; }
  /* Basılı kâğıtta bağlantının nereye gittiği görünmeli. */
  .karar-analiz a[href^="/"]::after { content: " (" attr(href) ")"; font-size: .85em; color: #555555; }
  h1, h2, h3 { break-after: avoid; color: #000000; }
  .tema { display: none; }
}

/* Kararı yazdırırken sayfada yalnızca kararın kendisi kalsın. */
@media print {
  .kenar, nav, form, .btn-link, button, #benzer-kararlar,
  .karar-analiz, .summary { display: none !important; }
  .karar-metin { max-width: none; font-size: 11pt; border: 0; padding: 0; }
  .karar-bolum { page-break-after: avoid; }
  .karar-metin p { orphans: 3; widows: 3; }
  a[href]::after { content: ""; }
}

/* ---- Kullanıcı menüsü (üst çubuk; 24 Eylül 2026, çok kullanıcılı çalışma) ----
   Program başka avukatlara açılınca üst çubukta kimin girdiği görünmeli. Menü
   <details>/<summary> ile açılır: betik çalışmasa da çalışır. */
.kullanici-menu { position: relative; margin-left: 4px; }
.kullanici-menu > summary { list-style: none; }
.kullanici-menu > summary::-webkit-details-marker { display: none; }
.kullanici-dugme {
  display: inline-flex; align-items: center; gap: var(--a-2);
  height: 32px; padding: 0 var(--a-3);
  border: 1px solid var(--cizgi); border-radius: var(--r-tam);
  background: var(--yuzey); color: var(--metin);
  font-size: var(--t-13); cursor: pointer; white-space: nowrap;
}
.kullanici-dugme:hover { background: var(--yuzey-2); }
.kullanici-bas {
  width: 22px; height: 22px; border-radius: var(--r-tam);
  display: grid; place-items: center;
  background: var(--vurgu-ton); color: var(--vurgu);
  font-size: var(--t-11); font-weight: 600;
}
.kullanici-liste {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 40;
  min-width: 220px; padding: var(--a-2);
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: var(--r-2); box-shadow: var(--golge-3);
  display: flex; flex-direction: column; gap: 2px;
}
.kullanici-liste a, .kullanici-liste button {
  display: flex; align-items: center; gap: var(--a-2);
  padding: var(--a-2) var(--a-3); border: 0; border-radius: var(--r-1);
  background: none; color: var(--metin); font-size: var(--t-13);
  text-align: left; cursor: pointer; text-decoration: none; width: 100%;
}
.kullanici-liste a:hover, .kullanici-liste button:hover { background: var(--yuzey-2); }
.kullanici-liste svg { width: 16px; height: 16px; flex: 0 0 auto; }
.kullanici-kimlik {
  padding: var(--a-2) var(--a-3);
  border-bottom: 1px solid var(--cizgi); margin-bottom: 2px;
}
.kullanici-kimlik strong { display: block; font-size: var(--t-13); color: var(--baslik); }
.kullanici-kimlik small { font-size: var(--t-12); color: var(--metin-3); }
@media (max-width: 720px) { .kullanici-dugme .menu-ad { display: none; } }
