/* ════════════════════════════════════════════════════════════════════
   Platin DataProtection Desk — taslak override'lari (Faz E1, 2026-09-25)
   tokens.css + bundle.css BIREBIR kaynak kopyasidir; portal farklari yalniz burada.
   ════════════════════════════════════════════════════════════════════ */

/* PlatinBridge mavi→teal→lime gradyani KULLANILMAZ: ray duz logo mavisi */
[data-theme], .pb-canvas[data-theme] { --pb-rail: var(--brand-solid); }

/* Portal-ozel yardimci token'lar */
:root, [data-theme="dark"] {
  --pd-accent-ink: var(--brand-strong);   /* brand-tint zemin ustunde metin (koyu: 5.07:1) */
  --on-info: var(--pl-navy);
}
[data-theme="light"] {
  --pd-accent-ink: var(--brand);          /* 4.72:1 */
  --on-info: var(--pl-white);
}

/* ── Zemin: body = pb-canvas ─────────────────────────────────────────── */
body.pb-canvas { margin: 0; min-height: 100vh; }
/* Baglanti rengi platindesk.css'te (a{} dusuk ozgulluk) — .btn/.pb-btn renklerini ezmesin */
a.pb-btn--primary, a.pb-btn--primary:hover { color: var(--on-brand); }
a.pb-btn--secondary, a.pb-btn--secondary:hover { color: var(--ink); }
.pb-search kbd { font-size: 12px; }            /* en kucuk yazi 12px */
.pb-id { font-size: 13px; }

/* Wordmark: "Platin" = ink, "DataProtection Desk" = brand */
.pb-wordmark { text-transform: none; letter-spacing: 0; font-size: 16px; text-decoration: none; }
.pb-wordmark b { color: var(--ink); }
.pb-wordmark span span { color: var(--brand); }
a.pb-wordmark:hover { text-decoration: none; }

/* ── Appbar (pb-topbar) ─────────────────────────────────────────────── */
.pb-topbar { position: sticky; top: 0; z-index: 1030; gap: 20px; }
.pb-topbar .pb-nav { gap: 2px; }
.pb-topbar .pb-nav a, .pb-topbar .pb-nav .pb-navbtn {
  position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 0 11px; white-space: nowrap;
  color: var(--muted); font: 500 14px/1 var(--font-sans); text-decoration: none; border-radius: 6px;
  background: transparent; border: 0; cursor: pointer;
}
.pb-topbar .pb-nav a:hover, .pb-topbar .pb-nav .pb-navbtn:hover { color: var(--ink); }
.pb-topbar .pb-nav a[aria-current="page"], .pb-topbar .pb-nav .pb-navbtn[aria-current="page"] { color: var(--ink); }
.pb-topbar .pb-nav .pb-navbtn[aria-current="page"]::after {
  content: ""; position: absolute; left: 11px; right: 11px; bottom: -1px; height: 2px; border-radius: 2px 2px 0 0; background: var(--brand);
}
.pb-topbar .pb-nav a[aria-current="page"]::after { left: 11px; right: 11px; }
.pb-topbar .pb-nav .dropdown { display: flex; align-items: stretch; }
.pb-topbar .dropdown-toggle::after { display: none; }       /* Tabler oku yerine kendi chevron'umuz */
.pb-topbar .pb-count { font-size: 12px; }
.pb-topbar .pb-count--calm { background: var(--surface-3); color: var(--muted); }
.pb-topbar-end > .dropdown { display: inline-flex; }
.pb-avatar {
  display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; border: 0; cursor: pointer;
  font: 600 12px/1 var(--font-sans); background: var(--brand-tint); color: var(--pd-accent-ink);
}
.pb-icon-btn { position: relative; }
.pb-icon-btn .pb-badge-mini {
  position: absolute; right: 1px; bottom: 1px; min-width: 16px; height: 16px; padding: 0 3px; border-radius: 8px;
  background: var(--ok); color: var(--on-ok); font: 600 12px/16px var(--font-sans); text-align: center;
}
.pb-health--warn { background: var(--warn-bg); color: var(--warn); }
.pb-health--warn i { background: var(--warn); }

/* Arama: tasarimdaki pb-search kabugu icinde gercek input (/cases?q=) */
.pb-search { position: relative; }
.pb-search input {
  flex: 1 1 auto; min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink);
  font: 400 13px/1 var(--font-sans); padding: 0;
}
.pb-search input::placeholder { color: var(--faint); opacity: 1; }
.pb-search:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent); }
/* 1440'ta tasma olmasin: arama kutusu daraltilir (tasarimda 250px; portalda cevrimici
   kullanicilar dugmesi de var) */
@media (max-width: 1599.98px) {
  .pb-search { width: 176px; }
  .pb-search kbd { display: none; }
}
@media (max-width: 1299.98px) { .pb-search { width: 150px; } }

/* Dropdown menuleri (Tabler) Platin yuzeyiyle */
.pb-canvas .dropdown-menu { font: 400 14px/20px var(--font-sans); min-width: 220px; }
.pb-canvas .dropdown-header { font-size: 12px; }
.pb-menu-note { display: block; padding: 2px 16px 6px; color: var(--faint); font-size: 12px; }

/* Mobil menu dugmesi */
.pb-menu-toggle { display: none; }

/* Dar ekran: menu katlanir, arama/senkron gizlenir (arama menude kalir) */
@media (max-width: 1199.98px) {
  .pb-topbar { gap: 12px; padding: 0 12px; }
  .pb-menu-toggle { display: inline-grid; }
  .pb-topbar .pb-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%; height: auto;
    flex-direction: column; align-items: stretch; gap: 2px; padding: 8px;
    background: var(--surface); border-bottom: 1px solid var(--hair); box-shadow: var(--shadow-panel);
    max-height: calc(100vh - 58px); overflow-y: auto;
  }
  .pb-topbar .pb-nav.show { display: flex; }
  .pb-topbar .pb-nav a, .pb-topbar .pb-nav .pb-navbtn { height: 40px; padding: 0 12px; }
  .pb-topbar .pb-nav a[aria-current="page"]::after, .pb-topbar .pb-nav .pb-navbtn[aria-current="page"]::after {
    left: 0; right: auto; top: 8px; bottom: 8px; width: 3px; height: auto;
  }
  .pb-topbar .pb-nav .dropdown { flex-direction: column; }
  .pb-topbar .pb-nav .dropdown-menu { position: static !important; transform: none !important; box-shadow: none; border: 0; }
  .pb-topbar .pb-search { display: none; }
  .pb-topbar .pb-nav .pb-search-m { display: flex; width: auto; height: 40px; margin: 0 4px 6px; }
}
.pb-search-m { display: none; }
@media (max-width: 575.98px) {
  .pb-wordmark { font-size: 14px; }
  .pb-wordmark .pb-wm-long { display: none; }
  .pb-topbar .pb-health, .pb-topbar .pb-yonetim-t, #online-users-widget { display: none; }
  .pb-topbar-end { gap: 4px; }
}

/* ── Sayfa govdesi ──────────────────────────────────────────────────── */
.page-wrapper { background: var(--paper); }
.page-body { margin-top: 0; padding-top: 24px; }
.pb-pagehead { padding: 0 0 16px; flex-wrap: wrap; }
.pb-banner {
  display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 10px 14px; border-radius: var(--radius-sm);
  background: var(--warn-bg); color: var(--warn); border: 1px solid color-mix(in srgb, var(--warn) 35%, transparent);
  font: 500 14px/20px var(--font-sans);
}
.pb-banner button { margin-left: auto; background: none; border: 0; color: inherit; cursor: pointer; font-size: 18px; line-height: 1; }

/* ── Genel bakis (Faz E2) ───────────────────────────────────────────── */
.ov-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; padding-bottom: 24px; }
.ov-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ov-chip--none { background: var(--surface-2); color: var(--muted); }
.pb-row { grid-template-columns: 36px minmax(140px, 180px) minmax(0, 1fr) 84px auto; }   /* "Diger islemler" dugmesi yok */
.pb-card-head .pb-filters { flex-wrap: wrap; }
.ov-row-hidden { display: none !important; }
.pb-row .pb-why { overflow-wrap: anywhere; }
.pb-row .pb-btn { justify-self: end; }
.pb-fold[open] summary b { display: none; }
.ov-tablewrap { overflow-x: auto; }
.pb-table td a.pb-id { color: var(--ink); text-decoration: none; }
.pb-table td a.pb-id:hover { color: var(--brand); text-decoration: underline; }
.pb-table .ov-konu { max-width: 420px; }
.ov-bar { height: 6px; border-radius: 4px; background: var(--surface-3); }
.ov-bar > i { display: block; height: 6px; border-radius: 4px; }
.ov-stack { display: flex; flex-direction: column; gap: 12px; padding: 16px 18px; }
.ov-stack--loose { gap: 14px; }
.ov-line { display: flex; align-items: center; gap: 10px; }
.ov-line > span:first-child { flex-grow: 1; }
.ov-note { font-size: 13px; }
.ov-divider { display: flex; flex-direction: column; gap: 6px; padding-top: 10px; border-top: 1px solid var(--hair); }

@media (max-width: 1199.98px) {
  .ov-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  .pb-verdict { grid-template-columns: auto 1fr; }
  .pb-verdict-figure { grid-column: 1 / -1; justify-items: start; min-width: 0; }
  .pb-row { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 8px 12px; padding: 12px; }
  .pb-row .pb-sev { grid-row: span 2; }
  .pb-row .pb-why { grid-column: 2 / -1; }
  .pb-row .pb-age { grid-column: 3; grid-row: 1; }
  .pb-row .pb-btn { grid-column: 2 / -1; justify-self: start; }
  .pb-card-head { flex-wrap: wrap; }
  .pb-fold summary { flex-wrap: wrap; }
  .ov-tablewrap .pb-table { min-width: 720px; }
}

/* ══ Tipografi + tema + sayfa duzeni (2026-09-25, kullanici olcegi) ══════════════════════════
   Olcek: 19/18/17/16 baslik (600), govde 15, 14.5/14/13.5/13/12.5 ikincil, 12 buyuk harf etiket,
   11.5 rozet/tablo basligi, 11/10.5 en kucuk rozet. 700 kullanilmaz. Font: IBM Plex Sans / Mono. */
:root {
  --font-display: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --tblr-font-sans-serif: var(--font-sans); --tblr-font-monospace: var(--font-mono);
  --tblr-body-font-size: .9375rem;
  --page-max: 1440px;
}
/* Tema yuzeyleri — ayrimlar belirgin ama sakin (kontrast olculdu: metin >=4.5, kontrol kenari >=3) */
[data-theme="light"] {
  --paper: #eef2f7; --surface-2: #f3f6fa; --surface-3: #e6ecf3;
  --hair: #d5dde8; --hair-2: #e6ebf2; --card-head: #f7f9fc; --row-alt: #fafbfd;
  --shadow-sm: 0 1px 2px rgba(27,48,75,.06), 0 1px 3px rgba(27,48,75,.04);
}
:root:not([data-theme="light"]), [data-theme="dark"] {
  --paper: #18253b; --surface: #203149; --surface-2: #273a55; --surface-3: #2f4462;
  --hair: #364b69; --hair-2: #2c4060; --border-strong: #7390b5;
  --card-head: #233550; --row-alt: #22344e;
  --ink: #eaf0f8; --muted: #b0bfd1; --faint: #a2b2c7; --brand: #86b8ec;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.35);
}

/* Sayfa ortada, en fazla --page-max; ust cubugun zemini tam genislik, icerigi ayni hizada */
body.pb-canvas.layout-fluid .container-xl, body.pb-canvas .container-xl { max-width: var(--page-max); margin-inline: auto; }
body.pb-canvas .pb-topbar { padding-inline: max(20px, calc((100% - var(--page-max)) / 2 + 12px)); }

/* Govde */
body.pb-canvas { font-family: var(--font-sans); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; background: var(--paper); color: var(--ink); }
body.pb-canvas b, body.pb-canvas strong { font-weight: 600; }
.mono, body.pb-canvas .pb-id, body.pb-canvas .pb-num, body.pb-canvas .pb-age, body.pb-canvas kbd { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* Basliklar */
body.pb-canvas .pb-page-title { font: 600 19px/1.4 var(--font-sans); letter-spacing: -.01em; }
body.pb-canvas .pb-panel-title, body.pb-canvas .pb-section-title { font: 600 18px/1.4 var(--font-sans); letter-spacing: -.01em; }
body.pb-canvas .pb-wordmark { font: 600 17px/1 var(--font-sans); letter-spacing: -.01em; }
body.pb-canvas .pb-wordmark b { font-weight: 600; }
body.pb-canvas .cdw-title, body.pb-canvas .modal-title { font: 600 17px/1.4 var(--font-sans); letter-spacing: -.01em; }
body.pb-canvas .pb-verdict h2, body.pb-canvas .pb-empty h3 { font: 600 16px/1.4 var(--font-sans); }
body.pb-canvas .pb-verdict-figure strong { font: 500 19px/1.2 var(--font-mono); }
body.pb-canvas .pb-verdict-figure strong small { font: 400 14px/1 var(--font-sans); }

/* Ikincil metin */
body.pb-canvas .pb-steps, body.pb-canvas .pb-steps a, body.pb-canvas .seg button { font-family: var(--font-sans); font-size: 14.5px; font-weight: 500; }
body.pb-canvas .pb-why { font-size: 14.5px; font-weight: 500; line-height: 1.4; }
body.pb-canvas .pb-why span { font-weight: 400; }
body.pb-canvas .pb-nav a { font: 500 14px/1 var(--font-sans); }
body.pb-canvas .pb-verdict p, body.pb-canvas .pb-pagehead p, body.pb-canvas .pb-table td { font-size: 14px; line-height: 1.4; }
body.pb-canvas .pb-empty p { font-size: 13.5px; }
body.pb-canvas .fld > label, body.pb-canvas .fld-label, body.pb-canvas .pb-filter, body.pb-canvas .pb-kb, body.pb-canvas .dropdown-item { font-size: 13px; font-weight: 500; }
body.pb-canvas .pb-faint, body.pb-canvas .pb-age, body.pb-canvas .pb-crumb, body.pb-canvas .ov-note { font-size: 12.5px; }
body.pb-canvas .dropdown-header, body.pb-canvas .pb-block h4 { font: 600 12px/1.4 var(--font-sans); text-transform: uppercase; letter-spacing: .09em; }
body.pb-canvas .pb-chip, body.pb-canvas .pb-tag { font: 600 11.5px/1 var(--font-sans); letter-spacing: .02em; }
body.pb-canvas .pb-id { font-size: 11.5px; font-weight: 500; }
body.pb-canvas .pb-who .pb-id { font-size: 13px; }
body.pb-canvas .pb-count { font: 600 11px/1 var(--font-sans); }
body.pb-canvas .pb-steps b { font: 600 10.5px/1 var(--font-mono); }

/* Dugmeler: islem dugmesi 15/600, ikincil 14/500, kucuk 13/500 */
body.pb-canvas .pb-btn { font: 600 15px/1 var(--font-sans); height: 38px; }
body.pb-canvas .pb-btn--secondary, body.pb-canvas .pb-btn--ghost { font-size: 14px; font-weight: 500; }
body.pb-canvas .pb-btn--sm { font: 500 13px/1 var(--font-sans); height: 30px; }
body.pb-canvas .inp, body.pb-canvas .cdw .inp, body.pb-canvas .re-page .inp { font: 400 15px/1.5 var(--font-sans); }

/* Ayrimlar: kart, kart basligi, tablo basligi, satirlar */
body.pb-canvas .pb-card { border: 1px solid var(--hair); box-shadow: var(--shadow-sm); }
body.pb-canvas .pb-card-head { background: var(--card-head); border-bottom: 1px solid var(--hair); }
body.pb-canvas .pb-table th { background: var(--surface-2); border-bottom: 1px solid var(--hair); color: var(--muted); font: 600 11.5px/1.4 var(--font-sans); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
body.pb-canvas .pb-table td { border-bottom: 1px solid var(--hair-2); }
body.pb-canvas .pb-table tbody tr:nth-child(even) td { background: var(--row-alt); }
body.pb-canvas .pb-table tbody tr:hover td { background: var(--surface-2); }
body.pb-canvas .pb-row { border-top: 1px solid var(--hair); }
body.pb-canvas .pb-queue .pb-row:nth-child(even) { background: var(--row-alt); }
body.pb-canvas .pb-queue .pb-row:hover { background: var(--surface-2); }
body.pb-canvas .card { border-color: var(--hair); box-shadow: var(--shadow-sm); }
body.pb-canvas .card-header { background: var(--card-head); border-bottom-color: var(--hair); }
body.pb-canvas .table thead th { background: var(--surface-2); color: var(--muted); }

/* Metin kaymasin: tablo ve liste satirlari tek satir, sigmayan kisim "…" */
body.pb-canvas .pb-table td { white-space: nowrap; }
body.pb-canvas .pb-table td.ov-konu, body.pb-canvas .pb-table .ov-konu { max-width: 460px; overflow: hidden; text-overflow: ellipsis; }
body.pb-canvas .pb-why { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
body.pb-canvas .pb-who, body.pb-canvas .pb-card-head .pb-panel-title { white-space: nowrap; }
body.pb-canvas .pb-nav a, body.pb-canvas .pb-btn, body.pb-canvas .pb-chip, body.pb-canvas .pb-tag { white-space: nowrap; }

/* ── Haftalik rapor listesi (2026-09-25): aktif hafta karti + katlanir ay gruplari ── */
.al-active { margin-bottom: 28px; }
.al-countdown { margin-left: auto; }
.al-rows { list-style: none; margin: 0; padding: 0; }
.al-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) 140px minmax(0, 1.4fr) auto; gap: 16px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--hair-2); white-space: nowrap; }
.al-row:first-child { border-top: 0; }
.al-team { font-weight: 500; }
.al-meta { overflow: hidden; text-overflow: ellipsis; }
.al-act { display: flex; gap: 8px; justify-content: flex-end; }
.al-foot { padding: 10px 18px; border-top: 1px solid var(--hair); background: var(--card-head); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.al-older-title { margin: 0 0 14px; }
.al-group { margin-bottom: 12px; }
.al-chiplink { text-decoration: none; }
.al-chiplink:hover .pb-chip { filter: brightness(.95); text-decoration: underline; }
.al-chiplink:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 999px; }
.al-danger { color: var(--err) !important; }
@media (max-width: 767.98px) {
  .al-row { grid-template-columns: 1fr auto; }
  .al-meta { grid-column: 1 / -1; }
  .al-act { grid-column: 1 / -1; justify-content: flex-start; }
}
.al-active > .pb-card-head .pb-panel-title { margin-right: 0; }

/* ── Eski tablolar (2026-09-25): sabit renkli satirlar temaya baglandi ──
   Tabler table-danger/warning/success/info sabit acik renkler kullaniyor (koyu temada parlak serit) */
body.pb-canvas .table > :not(caption) > tr.table-danger > *, body.pb-canvas .table > :not(caption) > * > tr.table-danger > *,
body.pb-canvas tr.table-danger > td { --tblr-table-bg: var(--err-bg); --bs-table-bg: var(--err-bg); --tblr-table-color: var(--ink); --bs-table-color: var(--ink); background-color: var(--err-bg); color: var(--ink); }
body.pb-canvas tr.table-warning > td { --tblr-table-bg: var(--warn-bg); --bs-table-bg: var(--warn-bg); background-color: var(--warn-bg); color: var(--ink); }
body.pb-canvas tr.table-success > td { --tblr-table-bg: var(--ok-bg); --bs-table-bg: var(--ok-bg); background-color: var(--ok-bg); color: var(--ink); }
body.pb-canvas tr.table-info > td { --tblr-table-bg: var(--info-bg); --bs-table-bg: var(--info-bg); background-color: var(--info-bg); color: var(--ink); }
/* Oncelik serit: vakalarin %95'i ORTA — her satirda bilgi tasimayan turuncu serit olusuyordu; yalniz Acil/Yuksek kalir */
body.pb-canvas .table tbody tr:has(.priority-orta) > td:first-child { box-shadow: none; }
