:root{
  --bg:#0f1115;
  --card:#151924;
  --soft:#1c2230;
  --text:#e9eefc;
  --muted:#aab4d0;
  --line:#263049;
  --primary:#3b82f6;
  --danger:#ef4444;
  --ok:#22c55e;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

/* ===== SUNUM MODU: harita karart + pin glow ===== */

/* Harita tile'larını karart */
body.presentation-mode #map .leaflet-tile {
  filter: brightness(.72) contrast(1.12) saturate(.92);
}

/* Haritanın üstüne hafif vignette (sahne etkisi) */
body.presentation-mode #map::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at center,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.18) 55%,
      rgba(0,0,0,.38) 100%);
  z-index: 400; /* tile üstü, marker altı */
}

/* Leaflet marker pane daha üstte kalsın */
body.presentation-mode #map .leaflet-marker-pane{
  z-index: 650;
}

/* Pin büyüsün + glow alsın */
body.presentation-mode .pin{
  transform: translateY(-6px) scale(1.35);
  border-color: rgba(255,255,255,.28);
  box-shadow:
    0 18px 40px rgba(0,0,0,.55),
    0 0 0 2px rgba(255,255,255,.06),
    0 0 26px rgba(255,255,255,.18);
}

/* Pulse daha belirgin olsun */
body.presentation-mode .pin .pulse{
  border-width: 3px;
  opacity: 1;
  animation-duration: 1.1s;
}

/* Duruma göre ekstra glow */
body.presentation-mode .pin.anlasildi{
  box-shadow:
    0 18px 40px rgba(0,0,0,.55),
    0 0 32px rgba(34,197,94,.45),
    0 0 0 2px rgba(34,197,94,.12);
}
body.presentation-mode .pin.takipte{
  box-shadow:
    0 18px 40px rgba(0,0,0,.55),
    0 0 28px rgba(245,158,11,.45),
    0 0 0 2px rgba(245,158,11,.12);
}
body.presentation-mode .pin.olumsuz{
  box-shadow:
    0 18px 40px rgba(0,0,0,.55),
    0 0 26px rgba(239,68,68,.40),
    0 0 0 2px rgba(239,68,68,.12);
}
body.presentation-mode .pin.gorusuldu{
  box-shadow:
    0 18px 40px rgba(0,0,0,.55),
    0 0 26px rgba(96,165,250,.40),
    0 0 0 2px rgba(96,165,250,.12);
}

/* ===== /SUNUM MODU ===== */

/* ===== SUNUM MODU ===== */
body.presentation-mode .panel{ display:none; }       /* sağ paneli gizle */
body.presentation-mode .grid{ grid-template-columns: 1fr; } /* map tam genişlik */

body.presentation-mode .pin{
  transform: translateY(-6px) scale(1.25);  /* marker büyüsün */
}
body.presentation-mode .pin .pulse{
  animation-duration: 1.05s;               /* pulse hızlansın */
  border-width: 3px;
  opacity: 1;
}
/* ===== /SUNUM MODU ===== */

a{color:inherit;text-decoration:none}
.container{padding:18px 18px 40px}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  background:rgba(15,17,21,.9);
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(8px);
}
.brand{display:flex;gap:10px;align-items:center;font-weight:600}
.nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nav a{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:transparent}
.nav a:hover{background:var(--soft)}
.nav a.danger{border-color:rgba(239,68,68,.5)}
.user-pill{padding:8px 10px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}

.footer{
  border-top:1px solid var(--line);
  padding:14px 18px;
  color:var(--muted);
}

.grid{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap:14px;
}
@media (max-width:1100px){
  .grid{grid-template-columns: 1fr}
}

.map-wrap{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
#map{height: calc(100vh - 210px); min-height:520px;}
.dash{
  display:flex;gap:10px;flex-wrap:wrap;
  padding:12px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(21,25,36,1), rgba(21,25,36,.8));
}
.kpi{
  padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(28,34,48,.55);
  min-width:170px;
}
.kpi-title{color:var(--muted);font-size:12px}
.kpi-value{font-size:22px;font-weight:700;margin-top:2px}
.dash-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}

.panel{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:14px;
}
.panel h2{margin:4px 0 8px}
.panel h3{margin:10px 0 8px}
.muted{color:var(--muted)}
.small{font-size:12px}

.form{display:flex;flex-direction:column;gap:10px}
label{font-size:12px;color:var(--muted)}
input, select, textarea{
  background:var(--soft);
  border:1px solid var(--line);
  color:var(--text);
  border-radius:12px;
  padding:10px 12px;
  outline:none;
}
textarea{resize:vertical}
.row{display:flex;gap:10px}
.row > div{flex:1}
@media (max-width:520px){ .row{flex-direction:column} }

.btn{
  cursor:pointer;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
}
.btn:hover{background:var(--soft)}
.btn.primary{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.45)}
.btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.45)}
.alert{
  background:rgba(239,68,68,.15);
  border:1px solid rgba(239,68,68,.35);
  padding:10px 12px;border-radius:12px;margin:10px 0;
}

.sep{border:none;border-top:1px solid var(--line);margin:14px 0}

.recent{display:flex;flex-direction:column;gap:8px}
.recent-item{
  border:1px solid var(--line);
  background:rgba(28,34,48,.4);
  border-radius:12px;
  padding:10px 12px;
}
.recent-item b{display:block}
.recent-meta{color:var(--muted);font-size:12px;margin-top:4px}

.login-bg{display:grid;place-items:center;min-height:100vh}
.login-card{
  width:min(460px, 92vw);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}
/* map overlay tools */
.map-wrap{ position:relative; }

.map-tools{
  position:absolute;
  top: calc(var(--dash-h, 74px) + 8px);
  left:12px;
  right:12px;
  z-index:500;
  display:flex;
  gap:10px;
  align-items:flex-start;
  pointer-events:none; /* sadece içindeki elemanlar tıklansın */
}
.map-tools > *{ pointer-events:auto; }

.searchbox{
  flex:1;
  max-width: 520px;
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(21,25,36,.92);
  backdrop-filter: blur(8px);
}
.searchbox i{ color:var(--muted); }
.searchbox input{
  width:100%;
  border:none;
  background:transparent;
  padding:0;
  outline:none;
  color:var(--text);
}
.search-results{
  display:none;
  position:absolute;
  top:46px;
  left:0;
  right:0;
  border:1px solid var(--line);
  background:rgba(21,25,36,.98);
  border-radius:14px;
  overflow:hidden;
  max-height:260px;
}
.search-results.open{ display:block; }
.search-results .item{
  padding:10px 12px;
  cursor:pointer;
  border-bottom:1px solid rgba(38,48,73,.7);
  font-size:13px;
}
.search-results .item:last-child{ border-bottom:none; }
.search-results .item:hover{ background:rgba(28,34,48,.7); }
.search-results .mutedline{ color:var(--muted); font-size:12px; margin-top:4px; }

/* fullscreen mode */
.map-wrap.is-fullscreen{
  width:100vw;
  height:100vh;
  border-radius:0;
}
.map-wrap.is-fullscreen #map{
  height: calc(100vh - 74px);
  min-height: auto;
}

/* daha dikkat çekici marker (pulsing) */
.leaflet-div-icon{
  background:transparent;
  border:none;
}

.pin{
  position:relative;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:2px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
  transform: translateY(-6px);
}
.pin i{ font-size:16px; }

.pin::after{
  content:"";
  position:absolute;
  bottom:-10px;
  left:50%;
  transform:translateX(-50%);
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
  filter: blur(.2px);
}

/* pulse ring */
.pin .pulse{
  position:absolute;
  inset:-10px;
  border-radius:20px;
  border:2px solid rgba(255,255,255,.22);
  animation: pulse 1.6s infinite;
}
@keyframes pulse{
  0% { transform: scale(.55); opacity: .9; }
  100% { transform: scale(1.35); opacity: 0; }
}

/* status renkleri */
.pin.gorusuldu{ background: rgba(96,165,250,.22); color:#60a5fa; }
.pin.takipte  { background: rgba(245,158,11,.22); color:#f59e0b; }
.pin.anlasildi{ background: rgba(34,197,94,.22); color:#22c55e; }
.pin.olumsuz  { background: rgba(239,68,68,.22); color:#ef4444; }

/* sunumda daha belirgin olsun diye */
.pin.anlasildi .pulse{ border-color: rgba(34,197,94,.35); animation-duration: 1.2s; }
