/* Ürün teknik veri yönetimi — Masttech tasarım dili (kırmızı vurgu, grafit metin, karolaj başlık, 12 px taban) */
:root {
  --mt-red: #E3010F; --mt-red-k: #B5000C; --mt-ink: #14181C; --mt-ink-2: #3A4046; --mt-gri: #5E656B; --mt-cizgi: #DDE1E4;
  --mt-zemin: #F8F8F8; --mt-yuzey: #FFFFFF; --mt-ok: #1F7A3F; --mt-uyari: #9A5B00; --mt-kaldi: #B5000C;
  --tv-r: 6px; --tv-gol: 0 1px 2px rgb(20 24 28 / .06), 0 4px 14px rgb(20 24 28 / .05);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; } /* .tv-btn display kuralı gizli Çıkış düğmesini görünür yapıyordu */
html { font-size: 15px; }
body { margin: 0; background: var(--mt-zemin); color: var(--mt-ink); font: 400 1rem/1.5 "Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans Arabic", "Noto Sans", sans-serif; overflow-wrap: break-word; hyphens: none; word-break: normal; }
.tv-kap { max-width: 1440px; margin: 0 auto; padding: 0 24px; }
.tv-ust { border-bottom: 1px solid var(--mt-cizgi); padding: 18px 0; }
.tv-ust-ic { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tv-marka { display: flex; align-items: center; gap: 12px; }
.tv-logo { inline-size: 40px; block-size: 40px; display: block; object-fit: contain; }
.tv-baslik { margin: 0; font-weight: 700; font-size: 1.2rem; text-wrap: balance; }
.tv-alt { margin: 0; color: var(--mt-gri); font-size: .85rem; }
.tv-ust-sag { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tv-ben { font-weight: 600; }
.tv-h1 { font-size: 1.6rem; margin: 0 0 8px; text-wrap: balance; }
.tv-h2 { font-size: 1.1rem; margin: 0 0 10px; }
.tv-h3 { font-size: 1rem; margin: 0; }
.tv-not { color: var(--mt-gri); margin: 8px 0; text-wrap: pretty; }
.tv-not--bant { border-inline-start: 3px solid var(--mt-red); padding: 6px 12px; background: var(--mt-yuzey); border-radius: 0 var(--tv-r) var(--tv-r) 0; font-size: .85rem; }
.tv-uyari { color: var(--mt-kaldi); font-weight: 600; }
.tv-btn { display: inline-flex; align-items: center; justify-content: center; min-block-size: 40px; padding: 8px 16px; border: 1px solid var(--mt-red); background: var(--mt-red); color: #fff; border-radius: var(--tv-r); font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; }
.tv-btn:hover { background: var(--mt-red-k); border-color: var(--mt-red-k); }
.tv-btn:focus-visible, .tv-girdi:focus-visible, .tv-sekme:focus-visible, .tv-is:focus-visible { outline: 2px solid var(--mt-ink); outline-offset: 2px; }
.tv-btn--ikincil { background: var(--mt-yuzey); color: var(--mt-ink); border-color: var(--mt-cizgi); }
.tv-btn--ikincil:hover { background: #F0F2F4; border-color: var(--mt-gri); }
.tv-btn--uyari { background: var(--mt-yuzey); color: var(--mt-kaldi); border-color: var(--mt-kaldi); }
.tv-btn--uyari:hover { background: #FCEDEE; border-color: var(--mt-kaldi); }
.tv-btn--k { min-block-size: 32px; padding: 4px 10px; font-size: .85rem; }
.tv-girdi { min-block-size: 40px; padding: 8px 10px; border: 1px solid var(--mt-cizgi); border-radius: var(--tv-r); font: inherit; background: var(--mt-yuzey); color: var(--mt-ink); min-inline-size: 0; }
.tv-girdi--dar { inline-size: 90px; }
textarea.tv-girdi { resize: vertical; }
.tv-giris { max-width: 560px; margin: 48px auto; background: var(--mt-yuzey); padding: 32px; border-radius: 10px; box-shadow: var(--tv-gol); }
.tv-dev { margin-top: 24px; padding: 16px; border: 1px dashed var(--mt-uyari); border-radius: var(--tv-r); display: grid; gap: 10px; }
.tv-dev-b { margin: 0; color: var(--mt-uyari); font-weight: 700; font-size: .85rem; }
.tv-sekmeler { display: flex; gap: 4px; flex-wrap: wrap; margin: 20px 0 8px; border-bottom: 1px solid var(--mt-cizgi); }
.tv-sekme { border: 0; background: none; padding: 10px 14px; font: inherit; font-weight: 600; color: var(--mt-gri); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.tv-sekme[aria-selected="true"] { color: var(--mt-ink); border-bottom-color: var(--mt-red); }
.tv-filtre { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(2, minmax(150px, 1fr)) auto; gap: 10px; align-items: center; margin: 12px 0; }
.tv-onay { display: flex; gap: 6px; align-items: center; white-space: nowrap; }
.tv-sayi { grid-column: 1 / -1; margin: 0; color: var(--mt-gri); font-size: .85rem; }
.tv-kartlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding-bottom: 40px; }
.tv-kart { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--tv-gol); }
.tv-kart-ust { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.tv-kart-kod { margin: 0; font-size: 1.05rem; font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; }
.tv-kart-meta { margin: 2px 0 0; color: var(--mt-gri); font-size: .85rem; }
.tv-eksik { background: #FCEDEE; color: var(--mt-kaldi); border-radius: 999px; padding: 2px 10px; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.tv-alanlar { margin: 0; display: grid; gap: 6px; }
.tv-alan { display: grid; grid-template-columns: 9.5rem 1fr; gap: 8px; align-items: center; border-top: 1px solid #EEF0F2; padding-top: 6px; }
.tv-alan dt { color: var(--mt-gri); font-size: .85rem; }
.tv-alan dd { margin: 0; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.tv-deger { font-weight: 600; font-variant-numeric: tabular-nums; }
.tv-kart-alt { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; justify-content: space-between; font-size: .85rem; color: var(--mt-ink-2); margin-top: auto; }
.tv-cip { display: inline-block; border-radius: 999px; padding: 2px 10px; font-size: .8rem; font-weight: 600; border: 1px solid transparent; white-space: nowrap; }
.tv-cip--k { font-size: .75rem; padding: 1px 8px; }
.tv-cip--not_entered { background: #F1F2F3; color: var(--mt-gri); border-color: #E1E4E6; }
.tv-cip--draft { background: #EEF3FA; color: #2C4F7C; }
.tv-cip--pending_technical, .tv-cip--pending_final, .tv-cip--pending_digital { background: #FFF5E5; color: var(--mt-uyari); }
.tv-cip--revision_requested { background: #FCEDEE; color: var(--mt-kaldi); }
.tv-cip--technically_verified, .tv-cip--ready { background: #EAF5EE; color: var(--mt-ok); }
.tv-cip--published { background: var(--mt-ok); color: #fff; }
.tv-dil-cip { display: inline-block; font-size: .72rem; font-weight: 700; padding: 1px 6px; border-radius: 4px; margin-inline-end: 4px; }
.tv-cekmece { position: fixed; inset: 0; background: rgb(20 24 28 / .4); display: flex; justify-content: flex-end; z-index: 20; }
.tv-cekmece[hidden] { display: none; }
.tv-cekmece-ic { inline-size: min(760px, 100%); block-size: 100%; overflow: auto; background: var(--mt-zemin); padding: 20px 24px 48px; }
.tv-cekmece-ust { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: sticky; top: -20px; background: var(--mt-zemin); padding: 8px 0; z-index: 1; }
.tv-cekmece-ust h2 { margin: 0; font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; }
.tv-panel { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 14px; margin: 12px 0; display: grid; gap: 8px; }
.tv-panel-ust { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; }
.tv-panel-deger { margin: 0; text-wrap: pretty; }
.tv-mini { font-size: .8rem; color: var(--mt-gri); margin: 0; }
.tv-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.tv-form > .tv-girdi { flex: 1 1 160px; }
.tv-form > .tv-girdi--dar { flex: 0 0 90px; }
.tv-form--atama { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 12px; }
.tv-eylemler { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; border-top: 1px solid #EEF0F2; padding-top: 10px; }
.tv-eylemler > .tv-girdi { flex: 1 1 220px; }
.tv-dosya { font-size: .85rem; color: var(--mt-ink-2); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.tv-rapor { margin: 0; padding-inline-start: 18px; font-size: .85rem; }
.tv-kanit { margin-inline-start: 10px; color: var(--mt-ink-2); }
.tv-ok { color: var(--mt-ok); } .tv-kaldi { color: var(--mt-kaldi); }
.tv-gecmis { padding-inline-start: 20px; font-size: .85rem; display: grid; gap: 6px; }
.tv-blok { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 16px; margin: 12px 0; }
.tv-isler { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 6px; }
.tv-is { inline-size: 100%; text-align: start; border: 1px solid var(--mt-cizgi); background: var(--mt-zemin); border-radius: var(--tv-r); padding: 8px 10px; font: inherit; cursor: pointer; }
.tv-is:hover { border-color: var(--mt-gri); }
.tv-tablo-kap { overflow-x: auto; background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; margin: 12px 0 40px; }
.tv-tablo { border-collapse: collapse; inline-size: 100%; font-size: .85rem; }
.tv-tablo th, .tv-tablo td { text-align: start; padding: 8px 10px; border-bottom: 1px solid #EEF0F2; vertical-align: top; }
.tv-tablo th { background: #F3F4F5; font-weight: 700; white-space: nowrap; }
.tv-ozet { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin: 12px 0 40px; }
.tv-ozet-k { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 14px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.tv-ozet-k b { font-size: 1.4rem; font-variant-numeric: tabular-nums; }
[dir="rtl"] .tv-deger, [dir="rtl"] .tv-panel-deger b { unicode-bidi: isolate; direction: ltr; }
.tv-alan dd.tv-diller { justify-content: flex-start; gap: 4px; }
.tv-bildirim { visibility: hidden; }
.tv-bildirim--acik { visibility: visible; }
.tv-bildirim { position: fixed; inset-block-end: 16px; inset-inline-start: 50%; transform: translateX(-50%) translateY(140%); background: var(--mt-ink); color: #fff; padding: 10px 16px; border-radius: var(--tv-r); transition: transform .2s; z-index: 30; max-inline-size: calc(100% - 32px); }
[dir="rtl"] .tv-bildirim { transform: translateX(50%) translateY(140%); }
.tv-bildirim--acik { transform: translateX(-50%) translateY(0); }
[dir="rtl"] .tv-bildirim--acik { transform: translateX(50%) translateY(0); }
.tv-bildirim--hata { background: var(--mt-kaldi); }
@media (max-width: 1180px) { .tv-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .tv-kap { padding: 0 16px; }
  .tv-kartlar { grid-template-columns: 1fr; }
  .tv-filtre { grid-template-columns: 1fr 1fr; } .tv-filtre > input[type="search"] { grid-column: 1 / -1; }
  .tv-sekmeler { flex-wrap: nowrap; overflow-x: auto; }
  .tv-alan { grid-template-columns: 8rem 1fr; }
  .tv-cekmece-ic { padding: 16px; }
  .tv-tablo thead { display: none; }
  .tv-tablo tr { display: block; border-bottom: 1px solid var(--mt-cizgi); padding: 6px 0; }
  .tv-tablo td { display: grid; grid-template-columns: 8rem 1fr; gap: 8px; border: 0; padding: 3px 10px; }
  .tv-tablo td::before { content: attr(data-label); color: var(--mt-gri); font-weight: 600; }
}

/* FAZ 2: onay kaydı olmayan geçmiş yayın işareti (başlangıç aktarımı) */
.tv-onaysiz { display: inline-block; margin-inline-start: 6px; padding: 1px 8px; border: 1px dashed #B26B00; border-radius: 10px; color: #7A4A00; background: #FFF6E5; font-size: 12px; white-space: nowrap; }
.tv-onaysiz-not { color: #7A4A00; }
.tv-onaysiz-blok { border-inline-start: 3px solid #B26B00; padding-inline-start: 12px; }

/* Eksik bilgiler sekmesi: alan başına açılır bölüm, model kodları satıra sarar */
.tv-eksik-alan { border: 1px solid var(--mt-cizgi, #E1E4E7); border-radius: 8px; padding: 8px 12px; margin: 8px 0; background: #fff; }
.tv-eksik-alan > summary { cursor: pointer; line-height: 1.5; }
.tv-eksik-kodlar { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; max-width: 100%; }
.tv-kod { font: inherit; font-size: 13px; padding: 3px 10px; border-radius: 6px; border: 1px solid #C9CED3; background: #F7F8F9; cursor: pointer; white-space: nowrap; }
.tv-kod:hover, .tv-kod:focus-visible { border-color: var(--mt-kirmizi, #C8102E); }
.tv-kod--eksik { border-color: #E3A9B0; background: #FCEDEE; }
.tv-kod--bekleyen { border-color: #E8C887; background: #FFF6E5; }

/* Düzenleme: kalem düğmesi + çift tıklama. Form, panel açık değilken gizli; boş değer kırmızı tire ile belirgin. */
.tv-alan--duzenlenir { cursor: pointer; border-radius: 4px; }
.tv-alan.tv-alan--duzenlenir:hover { background: #FAFAFB; }
.tv-panel-deger.tv-alan--duzenlenir:hover { background: #FAFAFB; }
.tv-deger--bos { color: var(--mt-kaldi); font-weight: 600; }
.tv-kalem { min-inline-size: 28px; min-block-size: 28px; padding: 0 6px; border: 1px solid var(--mt-cizgi); border-radius: var(--tv-r); background: var(--mt-yuzey); color: var(--mt-ink-2); font: inherit; cursor: pointer; margin-inline-start: auto; }
.tv-kalem:hover, .tv-kalem:focus-visible { border-color: var(--mt-red); color: var(--mt-red); outline: none; }
.tv-panel-ust-sag { display: flex; gap: 8px; align-items: center; }
.tv-btn--kalem { min-block-size: 32px; padding: 4px 12px; font-size: .85rem; }
.tv-panel:not(.tv-panel--acik) > .tv-form, .tv-panel:not(.tv-panel--acik) > .tv-dosya { display: none; }
.tv-panel--acik, .tv-panel--odak { border-color: var(--mt-red); box-shadow: 0 0 0 1px var(--mt-red); }
.tv-panel { scroll-margin-top: 72px; }
.tv-onay-kart { max-width: 760px; margin: 24px auto 12px; display: grid; gap: 10px; }
.tv-onay-kart + .tv-blok { max-width: 760px; margin: 0 auto 40px; }
.tv-onay-sec { display: flex; gap: 4px; border-bottom: 1px solid var(--mt-cizgi); }
.tv-onay-sec .tv-sekme[aria-selected="true"] { color: var(--mt-ink); border-bottom-color: var(--mt-red); }
.tv-onay-alan { display: grid; gap: 10px; }
.tv-onay-alan > .tv-btn { justify-self: start; }
.tv-hizli { display: grid; gap: 8px; padding: 10px 12px; border-radius: var(--tv-r); background: #FFF6F6; border: 1px dashed var(--mt-red); }
.tv-hizli--onay { background: #F1F8F3; border-color: var(--mt-ok); }
.tv-hizli-b { margin: 0; font-weight: 700; }
.tv-hizli > .tv-btn { justify-self: start; }
.tv-posta { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tv-posta > li { display: grid; gap: 4px; border-top: 1px solid #EEF0F2; padding-top: 8px; }
.tv-kanal { display: inline-block; font-size: .72rem; font-weight: 700; padding: 1px 6px; border-radius: 4px; background: #EEF3FA; color: #2C4F7C; vertical-align: middle; }
.tv-posta--wa .tv-kanal { background: #EAF5EE; color: var(--mt-ok); }
.tv-posta-govde { margin: 0; white-space: pre-wrap; font: inherit; font-size: .85rem; color: var(--mt-ink-2); background: var(--mt-zemin); border-radius: var(--tv-r); padding: 8px 10px; } /* yapışkan çekmece başlığının altında kalmasın */

/* K-059 tek kaynak (2026-11-10): teknik açıklama tek kart — TR kaynak + bağlı çeviriler */
.tv-aciklama-kart { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 14px; margin: 12px 0; display: grid; gap: 4px; }
.tv-aciklama-kart > .tv-panel { margin: 4px 0; border-style: solid; }
.tv-h4 { font-size: .92rem; margin: 0; }
.tv-ceviriler { display: grid; gap: 4px; margin-top: 6px; padding-top: 8px; border-top: 1px dashed var(--mt-cizgi); }
.tv-ceviriler > .tv-panel { margin: 4px 0; padding: 10px 12px; background: var(--mt-zemin); }
.tv-ceviri--guncel { background: #E8F5EC; color: #1E6B34; }
.tv-ceviri--eskimis { background: #FFF5E5; color: var(--mt-uyari); }
.tv-ceviri--bag_yok { background: #F1F2F4; color: var(--mt-gri); }
.tv-alan--aciklama dd { flex-wrap: wrap; }
.tv-deger--metin { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-inline-size: 100%; font-weight: 400; }
.tv-ceviri-ozet { flex-basis: 100%; }

/* ---- Süreç özeti + Seri özeti (Ürün / model listesi; 2026-11-10, K-060 minimum: yalnız özet) ---- */
.tv-simge { display: inline-flex; flex: none; line-height: 0; }
.tv-surec { display: grid; grid-template-columns: auto 1fr minmax(200px, 260px); gap: 16px; align-items: start; margin: 12px 0; padding: 16px 18px; background: #FDF1F2; border: 1px solid #F6D3D6; border-inline-start: 4px solid var(--mt-red); border-radius: var(--tv-r); }
.tv-surec-simge { color: var(--mt-red); }
.tv-surec-baslik { margin: 0 0 8px; color: var(--mt-red-k); font-size: 1rem; font-weight: 700; }
.tv-surec-adimlar { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .9rem; color: var(--mt-ink-2); }
.tv-surec-adimlar li { display: flex; gap: 10px; align-items: flex-start; }
.tv-surec-adimlar b { color: var(--mt-ink); }
.tv-surec-no { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--mt-red); color: #fff; font-size: .78rem; font-weight: 700; margin-top: 1px; }
.tv-surec-not { margin: 8px 0 0 32px; color: var(--mt-gri); font-size: .8rem; }
.tv-surec-amac { display: flex; gap: 10px; align-items: flex-start; padding-inline-start: 16px; border-inline-start: 1px solid #F0C2C6; align-self: stretch; }
.tv-surec-amac p { margin: 0; font-size: .9rem; font-weight: 600; color: var(--mt-ink); }
.tv-seri-ozet { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: center; margin: 0 0 4px; padding: 10px 14px; background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: var(--tv-r); box-shadow: var(--tv-gol); }
.tv-seri-simge { color: var(--mt-ink-2); }
.tv-seri-baslik { font-size: .9rem; }
.tv-seri-cipler { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 auto; min-width: 0; }
.tv-seri-cip { font: inherit; font-size: .82rem; padding: 3px 10px; border: 1px solid var(--mt-cizgi); border-radius: 999px; background: var(--mt-zemin); color: var(--mt-ink-2); cursor: pointer; white-space: nowrap; }
.tv-seri-cip b { color: var(--mt-red); }
.tv-seri-cip[aria-pressed="true"] { border-color: var(--mt-red); background: #FDF1F2; color: var(--mt-ink); }
.tv-seri-cip:focus-visible { outline: 2px solid var(--mt-red); outline-offset: 2px; }
.tv-seri-sayac { margin-inline-start: auto; padding: 3px 10px; border-radius: 999px; background: var(--mt-red); color: #fff; font-size: .82rem; font-weight: 700; white-space: nowrap; }
@media (max-width: 760px) {
  .tv-surec { grid-template-columns: auto 1fr; }
  .tv-surec-amac { grid-column: 1 / -1; padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid #F0C2C6; padding-top: 10px; }
  .tv-surec-not { margin-inline-start: 0; }
}

/* Tek kelimelik son satırı önle (proje kuralı) */
.tv-surec, .tv-surec * { text-wrap: pretty; }

/* ---- Giriş ekranı (2026-11-10, yalnız görsel): gri düz üst bant, altta açık karolaj, kart yatay+dikey ortalı ---- */
body.tv-giris-modu { min-block-size: 100vh; min-block-size: 100dvh; display: flex; flex-direction: column; }
.tv-ust { background: #EAEAEA !important; background-image: none !important; border-bottom: 1px solid #D9DCDF; } /* 2026-11-10: tüm ekranlarda düz gri üst bant, bant içinde karolaj yok */
body.tv-giris-modu .tv-ust { flex: none; }
body.tv-giris-modu #tvAna { flex: 1 0 auto; max-width: none; inline-size: 100%; margin: 0; display: grid; place-items: center; padding: 40px 16px; --mt-karolaj-zemin: #FFFFFF; --mt-karolaj-ton: #F4F5F6; }
body.tv-giris-modu .tv-giris { inline-size: min(440px, 100%); max-width: none; margin: 0; padding: 32px 32px 28px; border: 1px solid var(--mt-cizgi); border-top: 3px solid var(--mt-red); text-align: center; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.tv-giris-logo { inline-size: 56px; block-size: 56px; object-fit: contain; display: block; margin: 0 auto 16px; }
body.tv-giris-modu .tv-giris .tv-h1 { font-size: 1.5rem; margin: 0 0 8px; }
body.tv-giris-modu .tv-giris .tv-not { margin: 0 0 24px; }
body.tv-giris-modu .tv-giris .tv-uyari { margin: 0 0 16px; }
body.tv-giris-modu .tv-giris > .tv-btn { inline-size: 100%; max-inline-size: 100%; white-space: normal; text-align: center; min-block-size: 44px; }
.tv-giris-yetkili { margin: 12px 0 0; color: var(--mt-gri); font-size: .8rem; }
body.tv-giris-modu .tv-dev { text-align: start; }
@media (max-width: 480px) { body.tv-giris-modu #tvAna { padding: 24px 16px; } body.tv-giris-modu .tv-giris { padding: 24px 20px 22px; } }

/* ---- 2026-11-10 sade arayüz: kart, ayrıntı sekmeleri, alan satırı, kısa form ---- */
.tv-surec-kap { margin: 12px 0; }
.tv-surec-kap > summary { cursor: pointer; font-weight: 600; color: var(--mt-ink-2); font-size: .9rem; padding: 6px 0; inline-size: fit-content; }
.tv-surec-kap > summary:focus-visible { outline: 2px solid var(--mt-red); outline-offset: 2px; }
.tv-kart--sade { gap: 12px; }
.tv-kart--sade .tv-kart-kod { font-size: 1.15rem; }
.tv-kart-sayac { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tv-rozet { background: #FFF5E5; color: var(--mt-uyari); border-radius: 999px; padding: 2px 10px; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.tv-rozet--tamam { background: #EAF5EE; color: var(--mt-ok); }
.tv-kart-eylem { align-self: flex-start; margin-top: auto; min-inline-size: 140px; }
.tv-dsekmeler { margin: 12px 0 10px; }
.tv-dsekmeler .tv-sekme { display: inline-flex; align-items: center; gap: 6px; }
.tv-sayi-rozet { background: #EEF0F2; color: var(--mt-ink-2); border-radius: 999px; padding: 0 7px; font-size: .75rem; line-height: 1.5rem; min-inline-size: 1.5rem; text-align: center; }
.tv-sekme[aria-selected="true"] .tv-sayi-rozet { background: var(--mt-red); color: #fff; }
.tv-satirlar { display: grid; gap: 8px; }
.tv-satir { background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 10px 12px; scroll-margin-top: 72px; }
.tv-satir--odak { border-color: var(--mt-red); box-shadow: 0 0 0 1px var(--mt-red); }
.tv-satir--vurgu { border-color: var(--mt-ok); box-shadow: 0 0 0 1px var(--mt-ok); }
.tv-satir-ust { display: grid; grid-template-columns: minmax(9rem, 1.1fr) minmax(0, 1.4fr) auto auto; gap: 8px 12px; align-items: center; }
.tv-satir-ad { font-weight: 600; font-size: .92rem; }
.tv-satir-deger { min-inline-size: 0; }
.tv-satir-deger .tv-deger--metin { display: block; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: .88rem; }
.tv-satir-durum { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.tv-satir-dugme { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.tv-satir-not { margin: 6px 0 0; }
.tv-satir-ac { margin-top: 10px; padding-top: 10px; border-top: 1px solid #EEF0F2; }
.tv-btn--gir { min-inline-size: 96px; }
.tv-btn--duzelt { border-color: var(--mt-red); color: var(--mt-red); }
.tv-btn--duzelt:hover { background: #FCEDEE; border-color: var(--mt-red-k); }
.tv-btn:disabled { opacity: .6; cursor: progress; }
.tv-kf-izgara { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(70px, .5fr) minmax(0, 1.6fr) minmax(0, 1.4fr); gap: 10px; align-items: end; }
.tv-kf-izgara--metin { grid-template-columns: minmax(70px, .4fr) minmax(0, 1.4fr) minmax(0, 1.2fr); }
.tv-kf-izgara--metin .tv-kf-alan--genis { grid-column: 1 / -1; }
.tv-kf-alan { display: grid; gap: 4px; min-inline-size: 0; }
.tv-kf-alan > .tv-girdi { inline-size: 100%; }
.tv-kf-ad { font-size: .78rem; font-weight: 600; color: var(--mt-gri); }
.tv-kf-yok { min-block-size: 40px; display: flex; align-items: center; color: var(--mt-gri); }
.tv-girdi--dosya { padding: 6px 8px; font-size: .82rem; }
.tv-kf-alt { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.tv-islem { display: grid; gap: 8px; }
.tv-kaynaklar { margin: 0; padding-inline-start: 18px; display: grid; gap: 6px; font-size: .9rem; }
.tv-ceviri-kontrol { margin: 12px 0; background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-radius: 10px; padding: 10px 14px; }
.tv-ceviri-kontrol > summary { cursor: pointer; font-weight: 600; }
.tv-ceviri-kontrol[open] > summary { margin-bottom: 8px; }
@media (max-width: 760px) {
  .tv-satir-ust { grid-template-columns: minmax(0, 1fr) auto; }
  .tv-satir-ad { grid-column: 1 / -1; }
  .tv-satir-durum { grid-column: 1 / -1; }
  .tv-satir-dugme { grid-column: 1 / -1; justify-content: flex-start; }
  .tv-satir-dugme .tv-btn { flex: 1 1 auto; }
  .tv-kf-izgara, .tv-kf-izgara--metin { grid-template-columns: 1fr; }
  .tv-kf-alt .tv-btn { flex: 1 1 auto; }
  .tv-dsekmeler { flex-wrap: nowrap; overflow-x: auto; }
  .tv-kart-eylem { inline-size: 100%; }
}

/* "Yalnız eksik veri": kartta eksik / bekleyen alan adları (anında, ek işlem yok) */
.tv-filtre-durum { margin: 4px 0 10px; }
.tv-kart-eksikler { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tv-ea-btn { font: inherit; font-size: .8rem; padding: 2px 9px; border: 1px solid #F3C4C8; border-radius: 999px; background: #FDF1F2; color: var(--mt-kaldi); cursor: pointer; }
.tv-ea--bekliyor .tv-ea-btn { border-color: #F0D9B5; background: #FFF5E5; color: var(--mt-uyari); }
.tv-ea-btn:hover, .tv-ea-btn:focus-visible { border-color: var(--mt-red); outline: none; }

/* Süreç özeti artık iki sütun (amaç ayrı şeritte) */
.tv-surec { grid-template-columns: auto 1fr; }
/* Amaç + destek şeridi: masaüstünde tek satır, 390 px'te alt alta */
.tv-amac-serit { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; margin: 0 0 12px; padding: 10px 14px; background: var(--mt-yuzey); border: 1px solid var(--mt-cizgi); border-inline-start: 3px solid var(--mt-red); border-radius: 10px; }
.tv-amac { display: flex; gap: 10px; align-items: center; flex: 1 1 320px; min-inline-size: 0; }
.tv-amac p { margin: 0; font-weight: 600; font-size: .92rem; }
.tv-destek { display: flex; gap: 8px 14px; align-items: center; flex-wrap: wrap; flex: 0 1 auto; min-inline-size: 0; }
.tv-destek-baslik { font-size: .88rem; }
.tv-destek-metin { margin: 0; font-size: .82rem; color: var(--mt-gri); max-inline-size: 36rem; }
.tv-destek-link { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: 1px solid var(--mt-cizgi); border-radius: var(--tv-r); background: var(--mt-zemin); color: var(--mt-ink); font-weight: 600; font-size: .88rem; text-decoration: none; white-space: nowrap; }
.tv-destek-link:hover { border-color: var(--mt-red); }
.tv-destek-link:focus-visible { outline: 2px solid var(--mt-ink); outline-offset: 2px; }
.tv-destek-simge { display: inline-flex; }
@media (max-width: 600px) { .tv-destek { flex: 1 1 100%; } .tv-destek-link { inline-size: 100%; justify-content: center; } }

/* WhatsApp hap düğmesi (referans görsel). Beyaz yazı / #15803D = 5,02:1 (WCAG AA); #25D366 üzerinde beyaz 1,98:1 olduğu için koyu ton seçildi. */
.tv-destek-eylem { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; }
.tv-wa-btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px 8px 14px; border-radius: 999px; background: #15803D; color: #fff; font-weight: 700; font-size: .95rem; text-decoration: none; white-space: nowrap; border: 0; box-shadow: 0 1px 2px rgb(20 24 28 / .18); }
.tv-wa-btn:hover { background: #116B33; }
.tv-wa-btn:focus-visible { outline: 3px solid var(--mt-ink); outline-offset: 2px; }
.tv-destek-kisi { font-size: .85rem; font-weight: 600; color: var(--mt-ink-2); white-space: nowrap; }
@media (max-width: 600px) { .tv-destek-eylem { inline-size: 100%; } .tv-wa-btn { flex: 1 1 auto; justify-content: center; } }
@media (max-width: 480px) { .tv-dsekmeler .tv-sekme { padding: 8px 8px; font-size: .86rem; gap: 4px; } .tv-sayi-rozet { min-inline-size: 1.25rem; line-height: 1.25rem; padding: 0 5px; } }

/* K-062 ek: yetki yoksa tek, sakin not (ayrıntıda bir kez) */
.tv-yetki-yok { color: #5E656B; font-style: normal; margin: 2px 0 8px; }

/* 2026-11-10 08:22Z (Sinan "WA küçük yuvarlak"): destek tek cümle + satır sonunda 34 px yeşil yuvarlak WhatsApp simgesi.
   Masaüstü tek kompakt satır; dar ekranda metin alt alta sarar, düğme metnin sonunda kalır. #15803D üzerinde beyaz 5.02:1. */
.tv-amac-serit p.tv-destek { display: block; margin: 0; font-size: .86rem; line-height: 1.55; color: var(--mt-ink-2); max-inline-size: 46rem; }
.tv-amac-serit p.tv-destek .tv-destek-baslik { color: var(--mt-ink); font-size: inherit; }
.tv-wa-yuvarlak { display: inline-flex; align-items: center; justify-content: center; inline-size: 34px; block-size: 34px; margin-inline-start: 6px;
  vertical-align: middle; border-radius: 50%; background: #15803D; box-shadow: 0 1px 2px rgb(20 24 28 / .18); text-decoration: none; flex: none; }
.tv-wa-yuvarlak svg { inline-size: 19px; block-size: 19px; }
.tv-wa-yuvarlak:hover { background: #116B33; }
.tv-wa-yuvarlak:focus-visible { outline: 3px solid var(--mt-ink); outline-offset: 2px; }
@media (max-width: 600px) { .tv-amac-serit p.tv-destek { flex: 1 1 100%; } }
/* Masaüstünde destek cümlesi tek satır: amaç kendi genişliğinde, destek kalan alanı alır */
@media (min-width: 1200px) { .tv-amac-serit .tv-amac { flex: 0 1 auto; } .tv-amac-serit p.tv-destek { flex: 1 1 0; max-inline-size: none; text-align: end; font-size: .84rem; } }

/* K-065 çoklu öneri + yaklaşık değer (2026-11-10) */
.tv-tur { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; border: 0; padding: 0; margin: 0 0 10px; }
.tv-tur legend { float: inline-start; margin-inline-end: 6px; padding: 0; }
.tv-tur-sec { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; cursor: pointer; min-block-size: 32px; }
.tv-tur-sec input { inline-size: 18px; block-size: 18px; accent-color: var(--mt-red); margin: 0; }
.tv-kf-alan[hidden] { display: none !important; }
.tv-oneriler { margin: 8px 0 2px; padding: 10px 12px; border: 1px solid var(--mt-cizgi); border-radius: 10px; background: #FBFBFC; }
.tv-onr-baslik { margin: 0 0 6px; font-size: .88rem; }
.tv-onr-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.tv-onr { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 4px 6px; border-radius: 8px; }
.tv-onr:has(input:checked) { background: #F1F7F3; outline: 1px solid #A7D3B5; }
.tv-onr-satir { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; flex: 1 1 auto; min-inline-size: 0; cursor: pointer; min-block-size: 32px; }
.tv-onr-satir input[type=radio] { inline-size: 18px; block-size: 18px; accent-color: #15803D; margin: 0; }
.tv-onr-bos { inline-size: 18px; }
.tv-onr-deger { font-weight: 700; font-variant-numeric: tabular-nums; }
.tv-onr-tur { font-size: .74rem; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: #E8F2EC; color: #14532D; }
.tv-onr-tur--yaklasik { background: #FFF3DD; color: #7A4B00; }
.tv-onr-kim { font-size: .82rem; color: var(--mt-gri); }
.tv-onr-durum { color: #7A4B00; }
.tv-onr-ek { display: inline-flex; gap: 12px; }
.tv-link { font: inherit; font-size: .82rem; background: none; border: 0; padding: 4px 0; color: var(--mt-ink); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; min-block-size: 32px; }
.tv-link--uyari { color: var(--mt-kaldi); }
.tv-onr-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; }
.tv-onr-uyari { color: #7A4B00; margin: 0; }
.tv-onr-form { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px; align-items: end; padding: 6px 0 2px 28px; }
.tv-onr-form .tv-girdi { min-inline-size: 180px; }
.tv-cip--oneri { background: #EEF2FF; color: #3730A3; }
.tv-cip--tahmin { background: #FFF3DD; color: #7A4B00; }
.tv-rozet--oneri { background: #EEF2FF; color: #3730A3; }
.tv-onr-g-alan + .tv-onr-g-alan { margin-top: 8px; }
.tv-onr-d--secildi { background: #E8F2EC; color: #14532D; }
.tv-onr-d--secilmedi, .tv-onr-d--reddedildi { background: #F1F1F2; color: #4B5157; }
.tv-onr-d--donusturuldu { background: #EEF2FF; color: #3730A3; }
@media (max-width: 600px) { .tv-onr-form { padding-inline-start: 0; } .tv-onr-form .tv-girdi { min-inline-size: 0; inline-size: 100%; } .tv-onr-kim { flex: 1 1 100%; } }

/* Onay süreci özet ekranı (2026-11-10, K-067 ile): süreç şeridi + ikonlu sayaçlar + uyarı kutusu */
.tv-oz-simge { display: inline-grid; place-items: center; flex: none; }
.tv-oz-surec { margin: 12px 0 16px; padding: 16px 18px 18px; background: var(--mt-yuzey, #fff); border: 1px solid var(--mt-cizgi, #E3E5E8); border-inline-start: 4px solid var(--mt-red); border-radius: 10px; }
.tv-oz-surec-baslik { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 1.05rem; font-weight: 700; color: var(--mt-ink, #1d1f22); }
.tv-oz-surec-baslik .tv-oz-simge { color: var(--mt-red); }
.tv-oz-adimlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 8px; align-items: stretch; }
.tv-oz-adim { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid var(--mt-cizgi, #E3E5E8); border-radius: 10px; background: #fff; min-width: 0; }
.tv-oz-adim-simge { width: 40px; height: 40px; border-radius: 10px; background: #FDECEE; color: var(--mt-red); }
.tv-oz-adim-ad { margin: 0 0 4px; font-weight: 700; font-size: .95rem; color: var(--mt-ink, #1d1f22); }
.tv-oz-adim-no { color: var(--mt-red); }
.tv-oz-adim-metin { margin: 0; font-size: .82rem; line-height: 1.45; color: var(--mt-ink-2, #44484e); text-wrap: pretty; }
.tv-oz-ok { display: grid; place-items: center; color: #A9AEB4; }
.tv-oz-sayaclar { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.tv-oz-sayac { --oz-r: #5E656B; --oz-z: #EEF0F2; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 12px 14px; background: #fff; border: 1px solid var(--mt-cizgi, #E3E5E8); border-radius: 10px; min-width: 0; }
.tv-oz-sayac-simge { width: 40px; height: 40px; border-radius: 10px; background: var(--oz-z); color: var(--oz-r); position: relative; }
.tv-oz-sayac-ad { padding-inline-start: 12px; border-inline-start: 1px solid var(--mt-cizgi, #E3E5E8); font-size: .86rem; font-weight: 600; color: var(--mt-ink, #1d1f22); line-height: 1.3; min-width: 0; text-wrap: balance; }
.tv-oz-sayac-n { font-size: 1.5rem; font-variant-numeric: tabular-nums; color: var(--mt-ink, #1d1f22); white-space: nowrap; }
.tv-oz--gri { --oz-r: #5E656B; --oz-z: #EEF0F2; }
.tv-oz--mavi { --oz-r: #1F5FBF; --oz-z: #E8F0FC; }
.tv-oz--turuncu { --oz-r: #B25A00; --oz-z: #FFF1E0; }
.tv-oz--kirmizi { --oz-r: #C21F2E; --oz-z: #FDECEE; }
.tv-oz--yesil { --oz-r: #1E7A3C; --oz-z: #E6F4EA; }
.tv-oz--yayinda { background: #1E6B37; border-color: #1E6B37; --oz-r: #fff; --oz-z: rgba(255,255,255,.16); }
.tv-oz--yayinda .tv-oz-sayac-ad, .tv-oz--yayinda .tv-oz-sayac-n { color: #fff; border-color: rgba(255,255,255,.35); }
.tv-oz-uyari { display: flex; gap: 14px; align-items: flex-start; margin: 0 0 40px; padding: 14px 16px; background: #FFF8EE; border: 1px solid #F3D9B5; border-inline-start: 4px solid #D9822B; border-radius: 10px; }
.tv-oz-uyari-simge { color: #D9822B; }
.tv-oz-uyari-simge svg { width: 26px; height: 26px; }
.tv-oz-uyari-baslik { margin: 0 0 4px; font-size: 1rem; font-weight: 700; color: #7A4A00; }
.tv-oz-uyari p { margin: 0; font-size: .86rem; line-height: 1.5; color: var(--mt-ink-2, #44484e); text-wrap: pretty; }
@media (max-width: 1280px) { .tv-oz-sayaclar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) {
  .tv-oz-adimlar { grid-template-columns: 1fr 1fr; }
  .tv-oz-ok { display: none; }
}
@media (max-width: 640px) { .tv-oz-adimlar, .tv-oz-sayaclar { grid-template-columns: 1fr; } }
/* K-067 kolay giriş: salt okunur otomatik birim, seçimde doğrulama ekleri */
.tv-girdi--birim { display: inline-flex; align-items: center; background: #F3F4F6; color: var(--mt-ink-2, #44484e); }
.tv-onr-dogrulama { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 0; }
.tv-onr-dogrulama:not(:has(label:not([hidden]))) { display: none; }
/* Sayaç sığdırma (1366–1536 px, 5 sütun): kelime ortasında bölme yok; etikete daha geniş alan */
.tv-oz-sayac { gap: 10px; padding: 12px 12px; }
.tv-oz-sayac-simge { width: 34px; height: 34px; border-radius: 9px; }
.tv-oz-sayac-simge svg { width: 19px; height: 19px; }
.tv-oz-sayac-ad { padding-inline-start: 10px; font-size: .82rem; overflow-wrap: normal; word-break: normal; hyphens: none; }
.tv-oz-sayac-n { font-size: 1.3rem; }
@media (min-width: 1600px) { .tv-oz-sayac { gap: 12px; padding: 12px 14px; } .tv-oz-sayac-ad { font-size: .88rem; } .tv-oz-sayac-n { font-size: 1.5rem; } }
/* Uyarı kutusu hedef görsele göre: beyaz zemin, simge açık turuncu karede */
.tv-oz-uyari { background: #fff; border-color: var(--mt-cizgi, #E3E5E8); border-inline-start-color: #D9822B; align-items: center; }
.tv-oz-uyari-simge { width: 46px; height: 46px; border-radius: 10px; background: #FFF1E0; }
.tv-oz-uyari-baslik { color: var(--mt-ink, #1d1f22); }
