/* ==========================================================================
   Otobas KTS — arayüz
   Tasarım dili: toplu taşıma tabelası. Barlow (karayolu tabelası kökenli),
   mürekkep laciverti zemin, tek vurgu: durak sarısı. Menü bir hat haritası.
   ========================================================================== */

@font-face { font-family: "Barlow"; font-weight: 400; font-display: swap; src: url("../vendor/fonts/barlow-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow"; font-weight: 400; font-display: swap; src: url("../vendor/fonts/barlow-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow"; font-weight: 500; font-display: swap; src: url("../vendor/fonts/barlow-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow"; font-weight: 500; font-display: swap; src: url("../vendor/fonts/barlow-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Barlow"; font-weight: 600; font-display: swap; src: url("../vendor/fonts/barlow-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow"; font-weight: 600; font-display: swap; src: url("../vendor/fonts/barlow-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Barlow"; font-weight: 700; font-display: swap; src: url("../vendor/fonts/barlow-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow"; font-weight: 700; font-display: swap; src: url("../vendor/fonts/barlow-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Barlow Semi Condensed"; font-weight: 600; font-display: swap; src: url("../vendor/fonts/barlow-semi-condensed-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Semi Condensed"; font-weight: 600; font-display: swap; src: url("../vendor/fonts/barlow-semi-condensed-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Barlow Semi Condensed"; font-weight: 700; font-display: swap; src: url("../vendor/fonts/barlow-semi-condensed-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Semi Condensed"; font-weight: 700; font-display: swap; src: url("../vendor/fonts/barlow-semi-condensed-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }

:root {
  /* Renk belirteçleri */
  --kts-murekkep: #1c2536;     /* lacivert-mürekkep: menü, birincil düğme, metin */
  --kts-murekkep-2: #2a364c;
  --kts-durak: #f2b705;        /* durak tabelası sarısı: tek vurgu */
  --kts-durak-koyu: #c99600;
  --kts-zemin: #eef1f4;        /* soğuk açık gri zemin */
  --kts-yuzey: #ffffff;
  --kts-cizgi: #d6dce4;
  --kts-metin: #1c2536;
  --kts-soluk: #5b687b;
  --kts-yesil: #1f8a5b;
  --kts-kirmizi: #c2412d;
  --kts-mavi: #2f6fd1;

  --kts-font: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
  --kts-font-baslik: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;

  --kts-menu-genislik: 264px;
  --kts-yaricap: 6px;

  /* Bootstrap ile eşleme */
  --bs-body-font-family: var(--kts-font);
  --bs-body-font-size: 0.9375rem;
  --bs-body-color: var(--kts-metin);
  --bs-body-bg: var(--kts-zemin);
  --bs-border-color: var(--kts-cizgi);
  --bs-border-radius: var(--kts-yaricap);
  --bs-primary: var(--kts-murekkep);
  --bs-primary-rgb: 28, 37, 54;
  --bs-link-color: var(--kts-mavi);
  --bs-link-color-rgb: 47, 111, 209;
  --bs-success-rgb: 31, 138, 91;
  --bs-danger-rgb: 194, 65, 45;
  --bs-focus-ring-color: rgba(242, 183, 5, .45);
}

body { font-family: var(--kts-font); background: var(--kts-zemin); color: var(--kts-metin); font-variant-numeric: tabular-nums; }
h1, h2, h3, h4, h5, .baslik { font-family: var(--kts-font-baslik); font-weight: 700; letter-spacing: .005em; }

:focus-visible { outline: 3px solid var(--kts-durak); outline-offset: 2px; }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus {
  box-shadow: 0 0 0 .2rem rgba(242, 183, 5, .45); border-color: var(--kts-durak-koyu);
}

/* ---------- Düğmeler ---------- */
.btn { font-weight: 600; border-radius: var(--kts-yaricap); display: inline-flex; align-items: center; gap: .4rem; }
.btn-primary { --bs-btn-bg: var(--kts-murekkep); --bs-btn-border-color: var(--kts-murekkep); --bs-btn-hover-bg: var(--kts-murekkep-2); --bs-btn-hover-border-color: var(--kts-murekkep-2); --bs-btn-active-bg: #10161f; --bs-btn-disabled-bg: var(--kts-murekkep); --bs-btn-disabled-border-color: var(--kts-murekkep); }
.btn-durak { --bs-btn-bg: var(--kts-durak); --bs-btn-border-color: var(--kts-durak); --bs-btn-color: var(--kts-murekkep); --bs-btn-hover-bg: #ffc81f; --bs-btn-hover-border-color: #ffc81f; --bs-btn-hover-color: var(--kts-murekkep); --bs-btn-active-bg: var(--kts-durak-koyu); --bs-btn-active-color: var(--kts-murekkep); --bs-btn-disabled-bg: var(--kts-durak); --bs-btn-disabled-color: var(--kts-murekkep); }
.btn-outline-secondary { --bs-btn-color: var(--kts-murekkep); --bs-btn-border-color: var(--kts-cizgi); --bs-btn-bg: var(--kts-yuzey); --bs-btn-hover-bg: #f6f8fa; --bs-btn-hover-color: var(--kts-murekkep); --bs-btn-hover-border-color: #b9c2ce; --bs-btn-active-bg: #e8ecf1; --bs-btn-active-color: var(--kts-murekkep); --bs-btn-disabled-color: #8a96a6; --bs-btn-disabled-bg: var(--kts-yuzey); --bs-btn-disabled-border-color: var(--kts-cizgi); }
.btn-outline-danger { --bs-btn-color: var(--kts-kirmizi); --bs-btn-border-color: #e7b8af; --bs-btn-bg: var(--kts-yuzey); --bs-btn-hover-bg: var(--kts-kirmizi); --bs-btn-hover-border-color: var(--kts-kirmizi); --bs-btn-disabled-color: #d49a90; --bs-btn-disabled-bg: var(--kts-yuzey); }
.btn:disabled, .btn.disabled { opacity: .55; }

/* ---------- Yerleşim ---------- */
.kts-kabuk { display: flex; min-height: 100vh; }
.kts-menu {
  width: var(--kts-menu-genislik); flex: 0 0 var(--kts-menu-genislik);
  background: var(--kts-murekkep); color: #c9d2df;
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.kts-icerik { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }

.kts-marka { display: flex; align-items: center; gap: .65rem; padding: 1.25rem 1.25rem 1rem; color: #fff; text-decoration: none; }
.kts-marka-isaret {
  width: 34px; height: 34px; border-radius: 8px; background: var(--kts-durak); color: var(--kts-murekkep);
  display: grid; place-items: center; font-family: var(--kts-font-baslik); font-weight: 700; font-size: 1.15rem;
}
.kts-marka-ad { font-family: var(--kts-font-baslik); font-weight: 700; font-size: 1.3rem; line-height: 1; }
.kts-marka-alt { display: block; font-family: var(--kts-font); font-weight: 400; font-size: .78rem; color: #8f9bb0; margin-top: .2rem; }

/* Hat haritası menüsü: öğeler dikey bir hat üzerindeki duraklar */
.kts-hat { list-style: none; margin: .5rem 0 1rem; padding: 0 .75rem 0 1rem; position: relative; }
.kts-hat::before {
  content: ""; position: absolute; left: calc(1rem + 11px); top: 14px; bottom: 14px; width: 3px; border-radius: 2px;
  background: #3a475f;
}
.kts-hat .kts-alt { list-style: none; margin: 0 0 .25rem; padding: 0; }
.kts-durak {
  position: relative; display: flex; align-items: center; gap: .75rem;
  padding: .5rem .75rem .5rem 2.1rem; border-radius: var(--kts-yaricap);
  color: #c9d2df; text-decoration: none; font-weight: 500; font-size: .95rem; width: 100%;
  background: none; border: 0; text-align: left;
}
.kts-durak::before { /* durak noktası */
  content: ""; position: absolute; left: 5px; top: 50%; width: 15px; height: 15px; margin-top: -7.5px;
  border-radius: 50%; background: var(--kts-murekkep); border: 3px solid #5d6b84; box-sizing: border-box;
  transition: border-color .15s, background-color .15s;
}
.kts-durak:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.kts-durak:hover::before { border-color: var(--kts-durak); }
.kts-durak.aktif { color: #fff; font-weight: 600; background: rgba(242, 183, 5, .1); }
.kts-durak.aktif::before { background: var(--kts-durak); border-color: var(--kts-durak); box-shadow: 0 0 0 4px rgba(242, 183, 5, .25); }
.kts-durak .bi { font-size: 1.05rem; opacity: .85; }
/* aktarma durağı = grup başlığı (çift halka) */
.kts-aktarma::before { width: 19px; height: 19px; margin-top: -9.5px; left: 3px; border-width: 4px; border-color: #8f9bb0; background: var(--kts-murekkep); }
.kts-aktarma .kts-ok { margin-left: auto; transition: transform .2s; font-size: .8rem; }
.kts-aktarma[aria-expanded="true"] .kts-ok { transform: rotate(90deg); }
.kts-alt .kts-durak { padding-left: 2.6rem; font-size: .9rem; color: #aab5c6; }
.kts-alt .kts-durak::before { width: 11px; height: 11px; margin-top: -5.5px; left: 7px; border-width: 2px; }
.kts-alt .kts-durak.aktif { color: #fff; }

.kts-menu-alt { margin-top: auto; padding: 1rem 1.25rem 1.25rem; border-top: 1px solid #2f3b51; font-size: .8rem; color: #8f9bb0; }
.kts-menu-alt a { color: #aab5c6; }

.kts-ust {
  display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.75rem; background: var(--kts-yuzey);
  border-bottom: 1px solid var(--kts-cizgi); position: sticky; top: 0; z-index: 1020;
}
.kts-ust h1 { font-size: 1.6rem; margin: 0; line-height: 1.1; }
.kts-ust .kts-kullanici { margin-left: auto; }
.kts-kullanici .btn { font-weight: 500; }
.kts-avatar {
  width: 30px; height: 30px; border-radius: 50%; background: var(--kts-murekkep); color: var(--kts-durak);
  display: inline-grid; place-items: center; font-weight: 700; font-size: .85rem;
}
.kts-sayfa { padding: 1.5rem 1.75rem 2.5rem; }

/* ---------- Bileşenler ---------- */
.kts-panel { background: var(--kts-yuzey); border: 1px solid var(--kts-cizgi); border-radius: 8px; padding: 1.25rem; }
.kts-panel + .kts-panel { margin-top: 1.25rem; }
.kts-panel-baslik { display: flex; align-items: baseline; gap: .75rem; margin: 0 0 1rem; }
.kts-panel-baslik h2 { font-size: 1.2rem; margin: 0; }
.kts-panel-baslik .kts-not { margin-left: auto; }
.kts-not { color: var(--kts-soluk); font-size: .875rem; }

.kts-arac { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; }
.kts-arac .kts-ayrac { width: 1px; align-self: stretch; background: var(--kts-cizgi); margin: 0 .25rem; }
.kts-secim { margin-left: auto; font-size: .875rem; color: var(--kts-soluk); display: flex; align-items: center; gap: .4rem; }
.kts-secim strong { color: var(--kts-metin); font-weight: 600; }
.kts-secim .kts-nokta { width: 9px; height: 9px; border-radius: 50%; background: #c3cad4; }
.kts-secim.var .kts-nokta { background: var(--kts-durak); }

.kts-filtre { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .75rem; align-items: end; margin-bottom: 1rem; }
.kts-filtre .form-label { font-size: .8rem; font-weight: 600; color: var(--kts-soluk); margin-bottom: .25rem; }

.form-label { font-weight: 600; font-size: .85rem; color: var(--kts-soluk); margin-bottom: .3rem; }
.form-control, .form-select { border-color: var(--kts-cizgi); }
.form-text { color: var(--kts-soluk); }
.zorunlu::after { content: " *"; color: var(--kts-kirmizi); }

/* Bilgi satırı (etiket : değer) */
.kts-bilgi { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0 0 1rem; }
.kts-bilgi dt { color: var(--kts-soluk); font-weight: 500; }
.kts-bilgi dd { margin: 0; font-weight: 600; }

/* ---------- Tablolar ---------- */
table.dataTable { font-size: .9rem; }
table.dataTable thead th { font-weight: 600; color: var(--kts-soluk); background: #f6f8fa; border-bottom: 1px solid var(--kts-cizgi) !important; white-space: nowrap; }
table.dataTable tbody tr { cursor: pointer; }
table.dataTable tbody tr:hover > * { background: #f6f8fa; }
table.dataTable tbody tr.secili > * { box-shadow: inset 0 0 0 9999px rgba(242, 183, 5, .18) !important; }
table.dataTable tbody tr.secili > *:first-child { box-shadow: inset 4px 0 0 var(--kts-durak), inset 0 0 0 9999px rgba(242, 183, 5, .18) !important; }
table.dataTable tfoot th { font-weight: 600; border-top: 1px solid var(--kts-cizgi); }
.dt-container .dt-search input, .dt-container .dt-length select { border-color: var(--kts-cizgi); }
.dt-container .dt-paging .page-link { color: var(--kts-murekkep); }
.dt-container .dt-paging .active > .page-link { background: var(--kts-murekkep); border-color: var(--kts-murekkep); color: #fff; }
.dt-container .dt-processing { box-shadow: none; border: 1px solid var(--kts-cizgi); }
.dt-container div:has(> table.dataTable) { overflow-x: auto; }
.kts-icerik { overflow-x: hidden; }
/* DataTables otomatik sayı/tarih hizalamasını kapat; sağa yaslama sadece .dt-right ile */
table.dataTable th.dt-type-numeric, table.dataTable td.dt-type-numeric,
table.dataTable th.dt-type-date, table.dataTable td.dt-type-date { text-align: left; }
table.dataTable th.dt-type-numeric div.dt-column-header, table.dataTable th.dt-type-date div.dt-column-header { flex-direction: row; }
.tutar, table.dataTable th.dt-right, table.dataTable td.dt-right { text-align: right; font-variant-numeric: tabular-nums; }

.kts-tablo-ozet { width: 100%; font-size: .9rem; }
.kts-tablo-ozet th { color: var(--kts-soluk); font-weight: 600; border-bottom: 1px solid var(--kts-cizgi); padding: .45rem .5rem; text-align: left; }
.kts-tablo-ozet td { padding: .45rem .5rem; border-bottom: 1px solid #edf0f4; }
.kts-tablo-ozet td.sayi, .kts-tablo-ozet th.sayi { text-align: right; }
.kts-tablo-ozet tr.toplam td { font-weight: 700; border-top: 2px solid var(--kts-murekkep); border-bottom: 0; }

/* ---------- Grafikler ---------- */
.kts-grafikler { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 1.25rem; }
.kts-grafik { position: relative; height: 280px; }
.kts-grafik.uzun { height: 340px; }
.kts-grafik-not { text-align: center; color: var(--kts-soluk); font-size: .875rem; margin-top: .5rem; }

/* ---------- Kart okuma (yükleme) ---------- */
.kts-okuyucu { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-radius: 8px; background: #f6f8fa; border: 1px dashed #b9c2ce; }
.kts-okuyucu .kts-sinyal { width: 14px; height: 14px; border-radius: 50%; background: #c3cad4; flex: 0 0 auto; }
.kts-okuyucu.bekliyor { background: #fffaeb; border-color: var(--kts-durak); }
.kts-okuyucu.bekliyor .kts-sinyal { background: var(--kts-durak); animation: kts-nabiz 1.1s ease-in-out infinite; }
.kts-okuyucu.hata { background: #fbefec; border-color: #e7b8af; }
.kts-okuyucu.hata .kts-sinyal { background: var(--kts-kirmizi); }
@keyframes kts-nabiz { 0%, 100% { box-shadow: 0 0 0 0 rgba(242, 183, 5, .6); } 50% { box-shadow: 0 0 0 8px rgba(242, 183, 5, 0); } }

/* Bilet görünümlü kart özeti */
.kts-bilet { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--kts-cizgi); border-radius: 10px; background: var(--kts-yuzey); overflow: hidden; }
.kts-bilet > div { padding: 1.1rem 1.25rem; }
.kts-bilet > div + div { border-left: 2px dashed var(--kts-cizgi); }
.kts-bilet h3 { font-size: 1rem; color: var(--kts-soluk); margin: 0 0 .75rem; }
.kts-bilet .kts-bakiye { font-family: var(--kts-font-baslik); font-size: 2rem; font-weight: 700; line-height: 1; }
.kts-bilet .uyumsuz { color: var(--kts-kirmizi); }
@media (max-width: 767.98px) { .kts-bilet { grid-template-columns: 1fr; } .kts-bilet > div + div { border-left: 0; border-top: 2px dashed var(--kts-cizgi); } }

/* ---------- Modal ---------- */
.modal-content { border: 0; border-radius: 10px; }
.modal-header { border-bottom: 1px solid var(--kts-cizgi); }
.modal-header .modal-title { font-family: var(--kts-font-baslik); font-weight: 700; font-size: 1.3rem; }
.modal-header::before { content: ""; width: 6px; align-self: stretch; background: var(--kts-durak); border-radius: 3px; margin-right: .75rem; }
.kts-yukleniyor { display: flex; align-items: center; gap: .6rem; color: var(--kts-soluk); padding: 1.5rem 0; }

/* ---------- Bildirimler ---------- */
.kts-bildirimler { position: fixed; right: 1rem; bottom: 1rem; z-index: 2000; display: flex; flex-direction: column; gap: .5rem; width: min(380px, calc(100vw - 2rem)); }
.kts-bildirim {
  display: flex; gap: .75rem; align-items: flex-start; background: var(--kts-murekkep); color: #fff;
  border-radius: 8px; padding: .8rem 1rem; box-shadow: 0 8px 24px rgba(16, 22, 31, .25); border-left: 5px solid var(--kts-durak);
  animation: kts-gir .18s ease-out;
}
.kts-bildirim.hata { border-left-color: #ff7a63; }
.kts-bildirim.ok { border-left-color: #4cc28c; }
.kts-bildirim .bi { font-size: 1.1rem; margin-top: .05rem; }
.kts-bildirim button { margin-left: auto; background: none; border: 0; color: #aab5c6; padding: 0 0 0 .5rem; }
@keyframes kts-gir { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------- Giriş ---------- */
.kts-giris { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); background: var(--kts-yuzey); }
.kts-giris-sol { background: var(--kts-murekkep); color: #fff; padding: 3rem; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.kts-giris-sol h1 { font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1.02; margin: auto 0 2.5rem; max-width: 12ch; }
.kts-giris-sol p { color: #aab5c6; max-width: 40ch; font-size: 1.05rem; margin-bottom: 1rem; }
.kts-giris-hat { position: relative; height: 4px; background: #3a475f; margin: 0 -3rem 2rem 0; }
.kts-giris-hat span { position: absolute; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; background: var(--kts-murekkep); border: 4px solid #5d6b84; }
.kts-giris-hat span.son { background: var(--kts-durak); border-color: var(--kts-durak); box-shadow: 0 0 0 6px rgba(242, 183, 5, .25); }
.kts-giris-sag { display: flex; align-items: center; justify-content: center; padding: 2rem; }
.kts-giris-form { width: min(400px, 100%); }
.kts-giris-form h2 { font-size: 1.9rem; margin-bottom: .35rem; }
.kts-giris-alt { margin-top: 2.5rem; font-size: .8rem; color: var(--kts-soluk); }
.kts-giris-alt a { color: var(--kts-soluk); }
@media (max-width: 899.98px) { .kts-giris { grid-template-columns: 1fr; } .kts-giris-sol { padding: 2rem; min-height: 220px; } .kts-giris-sol h1 { margin-top: 2rem; } .kts-giris-hat { display: none; } }

/* ---------- Mobil ---------- */
.kts-menu-ac { display: none; }
@media (max-width: 991.98px) {
  .kts-menu { position: fixed; left: 0; top: 0; z-index: 1045; transform: translateX(-100%); transition: transform .2s; }
  .kts-menu.acik { transform: none; box-shadow: 0 0 0 100vmax rgba(16, 22, 31, .45); }
  .kts-menu-ac { display: inline-flex; }
  .kts-ust { padding: .9rem 1rem; }
  .kts-ust h1 { font-size: 1.3rem; }
  .kts-sayfa { padding: 1rem; }
  .kts-kullanici .kts-ad { display: none; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ---------- Yazdırma ---------- */
@media print {
  .kts-menu, .kts-ust, .kts-arac, .kts-filtre, .dt-search, .dt-length, .dt-paging, .kts-bildirimler { display: none !important; }
  .kts-sayfa { padding: 0; }
  .kts-panel { border: 0; padding: 0; }
  body { background: #fff; }
}
.gizli { display: none !important; }

/* Onay penceresi diğer modalın üzerinde */
#ktsOnay { z-index: 1070; }
.modal-backdrop.show + .modal-backdrop.show { z-index: 1065; }
.kts-giris-hat span:nth-child(1) { left: 0; }
.kts-giris-hat span:nth-child(2) { left: 22%; }
.kts-giris-hat span:nth-child(3) { left: 44%; }
.kts-giris-hat span:nth-child(4) { left: 66%; }
.kts-dar { max-width: 560px; }
