/*
Template Name: Velzon - Admin & Dashboard Template
Author: Themesbrand
Website: https://themesbrand.com/
Contact: support@themesbrand.com
File: Custom Css File
*/

/* İkinci seviye alt menülerde (Bakım Kayıt Listesi vb.) ikonların görünürlüğü */
.navbar-menu .navbar-nav .nav-sm .nav-sm .nav-link i {
  margin-right: 0.5rem;
  display: inline-block;
  vertical-align: middle;
}

/* ================================================================
   ASTRA - Ortak Bileşenler (Tüm modüllerde kullanılır)
   ================================================================ */

/* --- Card Animate --- */
.card-animate {
  transition: all .3s cubic-bezier(.25,.8,.25,1);
}
.card-animate:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0,0,0,.08);
}
[data-bs-theme="dark"] .card-animate:hover {
  box-shadow: 0 8px 25px rgba(0,0,0,.25);
}

/* --- Ortak Tablo Stili --- */
.st-table thead th,
.sms-table thead th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--vz-secondary-color);
  border-bottom: 2px solid rgba(0,0,0,.05);
  background: transparent !important;
  white-space: nowrap;
  padding: .65rem .75rem;
}
.st-table tbody td,
.sms-table tbody td {
  vertical-align: middle;
  border-bottom: 1px solid rgba(0,0,0,.04);
  font-size: 13px;
  padding: .6rem .75rem;
}
.st-table > tbody > tr,
.sms-table > tbody > tr {
  transition: background .15s ease;
}
.st-table > tbody > tr:hover,
.sms-table > tbody > tr:hover {
  background: rgba(64,81,137,.03);
}
.sms-table .log-success { border-left: 3px solid var(--vz-success); }
.sms-table .log-failed  { border-left: 3px solid var(--vz-danger); }

[data-bs-theme="dark"] .st-table thead th,
[data-bs-theme="dark"] .sms-table thead th { border-bottom-color: rgba(255,255,255,.06); }
[data-bs-theme="dark"] .st-table tbody td,
[data-bs-theme="dark"] .sms-table tbody td { border-bottom-color: rgba(255,255,255,.04); }
[data-bs-theme="dark"] .st-table > tbody > tr:hover,
[data-bs-theme="dark"] .sms-table > tbody > tr:hover { background: rgba(255,255,255,.03); }

/* --- Empty State --- */
.empty-state-mini {
  padding: 48px 20px;
  text-align: center;
}
.empty-state-mini i {
  font-size: 44px;
  background: linear-gradient(135deg, #405189, #299cdb);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  margin-bottom: 12px;
}
.empty-state-mini p {
  font-size: 13px;
}

/* --- Form Focus Geliştirmesi --- */
.form-control:focus,
.form-select:focus {
  border-color: rgba(64,81,137,.4);
  box-shadow: 0 0 0 .2rem rgba(64,81,137,.08);
}

/* --- Form Label İkon Hizalama --- */
.form-label i {
  font-size: 13px;
  vertical-align: -1px;
}

/* --- Kart Başlık İyileştirmesi --- */
.card-header .card-title i {
  opacity: .7;
}

/* --- Soft Buton Geçiş Efekti --- */
[class*="btn-soft-"] {
  transition: all .2s ease;
}
[class*="btn-soft-"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
}

/* --- Badge Geçiş Efekti --- */
.badge {
  transition: all .2s ease;
}

/* --- Modal İyileştirmesi --- */
.modal-content {
  border: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,.15);
}
.modal-header {
  padding: .85rem 1.25rem;
}
.modal-header .modal-title i {
  opacity: .65;
}
.modal-footer {
  padding: .75rem 1.25rem;
}

/* --- Avatar İkon Hover Efekti (Stat kartları) --- */
.card-animate .avatar-title {
  transition: transform .3s ease;
}
.card-animate:hover .avatar-title {
  transform: scale(1.08);
}

/* --- Sayfa İçi Giriş Animasyonu --- */
@keyframes astraFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.card-animate {
  animation: astraFadeIn .4s ease both;
}
.row > [class*="col-"]:nth-child(1) > .card-animate { animation-delay: .05s; }
.row > [class*="col-"]:nth-child(2) > .card-animate { animation-delay: .1s; }
.row > [class*="col-"]:nth-child(3) > .card-animate { animation-delay: .15s; }
.row > [class*="col-"]:nth-child(4) > .card-animate { animation-delay: .2s; }

/* --- Tablo Satır Geçiş Efekti --- */
.st-table tbody tr,
.sms-table tbody tr {
  animation: astraFadeIn .3s ease both;
}
.st-table tbody tr:nth-child(1), .sms-table tbody tr:nth-child(1) { animation-delay: .05s; }
.st-table tbody tr:nth-child(2), .sms-table tbody tr:nth-child(2) { animation-delay: .08s; }
.st-table tbody tr:nth-child(3), .sms-table tbody tr:nth-child(3) { animation-delay: .11s; }
.st-table tbody tr:nth-child(4), .sms-table tbody tr:nth-child(4) { animation-delay: .14s; }
.st-table tbody tr:nth-child(5), .sms-table tbody tr:nth-child(5) { animation-delay: .17s; }

/* --- Scrollbar İyileştirmesi (Tablo responsive) --- */
.table-responsive::-webkit-scrollbar {
  height: 6px;
}
.table-responsive::-webkit-scrollbar-track {
  background: transparent;
}
.table-responsive::-webkit-scrollbar-thumb {
  background: rgba(64,81,137,.15);
  border-radius: 3px;
}
.table-responsive::-webkit-scrollbar-thumb:hover {
  background: rgba(64,81,137,.25);
}

/* --- Alert İyileştirmesi --- */
.alert {
  border-radius: 10px;
}
.alert i {
  vertical-align: -1px;
}

/* --- Pagination İyileştirmesi --- */
.page-link {
  border-radius: 6px !important;
  margin: 0 2px;
  font-size: 13px;
  transition: all .2s ease;
}
.page-item.active .page-link {
  box-shadow: 0 2px 8px rgba(64,81,137,.25);
}

/* --- Hızlı Erişim Linkleri --- */
.astra-quick-link {
  display: flex;
  align-items: center;
  padding: .85rem 1rem;
  text-decoration: none;
  border: 1px solid var(--vz-border-color);
  border-radius: 10px;
  transition: all .25s ease;
  position: relative;
  overflow: hidden;
}
.astra-quick-link::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .25s ease;
  border-radius: 10px;
}
.astra-quick-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  border-color: transparent;
}
.astra-quick-link:hover::before { opacity: 1; }
.astra-quick-link i { position: relative; z-index: 1; }
.astra-quick-link span { position: relative; z-index: 1; }

/* Renk varyantları */
.astra-quick-link.ql-primary::before   { background: linear-gradient(135deg,rgba(64,81,137,.08),rgba(64,81,137,.02)); }
.astra-quick-link.ql-primary:hover     { border-color: rgba(64,81,137,.15); }
.astra-quick-link.ql-success::before   { background: linear-gradient(135deg,rgba(10,179,156,.08),rgba(10,179,156,.02)); }
.astra-quick-link.ql-success:hover     { border-color: rgba(10,179,156,.15); }
.astra-quick-link.ql-warning::before   { background: linear-gradient(135deg,rgba(247,184,75,.08),rgba(247,184,75,.02)); }
.astra-quick-link.ql-warning:hover     { border-color: rgba(247,184,75,.15); }
.astra-quick-link.ql-info::before      { background: linear-gradient(135deg,rgba(41,156,219,.08),rgba(41,156,219,.02)); }
.astra-quick-link.ql-info:hover        { border-color: rgba(41,156,219,.15); }
.astra-quick-link.ql-danger::before    { background: linear-gradient(135deg,rgba(240,101,72,.08),rgba(240,101,72,.02)); }
.astra-quick-link.ql-danger:hover      { border-color: rgba(240,101,72,.15); }
.astra-quick-link.ql-secondary::before { background: linear-gradient(135deg,rgba(135,138,153,.08),rgba(135,138,153,.02)); }
.astra-quick-link.ql-secondary:hover   { border-color: rgba(135,138,153,.15); }

/* --- İstatistik Sayı Animasyonu --- */
@keyframes astraCountPulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
.stat-value {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}
.stat-value.counted {
  animation: astraCountPulse .3s ease;
}

/* --- Kaynak / Seçili Listesi (Toplu SMS) --- */
.astra-source-list {
  max-height: 250px;
  overflow-y: auto;
  border: 1px solid var(--vz-border-color);
  border-radius: 10px;
  padding: .5rem;
}
.astra-source-list::-webkit-scrollbar { width: 5px; }
.astra-source-list::-webkit-scrollbar-track { background: transparent; }
.astra-source-list::-webkit-scrollbar-thumb { background: rgba(64,81,137,.12); border-radius: 3px; }
.astra-source-item {
  display: flex;
  align-items: center;
  padding: .4rem .65rem;
  margin-bottom: .25rem;
  border-radius: 8px;
  font-size: .8125rem;
  transition: all .15s ease;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
  color: var(--vz-body-color);
}
.astra-source-item:hover {
  background: rgba(64,81,137,.04);
  border-color: rgba(64,81,137,.08);
}
.astra-source-item.selected {
  background: rgba(10,179,156,.06);
  border-color: rgba(10,179,156,.15);
  opacity: .7;
  pointer-events: none;
}

/* --- Önizleme Kartı İyileştirmesi --- */
.preview-stat-box {
  border: 1px solid var(--vz-border-color);
  border-radius: 10px;
  padding: .6rem;
  text-align: center;
  transition: border-color .2s ease;
}
.preview-stat-box:hover {
  border-color: rgba(64,81,137,.2);
}

/* --- Şablon Kartı İyileştirmesi --- */
.template-preview-card {
  border: 1px solid var(--vz-border-color);
  border-radius: 10px;
  padding: 1rem;
  height: 100%;
  transition: all .25s ease;
  position: relative;
  overflow: hidden;
}
.template-preview-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #405189, #299cdb);
  opacity: 0;
  transition: opacity .25s ease;
}
.template-preview-card:hover {
  border-color: rgba(64,81,137,.15);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
}
.template-preview-card:hover::after { opacity: 1; }

/* --- Filtre Alanı --- */
.astra-filter-bar {
  background: var(--vz-light);
  border-radius: 12px;
  padding: .75rem 1rem;
  margin-bottom: 1rem;
}
[data-bs-theme="dark"] .astra-filter-bar {
  background: rgba(255,255,255,.03);
}

/* --- Tablo Başlık İkonu --- */
.st-table thead th i,
.sms-table thead th i {
  font-size: 12px;
  opacity: .55;
  vertical-align: -1px;
}

/* --- Progress Bar İyileştirmesi --- */
.progress {
  border-radius: 6px;
  overflow: hidden;
}
.progress-bar {
  transition: width .6s ease;
}

/* --- Kaynak & Seçili Listesi (Toplu SMS - eski class isimleri) --- */
.source-list,
.selected-list {
  max-height: 250px;
  overflow-y: auto;
  border: 1px solid var(--vz-border-color);
  border-radius: 10px;
  padding: .4rem;
}
.source-list::-webkit-scrollbar,
.selected-list::-webkit-scrollbar { width: 5px; }
.source-list::-webkit-scrollbar-track,
.selected-list::-webkit-scrollbar-track { background: transparent; }
.source-list::-webkit-scrollbar-thumb,
.selected-list::-webkit-scrollbar-thumb { background: rgba(64,81,137,.12); border-radius: 3px; }

.source-item {
  border-radius: 8px;
  font-size: .8125rem;
  transition: all .15s ease;
  border: 1px solid transparent;
}
.source-item:hover {
  background: rgba(64,81,137,.04);
  border-color: rgba(64,81,137,.08);
}
.source-item.disabled {
  opacity: .55;
  pointer-events: none;
  background: rgba(10,179,156,.04);
  border-color: rgba(10,179,156,.12);
}

.selected-item {
  border-radius: 8px;
  font-size: .8125rem;
  transition: all .15s ease;
  border: 1px solid transparent;
}
.selected-item:hover {
  background: rgba(240,101,72,.04);
  border-color: rgba(240,101,72,.1);
}

/* --- Reusable Gradient Card Header --- */
.astra-card-header {
  background: linear-gradient(135deg,rgba(64,81,137,.06),rgba(41,156,219,.06));
  border-bottom: 1px solid rgba(0,0,0,.05);
}
[data-bs-theme="dark"] .astra-card-header {
  background: linear-gradient(135deg,rgba(64,81,137,.1),rgba(41,156,219,.1));
  border-bottom-color: rgba(255,255,255,.05);
}

/* --- Sticky Sidebar (Preview Cards) --- */
@media (min-width: 992px) {
  .astra-sticky-sidebar {
    position: sticky;
    top: 90px;
  }
}

/* --- Tab Nav Pills Soft --- */
.nav-pills .nav-link {
  border-radius: 8px;
  font-size: .8125rem;
  transition: all .2s ease;
}

/* --- İkon Boyutu Tutarlılığı (Card Başlıkları) --- */
.card-header h5 i,
.card-header .card-title i {
  font-size: 16px;
  vertical-align: -2px;
}

/* --- Önizleme Mesaj Kutusu --- */
.preview-message-box {
  background: var(--vz-light);
  min-height: 100px;
  max-height: 200px;
  overflow-y: auto;
  border-radius: .375rem;
  padding: 1rem;
}
.preview-message-box::-webkit-scrollbar { width: 4px; }
.preview-message-box::-webkit-scrollbar-track { background: transparent; }
.preview-message-box::-webkit-scrollbar-thumb { background: rgba(64,81,137,.1); border-radius: 2px; }

/* --- Card Border Radius Global --- */
.card.card-animate {
  border-radius: 14px;
  overflow: hidden;
}

/* --- İstatistik Kutuları (Önizleme) --- */
.preview-stat-box .text-primary,
.preview-stat-box .text-success {
  font-variant-numeric: tabular-nums;
}

/* --- Form Elemanları Tutarlılığı --- */
.form-control,
.form-select {
  border-radius: 8px;
}
textarea.form-control {
  border-radius: 8px;
}

/* ================================================================
   FLATPICKR TAKVİM GÜZELLEŞTİRME & TÜRKÇELEŞTİRME
   ================================================================ */

/* --- Ana Konteyner --- */
.flatpickr-calendar {
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.12), 0 4px 16px rgba(0,0,0,.06) !important;
  font-family: inherit !important;
  overflow: hidden;
  padding: 0 !important;
  width: 320px !important;
  animation: flatpickrSlideIn .25s cubic-bezier(.25,.8,.25,1) !important;
}
.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after,
.flatpickr-calendar.arrowBottom::before,
.flatpickr-calendar.arrowBottom::after {
  display: none !important;
}

@keyframes flatpickrSlideIn {
  from { opacity: 0; transform: translateY(-8px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* --- Ay/Yıl Başlık Alanı --- */
.flatpickr-months {
  background: linear-gradient(135deg, rgba(64,81,137,.07), rgba(41,156,219,.07));
  padding: 10px 8px 6px !important;
  border-bottom: 1px solid rgba(0,0,0,.06);
  align-items: center;
  height: auto !important;
}
.flatpickr-months .flatpickr-month {
  height: 36px !important;
  overflow: visible !important;
}
.flatpickr-current-month {
  font-size: .95rem !important;
  font-weight: 600 !important;
  padding: 0 !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  font-weight: 600;
  font-size: .9rem;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: rgba(64,81,137,.06) !important;
  border: 1px solid rgba(64,81,137,.1) !important;
  border-radius: 8px !important;
  padding: 4px 24px 4px 10px !important;
  cursor: pointer;
  transition: all .2s ease;
  color: var(--vz-body-color, #495057);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23405189' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 6px center !important;
  background-size: 12px !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(64,81,137,.1) !important;
  border-color: rgba(64,81,137,.2) !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(64,81,137,.12);
}
.flatpickr-current-month input.cur-year {
  font-weight: 600 !important;
  font-size: .9rem !important;
  background: rgba(64,81,137,.06) !important;
  border: 1px solid rgba(64,81,137,.1) !important;
  border-radius: 8px !important;
  padding: 4px 6px !important;
  width: 72px !important;
  cursor: text;
  transition: all .2s ease;
  color: var(--vz-body-color, #495057);
}
.flatpickr-current-month input.cur-year:hover {
  background: rgba(64,81,137,.1) !important;
  border-color: rgba(64,81,137,.2) !important;
}
.flatpickr-current-month input.cur-year:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(64,81,137,.12);
}
.flatpickr-current-month .numInputWrapper span {
  border: none !important;
  background: transparent !important;
}
.flatpickr-current-month .numInputWrapper span::after {
  border-top-color: var(--vz-primary, #405189) !important;
  border-bottom-color: var(--vz-primary, #405189) !important;
}
.flatpickr-current-month .numInputWrapper:hover {
  background: transparent !important;
}

/* --- Navigasyon Okları --- */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  position: relative !important;
  top: 0 !important;
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  transition: all .2s ease;
  padding: 0 !important;
  fill: none !important;
  background: rgba(64,81,137,.05);
  border: 1px solid rgba(64,81,137,.08);
}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  background: rgba(64,81,137,.12) !important;
  border-color: rgba(64,81,137,.18) !important;
  transform: scale(1.05);
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  font-size: 16px;
  color: var(--vz-primary, #405189);
  line-height: 1;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  display: none !important;
}

/* --- Hafta Gün İsimleri --- */
.flatpickr-weekdays {
  padding: 0 8px;
  background: transparent !important;
  margin-top: 4px;
}
span.flatpickr-weekday {
  color: var(--vz-primary, #405189) !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  background: transparent !important;
}

/* --- İç Alan --- */
.flatpickr-innerContainer {
  padding: 4px 10px 10px !important;
}
.flatpickr-rContainer {
  width: 100%;
}
.flatpickr-days {
  width: 100% !important;
}
.dayContainer {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  justify-content: center;
  gap: 2px;
  padding: 2px 0;
}

/* --- Gün Hücreleri --- */
.flatpickr-day {
  border-radius: 10px !important;
  font-weight: 500;
  font-size: .8125rem;
  transition: all .2s cubic-bezier(.25,.8,.25,1) !important;
  max-width: 40px !important;
  height: 38px !important;
  line-height: 38px !important;
  margin: 1px !important;
  color: var(--vz-body-color, #495057);
  border: 1px solid transparent !important;
}
.flatpickr-day:hover {
  background: rgba(64,81,137,.07) !important;
  border-color: rgba(64,81,137,.12) !important;
  color: var(--vz-primary, #405189) !important;
}

/* Bugün */
.flatpickr-day.today:not(.selected) {
  background: rgba(64,81,137,.08) !important;
  border: 2px solid var(--vz-primary, #405189) !important;
  color: var(--vz-primary, #405189) !important;
  font-weight: 700;
}

/* Seçili Gün */
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: linear-gradient(135deg, #405189, #3a5bc7) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(64,81,137,.35) !important;
  font-weight: 600;
}

/* Seçili Bugün */
.flatpickr-day.today.selected {
  background: linear-gradient(135deg, #405189, #3a5bc7) !important;
  border: none !important;
  color: #fff !important;
}

/* Aralık İçindeki Günler */
.flatpickr-day.inRange {
  background: rgba(64,81,137,.08) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--vz-primary, #405189) !important;
}

/* Devre Dışı / Diğer Ay Günleri */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: var(--vz-text-muted, #878a99) !important;
  opacity: .3 !important;
  background: transparent !important;
  border-color: transparent !important;
}
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: var(--vz-text-muted, #878a99) !important;
  opacity: .35;
}
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  opacity: .6;
  background: rgba(64,81,137,.04) !important;
}

/* --- Alt Giriş (altInput) Stili --- */
.flatpickr-input.flatpickr-mobile,
input.flatpickr-input[readonly] {
  cursor: pointer !important;
}
input.flatpickr-input[readonly] + .form-control {
  cursor: pointer;
}

/* --- Zaman Seçici (Time Picker) --- */
.flatpickr-time {
  border-top: 1px solid rgba(0,0,0,.06) !important;
  padding: 8px 12px !important;
  max-height: 44px !important;
  background: linear-gradient(135deg, rgba(64,81,137,.03), rgba(41,156,219,.03));
}
.flatpickr-time input {
  font-weight: 600 !important;
  font-size: .9rem !important;
  border-radius: 8px !important;
  transition: background .2s ease;
}
.flatpickr-time input:hover,
.flatpickr-time input:focus {
  background: rgba(64,81,137,.06) !important;
}
.flatpickr-time .flatpickr-time-separator {
  font-weight: 700;
  color: var(--vz-primary, #405189);
}
.flatpickr-time .flatpickr-am-pm {
  font-weight: 600 !important;
  border-radius: 8px !important;
  transition: all .2s ease;
}
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time .flatpickr-am-pm:focus {
  background: rgba(64,81,137,.08) !important;
}

/* ================================================================
   FLATPICKR DARK MODE
   ================================================================ */
[data-bs-theme="dark"] .flatpickr-calendar {
  background: var(--vz-card-bg, #212529) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.25) !important;
}
[data-bs-theme="dark"] .flatpickr-months {
  background: linear-gradient(135deg, rgba(64,81,137,.12), rgba(41,156,219,.12));
  border-bottom-color: rgba(255,255,255,.06);
}
[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: var(--vz-body-color, #ced4da);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ced4da' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}
[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(255,255,255,.1) !important;
}
[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months option {
  background: var(--vz-card-bg, #212529);
  color: var(--vz-body-color, #ced4da);
}
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: var(--vz-body-color, #ced4da) !important;
}
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year:hover {
  background: rgba(255,255,255,.1) !important;
}
[data-bs-theme="dark"] .flatpickr-months .flatpickr-prev-month,
[data-bs-theme="dark"] .flatpickr-months .flatpickr-next-month {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.08);
}
[data-bs-theme="dark"] .flatpickr-months .flatpickr-prev-month:hover,
[data-bs-theme="dark"] .flatpickr-months .flatpickr-next-month:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.15) !important;
}
[data-bs-theme="dark"] .flatpickr-months .flatpickr-prev-month i,
[data-bs-theme="dark"] .flatpickr-months .flatpickr-next-month i {
  color: var(--vz-body-color, #ced4da);
}
[data-bs-theme="dark"] span.flatpickr-weekday {
  color: rgba(64,81,137,.7) !important;
}
[data-bs-theme="dark"] .flatpickr-day {
  color: var(--vz-body-color, #ced4da);
}
[data-bs-theme="dark"] .flatpickr-day:hover {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .flatpickr-day.today:not(.selected) {
  background: rgba(64,81,137,.15) !important;
  border-color: rgba(64,81,137,.5) !important;
}
[data-bs-theme="dark"] .flatpickr-day.selected,
[data-bs-theme="dark"] .flatpickr-day.selected:hover {
  background: linear-gradient(135deg, #405189, #3a5bc7) !important;
  box-shadow: 0 4px 14px rgba(64,81,137,.4) !important;
}
[data-bs-theme="dark"] .flatpickr-day.inRange {
  background: rgba(64,81,137,.12) !important;
}
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay {
  color: rgba(255,255,255,.2) !important;
}
[data-bs-theme="dark"] .flatpickr-time {
  border-top-color: rgba(255,255,255,.06) !important;
  background: linear-gradient(135deg, rgba(64,81,137,.06), rgba(41,156,219,.06));
}
[data-bs-theme="dark"] .flatpickr-time input {
  color: var(--vz-body-color, #ced4da) !important;
}
[data-bs-theme="dark"] .flatpickr-time input:hover,
[data-bs-theme="dark"] .flatpickr-time input:focus {
  background: rgba(255,255,255,.06) !important;
}
[data-bs-theme="dark"] .flatpickr-time .flatpickr-time-separator {
  color: var(--vz-body-color, #ced4da);
}

/* ================================================================
   FLATPICKR ALTERNATİF GİRİŞ (altInput) STİLİ
   ================================================================ */
.flatpickr-alt-input,
input.flatpickr-input[type="hidden"] + input {
  cursor: pointer !important;
  background-color: var(--vz-input-bg, #fff) !important;
}
.flatpickr-alt-input::placeholder {
  color: var(--vz-text-muted, #878a99);
}

/* ================================================================
   COMPANY SETTINGS — Logo & Bank Row Styles
   ================================================================ */
.logo-preview { width: 120px; height: 120px; border-radius: 16px; border: 2px dashed rgba(0,0,0,.1); display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: pointer; transition: all .2s; background: rgba(64,81,137,.02); }
.logo-preview:hover { border-color: #405189; background: rgba(64,81,137,.04); }
.logo-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.bank-row { padding: 14px 16px; border: 1px solid var(--vz-border-color); border-radius: 10px; margin-bottom: 10px; background: var(--vz-light); transition: all .2s; }
.bank-row:hover { border-color: rgba(64,81,137,.15); box-shadow: 0 2px 6px rgba(0,0,0,.04); }
[data-bs-theme="dark"] .logo-preview { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.02); }
[data-bs-theme="dark"] .logo-preview:hover { border-color: rgba(64,81,137,.3); }
[data-bs-theme="dark"] .bank-row { border-color: rgba(255,255,255,.06); background: rgba(255,255,255,.02); }

/* ================================================================
   ROLE LIST — Permission Module & Role Card Styles
   ================================================================ */
.perm-module { border: 1px solid rgba(0,0,0,.06); border-radius: 10px; padding: 14px; margin-bottom: 12px; background: rgba(64,81,137,.01); transition: all .2s; }
.perm-module:hover { border-color: rgba(64,81,137,.12); }
.perm-module-header { font-weight: 600; font-size: 14px; margin-bottom: 8px; color: #405189; }
.perm-module-header i { margin-right: 6px; }
.perm-check { margin-right: 16px; }
.perm-check label { font-size: 13px; cursor: pointer; }
.role-card { border-left: 4px solid #405189; transition: all 0.3s; }
.role-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); transform: translateY(-2px); }
.role-card.system-role { border-left-color: #0ab39c; }
.select-all-btn { font-size: 12px; cursor: pointer; color: #405189; }
.select-all-btn:hover { text-decoration: underline; }
[data-bs-theme="dark"] .perm-module { border-color: rgba(255,255,255,.06); background: rgba(255,255,255,.02); }
[data-bs-theme="dark"] .perm-module:hover { border-color: rgba(64,81,137,.2); }
[data-bs-theme="dark"] .perm-module-header { color: #a3b0d4; }
[data-bs-theme="dark"] .role-card { border-left-color: #6e7fb5; }
[data-bs-theme="dark"] .role-card.system-role { border-left-color: #0ab39c; }

/* ================================================================
   USER LIST — Avatar & Role Badge Styles
   ================================================================ */
.user-avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 16px; color: #fff; }
.role-badge { font-size: 12px; padding: 4px 10px; border-radius: 6px; }
.role-admin { background: rgba(64,81,137,.18); color: #405189; }
.role-accountant { background: rgba(10,179,156,.18); color: #0ab39c; }
.role-technician { background: rgba(247,184,75,.18); color: #f7b84b; }
.role-sales { background: rgba(41,156,219,.18); color: #299cdb; }
.role-default { background: rgba(135,138,153,.18); color: #878a99; }
.status-active { color: #0ab39c; }
.status-inactive { color: #f06548; }

/* ================================================================
   CHANGELOG — Timeline & Item Styles
   ================================================================ */
.changelog-item { transition: all 0.2s ease; border-radius: 0.5rem !important; }
.changelog-item:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important; }
.changelog-icon-mini { transition: all 0.2s ease; }
.changelog-icon-mini:hover { transform: scale(1.1); }
.changelog-title { line-height: 1.4; }
.changelog-description { line-height: 1.5; font-size: 0.9rem; }
.changelog-timeline { position: relative; }
.changelog-item:hover .badge { transform: scale(1.05); }

/* ================================================================
   MIGRATION MANAGEMENT — Log Console Styles
   ================================================================ */
.migration-log { background: var(--vz-gray-900); color: var(--vz-gray-200); border-radius: .5rem; padding: 1rem; font-family: Consolas, Monaco, 'Courier New', monospace; font-size: .85rem; line-height: 1.5; white-space: pre-wrap; max-height: 420px; overflow: auto; }
.migration-log .success { color: #6ee7b7; }
.migration-log .error { color: #fca5a5; }
.migration-log .info { color: #93c5fd; }
.migration-log .skip { color: #fde68a; }
.migration-log .start { color: #bfdbfe; }

/* ================================================================
   AUDIT LOGS — Row & Diff Styles
   ================================================================ */
.audit-row { transition: all 0.2s; }
.audit-row:hover { background-color: var(--vz-light); }
.audit-detail-btn { cursor: pointer; }
.diff-old { background-color: #fde8e8; color: #dc3545; text-decoration: line-through; }
.diff-new { background-color: #e8f5e9; color: #198754; }
[data-bs-theme="dark"] .diff-old { background-color: rgba(220,53,69,.15); }
[data-bs-theme="dark"] .diff-new { background-color: rgba(25,135,84,.15); }

/* --- Prefers Reduced Motion --- */
/* ================================================================
   ASTRA — Merkezi Yazdırma Yönetimi (Tüm sayfalar için geçerli)
   Tarayıcı header/footer (tarih, URL, sayfa no, başlık) kaldırır
   ================================================================ */
@page {
  margin: 0;
}
@media print {
  /* Tarayıcı UI bileşenlerini gizle */
  .app-menu,
  .navbar-header,
  #page-topbar,
  .page-title-box,
  .footer,
  #back-to-top,
  .customizer-setting,
  #astra-debug-bar,
  .no-print,
  .d-print-none,
  .btn,
  .breadcrumb,
  .dropdown-menu,
  .modal-backdrop,
  .offcanvas-backdrop,
  .tooltip,
  .popover,
  .toast-container,
  .toastify,
  .swal2-container {
    display: none !important;
  }

  /* Layout sıfırlama */
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  .main-content {
    margin: 0 !important;
    padding: 0 !important;
  }
  .page-content {
    padding: 0 !important;
  }
  .container-fluid {
    padding: 0 10px !important;
    max-width: 100% !important;
  }
  #layout-wrapper {
    min-height: auto !important;
  }

  /* Kart stilleri — yazdırmada sade */
  .card {
    border: none !important;
    box-shadow: none !important;
    break-inside: avoid;
  }
  .card-animate:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  /* Tablo yazdırma iyileştirme */
  table { border-collapse: collapse !important; }
  th, td { border: 1px solid #dee2e6 !important; }
  thead { display: table-header-group; }
  tr { page-break-inside: avoid; }

  /* Link URL'lerini gösterme */
  a[href]:after { content: none !important; }
  abbr[title]:after { content: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .card-animate,
  .st-table tbody tr,
  .sms-table tbody tr,
  [class*="btn-soft-"],
  .badge,
  .page-link,
  .astra-quick-link,
  .astra-source-item,
  .template-preview-card,
  .flatpickr-calendar {
    animation: none !important;
    transition: none !important;
  }
}