


/*----------- ----------- ----------- ----------- ----------- ----------- -----------  PLAN OLUŞTUR ----------- ----------- -----------   */



.ziyaret_planolustur 
#eczSegKtg-detail{
  position: fixed;
  /* top: 50%; */
  /* margin-top: 100px; */
  top :250;
  left: 50%;
  transform: translate(-50%, -0%);
  /* Gerçek ortalama için */
  background-color: white;
  color: black;
  padding: 20px;
  border-radius: 10px;
  z-index: 100;
  /* Datatable'ın üzerini kaplamak için yeterince yüksek bir değer */
  width: 350px;
  border: 2px solid #000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  display: none;
  overflow-y: scroll;
  /* Dikeyde ortalar */
  /* background-color: lightblue; */
  height: 500px;
  overflow-y: scroll;
}



.ziyaret_planolustur  #kategoridetailtable td {
  text-align: left;
}
.ziyaret_planolustur  #eczdetail-closebtn {
  position: absolute; /* Butonun konumlandırılmasını sağlar */
  right: 10px; /* SağdaeczSegKtg-detailn 10px uzaklık */
  top: 10px; /* Üstten 10px uzaklık */
  background-color: red; /* Kapatma butonunun rengini belirtmek için */
  color: white; /* Yazı rengi */
  border: none; /* Kenarlıkları kaldır */
  border-radius: 5px; /* Butona yuvarlak kenar efekti ekler */
  padding: 5px 10px; /* İç boşluk */  
  cursor: pointer; /* Butonun üzerine gelindiğinde el işareti */
  transition: background-color 0.3s ease; /* Geçiş efekti ekler */
}
.ziyaret_planolustur  #eczdetail-closebtn:hover {
  background-color: darkred; /* Üzerine gelindiğinde koyulaşma */
  color: white; /* Yazı rengini beyaz yap */
}






.ziyaret_planolustur  #drSegKtg-detail{
  position: fixed; /* Ekrana sabitler */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Gerçek ortalama için */
  background-color: white; /* Arka plan rengi */
  color: black; /* Metin rengi */
  padding: 10px; /* İçerik ve kenarlar arası boşluk */
  border-radius: 10px; /* Kenarları yuvarlat */
  z-index: 10; /* Datatable'ın üzerini kaplamak için yeterince yüksek bir değer */
  width: 300px; /* Genişlik */
  max-width: 90%; /* Küçük ekranlar için uyum */
  border: 2px solid #000; /* Siyah kenarlık */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); /* Hafif gölge efekti */
  display: flex; /* Flexbox düzeni */
  flex-direction: column; /* Öğeleri dikey sırala */
  align-items: center; /* Öğeleri yatayda ortala */
  justify-content: center; /* Öğeleri dikeyde ortala */
  overflow: auto; /* İçerik taşarsa kaydırılabilir yap */
  display: none;

}
.ziyaret_planolustur  #drdetail-closebtn{
  position: absolute; /* Butonun konumlandırılmasını sağlar */
  right: 10px; /* Sağda drSegKtg-detailn 10px uzaklık */
  top: 10px; /* Üstten 10px uzaklık */
  background-color: red; /* Kapatma butonunun rengini belirtmek için */
  color: white; /* Yazı rengi */
  border: none; /* Kenarlıkları kaldır */
  border-radius: 5px; /* Butona yuvarlak kenar efekti ekler */
  padding: 5px 10px; /* İç boşluk */  
  cursor: pointer; /* Butonun üzerine gelindiğinde el işareti */
  transition: background-color 0.3s ease; /* Geçiş efekti ekler */
}
.ziyaret_planolustur  #drdetail-closebtn:hover {
  background-color: darkred; /* Üzerine gelindiğinde koyulaşma */
  color: white; /* Yazı rengini beyaz yap */
}










/*----------- ----------- ----------- ----------- ----------- ----------- -----------  SOY ÇALIŞMA PLANI ----------- ----------- -----------   */

.ziyaret_calismaplani {
    min-width: 100% !important;
  }
  .ziyaret_calismaplani div.mazeretli {
    background: -moz-linear-gradient(top, #f1e767 0%, #feb645 100%);
    background: -webkit-linear-gradient(top, #f1e767 0%, #feb645 100%);
    background: linear-gradient(to bottom, #f1e767 0%, #feb645 100%);
    padding: 0.2rem 0.5rem; border-radius: 4px;
  }
  
  .ziyaret_calismaplani div.gelecek {
    background: -moz-linear-gradient(top, #deefff 0%, #98bede 100%);
    background: -webkit-linear-gradient(top, #deefff 0%, #98bede 100%);
    background: linear-gradient(to bottom, #deefff 0%, #98bede 100%);
    padding: 0.2rem 0.5rem; border-radius: 4px;
  }
  
  .ziyaret_calismaplani div.gerceklesen {
    background: -moz-linear-gradient(top, #e4efc0 0%, #abbd73 100%);
    background: -webkit-linear-gradient(top, #e4efc0 0%, #abbd73 100%);
    background: linear-gradient(to bottom, #e4efc0 0%, #abbd73 100%);
    padding: 0.2rem 0.5rem; border-radius: 4px;
  }
  
  .ziyaret_calismaplani div.gerceklesmeyen {
    background: -moz-linear-gradient(top, #febbbb 0%, #fca6a6 46%, #ffa0a0 100%);
    background: -webkit-linear-gradient(top, #febbbb 0%, #fca6a6 46%, #ffa0a0 100%);
    background: linear-gradient(to bottom, #febbbb 0%, #fca6a6 46%, #ffa0a0 100%);
    padding: 0.2rem 0.5rem; border-radius: 4px;
  }
  .ziyaret_calismaplani div.ikiliziyaret {
    background: -moz-linear-gradient(top, #e7d7f4 1%, #c6c5e8 100%);
    background: -webkit-linear-gradient(top, #e7d7f4 1%, #c6c5e8 100%);
    background: linear-gradient(to bottom, #e7d7f4 1%, #c6c5e8 100%);
    padding: 0.2rem 0.5rem; border-radius: 4px;
  }
  
  .ziyaret_calismaplani  .filter_area {
    display: flex;
    justify-content: center; /* Yatayda ortala */
    align-items: center;     /* Dikeyde ortala */
    gap: 15px;               /* Elemanlar arası boşluk */
    flex-wrap: wrap;         /* Küçük ekranlarda alt satıra geçsin */
    margin: 2rem 0;
  }
  .ziyaret_calismaplani  .select2-container {
    width: 200px !important; /* select2 genişliği */
  }
  .ziyaret_calismaplani  .ikiliziyaretOzetModal_btn {
    background: linear-gradient(135deg, #4CAF50, #2E7D32);
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .ikiliziyaretOzetModal_btn:hover {
    background: linear-gradient(135deg, #66BB6A, #388E3C);
  }
  
    /* Select2 görselini ayarlamak için */
  /* .ziyaret_calismaplani .select2-container--default .select2-selection--single {
    width: 200px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 4px 12px;
    font-size: 1rem;
    display: flex;
    align-items: center;
    background-color: #fff;
  } */
  
  /* Ok işareti hizalaması */
  /* .ziyaret_calismaplani .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
    right: 8px;
  } */
  
  
  
  
  
  .ziyaret_calismaplani .calendar-title {
    text-align: center;
    font-size: 24px;
    color: #333;
  }
  .ziyaret_calismaplani .calendar-container {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .ziyaret_calismaplani .calendar-table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    table-layout: fixed;
    /* Eşit hücre genişliği */
  }
  
  .ziyaret_calismaplani .calendar-header {
    background-color: #007bff;
    color: white;
    padding: 10px;
    text-align: center;
    flex: 1 1 0;
    font-weight: bold;
  }
  
  .ziyaret_calismaplani .calendar-cell {
    border: 1px solid #ccc;
    vertical-align: top;
    position: relative;
    padding: 5px;
    flex: 1 1 0;
    height: 150px;
    /* min-height: 100px;
          max-height: 180px; */
    background-color: #fafafa;
    overflow: hidden;
  }
  
  .ziyaret_calismaplani .calendar-cell.empty {
    background-color: #f0f0f0;
  }
  
  .ziyaret_calismaplani .add-btn {
    position: absolute;
    top: 5px;
    left: 10px;
    font-size: 0.9rem;
    font-weight: bold;
    color: #555;
    z-index: 11;
    width: 20px;/* Çember çapı */
    height: 20px;/* Çember çapı */
    line-height: 20px;/* Yazıyı dikey ortala */
    border-radius: 50%;/* Çember şekli için */
    background-color: #ff0000;/* İstersen arka plan rengi */
    color: white;/* Yazı rengi */
    text-align: center;/* Yazıyı yatay ortala */
    font-weight: bold;/* Yazıyı kalın yap */
    display: inline-block;/* Boyutları uygulamak için */
  }  
  .ziyaret_calismaplani .day-number {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 0.9rem;
    font-weight: bold;
    color: #555;
    z-index: 10;
    width: 20px;/* Çember çapı */
    height: 20px;/* Çember çapı */
    line-height: 20px;/* Yazıyı dikey ortala */
    border-radius: 50%;/* Çember şekli için */
    background-color: #007bff;/* İstersen arka plan rengi */
    color: white;/* Yazı rengi */
    text-align: center;/* Yazıyı yatay ortala */
    font-weight: bold;/* Yazıyı kalın yap */
    display: inline-block;/* Boyutları uygulamak için */
  
  }
  
  .ziyaret_calismaplani .event-container {
    margin-top: 10px;
    font-size: 0.85rem;
    max-height: 150px;
    /* Hücre yüksekliğinin altında olmalı */
    overflow-y: auto;
    padding-right: 1px;
  }
  
  .ziyaret_calismaplani .event-container::-webkit-scrollbar {
    width: 6px;
  }
  
  .ziyaret_calismaplani .event-container::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
  }
  
  .ziyaret_calismaplani .event-item {
    text-align: left;
    font-size: 10px;
    margin-bottom: 4px;
    padding: 3px 5px;
    border-radius: 4px;
    overflow: hidden;
    z-index: 5;
  }
  
  .ziyaret_calismaplani .event-item a {
    text-decoration: none;
    color: #000;
  }
  
  .ziyaret_calismaplani .event-item i {
    margin-right: 5px;
  }
  
  
  .ziyaret_calismaplani .calendar-cell.weekend {
    background-color: #eee !important;
  }
  
  
  
  .ziyaret_calismaplani .event-item.ikili-ozet {
    background-color: #f5f5f5;
    font-weight: bold;
    font-size: 0.75rem;
    margin-top: 5px;
    padding: 4px 6px;
    border-left: 4px solid #999;
  }
  
  
  
  /* Modal arkaplan */
  .ziyaret_calismaplani #planModal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
  }
  
  /* İçerik kutusu */
  .ziyaret_calismaplani #planModal .modal-content {
    background: #ffffff;
    padding: 30px 20px 20px 20px;
    border-radius: 10px;
    max-width: 600px;
    width: 90%;
    max-height: 300px !important;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    font-family: "Segoe UI", sans-serif;
  }
  
  /* Kapat butonu */
  .ziyaret_calismaplani #planModal .modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: transparent;
    border: none;
    font-size: 24px;
    color: #999;
    cursor: pointer;
    transition: color 0.3s ease;
  }
  
  .ziyaret_calismaplani  #planModal .modal-close:hover {
    color: #000;
  }
  
  /* Tablo stilleri */
  .ziyaret_calismaplani #planModal .modal-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    border: 1px solid #ddd;
    /* Tablo dış sınırı */
    text-align: center;
    /* Tablodaki tüm hücrelerde yazı ortalama */
  }
  
  .ziyaret_calismaplani #planModal .modal-table thead th {
    background-color: #f5f5f5;
    color: #333;
    font-weight: 600;
    padding: 10px;
    border: 1px solid #ddd;
    /* Başlıklara border */
    vertical-align: middle;
    /* Dikey ortalama */
  }
  
  .ziyaret_calismaplani #planModal .modal-table tbody td {
    padding: 10px;
    border: 1px solid #ddd;
    /* Hücrelere border */
    vertical-align: middle;
    /* Dikey ortalama */
  }
  
  .ziyaret_calismaplani #planModal .modal-table tbody tr:nth-child(even) {
    background-color: #fafafa;
  }
  
  
  

  .ziyaret_calismaplani #ikiliZiyaretModal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal .custom-modal-content {
    background-color: #fff;
    margin: 5% auto;
    padding: 20px;
    border-radius: 10px;
    width: 80%;
    max-width: 700px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    font-family: Arial, sans-serif;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal .custom-modal-close {
    float: right;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    color: #aaa;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal .custom-modal-close:hover {
    color: #000;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal h3 {
    margin-top: 0;
    color: #333;
    font-size: 1.3rem;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal th,
  .ziyaret_calismaplani #ikiliZiyaretModal td {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: left;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal th {
    background-color: #f5f5f5;
    font-weight: 600;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal tbody tr:nth-child(even) {
    background-color: #f9f9f9;
  }
  
  .ziyaret_calismaplani #ikiliZiyaretModal tbody tr:hover {
    background-color: #f1f1f1;
  }

  .ziyaret_calismaplani #ikiliModalBody {
    margin-top: 20px;
    color: #555;
    font-size: 0.95rem;
  }
  .ziyaret_calismaplani .gunMazeret {
    width: 100%;
    text-align: left;
    font-weight: bold;
    font-size: 10px;
    margin-bottom: 4px;
    border-radius: 4px;
    background: linear-gradient(to bottom, #f1e767 0%, #feb645 100%);
    overflow: hidden;
    margin-top: 5px;
    padding: 4px 2px;
    /* border-left: 4px solid #999; */
  }
  /* .ziyaret_calismaplani .gunMazeret i {
    color: #ffa000;
    font-size: 18px;
  }
  
  .ziyaret_calismaplani .gunMazeret:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.35);
  } */
  
  .ziyaret_calismaplani .noActivityModal {
    display: none;
    position: fixed;
    z-index: 999;
    padding-top: 120px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.ziyaret_calismaplani .noActivityModal-content {
    background-color: #fff;
    margin: auto;
    padding: 20px;
    border-radius: 8px;
    width: 400px;
    height: 400px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    text-align: center;
}

.ziyaret_calismaplani .noActivityModal .close {
    color: #aaa;
    float: right;
    font-size: 24px;
    cursor: pointer;
}

.ziyaret_calismaplani .noActivityModal .add-btn {
    background: #4CAF50;
    color: white;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: auto;
    font-size: 18px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}


.ziyaret_calismaplani .noActivityModal #saveReason {
    background: linear-gradient(135deg, #4CAF50, #2E7D32);
    color: white;
    border: none;
    padding: 10px 24px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

.ziyaret_calismaplani .noActivityModal #saveReason:hover {
    background: linear-gradient(135deg, #43A047, #1B5E20);
    transform: translateY(-2px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
}

.ziyaret_calismaplani .noActivityModal #saveReason:active {
    transform: translateY(1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}


/* ----------- ----------- ----------- ----------- ----------- ----------- PLAN GÖSTER  ----------- ----------- ----------- ----------- -----------  */
/* ----------- ----------- ----------- ----------- ----------- ----------- ZİYARET DETAYI  ----------- ----------- ----------- ----------- -----------  */

.geo-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #ff416c, #ff4b2b);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(230, 30, 0, 0.4);
    transition: all 0.25s ease;
}

.geo-btn i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.geo-btn:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 5px 5px rgba(230, 30, 0, 0.6);
}

.geo-btn:hover i {
    transform: scale(1.2) rotate(-10deg);
}

.geo-btn:active {
    transform: scale(0.96);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* Glow efekti */
.geo-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #ff416c, #ff4b2b);
    filter: blur(12px);
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease;
}

.geo-btn:hover::after {
    opacity: 0.6;
}

.checkin-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    margin: 10px auto 0;
    width: fit-content;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #e60000, #b30000);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(230, 30, 0, 0.4);
    transition: all 0.25s ease;
    position: relative;
}

.checkin-btn i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.checkin-btn:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 8px 22px rgba(230, 30, 0, 0.6);
}

.checkin-btn:hover i {
    transform: scale(1.2) rotate(-8deg);
}

.checkin-btn:active {
    transform: scale(0.96);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.checkin-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #e60000, #b30000);
    filter: blur(12px);
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease;
}

.checkin-btn:hover::after {
    opacity: 0.55;
}

.checkin-btn:disabled {
    background: linear-gradient(135deg, #9ca3af, #6b7280);
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.checkin-btn.checkin-done {
    background: linear-gradient(135deg, #11998e, #0d7a72);
    box-shadow: 0 4px 12px rgba(17, 153, 142, 0.35);
    opacity: 0.95;
}

.checkin-btn.checkin-done:hover {
    transform: none;
    box-shadow: 0 4px 12px rgba(17, 153, 142, 0.35);
}

.checkin-btn.checkin-done::after { display: none; }

.checkin-time {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 6px auto 0;
    width: fit-content;
    font-size: 13px;
    font-weight: 500;
    color: #11998e;
    letter-spacing: 0.2px;
}

.checkin-time i { font-size: 13px; }

.checkin-elapsed {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 4px auto 0;
    width: fit-content;
    padding: 4px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #b30000;
    background: rgba(230, 30, 0, 0.08);
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.4px;
}

.checkin-elapsed i { font-size: 13px; }

/* Tamamlanmış ziyaret — canlı sayaç yerine sabit süre; durum bazlı renk kodu.
   done (gerçekleşen)  → yeşil,
   maz  (mazeretle)    → turuncu,
   ipt  (iptal)        → kırmızı. */
.checkin-elapsed.checkin-elapsed-done {
    color: #14532d;
    background: rgba(34, 197, 94, 0.14);
}
.checkin-elapsed.checkin-elapsed-maz {
    color: #92400e;
    background: rgba(245, 158, 11, 0.16);
}
.checkin-elapsed.checkin-elapsed-ipt {
    color: #991b1b;
    background: rgba(239, 68, 68, 0.14);
}
/* Tamamlanma satırı — "Tamamlandı: HH:mm" başlığının kendisi de duruma göre renkli */
.checkin-time.checkin-time-done { color: #14532d; }
.checkin-time.checkin-time-done i { color: #15803d; }
.checkin-time.checkin-time-maz  { color: #92400e; }
.checkin-time.checkin-time-maz i { color: #d97706; }
.checkin-time.checkin-time-ipt  { color: #991b1b; }
.checkin-time.checkin-time-ipt i { color: #dc2626; }

/*
 * Check-in yapılmadan formu kilitler; kilit efekti (pointer-events / opacity / filter)
 * parent'a değil, "cancelvisit" HARİCİ tüm doğrudan child'lara uygulanır — böylece
 * "ZİYARET GERÇEKLEŞMEDİ" butonu Check-in olmadan da tıklanabilir kalır.
 */
.checkin-locked {
    position: relative;
    transition: opacity 0.3s ease, filter 0.3s ease;
}
.checkin-locked > *:not(.cancelvisit) {
    pointer-events: none;
    opacity: 0.45;
    filter: grayscale(0.4);
    user-select: none;
}

.checkin-locked::before {
    content: "\f023";
    font-family: FontAwesome;
    position: absolute;
    top: 12px;
    right: 14px;
    font-size: 18px;
    color: #b30000;
    z-index: 2;
    opacity: 0.85;
}

.checkin-locked .cancelvisit {
    cursor: pointer;
    position: relative;
    z-index: 3;
}

/* 2026-09-09: Ziyaret durum sonucu — buton rengi (mazeret turuncu, iptal kırmızı, tamam yeşil). */
.checkin-btn.checkin-btn-maz {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
}
.checkin-btn.checkin-btn-maz:hover { box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35); }
.checkin-btn.checkin-btn-ipt {
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.35);
}
.checkin-btn.checkin-btn-ipt:hover { box-shadow: 0 4px 12px rgba(239, 68, 68, 0.35); }
.checkin-btn.checkin-btn-tam {
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.35);
}
.checkin-btn.checkin-btn-tam:hover { box-shadow: 0 4px 12px rgba(34, 197, 94, 0.35); }

/* 2026-09-09 rev3: Sade konum durum chip'i — form içinde ortalı, düz zemin. */
.visit-prox-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 10px;
    margin: 10px auto 14px;
    width: fit-content;
    max-width: 100%;
    border: 1px solid transparent;
    font-family: inherit;
    transition: background 0.2s, color 0.2s;
}
.visit-prox-badge .vpb-ico {
    width: 30px; height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    color: #fff;
}
.visit-prox-badge .vpb-content { display: flex; flex-direction: column; line-height: 1.2; }
.visit-prox-badge .vpb-title {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
.visit-prox-badge .vpb-sub {
    font-size: 11px;
    font-weight: 500;
    opacity: 0.75;
    margin-top: 2px;
    font-variant-numeric: tabular-nums;
}

.visit-prox-loading { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }
.visit-prox-loading .vpb-ico { background: #94a3b8; }

.visit-prox-ok      { background: #ecfdf5; color: #14532d; border-color: #a7f3d0; }
.visit-prox-ok .vpb-ico { background: #16a34a; }

.visit-prox-far     { background: #fef2f2; color: #7f1d1d; border-color: #fecaca; }
.visit-prox-far .vpb-ico { background: #b91c1c; }

.visit-prox-err     { background: #fffbeb; color: #78350f; border-color: #fde68a; }
.visit-prox-err .vpb-ico { background: #d97706; }
