:root {
  --renk-ana: #0f766e;
  --renk-ana-koyu: #115e59;
  --renk-ana-acik: #0d9488;
  --renk-vurgu: #1e3a5f;
  --renk-vurgu-koyu: #0f2744;
  --renk-acik: #f0fdfa;
  --renk-kirmizi: #dc2626;
  --renk-kirmizi-acik: #fef2f2;
  --renk-sari: #d97706;
  --renk-sari-acik: #fffbeb;
  --renk-gri: #64748b;
  --renk-gri-koyu: #334155;
  --renk-yazi-soluk: #64748b;
  --renk-arkaplan: #f4f6f8;
  --renk-kart: #ffffff;
  --renk-sinir: #e2e8f0;
  --sidebar-bg: #0f172a;
  --sidebar-bg-2: #1e293b;
  --sidebar-accent: #2dd4bf;
  --radius: 12px;
  --radius-kucuk: 8px;
  --golge: 0 1px 3px rgba(15,23,42,0.06), 0 1px 2px rgba(15,23,42,0.04);
  --golge-orta: 0 4px 16px rgba(15,23,42,0.08), 0 2px 6px rgba(15,23,42,0.05);
  --golge-buyuk: 0 12px 32px rgba(15,23,42,0.14), 0 4px 10px rgba(15,23,42,0.06);
  --gecis: 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

* { box-sizing: border-box; }

@keyframes icerikGir {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes yukariKay {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes rozetVurgu {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", Arial, sans-serif;
  background: var(--renk-arkaplan);
  color: #1e293b;
  -webkit-font-smoothing: antialiased;
}

/* ------------------------- ÜST BAR ------------------------- */
.ust-bar {
  background: linear-gradient(120deg, var(--renk-ana-koyu) 0%, var(--renk-ana) 55%, var(--renk-vurgu) 130%);
  color: white;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: var(--golge-orta);
}
.ust-bar-ic {
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.logo {
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ust-bar .menu { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.ust-bar .menu a {
  color: rgba(255,255,255,0.88);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: var(--radius-kucuk);
  position: relative;
  transition: background var(--gecis), color var(--gecis), transform var(--gecis);
}
.ust-bar .menu a:hover { background: rgba(255,255,255,0.16); color: #fff; transform: translateY(-1px); }
.ust-bar .kullanici-adi { font-size: 13px; opacity: 0.9; padding: 0 4px; font-weight: 500; }

.icerik {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 22px 28px 80px;
  animation: icerikGir 0.32s ease-out;
  box-sizing: border-box;
}

.hidden { display: none !important; }

/* ------------------------- BUTONLAR ------------------------- */
.btn {
  border: none;
  border-radius: var(--radius-kucuk);
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform var(--gecis), box-shadow var(--gecis), background var(--gecis), opacity var(--gecis);
  position: relative;
}
.btn:active { transform: scale(0.97); }
.btn-ana {
  background: linear-gradient(135deg, var(--renk-ana-acik), var(--renk-ana-koyu));
  color: white;
  box-shadow: 0 2px 8px rgba(13,148,136,0.35);
}
.btn-ana:hover { box-shadow: 0 6px 18px rgba(13,148,136,0.45); transform: translateY(-1px); }
.btn-ikincil {
  background: var(--renk-acik);
  color: var(--renk-ana-koyu);
  border: 1px solid rgba(13,148,136,0.18);
}
.btn-ikincil:hover { background: #d9f9f0; transform: translateY(-1px); }
.btn-tehlike { background: var(--renk-kirmizi-acik); color: var(--renk-kirmizi); }
.btn-tehlike:hover { background: #fde2e1; transform: translateY(-1px); }
.btn-ghost {
  background: rgba(255,255,255,0.08);
  color: white;
  border: 1px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(4px);
}
.btn-ghost:hover { background: rgba(255,255,255,0.22); }
.btn-kucuk { padding: 6px 12px; font-size: 12.5px; border-radius: 7px; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none !important; box-shadow: none !important; }

/* Alt menü navigasyonu — Geri / Çıkış (küçük link yerine belirgin düğmeler) */
.islem-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
  margin: 0 0 16px;
}
.islem-nav-btn {
  min-height: 48px;
  min-width: 140px;
  padding: 12px 22px;
  font-size: 15.5px;
  font-weight: 700;
  border-radius: 10px;
  flex: 0 1 auto;
}
.islem-nav-btn.islem-nav-cikis {
  min-width: 120px;
}
@media (max-width: 640px) {
  .islem-nav-btn { flex: 1 1 calc(50% - 6px); min-width: 0; }
}

/* ------------------------- KARTLAR ------------------------- */
.kart {
  background: var(--renk-kart);
  border: 1px solid var(--renk-sinir);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 18px;
  box-shadow: var(--golge);
  transition: box-shadow var(--gecis), transform var(--gecis);
  animation: yukariKay 0.3s ease-out;
  overflow: visible;
}
.kart:hover { box-shadow: var(--golge-orta); }

/* ------------------------- FORMLAR ------------------------- */
label { display: block; font-size: 12.5px; color: var(--renk-gri); margin-bottom: 5px; margin-top: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
input, select, textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--renk-sinir);
  border-radius: var(--radius-kucuk);
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  transition: border-color var(--gecis), box-shadow var(--gecis);
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--renk-ana);
  box-shadow: 0 0 0 3px rgba(13,148,136,0.15);
}
input:hover, select:hover { border-color: #cbd5e1; }

.form-satir { display: flex; gap: 12px; flex-wrap: wrap; }
.form-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 14px; }
@media (max-width: 640px) { .form-izgara { grid-template-columns: 1fr; } }
.form-satir > div { flex: 1; min-width: 130px; }

/* ------------------------- GİRİŞ SAYFASI ------------------------- */
.giris-kutu {
  max-width: 400px;
  margin: 72px auto;
  background: var(--renk-kart);
  border-radius: 18px;
  padding: 36px 32px;
  box-shadow: var(--golge-buyuk);
  position: relative;
  overflow: hidden;
  animation: yukariKay 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.giris-kutu::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--renk-ana), var(--renk-vurgu));
}
.giris-kutu h2 {
  margin-top: 0;
  text-align: center;
  color: var(--renk-gri-koyu);
  font-size: 22px;
  letter-spacing: -0.01em;
}

/* ------------------------- TABLOLAR ------------------------- */
.tablo-sarici {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--radius-kucuk);
}
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--renk-sinir); text-align: left; white-space: nowrap; }
th {
  background: var(--renk-acik);
  color: var(--renk-ana-koyu);
  font-weight: 700;
  position: sticky;
  top: 0;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
tr { transition: background var(--gecis); }
tr:hover td { background: #f8fafc; }
td.sayi, th.sayi { text-align: right; font-variant-numeric: tabular-nums; }
.silme-btn {
  color: var(--renk-kirmizi);
  cursor: pointer;
  background: none;
  border: none;
  font-size: 16px;
  border-radius: 6px;
  padding: 4px 7px;
  transition: background var(--gecis), transform var(--gecis);
}
.silme-btn:hover { background: var(--renk-kirmizi-acik); transform: scale(1.1); }

/* ------------------------- GÜN LİSTESİ ------------------------- */
.gun-karti {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid var(--renk-sinir);
  border-radius: var(--radius);
  margin-bottom: 10px;
  background: var(--renk-kart);
  text-decoration: none;
  color: inherit;
  flex-wrap: wrap;
  gap: 8px;
  box-shadow: var(--golge);
  transition: box-shadow var(--gecis), transform var(--gecis), border-color var(--gecis);
}
.gun-karti:hover {
  border-color: var(--renk-ana-acik);
  box-shadow: var(--golge-orta);
  transform: translateY(-2px);
}
.gun-karti .tarih { font-weight: 700; font-size: 15px; color: var(--renk-gri-koyu); }
.gun-karti .ozet-mini { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--renk-gri); }
.gun-karti .ozet-mini b { color: #1e293b; font-variant-numeric: tabular-nums; }

/* ------------------------- SEKMELER ------------------------- */
.sekmeler { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 16px; border-bottom: 2px solid var(--renk-sinir); }
.sekme-btn {
  background: none; border: none; padding: 11px 16px; font-size: 14px; font-weight: 600;
  color: var(--renk-gri); cursor: pointer; white-space: nowrap; border-bottom: 3px solid transparent;
  transition: color var(--gecis), border-color var(--gecis);
  margin-bottom: -2px;
}
.sekme-btn:hover { color: var(--renk-ana-koyu); }
.sekme-btn.aktif { color: var(--renk-ana); border-color: var(--renk-ana); }

/* ------------------------- ÖZET KUTULARI ------------------------- */
.ozet-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 12px; }
.ozet-kutu {
  background: var(--renk-acik);
  border-radius: var(--radius);
  padding: 14px 16px;
  transition: transform var(--gecis), box-shadow var(--gecis);
}
.ozet-kutu:hover { transform: translateY(-2px); box-shadow: var(--golge); }
.ozet-kutu .baslik { font-size: 11.5px; color: var(--renk-ana-koyu); font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; }
.ozet-kutu .deger { font-size: 21px; font-weight: 800; margin-top: 5px; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.ozet-kutu.vurgu {
  background: linear-gradient(135deg, var(--renk-ana-acik), var(--renk-vurgu));
  box-shadow: 0 4px 16px rgba(79,70,229,0.25);
}
.ozet-kutu.vurgu .baslik, .ozet-kutu.vurgu .deger { color: white; }

.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--renk-gri-koyu);
  color: white;
  padding: 13px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  z-index: 100;
  box-shadow: var(--golge-buyuk);
  animation: yukariKay 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ust-satir { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }

@media (max-width: 640px) {
  th, td { padding: 8px 9px; font-size: 12.5px; }
  .giris-kutu { margin: 28px 12px; padding: 28px 22px; }
  .ozet-kutu .deger { font-size: 18px; }
}

/* ------------------------- BİLDİRİM ZİLİ ------------------------- */
.bildirim-zil { position: relative; font-size: 16px; padding: 8px 11px; }
.bildirim-rozet {
  position: absolute; top: 1px; right: 1px;
  background: var(--renk-kirmizi); color: white;
  font-size: 10px; font-weight: 700; line-height: 1;
  min-width: 17px; height: 17px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 4px;
  box-shadow: 0 0 0 2px var(--renk-ana-koyu);
  animation: rozetVurgu 1.6s ease-in-out infinite;
}
.bildirim-satiri {
  display: flex; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--renk-sinir);
  transition: background var(--gecis);
}
.bildirim-satiri:hover { background: #f8fafc; }
.bildirim-satiri:last-child { border-bottom: none; }
.bildirim-satiri.uyari { background: var(--renk-sari-acik); }
.bildirim-satiri.uyari:hover { background: #fef3d9; }
.bildirim-satiri .icon { font-size: 18px; }
.bildirim-satiri .metin { flex: 1; font-size: 13.5px; }
.bildirim-satiri .zaman { font-size: 11.5px; color: var(--renk-gri); margin-top: 3px; }

/* ------------------------- YETKİ ONAY KUTULARI ------------------------- */
.yetki-listesi { display: flex; flex-direction: column; gap: 9px; margin: 12px 0; }
.yetki-satiri { display: flex; align-items: flex-start; gap: 9px; font-size: 13.5px; }
.yetki-satiri input { width: auto; margin-top: 3px; accent-color: var(--renk-ana); }
.seviye-rozeti {
  display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 9px;
  border-radius: 10px; background: var(--renk-acik); color: var(--renk-ana-koyu); margin-left: 6px;
}

/* ------------------------- GENEL İNCELİKLER ------------------------- */
::selection { background: rgba(13,148,136,0.25); }
::-webkit-scrollbar { height: 8px; width: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ============================================================
   SOL KENAR ÇUBUĞU — dark kurumsal
   ============================================================ */
.uygulama-govde { display: flex; min-height: 100vh; background: var(--renk-arkaplan); }

.kenar-cubuk {
  width: 248px;
  min-width: 248px;
  background: linear-gradient(180deg, #0b1220 0%, #111827 55%, #0f172a 100%);
  color: #cbd5e1;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  transition: width 0.25s cubic-bezier(0.4,0,0.2,1), min-width 0.25s cubic-bezier(0.4,0,0.2,1);
  z-index: 30;
  border-right: 1px solid rgba(148,163,184,0.12);
  box-shadow: 4px 0 24px rgba(15, 23, 42, 0.18);
}
.kenar-cubuk.daraltilmis { width: 72px; min-width: 72px; }
.kenar-cubuk.daraltilmis .logo-metin,
.kenar-cubuk.daraltilmis .menu-metin,
.kenar-cubuk.daraltilmis .menu-bolum-etiket,
.kenar-cubuk.daraltilmis .kullanici-adi,
.kenar-cubuk.daraltilmis .surum-etiket,
.kenar-cubuk.daraltilmis .cikis-btn { display: none; }
.kenar-cubuk.daraltilmis .daralt-btn { transform: rotate(180deg); }
.kenar-cubuk.daraltilmis .kenar-cubuk-ust { justify-content: center; padding: 16px 8px; }
.kenar-cubuk.daraltilmis .menu-oge { justify-content: center; padding: 10px 8px; }
.kenar-cubuk.daraltilmis .kullanici-kutu { justify-content: center; }
.kenar-cubuk.daraltilmis .logo-marka { margin: 0 auto; }

.kenar-cubuk-ust {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 14px; border-bottom: 1px solid rgba(148,163,184,0.14);
  min-height: 64px; box-sizing: border-box;
}
.kenar-cubuk .logo {
  font-weight: 700; font-size: 15px; display: flex; align-items: center; gap: 10px;
  white-space: nowrap; overflow: hidden; color: #f8fafc; min-width: 0;
}
.logo-marka {
  width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #14b8a6, #0f766e); color: #fff; font-size: 11px; font-weight: 800;
  letter-spacing: 0.02em; box-shadow: 0 4px 12px rgba(20,184,166,0.35);
}
.logo-metin { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.logo-baslik { font-size: 14px; font-weight: 700; letter-spacing: -0.01em; color: #f8fafc; }
.logo-alt { font-size: 10px; font-weight: 500; color: #94a3b8; margin-top: 2px; }

.daralt-btn {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(148,163,184,0.2);
  color: #94a3b8; width: 28px; height: 28px; border-radius: 8px; cursor: pointer;
  font-size: 14px; display: flex; align-items: center; justify-content: center;
  transition: background var(--gecis), transform 0.25s cubic-bezier(0.4,0,0.2,1); flex-shrink: 0;
}
.daralt-btn:hover { background: rgba(255,255,255,0.12); color: #f8fafc; }

.kenar-cubuk .menu {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 2px;
  padding: 10px 12px 14px;
  flex: 1;
  overflow-y: auto;
}
.kenar-cubuk .menu-bolum-etiket {
  margin: 14px 0 4px;
  padding: 0 14px;
  height: 18px;
  line-height: 18px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #64748b;
  box-sizing: border-box;
}
.kenar-cubuk .menu-bolum-etiket:first-child { margin-top: 4px; }

.kenar-cubuk .menu-oge {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 40px;
  min-height: 40px;
  padding: 0 14px;
  margin: 0;
  box-sizing: border-box;
  color: #cbd5e1 !important;
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 500;
  border-radius: 8px;
  border: none;
  position: relative;
  transform: none !important;
  transition: background var(--gecis), color var(--gecis);
}
.kenar-cubuk .menu-oge::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 2px;
  background: transparent;
}
.kenar-cubuk .menu-oge:hover {
  background: rgba(148,163,184,0.12);
  color: #f8fafc !important;
  transform: none !important;
}
.kenar-cubuk .menu-oge.aktif-sayfa {
  background: rgba(45,212,191,0.14);
  color: #5eead4 !important;
  font-weight: 600;
}
.kenar-cubuk .menu-oge.aktif-sayfa::before {
  background: var(--sidebar-accent);
}
.kenar-cubuk .menu-metin {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
  text-align: left;
  padding: 0;
  margin: 0;
}

.kenar-cubuk-alt { padding: 12px 12px 14px; border-top: 1px solid rgba(148,163,184,0.14); }
.kullanici-kutu { display: flex; align-items: center; gap: 10px; min-width: 0; }
.kullanici-avatar {
  width: 32px; height: 32px; border-radius: 9px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(45,212,191,0.18); color: #5eead4; font-size: 12px; font-weight: 700;
}
.kenar-cubuk .kullanici-adi {
  font-size: 12.5px; color: #94a3b8; display: block; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; font-weight: 500;
}
.kenar-cubuk .cikis-btn {
  background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(148,163,184,0.22) !important;
  color: #e2e8f0 !important; font-weight: 600;
}
.kenar-cubuk .cikis-btn:hover { background: rgba(239,68,68,0.16) !important; border-color: rgba(252,165,165,0.45) !important; color: #fecaca !important; }
.surum-etiket { font-size: 10px; color: #64748b; margin-top: 10px; text-align: center; letter-spacing: 0.02em; }

.ana-govde { flex: 1; min-width: 0; display: flex; flex-direction: column; background: var(--renk-arkaplan); }
.ust-cubuk { display: flex; align-items: center; padding: 10px 28px; background: var(--renk-kart); border-bottom: 1px solid var(--renk-sinir); }
.ust-cubuk-bosluk { flex: 1; }
.menu-ac-btn {
  background: none; border: 1px solid var(--renk-sinir); border-radius: 8px; width: 36px; height: 36px;
  font-size: 16px; cursor: pointer; color: var(--renk-gri-koyu); transition: background var(--gecis);
}
.menu-ac-btn:hover { background: var(--renk-arkaplan); }

@media (max-width: 860px) {
  .kenar-cubuk { position: fixed; left: 0; top: 0; transform: translateX(-100%); box-shadow: var(--golge-buyuk); }
  .kenar-cubuk.mobil-acik { transform: translateX(0); }
  .kenar-cubuk .daralt-btn { display: none; }
  .ust-cubuk { display: flex !important; }
  .icerik { padding: 16px 14px 80px; }
}

/* ============================================================
   SAAT WIDGET + BİLDİRİM AÇILIR PANELİ (sağ alt köşe)
   ============================================================ */
.saat-widget {
  position: fixed; bottom: 20px; right: 20px; z-index: 40;
  background: linear-gradient(135deg, var(--renk-ana-koyu), var(--renk-vurgu));
  color: white; padding: 11px 18px; border-radius: 28px;
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.02em;
  box-shadow: var(--golge-buyuk); cursor: pointer;
  display: flex; align-items: center; gap: 8px;
  transition: transform var(--gecis), box-shadow var(--gecis);
}
.saat-widget:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 16px 36px rgba(15,23,42,0.22); }
.saat-widget .saat-rozet {
  background: var(--renk-kirmizi); border-radius: 10px; font-size: 10.5px; padding: 1px 6px;
  animation: rozetVurgu 1.6s ease-in-out infinite;
}
.saat-bildirim-panel {
  position: fixed; bottom: 78px; right: 20px; z-index: 41;
  width: 340px; max-width: calc(100vw - 40px); max-height: 60vh; overflow-y: auto;
  background: var(--renk-kart); border-radius: var(--radius); box-shadow: var(--golge-buyuk);
  animation: yukariKay 0.22s cubic-bezier(0.16,1,0.3,1);
  border: 1px solid var(--renk-sinir);
}
.saat-bildirim-panel .baslik { padding: 14px 16px; font-weight: 700; border-bottom: 1px solid var(--renk-sinir); font-size: 14px; }

/* ============================================================
   DASHBOARD / TAKVİM
   ============================================================ */
.dashboard-izgara { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; align-items: start; }
@media (max-width: 900px) { .dashboard-izgara { grid-template-columns: 1fr; } }

.takvim-baslik { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; gap: 12px; flex-wrap: wrap; }
.takvim-baslik h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--renk-vurgu-koyu);
  letter-spacing: -0.02em;
}
.takvim-nav { display: flex; gap: 8px; }
.takvim-nav button {
  background: rgba(15, 118, 110, 0.12);
  border: 1px solid rgba(15, 118, 110, 0.2);
  color: var(--renk-ana-koyu);
  width: 36px; height: 36px;
  border-radius: 10px; cursor: pointer; font-size: 16px; font-weight: 700;
  transition: background var(--gecis), transform var(--gecis);
}
.takvim-nav button:hover { background: rgba(15, 118, 110, 0.22); transform: translateY(-1px); }

#takvimKart.kart,
.kart#takvimKart {
  background:
    linear-gradient(165deg, rgba(240, 253, 250, 0.95) 0%, rgba(248, 250, 252, 0.98) 45%, #fff 100%);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: var(--golge-orta);
}

.takvim-izgara {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.03) 0%, rgba(15, 118, 110, 0.04) 100%);
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.takvim-gun-adi {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--renk-vurgu);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 6px 0 8px;
}
.takvim-gun-adi.haftasonu-baslik { color: #b45309; }

.takvim-hucre {
  min-height: 82px;
  border-radius: 12px;
  padding: 8px 8px 6px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255, 255, 255, 0.88);
  cursor: pointer;
  transition: background var(--gecis), border-color var(--gecis), transform var(--gecis), box-shadow var(--gecis);
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
  position: relative;
}
.takvim-hucre.haftaici {
  background: rgba(240, 253, 250, 0.55);
  border-color: rgba(13, 148, 136, 0.16);
}
.takvim-hucre.haftasonu {
  background: rgba(255, 251, 235, 0.72);
  border-color: rgba(217, 119, 6, 0.18);
}
.takvim-hucre.dolu::after {
  content: '';
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--renk-ana);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.18);
}
.takvim-hucre:hover {
  border-color: var(--renk-ana-acik);
  transform: translateY(-2px);
  box-shadow: var(--golge-orta);
  background: rgba(204, 251, 241, 0.65);
}
.takvim-hucre.haftasonu:hover {
  background: rgba(254, 243, 199, 0.85);
  border-color: rgba(217, 119, 6, 0.35);
}
.takvim-hucre.bos {
  background: transparent !important;
  border: none !important;
  cursor: default;
  min-height: 82px;
  box-shadow: none !important;
}
.takvim-hucre.bos:hover { transform: none; box-shadow: none; }
.takvim-hucre.bos::after { display: none; }

.takvim-hucre.bugun {
  border-color: var(--renk-ana);
  background: linear-gradient(160deg, rgba(45, 212, 191, 0.22), rgba(240, 253, 250, 0.95));
  box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.25), var(--golge);
}
.takvim-hucre.bugun .gun-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--renk-ana);
  color: #fff !important;
  font-size: 12px;
}
.takvim-hucre.secili {
  border-color: var(--renk-vurgu);
  background: linear-gradient(160deg, rgba(30, 58, 95, 0.1), rgba(248, 250, 252, 0.95));
  box-shadow: inset 0 0 0 1px rgba(30, 58, 95, 0.2);
}

.takvim-hucre .gun-no {
  font-weight: 700;
  font-size: 13px;
  color: var(--renk-gri-koyu);
  line-height: 1.2;
}
.takvim-hucre.haftasonu .gun-no { color: #92400e; }
.takvim-hucre.bugun .gun-no { color: var(--renk-ana-koyu); }

.takvim-hucre .hatirlatma-etiket {
  font-size: 10px;
  background: rgba(30, 58, 95, 0.9);
  color: white;
  border-radius: 6px;
  padding: 2px 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.takvim-hucre .hatirlatma-etiket.uyari-etiket {
  background: rgba(217, 119, 6, 0.92);
}
.takvim-hucre .fazla-etiket {
  font-size: 10px;
  color: var(--renk-ana-koyu);
  font-weight: 600;
}

#takvimGunPaneli .kart {
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.5), #fff);
  border: 1px solid rgba(15, 118, 110, 0.12);
}

.panel-listesi { max-height: 560px; overflow-y: auto; }
.panel-listesi .bildirim-satiri { border-radius: 8px; }

/* ============================================================
   SATIŞ EKRANI (Yeni Satış / Cariye Satış)
   ============================================================ */
.satis-mod-secim { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 900px) { .satis-mod-secim { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .satis-mod-secim { grid-template-columns: 1fr; } }
.satis-mod-karti {
  background: var(--renk-kart); border: 2px solid var(--renk-sinir); border-radius: var(--radius);
  padding: 22px 16px; text-align: center; cursor: pointer;
  transition: border-color var(--gecis), transform var(--gecis), box-shadow var(--gecis);
}
.satis-mod-karti:hover { border-color: var(--renk-ana); transform: translateY(-3px); box-shadow: var(--golge-orta); }
.satis-mod-karti .ikon { font-size: 34px; margin-bottom: 8px; }
.satis-mod-karti h3 { margin: 4px 0 6px; font-size: 15px; }
.satis-mod-karti p { color: var(--renk-gri); font-size: 12.5px; margin: 0; line-height: 1.4; }
.odeme-grup-baslik {
  margin: 16px 0 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--renk-gri-koyu, #475569);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.sepet-satiri { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--renk-sinir); }
.sepet-satiri:last-child { border-bottom: none; }
.sepet-satiri .urun-adi { flex: 2; font-weight: 600; font-size: 13.5px; }
.sepet-satiri .miktar-kutu { width: 80px; }
.sepet-satiri .fiyat-kutu { width: 100px; }
.sepet-satiri .tutar { width: 100px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }

.odeme-yontem-secim { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px,1fr)); gap: 8px; }
.odeme-yontem-btn {
  padding: 12px 10px; border-radius: var(--radius-kucuk); border: 2px solid var(--renk-sinir);
  background: #fff; cursor: pointer; font-weight: 600; font-size: 13px; text-align: center;
  transition: border-color var(--gecis), background var(--gecis), transform var(--gecis);
}
.odeme-yontem-btn:hover { transform: translateY(-1px); }
.odeme-yontem-btn.secili { border-color: var(--renk-ana); background: var(--renk-acik); color: var(--renk-ana-koyu); }
.odeme-yontem-btn.devre-disi { opacity: 0.4; cursor: not-allowed; }

.uyari-kutu {
  background: var(--renk-sari-acik); border: 1px solid #fde68a; color: #92400e;
  padding: 12px 14px; border-radius: var(--radius-kucuk); font-size: 13px; margin: 10px 0;
}

/* ============================================================
   CARİ LİSTE — kurumsal kartlar
   ============================================================ */
.cari-izgara {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.cari-kart {
  display: flex; flex-direction: column; gap: 12px;
  background: var(--renk-kart); border: 1px solid var(--renk-sinir);
  border-radius: 14px; padding: 18px 18px 16px; text-decoration: none; color: inherit;
  box-shadow: var(--golge); transition: transform var(--gecis), box-shadow var(--gecis), border-color var(--gecis);
  min-height: 132px;
}
.cari-kart:hover {
  transform: translateY(-2px); box-shadow: var(--golge-orta);
  border-color: rgba(15,118,110,0.35);
}
.cari-kart-ust { display: flex; align-items: flex-start; gap: 12px; }
.cari-avatar {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #ecfdf5, #ccfbf1); color: var(--renk-ana-koyu);
  font-weight: 800; font-size: 15px; letter-spacing: 0.02em;
}
.cari-kart-bilgi { min-width: 0; flex: 1; }
.cari-kart-ad {
  font-size: 15.5px; font-weight: 700; color: var(--renk-gri-koyu);
  letter-spacing: -0.01em; line-height: 1.25;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cari-kart-tip {
  display: inline-block; margin-top: 5px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--renk-ana-koyu);
  background: var(--renk-acik); padding: 3px 8px; border-radius: 999px;
}
.cari-kart-alt {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 10px;
  padding-top: 10px; border-top: 1px solid var(--renk-sinir);
}
.cari-bakiye-etiket { font-size: 11px; font-weight: 650; color: var(--renk-gri); text-transform: uppercase; letter-spacing: 0.04em; }
.cari-bakiye-deger { font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; margin-top: 2px; }
.cari-bakiye-deger.pozitif { color: var(--renk-ana-koyu); }
.cari-bakiye-deger.negatif { color: var(--renk-kirmizi); }
.cari-bakiye-deger.sifir { color: var(--renk-gri); }
.cari-ok { color: #94a3b8; font-size: 18px; font-weight: 600; }

/* Ürün öneri / satır toplamı */
.urun-oneri-kutu {
  position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px);
  background: #fff; border: 1px solid var(--renk-sinir); border-radius: 10px;
  box-shadow: var(--golge-orta); max-height: 240px; overflow-y: auto; padding: 4px;
}
.urun-oneri-satir {
  padding: 10px 12px; cursor: pointer; border-radius: 8px; font-size: 13.5px;
  display: flex; justify-content: space-between; gap: 10px; align-items: center;
}
.urun-oneri-satir:hover, .urun-oneri-satir.aktif {
  background: var(--renk-acik); color: var(--renk-ana-koyu);
}
.urun-ara-sarici { position: relative; flex: 2; min-width: 180px; }
.satir-toplam-kutu {
  margin-top: 10px; padding: 10px 12px; border-radius: 10px;
  background: #f8fafc; border: 1px dashed var(--renk-sinir);
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  font-size: 13.5px;
}
.satir-toplam-kutu b { font-variant-numeric: tabular-nums; font-size: 15px; }
.toplam-ozet-panel {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px; margin-top: 14px;
}
.toplam-ozet-panel .ozet-kutu { margin: 0; }
.indirim-satiri { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; margin-top: 12px; }
.indirim-satiri > div { flex: 1; min-width: 120px; }

/* Modal */
.modal-kok {
  position: fixed; inset: 0; z-index: 80;
  display: flex; align-items: center; justify-content: center; padding: 18px;
}
.modal-arka { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.45); }
.modal-kutu {
  position: relative; z-index: 1; width: 100%;
  background: #fff; border-radius: 14px; box-shadow: var(--golge-buyuk);
  max-height: min(86vh, 720px); display: flex; flex-direction: column; overflow: hidden;
}
.modal-baslik {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 16px; border-bottom: 1px solid var(--renk-sinir);
}
.modal-baslik h3 { margin: 0; font-size: 16px; }
.modal-kapat-btn {
  border: 1px solid var(--renk-sinir); background: #fff; border-radius: 8px;
  width: 32px; height: 32px; cursor: pointer; color: var(--renk-gri);
}
.modal-kapat-btn:hover { background: #fef2f2; color: var(--renk-kirmizi); }
.modal-govde { padding: 14px 16px 18px; overflow: auto; }

/* Ürün işlem menüsü — yukarı açılır, kesilmez */
.urun-islem-menu { position: relative; display: inline-block; }
.urun-islem-acilir {
  position: absolute; right: 0; bottom: calc(100% + 4px); top: auto; z-index: 60;
  min-width: 168px; background: #fff; border: 1px solid var(--renk-sinir);
  border-radius: 10px; box-shadow: var(--golge-buyuk); padding: 4px;
}
.urun-islem-oge {
  display: block; width: 100%; text-align: left; border: none; background: transparent;
  padding: 9px 11px; border-radius: 8px; cursor: pointer; font-size: 13px; color: #334155;
}
.urun-islem-oge:hover { background: #f1f5f9; }
.urun-islem-oge.tehlike { color: var(--renk-kirmizi); }
.urun-islem-oge:disabled { opacity: 0.45; cursor: not-allowed; }

/* Listeden ürün seç */
.uls-liste { max-height: 420px; overflow-y: auto; border: 1px solid var(--renk-sinir); border-radius: 10px; }
.uls-urun {
  width: 100%; display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 12px 14px; border: none; border-bottom: 1px solid var(--renk-sinir);
  background: #fff; cursor: pointer; text-align: left;
}
.uls-urun:last-child { border-bottom: none; }
.uls-urun:hover { background: var(--renk-acik); }

.durum-rozet {
  display: inline-block; margin-left: 6px; font-size: 10px; font-weight: 700;
  padding: 2px 7px; border-radius: 999px; vertical-align: middle;
}
.durum-rozet.iptal { background: #fef2f2; color: #dc2626; }
.durum-rozet.duzenlendi { background: #fffbeb; color: #b45309; }
.btn-tehlike {
  background: #fef2f2 !important; color: #dc2626 !important; border: 1px solid #fecaca !important;
}
.btn-tehlike:hover { background: #fee2e2 !important; }

.urun-oneri-yok {
  padding: 12px; font-size: 13px; color: #b45309; background: #fffbeb; border-radius: 8px;
}
.cari-liste-tablo tbody tr.cari-liste-satir:hover { background: #f0fdfa; }
.cari-liste-tablo td { white-space: normal; vertical-align: middle; }
