:root {
  --ana: #5b6cff;
  --ana-koyu: #4453d6;
  --yesil: #1faa6b;
  --kirmizi: #e4574c;
  --sari: #e0a526;
  --turuncu: #ee7d2b;
  --pembe: #e85b9c;
  --metin: #1c2333;
  --soluk: #6b7280;
  --cizgi: #e6e8ef;
  --zemin: #f5f6fa;
  --kart: #ffffff;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--zemin);
  color: var(--metin);
  padding-bottom: 40px;
  -webkit-font-smoothing: antialiased;
}
button { font: inherit; border: none; border-radius: 10px; padding: 9px 13px; cursor: pointer; font-weight: 600; }
.birincil { background: var(--ana); color: #fff; }
.birincil:active { background: var(--ana-koyu); }
.ikincil { background: var(--zemin); color: var(--metin); border: 1px solid var(--cizgi); }

/* ===== Düzen: sol menü + ana alan ===== */
.duzen { display: flex; min-height: 100vh; }

.yan-menu {
  width: 230px; flex-shrink: 0;
  background: linear-gradient(170deg, #2a2a2a, #3a3d42 60%, #50555b);
  color: #fff; display: flex; flex-direction: column;
  position: sticky; top: 0; height: 100vh; overflow-y: auto; z-index: 40;
}
.yan-logo { display: flex; align-items: center; gap: 9px; padding: 18px 18px 12px; font-size: 21px; font-weight: 800; letter-spacing: .5px; }
.yan-logo img { height: 26px; filter: brightness(0) invert(1); }
.yan-profil { text-align: center; padding: 8px 16px 16px; border-bottom: 1px solid rgba(255,255,255,.15); margin-bottom: 8px; }
.yan-avatar { width: 64px; height: 64px; border-radius: 50%; background: rgba(255,255,255,.2); border: 2px solid rgba(255,255,255,.5); margin: 0 auto 8px; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; }
.yan-ad { font-size: 15px; font-weight: 700; }
.yan-rol { font-size: 12px; opacity: .85; margin-top: 2px; }
.sekmeler { display: flex; flex-direction: column; gap: 2px; padding: 6px 10px; flex: 1; }
.sekmeler button {
  background: transparent; color: rgba(255,255,255,.88); text-align: left;
  padding: 11px 13px; border-radius: 11px; display: flex; align-items: center; gap: 11px;
  font-size: 14.5px; width: 100%;
}
.sekmeler button .mi-ikon { font-size: 17px; width: 22px; text-align: center; }
.sekmeler button:hover { background: rgba(255,255,255,.12); }
.sekmeler button.aktif { background: rgba(255,255,255,.95); color: #2a2a2a; font-weight: 700; }
/* Modül ağacı menü */
.modul-grup { display: flex; flex-direction: column; gap: 2px; }
.modul-baslik-statik { padding: 10px 13px 4px; font-size: 11px; letter-spacing: .5px; text-transform: uppercase; opacity: .6; font-weight: 700; }
.sekmeler .modul-baslik { background: transparent; color: rgba(255,255,255,.9); font-weight: 600; }
.modul-baslik .modul-ad { flex: 1; }
.modul-baslik .modul-ok { font-size: 11px; opacity: .7; transition: transform .15s; }
.modul-grup.acik .modul-baslik .modul-ok { transform: rotate(90deg); }
.modul-altlar { display: none; flex-direction: column; gap: 2px; padding-left: 8px; }
.modul-grup.acik .modul-altlar { display: flex; }
.sekmeler .modul-alt { font-size: 13.5px; padding: 9px 13px; color: rgba(255,255,255,.8); position: relative; }
.menu-rozet { margin-left: auto; background: #ff5c7a; color: #fff; font-size: 11px; font-weight: 700; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; }
/* Modül içerik sayfası */
.modul-yol { font-size: 13px; color: var(--soluk); margin: 2px 0 14px; font-weight: 600; }
.modul-aksiyonlar { display: flex; flex-wrap: wrap; gap: 6px; }
.yan-alt { padding: 12px 18px; font-size: 11px; opacity: .7; }

.ana-alan { flex: 1; min-width: 0; display: flex; flex-direction: column; }
header {
  background: var(--kart); border-bottom: 1px solid var(--cizgi);
  padding: 12px 16px; display: flex; align-items: center; gap: 12px;
  position: sticky; top: 0; z-index: 30;
}
header h1 { font-size: 18px; font-weight: 700; flex: 1; }
.hamburger { background: var(--zemin); color: var(--metin); font-size: 18px; padding: 6px 11px; display: none; }

.menu-perde { position: fixed; inset: 0; background: rgba(20,25,45,.45); z-index: 35; display: none; }
.menu-perde.acik { display: block; }

main { padding: 16px; display: flex; flex-direction: column; gap: 10px; }

@media (max-width: 820px) {
  .yan-menu { position: fixed; left: 0; top: 0; transform: translateX(-100%); transition: transform .25s ease; box-shadow: 4px 0 24px rgba(0,0,0,.2); }
  .yan-menu.acik { transform: translateX(0); }
  .hamburger { display: block; }
}

.ozet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 4px; }
.ozet .kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px; text-align: center; }
.ozet .sayi { font-size: 20px; font-weight: 700; }
.ozet .etiket { font-size: 11px; color: var(--soluk); margin-top: 2px; }

.ozet .kutu.tikla { cursor: pointer; transition: border-color .15s, transform .1s; }
.ozet .kutu.tikla:hover { border-color: var(--ana); transform: translateY(-1px); }
.pz-ozet { grid-template-columns: repeat(4, 1fr); }
.pz-ozet .kpi-ipucu { font-size: 10px; color: var(--soluk); margin-top: 3px; line-height: 1.2; }
@media (max-width: 720px) { .pz-ozet { grid-template-columns: repeat(2, 1fr); } }
.pz-sekme-bar { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0 4px; border-bottom: 1px solid var(--cizgi); padding-bottom: 6px; }
.pz-sekme { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 999px; padding: 7px 14px; font-size: 13px; cursor: pointer; color: var(--soluk); }
.pz-sekme.aktif { background: var(--ana); color: #fff; border-color: var(--ana); font-weight: 600; }
.pz-pipline { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 2px 8px; }
.pz-pip { font-size: 12px; padding: 5px 11px; border-radius: 999px; background: #f0f0f3; color: var(--soluk); }
.pz-pip.Tamam { background: #e6f6ee; color: var(--yesil); }
.pz-pip.Teyit { background: #fff3da; color: var(--sari); }
.pz-pip.lsAcik { background: #ffe9d6; color: var(--turuncu); }
.pz-pip.lsGeri { background: #eef0ff; color: var(--ana); }
.pz-pip.lsKapandi { background: #f0f0f3; color: var(--soluk); }
.pz-alt { font-size: 11px; color: var(--soluk); margin-top: 2px; }
.pz-gecikti { color: var(--kirmizi); font-weight: 600; }
.form-uc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
@media (max-width: 720px) { .form-uc { grid-template-columns: 1fr; } }
/* Danışan mesajları (terapist tarafı) */
.dm-sarmal { display: grid; grid-template-columns: 260px 1fr; gap: 12px; }
@media (max-width: 720px) { .dm-sarmal { grid-template-columns: 1fr; } }
.dm-liste { display: flex; flex-direction: column; gap: 4px; max-height: 60vh; overflow-y: auto; }
.dm-kisi { text-align: left; border: 1px solid var(--cizgi); background: var(--kart); border-radius: 10px; padding: 9px 11px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.dm-kisi.aktif { border-color: var(--ana); background: #f3f4ff; }
.dm-kisi .dm-ad { font-weight: 600; font-size: 13.5px; }
.dm-kisi .dm-onizleme { font-size: 12px; color: var(--soluk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dm-pano { border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); padding: 12px; display: flex; flex-direction: column; }
.dm-baslik { font-weight: 700; margin-bottom: 8px; }
.mesaj-liste { display: flex; flex-direction: column; gap: 8px; max-height: 48vh; overflow-y: auto; padding: 4px; }
.balon { max-width: 78%; padding: 9px 12px; border-radius: 14px; font-size: 14px; line-height: 1.4; }
.balon .zaman { font-size: 10.5px; opacity: .6; margin-top: 3px; }
.balon.ben { align-self: flex-end; background: var(--ana); color: #fff; border-bottom-right-radius: 4px; }
.balon.karsi { align-self: flex-start; background: #eef0f4; color: var(--metin); border-bottom-left-radius: 4px; }
.mesaj-yaz { display: flex; gap: 8px; margin-top: 10px; }
.mesaj-yaz input { flex: 1; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 10px; font-size: 14px; }
/* Test gönder (terapist → danışan) */
.test-gonder { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; background: #f3f4ff; border: 1px solid #dfe2ff; border-radius: 10px; }
.test-gonder .tg-et { font-weight: 600; font-size: 13px; }
.test-gonder select { padding: 7px 10px; border: 1px solid var(--cizgi); border-radius: 8px; }
.tg-liste { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.tg-satir { display: flex; align-items: center; gap: 8px; font-size: 13.5px; padding: 6px 10px; border: 1px solid var(--cizgi); border-radius: 8px; }
.tg-satir > span:first-child { flex: 1; }
/* Şube yönetimi */
.sube-liste { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.sube-satir { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; padding: 8px 12px; border: 1px solid var(--cizgi); border-radius: 9px; background: var(--kart); }
.bolum-baslik { font-size: 13px; font-weight: 700; color: var(--soluk); text-transform: uppercase; letter-spacing: .4px; margin: 6px 2px 0; }
.bb-rozet { display: inline-block; background: var(--ana); color: #fff; border-radius: 999px; font-size: 11px; padding: 0 7px; min-width: 18px; text-align: center; vertical-align: middle; }
.mini.wa { color: #1f8a4c; border-color: #b9e6cb; background: #f0fbf4; }
.gun-baslik { font-size: 14px; font-weight: 700; color: var(--metin); background: #eef0ff; border-radius: 10px; padding: 8px 12px; margin: 10px 0 2px; }
.cip-sira { display: flex; flex-wrap: wrap; gap: 6px; }
.cip { background: #eef0ff; color: var(--ana); font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 20px; }
button.genis { width: 100%; padding: 12px; }

.filtreler { display: flex; gap: 8px; flex-wrap: wrap; }
.filtreler input, .filtreler select {
  font: inherit; padding: 9px 11px; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--kart);
}
.filtreler input { flex: 1; min-width: 140px; }

.kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 13px; }
.kart.gecikmis { border-color: var(--kirmizi); background: #fff7f6; }
.kart .ust { display: flex; align-items: center; gap: 8px; }
.kart .isim { font-weight: 700; font-size: 15px; flex: 1; }
.rozet { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 20px; white-space: nowrap; }
.rozet.Lead { background: #eef0ff; color: var(--ana); }
.rozet.Randevu { background: #eef0ff; color: var(--ana); }
.rozet.Teyit { background: #fff3da; color: var(--sari); }
.rozet.Tamam { background: #e6f6ee; color: var(--yesil); }
.rozet.Gelmedi { background: #fdeceb; color: var(--kirmizi); }
.rozet.Iptal { background: #fdeceb; color: var(--kirmizi); }
.rozet.IptalYeni { background: #fff3da; color: var(--sari); }
.rozet.Geri { background: #ffe9d6; color: var(--turuncu); }
/* lead sonuç rozetleri */
.rozet.lsAcik { background: #ffe9d6; color: var(--turuncu); }
.rozet.lsRandevu { background: #e6f6ee; color: var(--yesil); }
.rozet.lsGeri { background: #eef0ff; color: var(--ana); }
.rozet.lsKapandi { background: #f0f0f3; color: var(--soluk); }
.kart .satir { color: var(--soluk); font-size: 12.5px; margin-top: 6px; display: flex; flex-wrap: wrap; gap: 3px 12px; }
.kart .not { margin-top: 7px; font-size: 13.5px; }
.kart .aksiyon { margin-top: 7px; font-size: 13.5px; background: #fff8e8; border-left: 3px solid var(--sari); padding: 6px 10px; border-radius: 6px; }
.odeme { font-weight: 700; }
.odeme.var { color: var(--yesil); }
.odeme.yok { color: var(--kirmizi); }
.kart .alt { display: flex; gap: 6px; margin-top: 11px; flex-wrap: wrap; }
.kart .alt button { padding: 6px 11px; font-size: 12.5px; }
.mini { background: var(--zemin); border: 1px solid var(--cizgi); color: var(--metin); }
.mini.iyi { color: var(--yesil); border-color: #bce8d2; }
.mini.kotu { color: var(--kirmizi); border-color: #f3c9c5; }
.mini.sil { color: var(--kirmizi); }
.bos { text-align: center; color: var(--soluk); padding: 36px 0; }

/* Mesaj kalıpları */
.mesaj-form { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 11px; }
.mesaj-cikti { background: #f8f9fc; border: 1px solid var(--cizgi); border-radius: 12px; padding: 14px; white-space: pre-wrap; font-size: 13.5px; line-height: 1.5; min-height: 120px; }
.mesaj-form label { font-size: 12.5px; font-weight: 600; color: var(--soluk); display: flex; flex-direction: column; gap: 5px; }
.mesaj-form input, .mesaj-form select { font: inherit; padding: 10px 11px; border: 1px solid var(--cizgi); border-radius: 10px; }

/* Modal */
.modal { position: fixed; inset: 0; background: rgba(20,25,45,.45); display: flex; align-items: flex-end; justify-content: center; z-index: 50; }
.modal.gizli { display: none; }
.modal-ic { background: var(--kart); width: 100%; max-width: 480px; border-radius: 18px 18px 0 0; padding: 18px 16px 26px; max-height: 92vh; overflow-y: auto; }
.modal-ic h2 { font-size: 17px; margin-bottom: 12px; }
form { display: flex; flex-direction: column; gap: 11px; }
form label { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: var(--soluk); font-weight: 600; }
form input, form select, form textarea { font: inherit; color: var(--metin); padding: 10px 11px; border: 1px solid var(--cizgi); border-radius: 10px; background: #fff; }
form input[readonly] { background: var(--zemin); color: var(--soluk); }
form textarea { resize: vertical; }
.ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
label.onay { flex-direction: row; align-items: center; gap: 8px; }
label.onay input { width: 20px; height: 20px; }
.form-butonlar { display: flex; gap: 10px; margin-top: 4px; }
.form-butonlar button { flex: 1; }

/* Danışan notları */
.not-liste { display: flex; flex-direction: column; gap: 8px; max-height: 42vh; overflow-y: auto; margin-bottom: 12px; }
.not-kayit { background: var(--zemin); border: 1px solid var(--cizgi); border-left: 3px solid var(--ana); border-radius: 10px; padding: 9px 11px; }
.not-ust { font-size: 11px; color: var(--soluk); font-weight: 600; margin-bottom: 3px; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.not-seans { background: var(--ana); color: #fff; border-radius: 6px; padding: 1px 7px; font-size: 10.5px; letter-spacing: .2px; }
.not-metin { font-size: 13.5px; white-space: pre-wrap; line-height: 1.45; }
.terapi-sayac { font-size: 12px; color: var(--soluk); font-weight: 600; margin-bottom: 2px; }
.terapi-yeni .soluk-not { display: block; font-weight: 400; margin: 2px 0 6px; }
.not-dosya-alan { display: block; font-size: 13px; margin-top: 4px; }
.not-dosya-alan .soluk-not { font-weight: 400; }
.not-dosya-alan input[type=file] { display: block; margin-top: 5px; font-size: 12.5px; }
.not-dosya-liste { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 2px; }
.not-dosya-cip { background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 999px; padding: 2px 9px; font-size: 11.5px; color: var(--soluk); }
.not-ekler { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 7px; }
.not-ek { text-decoration: none; }
.not-ek.gorsel img { width: 78px; height: 78px; object-fit: cover; border-radius: 8px; border: 1px solid var(--cizgi); display: block; }
.not-ek.dosya { display: inline-flex; align-items: center; gap: 4px; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 8px; padding: 5px 10px; font-size: 12px; color: var(--ana); }

/* Genel gizleme */
.gizli { display: none !important; }
.soluk-not { color: var(--soluk); font-weight: 400; font-size: 11px; }

/* Üst bar kullanıcı bilgisi */
.kul-bilgi { font-size: 12.5px; color: var(--soluk); font-weight: 600; }

/* Giriş ekranı */
.giris-ekran { position: fixed; inset: 0; background: linear-gradient(160deg, #eef0ff, #f5f6fa); display: flex; align-items: center; justify-content: center; z-index: 100; padding: 20px; }
.giris-kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px; padding: 28px 22px; width: 100%; max-width: 360px; display: flex; flex-direction: column; gap: 13px; box-shadow: 0 12px 40px rgba(40,50,90,.12); }
.giris-logo { height: 34px; align-self: center; }
.giris-kutu h2 { font-size: 20px; text-align: center; }
.giris-alt { text-align: center; color: var(--soluk); font-size: 13px; margin-top: -6px; }
.giris-kutu label { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: var(--soluk); font-weight: 600; }
.giris-kutu input { font: inherit; padding: 11px 12px; border: 1px solid var(--cizgi); border-radius: 10px; }
.giris-hata { background: #fdeceb; color: var(--kirmizi); font-size: 13px; font-weight: 600; padding: 9px 12px; border-radius: 10px; text-align: center; }

/* Psikolog panosu */
.selam-kart { background: linear-gradient(135deg, var(--ana), #7b88ff); color: #fff; border-radius: 16px; padding: 18px 18px; margin-bottom: 2px; display: flex; align-items: center; gap: 14px; }
.selam-kart > div:first-child { flex: 1; }
.selam-ust { font-size: 19px; font-weight: 700; }
.selam-alt { font-size: 13px; opacity: .9; margin-top: 3px; text-transform: capitalize; }
.selam-rozet { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); border-radius: 12px; padding: 8px 14px; text-align: center; flex-shrink: 0; }
.sr-sayi { font-size: 22px; font-weight: 800; }
.sr-etiket { font-size: 10.5px; opacity: .9; }

/* Pano bölüm kartları (Hiwell tarzı) */
.pb-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pb-kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; }
.pb-baslik { font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 7px; margin-bottom: 10px; }
.pb-rozet { margin-left: auto; background: var(--ana); color: #fff; font-size: 11px; font-weight: 700; min-width: 20px; height: 20px; border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 0 6px; }
.pb-govde { flex: 1; min-height: 120px; display: flex; flex-direction: column; gap: 7px; }
.pb-bos { margin: auto; color: var(--soluk); font-size: 13px; text-align: center; padding: 16px 8px; }
.pb-satir { background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 11px; padding: 9px 11px; display: flex; align-items: center; gap: 8px; cursor: pointer; }
.pb-satir:hover { border-color: var(--ana); }
.pb-satir > div:first-child { flex: 1; min-width: 0; }
.pb-ad { font-weight: 600; font-size: 13.5px; }
.pb-alt { font-size: 11.5px; color: var(--soluk); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 560px) { .pb-grid { grid-template-columns: 1fr; } }
.pano-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pano-kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 11px; border-left: 4px solid var(--ana); }
.pano-kutu .pano-ikon { font-size: 22px; width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: var(--zemin); flex-shrink: 0; }
.pano-sayi { font-size: 19px; font-weight: 700; line-height: 1.1; }
.pano-etiket { font-size: 11.5px; color: var(--soluk); margin-top: 2px; }
.pano-kutu.mavi { border-left-color: var(--ana); } .pano-kutu.mavi .pano-ikon { background: #eef0ff; }
.pano-kutu.mor { border-left-color: var(--pembe); } .pano-kutu.mor .pano-ikon { background: #fdeaf3; }
.pano-kutu.yesil { border-left-color: var(--yesil); } .pano-kutu.yesil .pano-ikon { background: #e6f6ee; }
.pano-kutu.turuncu { border-left-color: var(--turuncu); } .pano-kutu.turuncu .pano-ikon { background: #ffe9d6; }
.pano-kutu.kirmizi { border-left-color: var(--kirmizi); } .pano-kutu.kirmizi .pano-ikon { background: #fdeaea; }
.pano-uyari { background: #fff8e8; border: 1px solid #f1dca0; border-radius: 12px; padding: 11px 13px; font-size: 13px; }
/* Onam formu */
.onam-metin { max-height: 200px; overflow-y: auto; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 10px; padding: 10px 12px; font-size: 13px; white-space: pre-wrap; margin: 6px 0 10px; }
.onam-imza { width: 100%; height: 180px; border: 1px dashed var(--ana); border-radius: 10px; background: #fff; touch-action: none; cursor: crosshair; }
/* Raporlama — kaynak tablosu */
.rap-kollar { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; color: var(--soluk); margin-bottom: 10px; }
.rap-kol { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.rap-tablo-sar { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); }
.rap-tablo { width: 100%; border-collapse: collapse; font-size: 13px; white-space: nowrap; }
.rap-tablo th { text-align: left; background: var(--zemin); color: var(--soluk); font-weight: 700; font-size: 12px; padding: 9px 12px; position: sticky; top: 0; }
.rap-tablo td { padding: 8px 12px; border-top: 1px solid var(--cizgi); }
.rap-tablo tbody tr:hover { background: var(--zemin); }
/* Kasa */
.kasa-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.kasa-bar input[type="date"], .kasa-bar select { padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 10px; font: inherit; background: var(--kart); }
.kasa-ozet { background: linear-gradient(135deg, var(--ana), #7c8aff); color: #fff; border-radius: 16px; padding: 18px 20px; margin-bottom: 12px; }
.kasa-tutar { font-size: 30px; font-weight: 800; line-height: 1.1; }
.kasa-etiket { font-size: 13px; opacity: .9; margin-top: 4px; }
/* Hizmet modülü */
.p-hizmet-liste { display: flex; flex-direction: column; gap: 6px; }
.p-hizmet-satir { display: grid; grid-template-columns: 1fr 90px 80px; gap: 8px; align-items: center; }
.p-hizmet-satir .rol-onay { margin: 0; }
.p-hizmet-satir input[type="number"] { padding: 7px 8px; border: 1px solid var(--cizgi); border-radius: 8px; font: inherit; width: 100%; }
.p-calisma-liste { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.p-calisma-satir { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr auto; gap: 6px; align-items: center; }
.p-calisma-satir select, .p-calisma-satir input { padding: 7px 8px; border: 1px solid var(--cizgi); border-radius: 8px; font: inherit; width: 100%; min-width: 0; }
.p-calisma-satir .sil { padding: 6px 9px; }
.p-bloke-satir { display: grid; grid-template-columns: 1fr 1fr 1.4fr auto; gap: 6px; align-items: center; margin-bottom: 6px; }
.p-bloke-satir input { padding: 7px 8px; border: 1px solid var(--cizgi); border-radius: 8px; font: inherit; width: 100%; min-width: 0; }
.p-bloke-satir .sil { padding: 6px 9px; }
.fatura-rozet { margin-left: 4px; }
.form-iki { display: flex; gap: 10px; }
.form-iki > label { flex: 1; }
.hizmet-kod { font-size: 11px; font-weight: 700; background: var(--zemin); color: var(--soluk); border-radius: 6px; padding: 1px 6px; }
/* Danışan adı tıklanabilir */
.tikla-ad { cursor: pointer; }
.tikla-ad:hover { text-decoration: underline; color: var(--ana); }
/* Danışan Detay (360°) */
.dd-baslik { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: flex-start; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 16px; padding: 16px 18px; margin: 10px 0 12px; }
.dd-ad { font-size: 24px; font-weight: 800; }
.dd-altbilgi { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; font-size: 13px; color: var(--soluk); align-items: center; }
.dd-iletisim { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.dd-tel { font-size: 16px; font-weight: 700; color: var(--ana); text-decoration: none; }
.dd-liste { display: flex; flex-direction: column; gap: 6px; }
.dd-satir { display: grid; grid-template-columns: 92px 1fr auto; gap: 10px; align-items: center; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 10px 12px; }
.dd-tarih { font-size: 12.5px; font-weight: 700; color: var(--soluk); }
.dd-meta { font-size: 12.5px; color: var(--soluk); margin-left: 6px; }
.dd-not { font-size: 12.5px; margin-top: 4px; }
.dd-sag { display: flex; align-items: center; gap: 8px; }
.dd-notkart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 10px 12px; margin-bottom: 6px; font-size: 13.5px; }
.dd-not-tarih { font-size: 11.5px; color: var(--soluk); font-weight: 700; margin-bottom: 3px; }
.dd-ekler { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 8px; font-size: 12.5px; }
.dd-gd { font-size: 13px; padding: 3px 0; }
.dd-etiketler { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.dd-etiket { background: #eef0ff; color: var(--ana); font-size: 12px; font-weight: 600; border-radius: 999px; padding: 2px 10px; }
/* Çağrı Modu */
.cagri-hedef { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 14px; margin-bottom: 12px; }
.cagri-hedef-ust { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.cagri-bar { background: var(--zemin); border-radius: 8px; height: 12px; overflow: hidden; }
.cagri-bar-dolu { background: var(--yesil); height: 100%; border-radius: 8px; transition: width .3s; }
.cagri-kart { background: var(--kart); border: 1px solid var(--cizgi); border-left: 5px solid var(--ana); border-radius: 16px; padding: 20px; text-align: center; }
.cagri-tip { font-size: 12px; font-weight: 700; color: var(--ana); text-transform: uppercase; letter-spacing: .3px; }
.cagri-ad { font-size: 26px; font-weight: 800; margin: 6px 0; }
.cagri-bilgi { font-size: 13.5px; color: var(--soluk); margin: 2px 0; }
.cagri-not { font-size: 13px; background: var(--zemin); border-radius: 10px; padding: 8px 10px; margin: 10px 0; }
.cagri-tel-satir { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; margin: 14px 0; }
.cagri-tel { font-size: 18px; font-weight: 700; color: var(--ana); text-decoration: none; }
.cagri-tel.yok { color: var(--soluk); font-weight: 400; }
.cagri-aksiyon { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.cagri-aksiyon button { flex: 1; min-width: 130px; padding: 13px; font-size: 15px; }
.cagri-atla { margin-top: 12px; background: none; border: none; color: var(--soluk); font-size: 13px; cursor: pointer; text-decoration: underline; }
.cagri-bos { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 16px; padding: 40px 20px; text-align: center; font-size: 17px; }
.cagri-onizleme { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; overflow: hidden; }
.cagri-sira { display: flex; justify-content: space-between; padding: 10px 14px; border-top: 1px solid var(--cizgi); font-size: 13.5px; }
.cagri-sira:first-child { border-top: none; }
/* Yönetici panosu — bar ve tablo */
.yp-blok { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 14px; }
.yp-satir { display: flex; align-items: center; gap: 10px; margin: 7px 0; }
.yp-ad { width: 120px; font-size: 13px; font-weight: 600; flex-shrink: 0; }
.yp-bar { flex: 1; background: var(--zemin); border-radius: 8px; height: 20px; overflow: hidden; min-width: 40px; }
.yp-bar-dolu { background: var(--ana); height: 100%; border-radius: 8px; min-width: 2px; transition: width .3s; }
.yp-bar-dolu.mor { background: var(--pembe); }
.yp-deger { font-size: 12.5px; color: var(--soluk); white-space: nowrap; flex-shrink: 0; }
.yp-tablo { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; overflow: hidden; }
.yp-tbas, .yp-tsatir { display: grid; grid-template-columns: 2fr 1fr 1.3fr 1.3fr; gap: 8px; padding: 10px 14px; align-items: center; }
.yp-tbas { background: var(--zemin); font-size: 12px; font-weight: 700; color: var(--soluk); }
.yp-tsatir { border-top: 1px solid var(--cizgi); font-size: 13.5px; }
.yp-tsatir .yp-alt { display: block; font-size: 11.5px; color: var(--soluk); font-weight: 400; }
/* Performans */
.perf-hero { display: flex; align-items: center; gap: 18px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 16px; padding: 18px 20px; margin-bottom: 14px; }
.perf-halka { --renk: var(--ana); width: 116px; height: 116px; border-radius: 50%; flex-shrink: 0; background: conic-gradient(var(--renk) calc(var(--yuzde) * 1%), var(--zemin) 0); display: flex; align-items: center; justify-content: center; }
.perf-halka.iyi { --renk: var(--yesil); } .perf-halka.orta { --renk: var(--turuncu); } .perf-halka.kotu { --renk: var(--kirmizi); }
.perf-halka-ic { width: 86px; height: 86px; border-radius: 50%; background: var(--kart); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.perf-buyuk { font-size: 26px; font-weight: 800; line-height: 1; }
.perf-kucuk { font-size: 11.5px; color: var(--soluk); margin-top: 3px; }
.perf-hero-baslik { font-size: 17px; font-weight: 700; margin-bottom: 5px; }
.perf-hero-alt { font-size: 13px; color: var(--soluk); line-height: 1.5; }
.perf-trend { display: flex; align-items: flex-end; gap: 8px; height: 150px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 14px 16px; }
.perf-cubuk { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.perf-cubuk-deger { font-size: 12px; font-weight: 700; color: var(--ana); }
.perf-cubuk-dolu { width: 70%; max-width: 38px; min-height: 4px; background: linear-gradient(var(--ana), #9bb0ff); border-radius: 7px 7px 0 0; }
.perf-cubuk-ay { font-size: 11px; color: var(--soluk); }
.perf-ipuc { margin-top: 14px; background: #eef6ef; border: 1px solid #cfe6d3; color: #1f5e2c; border-radius: 12px; padding: 11px 14px; font-size: 12.5px; line-height: 1.5; }
@media (max-width: 560px) { .perf-hero { flex-direction: column; text-align: center; } }
/* Bugünkü program listesi */
.prog-liste { display: flex; flex-direction: column; gap: 8px; }
.prog-satir { display: flex; gap: 12px; align-items: flex-start; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 11px 13px; border-left: 4px solid var(--ana); }
.prog-saat { font-size: 17px; font-weight: 700; color: var(--ana); min-width: 48px; text-align: center; padding-top: 1px; }
.prog-orta { flex: 1; min-width: 0; }
.prog-ad { font-weight: 700; font-size: 14.5px; }
.prog-etiket { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 12px; color: var(--soluk); margin-top: 4px; }
.prog-rozet { font-weight: 600; padding: 1px 8px; border-radius: 20px; font-size: 11.5px; }
.prog-rozet.online { background: #e6f6ee; color: #1c7a3e; }
.prog-rozet.yuz { background: #eef0ff; color: #3b54c4; }
.prog-not { font-size: 12px; color: var(--soluk); margin-top: 5px; white-space: normal; }
.prog-aksiyon { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; max-width: 230px; }
.mini.link { text-decoration: none; background: #e6f6ee; color: #1c7a3e; border-color: #bfe6cd; }
@media (max-width: 620px) { .prog-satir { flex-wrap: wrap; } .prog-aksiyon { max-width: none; width: 100%; justify-content: flex-start; } }
/* Kazancım — aylık kırılım tablosu */
.kazanc-tablo { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; overflow: hidden; }
.kz-bas, .kz-satir { display: grid; grid-template-columns: 2fr 1fr 1.3fr 1.3fr; gap: 8px; padding: 11px 14px; align-items: center; }
.kazanc-tablo.bes .kz-bas, .kazanc-tablo.bes .kz-satir { grid-template-columns: 1.8fr .8fr 1.2fr 1.2fr 1.2fr; }
.hakedis-serit { background: #eef6ef; border: 1px solid #cfe6d3; color: #1f5e2c; border-radius: 12px; padding: 10px 14px; font-size: 13px; margin-bottom: 12px; }
.kz-bas { background: var(--zemin); font-size: 12px; font-weight: 700; color: var(--soluk); }
.kz-bas span:not(:first-child), .kz-satir span:not(:first-child) { text-align: right; }
.kz-satir { border-top: 1px solid var(--cizgi); font-size: 13.5px; }
.kz-ay { font-weight: 600; }
.kz-iyi { color: var(--yesil); font-weight: 600; }
.kz-bekle { color: var(--turuncu); font-weight: 600; }
/* Danışanlarım */
.satir-onay { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; white-space: nowrap; }
.satir-onay input { width: auto; }
.dan-kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 13px 15px; margin-bottom: 9px; border-left: 4px solid var(--ana); }
.dan-kart.takip { border-left-color: var(--kirmizi); background: #fff6f5; }
.dan-ust { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.dan-ad { font-weight: 700; font-size: 15px; }
.dan-kat { font-size: 12px; color: var(--soluk); margin-left: 8px; background: var(--zemin); padding: 1px 8px; border-radius: 20px; }
.dan-bilgi { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--soluk); margin: 9px 0 11px; }
.dan-aksiyon { display: flex; flex-wrap: wrap; gap: 6px; }

/* Randevu tablosu */
.rv-tablo { display: flex; flex-direction: column; border: 1px solid var(--cizgi); border-radius: 14px; overflow: hidden; background: var(--kart); }
.rv-bas, .rv-satir { display: grid; grid-template-columns: 1.4fr 1.6fr 1.4fr 1fr .8fr 1fr 1.6fr; align-items: center; gap: 10px; padding: 11px 14px; }
.rv-bas { background: var(--zemin); font-size: 11.5px; font-weight: 700; color: var(--soluk); text-transform: uppercase; letter-spacing: .3px; }
.rv-satir { border-top: 1px solid var(--cizgi); cursor: pointer; font-size: 13px; transition: background .12s; }
.rv-satir:hover { background: var(--zemin); }
.rv-gun { display: block; font-weight: 600; }
.rv-saat { display: block; font-size: 11.5px; color: var(--soluk); margin-top: 1px; }
.rv-isim { font-weight: 700; display: block; }
.rv-kat { font-size: 11px; color: var(--soluk); background: var(--zemin); padding: 1px 7px; border-radius: 20px; }
.rv-sube { display: block; font-size: 11px; color: var(--soluk); margin-top: 1px; }
.rv-gorusme { font-size: 12.5px; white-space: nowrap; }
.rv-aksiyon { display: flex; flex-wrap: wrap; gap: 5px; }
.rv-aksiyon .mini { padding: 4px 9px; font-size: 11.5px; }
@media (max-width: 860px) {
  .rv-bas { display: none; }
  .rv-satir { grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 12px 14px; }
  .rv-satir .rv-aksiyon { grid-column: 1 / -1; }
  .rv-satir .rv-durum { justify-self: end; }
}

/* Takvim */
.tk-ust { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.tk-baslik { flex: 1; text-align: center; font-weight: 700; font-size: 16px; text-transform: capitalize; }
.tk-hafta { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 4px; }
.tk-hafta div { text-align: center; font-size: 11px; font-weight: 700; color: var(--soluk); }
.tk-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.tk-bos { aspect-ratio: 1; }
.tk-gun { aspect-ratio: 1; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; padding: 4px; position: relative; cursor: pointer; display: flex; flex-direction: column; }
.tk-gun .tk-no { font-size: 12.5px; font-weight: 600; color: var(--metin); }
.tk-gun.tk-dolu { background: #eef0ff; border-color: #cdd3ff; }
.tk-gun.tk-bugun { border-color: var(--ana); border-width: 2px; }
.tk-gun.tk-secili { background: var(--ana); }
.tk-gun.tk-secili .tk-no { color: #fff; }
.tk-rozet { position: absolute; bottom: 4px; right: 4px; background: var(--ana); color: #fff; font-size: 10px; font-weight: 700; min-width: 17px; height: 17px; border-radius: 9px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.tk-gun.tk-secili .tk-rozet { background: #fff; color: var(--ana); }

/* ===== Gün çizelgesi (psikolog sütunları) ===== */
.cz-ust { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.cz-ust-sol, .cz-ust-sag { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.cz-ust-sag { margin-left: auto; }
.cz-gun-ad { font-weight: 700; font-size: 15px; text-transform: capitalize; }
.cz-sayac { font-size: 12px; color: var(--soluk); background: var(--zemin); padding: 3px 9px; border-radius: 20px; }
.cz-tarih, .cz-sec { border: 1px solid var(--cizgi); border-radius: 9px; padding: 7px 9px; font-size: 13px; background: var(--kart); color: var(--metin); }
.cz-sar { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); }
.cz-tablo { display: flex; flex-direction: column; }
.cz-basliklar { display: flex; position: sticky; top: 0; z-index: 3; background: var(--zemin); border-bottom: 1px solid var(--cizgi); }
.cz-kose { width: 56px; flex: 0 0 56px; }
.cz-kol-bas { flex: 1 0 150px; text-align: center; font-weight: 700; font-size: 13.5px; padding: 11px 6px; border-left: 1px solid var(--cizgi); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cz-kol-alt { display: block; font-weight: 600; font-size: 11px; color: var(--soluk); margin-top: 2px; }
.cz-bugun-bas { background: rgba(79,140,255,.12); color: var(--vurgu, #4f8cff); }
.cz-bugun-bas .cz-kol-alt { color: var(--vurgu, #4f8cff); }
.cz-bugun { background: rgba(79,140,255,.04); }
.cz-govde { display: flex; position: relative; }
.cz-eksen { width: 56px; flex: 0 0 56px; position: relative; }
.cz-saat { position: absolute; right: 7px; transform: translateY(-50%); font-size: 11px; color: var(--soluk); }
.cz-kol { flex: 1 0 150px; position: relative; border-left: 1px solid var(--cizgi); cursor: cell; }
.cz-filtre { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.cz-bloke { position: absolute; inset: 0; z-index: 1; pointer-events: none; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 11px; font-weight: 700; color: #7a8699; background: repeating-linear-gradient(45deg, rgba(150,160,175,.13) 0, rgba(150,160,175,.13) 8px, rgba(150,160,175,.05) 8px, rgba(150,160,175,.05) 16px); }
.cz-blok { position: absolute; border: none; border-radius: 8px; padding: 4px 7px; color: #fff; text-align: left; overflow: hidden; cursor: pointer; box-shadow: 0 1px 2px rgba(0,0,0,.12); display: flex; align-items: flex-start; gap: 5px; line-height: 1.2; }
.cz-blok .cz-ikon { flex: none; font-size: 11px; opacity: .95; margin-top: 1px; }
.cz-blok .cz-ad { font-size: 12px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cz-blok:hover { filter: brightness(1.05); z-index: 2; }
.cz-mavi { background: #4f8cff; }
.cz-yesil { background: #28a745; }
.cz-kirmizi { background: #e4574c; }
.cz-turuncu { background: #f08c1d; }
.cz-gri { background: #8a93a3; }
.cz-simdi { position: absolute; left: 0; right: 0; height: 2px; background: var(--kirmizi); z-index: 4; }
.cz-simdi::before { content: ''; position: absolute; left: -4px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--kirmizi); }

@media (min-width: 600px) {
  .ozet { grid-template-columns: repeat(4, 1fr); }
  .modal { align-items: center; }
  .modal-ic { border-radius: 18px; }
}

/* ===== Çoklu rol seçimi (kullanıcı formu) ===== */
.rol-secim { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.rol-onay { display: inline-flex; align-items: center; gap: 6px; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 10px; padding: 8px 11px; font-size: 13px; font-weight: 600; color: var(--metin); cursor: pointer; }
.rol-onay input { width: 17px; height: 17px; }

/* ===== Yetkilendirme ekranı ===== */
.rol-cipler { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; }
.rol-cip { background: var(--kart); border: 1px solid var(--cizgi); color: var(--metin); border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.rol-cip.aktif { background: var(--ana); color: #fff; border-color: var(--ana); }
.rol-cip.yeni { border-style: dashed; color: var(--ana); }
.rol-duzen { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 11px; margin-top: 8px; }
.iz-moduller { display: flex; flex-direction: column; gap: 10px; }
.iz-modul { border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; }
.iz-modul-baslik { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; background: var(--zemin); padding: 9px 11px; font-weight: 700; font-size: 13px; }
.iz-modul-baslik > span:first-child { flex: 1; min-width: 140px; }
.iz-sayac { color: var(--soluk); font-weight: 600; font-size: 11.5px; margin-left: 6px; }
.iz-alt { padding: 8px 11px; border-top: 1px solid var(--cizgi); }
.iz-alt-baslik { font-size: 12px; font-weight: 700; color: var(--soluk); text-transform: uppercase; letter-spacing: .3px; margin-bottom: 6px; }
.iz-perm-liste { display: flex; flex-direction: column; gap: 5px; }
.iz-perm { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; font-weight: 500; color: var(--metin); cursor: pointer; }
.iz-perm input { width: 17px; height: 17px; margin-top: 1px; flex-shrink: 0; }
.ikincil.sil { color: var(--kirmizi); border-color: var(--kirmizi); }

/* ===== Terapi Planı ===== */
.plan-kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 16px; margin-bottom: 14px; }
.plan-ust { display: flex; gap: 12px; flex-wrap: wrap; }
.plan-ust label { flex: 1; min-width: 180px; display: block; font-size: 13px; font-weight: 600; }
.plan-ust select, .plan-ust input, .plan-etk input, .plan-etk textarea { width: 100%; margin-top: 5px; padding: 9px 11px; border: 1px solid var(--cizgi); border-radius: 10px; font: inherit; background: var(--kart); }
.plan-etk { display: block; font-size: 13px; font-weight: 600; margin-top: 12px; }
.plan-uyari { background: #fff4e5; color: #9a5b00; border: 1px solid #ffd9a8; border-radius: 10px; padding: 8px 12px; margin-top: 10px; font-size: 13px; font-weight: 600; }
.plan-ilerleme { display: flex; align-items: center; gap: 10px; margin: 14px 0; font-size: 13px; color: var(--soluk, #6b7790); }
.plan-bar { flex: 1; height: 12px; background: #eef0f6; border-radius: 8px; overflow: hidden; }
.plan-bar span { display: block; height: 100%; background: linear-gradient(90deg, #5b6cff, #7c8bff); transition: width .2s; }
.plan-hedefler { margin-top: 8px; }
.plan-hedef { border: 1px solid var(--cizgi); border-radius: 12px; padding: 12px; margin-bottom: 10px; background: #fafbff; }
.plan-hedef-ust { display: flex; gap: 8px; align-items: center; }
.plan-hedef-ad { flex: 1; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; font-weight: 600; }
.plan-alt { display: flex; gap: 8px; align-items: center; margin-top: 8px; padding-left: 10px; }
.plan-alt input[type=text] { flex: 1; padding: 7px 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }
.plan-alt input[type=range] { width: 120px; }
.plan-alt-yuzde { font-size: 12px; font-weight: 700; color: var(--ana); min-width: 42px; text-align: right; }
.plan-trend { margin-top: 14px; }
.plan-trend-baslik { font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.plan-trend-bar { display: flex; gap: 4px; align-items: flex-end; height: 60px; }
.plan-trend-bar .ptb { flex: 1; max-width: 28px; height: 100%; display: flex; align-items: flex-end; background: #eef0f6; border-radius: 5px; overflow: hidden; }
.plan-trend-bar .ptb span { display: block; width: 100%; background: #7c8bff; border-radius: 5px 5px 0 0; }
.plan-ai { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--cizgi); }
.plan-altbtn { display: flex; gap: 10px; align-items: center; margin-top: 14px; flex-wrap: wrap; }
.mini.kotu { color: #c0392b; border-color: #f0c0b8; background: #fdf1ef; }

/* ===== SoneOS marka ===== */
.marka { color: #fff; font-weight: 800; letter-spacing: .5px; }
.marka-os { color: #9aa1ad; }
.giris-tag { font-size: 14px; font-weight: 600; color: #5b6473; margin: 10px 0 2px; text-align: center; }
.giris-logo { height: 40px; }

/* ===== Güvenlik / KVKK ===== */
.yan-guvenlik { margin-top: 10px; width: 100%; background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; padding: 7px 10px; font-size: 13px; font-weight: 600; cursor: pointer; }
.yan-guvenlik:hover { background: rgba(255,255,255,.16); }
.dd-kvkk { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0 14px; }
.rap-kutu { overflow-x: auto; }

/* ===== Online seans linki ===== */
.online-link-satir { display: flex; gap: 8px; align-items: center; margin-top: 5px; }
.online-link-satir input { flex: 1; }

/* ===== Test & Ödev ===== */
.test-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.test-form input { padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }
.test-not { width: 100%; margin-top: 8px; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }
.odev-satir { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--cizgi); flex-wrap: wrap; }
.odev-btn { display: flex; gap: 6px; flex-wrap: wrap; }

/* ===== Hizmet: terapist ücret tablosu ===== */
.hizmet-fiyat { margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--cizgi); }
.hizmet-fiyat.bos-not { font-size: 12px; color: var(--soluk, #6b7790); }
.hf-baslik { font-size: 12px; font-weight: 700; color: var(--soluk, #6b7790); margin-bottom: 4px; }
.hf-satir { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; padding: 3px 0; }

/* ===== Lead tarih çubuğu ===== */
.lead-tarih-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.lead-tarih-bar input[type=date] { padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }
.lead-tarih-et { font-size: 13px; font-weight: 600; color: var(--soluk, #6b7790); margin-left: 4px; }

/* ===== Üst bar danışan arama ===== */
header h1 { flex: 0 0 auto; }
.ust-ara-sar { position: relative; flex: 1; max-width: 380px; min-width: 0; }
.ust-ara { width: 100%; padding: 9px 12px; border: 1px solid var(--cizgi); border-radius: 10px; font: inherit; background: var(--zemin); }
.ust-ara:focus { background: var(--kart); border-color: var(--ana); outline: none; }
.ust-ara-sonuc { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: 0 8px 28px rgba(20,35,58,.14); z-index: 50; max-height: 360px; overflow-y: auto; }
.ua-satir { display: flex; flex-direction: column; gap: 2px; padding: 10px 13px; cursor: pointer; border-bottom: 1px solid var(--cizgi); }
.ua-satir:last-child { border-bottom: none; }
.ua-satir:hover { background: #eef0ff; }
.ua-satir span { font-size: 12px; color: var(--soluk, #6b7790); }
.ua-bos { padding: 12px 13px; color: var(--soluk, #6b7790); font-size: 13px; }
@media (max-width: 720px) { .ust-ara-sar { order: 5; flex-basis: 100%; max-width: none; } header { flex-wrap: wrap; } }

/* ===== Takvim hızlı işlem modalı ===== */
.rh-baslik { font-weight: 700; font-size: 14px; margin: 14px 0 8px; }
.rh-durumlar { display: flex; flex-wrap: wrap; gap: 8px; }
.rh-durumlar .mini { font-size: 13px; padding: 8px 12px; }

/* ===== Takvimden yeni randevu seçme şeridi ===== */
.yr-banner { background: #eef0ff; border: 1px solid #c7ccff; color: var(--ana); border-radius: 10px; padding: 9px 13px; margin-bottom: 10px; font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.yr-banner .mini { margin-left: auto; }

/* ===== Hızlı panel online link ===== */
.rh-online { background: #f3f6ff; border: 1px solid #d6ddff; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
.rh-link { font-size: 12.5px; word-break: break-all; background: #fff; border: 1px solid var(--cizgi); border-radius: 8px; padding: 7px 9px; margin: 6px 0; }

/* ===== Geri dön aralık butonları ===== */
.mini.gd-ara { background: #eef0ff; color: var(--ana); border-color: #cdd4ff; }
.mini.gd-ara:hover { background: #e0e4ff; }

/* ===== Toast bildirim ===== */
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px); background: #16233a; color: #fff; padding: 12px 18px; border-radius: 12px; font-size: 14px; font-weight: 600; box-shadow: 0 8px 28px rgba(0,0,0,.25); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; z-index: 100; max-width: 90vw; text-align: center; }
.toast.goster { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast.iyi { background: #1f8a4c; }
.toast.kotu { background: #c0392b; }

/* ===== Danışan kayıt/arama ekranı ===== */
.kayit-arama { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 16px; margin-bottom: 12px; }
.ka-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.ka-form label { display: flex; flex-direction: column; font-size: 12px; font-weight: 600; color: var(--soluk, #6b7790); gap: 4px; }
.ka-form input { padding: 9px 11px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }
.ka-btn { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.kayit-tablo th, .kayit-tablo td { text-align: left; padding: 11px 12px; }
.kayit-tablo tbody tr.kt-satir { cursor: pointer; }
.kayit-tablo tbody tr.kt-satir:hover { background: #f4f6fb; }
.kayit-sayfa { display: flex; align-items: center; gap: 10px; justify-content: flex-end; margin-top: 12px; flex-wrap: wrap; }
.kayit-sayfa .ks-bilgi { font-size: 13px; font-weight: 600; color: var(--soluk, #6b7790); }
.kayit-sayfa select { padding: 7px 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }

/* ===== Lead tablosu ===== */
.lead-tablo .lead-sonuc-sec { padding: 6px 8px; border: 1px solid var(--cizgi); border-radius: 8px; font: inherit; font-size: 13px; }
.lead-tablo td { vertical-align: middle; }

/* ===== Kasa / Tahsilat tablosu ===== */
.kasa-tablo .kasa-sec { padding: 6px 8px; border: 1px solid var(--cizgi); border-radius: 8px; font: inherit; font-size: 13px; }
.kasa-tablo td { vertical-align: middle; }
.kasa-tablo .kasa-toplam td { background: #f4f6fb; font-weight: 700; border-top: 2px solid var(--cizgi); }

/* ===== Hizmet terapist ücret girişi ===== */
.hf-giris input { width: 100px; padding: 5px 8px; border: 1px solid var(--cizgi); border-radius: 7px; font: inherit; text-align: right; }

/* ===== KPI paneli ===== */
.kpi-satir { margin: 12px 0; }
.kpi-ust { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 5px; }
.kpi-ust span:last-child { color: var(--soluk, #6b7790); }

/* ===== Mobil iyileştirmeleri (responsive) ===== */
@media (max-width: 768px) {
  main { padding: 12px; gap: 8px; }
  header { padding: 10px 12px; gap: 8px; }
  header h1 { font-size: 16px; }
  .yan-menu { width: min(82vw, 300px); }
  .ikili { grid-template-columns: 1fr; }
  .pano-grid { grid-template-columns: 1fr; }
  .form-iki { flex-direction: column; gap: 8px; }
  /* Finans / rapor satır-tabloları: başlığı gizle, 2 sütuna stack et (rv deseni) */
  .kz-bas, .yp-tbas { display: none; }
  .kz-satir, .yp-tsatir,
  .kazanc-tablo.bes .kz-satir { grid-template-columns: 1fr 1fr; gap: 4px 12px; }
  .p-hizmet-satir, .p-calisma-satir, .p-bloke-satir { grid-template-columns: 1fr 1fr; }
  /* Dokunma hedeflerini büyüt */
  .mini { padding: 8px 12px; font-size: 13px; }
  .modul-alt { padding: 11px 12px; }
  .birincil, .ikincil { padding: 11px 16px; }
}
@media (max-width: 480px) {
  .ozet { grid-template-columns: repeat(2, 1fr); }
  .pz-ozet { grid-template-columns: repeat(2, 1fr); }
  .ikili, .pb-grid { grid-template-columns: 1fr; }
  header h1 { font-size: 15px; }
  .yan-logo { font-size: 19px; }
  /* Uzun aksiyon butonlarını tam genişlik yap */
  .form-butonlar { flex-direction: column; }
  .form-butonlar button { width: 100%; }
  .cagri-aksiyon button { min-width: 0; }
  /* Modal/form taşmasın */
  .modal-kutu, .mlg-kutu { width: 96vw; max-width: 96vw; }
}
