/*
 * Osoa RFID Platformu — Web Panel tasarım sistemi (TümQR / Metronic, --kt-*)
 * Kaynak: docs/TASARIM-SISTEMI.md. Renk hard-code yok; her yerde --kt-* değişkenleri.
 * Bu dosya kalıcıdır: yeni ekranlar (Faz 6) burayı genişletir, yeniden yazmaz.
 */

/* ---------- 1. CSS Değişkenleri ---------- */
:root {
  /* Renkler */
  --kt-primary: #1B84FF;
  --kt-primary-active: #056EF0;
  --kt-primary-light: #EBF3FF;
  --kt-success: #17C653;
  --kt-success-light: #DFFFEA;
  --kt-warning: #F6C000;
  --kt-warning-active: #D4A200;
  --kt-warning-light: #FFF8DD;
  --kt-danger: #F8285A;
  --kt-danger-active: #D81A48;
  --kt-danger-light: #FFF2F2;
  --kt-info: #7239EA;
  --kt-info-light: #F8F5FF;

  /* Metin */
  --kt-text-dark: #071437;
  --kt-text-gray-700: #3F4254;
  --kt-text-gray-600: #7E8299;
  --kt-text-muted: #99A1B7;

  /* Arkaplan & Border */
  --kt-body-bg: #F5F5F8;
  --kt-white: #FFFFFF;
  --kt-border-color: #F1F1F4;
  --kt-border-dashed: #DBE0EA;

  /* Kart */
  --kt-card-shadow: 0px 3px 4px 0px rgba(0, 0, 0, .03);
  --kt-card-radius: 12px;

  /* Layout */
  --kt-sidebar-width: 265px;
  --kt-toolbar-height: 65px;

  /* Font */
  --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- 19. Genel kurallar ---------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

body {
  font-family: var(--font);
  font-size: 13px;
  font-weight: 400;
  color: var(--kt-text-dark);
  background: var(--kt-body-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: var(--font);
}

svg {
  display: block;
}

/* ---------- 3. Admin Panel Layout ---------- */
.kt-aside {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--kt-sidebar-width);
  background: var(--kt-white);
  border-right: 1px solid var(--kt-border-color);
  display: flex;
  flex-direction: column;
  z-index: 100;
  overflow-y: auto;
}

.kt-aside-logo {
  height: var(--kt-toolbar-height);
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--kt-border-color);
}

.kt-aside-logo-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: var(--kt-primary);
  color: var(--kt-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
  flex-shrink: 0;
}

.kt-aside-logo-text {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--kt-text-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kt-aside-menu {
  flex: 1;
  padding: 16px 12px;
  overflow-y: auto;
}

.kt-menu-section {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--kt-text-muted);
  padding: 14px 12px 6px;
}

.kt-menu-section:first-child {
  padding-top: 4px;
}

.kt-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--kt-text-gray-700);
  cursor: pointer;
  transition: background .12s, color .12s;
}

.kt-menu-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: currentColor;
  color: var(--kt-text-gray-600);
}

.kt-menu-item:hover {
  background: var(--kt-body-bg);
  color: var(--kt-primary);
}

.kt-menu-item:hover svg {
  color: var(--kt-primary);
}

.kt-menu-item.active {
  background: var(--kt-primary-light);
  color: var(--kt-primary);
}

.kt-menu-item.active svg {
  color: var(--kt-primary);
}

.kt-menu-item-label {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kt-aside-user {
  flex-shrink: 0;
  border-top: 1px solid var(--kt-border-color);
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.kt-aside-user-avatar {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: var(--kt-primary-light);
  color: var(--kt-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}

.kt-aside-user-info {
  flex: 1;
  min-width: 0;
}

.kt-aside-user-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--kt-text-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kt-aside-user-rol {
  font-size: 11.5px;
  color: var(--kt-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kt-aside-user-cikis {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: var(--kt-text-gray-600);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.kt-aside-user-cikis:hover { background: var(--kt-body-bg); color: var(--kt-danger); }
.kt-aside-user-cikis svg { width: 16px; height: 16px; }

.kt-wrapper {
  margin-left: var(--kt-sidebar-width);
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.kt-toolbar {
  height: var(--kt-toolbar-height);
  background: var(--kt-white);
  border-bottom: 1px solid var(--kt-border-color);
  padding: 0 28px;
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.kt-toolbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.kt-toolbar-hamburger {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--kt-border-color);
  background: var(--kt-white);
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.kt-toolbar-titles {
  min-width: 0;
}

.kt-toolbar-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--kt-text-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kt-breadcrumb {
  font-size: 12px;
  font-weight: 500;
  color: var(--kt-text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
}

.kt-breadcrumb .kt-breadcrumb-current {
  color: var(--kt-primary);
}

.kt-toolbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.kt-content {
  padding: 22px 28px 32px;
  flex: 1;
}

/* ---------- 4. Kartlar ---------- */
.kt-card {
  background: var(--kt-white);
  border-radius: var(--kt-card-radius);
  border: 1px solid var(--kt-border-color);
  box-shadow: var(--kt-card-shadow);
  overflow: hidden;
}

.kt-card-header {
  padding: 16px 22px 14px;
  border-bottom: 1px solid var(--kt-border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  gap: 12px;
}

.kt-card-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--kt-text-dark);
}

.kt-card-subtitle {
  font-size: 12px;
  color: var(--kt-text-muted);
  margin-top: 2px;
}

.kt-card-body {
  padding: 20px 22px;
}

/* hidden özniteliği, bileşenlerin display kuralına (kt-btn, kt-alert…) yenilmesin */
[hidden] { display: none !important; }

/* ---------- 5. Butonlar ---------- */
.kt-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  line-height: 1;
  transition: background .12s, box-shadow .12s;
  white-space: nowrap;
}

.kt-btn svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.kt-btn-primary {
  background: var(--kt-primary);
  color: var(--kt-white);
}

.kt-btn-primary:hover {
  background: var(--kt-primary-active);
  box-shadow: 0 4px 12px rgba(27, 132, 255, .35);
}

.kt-btn-light {
  background: var(--kt-body-bg);
  color: var(--kt-text-gray-700);
  border: 1px solid var(--kt-border-color);
}

.kt-btn-light:hover {
  background: #ECECF1;
}

.kt-btn-danger {
  background: var(--kt-danger-light);
  color: var(--kt-danger);
}

.kt-btn-danger:hover {
  background: #FFE3E9;
}

.kt-btn-warning {
  background: var(--kt-warning-light);
  color: #9E7D00;
}

.kt-btn-warning:hover {
  background: var(--kt-warning);
}

.kt-btn-success {
  background: var(--kt-success-light);
  color: #037A3B;
}

.kt-btn-success:hover {
  background: #CFFEE0;
}

.kt-btn-sm {
  padding: 7px 12px;
  font-size: 12px;
  border-radius: 7px;
}

.kt-btn-icon {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 8px;
  justify-content: center;
}

.kt-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* ---------- 6. Badge'ler ---------- */
.kt-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}

.kt-badge-success { background: var(--kt-success-light); color: #037A3B; }
.kt-badge-warning { background: var(--kt-warning-light); color: #9E7D00; }
.kt-badge-danger  { background: var(--kt-danger-light);  color: var(--kt-danger); }
.kt-badge-primary { background: var(--kt-primary-light); color: var(--kt-primary); }
.kt-badge-info    { background: var(--kt-info-light);    color: var(--kt-info); }
.kt-badge-light   { background: var(--kt-body-bg);       color: var(--kt-text-muted); }

/* ---------- 7. Tablolar ---------- */
.kt-table-wrap {
  overflow-x: auto;
}

.kt-table {
  width: 100%;
  border-collapse: collapse;
}

.kt-table th {
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--kt-text-muted);
  padding: 10px 14px;
  border-bottom: 1px solid var(--kt-border-color);
  text-align: left;
  white-space: nowrap;
}

.kt-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--kt-border-color);
  font-size: 13px;
  color: var(--kt-text-dark);
  vertical-align: middle;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kt-table td.kt-td-wrap {
  white-space: normal;
}

.kt-table tr:last-child td {
  border-bottom: none;
}

.kt-table tr:hover td {
  background: #FAFAFA;
}

.kt-table-empty {
  padding: 40px 22px;
  text-align: center;
  color: var(--kt-text-muted);
  font-size: 13px;
}

/* ---------- 8. Form Kontrolleri ---------- */
.kt-form-control {
  height: 40px;
  border: 1px solid var(--kt-border-color);
  border-radius: 8px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--kt-text-dark);
  font-family: var(--font);
  background: var(--kt-white);
  outline: none;
  width: 100%;
  transition: border-color .12s, box-shadow .12s;
}

textarea.kt-form-control {
  height: auto;
  padding: 10px 14px;
  resize: vertical;
}

.kt-form-control:focus {
  border-color: var(--kt-primary);
  box-shadow: 0 0 0 3px rgba(27, 132, 255, .12);
}

.kt-form-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--kt-text-gray-700);
  margin-bottom: 7px;
  display: block;
}

.kt-form-group {
  margin-bottom: 16px;
}

.kt-form-hint {
  font-size: 11.5px;
  color: var(--kt-text-muted);
  margin-top: 5px;
}

.kt-form-error {
  font-size: 11.5px;
  color: var(--kt-danger);
  margin-top: 5px;
}

/* ---------- 9. Filtre Barı ---------- */
.kt-filter-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--kt-border-color);
  flex-wrap: wrap;
}

.kt-search-wrap {
  position: relative;
  max-width: 280px;
  flex: 1;
  min-width: 180px;
}

.kt-search-wrap svg {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  color: var(--kt-text-muted);
}

.kt-search-input {
  height: 38px;
  border-radius: 8px;
  padding-left: 36px;
}

.kt-filter-select {
  height: 38px;
  border-radius: 8px;
  font-size: 12.5px;
  width: auto;
  min-width: 140px;
}

/* ---------- 10. Stat Kartları ---------- */
.kt-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

@media (max-width: 1200px) {
  .kt-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .kt-stats-grid { grid-template-columns: 1fr; }
}

.kt-stat-card {
  padding: 22px 24px 18px;
}

.kt-stat-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

.kt-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kt-stat-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
}

.kt-stat-value {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--kt-text-dark);
  line-height: 1.15;
}

.kt-stat-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--kt-text-muted);
  margin-top: 4px;
}

/* ---------- 11. Tab Navigasyon ---------- */
.kt-tabs {
  display: flex;
  border-bottom: 1px solid var(--kt-border-color);
  padding: 0 22px;
  gap: 4px;
  overflow-x: auto;
}

.kt-tab {
  padding: 12px 16px 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--kt-text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s, border-color .15s;
  white-space: nowrap;
}

.kt-tab.active {
  color: var(--kt-primary);
  border-bottom-color: var(--kt-primary);
}

/* ---------- 12. Type Chip'ler ---------- */
.kt-type-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 7px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  border: 1px dashed transparent;
  transition: all .15s;
}

.kt-type-chip:hover {
  border-style: solid;
  transform: translateY(-1px);
}

.chip-primary { background: #EBF3FF; color: #1B84FF; border-color: #BDD7FF; }
.chip-violet  { background: #F8F5FF; color: #7239EA; border-color: #D5C7F9; }
.chip-success { background: #DFFFEA; color: #037A3B; border-color: #A3EFBE; }
.chip-warning { background: #FFF8DD; color: #D4A200; border-color: #FFE580; }
.chip-danger  { background: #FFF2F2; color: #F8285A; border-color: #FFC1CF; }
.chip-teal    { background: #E5FFF0; color: #027A30; border-color: #A3EAB8; }
.chip-gray    { background: #F5F5F8; color: #7E8299; border-color: #D6D6E0; }

/* ---------- 13. Drag Handle ---------- */
.kt-drag {
  display: flex;
  flex-direction: column;
  gap: 2.5px;
  cursor: grab;
  opacity: 0;
  transition: opacity .15s;
}

.kt-drag span {
  display: block;
  width: 14px;
  height: 1.5px;
  background: var(--kt-text-muted);
}

tr:hover .kt-drag,
.kt-field-row:hover .kt-drag {
  opacity: .5;
}

/* ---------- 14. Progress Bar ---------- */
.kt-progress-bar {
  height: 6px;
  background: var(--kt-border-color);
  border-radius: 10px;
  overflow: hidden;
  min-width: 80px;
}

.kt-progress-fill {
  height: 100%;
  border-radius: 10px;
  background: var(--kt-primary);
}

.kt-progress-fill.success { background: var(--kt-success); }
.kt-progress-fill.warning { background: var(--kt-warning); }
.kt-progress-fill.danger  { background: var(--kt-danger); }

/* ---------- 16. Giriş (Login) Sayfası ---------- */
.kt-login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #F5F5F8, #EBF3FF);
  padding: 20px;
}

.kt-login-card {
  width: 100%;
  max-width: 380px;
  background: var(--kt-white);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .12);
  padding: 36px 32px;
}

.kt-login-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 24px;
}

.kt-login-title {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  color: var(--kt-text-dark);
  margin-bottom: 4px;
}

.kt-login-subtitle {
  font-size: 12.5px;
  color: var(--kt-text-muted);
  text-align: center;
  margin-bottom: 28px;
}

.kt-login-card .kt-form-control {
  height: 44px;
  background: var(--kt-body-bg);
  border: 1px solid var(--kt-body-bg);
}

.kt-login-card .kt-form-control:focus {
  background: var(--kt-white);
  border-color: var(--kt-primary);
  box-shadow: 0 0 0 3px rgba(27, 132, 255, .12);
}

.kt-login-card .kt-btn-primary {
  width: 100%;
  justify-content: center;
  height: 44px;
  margin-top: 6px;
}

.kt-login-alt {
  text-align: center;
  margin-top: 18px;
  font-size: 12.5px;
  color: var(--kt-text-muted);
}

.kt-login-alt a {
  color: var(--kt-primary);
  font-weight: 600;
}

/* ---------- Genel yardımcılar ---------- */
.kt-placeholder-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 64px 24px;
  gap: 10px;
}

.kt-placeholder-card svg {
  width: 40px;
  height: 40px;
  color: var(--kt-text-muted);
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.kt-placeholder-card h2 {
  font-size: 15px;
  font-weight: 700;
  color: var(--kt-text-dark);
}

.kt-placeholder-card p {
  font-size: 13px;
  color: var(--kt-text-muted);
  max-width: 420px;
}

.kt-mb-16 { margin-bottom: 16px; }
.kt-mb-20 { margin-bottom: 20px; }

/* ---------- Uyarı kutuları (alert) ---------- */
.kt-alert {
  padding: 12px 16px;
  border-radius: 9px;
  font-size: 12.5px;
  font-weight: 500;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.kt-alert-danger { background: var(--kt-danger-light); color: var(--kt-danger); }
.kt-alert-success { background: var(--kt-success-light); color: #037A3B; }
.kt-alert-warning { background: var(--kt-warning-light); color: #9E7D00; }
.kt-alert-info { background: var(--kt-info-light); color: var(--kt-info); }

/* ---------- Onay modalı (Ortak Razor partial: _OnayModal) ---------- */
.kt-modal-arkaplan {
  position: fixed;
  inset: 0;
  background: rgba(7, 20, 55, .45);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.kt-modal-arkaplan.kt-modal-acik { display: flex; }

.kt-modal {
  background: var(--kt-white);
  border-radius: var(--kt-card-radius);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
  max-width: 420px;
  width: 92%;
}

.kt-modal-header {
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--kt-border-color);
  font-size: 15px;
  font-weight: 700;
  color: var(--kt-text-dark);
}

.kt-modal-body { padding: 18px 22px; font-size: 13px; color: var(--kt-text-gray-700); }

.kt-modal-footer {
  padding: 14px 22px 18px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* ---------- Boş durum (tablo/liste) ---------- */
.kt-bos-durum {
  padding: 48px 24px;
  text-align: center;
  color: var(--kt-text-muted);
  font-size: 13px;
}

/* ---------- Sayfalama ---------- */
.kt-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 22px;
  border-top: 1px solid var(--kt-border-color);
  flex-wrap: wrap;
  gap: 10px;
}

.kt-pagination-bilgi { font-size: 12.5px; color: var(--kt-text-muted); }
.kt-pagination-butonlar { display: flex; gap: 8px; }
.kt-btn-disabled { opacity: .45; pointer-events: none; }

@media (max-width: 992px) {
  .kt-aside {
    transform: translateX(-100%);
    transition: transform .2s;
  }

  .kt-aside.kt-aside-acik {
    transform: translateX(0);
  }

  .kt-wrapper {
    margin-left: 0;
  }

  .kt-toolbar-hamburger {
    display: flex;
  }
}

/* ---------- 20. Ortak bileşenler (UI-IYILESTIRME P0) ---------- */

/* Klavye odağı görünür olsun (erişilebilirlik) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--kt-primary);
  outline-offset: 2px;
}

/* "İçeriğe geç" bağlantısı: yalnız odak alınca görünür */
.kt-atla-baglantisi {
  position: fixed;
  top: -60px;
  left: 12px;
  z-index: 2000;
  background: var(--kt-primary);
  color: var(--kt-white);
  padding: 9px 14px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  transition: top .12s;
}

.kt-atla-baglantisi:focus { top: 12px; }

/* Bildirim alanı (_Bildirimler) */
.kt-bildirimler:empty { display: none; }

.kt-alert-satir {
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  transition: opacity .35s, transform .35s;
}

.kt-alert-metin { flex: 1; line-height: 1.5; white-space: pre-line; }

.kt-alert-kapat {
  background: transparent;
  border: none;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: .6;
  padding: 0 2px;
}

.kt-alert-kapat:hover { opacity: 1; }
.kt-alert-gizleniyor { opacity: 0; transform: translateY(-6px); }

/* Menü / zil rozetleri */
.kt-menu-rozet {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--kt-danger);
  color: var(--kt-white);
  font-size: 11px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
}

.kt-menu-rozet[hidden] { display: none; }

.kt-toolbar-zil {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  color: var(--kt-text-gray-600);
}

.kt-toolbar-zil:hover { background: var(--kt-body-bg); color: var(--kt-primary); }
.kt-toolbar-zil svg { width: 18px; height: 18px; }

.kt-menu-rozet-zil {
  position: absolute;
  top: -2px;
  right: -4px;
  min-width: 17px;
  height: 17px;
  line-height: 17px;
  font-size: 10px;
  padding: 0 4px;
}

/* Canlı bağlantı rozeti (signalr-baglanti.js) */
.kt-canli-rozet {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}

.kt-canli-rozet[hidden] { display: none; }
.kt-canli-rozet::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.kt-canli-rozet-canli { background: var(--kt-success-light); color: #037A3B; }
.kt-canli-rozet-yeniden { background: var(--kt-warning-light); color: #9E7D00; }
.kt-canli-rozet-yeniden::before { animation: kt-nabiz 1s infinite; }
.kt-canli-rozet-kopuk { background: var(--kt-danger-light); color: var(--kt-danger); cursor: pointer; }

@keyframes kt-nabiz { 50% { opacity: .25; } }

/* Gönderilen buton: "işleniyor" */
.kt-btn.kt-btn-yukleniyor { opacity: .7; cursor: progress; }

.kt-btn.kt-btn-yukleniyor::after {
  content: "";
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: kt-don .7s linear infinite;
}

@keyframes kt-don { to { transform: rotate(360deg); } }

/* Breadcrumb bağlantısı */
.kt-breadcrumb-link { color: var(--kt-primary); font-weight: 600; }
.kt-breadcrumb-link:hover { text-decoration: underline; }
.kt-breadcrumb-ayrac { color: var(--kt-border-dashed); }

/* Api hata sayfası */
.kt-hata-sayfasi { padding: 36px 24px; text-align: center; }

.kt-hata-simge {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--kt-danger-light);
  color: var(--kt-danger);
  font-size: 24px;
  font-weight: 700;
  line-height: 52px;
}

.kt-hata-baslik { font-size: 16px; font-weight: 700; color: var(--kt-text-dark); margin-bottom: 6px; }
.kt-hata-mesaj { font-size: 13px; color: var(--kt-text-gray-700); margin-bottom: 18px; }
.kt-hata-aksiyonlar { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Sıralanabilir tablo başlığı */
.kt-table th.kt-siralanabilir { cursor: pointer; user-select: none; }
.kt-table th.kt-siralanabilir:hover { color: var(--kt-primary); }
.kt-table th.kt-siralanabilir::after { content: " \2195"; color: var(--kt-text-muted); font-size: 10px; }
.kt-table th[aria-sort="ascending"]::after { content: " \2191"; color: var(--kt-primary); }
.kt-table th[aria-sort="descending"]::after { content: " \2193"; color: var(--kt-primary); }

/* Toplam / özet satırı */
.kt-table tfoot td { font-weight: 700; background: var(--kt-body-bg); border-top: 1px solid var(--kt-border-color); }

/* Sayfa numaralı sayfalama (_Sayfalama) */
.kt-pagination-butonlar .kt-btn-sayfa-aktif { background: var(--kt-primary); color: var(--kt-white); border-color: var(--kt-primary); }
.kt-pagination-secenek { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--kt-text-muted); }

/* Menü perdesi (mobil) */
.kt-aside-perde { display: none; }

@media (max-width: 992px) {
  body.kt-menu-acik .kt-aside-perde {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(7, 20, 55, .45);
    z-index: 90;
  }

  .kt-content { padding: 16px 14px 24px; }
  .kt-toolbar { padding-left: 14px; padding-right: 14px; }
  .kt-toolbar-titles { min-width: 0; }
  .kt-filter-bar { flex-wrap: wrap; }
}

/* Yazdırma: yalnız içerik (menü, araç çubuğu, düğmeler basılmaz) */
@media print {
  .kt-aside, .kt-toolbar, .kt-aside-perde, .kt-atla-baglantisi, .kt-bildirimler,
  .kt-filter-bar, .kt-pagination, .kt-btn, .kt-toolbar-hamburger, .kt-canli-rozet,
  [data-kt-yazdir-gizle] {
    display: none !important;
  }

  .kt-wrapper { margin-left: 0 !important; }
  body { background: var(--kt-white); }
  .kt-content { padding: 0; }
  .kt-card { box-shadow: none; border: 1px solid var(--kt-border-dashed); break-inside: avoid; }
  .kt-table-wrap { overflow: visible; }
  a { color: inherit; text-decoration: none; }
}

/* Tıklanabilir istatistik kutusu ve satır (drill-down) */
a.kt-stat-link { display: block; color: inherit; text-decoration: none; transition: box-shadow .12s, border-color .12s; }
a.kt-stat-link:hover { border-color: var(--kt-primary); box-shadow: 0 4px 14px rgba(27, 132, 255, .12); }
tr.kt-satir-link, tr[data-kt-href] { cursor: pointer; }
tr.kt-satir-link td:first-child a { font-weight: 600; color: var(--kt-primary); }

/* Tarih aralığı seçici ve sayfa numaraları */
.kt-tarih-araligi { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kt-tarih-araligi input.kt-tarih-girdi { width: 150px; }
.kt-tarih-tire { color: var(--kt-text-muted); }
.kt-tarih-hazir { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.kt-pagination-nokta { color: var(--kt-text-muted); padding: 0 4px; }
.kt-pagination { flex-wrap: wrap; }

/* Liste yardımcıları */
.kt-secim-cubugu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 22px;
  background: var(--kt-primary-light);
  color: var(--kt-primary);
  font-size: 13px;
}

.kt-secim-cubugu[hidden] { display: none; }
.kt-td-alt { margin-top: 4px; font-size: 11.5px; color: var(--kt-text-muted); }
.kt-td-eylem { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.kt-td-sag { text-align: right; }
.kt-toplam-satiri td { font-weight: 700; }

/* İlerleme çubuğu (emir gerçekleşen / beklenen) */
.kt-ilerleme { height: 6px; border-radius: 3px; background: var(--kt-body-bg); overflow: hidden; }
.kt-ilerleme > span { display: block; height: 100%; background: var(--kt-primary); border-radius: 3px; }

/* Emir özeti ve satır vurgusu (W07) */
.kt-ozet-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 24px; }
.kt-ozet-liste dt { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--kt-text-muted); margin-bottom: 3px; }
.kt-ozet-liste dd { font-size: 13.5px; color: var(--kt-text-dark); font-weight: 500; }
.kt-emir-notu { margin-top: 14px; padding: 10px 14px; border-radius: 9px; background: var(--kt-body-bg); color: var(--kt-text-gray-700); font-size: 13px; white-space: pre-line; }
.kt-table tr.kt-satir-eksik td { background: var(--kt-danger-light); }
.kt-table tr.kt-satir-fazla td { background: var(--kt-warning-light); }

/* Form ızgarası ve W08 satır düzenleyici */
.kt-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 20px; }
.kt-form-grid [hidden] { display: none; }
.kt-satir-duzenleyici { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.kt-satir-duzenleyici-satir { display: grid; grid-template-columns: minmax(260px, 1fr) 130px 170px 150px auto; gap: 8px; align-items: start; }
.kt-satir-urun { display: flex; flex-direction: column; gap: 4px; }
@media (max-width: 992px) {
  .kt-satir-duzenleyici-satir { grid-template-columns: 1fr 1fr; padding-bottom: 10px; border-bottom: 1px dashed var(--kt-border-dashed); }
  .kt-satir-urun { grid-column: 1 / -1; }
}

/* Eşleme eylem alanı (W10) ve aramalı seçim */
.kt-esleme-eylem { display: flex; flex-direction: column; gap: 14px; padding: 16px 22px; border-top: 1px solid var(--kt-border-color); }
.kt-esleme-grup { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.kt-esleme-grup .kt-form-group { margin: 0; min-width: 240px; }
.kt-secim-arama { margin-bottom: 4px; }

/* Sayım detay sayaçları, seçim listesi, onay onay kutusu */
.kt-sayac { font-size: 30px; font-weight: 700; letter-spacing: -.03em; color: var(--kt-text-dark); }
.kt-sayac-etiket { font-size: 13px; color: var(--kt-text-muted); }
.kt-onay-listesi { max-height: 220px; overflow: auto; border: 1px solid var(--kt-border-color); border-radius: 9px; padding: 8px 12px; margin-top: 6px; display: flex; flex-direction: column; gap: 4px; }
.kt-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--kt-text-gray-700); cursor: pointer; }
.kt-karar-secenek { white-space: nowrap; }
.kt-karar-secenek label { margin-right: 10px; font-size: 13px; cursor: pointer; }
.kt-tabs .kt-tab { background: transparent; border: none; font: inherit; cursor: pointer; }

/* Sekme çubuğu: 8 sekmeli rapor çubuğu 1077px'te yatay kaydırma çubuğu gösteriyordu ve margin-bottom:-1px yüzünden 1px dikey taşma
   küçük bir dikey kaydırma çubuğu ekliyordu (tarayıcıda görüldü) → sarılır, kaydırma yok. */
.kt-tabs { flex-wrap: wrap; overflow: visible; }
.kt-tabs .kt-tab:focus-visible { outline-offset: -3px; }

/* Dar ekranda üst çubuk: başlık ile eylem düğmeleri üst üste binmesin (tarayıcıda 416px'te görüldü) */
@media (max-width: 640px) {
  .kt-toolbar { height: auto; min-height: var(--kt-toolbar-height); flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; row-gap: 8px; }
  .kt-toolbar-left { flex: 1 1 100%; }
  .kt-toolbar-right { flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-start; gap: 8px; }
  .kt-toolbar-right .kt-toolbar-zil { order: -1; }
  .kt-breadcrumb { display: none; }
}

/* Sunucu tarafı sıralama başlığı (G7): _SiralaBasligi.cshtml */
.kt-table th .kt-sirala-link { color: inherit; text-decoration: none; }
.kt-table th .kt-sirala-link:hover, .kt-table th[aria-sort="ascending"] .kt-sirala-link, .kt-table th[aria-sort="descending"] .kt-sirala-link { color: var(--kt-primary); }
.kt-table th .kt-sirala-ok { color: var(--kt-text-muted); font-size: 10px; }

/* Alan ipucu (G15): _Ipucu.cshtml */
.kt-ipucu {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; margin-left: 4px; padding: 0; border: none; border-radius: 50%;
  background: var(--kt-primary-light); color: var(--kt-primary); font: 700 11px/1 inherit; cursor: help; vertical-align: middle;
}
.kt-ipucu::after {
  content: attr(data-kt-ipucu); position: absolute; left: 50%; top: calc(100% + 6px); transform: translateX(-50%);
  width: max-content; max-width: 260px; padding: 8px 10px; border-radius: 7px; z-index: 30;
  background: var(--kt-text-dark); color: #fff; font: 500 12px/1.4 inherit; text-align: left; text-transform: none; letter-spacing: 0;
  white-space: normal; pointer-events: none; opacity: 0; visibility: hidden;
}
.kt-ipucu:hover::after, .kt-ipucu:focus-visible::after { opacity: 1; visibility: visible; }

/* Dar ekranda tablo → kart (G15): site.js satırlara data-label yazar; opt-out: table[data-kt-kart-yok] */
@media screen and (max-width: 640px) {
  .kt-table-kart thead { position: absolute; left: -9999px; }
  .kt-table-kart, .kt-table-kart tbody, .kt-table-kart tr, .kt-table-kart td { display: block; width: 100%; }
  .kt-table-kart tr { margin: 0 0 12px; padding: 4px 0; border: 1px solid var(--kt-border-color); border-radius: 9px; }
  .kt-table-kart td {
    display: flex; justify-content: space-between; align-items: center; gap: 12px; max-width: none;
    padding: 8px 14px; border-bottom: 1px dashed var(--kt-border-color); text-align: right; white-space: normal;
  }
  .kt-table-kart td[data-label]::before {
    content: attr(data-label); flex: 0 0 38%; text-align: left; font-size: 11.5px; font-weight: 600;
    text-transform: uppercase; letter-spacing: .05em; color: var(--kt-text-muted);
  }
  .kt-table-kart td:last-child { border-bottom: none; }
  .kt-table-kart td.kt-td-eylem { justify-content: flex-end; flex-wrap: wrap; }
  .kt-table-kart tr:hover td { background: transparent; }
}

/* Açılır satır (W05 taşıyıcı dökümü) */
tr.kt-satir-acilir { cursor: pointer; }
tr.kt-satir-acilir[aria-expanded="true"] td { background: var(--kt-primary-light); }
tr.kt-satir-detay > td { padding: 0 !important; background: var(--kt-body-bg); }
.kt-alt-tablo { font-size: 12.5px; }

/* W09 — EPC satırı, chip listesi, basım özeti */
.kt-epc-satiri { display: flex; gap: 8px; align-items: center; max-width: 620px; }
.kt-epc-satiri .kt-form-control { flex: 1; }
.kt-chip-listesi { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.kt-chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px 4px 10px; border-radius: 16px; background: var(--kt-primary-light); color: var(--kt-primary); font-size: 12.5px; font-weight: 600; }
.kt-chip button { background: transparent; border: none; color: inherit; cursor: pointer; font-size: 15px; line-height: 1; padding: 0 4px; }
.kt-basim-ozeti { font-size: 12.5px; color: var(--kt-text-muted); }
.kt-basim-ozeti strong { color: var(--kt-text-dark); }

/* Kayıt kodu kutusu (W21) */
.kt-kayit-kodu { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.kt-kayit-kodu-deger { font-family: monospace; font-size: 26px; font-weight: 700; letter-spacing: .12em; color: var(--kt-primary); margin-top: 4px; user-select: all; }

/* W19 — arama gizleme ve daraltma */
.lok-gizli { display: none !important; }
.lok-daraltildi { display: none; }
.lok-toplu-raf { margin-top: 6px; }

/* W27 — yetki matrisi */
.kt-matris-kaydir { max-height: 70vh; overflow: auto; }
.kt-matris thead th { position: sticky; top: 0; background: var(--kt-white); z-index: 2; }
.kt-matris-rol { text-align: center; min-width: 110px; }
.kt-matris-tumu { justify-content: center; }
.kt-matris-hucre { text-align: center; }
.kt-matris-grup td { background: var(--kt-body-bg); font-weight: 700; text-transform: uppercase; font-size: 11.5px; letter-spacing: .05em; color: var(--kt-text-muted); }
.kt-matris-degisti { background: var(--kt-warning-light); }
.kt-matris-kaydet { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 14px 22px; border-top: 1px solid var(--kt-border-color); }
.kt-matris-kaydet .kt-td-alt { margin-right: auto; }

.kt-satir-secili td { background: var(--kt-primary-light); }

/* Özet kutuları (W30 / W33): sayı + etiket; tıklanınca ilgili süzgeç açılır */
.kt-ozet-kutulari { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.kt-ozet-kutu { display: block; padding: 12px 18px; background: var(--kt-white); border: 1px solid var(--kt-border-color); border-radius: var(--kt-card-radius); box-shadow: var(--kt-card-shadow); color: inherit; text-decoration: none; }
a.kt-ozet-kutu:hover { border-color: var(--kt-primary); }
.kt-ozet-kutu-secili { border-color: var(--kt-primary); background: var(--kt-primary-light); }
.kt-ozet-sayi { font-size: 26px; font-weight: 700; letter-spacing: -.03em; color: var(--kt-text-dark); line-height: 1.2; }
.kt-ozet-etiket { font-size: 12.5px; color: var(--kt-text-muted); }

/* Olay günlüğü ayrıntı (biçimli JSON) */
.kt-olay-detay summary { cursor: pointer; color: var(--kt-primary); font-size: 12.5px; }
.kt-olay-detay pre { margin: 6px 0 0; padding: 8px 10px; background: var(--kt-body-bg); border-radius: 8px; font-size: 12px; max-height: 240px; overflow: auto; white-space: pre-wrap; word-break: break-word; }

/* W35 şablon formu */
.kt-yer-tutucular { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.kt-onizleme { margin: 0; padding: 12px; background: var(--kt-body-bg); border: 1px dashed var(--kt-border-dashed); border-radius: 9px; font-size: 12px; min-height: 60px; max-height: 260px; overflow: auto; white-space: pre-wrap; word-break: break-all; }

/* Günlük çubuk grafik (satır içi SVG, _RGrafik) */
.kt-grafik { width: 100%; height: auto; max-height: 260px; }
.kt-grafik-eksen { stroke: var(--kt-border-dashed); stroke-width: 1; }
.kt-grafik-yazi { font-size: 10px; fill: var(--kt-text-muted); }
.kt-grafik-ust { fill: var(--kt-success); }
.kt-grafik-alt { fill: var(--kt-danger); }
.kt-grafik-lejant { display: flex; gap: 16px; font-size: 12.5px; color: var(--kt-text-gray-600); margin-top: 6px; }
.kt-grafik-ust-nokta, .kt-grafik-alt-nokta { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; }
.kt-grafik-ust-nokta { background: var(--kt-success); }
.kt-grafik-alt-nokta { background: var(--kt-danger); }

/* Genel arama (üst çubuk) */
.kt-toolbar-ara input { width: 260px; height: 36px; padding: 0 12px; border: 1px solid var(--kt-border-dashed); border-radius: 9px; background: var(--kt-body-bg); color: var(--kt-text-dark); font: inherit; font-size: 13px; }
.kt-toolbar-ara input:focus { outline: none; border-color: var(--kt-primary); background: var(--kt-white); }
@media (max-width: 1100px) { .kt-toolbar-ara input { width: 170px; } }
@media (max-width: 720px) { .kt-toolbar-ara { display: none; } }

/* Türkçe tarih seçici (js/tarih-secici.js) */
.kt-tarih-popup { position: absolute; z-index: 2000; width: 268px; padding: 12px; background: var(--kt-white); border: 1px solid var(--kt-border-color); border-radius: var(--kt-card-radius); box-shadow: 0 8px 24px rgba(0, 0, 0, .12); font-family: var(--font); font-size: 13px; color: var(--kt-text-dark); }
.kt-tarih-ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-weight: 600; }
.kt-tarih-popup button { border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; border-radius: 6px; }
.kt-tarih-ust button { width: 28px; height: 28px; font-size: 18px; }
.kt-tarih-ust button:hover, .kt-tarih-alt button:hover { background: var(--kt-primary-light); color: var(--kt-primary); }
.kt-tarih-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.kt-tarih-izgara b { font-size: 11px; font-weight: 600; color: var(--kt-text-muted); padding: 4px 0; }
.kt-tarih-izgara button { height: 32px; }
.kt-tarih-izgara button:hover { background: var(--kt-primary-light); color: var(--kt-primary); }
.kt-tarih-izgara button.bugun { border: 1px solid var(--kt-primary); }
.kt-tarih-izgara button.secili { background: var(--kt-primary); color: var(--kt-white); }
.kt-tarih-saat { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.kt-tarih-saat input { width: 52px; height: 30px; border: 1px solid var(--kt-border-color); border-radius: 6px; text-align: center; }
.kt-tarih-alt { display: flex; justify-content: space-between; margin-top: 8px; }
.kt-tarih-alt button { padding: 4px 10px; color: var(--kt-primary); font-weight: 600; }
