
  :root{
    --bg-deep:#0c1420;
    --bg-panel:#141f2e;
    --bg-elevated:#1b283b;
    --border:#263a52;
    --text:#e7edf4;
    --text-muted:#8296ac;
    --teal:#21c7a8;
    --teal-dim:#154a42;
    --amber:#f0a840;
    --red:#e2563f;
    --font-display:'Space Grotesk',sans-serif;
    --font-body:'Inter',sans-serif;
    --font-mono:'IBM Plex Mono',monospace;
  }
  *{box-sizing:border-box;}
  html,body{height:100%;margin:0;}
  body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text);overflow:hidden;}
  #app-root{height:100vh;height:100dvh;width:100vw;position:relative;}

  /* ---------- LOGIN ---------- */
  #login-screen{
    height:100%;width:100%;display:flex;align-items:center;justify-content:center;
    background:
      linear-gradient(rgba(12,20,32,0.92),rgba(12,20,32,0.96)),
      repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(33,199,168,0.06) 40px),
      repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(33,199,168,0.06) 40px);
  }
  .login-card{
    width:380px;max-width:90vw;background:var(--bg-panel);border:1px solid var(--border);
    border-radius:14px;padding:36px 32px 30px;box-shadow:0 20px 60px rgba(0,0,0,0.5);
  }
  .badge-icon{display:block;margin:0 auto 20px;width:120px;height:120px;object-fit:contain;}
  .login-title{
    font-family:var(--font-display);font-weight:700;font-size:22px;
    margin:0 0 18px;letter-spacing:-0.3px;text-align:center;line-height:1.3;
  }
  .field-label{
    font-size:11.5px;color:var(--text-muted);letter-spacing:0.4px;
    text-transform:uppercase;margin-bottom:7px;display:block;font-weight:600;
  }
  input[type=text], input[type=number], input[type=password], input[type=date], input[type=tel], textarea, select{
    width:100%;background:var(--bg-elevated);border:1px solid var(--border);
    color:var(--text);border-radius:8px;padding:11px 13px;font-size:14.5px;
    font-family:var(--font-mono);outline:none;transition:border-color .15s;
  }
  select, textarea, input[type=tel]{font-family:var(--font-body);}
  textarea{resize:vertical;min-height:70px;}
  input:focus, textarea:focus, select:focus{border-color:var(--teal);}
  input[type=range]{width:100%;accent-color:var(--teal);}
  .field{margin-bottom:15px;}
  .field-row{display:flex;gap:12px;}
  .field-row .field{flex:1;}
  .btn{
    display:inline-block;border:none;border-radius:8px;padding:12px 16px;
    font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;
    width:100%;margin-top:6px;transition:filter .12s;
  }
  .btn:hover{filter:brightness(1.12);}
  .btn-primary{background:var(--teal);color:#06231d;}
  .btn-ghost{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);}
  .btn-danger{background:rgba(226,86,63,0.15);color:var(--red);border:1px solid rgba(226,86,63,0.4);width:auto;padding:7px 12px;font-size:12px;margin-top:0;}
  .btn-mini{width:auto;padding:7px 12px;font-size:12px;margin-top:0;}
  .login-error{color:var(--red);font-size:12.5px;margin-top:12px;text-align:center;font-family:var(--font-mono);min-height:16px;}

  /* ---------- APP SHELL ---------- */
  #app-screen{display:none;height:100%;flex-direction:column;}
  header{
    height:62px;background:var(--bg-panel);border-bottom:1px solid var(--border);
    display:flex;align-items:center;padding:0 20px;gap:20px;flex-shrink:0;
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{width:38px;height:38px;flex-shrink:0;}
  .brand-mark img{width:100%;height:100%;object-fit:contain;}
  .brand-text{font-family:var(--font-display);font-weight:700;font-size:14.5px;line-height:1.25;}
  .brand-text span{display:block;font-family:var(--font-mono);font-weight:500;font-size:10px;color:var(--teal);letter-spacing:1px;text-transform:uppercase;}
  .tabs{display:flex;gap:6px;margin-left:12px;}
  .tab-btn{
    background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;
    padding:8px 15px;font-family:var(--font-body);font-size:13.5px;font-weight:600;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;text-align:center;
  }
  .tab-btn:hover{color:var(--text);}
  .tab-btn.active{border-color:rgba(33,199,168,0.45);color:var(--text);background:rgba(33,199,168,0.10);}
  .user-box{margin-left:auto;display:flex;align-items:center;gap:11px;}
  .user-clickable{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;border-radius:8px;padding:2px 6px;margin:-2px -6px;transition:background .12s;}
  .user-clickable:hover{background:var(--bg-elevated);}
  .user-chevron{color:var(--text-muted);flex-shrink:0;transition:color .12s;}
  .user-clickable:hover .user-chevron{color:var(--teal);}
  .avatar{
    width:36px;height:36px;border-radius:50%;background:var(--teal-dim);color:var(--teal);
    display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:600;font-size:13px;
  }
  .user-meta{line-height:1.3;}
  .user-name{font-size:13.5px;font-weight:600;}
  .user-role{font-size:11px;color:var(--text-muted);}
  .logout-btn{
    background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);
    border-radius:8px;padding:8px 13px;font-size:12.5px;font-weight:600;cursor:pointer;
  }
  .logout-btn:hover{color:var(--text);}
  main{flex:1;position:relative;overflow:hidden;}
  .view{display:none;height:100%;position:relative;}
  .view.active{display:block;}
  #map{height:100%;width:100%;background:#0a111b;}

  /* ---------- HUD & FİLTRE ---------- */
  .hud{
    position:absolute;top:16px;right:16px;z-index:500;display:flex;gap:18px;
    background:rgba(20,31,46,0.94);border:1px solid var(--border);border-radius:12px;padding:13px 20px;
  }
  .hud-stat{text-align:center;}
  .hud-num{font-family:var(--font-mono);font-weight:600;font-size:21px;line-height:1;}
  .hud-num.teal{color:var(--teal);}
  .hud-num.amber{color:var(--amber);}
  .hud-num.red{color:var(--red);}
  .hud-label{font-size:9.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.6px;margin-top:5px;}
  .hud-kisa{display:none;}

  .filter-bar{
    position:absolute;top:62px;left:60px;z-index:850;display:none;gap:8px;align-items:center;
    background:rgba(20,31,46,0.94);border:1px solid var(--border);border-radius:12px;padding:8px 10px;
  }
  .filter-bar.open{display:flex;}
  .filter-bar input{width:170px;padding:8px 11px;font-size:12.5px;}
  .filter-bar select{width:150px;padding:8px 11px;font-size:12.5px;}
  .filter-toggle{
    position:absolute;top:62px;left:10px;z-index:850;display:flex;
    width:40px;height:40px;border-radius:6px;cursor:pointer;
    background:rgba(20,31,46,0.96);border:1px solid var(--border);color:var(--text-muted);
    align-items:center;justify-content:center;
  }
  .filter-toggle:hover{color:var(--text);}
  .filter-toggle.open{color:var(--teal);border-color:var(--teal);}

  .filter-chk{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);white-space:nowrap;padding:0 4px;cursor:pointer;}
  .filter-chk input{width:auto;accent-color:var(--teal);}

  .map-hint{
    position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:500;
    background:rgba(20,31,46,0.94);border:1px solid var(--border);color:var(--text-muted);
    padding:9px 16px;border-radius:20px;font-size:12.5px;pointer-events:none;transition:opacity .25s;
  }
  .map-hint.warn{color:var(--amber);border-color:var(--amber);}
  .giris-bilgi{
    position:absolute;top:64px;left:50%;transform:translateX(-50%);z-index:900;
    background:rgba(20,31,46,0.96);border:1px solid var(--amber);color:var(--amber);
    padding:9px 16px;border-radius:20px;font-size:12.5px;
    opacity:0;pointer-events:none;transition:opacity .3s;max-width:calc(100vw - 32px);text-align:center;
  }
  .giris-bilgi.gorunur{opacity:1;}

  .leaflet-control-layers{background:var(--bg-panel)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:10px!important;font-family:var(--font-body);font-size:13px;}
  .leaflet-control-layers-toggle{filter:invert(0.9);}
  .leaflet-control-layers label{color:var(--text);}
  .leaflet-control-zoom a{background:var(--bg-panel)!important;color:var(--text)!important;border-color:var(--border)!important;}
  .leaflet-control-zoom a:hover{background:var(--bg-elevated)!important;}
  .leaflet-control-attribution{display:none!important;}

  .leaflet-popup-content-wrapper{background:var(--bg-panel);color:var(--text);border-radius:10px;border:1px solid var(--border);}
  .leaflet-popup-tip{background:var(--bg-panel);border:1px solid var(--border);}
  .leaflet-popup-content{margin:12px 14px;font-family:var(--font-body);min-width:230px;}
  .popup-badge{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:5px;margin:0 4px 8px 0;letter-spacing:0.3px;}
  .popup-badge.ok{background:rgba(33,199,168,0.16);color:var(--teal);}
  .popup-badge.var{background:rgba(240,168,64,0.16);color:var(--amber);}
  .popup-badge.yok{background:rgba(226,86,63,0.14);color:var(--red);}
  .popup-title{font-family:var(--font-display);font-weight:700;font-size:15px;margin:2px 0 2px;}
  .popup-tur{font-family:var(--font-mono);font-size:10.5px;color:var(--teal);letter-spacing:0.8px;text-transform:uppercase;margin:0 0 8px;}
  .popup-note{font-size:12.5px;line-height:1.5;margin:6px 0 8px;color:var(--text);}
  .popup-meta{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);line-height:1.7;}
  .popup-actions{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;}
  .btn-ara{
    display:none;background:var(--teal)!important;color:#06231d!important;border:1px solid var(--teal)!important;
    text-decoration:none;
  }

  /* Şifre gücü göstergesi */
  .sifre-guc{display:none;align-items:center;gap:10px;margin-top:8px;}
  .sifre-guc.gorunur{display:flex;}
  .sg-bar{flex:1;height:6px;border-radius:4px;background:var(--bg-deep);overflow:hidden;}
  .sg-dolu{height:100%;width:0;border-radius:4px;transition:width .2s, background .2s;}
  .sg-etiket{font-family:var(--font-mono);font-size:11px;min-width:44px;text-align:right;}

  /* ---------- MODALLER / YAN PANEL ---------- */
  .modal-overlay{position:absolute;inset:0;background:rgba(6,10,16,0.6);display:none;align-items:center;justify-content:center;z-index:1000;}
  .modal-overlay.active{display:flex;}

  /* Kamera ekleme/düzenleme: sağa sabit panel (popup değil) */
  .side-panel{
    position:absolute;top:0;right:0;height:100%;width:410px;max-width:94vw;
    background:var(--bg-panel);border-left:1px solid var(--border);
    box-shadow:-16px 0 40px rgba(0,0,0,0.45);
    padding:24px 26px 0;z-index:900;
    display:flex;flex-direction:column;overflow:hidden;
    transform:translateX(105%);transition:transform .25s ease;
  }
  .panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:6px;margin-right:-6px;}
  .side-panel .modal-actions{
    flex-shrink:0;margin-top:10px;padding:12px 0 18px;
    background:var(--bg-panel);border-top:1px solid var(--border);
  }
  .side-panel.active{transform:translateX(0);}
  .panel-close{
    position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:8px;
    background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);
    font-size:15px;line-height:1;cursor:pointer;
  }
  .panel-close:hover{color:var(--text);}
  .panel-kucult{
    position:absolute;z-index:10;cursor:pointer;
    width:32px;height:32px;border-radius:8px;
    background:var(--bg-elevated);border:1px solid var(--border);color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    top:50%;left:6px;transform:translateY(-50%);
  }
  .panel-kucult svg{transition:transform .25s ease;}
  .side-panel.kucultulmus{transform:translateX(calc(100% - 44px));}
  .side-panel.kucultulmus .panel-kucult svg{transform:rotate(180deg);}
  /* Konum/adres sonuç paneli: kapat (✕) sağ köşede, küçült (ok) dikey ortada, boyutları eşit */
  #adres-sonuc-panel .panel-close{top:16px;right:16px;left:auto;width:30px;height:30px;}
  #adres-sonuc-panel .panel-kucult{top:50%;left:7px;transform:translateY(-50%);width:30px;height:30px;}
  .modal-card{
    width:430px;max-width:92vw;max-height:88vh;overflow-y:auto;
    background:var(--bg-panel);border:1px solid var(--border);
    border-radius:14px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,0.5);
  }
  .modal-title{font-family:var(--font-display);font-weight:700;font-size:17px;margin:0 0 4px;}
  .modal-sub{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);margin:0 0 18px;}
  .toggle-row{display:flex;gap:8px;}
  .toggle-opt{
    flex:1;text-align:center;padding:10px 4px;border-radius:8px;border:1px solid var(--border);
    cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-muted);transition:all .12s;
  }
  .toggle-opt.sel-ok.selected{background:rgba(33,199,168,0.14);border-color:var(--teal);color:var(--teal);}
  .toggle-opt.sel-var.selected{background:rgba(240,168,64,0.14);border-color:var(--amber);color:var(--amber);}
  .toggle-opt.sel-yok.selected{background:rgba(226,86,63,0.12);border-color:var(--red);color:var(--red);}
  .modal-actions{display:flex;gap:10px;margin-top:20px;}
  .modal-actions .btn{flex:1;margin-top:0;}
  .modal-actions .btn-danger{flex:0 0 auto;}
  .section-sep{
    font-family:var(--font-mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--teal);border-bottom:1px solid var(--border);padding-bottom:6px;margin:20px 0 14px;
  }
  .range-val{font-family:var(--font-mono);font-size:12px;color:var(--teal);float:right;}
  .yonu-kapat{font-size:11.5px;color:var(--text-muted);display:flex;gap:6px;align-items:center;cursor:pointer;margin-bottom:8px;}
  .yonu-kapat input{width:auto;accent-color:var(--teal);}
  .hint-mini{font-size:11px;color:var(--text-muted);margin-top:5px;line-height:1.4;}

  /* geçmiş listesi */
  .gecmis-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:var(--bg-elevated);}

  /* ---------- ADRES ARAMA SONUÇ KARTLARI ---------- */
  .adres-kart{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--bg-elevated);}
  .adres-kart-baslik{font-family:var(--font-display);font-weight:700;font-size:14px;margin:2px 0 3px;}
  .adres-kart-ust{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;}
  .adres-kart-bilgi{min-width:0;}
  .adres-kart-ust .adres-kart-baslik{margin:0 0 2px;}
  .adres-kart-ust .popup-badge{flex-shrink:0;margin:0;}
  .adres-kart-ust .popup-tur{margin:0;}
  .adres-kart-mesafe{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);margin-bottom:9px;}
  .adres-kart-mesafe.bitisik{margin-bottom:2px;}
  .adres-kart-aksiyon{display:flex;gap:7px;align-items:center;justify-content:flex-end;margin-top:9px;}
  .adres-kart-aksiyon .btn{padding:8px 15px;font-size:13.5px;width:auto;}
  .adres-bos{text-align:center;color:var(--text-muted);font-size:12.5px;padding:30px 10px;line-height:1.6;}

  /* ---------- PANELİM: İNCE SATIR GÖRÜNÜMÜ ---------- */
  .panelim-satir{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 4px;border-bottom:1px solid var(--border);}
  .panelim-baslik-satiri{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;margin-bottom:4px;}
  .panelim-baslik-satiri .panel-title{flex-shrink:0;white-space:nowrap;}
  .panelim-baslik-satiri .field{flex:0 1 220px;min-width:90px;}
  .panelim-sekmeler{display:flex;gap:20px;flex-shrink:0;}
  .panelim-sekme{
    background:none;border:none;border-bottom:2px solid transparent;border-radius:0;
    font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--text-muted);
    padding:2px 0 6px;margin:0;width:auto;cursor:pointer;white-space:nowrap;
    transition:color .12s,border-color .12s;
  }
  .panelim-sekme:hover{color:var(--text);}
  .panelim-sekme.aktif{color:var(--text);border-bottom-color:var(--teal);}
  .panelim-baslik-satiri .field input{width:100%;}
  .panelim-satir:last-child{border-bottom:none;}
  /* liste kutusunda kaydirma cubugu payi yok; sag ve sol bosluk esit olsun */
  #panelim-nokta-liste{padding-right:0;margin-right:0;overflow-x:hidden;}
  .panelim-satir-bilgi{
    display:flex;flex-direction:column;justify-content:center;gap:3px;
    min-width:0;flex:1;max-height:34px;overflow:hidden;
  }
  .panelim-ust-satir{display:flex;align-items:center;gap:8px;min-width:0;}
  .panelim-nokta{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
  .panelim-isim{font-family:var(--font-display);font-weight:700;font-size:13.5px;line-height:1.15;white-space:nowrap;}
  .panelim-tur{font-family:var(--font-mono);font-size:10px;color:var(--teal);text-transform:uppercase;letter-spacing:0.4px;line-height:1.15;white-space:nowrap;}
  .panelim-detay{font-size:11px;line-height:1.15;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .panelim-ekleyen{font-size:10.5px;opacity:0.85;}
  .panelim-satir.ekleyenli .panelim-satir-bilgi{max-height:50px;}
  .panelim-satir-aksiyon{display:flex;gap:6px;flex-shrink:0;margin-left:auto;}
  .panelim-satir-aksiyon .btn{margin-top:0;width:auto;}
  .gecmis-top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;margin-bottom:4px;}
  .gecmis-ok{color:var(--teal);font-weight:600;}
  .gecmis-fail{color:var(--red);font-weight:600;}
  .gecmis-not{font-size:12.5px;color:var(--text);line-height:1.4;}
  .gecmis-meta{font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono);margin-top:4px;}

  /* ---------- ADMIN ---------- */
  #admin-view{overflow-y:auto;padding:28px 34px;background:var(--bg-deep);}
  #panelim-view{padding:28px 34px;}
  .admin-grid{display:grid;grid-template-columns:340px 1fr;gap:26px;max-width:1150px;margin:0 auto;}
  .admin-grid + .admin-grid{margin-top:26px;}
  .admin-grid.anasayfa-ikili{grid-template-columns:1fr 1fr;align-items:stretch;margin-bottom:26px;}
  .anasayfa-ikili .panel{display:flex;flex-direction:column;height:100%;}
  .anasayfa-ikili .panel table{margin-top:auto;}
  .panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:22px;min-width:0;}
  .panel-wide{grid-column:1 / -1;}
  .panel-title{font-family:var(--font-display);font-weight:700;font-size:15px;margin:0 0 4px;}
  .panel-title-toggle{display:flex;align-items:center;justify-content:space-between;cursor:default;}
  .panel-toggle-ikon{display:none;font-family:var(--font-mono);font-size:18px;color:var(--teal);line-height:1;}
  .kullanici-ekle-govde{display:block;}
  /* Giris Duyurusu paneli her ekranda kapali baslar, basliga tiklayinca acilir */
  .duyuru-panel-govde{display:none;margin-top:14px;}
  .duyuru-panel-govde.acik{display:block;}
  #duyuru-panel-baslik{cursor:pointer;}
  #duyuru-panel-ikon{display:block;transition:transform .15s;}
  #duyuru-panel-ikon.acik{transform:rotate(45deg);}
  .panel-sub{font-size:12px;color:var(--text-muted);margin:0 0 12px;}
  .duyuru-btn-grubu{justify-content:flex-end;}
  table{width:100%;border-collapse:collapse;font-size:13px;}
  th{text-align:left;font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;padding:0 10px 10px;border-bottom:1px solid var(--border);font-weight:600;}
  td{padding:11px 10px;border-bottom:1px solid var(--border);}
  tr:last-child td{border-bottom:none;}
  .role-pill{font-family:var(--font-mono);font-size:10px;padding:3px 8px;border-radius:5px;background:var(--bg-elevated);color:var(--text-muted);}
  .role-pill.admin{background:var(--teal-dim);color:var(--teal);}
  .form-msg{font-size:12.5px;margin-top:12px;font-family:var(--font-mono);min-height:14px;}
  .form-msg.err{color:var(--red);}
  .form-msg.ok{color:var(--teal);}
  .empty-row td{color:var(--text-muted);text-align:center;padding:24px;font-size:12.5px;}

  /* ---------- FOOTER ---------- */
  .app-footer{
    height:32px;flex-shrink:0;background:var(--bg-panel);border-top:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;
  }
  .app-footer a{color:var(--teal);text-decoration:none;font-weight:600;}
  .app-footer a:hover{text-decoration:underline;}
  #login-screen{position:relative;}
  #login-screen .app-footer{position:absolute;bottom:0;left:0;right:0;}


  /* ---------- MOBİL EKLEME YARDIMCILARI ---------- */
  .fab{
    position:absolute;bottom:18px;right:16px;z-index:600;
    width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;
    background:var(--teal);color:#06231d;font-size:30px;line-height:1;font-weight:600;
    box-shadow:0 8px 24px rgba(0,0,0,0.5);display:none;
  }
  .locate-btn{
    position:absolute;bottom:18px;right:16px;z-index:600;
    width:46px;height:46px;border-radius:50%;cursor:pointer;
    background:var(--bg-panel);border:1px solid var(--border);color:var(--teal);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.45);
  }
  .locate-btn:hover{border-color:var(--teal);}
  .yan-ikon{
    position:absolute;left:10px;z-index:850;width:40px;height:40px;border-radius:6px;cursor:pointer;
    background:rgba(20,31,46,0.96);border:1px solid var(--border);color:var(--text-muted);
    display:flex;align-items:center;justify-content:center;
  }
  .yan-ikon:hover{color:var(--text);}
  .yan-ikon.acik{color:var(--teal);border-color:var(--teal);}
  #btn-koni{top:114px;}
  #btn-analiz{top:166px;display:none;}
  #btn-personel{top:218px;display:none;}
  #btn-personel.ust{top:166px;}
  /* Haritadaki personel isareti */
  .personel-ikon{background:none!important;border:none!important;}
  .personel-ikon .pi-govde{
    width:30px;height:30px;border-radius:50%;
    background:var(--amber);color:#241701;
    border:2px solid #0c1420;box-shadow:0 3px 10px rgba(0,0,0,0.5);
    display:flex;align-items:center;justify-content:center;
  }
  .personel-ikon .pi-etiket{
    position:absolute;top:32px;left:50%;transform:translateX(-50%);
    white-space:nowrap;font-family:var(--font-mono);font-size:10px;font-weight:600;
    color:var(--amber);background:rgba(12,20,32,0.88);
    padding:1px 6px;border-radius:4px;border:1px solid var(--border);
  }
  /* Katman kutusu EN USTTE; masaustunde digerleriyle ayni dis boyut (40px) */
  .leaflet-control-layers{margin-top:10px!important;border:1px solid var(--border)!important;border-radius:6px!important;}
  .leaflet-control-layers-toggle{width:38px!important;height:38px!important;background-size:20px 20px!important;background-position:center!important;}
  .crosshair{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    z-index:640;pointer-events:none;display:none;
  }
  .crosshair::before,.crosshair::after{
    content:'';position:absolute;background:var(--teal);
    box-shadow:0 0 0 1px rgba(12,20,32,0.7);
  }
  .crosshair::before{width:2px;height:34px;left:-1px;top:-17px;}
  .crosshair::after{height:2px;width:34px;top:-1px;left:-17px;}
  .cross-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--teal);
    border:2px solid #0c1420;left:-6px;top:-6px;}
  .confirm-bar{
    position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:650;
    display:none;gap:10px;background:rgba(20,31,46,0.96);border:1px solid var(--border);
    border-radius:12px;padding:10px;
  }
  .confirm-bar .btn{width:auto;margin-top:0;padding:11px 18px;white-space:nowrap;}
  .mode-cross .fab{display:none!important;}
  .mode-cross .crosshair,.mode-cross .confirm-bar{display:flex;}

  /* ---------- MOBİL UYUMLULUK ---------- */
  @media (max-width: 768px){
    header{height:auto;flex-wrap:wrap;padding:8px 10px;gap:8px;row-gap:6px;}
    .brand-mark{width:30px;height:30px;}
    .brand-text{font-size:12.5px;}
    .brand-text span{display:none;}
    .tabs{order:3;width:100%;margin-left:0;}
    .tab-btn{flex:1;padding:8px 6px;font-size:12.5px;}
    .user-box{gap:7px;}
    .user-meta{display:none;}
    .avatar{width:30px;height:30px;font-size:11px;}
    .logout-btn{padding:7px 9px;font-size:11.5px;}

    .filter-toggle{width:48px;height:48px;border-radius:4px;}
    /* Arama kutusu: butonun tam saginda, ayni yukseklikte, olculu genislikte */
    .filter-bar{
      top:70px;left:66px;right:auto;width:min(58vw, 240px);height:48px;
      flex-wrap:nowrap;align-items:center;padding:0 8px;gap:8px;border-radius:4px;
    }
    .filter-bar input{flex:1 1 auto;width:auto;min-width:0;padding:9px 10px;font-size:13.5px;}
    .filter-bar select{flex:0 1 40%;width:auto;min-width:0;padding:9px 10px;font-size:13px;}
    .filter-chk{flex:1;justify-content:center;font-size:12.5px;}

    /* Nokta sayaci: mobilde sol sutundaki ikonlarin altinda, ayni genislikte dikey blok */
    .hud{
      top:310px;bottom:auto;left:10px;right:auto;
      width:48px;flex-direction:column;gap:0;padding:0;
      border-radius:4px;overflow:hidden;
    }
    /* Kapaliyken soldaki ikonlarla ayni olcude tek kutu (48x48) */
    .hud{cursor:pointer;height:48px;justify-content:center;}
    .hud.acik{height:auto;justify-content:flex-start;}
    .hud .hud-stat{display:none;}
    .hud .hud-stat:first-child,
    .hud.acik .hud-stat{display:block;}
    .hud::after{
      content:"\25BE";position:absolute;right:3px;bottom:2px;
      font-size:7px;line-height:1;color:var(--text-muted);
    }
    .hud.acik::after{content:"\25B4";}
    .hud-stat{padding:8px 3px;border-top:1px solid var(--border);}
    .hud-stat:first-child{border-top:none;}
    .hud-num{font-size:15px;}
    .hud-label{font-size:7.5px;letter-spacing:0.2px;margin-top:4px;white-space:nowrap;}
    .hud-tam{display:none;}
    .hud-kisa{display:inline;}

    .map-hint{display:none;}
    .leaflet-control-zoom{display:none;}

    .fab{display:block;}
    .locate-btn{bottom:86px;right:16px;}

    /* Ekleme paneli: sağ panel yerine alttan açılan sayfa - harita ve koni önizlemesi üstte görünür kalır */
    .side-panel{
      top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;height:68%;
      border-left:none;border-top:1px solid var(--border);border-radius:16px 16px 0 0;
      transform:translateY(108%);padding:16px 16px 0;
    }
    .side-panel.active{transform:translateY(0);}
    .side-panel .modal-actions{
      padding:12px 0 calc(14px + env(safe-area-inset-bottom));
    }
    .side-panel .btn{padding:14px 16px;font-size:15px;}

    .field-row{flex-wrap:wrap;}
    .field-row .field{flex:1 1 45%;}
    .modal-card{max-width:96vw;padding:18px;}

    #admin-view{padding:12px 8px;}
    #panelim-view{padding:12px 8px;}
    .admin-grid,.sistem-grid{grid-template-columns:1fr;gap:12px;}
    /* ardisik gridler arasindaki bosluk da grid araligiyla ayni olsun */
    .admin-grid + .admin-grid{margin-top:12px;}
    .panel{padding:16px 14px;}
    /* Tablolar mobilde kart görünümüne döner - yatay taşma olmaz */
    .panel thead{display:none;}
    .panel table,.panel tbody{display:block;width:100%;}
    .panel tr{display:flex;flex-wrap:wrap;align-items:center;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:9px 12px;background:var(--bg-elevated);}
    .panel td{width:100%;border:none;padding:5px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;white-space:normal;word-break:break-word;}
    /* Yetki secimi ile Sil dugmesi yan yana tek satirda */
    .panel td[data-label="Yetki"]{width:58%;}
    .panel td:not([data-label]){width:42%;justify-content:flex-end;}
    .panel td::before{content:attr(data-label);color:var(--text-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:0.5px;font-weight:600;flex-shrink:0;}
    .panel td:not([data-label])::before{content:none;}
    .panel .empty-row{border:none;background:none;}
    .panel input,.panel select{padding:12px 13px;font-size:15px;}
    .panel .btn{padding:14px;font-size:15px;}
    /* Duyuru butonlari mobilde ortali */
    .duyuru-btn-grubu{justify-content:center;}
    /* Pasif kullanicilar tablosunda Aktif Et butonu ortali */
    .tablo-pasif td:not([data-label]){justify-content:center;}
    /* Duyuru butonlari en dar ekranlarda bile yan yana kalsin, alt alta dusmesin */
    .duyuru-btn-grubu{flex-wrap:nowrap;gap:8px;}
    .duyuru-btn-grubu .btn{flex:0 1 auto;width:auto;padding:12px 10px;font-size:13px;}
    /* Pasif kullanicilar bolumundeki aciklama metni kutu icinde ortali */
    #pasif-count-sub{text-align:center;}
    /* Bos durum mesajlari (data-label'i olmadigi icin aksiyon sutunu genisligine
       hapsolmasin) - tum genislikte ve ortali gorunsun */
    .panel .empty-row td{width:100%;justify-content:center;text-align:center;}
  }


  /* ---------- DUYURU ---------- */
  .duyuru-kutu{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:950;
    width:min(84vw, 320px);height:min(64vw, 220px);
    background:var(--bg-panel);border:1px solid var(--amber);border-radius:14px;
    padding:14px 18px;box-shadow:0 14px 40px rgba(0,0,0,0.5);
    display:none;flex-direction:column;
  }
  .duyuru-kutu.acik{display:flex;}
  .duyuru-baslik{display:flex;justify-content:space-between;align-items:center;
    font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;color:var(--amber);margin-bottom:7px;}
  .duyuru-kapat-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:15px;padding:2px 4px;}
  .duyuru-kapat-btn:hover{color:var(--text);}
  .duyuru-metin{
    flex:1;min-height:0;overflow:hidden;
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-size:14.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;
  }
  .log-filtreler{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px;}
  .log-filtreler select{width:auto;min-width:170px;padding:9px 12px;font-size:13px;font-family:var(--font-body);}

  .guvenlik-lejant{
    position:absolute;bottom:18px;left:16px;z-index:600;display:none;
    background:rgba(20,31,46,0.94);border:1px solid var(--border);border-radius:10px;
    padding:9px 12px;font-size:11px;color:var(--text-muted);line-height:1.9;
  }
  .guvenlik-lejant.acik{display:block;}
  .lej-renk{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:middle;opacity:0.85;}

  /* ---------- LOG SAYFALAMA ---------- */
  .sayfalama{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px;justify-content:center;align-items:center;}
  .sayfa-btn{min-width:34px;padding:7px 10px;border-radius:7px;border:1px solid var(--border);
    background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;
    font-family:var(--font-mono);font-size:12px;font-weight:600;}
  .sayfa-btn.aktif{background:var(--teal-dim);color:var(--teal);border-color:var(--teal);}
  .sayfa-btn:hover{color:var(--text);}
  .sayfa-btn.ok{font-size:14px;}
  .sayfa-btn:disabled{opacity:0.35;cursor:default;}
  .sayfa-btn:disabled:hover{color:var(--text-muted);}
  .sayfa-nokta{color:var(--text-muted);font-family:var(--font-mono);font-size:12px;padding:0 2px;}
  /* Admin ayri sayfada: kaydirilabilir govde */
  #admin-view{display:block;overflow-y:auto;}
  .admin-tabs{display:flex;gap:8px;max-width:1150px;margin:0 auto 20px;}
  .admin-tabs .tab-btn{flex:0 0 auto;}
  .admin-tab-content{display:none;}
  /* Sistem sekmesi: uc esit kutu yan yana, ayar satirlari ayni hizada */
  .sistem-grid{grid-template-columns:repeat(3, 1fr);align-items:stretch;}
  .istatistik-grid{
    display:grid;grid-template-columns:repeat(6, 1fr);gap:14px;
    max-width:1150px;margin:0 auto 20px;
  }
  .istatistik-kart{
    background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;
    padding:18px 12px;text-align:center;
  }
  .istatistik-sayi{font-family:var(--font-mono);font-weight:600;font-size:26px;color:var(--teal);line-height:1;}
  .istatistik-etiket{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;margin-top:8px;}
  .sistem-grid .panel{display:flex;flex-direction:column;height:100%;}
  .sistem-grid .panel-title,.sistem-grid .panel-sub{text-align:center;}
  /* Baslik iki satira tassa bile alt icerik kaymasin */
  .sistem-grid .panel-title{
    min-height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;
  }
  /* Ac/Kapa anahtari olan kutularda anahtar satiri hep ayni yukseklikte */
  .sistem-grid .ayar-panel .panel-govde{min-height:96px;justify-content:center;}
  .sistem-grid .ayar-panel .panel-sub{flex:1 1 auto;}
  .sistem-grid .panel-govde{
    display:flex;flex-direction:column;
    text-align:center;align-items:center;gap:6px;
  }
  .sistem-grid .panel-govde .field{width:100%;margin-bottom:12px;}
  .sistem-grid .panel-govde .toggle-row{width:100%;max-width:260px;}
  /* Kutular esit yukseklikte; alt bolum (buton) hep en altta hizali dursun */
  .sistem-grid .panel{display:flex;flex-direction:column;}
  .sistem-grid .panel-alt{text-align:center;margin-top:auto;}
  .sistem-grid .panel-alt{padding-top:14px;border-top:1px solid var(--border);}
  .sistem-grid .panel-alt .btn{margin-top:0;}
  /* Sistem kutularindaki butonlar ayni olcude olsun */
  .sistem-grid .panel-alt .btn-danger{width:100%;padding:12px 16px;font-size:14px;}
  .sistem-grid .panel-alt .hint-mini{margin-top:10px;}
  .sistem-grid .form-msg{margin-top:8px;}
  .deger-metin{font-family:var(--font-mono);font-size:14.5px;padding:10px 0 0;}
  /* Dosya secme alani: kutu boyunca, tema ile uyumlu */
  .dosya-alani{
    width:100%;background:var(--bg-elevated);border:1px solid var(--border);
    border-radius:8px;padding:9px 10px;
    font-family:var(--font-body);font-size:12.5px;color:var(--text-muted);
    cursor:pointer;text-align:left;
  }
  .dosya-alani:hover{border-color:var(--teal);}
  .dosya-alani::file-selector-button{
    background:var(--bg-panel);color:var(--teal);border:1px solid var(--border);
    border-radius:6px;padding:7px 12px;margin-right:10px;
    font-family:var(--font-body);font-size:12.5px;font-weight:600;cursor:pointer;
  }
  .dosya-alani::file-selector-button:hover{border-color:var(--teal);}
  .admin-tab-content.active{display:block;}
  .rol-sec{width:auto;padding:6px 9px;font-size:12px;font-family:var(--font-body);}

  ::-webkit-scrollbar{width:9px;}
  ::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;}

/* Mobil kurallar - dosya sonunda olmali ki temel kurallari ezsin */
@media (max-width: 768px){
  /* Sistem sekmesi kutulari alt alta */
  .sistem-grid{grid-template-columns:1fr;}
  /* Sol sutun ikonlari: arama ve katman kutusuyla ayni boy/stil, alt alta hizali */
  .yan-ikon{width:48px;height:48px;border-radius:4px;}
  .filter-toggle{top:70px;}
  #btn-koni{top:130px;}
  #btn-analiz{top:190px;}
  #btn-personel{top:250px;}
  #btn-personel.ust{top:190px;}
  .leaflet-control-layers{margin-top:10px!important;border-radius:4px!important;}
  .leaflet-control-layers-toggle{width:46px!important;height:46px!important;background-size:24px 24px!important;}
  /* Lejant mobilde sag ust kose */
  .guvenlik-lejant{top:8px;right:8px;left:auto;bottom:auto;}
}

/* Mobil: log filtreleri tek satirda */
@media (max-width: 768px){
  .log-filtreler{flex-wrap:nowrap;gap:8px;}
  .log-filtreler > div{flex:1;min-width:0;}
  .log-filtreler > div:last-child{flex:0 0 auto;}
  .log-filtreler select{width:100%;min-width:0;padding:9px 8px;font-size:12px;}
  .log-filtreler .btn-mini{padding:9px 10px;}
  /* Kamera ekleme (+) ile GPS dugmesi ayni boyda */
  .locate-btn{width:54px;height:54px;bottom:84px;}
}

/* Mobil: popup'ta yesil Ara butonu */
@media (max-width: 768px){
  .btn-ara{display:inline-flex;}
}

/* Mobil: duyuru kutusu bir tık kucuk */
@media (max-width: 768px){
  .duyuru-kutu{width:min(78vw, 280px);height:min(58vw, 195px);padding:12px 15px;}
  .duyuru-metin{font-size:13px;}
}

/* Mobil: kullanıcı ekleme formu varsayılan kapalı, başlığa dokununca açılır */
@media (max-width: 768px){
  .panel-title-toggle{cursor:pointer;}
  .panel-toggle-ikon{display:block;}
  .kullanici-ekle-govde{display:none;margin-top:14px;}
  .kullanici-ekle-govde.acik{display:block;}
  .panel-toggle-ikon.acik{transform:rotate(45deg);}
}

/* Mobil: istatistik kutucukları ve anasayfa ikili grid düzgün görünsün */
@media (max-width: 768px){
  .anasayfa-ikili{grid-template-columns:1fr;}
  .istatistik-grid{
    grid-template-columns:repeat(2, 1fr);gap:9px;max-width:100%;margin-bottom:14px;
  }
  .istatistik-kart{padding:12px 8px;border-radius:10px;}
  .istatistik-sayi{font-size:20px;}
  .istatistik-etiket{font-size:9px;line-height:1.3;margin-top:5px;letter-spacing:0.2px;}
}

/* Mobil: panelim satirlari alt alta esnesin, butonlar sagda kalsin ama kucuk */
@media (max-width: 768px){
  .panelim-satir{flex-wrap:wrap;padding:12px 2px;}
  .panelim-satir-bilgi{flex:1 1 100%;}
  .panelim-satir-aksiyon{flex:1 1 100%;justify-content:flex-end;margin-left:0;margin-top:6px;}
}

/* Mobil: admin ust menu sekmeleri ortali dursun */
@media (max-width: 768px){
  .admin-tabs{justify-content:center;flex-wrap:wrap;margin-bottom:12px;}
}

/* Mobil: panelim buton boyutlari ust menu (tab-btn) ile ayni olsun */
@media (max-width: 768px){
  .panelim-satir-aksiyon .btn{padding:8px 6px;font-size:12.5px;}
}

/* Mobil: konum yakinindaki kameralar panelindeki butonlar da ust menu boyutunda */
@media (max-width: 768px){
  .adres-kart-aksiyon .btn{padding:8px 6px;font-size:12.5px;}
}

/* Mobil: konum sonuc paneli asagi dogru kaysin, ok ustte olsun */
@media (max-width: 768px){
  #adres-sonuc-panel .panel-close{top:16px;right:16px;left:auto;}
  #adres-sonuc-panel .panel-kucult{top:16px;left:50%;transform:translateX(-50%) rotate(90deg);}
  .side-panel.kucultulmus{transform:translateY(calc(100% - 40px))!important;}
}

/* Mobil: panelim satir bilgi bloğu, mobildeki buton yuksekligine gore biraz daha genis */
@media (max-width: 768px){
  .panelim-satir-bilgi{max-height:38px;}
  .panelim-satir.ekleyenli .panelim-satir-bilgi{max-height:50px;}
  .panelim-satir.ekleyenli .panelim-satir-aksiyon{margin-top:2px;}
}

  /* ---------- PANELİM: KUTLAMA & AYIN LİDERLERİ ---------- */
  .panelim-mesaj-alani{max-width:1150px;margin:0 auto 16px;display:flex;flex-direction:column;gap:12px;}
  .kutlama-kutu{
    display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:12px;
    background:linear-gradient(100deg,rgba(240,168,64,0.13),rgba(240,168,64,0.02));
    border:1px solid rgba(240,168,64,0.36);
  }
  .kutlama-kutu.anma{
    background:linear-gradient(100deg,rgba(130,150,172,0.14),rgba(130,150,172,0.02));
    border-color:rgba(130,150,172,0.36);
  }
  .kutlama-ikon{width:34px;height:34px;flex-shrink:0;color:var(--amber);}
  .kutlama-ikon svg{width:100%;height:100%;display:block;}
  .kutlama-kutu.anma .kutlama-ikon{color:var(--text-muted);}
  .kutlama-yazi{min-width:0;}
  .kutlama-baslik{font-family:var(--font-display);font-weight:700;font-size:14.5px;line-height:1.35;}
  .kutlama-metin{font-size:12.5px;color:var(--text-muted);line-height:1.55;margin-top:4px;}

  .lider-kutu{
    padding:16px 18px;border-radius:12px;background:var(--bg-panel);border:1px solid var(--border);
  }
  .lider-ust{display:flex;align-items:flex-start;gap:14px;}
  .lider-siralama{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;margin-top:14px;text-align:center;}
  .lider-satir{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;}
  .lider-satir.ben .lider-ad{color:var(--teal);}
  .lider-sira-no{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);}
  .lider-sira-no.s1{color:var(--amber);}
  .lider-sira-no.s2{color:#c6d2df;}
  .lider-ad{font-weight:600;}
  .lider-sayi{font-size:11px;color:var(--text-muted);}

  @media (max-width: 768px){
    .panelim-mesaj-alani{margin-bottom:12px;gap:10px;}
    .kutlama-kutu,.lider-kutu{padding:13px 14px;border-radius:10px;}
    .kutlama-ikon{width:26px;height:26px;}
    .kutlama-baslik{font-size:13.5px;}
    .kutlama-metin{font-size:12px;}
    .lider-satir{font-size:12px;}
  }

/* Mobil: panelim sekmeleri arama kutusunun ustunde tam genislikte dursun */
@media (max-width: 768px){
  .panelim-baslik-satiri{flex-wrap:wrap;gap:8px;}
  .panelim-sekmeler{width:100%;gap:16px;}
  .panelim-sekme{flex:1;font-size:13px;text-align:center;padding-bottom:5px;}
  .panelim-baslik-satiri .field{flex:1 1 100%;}
  .panelim-baslik-satiri .field input{padding:8px 12px;font-size:13px;}
}

/* Mobil: kaydirma cubugu yer kaplamasin (kaydirma calismaya devam eder) */
@media (max-width: 768px){
  #panelim-view, #panelim-nokta-liste, #admin-view, #admin-view .panel-body{
    scrollbar-width:none;-ms-overflow-style:none;
  }
  #panelim-view::-webkit-scrollbar,
  #panelim-nokta-liste::-webkit-scrollbar,
  #admin-view::-webkit-scrollbar,
  #admin-view .panel-body::-webkit-scrollbar{width:0;height:0;}
}

/* Mobil: "Kullanici Istatistikleri" tablosu kart yigini yerine kompakt siralama satiri */
@media (max-width: 768px){
  .panel .tablo-istatistik tbody{counter-reset:sira;}
  .panel .tablo-istatistik tr{
    display:grid;grid-template-columns:1fr 54px 54px;align-items:center;
    gap:1px 8px;padding:8px 12px;margin-bottom:7px;counter-increment:sira;
  }
  .panel .tablo-istatistik td{width:auto;padding:0;display:block;white-space:nowrap;min-width:0;}
  .panel .tablo-istatistik td[data-label="Ad Soyad"]{
    grid-column:1;grid-row:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;
  }
  .panel .tablo-istatistik td[data-label="Ad Soyad"]::before{
    content:counter(sira)".";color:var(--text-muted);font-family:var(--font-mono);
    font-size:11px;letter-spacing:0;text-transform:none;margin-right:6px;
  }
  .panel .tablo-istatistik td[data-label="Sicil"]{
    grid-column:1;grid-row:2;font-size:11px;color:var(--text-muted);
  }
  .panel .tablo-istatistik td[data-label="Sicil"]::before{content:"SİCİL";font-size:9px;margin-right:5px;}
  .panel .tablo-istatistik td[data-label="Kamera Ekleme"],
  .panel .tablo-istatistik td[data-label="Giriş Sayısı"]{
    grid-row:1 / span 2;display:flex;flex-direction:column;align-items:center;gap:1px;
    font-family:var(--font-mono);font-weight:600;font-size:16px;color:var(--teal);
  }
  .panel .tablo-istatistik td[data-label="Kamera Ekleme"]{grid-column:2;}
  .panel .tablo-istatistik td[data-label="Giriş Sayısı"]{grid-column:3;color:var(--text);}
  .panel .tablo-istatistik td[data-label="Kamera Ekleme"]::before{content:"KAMERA";font-size:8.5px;}
  .panel .tablo-istatistik td[data-label="Giriş Sayısı"]::before{content:"GİRİŞ";font-size:8.5px;}
  .panel .tablo-istatistik .empty-row{display:block;counter-increment:none;}
}

/* Cevrimici kullanicilar: bosluga yayilan kompakt kart izgarasi */
.cevrimici-liste{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(235px, 1fr));gap:10px;
}
.cevrimici-kart{
  display:flex;align-items:center;gap:11px;min-width:0;
  padding:10px 13px;border:1px solid var(--border);border-radius:10px;
  background:var(--bg-elevated);
}
.cevrimici-avatar{
  position:relative;flex-shrink:0;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--teal-dim);color:var(--teal);
  font-family:var(--font-mono);font-weight:600;font-size:12.5px;
}
.cevrimici-avatar::after{
  content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;
  border-radius:50%;background:var(--teal);border:2px solid var(--bg-elevated);
  animation:cevrimiciNabiz 2.4s ease-in-out infinite;
}
@keyframes cevrimiciNabiz{
  0%,100%{opacity:1;}
  50%{opacity:0.45;}
}
@media (prefers-reduced-motion: reduce){
  .cevrimici-avatar::after{animation:none;}
}
.cevrimici-bilgi{min-width:0;}
.cevrimici-ad{
  font-size:13px;font-weight:600;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cevrimici-eylem{
  margin-top:2px;font-size:11.5px;color:var(--text-muted);line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

@media (max-width: 768px){
  .cevrimici-liste{grid-template-columns:1fr;gap:8px;}
  .cevrimici-kart{padding:9px 11px;gap:10px;}
  .cevrimici-avatar{width:30px;height:30px;font-size:11.5px;}
}

/* Yonetici ana sayfa istatistikleri: mobilde tek sira serit */
.etiket-kisa{display:none;}

@media (max-width: 768px){
  .istatistik-serit{
    display:flex;gap:0;margin-bottom:12px;
    background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;
  }
  .istatistik-serit .istatistik-kart{
    flex:1 1 0;min-width:0;padding:9px 2px;
    background:none;border:none;border-left:1px solid var(--border);border-radius:0;
  }
  .istatistik-serit .istatistik-kart:first-child{border-left:none;}
  .istatistik-serit .istatistik-sayi{font-size:15px;}
  .istatistik-serit .istatistik-etiket{
    font-size:7.5px;margin-top:4px;line-height:1.2;letter-spacing:0.2px;white-space:nowrap;
  }
  .istatistik-serit .etiket-tam{display:none;}
  .istatistik-serit .etiket-kisa{display:inline;}
}

/* Mobil: harita balonu ekrani tasmasin — genislik sinirli, uzun icerik kendi icinde kaysin */
@media (max-width: 768px){
  .leaflet-popup{max-width:calc(100vw - 24px);}
  .leaflet-popup-content-wrapper{max-width:calc(100vw - 24px);}
  .leaflet-popup-content{
    margin:11px 12px;min-width:250px;
    max-height:46vh;overflow-y:auto;overscroll-behavior:contain;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .leaflet-popup-content::-webkit-scrollbar{width:0;height:0;}
  .popup-title{font-size:14px;}
  .popup-note{font-size:12px;margin:5px 0 6px;}
  .popup-meta{font-size:10.5px;line-height:1.6;}
  .popup-actions{margin-top:8px;gap:5px;position:sticky;bottom:0;
    background:var(--bg-panel);padding-top:6px;}
}

/* Sistem sekmesi: Hakkinda kutusu */
.hakkinda-panel{text-align:center;display:flex;flex-direction:column;justify-content:center;}
.hakkinda-panel .panel-govde{margin:auto 0;}
.hakkinda-panel .panel-alt{border-top:none;padding-top:14px;margin-top:0;}
.hakkinda-marka{
  font-family:var(--font-display);font-weight:700;font-size:32px;
  letter-spacing:2px;color:var(--teal);line-height:1.1;
}
.hakkinda-alt{
  font-family:var(--font-mono);font-size:11px;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:1px;margin-top:4px;
}
.hakkinda-metin{
  font-size:12.5px;line-height:1.7;color:var(--text);
  margin:16px auto 0;max-width:420px;
}
.hakkinda-iletisim{font-size:12px;color:var(--text-muted);}
.hakkinda-iletisim a{color:var(--teal);text-decoration:none;}
.hakkinda-iletisim a:hover{text-decoration:underline;}
