:root{
  --ana:#0ea5e9; --ana-koyu:#0369a1; --ana-acik:#e0f2fe;
  --yesil:#10b981; --kirmizi:#ef4444; --sari:#f59e0b; --mavi:#3b82f6;
  --yazi:#0f172a; --soluk:#64748b; --cizgi:#e2e8f0; --zemin:#f1f5f9;
  --radius:12px; --golge:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--zemin);color:var(--yazi);font-size:15px;line-height:1.5}
a{color:var(--ana-koyu);text-decoration:none}

.kabuk{display:flex;min-height:100vh}

/* ---- Yan menü ---- */
.yan{width:230px;background:#0f172a;color:#cbd5e1;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.yan-bas{padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.logo{font-size:18px;font-weight:800;line-height:1.25;color:#fff;
  overflow-wrap:break-word;word-break:break-word;hyphens:auto}
.logo-alt{font-size:12px;color:#64748b;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.menu{flex:1;padding:14px 10px;display:flex;flex-direction:column;gap:4px}
.menu a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:10px;color:#cbd5e1;font-weight:500;transition:.12s}
.menu a:hover{background:rgba(255,255,255,.06);color:#fff}
.menu a.aktif{background:var(--ana);color:#fff}
.menu .ikon{font-size:17px}
.yan-alt{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}
.kullanici{font-size:14px;color:#e2e8f0;font-weight:600}
.cikis{display:inline-block;margin-top:4px;font-size:13px;color:#94a3b8}
.cikis:hover{color:#fff}
.imza{margin-top:14px;font-size:10px;color:#475569;letter-spacing:.03em}

/* ---- İçerik ---- */
.icerik{flex:1;padding:28px 32px;max-width:1200px}
.sayfa-baslik{font-size:24px;font-weight:700;margin-bottom:20px}

/* ---- Flash ---- */
.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-weight:500}
.flash-yesil{background:#d1fae5;color:#065f46}
.flash-kirmizi{background:#fee2e2;color:#991b1b}
.flash-sari{background:#fef3c7;color:#92400e}
.flash-mavi{background:#dbeafe;color:#1e40af}

/* ---- Kart ---- */
.kart{background:#fff;border:1px solid var(--cizgi);border-radius:var(--radius);box-shadow:var(--golge);margin-bottom:20px;overflow:hidden}
.kart-bas{padding:16px 20px;border-bottom:1px solid var(--cizgi);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kart-bas h2{font-size:16px;font-weight:700}
.kart-govde{padding:20px}
.kart-govde.sifir{padding:0}

/* ---- Form ---- */
.form-label{font-size:13px;font-weight:600;color:var(--soluk);margin-bottom:5px;display:block}
.form-label.zorunlu::after{content:" *";color:var(--kirmizi)}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--cizgi);border-radius:9px;font-size:15px;font-family:inherit;background:#fff;color:var(--yazi)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ana);box-shadow:0 0 0 3px var(--ana-acik)}
.form-satir{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-satir-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.mb{margin-bottom:14px}

/* ---- Buton ---- */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;transition:.12s;background:#fff;color:var(--yazi);text-decoration:none;line-height:1.2}
.btn:hover{filter:brightness(.97)}
.btn-ana{background:var(--ana);color:#fff}
.btn-ana:hover{background:var(--ana-koyu)}
.btn-cizgi{border-color:var(--cizgi);color:var(--soluk)}
.btn-cizgi:hover{border-color:var(--soluk);color:var(--yazi)}
.btn-yesil{background:var(--yesil);color:#fff}
.btn-kirmizi{background:var(--kirmizi);color:#fff}
.btn-sm{padding:6px 12px;font-size:13px}
.btn-lg{padding:13px 26px;font-size:16px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ---- Tablo ---- */
.tablo{width:100%;border-collapse:collapse}
.tablo th{text-align:left;padding:11px 16px;font-size:12px;font-weight:700;color:var(--soluk);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--cizgi);background:#f8fafc}
.tablo td{padding:12px 16px;border-bottom:1px solid var(--cizgi);vertical-align:middle}
.tablo tr:last-child td{border-bottom:0}
.tablo tr:hover td{background:#f8fafc}
.tablo .sag{text-align:right}

/* ---- Etiket / rozet ---- */
.etiket{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;color:#fff}
.etiket-gri{background:#94a3b8}

/* ---- Özet kutuları ---- */
.ozet-satir{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}
.ozet{background:#fff;border:1px solid var(--cizgi);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--golge)}
.ozet .sayi{font-size:26px;font-weight:800}
.ozet .etiket-alt{font-size:13px;color:var(--soluk);margin-top:2px}

/* ---- Boş durum ---- */
.bos{text-align:center;padding:48px 20px;color:var(--soluk)}
.bos .buyuk{font-size:40px;margin-bottom:10px}

/* ---- Hasta arama açılır ---- */
.arama-kutu{position:relative}
.arama-sonuc{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--cizgi);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);margin-top:4px;max-height:260px;overflow-y:auto;z-index:50;display:none}
.arama-sonuc.acik{display:block}
.arama-oge{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--cizgi)}
.arama-oge:last-child{border-bottom:0}
.arama-oge:hover,.arama-oge.secili{background:var(--ana-acik)}
.arama-oge strong{display:block;font-size:14px}
.arama-oge small{color:var(--soluk);font-size:12px}
.arama-bos{padding:12px 14px;color:var(--soluk);font-size:13px}

/* ---- Uyarı kutusu ---- */
.uyari-kutu{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:11px 14px;border-radius:9px;margin-bottom:14px;font-size:14px}

/* ---- Giriş ekranı ---- */
.giris-sayfa{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#0369a1)}
.giris-kart{background:#fff;border-radius:16px;padding:36px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.giris-logo{text-align:center;margin-bottom:8px}
.giris-logo .ad{font-size:26px;font-weight:800;color:var(--ana-koyu)}
.giris-logo .alt{font-size:13px;color:var(--soluk);letter-spacing:.08em;text-transform:uppercase}
.giris-baslik{text-align:center;color:var(--soluk);margin:6px 0 24px;font-size:14px}
.giris-imza{text-align:center;margin-top:20px;font-size:12px;color:#94a3b8}

/* ---- WhatsApp durum ---- */
.wa-durum{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:13px;font-weight:600}
.wa-bagli{background:#d1fae5;color:#065f46}
.wa-kapali{background:#fee2e2;color:#991b1b}
.wa-bekle{background:#fef3c7;color:#92400e}

@media(max-width:820px){
  .kabuk{flex-direction:column}
  .yan{width:100%;height:auto;position:relative;flex-direction:row;align-items:center;overflow-x:auto}
  .yan-bas{border-bottom:0;border-right:1px solid rgba(255,255,255,.08);padding:14px}
  .menu{flex-direction:row;padding:8px}
  .yan-alt{display:none}
  .icerik{padding:18px}
  .form-satir,.form-satir-3{grid-template-columns:1fr}
}

/* ============================================================
   ÜST ÇUBUK
   ============================================================ */
.ust-cubuk{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--cizgi);border-radius:var(--radius);box-shadow:var(--golge);
  padding:10px 14px;margin-bottom:18px;position:sticky;top:0;z-index:60}
.uc-sol{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.uc-sag{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ============================================================
   HAFTALIK TAKVİM
   ============================================================ */
.takvim-ust{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.takvim-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.takvim-baslik{font-size:19px;font-weight:700;margin-left:6px}
.takvim-baslik small{font-size:13px;font-weight:500;color:var(--soluk);margin-left:8px}
.takvim-git input{width:auto}

.takvim{background:#fff;border:1px solid var(--cizgi);border-radius:var(--radius);box-shadow:var(--golge);overflow:hidden}

.tk-bas{display:grid;grid-template-columns:56px repeat(var(--gun),1fr);
  border-bottom:2px solid var(--cizgi);position:sticky;top:60px;background:#fff;z-index:20}
.tk-kose{border-right:1px solid var(--cizgi)}
.tk-gun-bas{padding:8px 4px;text-align:center;border-right:1px solid var(--cizgi);position:relative}
.tk-gun-bas:last-child{border-right:0}
.tk-gun-bas .gb-ad{display:block;font-size:11px;font-weight:700;color:var(--soluk);text-transform:uppercase;letter-spacing:.04em}
.tk-gun-bas .gb-sayi{display:block;font-size:20px;font-weight:800;line-height:1.15}
.tk-gun-bas .gb-adet{position:absolute;top:6px;right:8px;background:var(--ana-acik);color:var(--ana-koyu);
  font-size:11px;font-weight:700;border-radius:20px;padding:1px 7px}
.tk-gun-bas.bugun{background:var(--ana-acik)}
.tk-gun-bas.bugun .gb-sayi{color:var(--ana-koyu)}

.tk-govde{display:grid;grid-template-columns:56px repeat(var(--gun),1fr);position:relative}
.tk-saatler{border-right:1px solid var(--cizgi);background:#fafbfc}
.tk-saat{font-size:11px;color:var(--soluk);text-align:right;padding-right:6px;line-height:1;
  position:relative;top:-6px;font-weight:600}
.tk-saat.tam{color:var(--yazi)}

.tk-gun{position:relative;border-right:1px solid var(--cizgi)}
.tk-gun:last-child{border-right:0}
.tk-gun.bugun{background:#f8fdff}
.tk-slot{border-top:1px solid #f1f5f9;cursor:pointer;transition:background .1s}
.tk-slot.tam{border-top:1px solid var(--cizgi)}
.tk-slot:hover{background:var(--ana-acik)}
.tk-slot:hover::after{content:"+ randevu";font-size:10px;color:var(--ana-koyu);font-weight:700;
  padding-left:6px;line-height:1.6;display:block}

.tk-rnd{position:absolute;border-radius:7px;padding:3px 7px;overflow:hidden;cursor:pointer;
  font-size:12px;line-height:1.25;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);z-index:5;
  border-left:3px solid rgba(255,255,255,.55);transition:transform .1s,box-shadow .1s}
.tk-rnd:hover{transform:scale(1.015);box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:10}
.tk-rnd .tr-saat{font-weight:700;font-size:11px;opacity:.95;margin-right:4px}
.tk-rnd .tr-ad{font-weight:700;display:inline}
.tk-rnd .tr-islem{display:block;font-size:11px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-rnd.durum-bekliyor{background:#3b82f6}
.tk-rnd.durum-geldi{background:#10b981}
.tk-rnd.durum-gelmedi{background:#ef4444}
.tk-rnd.durum-iptal{background:#94a3b8;text-decoration:line-through;opacity:.75}

.takvim-lejant{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:12px;font-size:13px;color:var(--soluk)}
.takvim-lejant i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.lejant-ipucu{margin-left:auto;font-style:italic}

/* ============================================================
   MODAL
   ============================================================ */
.modal-ort{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:200;
  padding:20px;overflow-y:auto}
.modal-ort.acik{display:grid;place-items:center}
.modal-kart{background:#fff;border-radius:14px;width:100%;max-width:620px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.modal-bas{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--cizgi)}
.modal-bas h2{font-size:17px;font-weight:700}
.modal-kapat{background:none;border:0;font-size:20px;color:var(--soluk);cursor:pointer;line-height:1;padding:4px 8px;border-radius:8px}
.modal-kapat:hover{background:var(--zemin);color:var(--yazi)}
.modal-govde{padding:20px}
.modal-alt{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:14px 20px;
  border-top:1px solid var(--cizgi);background:#f8fafc;border-radius:0 0 14px 14px}
.hasta-sabit{background:var(--ana-acik);border-radius:9px;padding:11px 14px;margin-bottom:14px;
  font-weight:700;color:var(--ana-koyu)}
.hasta-sabit small{display:block;font-weight:500;color:var(--soluk)}
.detay-satir{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--cizgi)}
.detay-satir:last-child{border-bottom:0}
.detay-satir span{color:var(--soluk);font-size:13px}
.durum-btn{background:#fff;border-width:1px;border-style:solid;font-weight:600}
.durum-btn.secili{color:#fff !important}

/* ============================================================
   LİSTE FİLTRELERİ
   ============================================================ */
.filtre-satir{display:flex;flex-direction:column;gap:12px}
.filtre-sekme{display:flex;gap:4px;flex-wrap:wrap}
.filtre-sekme a{padding:7px 14px;border-radius:8px;font-size:14px;font-weight:600;color:var(--soluk);border:1px solid var(--cizgi)}
.filtre-sekme a:hover{border-color:var(--ana);color:var(--ana-koyu)}
.filtre-sekme a.aktif{background:var(--ana);border-color:var(--ana);color:#fff}
.filtre-alan{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filtre-alan input,.filtre-alan select{width:auto;min-width:170px}
.gun-ayirac td{background:#f1f5f9 !important;font-weight:700;font-size:13px;color:var(--soluk);
  text-transform:uppercase;letter-spacing:.03em;padding:8px 16px !important}
.rozet-bugun{background:var(--ana-acik);color:var(--ana-koyu);font-size:11px;font-weight:700;
  border-radius:20px;padding:1px 8px;margin-left:5px}
.tablo-randevu a.detay-ac{font-weight:600}

/* ============================================================
   TAM EKRAN KİLİDİ
   ============================================================ */
#kilitKatman{display:none;position:fixed;inset:0;background:rgba(15,23,42,.94);z-index:9999;place-items:center;text-align:center;color:#fff}
#kilitKatman.acik{display:grid}
.kilit-kart{max-width:400px;padding:32px}
.kilit-ikon{font-size:52px;margin-bottom:12px}
.kilit-kart h2{font-size:22px;margin-bottom:8px}
.kilit-kart p{color:#94a3b8;margin-bottom:22px;line-height:1.55}
.kilit-kart .btn{margin:0 4px}
body.kilitli .cikis{opacity:.5}

/* Tam ekranda daha ferah */
body.tam-ekran .icerik{padding:14px 18px;max-width:none}
body.tam-ekran .ust-cubuk{margin-bottom:12px}

@media(max-width:900px){
  .tk-rnd .tr-islem{display:none}
  .takvim-lejant .lejant-ipucu{display:none}
  .filtre-alan input,.filtre-alan select{min-width:0;flex:1}
}
.btn-sari{background:var(--sari);color:#fff;border-color:var(--sari)}

/* ============================================================
   BORÇ TAKİBİ
   ============================================================ */
.borc-ozet{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;
  background:#f8fafc;border:1px solid var(--cizgi);border-radius:10px;padding:14px}
.borc-ozet>div{text-align:center}
.borc-ozet span{display:block;font-size:12px;color:var(--soluk);margin-bottom:3px}
.borc-ozet strong{font-size:16px;font-weight:700}
.borc-odeme-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;
  background:var(--ana-acik);border-radius:10px;padding:14px;margin-bottom:16px}
.borc-odeme-form input{background:#fff}
.borc-gecmis{border:1px solid var(--cizgi);border-radius:10px;overflow:hidden;margin-top:8px}
.bg-baslik{background:#f8fafc;padding:9px 14px;font-size:13px;font-weight:700;color:var(--soluk);border-bottom:1px solid var(--cizgi)}
.bg-bos{padding:16px;text-align:center;color:var(--soluk);font-size:13px}
.bg-satir{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--cizgi);font-size:13px}
.bg-satir:last-child{border-bottom:0}
.bg-tur{flex-shrink:0;font-weight:600;font-size:12px;padding:2px 9px;border-radius:20px;white-space:nowrap}
.bg-odeme{background:#d1fae5;color:#065f46}
.bg-hatirlatma{background:#fef3c7;color:#92400e}
.bg-not{background:#e2e8f0;color:#475569}
.bg-metin{flex:1;color:var(--yazi)}
.bg-tarih{flex-shrink:0;color:var(--soluk);font-size:12px}
@media(max-width:640px){
  .borc-ozet{grid-template-columns:repeat(2,1fr)}
  .bg-satir{flex-wrap:wrap}
  .borc-odeme-form>div{flex:1 1 100%}
}
