/**
 * Omnex Pages — pages/compliance.css (B3.2)
 * Uyumluluk sayfası: politika kartları + rıza kanıt defteri + okuma modalı.
 */

.ox-cmp-section { margin-bottom: var(--ox-space-6); }
.ox-cmp-section > .ox-card__title {
  padding: var(--ox-space-4) var(--ox-space-6);
  border-bottom: 1px solid var(--ox-border);
  margin: 0;
}

.ox-cmp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: var(--ox-space-4);
  padding: var(--ox-space-5) var(--ox-space-6);
}
.ox-cmp-card {
  display: flex;
  flex-direction: column;
  gap: var(--ox-space-3);
  padding: var(--ox-space-4);
  border: 1px solid var(--ox-border);
  border-radius: var(--ox-radius-md);
  background: var(--ox-surface);
}
.ox-cmp-card__head { display: flex; align-items: center; justify-content: space-between; gap: var(--ox-space-2); }
.ox-cmp-card__name { font-weight: var(--ox-weight-semibold); }
.ox-cmp-card__badges { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; }
.ox-cmp-card__meta { display: flex; align-items: center; gap: var(--ox-space-2); flex-wrap: wrap; font-size: var(--ox-text-sm); }
.ox-cmp-card__actions { display: flex; flex-wrap: wrap; gap: var(--ox-space-2); margin-top: auto; }
/* PC: satır başına 2 buton (Görüntüle + Rıza kaydet yan yana), 3. (Yeni sürüm) alta — sağ boş kalmaz */
.ox-cmp-card__btn { gap: 6px; flex: 1 1 calc(50% - var(--ox-space-2)); }
@media (max-width: 768px) { .ox-cmp-card__btn { flex-basis: 100%; } }   /* mobil: alt alta normal */

/* Okuma modalı: politika metni (HTML — sanitize edilmiş prose). */
.ox-cmp-view__meta { font-size: var(--ox-text-xs); color: var(--ox-fg-muted); margin-bottom: var(--ox-space-3); word-break: break-all; }
.ox-cmp-view__doc {
  font-family: var(--ox-font-sans);
  font-size: var(--ox-text-sm);
  line-height: var(--ox-leading-relaxed, 1.65);
  color: var(--ox-fg);
  max-height: 60vh;
  overflow: auto;
  padding: var(--ox-space-4) var(--ox-space-5);
  background: var(--ox-surface-2);
  border-radius: var(--ox-radius-md);
}
.ox-cmp-view__doc p { margin: 0 0 var(--ox-space-3); }
.ox-cmp-view__doc p strong { color: var(--ox-fg); font-weight: var(--ox-weight-semibold); }
.ox-cmp-view__doc ul, .ox-cmp-view__doc ol { margin: 0 0 var(--ox-space-3); padding-left: var(--ox-space-5); }
.ox-cmp-view__doc li { margin: 0 0 var(--ox-space-1); }
.ox-cmp-view__doc a { color: var(--ox-primary); }
/* Eski pre-wrap gövde (artık kullanılmıyor; geriye dönük). */
.ox-cmp-view__body { white-space: pre-wrap; font-family: var(--ox-font-sans); font-size: var(--ox-text-sm); }

/* ---- Yayınla modalı (OxModal xl): zorunlu toggle + TR/EN RichText yan yana ---- */
.ox-cmp-pub { display: flex; flex-direction: column; gap: var(--ox-space-4); }
.ox-cmp-pub__req { display: flex; align-items: center; gap: var(--ox-space-2); font-size: var(--ox-text-sm); cursor: pointer; }
.ox-cmp-pub__req input { width: 16px; height: 16px; accent-color: var(--ox-primary); flex-shrink: 0; }
.ox-cmp-pub__langs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ox-space-5); }
.ox-cmp-pub__lang { display: flex; flex-direction: column; gap: var(--ox-space-2); min-width: 0; }
.ox-cmp-pub__langhd {
  font-weight: var(--ox-weight-semibold); font-size: var(--ox-text-sm); color: var(--ox-primary);
  border-bottom: 1px solid var(--ox-border); padding-bottom: var(--ox-space-2); margin-bottom: var(--ox-space-1);
}
.ox-cmp-pub__blabel { margin-top: var(--ox-space-2); }
@media (max-width: 860px) { .ox-cmp-pub__langs { grid-template-columns: 1fr; } }

/* ---- Görüntüle modalı: yükleme (içerik dili = arayüz dili) ---- */
.ox-cmp-view__loading { display: flex; justify-content: center; padding: var(--ox-space-6); color: var(--ox-fg-muted); }

/* Çok satırlı giriş (FormModal type:'textarea'). */
.ox-textarea {
  min-height: 120px;
  resize: vertical;
  font-family: var(--ox-font-sans);
  line-height: var(--ox-leading-normal, 1.5);
}

/* ---- Governance: özet sayaçları + operatör/KVKK duruşu (yalnız admin, salt-okunur) ---- */
.ox-cmp-sum-wrap { margin-bottom: var(--ox-space-6); }
.ox-cmp-op__head { display: flex; align-items: center; gap: var(--ox-space-2); }
.ox-cmp-op__head .ox-icon { color: var(--ox-primary); flex-shrink: 0; }
.ox-cmp-op__body { padding: var(--ox-space-5) var(--ox-space-6); }
.ox-cmp-op__notice { margin: 0 0 var(--ox-space-4); color: var(--ox-fg-muted); font-size: var(--ox-text-sm); }
.ox-cmp-op__val { font-size: var(--ox-text-lg); }
/* Operatör LG kart: uzun-değer (tarih vb.) boyut denetimi */
.ox-cmp-op__lgval { font-size: var(--ox-text-xl); word-break: break-word; line-height: 1.2; }
.ox-cmp-op__hint {
  display: block;
  margin-top: 2px;
  color: var(--ox-fg-muted);
  font-size: var(--ox-text-xs);
  line-height: 1.35;
}

/* ---- Saklama (Retention, ADR-0014 Faz 1) sekmesi ---- */
.ox-cmp-ret { padding: var(--ox-space-4) var(--ox-space-5) var(--ox-space-5); }
/* İç DataTable, .ox-cmp-ret padding'ini kullanır (çift boşluk YOK -> tablo dar kalmaz). */
.ox-cmp-ret .ox-dt { padding: 0; }
/* Tablet DİKEY: kart-liste YERİNE DAR TABLO iste (kullanıcı: tam mobil çok seyrek). Sığsın diye
   ikincil display sütunları gizle -> yatay scroll gider, tablo görünümü kalır. Tablet-YATAY +
   masaüstü tüm sütunları gösterir. (retention: Yönetim[3]+Son Uygulama[6]; DSAR: Oluşturma[4]+Son Tarih[5]) */
html[data-device="tablet"][data-orient="portrait"] [data-pg="retention"] table th:nth-child(3),
html[data-device="tablet"][data-orient="portrait"] [data-pg="retention"] table td:nth-child(3),
html[data-device="tablet"][data-orient="portrait"] [data-pg="retention"] table th:nth-child(6),
html[data-device="tablet"][data-orient="portrait"] [data-pg="retention"] table td:nth-child(6) { display: none; }
html[data-device="tablet"][data-orient="portrait"] [data-pg="dsar"] table th:nth-child(4),
html[data-device="tablet"][data-orient="portrait"] [data-pg="dsar"] table td:nth-child(4),
html[data-device="tablet"][data-orient="portrait"] [data-pg="dsar"] table th:nth-child(5),
html[data-device="tablet"][data-orient="portrait"] [data-pg="dsar"] table td:nth-child(5) { display: none; }
.ox-cmp-ret__notice { margin: 0 0 var(--ox-space-3); color: var(--ox-fg-muted); font-size: var(--ox-text-sm); line-height: 1.5; }
.ox-cmp-ret__bar { display: flex; align-items: center; gap: var(--ox-space-2); margin-bottom: var(--ox-space-4); flex-wrap: wrap; }
.ox-cmp-ret__spacer { flex: 1 1 auto; }
/* Sayı kutusu: ▲▼ spinner içerik kutusunun sağ kenarında; sağ-dolgu = spinner↔kenar boşluğu.
   --sm'in 0 10px dolgusu spinner'ı içeri itiyordu → sağ-dolgu kısaldı (spinner sağ duvara yakın). */
.ox-cmp-ret__days { width: 60px; text-align: right; padding-right: 4px; }
.ox-cmp-ret__surface { color: var(--ox-fg-muted); font-size: var(--ox-text-xs); margin-top: 2px; }
.ox-cmp-ret__hold {
  display: flex; align-items: center; gap: var(--ox-space-2);
  margin: 0 0 var(--ox-space-4); padding: var(--ox-space-3) var(--ox-space-4);
  border: 1px solid var(--ox-warning); border-left-width: 3px;
  border-radius: var(--ox-radius-md); background: var(--ox-warning-soft, rgba(210, 150, 40, .08));
  color: var(--ox-fg); font-size: var(--ox-text-sm);
}
.ox-cmp-ret__hold .ox-icon { color: var(--ox-warning); flex-shrink: 0; }

/* ---- DSAR (veri sahibi talepleri, ADR-0014 Faz 2) sekmesi ---- */
/* TEK SATIR (2026-09-10, kullanici: "3 satir ve upuzun, yanyana tek satira sigabilir").
   Esnek kutuyken `.ox-input { width: 100% }` her alanin kullanilan genisligini kapsayicinin
   TAMAMI yapiyordu -> dordu de ayri satira dusuyordu (olculdu: 1569 px). Izgara track'leri
   olcuyu belirler; cocuklarda `width:auto` sart, yoksa ayni tuzak izgarada da tekrarlar. */
.ox-cmp-dsar__form {
  display: grid;
  grid-template-columns: minmax(200px, 1.5fr) minmax(140px, .8fr) minmax(180px, 2fr) auto;
  gap: var(--ox-space-2);
  align-items: center;
  margin-bottom: var(--ox-space-4);
}
.ox-cmp-dsar__form > * { width: auto; min-width: 0; }
.ox-cmp-dsar__acts { display: flex; gap: var(--ox-space-2); flex-wrap: wrap; justify-content: flex-end; }
.ox-cmp-dsar__acts .ox-btn { gap: 5px; }

/* ---- Governance: veri yaşam döngüsü alt-başlık (Faz 4) ---- */
.ox-cmp-gov__dtitle { margin-top: var(--ox-space-5) !important; font-weight: var(--ox-weight-semibold); color: var(--ox-fg); }

/* ---- Cihaz uyarlaması (capability data-device; genişlik @media KULLANMA — Hijyen Kapı 21) ---- */

/* Küçük özet kartları (govSumTile — sum + dsarsum): TABLET dikey+yatay 4 sütun.
   Telefonda mobile/statcards varsayılanı (2 sütun) KALIR. compliance.css mobile/statcards.css'ten
   SONRA yüklenir → eş özgüllükte (0,2,1) kaynak-sırasıyla kazanır; tablet-yatay zaten 4. */
/* .ox-cmp-sum tablet-4 kuralı ORTAK .ox-stats--mini sınıfına taşındı (mobile/statcards.css) —
   tüm mini özet kartları (uyumluluk + gizli envanter) aynı sınıfla aynı davranır. */

/* Veri sahibi (DSAR) talep formu = tablo üstü filtre/giriş konteyneri.
   Telefon: dikey yığın (tam genişlik, dokun-kolay). Tablet: yan yana (yatay). */
html[data-device="phone"] .ox-cmp-dsar__form { grid-template-columns: 1fr; align-items: stretch; }
html[data-device="phone"] .ox-cmp-dsar__form > * { width: 100%; }
/* Tablette e-posta + tur ustte, not + dugme altta: dar ekranda tek satir sikisiyordu. */
html[data-device="tablet"] .ox-cmp-dsar__form { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
html[data-device="tablet"] .ox-cmp-dsar__form > *:nth-child(3) { grid-column: 1; }
