/* ============================================================
   Kyak.Ui — Studio + Runtime stilleri. Tüm sınıflar kmp-ky- önekli.
   Renkler Kmp token'larından (--kmp-*) türetilir; host paleti (Bootstrap --bs-*
   override'ları) geçerli kalır. Koyu tema: [data-bs-theme=dark] / [data-theme=dark]
   ve işaretsiz sayfada prefers-color-scheme.
   ============================================================ */
:root {
  --ky-accent: var(--kmp-primary, #4f46e5);
  --ky-accent-soft: color-mix(in srgb, var(--ky-accent) 10%, transparent);
  --ky-accent-line: color-mix(in srgb, var(--ky-accent) 35%, transparent);
  --ky-surface: var(--kmp-surface, #fff);
  --ky-surface-2: var(--kmp-tertiary-bg, #f8fafc);
  --ky-text: var(--kmp-body, #1f2937);
  --ky-muted: var(--kmp-secondary, #6b7280);
  --ky-border: var(--kmp-border, #e5e7eb);
  --ky-success: #15803d;
  --ky-success-soft: #ecfdf3;
  --ky-warning: #b45309;
  --ky-warning-soft: #fffbeb;
  --ky-danger: var(--kmp-danger, #dc2626);
  --ky-danger-soft: var(--kmp-danger-subtle, #fef2f2);
  --ky-info: #0369a1;
  --ky-info-soft: #f0f9ff;
  --ky-radius: var(--kmp-radius-lg, .875rem);
  --ky-radius-sm: var(--kmp-radius-sm, .375rem);
  --ky-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);
  --ky-shadow-hover: 0 6px 20px rgba(16, 24, 40, .10);
  --ky-ease: cubic-bezier(.4, 0, .2, 1);
  --ky-gecis: .18s var(--ky-ease);
  --ky-menu-genislik: 264px;
}

:root[data-bs-theme="dark"], :root[data-theme="dark"] {
  --ky-accent: var(--kmp-primary, #6366f1);
  --ky-surface: var(--kmp-surface, #161b26);
  --ky-surface-2: var(--kmp-tertiary-bg, #1d2433);
  --ky-text: var(--kmp-body, #e5e7eb);
  --ky-muted: var(--kmp-secondary, #9ca3af);
  --ky-border: var(--kmp-border, #2b3445);
  --ky-success: #4ade80;
  --ky-success-soft: rgba(34, 197, 94, .12);
  --ky-warning: #fbbf24;
  --ky-warning-soft: rgba(245, 158, 11, .12);
  --ky-danger: #f87171;
  --ky-danger-soft: rgba(239, 68, 68, .12);
  --ky-info: #38bdf8;
  --ky-info-soft: rgba(14, 165, 233, .12);
  --ky-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  --ky-shadow-hover: 0 8px 24px rgba(0, 0, 0, .45);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-bs-theme="light"]):not([data-theme="light"]):not([data-bs-theme="dark"]):not([data-theme="dark"]) {
    --ky-success: #4ade80;
    --ky-success-soft: rgba(34, 197, 94, .12);
    --ky-warning: #fbbf24;
    --ky-warning-soft: rgba(245, 158, 11, .12);
    --ky-danger: #f87171;
    --ky-danger-soft: rgba(239, 68, 68, .12);
    --ky-info: #38bdf8;
    --ky-info-soft: rgba(14, 165, 233, .12);
  }
}

/* ── Sayfa iskeleti ─────────────────────────────────────────── */
.kmp-ky-sayfa { display: flex; flex-direction: column; gap: 1.25rem; padding: 1.25rem clamp(1rem, 2.5vw, 2rem); min-width: 0; color: var(--ky-text); }
.kmp-ky-sayfa__bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 1rem; }
.kmp-ky-sayfa__bas .kmp-page-title { margin-bottom: .15rem; }
.kmp-ky-baslik-grubu { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; min-width: 0; }
.kmp-ky-aksiyonlar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.kmp-ky-yukleniyor { display: flex; align-items: center; color: var(--ky-muted); padding: 2rem 0; }
.kmp-ky-yol { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; font-size: .85rem; color: var(--ky-muted); min-width: 0; }
.kmp-ky-yol a { color: inherit; text-decoration: none; }
.kmp-ky-yol a:hover { color: var(--ky-accent); text-decoration: underline; }
.kmp-ky-yol .bi { font-size: .7rem; opacity: .6; }
.kmp-ky-yol [aria-current] { color: var(--ky-text); font-weight: 500; }
.kmp-ky-ayrac { border: 0; border-top: 1px solid var(--ky-border); margin: 1rem 0; opacity: 1; }

/* ── Rozet / çip ────────────────────────────────────────────── */
.kmp-ky-rozet {
  display: inline-flex; align-items: center; gap: .15rem; padding: .15rem .55rem; border-radius: 999px;
  font-size: .75rem; font-weight: 500; line-height: 1.4; white-space: nowrap;
  background: var(--ky-surface-2); color: var(--ky-muted); border: 1px solid var(--ky-border);
}
.kmp-ky-rozet--accent { background: var(--ky-accent-soft); color: var(--ky-accent); border-color: var(--ky-accent-line); }
.kmp-ky-rozet--basari { background: var(--ky-success-soft); color: var(--ky-success); border-color: color-mix(in srgb, var(--ky-success) 30%, transparent); }
.kmp-ky-rozet--uyari { background: var(--ky-warning-soft); color: var(--ky-warning); border-color: color-mix(in srgb, var(--ky-warning) 30%, transparent); }
.kmp-ky-rozet--bilgi { background: var(--ky-info-soft); color: var(--ky-info); border-color: color-mix(in srgb, var(--ky-info) 30%, transparent); }
.kmp-ky-rozet--tehlike { background: var(--ky-danger-soft); color: var(--ky-danger); border-color: color-mix(in srgb, var(--ky-danger) 30%, transparent); }
.kmp-ky-rozet--notr { background: var(--ky-surface-2); color: var(--ky-muted); }
.kmp-ky-cipler { display: flex; flex-wrap: wrap; gap: .35rem; }
.kmp-ky-cip { display: inline-flex; align-items: center; padding: .1rem .5rem; border-radius: 999px; font-size: .75rem; color: var(--ky-muted); background: var(--ky-surface-2); border: 1px solid var(--ky-border); }

/* ── Hero / boş durum ───────────────────────────────────────── */
.kmp-ky-hero {
  display: grid; gap: 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--ky-radius);
  background: linear-gradient(135deg, var(--ky-accent-soft), transparent 70%), var(--ky-surface);
  border: 1px solid var(--ky-border); box-shadow: var(--ky-shadow);
}
.kmp-ky-hero__metin { max-width: 46rem; }
.kmp-ky-hero__baslik { font-size: 1.25rem; font-weight: 600; margin: .6rem 0 .35rem; letter-spacing: -.01em; }
.kmp-ky-bos { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem; padding: 3rem 1.5rem; border: 1px dashed var(--ky-border); border-radius: var(--ky-radius); background: var(--ky-surface); }
.kmp-ky-bos--kompakt { padding: 1.5rem 1rem; }
.kmp-ky-bos__ikon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: var(--ky-accent-soft); color: var(--ky-accent); font-size: 1.4rem; }
.kmp-ky-bos--kompakt .kmp-ky-bos__ikon { width: 2.5rem; height: 2.5rem; font-size: 1.1rem; }
.kmp-ky-bos__baslik { font-size: 1.05rem; font-weight: 600; margin: .25rem 0 0; }
.kmp-ky-bos__aciklama { color: var(--ky-muted); max-width: 34rem; margin: 0; font-size: .9rem; }
.kmp-ky-bos__aksiyon { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: .5rem; }

/* ── Kart ızgarası / seçim kartı / proje kartı ──────────────── */
.kmp-ky-kartlar { display: grid; gap: .875rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.kmp-ky-kartlar--iki { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.kmp-ky-kartlar--uc { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }

.kmp-ky-secim-karti, .kmp-ky-proje-karti {
  position: relative; display: flex; text-align: left; gap: .75rem; width: 100%; padding: 1rem;
  border: 1px solid var(--ky-border); border-radius: var(--ky-radius); background: var(--ky-surface); color: var(--ky-text);
  box-shadow: var(--ky-shadow); text-decoration: none; cursor: pointer;
  transition: border-color var(--ky-gecis), box-shadow var(--ky-gecis), transform var(--ky-gecis);
}
.kmp-ky-secim-karti { flex-direction: column; gap: .35rem; }
.kmp-ky-secim-karti:hover, .kmp-ky-proje-karti:hover { border-color: var(--ky-accent-line); box-shadow: var(--ky-shadow-hover); transform: translateY(-1px); color: var(--ky-text); }
.kmp-ky-secim-karti:focus-visible, .kmp-ky-proje-karti:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--ky-accent-line); }
.kmp-ky-secim-karti.is-secili { border-color: var(--ky-accent); background: linear-gradient(0deg, var(--ky-accent-soft), var(--ky-accent-soft)), var(--ky-surface); box-shadow: 0 0 0 1px var(--ky-accent); }
.kmp-ky-secim-karti:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.kmp-ky-secim-karti__ust { display: flex; align-items: center; justify-content: space-between; gap: .5rem; width: 100%; }
.kmp-ky-secim-karti__ikon, .kmp-ky-proje-karti__ikon {
  display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border-radius: .6rem;
  background: var(--ky-accent-soft); color: var(--ky-accent); font-size: 1.05rem;
}
.kmp-ky-secim-karti__baslik, .kmp-ky-proje-karti__baslik { font-weight: 600; font-size: .95rem; }
.kmp-ky-secim-karti__aciklama { color: var(--ky-muted); font-size: .85rem; line-height: 1.45; }
.kmp-ky-secim-karti__kategori { font-size: .75rem; color: var(--ky-muted); }
.kmp-ky-secim-karti__not { font-size: .78rem; color: var(--ky-muted); margin-top: auto; padding-top: .35rem; }
.kmp-ky-proje-karti { align-items: flex-start; }
.kmp-ky-proje-karti__govde { flex: 1; min-width: 0; }
.kmp-ky-proje-karti__ok { align-self: center; color: var(--ky-muted); transition: transform var(--ky-gecis), color var(--ky-gecis); }
.kmp-ky-proje-karti:hover .kmp-ky-proje-karti__ok { transform: translateX(3px); color: var(--ky-accent); }

/* ── Sekmeler ───────────────────────────────────────────────── */
.kmp-ky-sekmeler { display: flex; gap: .25rem; border-bottom: 1px solid var(--ky-border); overflow-x: auto; scrollbar-width: thin; }
.kmp-ky-sekme {
  display: inline-flex; align-items: center; gap: .25rem; padding: .6rem .9rem; border: 0; background: none;
  color: var(--ky-muted); font-weight: 500; font-size: .9rem; border-bottom: 2px solid transparent; margin-bottom: -1px;
  white-space: nowrap; transition: color var(--ky-gecis), border-color var(--ky-gecis);
}
.kmp-ky-sekme:hover { color: var(--ky-text); }
.kmp-ky-sekme:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--ky-accent-line); border-radius: var(--ky-radius-sm); }
.kmp-ky-sekme.is-aktif { color: var(--ky-accent); border-bottom-color: var(--ky-accent); }
.kmp-ky-sekme__sayac { min-width: 1.4rem; padding: 0 .4rem; border-radius: 999px; background: var(--ky-surface-2); border: 1px solid var(--ky-border); font-size: .72rem; text-align: center; font-variant-numeric: tabular-nums; }
.kmp-ky-sekme.is-aktif .kmp-ky-sekme__sayac { background: var(--ky-accent-soft); border-color: var(--ky-accent-line); }
.kmp-ky-sekme-govde { min-width: 0; }

/* ── Panel / iki panel ──────────────────────────────────────── */
.kmp-ky-iki-panel { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: start; }
.kmp-ky-iki-panel--genis-sol { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
@media (max-width: 991.98px) { .kmp-ky-iki-panel, .kmp-ky-iki-panel--genis-sol { grid-template-columns: minmax(0, 1fr); } }
.kmp-ky-panel { border: 1px solid var(--ky-border); border-radius: var(--ky-radius); background: var(--ky-surface); box-shadow: var(--ky-shadow); padding: 1rem; min-width: 0; }
.kmp-ky-panel__bas { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.kmp-ky-panel__baslik { font-size: 1rem; font-weight: 600; margin: 0; }
.kmp-ky-adim-baslik { display: flex; align-items: center; gap: .6rem; font-size: 1rem; font-weight: 600; margin: 0 0 .75rem; }
.kmp-ky-adim-no { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--ky-accent); color: #fff; font-size: .8rem; font-weight: 600; flex: none; }
.kmp-ky-ozet { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding: .65rem .85rem; border-radius: var(--ky-radius-sm); background: var(--ky-surface-2); border: 1px solid var(--ky-border); font-size: .875rem; }

/* ── İpucu / hata / bulgular ───────────────────────────────── */
.kmp-ky-ipucu { font-size: .85rem; color: var(--ky-muted); padding: .55rem .75rem; border-radius: var(--ky-radius-sm); background: var(--ky-info-soft); border: 1px solid color-mix(in srgb, var(--ky-info) 20%, transparent); }
.kmp-ky-ipucu--uyari { color: var(--ky-warning); background: var(--ky-warning-soft); border-color: color-mix(in srgb, var(--ky-warning) 25%, transparent); }
.kmp-ky-hata { color: var(--ky-danger); font-size: .8rem; margin-top: .25rem; }
.kmp-ky-bulgular { color: var(--ky-danger); background: var(--ky-danger-soft); border: 1px solid color-mix(in srgb, var(--ky-danger) 25%, transparent); border-radius: var(--ky-radius-sm); padding: .65rem .85rem; margin-bottom: 1rem; font-size: .875rem; }
.kmp-ky-fx { display: inline-block; padding: 0 .35rem; border-radius: .3rem; font: italic 600 .72rem/1.5 ui-monospace, "Cascadia Mono", Consolas, monospace; background: var(--ky-accent-soft); color: var(--ky-accent); }
.kmp-ky-zorunlu { color: var(--ky-danger); margin-left: .15rem; }

/* ── Listeler / seçenekler ──────────────────────────────────── */
.kmp-ky-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.kmp-ky-liste--sirali { counter-reset: ky-adim; }
.kmp-ky-liste__oge { display: flex; align-items: flex-start; gap: .6rem; padding: .55rem .75rem; border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); background: var(--ky-surface); }
.kmp-ky-secenekler, .kmp-ky-anahtarlar { display: flex; flex-direction: column; gap: .5rem; }
.kmp-ky-satir-aksiyon { display: inline-flex; align-items: center; gap: .2rem; flex-wrap: nowrap; }
.kmp-ky-satir--soluk { opacity: .55; }
.kmp-ky-satir--vurgu { background: var(--ky-accent-soft) !important; font-weight: 500; }
.kmp-ky-sql { margin: .5rem 0 0; padding: .75rem; max-height: 18rem; overflow: auto; border-radius: var(--ky-radius-sm); background: var(--ky-surface-2); border: 1px solid var(--ky-border); font-size: .78rem; white-space: pre; }
.kmp-ky-yayin { display: flex; flex-direction: column; gap: 1rem; }

/* ── Formlar sekmesi: bölüm + alan kutucukları ──────────────── */
.kmp-ky-bolum { border: 1px solid var(--ky-border); border-radius: var(--ky-radius); padding: .75rem; background: var(--ky-surface-2); margin-bottom: .75rem; }
.kmp-ky-bolum__bas { display: flex; align-items: center; gap: .5rem; margin-bottom: .6rem; }
.kmp-ky-bolum__baslik { font-weight: 600; }
.kmp-ky-onizleme { min-height: 3rem; }
.kmp-ky-alan { height: 100%; padding: .5rem .6rem; border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); background: var(--ky-surface); transition: border-color var(--ky-gecis), box-shadow var(--ky-gecis); }
.kmp-ky-alan:hover { border-color: var(--ky-accent-line); box-shadow: var(--ky-shadow); }
.kmp-ky-alan--hata { border-color: var(--ky-danger); background: var(--ky-danger-soft); }
.kmp-ky-alan__ust { display: flex; align-items: center; gap: .4rem; min-width: 0; }
.kmp-ky-alan__ad { flex: 1; min-width: 0; font-weight: 500; font-size: .875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kmp-ky-alan__arac { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin-top: .4rem; }

/* ── Menü ağacı (Studio + Runtime) ──────────────────────────── */
.kmp-ky-agac { list-style: none; margin: 0; padding: 0; }
.kmp-ky-agac ul { list-style: none; margin: 0; padding: 0; }
.kmp-ky-agac__oge { display: flex; align-items: center; gap: .5rem; padding: .4rem .5rem .4rem calc(.5rem + var(--ky-derinlik, 0) * 1.4rem); border-bottom: 1px solid var(--ky-border); }
.kmp-ky-agac__oge:hover { background: var(--ky-surface-2); }
.kmp-ky-agac__ikon { color: var(--ky-accent); width: 1.25rem; text-align: center; }
.kmp-ky-agac__metin { flex: 1; min-width: 0; display: flex; align-items: center; flex-wrap: wrap; }
.kmp-ky-agac__satir {
  display: flex; align-items: center; gap: .5rem; width: 100%; padding: .4rem .6rem .4rem calc(.6rem + var(--ky-derinlik, 0) * 1rem);
  border: 0; border-radius: var(--ky-radius-sm); background: none; color: var(--ky-text); text-align: left; text-decoration: none; font-size: .875rem;
  transition: background var(--ky-gecis), color var(--ky-gecis);
}
.kmp-ky-agac__satir:hover { background: var(--ky-surface-2); color: var(--ky-text); }
.kmp-ky-agac__satir:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--ky-accent-line); }
.kmp-ky-agac__satir.is-aktif { background: var(--ky-accent-soft); color: var(--ky-accent); font-weight: 600; box-shadow: inset 3px 0 0 var(--ky-accent); }
.kmp-ky-agac__satir span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kmp-ky-agac__ok { font-size: .7rem; color: var(--ky-muted); width: .8rem; }
.kmp-ky-agac__grup > .kmp-ky-agac__satir { font-weight: 600; color: var(--ky-muted); font-size: .8rem; }

/* ── Runtime kabuğu ─────────────────────────────────────────── */
.kmp-ky-uygulama { display: grid; grid-template-columns: var(--ky-menu-genislik) minmax(0, 1fr); min-height: 100%; height: 100%; color: var(--ky-text); }
.kmp-ky-uygulama.is-menu-kapali { grid-template-columns: 0 minmax(0, 1fr); }
.kmp-ky-uygulama__menu { display: flex; flex-direction: column; min-height: 0; overflow: auto; border-right: 1px solid var(--ky-border); background: var(--ky-surface); padding: .5rem; transition: opacity var(--ky-gecis); }
.kmp-ky-uygulama.is-menu-kapali .kmp-ky-uygulama__menu { opacity: 0; pointer-events: none; padding: 0; border: 0; overflow: hidden; }
.kmp-ky-uygulama__marka { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .4rem .4rem .6rem; }
.kmp-ky-uygulama__ad { display: flex; align-items: center; min-width: 0; font-weight: 600; color: var(--ky-text); text-decoration: none; }
.kmp-ky-uygulama__ad span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kmp-ky-uygulama__ad .bi { color: var(--ky-accent); }
.kmp-ky-uygulama__ara { padding: 0 .25rem .5rem; }
.kmp-ky-uygulama__icerik { display: flex; flex-direction: column; gap: 1rem; min-width: 0; min-height: 0; padding: 1rem clamp(1rem, 2vw, 1.5rem); }
.kmp-ky-uygulama__bas { display: flex; align-items: center; gap: .6rem; }
.kmp-ky-uygulama__form { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.kmp-ky-form-ekrani { flex: 1; min-height: 24rem; display: flex; flex-direction: column; }
@media (max-width: 767.98px) {
  .kmp-ky-uygulama { grid-template-columns: minmax(0, 1fr); }
  .kmp-ky-uygulama__menu { border-right: 0; border-bottom: 1px solid var(--ky-border); max-height: 40vh; }
  .kmp-ky-uygulama.is-menu-kapali { grid-template-columns: minmax(0, 1fr); }
  .kmp-ky-uygulama.is-menu-kapali .kmp-ky-uygulama__menu { display: none; }
}

/* ── Runtime form ───────────────────────────────────────────── */
.kmp-ky-form-bolum { border: 1px solid var(--ky-border); border-radius: var(--ky-radius); padding: .9rem 1rem 1rem; margin: 0 0 1rem; background: var(--ky-surface); }
.kmp-ky-form-bolum__baslik { float: none; width: auto; font-size: .9rem; font-weight: 600; padding: 0 .4rem; margin: 0 0 .25rem -.4rem; color: var(--ky-text); }
.kmp-ky-giris .form-label { font-size: .85rem; font-weight: 500; margin-bottom: .3rem; }
.kmp-ky-tarihsaat { display: flex; gap: .5rem; }
.kmp-ky-tarihsaat > :first-child { flex: 1; min-width: 0; }
.kmp-ky-saat { width: 7.5rem; flex: none; }
.kmp-ky-detay { margin-top: .25rem; }
.kmp-num { font-variant-numeric: tabular-nums; }

/* Bağlantı (lookup) girişi */
.kmp-ky-lookup { position: relative; }
.kmp-ky-lookup__liste {
  position: absolute; z-index: 1065; inset-inline: 0; top: calc(100% + 4px); max-height: 16rem; overflow: auto; list-style: none; margin: 0; padding: .25rem;
  background: var(--ky-surface); border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); box-shadow: var(--ky-shadow-hover);
}
.kmp-ky-lookup__oge { padding: .4rem .6rem; border-radius: .3rem; cursor: pointer; font-size: .875rem; }
.kmp-ky-lookup__oge:hover, .kmp-ky-lookup__oge.is-aktif { background: var(--ky-accent-soft); color: var(--ky-accent); }
.kmp-ky-lookup__bilgi { display: flex; align-items: center; padding: .5rem .6rem; color: var(--ky-muted); font-size: .85rem; }

/* ── Belge satır grid'i (KmpSatirGrid) ─────────────────────── */
.kmp-ky-satirgrid { margin-top: 1rem; border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); background: var(--ky-surface); }
.kmp-ky-satirgrid__arac { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border-bottom: 1px solid var(--ky-border); }
.kmp-ky-satirgrid__baslik { font-weight: 600; }
.kmp-ky-satirgrid__sayac { min-width: 1.6rem; padding: 0 .45rem; border-radius: 999px; background: var(--ky-accent-soft); color: var(--ky-accent); font-size: .8rem; text-align: center; font-variant-numeric: tabular-nums; }
.kmp-ky-satirgrid__kolonmenu { position: relative; }
.kmp-ky-satirgrid__kolonliste { position: absolute; right: 0; top: calc(100% + 4px); z-index: 1065; min-width: 14rem; max-height: 18rem; overflow: auto; padding: .5rem .75rem;
  background: var(--ky-surface); border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); box-shadow: var(--ky-shadow-hover); }
.kmp-ky-satirgrid__kap { overflow: auto; max-height: min(55vh, 32rem); }
.kmp-ky-satirgrid__tablo { margin: 0; --bs-table-bg: transparent; }
.kmp-ky-satirgrid__tablo thead th { position: sticky; top: 0; z-index: 2; background: var(--ky-surface-2); font-size: .8rem; font-weight: 600; color: var(--ky-muted); white-space: nowrap; border-bottom: 1px solid var(--ky-border); }
.kmp-ky-satirgrid__tablo td { padding: .2rem .25rem; vertical-align: middle; }
.kmp-ky-satirgrid__no { width: 2.5rem; text-align: right; color: var(--ky-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.kmp-ky-satirgrid__durum { width: 1.75rem; text-align: center; }
.kmp-ky-satirgrid__aksiyon { width: 2.75rem; text-align: center; }
.kmp-ky-satirgrid__toplam td { position: sticky; bottom: 0; background: var(--ky-surface-2); font-weight: 600; border-top: 1px solid var(--ky-border); }
.kmp-ky-satirgrid__ipucu { padding: .35rem .75rem; font-size: .78rem; color: var(--ky-muted); border-top: 1px solid var(--ky-border); }
.kmp-ky-sg-satir--bos td { background: color-mix(in srgb, var(--ky-surface-2) 60%, transparent); }
.kmp-ky-sg-satir--silinecek td { background: var(--ky-danger-soft); }
.kmp-ky-sg-satir--silinecek .kmp-ky-hucre { text-decoration: line-through; color: var(--ky-muted); }
.kmp-ky-sg-satir:focus-within td { background: var(--ky-accent-soft); }
.kmp-ky-hucre { border-color: transparent; background: transparent; box-shadow: none; transition: border-color var(--ky-gecis), background var(--ky-gecis); }
.kmp-ky-hucre:hover:not([readonly]):not(:disabled) { border-color: var(--ky-border); }
.kmp-ky-hucre:focus, .kmp-ky-hucre:focus-visible { outline: none; border-color: var(--ky-accent); background: var(--ky-surface); box-shadow: 0 0 0 2px var(--ky-accent-line); }
.kmp-ky-hucre[readonly] { color: var(--ky-muted); }
.kmp-ky-satirgrid__hucre--hata .kmp-ky-hucre { border-color: var(--ky-danger); background: var(--ky-danger-soft); }
.kmp-ky-hucre-anahtar { display: flex; justify-content: center; margin: 0; padding-left: 0; min-height: auto; }
.kmp-ky-hucre-anahtar .form-check-input { margin-left: 0; float: none; }
.kmp-ky-hucre-anahtar .form-check-input:focus-visible { box-shadow: 0 0 0 3px var(--ky-accent-line); }

/* Arama penceresi (F2/F10) */
.kmp-ky-arama-liste { height: min(60vh, 34rem); display: flex; flex-direction: column; }
.kmp-ky-arama-liste .kmp-data-row { cursor: pointer; }
.kmp-ky-arama-ipucu { margin-right: auto; font-size: .8rem; color: var(--ky-muted); }

/* Studio: değer aktarımı düzenleyici */
.kmp-ky-aktarim { padding: .75rem; border: 1px dashed var(--ky-border); border-radius: var(--ky-radius-sm); }
.kmp-ky-aktarim__satir { display: grid; grid-template-columns: 1fr auto 1fr auto; gap: .5rem; align-items: center; margin-bottom: .4rem; }
@media (max-width: 575.98px) { .kmp-ky-aktarim__satir { grid-template-columns: 1fr auto; } .kmp-ky-aktarim__satir > .bi-arrow-right { display: none; } }

@media (prefers-reduced-motion: reduce) { .kmp-ky-hucre { transition: none; } }
/* ── Numaralandırma şablonu (ADR-0011) ──────────────────────── */
.kmp-ky-kartlar--dort { grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); }
.kmp-ky-numara { display: flex; flex-direction: column; gap: 1rem; }
.kmp-ky-numara__baslik { font-weight: 600; font-size: .85rem; margin-bottom: .4rem; }
.kmp-ky-numara__parcalar { list-style: none; margin: 0 0 .5rem; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.kmp-ky-numara__parca { display: grid; grid-template-columns: minmax(110px, 9rem) 1fr auto; align-items: center; gap: .6rem;
  padding: .35rem .5rem; border: 1px solid var(--ky-border); border-left: 3px solid var(--ky-border); border-radius: var(--ky-radius-sm); background: var(--ky-surface); }
.kmp-ky-numara__parca--sayac { border-left-color: var(--ky-accent); background: var(--ky-accent-soft); }
.kmp-ky-numara__parca--alan { border-left-color: var(--ky-info); }
.kmp-ky-numara__parca--yil, .kmp-ky-numara__parca--yil2, .kmp-ky-numara__parca--ay, .kmp-ky-numara__parca--gun { border-left-color: var(--ky-warning); }
.kmp-ky-numara__tur { font-size: .82rem; white-space: nowrap; color: var(--ky-muted); }
.kmp-ky-numara__deger { min-width: 0; }
.kmp-ky-numara__deger .input-group { max-width: 12rem; }
.kmp-ky-numara__ekle { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.kmp-ky-numara__onizleme { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; padding: .6rem .75rem;
  border: 1px dashed var(--ky-accent-line); border-radius: var(--ky-radius-sm); background: var(--ky-surface-2); }
.kmp-ky-numara__ornek { font-size: .9rem; padding: .15rem .5rem; border-radius: 999px; color: var(--ky-accent); background: var(--ky-accent-soft);
  border: 1px solid var(--ky-accent-line); font-variant-numeric: tabular-nums; }
.kmp-ky-numara-ipucu { margin-top: .3rem; padding: .25rem .55rem; font-size: .8rem; }
@media (max-width: 575.98px) {
  .kmp-ky-numara__parca { grid-template-columns: 1fr auto; }
  .kmp-ky-numara__deger { grid-column: 1 / -1; grid-row: 2; }
}

/* ── Mikro etkileşim ────────────────────────────────────────── */
.kmp-iconbtn.is-aktif { color: var(--ky-accent); background: var(--ky-accent-soft); border-color: var(--ky-accent-line); }
.kmp-ky-nabiz { color: var(--ky-warning); font-size: .55rem; vertical-align: middle; animation: ky-nabiz 1.6s ease-in-out infinite; }
.kmp-ky-don { display: inline-block; animation: ky-don .8s linear infinite; }
@keyframes ky-nabiz { 50% { opacity: .35; } }
@keyframes ky-don { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .kmp-ky-secim-karti, .kmp-ky-proje-karti, .kmp-ky-proje-karti__ok, .kmp-ky-sekme, .kmp-ky-alan, .kmp-ky-agac__satir, .kmp-ky-uygulama__menu { transition: none; }
  .kmp-ky-secim-karti:hover, .kmp-ky-proje-karti:hover, .kmp-ky-proje-karti:hover .kmp-ky-proje-karti__ok { transform: none; }
  .kmp-ky-nabiz, .kmp-ky-don { animation: none; }
}

/* ── ADR-0014 kayıt tarihçesi ─────────────────────────────────── */
.kmp-ky-tarihce__liste { list-style: none; margin: 0; padding: 0 0 0 1.1rem; border-left: 2px solid var(--ky-border); max-height: 22rem; overflow-y: auto; }
.kmp-ky-tarihce__olay { position: relative; padding: .15rem 0 .85rem .25rem; }
.kmp-ky-tarihce__olay::before { content: ""; position: absolute; left: -1.53rem; top: .45rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--ky-surface); border: 2px solid var(--ky-accent); }
.kmp-ky-tarihce__olay--ekle::before { border-color: var(--ky-success); }
.kmp-ky-tarihce__olay--sil::before { border-color: var(--ky-danger); }
.kmp-ky-tarihce__baslik { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; font-size: .85rem; }
.kmp-ky-tarihce__rozet { display: inline-flex; align-items: center; gap: .3rem; font-weight: 600; color: var(--ky-text); }
.kmp-ky-tarihce__kim, .kmp-ky-tarihce__zaman { color: var(--ky-muted); font-variant-numeric: tabular-nums; }
.kmp-ky-tarihce__alanlar { margin: .4rem 0 0; display: grid; gap: .25rem; font-size: .83rem; }
.kmp-ky-tarihce__alan { display: grid; grid-template-columns: minmax(7rem, 12rem) 1fr; gap: .75rem; padding: .3rem .55rem; border-radius: var(--ky-radius-sm); background: color-mix(in srgb, var(--ky-accent) 4%, transparent); }
.kmp-ky-tarihce__alan dt { font-weight: 500; color: var(--ky-muted); margin: 0; overflow-wrap: anywhere; }
.kmp-ky-tarihce__alan dd { margin: 0; overflow-wrap: anywhere; }
.kmp-ky-tarihce__eski { color: var(--ky-muted); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--ky-danger) 55%, transparent); }
.kmp-ky-tarihce__yeni { color: var(--ky-text); font-weight: 500; }
@media (max-width: 575.98px) { .kmp-ky-tarihce__alan { grid-template-columns: 1fr; gap: .1rem; } }

/* ── Browser → form (TarayiciListe + FormModali) ───────────────────── */
.kmp-ky-tarayici { display: flex; flex-direction: column; min-width: 0; }
.kmp-ky-tarayici--doldur { height: max(22rem, calc(100dvh - 16.5rem)); }
.kmp-ky-tarayici--doldur > * { flex: 1; min-height: 0; }
.kmp-ky-tarayici__secim { margin-inline: .25rem; }
.kmp-ky-tarayici .kmp-data-row { cursor: default; user-select: none; }
.kmp-modal-body--fill > .kmp-ky-form { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .75rem; }
.kmp-ky-form .kmp-ky-tarayici--doldur { height: auto; flex: 1; min-height: 14rem; }
.kmp-ky-form__ayrac { display: flex; align-items: center; gap: .5rem; margin: 1.25rem 0 .75rem; }
.kmp-ky-form__kirli { display: inline-flex; align-items: center; color: var(--bs-warning-text-emphasis); }
.kmp-ky-form__kirli .bi { font-size: 1.4rem; line-height: 0; margin-inline-end: -.15rem; }
.kmp-ky-agac__oge { cursor: default; }

/* /yonetim panosu kartları */
.kmp-ky-yonetim-karti { display: block; color: inherit; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.kmp-ky-yonetim-karti:hover { border-color: var(--ky-accent-line); transform: translateY(-1px); color: inherit; }
.kmp-ky-yonetim-karti:focus-visible { outline: 2px solid var(--ky-accent); outline-offset: 2px; }
.kmp-ky-yonetim-karti--kapali { opacity: .65; cursor: default; }
.kmp-ky-yonetim-karti--kapali:hover { transform: none; border-color: var(--ky-border); }
@media (prefers-reduced-motion: reduce) { .kmp-ky-yonetim-karti { transition: none; } .kmp-ky-yonetim-karti:hover { transform: none; } }

/* Yetki ekranları: kural matrisi + çoklu seçim (#14) */
.kmp-ky-kurallar { display: flex; flex-direction: column; gap: .5rem; }
.kmp-ky-kural { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .375rem .75rem; align-items: center;
  padding: .5rem .625rem; border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); background: var(--ky-surface-2); }
.kmp-ky-kural__secim { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .375rem; }
.kmp-ky-kural__islemler { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .125rem .25rem; }
.kmp-ky-kural > .kmp-iconbtn { grid-column: 2; grid-row: 1; }
.kmp-ky-kural__uyari { grid-column: 1 / -1; color: var(--ky-danger); }
.kmp-iconbtn--danger:hover, .kmp-iconbtn--danger:focus-visible { color: var(--ky-danger); background: var(--ky-danger-soft); }
.kmp-ky-coklu { border: 1px solid var(--ky-border); border-radius: var(--ky-radius-sm); background: var(--ky-surface); }
.kmp-ky-coklu__bas { display: flex; align-items: center; gap: .5rem; padding: .5rem; border-bottom: 1px solid var(--ky-border); }
.kmp-ky-coklu__liste { list-style: none; margin: 0; padding: .25rem .5rem; max-height: 260px; overflow-y: auto; }
.kmp-ky-coklu__liste > li { padding: .25rem 0; }
.kmp-ky-coklu__liste > li + li { border-top: 1px dashed var(--ky-border); }
