/* ============================================================
   Bölge Paneli — operasyon aracı.
   Açık tema iş yeri için varsayılan; koyu tema doğum günü
   sayfasının gece paletini sürdürür.
   ============================================================ */

:root{
  --bg:#F6F4F0;
  --yuzey:#FFFFFF;
  --yuzey-2:#FBF9F6;
  --murekkep:#171310;
  --sonuk:#6E665E;
  --cizgi:#E6E0D7;
  --cizgi-koyu:#D6CEC2;
  --vurgu:#E8641B;
  --vurgu-yumusak:#FCEDE2;
  --iyi:#1E7F55;
  --iyi-yumusak:#E4F2EB;
  --uyari:#A9750B;
  --uyari-yumusak:#FBF1DA;
  --kotu:#C0392B;
  --kotu-yumusak:#FBE9E6;
  --golge:0 1px 2px rgba(23,19,16,.05), 0 8px 24px rgba(23,19,16,.06);

  --display:"Bodoni Moda",Georgia,serif;
  --body:"Karla","Segoe UI",system-ui,sans-serif;
  --r:10px;
}

@media (prefers-color-scheme:dark){
  :root:not([data-tema="light"]){
    --bg:#0A0E1C;
    --yuzey:#121829;
    --yuzey-2:#161D31;
    --murekkep:#F1EDE7;
    --sonuk:#98A1BA;
    --cizgi:rgba(241,237,231,.12);
    --cizgi-koyu:rgba(241,237,231,.22);
    --vurgu:#FF8C42;
    --vurgu-yumusak:rgba(255,140,66,.14);
    --iyi:#3FBE8A;
    --iyi-yumusak:rgba(63,190,138,.14);
    --uyari:#E2AE3E;
    --uyari-yumusak:rgba(226,174,62,.14);
    --kotu:#EF7264;
    --kotu-yumusak:rgba(239,114,100,.14);
    --golge:0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.35);
  }
}
:root[data-tema="dark"]{
  --bg:#0A0E1C;
  --yuzey:#121829;
  --yuzey-2:#161D31;
  --murekkep:#F1EDE7;
  --sonuk:#98A1BA;
  --cizgi:rgba(241,237,231,.12);
  --cizgi-koyu:rgba(241,237,231,.22);
  --vurgu:#FF8C42;
  --vurgu-yumusak:rgba(255,140,66,.14);
  --iyi:#3FBE8A;
  --iyi-yumusak:rgba(63,190,138,.14);
  --uyari:#E2AE3E;
  --uyari-yumusak:rgba(226,174,62,.14);
  --kotu:#EF7264;
  --kotu-yumusak:rgba(239,114,100,.14);
  --golge:0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--murekkep);
  font-family:var(--body);font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0;line-height:1.2;font-weight:700;text-wrap:balance}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--vurgu)}
:focus-visible{outline:2px solid var(--vurgu);outline-offset:2px;border-radius:6px}
[hidden]{display:none !important}

.marka{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:700;color:var(--vurgu);
}

/* ---------------- Giriş ekranı ---------------- */
.kapi{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}
.kapi-kart{
  width:min(400px,100%);background:var(--yuzey);border:1px solid var(--cizgi);
  border-radius:14px;padding:2.2rem;box-shadow:var(--golge);
  display:flex;flex-direction:column;gap:.9rem;
}
.kapi-kart h1{font-size:1.6rem;margin-top:.5rem}
.kapi-alt{color:var(--sonuk);font-size:.9rem;margin-bottom:.6rem}
.kapi-hata{
  background:var(--kotu-yumusak);color:var(--kotu);
  padding:.6rem .85rem;border-radius:8px;font-size:.86rem;
}

.alan{display:flex;flex-direction:column;gap:.35rem}
.alan>span{font-size:.76rem;font-weight:600;color:var(--sonuk);letter-spacing:.02em}
.alan input,.alan select,.alan textarea{
  background:var(--yuzey-2);border:1px solid var(--cizgi);border-radius:8px;
  padding:.62rem .75rem;width:100%;transition:border-color .15s;
}
.alan input:focus,.alan select:focus,.alan textarea:focus{border-color:var(--vurgu);outline:none}
.alan textarea{resize:vertical;min-height:80px}

/* ---------------- Butonlar ---------------- */
.btn{
  border:1px solid var(--cizgi-koyu);background:var(--yuzey);
  padding:.52rem .95rem;border-radius:8px;cursor:pointer;
  font-size:.86rem;font-weight:600;transition:.15s;white-space:nowrap;
}
.btn:hover{border-color:var(--vurgu);color:var(--vurgu)}
.btn-birincil{background:var(--vurgu);border-color:var(--vurgu);color:#fff}
.btn-birincil:hover{filter:brightness(1.08);color:#fff}
.btn-blok{width:100%;padding:.75rem;justify-content:center}
.btn-sade{background:transparent;border-color:transparent;color:var(--sonuk);padding:.4rem .6rem}
.btn-sade:hover{color:var(--vurgu)}
.btn-mini{padding:.3rem .6rem;font-size:.76rem;border-radius:6px}
.btn-tehlike:hover{border-color:var(--kotu);color:var(--kotu)}

/* ---------------- İskelet ---------------- */
.uygulama{display:grid;grid-template-columns:236px 1fr;min-height:100dvh}

.yan{
  background:var(--yuzey);border-right:1px solid var(--cizgi);
  display:flex;flex-direction:column;gap:1.4rem;padding:1.4rem 1rem;
  position:sticky;top:0;height:100dvh;
}
.yan-ust{padding:0 .5rem}
.yan-kim{font-size:1.05rem;font-weight:700;margin-top:.3rem}
.menu{display:flex;flex-direction:column;gap:.15rem;flex:1}
.menu button{
  display:flex;align-items:center;gap:.7rem;
  background:none;border:0;text-align:left;cursor:pointer;
  padding:.6rem .7rem;border-radius:8px;font-size:.9rem;font-weight:500;
  color:var(--sonuk);transition:.15s;
}
.menu button span{
  width:22px;height:22px;display:grid;place-items:center;flex:none;
  border-radius:6px;background:var(--yuzey-2);font-size:.75rem;
  border:1px solid var(--cizgi);
}
.menu button:hover{background:var(--yuzey-2);color:var(--murekkep)}
.menu button.aktif{background:var(--vurgu-yumusak);color:var(--vurgu);font-weight:700}
.menu button.aktif span{background:var(--vurgu);color:#fff;border-color:var(--vurgu)}
.rozet{
  margin-left:auto;background:var(--kotu);color:#fff;font-size:.68rem;
  font-weight:700;padding:.05rem .4rem;border-radius:99px;min-width:20px;text-align:center;
}
.yan-alt{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;padding-top:.8rem;border-top:1px solid var(--cizgi)}
.yan-link{font-size:.78rem;color:var(--sonuk);text-decoration:none;padding:.4rem .6rem}
.yan-link:hover{color:var(--vurgu)}

.icerik{padding:1.8rem clamp(1rem,3vw,2.4rem) 4rem;min-width:0}

.ust{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:1.5rem;flex-wrap:wrap;margin-bottom:1.8rem;
}
.ust h1{font-size:1.7rem}
.ust-alt{color:var(--sonuk);font-size:.86rem;margin-top:.25rem}
.tarih-secim{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap}
.tarih-secim label{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--sonuk)}
.tarih-secim input{
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:8px;padding:.4rem .55rem;font-size:.84rem;
}
.hizli{display:flex;border:1px solid var(--cizgi);border-radius:8px;overflow:hidden;background:var(--yuzey)}
.hizli button{
  border:0;background:none;padding:.45rem .7rem;cursor:pointer;font-size:.78rem;
  font-weight:600;color:var(--sonuk);border-right:1px solid var(--cizgi);
}
.hizli button:last-child{border-right:0}
.hizli button.aktif{background:var(--vurgu);color:#fff}

/* ---------------- Kartlar ---------------- */
.kartlar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.8rem}
.kart{
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);
  padding:1.1rem 1.2rem;box-shadow:var(--golge);
}
.kart-etiket{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sonuk);font-weight:700;
}
.kart-deger{
  font-family:var(--display);font-size:2rem;line-height:1.05;margin-top:.55rem;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
.kart-alt{font-size:.78rem;color:var(--sonuk);margin-top:.35rem}
.kart.uyari .kart-deger{color:var(--uyari)}
.kart.kotu .kart-deger{color:var(--kotu)}

.bolum{
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);
  box-shadow:var(--golge);margin-bottom:1.6rem;overflow:hidden;
}
.bolum-ust{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1rem 1.2rem;border-bottom:1px solid var(--cizgi);flex-wrap:wrap;
}
.bolum-ust h2{font-size:1rem}
.bolum-ust p{font-size:.8rem;color:var(--sonuk);margin-top:.15rem}
.bolum-govde{padding:1.2rem}
.bolum-arac{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}

/* ---------------- Tablo ---------------- */
.tablo-kutu{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.87rem}
th,td{padding:.62rem .8rem;text-align:left;border-bottom:1px solid var(--cizgi);white-space:nowrap}
th{
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sonuk);
  font-weight:700;background:var(--yuzey-2);position:sticky;top:0;
}
td.sayi,th.sayi{text-align:right;font-variant-numeric:tabular-nums}
tbody tr:hover{background:var(--yuzey-2)}
tbody tr:last-child td{border-bottom:0}
td.ad{white-space:normal;min-width:180px;font-weight:600}
.alt-bilgi{display:block;font-weight:400;font-size:.76rem;color:var(--sonuk);margin-top:.1rem}

/* satır içi oran çubuğu */
.oran{display:flex;align-items:center;gap:.55rem;justify-content:flex-end}
.oran-cubuk{width:64px;height:5px;border-radius:99px;background:var(--cizgi);overflow:hidden;flex:none}
.oran-cubuk i{display:block;height:100%;border-radius:99px;background:var(--vurgu)}
.oran.iyi .oran-cubuk i{background:var(--iyi)}
.oran.kotu .oran-cubuk i{background:var(--kotu)}

/* ---------------- Etiketler ---------------- */
.etiket{
  display:inline-block;padding:.16rem .55rem;border-radius:99px;
  font-size:.72rem;font-weight:700;letter-spacing:.02em;
  background:var(--yuzey-2);border:1px solid var(--cizgi);color:var(--sonuk);
}
.etiket.iyi{background:var(--iyi-yumusak);color:var(--iyi);border-color:transparent}
.etiket.uyari{background:var(--uyari-yumusak);color:var(--uyari);border-color:transparent}
.etiket.kotu{background:var(--kotu-yumusak);color:var(--kotu);border-color:transparent}
.etiket.vurgu{background:var(--vurgu-yumusak);color:var(--vurgu);border-color:transparent}

/* ---------------- Formlar / ızgara ---------------- */
.form-izgara{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem}
.form-alt{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.1rem;flex-wrap:wrap}
.genis{grid-column:1/-1}

/* ---------------- Boş durum ---------------- */
.bos{
  text-align:center;padding:3rem 1.5rem;color:var(--sonuk);
}
.bos h3{font-size:1.05rem;color:var(--murekkep);margin-bottom:.4rem}
.bos p{font-size:.88rem;max-width:42ch;margin:0 auto 1.2rem}

/* ---------------- Excel yükleme ---------------- */
.birak{
  border:2px dashed var(--cizgi-koyu);border-radius:var(--r);
  padding:2rem 1.5rem;text-align:center;transition:.2s;cursor:pointer;
  background:var(--yuzey-2);
}
.birak.uzerinde{border-color:var(--vurgu);background:var(--vurgu-yumusak)}
.birak h3{font-size:1rem;margin-bottom:.35rem}
.birak p{font-size:.84rem;color:var(--sonuk)}
.esleme{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-top:1.2rem}
.onizleme{max-height:340px;overflow:auto;border:1px solid var(--cizgi);border-radius:8px;margin-top:1.2rem}

/* ---------------- Ziyaret checklist ---------------- */
.zg{border-bottom:1px solid var(--cizgi);padding:.9rem 0}
.zg:last-child{border-bottom:0}
.zg-ust{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}
.zg-ust strong{font-weight:600;font-size:.92rem}
.puanlar{display:flex;gap:.3rem}
.puanlar button{
  width:34px;height:34px;border-radius:8px;border:1px solid var(--cizgi);
  background:var(--yuzey-2);cursor:pointer;font-size:.82rem;font-weight:700;color:var(--sonuk);
  transition:.12s;
}
.puanlar button:hover{border-color:var(--vurgu)}
.puanlar button.secili{background:var(--vurgu);border-color:var(--vurgu);color:#fff}
.zg-baslik{
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vurgu);
  font-weight:700;margin:1.4rem 0 .2rem;
}
.zg-baslik:first-child{margin-top:0}

/* ---------------- Bildirim ---------------- */
.bildirim{
  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);
  background:var(--murekkep);color:var(--bg);
  padding:.7rem 1.2rem;border-radius:99px;font-size:.86rem;font-weight:600;
  box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:99;max-width:90vw;
}
.bildirim.kotu{background:var(--kotu);color:#fff}

/* ---------------- Mobil ---------------- */
@media (max-width:900px){
  .uygulama{grid-template-columns:1fr}
  .yan{
    position:sticky;top:0;height:auto;z-index:20;
    border-right:0;border-bottom:1px solid var(--cizgi);
    flex-direction:row;align-items:center;gap:.8rem;padding:.7rem .9rem;
  }
  .yan-ust{display:none}
  .menu{flex-direction:row;overflow-x:auto;gap:.35rem;scrollbar-width:none}
  .menu::-webkit-scrollbar{display:none}
  .menu button{padding:.45rem .7rem;font-size:.82rem}
  .menu button span{display:none}
  .yan-alt{flex-direction:row;border-top:0;padding-top:0;flex:none}
  .yan-link{display:none}
  .icerik{padding:1.2rem 1rem 4rem}
  .ust{margin-bottom:1.2rem}
  .kart-deger{font-size:1.6rem}
}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ---------------- İdeal formu ---------------- */
.ideal-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.5rem}
.ideal-satir{
  display:flex;align-items:center;gap:.8rem;justify-content:space-between;
  padding:.5rem .75rem;border:1px solid var(--cizgi);border-radius:8px;
  background:var(--yuzey-2);transition:border-color .15s;
}
.ideal-satir:focus-within{border-color:var(--vurgu)}
.ideal-ad{font-size:.86rem;font-weight:600;flex:1;min-width:0}
.ideal-satir input{
  width:130px;flex:none;text-align:right;font-variant-numeric:tabular-nums;
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:6px;padding:.45rem .6rem;
}
.ideal-satir input:focus{border-color:var(--vurgu);outline:none}
.ideal-satir input:disabled{opacity:.55;cursor:not-allowed}

/* ---------------- İdeal birleşik tablosu ---------------- */
.matris th:first-child,.matris td:first-child{
  position:sticky;left:0;z-index:2;background:var(--yuzey);
  box-shadow:1px 0 0 var(--cizgi);
}
.matris thead th:first-child{z-index:3;background:var(--yuzey-2)}
.matris tfoot td:first-child{background:var(--yuzey-2)}
.matris tbody tr:hover td:first-child{background:var(--yuzey-2)}
.matris tfoot td{border-top:2px solid var(--cizgi-koyu);border-bottom:0}

/* Giriş kartındaki ihbar hattı bağlantısı */
.kapi-ihbar{
  margin-top:.4rem;padding-top:1rem;border-top:1px solid var(--cizgi);
  font-size:.82rem;color:var(--sonuk);line-height:1.6;text-align:center;
}
.kapi-ihbar a{font-weight:600;text-decoration:none}
.kapi-ihbar a:hover{text-decoration:underline}

/* İhbar kartları */
.ihbar-kart{
  border:1px solid var(--cizgi);border-radius:var(--r);padding:1.1rem 1.2rem;
  background:var(--yuzey-2);display:flex;flex-direction:column;gap:.7rem;
}
.ihbar-kart.yeni{border-left:3px solid var(--kotu);background:var(--kotu-yumusak)}
.ihbar-ust{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.ihbar-ust h3{font-size:1rem}
.ihbar-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.ihbar-detay{
  font-size:.9rem;line-height:1.7;white-space:pre-wrap;
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:8px;padding:.9rem 1rem;
}
.ihbar-alt{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.ihbar-liste{display:flex;flex-direction:column;gap:1rem;padding:1.2rem}
