/* pyKas kabuğu (komut 06): üst çubukta modül ve şirket seçici. Yalnız tasarım sistemi değişkenleri (tokens.css). */
.pk-menu { position: relative; }
.pk-menu > summary { list-style: none; }
.pk-menu > summary::-webkit-details-marker { display: none; }
.pk-switch { font: inherit; display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px;
  border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); color: var(--ink);
  cursor: pointer; white-space: nowrap; text-align: left; }
.pk-switch:hover { background: var(--surface-hover); }
.pk-switch:focus-visible { outline: 2px solid var(--focus-ring, var(--primary)); outline-offset: 2px; }
.pk-switch small { display: block; font-size: 11px; line-height: 14px; color: var(--ink-muted); font-weight: 500; }
.pk-switch b { display: block; font-weight: 600; line-height: 16px; max-width: 220px; overflow: hidden;
  text-overflow: ellipsis; }
.pk-menu-list { position: absolute; top: calc(100% + 6px); left: 0; z-index: 60; min-width: 260px; max-height: 70vh;
  overflow: auto; margin: 0; padding: 6px; list-style: none; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .12)); }
.pk-menu-list a, .pk-menu-list button { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px;
  border: 0; border-radius: var(--radius-md); background: none; color: var(--ink); font: inherit; text-align: left;
  text-decoration: none; cursor: pointer; }
.pk-menu-list a:hover, .pk-menu-list button:hover { background: var(--surface-hover); }
.pk-menu-list [aria-current="true"] { font-weight: 600; background: var(--surface-sunken); }
.pk-menu-group { padding: 8px 10px 4px; font-size: 11px; font-weight: 600; letter-spacing: .04em;
  text-transform: uppercase; color: var(--ink-muted); }
.pk-menu-list form { margin: 0; }
@media (max-width: 720px) { .pk-switch small { display: none; } .pk-switch b { max-width: 120px; } }

/* Modüllerin dilim renkleri (logo ailesi; komut 13 · FE1 düzeltmesi). Açık ve koyu tema; yalnız modül seçicideki
   simgede kullanılır. Kırmızı Turquality'nin marka rengidir, arayüzde hata anlamı taşımaz (modül simgesi dışında
   kullanılmaz). */
:root, [data-theme="light"] {
  --arge-dilim: #0E7490; --fh-dilim: #6D28D9; --hibe-dilim: #15803D; --akademik-dilim: #A16207;
  --turquality-dilim: #B91C1C;
}
[data-theme="dark"] {
  --arge-dilim: #22A6C3; --fh-dilim: #8B5CF6; --hibe-dilim: #22A355; --akademik-dilim: #D29A1E;
  --turquality-dilim: #E04646;
}
.fh-dilim, .pk-dilim-fikri_haklar { color: var(--fh-dilim); }
.pk-dilim-arge { color: var(--arge-dilim); }
.pk-dilim-hibe { color: var(--hibe-dilim); }
.pk-dilim-akademik, .pk-dilim-akademik_firma { color: var(--akademik-dilim); }
.pk-dilim-turquality { color: var(--turquality-dilim); }

/* Komut 21d · 9 · logolar (SVG, saydam): etkin modülün logosu (accounts.modules.logo_for). Her logo iki görselle
   basılır; tema hem data-theme (kullanıcının seçimi) hem prefers-color-scheme (sistem) ile çözülür. Yatay logolar
   72 px'e göre çizilmiştir; kabukta 36 px yükseklikle ölçeklenir. Dar alanlarda (mobil üst çubuk) yalnız işaret. */
.pk-logo { display: block; height: 36px; width: auto; max-width: 100%; flex: none; }
.pk-logo-lg { height: 72px; margin: 0 auto; }
.pk-logo-modul.pk-logo-lg { height: 56px; }
.pk-logo-isaret { height: 36px; width: auto; }
.pk-logo-tam, .pk-logo-dar { display: inline-flex; align-items: center; }
.pk-logo-dar { display: none; }
.logo-koyu { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-acik { display: none; }
  :root:not([data-theme="light"]) .logo-koyu { display: block; }
}
:root[data-theme="dark"] .logo-acik { display: none; }
:root[data-theme="dark"] .logo-koyu { display: block; }
.tq-topbar .tq-brand { align-self: center; display: inline-flex; align-items: center; }
.tq-topbar .pk-logo { height: 36px; }
@media (max-width: 720px) {
  .tq-topbar .pk-logo-tam { display: none; }
  .tq-topbar .pk-logo-dar { display: inline-flex; }
  .tq-topbar .pk-logo { height: 32px; }
}

/* Komut 21b · detay ekranları (Ar-Ge proje, Fikri Haklar dosya): sekme şeridi, anahtar-değer ızgarası, boş durum,
   taşma menüsü. Yalnız tasarım sistemi değişkenleri. */
/* Alt çizgi kenarlık değil iç gölge: sekmenin -1px kaydırması yatay kaydırılan şeritte dikey taşma (kaydırma
   çubuğu) üretiyordu. Sekme şeridin içinde kalır, seçili sekmenin çizgisi gölgenin üstüne biner. */
.pk-sekmeler { padding: 0 var(--space-5); box-shadow: inset 0 -1px 0 var(--line); }
.pk-sekmeler .tq-tab { margin-bottom: 0; }
.pk-sekmeler .tq-tabs { border-bottom: 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-behavior: smooth;
  box-shadow: inset 0 -1px 0 var(--line);
  scrollbar-width: thin; scrollbar-color: var(--line) transparent; scroll-padding-inline: 48px;
  /* kenar gölgesi: kaydırılabilir içerik kenarda kalınca görünür */
  background: linear-gradient(to right, var(--surface) 40%, transparent) left / 32px 100% no-repeat local,
    linear-gradient(to left, var(--surface) 40%, transparent) right / 32px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, var(--line-strong), transparent) left / 10px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, var(--line-strong), transparent) right / 10px 100% no-repeat scroll; }
.pk-sekmeler .tq-tabs:focus-visible { outline: 2px solid var(--focus-ring, var(--primary)); outline-offset: -2px; }
.pk-sekmeler .tq-tab { padding-inline: var(--space-3); }
.pk-sekmeler .tq-tab .tq-badge, .pk-sekmeler .tq-tab .tq-count { font-size: 11px; line-height: 14px; padding: 1px 6px; }
.pk-sekmeler .tq-tab:focus-visible { outline: 2px solid var(--focus-ring, var(--primary)); outline-offset: -2px; }
@media (max-width: 720px) { .pk-sekmeler { padding: 0 var(--space-2); } }

.pk-kv { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: var(--space-3) var(--space-4); margin: 0; }
.pk-kv dt { color: var(--ink-muted); font-size: 13px; line-height: 20px; }
.pk-kv dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; min-width: 0; }
.pk-kv dd .tq-cell-sub { font-weight: 400; }
@media (max-width: 560px) {
  .pk-kv { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .pk-kv dd { margin-bottom: var(--space-3); }
}
.pk-blok { display: flex; flex-direction: column; gap: var(--space-5); }
.pk-blok > section > h3, .pk-blok > div > h3 { margin: 0 0 var(--space-1); }
.pk-metin { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.pk-bos { margin: 0; color: var(--ink-muted); font-weight: 400; }
.pk-bos a { font-weight: 600; }

.pk-baslik-ust { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.pk-geri { display: inline-flex; align-items: center; gap: var(--space-1); font-weight: 600; text-decoration: none; }
.pk-alt-bilgi { margin: var(--space-1) 0 0; color: var(--ink-muted); }
.pk-alt-bilgi > span + span::before { content: "·"; margin: 0 var(--space-2); }

.pk-tasma > summary { list-style: none; }
.pk-tasma > summary::-webkit-details-marker { display: none; }
.pk-menu-list.pk-sag { left: auto; right: 0; }
.pk-menu-list .pk-menu-form { padding: var(--space-3); display: grid; gap: var(--space-3); }
.pk-menu-list .pk-menu-form button { justify-content: center; }
.pk-menu-list hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-1) 0; }
.pk-menu-list .pk-tehlike { color: var(--danger); }

.pk-tablo-cerceve { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow-x: auto; }
.tq-table td.tq-num, .tq-table th.tq-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pk-zaman-cizgisi { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
.pk-zaman-cizgisi > li { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--space-3);
  padding-bottom: var(--space-4); }
.pk-zaman-cizgisi > li::before { content: ""; position: absolute; left: 9px; top: 14px; bottom: 0; width: 2px;
  background: var(--line); }
.pk-zaman-cizgisi > li:last-child::before { display: none; }
.pk-zaman-cizgisi .pk-nokta { width: 12px; height: 12px; margin: 4px 0 0 4px; border-radius: 50%; background: var(--line-strong);
  position: relative; z-index: 1; }
.pk-zaman-cizgisi .pk-nokta.ok { background: var(--success); }
.pk-zaman-cizgisi .pk-nokta.on { background: var(--primary); }

/* Komut 21b · VA: "kullanıcının gözünden gör" şeridi sayfanın üstünde sabit ve belirgin */
.tq-viewas.pk-gozunden { position: sticky; top: 0; left: auto; bottom: auto; transform: none; z-index: 80; width: 100%;
  max-width: none; justify-content: center; border-radius: 0; border-width: 0 0 2px; padding: var(--space-2) var(--space-4);
  font-size: 14px; }
@media (max-width: 760px) { .tq-viewas.pk-gozunden { bottom: auto; border-radius: 0; } }

/* Komut 21d · yetki matrisi */
.pk-matris th, .pk-matris td { vertical-align: top; }
.pk-matris .pk-matris-eylem { position: sticky; left: 0; background: var(--surface); min-width: 260px; max-width: 340px; z-index: 1; text-align: left; font-weight: 500; }
.pk-matris .pk-matris-eylem .tq-cell-sub { display: block; font-weight: 400; }
.pk-matris .pk-matris-sutun { min-width: 84px; font-size: 12px; line-height: 16px; text-align: center; }
.pk-matris .pk-matris-sutun span { display: block; }
.pk-matris .pk-matris-hucre { text-align: center; }
.pk-matris .pk-matris-degisik { background: var(--attention-soft); }
.pk-matris-kutu { display: inline-flex; padding: var(--space-2); cursor: pointer; }
.pk-matris-kutu input { width: 18px; height: 18px; }
.pk-ozet-kartlari { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-3); margin-bottom: var(--space-4); }
.pk-ozet-kart { display: flex; flex-direction: column; gap: 4px; padding: var(--space-4); color: inherit; text-decoration: none; }
.pk-ozet-kart:hover { background: var(--surface-hover); }
.pk-ozet-sayi { font-size: 28px; line-height: 32px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pk-lisans-grup th { background: var(--surface-sunken); font-weight: 600; }
.pk-lisans-hucre { min-width: 160px; }
.pk-lisans-hucre .pk-tarih { margin-top: 4px; width: 100%; }
.pk-lisans-acik { background: var(--success-soft); }
.pk-lisans-kutu { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; }
.pk-form-alt { display: grid; gap: var(--space-2); max-width: 720px; }
.pk-liste-duz { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
/* Komut 21d · BG: modül ve şirket seçici, sol menü şirket logosu */
.pk-menu-list a, .pk-menu-list button { display: flex; align-items: center; gap: var(--space-2); }
.pk-menu-list .pk-menu-ad { flex: 1 1 auto; min-width: 0; }
.pk-menu-list button .tq-cell-sub { margin-left: auto; white-space: nowrap; }
.pk-menu-ayrac { height: 1px; margin: 4px 0; background: var(--line); }
.pk-sirket-logo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.pk-sirket-harf { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-md, 8px);
  background: var(--surface-sunken); color: var(--ink); font-weight: 700; font-size: 14px; letter-spacing: .02em; }
.pk-sirket-ad { font-weight: 600; font-size: 13px; line-height: 18px; overflow-wrap: anywhere; }
.pk-sirket-isaret img { height: 36px; width: auto; }
/* Komut 21d · 8: kullanıcının gözünden sayfası (1280 px'te yatay kaydırma yok) */
.va-suzgec { flex-wrap: wrap; }
.va-aciklama summary { cursor: pointer; }
.va-aciklama-ic { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-4); }
.va-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.va-izgara { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-3); }
.va-kart { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); min-width: 0; }
.va-kisi { display: flex; gap: var(--space-2); align-items: center; min-width: 0; }
.va-kisi-ad { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.va-rozetler { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.va-rozet { display: inline-flex; align-items: center; gap: 4px; padding: 2px 6px; border-radius: 999px;
  background: var(--surface-sunken); font-size: 12px; line-height: 16px; }
.va-kod { font-weight: 700; font-size: 11px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.va-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); }
.va-nokta-arge { background: var(--arge-dilim); }
.va-nokta-fikri_haklar { background: var(--fh-dilim); }
.va-nokta-hibe { background: var(--hibe-dilim); }
.va-nokta-akademik, .va-nokta-akademik_firma { background: var(--akademik-dilim); }
.va-nokta-turquality { background: var(--turquality-dilim); }
.va-alt { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); margin-top: auto; flex-wrap: wrap; }
.va-sayfalar { display: flex; gap: var(--space-3); align-items: center; justify-content: center; margin-top: var(--space-4); }
/* Komut 21d · 10: talep künyesi */
.td-kunye { margin-bottom: var(--space-4); }
.td-kunye-ic { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--space-3) var(--space-4); margin: 0; padding: var(--space-4); }
.td-kunye-ic dt { color: var(--ink-muted); font-size: 12px; line-height: 16px; }
.td-kunye-ic dd { margin: 2px 0 0; font-weight: 500; overflow-wrap: anywhere; }

/* Komut 21e · LY: lisans uyarı şeridi */
.pk-lisans-serit { display: flex; gap: var(--space-2); align-items: center; padding: var(--space-2) var(--space-4);
  font-size: 13px; line-height: 18px; background: var(--attention-soft); color: var(--attention); }
.pk-lisans-askida { background: var(--surface-sunken); color: var(--ink); }

/* Komut 21e · 3: logo önizlemesi */
.pk-logo-onizleme { height: 40px; width: auto; max-width: 200px; border: 1px solid var(--line); border-radius: var(--radius-sm, 4px); padding: 2px; background: var(--surface); }
/* Komut 21e · 7: aranabilir kişi seçici */
.pk-kisi-secici { position: relative; display: grid; gap: var(--space-2); max-width: 640px; }
.pk-kisi-etiketler { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pk-kisi-etiket { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 10px; border-radius: 999px;
  background: var(--surface-sunken); font-size: 13px; }
.pk-kisi-etiket button { border: 0; background: transparent; cursor: pointer; font-size: 16px; line-height: 1; padding: 2px 6px; color: var(--ink-muted); }
.pk-kisi-oneriler { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; list-style: none; margin: 4px 0 0; padding: 4px 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md, 8px); box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,.08)); }
.pk-kisi-oneriler li { padding: 6px 12px; cursor: pointer; }
.pk-kisi-oneriler li:hover, .pk-kisi-oneriler li[aria-selected="true"] { background: var(--surface-hover); }
.pk-kisi-gruplar { display: flex; flex-wrap: wrap; gap: 6px; }

/* Komut 21e · 5 ek: sekme yüklenirken kart gövdesinin ortasında dönen gösterge (12 dilim sırayla dolar) */
.pk-sekme-yukleniyor { display: flex; align-items: center; justify-content: center; min-height: 220px; color: var(--ink-muted); }
.pk-donen { position: relative; display: inline-block; width: 28px; height: 28px; }
.pk-donen i { position: absolute; top: 0; left: calc(50% - 1.5px); width: 3px; height: 8px; border-radius: 2px;
  background: currentColor; opacity: .15; transform-origin: 50% 14px; animation: pk-donen 1s linear infinite; }
.pk-donen i:nth-child(1)  { transform: rotate(0deg);   animation-delay: -.917s; }
.pk-donen i:nth-child(2)  { transform: rotate(30deg);  animation-delay: -.833s; }
.pk-donen i:nth-child(3)  { transform: rotate(60deg);  animation-delay: -.75s; }
.pk-donen i:nth-child(4)  { transform: rotate(90deg);  animation-delay: -.667s; }
.pk-donen i:nth-child(5)  { transform: rotate(120deg); animation-delay: -.583s; }
.pk-donen i:nth-child(6)  { transform: rotate(150deg); animation-delay: -.5s; }
.pk-donen i:nth-child(7)  { transform: rotate(180deg); animation-delay: -.417s; }
.pk-donen i:nth-child(8)  { transform: rotate(210deg); animation-delay: -.333s; }
.pk-donen i:nth-child(9)  { transform: rotate(240deg); animation-delay: -.25s; }
.pk-donen i:nth-child(10) { transform: rotate(270deg); animation-delay: -.167s; }
.pk-donen i:nth-child(11) { transform: rotate(300deg); animation-delay: -.083s; }
.pk-donen i:nth-child(12) { transform: rotate(330deg); animation-delay: 0s; }
@keyframes pk-donen { 0% { opacity: 1; } 100% { opacity: .15; } }
@media (prefers-reduced-motion: reduce) { .pk-donen i { animation-duration: 2.4s; } }
.pk-gizli { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Sayfa geçişinde yükleme göstergesi (gecis.js): içerik alanının üstünde yarı saydam örtü ve ortada dönen gösterge */
.pk-gecis-ortusu { position: fixed; z-index: 1000; display: none; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--bg, var(--surface)) 55%, transparent); color: var(--ink-muted); pointer-events: none; }
.pk-gecis-ortusu.pk-acik { display: flex; animation: pk-gecis-belir .15s ease-out; }
.pk-gecis-kutu { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px;
  border-radius: var(--radius-md, 8px); background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,.08)); }
@keyframes pk-gecis-belir { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pk-gecis-ortusu.pk-acik { animation: none; } }
