/* ============================================================
   Anyverse arayüzü — ANY Partners kurumsal kimliği (any.partners)
   Lacivert (#20589D) + kurumsal mavi (#1565A8) + cyan vurgu (#00B7E3),
   logodaki yeşil (#5BAF48) başarı rengi; açık zemin, sabit üst bar + sol menü.
   Not: değişken adları tarihsel ("petrol" = koyu kurumsal renk, "amber" = vurgu);
   tüm şablonlar bu adları kullandığı için adlar korunup değerler değiştirildi.
   ============================================================ */
:root {
  --petrol: #142f52;        /* koyu lacivert — metin/menü      */
  --petrol-2: #1c4e8a;      /* düğme                            */
  --petrol-3: #1565A8;      /* bağlantı, başlık                 */
  --amber: #00b7e3;         /* cyan vurgu (marka)               */
  --amber-acik: #45cdee;
  --amber-zemin: #e6f7fc;

  --zemin: #f4f6f9;
  --kart: #ffffff;
  --cizgi: #dfe4ea;
  --cizgi-koyu: #c8d1db;
  --metin: #1d2733;
  --soluk: #5f6b78;
  --baslik-zemin: #eef1f5;
  --satir-hover: #f6f8fa;

  --yesil: #3f8f31;   --yesil-zemin: #e9f4e6;   /* logodaki yeşilin koyusu */
  --kirmizi: #b9412e; --kirmizi-zemin: #fbe9e5;
  --sari: #a8731c;    --sari-zemin: #fff4dd;
  --gri-zemin: #eef1f4;

  --menu-genislik: 248px;
  --menu-dar: 62px;
  --ustbar-yukseklik: 56px;
  --golge: 0 1px 2px rgba(20, 47, 82, .06), 0 4px 14px rgba(20, 47, 82, .05);
}


* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "Jost", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  font-size: 14.5px;
  color: var(--metin);
  background: var(--zemin);
  line-height: 1.45;
}
/* filigran: sağ altta soluk ANY Partners amblemi */
body::after {
  content: ""; position: fixed; right: -70px; bottom: -50px; width: 480px; height: 540px;
  background: url("/static/amblem.svg?v=2") no-repeat center / contain;
  opacity: .045; pointer-events: none; z-index: 0;
}
a { color: var(--petrol-3); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---------- Halka (donut) grafik ---------- */
.halka { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.halka svg { flex: 0 0 auto; }
.halka table { width: auto; min-width: 220px; font-size: 12.5px; }
.halka td, .halka th { padding: 4px 8px; border-bottom: 1px solid var(--cizgi); }
.halka .renk { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }

/* ---------- Üst bar (sabit, kurumsal) ---------- */
.ustbar {
  position: fixed; top: 0; left: 0; right: 0; height: var(--ustbar-yukseklik); z-index: 40;
  background: var(--kart); border-bottom: 1px solid var(--cizgi);
  display: flex; align-items: center; gap: 16px; padding: 0 22px 0 18px;
  box-shadow: 0 1px 6px rgba(20, 47, 82, .05);
}
.ustbar .marka { display: flex; align-items: center; gap: 12px; color: var(--petrol); text-decoration: none !important; }
.ustbar .marka img { height: 38px; display: block; }
.ustbar .marka-yazi { display: flex; flex-direction: column; line-height: 1.05; font-weight: 700; font-size: 17px; letter-spacing: .2px; }
.ustbar .marka-yazi em { font-style: normal; color: var(--amber); }
.ustbar .marka-yazi small { font-weight: 400; font-size: 10.5px; color: var(--soluk); letter-spacing: .3px; margin-top: 2px; }
.ustbar .bosluk { flex: 1; }
.ustbar .ara-kutu { position: absolute; left: 50%; transform: translateX(-50%); width: min(380px, 34vw); }
.ustbar .ara input {
  width: 100%; min-width: 160px; font: inherit; font-size: 13.5px;
  padding: 7px 14px; border: 1px solid var(--cizgi-koyu); border-radius: 999px;
  background: var(--zemin); color: var(--metin);
}
.ustbar .ara input:focus { outline: 2px solid rgba(0,183,227,.35); border-color: var(--amber); background: var(--kart); }

/* ---------- Canlı arama önerisi (YouTube tarzı açılır liste) ---------- */
.ara-oneri {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 60;
  background: var(--kart); border: 1px solid var(--cizgi-koyu); border-radius: 14px;
  box-shadow: var(--golge); padding: 6px; max-height: 60vh; overflow-y: auto;
}
.ara-oneri-oge {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 9px;
  color: var(--metin); text-decoration: none;
}
.ara-oneri-oge:hover, .ara-oneri-oge.secili { background: var(--zemin); }
.ara-oneri-tur {
  flex: none; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; color: var(--soluk);
  border: 1px solid var(--cizgi-koyu); border-radius: 999px; padding: 2px 8px;
}
.ara-oneri-metin { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.ara-oneri-metin strong { font-size: 13.5px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ara-oneri-metin small { font-size: 11.5px; color: var(--soluk); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ara-oneri-tumu {
  display: block; margin-top: 4px; padding: 8px 10px; font-size: 12.5px; color: var(--petrol-2);
  text-decoration: none; border-top: 1px solid var(--cizgi); border-radius: 0 0 9px 9px;
}
.ara-oneri-tumu:hover { background: var(--zemin); }
.ara-oneri-bos { padding: 12px 10px; font-size: 12.5px; color: var(--soluk); }
.ustbar .oturum { display: flex; align-items: center; gap: 10px; }
.ustbar .oturum-avatar {
  width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #00b7e3, #20589d);
  color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: 0 0 34px;
}
.ustbar .oturum-bilgi { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.ustbar .oturum-bilgi small { color: var(--soluk); font-size: 11px; }
.ustbar .oturum-baglanti { font-size: 12.5px; color: var(--soluk); border-left: 1px solid var(--cizgi); padding-left: 14px; margin-left: 4px; }
.ustbar .oturum-sayfa { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--soluk);
  border-right: 1px solid var(--cizgi); padding-right: 14px; max-width: 170px; min-width: 0; }
.ustbar .oturum-sayfa .ikon { width: 15px; height: 15px; flex: 0 0 15px; color: var(--amber); }
.ustbar .oturum-sayfa .kes { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Yerleşim ---------- */
.yerlesim { display: flex; min-height: 100vh; padding-top: var(--ustbar-yukseklik); }
.yanmenu {
  width: var(--menu-genislik);
  flex: 0 0 var(--menu-genislik);
  position: sticky; top: var(--ustbar-yukseklik); height: calc(100vh - var(--ustbar-yukseklik));
  z-index: 30;
}
.yanmenu-ic {
  height: 100%; width: var(--menu-genislik);
  background: #f0f4f9; color: var(--petrol);
  display: flex; flex-direction: column;
  border-right: 1px solid var(--cizgi-koyu);
  overflow: hidden;
  transition: width .16s ease;
}
/* üç çizgi ile aç/kapa: menü daralınca İÇERİK YERİNDE KALIR —
   sayfa hep menünün açık hizasından başlar, kapalıyken ikon şeridi + boşluk kalır */
html.menu-kapali .yanmenu-ic { width: var(--menu-dar); }
/* Windows'ta kaydırma çubuğu yer kaplar ve simgeleri sola iter; daraltılmış menüde iki kenarda eşit boşluk
   ayrılır ki simgeler alttaki renkli düğmelerle aynı eksende kalsın (2.1.2) */
html.menu-kapali .menu { scrollbar-gutter: stable both-edges; }
html.menu-kapali .menu a { font-size: 0; gap: 0; justify-content: center; padding-left: 0; padding-right: 0; }
html.menu-kapali .menu a.alt { padding-left: 0; }
html.menu-kapali .menu-baslik { font-size: 0; margin: 12px 0 4px; border-top: 1px solid var(--cizgi); padding-top: 4px; }
html.menu-kapali .menu-alt { font-size: 0; }
html.menu-kapali .master-btn { font-size: 0; gap: 0; letter-spacing: 0; padding: 0; margin: 4px auto; width: 36px; height: 36px; border-radius: 12px; }  /* daraltılmış menü sütunu 36px: simgeler diğer bağlantılarla aynı eksende */

/* Menü daraltılınca yalnızca ikonlar görünür; üstüne gelinen ikonun adını
   cam (buzlu) zeminli bir ipucu ile gösterir — JS (base.html) konumlandırır.
   Diğer cam yüzeylerle (ustbar, dock, sohbet penceresi) aynı formül: opaklık
   kullanıcının Hesabım > Arayüz kaydırıcısındaki --cam-alfa'sına göre değişir. */
.menu-ipucu {
  position: fixed; z-index: 200; white-space: nowrap;
  font-size: 12.5px; font-weight: 500; color: var(--metin);
  background: rgb(250 251 253 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 14px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 14px)) saturate(1.7);
  border: 1px solid rgba(255,255,255,.75); border-radius: 10px; padding: 7px 13px;
  box-shadow: 0 10px 28px rgba(20,47,82,.20), inset 0 1px 0 rgba(255,255,255,.9);
  pointer-events: none; opacity: 0; transform: translateY(-50%) translateX(-4px);
  transition: opacity .12s ease, transform .12s ease;
}
.menu-ipucu.gorunur { opacity: 1; transform: translateY(-50%) translateX(0); }

/* Hızlı erişim: son çalışılan (en fazla 5) dosya doğrudan menüde satır olarak
   listelenir; boşsa tek satır "Henüz ziyaret edilen dosya yok". */
.hizli-erisim-satir small { color: var(--soluk); font-weight: 400; }
.hizli-erisim-bos { color: var(--soluk); font-style: italic; }
html.menu-kapali .hizli-erisim-satir small { display: none; }

/* Denetim dosyası bağlamı: beş evre <details> grubu — aktif sayfanın evresi
   sunucuda "open" gelir, diğerleri daraltılmış durur. */
.menu details.menu-evre { margin: 2px 0; }
.menu details > summary {
  display: flex; align-items: center; gap: 10px; white-space: nowrap; cursor: pointer;
  padding: 8px 10px; border-radius: 8px; color: var(--petrol); font-size: 13.5px; font-weight: 600;
  list-style: none; user-select: none;
}
.menu details > summary::-webkit-details-marker { display: none; }
.menu details > summary::after { content: "›"; margin-left: auto; color: var(--soluk); transition: transform .15s; }
.menu details[open] > summary::after { transform: rotate(90deg); }
.menu details > summary:hover { background: rgba(20,47,82,.07); }
.menu details > summary .ikon { color: var(--soluk); width: 16px; height: 16px; flex: 0 0 16px; }
.menu details.menu-evre > a.alt { padding-left: 36px; }
.menu details.menu-alt-grup > summary.alt { padding-left: 36px; font-size: 13px; font-weight: 500; }
.menu details.menu-alt-grup > a.alt2 { padding-left: 50px; font-size: 12.5px; }
html.menu-kapali .menu details > summary { font-size: 0; gap: 0; justify-content: center; padding-left: 0; padding-right: 0; }
html.menu-kapali .menu details > summary::after { display: none; }
html.menu-kapali .menu details.menu-evre > a, html.menu-kapali .menu details.menu-alt-grup { display: none; }

/* Dar ekranda menü panelinin üstüne taşınan arama kutusu (üst bardaki gizlenir). */
.menu-ara { display: none; margin: 8px 12px 0; }
.menu-ara input {
  width: 100%; font: inherit; font-size: 13.5px; padding: 7px 14px;
  border: 1px solid var(--cizgi-koyu); border-radius: 999px; background: var(--zemin); color: var(--metin);
}

.menu-tus {
  display: flex; align-items: center; justify-content: flex-start;
  margin: 10px 12px 0; padding: 8px 10px; border: 0; border-radius: 8px;
  background: transparent; cursor: pointer; color: var(--petrol);
}
.menu-tus:hover { background: rgba(20,47,82,.09); }
.menu-tus .ikon { width: 17px; height: 17px; }
html.menu-kapali .menu-tus { justify-content: center; margin: 10px 8px 0; }
.icerik { flex: 1; min-width: 0; padding: 24px 34px 70px; max-width: 1400px; margin: 0 auto; position: relative; z-index: 1; }

/* ---------- Giriş sayfası markası ---------- */
.marka { display: flex; align-items: center; gap: 12px; padding: 20px 20px 16px; color: var(--petrol); text-decoration: none !important; }
.marka img { height: 52px; display: block; }
.marka-yazi { display: flex; flex-direction: column; line-height: 1.1; font-weight: 700; font-size: 19px; letter-spacing: .3px; }
.marka-yazi em { font-style: normal; color: var(--amber); }
.marka-yazi small { font-weight: 400; font-size: 10.5px; color: var(--soluk); letter-spacing: .3px; margin-top: 3px; }

/* ---------- Menü ---------- */
.menu { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 4px 12px 12px; }
.menu-taban { flex: 0 0 auto; padding: 8px 0 6px; border-top: 1px solid var(--cizgi); }
/* Daraltılmış menüde taban bloğu: kaydırma çubuğu olmadığından üç düğme aynı eksende */
html.menu-kapali .menu-taban { padding: 6px 0 4px; }
.menu-baslik { font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--soluk); margin: 18px 10px 6px; }
/* İşlevsel grupları ayıran yatay çizgi — üst çubuktaki .oturum-baglanti'nin
   dikey çizgisiyle aynı stil, ilk grubun üstünde gereksiz olduğu için hariç. */
.menu-baslik:not(:first-child) { border-top: 1px solid var(--cizgi); padding-top: 14px; }
.menu a {
  display: flex; align-items: center; gap: 10px; white-space: nowrap;
  padding: 8px 10px; border-radius: 8px; color: var(--petrol); font-size: 13.5px;
  text-decoration: none !important; transition: background .12s;
}
.menu a i { font-style: normal; width: 18px; text-align: center; color: var(--soluk); font-size: 13px; flex: 0 0 18px; }
.menu a:hover { background: rgba(20,47,82,.07); }
.menu a.aktif { background: #fff; color: var(--petrol); font-weight: 600; box-shadow: inset 3px 0 0 var(--amber), var(--golge); }
.menu a.aktif i { color: var(--amber); }
.menu a.alt { font-size: 13px; padding-left: 14px; }
.menu a.vurgu { color: #0b7ea6; font-weight: 600; }
.menu a .kes { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Başlıklar ---------- */
.kirinti-satir { display: flex; align-items: center; gap: 10px; }
.geri-baglanti { font-size: 12.5px; color: var(--soluk); text-decoration: none; margin-bottom: 8px; white-space: nowrap; }
.geri-baglanti:hover { color: var(--petrol-3); text-decoration: underline; }
.kirinti { font-size: 12.5px; color: var(--soluk); margin-bottom: 8px; }
.kirinti a { color: var(--soluk); }
.kirinti span { margin: 0 6px; opacity: .6; }
h1 { font-size: 24px; margin: 0 0 4px; font-weight: 700; letter-spacing: -.2px; }
h1 .kucukmetin { font-weight: 500; }
h1 .baslik-ikon { width: 22px; height: 22px; flex: 0 0 22px; stroke-width: 1.9; color: var(--amber);
                  vertical-align: -4px; margin-right: 10px; }
h2 {
  font-size: 15px; margin: 26px 0 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px;
  color: var(--petrol-3); display: flex; align-items: center; gap: 10px;
}
h2::before { content: ""; width: 14px; height: 3px; background: var(--amber); border-radius: 2px; }
h2 .kucukmetin { text-transform: none; letter-spacing: 0; font-weight: 400; }
/* kart/hub sayfalarında (ör. Araçlar) h2'nin önüne anlamlı bir ikon konduğunda,
   genel amber çizgi yerine o ikon "vurgu" görevi görür */
h2 .baslik-ikon-h2 { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 2; color: var(--amber); }
h2:has(.baslik-ikon-h2)::before { content: none; }
.altbaslik { color: var(--soluk); margin-bottom: 18px; }

/* ---------- Kartlar ---------- */
.kart {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px;
  padding: 18px 20px; margin-bottom: 18px; box-shadow: var(--golge);
  /* Genel güvenlik ağı: içindeki bir tablo kartın genişliğini aşarsa (çok
     sütunlu tablolar, dar/mobil ekranlar) sayfa değil yalnızca kart yatayda
     kayar — çoğu şablon tabloyu doğrudan kart içine yazdığı için tek satırlık
     bu kural, ayrı bir "overflow-x:auto" sarmalayıcı eklemeden uygulama
     genelinde işe yarar. */
  overflow-x: auto;
}
.kart h2:first-child { margin-top: 0; }
.modul-kart { transition: transform .12s, box-shadow .12s, border-color .12s; cursor: pointer; }
.modul-kart:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(10,26,48,.12); border-color: var(--petrol-3); }
.modul-kart .ikon { width: 17px; height: 17px; color: var(--petrol); flex: none; }
.anypedia-icerik { line-height: 1.65; }
.anypedia-icerik h1, .anypedia-icerik h2, .anypedia-icerik h3 {
  margin: 20px 0 10px; text-transform: none; letter-spacing: normal; color: var(--metin);
}
.anypedia-icerik h1:first-child, .anypedia-icerik h2:first-child, .anypedia-icerik h3:first-child { margin-top: 0; }
.anypedia-icerik h2::before { content: none; }
.anypedia-icerik h1 { font-size: 21px; }
.anypedia-icerik h2 { font-size: 18px; padding-bottom: 6px; border-bottom: 1px solid var(--cizgi); }
.anypedia-icerik h3 { font-size: 15.5px; color: var(--petrol-3); }
.anypedia-icerik p { margin: 0 0 12px; }
.anypedia-icerik ul, .anypedia-icerik ol { margin: 0 0 12px; padding-left: 22px; }
.anypedia-icerik li { margin-bottom: 4px; }
.anypedia-icerik blockquote {
  margin: 0 0 12px; padding: 6px 14px; border-left: 3px solid var(--cizgi); color: var(--soluk);
}
.anypedia-icerik code {
  background: var(--gri-zemin); padding: 1px 6px; border-radius: 5px; font-size: .92em;
  font-family: "SFMono-Regular", Consolas, monospace;
}
.anypedia-icerik pre {
  background: var(--gri-zemin); padding: 12px 14px; border-radius: 8px; overflow-x: auto; margin: 0 0 12px;
}
.anypedia-icerik pre code { background: none; padding: 0; }
.anypedia-icerik table { border-collapse: collapse; margin: 0 0 12px; width: 100%; }
.anypedia-icerik th, .anypedia-icerik td { border: 1px solid var(--cizgi); padding: 6px 10px; text-align: left; }
.anypedia-icerik hr { border: none; border-top: 1px solid var(--cizgi); margin: 18px 0; }
.anypedia-icerik a { color: var(--petrol); }
.anypedia-icerik img { max-width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--cizgi); margin: 4px 0 12px; display: block; }

/* ---------- ANYpedia zengin metin düzenleyici ---------- */
.duzenleyici-arac-cubugu {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
  background: var(--gri-zemin); border: 1px solid var(--cizgi); border-bottom: none;
  border-radius: 8px 8px 0 0; padding: 6px 8px;
}
.duzenleyici-arac-cubugu button {
  background: none; border: 1px solid transparent; border-radius: 6px; padding: 5px 9px;
  font-size: 13px; color: var(--metin); cursor: pointer; line-height: 1.2;
}
.duzenleyici-arac-cubugu button:hover { background: var(--kart); border-color: var(--cizgi); }
.dac-ayrac { width: 1px; align-self: stretch; background: var(--cizgi); margin: 2px 4px; }
.duzenleyici-alan {
  min-height: 260px; border: 1px solid var(--cizgi); border-radius: 0 0 8px 8px;
  padding: 12px 14px; outline: none; background: var(--kart);
}
.duzenleyici-alan:focus { border-color: var(--petrol-3); }
.duzenleyici-alan:empty:before { content: attr(data-placeholder); color: var(--soluk); }
.duzenleyici-alan table { max-width: 100%; }
.izgara { display: grid; gap: 18px; }
.izgara.iki { grid-template-columns: 1fr 1fr; }
.izgara.uc { grid-template-columns: repeat(3, 1fr); }
.izgara.dort { grid-template-columns: repeat(4, 1fr); }
.izgara.bes { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1100px) { .izgara.iki, .izgara.uc, .izgara.dort, .izgara.bes { grid-template-columns: 1fr; } }
@media (min-width: 1101px) and (max-width: 1500px) { .izgara.bes { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Formlar ---------- */
/* Not: yalnızca <form class="satir"> değil, düz <div class="satir"> (form
   olmayan, salt görsel gruplama için birçok şablonda kullanılan) de aynı
   satır/sarma davranışını alsın diye seçici "form.satir" yerine ".satir". */
.satir { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
label { display: block; font-size: 12px; color: var(--soluk); margin-bottom: 4px; }
input[type=text], input:not([type]), input[type=date], input[type=number], input[type=file], select, textarea {
  font: inherit; padding: 8px 10px; border: 1px solid var(--cizgi-koyu); border-radius: 8px;
  background: var(--kart); min-width: 160px; color: var(--metin);
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(0,183,227,.35); border-color: var(--amber); }
.btn {
  font: inherit; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--petrol-2);
  background: var(--petrol-2); color: #fff; cursor: pointer; display: inline-block; line-height: 1.2; font-weight: 600;
}
.btn:hover { background: var(--petrol); text-decoration: none; }
.btn.ikincil { background: var(--kart); color: var(--petrol-2); border-color: var(--cizgi-koyu); }
.btn.ikincil:hover { background: var(--gri-zemin); }
.btn.vurgu { background: var(--amber); border-color: var(--amber); color: #0b2e46; }
.btn.vurgu:hover { background: var(--amber-acik); }
.btn.tehlike { background: var(--kart); color: var(--kirmizi); border-color: var(--kirmizi); }
.btn.tehlike:hover { background: var(--kirmizi-zemin); }
.btn.kucuk { padding: 4px 9px; font-size: 12px; font-weight: 500; }
form.satirici { display: inline; }

/* ---------- Tablolar ---------- */
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 7px 9px; border-bottom: 1px solid var(--cizgi); text-align: left; vertical-align: top; }
th { background: var(--baslik-zemin); font-weight: 600; font-size: 11.5px; color: var(--soluk); white-space: nowrap; text-transform: uppercase; letter-spacing: .4px; }
td.sayi, th.sayi { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
tr:hover td { background: var(--satir-hover); }
.tablo-kaydir { overflow-x: auto; }
.kucukmetin { font-size: 12px; color: var(--soluk); }
/* Madde imi olmayan, satırları ayrılmış düz liste (ANYlytics modül dökümü gibi) */
.sade-liste { list-style: none; margin: 0; padding: 0; }
.sade-liste li { padding: 8px 0; border-bottom: 1px solid var(--cizgi); }
.sade-liste li:last-child { border-bottom: none; }
/* ANYlytics modül dökümü: kategoriler farklı uzunlukta olduğundan ızgara yerine
   sütun akışı — kısa kategorinin yanında boşluk kalmaz, bloklar bölünmez. */
.modul-sutunlar { column-count: 3; column-gap: 28px; }
.modul-kume { break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid;
              display: inline-block; width: 100%; margin: 0 0 20px; }
.modul-satir { display: flex; gap: 10px; align-items: flex-start; }
.modul-ikon { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 2px; color: var(--petrol-2); }
@media (max-width: 1240px) { .modul-sutunlar { column-count: 2; } }
@media (max-width: 820px) { .modul-sutunlar { column-count: 1; } }
/* ANYlytics panosundaki Excel aktarım kartı — kapalıyken tek satır, açılınca modül seçimi */
.aktarim-karti > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; }
.aktarim-karti > summary::-webkit-details-marker { display: none; }
.aktarim-karti > summary::after { content: "›"; margin-left: auto; color: var(--soluk); transition: transform .15s; }
.aktarim-karti[open] > summary::after { transform: rotate(90deg); }
.secim-satir { display: flex; align-items: center; gap: 8px; margin: 0; padding: 5px 0; font-weight: 500; cursor: pointer; }
.secim-satir input { margin: 0; }
.mono { font-family: Consolas, "Cascadia Mono", "Courier New", monospace; font-size: 12px; }

/* ---------- Rozetler ---------- */
.rozet { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.rozet.yesil { background: var(--yesil-zemin); color: var(--yesil); }
.rozet.kirmizi { background: var(--kirmizi-zemin); color: var(--kirmizi); }
.rozet.sari { background: var(--sari-zemin); color: var(--sari); }
.rozet.gri { background: var(--gri-zemin); color: var(--soluk); }

/* ---------- Sayı kutuları ---------- */
.kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 18px; }
.kutu {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 12px 14px;
  border-top: 3px solid var(--petrol-3); box-shadow: var(--golge);
}
.kutu .etiket { font-size: 11px; color: var(--soluk); text-transform: uppercase; letter-spacing: .6px; }
.kutu .deger { font-size: 21px; font-weight: 700; margin-top: 2px; font-variant-numeric: tabular-nums; letter-spacing: -.3px;
              white-space: nowrap; overflow: hidden; }   /* sığmayan rakamı olaylar.js küçültür */
.kutular > .kutu { min-width: 0; }
.kutu.yesil { border-top-color: var(--yesil); }  .kutu.yesil .deger { color: var(--yesil); }
.kutu.kirmizi { border-top-color: var(--kirmizi); } .kutu.kirmizi .deger { color: var(--kirmizi); }
.kutu.gri { border-top-color: var(--cizgi-koyu); } .kutu.gri .deger { color: var(--soluk); }

/* Sayfa yardımı: h1'in yanındaki küçük "?" bağlantısı (/yardim#bölüm) */
.yardim-baglanti {
  display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px;
  border-radius: 50%; border: 1px solid var(--cizgi-koyu); color: var(--soluk); font-size: 12px; font-weight: 700;
  text-decoration: none !important; float: right; margin-top: 6px;
}
.yardim-baglanti.h1-ici { float: none; margin: 0 0 0 10px; vertical-align: middle; }
.yardim-baglanti:hover { color: var(--petrol); border-color: var(--petrol-3); }

/* ---------- Yardım sayfası ---------- */
.yardim-icindekiler { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 12px 16px; font-size: 13px; }
.yardim-icindekiler a { white-space: nowrap; }
.yardim-bolum { margin: 28px 0 10px; padding-top: 14px; border-top: 1px solid var(--cizgi); scroll-margin-top: calc(var(--ustbar-yukseklik) + 12px); }
.yardim-tablo td, .yardim-tablo th { vertical-align: top; }
.yardim-tablo tr[id], .yardim-sozluk dt[id], .kart[id], li[id] { scroll-margin-top: calc(var(--ustbar-yukseklik) + 12px); }
.yardim-sozluk { margin: 0; }
.yardim-sozluk dt { font-weight: 600; margin-top: 8px; }
.yardim-sozluk dd { margin: 2px 0 0; color: var(--metin); }
.yardim-sozluk.iki-sutun { column-count: 2; column-gap: 28px; }
.yardim-sozluk.iki-sutun dt { break-after: avoid; }
.yardim-sozluk.iki-sutun dd { break-inside: avoid; }
@media (max-width: 700px) { .yardim-sozluk.iki-sutun { column-count: 1; } }
kbd { font-family: inherit; font-size: 12.5px; padding: 2px 7px; border: 1px solid var(--cizgi-koyu); border-bottom-width: 2px; border-radius: 6px; background: var(--zemin); }
.yardim-hedef { animation: yardim-vurgu 1.6s ease; }
@keyframes yardim-vurgu { from { background: var(--amber-zemin); } to { background: transparent; } }

/* ---------- Denetim dosyası sayfası: sıradaki adım, ilerleme çubuğu, evre kartları ---------- */
.sirada { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px; margin: 0 0 14px;
          border: 1px solid rgba(32,88,157,.25); border-radius: 10px; background: rgba(32,88,157,.06); }
.sirada strong { white-space: nowrap; }
.ilerleme { margin: 0 0 22px; }
.ilerleme-cubuk { display: flex; gap: 3px; height: 14px; border-radius: 999px; overflow: hidden; background: var(--cizgi); }
.ilerleme-cubuk a { position: relative; display: block; height: 100%; background: var(--gri-zemin); }
.ilerleme-cubuk a span { position: absolute; left: 0; top: 0; bottom: 0; background: #20589d; }
.ilerleme-cubuk a.tamam span { background: #3f8f31; }
.ilerleme-etiket { display: flex; gap: 3px; margin-top: 6px; }
.ilerleme-etiket a { font-size: 11.5px; color: var(--soluk); text-decoration: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ilerleme-etiket a strong { color: inherit; }
.evre-baslik { display: flex; align-items: baseline; gap: 10px; margin: 26px 0 10px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.evre-baslik .kucukmetin { font-weight: 400; }
.evre-kart { display: flex; flex-direction: column; gap: 8px; margin-bottom: 0; }
.evre-kart h2 { margin: 0; font-size: 15px; }
.evre-kart .evre-durum { margin: 0; flex: 1; line-height: 1.7; }
.evre-kart .evre-buton { margin-top: auto; }
.evre-kart ul.eksik { margin: 0; padding-left: 18px; }
.izgara.evre { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
@media (max-width: 700px) { .izgara.evre { grid-template-columns: 1fr; } }

/* ---------- Uyarılar ---------- */
.uyari { padding: 10px 14px; border-radius: 10px; margin-bottom: 14px; border: 1px solid; }
.uyari.hata { background: var(--kirmizi-zemin); border-color: #efb8ad; color: var(--kirmizi); }
.uyari.bilgi { background: var(--amber-zemin); border-color: #bfe8f5; color: #0d5674; }
.uyari.basari { background: var(--yesil-zemin); border-color: #b3dfc8; color: var(--yesil); }

/* ---------- Eşleme ekranı ---------- */
.esleme-tablo td:first-child { width: 220px; }
.esleme-tablo select { min-width: 260px; }
.zorunlu::after { content: " *"; color: var(--kirmizi); }
.onizleme { font-size: 12px; }
.onizleme th, .onizleme td { padding: 4px 7px; white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }

.bos { color: var(--soluk); padding: 24px; text-align: center; }
.sekmeler { margin: 10px 0 14px; }
.sekmeler a { display: inline-block; padding: 6px 12px; border: 1px solid var(--cizgi-koyu); border-radius: 8px; margin-right: 6px; color: var(--metin); background: var(--kart); }
.sekmeler a.aktif { background: var(--petrol-2); color: #fff; border-color: var(--petrol-2); }

@media print {
  .yanmenu, .ustbar, body::after { display: none; }
  .yerlesim { padding-top: 0; }
  .icerik { padding: 0; max-width: none; }
  .kart, .kutu { box-shadow: none; }
}

/* ---------- Menü altı (sürüm etiketi) ---------- */
.menu-alt { padding: 10px 16px 12px; border-top: 1px solid var(--cizgi-koyu); font-size: 11px; color: var(--soluk); }

/* ---------- Giriş / kurulum sayfaları ---------- */
.giris-sayfa { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--zemin); padding: 24px; }
.giris-kutu { width: 100%; max-width: 420px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 28px 30px; box-shadow: var(--golge); }
.giris-kutu .marka { padding: 0 0 18px; }
.giris-kutu label { margin-top: 12px; }
.giris-kutu input { width: 100%; }
.giris-kutu .btn { width: 100%; margin-top: 18px; padding: 10px; }

/* ---------- Belge listesi ---------- */
.belge-ikon { display: inline-block; width: 30px; height: 30px; border-radius: 7px; font-size: 10.5px; font-weight: 700; color: #fff; text-align: center; line-height: 30px; background: var(--soluk); }
.belge-ikon.xlsx, .belge-ikon.xlsm, .belge-ikon.xls, .belge-ikon.csv { background: #3f8f31; }
.belge-ikon.docx, .belge-ikon.doc { background: #3b6fc4; }
.belge-ikon.pdf { background: #b9412e; }
.belge-ikon.pptx { background: #c8622d; }

/* ---------- Akış şeridi (Açılış + Artış − Tahsilat = Kapanış) ---------- */
.akis { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.akis .adim { padding: 6px 14px; display: flex; flex-direction: column; }
.akis .adim .etiket { font-size: 11px; color: var(--soluk); text-transform: uppercase; letter-spacing: .6px; }
.akis .adim .deger { font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.3px; }
.akis .op { font-size: 22px; color: var(--cizgi-koyu); font-weight: 400; padding: 0 2px; align-self: center; }
.akis .adim.sonuc { border-left: 3px solid var(--amber); background: var(--amber-zemin); border-radius: 8px; }

/* ---------- Oran göstergeleri (etiket + değer + eşik renkli çubuk) ---------- */
.gostergeler { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 12px; margin-bottom: 18px; }
.gosterge { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 12px 14px; box-shadow: var(--golge); }
.gosterge .ust { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.gosterge .etiket { font-size: 11px; color: var(--soluk); text-transform: uppercase; letter-spacing: .6px; }
.gosterge .deger { font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; }
.gosterge.iyi .deger { color: var(--yesil); }
.gosterge.kotu .deger { color: var(--kirmizi); }
.gosterge .bar { height: 6px; background: var(--gri-zemin); border-radius: 3px; margin-top: 8px; overflow: hidden; }
.gosterge .bar i { display: block; height: 100%; border-radius: 3px; background: var(--petrol-3); }
.gosterge.iyi .bar i { background: var(--yesil); }
.gosterge.kotu .bar i { background: var(--kirmizi); }
.gosterge .aciklama { font-size: 11.5px; color: var(--soluk); margin-top: 6px; }

/* --- v0.16 Anasayfa ------------------------------------------------------ */
.rozet.etiket { background: rgba(32,88,157,.10); color: var(--petrol); border: 1px solid rgba(32,88,157,.18); }

.teslim-pil { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.teslim-pil.yesil   { background: var(--yesil-zemin);   color: var(--yesil); }
.teslim-pil.sari    { background: var(--sari-zemin);    color: var(--sari); }
.teslim-pil.turuncu { background: rgba(217,120,43,.14); color: #c05f17; }
.teslim-pil.kirmizi { background: var(--kirmizi-zemin); color: var(--kirmizi); }
.teslim-pil.gecikti { background: var(--kirmizi);       color: #fff; }

.is-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.is-kart { display: block; color: inherit; text-decoration: none !important; transition: box-shadow .12s, transform .12s; }
.is-kart:hover { box-shadow: 0 6px 18px rgba(15,40,70,.13); transform: translateY(-1px); }
.is-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.is-baslik { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.is-baslik strong { font-size: 15px; }
.is-rozetler { margin: 8px 0 10px; display: flex; flex-wrap: wrap; gap: 4px; }
.is-alt { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--cizgi); padding-top: 9px; }

.simit { flex: none; }
.simit-yazi { font-size: 9.5px; font-weight: 700; fill: var(--metin); font-family: inherit; }

.perf-yerlesim { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.perf-pasta { display: flex; align-items: center; gap: 14px; }
.pasta-gosterge { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; }
.pasta-gosterge i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; }
.perf-yerlesim .kutular { flex: 1; min-width: 240px; }

.kunye { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.kunye-sol { display: flex; gap: 16px; align-items: flex-start; }
.kunye-duzenle summary { list-style: none; cursor: pointer; }
.kunye-duzenle summary::-webkit-details-marker { display: none; }
.kunye-duzenle { min-width: 0; }
.kunye-duzenle[open] { flex: 1; }

.etiket-sec { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.etiket-sec .onay { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 500; white-space: nowrap; }

/* --- ikonlar ve önem skalası --------------------------------------------- */
.ikon { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.1;
        stroke-linecap: round; stroke-linejoin: round; flex: 0 0 15px; vertical-align: -2px; }
.menu a .ikon { color: var(--soluk); }
.menu a.aktif .ikon { color: var(--amber); }
.btn .ikon { width: 14px; height: 14px; margin-right: 7px; vertical-align: -2px; }

/* iş önem skalası: kritik (halka açık/IPO) kırmızı, regüle turuncu, BOBİ soluk */
.onem-kritik strong, tr.onem-kritik > td:first-child strong, tr.onem-kritik > td:first-child a { color: var(--kirmizi); }
.is-kart.onem-kritik { border-left: 4px solid var(--kirmizi); }
.onem-yuksek strong, tr.onem-yuksek > td:first-child strong, tr.onem-yuksek > td:first-child a { color: #c05f17; }
.is-kart.onem-yuksek { border-left: 4px solid #d9782b; }
.is-kart.onem-dusuk, tr.onem-dusuk > td:first-child { opacity: .75; }

/* anasayfa hatırlatma şeridi */
.hatirlatma { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 16px; }
.hatirlatma-baslik { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--soluk); margin-right: 6px; }
.hatirlatma-pil { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border: 1px solid var(--cizgi-koyu);
                  border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--metin); text-decoration: none !important; background: var(--zemin); }
.hatirlatma-pil:hover { border-color: var(--amber); }
.hatirlatma-pil.onem-kritik { color: var(--kirmizi); border-color: rgba(185,65,46,.4); }
.hatirlatma-pil.onem-yuksek { color: #c05f17; }

/* sözleşme takibi tablosu */
.sozlesme-tablo td { vertical-align: top; }
.sozlesme-tablo .satir-duzenle summary { list-style: none; cursor: pointer; white-space: nowrap; }
.sozlesme-tablo .satir-duzenle summary::-webkit-details-marker { display: none; }
.sozlesme-form { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; min-width: 200px; }
.sozlesme-form label { font-size: 11px; }

.master-baglantilar { display: flex; flex-wrap: wrap; gap: 8px; }

/* master — görsel kontrol paneli */
.gm-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin-bottom: 10px; }
.gm { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 7px;
      padding: 18px 14px 14px; background: var(--kart);
      border: 1px solid var(--cizgi); border-radius: 14px; box-shadow: var(--golge);
      color: var(--metin); text-decoration: none !important; transition: box-shadow .12s, transform .12s; }
.gm:hover { box-shadow: 0 6px 18px rgba(15,40,70,.13); transform: translateY(-2px); border-color: var(--amber); }
.gm .ikon { width: 22px; height: 22px; color: #fff; box-sizing: content-box; padding: 10px;
            border-radius: 12px; background: linear-gradient(135deg, var(--petrol-2), var(--amber)); }
.gm strong { font-size: 13.5px; }
.gm span { font-size: 11.5px; color: var(--soluk); line-height: 1.35; }
.gm.vurgulu { border-color: var(--petrol-2); background: linear-gradient(135deg, rgba(32,88,157,.06), rgba(0,183,227,.06)); }

/* master menü — sol altta özel mavi buton */
.master-btn {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  margin: 4px 14px; padding: 10px 12px; border-radius: 11px;
  background: linear-gradient(135deg, #1c4e8a 0%, #1565A8 55%, #00b7e3 130%);
  color: #fff !important; font-weight: 700; font-size: 13.5px; letter-spacing: .3px;
  text-decoration: none !important; box-shadow: 0 4px 14px rgba(21,101,168,.35);
  transition: transform .12s, box-shadow .12s;
}
.menu a.master-btn .ikon, .master-btn .ikon { color: #fff !important; width: 16px; height: 16px; }
html.menu-kapali .master-btn .ikon { width: 18px; height: 18px; }
.master-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,183,227,.45); }
.master-btn.acik { box-shadow: inset 0 0 0 2px rgba(255,255,255,.85), 0 4px 14px rgba(21,101,168,.35); }

/* yardım — master menü gibi ayrı, kırmızı düğme; soru işareti */
.yardim-btn {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  margin: 4px 14px 10px; padding: 10px 12px; border-radius: 11px;
  background: linear-gradient(135deg, #9c2f1f 0%, #b9412e 55%, #e0684f 130%);
  color: #fff !important; font-weight: 700; font-size: 13.5px; letter-spacing: .3px;
  text-decoration: none !important; box-shadow: 0 4px 14px rgba(185,65,46,.35);
  transition: transform .12s, box-shadow .12s;
}
.menu a.yardim-btn .ikon, .yardim-btn .ikon { color: #fff !important; width: 17px; height: 17px; }
.yardim-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(224,104,79,.5); }
.yardim-btn.acik { box-shadow: inset 0 0 0 2px rgba(255,255,255,.85), 0 4px 14px rgba(185,65,46,.35); }
html.menu-kapali .yardim-btn { font-size: 0; gap: 0; letter-spacing: 0; padding: 0; margin: 4px auto 8px; width: 36px; height: 36px; border-radius: 12px; }
html.menu-kapali .yardim-btn .ikon { width: 19px; height: 19px; }

/* müşteri portalı — yardım düğmesi gibi ayrı, turuncu düğme; dünya simgesi */
.portal-btn {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  margin: 4px 14px 4px; padding: 10px 12px; border-radius: 11px;
  background: linear-gradient(135deg, #a84c00 0%, #d9711a 55%, #ffb020 130%);
  color: #fff !important; font-weight: 700; font-size: 13.5px; letter-spacing: .3px;
  text-decoration: none !important; box-shadow: 0 4px 14px rgba(217,113,26,.35);
  transition: transform .12s, box-shadow .12s;
}
.menu a.portal-btn .ikon, .portal-btn .ikon { color: #fff !important; width: 17px; height: 17px; }
.portal-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(255,176,32,.5); }
.portal-btn.acik { box-shadow: inset 0 0 0 2px rgba(255,255,255,.85), 0 4px 14px rgba(217,113,26,.35); }
html.menu-kapali .portal-btn { font-size: 0; gap: 0; letter-spacing: 0; padding: 0; margin: 4px auto 4px; width: 36px; height: 36px; border-radius: 12px; }
html.menu-kapali .portal-btn .ikon { width: 19px; height: 19px; }

/* 2FA ekranları */
.qr-kutu { display: inline-block; padding: 10px; background: #fff; border: 1px solid var(--cizgi); border-radius: 12px; }
.qr-kutu svg { width: 220px; height: 220px; display: block; }
.yedek-kodlar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.yedek-kodlar .mono { font-size: 16px; letter-spacing: 1px; background: var(--zemin); border: 1px dashed var(--cizgi-koyu); border-radius: 8px; padding: 7px 10px; text-align: center; }
@media print { .yanmenu, .ustbar, .yazdirma-gizle { display: none !important; } }


/* sağ alt balon bildirimler */
.balonlar { position: fixed; right: 22px; bottom: 96px; z-index: 90; display: flex; flex-direction: column; gap: 10px; max-width: 380px; }
.balon {
  display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px;
  background: var(--kart); border: 1px solid var(--cizgi-koyu); border-left: 4px solid var(--petrol-3);
  border-radius: 10px; box-shadow: 0 8px 26px rgba(20,47,82,.18);
  font-size: 13px; line-height: 1.4; animation: balon-gir .22s ease;
  transition: opacity .35s ease, transform .35s ease;
}
.balon.basari { border-left-color: var(--yesil); }
.balon.hata { border-left-color: var(--kirmizi); }
.balon.bilgi { border-left-color: var(--amber); }
.balon button { border: 0; background: none; cursor: pointer; font-size: 15px; color: var(--soluk); padding: 0 2px; line-height: 1; }
.balon.soluk { opacity: 0; transform: translateY(8px); }
@keyframes balon-gir { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media print { .balonlar { display: none !important; } }

/* ============================================================
   KOKPİT TEMASI (v0.20) — koyu lacivert üst bar + sol menü.
   İçerik alanı açık ve okunaklı kalır; kimlik koyu çerçeveden gelir.
   ============================================================ */
:root {
  --kokpit: #0f2440;            /* menü zemini — en koyu lacivert   */
  --kokpit-ust: #142f52;        /* üst bar                          */
  --kokpit-cizgi: rgba(255,255,255,.10);
  --kokpit-metin: #c9daee;      /* menü yazıları                    */
  --kokpit-soluk: #7e97b5;      /* bölüm başlıkları, ikincil        */
}

/* --- üst bar --- */
.ustbar { background: linear-gradient(90deg, var(--kokpit-ust) 0%, #1a3f6f 100%);
          border-bottom: 1px solid rgba(0,0,0,.25); color: #fff; }
.ustbar .marka { color: #fff; }
.ustbar .marka img { background: #fff; border-radius: 9px; padding: 3px 5px; }
.ustbar .marka-yazi small { color: var(--kokpit-soluk); }
.ustbar .ara input { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22); color: #fff; }
.ustbar .ara input::placeholder { color: #9fb4cd; }
.ustbar .ara input:focus { background: rgba(255,255,255,.16); border-color: var(--amber); }
.ustbar .oturum-bilgi small { color: var(--kokpit-soluk); }
.ustbar .oturum-baglanti { color: var(--kokpit-soluk); border-left-color: var(--kokpit-cizgi); }
.ustbar .oturum-baglanti a { color: #bcd6ee; }
.ustbar .oturum-sayfa { color: var(--kokpit-soluk); border-right-color: var(--kokpit-cizgi); }

/* --- sol menü --- */
.yanmenu-ic { background: var(--kokpit); border-right: 1px solid rgba(0,0,0,.3); }
.menu-tus { color: var(--kokpit-metin); }
.menu-tus:hover { background: rgba(255,255,255,.08); }
.menu-baslik { color: var(--kokpit-soluk); }
.menu a { color: var(--kokpit-metin); }
.menu details > summary { color: var(--kokpit-metin); }
.menu details > summary:hover { background: rgba(255,255,255,.07); color: #fff; }
.menu a .ikon { color: var(--kokpit-soluk); }
.menu a:hover { background: rgba(255,255,255,.07); color: #fff; }
.menu a.aktif { background: rgba(255,255,255,.10); color: #fff; box-shadow: inset 3px 0 0 var(--amber); }
.menu a.aktif .ikon { color: var(--amber); }
.menu a.vurgu { color: var(--amber-acik); }
.menu-alt { color: var(--kokpit-soluk); border-top: 1px solid var(--kokpit-cizgi); }
.menu-baslik:not(:first-child) { border-top-color: var(--kokpit-cizgi); }
html.menu-kapali .menu-baslik { border-top-color: var(--kokpit-cizgi); }
.master-btn { box-shadow: 0 4px 14px rgba(0,0,0,.35); }

/* koyu zeminde kaydırma çubuğu */
.menu { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }

/* --- içerik alanına karakter (v0.20) ------------------------------------- */
/* zemin: düz gri yerine hafif noktalı doku */
body { background: var(--zemin) radial-gradient(rgba(20,47,82,.05) 1px, transparent 1.2px); background-size: 22px 22px; }

/* anasayfa karşılama bandı */
.karsilama {
  display: flex; justify-content: space-between; align-items: center; gap: 20px;
  background: linear-gradient(115deg, var(--kokpit-ust) 0%, #1c4e8a 55%, #1565A8 100%);
  color: #fff; border-radius: 16px; padding: 22px 28px; margin-bottom: 20px;
  box-shadow: 0 10px 30px rgba(20,47,82,.25); position: relative; overflow: hidden;
}
.karsilama::after {
  content: ""; position: absolute; right: 120px; top: -60px; width: 260px; height: 300px;
  background: url("/static/amblem.svg?v=2") no-repeat center / contain; opacity: .12; pointer-events: none;
}
.karsilama h1 { color: #fff; margin: 0 0 4px; }
.karsilama-alt { margin: 0; color: #c9daee; font-size: 14px; }
.karsilama-tarih { text-align: right; line-height: 1.1; flex: none; position: relative; z-index: 1; }
.karsilama-tarih .gun { display: block; font-size: 34px; font-weight: 700; color: var(--amber-acik); }
.karsilama-tarih .ay { font-size: 12.5px; color: #c9daee; letter-spacing: .5px; }

/* müşteri monogramı (iş kartları) */
.monogram {
  width: 40px; height: 40px; border-radius: 12px; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #1c4e8a, #00b7e3); color: #fff;
  font-weight: 700; font-size: 15px; letter-spacing: .5px;
  box-shadow: 0 4px 10px rgba(21,101,168,.30);
}
.is-ust { align-items: center; }
.is-ust .is-baslik { flex: 1; min-width: 0; }
.is-baslik strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }

/* gösterge kutuları: sayı büyür, üst çizgi yerine sol vurgu */
.kutu { border-top: 1px solid var(--cizgi); border-left: 4px solid var(--petrol-3); border-radius: 10px; }
.kutu .deger { font-size: 22px; font-weight: 700; letter-spacing: -.3px; }
.kutu.yesil { border-left-color: var(--yesil); }
.kutu.kirmizi { border-left-color: var(--kirmizi); }
.kutu.sari { border-left-color: var(--sari); }

/* kartlara nefes */
.kart { border-radius: 14px; }

/* ============================================================
   KOYU PANO — anasayfa Canvas tarzı karanlık zemine geçer.
   Çalışma ekranları (tablolar, analizler) okunabilirlik için aydınlık kalır.
   ============================================================ */
body.koyu-pano { background: #0c1c33 radial-gradient(rgba(255,255,255,.045) 1px, transparent 1.2px); background-size: 22px 22px; color: #d7e3f2; }
body.koyu-pano::after { opacity: .07; }
.koyu-pano .icerik { color: #d7e3f2; }
.koyu-pano h1 { color: #fff; }
.koyu-pano h2 { color: #7fd1ec; }
.koyu-pano .kucukmetin, .koyu-pano .altbaslik { color: #8fa6c4; }
.koyu-pano a { color: #6fc8ea; }

.koyu-pano .kart {
  background: linear-gradient(180deg, #16304f 0%, #122844 100%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.koyu-pano .is-kart:hover { box-shadow: 0 16px 40px rgba(0,0,0,.5); border-color: rgba(0,183,227,.45); }
.koyu-pano .is-alt { border-top-color: rgba(255,255,255,.09); }

.koyu-pano table th { background: rgba(255,255,255,.06); color: #a9c0dc; border-color: rgba(255,255,255,.08); }
.koyu-pano table td { border-color: rgba(255,255,255,.07); }
.koyu-pano tbody tr:hover td { background: rgba(255,255,255,.03); }
.koyu-pano .bos { color: #8fa6c4; border-color: rgba(255,255,255,.18); background: transparent; }

.koyu-pano .kutu { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.10); box-shadow: none; }
.koyu-pano .kutu .etiket { color: #8fa6c4; }
.koyu-pano .kutu .deger { color: #fff; }

.koyu-pano .rozet { background: rgba(255,255,255,.10); color: #d7e3f2; }
.koyu-pano .rozet.etiket { background: rgba(0,183,227,.16); color: #7fd1ec; border-color: rgba(0,183,227,.35); }
.koyu-pano .rozet.yesil { background: rgba(91,175,72,.22); color: #8fd47f; }
.koyu-pano .rozet.sari { background: rgba(217,160,43,.20); color: #e8bd6a; }
.koyu-pano .rozet.kirmizi { background: rgba(217,90,70,.22); color: #f0a08f; }

.koyu-pano .teslim-pil.yesil { background: rgba(91,175,72,.22); color: #8fd47f; }
.koyu-pano .teslim-pil.sari { background: rgba(217,160,43,.20); color: #e8bd6a; }
.koyu-pano .teslim-pil.turuncu { background: rgba(217,120,43,.22); color: #f0b184; }
.koyu-pano .teslim-pil.kirmizi { background: rgba(217,90,70,.24); color: #f0a08f; }

.koyu-pano .simit-yazi { fill: #fff; }
.koyu-pano .simit circle:first-of-type, .koyu-pano .pasta circle:first-of-type { stroke: rgba(255,255,255,.14); }

.koyu-pano .hatirlatma { background: rgba(255,255,255,.04); }
.koyu-pano .hatirlatma-pil { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.18); color: #d7e3f2; }
.koyu-pano .hatirlatma-pil.onem-kritik { color: #f0a08f; border-color: rgba(217,90,70,.5); }
.koyu-pano .hatirlatma-pil.onem-yuksek { color: #f0b184; }
.koyu-pano .onem-kritik strong { color: #f0a08f; }
.koyu-pano .onem-yuksek strong { color: #f0b184; }
.koyu-pano tr.onem-kritik > td:first-child a { color: #f0a08f; }

.koyu-pano .btn.ikincil { background: transparent; border-color: rgba(255,255,255,.28); color: #d7e3f2; }
.koyu-pano .btn.ikincil:hover { border-color: var(--amber); color: #fff; }
.koyu-pano .karsilama { box-shadow: 0 14px 40px rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.10); }

/* Admin'in adı altın sarısı (kurucu imzası) */
.altin { color: #f2c14e !important; text-shadow: 0 0 14px rgba(242,193,78,.35); }

/* --- işler: alt alta liste görünümü (v0.20) ------------------------------- */
.is-liste { padding: 4px 8px; }
.is-satir {
  display: flex; align-items: center; gap: 14px;
  padding: 11px 12px; border-bottom: 1px solid var(--cizgi);
  color: inherit; text-decoration: none !important; border-radius: 8px;
  transition: background .12s;
}
.is-satir:last-child { border-bottom: 0; }
.is-satir:hover { background: var(--satir-hover); }
.is-bilgi { display: flex; flex-direction: column; gap: 1px; min-width: 210px; flex: 0 1 260px; }
.is-bilgi strong { font-size: 14.5px; }
.is-etiketler { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
.is-teslim { flex: none; min-width: 150px; text-align: right; }
.is-kaynak { flex: none; width: 66px; text-align: right; }
.monogram.kucuk { width: 34px; height: 34px; border-radius: 10px; font-size: 13px; }
.is-satir .simit { flex: none; }
.is-satir.onem-kritik { box-shadow: inset 3px 0 0 var(--kirmizi); }
.is-satir.onem-yuksek { box-shadow: inset 3px 0 0 #d9782b; }
@media (max-width: 900px) { .is-etiketler { display: none; } }

/* --- mesajlaşma (v0.21) --------------------------------------------------- */
.menu-rozet { margin-left: auto; background: var(--kirmizi); color: #fff; border-radius: 999px;
              font-size: 10.5px; font-weight: 700; padding: 1px 7px; flex: none; }
html.menu-kapali .menu-rozet { display: none; }
img.oturum-avatar { object-fit: cover; }

.sohbet-sayfa { max-width: 860px; margin: 0 auto; }
.sohbet-kart { padding: 0; overflow: hidden; }
.sohbet { height: 55vh; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 8px;
          background: var(--zemin); }
.baloncuk { max-width: 70%; padding: 8px 12px; border-radius: 14px; position: relative;
            box-shadow: 0 1px 3px rgba(20,47,82,.10); font-size: 13.5px; line-height: 1.4; }
.baloncuk.benim { align-self: flex-end; background: linear-gradient(135deg, #1c4e8a, #1565A8);
                  color: #fff; border-bottom-right-radius: 4px; }
.baloncuk.onun { align-self: flex-start; background: var(--kart); border: 1px solid var(--cizgi);
                 border-bottom-left-radius: 4px; }
.baloncuk-metin { white-space: pre-wrap; word-break: break-word; }
.baloncuk-ek { display: inline-block; margin-top: 4px; font-weight: 600; text-decoration: underline; }
.baloncuk.benim .baloncuk-ek { color: #bfe7f7; }
.baloncuk-zaman { display: block; font-size: 10px; opacity: .65; margin-top: 3px; text-align: right; }
/* Okundu işaretleri (1.14.9): tek tik gönderildi, çift tik okundu */
.baloncuk-tik { font-style: normal; font-size: 12px; font-weight: 700; margin-left: 6px; letter-spacing: -4px; padding-right: 4px; }
.baloncuk-tik.okundu { color: #9debff; }
.sohbet-goruldu { align-self: flex-end; font-size: 11px; color: var(--soluk, #7a8699); margin-top: -4px; }
.yaziyor-metin, .sp-ad small.yaziyor-metin { color: #1a9d5b; font-style: italic; }
.sohbet-form { display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid var(--cizgi); background: var(--kart); }
.sohbet-form input[type=text] { font: inherit; padding: 9px 14px; border: 1px solid var(--cizgi-koyu); border-radius: 999px; }
.ek-sec { cursor: pointer; }
.ek-sec.dolu { background: var(--amber-zemin); border-color: var(--amber); }

/* ============================================================
   LIQUID GLASS (v0.22) — üst bar ve sol menü kenarlara yapışmaz;
   her biri köşeleri yuvarlak, buzlu cam, kendi içinde yüzen bir bar olur.
   Hesabım > Arayüz'den kişi bazında açılıp kapatılır (body.cam).
   ============================================================ */
body.cam {
  /* --cam-alfa: Hesabım > Arayüz kaydırıcısı body üzerinde inline verir
     (0.04 gerçek cam — yalnız çerçeve + bulanıklık … 1.00 opak); yedek değer */
  --cam-alfa: .42;
  /* camın arkasındaki "duvar kâğıdı" — ekranla ölçeklenir, cam şeffaflaştıkça belirir */
  background:
    radial-gradient(46vw 36vh at 4% -8%, rgba(0,183,227,.34), transparent 66%),
    radial-gradient(52vw 44vh at 100% 0%, rgba(28,78,138,.34), transparent 64%),
    radial-gradient(38vw 40vh at 44% 34%, rgba(0,183,227,.14), transparent 62%),
    radial-gradient(44vw 46vh at 72% 110%, rgba(91,175,72,.24), transparent 62%),
    radial-gradient(34vw 40vh at 12% 96%, rgba(32,88,157,.16), transparent 60%),
    linear-gradient(118deg, #e3f2fb 0%, #eef3f8 34%, #f2f6f4 68%, #e9f2ea 100%);
  background-attachment: fixed;
}
/* Gün tonları (2.1.3, yalnız "Saate göre" temada): öğlen yukarıdaki duvar kâğıdıdır; sabah şafak, akşamüstü
   altın saat tonu bu katmanla üstüne biner. data-gun-ton son tonu tutar, gun-ton-acik katmanı gösterir;
   saat dönünce katman birkaç saniyede belirir ya da kaybolur. Yalnız zemin değişir: yazı, düğme ve durum
   renkleri her saatte aynıdır. */
body.cam::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  opacity: 0; transition: opacity 6s ease;
}
html.gun-ton-acik body.cam::before { opacity: 1; }
html.koyu-cam body.cam::before { display: none; }
html[data-gun-ton="sabah"] body.cam::before {
  background:
    radial-gradient(50vw 40vh at 0% -6%, rgba(255,176,128,.42), transparent 66%),
    radial-gradient(46vw 40vh at 100% 0%, rgba(255,210,160,.34), transparent 64%),
    radial-gradient(40vw 40vh at 46% 36%, rgba(0,183,227,.10), transparent 62%),
    radial-gradient(44vw 46vh at 74% 110%, rgba(178,160,230,.26), transparent 62%),
    radial-gradient(34vw 40vh at 10% 96%, rgba(255,190,170,.22), transparent 60%),
    linear-gradient(118deg, #fdeee4 0%, #fbf3ee 34%, #f4f2f8 68%, #ece9f6 100%);
}
html[data-gun-ton="aksam"] body.cam::before {
  background:
    radial-gradient(48vw 38vh at 4% -8%, rgba(32,88,157,.20), transparent 66%),
    radial-gradient(54vw 46vh at 100% 0%, rgba(255,160,70,.40), transparent 64%),
    radial-gradient(40vw 40vh at 50% 34%, rgba(255,196,110,.18), transparent 62%),
    radial-gradient(46vw 48vh at 72% 110%, rgba(232,112,84,.28), transparent 62%),
    radial-gradient(34vw 40vh at 12% 96%, rgba(150,110,180,.18), transparent 60%),
    linear-gradient(118deg, #f6eadf 0%, #fbefe2 34%, #f8e8dc 68%, #f1e3e6 100%);
}

/* --- yüzen üst bar: Apple tarzı açık buzlu cam --- */
body.cam .ustbar {
  top: 12px; left: 14px; right: 14px; border-radius: 22px;
  background: rgb(250 251 253 / var(--cam-alfa));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 10px 34px rgba(20,47,82,.14), 0 1px 2px rgba(20,47,82,.06),
              inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(255,255,255,.35), 0 0 0 1px rgba(20,47,82,.07);
  color: var(--metin);
}
/* cam üstünde parlama şeridi */
body.cam .ustbar::before {
  content: ""; position: absolute; inset: 0 0 52% 0; border-radius: 22px 22px 44px 44px;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0));
  pointer-events: none;
}
body.cam .ustbar { position: fixed; }
/* kokpit koyu bar renklerini açık cama çevir */
body.cam .ustbar .marka { color: var(--petrol); }
body.cam .ustbar .marka img { background: rgba(255,255,255,.85); }
body.cam .ustbar .marka-yazi small { color: var(--soluk); }
body.cam .ustbar .ara input {
  background: rgba(20,47,82,.06); border-color: rgba(20,47,82,.14); color: var(--metin);
}
body.cam .ustbar .ara input::placeholder { color: var(--soluk); }
body.cam .ustbar .ara input:focus { background: rgba(255,255,255,.85); border-color: var(--amber); }
body.cam .ustbar .oturum-bilgi { color: var(--metin); }
body.cam .ustbar .oturum-bilgi small { color: var(--soluk); }
body.cam .ustbar .oturum-baglanti { color: var(--soluk); border-left-color: rgba(20,47,82,.14); }
body.cam .ustbar .oturum-baglanti a { color: var(--petrol-3); }
body.cam .ustbar .oturum-sayfa { color: var(--soluk); border-right-color: rgba(20,47,82,.14); }

/* --- yerleşim: barın altına + araya nefes --- */
body.cam .yerlesim { padding-top: calc(var(--ustbar-yukseklik) + 12px + 14px); }
body.cam .yanmenu {
  flex: 0 0 calc(var(--menu-genislik) + 14px);
  width: calc(var(--menu-genislik) + 14px);
  top: calc(var(--ustbar-yukseklik) + 12px + 14px);
  height: calc(100vh - var(--ustbar-yukseklik) - 12px - 14px - 14px);
}

/* --- yüzen sol menü: açık buzlu cam --- */
body.cam .yanmenu-ic {
  margin-left: 14px; border-radius: 22px;
  background: rgb(250 251 253 / calc(var(--cam-alfa) - .04));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  border: 1px solid rgba(255,255,255,.75); border-right: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 12px 36px rgba(20,47,82,.13), inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 1px rgba(20,47,82,.07);
}
body.cam .icerik { padding-left: 28px; }
/* kokpit koyu menü renklerini açık cama çevir */
body.cam .menu-tus { color: var(--petrol); }
body.cam .menu-tus:hover { background: rgba(20,47,82,.08); }
body.cam .menu-baslik { color: var(--soluk); }
body.cam .menu a { color: var(--petrol); }
body.cam .menu details > summary { color: var(--petrol); }
body.cam .menu details > summary:hover { background: rgba(20,47,82,.06); }
body.cam .menu a .ikon { color: var(--soluk); }
body.cam .menu a:hover { background: rgba(20,47,82,.06); color: var(--petrol); }
body.cam .menu a.aktif {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .48)); color: var(--petrol);
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 10px)) saturate(1.6);
  backdrop-filter: blur(calc(var(--cam-alfa) * 10px)) saturate(1.6);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: inset 3px 0 0 var(--amber), 0 2px 8px rgba(20,47,82,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
body.cam .menu a.aktif .ikon { color: var(--amber); }
body.cam .menu a.vurgu { color: #0b7ea6; }
body.cam .menu { scrollbar-color: rgba(20,47,82,.25) transparent; }
body.cam .menu-alt { color: var(--soluk); border-top-color: rgba(20,47,82,.12); }
body.cam .menu-baslik:not(:first-child) { border-top-color: rgba(20,47,82,.12); }
html.menu-kapali body.cam .menu-baslik { border-top-color: rgba(20,47,82,.12); }
/* altın imza açık camda daha derin bir altın */
body.cam .altin { color: #c8901a !important; text-shadow: 0 1px 8px rgba(217,154,27,.35); }

/* --- her şey cam: kartlar, kutular, bantlar, bildirimler ------------------ */
body.cam .kart, body.cam .gosterge, body.cam .gm {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .06));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  border: 1px solid rgba(255,255,255,.78); border-radius: 18px;
  box-shadow: 0 8px 26px rgba(20,47,82,.10), inset 0 1px 0 rgba(255,255,255,.85), 0 0 0 1px rgba(20,47,82,.07);
}
body.cam .kutu {
  background: rgb(255 255 255 / var(--cam-alfa));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  border: 1px solid rgba(255,255,255,.75); border-left: 4px solid var(--petrol-3);
  box-shadow: 0 6px 20px rgba(20,47,82,.08), inset 0 1px 0 rgba(255,255,255,.85), 0 0 0 1px rgba(20,47,82,.07);
}
body.cam .kutu.yesil { border-left-color: var(--yesil); }
body.cam .kutu.kirmizi { border-left-color: var(--kirmizi); }
body.cam .kutu.sari { border-left-color: var(--sari); }
body.cam th { background: rgba(238,241,245,.7); }
body.cam .hatirlatma-pil { background: rgba(255,255,255,.6); }
body.cam .sekmeler a:not(.aktif) { background: rgba(255,255,255,.6); }
/* Cam temada seçili sekme beyaz zemin + beyaz yazı kalıyordu; seçili olan hep koyu zeminli. */
body.cam .btn.ikincil { background: rgba(255,255,255,.6); }
body.cam input[type=text], body.cam input:not([type]), body.cam input[type=date], body.cam input[type=number],
body.cam input[type=password], body.cam input[type=search], body.cam select, body.cam textarea {
  background: rgba(255,255,255,.72);
}

/* karşılama bandı: lacivert blok yerine hafif mavi tonlu cam */
body.cam .karsilama {
  background: linear-gradient(115deg, rgba(230,247,252,calc(var(--cam-alfa) * .55)) 40%, rgba(233,244,230,calc(var(--cam-alfa) * .45)) 100%),
              rgb(255 255 255 / calc(var(--cam-alfa) + .04));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  border: 1px solid rgba(255,255,255,.8); border-radius: 22px;
  box-shadow: 0 10px 30px rgba(20,47,82,.12), inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 1px rgba(20,47,82,.07);
  color: var(--metin);
}
body.cam .karsilama h1 { color: var(--petrol); }
body.cam .karsilama-alt { color: var(--soluk); }
body.cam .karsilama-tarih .gun { color: var(--petrol-3); }
body.cam .karsilama-tarih .ay { color: var(--soluk); }
body.cam .karsilama::after { opacity: .18; }

/* sohbet paneli başlığı da cam — açılan tekil sohbet pencerelerinin (.sp-baslik)
   başlığı da aynı camla eşleşsin diye burada birlikte tutuluyor */
body.cam .dock-baslik { background: rgb(250 251 253 / calc(var(--cam-alfa) + .15)); color: var(--petrol);
                        border-bottom: 1px solid rgba(20,47,82,.10); }
body.cam .dock-geri, body.cam .dock-kapat { color: var(--petrol); }
body.cam .dock-tam { color: var(--soluk); }
body.cam .dock-tam:hover, body.cam .dock-geri:hover, body.cam .dock-kapat:hover { color: var(--amber); }
body.cam .sp-baslik {
  background: rgb(250 251 253 / calc(var(--cam-alfa) + .15));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
}

/* balon bildirimler de cam */
body.cam .balon {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .15));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  /* sol kenar, türe göre renkli kalsın (başarı/hata/bilgi) — yalnızca diğer
     üç kenar cama uygun açık bir çerçeveye dönüşür */
  border-top-color: rgba(255,255,255,.8);
  border-right-color: rgba(255,255,255,.8);
  border-bottom-color: rgba(255,255,255,.8);
}

@media print { body.cam .ustbar, body.cam .yanmenu { display: none !important; } }

/* ============================================================
   YÜZEN SOHBET (v0.22) — sağ alt köşede mesaj düğmesi + mini panel
   ============================================================ */
.dock { position: fixed; right: 20px; bottom: 20px; z-index: 85; }
.dock-tus {
  width: 54px; height: 54px; border-radius: 50%; border: 0; cursor: pointer;
  background: linear-gradient(135deg, #1c4e8a 0%, #1565A8 55%, #00b7e3 130%);
  color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(21,101,168,.45); position: relative;
  transition: transform .12s, box-shadow .12s;
}
.dock-tus:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,183,227,.5); }
.dock-tus .ikon { width: 22px; height: 22px; flex: 0 0 22px; }
.dock-rozet {
  position: absolute; top: -3px; right: -3px; min-width: 20px; height: 20px; padding: 0 5px;
  background: var(--kirmizi); color: #fff; border-radius: 999px; font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; border: 2px solid #fff;
}
.dock-panel {
  width: 336px; height: 470px;
  background: var(--kart); border: 1px solid var(--cizgi-koyu); border-radius: 16px;
  box-shadow: 0 18px 50px rgba(10,26,48,.30);
  display: flex; flex-direction: column; overflow: hidden;
  animation: balon-gir .18s ease;
}
body.cam .dock-panel {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  border-color: rgba(255,255,255,.6);
}
/* sohbet düğmesi de cam: mavi daire yerine buzlu cam + lacivert balon */
body.cam .dock-tus {
  background: rgb(250 251 253 / calc(var(--cam-alfa) + .10));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  border: 1px solid rgba(255,255,255,.8);
  color: var(--petrol-2);
  box-shadow: 0 8px 24px rgba(20,47,82,.22), inset 0 1px 0 rgba(255,255,255,.9);
}
body.cam .dock-tus:hover { color: #0b7ea6; box-shadow: 0 12px 30px rgba(20,47,82,.28), inset 0 1px 0 rgba(255,255,255,.9); }
body.cam .dock-tus .ikon { width: 25px; height: 25px; flex: 0 0 25px; stroke-width: 2; }
body.cam .dock-rozet { border-color: rgba(255,255,255,.9); }
.dock-baslik {
  display: flex; align-items: center; gap: 8px; padding: 10px 12px;
  background: linear-gradient(115deg, var(--kokpit-ust) 0%, #1a3f6f 100%); color: #fff; flex: none;
}
.dock-baslik strong { flex: 1; font-size: 14px; }
.dock-geri, .dock-kapat { border: 0; background: none; color: #fff; cursor: pointer; font-size: 20px; line-height: 1; padding: 0 4px; }
.dock-tam { color: #bcd6ee; font-size: 15px; text-decoration: none !important; padding: 0 2px; }
.dock-tam:hover, .dock-geri:hover, .dock-kapat:hover { color: var(--amber-acik); }
.dock-liste { flex: 1; overflow-y: auto; }
.dock-kisi {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px;
  border: 0; border-bottom: 1px solid var(--cizgi); background: none; cursor: pointer;
  font: inherit; text-align: left; color: var(--metin);
}
.dock-kisi:hover { background: var(--satir-hover); }
.dock-kisi img, .dock-kisi > span {
  width: 34px; height: 34px; border-radius: 50%; flex: 0 0 34px; object-fit: cover;
  background: linear-gradient(135deg, #00b7e3, #20589d); color: #fff; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.dock-kisi-bilgi { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.dock-kisi-bilgi strong { font-size: 13.5px; }
.dock-kisi-bilgi small { color: var(--soluk); font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dock-kisi .menu-rozet { margin-left: 4px; font-style: normal; }
.dock-konusma { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.dock-mesajlar { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 7px; background: var(--zemin); }
body.cam .dock-mesajlar { background: rgba(244,246,249,.6); }
.dock-mesajlar .baloncuk { max-width: 85%; font-size: 13px; }
.dock-form { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border-top: 1px solid var(--cizgi); background: var(--kart); flex: none; }
body.cam .dock-form { background: rgba(255,255,255,.7); }
.dock-form input[type=text] { flex: 1; min-width: 0; font: inherit; padding: 7px 12px; border: 1px solid var(--cizgi-koyu); border-radius: 999px; }
.dock-form .ek-sec { cursor: pointer; font-size: 15px; padding: 4px 6px; border-radius: 8px; }
.dock-form .ek-sec.dolu { background: var(--amber-zemin); outline: 1px solid var(--amber); }
[hidden] { display: none !important; }
@media print { .dock { display: none !important; } }

/* ============================================================
   BİLDİRİM MERKEZİ (v0.28.19) — üst bardaki zil düğmesi; Apple Bildirim
   Merkezi'ndeki gibi sağ üstten aşağı kayan cam panel. Ayrı saklanan bir
   "bildirim" kaydı yok — üç bölüm (bildirimler / cevapsız kalanlar /
   güncellenmesi gerekenler) her açılışta canlı hesaplanır; bkz.
   app/bildirim_merkezi.py.
   ============================================================ */
.bildirim-kutu { position: relative; margin-left: 4px; flex: none; }
.bildirim-tus {
  width: 34px; height: 34px; border-radius: 50%; border: 1px solid transparent;
  background: none; color: var(--soluk); cursor: pointer; position: relative;
  display: flex; align-items: center; justify-content: center;
}
.bildirim-tus .ikon { width: 19px; height: 19px; }
.bildirim-tus:hover, .bildirim-tus.acik { background: var(--gri-zemin); color: var(--petrol); }
.bildirim-rozet {
  position: absolute; top: -1px; right: -1px; min-width: 16px; height: 16px; padding: 0 4px;
  background: var(--kirmizi); color: #fff; border-radius: 999px; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; border: 2px solid var(--kart);
}
/* Sağ kenara mouse gidince paneli açan görünmez tetikleyici şerit. */
.bildirim-kenar { position: fixed; top: 0; right: 0; width: 16px; height: 100vh; z-index: 119; background: transparent; }
/* Sayfa yüksekliğinde, sağdan kayarak giren/çıkan cam panel — Windows/Apple
   Bildirim Merkezi'ndeki gibi. Tetikleyici: sağ kenara hover ya da zile tık. */
.bildirim-panel {
  position: fixed; top: 0; right: 0; height: 100vh; width: 380px; max-width: calc(100vw - 16px);
  background: var(--kart); border-left: 1px solid var(--cizgi-koyu);
  box-shadow: -18px 0 50px rgba(10,26,48,.28); overflow: hidden; z-index: 130;
  display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .24s cubic-bezier(.32,.08,.24,1);
}
.bildirim-panel.acik { transform: translateX(0); }
.yukleme-eylem { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.cek-kutu { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--soluk); cursor: pointer; white-space: nowrap; }
.cek-kutu input { width: 16px; height: 16px; cursor: pointer; }
.cek-kutu:hover { color: var(--petrol); }

.bp-baslik { padding: 16px 16px 12px; font-weight: 700; font-size: 14.5px; color: var(--petrol); border-bottom: 1px solid var(--cizgi); flex: none;
             display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.bp-temizle { border: 1px solid var(--cizgi-koyu); background: transparent; color: var(--soluk); font: inherit; font-size: 11.5px;
              font-weight: 600; padding: 3px 9px; border-radius: 999px; cursor: pointer; white-space: nowrap;
              transition: color .12s, border-color .12s, background .12s; }
.bp-temizle:hover { color: var(--petrol); border-color: var(--petrol-3); background: rgba(255,255,255,.35); }
.bp-temizle:disabled { opacity: .5; cursor: default; }
.bp-govde { flex: 1; overflow-y: auto; padding: 6px; }
.bp-bos { padding: 26px 14px; text-align: center; color: var(--soluk); font-size: 13px; }
.bp-bolum-baslik { display: flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--soluk); padding: 10px 4px 4px 8px; }
.bp-bolum + .bp-bolum { border-top: 1px solid var(--cizgi); margin-top: 4px; }
.bp-grup-ad { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; border: none; background: transparent; padding: 0;
              font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; text-align: left; }
.bp-grup-ad:hover { color: var(--petrol); }
.bp-grup-ok { display: inline-block; font-size: 10px; transition: transform .15s; }
.bp-bolum.kapali .bp-grup-ok { transform: rotate(-90deg); }
.bp-bolum.kapali .bp-grup-liste { display: none; }
.bp-grup-metin { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bp-grup-sayi { flex: none; min-width: 18px; padding: 0 6px; border-radius: 999px; background: rgba(20,47,82,.10); color: var(--petrol);
                font-size: 10.5px; line-height: 17px; text-align: center; letter-spacing: 0; }
.bp-grup-carpi { flex: none; width: 22px; height: 22px; border-radius: 50%; border: none; background: transparent; color: var(--soluk);
                 font-size: 16px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center;
                 opacity: .55; transition: opacity .12s, background .12s, color .12s; }
.bp-bolum-baslik:hover .bp-grup-carpi, .bp-grup-carpi:focus-visible { opacity: 1; }
.bp-grup-carpi:hover { background: rgba(190,40,40,.14); color: var(--kirmizi); }
.bp-satir { display: flex; align-items: stretch; gap: 2px; border-radius: 8px; }
.bp-satir:hover { background: var(--satir-hover); }
.bp-satir-baglanti { display: flex; flex: 1; min-width: 0; align-items: flex-start; gap: 8px; padding: 8px; border-radius: 8px; text-decoration: none !important; color: var(--metin); }
.bp-nokta { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--soluk); }
.bp-satir.bp-kirmizi .bp-nokta { background: var(--kirmizi); }
.bp-satir.bp-turuncu .bp-nokta { background: #d9822b; }
.bp-satir.bp-sari .bp-nokta { background: var(--sari); }
.bp-satir.bp-yesil .bp-nokta { background: var(--yesil); }
.bp-satir.bp-bilgi .bp-nokta { background: var(--petrol-3); }
.bp-metin { flex: 1; min-width: 0; }
.bp-metin strong { display: block; font-size: 13px; font-weight: 600; }
.bp-metin small { display: block; font-size: 11.5px; color: var(--soluk); margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bp-zaman { font-size: 10.5px; color: var(--soluk); flex: none; margin-top: 2px; white-space: nowrap; }
.bp-carpi {
  flex: none; align-self: center; width: 22px; height: 22px; margin-right: 4px; border-radius: 50%; border: none;
  background: transparent; color: var(--soluk); font-size: 16px; line-height: 1; cursor: pointer; opacity: 0;
  display: flex; align-items: center; justify-content: center; transition: opacity .12s, background .12s, color .12s;
}
.bp-satir:hover .bp-carpi, .bp-carpi:focus-visible { opacity: 1; }
.bp-carpi:hover { background: rgba(190,40,40,.14); color: var(--kirmizi); }
body.cam .bildirim-tus { color: var(--petrol-2); }
body.cam .bildirim-tus:hover, body.cam .bildirim-tus.acik { background: rgba(255,255,255,.5); }
body.cam .bildirim-panel {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  border-left-color: rgba(255,255,255,.6);
}
body.cam .bp-baslik { color: var(--petrol); border-bottom-color: rgba(20,47,82,.10); }
@media (max-width: 560px) { .bildirim-panel { width: 100vw; max-width: 100vw; } .bildirim-kenar { width: 10px; } }

/* ============================================================
   IŞIK KIRILMASI (v0.22.3) — Apple Liquid Glass'taki kenar bükülmesi.
   base.html'deki #cam-kirilma SVG filtresi arka planı kenar kuşağında
   büker; desteklemeyen tarayıcı bu bildirimi atar, üstteki düz buzlu
   cam bildirimleri geçerli kalır (kademeli düşüş).
   ============================================================ */
body.cam .ustbar,
body.cam .yanmenu-ic {
  -webkit-backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
  backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
}
body.cam .dock-tus,
body.cam .dock-panel {
  -webkit-backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
  backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
}
body.cam .karsilama {
  -webkit-backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
  backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
}

/* ============================================================
   LINKEDIN USULÜ SOHBET BARI + DURUMLAR (v0.23)
   Sağ altta düğme; açılan konuşmalar yan yana cam pencereler.
   Durum noktaları: yeşil çevrimiçi, kırmızı ortası beyaz çizgili Toplantıda,
   düz kırmızı Meşgul, turuncu Ofis dışında, sarı AFK/Uzakta, gri çevrimdışı
   (elle "Çevrimdışı" ataması yalnızca hesap sahibi için — bkz. mesajlar.py).
   ============================================================ */
.dock { display: flex; align-items: flex-end; gap: 12px; }
.dock-sag { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.dock-pencereler { display: flex; align-items: flex-end; gap: 12px; }

.sohbet-pencere {
  width: 296px; height: 380px; display: flex; flex-direction: column; overflow: hidden;
  background: var(--kart); border: 1px solid var(--cizgi-koyu); border-radius: 14px 14px 0 0;
  box-shadow: 0 14px 40px rgba(10,26,48,.28); animation: balon-gir .18s ease;
}
body.cam .sohbet-pencere {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  border-color: rgba(255,255,255,.7);
}
.sohbet-pencere.kucuk { height: auto; }
.sohbet-pencere.kucuk .sp-govde { display: none; }
.sp-baslik {
  display: flex; align-items: center; gap: 8px; padding: 7px 10px; cursor: default; flex: none;
  background: rgba(250,251,253,.8); border-bottom: 1px solid rgba(20,47,82,.10); color: var(--petrol);
}
.sp-ad { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; flex: 1; }
.sp-ad strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-ad small { font-size: 10.5px; color: var(--soluk); }
.sp-tus { border: 0; background: none; cursor: pointer; color: var(--soluk); font-size: 16px; line-height: 1; padding: 2px 5px; border-radius: 6px; }
.sp-tus:hover { background: rgba(20,47,82,.08); color: var(--petrol); }
.sp-govde { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.sp-mesajlar { flex: 1; overflow-y: auto; padding: 10px; display: flex; flex-direction: column; gap: 7px; background: rgba(244,246,249,.55); }
.sp-mesajlar .baloncuk { max-width: 86%; font-size: 12.5px; }
.sp-form { display: flex; align-items: center; gap: 6px; padding: 7px 9px; border-top: 1px solid var(--cizgi); background: rgba(255,255,255,.7); flex: none; }
.sp-form input[type=text] { flex: 1; min-width: 0; font: inherit; font-size: 12.5px; padding: 6px 11px; border: 1px solid var(--cizgi-koyu); border-radius: 999px; }
.sp-form .ek-sec { cursor: pointer; font-size: 14px; padding: 3px 5px; border-radius: 7px; }
.sp-form .ek-sec.dolu { background: var(--amber-zemin); outline: 1px solid var(--amber); }

/* durum noktaları */
.durum-nokta { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #9aa7b5; flex: none; }
.durum-nokta.cevrimici { background: #34a341; }
.durum-nokta.mesgul { background: #d23c2a; }
.durum-nokta.toplantida {
  background: linear-gradient(to bottom, #d23c2a 0%, #d23c2a 38%, #fff 38%, #fff 62%, #d23c2a 62%, #d23c2a 100%);
}
.durum-nokta.ofis_disinda { background: #d9782b; }
.durum-nokta.afk, .durum-nokta.uzakta { background: #e0a41c; }
.durum-nokta.cevrimdisi { background: #9aa7b5; }
.sp-avatar { position: relative; display: inline-flex; flex: none; }
.sp-avatar img, .sp-avatar > span {
  border-radius: 50%; object-fit: cover; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #00b7e3, #20589d); color: #fff; font-weight: 700;
}
.sp-avatar .durum-nokta { position: absolute; right: -1px; bottom: -1px; border: 2px solid #fff; width: 10px; height: 10px; }

/* paneldeki kendi durum satırı */
.dock-durumum { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--cizgi); flex: none; }
.dock-durum-sec { margin-left: auto; font: inherit; font-size: 12px; padding: 4px 8px; border: 1px solid var(--cizgi-koyu); border-radius: 8px; background: rgba(255,255,255,.8); }

@media print { .dock, .dock-pencereler { display: none !important; } }

/* ============================================================
   YÜZEN HESAP MAKİNESİ (v0.28.6) — sol altta, sohbet dock'unun
   (.dock, sağ alt) camıyla aynı formülü kullanır, ayrı köşede durur.
   ============================================================ */
.hesap-dock { position: fixed; left: 20px; bottom: 20px; z-index: 85; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
/* not: ana ekranda sabit açma düğmesi yok — bkz. Araçlar sayfası ve Alt+Shift+H */
body.cam .hesap-pencere {
  -webkit-backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
  backdrop-filter: url(#cam-kirilma) blur(calc(var(--cam-alfa) * 15px)) saturate(1.6);
}
.hesap-pencere {
  order: 1;
  width: 250px; display: flex; flex-direction: column; overflow: hidden;
  background: var(--kart); border: 1px solid var(--cizgi-koyu); border-radius: 14px;
  box-shadow: 0 14px 40px rgba(10,26,48,.28); animation: balon-gir .18s ease;
}
body.cam .hesap-pencere {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  border-color: rgba(255,255,255,.7);
}
.hp-govde { display: flex; flex-direction: column; padding: 10px; gap: 8px; }
.hp-ekran-kutu {
  border: 1px solid var(--cizgi-koyu); border-radius: 10px; background: rgba(244,246,249,.6);
  padding: 8px 12px 6px; min-height: 76px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px;
}
.hp-onizleme { font-size: 12.5px; color: var(--soluk); text-align: right; min-height: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-ekran-kutu input[type=text].hp-ekran {
  font: inherit; font-size: 24px; font-weight: 600; text-align: right; letter-spacing: .3px;
  padding: 2px 0; border: none; border-radius: 0; min-width: 0; box-shadow: none;
  background: transparent; color: var(--metin); width: 100%; box-sizing: border-box;
}
.hp-tuslar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.hp-tus {
  font: inherit; font-size: 14.5px; padding: 10px 0; border: 1px solid var(--cizgi-koyu); border-radius: 9px;
  background: rgba(255,255,255,.7); color: var(--metin); cursor: pointer; transition: transform .08s, background .12s;
}
.hp-tus:hover { background: rgba(255,255,255,.95); }
.hp-tus:active { transform: scale(.94); }
.hp-tus.hp-op { background: rgba(0,183,227,.12); color: var(--petrol-2); font-weight: 700; }
.hp-tus.hp-op:hover { background: rgba(0,183,227,.22); }
.hp-tus.hp-ikincil { color: var(--soluk); }
.hp-tus.hp-esit { background: linear-gradient(135deg, #1c4e8a 0%, #00b7e3 130%); color: #fff; font-weight: 700; border-color: transparent; }
.hp-tus.hp-esit:hover { filter: brightness(1.08); }
.hp-gecmis { max-height: 150px; overflow-y: auto; display: flex; flex-direction: column-reverse; gap: 4px; border-top: 1px solid var(--cizgi); padding-top: 8px; }
.hp-satir { display: flex; align-items: center; gap: 6px; font-size: 12px; padding: 4px 6px; border-radius: 7px; }
.hp-satir:hover { background: rgba(20,47,82,.06); }
.hp-satir .hp-ifade { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--soluk); }
.hp-satir .hp-sonuc { font-weight: 700; }
.hp-satir button { border: 0; background: none; cursor: pointer; color: var(--soluk); padding: 2px; border-radius: 6px; display: flex; }
.hp-satir button:hover { color: var(--petrol); background: rgba(20,47,82,.08); }
.hp-satir button .ikon { width: 13px; height: 13px; }
.hp-kopyalandi { position: absolute; bottom: 68px; left: 20px; background: var(--petrol); color: #fff; font-size: 11.5px;
  padding: 5px 10px; border-radius: 999px; opacity: 0; pointer-events: none; transition: opacity .15s; z-index: 90; }
.hp-kopyalandi.gorunur { opacity: 1; }
@media print { .hesap-dock { display: none !important; } }

/* --- tablo satırı hover: üzerine cam konmuş gibi — dolgu yok, çerçeve + parlama (v0.24.4) --- */
body.cam tbody tr:hover td {
  background: rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(2.5px) saturate(1.6);
  backdrop-filter: blur(2.5px) saturate(1.6);
  box-shadow: 0 1px 0 rgba(20,47,82,.28), 0 -1px 0 rgba(20,47,82,.28),
              inset 0 1px 0 rgba(255,255,255,.85);
}
body.cam tbody tr:hover td:first-child {
  border-radius: 9px 0 0 9px;
  box-shadow: 0 1px 0 rgba(20,47,82,.28), 0 -1px 0 rgba(20,47,82,.28), -1px 0 0 rgba(20,47,82,.28),
              inset 0 1px 0 rgba(255,255,255,.85);
}
body.cam tbody tr:hover td:last-child {
  border-radius: 0 9px 9px 0;
  box-shadow: 0 1px 0 rgba(20,47,82,.28), 0 -1px 0 rgba(20,47,82,.28), 1px 0 0 rgba(20,47,82,.28),
              inset 0 1px 0 rgba(255,255,255,.85);
}
/* iş listesi ve sohbet paneli satırları da aynı cam levha vurgusunu alsın */
body.cam .is-satir:hover, body.cam .dock-kisi:hover {
  background: rgba(255,255,255,.07);
  box-shadow: 0 0 0 1px rgba(20,47,82,.28), inset 0 1px 0 rgba(255,255,255,.85);
}

/* ============================================================
   Mobil / duyarlı tasarım (telefon + tablet tarayıcısı) — v0.30.0
   Native bir uygulama değil: mevcut masaüstü kabuğu (sabit üst bar + sol
   menü) dar ekranlarda kullanılabilir kalsın diye CSS ile yeniden akıtılır.
   Sol menü dar ekranda varsayılan GİZLİ durur; üst çubuktaki hamburger
   (.mobil-menu-tus) açar, kayarak gelir (off-canvas) ve arkasında koyu bir
   perde (.mobil-menu-perde) belirir — perdeye ya da bir menü bağlantısına
   tıklamak kapatır (bkz. base.html'deki menuMobilAcKapa()). Bu, masaüstünde
   zaten var olan "daraltıp yalnızca ikon göster" (html.menu-kapali) mekaniğinden
   TAMAMEN AYRIDIR: o mekanizma masaüstünde kalıcı tercih olarak localStorage'da
   tutulur, mobildeki aç/kapa ise her sayfa yüklemesinde sıfırdan kapalı başlar.
   ============================================================ */
.mobil-menu-tus { display: none; }
.mobil-menu-perde {
  display: none; position: fixed; inset: 0; top: var(--ustbar-yukseklik);
  background: rgba(10,20,35,.42); z-index: 95; border: 0; padding: 0; cursor: pointer;
}

@media (max-width: 880px) {
  /* --- Üst bar: dar ekranda sığması için arama kutusu, sayfa rozeti ve
     kullanıcı adı/unvanı gizlenir; marka alt yazısı kaldırılır. Bildirim
     zili, avatar ve Hesabım/Çıkış bağlantıları (temel erişim) kalır. --- */
  .ustbar { padding: 0 10px; gap: 8px; }
  .ustbar .marka img { height: 30px; }
  .ustbar .marka-yazi { font-size: 15px; }
  .ustbar .marka-yazi small { display: none; }
  /* arama kutusu üst bardan menü panelinin üstüne (.menu-ara) taşınır */
  .ustbar .ara-kutu { display: none; }
  .menu-ara { display: block; }
  .ustbar .oturum-sayfa { display: none; }
  .ustbar .oturum-bilgi { display: none; }
  .ustbar .oturum-baglanti { padding-left: 10px; margin-left: 0; font-size: 12px; }
  .ustbar .oturum { gap: 8px; }

  .mobil-menu-tus {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; flex: 0 0 34px; border: 0; border-radius: 8px;
    background: transparent; color: var(--petrol); cursor: pointer; order: -1;
  }
  .mobil-menu-tus:hover { background: rgba(20,47,82,.09); }
  .mobil-menu-tus .ikon { width: 20px; height: 20px; }

  /* --- Sol menü: sabit konumlu, ekran dışına kaydırılmış off-canvas panel.
     Masaüstünün "dar/ikon" hali (html.menu-kapali) mobilde YOK SAYILIR —
     açıldığında her zaman tam genişlikte, okunaklı gelir. --- */
  .yerlesim { padding-top: var(--ustbar-yukseklik); }
  .yanmenu {
    position: fixed; top: var(--ustbar-yukseklik); left: 0; bottom: 0;
    width: var(--menu-genislik); height: auto;
    transform: translateX(-100%); transition: transform .2s ease; z-index: 100;
  }
  html.menu-mobil-acik .yanmenu { transform: translateX(0); }
  .yanmenu-ic, html.menu-kapali .yanmenu-ic {
    width: var(--menu-genislik); box-shadow: 4px 0 24px rgba(10,26,48,.25);
  }
  html.menu-kapali .menu a, html.menu-kapali .menu-baslik, html.menu-kapali .menu-alt,
  html.menu-kapali .master-btn { font-size: inherit; }
  html.menu-kapali .menu a { gap: 10px; justify-content: flex-start; padding-left: 14px; padding-right: 14px; }
  html.menu-kapali .master-btn { gap: 10px; padding: 10px 14px; width: auto; height: auto; margin: 4px 14px; }
  html.menu-kapali .yardim-btn { font-size: inherit; gap: 10px; padding: 10px 14px; width: auto; height: auto; margin: 10px 14px; }
  html.menu-kapali .portal-btn { font-size: inherit; gap: 10px; padding: 10px 14px; width: auto; height: auto; margin: 10px 14px 4px; }
  /* menü açıkken arkadaki sayfa kaymasın diye perde görünür ve tıklaması kapatır */
  html.menu-mobil-acik .mobil-menu-perde { display: block; }
  html.menu-mobil-acik { overflow: hidden; }

  .icerik { padding: 16px 14px 60px; }
  .kart { padding: 14px 16px; }
  h1 { font-size: 20px; }

  /* --- Kayan/yüzen bileşenler: hesap makinesi ve sohbet balonu dar ekranda
     kapatılamayacak kadar yer kaplar ve klavye kısayoluyla açılan hesap
     makinesinin mobilde zaten bir tetik düğmesi yoktur — tam sayfa /mesajlar
     her zaman erişilebilir kaldığından ikisi de mobilde gizlenir. --- */
  .dock, .hesap-dock { display: none !important; }

  .balonlar { left: 12px; right: 12px; max-width: none; bottom: 16px; }

  /* --- Formlar/kartlar: tek sütuna düşen ızgaralar zaten .izgara kurallarında
     ele alınıyor; burada yalnızca en sık taşma riski taşıyan sabit genişlikli
     alanlar gevşetilir. --- */
  input[type=text], input:not([type]), input[type=date], input[type=number], input[type=file], select, textarea {
    min-width: 0; width: 100%;
  }
  .satir > div { width: 100%; }
  .satir { gap: 8px; }
}

@media (max-width: 600px) {
  .kutular { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
  .kutu { min-width: 0; }
  .kutu .deger { font-size: 17px; overflow-wrap: anywhere; }
  .halka { max-width: 100%; overflow-x: auto; }
  .kart.kunye .kunye-duzenle summary, .kart.kunye .btn { max-width: 100%; box-sizing: border-box; }
  table { font-size: 12.5px; }
}
@media (max-width: 480px) {
  /* Dar telefonlarda üst bar: marka yazısı gizlenir, oturum bağlantıları sığar */
  .ustbar .marka-yazi { display: none; }
  .ustbar .oturum-baglanti { font-size: 11.5px; padding-left: 8px; white-space: nowrap; }
}

/* Çıkış gibi durum değiştiren bağlantılar form+düğme olarak gönderilir (CSRF); görünüm bağlantı gibi */
form.satir-ici { display: inline; margin: 0; }
.baglanti-btn { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: none; }
.baglanti-btn:hover { text-decoration: underline; }

/* ============================================================
   ANYone — uygulama içi yardımcı karakter (v0.32.0)
   Sol alt köşe, içerik alanının köşesinde (menü genişliğine göre kayar);
   sağ altta sohbet dock'u, sol altta menü üstünde hesap makinesi var.
   ============================================================ */
.anyone {
  position: fixed; left: calc(var(--menu-genislik) + 18px); bottom: 18px; z-index: 84;
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  transition: left .16s ease, opacity .16s, transform .16s;
}
html.menu-kapali .anyone { left: calc(var(--menu-dar) + 18px); }
.anyone.cekil { opacity: 0; pointer-events: none; transform: translateY(20px); }
.anyone-karakter {
  width: 48px; height: 48px; border: 0; background: transparent; padding: 0; cursor: pointer;
  border-radius: 50%; display: block; filter: drop-shadow(0 6px 14px rgba(20,47,82,.28));
  transition: transform .15s;
}
.anyone-karakter:hover { transform: translateY(-2px); }
.anyone-karakter:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }
.anyone-svg { width: 100%; height: 100%; display: block; overflow: visible; }
.anyone.kucuk .anyone-karakter { width: 36px; height: 36px; opacity: .8; }
.anyone.kucuk .anyone-karakter:hover { opacity: 1; }
@keyframes anyone-salin { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }

/* durumlar: düşünürken iğne döner, sevinçte kısa parlama */
.anyone-igne { transform-box: fill-box; transform-origin: 50% 50%; transition: transform .4s ease; }
.anyone-karakter:hover .anyone-igne { transform: rotate(25deg); }
.anyone.dusunuyor .anyone-igne { animation: anyone-igne-don 1.1s linear infinite; }
@keyframes anyone-igne-don { to { transform: rotate(360deg); } }
.anyone.sevincli .anyone-svg { animation: anyone-parla .6s ease-out 2; }
@keyframes anyone-parla { 0%, 100% { filter: drop-shadow(0 0 0 rgba(0,183,227,0)); } 50% { filter: drop-shadow(0 0 10px rgba(0,183,227,.8)); } }

/* konuşma balonu */
.anyone-balon {
  width: 320px; max-width: calc(100vw - 40px); position: relative;
  background: var(--kart); border: 1px solid var(--cizgi-koyu); border-radius: 14px;
  box-shadow: 0 14px 40px rgba(10,26,48,.24); animation: balon-gir .18s ease; font-size: 13.5px;
}
.anyone-balon::after {
  content: ""; position: absolute; left: 34px; bottom: -9px; width: 16px; height: 16px;
  background: var(--kart); border-right: 1px solid var(--cizgi-koyu); border-bottom: 1px solid var(--cizgi-koyu);
  transform: rotate(45deg);
}
body.cam .anyone-balon {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .45));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  border-color: rgba(255,255,255,.7);
}
body.cam .anyone-balon::after { background: rgb(255 255 255 / calc(var(--cam-alfa) + .45)); border-color: rgba(255,255,255,.7); }
.anyone-balon-baslik {
  display: flex; align-items: baseline; gap: 8px; padding: 9px 12px 7px;
  border-bottom: 1px solid var(--cizgi); color: var(--petrol);
}
.anyone-balon-baslik strong { font-size: 14px; }
.anyone-tus {
  margin-left: auto; border: 0; background: transparent; cursor: pointer; font-size: 20px; line-height: 1;
  color: var(--soluk); padding: 0 2px; align-self: center;
}
.anyone-tus:hover { color: var(--kirmizi); }
.anyone-icerik { padding: 10px 12px; max-height: 260px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.anyone-satir { display: flex; gap: 8px; align-items: flex-start; line-height: 1.4; }
.anyone-satir.anyone-durum { padding-left: 9px; border-left: 3px solid var(--amber); }
.anyone-satir.anyone-ipucu { color: var(--metin); }
.anyone-satir.anyone-bos { color: var(--soluk); }
.anyone-ok { margin-left: auto; flex: none; font-weight: 700; text-decoration: none; color: var(--petrol-3); padding: 0 4px; }
.anyone-ok:hover { color: var(--amber); }
.anyone-baslik-satir { font-size: 12px; color: var(--soluk); text-transform: uppercase; letter-spacing: .3px; }
.anyone-cevap { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: baseline; }
.anyone-cevap small { grid-column: 2; color: var(--soluk); line-height: 1.35; }
.anyone-cevap-baslik { font-weight: 600; color: var(--petrol-3); }
.anyone-kaynak {
  font-size: 10.5px; font-weight: 600; padding: 1px 6px; border-radius: 999px; white-space: nowrap;
  background: var(--gri-zemin); color: var(--soluk);
}
.anyone-kaynak-yardim { background: var(--amber-zemin); color: #0b7ea6; }
.anyone-kaynak-anypedia { background: var(--yesil-zemin); color: var(--yesil); }
.anyone-kaynak-sayfa { background: var(--sari-zemin); color: var(--sari); }
.anyone-form { display: flex; gap: 6px; padding: 0 12px 8px; }
.anyone-form input { flex: 1; min-width: 0; font: inherit; font-size: 13px; padding: 6px 9px; border: 1px solid var(--cizgi-koyu); border-radius: 8px; }
.anyone-form input:focus { outline: none; border-color: var(--amber); box-shadow: 0 0 0 3px var(--amber-zemin); }
.anyone-alt { padding: 0 12px 9px; }
.anyone-alt .baglanti-btn { color: var(--soluk); }

@media (max-width: 880px) {
  /* dar ekranda yalnızca küçük düğme; balon istenirse üstte tam genişlikte açılır */
  .anyone, html.menu-kapali .anyone { left: 12px; bottom: 14px; }
  .anyone-karakter, .anyone.kucuk .anyone-karakter { width: 46px; height: 46px; }
  .anyone-balon { width: calc(100vw - 24px); max-width: none; }
  .anyone-balon::after { left: 16px; }
  .anyone-icerik { max-height: 40vh; }
}
@media print { .anyone { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
  .anyone-svg, .anyone.dusunuyor .anyone-igne, .anyone.sevincli .anyone-svg { animation: none; }
  .anyone, .anyone-karakter, .anyone-igne { transition: none; }
  .anyone-balon { animation: none; }
}

/* Hızlı ulaşım: kâğıt pilleri (anasayfa satırı, dosya şeridi) ve menü kısayolu */
.is-kagitlar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 6px 16px 10px 62px; border-bottom: 1px solid var(--cizgi); }
.is-kagitlar:last-child { border-bottom: 0; }
.dosya-kagitlar { padding: 8px 14px; margin: 8px 0 14px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; }
.kagit-pil { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 4px; border-radius: 999px; border: 1px solid var(--cizgi-koyu); background: #fff; color: var(--petrol); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.kagit-pil:hover { border-color: var(--cyan); box-shadow: 0 2px 8px rgba(0,183,227,.25); transform: translateY(-1px); }
.kagit-pil .belge-ikon { font-size: 9px; padding: 1px 5px; }
.hizli-erisim-cift { display: flex; align-items: stretch; gap: 2px; }
.hizli-erisim-cift .hizli-erisim-satir { flex: 1; min-width: 0; }
.hizli-kagit { display: flex; align-items: center; padding: 0 8px; border-radius: 8px; color: var(--soluk); }
.hizli-kagit:hover { background: var(--satir-hover); color: var(--petrol); }
html.menu-kapali .hizli-kagit { display: none; }

/* Hızlı erişim: açık menüde satır listesi; daraltılmış menüde tek simge + yan panel */
.hizli-erisim { position: relative; }
.hizli-erisim-tek { display: none; }
html.menu-kapali .hizli-erisim-tek {
  /* daraltılmış menüdeki bağlantılarla (.menu a) aynı kutu: tam genişlik, 8px dikey dolgu, simge ortada */
  display: flex; align-items: center; justify-content: center; width: 100%; height: auto; margin: 0; padding: 8px 0;
  border: 0; border-radius: 8px; background: transparent; color: var(--soluk); cursor: pointer; font: inherit; line-height: 1;
}
html.menu-kapali .hizli-erisim-tek:hover, html.menu-kapali .hizli-erisim.acik .hizli-erisim-tek { background: var(--satir-hover); color: var(--petrol); }
html.menu-kapali .hizli-erisim-tek .ikon { width: 18px; height: 18px; }
html.menu-kapali .hizli-erisim-liste {
  display: none; position: fixed; left: calc(var(--menu-dar) + 22px); top: 0; z-index: 210; min-width: 260px; max-width: 340px;
  padding: 8px; border-radius: 12px;
  /* diğer yüzen paneller (menü baloncuğu, sohbet, ANYone) gibi cam */
  background: rgb(250 251 253 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 14px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 14px)) saturate(1.7);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 10px 28px rgba(20,47,82,.20), inset 0 1px 0 rgba(255,255,255,.9);
}
html.menu-kapali .hizli-erisim-liste::before { content: ""; position: absolute; left: -22px; top: 0; width: 22px; height: 100%; }  /* fare geçiş köprüsü */
html.menu-kapali .hizli-erisim-liste.acik { display: block; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir { font-size: 13px; gap: 8px; justify-content: flex-start; padding-left: 10px; padding-right: 10px; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir small { display: inline; }
html.menu-kapali .hizli-erisim-liste .hizli-kagit { display: flex; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-bos { font-size: 13px; padding-left: 10px; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir .kes { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


/* ---------------------------------------------------------------------------
   Takvim (1.1.0) — /takvim sayfası ve bildirim panelindeki mini takvim.
   Çip / nokta rengi = olay türü; hücre zemini = işin önemi (künye etiketi).
   --------------------------------------------------------------------------- */
:root {
  --tk-kirmizi: #b9412e; --tk-mavi: #1565A8; --tk-yesil: #3f8f31; --tk-mor: #6a3fa0; --tk-gri: #6b7684; --tk-tatil: #9aa3ad; --tk-turkuaz: #0b8a8f;
  --tk-kritik-zemin: rgba(185,65,46,.10); --tk-yuksek-zemin: rgba(217,130,43,.12);
}
.tk-kirmizi { --tk: var(--tk-kirmizi); } .tk-mavi { --tk: var(--tk-mavi); } .tk-yesil { --tk: var(--tk-yesil); }
.tk-mor { --tk: var(--tk-mor); } .tk-gri { --tk: var(--tk-gri); } .tk-tatil { --tk: var(--tk-tatil); } .tk-turkuaz { --tk: var(--tk-turkuaz); }
.takvim-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin: 4px 0 12px; }
.takvim-gezinti { display: flex; align-items: center; gap: 8px; }
.takvim-baslik { margin: 0; min-width: 150px; text-align: center; font-size: 18px; }
.takvim-lejant { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--soluk); }
.takvim-lejant-oge { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.takvim-lejant-oge b { color: var(--metin); }
.takvim-nokta { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--tk, var(--soluk)); flex: none; }
.takvim-zemin-ornek { display: inline-block; width: 14px; height: 11px; border-radius: 3px; border: 1px solid var(--cizgi); }
.takvim-zemin-ornek.onem-kritik { background: var(--tk-kritik-zemin); border-color: rgba(185,65,46,.35); }
.takvim-zemin-ornek.onem-yuksek { background: var(--tk-yuksek-zemin); border-color: rgba(217,130,43,.4); }
.takvim-kart { padding: 10px; }
.takvim-izgara { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.takvim-gun-adi { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--soluk); text-align: center; padding: 4px 0 6px; }
.takvim-gun-adi.hafta-sonu { color: var(--tk-tatil); }
.takvim-hucre { min-height: 96px; border: 1px solid var(--cizgi); border-radius: 9px; padding: 5px 6px; background: var(--kart); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.takvim-hucre.dis-ay { opacity: .48; }
.takvim-hucre.hafta-sonu { background: var(--zemin); }
.takvim-hucre.tatil { background: repeating-linear-gradient(135deg, var(--zemin) 0 6px, rgba(0,0,0,.025) 6px 12px); }
.takvim-hucre.onem-yuksek { background: var(--tk-yuksek-zemin); border-color: rgba(217,130,43,.35); }
.takvim-hucre.onem-kritik { background: var(--tk-kritik-zemin); border-color: rgba(185,65,46,.35); }
.takvim-hucre.bugun { box-shadow: inset 0 0 0 2px var(--petrol-3); }
.takvim-gun-no { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.takvim-gun-no span { font-weight: 700; font-size: 13px; }
.takvim-hucre.bugun .takvim-gun-no span { background: var(--petrol-3); color: #fff; border-radius: 50%; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.takvim-tatil-adi { font-size: 10px; color: var(--soluk); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.takvim-cipler { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.takvim-cip { display: block; font-size: 11px; line-height: 1.25; padding: 2px 6px; border-radius: 5px; color: #fff !important; background: var(--tk); text-decoration: none !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-left: 3px solid rgba(0,0,0,.18); }
.takvim-cip:hover { filter: brightness(1.08); }
.takvim-cip.gecikti { outline: 2px solid var(--tk-kirmizi); outline-offset: -2px; }
.takvim-cip.benim { border-left-color: #fff; }
.takvim-daha { border: none; background: transparent; color: var(--petrol-3); font-size: 11px; font-weight: 600; cursor: pointer; padding: 0 4px; text-align: left; }
.takvim-daha:hover { text-decoration: underline; }
.takvim-tablo tr.vurgu td { background: rgba(21,101,168,.10); }
.takvim-tablo tr.gecikti td:first-child { color: var(--kirmizi); font-weight: 600; }
body.cam .takvim-hucre { background: rgba(255,255,255,.38); }
body.cam .takvim-hucre.onem-yuksek { background: var(--tk-yuksek-zemin); }
body.cam .takvim-hucre.onem-kritik { background: var(--tk-kritik-zemin); }
@media (max-width: 880px) {
  .takvim-hucre { min-height: 64px; padding: 4px; }
  .takvim-cip { font-size: 0; padding: 0; height: 6px; border-radius: 3px; border-left: 0; }
  .takvim-daha { font-size: 10px; }
  .takvim-tatil-adi { display: none; }
}

/* Bildirim paneli — mini takvim */
.bp-takvim { flex: none; border-bottom: 1px solid var(--cizgi); padding: 10px 12px 8px; }
.bp-takvim-ust { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 6px; }
.bp-takvim-baslik { font-weight: 700; font-size: 13.5px; color: var(--petrol); }
.bp-takvim-tus { border: 1px solid var(--cizgi); background: transparent; color: var(--petrol-3); border-radius: 6px; width: 26px; height: 24px; cursor: pointer; font-size: 14px; line-height: 1; }
.bp-takvim-tus:hover { background: var(--gri-zemin); }
.bp-takvim-ac { font-size: 11.5px; margin-left: auto; margin-right: 6px; }
.bp-takvim-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.bp-takvim-gun-adi { font-size: 10px; font-weight: 700; color: var(--soluk); text-align: center; padding-bottom: 2px; }
.bp-takvim-gun { position: relative; border: none; background: transparent; border-radius: 7px; padding: 3px 0 5px; font-size: 12px; color: var(--metin); cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; min-height: 34px; }
.bp-takvim-gun:hover { background: var(--satir-hover); }
.bp-takvim-gun.dis-ay { color: var(--tk-tatil); opacity: .6; }
.bp-takvim-gun.tatil { color: var(--tk-tatil); }
.bp-takvim-gun.onem-yuksek { background: var(--tk-yuksek-zemin); }
.bp-takvim-gun.onem-kritik { background: var(--tk-kritik-zemin); }
.bp-takvim-gun.secili { box-shadow: inset 0 0 0 1.5px var(--petrol-3); }
.bp-takvim-gun.bugun span { background: var(--petrol-3); color: #fff; border-radius: 50%; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.bp-takvim-noktalar { display: flex; gap: 2px; height: 5px; }
.bp-takvim-noktalar i { width: 5px; height: 5px; border-radius: 50%; background: var(--tk); display: block; }
.bp-takvim-liste { margin-top: 6px; border-top: 1px dashed var(--cizgi); padding-top: 4px; max-height: 150px; overflow-y: auto; }
.bp-takvim-liste .bp-satir-baglanti { padding: 5px 6px; }
.bp-takvim-liste .bp-nokta { background: var(--tk); }
.bp-takvim-bos { font-size: 11.5px; color: var(--soluk); padding: 6px 4px; }

/* Araçlar › WTB aktarımı: eşlenmeyen (uyarı) ve ana hesap önerisi (dikkat) satırları */
tr.satir-uyari td { background: rgba(176, 0, 32, .06); }
tr.satir-dikkat td { background: rgba(255, 179, 0, .10); }


/* --- renkli düğmeler açık camda "renkli cam": tint + bulanıklık, kaydırıcıya bağlı --- */
body.cam .master-btn, body.cam .portal-btn, body.cam .yardim-btn {
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.6);
  border: 1px solid rgba(255,255,255,.55);
  text-shadow: 0 1px 2px rgba(0,0,0,.18);
}
body.cam .master-btn {
  background: linear-gradient(135deg, rgb(28 78 138 / calc(.55 + var(--cam-alfa) * .40)) 0%, rgb(0 183 227 / calc(.45 + var(--cam-alfa) * .40)) 130%);
  box-shadow: 0 6px 18px rgba(21,101,168,.22), inset 0 1px 0 rgba(255,255,255,.55);
}
body.cam .portal-btn {
  background: linear-gradient(135deg, rgb(168 76 0 / calc(.55 + var(--cam-alfa) * .40)) 0%, rgb(255 176 32 / calc(.45 + var(--cam-alfa) * .40)) 130%);
  box-shadow: 0 6px 18px rgba(217,113,26,.22), inset 0 1px 0 rgba(255,255,255,.55);
}
body.cam .yardim-btn {
  background: linear-gradient(135deg, rgb(156 47 31 / calc(.55 + var(--cam-alfa) * .40)) 0%, rgb(224 104 79 / calc(.45 + var(--cam-alfa) * .40)) 130%);
  box-shadow: 0 6px 18px rgba(185,65,46,.22), inset 0 1px 0 rgba(255,255,255,.55);
}
body.cam .master-btn.acik, body.cam .portal-btn.acik, body.cam .yardim-btn.acik {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.9), 0 6px 18px rgba(20,47,82,.18);
}
body.cam .menu-taban { border-top-color: rgba(20,47,82,.12); }

/* ---------------------------------------------------------------------------
   Ayrıntılı liste (v1.1.0) — dosya gezgini benzeri tablo: sıralanabilir
   başlıklar, süzme kutusu, satır başına tek satır özet. Şablon kütüphanesi ve
   çalışma alanı belge listesi bu görünümü kullanır.
   --------------------------------------------------------------------------- */
.detay-arac { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.detay-arac-sol { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.detay-suz { min-width: 260px; }
.detay-kaydir { overflow-x: auto; }
table.detay-liste { width: 100%; }
table.detay-liste th.sirali { cursor: pointer; user-select: none; white-space: nowrap; }
table.detay-liste th.sirali::after { content: "\2195"; opacity: .28; margin-left: 5px; font-size: 11px; }
table.detay-liste th.sirali[aria-sort="ascending"]::after { content: "\2191"; opacity: .9; }
table.detay-liste th.sirali[aria-sort="descending"]::after { content: "\2193"; opacity: .9; }
table.detay-liste th.sirali:focus-visible { outline: 2px solid var(--petrol); outline-offset: -2px; }
table.detay-liste th.dar, table.detay-liste td.dar { white-space: nowrap; }
table.detay-liste th.sec-sutun, table.detay-liste td.sec-sutun { width: 26px; }
table.detay-liste td.dl-ad { white-space: nowrap; }
table.detay-liste td.dl-ad .belge-ikon { margin-right: 8px; vertical-align: -2px; }
table.detay-liste td.dl-aciklama { min-width: 260px; max-width: 420px; line-height: 1.45; }
table.detay-liste td.dl-bolum { white-space: nowrap; max-width: 210px; overflow: hidden; text-overflow: ellipsis; }
table.detay-liste tr.gizli { display: none; }
.dl-soluk { color: var(--soluk); }
@media (max-width: 900px) {
  table.detay-liste td.dl-ad { white-space: normal; }
  table.detay-liste td.dl-aciklama { min-width: 180px; }
}
.detay-grup > h2 .kucukmetin { font-weight: 400; }
.detay-grup-aciklama { margin: -2px 0 10px; }

/* ---------- Uzun süren işler: alt köşede ilerleme şeridi (1.11.0) ---------- */
.is-serit { position: fixed; right: 20px; bottom: 78px; z-index: 88; display: flex;
            flex-direction: column; gap: 10px; width: min(360px, calc(100vw - 40px));
            pointer-events: none; }
.is-kart { pointer-events: auto; background: var(--kart, #fff); border: 1px solid var(--cizgi-koyu);
           border-left: 4px solid #20589d; border-radius: 8px; padding: 10px 12px 11px;
           box-shadow: 0 10px 28px rgba(0, 0, 0, .18); animation: is-gir .22s ease-out; }
.is-kart.bitti { border-left-color: var(--yesil, #3f8f31); }
@keyframes is-gir { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.is-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.is-baslik { font-size: 12.5px; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.is-kapat { border: 0; background: none; cursor: pointer; font-size: 17px; line-height: 1;
            color: var(--soluk); padding: 0 2px; }
.is-kapat:hover { color: var(--metin); }
.is-cubuk { height: 7px; border-radius: 999px; background: var(--gri-zemin, #e9edf2); overflow: hidden; }
.is-cubuk span { display: block; height: 100%; width: 0; background: #20589d; transition: width .35s ease; }
.is-cubuk span.belirsiz { width: 100% !important; animation: is-kayan 1.1s linear infinite;
    background: repeating-linear-gradient(115deg, #20589d 0 14px, #4d81c4 14px 28px); background-size: 200% 100%; }
.is-cubuk span.hatali { background: var(--kirmizi, #b3261e); }
@keyframes is-kayan { from { background-position: 0 0; } to { background-position: -56px 0; } }
.is-alt { display: flex; justify-content: space-between; gap: 10px; margin-top: 6px;
          font-size: 11.5px; color: var(--soluk); }
.is-alt .is-mesaj { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
@media (max-width: 720px) { .is-serit { right: 12px; left: 12px; bottom: 12px; width: auto; } }
@media (prefers-reduced-motion: reduce) { .is-cubuk span.belirsiz { animation: none; } .is-kart { animation: none; } }

/* ANYpedia toplu seçim şeridi (v1.13.2) — liste boyunca ekranın üstünde kalır,
   böylece 100+ notluk listede aşağı inerken de "Seçilenleri yayınla / sil"
   düğmelerine ulaşılır. */
.secim-serit {
  position: sticky;
  top: 8px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

/* ============================================================
   ÇALIŞMA PANELİ (1.14.3) — bir denetim dosyasında çalışırken
   sağ kenarda duran bağlam kutusu. Sağdaki sekmeye ya da
   Alt+Shift+P ile açılır; varsayılan kapalıdır ve açık/kapalı
   tercihi tarayıcıda saklanır.

   Sayfayı İTMEZ (position: fixed): mizan/muavin gibi geniş
   tablolarda yerleşim kaymasın diye içeriğin üstüne biner.
   z-index bildirim kenarından (119) yüksek, bildirim panelinden
   (130) düşük seçildi: panel açıkken sağ kenara gelmek bildirim
   merkezini kazara açmaz, zile basınca yine de üste gelir.
   ============================================================ */
.cp-tus {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%);
  z-index: 122; display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 14px 7px; border: 1px solid var(--cizgi-koyu); border-right: 0;
  border-radius: 12px 0 0 12px; background: var(--kart); color: var(--petrol);
  font: inherit; font-size: 11.5px; font-weight: 600; cursor: pointer;
  box-shadow: -6px 0 18px rgba(15,40,70,.10);
  transition: right .24s cubic-bezier(.32,.08,.24,1), background .12s, color .12s;
}
.cp-tus:hover { background: var(--amber-zemin); color: var(--petrol-3); }
.cp-tus .ikon { width: 17px; height: 17px; flex: none; color: var(--amber); }
.cp-tus-yazi { writing-mode: vertical-rl; letter-spacing: .4px; }
.cp-tus-rozet {
  min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; flex: none;
  background: #d9822b; color: #fff; font-size: 10.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.cp-tus.bekleyen { border-color: #d9822b; }
html.panel-acik .cp-tus { right: var(--panel-genislik, 320px); }

.cp-panel {
  position: fixed; right: 0; top: var(--ustbar-yukseklik); z-index: 121;
  width: var(--panel-genislik, 320px); max-width: calc(100vw - 34px);
  height: calc(100vh - var(--ustbar-yukseklik));
  background: var(--kart); border-left: 1px solid var(--cizgi-koyu);
  box-shadow: -16px 0 44px rgba(10,26,48,.20);
  display: flex; flex-direction: column; overflow: hidden;
  transform: translateX(100%); transition: transform .24s cubic-bezier(.32,.08,.24,1);
}
html.panel-acik .cp-panel { transform: translateX(0); }

.cp-baslik {
  flex: none; display: flex; align-items: center; gap: 10px;
  padding: 12px 10px 12px 14px; border-bottom: 1px solid var(--cizgi);
}
.cp-ad { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.2; }
.cp-ad strong { font-size: 13.5px; color: var(--petrol); }
.cp-ad small { font-size: 11px; color: var(--soluk); margin-top: 2px;
               overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-kapat { flex: none; border: 0; background: none; color: var(--soluk); font-size: 20px;
            line-height: 1; padding: 0 4px; cursor: pointer; }
.cp-kapat:hover { color: var(--kirmizi); }

.cp-govde { flex: 1; overflow-y: auto; padding: 4px 8px 14px; }
.cp-bolum { margin-top: 8px; }
.cp-bolum-baslik {
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
  padding: 10px 6px 4px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px; color: var(--soluk);
}
.cp-bolum-baslik a { font-size: 11px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.cp-liste { display: flex; flex-direction: column; gap: 1px; }
.cp-bos { padding: 10px 8px; color: var(--soluk); font-size: 12px; }

.cp-satir { display: flex; align-items: center; gap: 6px; padding: 7px 8px; border-radius: 8px; }
.cp-satir:hover { background: var(--satir-hover); }
.cp-satir-baglanti { text-decoration: none !important; color: var(--metin); }
.cp-satir-metin { display: flex; flex-direction: column; min-width: 0; flex: 1;
                  text-decoration: none !important; color: var(--metin); }
.cp-satir-metin strong { font-size: 12.5px; font-weight: 600;
                         overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-satir-metin small { font-size: 11px; color: var(--soluk); margin-top: 1px;
                        overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-satir.cp-sari { border-left: 3px solid var(--sari); }
.cp-satir.cp-turuncu { border-left: 3px solid #d9822b; }
.cp-satir.cp-kirmizi { border-left: 3px solid var(--kirmizi); }

/* Belge satırı iki satırlı: ad tam genişlikte, altında künye + Aç / İndir.
   Düğmeler her zaman görünür — yalnızca üzerine gelince çıkan düğme dokunmatik
   ekranda bulunamaz. */
.cp-satir-dikey { flex-direction: column; align-items: stretch; gap: 3px; }
.cp-satir-ad { font-size: 12.5px; font-weight: 600; color: var(--metin); text-decoration: none !important;
               overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-satir-ad:hover { color: var(--petrol-3); }
.cp-satir-alt { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cp-satir-alt small { font-size: 11px; color: var(--soluk); min-width: 0;
                      overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-eylem { flex: none; display: flex; align-items: center; gap: 4px; }
.cp-mini {
  border: 1px solid var(--cizgi-koyu); background: var(--kart); color: var(--petrol-3);
  font: inherit; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
  cursor: pointer; text-decoration: none !important; white-space: nowrap;
}
.cp-mini:hover { border-color: var(--amber); background: var(--amber-zemin); }
.cp-daha { display: block; padding: 7px 8px; font-size: 11.5px; font-weight: 600; }

.cp-not-bolum { display: flex; flex-direction: column; }
.cp-not-durum { font-size: 10.5px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--soluk); }
textarea.cp-not {
  width: 100%; font: inherit; font-size: 12.5px; line-height: 1.45; resize: vertical;
  min-height: 84px; padding: 8px 10px; border: 1px solid var(--cizgi-koyu);
  border-radius: 10px; background: var(--zemin); color: var(--metin);
}
textarea.cp-not:focus { outline: 2px solid rgba(0,183,227,.35); border-color: var(--amber); background: var(--kart); }

body.cam .cp-panel, body.cam .cp-tus {
  background: rgb(255 255 255 / calc(var(--cam-alfa) + .20));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  backdrop-filter: blur(calc(var(--cam-alfa) * 12px)) saturate(1.5);
  border-color: rgba(255,255,255,.6);
}
body.cam textarea.cp-not { background: rgba(255,255,255,.55); }

/* Dar ekran: panel tam genişlik kaplar, sekme açıkken tamamen kenara çekilir. */
@media (max-width: 720px) {
  .cp-panel { width: 100vw; max-width: 100vw; }
  html.panel-acik .cp-tus { right: 0; border-radius: 0 0 0 12px; top: calc(var(--ustbar-yukseklik) + 6px); transform: none; }
  .cp-tus-yazi { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-panel, .cp-tus { transition: none; }
}

/* Marka adları (ANYlytics, ANYone, ANYverse, ANYpedia) büyük harfli başlık ve etiketlerde
   de yazıldığı gibi kalır — Türkçe büyük harf dönüşümü "ANYLYTİCS" üretir.
   Sarma işi /static/olaylar.js içindeki markalariKoru(). */
.marka-ad { text-transform: none; }

/* Dış teyit (mutabakat) modülü */
.teyit-gruplar { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 14px; }
.teyit-grup { display: flex; align-items: center; gap: 8px; font-size: 13.5px; margin: 0; padding: 5px 8px; border-radius: 8px; cursor: pointer; }
.teyit-grup:hover { background: var(--satir-hover); }
.teyit-neden { font-size: 12px; color: var(--soluk); }
.teyit-neden b { color: var(--metin); font-weight: 600; }
tr.teyit-secili td { background: rgba(0,183,227,.06); }
.teyit-kart { border: 1px solid var(--cizgi); border-radius: 10px; margin: 10px 0; padding: 0; }
.teyit-kart > summary { cursor: pointer; padding: 10px 14px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; list-style: none; }
.teyit-kart > summary::-webkit-details-marker { display: none; }
.teyit-kart[open] > summary { border-bottom: 1px solid var(--cizgi); }
.teyit-kart .ic { padding: 10px 14px; }
.teyit-rakam { display: inline-flex; flex-direction: column; font-size: 11px; color: var(--soluk); margin-right: 14px; }
.teyit-rakam b { font-size: 13.5px; color: var(--metin); }
input.teyit-tutar { width: 130px; min-width: 0; text-align: right; }
table.teyit-cevap td.mono, .teyit-kart td.mono { white-space: nowrap; }
table.teyit-cevap input.teyit-tutar { width: 118px; min-width: 0; }
table.teyit-cevap input.teyit-tarih { width: 138px; min-width: 0; }
table.teyit-cevap input.teyit-not { width: 120px; min-width: 0; }
table.teyit-cevap td, table.teyit-cevap th { padding-left: 6px; padding-right: 6px; }

/* Çalışma alanı kâğıt listesi (1.15.1): grup rozeti ve grup bazlı hafif ton */
.grup-rozet { font-size: 10px; letter-spacing: .2px; }
.grup-rozet.rapor { background: rgba(32,88,157,.14); color: #20589D; border-color: rgba(32,88,157,.35); }
.grup-rozet.bilanco { background: rgba(0,183,227,.14); color: #0a6f87; border-color: rgba(0,183,227,.35); }
.grup-rozet.emisyon { background: rgba(0,183,227,.14); color: #0a6f87; border-color: rgba(0,183,227,.35); }
.grup-rozet.anlati { background: rgba(32,88,157,.14); color: #20589D; border-color: rgba(32,88,157,.35); }
.grup-rozet.metrik { background: rgba(26,157,91,.14); color: #14713f; border-color: rgba(26,157,91,.35); }
.grup-rozet.gelir { background: rgba(26,157,91,.14); color: #14713f; border-color: rgba(26,157,91,.35); }
.grup-rozet.planlama,
.grup-rozet.tamamlama { background: rgba(214,158,46,.16); color: #8a6212; border-color: rgba(214,158,46,.4); }
.grup-rozet.diger { background: rgba(120,130,145,.14); color: #5f6b78; border-color: rgba(120,130,145,.3); }
.detay-liste tr.grup-rapor td { background: rgba(32,88,157,.05); }

/* Dipnot 2 */
details.dn-std { border: 1px solid rgba(32,88,157,.18); border-radius: 10px; padding: 8px 12px; margin: 8px 0; }
details.dn-std > summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
details.dn-std > summary label.onay { margin: 0; }
.dn-std-ic { padding: 8px 0 4px 26px; }
.dn-secenek { margin: 8px 0; }
.dn-secenek .dn-etiket { display: block; font-weight: 600; margin-bottom: 4px; }
.dn-secenek label.onay { display: inline-flex; margin-right: 14px; }
.dn-secenek textarea, .dn-secenek input[type=text] { width: 100%; }
.dn-secenek table input[type=text] { width: 100%; }
.dn-belge { max-width: 900px; line-height: 1.55; }
.dn-belge h3 { margin-top: 4px; }
.dn-belge h4 { margin: 18px 0 6px; }
.dn-belge h5 { margin: 12px 0 4px; font-size: 14px; }
.dn-belge p { text-align: justify; margin: 0 0 8px; }

/* ============================================================
   ANASAYFA (2.0.0) — rol bazlı, sade cam tasarım. Tüm sınıflar "as-" önekli.
   ============================================================ */
.as-bant { position: relative; overflow: hidden; border-radius: 22px; padding: 22px 24px 20px; margin-bottom: 20px;
  background: linear-gradient(115deg, rgba(230,247,252,.9) 40%, rgba(233,244,230,.8) 100%);
  border: 1px solid rgba(255,255,255,.8); box-shadow: 0 10px 30px rgba(20,47,82,.12), inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 1px rgba(20,47,82,.07); }
body.cam .as-bant {
  background: linear-gradient(115deg, rgba(230,247,252,calc(var(--cam-alfa) * .55)) 40%, rgba(233,244,230,calc(var(--cam-alfa) * .45)) 100%),
              rgb(255 255 255 / calc(var(--cam-alfa) + .04));
  -webkit-backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7);
  backdrop-filter: blur(calc(var(--cam-alfa) * 15px)) saturate(1.7); }
.as-bant::before, .as-bant::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.as-bant::before { width: 360px; height: 360px; right: -90px; top: -170px; background: radial-gradient(circle, rgba(0,183,227,.22), rgba(0,183,227,0) 70%); }
.as-bant::after { width: 220px; height: 220px; right: 180px; bottom: -150px; background: radial-gradient(circle, rgba(91,175,72,.16), rgba(91,175,72,0) 70%); }
.as-bant-ust { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.as-bant h1 { margin: 0; font-size: 23px; font-weight: 600; color: var(--petrol); }
.as-ozet { margin: 6px 0 0; font-size: 14px; color: var(--soluk); max-width: 760px; }
.as-ozet b { color: var(--petrol); font-weight: 600; }
.as-tarih { text-align: right; color: var(--soluk); font-size: 13px; line-height: 1.3; }
.as-tarih strong { display: block; font-size: 30px; font-weight: 600; color: var(--petrol-2); line-height: 1; }
.as-kpi { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.as-kpi button { all: unset; box-sizing: border-box; cursor: pointer; border-radius: 14px; padding: 11px 15px;
  background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 4px 14px rgba(20,47,82,.07), inset 0 1px 0 rgba(255,255,255,.9); transition: background .2s, transform .2s, box-shadow .2s; }
.as-kpi button:hover { background: rgba(255,255,255,.82); transform: translateY(-2px); }
.as-kpi button:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.as-kpi button.secili { background: #fff; border-color: var(--amber); box-shadow: 0 0 0 2px rgba(0,183,227,.25); }
.as-kpi .d { display: flex; align-items: center; gap: 8px; font-size: 27px; font-weight: 600; line-height: 1.1; color: var(--petrol); }
.as-kpi .e { display: block; font-size: 12.5px; color: var(--soluk); }
.as-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.as-nokta.kirmizi { background: var(--kirmizi); } .as-nokta.sari { background: var(--sari); }

.as-izgara { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 20px; align-items: start; }
.as-izgara .kart, .as-odak { margin-bottom: 20px; }
.as-kart-bas { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.as-kart-bas h2 { margin: 0; font-size: 15.5px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--petrol); }
.as-kart-bas h2::before { display: none; }
.as-filtre { margin-left: auto; display: flex; gap: 3px; background: rgba(20,47,82,.06); padding: 3px; border-radius: 999px; }
.as-filtre button { border: 0; background: transparent; font: inherit; font-size: 12.5px; padding: 4px 11px; border-radius: 999px; color: var(--soluk); cursor: pointer; }
.as-filtre button.aktif { background: #fff; color: var(--petrol); font-weight: 600; box-shadow: 0 1px 3px rgba(20,47,82,.12); }

/* teslim takvimi */
.as-takvim { position: relative; height: 118px; margin: 4px 8px 0; }
.as-hat { position: absolute; left: 0; right: 0; top: 58px; height: 4px; border-radius: 2px;
  background: linear-gradient(90deg, rgba(185,65,46,.18) 0%, rgba(20,47,82,.08) 18%, rgba(20,47,82,.08) 100%); }
.as-hafta { position: absolute; top: 70px; font-size: 11.5px; color: var(--soluk); transform: translateX(-50%); white-space: nowrap; }
.as-hafta::before { content: ""; position: absolute; left: 50%; top: -14px; width: 1px; height: 8px; background: var(--cizgi-koyu); }
.as-bugun { position: absolute; top: 30px; bottom: 34px; width: 2px; background: var(--amber); border-radius: 1px; }
.as-bugun span { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); font-size: 11px; font-weight: 600; color: var(--petrol-3);
  background: var(--amber-zemin); padding: 1px 7px; border-radius: 999px; white-space: nowrap; }
.as-olay { position: absolute; top: 52px; transform: translateX(-50%); z-index: 1; }
.as-olay i { display: block; width: 16px; height: 16px; border-radius: 50%; border: 3px solid #fff; background: var(--petrol-3);
  box-shadow: 0 1px 4px rgba(20,47,82,.3); transition: transform .15s; }
.as-olay:hover { z-index: 2; text-decoration: none; }
.as-olay:hover i { transform: scale(1.3); }
.as-olay em { position: absolute; left: 50%; transform: translateX(-50%); font-style: normal; font-size: 11.5px; white-space: nowrap; color: var(--metin); font-weight: 500; }
.as-olay.ust em { bottom: 22px; } .as-olay.alt em { top: 44px; }
.as-olay.r-gecikti i { background: var(--kirmizi); } .as-olay.r-yakin i { background: var(--sari); } .as-olay.r-baslamadi i { background: #9aa6b4; }

/* dosya kartları */
.as-dosyalar { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.as-dosya { position: relative; display: flex; gap: 14px; align-items: center; padding: 13px 15px; border-radius: 14px; color: var(--metin);
  background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.85);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 1px rgba(20,47,82,.05); transition: box-shadow .2s, transform .2s, background .2s; }
.as-dosya:hover { background: rgba(255,255,255,.88); text-decoration: none; transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(20,47,82,.06), 0 14px 32px rgba(20,47,82,.10); }
.as-dosya[hidden] { display: none; }
.as-dosya::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--petrol-3); }
.as-dosya.r-gecikti::before { background: var(--kirmizi); } .as-dosya.r-yakin::before { background: var(--sari); }
.as-dosya.r-baslamadi::before, .as-dosya.r-tarihsiz::before { background: var(--cizgi-koyu); }
.as-d-bilgi { flex: 1; min-width: 0; }
.as-d-ad { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.as-d-alt { font-size: 12.5px; color: var(--soluk); margin-top: 1px; }
.as-d-alt2 { display: flex; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.as-sonraki { font-size: 12.5px; color: var(--petrol-3); }
.as-ekip { display: flex; align-items: center; margin-left: auto; }
.as-ekip > span[title] { width: 25px; height: 25px; border-radius: 50%; border: 2px solid rgba(255,255,255,.95); margin-left: -5px;
  font-size: 10px; font-weight: 600; color: #fff; display: flex; align-items: center; justify-content: center; }
.as-ekip > span[title]:first-child { margin-left: 0; }
.as-pil { display: inline-block; font-size: 11.5px; padding: 2px 9px; border-radius: 999px; white-space: nowrap; font-weight: 500; line-height: 1.5; }
.as-pil.kirmizi { background: var(--kirmizi-zemin); color: var(--kirmizi); }
.as-pil.sari { background: var(--sari-zemin); color: var(--sari); }
.as-pil.turuncu { background: #fdeedd; color: #b4601a; }
.as-pil.mavi { background: var(--amber-zemin); color: var(--petrol-3); }
.as-pil.yesil { background: var(--yesil-zemin); color: var(--yesil); }
.as-pil.gri { background: rgba(20,47,82,.06); color: var(--soluk); }
.as-pil.etiket { background: rgba(255,255,255,.7); color: var(--petrol-2); box-shadow: inset 0 0 0 1px rgba(20,47,82,.14); }
/* önem skalası (etiketlerden): halka açık / SPK gibi kritik işler kırmızı, yüksek turuncu */
.as-dosya.onem-kritik .as-d-ad { color: var(--kirmizi); }
.as-dosya.onem-kritik .as-pil.etiket { color: var(--kirmizi); box-shadow: inset 0 0 0 1px rgba(185,65,46,.35); }
.as-dosya.onem-yuksek .as-d-ad { color: #c05f17; }
.as-dosya.onem-yuksek .as-pil.etiket { color: #c05f17; box-shadow: inset 0 0 0 1px rgba(192,95,23,.3); }

/* ekip: öncelikli iş */
.as-odak { display: flex; gap: 20px; align-items: center; }
body.cam .kart.as-odak, .kart.as-odak { background: linear-gradient(120deg, rgba(255,255,255,.72) 0%, rgba(230,247,252,.6) 100%); }
.as-odak h3 { margin: 2px 0 2px; font-size: 19px; color: var(--petrol); }
.as-odak-bilgi { flex: 1; min-width: 0; }
.as-odak-eylem { margin-left: auto; display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.as-etiket { font-size: 11.5px; letter-spacing: .6px; text-transform: uppercase; color: var(--petrol-3); font-weight: 600; }

/* sağ sütun */
.as-liste { display: flex; flex-direction: column; gap: 2px; }
.as-satir { display: flex; align-items: center; gap: 10px; padding: 8px; margin: 0 -8px; border-radius: 10px; color: var(--metin); transition: background .15s; line-height: 1.35; }
a.as-satir:hover, button.as-satir:hover { background: rgba(255,255,255,.65); text-decoration: none; }
.as-satir .ad { font-weight: 500; color: var(--metin); }
.as-satir .alt { font-size: 12.5px; color: var(--soluk); }
.as-sag { margin-left: auto; white-space: nowrap; }
.as-mono { flex: none; width: 32px; height: 32px; border-radius: 10px; background: rgba(255,255,255,.75); border: 1px solid rgba(20,47,82,.06);
  color: var(--petrol-3); font-size: 11.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
form.as-satir-form { display: block; }
button.as-satir { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 10px; width: calc(100% + 16px); padding: 8px; margin: 0 -8px; border-radius: 10px; cursor: pointer; }
.as-satir.as-kur { padding-top: 6px; padding-bottom: 6px; }
details.as-acilir > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; font-size: 15.5px; font-weight: 600; color: var(--petrol); }
details.as-acilir > summary::-webkit-details-marker { display: none; }
details.as-acilir > summary::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid var(--soluk); border-bottom: 2px solid var(--soluk);
  transform: rotate(45deg); transition: transform .2s; }
details.as-acilir[open] > summary::after { transform: rotate(-135deg); }
.as-cipler { display: flex; flex-wrap: wrap; gap: 8px; }
.as-cip { display: inline-flex; align-items: center; padding: 5px 11px; border-radius: 999px; font-size: 13px; color: var(--metin);
  background: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.85); box-shadow: 0 0 0 1px rgba(20,47,82,.05); transition: background .15s; }
.as-cip:hover { background: var(--amber-zemin); text-decoration: none; }
.as-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.as-mini div { background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.8); border-radius: 12px; padding: 9px 12px; }
.as-mini b { display: block; font-size: 21px; color: var(--petrol); font-weight: 600; }
.as-mini small { display: block; font-size: 12px; color: var(--soluk); line-height: 1.3; }

@media (max-width: 1150px) { .as-izgara { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .as-dosyalar { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .as-kpi { grid-template-columns: repeat(2, 1fr); }
  .as-hafta.cift { display: none; }
  .as-odak { flex-wrap: wrap; } .as-odak-eylem { margin-left: 0; align-items: flex-start; }
  .as-tarih { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .as-kpi button, .as-dosya, .as-olay i { transition: none; } }

/* ============================================================
   MÜŞTERİ PORTALI SAYFASI (2.0.1) — müşteri seçimi ve panel ("pz-")
   ============================================================ */
.rozet.turuncu { background: #fdeedd; color: #b4601a; }
.pz-secim { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; }
.pz-secim label { margin: 0; font-weight: 600; color: var(--petrol); }
.pz-secim select { min-width: 320px; max-width: 100%; }
.pz-secim > a { margin-left: auto; }
.pz-islem { white-space: nowrap; }
.pz-islem > form, .pz-islem > details, .pz-islem > a { display: inline-block; vertical-align: top; margin: 2px 4px 2px 0; }
details.pz-acilir > summary { list-style: none; cursor: pointer; }
details.pz-acilir > summary::-webkit-details-marker { display: none; }
details.pz-acilir[open] { display: block; }
.pz-acilir-form { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; min-width: 260px; max-width: 340px; white-space: normal; text-align: left; }
.pz-acilir-form label { margin: 0; }
.pz-acilir-form button { align-self: flex-start; }
.pz-cubuk { height: 8px; border-radius: 4px; background: var(--cizgi); overflow: hidden; margin-top: 6px; }
.pz-cubuk > div { height: 100%; }
@media (max-width: 700px) { .pz-secim select { min-width: 0; width: 100%; } .pz-secim > a { margin-left: 0; } }

/* ============================================================
   KALİTE YÖNETİMİ (2.0.2) — inceleme notları, izlenebilirlik ("kn-", "iz-")
   ============================================================ */
.kn-not { border: 1px solid rgba(20,47,82,.08); border-left: 3px solid var(--kirmizi); border-radius: 12px;
  padding: 10px 14px; margin-bottom: 10px; background: rgba(255,255,255,.55); }
.kn-not.kn-cevaplandi { border-left-color: var(--sari); }
.kn-not.kn-kapandi { border-left-color: var(--yesil); opacity: .85; }
.kn-metin { white-space: pre-wrap; margin-top: 6px; line-height: 1.5; }
.kn-cevap { margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(20,47,82,.04); white-space: pre-wrap; }
details.kn-acilir { display: inline-block; vertical-align: top; }
details.kn-acilir > summary { list-style: none; cursor: pointer; }
details.kn-acilir > summary::-webkit-details-marker { display: none; }
details.kn-acilir[open] { display: block; width: 100%; }
tr.iz-bosluk > td { background: rgba(185,65,46,.05); }
#kalite-seridi .kagit-pil .rozet { margin-right: 4px; }

/* Yüklü verinin yanında yerinde düzeltme (dosya sayfası, 2. evre kartları) */
.veri-duzelt { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; vertical-align: middle; }
.veri-duzelt form { display: inline; margin: 0; }
.veri-degistir { display: inline-block; cursor: pointer; font-size: .78rem; font-weight: 600;
  color: inherit; text-decoration: underline; text-underline-offset: 2px; padding: 0 2px; margin: 0; }
.veri-degistir:hover { opacity: .75; }
.veri-kaldir { border: 0; background: transparent; cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 4px;
  color: var(--kirmizi, #c0392b); border-radius: 4px; }
.veri-kaldir:hover { background: var(--kirmizi-zemin, #fbe3df); }

/* Bekleme göstergesi (2.0.6): sayfanın üstünde ince çubuk — /static/ilerleme.js */
.ust-ilerleme { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 2000; pointer-events: none;
                opacity: 0; transition: opacity .25s; }
.ust-ilerleme.acik { opacity: 1; }
.ust-ilerleme span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #20589d, #00b7e3);
                     box-shadow: 0 0 8px rgba(0, 183, 227, .55); transition: width .3s ease; border-radius: 0 2px 2px 0; }
.ust-ilerleme.bitti { opacity: 0; transition: opacity .35s .15s; }
.bekleme-karti .is-baslik { white-space: normal; }
@media (prefers-reduced-motion: reduce) { .ust-ilerleme span { transition: none; } }

/* Kapatılana kadar kalan uyarı kutusu (2.0.6) — yüklenen verinin yeri/dönemi şüpheliyse */
.kalici-uyari-zemin { position: fixed; inset: 0; z-index: 1900; background: rgba(10, 25, 45, .45);
                      display: flex; align-items: center; justify-content: center; padding: 16px; }
.kalici-uyari { background: var(--kart, #fff); color: var(--metin); border-radius: 12px; border-top: 5px solid var(--kirmizi, #b3261e);
                max-width: 620px; width: 100%; padding: 18px 22px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); }
.kalici-uyari h2 { margin: 0 0 10px; font-size: 1.05rem; color: var(--kirmizi, #b3261e); }
.kalici-uyari ul { margin: 0 0 12px 18px; padding: 0; }
.kalici-uyari li { margin-bottom: 8px; line-height: 1.45; }
.is-mesaj .is-ac { font-weight: 600; margin-left: 4px; }

/* ANYone yapay zekâ cevabı (2.0.7) */
.anyone-yz-cevap { white-space: pre-wrap; line-height: 1.5; font-size: 13.5px; margin: 2px 0 6px;
                   padding: 8px 10px; border-radius: 8px; background: var(--zemin, #f4f7fb); border: 1px solid var(--cizgi); }
.anyone-yz-not { margin-bottom: 6px; }

/* ANYone yapay zekâ önerileri (2.0.7) — static/asistan.js */
.asistan-btn { margin-left: 4px; }
.asistan-oneri { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--cizgi-koyu); border-left: 4px solid #6a4fb3;
                 border-radius: 8px; background: var(--kart, #fff); max-width: 960px; }
.asistan-oneri-ust { margin-bottom: 6px; }
.asistan-oneri-metin { white-space: pre-wrap; line-height: 1.5; }
.asistan-oneri-arac { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.asistan-hata { border-left-color: var(--kirmizi, #b3261e); display: flex; justify-content: space-between; gap: 10px; }
.asistan-oneri-girdi { background: #fff7d6 !important; border-color: #d9a400 !important; }
.asistan-pencere-zemin { position: fixed; inset: 0; z-index: 1900; background: rgba(10, 25, 45, .45);
                         display: flex; align-items: center; justify-content: center; padding: 16px; }
.asistan-pencere { background: var(--kart, #fff); color: var(--metin); border-radius: 12px; max-width: 760px; width: 100%;
                   max-height: 86vh; overflow: auto; padding: 16px 22px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
                   border-top: 5px solid #6a4fb3; }
.asistan-pencere-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.asistan-pencere-ust h2 { margin: 0 0 6px; font-size: 1.05rem; overflow-wrap: anywhere; }
.asistan-pencere-ic h3 { margin: 14px 0 4px; font-size: .92rem; }
.asistan-pencere-ic ul { margin: 0 0 0 18px; padding: 0; }
.asistan-pencere-ic li { margin-bottom: 4px; line-height: 1.45; }

/* e-Belgeler: fatura dağılımı (2.0.8) */
.dagilim { display: flex; flex-direction: column; gap: 4px; }
.dagilim-grup > summary { display: grid; grid-template-columns: minmax(150px, 1.4fr) 2fr 56px minmax(110px, auto);
  align-items: center; gap: 10px; cursor: pointer; list-style: none; padding: 5px 4px; border-radius: 6px; }
.dagilim-grup > summary::-webkit-details-marker { display: none; }
.dagilim-grup > summary:hover { background: var(--gri-zemin); }
.dagilim-ad { font-size: 13px; }
.dagilim-cubuk { display: block; height: 9px; border-radius: 999px; background: var(--gri-zemin); overflow: hidden; }
.dagilim-cubuk > span { display: block; height: 100%; border-radius: 999px; background: var(--petrol-3); }
.dagilim-oran { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.dagilim-tutar { text-align: right; font-size: 12.5px; color: var(--soluk); font-variant-numeric: tabular-nums; }
.dagilim-ayrinti { padding: 4px 6px 10px 10px; border-left: 2px solid var(--gri-zemin); margin: 2px 0 6px 6px; }
.kucuk-tablo { font-size: 12.5px; margin-top: 6px; }
.kucuk-tablo th, .kucuk-tablo td { padding: 3px 6px; }
@media (max-width: 640px) {
  .dagilim-grup > summary { grid-template-columns: 1fr 52px; }
  .dagilim-cubuk, .dagilim-tutar { grid-column: 1 / -1; }
}

/* Yüklemenin adını değiştirme (2.1.2): adın yanında kalem; açılınca satır içi form */
.ad-duzenle { display: inline-block; vertical-align: middle; margin-left: 4px; }
.ad-duzenle > summary { list-style: none; cursor: pointer; display: inline-flex; color: var(--soluk); padding: 2px; border-radius: 6px; }
.ad-duzenle > summary::-webkit-details-marker { display: none; }
.ad-duzenle > summary:hover, .ad-duzenle[open] > summary { color: var(--petrol-3); background: var(--satir-hover); }
.ad-duzenle > summary .ikon { width: 13px; height: 13px; }
.ad-duzenle[open] { display: inline; }
.ad-duzenle-form { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0; }
.ad-duzenle-form input[type=text] { flex: 1; min-width: 220px; font-size: 13px; }
.ad-duzenle-form p { flex-basis: 100%; margin: 2px 0 0; }
.yuklemeler .yukleme-ad { display: block; padding: 1px 0; }

/* Master › Not önerileri (2.1.2) */
.oneri-satir { border-bottom: 1px solid var(--cizgi); padding: 8px 0; }
.oneri-satir > summary { cursor: pointer; }
.oneri-varsayilan { white-space: pre-wrap; font: inherit; font-size: 12.5px; color: var(--soluk); background: var(--baslik-zemin);
                    border-radius: 8px; padding: 8px 10px; margin: 0 0 8px; max-height: 220px; overflow: auto; }
textarea[name="notu"]::placeholder { color: var(--soluk); opacity: .75; font-style: italic; }
.kdk-aday { border-bottom: 1px solid var(--cizgi); padding: 8px 0; }
.kdk-aday > summary { cursor: pointer; }
details.ret-detay { display: inline-block; vertical-align: middle; }
details.ret-detay > summary { list-style: none; display: inline-block; }
details.ret-detay > summary::-webkit-details-marker { display: none; }
details.ret-detay[open] { display: block; margin-top: 6px; }

/* Özel gün simgeleri (2.1.2): resmi tatillerde takvimde, bildirim takviminde ve anasayfa tarihinde */
svg.ozel-gun { width: 18px; height: 18px; vertical-align: -4px; margin-left: 4px; flex: none; }
.takvim-gun-no svg.ozel-gun { width: 20px; height: 20px; align-self: center; margin-left: 0; }
.bp-takvim-gun { position: relative; }
.bp-takvim-gun svg.ozel-gun { position: absolute; top: 1px; right: 1px; width: 11px; height: 11px; margin: 0; }
.as-tarih-ust { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.as-tarih svg.ozel-gun.buyuk { width: 34px; height: 34px; margin: 0; }
/* 10 Kasım (2.1.3): tarih bölümünün yanında soluk Atatürk silüeti ve 193 ve sonsuzluk amblemi; dar ekranda gizlenir */
.as-tarih.gun-kurdele { position: relative; isolation: isolate; }
.as-anma-siluet { position: absolute; z-index: -1; right: 212px; top: -10px; height: 112px; aspect-ratio: 1122 / 1326;
  background: var(--metin); opacity: .20; pointer-events: none;
  -webkit-mask: url("/static/ataturk-siluet.svg") no-repeat center / contain; mask: url("/static/ataturk-siluet.svg") no-repeat center / contain; }
.as-anma-zemin { position: absolute; z-index: -1; right: 330px; top: 8px;
  height: 72px; width: auto; aspect-ratio: 372 / 100; color: var(--metin); opacity: .08; pointer-events: none; }
@media (max-width: 1100px) { .as-anma-zemin { display: none; } }
@media (max-width: 700px) { .as-anma-siluet { display: none; } }
.as-ozel-ad { display: block; font-size: 12px; color: var(--petrol-3); font-weight: 600; margin-top: 2px; }

/* ============================================================
   CAM TUTARLILIĞI (2.1.6) — cam kartın içindeki karolar (anasayfa sayı kutuları, dosya kartları, mini
   kutular, sekmeler, kâğıt pilleri) sabit beyaz yerine kullanıcının cam ayarına (--cam-alfa) göre
   saydamlaşır; üzerine gelince ya da seçilince opak beyaza dönmez, bir ton koyulaşır. Koyu cam
   kuralları (koyu.css) ayrıdır; bu blok yalnız açık camda geçerlidir.
   ============================================================ */
html:not(.koyu-cam) body.cam .as-kpi button, html:not(.koyu-cam) body.cam .as-dosya, html:not(.koyu-cam) body.cam .as-mini div, html:not(.koyu-cam) body.cam .as-cip,
html:not(.koyu-cam) body.cam .dosya-kagitlar, html:not(.koyu-cam) body.cam .kagit-pil, html:not(.koyu-cam) body.cam .sekmeler a:not(.aktif) {
  background: rgb(255 255 255 / calc(var(--cam-alfa) * .3));
  border-color: rgba(255,255,255,.62);
  box-shadow: 0 4px 14px rgba(20,47,82,.06), inset 0 1px 0 rgba(255,255,255,.75);
}
html:not(.koyu-cam) body.cam .as-kpi button:hover, html:not(.koyu-cam) body.cam .as-dosya:hover, html:not(.koyu-cam) body.cam .as-cip:hover,
html:not(.koyu-cam) body.cam .kagit-pil:hover, html:not(.koyu-cam) body.cam .sekmeler a:not(.aktif):hover {
  background: rgb(255 255 255 / calc(var(--cam-alfa) * .3 + .14));
}
html:not(.koyu-cam) body.cam .as-kpi button.secili { background: rgb(255 255 255 / calc(var(--cam-alfa) * .3 + .22)); }
html:not(.koyu-cam) body.cam .as-filtre button.aktif { background: rgb(255 255 255 / calc(var(--cam-alfa) * .3 + .3)); }
html:not(.koyu-cam) body.cam .as-pil.etiket, html:not(.koyu-cam) body.cam .as-mono { background: rgb(255 255 255 / calc(var(--cam-alfa) * .3 + .1)); }
html:not(.koyu-cam) body.cam .kart.as-odak {
  background: linear-gradient(120deg, rgb(255 255 255 / calc(var(--cam-alfa) + .1)) 0%,
                                      rgb(230 247 252 / calc(var(--cam-alfa) + .02)) 100%);
}

/* Hızlı erişim açılır kartı (2.1.7): uzun müşteri/dosya adları kartın dışına taşmaz, simge ayrı satıra
   düşmez; ad tek satırda kalır, sığmayan kısmı "…" ile kısalır (tam adı üzerine gelince görünür). */
html.menu-kapali .hizli-erisim-liste { width: 340px; max-width: calc(100vw - var(--menu-dar) - 40px); box-sizing: border-box; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-cift { min-width: 0; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir, html.menu-kapali .hizli-erisim-liste .hizli-erisim-bos {
  /* liste daraltılmış menüde gövdeye taşındığı için .menu a kuralları burada geçmez; aynısı burada verilir */
  display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; min-width: 0; overflow: hidden; white-space: nowrap;
  padding: 7px 10px; border-radius: 8px; color: var(--petrol); text-decoration: none !important; transition: background .12s;
}
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir:hover,
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir.aktif { background: var(--satir-hover); }
html.menu-kapali .hizli-erisim-liste .ikon { width: 16px; height: 16px; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-bos { color: var(--soluk); }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir .ikon { flex: none; }
html.menu-kapali .hizli-erisim-liste .hizli-erisim-satir .kes {
  display: block; flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
html.menu-kapali .hizli-erisim-liste .hizli-kagit { flex: none; }

/* Çalışma alanı seçici (2.2.0): üst bantta Audit / TSRS */
.alan-secici { display: flex; gap: 3px; margin-left: 14px; padding: 3px; border-radius: 999px; background: rgba(20,47,82,.07); flex: none; }
.alan-secici a { padding: 4px 13px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--soluk); text-decoration: none !important; letter-spacing: .3px; }
.alan-secici a:hover { color: var(--petrol); }
.alan-secici a.aktif { background: var(--petrol-2); color: #fff; box-shadow: 0 1px 4px rgba(20,47,82,.2); }
html.koyu-cam .alan-secici { background: rgba(255,255,255,.07); }
@media (max-width: 880px) { .alan-secici { margin-left: 6px; } .alan-secici a { padding: 4px 9px; } }

/* TSRS (2.2.0) */
.tsrs-ref { font-family: var(--mono, ui-monospace, monospace); font-weight: 700; color: var(--kirmizi); white-space: nowrap; text-decoration: none; }
a.tsrs-ref:hover { text-decoration: underline; }
.tsrs-imza { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 6px 0 12px; }
.tsrs-tablo td { vertical-align: top; }
.tsrs-tablo textarea { width: 100%; min-width: 220px; min-height: 64px; font: inherit; font-size: 13px; }
.tsrs-tablo select { min-width: 130px; }
.tsrs-tablo input[type=text] { width: 100%; min-width: 110px; }
.tsrs-gereklilik { font-size: 12.5px; color: var(--soluk); margin-top: 4px; }
.tsrs-rehber { font-size: 12px; margin-top: 6px; padding: 6px 8px; border-left: 3px solid var(--amber); background: var(--amber-zemin); border-radius: 4px; }
.tsrs-oneri { font-size: 12px; margin-top: 6px; padding: 6px 8px; border-left: 3px solid var(--yesil); background: var(--yesil-zemin); border-radius: 4px; }
.tsrs-cubuk { height: 8px; border-radius: 4px; background: rgba(20,47,82,.08); overflow: hidden; display: flex; }
.tsrs-cubuk span { display: block; height: 100%; }
.tsrs-cubuk .y { background: var(--yesil); } .tsrs-cubuk .s { background: var(--sari); } .tsrs-cubuk .k { background: var(--kirmizi); } .tsrs-cubuk .g { background: #9aa6b4; }
.tsrs-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.tsrs-izgara .kart { margin: 0; }

/* 2.2.1 — TSRS modül Excel düğmeleri, çıktı grupları ve araçlar */
.tsrs-dugmeler { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 12px; }
.tsrs-dugmeler .btn .ikon { width: 14px; height: 14px; margin-right: 4px; vertical-align: -2px; }
.btn .ikon { width: 15px; height: 15px; margin-right: 5px; vertical-align: -2px; }
.tsrs-cikti-grup { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 8px 0; }
.tsrs-cikti-grup > div { display: flex; flex-direction: column; gap: 4px; }
.tsrs-cikti-grup a { font-size: 13.5px; }
.arac-grup { margin-top: 18px; }
.arac-tablo td { vertical-align: top; }
.arac-tablo th { white-space: normal; vertical-align: bottom; line-height: 1.25; }
.arac-ayar-genis { flex: 1; }
.arac-ayar-genis input { width: 100%; }
.arac-tablo input[type=text], .arac-tablo select { width: 100%; }
.arac-tablo td.t-sayi input { text-align: right; }
.arac-tablo td.ops-kol input { min-width: 78px; }
.arac-tablo .ops-kol { display: none; }
.arac-tablo.ops-acik .ops-kol { display: table-cell; }
.arac-tablo td.sonuc { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; background: rgba(20,47,82,.04); }
.arac-tablo th.sonuc { text-align: right; }
.arac-tablo tfoot td, .arac-tablo tfoot th { font-weight: 700; border-top: 1px solid rgba(20,47,82,.25); }
.arac-uyari { color: var(--kirmizi); font-size: 12px; }
.arac-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 12px 0; }
.arac-sil { background: none; border: 0; cursor: pointer; color: var(--soluk); font-size: 16px; padding: 2px 6px; }
.arac-sil:hover { color: var(--kirmizi); }

/* 2.2.2 — çalışma kâğıdı REF bağlantıları */
.ck-satir { font-size: 12px; margin-top: 3px; }
.ck-satir .tsrs-ref { font-size: 12px; }
.ck-ekle { font-size: 11.5px; white-space: nowrap; }
