/* ═══════════════════════════════════════════════════════════════════════════
   İhaleGlobal v1 — MAVİ KURUMSAL TEMA (ihalepro düzeni)
   Palet canlı ölçümle alındı (computed styles). v2 (amber) teması ayrı: css/style.css
   Kullanım: <link rel="stylesheet" href="css/v1.css?v=1"> + <script src="js/v1-kabuk.js">
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --v1-lacivert:      #0C3E70;   /* ana kurumsal lacivert (sidebar, başlık) */
  --v1-lacivert-koyu: #0B3F77;   /* banner */
  --v1-mavi:          #135EAA;   /* link, KPI sayısı, vurgu */
  --v1-mavi-acik:     #E8F1FA;   /* açık mavi kart tint */
  --v1-teal:          #00A19A;   /* ikincil aksan */
  --v1-teal-acik:     #E1F5F4;
  --v1-krem:          #FBF8EC;   /* dönüşümlü kart tint (ihalepro'da krem) */
  --v1-metin:         #2F3D4D;   /* gövde metni */
  --v1-metin-2:       #495057;
  --v1-muted:         #6C757D;
  --v1-zemin:         #F4F7FA;   /* sayfa zemini */
  --v1-kart:          #FFFFFF;
  --v1-cizgi:         #DCE5EF;
  --v1-yesil:         #1E9E57;   /* Excel/başarı */
  --v1-kirmizi:       #D64550;
  --v1-radius:        10px;
  --v1-radius-lg:     14px;
  --v1-golge:         0 2px 10px rgba(12,62,112,.07);
  --v1-golge-lg:      0 8px 24px rgba(12,62,112,.10);
  --v1-font:          "Open Sans", "Segoe UI", system-ui, sans-serif;
}

/* ── Temel ─────────────────────────────────────────────────────────────── */
.v1 * { box-sizing: border-box; }
.v1 body, body.v1 {
  margin: 0; background: var(--v1-zemin); color: var(--v1-metin);
  font-family: var(--v1-font); font-size: 14px; line-height: 1.5;
}
/* ⚠️ BUTON GÖRÜNÜMLÜ <a>'LAR HARİÇ TUTULUR — yoksa metin GÖRÜNMEZ olur.
   Eski hâli `.v1 a { color: var(--v1-mavi) }` idi: özgüllüğü (0,1,1), sayfa içindeki
   `.v1-rapor-btn { color:#fff }` ise (0,1,0) → link kuralı kazanıp KOYU ZEMİNE MAVİ YAZI
   yazıyordu ("Yeni Rapor" butonu okunmuyordu). 13 buton sınıfı aynı durumdaydı:
   -btn / -cta ekiyle biten her sınıf artık kendi rengini korur.
   Yeni bir buton sınıfı eklerken adında "-btn" ya da "-cta" geçsin, kural kendiliğinden uysun. */
.v1 a { text-decoration: none; }
.v1 a:not([class*="-btn"]):not([class*="-cta"]) { color: var(--v1-mavi); }
.v1 a:not([class*="-btn"]):not([class*="-cta"]):hover { text-decoration: underline; }
.v1 h1,.v1 h2,.v1 h3,.v1 h4 { margin: 0; color: var(--v1-lacivert); font-weight: 700; }

/* ── Kabuk: sol ray + ana alan ─────────────────────────────────────────── */
.v1-app { display: flex; min-height: 100vh; }
.v1-main { flex: 1; min-width: 0; display: flex; flex-direction: column; height: 100vh; overflow-y: auto; }

/* Sol dar ray (ihalepro: koyu lacivert, ikon+etiket, aktif = beyaz çıkıntı) */
.v1-ray {
  width: 80px; flex-shrink: 0; background: var(--v1-lacivert);
  display: flex; flex-direction: column; align-items: center; position: sticky; top: 0; height: 100vh;
}
.v1-ray-logo {
  width: 56px; height: 56px; margin: 12px 0 6px; border-radius: 50%; background: transparent;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.v1-ray-logo img { width: 48px; height: 48px; border-radius: 12px; }
.v1-ray-nav { flex: 1; width: 100%; overflow-y: auto; padding: 6px 0; }
.v1-ray-nav::-webkit-scrollbar { width: 0; }
.v1-ray-item {
  width: 100%; padding: 11px 4px 9px; border: none; background: none; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  color: #E8EEF4; font-family: var(--v1-font); font-size: 11px; font-weight: 600;
  position: relative; transition: background .14s, color .14s;
}
.v1-ray-item svg { width: 22px; height: 22px; fill: currentColor; }
.v1-ray-item:hover { background: rgba(255,255,255,.09); color: #fff; }
/* Aktif sekme — TEMİZ beyaz kart (eski "ters köşe" hilesi çirkin lekeler bırakıyordu, kaldırıldı) */
.v1-ray-item.aktif {
  background: var(--v1-zemin); color: var(--v1-lacivert); font-weight: 700;
  width: calc(100% - 10px); margin: 3px 0 3px 10px;
  border-top-left-radius: 12px; border-bottom-left-radius: 12px;
  border-top-right-radius: 0; border-bottom-right-radius: 0;
}
.v1-ray-item.aktif::before {                      /* solda ince amber/teal vurgu çubuğu */
  content: ''; position: absolute; left: 0; top: 8px; bottom: 8px;
  width: 3px; border-radius: 0 2px 2px 0; background: var(--v1-teal);
}

/* ── Topbar ────────────────────────────────────────────────────────────── */
.v1-topbar {
  background: #fff; border-bottom: 1px solid var(--v1-cizgi); padding: 12px 22px;
  display: flex; align-items: center; gap: 16px; position: sticky; top: 0; z-index: 20; flex-wrap: nowrap;
}
.v1-ara-kutu {
  display: flex; align-items: center; border: 1.5px solid var(--v1-cizgi); border-radius: var(--v1-radius);
  overflow: hidden; min-width: 180px; max-width: 520px; flex: 1 1 auto;
}
.v1-ara-kapsam {
  border: none; border-right: 1.5px solid var(--v1-cizgi); background: #fff; color: var(--v1-lacivert);
  font-family: var(--v1-font); font-size: 14px; font-weight: 600; padding: 11px 12px; outline: none; cursor: pointer;
}
.v1-ara-kutu input {
  flex: 1; border: none; outline: none; padding: 11px 12px; font-family: var(--v1-font); font-size: 14px;
  color: var(--v1-metin); min-width: 0;
}
.v1-ara-kutu input::placeholder { color: #9AA7B5; }
.v1-ara-btn { border: none; background: none; padding: 0 12px; color: var(--v1-lacivert); cursor: pointer; display: flex; align-items: center; }
.v1-top-sag { margin-left: auto; display: flex; align-items: center; gap: 12px; }
/* Fasonda.com geçiş butonu — aramanın sağı, paket rozetinin solu */
.v1-fasonda {
  display: flex; align-items: center; gap: 9px; text-decoration: none;
  background: var(--v1-teal-acik); border: 1.5px solid var(--v1-teal);
  border-radius: var(--v1-radius); padding: 7px 14px; transition: background .15s, transform .15s;
}
.v1-fasonda:hover { background: #CFEDEB; text-decoration: none; transform: translateY(-1px); }
.v1-fasonda-ikon { font-size: 19px; line-height: 1; }
.v1-fasonda-yazi { font-size: 11px; color: var(--v1-muted); line-height: 1.25; white-space: nowrap; }
.v1-fasonda-yazi strong { display: block; font-size: 13px; color: var(--v1-teal); font-weight: 800; }
@media (max-width: 1200px) { .v1-fasonda-yazi { display: none; } .v1-fasonda { padding: 9px 11px; } }
.v1-paket {
  display: flex; align-items: center; gap: 10px; background: #F6FAFF; border: 1px solid var(--v1-cizgi);
  border-radius: var(--v1-radius); padding: 7px 12px;
}
.v1-paket-ad { font-size: 11px; color: var(--v1-muted); line-height: 1.2; }
.v1-paket-ad strong { display: block; font-size: 14px; color: var(--v1-lacivert); }
.v1-paket-btn { background: var(--v1-teal); color: #fff; border: none; border-radius: 20px; padding: 6px 14px; font-family: var(--v1-font); font-size: 12.5px; font-weight: 700; cursor: pointer; }
.v1-top-ikon {
  width: 42px; height: 42px; border: 1.5px solid var(--v1-cizgi); border-radius: var(--v1-radius); background: #fff;
  display: flex; align-items: center; justify-content: center; color: var(--v1-lacivert); cursor: pointer; position: relative;
}
.v1-top-ikon:hover { border-color: var(--v1-mavi); }
.v1-top-ikon svg { width: 20px; height: 20px; fill: currentColor; }

/* ── Breadcrumb ────────────────────────────────────────────────────────── */
.v1-kirinti { display: flex; align-items: center; gap: 8px; padding: 14px 24px 0; font-size: 13px; color: var(--v1-muted); }
.v1-kirinti a { color: var(--v1-muted); }
.v1-kirinti .son { color: var(--v1-lacivert); font-weight: 600; }

/* ── Sayfa gövdesi + kartlar ───────────────────────────────────────────── */
.v1-govde { padding: 18px 24px 40px; flex: 1; }
.v1-kart { background: var(--v1-kart); border: 1px solid var(--v1-cizgi); border-radius: var(--v1-radius-lg); box-shadow: var(--v1-golge); padding: 20px 22px; margin-bottom: 18px; }
.v1-kart-baslik { font-size: 16px; font-weight: 700; color: var(--v1-lacivert); margin-bottom: 14px; display: flex; align-items: center; gap: 9px; }

/* KPI (2 sütun, daire ikon, dönüşümlü tint — ihalepro deseni) */
.v1-kpi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 640px) { .v1-kpi { grid-template-columns: 1fr; } }
.v1-kpi-kart {
  display: flex; align-items: center; gap: 20px; padding: 18px 24px; border-radius: var(--v1-radius-lg);
  border: 1px solid var(--v1-cizgi); text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s;
}
.v1-kpi-kart:hover { transform: translateY(-2px); box-shadow: var(--v1-golge-lg); text-decoration: none; }
.v1-kpi-kart:nth-child(odd)  { background: var(--v1-mavi-acik); border-color: #CFE2F5; }
.v1-kpi-kart:nth-child(even) { background: var(--v1-krem); border-color: #EFE7C9; }
.v1-kpi-ikon { width: 58px; height: 58px; border-radius: 50%; background: #fff; color: var(--v1-lacivert); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 2px 8px rgba(12,62,112,.10); }
.v1-kpi-ikon svg { width: 28px; height: 28px; fill: currentColor; }
.v1-kpi-govde { flex: 1; text-align: center; display: block; }
.v1-kpi-sayi { display: block; font-size: 28px; font-weight: 700; color: var(--v1-mavi); line-height: 1.1; }
.v1-kpi-etiket { display: block; font-size: 14px; font-weight: 600; color: var(--v1-lacivert); margin-top: 4px; }
.v1-takip-kart > span:last-child { display: block; }
.v1-takip-sayi { display: block; }
.v1-takip-et { display: block; }

/* ── Liste sayfası: sol filtre + sağ tablo ─────────────────────────────── */
.v1-liste-duzen { display: grid; grid-template-columns: 260px 1fr; gap: 18px; align-items: start; }
@media (max-width: 1000px) { .v1-liste-duzen { grid-template-columns: 1fr; } }
/* ⚠️ `overflow: hidden` İDİ ve içindeki `.v1-filtre-uygula { position:sticky; bottom:0 }`
   BU YÜZDEN ÇALIŞMIYORDU: overflow:hidden kaydırma bağlamı açar ama kaydırılamaz, sticky
   tutunacak yer bulamaz. Panel viewport'tan uzun olduğunda "Filtreyi Uygula" ekranın altında
   kalıp görünmez oluyordu (kullanıcı butonu bulamadı). max-height + overflow-y:auto ile panel
   kendi içinde kayar, buton altta SABİT durur. */
.v1-filtre { background: #fff; border: 1px solid var(--v1-cizgi); border-radius: var(--v1-radius-lg); box-shadow: var(--v1-golge); overflow-y: auto; overflow-x: hidden; max-height: calc(100vh - 96px); position: sticky; top: 78px; }
.v1-filtre-bas { padding: 14px 16px; font-weight: 700; color: var(--v1-lacivert); display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--v1-cizgi); }
.v1-filtre-grup { border-bottom: 1px solid var(--v1-cizgi); }
.v1-filtre-btn { width: 100%; background: none; border: none; padding: 12px 16px; text-align: left; font-family: var(--v1-font); font-size: 13.5px; font-weight: 600; color: var(--v1-metin); cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.v1-filtre-btn:hover { background: #F6FAFF; }
.v1-filtre-btn .ok { color: var(--v1-muted); transition: transform .15s; }
.v1-filtre-grup.acik .v1-filtre-btn .ok { transform: rotate(90deg); }
.v1-filtre-icerik { display: none; padding: 4px 16px 14px; }
.v1-filtre-grup.acik .v1-filtre-icerik { display: block; }
.v1-filtre-uygula { position: sticky; bottom: 0; width: 100%; background: var(--v1-mavi); color: #fff; border: none; padding: 13px; font-family: var(--v1-font); font-size: 14px; font-weight: 700; cursor: pointer; }
.v1-filtre-uygula:hover { background: var(--v1-lacivert); }

/* Tablo */
.v1-tablo-bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.v1-tablo-sayi { font-size: 13.5px; color: var(--v1-muted); }
.v1-tablo-sayi strong { color: var(--v1-lacivert); }
.v1-listede-ara { display: flex; align-items: center; border: 1.5px solid var(--v1-cizgi); border-radius: var(--v1-radius); padding: 8px 12px; gap: 8px; background: #fff; }
.v1-listede-ara input { border: none; outline: none; font-family: var(--v1-font); font-size: 13.5px; min-width: 160px; }
.v1-excel { background: var(--v1-yesil); color: #fff; border: none; border-radius: var(--v1-radius); padding: 10px 14px; font-weight: 700; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.v1-tablo { width: 100%; border-collapse: collapse; background: #fff; }
.v1-tablo th { text-align: left; font-size: 12.5px; font-weight: 700; color: var(--v1-lacivert); padding: 14px 12px; border-bottom: 2px solid var(--v1-cizgi); white-space: nowrap; }
.v1-tablo td { padding: 16px 12px; border-bottom: 1px solid var(--v1-cizgi); font-size: 13.5px; vertical-align: middle; }
.v1-tablo tr:hover td { background: #F8FBFF; }
.v1-t-tarih { text-align: center; color: var(--v1-metin-2); font-size: 13px; white-space: nowrap; }
.v1-t-tarih .saat { color: var(--v1-muted); font-size: 12px; }
.v1-t-tarih .kalan { font-weight: 700; color: var(--v1-lacivert); font-size: 12.5px; }
.v1-t-ikn { color: var(--v1-muted); font-size: 12.5px; }
.v1-t-ad { color: var(--v1-mavi); font-weight: 600; }
.v1-t-islem { display: flex; gap: 8px; justify-content: flex-end; }
.v1-yuvarlak-btn { width: 38px; height: 38px; border-radius: 50%; background: var(--v1-mavi); color: #fff; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.v1-yuvarlak-btn:hover { background: var(--v1-lacivert); }
.v1-yuvarlak-btn svg { width: 18px; height: 18px; fill: currentColor; }

/* Sayfalama */
.v1-sayfalama { display: flex; gap: 6px; justify-content: center; padding: 18px 0 4px; }
.v1-sayfalama button { min-width: 36px; height: 36px; border: 1px solid var(--v1-cizgi); background: #fff; border-radius: 8px; font-family: var(--v1-font); font-weight: 600; color: var(--v1-metin); cursor: pointer; }
.v1-sayfalama button.aktif { background: var(--v1-mavi); color: #fff; border-color: var(--v1-mavi); }

/* Kilitli (paket) değer — ihalepro paywall deseni */
.v1-kilit { color: var(--v1-muted); letter-spacing: 2px; font-weight: 700; display: inline-flex; align-items: center; gap: 5px; }
.v1-kilit svg { width: 13px; height: 13px; fill: currentColor; }

/* Boş durum */
.v1-bos { text-align: center; color: var(--v1-muted); font-size: 13.5px; padding: 30px 16px; }

/* Mobil */
@media (max-width: 900px) {
  .v1-ray { display: none; }
  .v1-topbar { padding: 10px 14px; }
  .v1-ara-kutu { min-width: 0; }
  .v1-govde { padding: 14px; }
}
