/* YolYardımPro CRM — Demo4 benzeri kurumsal layout (MIT Tailwind yardımcı sınıfları + özgün tokenlar) */
:root {
  --sc-bg: #f5f7fa;
  /* Sol menü: temadaki primary-soft ile uyumlu yumuşak mavi */
  --sc-sidebar: #eef5fc;
  --sc-sidebar-border: #e0eaf5;
  --sc-primary: #1b84ff;
  --sc-primary-soft: #e9f3ff;
  --sc-text: #1e2129;
  --sc-muted: #78829d;
  --sc-success: #17c653;
  --sc-warning: #f6b100;
  --sc-danger: #f8285a;
  --sc-info: #7239ea;
  --sc-radius: 0.75rem;
  --sc-shadow: 0 3px 4px 0 rgb(0 0 0 / 0.03);
  --sc-font: "DM Sans", "Segoe UI", sans-serif;
  /* Genel boşluk: 1366 dizüstü yoğunluğu varsayılandır; daha küçük ekranlarda token'lar düşer. */
  --sc-topbar-h: 56px;
  --sc-topbar-pad-x: 1rem;
  --sc-space-page: 1rem;
  --sc-space-card-y: 0.85rem;
  --sc-space-card-x: 1rem;
  --sc-space-gap: 0.8rem;
  --sc-space-gap-sm: 0.5rem;
  --sc-space-head: 0.95rem;
  --sc-space-table-y: 0.55rem;
  --sc-space-table-x: 0.65rem;
  --sc-space-grup-y: 0.75rem;
  --sc-space-grup-x: 0.85rem;
  --sc-space-field-y: 0.55rem;
  --sc-space-field-x: 0.7rem;
  --sc-field-min-h: 2.3rem;
  --sc-space-sohbet: 0.7rem;
  --sc-space-btn-y: 0.55rem;
  --sc-space-btn-x: 0.85rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  font-family: var(--sc-font);
  color: var(--sc-text);
  background: var(--sc-bg);
}

[x-cloak] {
  display: none !important;
}

a {
  color: var(--sc-primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.sc-shell {
  display: flex;
  min-height: 100vh;
}

.sc-sidebar {
  width: 200px;
  flex-shrink: 0;
  background: linear-gradient(180deg, #f3f8fd 0%, var(--sc-sidebar) 40%, #e8f1fa 100%);
  border-right: 1px solid var(--sc-sidebar-border);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  z-index: 40;
}

.sc-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: var(--sc-space-head) var(--sc-space-page);
  border-bottom: 1px solid var(--sc-sidebar-border);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--sc-text);
  text-decoration: none;
  min-width: 0;
}

.sc-brand:hover {
  text-decoration: none;
}

.sc-brand-mark {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: var(--sc-primary);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 0.95rem;
  font-weight: 700;
  flex: 0 0 auto;
}

/* Uzun müşteri ünvanları yan menüde taşmadan kısaltılır. */
.sc-brand-adi {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
}

.sc-nav {
  padding: var(--sc-space-gap) var(--sc-space-gap-sm);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  overflow-y: auto;
}

.sc-nav-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sc-muted);
  padding: 0.75rem 0.75rem 0.35rem;
}

/* Menü ve Operasyon dışındaki gruplar tıklanınca açılır; kapalıyken yer kaplamaz.
   details üzerinde flex kullanılmaz: kapalı halde gövdeyi gizleyen tarayıcı kuralını bozar. */
.sc-nav-akordeon {
  display: block;
}

.sc-nav-akordeon-baslik {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
  list-style: none;
  border-radius: 0.5rem;
  margin: 0.15rem 0;
  padding: 0.48rem 0.65rem;
  /* Düğme olduğu anlaşılsın: yan menüden ayrışan yumuşak mavi zemin. */
  background: color-mix(in srgb, var(--sc-primary) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--sc-primary) 16%, transparent);
  color: #5b6b86;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.sc-nav-akordeon-baslik::-webkit-details-marker {
  display: none;
}

.sc-nav-akordeon-baslik::marker {
  content: none;
}

.sc-nav-akordeon-baslik:hover {
  color: var(--sc-text);
  background: color-mix(in srgb, var(--sc-primary) 18%, #fff);
  border-color: color-mix(in srgb, var(--sc-primary) 28%, transparent);
}

.sc-nav-akordeon[open] > .sc-nav-akordeon-baslik {
  background: color-mix(in srgb, var(--sc-primary) 16%, #fff);
  border-color: color-mix(in srgb, var(--sc-primary) 24%, transparent);
  color: var(--sc-text);
}

.sc-nav-akordeon-baslik:focus-visible {
  outline: 2px solid var(--sc-primary);
  outline-offset: 2px;
}

.sc-nav-akordeon-ok {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  opacity: 0.7;
  transition: transform 0.28s ease;
}

.sc-nav-akordeon[open]:not(.is-kapaniyor) > .sc-nav-akordeon-baslik .sc-nav-akordeon-ok {
  transform: rotate(180deg);
}

.sc-nav-akordeon-govde {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.sc-nav-akordeon:not([open]) > .sc-nav-akordeon-govde {
  display: none;
}

.sc-nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.38rem 0.65rem;
  border-radius: 0.5rem;
  color: var(--sc-text);
  font-size: 0.925rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease;
}

.sc-nav-link:hover {
  /* Sol menü hover: primary mavi arka plan */
  background: #1b84ff;
  color: #fff;
  text-decoration: none;
}

.sc-nav-link.is-active {
  /* Açık sayfanın menü öğesi seçili görünümü */
  background: #1b84ff;
  color: #fff;
}

.sc-nav-link.is-active:hover {
  background: #1b84ff;
  color: #fff;
}

/* Araçlarım altındaki Servis/Bakım: girintili alt madde. */
.sc-nav-link-alt {
  margin-left: 0.85rem;
  padding-left: 0.75rem;
  font-size: 0.875rem;
  border-left: 2px solid var(--sc-sidebar-border);
}

.sc-nav-link-alt.is-active,
.sc-nav-link-alt:hover {
  border-left-color: rgba(255, 255, 255, 0.7);
}

.sc-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.sc-topbar {
  height: var(--sc-topbar-h);
  background: #fff;
  border-bottom: 1px solid var(--sc-sidebar-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--sc-topbar-pad-x);
  position: sticky;
  top: 0;
  z-index: 30;
}

.sc-topbar-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--sc-muted);
  font-size: 0.875rem;
}

.sc-topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.sc-icon-btn {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  border: 1px solid var(--sc-sidebar-border);
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--sc-muted);
  cursor: pointer;
  position: relative;
}

.sc-icon-btn:hover {
  background: var(--sc-bg);
}

.sc-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  background: var(--sc-danger);
  color: #fff;
  font-size: 0.65rem;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* Üst bar bildirim butonu + açılır panel */
.sc-notif {
  position: relative;
}

.sc-notif-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  height: 2.25rem;
  padding: 0 0.75rem 0 0.65rem;
  border-radius: 0.5rem;
  border: 1px solid var(--sc-sidebar-border);
  background: #fff;
  color: var(--sc-muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  position: relative;
}

.sc-notif-btn:hover,
.sc-notif-btn[aria-expanded="true"] {
  background: var(--sc-bg);
  color: var(--sc-text);
}

.sc-notif-badge {
  position: static;
  margin-left: 0.1rem;
}

.sc-notif-panel {
  min-width: min(360px, calc(100vw - 2rem));
  width: 360px;
  padding: 0;
  right: 0;
}

.sc-notif-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--sc-sidebar-border);
}

.sc-notif-panel-head strong {
  font-size: 0.95rem;
}

.sc-notif-liste {
  max-height: 320px;
  overflow: auto;
}

.sc-notif-bos {
  padding: 1rem;
  color: var(--sc-muted);
  font-size: 0.85rem;
}

.sc-notif-item {
  display: block;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid var(--sc-sidebar-border);
  text-decoration: none !important;
  color: inherit;
  position: relative;
}

.sc-notif-item strong {
  display: block;
  font-size: 0.86rem;
  margin-bottom: 0.2rem;
}

.sc-notif-item span {
  display: block;
  font-size: 0.8rem;
  color: var(--sc-muted);
  line-height: 1.35;
}

.sc-notif-item:hover {
  background: var(--sc-bg);
}

.sc-notif-item.is-yeni {
  background: color-mix(in srgb, var(--sc-primary-soft) 70%, #fff);
}

.sc-notif-yeni {
  position: absolute;
  top: 0.7rem;
  right: 0.85rem;
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--sc-danger);
}

.sc-notif-footer {
  display: block;
  padding: 0.7rem 1rem !important;
  text-align: center;
  font-weight: 600;
  font-size: 0.85rem;
  border-top: 1px solid var(--sc-sidebar-border);
}

@media (max-width: 640px) {
  .sc-notif-label {
    display: none;
  }

  .sc-notif-btn {
    width: 2.25rem;
    padding: 0;
    justify-content: center;
  }

  .sc-notif-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    margin: 0;
  }
}

.sc-user {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.35rem 0.6rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.sc-user:hover,
.sc-user[aria-expanded="true"] {
  background: var(--sc-bg);
  border-color: var(--sc-sidebar-border);
}

.sc-user-wrap {
  position: relative;
}

.sc-user-menu {
  min-width: 180px;
}

.sc-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--sc-primary-soft);
  color: var(--sc-primary);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.75rem;
}

.sc-user-meta {
  text-align: left;
  line-height: 1.2;
}

.sc-user-meta strong {
  display: block;
  font-size: 0.85rem;
}

.sc-user-meta span {
  font-size: 0.75rem;
  color: var(--sc-muted);
}

.sc-content {
  flex: 1;
  padding: var(--sc-space-page);
}

.sc-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sc-space-gap);
  margin-bottom: var(--sc-space-head);
}

.sc-page-head h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
}

.sc-page-head p {
  margin: 0.35rem 0 0;
  color: var(--sc-muted);
  font-size: 0.9rem;
}

/* Sayfa başlığındaki birden fazla eylem düğmesini yan yana hizalar. */
.sc-page-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* Admin kullanıcı listesinde Excel içe aktarım formu. */
.sc-ice-aktar-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.sc-ice-aktar-form .sc-input[type="file"] {
  max-width: 320px;
}

.sc-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  margin-bottom: var(--sc-space-head);
}

.sc-kpi-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sc-kpi-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sc-kpi-grid-auto {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* Gösterge: araç bitiş, cari vade ve kesilecek fatura kartları yan yana. */
.sc-gosterge-uyari-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  margin-bottom: var(--sc-space-head);
  align-items: stretch;
}

.sc-gosterge-uyari-grid.is-iki {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sc-gosterge-uyari-grid > .sc-arac-uyari {
  margin-bottom: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.sc-gosterge-uyari-grid .sc-arac-uyari-baslik {
  flex-wrap: wrap;
}

.sc-gosterge-uyari-grid .sc-arac-uyari-baslik p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sc-gosterge-uyari-grid .sc-arac-uyari-liste {
  flex: 1;
  min-height: 0;
}

/* Dar sütunda satırlar alt alta okunur. */
.sc-gosterge-uyari-grid .sc-arac-uyari-satir,
.sc-gosterge-uyari-grid .sc-cari-uyari .sc-arac-uyari-satir {
  grid-template-columns: 1fr;
}

.sc-gosterge-uyari-grid .sc-arac-uyari-kalemler {
  grid-column: 1;
  grid-row: auto;
  justify-self: start;
}

/* Kesilecek faturalar KPI: yumuşak nane tonu; diğer uyarı kartlarından ayrılır. */
a.sc-card.sc-kpi-kesilecek {
  display: flex;
  text-decoration: none;
  color: inherit;
  background: #e8f6f2;
  border-color: #c4e6db;
}

a.sc-card.sc-kpi-kesilecek:hover {
  background: #dcf3ed;
  border-color: #a9d9c9;
}

a.sc-card.sc-kpi-kesilecek:focus-visible {
  outline: 2px solid #0d6b56;
  outline-offset: 2px;
}

.sc-kpi-kesilecek .sc-arac-uyari-ikon {
  background: #d5efe8;
  color: #0d6b56;
}

.sc-kpi-kesilecek .sc-arac-uyari-baslik strong {
  color: #0d6b56;
}

.sc-kpi-kesilecek .sc-kpi-value {
  color: #0a5c49;
  font-size: 2.4rem;
  margin-top: auto;
  padding-top: 0.5rem;
}

/* İş ortağı paneli: büyük renkli hızlı erişim kartları */
.sc-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  margin-bottom: var(--sc-space-head);
}

.sc-action-card {
  display: flex;
  align-items: center;
  gap: var(--sc-space-gap);
  min-height: 110px;
  padding: var(--sc-space-card-y) var(--sc-space-card-x);
  border-radius: var(--sc-radius);
  border: 1px solid transparent;
  box-shadow: var(--sc-shadow);
  text-decoration: none !important;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.sc-action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgb(0 0 0 / 0.08);
}

.sc-action-icon {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.85rem;
  flex-shrink: 0;
  background: rgb(255 255 255 / 0.22);
  color: #fff;
}

.sc-action-body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.sc-action-body strong {
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
}

.sc-action-body span {
  font-size: 0.86rem;
  color: rgb(255 255 255 / 0.88);
  line-height: 1.35;
}

.sc-action-card.is-talepler {
  background: linear-gradient(135deg, #1b84ff 0%, #3d9bff 100%);
  border-color: color-mix(in srgb, #1b84ff 70%, #fff);
}

.sc-action-card.is-harita {
  background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
  border-color: color-mix(in srgb, #0d9488 70%, #fff);
}

.sc-action-card.is-yeni-talep {
  background: linear-gradient(135deg, #17c653 0%, #39d86f 100%);
  border-color: color-mix(in srgb, #17c653 70%, #fff);
}

/* Admin hızlı erişim: dört kart yan yana */
.sc-action-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sc-action-card.is-brans-rapor {
  background: linear-gradient(135deg, #f6b100 0%, #ffc53d 100%);
  border-color: color-mix(in srgb, #f6b100 70%, #fff);
}

.sc-action-card.is-yaslandirma {
  background: linear-gradient(135deg, #f8285a 0%, #ff6b8a 100%);
  border-color: color-mix(in srgb, #f8285a 70%, #fff);
}

.sc-action-card.is-is-ortaklari {
  background: linear-gradient(135deg, #0ea5a0 0%, #2dd4bf 100%);
  border-color: color-mix(in srgb, #0ea5a0 70%, #fff);
}

/* Soft kartlar: pastel arka plan, tam renk çerçeve (Raporlar giriş vb.) */
.sc-action-card.is-soft {
  border-width: 2px;
  border-style: solid;
}

.sc-action-card.is-soft .sc-action-body strong {
  color: var(--sc-text);
}

.sc-action-card.is-soft .sc-action-body span {
  color: var(--sc-muted);
}

.sc-action-card.is-soft .sc-action-icon {
  background: rgb(255 255 255 / 0.85);
}

.sc-action-card.is-soft.is-rapor-brans {
  background: #e9f3ff;
  border-color: #1b84ff;
}
.sc-action-card.is-soft.is-rapor-brans .sc-action-icon {
  color: #1b84ff;
}

.sc-action-card.is-soft.is-rapor-temsilci {
  background: #e8faf0;
  border-color: #17c653;
}
.sc-action-card.is-soft.is-rapor-temsilci .sc-action-icon {
  color: #17c653;
}

.sc-action-card.is-soft.is-rapor-isortagi {
  background: #f3eeff;
  border-color: #7239ea;
}
.sc-action-card.is-soft.is-rapor-isortagi .sc-action-icon {
  color: #7239ea;
}

.sc-action-card.is-soft.is-rapor-yaslandirma {
  background: #fff6e5;
  border-color: #f6b100;
}
.sc-action-card.is-soft.is-rapor-yaslandirma .sc-action-icon {
  color: #f6b100;
}

/* Talep detay: sol sohbet içerik genişliğinin 1/3’ü, sağ özet 2/3. */
.sc-talep-detay {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr);
  gap: var(--sc-space-gap);
  align-items: start;
}

.sc-talep-detay-ozet {
  display: flex;
  flex-direction: column;
  gap: var(--sc-space-gap);
  min-width: 0;
}

.sc-talep-detay-ozet > .sc-kpi-grid,
.sc-talep-detay-ozet > .sc-card,
.sc-talep-detay-ozet > .sc-page-head {
  margin-bottom: 0;
}

/* Talep detay başlığı: Oluşturma satırının hemen altında durum formu. */
.sc-page-head.sc-talep-detay-ust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--sc-space-gap-sm) var(--sc-space-gap);
}

.sc-talep-detay-rozetler {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.4rem;
}

.sc-talep-detay-ust .sc-talep-durum-karti {
  grid-column: 1 / -1;
  margin: 0;
  padding: var(--sc-space-card-y) var(--sc-space-card-x);
}

/* Durum seçimi: Oluşturma metninin altında, tek satırda. */
.sc-talep-durum-form {
  display: flex;
  align-items: center;
  gap: var(--sc-space-gap-sm);
}

.sc-talep-durum-form label {
  flex: 0 0 auto;
  font-weight: 600;
}

.sc-talep-durum-form .sc-select {
  flex: 1 1 220px;
  min-width: 0;
}

.sc-talep-durum-form .sc-btn {
  flex: 0 0 auto;
}

/* Talep başlığı altındaki tarih özeti: kartsız, soluk metin. */
.sc-talep-tarih-ozeti {
  margin: 0.45rem 0 0;
  color: var(--sc-muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

/* Talep detayındaki Branş / Tür kartı, branş tanımında seçilen rengi kullanır. */
.sc-card.sc-talep-brans-karti {
  border-color: var(--sc-brans-renk);
  background: #f5f9ff;
  background: color-mix(in srgb, var(--sc-brans-renk) 10%, #fff);
}

.sc-talep-brans-karti .sc-kpi-label,
.sc-talep-brans-deger {
  color: var(--sc-brans-renk);
}

.sc-talep-brans-karti .sc-kpi-label {
  font-weight: 700;
}

.sc-talep-brans-deger {
  font-weight: 700;
}

/* Detay kartında daire solda, branş/tür metni sağda. */
.sc-talep-brans-karti-govde {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.sc-talep-brans-karti-govde .sc-kpi-label {
  margin-bottom: 0.12rem;
}

/* İş ortağı ve atanan temsilci özetleri farklı renklerle kolay ayırt edilir. */
.sc-talep-is-ortagi-karti {
  --sc-ozet-renk: #7239ea;
  --sc-ozet-soft-renk: #f3eeff;
}

.sc-talep-temsilci-karti {
  --sc-ozet-renk: #64748b;
  --sc-ozet-soft-renk: #f1f5f9;
}

.sc-card.sc-talep-ozet-renkli {
  border-color: var(--sc-ozet-renk);
  background: var(--sc-ozet-soft-renk);
}

.sc-talep-ozet-renkli .sc-kpi-label,
.sc-talep-ozet-renkli .sc-talep-ozet-deger {
  color: var(--sc-ozet-renk);
}

.sc-talep-ozet-renkli .sc-kpi-label,
.sc-talep-ozet-deger {
  font-weight: 700;
}

.sc-talep-detay-sohbet {
  position: sticky;
  top: calc(var(--sc-topbar-h) + var(--sc-space-gap-sm));
  height: calc(100vh - var(--sc-topbar-h) - var(--sc-space-page));
  height: calc(100dvh - var(--sc-topbar-h) - var(--sc-space-page));
  max-height: calc(100vh - var(--sc-topbar-h) - var(--sc-space-page));
  min-height: 420px;
}

.sc-sohbet-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 !important;
  overflow: hidden;
}

.sc-sohbet-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding: var(--sc-space-sohbet) var(--sc-space-card-x);
  border-bottom: 1px solid var(--sc-sidebar-border);
  flex-shrink: 0;
}

.sc-sohbet-head h3 {
  margin: 0;
  font-size: 1.05rem;
}

/* Talep açıklaması: sohbet başlığının altında sabit; mesaj listesi kaydırılır */
.sc-sohbet-aciklama {
  flex-shrink: 0;
  padding: var(--sc-space-gap-sm) var(--sc-space-sohbet);
  border-bottom: 1px solid var(--sc-sidebar-border);
  background: #f7fafc;
  max-height: 22%;
  overflow-y: auto;
}

.sc-sohbet-aciklama-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--sc-muted);
  margin-bottom: 0.35rem;
}

.sc-sohbet-aciklama-body {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--sc-text);
  white-space: pre-wrap;
  word-break: break-word;
}

.sc-sohbet-panel .sc-chat {
  flex: 1 1 auto;
  max-height: none;
  min-height: 0;
  padding: var(--sc-space-gap-sm) var(--sc-space-sohbet);
  overflow-y: auto;
}

.sc-sohbet-composer {
  flex-shrink: 0;
  border-top: 1px solid var(--sc-sidebar-border);
  padding: var(--sc-space-gap-sm) var(--sc-space-sohbet);
  background: #fafbfd;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.sc-sohbet-composer textarea {
  width: 100%;
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  padding: var(--sc-space-gap-sm) var(--sc-space-field-x);
  font: inherit;
  resize: none;
  min-height: var(--sc-field-min-h);
  max-height: 6rem;
}

.sc-sohbet-composer-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: nowrap;
}

.sc-sohbet-composer-row .sc-btn {
  flex: 0 0 auto;
  width: auto;
  margin-left: auto;
}

.sc-sohbet-file {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--sc-muted);
  cursor: pointer;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 0.5rem;
  padding: 0.35rem 0.65rem;
  background: #fff;
}

.sc-sohbet-file:hover {
  color: var(--sc-primary);
  border-color: color-mix(in srgb, var(--sc-primary) 35%, #fff);
}

.sc-sohbet-file input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}

/* Sohbet: sürükle-bırak dosya alanı + gövdeye bırakınca uyarı. */
.sc-sohbet-panel {
  position: relative;
}

.sc-sohbet-surukle-uyari {
  position: absolute;
  top: 0.65rem;
  left: 0.65rem;
  right: 0.65rem;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.65rem;
  border: 1px solid #ffd6a8;
  background: #fff8ee;
  color: #9a5b00;
  box-shadow: 0 10px 24px rgb(154 91 0 / 0.12);
  animation: sc-sohbet-uyari-giris 0.22s ease;
}

.sc-sohbet-surukle-uyari[hidden] {
  display: none !important;
}

.sc-sohbet-surukle-uyari i {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.sc-sohbet-surukle-uyari strong,
.sc-sohbet-surukle-uyari span {
  display: block;
}

.sc-sohbet-surukle-uyari strong {
  font-size: 0.88rem;
  margin-bottom: 0.15rem;
}

.sc-sohbet-surukle-uyari span {
  font-size: 0.8rem;
  line-height: 1.35;
}

.sc-sohbet-panel.is-surukle-uyari .sc-chat {
  outline: 2px dashed #f6b100;
  outline-offset: -6px;
  background: #fffaf0;
}

.sc-sohbet-birakma {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 3.1rem;
  padding: 0.55rem 0.75rem;
  border: 2px dashed #9bc7fa;
  border-radius: 0.65rem;
  background: var(--sc-primary-soft);
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.sc-sohbet-birakma:hover,
.sc-sohbet-birakma:focus-within,
.sc-sohbet-birakma.is-surukleniyor,
.sc-sohbet-birakma.is-hedef-vurgula {
  border-color: var(--sc-primary);
  background: #dcecff;
  box-shadow: 0 0 0 3px rgb(27 132 255 / 0.12);
}

.sc-sohbet-birakma.is-surukleniyor,
.sc-sohbet-birakma.is-hedef-vurgula {
  border-style: solid;
  transform: translateY(-1px);
  animation: sc-sohbet-hedef-pulse 1s ease infinite;
}

.sc-sohbet-birakma.is-dosya-secili {
  border-style: solid;
  border-color: var(--sc-success);
  background: #e8faf0;
  animation: none;
}

.sc-sohbet-birakma input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sc-sohbet-birakma-ikon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  flex: 0 0 2.15rem;
  border-radius: 999px;
  background: #fff;
  color: var(--sc-primary);
  box-shadow: var(--sc-shadow);
}

.sc-sohbet-birakma-metin {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.sc-sohbet-birakma-metin strong {
  font-size: 0.84rem;
}

.sc-sohbet-birakma-metin span {
  color: var(--sc-muted);
  font-size: 0.72rem;
  line-height: 1.3;
}

.sc-sohbet-dosya-secim {
  margin-left: auto;
  max-width: 42%;
  padding: 0.3rem 0.55rem;
  border-radius: 0.45rem;
  background: #fff;
  color: #0f8f43;
  font-size: 0.75rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@keyframes sc-sohbet-uyari-giris {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sc-sohbet-hedef-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 3px rgb(27 132 255 / 0.12);
  }
  50% {
    box-shadow: 0 0 0 6px rgb(27 132 255 / 0.2);
  }
}

.sc-check-inline {
  margin: 0;
  font-size: 0.8rem;
}

/* Dahili checkbox + hemen altındaki açıklama */
.sc-dahili-secim {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  max-width: 16rem;
}

.sc-dahili-hint {
  font-size: 0.7rem;
  line-height: 1.3;
  color: var(--sc-muted);
}

.sc-sohbet-hint {
  margin: 0;
  font-size: 0.72rem;
  color: var(--sc-muted);
}

.sc-sohbet-composer-disabled {
  background: #f5f7fa;
}

.sc-card {
  background: #fff;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  padding: var(--sc-space-card-y) var(--sc-space-card-x);
}

.sc-kpi-label {
  color: var(--sc-muted);
  font-size: 0.8rem;
  margin-bottom: 0;
}

.sc-kpi-value {
  font-size: 1.6rem;
  font-weight: 700;
}

.sc-kpi-hint {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--sc-muted);
}

.sc-menu-toggle {
  display: none;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  border: 1px solid var(--sc-sidebar-border);
  background: #fff;
  cursor: pointer;
}

.sc-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 0.4rem);
  min-width: 200px;
  background: #fff;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 0.65rem;
  box-shadow: 0 10px 30px rgb(0 0 0 / 0.08);
  padding: 0.4rem;
  z-index: 50;
}

.sc-dropdown a,
.sc-dropdown button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.75rem;
  border: 0;
  background: transparent;
  border-radius: 0.45rem;
  color: var(--sc-text);
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}

.sc-dropdown a:hover,
.sc-dropdown button:hover {
  background: var(--sc-bg);
  text-decoration: none;
}

.sc-auth-wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at top right, #dbebff 0%, transparent 40%),
    linear-gradient(160deg, #f5f7fa 0%, #eef3f9 100%);
}

/* Giriş kartı dikey ortada; footer sayfa sonunda kalır */
.sc-auth-inner {
  flex: 1;
  display: grid;
  place-items: center;
  padding: var(--sc-space-page);
}

/* Oturum açma ve panel ekranı: sayfa altında Adixi referans linki */
.sc-adixi-footer {
  text-align: right;
  padding: var(--sc-space-gap-sm) var(--sc-space-page) var(--sc-space-head);
  font-size: 0.78rem;
  color: var(--sc-muted);
  margin-top: auto;
  flex-shrink: 0;
}

.sc-adixi-footer a {
  color: var(--sc-primary);
  text-decoration: none;
  font-weight: 600;
}

.sc-adixi-footer a:hover {
  text-decoration: underline;
}

/* Liste sayfalama: önceki/sonraki ve kayıt boyutu seçimi */
.sc-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sc-space-gap);
  margin-top: var(--sc-space-gap);
  padding-top: var(--sc-space-sohbet);
  border-top: 1px solid var(--sc-sidebar-border);
}

.sc-pagination-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.85rem;
  color: var(--sc-muted);
}

.sc-pagination-size {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.sc-select-sm {
  min-height: 2rem;
  padding: 0.2rem 1.75rem 0.2rem 0.55rem;
  font-size: 0.82rem;
}

.sc-pagination-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.sc-pagination-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border-radius: 0.45rem;
  color: var(--sc-primary);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
}

.sc-pagination-num:hover {
  background: var(--sc-primary-soft);
  text-decoration: none;
}

.sc-pagination-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border-radius: 0.45rem;
  background: var(--sc-primary);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
}

.sc-btn.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.sc-auth-card {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 1rem;
  box-shadow: var(--sc-shadow);
  padding: calc(var(--sc-space-card-y) + 0.9rem) calc(var(--sc-space-card-x) + 0.75rem);
}

.sc-auth-card h1 {
  margin: 0 0 0.35rem;
  font-size: 1.4rem;
}

.sc-auth-card .lead {
  margin: 0 0 var(--sc-space-page);
  color: var(--sc-muted);
  font-size: 0.9rem;
}

.sc-field {
  margin-bottom: 0rem;
}

.sc-field > label:not(.sc-check):not(.sc-choice-item),
.sc-field .sc-field-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.sc-field.is-zorunlu > label::after,
.sc-field.is-zorunlu > .sc-field-label::after {
  content: " *";
  color: var(--sc-danger);
  font-weight: 700;
}

.sc-field input[type="email"],
.sc-field input[type="password"],
.sc-field input[type="text"],
.sc-field input[type="tel"],
.sc-field input[type="number"],
.sc-field input:not([type]),
.sc-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  padding: var(--sc-space-field-y) var(--sc-space-field-x);
  min-height: var(--sc-field-min-h);
  font: inherit;
  color: var(--sc-text);
  background: #fff;
}

.sc-field textarea {
  min-height: 4.6rem;
  line-height: 1.45;
  resize: vertical;
}

/* Profil kiracı kartı: kiracı formu alanları salt okunur. */
.sc-profil-kiraci {
  max-width: 52rem;
  margin-bottom: var(--sc-space-gap);
}

.sc-profil-kiraci-baslik {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.sc-field input[readonly],
.sc-field textarea[readonly] {
  background: #f4f7fb;
  color: var(--sc-muted, #445066);
  cursor: default;
}

.sc-field input:focus,
.sc-field textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--sc-primary) 35%, transparent);
  border-color: var(--sc-primary);
}

/* Zorunlu alan boş veya geçersiz: kırmızı çerçeve. */
.sc-field.is-hata input[type="email"],
.sc-field.is-hata input[type="password"],
.sc-field.is-hata input[type="text"],
.sc-field.is-hata input[type="tel"],
.sc-field.is-hata input[type="number"],
.sc-field.is-hata input:not([type]),
.sc-field.is-hata textarea,
.sc-field.is-hata select,
.sc-field.is-hata .sc-date-alt,
.sc-field input.input-validation-error,
.sc-field textarea.input-validation-error,
.sc-field select.input-validation-error,
.sc-date-wrap input.sc-date-alt.input-validation-error {
  border-color: var(--sc-danger);
  background: color-mix(in srgb, var(--sc-danger) 7%, #fff);
}

.sc-field.is-hata input:focus,
.sc-field.is-hata textarea:focus,
.sc-field.is-hata .sc-date-alt:focus {
  outline-color: color-mix(in srgb, var(--sc-danger) 45%, transparent);
  border-color: var(--sc-danger);
}

.sc-field.is-hata .sc-choice-ui {
  border-color: var(--sc-danger);
  background: color-mix(in srgb, var(--sc-danger) 7%, #fff);
}

.sc-field.is-hata .select2-container .select2-selection {
  border-color: var(--sc-danger) !important;
}

/* Parola alanı: göster/gizle + kopyala */
.sc-password-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.sc-password-wrap input {
  width: 100%;
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  padding: var(--sc-space-field-y) 5.25rem var(--sc-space-field-y) var(--sc-space-field-x);
  font: inherit;
  background: #fff;
}

.sc-password-wrap input:focus {
  outline: 2px solid color-mix(in srgb, var(--sc-primary) 35%, transparent);
  border-color: var(--sc-primary);
}

.sc-password-actions {
  position: absolute;
  right: 0.35rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  gap: 0.15rem;
}

.sc-password-btn {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  color: var(--sc-muted);
  cursor: pointer;
}

.sc-password-btn:hover {
  background: #eef2f8;
  color: var(--sc-text);
}

.sc-password-btn.is-ok {
  color: var(--sc-success, #17c653);
}

/* Kullanıcı formu rol seçimi: dropdown yerine ikonlu, renkli ve erişilebilir kartlar. */
.sc-form-grid.sc-kullanici-form {
  width: 100%;
  max-width: 100%;
}

.sc-kullanici-kimlik {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  grid-column: 1 / -1;
}

.sc-kullanici-kimlik-sutun {
  display: flex;
  flex-direction: column;
  gap: var(--sc-space-gap);
  min-width: 0;
}

@media (max-width: 640px) {
  .sc-kullanici-kimlik {
    grid-template-columns: 1fr;
  }
}

.sc-role-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.sc-field .sc-role-card {
  display: block;
  margin: 0;
  cursor: pointer;
}

.sc-role-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.sc-role-card-body {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 76px;
  padding: 0.85rem;
  border: 1px solid transparent;
  border-radius: 0.75rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease,
    transform 0.18s ease;
}

.sc-role-card-body strong,
.sc-role-card-body small {
  display: block;
}

.sc-role-card-body strong {
  margin-bottom: 0.15rem;
  color: var(--sc-text);
  font-size: 0.9rem;
}

.sc-role-card-body small {
  color: var(--sc-muted);
  font-size: 0.75rem;
  line-height: 1.3;
}

.sc-role-icon {
  display: inline-grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 0.65rem;
  color: var(--sc-role-color);
  background: color-mix(in srgb, var(--sc-role-color) 13%, #fff);
}

.sc-role-check {
  display: none;
  margin-left: auto;
  color: var(--sc-role-color);
}

.sc-role-card:hover .sc-role-card-body {
  border-color: var(--sc-role-color);
  transform: translateY(-1px);
}

.sc-role-radio:focus-visible + .sc-role-card-body {
  outline: 3px solid color-mix(in srgb, var(--sc-role-color) 25%, transparent);
  outline-offset: 2px;
}

.sc-role-radio:checked + .sc-role-card-body {
  border-color: var(--sc-role-color);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sc-role-color) 14%, transparent);
}

.sc-role-radio:checked + .sc-role-card-body .sc-role-check {
  display: block;
}

.sc-role-card.is-admin {
  --sc-role-color: #f1416c;
}

.sc-role-card.is-admin .sc-role-card-body {
  background: #fff1f5;
}

.sc-role-card.is-yonetici {
  --sc-role-color: #7239ea;
}

.sc-role-card.is-yonetici .sc-role-card-body {
  background: #f5f1ff;
}

.sc-role-card.is-temsilci {
  --sc-role-color: #1b84ff;
}

.sc-role-card.is-temsilci .sc-role-card-body {
  background: #eef6ff;
}

.sc-role-card.is-is-ortagi {
  --sc-role-color: #17a673;
}

.sc-role-card.is-is-ortagi .sc-role-card-body {
  background: #edfbf5;
}

@media (max-width: 960px) {
  .sc-role-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .sc-role-options {
    grid-template-columns: 1fr;
  }
}

.sc-field-hint {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.78rem;
  color: var(--sc-muted);
  line-height: 1.35;
}

.sc-check {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.875rem;
  margin-bottom: var(--sc-space-gap);
  cursor: pointer;
  user-select: none;
  color: var(--sc-text);
}

/* Native checkbox gizlenir; yuvarlatılmış kutu + tik çizilir. */
.sc-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  flex: 0 0 1.15rem;
  display: inline-grid;
  place-items: center;
  border: 1.5px solid #c5d0dc;
  border-radius: 0.35rem;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.sc-check input[type="checkbox"]::after {
  content: "";
  width: 0.28rem;
  height: 0.52rem;
  border: solid transparent;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translateY(-1px);
}

.sc-check input[type="checkbox"]:hover {
  border-color: var(--sc-primary);
}

.sc-check input[type="checkbox"]:checked {
  background: var(--sc-primary);
  border-color: var(--sc-primary);
}

.sc-check input[type="checkbox"]:checked::after {
  border-color: #fff;
}

.sc-check input[type="checkbox"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sc-primary) 35%, transparent);
  outline-offset: 2px;
}

.sc-check input[type="checkbox"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Az seçenekli radio grubu: segment / kart; native radio görünmez. */
.sc-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sc-choice-item {
  position: relative;
  flex: 1 1 8.5rem;
  margin: 0;
  cursor: pointer;
}

.sc-choice-item input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.sc-choice-ui {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: calc(var(--sc-field-min-h) + 0.1rem);
  padding: var(--sc-space-gap-sm) var(--sc-space-field-x);
  border: 1px solid #d7e2ee;
  border-radius: 0.7rem;
  background: #fff;
  color: var(--sc-text);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.2;
  transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
}

.sc-choice-ui::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  border: 1.5px solid #c5d0dc;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 0 var(--sc-primary);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.sc-choice-item:hover .sc-choice-ui {
  border-color: color-mix(in srgb, var(--sc-primary) 45%, #d7e2ee);
}

.sc-choice-item input[type="radio"]:checked + .sc-choice-ui {
  border-color: var(--sc-primary);
  background: var(--sc-primary-soft);
  color: #0f5fbf;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-primary) 14%, transparent);
}

.sc-choice-item input[type="radio"]:checked + .sc-choice-ui::before {
  border-color: var(--sc-primary);
  box-shadow: inset 0 0 0 0.28rem var(--sc-primary);
}

.sc-choice-item input[type="radio"]:focus-visible + .sc-choice-ui {
  outline: 2px solid color-mix(in srgb, var(--sc-primary) 40%, transparent);
  outline-offset: 2px;
}

/* Talep zamanlama: Hemen Şimdi (mint) / Rezervasyonlu (amber) soft kartlar. */
.sc-talep-zamanlama {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

.sc-talep-zamanlama .sc-choice-item {
  flex: none;
}

.sc-talep-zamanlama .sc-choice-ui {
  min-height: 3.35rem;
  justify-content: flex-start;
  padding: 0.7rem 0.9rem;
}

.sc-talep-zamanlama .sc-choice-item.is-hemen .sc-choice-ui {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #047857;
}

.sc-talep-zamanlama .sc-choice-item.is-hemen:hover .sc-choice-ui {
  border-color: #34d399;
}

.sc-talep-zamanlama .sc-choice-item.is-hemen input[type="radio"]:checked + .sc-choice-ui {
  background: #d1fae5;
  border-color: #10b981;
  color: #065f46;
  box-shadow: 0 0 0 3px color-mix(in srgb, #10b981 18%, transparent);
}

.sc-talep-zamanlama .sc-choice-item.is-hemen input[type="radio"]:checked + .sc-choice-ui::before {
  border-color: #10b981;
  box-shadow: inset 0 0 0 0.28rem #10b981;
}

.sc-talep-zamanlama .sc-choice-item.is-hemen input[type="radio"]:focus-visible + .sc-choice-ui {
  outline-color: color-mix(in srgb, #10b981 45%, transparent);
}

.sc-talep-zamanlama .sc-choice-item.is-rezervasyon .sc-choice-ui {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}

.sc-talep-zamanlama .sc-choice-item.is-rezervasyon:hover .sc-choice-ui {
  border-color: #fb923c;
}

.sc-talep-zamanlama .sc-choice-item.is-rezervasyon input[type="radio"]:checked + .sc-choice-ui {
  background: #ffedd5;
  border-color: #f97316;
  color: #9a3412;
  box-shadow: 0 0 0 3px color-mix(in srgb, #f97316 18%, transparent);
}

.sc-talep-zamanlama .sc-choice-item.is-rezervasyon input[type="radio"]:checked + .sc-choice-ui::before {
  border-color: #f97316;
  box-shadow: inset 0 0 0 0.28rem #f97316;
}

.sc-talep-zamanlama .sc-choice-item.is-rezervasyon input[type="radio"]:focus-visible + .sc-choice-ui {
  outline-color: color-mix(in srgb, #f97316 45%, transparent);
}

.sc-talep-rezervasyon-tarih {
  margin-top: 0.7rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #fed7aa;
  border-radius: 0.75rem;
  background: #fffbeb;
}

.sc-talep-zamanlama-alan:has(#talepZamanHemen:checked) .sc-talep-rezervasyon-tarih,
.sc-talep-rezervasyon-tarih[hidden] {
  display: none;
}

.sc-talep-rezervasyon-tarih .sc-field-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #9a3412;
}

.sc-talep-zaman-rozet {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem 0.4rem;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.2;
}

.sc-talep-zaman-rozet.is-hemen {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.sc-talep-zaman-rozet.is-rezervasyon {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

.sc-talep-zaman-rozet-tarih {
  font-weight: 600;
  opacity: 0.92;
}

@media (max-width: 640px) {
  .sc-talep-zamanlama {
    grid-template-columns: 1fr;
  }
}

/* Dört seçenekli müşteri türü: 2×2 kart ızgarası. */
.sc-choice-4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.sc-choice-4 .sc-choice-item {
  flex: none;
}

@media (max-width: 480px) {
  .sc-choice-4 {
    grid-template-columns: 1fr;
  }
}

/* Müşteri türü: bireysel, kurumsal, servis, tedarikçi, diğer (G-003, 5 seçenek). */
.sc-choice-5 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.sc-choice-5 .sc-choice-item {
  flex: none;
}

@media (max-width: 640px) {
  .sc-choice-5 {
    grid-template-columns: 1fr 1fr;
  }
}

.sc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border: 0;
  border-radius: 0.55rem;
  padding: var(--sc-space-btn-y) var(--sc-space-btn-x);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}

.sc-btn-primary {
  background: var(--sc-primary);
  color: #fff;
  width: 100%;
}

.sc-btn-primary:hover {
  filter: brightness(0.95);
  text-decoration: none;
}

.sc-btn-ghost {
  background: #fff;
  border: 1px solid var(--sc-sidebar-border);
  color: var(--sc-text);
}

.sc-btn-danger {
  background: var(--sc-danger);
  color: #fff;
}

.sc-btn-danger:hover {
  filter: brightness(0.95);
  text-decoration: none;
}

/* Arama ve rapor filtrelerinde birincil eylemi üzerine gelindiğinde belirginleştirir. */
.sc-btn-filter {
  transition: background-color 0.18s ease, border-color 0.18s ease,
    color 0.18s ease, transform 0.18s ease;
}

.sc-btn-filter:hover {
  background: var(--sc-primary);
  border-color: var(--sc-primary);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}

/* Formu temizleme bağlantısını filtre butonundan görsel olarak ayırır. */
.sc-btn-filter-clear:hover {
  background: var(--sc-primary-soft);
  border-color: var(--sc-primary);
  color: var(--sc-primary);
  text-decoration: none;
}

.sc-alert {
  border-radius: 0.55rem;
  padding: var(--sc-space-gap-sm) var(--sc-space-gap);
  margin-bottom: var(--sc-space-gap);
  font-size: 0.875rem;
}

.sc-alert-danger {
  background: #fff1f4;
  color: var(--sc-danger);
  border: 1px solid #ffd6e0;
}

/* ASP.NET boş doğrulama özetini (validation-summary-valid) ilk açılışta gizle */
.validation-summary-valid {
  display: none !important;
}

.sc-alert-success {
  background: #eaffe9;
  color: #0d9b3e;
  border: 1px solid #b8f0c4;
}

.sc-alert-warning {
  background: #fff8ee;
  color: #9a5b00;
  border: 1px solid #ffd6a8;
}

/* Partner yeni talep: açıklama alanının altındaki dosya yükleme bilgilendirme uyarısı. */
.sc-talep-olustur-uyari {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0.75rem 0 0;
}

.sc-talep-olustur-uyari i {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.sc-talep-olustur-uyari strong,
.sc-talep-olustur-uyari span {
  display: block;
}

.sc-talep-olustur-uyari strong {
  margin-bottom: 0.2rem;
}

.sc-talep-olustur-uyari span {
  line-height: 1.4;
}

.sc-validation {
  color: var(--sc-danger);
  font-size: 0.8rem;
  margin-top: 0.25rem;
}

.sc-code-box {
  font-family: ui-monospace, monospace;
  background: var(--sc-bg);
  border: 1px dashed #d5dbe7;
  border-radius: 0.55rem;
  padding: var(--sc-space-card-y);
  word-break: break-all;
  margin-bottom: var(--sc-space-gap);
  font-size: 0.85rem;
}

.sc-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.sc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.sc-table th,
.sc-table td {
  padding: var(--sc-space-table-y) var(--sc-space-table-x);
  border-bottom: 1px solid var(--sc-sidebar-border);
  text-align: left;
  vertical-align: middle;
}

/* Liste işlem sütunu: içerik kadar genişlesin, 1280px’te kesilmesin. */
.sc-table thead th:first-child:empty,
.sc-table td.sc-table-actions,
.sc-table td:first-child:has(.sc-action-btn) {
  width: 1%;
  min-width: max-content;
  overflow: visible;
  white-space: nowrap;
}

.sc-table th {
  color: var(--sc-muted);
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  /* Sol menü ile aynı soft tema rengi */
  background: var(--sc-sidebar);
}

.sc-table tbody tr {
  cursor: pointer;
}

.sc-table tbody tr:hover td {
  background: #fafbfd;
}

/* Seçili satır: soft sarı vurgu (tüm liste tabloları) */
.sc-table tbody tr.is-selected td,
.sc-table tbody tr.is-selected:hover td {
  background: #fff8dc;
}

.sc-table tbody tr.sc-row-danger.is-selected td,
.sc-table tbody tr.sc-row-danger.is-selected:hover td {
  background: #fff3c4;
}

/* Talep listesi: sütun göster/gizle araç çubuğu — Sütunlar, Takvim, Yeni talep */
.sc-table-toolbar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: var(--sc-space-gap-sm);
}

.sc-col-picker {
  position: relative;
}

.sc-col-picker-menu {
  position: absolute;
  left: 0;
  right: auto;
  top: calc(100% + 0.35rem);
  z-index: 30;
  min-width: 180px;
  padding: 0.55rem;
  background: #fff;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 0.55rem;
  box-shadow: 0 10px 24px rgb(0 0 0 / 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

/* display:flex, HTML hidden özniteliğini ezer; kapalıyken tamamen gizle */
.sc-col-picker-menu[hidden] {
  display: none !important;
}

.sc-col-picker-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.45rem;
  border-radius: 0.35rem;
  font-size: 0.85rem;
  color: var(--sc-text);
  cursor: pointer;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
}

.sc-col-picker-item:hover {
  background: #f5f7fb;
}

.sc-col-picker-item input {
  accent-color: var(--sc-primary, #1b84ff);
}

.sc-th-with-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sc-col-hide-btn {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  color: var(--sc-muted);
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.sc-table th:hover .sc-col-hide-btn,
.sc-col-hide-btn:focus-visible {
  opacity: 1;
}

.sc-col-hide-btn:hover {
  background: #eef2f8;
  color: var(--sc-text);
}

/* Aylık talep pivotu: geniş tabloda iş ortağı adı görünür kalır. */
.sc-pivot-table {
  min-width: 1180px;
}

.sc-pivot-table th:first-child,
.sc-pivot-table td:first-child {
  position: sticky;
  left: 0;
  min-width: 220px;
  background: #fff;
  z-index: 1;
}

.sc-pivot-table thead th:first-child {
  z-index: 2;
  background: var(--sc-sidebar);
}

.sc-pivot-table tr:hover td:first-child {
  background: #fafbfd;
}

.sc-pivot-table tbody tr.is-selected td:first-child,
.sc-pivot-table tbody tr.is-selected:hover td:first-child {
  background: #fff8dc;
}

.sc-pivot-table .sc-pivot-sayi {
  min-width: 66px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.sc-pivot-table .is-sifir {
  color: #b5bdcc;
}

.sc-pivot-table tfoot th {
  background: var(--sc-primary-soft);
  color: var(--sc-text);
  border-top: 2px solid color-mix(in srgb, var(--sc-primary) 25%, #fff);
}

.sc-pivot-table tfoot th:first-child {
  background: var(--sc-primary-soft);
}

.sc-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sc-space-gap-sm);
  align-items: center;
  margin-bottom: var(--sc-space-gap);
}

.sc-toolbar form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  flex: 1;
}

.sc-input,
.sc-select {
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  padding: calc(var(--sc-space-field-y) - 0.12rem) var(--sc-space-field-x);
  font: inherit;
  background: #fff;
  min-width: 160px;
}

/* Select2 — uygulama temasına uyumlu dropdown görünümü */
.sc-field .select2-container,
.sc-filter-grid .select2-container,
.sc-form-grid .select2-container,
.sc-toolbar .select2-container {
  min-width: 160px;
}

.sc-field .select2-container {
  width: 100% !important;
}

.select2-container--default .select2-selection--single {
  height: var(--sc-field-min-h);
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  background: #fff;
  font-family: var(--sc-font);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--sc-field-min-h) - 0.1rem);
  padding-left: 0.75rem;
  padding-right: 2rem;
  color: var(--sc-text);
  font-size: 0.95rem;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--sc-muted);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: calc(var(--sc-field-min-h) - 0.1rem);
  right: 0.35rem;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  height: calc(var(--sc-field-min-h) - 0.1rem);
  margin-right: 0.35rem;
  color: var(--sc-muted);
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: color-mix(in srgb, var(--sc-primary) 55%, #dfe3ea);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-primary) 16%, transparent);
}

/* Çoklu seçim (Müşteriler): tekli Select2 ve diğer form alanlarıyla aynı yükseklik/kenarlık. */
.select2-container--default .select2-selection--multiple {
  min-height: var(--sc-field-min-h);
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  background: #fff;
  font-family: var(--sc-font);
  padding: 0.2rem 0.4rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  margin: 0;
  border: 0;
  border-radius: 0.4rem;
  background: var(--sc-primary-soft);
  color: var(--sc-text);
  padding: 0.15rem 0.45rem;
  font-size: 0.85rem;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  margin-top: 0;
  height: 1.9rem;
  font: inherit;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: color-mix(in srgb, var(--sc-primary) 55%, #dfe3ea);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-primary) 16%, transparent);
}

.select2-dropdown {
  border: 1px solid #dfe3ea;
  border-radius: 0.65rem;
  box-shadow: 0 12px 28px rgb(0 0 0 / 0.08);
  overflow: hidden;
  font-family: var(--sc-font);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #dfe3ea;
  border-radius: 0.5rem;
  padding: 0.45rem 0.65rem;
  font: inherit;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--sc-primary);
}

.select2-container--default .select2-results__option--selected {
  background: var(--sc-primary-soft);
  color: var(--sc-text);
}

.select2-results__option {
  padding: 0.55rem 0.75rem;
  font-size: 0.9rem;
}

.sc-badge-soft {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}

.sc-badge-ok {
  background: #eaffe9;
  color: #0d9b3e;
}

.sc-badge-off {
  background: #f1f1f4;
  color: var(--sc-muted);
}

.sc-link-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

/* Tablo satırı aksiyonları: td table-cell kalır; iç sarmalayıcı düğmeleri hizalar. */
td.sc-table-actions {
  width: 1%;
  min-width: max-content;
  overflow: visible;
  white-space: nowrap;
}

td.sc-table-actions > .sc-action-btn,
td.sc-table-actions > form,
td.sc-table-actions > .sc-inline-form {
  vertical-align: middle;
  margin-right: 0.4rem;
}

td.sc-table-actions > :last-child {
  margin-right: 0;
}

div.sc-table-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  white-space: nowrap;
}

.sc-inline-form {
  display: inline;
  margin: 0;
}

/* Liste aksiyon butonları: arka planlı, hover etkileşimli */
.sc-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0.38rem 0.8rem;
  border-radius: 0.45rem;
  border: 1px solid transparent;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.25;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.sc-action-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgb(0 0 0 / 0.08);
  text-decoration: none !important;
}

.sc-action-btn:active {
  transform: translateY(0);
  box-shadow: none;
}

/* Detay / Talebe git */
.sc-action-btn.is-detail {
  background: #e9f3ff;
  border-color: #1b84ff;
  color: #1b84ff;
}
.sc-action-btn.is-detail:hover {
  background: #1b84ff;
  color: #fff;
}

/* Düzenle */
.sc-action-btn.is-edit {
  background: #fff6e5;
  border-color: #f6b100;
  color: #b87a00;
}
.sc-action-btn.is-edit:hover {
  background: #f6b100;
  color: #fff;
}

/* Sil */
.sc-action-btn.is-danger {
  background: #fff1f4;
  border-color: #f8285a;
  color: #f8285a;
}
.sc-action-btn.is-danger:hover {
  background: #f8285a;
  color: #fff;
}

/* İkincil aksiyon (Kullanıcılar, Okundu vb.) */
.sc-action-btn.is-muted {
  background: #f1f4f9;
  border-color: #c5cedd;
  color: #4b5675;
}
.sc-action-btn.is-muted:hover {
  background: #4b5675;
  border-color: #4b5675;
  color: #fff;
}

/* Üzerine al */
.sc-action-btn.is-claim {
  background: #e8f8ef;
  border-color: #17c653;
  color: #0d9b3e;
}
.sc-action-btn.is-claim:hover {
  background: #17c653;
  color: #fff;
}

.sc-form-grid {
  display: grid;
  gap: var(--sc-space-gap);
  max-width: 640px;
}

.sc-form-grid .sc-field[hidden] {
  display: none !important;
}

.sc-form-grid.is-wide {
  max-width: 52rem;
}

.sc-form-grid .sc-field-span {
  grid-column: 1 / -1;
}

.sc-km-toolbar {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
}

.sc-km-toolbar .select2-container {
  flex: 1;
  min-width: 0;
}

.sc-km-toolbar .sc-btn {
  flex-shrink: 0;
  align-self: stretch;
  margin-top: 0;
  height: auto;
  min-height: var(--sc-field-min-h);
  white-space: nowrap;
}

/* Personel formunda şoför seçeneği: ad + TC/telefon/ehliyet alt satır. */
.sc-sofor-opt {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  line-height: 1.25;
}

.sc-sofor-opt small {
  color: var(--sc-muted);
  font-size: 0.8rem;
  font-weight: 400;
}

.select2-results__option--highlighted .sc-sofor-opt small {
  color: inherit;
  opacity: 0.85;
}

.sc-form-grid.sc-km-form {
  max-width: none;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

/* İş ortağı müşteri formu: alanlar sade renkli kart gruplarına ayrılır. */
.sc-km-form-stack {
  display: flex;
  flex-direction: column;
  gap: var(--sc-space-gap);
  width: 100%;
  max-width: none;
}

.sc-km-grup {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  align-items: start;
  padding: var(--sc-space-grup-y) var(--sc-space-grup-x);
  border-radius: var(--sc-radius);
  border: 1px solid transparent;
  box-shadow: none;
}

.sc-km-grup[hidden] {
  display: none !important;
}

.sc-km-grup-baslik {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sc-km-grup.is-temel {
  background: #f4f7fb;
  border-color: #d7e2ee;
}

.sc-km-grup.is-temel .sc-km-grup-baslik {
  color: #4d6278;
}

.sc-km-grup.is-odeme {
  background: #f6f3fb;
  border-color: #ddd4ee;
}

.sc-km-grup.is-odeme .sc-km-grup-baslik {
  color: #6750a4;
}

.sc-km-grup.is-iletisim {
  background: #f2f9f7;
  border-color: #cbe3dc;
}

.sc-km-grup.is-iletisim .sc-km-grup-baslik {
  color: #2f6d62;
}

.sc-km-grup.is-adres {
  background: #faf7f3;
  border-color: #e5d8c8;
}

.sc-km-grup.is-adres .sc-km-grup-baslik {
  color: #7a5e3d;
}

.sc-km-grup.is-trafik {
  background: #f2f9f7;
  border-color: #cbe3dc;
}

.sc-km-grup.is-trafik .sc-km-grup-baslik {
  color: #2f6d62;
}

.sc-km-grup.is-kasko {
  background: #f6f3fb;
  border-color: #ddd4ee;
}

.sc-km-grup.is-kasko .sc-km-grup-baslik {
  color: #6750a4;
}

.sc-km-grup.is-muayene {
  background: #faf7f3;
  border-color: #e5d8c8;
}

.sc-km-grup.is-muayene .sc-km-grup-baslik {
  color: #7a5e3d;
}

.sc-km-grup.is-park {
  background: #eef6f4;
  border-color: #c5ddd6;
}

.sc-km-grup.is-park .sc-km-grup-baslik {
  color: #2c6a5a;
}

.sc-km-grup.is-bakim {
  background: #f3f8f4;
  border-color: #c9ddcf;
}

.sc-km-grup.is-bakim .sc-km-grup-baslik {
  color: #3d6b48;
}

.sc-arac-bakim-kart {
  margin-bottom: var(--sc-space-head);
}

.sc-arac-bakim-tablo {
  margin-top: var(--sc-space-gap);
}

/* Marka ve model yan yana; model 200 karaktere kadar girilir. */
.sc-arac-marka-model {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sc-space-gap);
}

.sc-arac-park-ipucu {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.82rem;
  color: var(--sc-muted, #5b6b7c);
}

.sc-arac-park-koordinat {
  grid-column: 1 / -1;
}

/* Leaflet aynı elemana .leaflet-container ekler; yüzde yükseklik grid içinde 0’a düşer, harita kaybolur. */
.sc-arac-park-harita,
.sc-arac-park-harita.leaflet-container,
.sc-koordinat-harita,
.sc-koordinat-harita.leaflet-container {
  grid-column: 1 / -1;
  width: 100%;
  height: 18rem;
  min-height: 18rem;
  border-radius: 0.7rem;
  border: 1px solid #c5ddd6;
  overflow: hidden;
  z-index: 0;
  background: #e8eef2;
  font: inherit;
}

.sc-arac-park-harita img,
.sc-koordinat-harita img {
  max-width: none !important;
  max-height: none !important;
}

/* Leaflet varsayılan PNG yerine CSS pin; CDN ikon yolu kırılınca işaret kaybolmaz. */
.sc-arac-park-pin {
  background: none !important;
  border: 0 !important;
}

.sc-arac-park-pin-govde {
  display: block;
  width: 22px;
  height: 22px;
  margin: 2px auto 0;
  background: var(--sc-primary, #1b84ff);
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 2px 6px rgb(0 0 0 / 0.35);
}

.sc-arac-park-araclar {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.sc-arac-park-araclar .sc-btn {
  width: auto;
}

.sc-arac-park-durum {
  margin: 0;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #2c6a5a;
}

/* Talep oluşturma: alınacak / bırakılacak haritalar yan yana */
.sc-talep-konum-sira {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sc-space-gap);
}

.sc-talep-konum-kart {
  display: grid;
  gap: var(--sc-space-gap-sm);
  min-width: 0;
}

.sc-talep-konum-kart.is-form {
  gap: 0.4rem;
}

.sc-talep-konum-baslik {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 700;
  color: #2c6a5a;
}

.sc-talep-konum-kart .sc-koordinat-harita {
  height: 16rem;
  min-height: 16rem;
}

.sc-talep-detay-konum {
  margin-top: var(--sc-space-gap);
}

.sc-talep-detay-konum .sc-talep-konum-sira {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sc-talep-konum-baslik {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

/* Yol tarifi A / B rozetleri. */
.sc-talep-konum-nokta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: #1b84ff;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  flex: 0 0 auto;
}

.sc-talep-konum-nokta.is-b {
  background: #e54c18;
}

.sc-talep-yol-tarifi {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--sc-sidebar-border, #e4e7ec);
  border-radius: var(--sc-radius, 0.75rem);
  background: #fff;
}

.sc-talep-yol-tarifi-baslik {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}

.sc-talep-yol-tarifi-aciklama {
  margin: 0.35rem 0 0;
  color: var(--sc-muted, #667085);
  font-size: 0.82rem;
  line-height: 1.45;
}

.sc-talep-yol-tarifi-butonlar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.sc-yol-tarifi-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 0;
  color: #fff;
}

.sc-btn.sc-yol-tarifi-btn.is-google {
  background: #1a73e8;
  color: #fff;
}

.sc-btn.sc-yol-tarifi-btn.is-google:hover {
  background: #1558b3;
  color: #fff;
}

.sc-btn.sc-yol-tarifi-btn.is-yandex {
  background: #fc3f1d;
  color: #fff;
}

.sc-btn.sc-yol-tarifi-btn.is-yandex:hover {
  background: #d43216;
  color: #fff;
}

.sc-btn.sc-yol-tarifi-btn.is-apple {
  background: #111827;
  color: #fff;
}

.sc-btn.sc-yol-tarifi-btn.is-apple:hover {
  background: #000;
  color: #fff;
}

.sc-yol-tarifi-btn:disabled {
  opacity: 0.65;
  cursor: wait;
}

.sc-talep-yol-tarifi-durum {
  margin: 0.55rem 0 0;
  min-height: 1.1em;
  font-size: 0.8rem;
  color: var(--sc-muted, #667085);
}

.sc-talep-ab-km {
  margin: 0.45rem 0 0.75rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1b84ff;
}

.sc-talep-ab-harita {
  height: 22rem;
  min-height: 22rem;
  margin: 0 0 0.85rem;
  border-radius: 0.65rem;
  overflow: hidden;
  border: 1px solid var(--sc-sidebar-border, #e4e7ec);
}

/* Yol tarifi haritası: bölüm genişliğinin tamamı + sağ üstte tam ekran. */
.sc-talep-ab-harita-sarici {
  position: relative;
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 0.85rem;
}

.sc-talep-ab-harita-sarici .sc-talep-ab-harita,
.sc-talep-ab-harita-sarici .sc-talep-ab-harita.leaflet-container {
  width: 100%;
  height: 22rem;
  min-height: 22rem;
  margin: 0;
}

.sc-talep-ab-tam-ekran {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 1100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  padding: 0;
  border: 1px solid #d0d5dd;
  border-radius: 0.45rem;
  background: #fff;
  color: #344054;
  box-shadow: 0 1px 4px rgb(16 24 40 / 0.12);
  cursor: pointer;
}

.sc-talep-ab-tam-ekran:hover {
  background: #f8fafc;
}

.sc-talep-ab-harita-sarici:fullscreen,
.sc-talep-ab-harita-sarici:-webkit-full-screen {
  width: 100%;
  height: 100%;
  margin: 0;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.sc-talep-ab-harita-sarici:fullscreen .sc-talep-ab-harita,
.sc-talep-ab-harita-sarici:fullscreen .sc-talep-ab-harita.leaflet-container,
.sc-talep-ab-harita-sarici:-webkit-full-screen .sc-talep-ab-harita,
.sc-talep-ab-harita-sarici:-webkit-full-screen .sc-talep-ab-harita.leaflet-container {
  flex: 1 1 auto;
  height: 100% !important;
  min-height: 0;
  border: 0;
  border-radius: 0;
}

.sc-talep-ab-pin {
  background: transparent;
  border: 0;
}

.sc-talep-ab-pin span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  box-shadow: 0 1px 4px rgba(16, 24, 40, 0.25);
}

.sc-talep-ab-pin.is-a span {
  background: #1b84ff;
}

.sc-talep-ab-pin.is-b span {
  background: #e54c18;
}

.sc-talep-ab-pin.is-p span {
  background: #17c653;
}

@media (max-width: 900px) {
  .sc-talep-konum-sira {
    grid-template-columns: 1fr;
  }
}

/* Trafik / kasko / muayene kartları yan yana. */
.sc-arac-kart-sira {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  align-items: stretch;
}

.sc-arac-kart-sira > .sc-km-grup {
  grid-template-columns: 1fr;
  min-width: 0;
  height: 100%;
}

/* İş ortağı müşteri formu: kartlar yan yana, boşluk azalır. */
.sc-km-kart-sira {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--sc-space-gap);
  align-items: stretch;
}

.sc-km-kart-sira > .sc-km-grup {
  min-width: 0;
  height: 100%;
}

.sc-km-kart-sira > .is-temel,
.sc-km-kart-sira > .is-iletisim,
.sc-km-kart-sira > .is-odeme {
  grid-template-columns: 1fr;
}

/* Bireyselde ödeme kartı yoksa fatura/adres alt satırı tam genişlik kaplar. */
.sc-km-kart-sira:not(:has([data-km-grup="odeme"]:not([hidden]))) > .is-adres {
  grid-column: 1 / -1;
}

/* Araç formu dosya alanı: native file gizlenir; tıklama + sürükle-bırak. */
.sc-arac-dosya {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  box-sizing: border-box;
  min-height: var(--sc-field-min-h);
  height: auto;
  padding: 0.38rem 0.75rem 0.38rem 0.55rem;
  border: 1.5px dashed color-mix(in srgb, var(--sc-primary) 45%, #c5d0dc);
  border-radius: 0.55rem;
  background: #fff;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.sc-arac-dosya:hover,
.sc-arac-dosya:focus-within {
  border-color: var(--sc-primary);
  background: color-mix(in srgb, var(--sc-primary-soft) 70%, #fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-primary) 14%, transparent);
}

.sc-arac-dosya.is-surukleniyor {
  border-style: solid;
  border-color: var(--sc-primary);
  background: var(--sc-primary-soft);
}

.sc-arac-dosya.is-dosya-secili {
  border-style: solid;
  border-color: #2f9e5f;
  background: #f0faf4;
}

.sc-arac-dosya input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  border: 0;
  background: transparent;
  font: inherit;
}

.sc-arac-dosya-ikon {
  display: grid;
  place-items: center;
  flex: 0 0 1.7rem;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 0.4rem;
  background: var(--sc-primary-soft);
  color: var(--sc-primary);
  pointer-events: none;
}

.sc-arac-dosya-ikon svg,
.sc-arac-dosya-ikon i {
  width: 1.05rem;
  height: 1.05rem;
}

.sc-arac-dosya-govde {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  flex: 1;
  line-height: 1.15;
  pointer-events: none;
}

.sc-arac-dosya-baslik {
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--sc-text);
}

.sc-arac-dosya-secim {
  font-size: 0.82rem;
  font-weight: 650;
  color: #1e7a46;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sc-arac-dosya-ipucu {
  font-size: 0.68rem;
  color: var(--sc-muted);
}

.sc-arac-dosya.is-dosya-secili .sc-arac-dosya-baslik,
.sc-arac-dosya.is-dosya-secili .sc-arac-dosya-ipucu {
  display: none;
}

.sc-ehliyet-liste {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.95rem;
}

.sc-ehliyet-liste .sc-check {
  margin-bottom: 0;
}

.sc-plaka-hucre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.06em;
  font-weight: 600;
}

/* Araç listesi: park koordinatı var/yok harita ikonu */
.sc-arac-konum-hucre {
  width: 1%;
  text-align: center;
  white-space: nowrap;
}

.sc-arac-konum-ikon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sc-arac-konum-ikon.is-var {
  color: var(--sc-success);
}

.sc-arac-konum-ikon.is-yok {
  color: var(--sc-danger);
}

/* Branş araç türü ikon seçici (radio kart ızgarası). */
.sc-brans-ikon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7.4rem, 1fr));
  gap: 0.65rem;
}

.sc-brans-ikon-kart {
  display: block;
  margin: 0;
  cursor: pointer;
}

.sc-brans-ikon-radio {
  appearance: none;
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.sc-brans-ikon-ui {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-height: 6.4rem;
  padding: 0.65rem 0.4rem 0.55rem;
  border: 1px solid var(--sc-border, #e4e7ec);
  border-radius: 0.75rem;
  background: #fff;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.sc-brans-ikon-kart:hover .sc-brans-ikon-ui {
  border-color: var(--sc-primary, #1b84ff);
  transform: translateY(-1px);
}

.sc-brans-ikon-radio:focus-visible + .sc-brans-ikon-ui {
  outline: 3px solid color-mix(in srgb, var(--sc-primary, #1b84ff) 28%, transparent);
  outline-offset: 2px;
}

.sc-brans-ikon-radio:checked + .sc-brans-ikon-ui {
  border-color: var(--sc-primary, #1b84ff);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sc-primary, #1b84ff) 16%, transparent);
  background: color-mix(in srgb, var(--sc-primary, #1b84ff) 7%, #fff);
}

.sc-brans-ikon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: 2.75rem;
  color: var(--sc-text, #1d2939);
}

.sc-brans-ikon.is-yok {
  color: var(--sc-muted, #667085);
}

.sc-brans-ikon.is-sm {
  width: 2.4rem;
  height: 1.45rem;
}

.sc-brans-ikon-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.sc-brans-ikon-ad {
  display: block;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.25;
  color: var(--sc-text, #1d2939);
}

.sc-brans-kod {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

/* Talep listesi/detay: branş rengi büyütülmüş daire, içinde seçili ikon. */
.sc-brans-daire {
  --sc-brans-renk: #1b84ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  background: var(--sc-brans-renk);
  color: #fff;
  flex: 0 0 auto;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.1);
}

.sc-brans-daire.is-lg {
  width: 3.4rem;
  height: 3.4rem;
}

.sc-brans-daire .sc-brans-ikon-svg {
  display: block;
  width: 78%;
  height: auto;
  max-height: 64%;
}

.sc-brans-liste {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.sc-brans-liste > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sc-wa-link {
  color: #128c7e;
  font-weight: 600;
  text-decoration: none;
}

.sc-wa-link:hover {
  text-decoration: underline;
}

/* Talep detay: şoför WhatsApp düğmesi; telefon numarası düğmenin içinde. */
.sc-talep-wa-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
  margin-top: var(--sc-space-gap-sm);
  padding: var(--sc-space-gap-sm) var(--sc-space-sohbet);
  border-radius: 0.55rem;
  background: #25d366;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 1.25;
}

.sc-talep-wa-btn span:last-child {
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.01em;
}

.sc-talep-wa-btn:hover {
  color: #fff;
  filter: brightness(0.95);
}

.sc-muayene-bitis {
  margin: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  padding: var(--sc-space-field-y) var(--sc-space-field-x);
  min-height: var(--sc-field-min-h);
  background: #eef2f6;
  color: #3d4f63;
  font-weight: 600;
}

.sc-field input.sc-km-kod {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  background: #eef2f6;
  color: #3d4f63;
  cursor: default;
}

.sc-km-form .sc-field[hidden] {
  display: none !important;
}

.sc-km-form .sc-check {
  grid-column: 1 / -1;
  margin-bottom: 0;
  align-self: end;
  min-height: var(--sc-field-min-h);
}

.sc-km-form-stack > .sc-actions {
  margin-top: 0.15rem;
}

.sc-km-grup .sc-field-span {
  grid-column: 1 / -1;
}

/* Plaka özetinde ad soyad ve telefon solda; boşsa ayraç gizlenir. */
.sc-talep-plaka-ozet-satir {
  margin: 0.35rem 0 0;
}

.sc-talep-plaka-ozet-satir [data-talep-adsoyad-ozet]:empty + [data-talep-adsoyad-ayrac],
.sc-talep-plaka-ozet-satir [data-talep-telefon-ozet]:empty + [data-talep-telefon-ayrac] {
  display: none;
}

/* Ad soyad + telefon + plaka + fiyat + net/KDV seçimi aynı satırda. */
.sc-talep-plaka-fiyat {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(14rem, 1.15fr);
  gap: var(--sc-space-gap);
  align-items: start;
}

.sc-talep-plaka-fiyat .sc-choice {
  flex-wrap: nowrap;
}

.sc-talep-plaka-fiyat .sc-choice-item {
  flex: 1 1 0;
}

.sc-talep-plaka-input {
  text-transform: uppercase;
}

.sc-talep-fiyat-ozeti {
  margin: 0.35rem 0 0;
  color: var(--sc-text);
  font-size: 0.92rem;
  font-weight: 700;
}

/* Detay: plaka/fiyat formu Konumlar’ın hemen üstünde tek satır. */
.sc-talep-detay-plaka-fiyat {
  margin-top: var(--sc-space-gap);
}

.sc-talep-detay-plaka-fiyat > form {
  grid-column: 1 / -1;
}

.sc-talep-detay-plaka-fiyat + .sc-talep-detay-konum {
  margin-top: var(--sc-space-gap-sm);
}

.sc-talep-plaka-fiyat-durum {
  margin: 0.45rem 0 0;
  min-height: 1.1rem;
  font-size: 0.8rem;
  color: var(--sc-muted);
}

.sc-talep-plaka-fiyat-durum.is-hata {
  color: var(--sc-danger);
}

.sc-talep-plaka-fiyat-durum.is-ok {
  color: #2c6a5a;
}

.sc-modal-body.is-form .sc-km-grup {
  padding: var(--sc-space-grup-y) var(--sc-space-grup-x);
}

.sc-form-grid.sc-km-form .sc-field[hidden] {
  display: none !important;
}

.sc-form-grid.sc-km-form .sc-check {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.sc-modal-dialog.is-form {
  width: min(980px, 100%);
  overflow: visible;
}

.sc-modal-body.is-form {
  display: block;
  background: #fff;
  min-height: 0;
  max-height: min(70vh, 640px);
  overflow: auto;
  align-items: stretch;
  padding: 1.15rem 1.25rem 0.75rem;
}

@media (max-width: 1280px) {
  .sc-talep-plaka-fiyat {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1100px) {
  .sc-arac-kart-sira {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .sc-km-kart-sira {
    grid-template-columns: 1fr;
  }

  .sc-km-kart-sira:not(:has([data-km-grup="odeme"]:not([hidden]))) > .is-adres {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  .sc-form-grid.sc-km-form,
  .sc-km-grup {
    grid-template-columns: 1fr;
  }

  .sc-arac-marka-model {
    grid-template-columns: 1fr;
  }

  .sc-talep-plaka-fiyat {
    grid-template-columns: 1fr;
  }

  .sc-km-toolbar {
    flex-direction: column;
  }
}

#kmHata:not([hidden]) {
  color: #b42318;
  margin: 0;
}

.sc-form-grid .sc-field select,
.sc-form-grid .sc-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  padding: var(--sc-space-field-y) var(--sc-space-field-x);
  min-height: var(--sc-field-min-h);
  font: inherit;
  background: #fff;
}

.sc-actions {
  display: flex;
  gap: var(--sc-space-gap-sm);
  margin-top: var(--sc-space-gap-sm);
}

.sc-btn-sm {
  padding: 0.45rem 0.85rem;
  width: auto;
  font-size: 0.85rem;
}

.sc-status-dot {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  margin-right: 0.35rem;
}

.sc-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.sc-filter-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Temsilci talep listesi: hızlı durum filtresi (İşlem Bekliyor). */
.sc-hizli-filtre-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.sc-hizli-filtre-row label,
.sc-hizli-filtre-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--sc-muted);
  white-space: nowrap;
}

.sc-hizli-filtre-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid #f6b100;
  background: #f6b100;
  color: #1a1a1a;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.sc-hizli-filtre-btn:hover {
  background: #e5a500;
  border-color: #e5a500;
  color: #1a1a1a;
}

.sc-hizli-filtre-btn.is-active {
  background: #dba800;
  border-color: #dba800;
  color: #1a1a1a;
  box-shadow: 0 0 0 2px rgba(246, 177, 0, 0.4);
}

.sc-hizli-filtre-btn.is-active:hover {
  background: #c99200;
  border-color: #c99200;
  color: #1a1a1a;
}

/* Temsilci: üzerimdeki talepler hızlı filtresi (mavi). */
.sc-hizli-filtre-btn.is-mine {
  border-color: #1b84ff;
  background: #1b84ff;
  color: #fff;
}

.sc-hizli-filtre-btn.is-mine:hover {
  background: #1570e0;
  border-color: #1570e0;
  color: #fff;
}

.sc-hizli-filtre-btn.is-mine.is-active {
  background: #1264c9;
  border-color: #1264c9;
  color: #fff;
  box-shadow: 0 0 0 2px rgba(27, 132, 255, 0.35);
}

.sc-hizli-filtre-btn.is-mine.is-active:hover {
  background: #0f58b3;
  border-color: #0f58b3;
  color: #fff;
}

/* Personel: temsilci atanmamış (boşta) talepler hızlı filtresi (mor). */
.sc-hizli-filtre-btn.is-unassigned {
  border-color: #7239ea;
  background: #7239ea;
  color: #fff;
}

.sc-hizli-filtre-btn.is-unassigned:hover {
  background: #652fd0;
  border-color: #652fd0;
  color: #fff;
}

.sc-hizli-filtre-btn.is-unassigned.is-active {
  background: #5a29b8;
  border-color: #5a29b8;
  color: #fff;
  box-shadow: 0 0 0 2px rgba(114, 57, 234, 0.35);
}

.sc-hizli-filtre-btn.is-unassigned.is-active:hover {
  background: #4f24a3;
  border-color: #4f24a3;
  color: #fff;
}

.sc-hizli-filtre-btn-clear {
  font-weight: 500;
  color: var(--sc-muted);
}

.sc-hizli-filtre-btn-clear:hover {
  color: var(--sc-text, #181c32);
  background: var(--sc-surface-alt, #f9f9f9);
  border-color: var(--sc-border, #e4e6ef);
}

/* Tablo sütun başlığı sıralama: ASC → DESC → varsayılan döngüsü */
.sc-sortable-th {
  white-space: nowrap;
}

.sc-sort-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
}

.sc-sort-link:hover {
  color: var(--sc-primary, #7239ea);
}

.sc-sort-link.is-active {
  color: var(--sc-primary, #7239ea);
  font-weight: 600;
}

.sc-sort-link.is-default {
  color: inherit;
}

.sc-sort-icon {
  font-size: 0.72rem;
  line-height: 1;
  opacity: 0.85;
}

.sc-sort-link.is-default .sc-sort-icon {
  opacity: 0.45;
}

.sc-th-with-toggle .sc-sort-link {
  flex: 1;
  min-width: 0;
}

.sc-filter-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* Talep arama: oluşturma tarih aralığı, araç/cari çift kutu ile aynı ölçü */
.sc-filter-grid .sc-arac-filtre-cift .sc-date-wrap {
  min-width: 168px;
  width: 168px;
}

.sc-arac-filtre {
  margin-bottom: var(--sc-space-gap);
}

.sc-arac-filtre-cift {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.3rem 0.5rem;
  border-radius: 0.55rem;
  background: #f4f7fb;
  border: 1px solid #e3ebf3;
}

.sc-arac-filtre-cift-etiket {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sc-muted);
  padding: 0 0.2rem;
  white-space: nowrap;
}

.sc-arac-filtre .sc-date-wrap {
  min-width: 168px;
  width: 168px;
}

.sc-toolbar .sc-arac-filtre-cift .sc-date-wrap {
  min-width: 168px;
  width: 168px;
}

.sc-row-danger td {
  background: #fff5f7;
}

.sc-timeline {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.sc-timeline-item {
  border-left: 3px solid var(--sc-primary-soft);
  padding-left: 0.85rem;
}

.sc-timeline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  font-size: 0.8rem;
  color: var(--sc-muted);
  margin-bottom: 0.2rem;
}

/* İşlem geçmişi: tıklanınca açılan modern zaman çizelgesi */
.sc-gecmis-panel {
  padding: 0 !important;
  overflow: hidden;
}

.sc-gecmis-ozet {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sc-space-gap);
  padding: var(--sc-space-gap) var(--sc-space-card-x);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.18s ease;
}

.sc-gecmis-ozet::-webkit-details-marker {
  display: none;
}

.sc-gecmis-ozet::marker {
  content: "";
}

.sc-gecmis-ozet:hover {
  background: var(--sc-primary-soft);
}

.sc-gecmis-baslik {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--sc-text);
}

.sc-gecmis-baslik i {
  color: var(--sc-primary);
}

.sc-gecmis-sayac {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: var(--sc-primary-soft);
  color: var(--sc-primary);
  font-size: 0.78rem;
  font-weight: 700;
}

.sc-gecmis-ipucu {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--sc-muted);
  font-size: 0.82rem;
  white-space: nowrap;
}

.sc-gecmis-ok {
  transition: transform 0.22s ease;
  color: var(--sc-muted);
}

.sc-gecmis-panel[open] .sc-gecmis-ok {
  transform: rotate(180deg);
}

.sc-gecmis-panel[open] .sc-gecmis-ozet {
  border-bottom: 1px solid var(--sc-sidebar-border);
}

.sc-gecmis-ipucu-kapa {
  display: none;
}

.sc-gecmis-panel[open] .sc-gecmis-ipucu-ac {
  display: none;
}

.sc-gecmis-panel[open] .sc-gecmis-ipucu-kapa {
  display: inline;
}

.sc-gecmis-icerik {
  padding: 1rem 1.15rem 1.15rem;
  animation: sc-gecmis-acilis 0.22s ease;
}

@keyframes sc-gecmis-acilis {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sc-gecmis-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.sc-gecmis-madde {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.75rem;
  border-left: none;
  padding: 0.85rem 0 0.85rem 0.25rem;
  border-bottom: 1px solid var(--sc-sidebar-border);
}

.sc-gecmis-madde:last-child {
  border-bottom: none;
  padding-bottom: 0.25rem;
}

.sc-gecmis-madde:first-child {
  padding-top: 0.25rem;
}

.sc-gecmis-ikon {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--sc-primary-soft);
  color: var(--sc-primary);
  flex-shrink: 0;
}

.sc-gecmis-madde.is-olusturma .sc-gecmis-ikon { background: #e9f3ff; color: #1b84ff; }
.sc-gecmis-madde.is-atama .sc-gecmis-ikon { background: #e8faf0; color: #17c653; }
.sc-gecmis-madde.is-yonlendirme .sc-gecmis-ikon { background: #f3eeff; color: #7239ea; }
.sc-gecmis-madde.is-durum .sc-gecmis-ikon { background: #fff6e5; color: #f6b100; }
.sc-gecmis-madde.is-not .sc-gecmis-ikon { background: #eef5fc; color: #78829d; }
.sc-gecmis-madde.is-kapanis .sc-gecmis-ikon { background: #e8faf0; color: #17c653; }
.sc-gecmis-madde.is-mesaj .sc-gecmis-ikon { background: #e9f3ff; color: #1b84ff; }
.sc-gecmis-madde.is-dosya .sc-gecmis-ikon { background: #fff6e5; color: #f6b100; }
.sc-gecmis-madde.is-plaka-fiyat .sc-gecmis-ikon { background: #eef6f4; color: #2c6a5a; }

.sc-gecmis-tip {
  color: var(--sc-text);
  font-size: 0.9rem;
}

.sc-gecmis-aciklama {
  margin-top: 0.25rem;
  color: var(--sc-text);
  font-size: 0.92rem;
  line-height: 1.45;
}

.sc-gecmis-bos {
  margin: 0;
  color: var(--sc-muted);
  font-size: 0.9rem;
}

/* Talep dosyaları: tıklanabilir ve sürükle-bırak destekli yükleme alanı. */
.sc-dosya-yukleme-form {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

.sc-dosya-birakma-alani {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  min-height: 112px;
  padding: 1rem 1.25rem;
  border: 2px dashed #9bc7fa;
  border-radius: var(--sc-radius);
  background: var(--sc-primary-soft);
  color: var(--sc-text);
  cursor: pointer;
  text-align: left;
  transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sc-dosya-birakma-alani:hover,
.sc-dosya-birakma-alani:focus-within {
  border-color: var(--sc-primary);
  background: #dcecff;
  box-shadow: 0 0 0 3px rgb(27 132 255 / 0.1);
}

.sc-dosya-birakma-alani.is-surukleniyor {
  border-color: var(--sc-primary);
  border-style: solid;
  background: #d4e8ff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgb(27 132 255 / 0.15);
}

.sc-dosya-birakma-alani.is-dosya-secili {
  border-style: solid;
  border-color: var(--sc-success);
  background: #e8faf0;
}

.sc-dosya-birakma-alani input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sc-dosya-birakma-ikon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  border-radius: 999px;
  background: #fff;
  color: var(--sc-primary);
  box-shadow: var(--sc-shadow);
}

.sc-dosya-birakma-metin {
  display: grid;
  gap: 0.2rem;
}

.sc-dosya-birakma-metin strong {
  font-size: 0.95rem;
}

.sc-dosya-birakma-metin span {
  color: var(--sc-muted);
  font-size: 0.82rem;
}

.sc-dosya-secim {
  max-width: 230px;
  padding: 0.4rem 0.65rem;
  border-radius: 0.5rem;
  background: #fff;
  color: #0f8f43;
  font-size: 0.82rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sc-dosya-yukleme-alt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.sc-dosya-yukleme-alt p {
  margin: 0;
  color: var(--sc-muted);
  font-size: 0.78rem;
}

@media (max-width: 640px) {
  .sc-gecmis-ozet {
    flex-direction: column;
    align-items: flex-start;
  }

  .sc-gecmis-ipucu {
    width: 100%;
    justify-content: space-between;
  }

  .sc-dosya-birakma-alani {
    flex-direction: column;
    text-align: center;
  }

  .sc-dosya-yukleme-alt {
    align-items: stretch;
    flex-direction: column;
  }
}

.sc-chat {
  max-height: 360px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--sc-space-gap-sm);
  padding-right: 0.25rem;
}

.sc-chat-msg {
  background: var(--sc-bg);
  border-radius: 0.65rem;
  padding: var(--sc-space-gap-sm) var(--sc-space-field-x);
  max-width: min(85%, 340px);
  width: fit-content;
}

/* Talebi açan (iş ortağı) — sol */
.sc-chat-msg.is-baslatan {
  align-self: flex-start;
  border-bottom-left-radius: 0.2rem;
}

/* Cevap veren (temsilci/yönetici) — sağ */
.sc-chat-msg.is-cevap {
  align-self: flex-end;
  background: var(--sc-primary-soft);
  border-bottom-right-radius: 0.2rem;
}

.sc-chat-msg.is-cevap .sc-chat-meta {
  justify-content: flex-end;
  text-align: right;
}

.sc-chat-msg.is-dahili {
  border-left: 3px solid var(--sc-warning);
}

.sc-chat-msg.is-cevap.is-dahili {
  border-left: 0;
  border-right: 3px solid var(--sc-warning);
}

.sc-chat-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--sc-muted);
  margin-bottom: 0.25rem;
}

.sc-chat-body {
  white-space: pre-wrap;
  font-size: 0.9rem;
}

.sc-chat-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
  align-items: center;
}

.sc-chat-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 0;
  background: transparent;
  color: var(--sc-muted);
  font-size: 0.75rem;
  padding: 0.15rem 0.35rem;
  border-radius: 0.3rem;
  cursor: pointer;
}

.sc-chat-action-btn:hover {
  background: rgb(0 0 0 / 0.05);
  color: var(--sc-text);
}

.sc-chat-action-btn.is-danger:hover {
  color: var(--sc-danger);
  background: #fff1f4;
}

.sc-chat-sil-form {
  display: inline;
  margin: 0;
}

.sc-chat-edit-form {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.sc-chat-edit-form[hidden] {
  display: none !important;
}

.sc-chat-edit-form textarea {
  width: 100%;
  min-height: 4.5rem;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 0.45rem;
  padding: 0.5rem 0.65rem;
  font: inherit;
  resize: vertical;
}

.sc-chat-edit-actions {
  display: flex;
  gap: 0.4rem;
  justify-content: flex-end;
}

.sc-chat-files {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

/* Sohbette dosya önizleme ve silme düğmesini yan yana hizalar. */
.sc-chat-file-row {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  max-width: 100%;
}

.sc-file-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  max-width: 100%;
  border: 1px solid var(--sc-sidebar-border);
  background: #fff;
  color: var(--sc-primary);
  border-radius: 0.55rem;
  padding: 0.4rem 0.7rem;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}

.sc-file-chip:hover {
  background: var(--sc-primary-soft);
  border-color: color-mix(in srgb, var(--sc-primary) 35%, #fff);
}

.sc-file-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}

body.sc-modal-open {
  overflow: hidden;
}

.sc-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: var(--sc-space-page);
}

.sc-modal[hidden] {
  display: none !important;
}

.sc-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgb(15 23 42 / 0.55);
}

.sc-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(90vh, 860px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 0.9rem;
  border: 1px solid var(--sc-sidebar-border);
  box-shadow: 0 24px 60px rgb(15 23 42 / 0.25);
  overflow: hidden;
}

.sc-modal-dialog.is-confirm {
  width: min(26rem, 100%);
  max-height: none;
  animation: sc-sil-onay-in 0.18s ease;
}

@keyframes sc-sil-onay-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.sc-modal-head,
.sc-modal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sc-space-gap-sm);
  padding: var(--sc-space-card-y) var(--sc-space-card-x);
  border-bottom: 1px solid var(--sc-sidebar-border);
}

.sc-modal-foot {
  border-bottom: 0;
  border-top: 1px solid var(--sc-sidebar-border);
  justify-content: flex-end;
}

.sc-modal-body {
  flex: 1;
  min-height: 280px;
  overflow: auto;
  background: #0f172a08;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sc-space-gap-sm);
}

.sc-modal-body.is-confirm {
  min-height: 0;
  display: block;
  background: #fff;
  padding: 1.4rem 1.35rem 0.35rem;
  text-align: center;
}

.sc-sil-onay-ikon {
  width: 3.15rem;
  height: 3.15rem;
  margin: 0 auto 0.85rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--sc-danger);
  background: color-mix(in srgb, var(--sc-danger) 12%, #fff);
}

.sc-sil-onay-ikon.is-uyari {
  color: #c2410c;
  background: #fff7ed;
}

.sc-sil-onay-baslik {
  margin: 0 0 0.4rem;
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--sc-text);
}

.sc-sil-onay-mesaj {
  margin: 0;
  color: var(--sc-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.sc-modal-dialog.is-confirm .sc-modal-foot {
  border-top: 0;
  padding: 1rem 1.25rem 1.2rem;
  justify-content: center;
}

.sc-modal-dialog.is-confirm .sc-modal-foot .sc-btn {
  width: auto;
  min-width: 6.5rem;
}

.sc-modal-body > .sc-modal-frame {
  align-self: stretch;
  width: 100%;
}

/* PDF önizleme: iframe + yedek indirme/yeni sekme düğmeleri */
.sc-modal-pdf-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  width: 100%;
  min-height: min(70vh, 640px);
}

.sc-modal-pdf-actions {
  text-align: center;
}

.sc-modal-pdf-hint {
  margin: 0 0 0.45rem;
  font-size: 0.82rem;
  color: var(--sc-muted);
}

.sc-modal-pdf-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
}

.sc-modal-img {
  max-width: 100%;
  max-height: min(70vh, 640px);
  object-fit: contain;
  border-radius: 0.4rem;
}

.sc-modal-frame {
  width: 100%;
  height: min(70vh, 640px);
  border: 0;
  border-radius: 0.4rem;
  background: #fff;
}

.sc-modal-fallback {
  text-align: center;
  color: var(--sc-muted);
  display: grid;
  gap: 0.85rem;
  justify-items: center;
  padding: 2rem 1rem;
}

/*
 * Yoğunluk: 1366 dizüstü boşlukları varsayılandır.
 * Tablet ve telefonda token'lar orantılı düşer; geniş ekranda büyümez.
 */
@media (max-width: 900px) {
  :root {
    --sc-topbar-h: 52px;
    --sc-topbar-pad-x: 0.8rem;
    --sc-space-page: 0.8rem;
    --sc-space-card-y: 0.7rem;
    --sc-space-card-x: 0.8rem;
    --sc-space-gap: 0.7rem;
    --sc-space-gap-sm: 0.45rem;
    --sc-space-head: 0.8rem;
    --sc-space-table-y: 0.48rem;
    --sc-space-table-x: 0.55rem;
    --sc-space-grup-y: 0.65rem;
    --sc-space-grup-x: 0.7rem;
    --sc-space-field-y: 0.48rem;
    --sc-space-field-x: 0.6rem;
    --sc-field-min-h: 2.2rem;
    --sc-space-sohbet: 0.6rem;
    --sc-space-btn-y: 0.5rem;
    --sc-space-btn-x: 0.75rem;
  }
}

@media (max-width: 640px) {
  :root {
    --sc-topbar-h: 48px;
    --sc-topbar-pad-x: 0.65rem;
    --sc-space-page: 0.6rem;
    --sc-space-card-y: 0.55rem;
    --sc-space-card-x: 0.65rem;
    --sc-space-gap: 0.55rem;
    --sc-space-gap-sm: 0.35rem;
    --sc-space-head: 0.65rem;
    --sc-space-table-y: 0.4rem;
    --sc-space-table-x: 0.45rem;
    --sc-space-grup-y: 0.5rem;
    --sc-space-grup-x: 0.55rem;
    --sc-space-field-y: 0.42rem;
    --sc-space-field-x: 0.55rem;
    --sc-field-min-h: 2.1rem;
    --sc-space-sohbet: 0.5rem;
    --sc-space-btn-y: 0.45rem;
    --sc-space-btn-x: 0.7rem;
  }
}

/*
 * Dizüstü ve geniş ekran (1366 düzeni):
 * Sol menüyü dar tutar; liste işlem düğmeleri kesilmez (gerekirse yatay kaydırma).
 * 1367px üstünde ayrı bir büyüme kuralı yoktur.
 */
@media (min-width: 901px) {
  .sc-sidebar {
    width: 200px;
  }

  .sc-brand {
    gap: 0.55rem;
    font-size: 1rem;
  }

  .sc-nav-label {
    padding-right: 0.55rem;
    padding-left: 0.55rem;
  }

  .sc-nav-link {
    gap: 0.5rem;
    padding: 0.58rem 0.65rem;
    font-size: 0.84rem;
  }

  /* İşlem sütunu sığmazsa kaydır; düğmeleri overflow ile kesme. */
  .sc-table-wrap {
    overflow-x: auto;
  }

  .sc-talep-list-table {
    font-size: 0.78rem;
  }

  .sc-talep-list-table th,
  .sc-talep-list-table td {
    overflow: hidden;
    padding: 0.55rem 0.4rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Sol işlem sütunu: Detay / Üzerine al her zaman görünsün. */
  .sc-talep-list-table th:first-child,
  .sc-talep-list-table td:first-child {
    width: 1%;
    min-width: max-content;
    overflow: visible;
    white-space: nowrap;
    text-overflow: unset;
  }

  .sc-table td.sc-table-actions,
  .sc-table td:first-child:has(.sc-action-btn) {
    overflow: visible;
    white-space: nowrap;
    min-width: max-content;
  }

  .sc-table .sc-action-btn {
    padding: 0.32rem 0.5rem;
    font-size: 0.75rem;
  }

  .sc-talep-list-table th {
    font-size: 0.68rem;
    letter-spacing: 0;
  }

  .sc-talep-list-table [data-col="talepNo"] {
    width: 9%;
  }

  .sc-talep-list-table [data-col="isOrtagi"] {
    width: 15%;
  }

  .sc-talep-list-table [data-col="baslik"] {
    width: 12%;
  }

  .sc-talep-list-table [data-col="fiyat"] {
    width: 11%;
    overflow: visible;
    white-space: normal;
  }

  .sc-talep-list-table [data-col="brans"] {
    width: 10%;
    overflow: visible;
    white-space: nowrap;
  }

  .sc-talep-list-table [data-col="tur"] {
    width: 9%;
  }

  .sc-talep-list-table [data-col="durum"] {
    width: 10%;
  }

  .sc-talep-list-table [data-col="temsilci"] {
    width: 11%;
  }

  .sc-talep-list-table [data-col="olusturma"] {
    width: 12%;
  }

  .sc-talep-list-table .sc-th-with-toggle {
    gap: 0.2rem;
  }

  .sc-talep-list-table .sc-col-hide-btn {
    flex: 0 0 auto;
  }

  .sc-talep-list-table .sc-link-row,
  .sc-talep-list-table div.sc-table-actions {
    flex-wrap: nowrap;
    gap: 0.25rem !important;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .sc-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 35;
    background: rgb(15 23 42 / 0.45);
    border: 0;
    padding: 0;
    margin: 0;
  }

  .sc-sidebar-backdrop[hidden] {
    display: none !important;
  }

  body.sc-sidebar-acik {
    overflow: hidden;
  }

  .sc-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-105%);
    transition: transform 0.2s ease;
    z-index: 45;
  }

  .sc-shell.sidebar-open .sc-sidebar {
    transform: translateX(0);
  }

  .sc-menu-toggle {
    display: grid;
    place-items: center;
  }

  .sc-user-meta {
    display: none;
  }
}

@media (max-width: 1100px) {
  .sc-talep-detay {
    grid-template-columns: 1fr;
  }

  .sc-talep-detay-sohbet {
    position: relative;
    top: 0;
    height: min(70vh, 560px);
  }

  .sc-action-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sc-gosterge-uyari-grid,
  .sc-gosterge-uyari-grid.is-iki {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .sc-kpi-grid,
  .sc-kpi-grid-3,
  .sc-kpi-grid-2,
  .sc-action-grid,
  .sc-action-grid-4 {
    grid-template-columns: 1fr;
  }

  .sc-talep-detay-sohbet {
    height: min(65vh, 480px);
    min-height: 360px;
  }
}

/* —— Flatpickr tarih seçici (YolYardımPro CRM teması) —— */
.sc-date-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--sc-field-min-h);
}

.sc-km-grup .sc-date-wrap {
  width: 100%;
  display: flex;
  align-items: center;
}

/* Orijinal gizli input yerleşimi bozmasın; görünür alan altInput. */
.sc-date-wrap > input.sc-date:not(.sc-date-alt) {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0;
  pointer-events: none;
}

.sc-date-wrap .sc-date-icon {
  position: absolute;
  left: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  z-index: 3;
  color: var(--sc-muted);
  display: grid;
  place-items: center;
  pointer-events: none;
  line-height: 0;
}

.sc-date-wrap .sc-date-icon svg,
.sc-date-wrap .sc-date-icon i {
  width: 1.1rem;
  height: 1.1rem;
  display: block;
}

.sc-date-wrap input.sc-date-alt {
  width: 100%;
  min-width: 0;
  min-height: var(--sc-field-min-h);
  height: var(--sc-field-min-h);
  box-sizing: border-box;
  padding: var(--sc-space-field-y) var(--sc-space-field-x) var(--sc-space-field-y) 2.5rem;
  border: 1px solid #dfe3ea;
  border-radius: 0.55rem;
  font: inherit;
  background: #fff;
  cursor: pointer;
}

.sc-field .sc-date-wrap input.sc-date-alt {
  min-height: var(--sc-field-min-h);
  padding-left: 2.5rem;
}

.flatpickr-calendar {
  font-family: var(--sc-font);
  border: 1px solid var(--sc-sidebar-border) !important;
  border-radius: 0.85rem !important;
  box-shadow: 0 12px 40px rgb(30 33 41 / 0.12) !important;
  padding: 0.35rem;
  overflow: hidden;
}

.flatpickr-months {
  padding: 0.35rem 0.25rem 0.15rem;
}

.flatpickr-months .flatpickr-month {
  height: 2.4rem;
}

.flatpickr-current-month {
  font-size: 0.95rem !important;
  font-weight: 600;
  padding-top: 0.35rem;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  fill: var(--sc-muted);
  padding: 0.5rem;
  border-radius: 0.45rem;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  background: var(--sc-primary-soft);
  fill: var(--sc-primary);
}

.flatpickr-weekdays {
  background: transparent;
}

span.flatpickr-weekday {
  color: var(--sc-muted);
  font-weight: 600;
  font-size: 0.75rem;
}

.flatpickr-day {
  border-radius: 0.5rem !important;
  font-weight: 500;
  max-width: 2.35rem;
  height: 2.35rem;
  line-height: 2.35rem;
  margin: 0.1rem 0;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
  background: var(--sc-primary-soft) !important;
  border-color: transparent !important;
  color: var(--sc-primary) !important;
}

.flatpickr-day.today {
  border-color: var(--sc-primary) !important;
  color: var(--sc-primary);
  font-weight: 700;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--sc-primary) !important;
  border-color: var(--sc-primary) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.flatpickr-day.inRange {
  background: var(--sc-primary-soft) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--sc-text) !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #c5cad6 !important;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}

.sc-fp-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0.35rem 0.55rem 0.55rem;
  border-top: 1px solid var(--sc-sidebar-border);
  margin-top: 0.15rem;
}

.sc-fp-clear {
  border: 0;
  background: transparent;
  color: var(--sc-muted);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.35rem 0.55rem;
  border-radius: 0.4rem;
}

.sc-fp-clear:hover {
  color: var(--sc-danger);
  background: #fff1f4;
}

/* Üst çubuk dil seçici: seçilen dilin menü başlıkları hemen aktif olur. */
.sc-dil-wrap {
  position: relative;
}

.sc-dil-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 2.25rem;
  padding: 0 0.7rem 0 0.6rem;
  border-radius: 0.5rem;
  border: 1px solid var(--sc-sidebar-border);
  background: #fff;
  color: var(--sc-muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.sc-dil-btn:hover,
.sc-dil-btn[aria-expanded="true"] {
  background: var(--sc-bg);
  color: var(--sc-text);
}

.sc-dil-kod {
  font-weight: 700;
  text-transform: uppercase;
}

.sc-dil-menu {
  min-width: 180px;
}

.sc-dil-menu form {
  margin: 0;
}

.sc-dil-menu button {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.sc-dil-menu button.is-active {
  background: var(--sc-bg);
  font-weight: 700;
}

/* Dil yönetimi alt sekmeleri */
.sc-alt-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 1rem;
}

.sc-alt-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--sc-sidebar-border);
  background: #fff;
  color: var(--sc-muted);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
}

.sc-alt-nav-link:hover {
  background: var(--sc-bg);
  color: var(--sc-text);
  text-decoration: none;
}

.sc-alt-nav-link.is-active {
  background: var(--sc-text);
  border-color: var(--sc-text);
  color: #fff;
}

.sc-ceviri-tablo .sc-ceviri-input {
  min-width: 220px;
  width: 100%;
}

.sc-ceviri-yedek {
  color: var(--sc-muted);
  font-size: 0.85rem;
  max-width: 220px;
}

.sc-ceviri-tablo code,
.sc-table code {
  font-size: 0.8rem;
  background: var(--sc-bg);
  padding: 0.1rem 0.35rem;
  border-radius: 0.3rem;
}

/* Müşteri formunda kiracıya açılacak diller */
.sc-field-baslik {
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

.sc-dil-secim {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.5rem;
}

.sc-dil-secim-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 0.55rem;
  background: #fff;
}

.sc-dil-secim-satir .sc-check {
  margin: 0;
}

.sc-dil-varsayilan {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  color: var(--sc-muted);
  white-space: nowrap;
  cursor: pointer;
}

.sc-dil-varsayilan input {
  accent-color: var(--sc-primary);
}

/* Yönetim paneli: plaka bazlı trafik / kasko / muayene bitiş uyarıları */
.sc-arac-uyari {
  margin-bottom: var(--sc-space-head);
}

.sc-arac-uyari-baslik {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.sc-arac-uyari-baslik > div {
  flex: 1;
  min-width: 0;
}

.sc-arac-uyari-baslik strong {
  display: block;
  font-size: 0.95rem;
}

.sc-arac-uyari-baslik p {
  margin: 0.2rem 0 0;
  color: var(--sc-muted);
  font-size: 0.8rem;
}

.sc-arac-uyari-ikon {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.55rem;
  background: #fff8ee;
  color: #9a5b00;
  flex: 0 0 auto;
}

.sc-arac-uyari-bos {
  margin: 0;
  color: var(--sc-muted);
  font-size: 0.875rem;
}

.sc-arac-uyari-liste {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  max-height: 22rem;
  overflow: auto;
}

.sc-arac-uyari-satir {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  column-gap: 0.75rem;
  row-gap: 0.25rem;
  align-items: start;
  padding: var(--sc-space-field-y) var(--sc-space-field-x);
  border-radius: 0.55rem;
  border: 1px solid #ffd6a8;
  background: #fff8ee;
  color: inherit;
  text-decoration: none;
}

.sc-arac-uyari-satir.is-gecikti {
  border-color: #ffd6e0;
  background: #fff1f4;
}

.sc-arac-uyari-satir:hover {
  filter: brightness(0.98);
}

.sc-arac-uyari-plaka {
  font-weight: 700;
  letter-spacing: 0.04em;
  font-size: 0.95rem;
}

.sc-arac-uyari-kiraci {
  grid-column: 1;
  color: var(--sc-muted);
  font-size: 0.75rem;
}

.sc-arac-uyari-kalemler {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-self: end;
}

.sc-arac-uyari-kalem {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.45rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: #fff;
  border: 1px solid #ffd6a8;
  color: #9a5b00;
}

.sc-arac-uyari-kalem.is-kritik {
  border-color: #ffb4a8;
  color: #b42318;
}

.sc-arac-uyari-kalem.is-gecikti {
  border-color: #ffd6e0;
  background: #fff;
  color: var(--sc-danger);
}

.sc-arac-uyari-kalem em {
  font-style: normal;
  font-weight: 500;
  opacity: 0.75;
}

@media (max-width: 720px) {
  .sc-arac-uyari-satir {
    grid-template-columns: 1fr;
  }

  .sc-arac-uyari-kalemler {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
}

/* Cari vade uyarısı: müşteri adı plakadan uzun olabilir. */
.sc-cari-uyari .sc-arac-uyari-satir {
  grid-template-columns: minmax(8rem, 16rem) minmax(0, 1fr);
}

.sc-cari-uyari-ad {
  letter-spacing: 0;
  word-break: break-word;
}

@media (max-width: 720px) {
  .sc-cari-uyari .sc-arac-uyari-satir {
    grid-template-columns: 1fr;
  }
}

/* Cari kart özeti: borç / tahsilat / alacak / ödeme / bakiye. */
.sc-cari-kpi {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--sc-space-gap);
  margin-bottom: var(--sc-space-head);
}

.sc-cari-kpi-borc {
  --sc-ozet-renk: #c2410c;
  --sc-ozet-soft-renk: #fff4ed;
}

.sc-cari-kpi-tahsilat {
  --sc-ozet-renk: #1d4ed8;
  --sc-ozet-soft-renk: #eff6ff;
}

.sc-cari-kpi-alacak {
  --sc-ozet-renk: #0f766e;
  --sc-ozet-soft-renk: #f0fdfa;
}

.sc-cari-kpi-odeme {
  --sc-ozet-renk: #6d28d9;
  --sc-ozet-soft-renk: #f5f3ff;
}

.sc-cari-kpi-sifir {
  --sc-ozet-renk: #64748b;
  --sc-ozet-soft-renk: #f8fafc;
}

.sc-cari-tutar {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sc-cari-tutar.is-borc {
  color: #c2410c;
  font-weight: 700;
}

.sc-cari-tutar.is-alacak {
  color: #0f766e;
  font-weight: 700;
}

.sc-badge-soft.sc-cari-rozet-borc {
  background: #fff4ed;
  color: #c2410c;
}

.sc-badge-soft.sc-cari-rozet-tahsilat {
  background: #eff6ff;
  color: #1d4ed8;
}

.sc-badge-soft.sc-cari-rozet-alacak {
  background: #f0fdfa;
  color: #0f766e;
}

.sc-badge-soft.sc-cari-rozet-odeme {
  background: #f5f3ff;
  color: #6d28d9;
}

.sc-cari-form-sira {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sc-space-gap);
}

.sc-cari-accordion {
  margin-bottom: var(--sc-space-head);
}

.sc-cari-accordion-btn {
  width: 100%;
  justify-content: center;
  min-height: 2.85rem;
  font-size: 0.98rem;
  font-weight: 700;
}

.sc-cari-accordion-ok {
  margin-left: 0.15rem;
  transition: transform 0.18s ease;
}

.sc-cari-accordion-btn[aria-expanded="true"] .sc-cari-accordion-ok {
  transform: rotate(180deg);
}

.sc-cari-accordion-btn[aria-expanded="true"] {
  margin-bottom: 0.9rem;
}

.sc-cari-hareket-form {
  margin-bottom: 0;
}

.sc-cari-acilis {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--sc-text);
}

.sc-cari-kdv {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--sc-muted);
}

/* Talep listesi: tutar + KDV dahil/hariç (iki satır). */
.sc-talep-liste-fiyat {
  display: block;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.sc-talep-liste-kdv {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--sc-muted);
}

.sc-talep-list-table [data-col="fiyat"] {
  white-space: normal;
}

/* Cari ekstre: kesilen tahsilatta yeşil tik, kesilmeyende kırmızı çarpı. */
.sc-table th.sc-fatura-durum-sutun,
.sc-table td.sc-fatura-durum-sutun {
  text-align: center;
  width: 4.5rem;
}

.sc-fatura-durum {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
}

.sc-fatura-durum svg {
  stroke-width: 2.75;
}

.sc-fatura-durum.is-kesildi {
  color: var(--sc-success);
}

.sc-fatura-durum.is-kesilmedi {
  color: var(--sc-danger);
}

/* Kesilecek faturalar: talep henüz Kapalı değilse kesim yerine bu metin. */
.sc-fatura-talep-devam {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sc-muted);
  white-space: nowrap;
}

/* Kesilecek faturalar: işlem tarihinin altında ödeme gününe kalan süre. */
.sc-fatura-odeme-kalan {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--sc-danger);
  margin-top: 0.15rem;
}

@media (max-width: 1100px) {
  .sc-cari-kpi,
  .sc-cari-form-sira {
    grid-template-columns: 1fr 1fr;
  }

  /* Bakiye üçüncü satırda tam genişlik: Borç+Tahsilat, Alacak+Ödeme, Bakiye. */
  .sc-cari-kpi > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .sc-cari-form-sira {
    grid-template-columns: 1fr;
  }
}

/* Kiracı formu: sol kurum bilgisi, sağda ekran yetkileri. */
.sc-musteri-form-duzen {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 1.25rem;
  align-items: start;
}

.sc-musteri-form-duzen > .sc-card .sc-form-grid {
  max-width: none;
}

.sc-modul-yetki {
  position: sticky;
  top: 1rem;
}

.sc-modul-yetki.is-pasif {
  background: #f4f5f7;
  opacity: 0.72;
}

.sc-abonelik-uyari {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: var(--sc-space-gap);
}

.sc-modul-yetki-baslik {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--sc-text);
}

.sc-modul-yetki-grup {
  margin-top: 0.85rem;
}

.sc-modul-yetki-grup-baslik {
  margin-bottom: 0.4rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sc-muted);
}

.sc-modul-yetki-satir {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  width: 100%;
  margin: 0 0 0.35rem;
  padding: 0.4rem 0.5rem;
  border-radius: 0.5rem;
}

.sc-modul-yetki-satir[data-derinlik="1"] {
  margin-left: 0.35rem;
  padding-left: 0.75rem;
  border-left: 2px solid var(--sc-sidebar-border);
}

.sc-modul-yetki-satir[data-derinlik="2"] {
  margin-left: 0.7rem;
  padding-left: 0.9rem;
  border-left: 2px solid var(--sc-sidebar-border);
}

.sc-modul-yetki-satir span {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  line-height: 1.3;
}

.sc-modul-bagli-not {
  display: none;
  font-size: 0.7rem;
  font-weight: 600;
  color: #b45309;
}

.sc-modul-yetki-satir.is-bagli-pasif {
  background: #f4f6f9;
  opacity: 1;
  cursor: not-allowed;
}

.sc-modul-yetki-satir.is-bagli-pasif span {
  color: var(--sc-muted);
}

.sc-modul-yetki-satir.is-bagli-pasif .sc-modul-bagli-not {
  display: inline;
}

.sc-modul-yetki-satir.is-bagli-pasif input[type="checkbox"] {
  background: #e8edf3;
  border-color: #d0d7e0;
}

@media (max-width: 960px) {
  .sc-musteri-form-duzen {
    grid-template-columns: 1fr;
  }

  .sc-modul-yetki {
    position: static;
  }
}

/* Açık talepler haritası: solda liste, sağda güzergâh. */
.sc-main:has(.sc-content.is-harita) {
  height: 100vh;
  overflow: hidden;
}

.sc-main:has(.sc-content.is-harita) .sc-adixi-footer {
  display: none;
}

.sc-content.is-harita {
  padding: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
}

.sc-harita-sayfa {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1;
  background: #fff;
}

.sc-harita-liste {
  width: 18.5rem;
  flex-shrink: 0;
  border-right: 1px solid var(--sc-sidebar-border);
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #f8fbfe;
}

.sc-harita-liste-baslik {
  padding: 0.75rem 0.85rem 0.55rem;
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--sc-muted);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--sc-sidebar-border);
}

.sc-harita-liste-bos {
  margin: 0;
  padding: 1rem 0.85rem;
  color: var(--sc-muted);
  font-size: 0.88rem;
}

.sc-harita-liste-ul {
  list-style: none;
  margin: 0;
  padding: 0.35rem;
  overflow: auto;
  flex: 1;
  min-height: 0;
}

/* Sol listede satır seçimi (harita) ve talep detay bağlantısı yan yana. */
.sc-harita-kart {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 0.55rem;
  margin-bottom: 0.3rem;
}

.sc-harita-kart:hover {
  border-color: var(--sc-sidebar-border);
}

.sc-harita-kart.is-aktif {
  border-color: var(--sc-primary);
  background: var(--sc-primary-soft);
}

.sc-harita-satir {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 0.55rem;
  padding: 0.55rem 0.35rem 0.55rem 0.65rem;
  margin: 0;
  cursor: pointer;
  color: var(--sc-text);
}

.sc-harita-satir:hover {
  text-decoration: none;
}

.sc-harita-satir-detay {
  flex-shrink: 0;
  margin: 0.45rem 0.45rem 0 0;
}

.sc-harita-satir-no {
  font-weight: 700;
  font-size: 0.92rem;
}

.sc-harita-satir-alt {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  font-size: 0.78rem;
  color: var(--sc-muted);
}

.sc-harita-satir-durum {
  font-weight: 700;
}

.sc-harita-govde {
  flex: 1;
  min-width: 0;
  min-height: 0;
  position: relative;
  display: flex;
}

.sc-harita-canvas {
  flex: 1;
  min-height: 0;
  width: 100%;
}

.sc-harita-canvas.leaflet-container {
  height: 100%;
}

.sc-harita-ozet {
  position: absolute;
  z-index: 500;
  top: 0.75rem;
  right: 0.75rem;
  left: auto;
  max-width: min(22rem, calc(100% - 3.5rem));
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--sc-sidebar-border);
  border-radius: 0.65rem;
  box-shadow: var(--sc-shadow);
  padding: 0.65rem 0.8rem;
  pointer-events: none;
  text-align: right;
}

.sc-harita-ozet-km {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--sc-text);
}

.sc-harita-ozet-sure {
  margin-top: 0.15rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--sc-primary);
}

.sc-harita-ozet-meta {
  margin-top: 0.4rem;
  font-size: 0.78rem;
  color: var(--sc-muted);
  line-height: 1.35;
}

.sc-harita-ipucu {
  position: absolute;
  z-index: 500;
  left: 50%;
  top: 0.85rem;
  transform: translateX(-50%);
  margin: 0;
  padding: 0.4rem 0.75rem;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 999px;
  border: 1px solid var(--sc-sidebar-border);
  font-size: 0.82rem;
  color: var(--sc-muted);
  pointer-events: none;
}

/* Kiracı formu: aylık sistem ücreti kutusu (farklı arka plan). */
.sc-sistem-ucret-kutu {
  grid-column: 1 / -1;
  margin-top: 0.25rem;
  padding: 0.85rem 1rem 1rem;
  background: linear-gradient(180deg, #e8f4ff 0%, #d6ebff 100%);
  border: 1px solid #b7d6f5;
  border-radius: var(--sc-radius);
}

.sc-sistem-ucret-kutu .sc-field-baslik {
  color: #0b4f8a;
}

.sc-sistem-odeme-ozet {
  margin-bottom: var(--sc-space-gap);
  display: grid;
  gap: 0.45rem;
}

.sc-sistem-odeme-ozet-satir {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.9rem;
}

.sc-sistem-odeme-ozet-satir span {
  color: var(--sc-muted);
}

@media (max-width: 900px) {
  .sc-harita-sayfa {
    flex-direction: column;
  }

  .sc-harita-liste {
    width: 100%;
    max-height: 38%;
    border-right: 0;
    border-bottom: 1px solid var(--sc-sidebar-border);
  }
}

/* Talep listesi takvim: Sütunlar yanındaki geçiş + günlük / haftalık / aylık */
.sc-talep-takvim-ac.is-active {
  background: var(--sc-primary-soft);
  border-color: color-mix(in srgb, var(--sc-primary) 32%, var(--sc-sidebar-border));
  color: #0f5fbf;
}

.sc-talep-takvim-mod {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.2rem;
  padding: 0.18rem;
  background: #f4f7fb;
  border-radius: 0.7rem;
}

.sc-talep-takvim-mod[hidden] {
  display: none !important;
}

.sc-talep-takvim-mod .sc-choice-item {
  flex: none;
}

.sc-talep-takvim-mod .sc-choice-ui {
  min-height: 2rem;
  padding: 0.28rem 0.7rem;
  font-size: 0.8rem;
  border-radius: 0.52rem;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.sc-talep-takvim-mod .sc-choice-ui::before {
  display: none;
}

.sc-talep-takvim-mod .sc-choice-item:hover .sc-choice-ui {
  background: #fff;
  border-color: transparent;
}

.sc-talep-takvim-mod .sc-choice-item input[type="radio"]:checked + .sc-choice-ui {
  background: #fff;
  border-color: color-mix(in srgb, var(--sc-primary) 22%, transparent);
  color: #0f5fbf;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.06);
}

.sc-talep-takvim-mod .sc-choice-item input[type="radio"]:focus-visible + .sc-choice-ui {
  outline: 2px solid color-mix(in srgb, var(--sc-primary) 40%, transparent);
  outline-offset: 2px;
}

.sc-talep-takvim {
  margin-top: 0.15rem;
}

.sc-talep-takvim[hidden] {
  display: none !important;
}

.sc-talep-takvim-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin-bottom: 0.85rem;
}

.sc-talep-takvim-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.sc-talep-takvim-baslik {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 650;
  color: var(--sc-text);
  letter-spacing: -0.02em;
}

.sc-talep-takvim-durum {
  margin: 1.5rem 0;
  text-align: center;
  color: var(--sc-muted);
  font-size: 0.88rem;
}

.sc-talep-takvim-durum.is-hata {
  color: #b45309;
}

.sc-talep-takvim-ay-baslik {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.3rem;
  margin-bottom: 0.35rem;
  color: var(--sc-muted);
  font-size: 0.72rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
}

.sc-talep-takvim-ay-izgara {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.3rem;
}

.sc-talep-takvim-hucre {
  min-height: 7.2rem;
  padding: 0.4rem 0.35rem 0.45rem;
  border: 1px solid #eef2f6;
  border-radius: 0.65rem;
  background: #fbfcfe;
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  cursor: pointer;
}

.sc-talep-takvim-hucre.is-baska {
  opacity: 0.42;
}

.sc-talep-takvim-hucre.is-bugun {
  background: color-mix(in srgb, var(--sc-primary) 7%, #fff);
  border-color: color-mix(in srgb, var(--sc-primary) 22%, #eef2f6);
}

.sc-talep-takvim-gunno {
  width: 1.45rem;
  height: 1.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 650;
  color: var(--sc-muted);
}

.sc-talep-takvim-hucre.is-bugun .sc-talep-takvim-gunno {
  background: var(--sc-primary);
  color: #fff;
}

.sc-talep-takvim-olay {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.18rem 0.4rem;
  border-radius: 0.4rem;
  border-left: 2px solid transparent;
  text-decoration: none;
  font-size: 0.72rem;
  line-height: 1.25;
  color: var(--sc-text);
}

.sc-talep-takvim-olay:hover {
  text-decoration: none;
  filter: brightness(0.97);
}

.sc-talep-takvim-olay.is-hemen {
  background: #ecfdf5;
  border-left-color: #10b981;
  color: #047857;
}

.sc-talep-takvim-olay.is-rezervasyon {
  background: #fff7ed;
  border-left-color: #f97316;
  color: #c2410c;
}

.sc-talep-takvim-saat {
  flex: 0 0 auto;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  opacity: 0.8;
}

.sc-talep-takvim-olay-metin {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sc-talep-takvim-daha {
  font-size: 0.68rem;
  color: var(--sc-muted);
  padding: 0 0.3rem;
}

.sc-talep-takvim-hafta {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
}

.sc-talep-takvim-hafta-gun {
  min-height: 18rem;
  padding: 0.55rem 0.45rem;
  border: 1px solid #eef2f6;
  border-radius: 0.75rem;
  background: #fbfcfe;
  cursor: pointer;
}

.sc-talep-takvim-hafta-gun.is-bugun {
  background: color-mix(in srgb, var(--sc-primary) 7%, #fff);
  border-color: color-mix(in srgb, var(--sc-primary) 22%, #eef2f6);
}

.sc-talep-takvim-hafta-ust {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.55rem;
  color: var(--sc-muted);
  font-size: 0.72rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.sc-talep-takvim-hafta-ust strong {
  font-size: 1.05rem;
  color: var(--sc-text);
  letter-spacing: -0.02em;
}

.sc-talep-takvim-hafta-gun.is-bugun .sc-talep-takvim-hafta-ust strong {
  color: var(--sc-primary);
}

.sc-talep-takvim-hafta-liste {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.sc-talep-takvim-hafta-liste .sc-talep-takvim-olay {
  font-size: 0.76rem;
  padding: 0.32rem 0.45rem;
}

.sc-talep-takvim-gun {
  max-height: 36rem;
  overflow: auto;
  border: 1px solid #eef2f6;
  border-radius: 0.75rem;
  background: #fbfcfe;
}

.sc-talep-takvim-saat-satir {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 0.55rem;
  min-height: 2.65rem;
  padding: 0.2rem 0.65rem 0.2rem 0.45rem;
  border-top: 1px solid #f1f5f9;
}

.sc-talep-takvim-saat-satir:first-child {
  border-top: 0;
}

.sc-talep-takvim-saat-etiket {
  padding-top: 0.35rem;
  color: var(--sc-muted);
  font-size: 0.72rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.sc-talep-takvim-saat-olaylar {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  padding: 0.15rem 0;
}

.sc-talep-takvim-saat-olaylar .sc-talep-takvim-olay {
  font-size: 0.8rem;
  padding: 0.38rem 0.55rem;
}

@media (max-width: 900px) {
  .sc-talep-takvim-ay,
  .sc-talep-takvim-hafta {
    overflow-x: auto;
  }

  .sc-talep-takvim-ay-baslik,
  .sc-talep-takvim-ay-izgara,
  .sc-talep-takvim-hafta {
    min-width: 46rem;
  }
}


