/* ==========================================================================
   Apartman Yönetim — tek dosya stil. Framework yok, mobil öncelikli.
   Palet: lacivert #1F4E79 vurgu, beyaz zemin, yumuşak gri kartlar.
   ========================================================================== */

:root{
  --lacivert:#1F4E79; --lacivert-koyu:#163a5a; --lacivert-acik:#2f6ba3;
  --lacivert-soluk:#eaf1f8;
  --zemin:#f6f7f9; --kart:#ffffff; --kenar:#e3e7ec; --gri:#eef1f5;
  --metin:#1b2430; --metin-soluk:#5d6b7c; --metin-cok-soluk:#8a97a6;
  --yesil:#1f7a4d; --yesil-soluk:#e6f4ec;
  --turuncu:#b9670a; --turuncu-soluk:#fdf1e0;
  --kirmizi:#b02a2a; --kirmizi-soluk:#fbeaea;
  --mavi-soluk:#e8f0fb;
  --r:14px; --r-k:9px;
  --golge:0 1px 2px rgba(20,34,51,.06), 0 2px 8px rgba(20,34,51,.05);
  --golge-yuksek:0 4px 20px rgba(20,34,51,.12);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--zemin); color:var(--metin);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased;
  padding-bottom:calc(68px + env(safe-area-inset-bottom));
}
a{color:var(--lacivert); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0 0 .5rem; line-height:1.25; font-weight:650; letter-spacing:-.01em}
h1{font-size:1.4rem} h2{font-size:1.15rem} h3{font-size:1rem}
p{margin:0 0 .7rem}
small{font-size:.8rem}
img{max-width:100%; height:auto; display:block}

/* ---------------------------------------------------------------- düzen */
.kap{max-width:960px; margin:0 auto; padding:0 14px}
.icerik{padding:16px 0 26px}
.satir{display:flex; gap:10px; align-items:center}
.satir-arasi{display:flex; gap:10px; align-items:center; justify-content:space-between}
.sar{flex-wrap:wrap}
.buyu{flex:1; min-width:0}
.sag{margin-left:auto}
.orta{text-align:center}
.bosluk{height:12px}
.izgara{display:grid; gap:12px}
.izgara-2{grid-template-columns:1fr}
.izgara-3{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){
  .izgara-2{grid-template-columns:1fr 1fr}
  .izgara-3{grid-template-columns:repeat(3,1fr)}
}

/* ---------------------------------------------------------------- üst bar */
.ustbar{
  background:var(--lacivert); color:#fff; position:sticky; top:0; z-index:40;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.ustbar .kap{display:flex; align-items:center; gap:12px; min-height:56px}
.marka{display:flex; align-items:center; gap:9px; color:#fff; font-weight:680; font-size:1.02rem}
.marka:hover{text-decoration:none}
.marka .logo{
  width:30px; height:30px; border-radius:8px; background:rgba(255,255,255,.16);
  display:grid; place-items:center; font-size:16px; flex:none;
}
.marka .alt{display:block; font-weight:400; font-size:.7rem; opacity:.72; line-height:1}
.ust-menu{display:none}
.ust-menu a{
  color:rgba(255,255,255,.85); padding:7px 11px; border-radius:8px; font-size:.88rem; font-weight:500;
}
.ust-menu a:hover{background:rgba(255,255,255,.12); color:#fff; text-decoration:none}
.ust-menu a.etkin{background:rgba(255,255,255,.2); color:#fff}
.ust-sag{margin-left:auto; display:flex; align-items:center; gap:10px}
.avatar{
  width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.2); color:#fff;
  display:grid; place-items:center; font-size:.78rem; font-weight:700; flex:none;
}
.ust-cikis{color:rgba(255,255,255,.8); font-size:.8rem}
.ust-cikis:hover{color:#fff}
@media(min-width:820px){
  .ust-menu{display:flex; gap:2px; margin-left:14px}
  body{padding-bottom:26px}
  .altnav{display:none}
}

/* ---------------------------------------------------------------- alt nav (mobil) */
.altnav{
  position:fixed; left:0; right:0; bottom:0; z-index:50; background:#fff;
  border-top:1px solid var(--kenar); display:flex;
  padding-bottom:env(safe-area-inset-bottom);
  box-shadow:0 -2px 12px rgba(20,34,51,.06);
}
.altnav a{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:8px 2px 9px; color:var(--metin-cok-soluk); font-size:.66rem; font-weight:550;
  position:relative;
}
.altnav a:hover{text-decoration:none}
.altnav a.etkin{color:var(--lacivert)}
.altnav .ik{font-size:19px; line-height:1}
.altnav .nokta{
  position:absolute; top:5px; left:50%; margin-left:6px;
  min-width:16px; height:16px; padding:0 4px; border-radius:9px; background:var(--kirmizi);
  color:#fff; font-size:.6rem; font-weight:700; display:grid; place-items:center;
}

/* ---------------------------------------------------------------- kartlar */
.kart{
  background:var(--kart); border:1px solid var(--kenar); border-radius:var(--r);
  padding:14px; box-shadow:var(--golge); margin-bottom:12px;
}
.kart-sik{padding:0; overflow:hidden}
.kart-bas{
  display:flex; align-items:center; gap:8px; padding:12px 14px; border-bottom:1px solid var(--kenar);
  font-weight:640; font-size:.95rem;
}
.kart-govde{padding:14px}
.kart-alt{padding:10px 14px; border-top:1px solid var(--kenar); background:#fbfcfd; font-size:.85rem}
a.kart{display:block; color:inherit}
a.kart:hover{text-decoration:none; border-color:#cdd6e0; box-shadow:var(--golge-yuksek)}

.bolum-bas{display:flex; align-items:baseline; gap:8px; margin:20px 0 10px}
.bolum-bas h2{margin:0; font-size:1.05rem}
.bolum-bas .sag{font-size:.83rem}

/* ---------------------------------------------------------------- rozetler */
.rozet{
  display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:20px;
  font-size:.73rem; font-weight:640; background:var(--gri); color:var(--metin-soluk);
  white-space:nowrap; line-height:1.5;
}
.rozet-mavi{background:var(--mavi-soluk); color:var(--lacivert)}
.rozet-yesil{background:var(--yesil-soluk); color:var(--yesil)}
.rozet-turuncu{background:var(--turuncu-soluk); color:var(--turuncu)}
.rozet-kirmizi{background:var(--kirmizi-soluk); color:var(--kirmizi)}
.rozet-buyuk{font-size:.8rem; padding:4px 11px}

/* ---------------------------------------------------------------- butonlar */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:10px 16px; border-radius:10px; border:1px solid transparent;
  background:var(--lacivert); color:#fff; font-size:.9rem; font-weight:600;
  cursor:pointer; font-family:inherit; text-align:center; min-height:42px;
  transition:background .12s ease, border-color .12s ease;
}
.btn:hover{background:var(--lacivert-koyu); text-decoration:none; color:#fff}
.btn:active{transform:translateY(1px)}
.btn-ikincil{background:#fff; color:var(--lacivert); border-color:#c9d6e4}
.btn-ikincil:hover{background:var(--lacivert-soluk); color:var(--lacivert)}
.btn-sessiz{background:transparent; color:var(--metin-soluk); border-color:var(--kenar)}
.btn-sessiz:hover{background:var(--gri); color:var(--metin)}
.btn-tehlike{background:#fff; color:var(--kirmizi); border-color:#e8c4c4}
.btn-tehlike:hover{background:var(--kirmizi-soluk); color:var(--kirmizi)}
.btn-yesil{background:var(--yesil)} .btn-yesil:hover{background:#17603b}
.btn-kucuk{padding:6px 11px; font-size:.8rem; min-height:34px; border-radius:8px}
.btn-tam{width:100%}
.btn:disabled,.btn[disabled]{opacity:.5; cursor:not-allowed}

/* ---------------------------------------------------------------- formlar */
.alan{margin-bottom:13px}
.alan label,.etiket{display:block; font-size:.83rem; font-weight:600; color:var(--metin-soluk); margin-bottom:5px}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],
input[type=date],input[type=time],input[type=datetime-local],select,textarea{
  width:100%; padding:11px 12px; border:1px solid #d3dae2; border-radius:10px;
  font-size:16px; /* iOS zoom engeli */ font-family:inherit; background:#fff; color:var(--metin);
}
textarea{min-height:110px; resize:vertical; line-height:1.5}
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--lacivert-acik); box-shadow:0 0 0 3px rgba(47,107,163,.15);
}
.ipucu{font-size:.76rem; color:var(--metin-cok-soluk); margin-top:4px}
.alan-satir{display:grid; gap:12px; grid-template-columns:1fr 1fr}
.alan-satir-3{display:grid; gap:12px; grid-template-columns:1fr 1fr}
@media(min-width:640px){.alan-satir-3{grid-template-columns:repeat(3,1fr)}}
fieldset{border:1px solid var(--kenar); border-radius:var(--r-k); padding:12px; margin:0 0 14px}
legend{font-size:.8rem; font-weight:700; color:var(--lacivert); padding:0 6px; text-transform:uppercase; letter-spacing:.04em}
.onay{display:flex; align-items:flex-start; gap:9px; font-size:.9rem}
.onay input{width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--lacivert)}

/* ---------------------------------------------------------------- uyarı kutuları */
.kutu{padding:11px 13px; border-radius:var(--r-k); font-size:.88rem; margin-bottom:14px; border:1px solid}
.kutu-hata{background:var(--kirmizi-soluk); border-color:#f0cccc; color:#8f2020}
.kutu-basari{background:var(--yesil-soluk); border-color:#c6e6d5; color:#155f3b}
.kutu-bilgi{background:var(--mavi-soluk); border-color:#cddff5; color:var(--lacivert)}
.kutu-uyari{background:var(--turuncu-soluk); border-color:#f2ddba; color:#8a4d05}
.kutu ul{margin:6px 0 0; padding-left:18px}

/* ---------------------------------------------------------------- listeler */
.liste{list-style:none; margin:0; padding:0}
.liste li{border-bottom:1px solid var(--kenar)}
.liste li:last-child{border-bottom:none}
.liste-ogesi{display:flex; align-items:center; gap:11px; padding:12px 14px; color:inherit}
.liste-ogesi:hover{background:#fafbfc; text-decoration:none}
.liste-ogesi .ik{
  width:36px; height:36px; border-radius:9px; background:var(--lacivert-soluk);
  display:grid; place-items:center; font-size:17px; flex:none;
}
.liste-ogesi .buyu{display:block}
.liste-ogesi .bas{display:block; font-weight:600; font-size:.93rem}
.liste-ogesi .ara{display:block; font-size:.8rem; color:var(--metin-soluk); margin-top:1px}
.liste-ogesi .ok{color:var(--metin-cok-soluk); font-size:1.1rem; flex:none}
.okunmamis{background:#f7fafe}
.okunmamis .bas::before{
  content:''; display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--lacivert); margin-right:6px; vertical-align:middle;
}

/* ---------------------------------------------------------------- tesis kartları */
.tesis-izgara{display:grid; gap:12px; grid-template-columns:1fr}
@media(min-width:560px){.tesis-izgara{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.tesis-izgara{grid-template-columns:repeat(3,1fr)}}
.tesis{display:flex; gap:12px; align-items:flex-start}
.tesis .ikon{
  width:48px; height:48px; border-radius:12px; background:var(--lacivert-soluk);
  display:grid; place-items:center; font-size:24px; flex:none;
}
.tesis .buyu{display:block}
.tesis .ad{display:block; font-weight:660; font-size:1rem; margin-bottom:2px}
.tesis .ozet{display:block; font-size:.79rem; color:var(--metin-soluk); line-height:1.45}
.tesis .kural{display:block; margin-top:5px; font-size:.75rem; color:var(--metin-cok-soluk)}

/* ---------------------------------------------------------------- gün seçici */
.gun-serit{
  display:flex; gap:8px; overflow-x:auto; padding:2px 0 10px;
  -webkit-overflow-scrolling:touch; scrollbar-width:thin;
}
.gun-serit::-webkit-scrollbar{height:5px}
.gun-serit::-webkit-scrollbar-thumb{background:#d6dde5; border-radius:3px}
.gun-btn{
  flex:none; min-width:56px; padding:8px 6px; border-radius:11px; border:1px solid var(--kenar);
  background:#fff; text-align:center; color:var(--metin-soluk); line-height:1.25;
}
.gun-btn:hover{text-decoration:none; border-color:#c4cfda}
.gun-btn .g{display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.03em}
.gun-btn .n{display:block; font-size:1.1rem; font-weight:700; color:var(--metin)}
.gun-btn .a{display:block; font-size:.65rem}
.gun-btn.etkin{background:var(--lacivert); border-color:var(--lacivert); color:#fff}
.gun-btn.etkin .n{color:#fff}

/* ---------------------------------------------------------------- slotlar */
.slotlar{display:grid; gap:7px; grid-template-columns:1fr}
@media(min-width:560px){.slotlar{grid-template-columns:1fr 1fr}}
.slot{
  display:flex; align-items:center; gap:10px; padding:11px 13px; border-radius:10px;
  border:1px solid var(--kenar); background:#fff; color:inherit; font-size:.9rem;
}
.slot:hover{text-decoration:none}
.slot .sa{font-weight:660; font-variant-numeric:tabular-nums; min-width:96px}
.slot .du{font-size:.78rem; color:var(--metin-soluk); margin-left:auto; text-align:right}
.slot-bos{border-color:#cfe0d6; background:#f7fcf9}
.slot-bos:hover{border-color:var(--yesil); background:var(--yesil-soluk)}
.slot-bos .du{color:var(--yesil); font-weight:600}
.slot-dolu{background:var(--gri); color:var(--metin-cok-soluk); border-color:#e0e4e9}
.slot-dolu .sa{color:var(--metin-soluk)}
.slot-gecmis{opacity:.5; background:#fafbfc}
.slot-kapali{background:var(--turuncu-soluk); border-color:#f0dcbb; color:#8a4d05}

/* ---------------------------------------------------------------- zaman çizelgesi */
.cizelge{list-style:none; margin:0; padding:0 0 0 22px; position:relative}
.cizelge::before{content:''; position:absolute; left:6px; top:6px; bottom:6px; width:2px; background:var(--kenar)}
.cizelge li{position:relative; padding:0 0 16px}
.cizelge li:last-child{padding-bottom:0}
.cizelge li::before{
  content:''; position:absolute; left:-22px; top:5px; width:14px; height:14px; border-radius:50%;
  background:#fff; border:3px solid var(--lacivert-acik);
}
.cizelge li.son::before{border-color:var(--yesil)}
.cizelge .zt{font-size:.75rem; color:var(--metin-cok-soluk)}
.cizelge .zb{font-weight:620; font-size:.9rem}
.cizelge .zn{font-size:.87rem; color:var(--metin-soluk)}

/* ---------------------------------------------------------------- anket */
.oy-cubuk{margin-bottom:11px}
.oy-ust{display:flex; justify-content:space-between; font-size:.87rem; margin-bottom:4px; gap:10px}
.oy-ust .se{font-weight:560}
.oy-ust .yz{font-weight:700; color:var(--lacivert); font-variant-numeric:tabular-nums}
.oy-ray{height:9px; border-radius:5px; background:var(--gri); overflow:hidden}
.oy-dolu{height:100%; background:var(--lacivert); border-radius:5px}
.oy-benim .oy-dolu{background:var(--yesil)}
.oy-benim .yz{color:var(--yesil)}
.oy-secenek{
  display:flex; align-items:center; gap:10px; padding:12px 13px; border:1px solid var(--kenar);
  border-radius:10px; margin-bottom:8px; cursor:pointer; background:#fff; font-size:.93rem;
}
.oy-secenek:hover{border-color:var(--lacivert-acik); background:var(--lacivert-soluk)}
.oy-secenek input{width:19px; height:19px; accent-color:var(--lacivert); flex:none}

/* ---------------------------------------------------------------- istatistik */
.ist-izgara{display:grid; gap:10px; grid-template-columns:1fr 1fr}
@media(min-width:640px){.ist-izgara{grid-template-columns:repeat(4,1fr)}}
.ist{background:#fff; border:1px solid var(--kenar); border-radius:var(--r-k); padding:12px; text-align:center}
.ist .sy{font-size:1.6rem; font-weight:720; color:var(--lacivert); line-height:1.1}
.ist .et{font-size:.74rem; color:var(--metin-soluk); margin-top:2px}
.ist.vurgu{background:var(--lacivert-soluk); border-color:#cfe0f2}

/* ---------------------------------------------------------------- tablo */
.tablo-sar{overflow-x:auto; -webkit-overflow-scrolling:touch}
table.tbl{width:100%; border-collapse:collapse; font-size:.86rem; min-width:520px}
table.tbl th{
  text-align:left; padding:9px 11px; background:#f3f5f8; color:var(--metin-soluk);
  font-weight:640; font-size:.76rem; text-transform:uppercase; letter-spacing:.03em;
  border-bottom:1px solid var(--kenar); white-space:nowrap;
}
table.tbl td{padding:10px 11px; border-bottom:1px solid var(--kenar); vertical-align:middle}
table.tbl tr:last-child td{border-bottom:none}
table.tbl tbody tr:hover{background:#fafbfc}

/* ---------------------------------------------------------------- giriş ekranı */
.giris-sayfa{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:22px 14px;
  background:linear-gradient(160deg,#1F4E79 0%,#173e61 55%,#122f4a 100%);
}
body.giris{padding-bottom:0}
.giris-kutu{width:100%; max-width:400px}
.giris-marka{text-align:center; color:#fff; margin-bottom:18px}
.giris-marka .lg{font-size:38px; line-height:1}
.giris-marka h1{color:#fff; margin:8px 0 2px; font-size:1.35rem}
.giris-marka p{color:rgba(255,255,255,.72); font-size:.85rem; margin:0}
.giris-kart{background:#fff; border-radius:16px; padding:20px; box-shadow:0 12px 40px rgba(0,0,0,.25)}
.giris-alt{text-align:center; margin-top:16px; color:rgba(255,255,255,.8); font-size:.85rem}
.giris-alt a{color:#fff; font-weight:600; text-decoration:underline}
.demo-kutu{
  margin-top:14px; padding:11px 13px; border-radius:10px; background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.9); font-size:.78rem; line-height:1.6;
}
.demo-kutu b{color:#fff}
.demo-kutu code{background:rgba(255,255,255,.16); padding:1px 5px; border-radius:4px; font-size:.95em}

/* ---------------------------------------------------------------- çeşitli */
.bos-durum{text-align:center; padding:34px 16px; color:var(--metin-soluk)}
.bos-durum .ik{font-size:34px; opacity:.55; margin-bottom:8px}
.ayirac{height:1px; background:var(--kenar); margin:14px 0}
.gizli{display:none}
.metin-soluk{color:var(--metin-soluk)}
.metin-kucuk{font-size:.8rem}
.geri{display:inline-flex; align-items:center; gap:5px; font-size:.85rem; color:var(--metin-soluk); margin-bottom:10px}
.sayfa-bas{margin-bottom:14px}
.sayfa-bas h1{margin-bottom:2px}
.sayfa-bas p{color:var(--metin-soluk); font-size:.86rem; margin:0}
.kurallar{background:var(--lacivert-soluk); border-radius:var(--r-k); padding:11px 13px; font-size:.84rem; color:#274b6d}
.foto-onizleme{border-radius:var(--r-k); border:1px solid var(--kenar); margin-top:10px; max-height:340px; object-fit:cover; width:100%}
.sekmeler{display:flex; gap:6px; margin-bottom:14px; overflow-x:auto; padding-bottom:2px}
.sekmeler a{
  flex:none; padding:7px 13px; border-radius:20px; background:#fff; border:1px solid var(--kenar);
  font-size:.84rem; color:var(--metin-soluk); font-weight:550;
}
.sekmeler a.etkin{background:var(--lacivert); border-color:var(--lacivert); color:#fff}
.sekmeler a:hover{text-decoration:none}
.tel-link{font-variant-numeric:tabular-nums; font-weight:640}
@media print{.ustbar,.altnav{display:none}}


/* ==========================================================================
   ÇOKLU-SİTE — ana site (apex) sayfaları ve slug alanları
   ========================================================================== */
body.ana{padding-bottom:0}
.ana-icerik{min-height:calc(100vh - 56px - 90px)}
.ana-dar{max-width:560px; margin:0 auto}
.ana-kahraman{text-align:center; padding:26px 0 6px}
.ana-kahraman .lg{font-size:52px; line-height:1}
.ana-kahraman h1{font-size:1.7rem; margin:10px 0 6px}
.ana-alt{color:var(--metin-soluk); max-width:520px; margin:0 auto 18px}
.ana-dugmeler{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}
.btn-buyuk{padding:12px 22px; font-size:1rem; min-height:46px}
.ana-dip{
  border-top:1px solid var(--kenar); background:#fff; margin-top:28px;
  padding:16px 0; font-size:.82rem; color:var(--metin-soluk);
}
.ana-dip .kap{display:flex; gap:8px; flex-wrap:wrap; justify-content:center}
.ana-dip .ayrac{color:var(--metin-cok-soluk)}

.slug-satir{display:flex; align-items:stretch; gap:0}
.slug-satir input{border-top-right-radius:0; border-bottom-right-radius:0; min-width:0}
.slug-sonek{
  display:flex; align-items:center; padding:0 11px; background:var(--gri);
  border:1px solid var(--kenar); border-left:none; color:var(--metin-soluk);
  border-radius:0 var(--r-k) var(--r-k) 0; font-size:.86rem; white-space:nowrap;
}
.slug-uygun{color:var(--yesil); font-weight:600}
.slug-dolu{color:var(--kirmizi); font-weight:600}

.site-adres-kutu{
  background:var(--lacivert-soluk); border:1px solid #cfe0f2; border-radius:var(--r-k);
  padding:14px; margin:14px 0;
}
.site-adres-kutu .etiket{display:block; font-size:.74rem; color:var(--metin-soluk); text-transform:uppercase; letter-spacing:.04em}
.site-adres-kutu .adres{font-size:1.1rem; font-weight:700; word-break:break-all}

.daire-izgara{display:grid; gap:8px; grid-template-columns:1fr}
@media(min-width:620px){.daire-izgara{grid-template-columns:1fr 1fr}}
.daire-kutu{
  display:flex; align-items:center; gap:8px; padding:7px 9px;
  border:1px solid var(--kenar); border-radius:var(--r-k); background:#fff;
}
.daire-kutu.dolu{background:var(--gri)}
.daire-form{display:flex; gap:5px; align-items:center; flex:1; min-width:0}
.daire-form input[type=text]{width:64px; min-width:0}
.daire-form input[type=number]{width:74px; min-width:0}
.daire-form input{margin:0; padding:5px 7px; font-size:.84rem; min-height:32px}
.daire-not{font-size:.74rem; color:var(--metin-soluk); white-space:nowrap}

/* --------------------------------------------------------------------------
   Masaüstü: alt navigasyon gizlenir. (Bu kural dosyanın sonunda olmalı ki
   .altnav tanımındaki display:flex değerini geçersiz kılabilsin.)
   -------------------------------------------------------------------------- */
@media(min-width:820px){
  .altnav{display:none !important}
  body{padding-bottom:26px}
}
