/* ══ ROOT ══ */
:root{
  --primary:#00d4ff;--accent:#00ff88;--warn:#ff6b35;--purple:#a78bfa;
  --gold:#ffd700;--rose:#f472b6;--green:#4ade80;
  --bg-dark:#020d1a;--bg-panel:rgba(4,18,38,0.96);
  --border:rgba(0,212,255,0.2);--glow:0 0 20px rgba(0,212,255,0.4);
  --text:#e0f4ff;
  /* day-mode vars (overridden below) */
  --hdr-bg:rgba(2,13,26,0.98);--hdr-border:rgba(0,212,255,0.18);
  --tab-bg:rgba(3,10,26,0.99);--tab-border:rgba(0,212,255,0.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Exo 2',sans-serif;background:var(--bg-dark);color:var(--text);overflow:hidden;height:100vh;width:100vw;}

/* ══ MAP ══ */
#map{position:fixed;inset:0;z-index:1;filter:brightness(1.05) saturate(1.1);transition:filter .5s;}
body.day-mode #map{filter:brightness(1) saturate(1);}
.scan-overlay{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,212,255,.01) 2px,rgba(0,212,255,.01) 4px);
  transition:opacity .5s;}
body.day-mode .scan-overlay{opacity:0;}
.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 50%,rgba(2,13,26,.55) 100%);}
body.day-mode .vignette{opacity:0;}

/* ══ DAY MODE — full solid panels ══ */
body.day-mode{color:#0d1f35;}
body.day-mode .header{
  background:#f0f8ff !important;
  border-bottom:2px solid #b8d8f0 !important;
  box-shadow:0 3px 20px rgba(0,80,160,.15) !important;
}
body.day-mode .logo-city{color:#0070b0;text-shadow:none;}
body.day-mode .logo-sub{color:rgba(0,80,140,.55);}
body.day-mode .header-center{color:rgba(0,50,100,.45);}
body.day-mode .clock{color:#0070b0;text-shadow:none;}
body.day-mode .live-badge{color:#0a8a50;}
body.day-mode .live-dot{background:#0a8a50;box-shadow:none;}
body.day-mode .module-tabs{
  background:#e8f4fc !important;
  border-bottom:2px solid #b8d8f0 !important;
}
body.day-mode .tab-btn{color:rgba(0,50,100,.45);}
body.day-mode .tab-btn:hover{color:rgba(0,50,100,.8);background:rgba(0,112,176,.05);}
body.day-mode .tab-btn.active{color:#0070b0;border-bottom-color:#0070b0;background:rgba(0,112,176,.07);}
body.day-mode .tab-btn.t-fleet.active{color:#a07010;border-bottom-color:#a07010;background:rgba(160,112,16,.06);}
body.day-mode .tab-btn.t-personnel.active{color:#c2185b;border-bottom-color:#c2185b;background:rgba(194,24,91,.05);}
body.day-mode .tab-btn.t-route.active{color:#16a34a;border-bottom-color:#16a34a;background:rgba(22,163,74,.05);}
body.day-mode .layer-switcher .layer-btn{
  background:#f0f8ff;border-color:#b8d8f0;color:rgba(0,50,100,.6);}
body.day-mode .layer-btn.active{background:#d0ebf8;border-color:#0070b0;color:#0070b0;}
body.day-mode .layer-group-label{color:rgba(0,80,140,.45);}
body.day-mode .layer-divider{background:#b8d8f0;}
body.day-mode .side-panel{background:#f0f8ff;border-right:2px solid #b8d8f0;}
body.day-mode .toggle-btn{background:#f0f8ff;border-color:#b8d8f0;color:#0070b0;}
body.day-mode .ticker-bar{background:#e8f4fc;border-top:2px solid #b8d8f0;}
body.day-mode .ticker-label{color:#0070b0;border-right-color:#b8d8f0;background:rgba(0,112,176,.05);}
body.day-mode .ticker-track::before{background:linear-gradient(90deg,#e8f4fc,transparent);}
body.day-mode .ticker-track::after{background:linear-gradient(270deg,#e8f4fc,transparent);}
body.day-mode .t-title{color:inherit;}
body.day-mode .t-desc{color:rgba(0,50,100,.5);}
body.day-mode .t-chip-lbl{color:rgba(0,50,100,.45);}
body.day-mode .panel-section{background:rgba(0,112,176,.05);border-color:rgba(0,112,176,.18);}
body.day-mode .panel-section.s-fleet{background:rgba(160,112,16,.04);border-color:rgba(160,112,16,.18);}
body.day-mode .panel-section.s-rose{background:rgba(194,24,91,.04);border-color:rgba(194,24,91,.18);}
body.day-mode .panel-section.s-route{background:rgba(22,163,74,.04);border-color:rgba(22,163,74,.18);}
body.day-mode .section-title{color:#0070b0;}
body.day-mode .section-title.gold{color:#a07010;}
body.day-mode .section-title.rose{color:#c2185b;}
body.day-mode .section-title.green{color:#16a34a;}
body.day-mode .stat-card{background:rgba(255,255,255,.8);border-color:rgba(0,112,176,.2);}
body.day-mode .stat-num{color:#0070b0;}
body.day-mode .record-item{background:rgba(255,255,255,.7);color:#0d1f35;}
body.day-mode .record-item:hover{background:rgba(0,112,176,.07);}
body.day-mode .ri-name{color:#0d1f35;}
body.day-mode .ri-sub{color:rgba(0,50,100,.5);}
body.day-mode .list-scroll{scrollbar-color:rgba(0,112,176,.3) transparent;}
body.day-mode .add-btn{color:#0070b0;border-color:rgba(0,112,176,.35);}
body.day-mode .add-btn:hover{background:rgba(0,112,176,.08);}
body.day-mode .person-search{background:rgba(255,255,255,.92);border-color:rgba(0,112,176,.3);color:#0a1628;}
body.day-mode .m-input{background:rgba(255,255,255,.92);border-color:rgba(0,112,176,.3);color:#0a1628;}
body.day-mode .m-input option{background:#f0f6ff;color:#0a1628;}
body.day-mode select.m-input{color:#0a1628;}
body.day-mode .route-vehicle-select{background:rgba(255,255,255,.92);color:#0a1628;border-color:rgba(22,163,74,.4);}
body.day-mode .route-vehicle-select option{background:#f0f8ff;color:#0a1628;}
body.day-mode .person-picker-search{background:rgba(255,255,255,.92);color:#0a1628;}
body.day-mode .pp-name{color:#0a1628;}
body.day-mode .pp-role{color:rgba(10,30,60,.55);}
body.day-mode .pp-item.selected{background:rgba(0,112,176,.12);}
body.day-mode .f-select{background:rgba(255,255,255,.9);color:#0a1628;}
body.day-mode .fmc-item{color:rgba(10,30,60,.6);background:rgba(240,248,255,.8);border-color:rgba(0,112,176,.2);}
body.day-mode .fmc-item.active{background:rgba(0,112,176,.15);border-color:rgba(0,112,176,.5);color:#004a9f;}
body.day-mode .rmt-btn{color:rgba(180,220,255,.5);background:rgba(6,20,45,.6);border:1px solid rgba(0,212,255,.15);padding:5px 8px;border-radius:5px;cursor:pointer;font-family:'Exo 2',sans-serif;font-size:9px;font-weight:600;transition:all .2s;letter-spacing:.5px;}
.rmt-btn:hover{color:rgba(224,244,255,.9);border-color:rgba(0,212,255,.4);}
.rmt-btn.active{color:#0ea5e9;background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.4);}
body.day-mode .rmt-btn.active{background:rgba(22,163,74,.12);color:#16a34a;}
body.day-mode .route-station-item{background:rgba(255,255,255,.6);}
body.day-mode .route-station-item:hover{background:rgba(22,163,74,.08);}
body.day-mode .route-station-item.rsi-selected{background:rgba(22,163,74,.12);}
body.day-mode .rol-item{border-color:rgba(22,163,74,.2);background:rgba(22,163,74,.06);}
body.day-mode .rsi-name,.day-mode .rol-name{color:#0d1f35;}
body.day-mode .rrb-lbl{color:rgba(0,50,100,.5);}
body.day-mode .icon-btn.edit{border-color:rgba(0,112,176,.3);color:rgba(0,112,176,.65);}
body.day-mode .icon-btn.edit:hover{background:rgba(0,112,176,.12);color:#0070b0;}

/* ══ HEADER ══ */
.header{position:fixed;top:0;left:0;right:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;padding:0 18px;
  background:rgba(2,13,26,.98);
  border-bottom:1px solid var(--border);
  transition:background .35s,border-color .35s,box-shadow .35s;}
.header-left{display:flex;align-items:center;gap:11px;}
.logo-icon{width:38px;height:38px;border:2px solid var(--primary);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:18px;
  animation:pulse-border 3s infinite;}
@keyframes pulse-border{
  0%,100%{box-shadow:0 0 8px rgba(0,212,255,.4);}
  50%{box-shadow:0 0 24px rgba(0,212,255,.85),0 0 48px rgba(0,212,255,.2);}
}
.logo-city{font-family:'Rajdhani',sans-serif;font-size:19px;font-weight:700;letter-spacing:4px;
  color:var(--primary);text-transform:uppercase;line-height:1;text-shadow:0 0 16px rgba(0,212,255,.6);}
.logo-sub{font-size:8px;font-weight:300;letter-spacing:2px;color:rgba(0,212,255,.5);text-transform:uppercase;}
.header-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;letter-spacing:5px;
  color:rgba(224,244,255,.5);text-transform:uppercase;white-space:nowrap;}
.header-right{display:flex;align-items:center;gap:11px;}
.live-badge{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;
  letter-spacing:2px;color:var(--accent);text-transform:uppercase;}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);
  animation:blink 1.4s infinite;box-shadow:0 0 7px var(--accent);}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}
.clock{font-family:'Rajdhani',sans-serif;font-size:17px;font-weight:600;
  color:var(--primary);letter-spacing:2px;text-shadow:0 0 10px rgba(0,212,255,.45);}

/* FİLTRE BUTONU VE PANELİ */
.filter-btn { background: rgba(0,212,255,0.1); border: 1px solid var(--primary); color: var(--primary); padding: 3px 9px; border-radius: 5px; font-family: 'Exo 2', sans-serif; font-size: 9px; font-weight: 600; text-transform: uppercase; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 5px; letter-spacing: 1px; margin-right:0; height:20px; }
.filter-btn:hover { background: rgba(0,212,255,0.2); box-shadow: var(--glow); }

.filter-overlay { position: fixed; bottom: 38px; right: 120px; z-index: 40; background: rgba(3, 18, 38, 0.98); border: 1px solid var(--border); border-radius: 12px; width: 280px; padding: 16px; backdrop-filter: blur(15px); box-shadow: 0 10px 40px rgba(0,212,255,0.15); display: none; flex-direction: column; gap: 12px; }
.filter-overlay.show { display: flex; }
.filter-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-bottom: 4px; }
.filter-title { font-family: 'Rajdhani', sans-serif; font-size: 14px; font-weight: 700; color: var(--primary); letter-spacing: 2px; text-transform: uppercase; }
.filter-close { background: rgba(244,114,182,.12); border: 1px solid rgba(244,114,182,.35); color: #f472b6; cursor: pointer; font-size: 13px; width: 26px; height: 26px; border-radius: 6px; display: flex; align-items: center; justify-content: center; transition: all .15s; flex-shrink: 0; }
.filter-close:hover { background: rgba(244,114,182,.25); border-color: rgba(244,114,182,.6); }
.f-group { display: flex; flex-direction: column; gap: 4px; }
.f-label { font-size: 9px; color: rgba(0,212,255,0.6); text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }
.f-select { width: 100%; padding: 6px 10px; background: rgba(6,20,45,.85); border: 1px solid var(--border); border-radius: 6px; color: #e8f4ff; font-family: 'Exo 2', sans-serif; font-size: 11px; outline: none; }
.f-select option { background: #060e22; color: #e8f4ff; }
.f-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.f-preset-btn { padding: 5px 10px; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.3); border-radius: 6px; color: var(--primary); font-size: 9px; font-weight: 600; cursor: pointer; transition: all 0.2s; letter-spacing: 1px; text-transform: uppercase; }
.f-preset-btn:hover { background: rgba(0,212,255,0.15); border-color: var(--primary); }
.f-preset-btn.add { border-style: dashed; color: rgba(224,244,255,0.6); border-color: rgba(224,244,255,0.3); }
.f-preset-btn.add:hover { color: var(--primary); border-color: var(--primary); }

/* ══ MULTI-SELECT FILTER CHIPS ══ */
.f-multi { display:flex; flex-wrap:wrap; gap:4px; margin-top:3px; }
.fmc-item { padding:3px 8px; font-size:8px; font-weight:600; letter-spacing:.5px;
  border:1px solid rgba(0,212,255,.2); border-radius:4px; cursor:pointer;
  color:rgba(224,244,255,.45); background:rgba(0,0,0,.2);
  transition:all .15s; user-select:none; }
.fmc-item:hover { border-color:rgba(0,212,255,.45); color:rgba(224,244,255,.8); }
.fmc-item.active { background:rgba(0,212,255,.14); border-color:rgba(0,212,255,.55); color:#00d4ff; }
/* colored variants per section */
#fm-fleet .fmc-item.active,#fm-fleet-cat .fmc-item.active { background:rgba(255,215,0,.12); border-color:rgba(255,215,0,.45); color:#ffd700; }
#fm-personnel .fmc-item.active,#fm-personnel-role .fmc-item.active { background:rgba(244,114,182,.12); border-color:rgba(244,114,182,.45); color:#f472b6; }
#fm-team .fmc-item.active,#fm-team-cat .fmc-item.active { background:rgba(251,146,60,.12); border-color:rgba(251,146,60,.45); color:#fb923c; }
#fm-route .fmc-item.active { background:rgba(74,222,128,.12); border-color:rgba(74,222,128,.45); color:#4ade80; }
#fm-work .fmc-item.active,#fm-work-type .fmc-item.active { background:rgba(192,132,252,.12); border-color:rgba(192,132,252,.45); color:#c084fc; }
#fm-gorev-cat .fmc-item.active { background:rgba(14,165,233,.14); border-color:rgba(14,165,233,.55); color:#0ea5e9; }
/* active filter indicator badge */
.filter-badge { position:absolute; top:-4px; right:-4px; width:14px; height:14px; border-radius:50%;
  background:#ff6b35; font-size:8px; font-weight:700; display:none; align-items:center; justify-content:center; color:#fff; }
.filter-badge.show { display:flex; }
.filter-btn-wrap { position:relative; display:inline-flex; align-items:center; }

/* ══ MODULE TABS ══ */
.module-tabs{position:fixed;top:64px;left:0;right:86px;z-index:25;
  display:flex;align-items:center;height:38px;
  background:rgba(2,10,26,.99);
  border-bottom:1px solid var(--border);
  transition:background .35s,border-color .35s;
  overflow:hidden;}
.tab-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:4px;
  padding:0 10px;height:100%;
  font-family:'Rajdhani',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:rgba(224,244,255,.35);cursor:pointer;border:none;
  background:transparent;border-bottom:2px solid transparent;white-space:nowrap;
  transition:all .2s;}
.tab-btn:hover{color:rgba(224,244,255,.75);background:rgba(255,255,255,.03);}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:rgba(0,212,255,.06);}
.tab-btn.t-fleet.active{color:var(--gold);border-bottom-color:var(--gold);background:rgba(255,215,0,.04);}
.tab-btn.t-personnel.active{color:var(--rose);border-bottom-color:var(--rose);background:rgba(244,114,182,.04);}
.tab-btn.t-route.active{color:var(--green);border-bottom-color:var(--green);background:rgba(74,222,128,.04);}
.tab-btn.t-work.active{color:#c084fc;border-bottom-color:#c084fc;background:rgba(192,132,252,.04);}
body.day-mode .tab-btn.t-work.active{color:#7c3aed;border-bottom-color:#7c3aed;}


/* ══ SAHA TAKİP (FIELD TRACKING) ══ */
.tab-btn.t-saha.active { color: #0ea5e9; border-bottom-color: #0ea5e9; background: rgba(14, 165, 233, 0.04); }
.tab-btn.t-gorev.active { color: #38bdf8; border-bottom-color: #38bdf8; background: rgba(56,189,248, 0.04); }
body.day-mode .tab-btn.t-gorev.active{color:#0284c7;border-bottom-color:#0284c7;}

/* ══ MOBİL APP / API ══ */
.tab-btn.t-api.active{color:#fb923c;border-bottom-color:#fb923c;background:rgba(251,146,60,.04);}
body.day-mode .tab-btn.t-api.active{color:#c2410c;border-bottom-color:#c2410c;}
body.view-api .panel-api{display:flex;}
.panel-api{display:none;flex-direction:column;gap:9px;}
.panel-section.s-api{background:rgba(251,146,60,.03);border-color:rgba(251,146,60,.17);}
.section-title.orange{color:#fb923c;}
.section-title.orange::after{background:linear-gradient(90deg,rgba(251,146,60,.22),transparent);}
body.day-mode .panel-section.s-api{background:rgba(194,65,12,.04);border-color:rgba(194,65,12,.18);}
body.day-mode .section-title.orange{color:#c2410c;}

/* API Log */
.api-log-wrap{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;}
.api-log-wrap::-webkit-scrollbar{width:3px;}
.api-log-wrap::-webkit-scrollbar-thumb{background:rgba(251,146,60,.25);border-radius:2px;}
.api-log-item{font-size:9px;padding:5px 8px;border-radius:5px;border-left:3px solid;font-family:'Rajdhani',sans-serif;letter-spacing:.3px;line-height:1.5;}
.api-log-checkin{border-color:#4ade80;background:rgba(74,222,128,.06);color:rgba(224,244,255,.75);}
.api-log-checkout{border-color:#fb923c;background:rgba(251,146,60,.06);color:rgba(224,244,255,.75);}
.api-log-photo{border-color:#c084fc;background:rgba(192,132,252,.06);color:rgba(224,244,255,.75);}
.api-log-location{border-color:#00d4ff;background:rgba(0,212,255,.04);color:rgba(224,244,255,.65);}
.api-log-auth{border-color:#ffd700;background:rgba(255,215,0,.05);color:rgba(224,244,255,.75);}
.api-log-offline{border-color:#ff6b35;background:rgba(255,107,53,.06);color:rgba(224,244,255,.65);}
.api-log-time{color:rgba(0,212,255,.6);margin-right:5px;font-size:8px;}
.api-log-tag{display:inline-block;padding:1px 5px;border-radius:3px;font-size:7px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-right:4px;}
.tag-in{background:rgba(74,222,128,.15);color:#4ade80;}
.tag-out{background:rgba(251,146,60,.15);color:#fb923c;}
.tag-photo{background:rgba(192,132,252,.15);color:#c084fc;}
.tag-gps{background:rgba(0,212,255,.12);color:#00d4ff;}
.tag-auth{background:rgba(255,215,0,.12);color:#ffd700;}
.tag-offline{background:rgba(255,107,53,.15);color:#ff6b35;}
.tag-sync{background:rgba(0,255,136,.12);color:#00ff88;}

/* Aktif Personel / Görev Kartları */
.app-user-card{padding:8px 10px;border:1px solid rgba(251,146,60,.2);border-radius:7px;background:rgba(0,0,0,.2);margin-bottom:5px;transition:all .2s;}
.app-user-card:hover{background:rgba(251,146,60,.05);border-color:rgba(251,146,60,.4);}
.app-user-name{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;color:#fb923c;}
.app-user-sub{font-size:9px;color:rgba(224,244,255,.5);margin-top:2px;}
.app-user-status{display:flex;align-items:center;gap:5px;margin-top:4px;flex-wrap:wrap;}
.app-badge{font-size:7px;padding:2px 6px;border-radius:3px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
.badge-online{background:rgba(74,222,128,.15);color:#4ade80;border:1px solid rgba(74,222,128,.3);}
.badge-offline{background:rgba(255,107,53,.12);color:#ff6b35;border:1px solid rgba(255,107,53,.25);}
.badge-oncheckin{background:rgba(0,212,255,.12);color:#00d4ff;border:1px solid rgba(0,212,255,.25);}
.badge-task{background:rgba(192,132,252,.12);color:#c084fc;border:1px solid rgba(192,132,252,.25);}

/* Firestore Collection Şeması */
.schema-item{padding:6px 9px;border:1px solid rgba(251,146,60,.12);border-radius:6px;background:rgba(0,0,0,.15);margin-bottom:4px;}
.schema-coll{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;color:#fb923c;letter-spacing:1px;}
.schema-field{font-size:8px;color:rgba(224,244,255,.45);margin-top:3px;line-height:1.7;}
.schema-type{color:rgba(0,212,255,.6);font-style:italic;}

/* Stats bar */
.app-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px;}
.app-stat-card{background:rgba(251,146,60,.05);border:1px solid rgba(251,146,60,.15);border-radius:7px;padding:6px;text-align:center;}
.app-stat-num{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;color:#fb923c;line-height:1;}
.app-stat-lbl{font-size:7px;color:rgba(224,244,255,.4);letter-spacing:.8px;text-transform:uppercase;margin-top:2px;}

/* PIN gösterimi */
.pin-display{display:flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(0,0,0,.25);border:1px solid rgba(251,146,60,.2);border-radius:6px;margin-top:4px;}
.pin-dot{width:9px;height:9px;border-radius:50%;background:rgba(251,146,60,.7);}
.pin-code{font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:700;color:#fb923c;letter-spacing:3px;}
.pin-toggle{background:transparent;border:none;color:rgba(251,146,60,.5);cursor:pointer;font-size:11px;padding:2px 5px;border-radius:4px;transition:all .15s;}
.pin-toggle:hover{color:#fb923c;background:rgba(251,146,60,.08);}

/* Station completion ring */
.station-ring{width:36px;height:36px;position:relative;flex-shrink:0;}
.station-ring svg{transform:rotate(-90deg);}
.ring-bg{fill:none;stroke:rgba(251,146,60,.12);stroke-width:3;}
.ring-fill{fill:none;stroke:#fb923c;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .6s;}
.ring-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;}

body.view-saha .panel-saha { display: flex; }

/* ── Saha Etiket Toggle ─────────────────────────────────── */
.saha-label-toggle {
  display: flex; align-items: center; gap: 8px;
  cursor: pointer; user-select: none;
  padding: 6px 4px 2px;
}
.saha-label-toggle input { display: none; }
.slt-track {
  position: relative; width: 32px; height: 17px; flex-shrink: 0;
  background: rgba(14,165,233,.15); border: 1px solid rgba(14,165,233,.25);
  border-radius: 9px; transition: all .2s;
}
.slt-thumb {
  position: absolute; top: 2px; left: 2px;
  width: 11px; height: 11px; border-radius: 50%;
  background: rgba(14,165,233,.5); transition: all .2s;
}
.saha-label-toggle input:checked ~ .slt-track { background: rgba(14,165,233,.3); border-color: rgba(14,165,233,.6); }
.saha-label-toggle input:checked ~ .slt-track .slt-thumb { left: 17px; background: #0ea5e9; box-shadow: 0 0 6px #0ea5e9aa; }
.slt-text { font-size: 9px; color: rgba(14,165,233,.6); letter-spacing: .5px; transition: color .2s; }
.saha-label-toggle input:checked ~ .slt-text { color: #0ea5e9; }

/* ── Saha Marker Etiket Baloncukları ────────────────────── */
.saha-marker-label {
  position: absolute;
  bottom: 100%; left: 50%;
  transform: translateX(-50%) translateY(-4px);
  background: rgba(2, 10, 24, 0.93);
  border: 1px solid rgba(14,165,233,.35);
  border-radius: 6px;
  padding: 3px 7px;
  white-space: nowrap;
  pointer-events: none;
  font-family: 'Exo 2', sans-serif;
  font-size: 9px;
  color: #e0f4ff;
  letter-spacing: .3px;
  box-shadow: 0 0 8px rgba(14,165,233,.2), 0 2px 6px rgba(0,0,0,.5);
  display: flex; align-items: center; gap: 4px;
  opacity: 0; transition: opacity .2s;
}
.saha-marker-label::after {
  content: '';
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: rgba(14,165,233,.35);
}
.saha-marker-label .sml-name { color: #e0f4ff; font-weight: 600; }
.saha-marker-label .sml-status { font-size: 8px; opacity: .65; }

/* Araç etiketi (altın) */
.saha-marker-label.sml-vehicle {
  border-color: rgba(255,215,0,.4);
  box-shadow: 0 0 8px rgba(255,215,0,.15), 0 2px 6px rgba(0,0,0,.5);
}
.saha-marker-label.sml-vehicle::after { border-top-color: rgba(255,215,0,.4); }
.saha-marker-label.sml-vehicle .sml-name { color: #ffd700; }

/* Göster durumu */
body.saha-labels-on .saha-marker-label { opacity: 1; }

/* Leaflet divIcon'da overflow visible — label baloncuğu dışarı taşsın */
.leaflet-div-icon { overflow: visible !important; background: none !important; border: none !important; }
.saha-marker-label { z-index: 1000; }
body.view-gorev .panel-gorev { display: flex; }
.panel-saha { display: none; flex-direction: column; gap: 9px; }
.panel-gorev { display: none; flex-direction: column; gap: 9px; }
.panel-section.s-saha { background: rgba(14, 165, 233, 0.03); border-color: rgba(14, 165, 233, 0.17); }
.section-title.cyan { color: #0ea5e9; }
.section-title.cyan::after { background: linear-gradient(90deg, rgba(14, 165, 233, 0.22), transparent); }

/* Saha Akış Öğeleri */
.saha-item { padding: 8px 10px; border: 1px solid rgba(14, 165, 233, 0.2); border-radius: 7px; background: rgba(0, 0, 0, 0.2); margin-bottom: 6px; display: flex; flex-direction: column; gap: 6px; transition: all 0.2s; cursor: pointer;}
.saha-item:hover { background: rgba(14, 165, 233, 0.05); border-color: rgba(14, 165, 233, 0.4); }
.saha-header { display: flex; justify-content: space-between; align-items: center; }
.saha-time { font-family: 'Rajdhani', sans-serif; font-size: 10px; font-weight: 700; color: #0ea5e9; letter-spacing: 1px; }
.saha-badge { font-size: 7px; padding: 2px 5px; border-radius: 3px; background: rgba(14, 165, 233, 0.15); color: #0ea5e9; text-transform: uppercase; font-weight: 600; }
.saha-desc { font-size: 10px; color: var(--text); line-height: 1.4; }
.saha-img-wrap { width: 100%; height: 120px; border-radius: 5px; overflow: hidden; border: 1px solid rgba(255,255,255,0.1); margin-top: 4px; }
.saha-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.saha-vehicle { display: flex; align-items: center; gap: 5px; font-size: 9px; color: rgba(224, 244, 255, 0.5); margin-top: 2px; }

body.day-mode .saha-item { background: rgba(255, 255, 255, 0.6); }
body.day-mode .saha-desc { color: #0d1f35; }

/* ══ WORK PANEL COLOR ══ */
:root{--violet:#c084fc;}
.panel-section.s-work{background:rgba(192,132,252,.03);border-color:rgba(192,132,252,.17);}
.section-title.violet{color:var(--violet);}
.section-title.violet::after{background:linear-gradient(90deg,rgba(192,132,252,.22),transparent);}
body.day-mode .panel-section.s-work{background:rgba(124,58,237,.04);border-color:rgba(124,58,237,.18);}
body.day-mode .section-title.violet{color:#7c3aed;}
body.day-mode .tab-btn.t-work.active{color:#7c3aed;border-bottom-color:#7c3aed;}
body.day-mode .add-btn.a-violet{color:#7c3aed;border-color:rgba(124,58,237,.35);}

.add-btn.a-violet{border-color:rgba(192,132,252,.28);color:var(--violet);}
.add-btn.a-violet:hover{background:rgba(192,132,252,.06);border-color:var(--violet);}

/* ══ WORK VIEW TOGGLE ══ */
.work-view-toggle{display:flex;border:1px solid rgba(192,132,252,.25);border-radius:8px;overflow:hidden;margin-bottom:8px;}
.wvt-btn{flex:1;padding:7px 4px;background:transparent;border:none;cursor:pointer;
  font-family:'Exo 2',sans-serif;font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(192,132,252,.45);transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px;}
.wvt-btn .wvt-icon{font-size:13px;}
.wvt-btn:not(:last-child){border-right:1px solid rgba(192,132,252,.2);}
.wvt-btn.active{background:rgba(192,132,252,.12);color:var(--violet);}
.wvt-btn:hover:not(.active){background:rgba(192,132,252,.06);color:rgba(192,132,252,.75);}

/* ══ WORK CALENDAR ══ */
.work-calendar{background:rgba(0,0,0,.18);border:1px solid rgba(192,132,252,.15);border-radius:8px;overflow:hidden;margin-bottom:8px;}
.wc-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(192,132,252,.12);}
.wc-nav{width:22px;height:22px;border-radius:5px;border:1px solid rgba(192,132,252,.25);background:transparent;
  color:var(--violet);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .15s;}
.wc-nav:hover{background:rgba(192,132,252,.1);}
.wc-month{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;color:var(--violet);letter-spacing:2px;text-transform:uppercase;}
.wc-days-header{display:grid;grid-template-columns:repeat(7,1fr);padding:4px 6px 2px;}
.wc-day-label{font-size:7px;font-weight:600;letter-spacing:1px;color:rgba(192,132,252,.4);text-align:center;text-transform:uppercase;}
.wc-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:2px 6px 6px;gap:2px;}
.wc-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:2px;border-radius:4px;cursor:pointer;transition:all .15s;position:relative;}
.wc-cell:hover{background:rgba(192,132,252,.08);}
.wc-cell.today{background:rgba(192,132,252,.15);border:1px solid rgba(192,132,252,.35);}
.wc-cell.selected{background:rgba(192,132,252,.22);border:1px solid var(--violet);}
.wc-cell.other-month .wc-date{opacity:.25;}
.wc-date{font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:600;color:var(--text);line-height:1;}
.wc-dot-row{display:flex;gap:1px;flex-wrap:wrap;justify-content:center;margin-top:1px;}
.wc-dot{width:4px;height:4px;border-radius:50%;}
body.day-mode .wc-cell{color:#0d1f35;}
body.day-mode .wc-date{color:#0d1f35;}
body.day-mode .wc-day-label{color:rgba(124,58,237,.5);}
body.day-mode .wc-cell.today{background:rgba(124,58,237,.12);}
body.day-mode .wc-cell.selected{background:rgba(124,58,237,.18);}
body.day-mode .work-calendar{background:rgba(255,255,255,.5);}

/* ══ WORK ITEM LIST ══ */
.work-item{padding:8px 10px;border:1px solid transparent;border-radius:7px;
  background:rgba(0,0,0,.16);margin-bottom:4px;cursor:pointer;transition:all .18s;position:relative;}
.work-item:hover{background:rgba(192,132,252,.06);border-color:rgba(192,132,252,.2);}
.work-item.wi-active{border-color:rgba(0,255,136,.3);background:rgba(0,255,136,.04);}
.work-item.wi-pending{border-color:rgba(255,215,0,.25);background:rgba(255,215,0,.03);}
.work-item.wi-done{border-color:rgba(167,139,250,.2);background:rgba(167,139,250,.03);}
.work-item.wi-cancelled{border-color:rgba(255,107,53,.18);background:rgba(255,107,53,.03);opacity:.65;}
.wi-header{display:flex;align-items:center;gap:7px;margin-bottom:4px;}
.wi-order-no{font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--violet);}
.wi-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.wi-title{font-size:12px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wi-actions{display:flex;gap:3px;flex-shrink:0;}
.wi-meta{display:flex;gap:8px;flex-wrap:wrap;}
.wi-chip{font-size:8px;color:rgba(224,244,255,.4);display:flex;align-items:center;gap:3px;letter-spacing:.5px;}
.wi-recur{position:absolute;top:7px;right:60px;font-size:8px;color:var(--violet);opacity:.7;}
body.day-mode .wi-chip{color:rgba(0,50,100,.5);}
body.day-mode .work-item{background:rgba(255,255,255,.55);}
body.day-mode .work-item:hover{background:rgba(124,58,237,.06);}
body.day-mode .wi-title{color:#0d1f35;}
body.day-mode .wi-order-no{color:#7c3aed;}

/* STATUS FILTER BAR */
.work-filter-bar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px;}
.wfb-btn{font-size:8px;font-weight:600;letter-spacing:.8px;padding:3px 7px;border-radius:4px;border:1px solid transparent;cursor:pointer;background:transparent;transition:all .15s;text-transform:uppercase;}
.wfb-btn:hover,.wfb-btn.active{border-color:var(--violet);color:var(--violet);background:rgba(192,132,252,.1);}

/* ══ MODAL WORK ══ */
.modal.m-violet{border-color:rgba(192,132,252,.25);box-shadow:0 0 44px rgba(192,132,252,.1);}
.m-title.violet{color:var(--violet);}
.m-label.violet{color:rgba(192,132,252,.52);}
.m-input.violet:focus{border-color:var(--violet);box-shadow:0 0 8px rgba(192,132,252,.15);}
.m-save.violet{border-color:var(--violet);color:var(--violet);background:linear-gradient(135deg,rgba(192,132,252,.14),rgba(192,132,252,.05));}
.m-save.violet:hover{background:rgba(192,132,252,.2);}
.m-section-label.violet{color:rgba(192,132,252,.45);}

/* RECURRENCE PICKER */
.recur-options{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;}
.recur-opt{padding:5px 10px;border-radius:6px;border:1px solid rgba(192,132,252,.25);background:rgba(6,20,45,.7);
  color:rgba(192,132,252,.55);font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.recur-opt:hover{border-color:rgba(192,132,252,.5);color:#c084fc;}
.recur-opt.active{background:rgba(192,132,252,.2);border-color:var(--violet);color:#e0b0ff;font-weight:700;}
.recur-detail{background:rgba(0,0,0,.2);border:1px solid rgba(192,132,252,.15);border-radius:7px;padding:9px;margin-top:6px;}
.recur-detail-block { margin-top:4px; }

/* ── Weekday picker ── */
.weekday-picker { display:flex; gap:4px; flex-wrap:wrap; margin-top:4px; }
.wd-btn {
  padding:6px 9px; border-radius:6px; border:1px solid rgba(192,132,252,.22);
  background:rgba(6,20,45,.7); color:rgba(200,170,255,.45); cursor:pointer;
  font-size:10px; font-weight:600; letter-spacing:.5px; transition:all .15s;
  font-family:'Rajdhani',sans-serif;
}
.wd-btn:hover { border-color:rgba(192,132,252,.5); color:#c084fc; background:rgba(192,132,252,.08); }
.wd-btn.active {
  background:rgba(192,132,252,.22); border-color:#c084fc;
  color:#e0b0ff; font-weight:700; box-shadow:0 0 8px rgba(192,132,252,.2);
}

/* WORK ROUTE PREVIEW on map */
.work-map-badge{position:fixed;top:115px;left:330px;z-index:21;
  background:rgba(192,132,252,.15);border:1px solid rgba(192,132,252,.4);border-radius:7px;
  padding:6px 12px;font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--violet);backdrop-filter:blur(10px);display:none;align-items:center;gap:6px;}
.work-map-badge.show{display:flex;}

/* WORK DETAIL SIDE PANEL SECTION */
.work-detail-section{background:rgba(192,132,252,.05);border:1px solid rgba(192,132,252,.18);border-radius:8px;padding:10px;margin-top:6px;}
.wds-row{display:flex;gap:6px;font-size:10px;color:rgba(224,244,255,.55);margin-bottom:5px;align-items:flex-start;}
.wds-icon{font-size:12px;flex-shrink:0;margin-top:1px;}
.wds-label{font-size:8px;color:rgba(192,132,252,.45);letter-spacing:1px;text-transform:uppercase;margin-bottom:1px;}
body.day-mode .wds-row{color:rgba(0,50,100,.6);}
body.day-mode .work-detail-section{background:rgba(124,58,237,.04);border-color:rgba(124,58,237,.18);}
body.day-mode .wds-label{color:rgba(124,58,237,.5);}

/* STATS */
.work-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px;}
.wsg-card{background:rgba(0,0,0,.25);border:1px solid rgba(192,132,252,.12);border-radius:7px;padding:7px;text-align:center;}
.wsg-num{font-family:'Rajdhani',sans-serif;font-size:20px;font-weight:700;color:var(--violet);line-height:1;}
.wsg-lbl{font-size:7px;color:rgba(224,244,255,.35);letter-spacing:1px;text-transform:uppercase;margin-top:2px;}
body.day-mode .wsg-card{background:rgba(255,255,255,.65);border-color:rgba(124,58,237,.15);}
body.day-mode .wsg-num{color:#7c3aed;}
body.day-mode .wsg-lbl{color:rgba(0,50,100,.45);}

/* ══ LAYER SWITCHER ══ */
.layer-switcher{position:fixed;right:12px;top:76px;z-index:30;
  display:flex;flex-direction:column;gap:5px;align-items:center;}
.layer-group-label{font-size:8px;font-weight:600;letter-spacing:2px;
  color:rgba(0,212,255,.36);text-transform:uppercase;margin-bottom:1px;}
.layer-btn{width:79px;padding:6px 4px;background:rgba(2,15,35,.9);border:1px solid var(--border);
  border-radius:7px;cursor:pointer;color:rgba(224,244,255,.46);
  font-family:'Exo 2',sans-serif;font-size:11px;font-weight:500;text-align:center;
  transition:all .2s;backdrop-filter:blur(12px);
  display:flex;flex-direction:column;align-items:center;gap:2px;}
.layer-btn .l-icon{font-size:14px;}
.layer-btn:hover{border-color:rgba(0,212,255,.5);color:var(--text);}
.layer-btn.active{background:rgba(0,212,255,.12);border-color:var(--primary);color:var(--primary);}
.layer-divider{height:1px;background:var(--border);width:100%;margin:2px 0;}

/* ══ SIDE PANEL ══ */
.side-panel{position:fixed;left:0;top:102px;bottom:24px;width:320px;z-index:20;
  background:var(--bg-panel);border-right:1px solid var(--border);
  backdrop-filter:blur(20px);
  display:flex;flex-direction:column;padding:11px;gap:9px;overflow-y:auto;
  transform:translateX(0);transition:transform .4s cubic-bezier(.4,0,.2,1);}
.side-panel.hidden{transform:translateX(-100%);}
/* Panel kapandığında edge tab da kayar — JS zaten left:0 set ediyor, ek güvenlik */
.side-panel.hidden ~ .panel-edge-tab,
#sidePanel.hidden ~ #toggleBtn { left:0 !important; }
.side-panel::-webkit-scrollbar{width:3px;}
.side-panel::-webkit-scrollbar-thumb{background:rgba(0,212,255,.2);border-radius:2px;}

/* Panel visibility */
.panel-station,.panel-fleet,.panel-personnel,.panel-route,.panel-work{display:none;flex-direction:column;gap:9px;}
body.view-station   .panel-station  {display:flex;}
body.view-fleet     .panel-fleet    {display:flex;}
body.view-personnel .panel-personnel{display:flex;}
body.view-route     .panel-route    {display:flex;}
body.view-work      .panel-work     {display:flex;}

/* ══ PANEL SECTIONS ══ */
.panel-section{background:rgba(0,212,255,.04);border:1px solid var(--border);border-radius:9px;padding:10px;}
.panel-section.s-fleet{background:rgba(255,215,0,.03);border-color:rgba(255,215,0,.17);}
.panel-section.s-rose{background:rgba(244,114,182,.03);border-color:rgba(244,114,182,.17);}
.panel-section.s-route{background:rgba(74,222,128,.03);border-color:rgba(74,222,128,.17);}
.section-title{font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:600;letter-spacing:3px;
  color:var(--primary);text-transform:uppercase;margin-bottom:8px;
  display:flex;align-items:center;gap:6px;}
.section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}
.section-title.gold{color:var(--gold);}
.section-title.gold::after{background:linear-gradient(90deg,rgba(255,215,0,.22),transparent);}
.section-title.rose{color:var(--rose);}
.section-title.rose::after{background:linear-gradient(90deg,rgba(244,114,182,.22),transparent);}
.section-title.green{color:var(--green);}
.section-title.green::after{background:linear-gradient(90deg,rgba(74,222,128,.22),transparent);}

/* ══ STAT GRID ══ */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.stat-card{background:rgba(0,0,0,.28);border:1px solid var(--border);border-radius:8px;padding:8px;
  text-align:center;cursor:default;transition:all .2s;position:relative;overflow:hidden;}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--primary);transform:scaleX(0);transition:transform .2s;transform-origin:left;}
.stat-card:hover::before{transform:scaleX(1);}
.stat-card.c-gold::before{background:var(--gold);}
.stat-card.c-rose::before{background:var(--rose);}
.stat-num{font-family:'Rajdhani',sans-serif;font-size:26px;font-weight:700;color:var(--primary);line-height:1;}
.stat-num.c-green{color:var(--accent);}
.stat-num.c-orange{color:var(--warn);}
.stat-num.c-purple{color:var(--purple);}
.stat-num.c-gold{color:var(--gold);}
.stat-num.c-rose{color:var(--rose);}
.stat-label{font-size:8px;color:rgba(224,244,255,.38);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px;}

/* ══ LIST ══ */
.list-scroll{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;}
.list-scroll::-webkit-scrollbar{width:3px;}
.list-scroll::-webkit-scrollbar-thumb{background:rgba(0,212,255,.2);border-radius:2px;}

.record-item{display:flex;align-items:center;gap:8px;padding:7px 9px;
  border:1px solid transparent;border-radius:7px;background:rgba(0,0,0,.17);transition:all .18s;cursor:pointer;}
.record-item:hover{background:rgba(0,212,255,.06);border-color:rgba(0,212,255,.18);}
.record-item.r-gold:hover{background:rgba(255,215,0,.05);border-color:rgba(255,215,0,.2);}
.record-item.r-rose:hover{background:rgba(244,114,182,.05);border-color:rgba(244,114,182,.2);}

.ri-icon{font-size:15px;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;
  justify-content:center;border-radius:6px;background:rgba(0,0,0,.28);}
.ri-info{flex:1;min-width:0;}
.ri-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ri-sub{font-size:9px;color:rgba(224,244,255,.34);}
.ri-badge{font-size:7px;font-weight:600;letter-spacing:.8px;padding:2px 5px;border-radius:3px;
  text-transform:uppercase;flex-shrink:0;}
.b-active  {background:rgba(0,255,136,.13);color:var(--accent);}
.b-full    {background:rgba(255,107,53,.13);color:var(--warn);}
.b-idle    {background:rgba(0,212,255,.09);color:rgba(0,212,255,.75);}
.b-faulty  {background:rgba(255,60,60,.15);color:#ff4040;}
.b-passive {background:rgba(180,180,180,.1);color:rgba(180,200,220,.45);}
.b-planned {background:rgba(192,132,252,.1);color:#c084fc;}
.b-maint {background:rgba(255,107,53,.13);color:var(--warn);}
.b-off   {background:rgba(167,139,250,.12);color:var(--purple);}
.b-driver{background:rgba(255,215,0,.12);color:var(--gold);}
.b-field {background:rgba(0,255,136,.12);color:var(--accent);}
.b-center{background:rgba(0,212,255,.1);color:var(--primary);}
.b-super {background:rgba(244,114,182,.12);color:var(--rose);}

.ri-actions{display:flex;gap:4px;flex-shrink:0;}
.icon-btn{width:24px;height:24px;border-radius:5px;border:1px solid transparent;background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;
  transition:all .17s;flex-shrink:0;}
.icon-btn.edit{border-color:rgba(0,212,255,.25);color:rgba(0,212,255,.55);}
.icon-btn.edit:hover{background:rgba(0,212,255,.12);border-color:var(--primary);color:var(--primary);}
.icon-btn.del{border-color:rgba(255,107,53,.2);color:rgba(255,107,53,.5);}
.icon-btn.del:hover{background:rgba(255,107,53,.12);border-color:var(--warn);color:var(--warn);}

.mini-bar{width:38px;height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;margin-top:2px;}
.mini-bar-fill{height:100%;border-radius:2px;}

.add-btn{width:100%;padding:9px;background:transparent;border:1px dashed rgba(0,212,255,.28);
  border-radius:8px;color:var(--primary);font-family:'Exo 2',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:6px;}
.add-btn:hover{background:rgba(0,212,255,.06);border-color:var(--primary);box-shadow:var(--glow);}
.add-btn.a-gold{border-color:rgba(255,215,0,.28);color:var(--gold);}
.add-btn.a-gold:hover{background:rgba(255,215,0,.06);border-color:var(--gold);}
.add-btn.a-rose{border-color:rgba(244,114,182,.28);color:var(--rose);}
.add-btn.a-rose:hover{background:rgba(244,114,182,.06);border-color:var(--rose);}
.add-btn.a-green{border-color:rgba(74,222,128,.28);color:var(--green);}
.add-btn.a-green:hover{background:rgba(74,222,128,.06);border-color:var(--green);}

.progress-bar{width:100%;height:3px;background:rgba(0,212,255,.1);border-radius:2px;margin-top:6px;overflow:hidden;}
.progress-fill{height:100%;border-radius:2px;}

.person-search{width:100%;padding:6px 10px;background:rgba(6,20,45,.85);border:1px solid var(--border);color:#e8f4ff;
  border-radius:6px;color:var(--text);font-family:'Exo 2',sans-serif;font-size:11px;outline:none;margin-bottom:7px;}
.person-search:focus{border-color:var(--primary);}

/* ══ ROUTE MODULE ══ */
.route-mode-toggle{display:flex;border:1px solid rgba(74,222,128,.25);border-radius:8px;overflow:hidden;margin-bottom:8px;}
.rmt-btn{flex:1;padding:9px 4px;background:transparent;border:none;cursor:pointer;
  font-family:'Exo 2',sans-serif;font-size:9px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:rgba(74,222,128,.45);transition:all .2s;
  display:flex;flex-direction:column;align-items:center;gap:3px;}
.rmt-btn .rmt-icon{font-size:15px;}
.rmt-btn:first-child{border-right:1px solid rgba(74,222,128,.2);}
.rmt-btn.active{background:rgba(74,222,128,.12);color:var(--green);}
.rmt-btn:hover:not(.active){background:rgba(74,222,128,.06);color:rgba(74,222,128,.75);}

.route-vehicle-select{width:100%;padding:7px 10px;background:rgba(6,20,45,.85);color:#e8f4ff;
  border:1px solid rgba(74,222,128,.25);border-radius:7px;color:var(--text);
  font-family:'Exo 2',sans-serif;font-size:12px;outline:none;margin-bottom:6px;}
.route-vehicle-select:focus{border-color:var(--green);}
.route-vehicle-select option{background:#020d1a;}

.route-hint{font-size:8px;color:rgba(74,222,128,.45);letter-spacing:.8px;margin-bottom:5px;}

.route-station-item{display:flex;align-items:center;gap:7px;padding:6px 8px;
  border:1px solid transparent;border-radius:6px;background:rgba(0,0,0,.14);
  transition:all .15s;cursor:pointer;}
.route-station-item:hover{background:rgba(74,222,128,.07);border-color:rgba(74,222,128,.22);}
.route-station-item.rsi-selected{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.42);}
.rsi-seq{width:18px;height:18px;border-radius:50%;border:1px solid rgba(74,222,128,.35);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;color:var(--green);flex-shrink:0;}
.rsi-selected .rsi-seq{background:var(--green);color:#020d1a;border-color:var(--green);}
.rsi-name{font-size:11px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rsi-dist{font-size:9px;color:rgba(74,222,128,.55);flex-shrink:0;}

.route-order-list{display:flex;flex-direction:column;gap:3px;max-height:160px;overflow-y:auto;}
.route-order-list::-webkit-scrollbar{width:3px;}
.route-order-list::-webkit-scrollbar-thumb{background:rgba(74,222,128,.2);border-radius:2px;}
.rol-item{display:flex;align-items:center;gap:6px;padding:5px 8px;
  border:1px solid rgba(74,222,128,.15);border-radius:6px;background:rgba(74,222,128,.04);cursor:pointer;transition:all .18s;}
.rol-item:hover{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.35);}
.rol-num{width:18px;height:18px;border-radius:50%;background:var(--green);color:#020d1a;
  display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;flex-shrink:0;}
.rol-name{font-size:11px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
.rol-remove{width:18px;height:18px;border-radius:4px;border:1px solid rgba(255,107,53,.3);
  background:transparent;color:rgba(255,107,53,.6);font-size:9px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.rol-remove:hover{background:rgba(255,107,53,.15);color:var(--warn);}
.rol-up,.rol-down{width:18px;height:18px;border-radius:4px;border:1px solid rgba(74,222,128,.25);
  background:transparent;color:rgba(74,222,128,.6);font-size:9px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.rol-up:hover,.rol-down:hover{background:rgba(74,222,128,.12);color:var(--green);}

.route-action-btn{width:100%;padding:10px;border-radius:8px;border:none;cursor:pointer;
  font-family:'Exo 2',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:7px;}
.rab-ai{background:linear-gradient(135deg,rgba(74,222,128,.18),rgba(0,212,255,.08));
  border:1px solid var(--green);color:var(--green);}
.rab-ai:hover{background:linear-gradient(135deg,rgba(74,222,128,.28),rgba(0,212,255,.12));
  box-shadow:0 0 18px rgba(74,222,128,.28);}
.rab-manual{background:linear-gradient(135deg,rgba(0,212,255,.12),rgba(74,222,128,.06));
  border:1px solid var(--primary);color:var(--primary);}
.rab-manual:hover{background:rgba(0,212,255,.18);box-shadow:var(--glow);}
.rab-clear{background:transparent;border:1px solid rgba(255,107,53,.28);color:rgba(255,107,53,.65);}
.rab-clear:hover{background:rgba(255,107,53,.09);border-color:var(--warn);color:var(--warn);}

.route-result-box{background:rgba(74,222,128,.04);border:1px solid rgba(74,222,128,.2);
  border-radius:8px;padding:10px;}
.rrb-title{font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:2px;color:var(--green);text-transform:uppercase;margin-bottom:8px;}
.rrb-stat{display:flex;justify-content:space-between;margin-bottom:4px;}
.rrb-lbl{font-size:9px;color:rgba(224,244,255,.4);}
.rrb-val{font-size:9px;font-weight:600;color:var(--green);}

/* ══ PANEL EDGE TAB (collapse/expand) ══ */
.panel-edge-tab{
  position:fixed;left:320px;top:50%;transform:translateY(-50%);z-index:22;
  width:16px;height:56px;
  background:rgba(2,10,26,.9);
  border:1px solid rgba(0,212,255,.25);
  border-left:none;
  border-radius:0 8px 8px 0;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:left .4s cubic-bezier(.4,0,.2,1), background .2s;
  backdrop-filter:blur(12px);}
.panel-edge-tab:hover{background:rgba(0,212,255,.08);border-color:rgba(0,212,255,.45);}
.pet-arrow{
  font-size:13px;font-weight:300;
  color:rgba(0,212,255,.6);
  line-height:1;
  transition:color .2s;}
.panel-edge-tab:hover .pet-arrow{color:rgba(0,212,255,.95);}
body.day-mode .panel-edge-tab{background:#f0f8ff;border-color:#b8d8f0;}
body.day-mode .pet-arrow{color:#0070b0;}
/* Eski class adı geriye dönük uyumluluk için */
.toggle-btn{position:fixed;left:320px;top:50%;transform:translateY(-50%);z-index:22;
  width:16px;height:56px;background:rgba(2,10,26,.9);border:1px solid rgba(0,212,255,.25);
  border-left:none;border-radius:0 8px 8px 0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:left .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px);}

/* ══ TICKER ══ */
.ticker-bar{position:fixed;bottom:0;left:0;right:0;height:24px;z-index:30;
  background:rgba(2,8,20,.98);border-top:1px solid rgba(0,212,255,.2);
  backdrop-filter:blur(16px);display:flex;align-items:center;overflow:hidden;
  font-family:'Rajdhani',sans-serif;font-size:10px;letter-spacing:.8px;
  color:#c8dff0;}

/* Status bar bölümleri */
.sb-left{flex-shrink:0;display:flex;align-items:center;gap:6px;
  padding:0 12px;height:100%;border-right:1px solid rgba(0,212,255,.2);
  color:#00d4ff;font-size:9px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;white-space:nowrap;}
.sb-center{flex:1;display:flex;align-items:center;justify-content:center;
  padding:0 12px;gap:16px;overflow:hidden;}
.sb-right{flex-shrink:0;display:flex;align-items:center;gap:8px;
  padding:0 12px;height:100%;border-left:1px solid rgba(0,212,255,.2);
  color:#8bafc8;font-size:9px;white-space:nowrap;}
.sb-sep{color:rgba(0,212,255,.3);}
#sbFirebase{font-size:8px;transition:color .4s;}
#sbFirebase.connected{color:#00ff88;}
#sbFirebase.disconnected{color:#ff4040;}

/* Status bar mesaj öğeleri */
.sb-item{display:inline-flex;align-items:center;gap:5px;
  padding:0 10px;height:100%;border-right:1px solid rgba(0,212,255,.1);
  white-space:nowrap;font-size:9px;transition:color .3s;}
.sb-item:last-child{border-right:none;}
.sb-item .sb-val{font-weight:700;color:#00d4ff;}
.sb-item .sb-lbl{color:#8bafc8;}
.sb-item.warn .sb-val{color:#ff6b35;}
.sb-item.ok .sb-val{color:#00ff88;}
.sb-item.info .sb-val{color:#00d4ff;}

/* Toast mesajı status bar'a taşındığında */
.sb-toast{display:inline-flex;align-items:center;gap:5px;
  animation:sb-fade-in .2s ease;font-weight:600;color:#00d4ff;}
@keyframes sb-fade-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}


/* ══ POPUPS ══ */
.leaflet-popup-content-wrapper{background:rgba(2,15,35,.96)!important;border:1px solid rgba(0,212,255,.3)!important;border-radius:11px!important;box-shadow:0 0 24px rgba(0,212,255,.2)!important;backdrop-filter:blur(20px)!important;padding:0!important;}
.work-popup .leaflet-popup-content-wrapper{border-color:rgba(192,132,252,.45)!important;box-shadow:0 0 28px rgba(192,132,252,.25)!important;}
.work-popup .leaflet-popup-tip{background:rgba(2,15,35,.96)!important;}
.leaflet-popup-content{margin:0!important;padding:0!important;min-width:185px;}
/* ── Analiz popup özel stili ── */
.analiz-popup .leaflet-popup-content-wrapper{border-color:rgba(251,146,60,.35)!important;box-shadow:0 0 28px rgba(251,146,60,.15)!important;}
.analiz-popup .leaflet-popup-content{min-width:0!important;}
.analiz-popup .leaflet-popup-tip{background:rgba(2,15,35,.96)!important;}
.analiz-popup .leaflet-popup-close-button{color:rgba(224,244,255,.4)!important;top:8px!important;right:10px!important;font-size:16px!important;}
.wp-wrap{padding:14px 15px;min-width:260px;max-width:340px;font-family:'Exo 2',sans-serif;}
.wp-header{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(192,132,252,.2);}
.wp-orderno{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;color:#c084fc;letter-spacing:3px;margin-bottom:3px;}
.wp-title{font-size:14px;font-weight:700;color:#e8f4ff;line-height:1.3;margin-bottom:8px;}
.wp-badges{display:flex;gap:5px;flex-wrap:wrap;}
.wp-badge{font-size:8px;padding:2px 7px;border-radius:3px;font-weight:700;letter-spacing:.8px;}
.wp-section{margin:8px 0;padding:7px 9px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.wp-section-title{font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:5px;opacity:.55;}
.wp-row{display:flex;align-items:flex-start;gap:6px;font-size:10px;color:rgba(220,240,255,.75);margin-bottom:3px;line-height:1.4;}
.wp-row:last-child{margin-bottom:0;}
.wp-row-icon{flex-shrink:0;width:14px;text-align:center;font-size:11px;}
.wp-row-val{flex:1;}
.wp-row-val b{color:#e8f4ff;font-weight:600;}
.wp-pers-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.wp-pers-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:rgba(244,114,182,.1);border:1px solid rgba(244,114,182,.25);border-radius:10px;font-size:9px;color:#f9a8d4;}
.wp-team-block{background:rgba(251,146,60,.07);border:1px solid rgba(251,146,60,.2);border-radius:6px;padding:6px 8px;margin-top:4px;}
.wp-veh-list{display:flex;flex-direction:column;gap:3px;margin-top:3px;}
.wp-veh-chip{display:flex;align-items:center;gap:5px;padding:3px 7px;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2);border-radius:5px;font-size:9px;color:#86efac;}
.wp-desc{font-size:9px;color:rgba(200,225,255,.45);line-height:1.5;font-style:italic;margin-top:6px;padding-top:6px;border-top:1px solid rgba(192,132,252,.12);}
.wp-actions{display:flex;gap:6px;margin-top:10px;}
.wp-btn{flex:1;padding:6px 8px;border-radius:6px;font-size:9px;font-weight:700;letter-spacing:.8px;cursor:pointer;border:1px solid;transition:all .15s;text-align:center;}
.wp-btn:hover{filter:brightness(1.2);}
.wp-btn-edit{background:rgba(192,132,252,.1);border-color:rgba(192,132,252,.4);color:#c084fc;}
.wp-btn-route{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.3);color:#4ade80;}
.wp-btn-clear{background:rgba(255,107,53,.07);border-color:rgba(255,107,53,.25);color:#ff6b35;}
.leaflet-popup-tip{background:rgba(0,212,255,.3)!important;}
.leaflet-popup-close-button{color:rgba(0,212,255,.5)!important;top:6px!important;right:8px!important;}
.popup-header-row{display:flex;align-items:center;padding:8px 30px 4px 10px;gap:6px;}
.popup-header-row .plate-big{flex:1;margin-bottom:0;}
.popup-header-row .p-title{flex:1;margin-bottom:0;}
.popup-minimize-btn{background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.25);color:rgba(0,212,255,.7);width:18px;height:18px;border-radius:3px;cursor:pointer;font-size:12px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s;flex-shrink:0;}
.popup-minimize-btn:hover{background:rgba(0,212,255,.2);color:#00d4ff;}
.popup-details{padding:0 10px 10px 10px;transition:all .2s;}
.popup-minimized .popup-details{display:none;}
.popup-minimized .popup-header-row{padding-bottom:8px;}
.popup-minimized .plate-big{font-size:13px;letter-spacing:2px;}
.popup-minimized .p-title{font-size:11px;letter-spacing:1px;}
.p-title{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--primary);margin-bottom:7px;text-transform:uppercase;}
.p-title.gold{color:var(--gold);}
.p-row{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(224,244,255,.58);margin-bottom:3px;}
.plate-big{font-family:'Rajdhani',sans-serif;font-size:19px;font-weight:700;color:var(--gold);letter-spacing:3px;text-shadow:0 0 11px rgba(255,215,0,.4);margin-bottom:6px;}

/* ══ MODALS ══ */
.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(2,13,26,.84);
  backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;}
.modal-overlay.show{opacity:1;pointer-events:all;}
.modal{background:rgba(3,18,38,.99);border:1px solid var(--border);border-radius:14px;
  padding:22px;width:fit-content;min-width:400px;max-width:92vw;max-height:88vh;overflow-y:auto;
  box-shadow:0 0 44px rgba(0,212,255,.15);}
.modal::-webkit-scrollbar{width:3px;}
.modal::-webkit-scrollbar-thumb{background:rgba(0,212,255,.2);border-radius:2px;}
.modal.m-gold{border-color:rgba(255,215,0,.22);box-shadow:0 0 44px rgba(255,215,0,.1);}
.modal.m-rose{border-color:rgba(244,114,182,.22);box-shadow:0 0 44px rgba(244,114,182,.1);}
.m-title{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;letter-spacing:3px;
  color:var(--primary);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.m-title.gold{color:var(--gold);}
.m-title.rose{color:var(--rose);}
.m-field{margin-bottom:10px;}
.m-label{font-size:8px;font-weight:600;letter-spacing:2px;color:rgba(0,212,255,.52);
  text-transform:uppercase;margin-bottom:4px;}
.m-label.gold{color:rgba(255,215,0,.52);}
.m-label.rose{color:rgba(244,114,182,.52);}
.m-input{width:100%;padding:8px 11px;background:#060e22;border:1px solid var(--border);
  border-radius:7px;color:#e8f4ff;font-family:'Exo 2',sans-serif;font-size:13px;outline:none;transition:border-color .2s;color-scheme:dark;}
.m-input:focus{border-color:var(--primary);box-shadow:0 0 8px rgba(0,212,255,.15);}
.m-input.gold:focus{border-color:var(--gold);}
.m-input.rose:focus{border-color:var(--rose);}
.m-input option{background:#060e22;color:#e8f4ff;}
.m-input::placeholder{color:rgba(200,230,255,.3);}
select.m-input{color:#e8f4ff;}
textarea.m-input{color:#e8f4ff;background:rgba(6,20,45,.85);}
.m-input:-webkit-autofill{-webkit-text-fill-color:#e8f4ff !important;}
.m-input:-webkit-autofill,
.m-input:-webkit-autofill:hover,
.m-input:-webkit-autofill:focus,
.m-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px rgba(6,20,45,0.95) inset !important;
    -webkit-text-fill-color: #e8f4ff !important;
    transition: background-color 5000s ease-in-out 0s;
}
.m-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.m-actions{display:flex;gap:7px;margin-top:14px;}
.m-save{flex:1;padding:10px;background:linear-gradient(135deg,rgba(0,212,255,.17),rgba(0,212,255,.07));
  border:1px solid var(--primary);border-radius:7px;color:var(--primary);
  font-family:'Exo 2',sans-serif;font-size:10px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;cursor:pointer;transition:all .2s;}
.m-save:hover{background:rgba(0,212,255,.2);box-shadow:var(--glow);}
.m-save.gold{border-color:var(--gold);color:var(--gold);background:linear-gradient(135deg,rgba(255,215,0,.14),rgba(255,215,0,.05));}
.m-save.gold:hover{background:rgba(255,215,0,.18);}
.m-save.rose{border-color:var(--rose);color:var(--rose);background:linear-gradient(135deg,rgba(244,114,182,.14),rgba(244,114,182,.05));}
.m-save.rose:hover{background:rgba(244,114,182,.18);}
.m-cancel{padding:10px 13px;background:transparent;border:1px solid rgba(224,244,255,.14);
  border-radius:7px;color:rgba(224,244,255,.35);font-family:'Exo 2',sans-serif;font-size:10px;cursor:pointer;}
.m-cancel:hover{border-color:rgba(224,244,255,.35);color:rgba(224,244,255,.65);}
.m-divider{height:1px;background:var(--border);margin:12px 0;}
.m-section-label{font-family:'Rajdhani',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:2.5px;color:rgba(0,212,255,.45);text-transform:uppercase;margin-bottom:7px;}
.m-section-label.gold{color:rgba(255,215,0,.45);}
.m-section-label.rose{color:rgba(244,114,182,.45);}

/* PERSON PICKER */
.person-picker-wrap{border:1px solid var(--border);border-radius:7px;overflow:hidden;}
.person-picker-search{width:100%;padding:7px 10px;background:rgba(6,20,45,.9);
  border:none;border-bottom:1px solid var(--border);color:#e8f4ff;
  font-family:'Exo 2',sans-serif;font-size:11px;outline:none;}
.person-picker-list{max-height:110px;overflow-y:auto;}
.person-picker-list::-webkit-scrollbar{width:3px;}
.person-picker-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.pp-item{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;
  transition:background .15s;border-bottom:1px solid rgba(0,212,255,.05);}
.pp-item:hover{background:rgba(0,212,255,.07);}
.pp-item.selected{background:rgba(0,212,255,.12);}
.pp-item.gold-sel.selected{background:rgba(255,215,0,.09);}
.pp-check{width:14px;height:14px;border-radius:3px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;}
.pp-item.selected .pp-check{background:var(--primary);border-color:var(--primary);color:var(--bg-dark);}
.pp-item.gold-sel.selected .pp-check{background:var(--gold);border-color:var(--gold);}
.pp-name{font-size:11px;font-weight:500;color:#ddeeff;}
.pp-role{font-size:9px;color:rgba(180,220,255,.55);}
.pp-empty{padding:10px;font-size:10px;color:rgba(224,244,255,.3);text-align:center;}

/* CONFIRM */
.confirm-overlay{position:fixed;inset:0;z-index:200;background:rgba(2,13,26,.88);
  backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .2s;}
.confirm-overlay.show{opacity:1;pointer-events:all;}
.confirm-box{background:rgba(5,18,38,.99);border:1px solid rgba(255,107,53,.38);
  border-radius:12px;padding:20px 24px;width:320px;text-align:center;
  box-shadow:0 0 40px rgba(255,107,53,.16);}
.confirm-icon{font-size:30px;margin-bottom:8px;}
.confirm-title{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;
  letter-spacing:2px;color:var(--warn);text-transform:uppercase;margin-bottom:6px;}
.confirm-msg{font-size:11px;color:rgba(224,244,255,.5);margin-bottom:16px;line-height:1.6;}
.confirm-actions{display:flex;gap:8px;justify-content:center;}
.c-del{padding:9px 22px;background:rgba(255,107,53,.14);border:1px solid var(--warn);
  border-radius:7px;color:var(--warn);font-family:'Exo 2',sans-serif;font-size:10px;
  font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;}
.c-del:hover{background:rgba(255,107,53,.24);}
.c-no{padding:9px 16px;background:transparent;border:1px solid rgba(224,244,255,.14);
  border-radius:7px;color:rgba(224,244,255,.36);font-family:'Exo 2',sans-serif;font-size:10px;cursor:pointer;}
.c-no:hover{border-color:rgba(224,244,255,.35);color:rgba(224,244,255,.65);}

/* TOAST */
.toast{position:fixed;top:78px;left:50%;transform:translateX(-50%) translateY(-10px);z-index:300;
  background:rgba(0,255,136,.1);border:1px solid var(--accent);border-radius:8px;
  padding:8px 16px;color:var(--accent);font-size:11px;font-weight:500;letter-spacing:1px;
  backdrop-filter:blur(10px);opacity:0;transition:all .3s;pointer-events:none;white-space:nowrap;}
.toast.t-gold{background:rgba(255,215,0,.1);border-color:var(--gold);color:var(--gold);}
.toast.t-rose{background:rgba(244,114,182,.1);border-color:var(--rose);color:var(--rose);}
.toast.t-warn{background:rgba(255,107,53,.1);border-color:var(--warn);color:var(--warn);}
.toast.t-green{background:rgba(74,222,128,.1);border-color:var(--green);color:var(--green);}
.toast.t-violet{background:rgba(192,132,252,.1);border-color:var(--violet);color:var(--violet);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ROUTE ANIMATION */
@keyframes markerPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
@keyframes routeDash{to{stroke-dashoffset:-20;}}

.leaflet-container{background:#020d1a;}
.leaflet-control-zoom,.leaflet-control-attribution{display:none;}

/* ══ LOGIN SCREEN ══ */
.login-screen{position:fixed;inset:0;z-index:1000;background:var(--bg-dark);
  display:flex;align-items:center;justify-content:center;
  animation:fadeInLogin .5s ease;}
@keyframes fadeInLogin{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
.login-screen.hiding{animation:fadeOutLogin .4s ease forwards;}
@keyframes fadeOutLogin{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}
.login-bg-gfx{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.login-bg-gfx::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(0,212,255,.06),transparent);
  animation:loginBgPulse 4s ease-in-out infinite;}
@keyframes loginBgPulse{0%,100%{opacity:.6}50%{opacity:1}}
.login-box{position:relative;z-index:1;width:420px;max-width:96vw;
  background:rgba(3,14,32,.98);border:1px solid rgba(0,212,255,.2);border-radius:18px;
  padding:36px 32px;box-shadow:0 0 80px rgba(0,212,255,.12),0 20px 60px rgba(0,0,0,.6);}
.login-logo{text-align:center;margin-bottom:28px;}
.login-logo-icon{width:56px;height:56px;border:2px solid var(--primary);border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:24px;
  margin:0 auto 12px;animation:pulse-border 3s infinite;background:rgba(0,212,255,.06);}
.login-city{font-family:'Rajdhani',sans-serif;font-size:22px;font-weight:700;
  letter-spacing:5px;color:var(--primary);text-transform:uppercase;
  text-shadow:0 0 20px rgba(0,212,255,.5);}
.login-sub{font-size:9px;color:rgba(0,212,255,.45);letter-spacing:3px;text-transform:uppercase;margin-top:3px;}
.login-form-title{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:3px;color:rgba(224,244,255,.6);text-transform:uppercase;
  margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(0,212,255,.12);}
.login-field{margin-bottom:14px;}
.login-label{font-size:8px;font-weight:600;letter-spacing:2px;color:rgba(0,212,255,.52);
  text-transform:uppercase;margin-bottom:5px;display:block;}
.login-input{width:100%;padding:11px 14px;background:rgba(0,0,0,.35);
  border:1px solid rgba(0,212,255,.18);border-radius:8px;color:var(--text);
  font-family:'Exo 2',sans-serif;font-size:13px;outline:none;transition:border-color .2s;}
.login-input:focus{border-color:var(--primary);box-shadow:0 0 12px rgba(0,212,255,.12);}
.login-input.error{border-color:var(--warn);}
.login-forgot{text-align:right;margin-top:-8px;margin-bottom:14px;}
.login-forgot-btn{background:none;border:none;color:rgba(0,212,255,.5);font-family:'Exo 2',sans-serif;
  font-size:10px;cursor:pointer;letter-spacing:.5px;transition:color .2s;}
.login-forgot-btn:hover{color:var(--primary);}
.login-btn{width:100%;padding:12px;background:linear-gradient(135deg,rgba(0,212,255,.2),rgba(0,212,255,.08));
  border:1px solid var(--primary);border-radius:8px;color:var(--primary);
  font-family:'Exo 2',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;cursor:pointer;transition:all .25s;margin-top:4px;}
.login-btn:hover{background:rgba(0,212,255,.25);box-shadow:0 0 20px rgba(0,212,255,.25);}
.login-btn:disabled{opacity:.5;cursor:not-allowed;}
.login-error{background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.3);
  border-radius:7px;padding:9px 12px;font-size:11px;color:var(--warn);
  margin-bottom:14px;display:none;letter-spacing:.5px;}
.login-error.show{display:block;}
.login-demo-hint{margin-top:16px;padding:10px 12px;background:rgba(0,212,255,.05);
  border:1px dashed rgba(0,212,255,.18);border-radius:7px;font-size:9px;
  color:rgba(0,212,255,.45);letter-spacing:.5px;line-height:1.6;}
.login-demo-hint strong{color:rgba(0,212,255,.7);}
.login-user-info{display:flex;align-items:center;gap:8px;
  padding:6px 10px;background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.15);
  border-radius:7px;cursor:pointer;transition:all .2s;font-size:11px;color:var(--text);}
.login-user-info:hover{background:rgba(0,212,255,.12);}
.login-user-avatar{width:26px;height:26px;border-radius:50%;background:rgba(0,212,255,.2);
  border:1px solid rgba(0,212,255,.4);display:flex;align-items:center;justify-content:center;font-size:12px;}

/* ══ FORGOT PASSWORD SCREEN ══ */
.forgot-panel{display:none;}
.forgot-panel.show{display:block;}
.forgot-back{background:none;border:none;color:rgba(0,212,255,.5);font-family:'Exo 2',sans-serif;
  font-size:10px;cursor:pointer;letter-spacing:.5px;margin-bottom:16px;
  display:flex;align-items:center;gap:5px;padding:0;transition:color .2s;}
.forgot-back:hover{color:var(--primary);}
.reset-sent{text-align:center;padding:20px 0;}
.reset-sent-icon{font-size:40px;margin-bottom:12px;}
.reset-sent-title{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;
  letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:8px;}
.reset-sent-desc{font-size:11px;color:rgba(224,244,255,.5);line-height:1.7;}

/* ══ MODAL TAB SYSTEM ══ */
.m-tabs{display:flex;border-bottom:1px solid var(--border);margin:-22px -22px 18px;padding:0 14px;
  background:rgba(0,0,0,.15);overflow-x:auto;scrollbar-width:none;}
.m-tabs::-webkit-scrollbar{display:none;}
.m-tab-btn{padding:11px 12px;background:transparent;border:none;border-bottom:2px solid transparent;
  color:rgba(224,244,255,.35);font-family:'Exo 2',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;}
.m-tab-btn:hover{color:rgba(224,244,255,.65);}
.m-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);}
.m-tab-btn.active.gold{color:var(--gold);border-bottom-color:var(--gold);}
.m-tab-btn.active.rose{color:var(--rose);border-bottom-color:var(--rose);}
.m-tab-btn.active.violet{color:var(--violet);border-bottom-color:var(--violet);}
.m-tab-btn.active.cyan{color:#0ea5e9;border-bottom-color:#0ea5e9;}
.m-tab-pane{display:none;}
.m-tab-pane.active{display:block;}

/* ══ USER MENU ══ */
.user-menu-btn{display:flex;align-items:center;gap:7px;padding:5px 9px;
  background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.18);border-radius:7px;
  cursor:pointer;transition:all .2s;color:var(--text);font-family:'Exo 2',sans-serif;font-size:10px;}
.user-menu-btn:hover{background:rgba(0,212,255,.12);border-color:rgba(0,212,255,.35);}
.user-avatar{width:24px;height:24px;border-radius:50%;background:rgba(0,212,255,.2);
  border:1px solid rgba(0,212,255,.4);display:flex;align-items:center;justify-content:center;font-size:11px;}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:50;
  background:rgba(3,14,32,.99);border:1px solid rgba(0,212,255,.2);border-radius:10px;
  padding:8px 0;min-width:200px;box-shadow:0 10px 40px rgba(0,0,0,.5);
  display:none;flex-direction:column;}
.user-dropdown.show{display:flex;}
.ud-item{padding:8px 16px;font-size:11px;color:rgba(224,244,255,.6);cursor:pointer;
  display:flex;align-items:center;gap:8px;transition:background .15s;letter-spacing:.3px;}
.ud-item:hover{background:rgba(0,212,255,.07);color:var(--text);}
.ud-divider{height:1px;background:rgba(0,212,255,.1);margin:4px 0;}
.ud-role-badge{font-size:8px;padding:2px 6px;border-radius:3px;
  background:rgba(0,212,255,.12);color:var(--primary);letter-spacing:1px;text-transform:uppercase;}
.header-right-wrap{position:relative;display:flex;align-items:center;gap:11px;}

/* ══ AUTH / PERMISSION MODULE ══ */
.auth-modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(2,13,26,.88);
  backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;}
.auth-modal-overlay.show{opacity:1;pointer-events:all;}
.auth-modal{background:rgba(3,18,38,.99);border:1px solid rgba(167,139,250,.25);
  border-radius:14px;padding:0;width:600px;max-width:96vw;max-height:88vh;
  overflow:hidden;box-shadow:0 0 44px rgba(167,139,250,.12);
  display:flex;flex-direction:column;}
.auth-modal-header{padding:18px 22px 0;border-bottom:1px solid rgba(167,139,250,.15);}
.auth-modal-title{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;
  letter-spacing:3px;color:var(--purple);text-transform:uppercase;
  margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.auth-tabs{display:flex;gap:0;}
.auth-tab-btn{padding:9px 16px;background:transparent;border:none;border-bottom:2px solid transparent;
  color:rgba(224,244,255,.35);font-family:'Exo 2',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.auth-tab-btn:hover{color:rgba(224,244,255,.65);}
.auth-tab-btn.active{color:var(--purple);border-bottom-color:var(--purple);}
.auth-modal-body{flex:1;overflow-y:auto;padding:18px 22px;}
.auth-modal-body::-webkit-scrollbar{width:3px;}
.auth-modal-body::-webkit-scrollbar-thumb{background:rgba(167,139,250,.2);}

/* Auth - Role cards */
.auth-role-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;}
.auth-role-card{padding:12px;border:1px solid rgba(167,139,250,.2);border-radius:9px;
  background:rgba(167,139,250,.04);cursor:pointer;transition:all .2s;}
.auth-role-card:hover{background:rgba(167,139,250,.08);border-color:rgba(167,139,250,.4);}
.auth-role-card.selected{background:rgba(167,139,250,.12);border-color:var(--purple);}
.arc-name{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:2px;color:var(--purple);text-transform:uppercase;margin-bottom:3px;}
.arc-desc{font-size:9px;color:rgba(224,244,255,.45);line-height:1.5;}

/* Auth - Module permission grid */
.auth-module-grid{display:flex;flex-direction:column;gap:6px;}
.auth-module-row{display:flex;align-items:center;padding:9px 12px;
  background:rgba(0,0,0,.18);border:1px solid rgba(167,139,250,.12);border-radius:7px;gap:10px;}
.amr-icon{font-size:16px;flex-shrink:0;width:22px;text-align:center;}
.amr-name{flex:1;font-size:11px;font-weight:500;color:var(--text);}
.amr-perms{display:flex;gap:5px;flex-shrink:0;}
.perm-btn{padding:3px 8px;border-radius:4px;border:1px solid rgba(167,139,250,.25);
  background:transparent;color:rgba(224,244,255,.35);font-family:'Exo 2',sans-serif;
  font-size:8px;font-weight:600;letter-spacing:1px;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.perm-btn:hover{border-color:rgba(167,139,250,.5);color:rgba(224,244,255,.65);}
.perm-btn.perm-none.on{background:rgba(255,107,53,.12);border-color:var(--warn);color:var(--warn);}
.perm-btn.perm-view.on{background:rgba(0,212,255,.1);border-color:var(--primary);color:var(--primary);}
.perm-btn.perm-edit.on{background:rgba(0,255,136,.1);border-color:var(--accent);color:var(--accent);}

/* Auth - Personnel list for permissions */
.auth-person-item{display:flex;align-items:center;padding:8px 10px;
  border:1px solid rgba(167,139,250,.12);border-radius:7px;background:rgba(0,0,0,.15);
  margin-bottom:5px;gap:9px;}
.api-avatar{width:30px;height:30px;border-radius:50%;background:rgba(167,139,250,.18);
  border:1px solid rgba(167,139,250,.3);display:flex;align-items:center;justify-content:center;font-size:13px;}
.api-info{flex:1;min-width:0;}
.api-name{font-size:11px;font-weight:600;color:var(--text);}
.api-role{font-size:9px;color:rgba(224,244,255,.4);}
.api-role-select{padding:4px 8px;background:rgba(0,0,0,.3);border:1px solid rgba(167,139,250,.25);
  border-radius:5px;color:var(--text);font-family:'Exo 2',sans-serif;font-size:9px;outline:none;}

.auth-modal-footer{padding:12px 22px;border-top:1px solid rgba(167,139,250,.12);
  display:flex;justify-content:flex-end;gap:8px;}
.auth-save-btn{padding:9px 20px;background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(167,139,250,.07));
  border:1px solid var(--purple);border-radius:7px;color:var(--purple);
  font-family:'Exo 2',sans-serif;font-size:10px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;cursor:pointer;transition:all .2s;}
.auth-save-btn:hover{background:rgba(167,139,250,.22);}

/* Permission denied overlay */
.perm-denied{position:fixed;inset:0;z-index:600;background:rgba(2,13,26,.9);
  backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;}
.perm-denied.show{opacity:1;pointer-events:all;}
.perm-denied-box{text-align:center;padding:30px;}
.perm-denied-icon{font-size:50px;margin-bottom:16px;}
.perm-denied-title{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;
  letter-spacing:3px;color:var(--warn);text-transform:uppercase;margin-bottom:8px;}
.perm-denied-desc{font-size:12px;color:rgba(224,244,255,.5);margin-bottom:20px;}

/* ══ SAVED ROUTE ITEMS ══ */
.srl-item{display:flex;align-items:center;gap:8px;padding:8px 10px;
  border:1px solid rgba(74,222,128,.15);border-radius:7px;
  background:rgba(74,222,128,.03);margin-bottom:5px;cursor:pointer;transition:all .2s;}
.srl-item:hover{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.35);}
.srl-item.srl-passive{opacity:.45;border-color:rgba(224,244,255,.1);}
.srl-icon{font-size:15px;flex-shrink:0;}
.srl-info{flex:1;min-width:0;}
.srl-name{font-size:11px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.srl-meta{font-size:9px;color:rgba(224,244,255,.4);margin-top:1px;}
.srl-badges{display:flex;gap:4px;flex-shrink:0;align-items:center;}
.srl-badge{font-size:7px;padding:2px 5px;border-radius:3px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;}
.srl-badge.ai{background:rgba(74,222,128,.12);color:var(--green);}
.srl-badge.manual{background:rgba(0,212,255,.1);color:var(--primary);}
.srl-badge.active-b{background:rgba(0,255,136,.12);color:var(--accent);}
.srl-badge.passive-b{background:rgba(255,255,255,.06);color:rgba(224,244,255,.35);}
.srl-actions{display:flex;gap:3px;flex-shrink:0;}
body.day-mode .srl-item{background:rgba(22,163,74,.04);border-color:rgba(22,163,74,.15);}
body.day-mode .srl-name{color:#0d1f35;}
/* ══════ SAHA TAKİP - MARKER CLUSTER ══════ */
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(0,212,255,.15)!important;}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:rgba(0,212,255,.3)!important;color:#00d4ff!important;font-family:'Rajdhani',sans-serif!important;font-weight:700!important;font-size:13px!important;}

/* ══════ CLUSTER BİLGİ POPUP ══════ */
.cluster-bubble-popup .leaflet-popup-content-wrapper{background:rgba(2,13,26,.97)!important;border:1px solid rgba(167,139,250,.4)!important;border-radius:12px!important;box-shadow:0 0 28px rgba(167,139,250,.25),0 4px 24px rgba(0,0,0,.6)!important;padding:0!important;}
.cluster-bubble-popup .leaflet-popup-content{margin:0!important;padding:0!important;min-width:200px;}
.cluster-bubble-popup .leaflet-popup-tip{background:rgba(167,139,250,.3)!important;}
.cluster-bubble-popup .leaflet-popup-close-button{color:rgba(167,139,250,.5)!important;top:6px!important;right:8px!important;}
.cb-header{padding:9px 32px 7px 12px;border-bottom:1px solid rgba(255,255,255,.07);font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;color:rgba(167,139,250,.8);text-transform:uppercase;}
.cb-list{max-height:180px;overflow-y:auto;padding:4px 0;}
.cb-list::-webkit-scrollbar{width:3px;}
.cb-list::-webkit-scrollbar-track{background:transparent;}
.cb-list::-webkit-scrollbar-thumb{background:rgba(167,139,250,.3);border-radius:2px;}
.cb-row{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;transition:background .15s;border-radius:0;}
.cb-row:hover{background:rgba(255,255,255,.05);}
.cb-icon{font-size:13px;flex-shrink:0;}
.cb-label{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;color:#e8f4ff;flex:1;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cb-status{font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0;}
.cb-footer{padding:6px 12px 9px;border-top:1px solid rgba(255,255,255,.07);}
.cb-zoom-btn{width:100%;padding:5px;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.3);color:#a78bfa;border-radius:5px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.5px;transition:all .2s;}
.cb-zoom-btn:hover{background:rgba(167,139,250,.2);}

/* Talep Segment Butonları */
.talep-seg-btn{flex:1;padding:9px 4px;background:transparent;border:none;cursor:pointer;
  font-family:'Exo 2',sans-serif;font-size:11px;font-weight:600;letter-spacing:.5px;
  color:rgba(224,244,255,.35);transition:all .2s;border-bottom:2px solid transparent;}
.talep-seg-btn:hover{color:rgba(224,244,255,.55);}
.talep-seg-btn.active{color:#a78bfa;border-bottom-color:#a78bfa;background:rgba(167,139,250,.06);}

/* Avans Kart */
.avans-card{display:flex;align-items:center;gap:10px;padding:10px 12px;
  border:1px solid rgba(167,139,250,.15);border-radius:8px;background:rgba(167,139,250,.03);
  margin-bottom:6px;transition:all .2s;}
.avans-card:hover{background:rgba(167,139,250,.07);border-color:rgba(167,139,250,.3);}
.avans-amount{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;color:#a78bfa;min-width:90px;text-align:right;}
.avans-info{flex:1;min-width:0;}
.avans-name{font-size:12px;font-weight:600;color:#e8f4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.avans-meta{font-size:10px;color:rgba(224,244,255,.4);}
.avans-badge{font-size:9px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;}
.avans-badge.pending{background:rgba(251,191,36,.12);color:#fbbf24;border:1px solid rgba(251,191,36,.25);}
.avans-badge.approved{background:rgba(110,231,183,.12);color:#6ee7b7;border:1px solid rgba(110,231,183,.25);}
.avans-badge.rejected{background:rgba(248,113,113,.12);color:#f87171;border:1px solid rgba(248,113,113,.25);}
.avans-actions{display:flex;gap:4px;flex-shrink:0;}

/* ══════════════════════════════════════════════════════════════
   PDKS TAM EKRAN OVERLAY
   ══════════════════════════════════════════════════════════════ */

/* Tab rengi — navbar */
.tab-btn.t-pdks.active {
  color: #6ee7b7;
  border-bottom-color: #6ee7b7;
  background: rgba(110,231,183,.05);
}

/* Overlay — haritanın ve side-panel'in üstünü tamamen kapatır */
.pdks-overlay {
  display: none;
  position: fixed;
  top: 102px; left: 0; right: 0; bottom: 24px;
  z-index: 22;
  background: #080e1a;
  flex-direction: column;
  overflow: hidden;
}
body.view-pdks .pdks-overlay     { display: flex; }
body.view-pdks #sidePanel        { display: none; }
body.view-pdks .toggle-btn       { display: none; }
body.view-pdks .filter-btn-wrap  { display: none; }
body.view-pdks .work-map-badge   { display: none; }
body.view-pdks .layer-switcher   { display: none; }
body.view-pdks #map              { display: none; }
body.view-pdks .filter-overlay   { display: none !important; }

/* ══ İŞ EMİRLERİ OVERLAY ══ */
/* ── Full-screen overlay base (shared) ── */
.work-overlay, .gorev-overlay {
  display: none;
  position: fixed;
  top: 102px; left: 0; right: 0; bottom: 24px;
  z-index: 22;
  background: #080c18;
  flex-direction: column;
  overflow: hidden;
}
body.view-work  .work-overlay   { display: flex; }
body.view-work #sidePanel       { display: none; }
body.view-work .toggle-btn      { display: none; }
body.view-work .filter-btn-wrap { display: none; }
body.view-work .layer-switcher  { display: none; }
body.view-work #map             { display: none; }
body.view-work .filter-overlay  { display: none !important; }

body.view-gorev .gorev-overlay  { display: flex; }
body.view-gorev #sidePanel      { display: none; }
body.view-gorev .toggle-btn     { display: none; }
body.view-gorev .filter-btn-wrap{ display: none; }
body.view-gorev .layer-switcher { display: none; }
body.view-gorev #map            { display: none; }
body.view-gorev .filter-overlay { display: none !important; }

/* ── Header ── */
.work-ov-header {
  display: flex; align-items: center; gap: 16px;
  padding: 12px 22px;
  background: rgba(4,8,22,.98);
  border-bottom: 1px solid rgba(192,132,252,.2);
  flex-shrink: 0;
}
.work-ov-logo { font-size: 26px; }
.work-ov-title { font-family:'Rajdhani',sans-serif; font-size:16px; font-weight:700; color:#c084fc; letter-spacing:3px; }
.work-ov-subtitle { font-size:9px; color:rgba(192,132,252,.4); letter-spacing:1px; margin-top:1px; }
.work-ov-header-left  { display:flex; align-items:center; gap:12px; }
.work-ov-header-right { margin-left:auto; display:flex; align-items:center; gap:8px; }
.work-ov-hstats { display:flex; gap:8px; margin-left:8px; }
.work-ov-hstat {
  display:flex; flex-direction:column; align-items:center;
  padding:6px 14px; border-radius:8px; border:1px solid;
  min-width:64px; cursor:default;
}
.work-ov-hstat span  { font-family:'Rajdhani',sans-serif; font-size:20px; font-weight:700; line-height:1; }
.work-ov-hstat small { font-size:9px; opacity:.6; margin-top:1px; }
.woh-green  { background:rgba(0,255,136,.07);  border-color:rgba(0,255,136,.25);  color:#00ff88; }
.woh-yellow { background:rgba(255,215,0,.07);  border-color:rgba(255,215,0,.25);  color:#ffd700; }
.woh-violet { background:rgba(192,132,252,.08);border-color:rgba(192,132,252,.25);color:#c084fc; }
.woh-red    { background:rgba(255,107,53,.07); border-color:rgba(255,107,53,.25); color:#ff6b35; }
.woh-blue   { background:rgba(0,212,255,.07);  border-color:rgba(0,212,255,.25);  color:#00d4ff; }
.work-ov-new-btn {
  background:rgba(192,132,252,.12); border:1px solid rgba(192,132,252,.45);
  color:#c084fc; padding:7px 16px; border-radius:7px; font-size:11px;
  font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all .2s;
}
.work-ov-new-btn:hover { background:rgba(192,132,252,.22); box-shadow:0 0 16px rgba(192,132,252,.3); }

/* ── Tabs ── */
.work-ov-tabs {
  display:flex; align-items:center;
  padding:0 22px;
  background:rgba(4,8,22,.92);
  border-bottom:1px solid rgba(192,132,252,.12);
  flex-shrink:0;
  overflow-x:auto; gap:2px;
}
.work-ov-tab {
  padding:11px 16px; background:transparent; border:none;
  border-bottom:2px solid transparent;
  color:rgba(224,244,255,.35); font-size:11px; font-weight:600;
  letter-spacing:1px; cursor:pointer; white-space:nowrap; transition:all .2s;
}
.work-ov-tab:hover { color:rgba(224,244,255,.65); }
.work-ov-tab.active { color:#c084fc; border-bottom-color:#c084fc; }
.work-ov-tab.wtab-green.active  { color:#00ff88; border-bottom-color:#00ff88; }
.work-ov-tab.wtab-yellow.active { color:#ffd700; border-bottom-color:#ffd700; }
.work-ov-tab.wtab-done.active   { color:#a78bfa; border-bottom-color:#a78bfa; }
.work-ov-tab.wtab-red.active    { color:#ff6b35; border-bottom-color:#ff6b35; }
.work-ov-tab.wtab-warn.active   { color:#f87171; border-bottom-color:#f87171; }
.wov-tab-badge {
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(248,113,113,.2); border:1px solid rgba(248,113,113,.4);
  color:#f87171; border-radius:10px; font-size:9px; font-weight:700;
  min-width:18px; height:16px; padding:0 4px; margin-left:5px;
}

/* ── Body / Toolbar ── */
.work-ov-body { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.work-ov-toolbar {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:10px 22px; background:rgba(4,8,22,.85);
  border-bottom:1px solid rgba(192,132,252,.08); flex-shrink:0;
}
.work-ov-search {
  flex:1; min-width:200px; background:rgba(0,0,0,.3);
  border:1px solid rgba(192,132,252,.2); border-radius:7px;
  color:#e0f4ff; padding:7px 12px; font-size:11px; outline:none;
  font-family:'Exo 2',sans-serif; transition:border-color .2s;
}
.work-ov-search:focus { border-color:rgba(192,132,252,.5); }
.work-ov-select {
  background:rgba(0,0,0,.35); border:1px solid rgba(192,132,252,.2);
  border-radius:6px; color:rgba(224,244,255,.7); padding:6px 10px;
  font-size:10px; cursor:pointer; outline:none; font-family:'Exo 2',sans-serif;
}
.work-ov-view-btn {
  padding:5px 10px; background:transparent; border:1px solid rgba(192,132,252,.2);
  border-radius:5px; color:rgba(224,244,255,.4); font-size:9px;
  font-weight:600; cursor:pointer; letter-spacing:1px; transition:all .15s;
}
.work-ov-view-btn.active { background:rgba(192,132,252,.12); color:#c084fc; border-color:rgba(192,132,252,.4); }

/* ── List (card view) ── */
.work-ov-list { flex:1; overflow-y:auto; padding:16px 22px; display:flex; flex-direction:column; gap:8px; }

.wov-card {
  background:rgba(10,14,30,.8); border:1px solid rgba(192,132,252,.12);
  border-radius:10px; padding:14px 16px; transition:all .2s; cursor:default;
  display:flex; flex-direction:column; gap:8px;
}
.wov-card:hover { border-color:rgba(192,132,252,.3); background:rgba(192,132,252,.04); }
.wov-card.wov-active    { border-color:rgba(0,255,136,.25);  background:rgba(0,255,136,.03); }
.wov-card.wov-pending   { border-color:rgba(255,215,0,.2);   background:rgba(255,215,0,.02); }
.wov-card.wov-completed { border-color:rgba(167,139,250,.2); background:rgba(167,139,250,.03); }
.wov-card.wov-cancelled { border-color:rgba(255,107,53,.15); background:rgba(255,107,53,.02); opacity:.7; }

.wov-card-top { display:flex; align-items:flex-start; gap:10px; }
.wov-card-icon { font-size:22px; flex-shrink:0; margin-top:1px; }
.wov-card-main { flex:1; min-width:0; }
.wov-card-title-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:4px; }
.wov-card-no { font-size:9px; font-weight:700; color:rgba(192,132,252,.6); letter-spacing:1.5px; }
.wov-card-title { font-size:14px; font-weight:600; color:#e0f4ff; }
.wov-card-desc  { font-size:11px; color:rgba(224,244,255,.4); line-height:1.5;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:600px; }

.wov-status-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 9px; border-radius:12px; font-size:9px; font-weight:700;
  letter-spacing:.8px; text-transform:uppercase; border:1px solid; flex-shrink:0;
}
.wov-status-active    { background:rgba(0,255,136,.1);  border-color:rgba(0,255,136,.35);  color:#00ff88; }
.wov-status-pending   { background:rgba(255,215,0,.1);  border-color:rgba(255,215,0,.35);  color:#ffd700; }
.wov-status-completed { background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.35);color:#a78bfa; }
.wov-status-cancelled { background:rgba(255,107,53,.1); border-color:rgba(255,107,53,.35); color:#ff6b35; }

.wov-pri-badge {
  display:inline-flex; padding:1px 7px; border-radius:10px;
  font-size:9px; font-weight:700; border:1px solid; flex-shrink:0;
}
.wov-pri-urgent { background:rgba(255,107,53,.12); border-color:rgba(255,107,53,.4); color:#ff6b35; }
.wov-pri-high   { background:rgba(255,215,0,.1);   border-color:rgba(255,215,0,.35); color:#ffd700; }
.wov-pri-normal { background:rgba(0,212,255,.08);  border-color:rgba(0,212,255,.25); color:#00d4ff; }
.wov-pri-low    { background:rgba(100,116,139,.1); border-color:rgba(100,116,139,.3);color:#94a3b8; }

.wov-card-meta { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.wov-meta-chip {
  display:inline-flex; align-items:center; gap:4px;
  font-size:10px; color:rgba(224,244,255,.45); background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.06); border-radius:5px; padding:3px 8px;
}
.wov-meta-chip.chip-green  { color:rgba(0,255,136,.8);  border-color:rgba(0,255,136,.15); }
.wov-meta-chip.chip-violet { color:rgba(192,132,252,.8); border-color:rgba(192,132,252,.15); }
.wov-meta-chip.chip-sky    { color:rgba(14,165,233,.8);  border-color:rgba(14,165,233,.15); }
.wov-meta-chip.chip-cyan   { color:rgba(0,212,255,.8);   border-color:rgba(0,212,255,.15); }

.wov-card-actions { display:flex; gap:6px; align-items:center; flex-shrink:0; margin-left:auto; }
.wov-action-btn {
  padding:5px 12px; border-radius:6px; font-size:9px; font-weight:700;
  letter-spacing:1px; cursor:pointer; border:1px solid; transition:all .15s;
  text-transform:uppercase;
}
.wov-btn-edit { background:rgba(192,132,252,.1); border-color:rgba(192,132,252,.35); color:#c084fc; }
.wov-btn-edit:hover { background:rgba(192,132,252,.22); }
.wov-btn-del  { background:rgba(255,107,53,.08); border-color:rgba(255,107,53,.3); color:#ff6b35; }
.wov-btn-del:hover { background:rgba(255,107,53,.18); }
.wov-issue-pill {
  display:inline-flex; align-items:center; gap:4px;
  background:rgba(248,113,113,.1); border:1px solid rgba(248,113,113,.35);
  color:#f87171; border-radius:10px; font-size:9px; font-weight:700;
  padding:2px 8px; cursor:pointer; transition:all .15s;
}
.wov-issue-pill:hover { background:rgba(248,113,113,.2); }

/* ── Table view ── */
.wov-table-wrap { flex:1; overflow-y:auto; padding:0 22px 16px; }
.wov-table { width:100%; border-collapse:collapse; font-size:11px; }
.wov-table th {
  position:sticky; top:0; background:#080c18;
  font-family:'Rajdhani',sans-serif; font-size:9px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; color:rgba(192,132,252,.6);
  padding:10px 12px; border-bottom:1px solid rgba(192,132,252,.15);
  text-align:left; white-space:nowrap;
}
.wov-table td { padding:9px 12px; border-bottom:1px solid rgba(255,255,255,.04); color:rgba(224,244,255,.7); vertical-align:middle; }
.wov-table tr:hover td { background:rgba(192,132,252,.04); }
.wov-table tr.wov-tr-active    td { border-left:2px solid #00ff88; }
.wov-table tr.wov-tr-pending   td { border-left:2px solid #ffd700; }
.wov-table tr.wov-tr-completed td { border-left:2px solid #a78bfa; }
.wov-table tr.wov-tr-cancelled td { border-left:2px solid #ff6b35; opacity:.65; }

/* ── Issues pane ── */
.work-ov-issues { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.work-ov-issue-list { flex:1; overflow-y:auto; padding:16px 22px; display:flex; flex-direction:column; gap:8px; }
.wov-issue-card {
  background:rgba(10,14,30,.8); border:1px solid rgba(248,113,113,.2);
  border-radius:10px; padding:14px 16px; display:flex; flex-direction:column; gap:8px;
}
.wov-issue-card.issue-open     { border-color:rgba(248,113,113,.35); }
.wov-issue-card.issue-in_review{ border-color:rgba(255,215,0,.3); }
.wov-issue-card.issue-resolved { border-color:rgba(0,255,136,.2); opacity:.75; }
.wov-issue-header { display:flex; align-items:center; gap:8px; }
.wov-issue-type-icon { font-size:20px; flex-shrink:0; }
.wov-issue-title { font-size:13px; font-weight:600; color:#e0f4ff; flex:1; }
.wov-issue-status-badge {
  padding:2px 8px; border-radius:10px; font-size:9px; font-weight:700;
  border:1px solid; text-transform:uppercase; letter-spacing:.8px; flex-shrink:0;
}
.issue-badge-open     { background:rgba(248,113,113,.12); border-color:rgba(248,113,113,.35); color:#f87171; }
.issue-badge-in_review{ background:rgba(255,215,0,.1);    border-color:rgba(255,215,0,.3);    color:#ffd700; }
.issue-badge-resolved { background:rgba(0,255,136,.1);    border-color:rgba(0,255,136,.3);    color:#00ff88; }
.wov-issue-desc { font-size:12px; color:rgba(224,244,255,.55); line-height:1.5; }
.wov-issue-meta { display:flex; gap:8px; flex-wrap:wrap; }
.wov-issue-resolve-btn {
  align-self:flex-end; padding:5px 14px; background:rgba(0,255,136,.1);
  border:1px solid rgba(0,255,136,.35); border-radius:6px; color:#00ff88;
  font-size:9px; font-weight:700; letter-spacing:1px; cursor:pointer; transition:all .15s;
  text-transform:uppercase;
}
.wov-issue-resolve-btn:hover { background:rgba(0,255,136,.2); }

/* ── Empty state ── */
.wov-empty {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; flex:1; padding:60px 20px; color:rgba(224,244,255,.3);
}
.wov-empty-icon { font-size:48px; opacity:.4; }
.wov-empty-text { font-size:14px; letter-spacing:1px; }

/* ── Liste görünümü ── */
#wovListView { flex-direction:column; }
.wov-list-table { width:100%; border-collapse:collapse; font-size:11px; }
.wov-list-table thead th {
  padding:7px 10px; text-align:left; font-size:9px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; color:rgba(224,244,255,.35);
  border-bottom:2px solid rgba(255,255,255,.08); white-space:nowrap;
  border-right:1px solid rgba(180,200,230,.10);
  position:sticky; top:0; background:#080c18; z-index:1;
}
.wov-list-table thead th:last-child { border-right:none; }

/* ── Satır tabanı ── */
.wov-list-row { cursor:pointer; transition:background .15s; }
.wov-list-row td {
  padding:8px 10px;
  border-bottom:1px solid rgba(255,255,255,.04);
  border-right:1px solid rgba(180,200,230,.07);
  color:rgba(224,244,255,.72);
  vertical-align:middle;
}
.wov-list-row td:last-child { border-right:none; }
.wov-list-row:hover td { background:rgba(192,132,252,.06); }

/* ── Durum: Aktif — yeşil ton ── */
.wov-list-row.wov-list-active td:first-child { border-left:3px solid #00ff88; }
.wov-list-row.wov-list-active td             { color:rgba(160,255,200,.80); }
.wov-list-row.wov-list-active .wov-list-title  { color:rgba(200,255,225,.95); }
.wov-list-row.wov-list-active .wov-list-desc   { color:rgba(160,255,200,.45); }
.wov-list-row.wov-list-active .wov-list-no     { color:rgba(0,255,136,.65); }

/* ── Durum: Bekliyor — altın ton ── */
.wov-list-row.wov-list-pending td:first-child { border-left:3px solid #ffd700; }
.wov-list-row.wov-list-pending td             { color:rgba(255,228,100,.80); }
.wov-list-row.wov-list-pending .wov-list-title { color:rgba(255,240,160,.95); }
.wov-list-row.wov-list-pending .wov-list-desc  { color:rgba(255,228,100,.40); }
.wov-list-row.wov-list-pending .wov-list-no    { color:rgba(255,215,0,.65); }

/* ── Durum: Tamamlandı / Done — mor ton ── */
.wov-list-row.wov-list-completed td:first-child,
.wov-list-row.wov-list-done      td:first-child { border-left:3px solid #a78bfa; }
.wov-list-row.wov-list-completed td,
.wov-list-row.wov-list-done      td             { color:rgba(195,175,255,.75); }
.wov-list-row.wov-list-completed .wov-list-title,
.wov-list-row.wov-list-done      .wov-list-title { color:rgba(220,210,255,.90); }
.wov-list-row.wov-list-completed .wov-list-desc,
.wov-list-row.wov-list-done      .wov-list-desc  { color:rgba(195,175,255,.38); }
.wov-list-row.wov-list-completed .wov-list-no,
.wov-list-row.wov-list-done      .wov-list-no    { color:rgba(167,139,250,.60); }

/* ── Durum: İptal — turuncu ton, soluk ── */
.wov-list-row.wov-list-cancelled td:first-child { border-left:3px solid #ff6b35; }
.wov-list-row.wov-list-cancelled td             { color:rgba(255,140,90,.60); opacity:1; }
.wov-list-row.wov-list-cancelled .wov-list-title { color:rgba(255,160,110,.75); text-decoration:line-through; }
.wov-list-row.wov-list-cancelled .wov-list-desc  { color:rgba(255,140,90,.30); }
.wov-list-row.wov-list-cancelled .wov-list-no    { color:rgba(255,107,53,.50); }

.wov-list-no { font-size:9px; font-weight:700; color:rgba(192,132,252,.6); letter-spacing:1.5px; }
.wov-list-title { font-size:12px; font-weight:600; color:#e0f4ff; }
.wov-list-desc  { font-size:10px; color:rgba(224,244,255,.35); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:200px; }
.wov-list-assignee, .wov-list-date, .wov-list-dur { font-size:11px; color:rgba(224,244,255,.5); }

/* ── Kanban görünümü ── */
#wovKanbanView { flex-direction:row; gap:10px; padding:12px 20px; align-items:flex-start; }
.wov-kanban-col {
  flex:1; min-width:180px; max-width:280px;
  background:rgba(255,255,255,.025); border-radius:10px;
  border:1px solid rgba(255,255,255,.07); display:flex; flex-direction:column;
  max-height:calc(100vh - 260px); overflow:hidden;
}
.wov-kanban-col-header {
  padding:10px 12px; font-size:10px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; display:flex; align-items:center; gap:6px;
  border-bottom:1px solid rgba(255,255,255,.06); flex-shrink:0;
}
.wov-kanban-col.kcol-pending   .wov-kanban-col-header { color:#ffd700; }
.wov-kanban-col.kcol-active    .wov-kanban-col-header { color:#00ff88; }
.wov-kanban-col.kcol-completed .wov-kanban-col-header { color:#a78bfa; }
.wov-kanban-col.kcol-cancelled .wov-kanban-col-header { color:#ff6b35; }
.wov-kanban-col-count {
  margin-left:auto; background:rgba(255,255,255,.08); border-radius:10px;
  padding:1px 7px; font-size:10px; color:rgba(224,244,255,.5);
}
.wov-kanban-cards { flex:1; overflow-y:auto; padding:8px; display:flex; flex-direction:column; gap:7px; }
.wov-kanban-card {
  background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08);
  border-radius:8px; padding:10px 12px; cursor:pointer; transition:all .15s;
}
.wov-kanban-card:hover { background:rgba(192,132,252,.07); border-color:rgba(192,132,252,.25); transform:translateY(-1px); }
.wov-kanban-card-no   { font-size:9px; font-weight:700; color:rgba(192,132,252,.55); letter-spacing:1.5px; margin-bottom:3px; }
.wov-kanban-card-title{ font-size:12px; font-weight:600; color:#e0f4ff; line-height:1.4; margin-bottom:6px; }
.wov-kanban-card-meta { display:flex; gap:5px; flex-wrap:wrap; align-items:center; }
.wov-kanban-card-top   { display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.wov-kanban-card-desc  { font-size:10px; color:rgba(224,244,255,.35); line-height:1.4; margin-bottom:6px;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.wov-kanban-card-actions { display:flex; gap:4px; margin-top:6px; padding-top:6px; border-top:1px solid rgba(255,255,255,.05); }

/* ── Takvim görünümü ── */
.wov-cal-grid {
  display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-top:8px;
}
/* Days header row — JS uses wov-cal-days-header wrapper with plain divs */
.wov-cal-days-header {
  display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:2px;
}
.wov-cal-days-header > div {
  text-align:center; font-size:9px; font-weight:700; letter-spacing:1px;
  color:rgba(224,244,255,.3); padding:4px 0; text-transform:uppercase;
}
/* Nav bar — reuses .work-ov-view-btn for prev/next arrows */
.wov-cal-month-label { font-size:13px; font-weight:700; letter-spacing:1px; color:#e0f4ff; }
.wov-cal-cell {
  min-height:72px; padding:5px; background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05); border-radius:5px;
  display:flex; flex-direction:column; gap:2px; cursor:default; overflow:hidden;
}
.wov-cal-cell.wov-cal-today { border-color:rgba(0,212,255,.35); background:rgba(0,212,255,.04); }
.wov-cal-cell.wov-cal-empty { border-color:transparent; background:transparent; min-height:72px; }
.wov-cal-day-num {
  font-size:11px; font-weight:600; color:rgba(224,244,255,.5); text-align:right; margin-bottom:2px;
}
.wov-cal-day-today {
  color:#00d4ff !important; background:rgba(0,212,255,.15); border-radius:3px;
  padding:0 3px; display:inline-block;
}
.wov-cal-chip {
  font-size:9px; padding:2px 5px; border-radius:3px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; max-width:100%;
  font-weight:600; line-height:1.4; cursor:pointer; border:1px solid transparent;
}
.wov-cal-chip:hover { opacity:.8; }
.wov-cal-more { font-size:8px; color:rgba(224,244,255,.35); padding:1px 4px; text-align:center; cursor:pointer; }

/* ── Modal sorun bildirimleri ── */
.wo-modal-issue {
  background:rgba(248,113,113,.05); border:1px solid rgba(248,113,113,.2);
  border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; gap:5px;
}
.wo-modal-issue-header { display:flex; align-items:center; gap:8px; }
.wo-modal-issue-type   { font-size:10px; font-weight:700; letter-spacing:1px;
  color:#fb7185; text-transform:uppercase; }
.wo-modal-issue-status { font-size:9px; padding:1px 6px; border-radius:8px; font-weight:600; }
.wo-modal-issue-status.iss-open      { background:rgba(248,113,113,.15); color:#f87171; }
.wo-modal-issue-status.iss-in_review { background:rgba(255,215,0,.12); color:#ffd700; }
.wo-modal-issue-status.iss-resolved  { background:rgba(0,255,136,.1); color:#00ff88; }
.wo-modal-issue-meta  { font-size:10px; color:rgba(224,244,255,.45); }
.wo-modal-issue-desc  { font-size:11px; color:rgba(224,244,255,.65); line-height:1.5; }
.wo-modal-issue-station { font-size:10px; color:rgba(0,212,255,.7); }
.wo-modal-issue-actions { display:flex; gap:6px; margin-top:2px; }
.wo-modal-iss-btn {
  font-size:9px; padding:3px 8px; border-radius:5px; cursor:pointer;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05);
  color:rgba(224,244,255,.6); transition:all .15s; font-weight:600;
}
.wo-modal-iss-btn:hover { background:rgba(0,255,136,.1); border-color:rgba(0,255,136,.3); color:#00ff88; }

/* ══ PARAMETRELER TAB ══ */
.tab-btn.t-param.active { color: #c084fc; border-bottom-color: #c084fc; background: rgba(192,132,252,.05); }
body.day-mode .tab-btn.t-param.active { color: #7c3aed; border-bottom-color: #7c3aed; }

/* ══ UYDU DENETİM TAB ══ */
.tab-btn.t-uydu.active { color: #8b5cf6; border-bottom-color: #8b5cf6; background: rgba(139,92,246,.05); }

body.view-uydu .uydu-overlay    { display: flex; }
body.view-uydu #sidePanel       { display: none; }
body.view-uydu .toggle-btn      { display: none; }
body.view-uydu .filter-btn-wrap { display: none; }
body.view-uydu .work-map-badge  { display: none; }
body.view-uydu .layer-switcher  { display: none; }
body.view-uydu #map             { display: none; }
body.view-uydu .filter-overlay  { display: none !important; }

.uydu-overlay {
  display: none;
  position: fixed;
  top: 102px; left: 0; right: 0; bottom: 24px;
  z-index: 22;
  flex-direction: column;
  background: #05081a;
  overflow: hidden;
}

/* ── Header ── */
.uydu-header {
  display: flex; align-items: center; gap: 16px;
  padding: 12px 22px;
  background: rgba(4,6,20,.98);
  border-bottom: 1px solid rgba(139,92,246,.2);
  flex-shrink: 0;
}
.uydu-logo { font-size: 26px; }
.uydu-title { font-family: 'Orbitron',sans-serif; font-size: 13px; color: #8b5cf6; letter-spacing: 2px; }
.uydu-subtitle { font-size: 9px; color: rgba(139,92,246,.4); letter-spacing: 1px; margin-top: 2px; }
.uydu-header-center { display: flex; gap: 16px; margin: 0 auto; }
.uydu-hstat { text-align: center; }
.uydu-hstat span { display: block; font-family: 'Orbitron',sans-serif; font-size: 18px; color: rgba(255,255,255,.6); }
.uydu-hstat small { font-size: 8px; color: rgba(255,255,255,.3); letter-spacing: 1px; }
.uydu-hstat.uydu-hstat-red span   { color: #f87171; }
.uydu-hstat.uydu-hstat-green span { color: #4ade80; }
.uydu-hstat.uydu-hstat-yellow span{ color: #fbbf24; }
.uydu-fetch-btn {
  background: rgba(139,92,246,.12); border: 1px solid rgba(139,92,246,.35);
  color: #8b5cf6; padding: 7px 16px; border-radius: 6px; cursor: pointer;
  font-family: 'Exo 2',sans-serif; font-size: 10px; letter-spacing: 1px;
  transition: all .15s; white-space: nowrap;
}
.uydu-fetch-btn:hover { background: rgba(139,92,246,.22); }

/* ── Body layout ── */
.uydu-body { display: flex; flex: 1; min-height: 0; overflow: hidden; }

/* ── Sol sidebar ── */
.uydu-sidebar {
  width: 220px; min-width: 220px; flex-shrink: 0;
  background: rgba(2,5,18,.9);
  border-right: 1px solid rgba(139,92,246,.12);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.uydu-sidebar-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px 6px;
}
.uydu-sidebar-label { font-size: 8px; letter-spacing: 2px; color: rgba(139,92,246,.4); text-transform: uppercase; }
.uydu-add-btn {
  background: rgba(139,92,246,.12); border: 1px solid rgba(139,92,246,.3);
  color: #8b5cf6; font-size: 10px; padding: 3px 8px; border-radius: 5px; cursor: pointer;
  transition: all .15s;
}
.uydu-add-btn:hover { background: rgba(139,92,246,.22); }
.uydu-search-wrap { padding: 0 10px 8px; }
.uydu-search {
  width: 100%; background: rgba(139,92,246,.06); border: 1px solid rgba(139,92,246,.15);
  border-radius: 6px; color: #e0e0ff; font-size: 10px; padding: 5px 10px;
  font-family: 'Exo 2',sans-serif; box-sizing: border-box;
}
.uydu-search:focus { outline: none; border-color: rgba(139,92,246,.4); }
.uydu-cat-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 10px 8px; }
.uydu-cat {
  background: transparent; border: 1px solid rgba(139,92,246,.2);
  color: rgba(224,224,255,.4); font-size: 8px; padding: 3px 7px;
  border-radius: 4px; cursor: pointer; transition: all .15s; font-family: 'Exo 2',sans-serif;
}
.uydu-cat.active { background: rgba(139,92,246,.15); border-color: rgba(139,92,246,.5); color: #a78bfa; }
.uydu-point-list { flex: 1; overflow-y: auto; padding: 4px 8px 8px; }
.uydu-point-item {
  padding: 8px 10px; background: rgba(139,92,246,.04);
  border: 1px solid rgba(139,92,246,.12); border-radius: 6px;
  margin-bottom: 5px; cursor: pointer; transition: all .15s;
}
.uydu-point-item:hover { background: rgba(139,92,246,.1); border-color: rgba(139,92,246,.3); }
.uydu-point-item.active { background: rgba(139,92,246,.15); border-color: #8b5cf6; }
.uydu-point-name { font-size: 10px; color: #e0e0ff; font-weight: 600; margin-bottom: 3px; }
.uydu-point-meta { font-size: 8px; color: rgba(224,224,255,.35); display: flex; gap: 6px; }
.uydu-point-status { font-size: 8px; padding: 1px 6px; border-radius: 3px; }
.ups-alert   { background: rgba(248,113,113,.12); color: #f87171; border: 1px solid rgba(248,113,113,.25); }
.ups-ok      { background: rgba(74,222,128,.1);   color: #4ade80; border: 1px solid rgba(74,222,128,.2); }
.ups-pending { background: rgba(251,191,36,.1);   color: #fbbf24; border: 1px solid rgba(251,191,36,.2); }

/* ── Ana içerik ── */
.uydu-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 0; }

.uydu-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 8px 14px;
  background: rgba(4,6,20,.8);
  border-bottom: 1px solid rgba(139,92,246,.1);
  flex-shrink: 0; flex-wrap: wrap;
}
.uydu-toolbar-left  { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.uydu-toolbar-right { display: flex; align-items: center; gap: 8px; }
.uydu-date-group { display: flex; align-items: center; gap: 5px; }
.uydu-date-group label { font-size: 8px; color: rgba(255,255,255,.35); white-space: nowrap; }
.uydu-date-input {
  background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.2);
  border-radius: 5px; color: #c4b5fd; font-size: 10px; padding: 4px 8px;
  font-family: 'Exo 2',sans-serif; cursor: pointer;
}
.uydu-date-input:focus { outline: none; border-color: rgba(139,92,246,.5); }
.uydu-select {
  background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.2);
  border-radius: 5px; color: #c4b5fd; font-size: 10px; padding: 4px 8px;
  font-family: 'Exo 2',sans-serif; cursor: pointer;
}
.uydu-mode-btns { display: flex; gap: 4px; }
.uydu-mode-btn {
  background: transparent; border: 1px solid rgba(139,92,246,.2);
  color: rgba(167,139,250,.5); font-size: 9px; padding: 4px 10px;
  border-radius: 5px; cursor: pointer; transition: all .15s; font-family: 'Exo 2',sans-serif;
}
.uydu-mode-btn.active { background: rgba(139,92,246,.2); border-color: #8b5cf6; color: #a78bfa; }

/* ── Görüntü Kaynak Seçici ── */
.uydu-src-selector { display: flex; gap: 3px; flex-wrap: wrap; }
.uydu-src-btn {
  background: transparent; border: 1px solid rgba(0,212,255,.15);
  color: rgba(0,212,255,.4); font-size: 9px; padding: 3px 9px;
  border-radius: 4px; cursor: pointer; transition: all .15s;
  font-family: 'Exo 2',sans-serif; white-space: nowrap;
}
.uydu-src-btn:hover { border-color: rgba(0,212,255,.4); color: rgba(0,212,255,.7); background: rgba(0,212,255,.05); }
.uydu-src-btn.active { background: rgba(0,212,255,.12); border-color: #00d4ff; color: #00d4ff; font-weight: 600; }
.uydu-src-btn[data-src="eox"].active      { background: rgba(74,222,128,.12); border-color: #4ade80; color: #4ade80; }
.uydu-src-btn[data-src="gibs"].active     { background: rgba(251,146,60,.12);  border-color: #fb923c; color: #fb923c; }
.uydu-src-btn[data-src="sentinel"].active { background: rgba(167,139,250,.12); border-color: #a78bfa; color: #a78bfa; }

/* ── Karşılaştırma wrap ── */
.uydu-compare-wrap {
  flex: 1; position: relative; overflow: hidden; background: #030710;
}

/* Slider view */
.uydu-slider-view { position: absolute; inset: 0; }

/* Slider içindeki haritalar — wrap'a göre absolute */
.uydu-slider-view .uydu-map-container {
  position: absolute; inset: 0;
  background: #030710;
  overflow: hidden;
}

/* Single view */
.uydu-single-view .uydu-map-container {
  position: absolute; inset: 0;
  background: #030710;
  overflow: hidden;
}

/* Split-pane içindeki haritalar — pane'e göre dol */
.uydu-split-pane {
  position: relative;   /* ← bunu CSS'den kaldırmıştık, geri ekle */
}
.uydu-split-pane .uydu-map-container {
  position: absolute; inset: 0;
  background: #030710;
  overflow: hidden;
}
.uydu-map-container iframe,
.uydu-map-container img { width: 100%; height: 100%; border: none; display: block; }

.uydu-map-after-clip {
  clip-path: inset(0 0 0 50%);
  transition: clip-path 0s;
  z-index: 2; /* before'un üstünde, handle'ın altında */
}
.uydu-slider-view .uydu-map-container:first-child {
  z-index: 1; /* before — altta */
}
.uydu-map-label {
  position: absolute; top: 12px; z-index: 10;
  background: rgba(4,6,20,.88);
  border: 1px solid rgba(139,92,246,.35);
  border-radius: 6px;
  padding: 8px 12px;
  font-family: 'Orbitron',sans-serif;
  pointer-events: none;
  display: flex; align-items: center; gap: 8px;
  white-space: nowrap;
  backdrop-filter: blur(4px);
}
.uml-icon { font-size: 10px; color: rgba(139,92,246,.6); }
.uml-text { display: flex; flex-direction: column; gap: 1px; }
.uml-title {
  font-size: 8px; letter-spacing: 2px;
  color: rgba(196,181,253,.5); text-transform: uppercase;
}
.uml-date {
  font-size: 13px; letter-spacing: 1px;
  color: #e2e8f0; font-weight: 700;
  font-family: 'Orbitron',sans-serif;
}
.uml-src {
  font-size: 8px; letter-spacing: 0.5px;
  color: #7dd3fc; font-family: 'Exo 2',sans-serif;
  font-weight: 400;
}
.uydu-label-left  { left: 12px; }
.uydu-label-right { right: 12px; }

.uydu-slider-handle {
  position: absolute; top: 0; bottom: 0; left: 50%; z-index: 30;
  transform: translateX(-50%); cursor: ew-resize; touch-action: none;
  display: flex; align-items: center; justify-content: center; width: 44px;
  pointer-events: auto;
}
.uydu-handle-line {
  position: absolute; top: 0; bottom: 0; left: 50%;
  width: 3px;
  background: linear-gradient(to bottom, rgba(139,92,246,0), #8b5cf6 15%, #8b5cf6 85%, rgba(139,92,246,0));
  box-shadow: 0 0 12px rgba(139,92,246,.9), 0 0 4px #fff;
  transform: translateX(-50%);
  pointer-events: none;
}
.uydu-handle-grip {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #8b5cf6);
  border: 2px solid rgba(255,255,255,.3);
  color: white; font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 20px rgba(139,92,246,1), 0 2px 8px rgba(0,0,0,.6);
  z-index: 1; user-select: none;
  transition: transform .1s, box-shadow .1s;
}
.uydu-slider-handle:hover .uydu-handle-grip {
  transform: scale(1.15);
  box-shadow: 0 0 28px rgba(139,92,246,1), 0 2px 12px rgba(0,0,0,.8);
}
.uydu-slider-handle:active .uydu-handle-grip {
  transform: scale(1.05);
}
.uydu-slider-info {
  position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
  background: rgba(4,6,20,.9); border: 1px solid rgba(139,92,246,.3);
  color: #a78bfa; font-size: 9px; padding: 4px 12px; border-radius: 4px;
  white-space: nowrap; pointer-events: none;
}

/* Split view */
.uydu-split-view {
  position: absolute; inset: 0;
  display: flex; gap: 2px;
}
.uydu-split-pane {
  flex: 1;
  position: relative;
  overflow: hidden;
  min-width: 0; min-height: 0;
}

/* Single view */
.uydu-single-view { position: absolute; inset: 0; }

/* Placeholder / loader */
.uydu-placeholder {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 12px;
  background: rgba(3,7,16,.97); z-index: 5;
}
.uydu-placeholder-icon { font-size: 48px; opacity: .3; }
.uydu-placeholder-title { font-family: 'Orbitron',sans-serif; font-size: 13px; color: rgba(139,92,246,.5); letter-spacing: 2px; }
.uydu-placeholder-sub { font-size: 10px; color: rgba(255,255,255,.2); text-align: center; line-height: 1.6; }
.uydu-loader {
  width: 36px; height: 36px; border-radius: 50%;
  border: 3px solid rgba(139,92,246,.15);
  border-top-color: #8b5cf6;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Not paneli */
.uydu-note-panel {
  background: rgba(4,6,20,.95); border-top: 1px solid rgba(139,92,246,.2);
  padding: 10px 14px; flex-shrink: 0;
}
.uydu-note-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 8px; font-size: 11px; color: #c4b5fd; font-weight: 600;
}
.uydu-note-body { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
.uydu-note-input {
  flex: 1; min-width: 200px; background: rgba(139,92,246,.06);
  border: 1px solid rgba(139,92,246,.2); border-radius: 5px;
  color: #e0e0ff; font-size: 10px; padding: 5px 8px;
  font-family: 'Exo 2',sans-serif; resize: none;
}
.uydu-note-input:focus { outline: none; border-color: rgba(139,92,246,.5); }
.uydu-save-note-btn {
  background: rgba(139,92,246,.2); border: 1px solid rgba(139,92,246,.4);
  color: #a78bfa; font-size: 10px; padding: 6px 14px; border-radius: 5px;
  cursor: pointer; transition: all .15s; font-family: 'Exo 2',sans-serif; white-space: nowrap;
}
.uydu-save-note-btn:hover { background: rgba(139,92,246,.35); }

/* ── Sağ bilgi paneli ── */
.uydu-infopanel {
  width: 220px; min-width: 220px; flex-shrink: 0;
  background: rgba(2,5,18,.9);
  border-left: 1px solid rgba(139,92,246,.12);
  display: flex; flex-direction: column; overflow: hidden;
}
.uydu-info-section { padding: 10px 14px; border-bottom: 1px solid rgba(139,92,246,.08); }
.uydu-info-label { font-size: 8px; letter-spacing: 2px; color: rgba(139,92,246,.4); text-transform: uppercase; margin-bottom: 8px; }
.uydu-info-row { display: flex; justify-content: space-between; font-size: 9px; margin-bottom: 5px; }
.uydu-info-row span:first-child { color: rgba(255,255,255,.3); }
.uydu-info-row span:last-child  { color: rgba(196,181,253,.8); }
.uydu-history-list { overflow-y: auto; max-height: 200px; }
.uydu-history-item {
  padding: 6px 8px; border-bottom: 1px solid rgba(139,92,246,.06);
  font-size: 9px;
}
.uydu-history-item .uhi-date { color: rgba(139,92,246,.6); margin-bottom: 2px; }
.uydu-history-item .uhi-note { color: rgba(255,255,255,.5); line-height: 1.4; }
.uydu-ndvi-bar {
  height: 6px; background: rgba(255,255,255,.07); border-radius: 3px; overflow: hidden; margin-top: 4px;
}
.uydu-ndvi-fill {
  height: 100%; background: linear-gradient(90deg, #f87171, #fbbf24, #4ade80);
  border-radius: 3px; transition: width .5s;
}

/* Marker overlay pinleri */
.uydu-pin {
  position: absolute; transform: translate(-50%, -100%);
  cursor: pointer; transition: transform .15s;
}
.uydu-pin:hover { transform: translate(-50%, -100%) scale(1.15); }
.uydu-pin-dot {
  width: 20px; height: 20px; border-radius: 50%;
  border: 2px solid #8b5cf6; background: rgba(139,92,246,.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; box-shadow: 0 0 8px rgba(139,92,246,.6);
}
.uydu-pin.status-alert .uydu-pin-dot { border-color: #f87171; background: rgba(248,113,113,.3); box-shadow: 0 0 8px rgba(248,113,113,.6); }
.uydu-pin.status-ok    .uydu-pin-dot { border-color: #4ade80; background: rgba(74,222,128,.3);  box-shadow: 0 0 8px rgba(74,222,128,.5); }

/* Nokta ekleme modu */
.uydu-compare-wrap.adding-mode { cursor: crosshair; }
.uydu-compare-wrap.adding-mode::after {
  content: '+ Konuma tıklayın';
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  background: rgba(139,92,246,.9); color: white; font-size: 11px;
  padding: 6px 14px; border-radius: 6px; pointer-events: none; z-index: 30;
}

body.view-param .param-overlay   { display: flex; }
body.view-param #sidePanel       { display: none; }
body.view-param .toggle-btn      { display: none; }
body.view-param .filter-btn-wrap { display: none; }
body.view-param .work-map-badge  { display: none; }
body.view-param .layer-switcher  { display: none; }
body.view-param #map             { display: none; }
body.view-param .filter-overlay  { display: none !important; }

.param-overlay {
  display: none;
  position: fixed;
  top: 102px; left: 0; right: 0; bottom: 24px;
  z-index: 22;
  flex-direction: column;
  background: var(--bg-dark);
  overflow: hidden;
}
.param-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 24px;
  background: rgba(4,12,30,.98);
  border-bottom: 1px solid rgba(192,132,252,.2);
  flex-shrink: 0;
}
.param-header-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 14px;
  color: #c084fc;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.param-header-sub {
  font-size: 9px;
  color: rgba(192,132,252,.4);
  letter-spacing: 1px;
  margin-left: 4px;
}
.param-body {
  display: flex;
  flex: 1;
  min-height: 0;
}
/* Sol: sub-tab sidebar */
.param-sidebar {
  width: 220px;
  min-width: 220px;
  background: rgba(2,8,22,.8);
  border-right: 1px solid rgba(192,132,252,.12);
  display: flex;
  flex-direction: column;
  padding: 12px 0;
  overflow-y: auto;
  flex-shrink: 0;
}
.param-sidebar-label {
  font-size: 8px;
  letter-spacing: 2px;
  color: rgba(192,132,252,.35);
  padding: 6px 18px 10px;
  text-transform: uppercase;
}
.param-subtab-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  color: rgba(224,244,255,.4);
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  letter-spacing: .5px;
  text-align: left;
  width: 100%;
  transition: all .15s;
}
.param-subtab-btn:hover { color: rgba(224,244,255,.75); background: rgba(192,132,252,.05); }
.param-subtab-btn.active {
  color: #c084fc;
  border-left-color: #c084fc;
  background: rgba(192,132,252,.08);
}
/* Sağ: içerik */
.param-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 20px 28px;
  overflow-y: auto;
}
.param-section-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 11px;
  color: #c084fc;
  letter-spacing: 2px;
  margin-bottom: 6px;
}
.param-section-desc {
  font-size: 9px;
  color: rgba(192,132,252,.4);
  margin-bottom: 16px;
  line-height: 1.6;
}
.param-info {
  font-size: 9px;
  color: rgba(192,132,252,.5);
  background: rgba(192,132,252,.05);
  border: 1px solid rgba(192,132,252,.12);
  border-radius: 6px;
  padding: 7px 12px;
  margin-bottom: 10px;
  letter-spacing: .5px;
}
.param-list-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  font-size: 8px;
  color: rgba(192,132,252,.4);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(192,132,252,.1);
  margin-bottom: 6px;
}
.param-col-emoji  { width: 46px; min-width: 46px; text-align: center; }
.param-col-label  { flex: 1; }
.param-col-value  { width: 130px; min-width: 130px; }
.param-col-extra  { width: 170px; min-width: 170px; }
.param-col-renk   { width: 44px; min-width: 44px; text-align: center; }

.param-rows { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.param-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  background: rgba(192,132,252,.04);
  border: 1px solid rgba(192,132,252,.1);
  border-radius: 7px;
  transition: background .12s;
}
.param-row:hover { background: rgba(192,132,252,.08); }
.param-row-drag {
  color: rgba(192,132,252,.25);
  cursor: grab;
  font-size: 14px;
  padding: 0 2px;
  user-select: none;
}
.param-inline-input {
  background: rgba(192,132,252,.06);
  border: 1px solid rgba(192,132,252,.18);
  border-radius: 5px;
  color: var(--text);
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  padding: 5px 8px;
  outline: none;
  transition: border-color .15s;
}
.param-label-input { flex: 1; }
.param-inline-input:focus { border-color: rgba(192,132,252,.5); background: rgba(192,132,252,.1); }
.param-color-input {
  width: 36px; height: 28px;
  background: none; border: none; cursor: pointer; padding: 2px;
}
.param-del-btn {
  background: rgba(239,68,68,.08);
  border: 1px solid rgba(239,68,68,.2);
  color: rgba(239,68,68,.6);
  border-radius: 5px;
  cursor: pointer;
  font-size: 10px;
  padding: 4px 7px;
  transition: all .15s;
  flex-shrink: 0;
}
.param-del-btn:hover { background: rgba(239,68,68,.15); color: #f87171; }
.param-add-btn {
  width: 100%;
  padding: 9px;
  background: rgba(192,132,252,.07);
  border: 1px dashed rgba(192,132,252,.3);
  border-radius: 7px;
  color: #c084fc;
  font-size: 11px;
  font-family: 'Exo 2', sans-serif;
  cursor: pointer;
  letter-spacing: 1px;
  margin-bottom: 18px;
  transition: background .15s;
}
.param-add-btn:hover { background: rgba(192,132,252,.12); }
.param-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 0 4px;
  border-top: 1px solid rgba(192,132,252,.15);
  /* Sticky: scroll etmeden hep görünür */
  position: sticky;
  bottom: 0;
  background: rgba(2,8,22,.97);
  z-index: 2;
  margin-top: 8px;
}
.param-save-btn {
  padding: 9px 20px;
  background: rgba(192,132,252,.15);
  border: 1px solid rgba(192,132,252,.4);
  color: #c084fc;
  border-radius: 7px;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  transition: all .15s;
}
.param-save-btn:hover { background: rgba(192,132,252,.25); }
.param-reset-btn {
  padding: 9px 16px;
  background: rgba(251,191,36,.07);
  border: 1px solid rgba(251,191,36,.25);
  color: rgba(251,191,36,.7);
  border-radius: 7px;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  letter-spacing: 1px;
  transition: all .15s;
}
.param-reset-btn:hover { background: rgba(251,191,36,.13); color: #fbbf24; }
.param-resetall-btn {
  padding: 9px 16px;
  background: rgba(239,68,68,.06);
  border: 1px solid rgba(239,68,68,.2);
  color: rgba(239,68,68,.55);
  border-radius: 7px;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  letter-spacing: 1px;
  transition: all .15s;
}
.param-resetall-btn:hover { background: rgba(239,68,68,.12); color: #f87171; }

/* Day mode uyumu */
body.day-mode .param-overlay { background: #f0f8ff; }
body.day-mode .param-header { background: #e8f4fc; border-bottom-color: #b8d8f0; }
body.day-mode .param-header-title { color: #7c3aed; }
body.day-mode .param-sidebar { background: #e4f0fa; border-right-color: #b8d8f0; }
body.day-mode .param-subtab-btn { color: rgba(0,50,100,.45); }
body.day-mode .param-subtab-btn.active { color: #7c3aed; border-left-color: #7c3aed; background: rgba(124,58,237,.06); }
body.day-mode .param-inline-input { background: rgba(255,255,255,.9); border-color: rgba(124,58,237,.25); color: #0d1f35; }
body.day-mode .param-row { background: rgba(255,255,255,.6); border-color: rgba(124,58,237,.12); }


/* ── HEADER ── */
.pdks-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 24px;
  background: rgba(4,14,30,.98);
  border-bottom: 1px solid rgba(110,231,183,.12);
  flex-shrink: 0;
}
.pdks-logo { font-size: 22px; width: 38px; height: 38px; display:flex;align-items:center;justify-content:center; background: rgba(110,231,183,.08); border: 1px solid rgba(110,231,183,.2); border-radius: 9px; }
.pdks-title { font-family: 'Rajdhani', sans-serif; font-size: 16px; font-weight: 700; color: #6ee7b7; letter-spacing: 3px; }
.pdks-subtitle { font-size: 9px; color: rgba(255,255,255,.3); letter-spacing: 1px; margin-top: 1px; }
.pdks-header-stats { display: flex; gap: 8px; margin-left: 8px; }
.pdks-hstat {
  display: flex; flex-direction: column; align-items: center;
  padding: 5px 14px;
  border-radius: 8px;
  border: 1px solid;
  min-width: 56px;
}
.pdks-hstat span { font-family: 'Rajdhani', sans-serif; font-size: 20px; font-weight: 700; line-height: 1; }
.pdks-hstat small { font-size: 9px; opacity: .6; margin-top: 1px; }
.pdks-hstat-green  { background:rgba(110,231,183,.08); border-color:rgba(110,231,183,.25); color:#6ee7b7; }
.pdks-hstat-yellow { background:rgba(251,191,36,.08);  border-color:rgba(251,191,36,.25);  color:#fbbf24; }
.pdks-hstat-red    { background:rgba(248,113,113,.08); border-color:rgba(248,113,113,.25); color:#f87171; }
.pdks-hstat-purple { background:rgba(129,140,248,.08); border-color:rgba(129,140,248,.25); color:#818cf8; }
.pdks-hstat-blue   { background:rgba(34,211,238,.08);  border-color:rgba(34,211,238,.25);  color:#22d3ee; }
.pdks-header-left  { display:flex;align-items:center;gap:12px; }
.pdks-header-right { margin-left: auto; }
.pdks-gen-btn {
  padding: 7px 16px;
  background: rgba(129,140,248,.12);
  border: 1px solid rgba(129,140,248,.35);
  color: #818cf8;
  border-radius: 7px;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .5px;
  transition: all .2s;
}
.pdks-gen-btn:hover { background:rgba(129,140,248,.22); }

/* ── ALT TABLAR ── */
.pdks-tabs {
  display: flex;
  background: rgba(2,10,22,.99);
  border-bottom: 1px solid rgba(255,255,255,.06);
  flex-shrink: 0;
  padding: 0 8px;
}
.pdks-tab {
  display: flex; align-items: center; gap: 6px;
  padding: 11px 18px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: rgba(255,255,255,.35);
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all .18s;
  white-space: nowrap;
}
.pdks-tab:hover { color: rgba(255,255,255,.65); }
.pdks-tab.active {
  color: #6ee7b7;
  border-bottom-color: #6ee7b7;
  background: rgba(110,231,183,.04);
}
.ptab-icon { font-size: 13px; }

/* ── BODY ── */
.pdks-body {
  flex: 1;
  overflow: hidden;
  position: relative;
}
.pdks-pane {
  display: none;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.pdks-pane.active { display: flex; }

/* Scroll gerektiren sekmeler */
#pdksPane_vardiya,
#pdksPane_analitik,
#pdksPane_mevzuat,
#pdksPane_izinbakiye,
#pdksPane_settings,
#pdksPane_tazminat,
#pdksPane_bordro,
#pdksPane_checkins {
  overflow-y: auto;
  overflow-x: hidden;
}

/* Tazminat tab — header kartlar ve sub-tab çubuğu sticky kalır */
#pdksPane_tazminat .pdks-header-stats,
#pdksPane_tazminat .taz-subtab-bar {
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 4;
  background: #080e1a;
}

/* Scrollbar stili — tazminat */
#pdksPane_tazminat::-webkit-scrollbar { width: 4px; }
#pdksPane_tazminat::-webkit-scrollbar-track { background: transparent; }
#pdksPane_tazminat::-webkit-scrollbar-thumb { background: rgba(110,231,183,.2); border-radius: 2px; }
#pdksPane_tazminat::-webkit-scrollbar-thumb:hover { background: rgba(110,231,183,.4); }

/* Toolbar sticky kalacak, içerik kayacak */
#pdksPane_vardiya   .pdks-toolbar,
#pdksPane_analitik  .pdks-toolbar,
#pdksPane_izinbakiye .pdks-toolbar {
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(4,14,30,.98);
}

/* ── TOOLBAR ── */
.pdks-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: rgba(4,14,30,.7);
  border-bottom: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
  flex-wrap: wrap;
}
.pdks-toolbar-left { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pdks-search {
  padding: 6px 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 7px;
  color: #e0f4ff;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  width: 200px;
  outline: none;
  transition: border-color .2s;
}
.pdks-search:focus { border-color: rgba(110,231,183,.4); }
.pdks-date-input {
  padding: 6px 10px;
  background: #0d1f35;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 7px;
  color: #e0f4ff;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  outline: none;
  color-scheme: dark;
}
.pdks-date-input:focus { border-color: rgba(110,231,183,.5); }
.pdks-select {
  padding: 6px 10px;
  background: #0d1f35;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 7px;
  color: #e0f4ff;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  outline: none;
  cursor: pointer;
  color-scheme: dark;
}
.pdks-select:focus { border-color: rgba(110,231,183,.5); }
.pdks-select option,
.pdks-date-input option {
  background: #0d1f35;
  color: #e0f4ff;
}
.pdks-toolbar-filters { display:flex;gap:4px;flex-wrap:wrap; }
.pdks-fchip {
  padding: 4px 10px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  color: rgba(255,255,255,.45);
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.pdks-fchip:hover { border-color: rgba(110,231,183,.3); color: #6ee7b7; }
.pdks-fchip.active {
  background: rgba(110,231,183,.1);
  border-color: rgba(110,231,183,.4);
  color: #6ee7b7;
}
.pdks-action-btn {
  padding: 6px 14px;
  border-radius: 7px;
  border: 1px solid;
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .5px;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.pdks-btn-green  { background:rgba(110,231,183,.1); border-color:rgba(110,231,183,.35); color:#6ee7b7; }
.pdks-btn-green:hover  { background:rgba(110,231,183,.2); }
.pdks-btn-yellow { background:rgba(251,191,36,.1);  border-color:rgba(251,191,36,.35);  color:#fbbf24; }
.pdks-btn-yellow:hover { background:rgba(251,191,36,.2); }
.pdks-btn-blue   { background:rgba(129,140,248,.1); border-color:rgba(129,140,248,.35); color:#818cf8; }
.pdks-btn-blue:hover   { background:rgba(129,140,248,.2); }
.pdks-btn-purple { background:rgba(167,139,250,.1); border-color:rgba(167,139,250,.35); color:#a78bfa; }
.pdks-btn-purple:hover { background:rgba(167,139,250,.2); }

/* ── TABLO ── */
.pdks-table-wrap {
  flex: 1;
  overflow: auto;
}
.pdks-table-wrap::-webkit-scrollbar { width:5px; height:5px; }
.pdks-table-wrap::-webkit-scrollbar-track { background:transparent; }
.pdks-table-wrap::-webkit-scrollbar-thumb { background:rgba(110,231,183,.2); border-radius:3px; }
.pdks-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.pdks-table th {
  position: sticky;
  top: 0;
  background: rgba(4,14,30,.99);
  padding: 10px 14px;
  text-align: left;
  font-family: 'Rajdhani', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  border-bottom: 1px solid rgba(255,255,255,.07);
  white-space: nowrap;
  z-index: 2;
}
.pdks-table td {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.035);
  vertical-align: middle;
  white-space: nowrap;
}
.pdks-table tbody tr { transition: background .12s; }
.pdks-table tbody tr:hover { background: rgba(255,255,255,.03); }
.pdks-table .pt-name { font-weight: 700; color: #e0f4ff; font-size: 13px; }
.pdks-table .pt-sub  { font-size: 10px; color: rgba(255,255,255,.35); margin-top: 2px; }
.pdks-table .pt-mono { font-family: 'Rajdhani', sans-serif; font-size: 13px; font-weight: 700; }
.pdks-table .pt-action {
  background: transparent;
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.5);
  padding: 3px 9px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 10px;
  font-family: 'Exo 2', sans-serif;
  transition: all .15s;
}
.pdks-table .pt-action:hover { border-color: rgba(110,231,183,.3); color: #6ee7b7; }

/* Durum renkleri tablo içi */
.pdks-sbadge {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 10px;
  font-family: 'Rajdhani', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  border: 1px solid;
}
.pdks-sbadge.present  { background:rgba(110,231,183,.12); color:#6ee7b7; border-color:rgba(110,231,183,.3); }
.pdks-sbadge.late     { background:rgba(251,191,36,.12);  color:#fbbf24; border-color:rgba(251,191,36,.3); }
.pdks-sbadge.absent   { background:rgba(248,113,113,.12); color:#f87171; border-color:rgba(248,113,113,.3); }
.pdks-sbadge.leave    { background:rgba(129,140,248,.12); color:#818cf8; border-color:rgba(129,140,248,.3); }
.pdks-sbadge.sick     { background:rgba(251,146,60,.12);  color:#fb923c; border-color:rgba(251,146,60,.3); }
.pdks-sbadge.excused  { background:rgba(167,139,250,.12); color:#a78bfa; border-color:rgba(167,139,250,.3); }
.pdks-sbadge.halfday  { background:rgba(34,211,238,.12);  color:#22d3ee; border-color:rgba(34,211,238,.3); }
.pdks-sbadge.approved { background:rgba(110,231,183,.12); color:#6ee7b7; border-color:rgba(110,231,183,.3); }
.pdks-sbadge.pending  { background:rgba(251,191,36,.12);  color:#fbbf24; border-color:rgba(251,191,36,.3); }
.pdks-sbadge.rejected { background:rgba(248,113,113,.12); color:#f87171; border-color:rgba(248,113,113,.3); }

/* ── CHECK-IN SUMMARY BAR ── */
.pdks-checkin-summary {
  display: flex;
  gap: 12px;
  padding: 8px 16px;
  background: rgba(4,14,30,.6);
  border-bottom: 1px solid rgba(255,255,255,.04);
  flex-shrink: 0;
  flex-wrap: wrap;
}
.pdks-cs-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; color: rgba(255,255,255,.5);
}
.pdks-cs-item .csn { font-family:'Rajdhani',sans-serif; font-size:15px; font-weight:700; }

/* ── PUANTAJ LEGEND ── */
.pdks-legend {
  padding: 6px 16px;
  background: rgba(4,14,30,.6);
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size: 10px;
  color: rgba(255,255,255,.4);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.pdks-legend-item {
  display: inline-flex; align-items:center; justify-content:center;
  width: 20px; height: 18px;
  border-radius: 4px;
  font-family: 'Rajdhani',sans-serif;
  font-size: 10px; font-weight: 700;
}
.pdks-legend-item.P  { background:rgba(110,231,183,.2); color:#6ee7b7; }
.pdks-legend-item.G  { background:rgba(251,191,36,.2);  color:#fbbf24; }
.pdks-legend-item.D  { background:rgba(248,113,113,.18);color:#f87171; }
.pdks-legend-item.I  { background:rgba(129,140,248,.18);color:#818cf8; }
.pdks-legend-item.H  { background:rgba(251,146,60,.18); color:#fb923c; }
.pdks-legend-item.YH { background:rgba(167,139,250,.15);color:#a78bfa; }
.pdks-legend-item.RT { background:rgba(34,211,238,.15); color:#22d3ee; }
.pdks-legend-item.W  { background:rgba(255,255,255,.06);color:rgba(255,255,255,.3); }

/* Puantaj table override */
.pdks-puantaj-wrap .pdks-table th.pj-sticky,
.pdks-puantaj-wrap .pdks-table td.pj-sticky {
  position: sticky;
  left: 0;
  background: rgba(8,14,26,.99);
  z-index: 3;
}
.pdks-puantaj-wrap .pdks-table th.pj-sticky { z-index: 4; }
.puantaj-cell {
  text-align: center;
  cursor: pointer;
  font-family: 'Rajdhani',sans-serif;
  font-weight: 700;
  font-size: 11px;
  transition: filter .12s;
  min-width: 28px;
  padding: 8px 4px !important;
}
.puantaj-cell:hover { filter: brightness(1.5); }
.puantaj-cell.P  { background:rgba(110,231,183,.18); color:#6ee7b7; }
.puantaj-cell.G  { background:rgba(251,191,36,.18);  color:#fbbf24; }
.puantaj-cell.D  { background:rgba(248,113,113,.15); color:#f87171; }
.puantaj-cell.I  { background:rgba(129,140,248,.15); color:#818cf8; }
.puantaj-cell.H  { background:rgba(251,146,60,.15);  color:#fb923c; }
.puantaj-cell.YH { background:rgba(167,139,250,.12); color:#a78bfa; }
.puantaj-cell.RT { background:rgba(34,211,238,.12);  color:#22d3ee; }
.puantaj-cell.W  { background:rgba(255,255,255,.03); color:rgba(255,255,255,.18); }
.puantaj-cell.F  { color:rgba(255,255,255,.12); }
td.pj-sum { background:rgba(255,255,255,.04); font-family:'Rajdhani',sans-serif; font-weight:700; font-size:12px; text-align:center; }

/* ── BORDRO ÖZET KARTLAR ── */
.pdks-bordro-summary-cards {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(4,14,30,.6);
  border-bottom: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
  flex-wrap: wrap;
}
.pdks-bsc {
  display: flex; flex-direction: column;
  padding: 10px 18px;
  border-radius: 10px;
  border: 1px solid;
  min-width: 130px;
}
.pdks-bsc-val { font-family:'Rajdhani',sans-serif; font-size:20px; font-weight:700; }
.pdks-bsc-lbl { font-size: 9px; opacity:.55; margin-top:2px; letter-spacing:.5px; }
.pdks-bsc.green  { background:rgba(110,231,183,.06); border-color:rgba(110,231,183,.2); color:#6ee7b7; }
.pdks-bsc.yellow { background:rgba(251,191,36,.06);  border-color:rgba(251,191,36,.2);  color:#fbbf24; }
.pdks-bsc.purple { background:rgba(129,140,248,.06); border-color:rgba(129,140,248,.2); color:#818cf8; }
.pdks-bsc.red    { background:rgba(248,113,113,.06); border-color:rgba(248,113,113,.2); color:#f87171; }
.pdks-bsc.blue   { background:rgba(34,211,238,.06);  border-color:rgba(34,211,238,.2);  color:#22d3ee; }

/* ── İzin Bakiye ── */
#pdksIzinBakiyeCards .pdks-bsc { padding:12px 16px; }

/* ── Analitik ── */
#pdksPane_analitik canvas { max-height:220px; }
#pdksPane_analitik { padding-bottom:24px; }

/* ── Mevzuat paneli ── */
#pdksMevzuatWrap .pdks-sfield { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.04); }
#pdksMevzuatWrap .pdks-sfield label { font-size:11px; color:rgba(255,255,255,.45); flex:1; }
#pdksMevzuatWrap .pdks-sfield .pdks-sinput { max-width:120px; }

/* ── İZİN GRİD ── */
.pdks-leave-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px;
  padding: 16px;
  overflow-y: auto;
  flex: 1;
}

/* ══ İZİN GÖRÜNÜM MOD BUTONLARI ══ */
.leave-view-toggle {
  display: flex;
  border: 1px solid rgba(167,139,250,.25);
  border-radius: 7px;
  overflow: hidden;
  gap: 0;
}
.lv-btn {
  padding: 6px 10px;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
  border-right: 1px solid rgba(167,139,250,.15);
}
.lv-btn:last-child { border-right: none; }
.lv-btn:hover { background: rgba(167,139,250,.08); color: rgba(255,255,255,.6); }
.lv-btn.active { background: rgba(167,139,250,.15); color: #a78bfa; }

/* ══ KANBAN ══ */
.lv-kanban {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  padding: 14px 16px;
  height: 100%;
  min-height: 0;
}
.lv-kanban-col {
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.lv-kanban-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  font-family: 'Rajdhani',sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .8px;
  border-bottom: 2px solid;
  flex-shrink: 0;
}
.lv-kanban-count {
  font-size: 11px;
  padding: 1px 7px;
  border-radius: 10px;
  font-weight: 700;
}
.lv-kanban-body {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ══ LİSTE ══ */
.lv-list-header {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr 80px 1.5fr 90px 80px;
  gap: 8px;
  padding: 6px 12px;
  font-size: 9px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.25);
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin-bottom: 6px;
}
.lv-list-row {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr 80px 1.5fr 90px 80px;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 7px;
  margin-bottom: 5px;
  transition: background .15s;
}
.lv-list-row:hover { background: rgba(255,255,255,.04); }
.lv-list-person {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ══ TAKVİM ══ */
.lv-cal-grid {
  display: grid;
  grid-template-columns: repeat(7,1fr);
  gap: 4px;
}
.lv-cal-wd {
  text-align: center;
  font-size: 9px;
  letter-spacing: 1px;
  color: rgba(255,255,255,.3);
  padding: 6px 0 4px;
  font-weight: 700;
}
.lv-cal-cell {
  min-height: 68px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 7px;
  padding: 5px 6px;
  cursor: pointer;
  transition: background .15s;
  position: relative;
}
.lv-cal-cell:hover { background: rgba(167,139,250,.06); border-color: rgba(167,139,250,.2); }
.lv-cal-cell.lv-cal-empty { background: transparent; border-color: transparent; cursor: default; }
.lv-cal-cell.lv-cal-weekend { background: rgba(255,255,255,.012); }
.lv-cal-cell.lv-cal-today {
  border-color: rgba(167,139,250,.5);
  background: rgba(167,139,250,.06);
}
.lv-cal-day-num {
  font-family: 'Rajdhani',sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.6);
  margin-bottom: 4px;
}
.lv-cal-today .lv-cal-day-num { color: #a78bfa; }
.lv-cal-weekend .lv-cal-day-num { color: rgba(255,255,255,.3); }
.lv-cal-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.lv-cal-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  opacity: .85;
}
.lv-cal-count {
  position: absolute;
  bottom: 4px;
  right: 5px;
  font-size: 9px;
  font-weight: 700;
  color: rgba(255,255,255,.35);
}

.pdks-leave-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  padding: 14px 16px;
}
.pdks-leave-card-top {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 8px;
}
.pdks-leave-name { font-size: 13px; font-weight: 700; color: #e0f4ff; }
.pdks-leave-role { font-size: 9px; color: rgba(255,255,255,.35); margin-top: 2px; }
.pdks-leave-type { font-size: 10px; font-weight: 600; padding: 3px 10px; border-radius: 5px; }
.pdks-leave-dates {
  font-family: 'Rajdhani', sans-serif;
  font-size: 12px; color: rgba(255,255,255,.5);
  margin-bottom: 10px;
}
.pdks-leave-dates strong { color: #e0f4ff; }
.pdks-leave-actions { display: flex; gap: 6px; }
.pdks-leave-approve {
  flex: 1; padding: 5px;
  background: rgba(110,231,183,.1); border: 1px solid rgba(110,231,183,.3);
  color: #6ee7b7; border-radius: 6px; cursor: pointer;
  font-size: 10px; font-family:'Exo 2',sans-serif; font-weight:600;
}
.pdks-leave-reject {
  flex: 1; padding: 5px;
  background: rgba(248,113,113,.1); border: 1px solid rgba(248,113,113,.3);
  color: #f87171; border-radius: 6px; cursor: pointer;
  font-size: 10px; font-family:'Exo 2',sans-serif; font-weight:600;
}

/* ── AYARLAR GRID ── */
.pdks-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
  padding: 16px;
  overflow-y: auto;
  flex: 1;
}
.pdks-settings-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pdks-settings-card-title {
  font-family: 'Rajdhani',sans-serif;
  font-size: 13px; font-weight: 700;
  color: #6ee7b7;
  letter-spacing: 1px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(110,231,183,.1);
  margin-bottom: 2px;
}
.pdks-sfield {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pdks-sfield label {
  font-size: 10px;
  color: rgba(255,255,255,.45);
  letter-spacing: .5px;
}
.pdks-sinput {
  padding: 7px 10px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 7px;
  color: #e0f4ff;
  font-family: 'Exo 2', sans-serif;
  font-size: 12px;
  outline: none;
  transition: border-color .2s;
}
.pdks-sinput:focus { border-color: rgba(110,231,183,.4); }

/* ── PDKS HIZLI GİRİŞ/ÇIKIŞ BUTONU ── */
.pdks-checkin-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  background: rgba(110,231,183,.08);
  border: 1px solid rgba(110,231,183,.25);
  border-radius: 6px;
  color: #6ee7b7;
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .3px;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
}
.pdks-checkin-btn:hover {
  background: rgba(110,231,183,.18);
  border-color: rgba(110,231,183,.5);
}

/* ═══════════════════════════════════════════════
   YOL BAKIM MODÜLİ
═══════════════════════════════════════════════ */

/* Tab */
.tab-btn.t-yolbakim.active {
  color: #f97316;
  border-bottom-color: #f97316;
  background: rgba(249,115,22,.05);
}
body.day-mode .tab-btn.t-yolbakim.active { color: #c2410c; border-bottom-color: #c2410c; }

/* Panel görünürlük */
.panel-yolbakim { display: none; flex-direction: column; gap: 6px; }
body.view-yolbakim .panel-yolbakim { display: flex; }

/* Segment liste item */
.yb-seg-item {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(249,115,22,.15);
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  margin-bottom: 4px;
}
.yb-seg-item:hover { background: rgba(249,115,22,.06); border-color: rgba(249,115,22,.3); }
.yb-seg-item.yb-sepette { border-color: rgba(249,115,22,.5); background: rgba(249,115,22,.08); }
.yb-seg-item.yb-aktif { border-color: #f97316; box-shadow: 0 0 8px rgba(249,115,22,.3); }

/* Mini butonlar */
.yb-mini-btn {
  font-size: 8px;
  padding: 2px 7px;
  background: transparent;
  border: 1px solid rgba(249,115,22,.3);
  color: rgba(249,115,22,.8);
  border-radius: 3px;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  transition: all .15s;
}
.yb-mini-btn:hover { background: rgba(249,115,22,.1); border-color: rgba(249,115,22,.6); }
.yb-mini-btn.yb-mini-warn {
  border-color: rgba(234,179,8,.3);
  color: #eab308;
}
.yb-mini-btn.yb-mini-warn:hover { background: rgba(234,179,8,.1); }
.yb-mini-btn.yb-mini-del {
  border-color: rgba(239,68,68,.25);
  color: rgba(239,68,68,.7);
}
.yb-mini-btn.yb-mini-del:hover { background: rgba(239,68,68,.1); }

/* Filtre butonları */
.yb-filtre-btn {
  font-size: 8px;
  padding: 2px 8px;
  background: transparent;
  border: 1px solid rgba(249,115,22,.2);
  color: rgba(249,115,22,.6);
  border-radius: 3px;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  transition: all .15s;
}
.yb-filtre-btn.active, .yb-filtre-btn:hover {
  background: rgba(249,115,22,.1);
  border-color: rgba(249,115,22,.5);
  color: #f97316;
}

/* Malzeme satırı */
.yb-malzeme-satir {
  font-size: 10px;
  color: rgba(255,255,255,.55);
  padding: 2px 0;
}
.yb-malzeme-satir b { color: #f97316; }

/* Harita tooltip */
.yb-tooltip {
  background: rgba(2,13,26,.9) !important;
  border: 1px solid rgba(249,115,22,.3) !important;
  color: #e2e8f0 !important;
  font-family: 'Exo 2', sans-serif !important;
  font-size: 11px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.4) !important;
  border-radius: 6px !important;
}
.yb-point-label {
  background: rgba(2,13,26,.85) !important;
  border: 1px solid rgba(34,197,94,.4) !important;
  color: #4ade80 !important;
  font-size: 9px !important;
  font-family: 'Exo 2', sans-serif !important;
  border-radius: 3px !important;
  padding: 1px 4px !important;
}

/* Yol Bakım Modal - Form elemanları */
.form-label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  margin-bottom: 4px;
  font-family: 'Exo 2', sans-serif;
  letter-spacing: .3px;
  text-transform: uppercase;
}
.form-input {
  width: 100%;
  padding: 7px 10px;
  background: rgba(6,20,45,.85);
  border: 1px solid rgba(249,115,22,.25);
  border-radius: 6px;
  color: #e2e8f0;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  outline: none;
  box-sizing: border-box;
  transition: border-color .15s;
}
.form-input:focus {
  border-color: rgba(249,115,22,.6);
  background: rgba(6,20,45,.95);
}
.form-input::placeholder { color: rgba(255,255,255,.25); }
.form-input option {
  background: #020d1a;
  color: #e2e8f0;
}
select.form-input { cursor: pointer; }
textarea.form-input { resize: vertical; min-height: 52px; }

/* Modal header/footer (yol bakım modalleri için) */
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.modal-title {
  font-size: 14px;
  font-weight: 700;
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: .5px;
  color: #e2e8f0;
}
.modal-close {
  background: transparent;
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 16px;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  transition: color .15s;
}
.modal-close:hover { color: #e2e8f0; }
.modal-body {
  padding: 16px 18px;
  overflow-y: auto;
  max-height: 70vh;
}
.modal-body::-webkit-scrollbar { width: 3px; }
.modal-body::-webkit-scrollbar-thumb { background: rgba(249,115,22,.2); border-radius: 2px; }
.modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 18px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.btn-primary {
  padding: 7px 16px;
  background: rgba(0,212,255,.12);
  border: 1px solid rgba(0,212,255,.35);
  border-radius: 7px;
  color: #00d4ff;
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.btn-primary:hover { background: rgba(0,212,255,.22); border-color: rgba(0,212,255,.6); }
.btn-secondary {
  padding: 7px 14px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 7px;
  color: rgba(255,255,255,.45);
  font-family: 'Exo 2', sans-serif;
  font-size: 11px;
  cursor: pointer;
  transition: all .15s;
}
.btn-secondary:hover { background: rgba(255,255,255,.05); color: rgba(255,255,255,.7); }

/* ═══ YOL BAKIM: İŞ EMRİ BALONCUĞU ═══ */
.yb-balon {
  position: fixed;
  bottom: 80px;
  right: 340px;
  width: 300px;
  background: rgba(3,12,28,.97);
  border: 1px solid rgba(249,115,22,.35);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.6), 0 0 20px rgba(249,115,22,.12);
  z-index: 9000;
  opacity: 1;
  transform: scale(1);
  transition: opacity .2s, transform .2s;
  font-family: 'Exo 2', sans-serif;
  overflow: hidden;
}
.yb-balon-header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  background: rgba(249,115,22,.07);
  border-bottom: 1px solid rgba(249,115,22,.15);
  cursor: grab;
  user-select: none;
}
.yb-balon-baslik {
  font-size: 12px;
  font-weight: 700;
  color: #e2e8f0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: .3px;
}
.yb-balon-icerik {
  padding: 12px 14px;
}
.yb-balon-satir {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
}
.yb-balon-etiket {
  font-size: 9px;
  color: rgba(255,255,255,.35);
  white-space: nowrap;
  padding-top: 1px;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.yb-balon-deger {
  font-size: 11px;
  color: #e2e8f0;
  text-align: right;
  line-height: 1.4;
}
.yb-balon-btn {
  width: 20px;
  height: 20px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 4px;
  color: rgba(255,255,255,.4);
  font-size: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
  padding: 0;
  font-family: monospace;
}
.yb-balon-btn:hover { background: rgba(255,255,255,.08); color: #e2e8f0; }
.yb-balon-kapat:hover { background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.4); color: #ef4444; }
.yb-mini-btn.yb-mini-aktif {
  background: rgba(249,115,22,.15);
  border-color: rgba(249,115,22,.5);
  color: #f97316;
}

/* Yol Bakım İş Emri Popup */
.yb-ie-popup .leaflet-popup-content-wrapper {
  background: rgba(2,12,28,.97) !important;
  border: 1px solid rgba(249,115,22,.35) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.6), 0 0 20px rgba(249,115,22,.15) !important;
  padding: 0 !important;
}
.yb-ie-popup .leaflet-popup-content {
  margin: 0 !important;
  padding: 12px 14px !important;
}
.yb-ie-popup .leaflet-popup-tip {
  background: rgba(249,115,22,.3) !important;
}
.yb-ie-popup .leaflet-popup-close-button {
  color: rgba(249,115,22,.5) !important;
  top: 7px !important;
  right: 9px !important;
}
.yb-ie-popup .leaflet-popup-close-button:hover {
  color: #f97316 !important;
}

/* ═══ YOL BAKIM PANEL TAB ═══ */
.yb-panel-tabs {
  display: flex;
  border-bottom: 1px solid rgba(249,115,22,.2);
  margin-bottom: 8px;
  flex-shrink: 0;
}
.yb-panel-tab {
  flex: 1;
  padding: 7px 4px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: rgba(255,255,255,.35);
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  letter-spacing: .3px;
}
.yb-panel-tab:hover { color: rgba(249,115,22,.7); }
.yb-panel-tab.active {
  color: #f97316;
  border-bottom-color: #f97316;
  background: rgba(249,115,22,.05);
}
.yb-panel-pane { display: none; flex-direction: column; gap: 6px; }
.yb-panel-pane.active { display: flex; }

/* İş emri kart */
.yb-ie-kart {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(249,115,22,.15);
  border-radius: 7px;
  padding: 9px 11px;
  cursor: pointer;
  transition: background .15s, border-color .15s, transform .1s;
  margin-bottom: 4px;
}
.yb-ie-kart:hover {
  background: rgba(249,115,22,.07);
  border-color: rgba(249,115,22,.35);
  transform: translateX(2px);
}

/* ═══ İŞ EMRİ SEGMENT SEÇİM CHECKBOX ═══ */
.yb-seg-checkbox {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,.06);
  cursor: pointer;
  transition: background .12s, border-color .12s;
}
.yb-seg-checkbox:hover { background: rgba(249,115,22,.07); border-color: rgba(249,115,22,.2); }
.yb-seg-checkbox.secili { background: rgba(249,115,22,.1); border-color: rgba(249,115,22,.35); }
.yb-chk {
  width: 13px; height: 13px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 3px;
  flex-shrink: 0;
  transition: all .12s;
}
.yb-chk.checked {
  background: #f97316;
  border-color: #f97316;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size: 9px;
  background-position: center;
  background-repeat: no-repeat;
}

/* ═══ YOL BAKIM: SEGMENT CHECKBOX SEÇİMİ ═══ */
.yb-seg-checkbox {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 8px;
  border: 1px solid rgba(249,115,22,.15);
  border-radius: 5px;
  background: rgba(255,255,255,.03);
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}
.yb-seg-checkbox:hover { background: rgba(249,115,22,.06); border-color: rgba(249,115,22,.3); }
.yb-seg-checkbox.secili { background: rgba(249,115,22,.1); border-color: rgba(249,115,22,.45); }

.yb-chk {
  width: 14px;
  height: 14px;
  border: 1px solid rgba(249,115,22,.35);
  border-radius: 3px;
  background: transparent;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
}
.yb-chk.checked {
  background: #f97316;
  border-color: #f97316;
}
.yb-chk.checked::after {
  content: '✓';
  font-size: 9px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
}

/* ═══ YOL BAKIM: FLOATING BALON ═══ */
.yb-floating-balon {
  position: absolute;
  z-index: 700;
  width: 200px;
  background: rgba(2, 12, 28, 0.96);
  border: 1px solid rgba(249,115,22,.4);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,.55), 0 0 0 1px rgba(249,115,22,.08);
  font-family: 'Exo 2', sans-serif;
  backdrop-filter: blur(10px);
}
.yb-balon-handle {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(249,115,22,.15);
  cursor: grab;
  background: rgba(249,115,22,.03);
  user-select: none;
  border-radius: 8px 8px 0 0;
}
.yb-balon-handle:active { cursor: grabbing; }
.yb-floating-balon .popup-details {
  padding: 6px 8px 8px;
  max-height: 220px;
  overflow-y: auto;
}

/* ═══ BÜTÇE DÖNEM SEÇİM BUTONLARI ═══ */
.yb-donem-btn {
  padding: 6px 4px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(249,115,22,.2);
  border-radius: 5px;
  color: rgba(255,255,255,.45);
  font-family: 'Exo 2', sans-serif;
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  text-align: center;
}
.yb-donem-btn:hover { background: rgba(249,115,22,.08); color: rgba(249,115,22,.8); }
.yb-donem-btn.active {
  background: rgba(249,115,22,.15);
  border-color: rgba(249,115,22,.5);
  color: #f97316;
}

/* ═══ İŞ EMRİ LOG TOGGLE BUTONU ═══ */
.yb-log-ok-btn {
  width: 18px;
  height: 18px;
  background: rgba(249,115,22,.08);
  border: 1px solid rgba(249,115,22,.25);
  border-radius: 3px;
  color: rgba(249,115,22,.7);
  font-size: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: all .15s;
  flex-shrink: 0;
}
.yb-log-ok-btn:hover {
  background: rgba(249,115,22,.18);
  color: #f97316;
}

/* ═══ FOTOĞRAF İKON + HOVER PREVİEW ═══ */
.yb-foto-ikon {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}
.yb-foto-ikon > img {
  width: 20px;
  height: 20px;
  border-radius: 3px;
  object-fit: cover;
  border: 1px solid rgba(56,189,248,.4);
  transition: border-color .15s, transform .15s;
  vertical-align: middle;
}
.yb-foto-ikon:hover > img {
  border-color: #38bdf8;
  transform: scale(1.1);
}
.yb-foto-hover-preview {
  display: none;
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 800;
  border-radius: 7px;
  overflow: hidden;
  border: 1px solid rgba(56,189,248,.4);
  box-shadow: 0 8px 32px rgba(0,0,0,.7);
  pointer-events: none;
}
.yb-foto-hover-preview img {
  width: 180px;
  height: 130px;
  object-fit: cover;
  display: block;
}
.yb-foto-ikon:hover .yb-foto-hover-preview {
  display: block;
}

/* ═══ UYDU KOORDİNAT BAR ═══ */
.uydu-coord-bar {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 26px;
  background: rgba(2,8,20,.93);
  border-top: 1px solid rgba(0,212,255,.12);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  font-family: 'Exo 2', monospace;
  font-size: 10px;
  z-index: 50;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
}
.ucb-icon { font-size: 10px; flex-shrink: 0; }
.ucb-coord {
  color: #00d4ff;
  font-family: 'Orbitron', monospace;
  font-size: 9px;
  letter-spacing: .5px;
  flex-shrink: 0;
  min-width: 140px;
}
.ucb-sep { color: rgba(255,255,255,.15); flex-shrink: 0; }
.ucb-addr {
  color: rgba(255,255,255,.55);
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.ucb-spin {
  color: #00d4ff;
  font-size: 12px;
  animation: ucb-rotate .8s linear infinite;
  flex-shrink: 0;
}
@keyframes ucb-rotate { to { transform: rotate(360deg); } }

/* ═══ UYDU SAĞ TIK MENU ═══ */
.uydu-ctx-menu {
  position: absolute;
  z-index: 9000;
  background: rgba(4,12,28,.97);
  border: 1px solid rgba(0,212,255,.25);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.7), 0 0 0 1px rgba(0,212,255,.08);
  min-width: 180px;
  backdrop-filter: blur(8px);
}
.uydu-ctx-item {
  padding: 9px 16px;
  font-size: 11px;
  font-family: 'Exo 2', sans-serif;
  color: rgba(255,255,255,.75);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background .1s, color .1s;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.uydu-ctx-item:last-child { border-bottom: none; }
.uydu-ctx-item:hover {
  background: rgba(0,212,255,.1);
  color: #fff;
}

/* ═══ UYDU PIN POPUP (Leaflet) ═══ */
.uydu-pin-popup .leaflet-popup-content-wrapper {
  background: rgba(4,12,28,.97) !important;
  border: 1px solid rgba(0,212,255,.3) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.7) !important;
  color: #e2e8f0 !important;
  font-family: 'Exo 2', sans-serif !important;
}
.uydu-pin-popup .leaflet-popup-tip {
  background: rgba(4,12,28,.97) !important;
}
.uydu-pin-popup .leaflet-popup-close-button {
  color: rgba(255,255,255,.4) !important;
}

/* ═══ UYDU ADRES ARAMA ═══ */
.uydu-addr-search-wrap {
  padding: 8px 10px 0;
  position: relative;
}
.uydu-addr-input-row {
  display: flex;
  gap: 4px;
}
.uydu-addr-input {
  flex: 1;
  background: rgba(0,212,255,.06);
  border: 1px solid rgba(0,212,255,.2);
  border-radius: 6px;
  padding: 7px 10px;
  color: #e2e8f0;
  font-size: 10px;
  font-family: 'Exo 2', sans-serif;
  outline: none;
  transition: border-color .15s;
}
.uydu-addr-input::placeholder { color: rgba(255,255,255,.25); }
.uydu-addr-input:focus {
  border-color: rgba(0,212,255,.5);
  background: rgba(0,212,255,.1);
}
.uydu-addr-go-btn {
  width: 30px;
  background: rgba(0,212,255,.12);
  border: 1px solid rgba(0,212,255,.25);
  border-radius: 6px;
  color: #00d4ff;
  font-size: 13px;
  cursor: pointer;
  transition: background .15s;
  flex-shrink: 0;
}
.uydu-addr-go-btn:hover { background: rgba(0,212,255,.25); }

.uydu-addr-results {
  position: absolute;
  left: 10px; right: 10px;
  top: calc(100% - 4px);
  background: rgba(4,12,28,.98);
  border: 1px solid rgba(0,212,255,.25);
  border-radius: 0 0 8px 8px;
  z-index: 500;
  max-height: 220px;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0,0,0,.7);
}
.uydu-addr-result-item {
  padding: 8px 12px;
  font-size: 10px;
  font-family: 'Exo 2', sans-serif;
  color: rgba(255,255,255,.7);
  cursor: pointer;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: background .1s;
  line-height: 1.4;
}
.uydu-addr-result-item:last-child { border-bottom: none; }
.uydu-addr-result-item:hover {
  background: rgba(0,212,255,.1);
  color: #fff;
}
.uydu-addr-result-item .uari-main {
  color: #e2e8f0;
  font-weight: 600;
  margin-bottom: 1px;
}
.uydu-addr-result-item .uari-sub {
  color: rgba(255,255,255,.35);
  font-size: 9px;
}
.uydu-addr-no-result {
  padding: 10px 12px;
  font-size: 10px;
  color: rgba(255,255,255,.25);
  text-align: center;
  font-family: 'Exo 2', sans-serif;
}
.uydu-addr-loading {
  padding: 10px 12px;
  font-size: 10px;
  color: #00d4ff;
  text-align: center;
  font-family: 'Exo 2', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* ═══ YOL BAKIM: CANLI İZLEME PANELİ KARTI ═══ */
.yb-ip-kart {
  background: rgba(2, 10, 24, 0.95);
  border-left: 3px solid #f97316;
  border-top: 1px solid rgba(249,115,22,.2);
  border-right: 1px solid rgba(249,115,22,.2);
  border-bottom: 1px solid rgba(249,115,22,.2);
  border-radius: 7px;
  padding: 8px 10px;
  cursor: pointer;
  transition: all .15s;
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}
.yb-ip-kart:hover { background: rgba(249,115,22,.06); transform: translateX(-2px); }
.yb-ip-kart.yb-ip-kritik  { border-left-color: #ef4444; }
.yb-ip-kart.yb-ip-yuksek  { border-left-color: #f97316; }
.yb-ip-kart.yb-ip-orta    { border-left-color: #eab308; }
.yb-ip-kart.yb-ip-dusuk   { border-left-color: #22c55e; }
.yb-ip-kart.yb-ip-devam   { box-shadow: 0 0 8px rgba(59,130,246,.2); }
.yb-ip-kart.yb-ip-gecikti { box-shadow: 0 0 8px rgba(239,68,68,.25); animation: yb-gecik-pulse 2s infinite; }
.yb-ip-kart.yb-ip-aktif-balon { background: rgba(249,115,22,.08); border-color: rgba(249,115,22,.5); }

@keyframes yb-gecik-pulse {
  0%,100% { box-shadow: 0 0 8px rgba(239,68,68,.25); }
  50%      { box-shadow: 0 0 16px rgba(239,68,68,.5); }
}

.yb-ip-kart-baslik {
  font-family: 'Rajdhani', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #e2e8f0;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.yb-ip-kart-meta {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.yb-ip-badge {
  font-size: 8px;
  padding: 1px 5px;
  border-radius: 3px;
  font-weight: 600;
  font-family: 'Exo 2', sans-serif;
  letter-spacing: .3px;
}
.yb-ip-progress {
  height: 2px;
  background: rgba(255,255,255,.08);
  border-radius: 2px;
  margin-top: 5px;
  overflow: hidden;
}
.yb-ip-progress-fill {
  height: 100%;
  border-radius: 2px;
  transition: width .4s;
}
/* Kaydırma barı stilini gizle */
#ybIzlemeListesi::-webkit-scrollbar { width: 3px; }
#ybIzlemeListesi::-webkit-scrollbar-track { background: transparent; }
#ybIzlemeListesi::-webkit-scrollbar-thumb { background: rgba(249,115,22,.3); border-radius: 2px; }

/* Floating balon: tüm gövde cursor grab göster */
.yb-floating-balon { cursor: grab; }
.yb-floating-balon:active { cursor: grabbing; }
/* Buton, input vs normal cursor */
.yb-floating-balon button,
.yb-floating-balon input,
.yb-floating-balon select,
.yb-floating-balon a { cursor: pointer; }
/* Scroll alanı normal cursor */
.yb-floating-balon .popup-details { cursor: default; }

/* ══ BORDRO SUMMARY BAR ══ */
.bordro-summary-bar {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(4,14,30,.6);
  flex-wrap: nowrap;
  overflow-x: auto;
}
.bsb-card {
  flex: 0 0 auto;
  padding: 10px 16px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.025);
  display: flex;
  flex-direction: column;
  gap: 2px;
  white-space: nowrap;
}
.bsb-lbl {
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  white-space: nowrap;
}
.bsb-val {
  font-family: 'Rajdhani', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #e0f4ff;
  white-space: nowrap;
}
.bsb-sub {
  font-size: 9px;
  color: rgba(255,255,255,.22);
  white-space: nowrap;
}
.bsb-card.yellow { border-color: rgba(251,191,36,.2);  }
.bsb-card.yellow .bsb-val { color: #fbbf24; }
.bsb-card.green  { border-color: rgba(110,231,183,.2); }
.bsb-card.green  .bsb-val { color: #6ee7b7; }
.bsb-card.orange { border-color: rgba(251,146,60,.2);  }
.bsb-card.orange .bsb-val { color: #fb923c; }
.bsb-card.red    { border-color: rgba(248,113,113,.2); }
.bsb-card.red    .bsb-val { color: #f87171; }
.bsb-card.purple { border-color: rgba(167,139,250,.2); }
.bsb-card.purple .bsb-val { color: #a78bfa; }
.bsb-card.blue   { border-color: rgba(96,165,250,.2);  }
.bsb-card.blue   .bsb-val { color: #60a5fa; }

/* ══ HARİTA MERKEZİ SEÇİCİ ══ */
.param-mapcenter-btn {
  padding: 5px 11px;
  background: rgba(96,165,250,.1);
  border: 1px solid rgba(96,165,250,.25);
  color: #60a5fa;
  border-radius: 6px;
  cursor: pointer;
  font-size: 10px;
  font-family: 'Exo 2', sans-serif;
  font-weight: 600;
  white-space: nowrap;
  transition: background .15s;
}
.param-mapcenter-btn:hover { background: rgba(96,165,250,.2); }
.param-row-mapcenter { flex-wrap: wrap; gap: 6px; }
.addr-result-row {
  padding: 8px 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 7px;
  cursor: pointer;
  transition: background .15s;
}
.addr-result-row:hover { background: rgba(96,165,250,.08); border-color: rgba(96,165,250,.25); }

/* ══ TAZMİNAT TAB STİLLERİ ══ */
.taz-sub-tab.active {
  background: rgba(110,231,183,.12) !important;
  border-color: rgba(110,231,183,.25) !important;
  color: #6ee7b7 !important;
}
.taz-sub-tab:hover:not(.active) {
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
}

/* ══════════════════════════════════════
   BİNA YAŞLARI MODÜLİ
   ══════════════════════════════════════ */

/* Tab rengi */

/* Panel görünürlük */

/* Filtre butonları */
.by-filtre-btn {
  font-family: 'Rajdhani', sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 4px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.4);
  cursor: pointer;
  transition: all .15s;
}
.by-filtre-btn.active,
.by-filtre-btn:hover {
  background: rgba(251,191,36,.1);
  border-color: rgba(251,191,36,.3);
  color: #fbbf24;
}

/* Bina liste satırı */
.by-list-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 7px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  cursor: pointer;
  transition: background .15s, border-color .15s;
  margin-bottom: 3px;
}
.by-list-item:hover {
  background: rgba(251,191,36,.06);
  border-color: rgba(251,191,36,.2);
}
.by-list-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.by-list-info { flex: 1; min-width: 0; }
.by-list-name {
  font-size: 11px;
  font-weight: 600;
  color: #e2e8f0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.by-list-meta {
  font-size: 9px;
  color: rgba(255,255,255,.35);
  margin-top: 1px;
}


/* ════════════════════════════════════════════════════════════════
   MOBİL RESPONSIVE  —  max-width: 768px
   Desktop layout tamamen korunur, sadece mobil override'lar
   ════════════════════════════════════════════════════════════════ */

/* Mobil-only elementler desktop'ta gizli */
.mobile-overlay,
.mobile-panel-close,
.mobile-menu-btn { display: none; }

@media (max-width: 768px) {

  /* ── Header: kompakt ─────────────────────────────────────── */
  .header {
    height: 52px;
    padding: 0 10px;
  }
  .header-center { display: none !important; }
  .logo-sub      { display: none; }
  .clock         { display: none; }
  .live-badge    { display: none; }
  .logo-icon     { width: 30px; height: 30px; font-size: 14px; }
  .logo-city     { font-size: 13px; }

  /* Hamburger butonu — sadece mobilde görünür */
  .mobile-menu-btn {
    display: flex;
    align-items: center; justify-content: center;
    width: 34px; height: 34px;
    background: rgba(0,212,255,.08);
    border: 1px solid rgba(0,212,255,.25);
    border-radius: 7px;
    color: rgba(0,212,255,.8);
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    margin-right: 4px;
  }

  /* ── Module tabs: yatay scroll ───────────────────────────── */
  .module-tabs {
    top: 52px;
    right: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
  }
  .module-tabs::-webkit-scrollbar { display: none; }
  .tab-btn {
    flex: 0 0 auto;
    font-size: 8px;
    padding: 0 9px;
    gap: 3px;
    min-width: 56px;
    letter-spacing: 0.5px;
  }

  /* ── Side panel: sol drawer, varsayılan kapalı ───────────── */
  .side-panel {
    top: 90px !important;
    bottom: 0 !important;
    width: 88vw !important;
    max-width: 320px !important;
    transform: translateX(-100%) !important;
    z-index: 500 !important;
    box-shadow: 6px 0 28px rgba(0,0,0,0.65);
  }
  /* Panel açıkken */
  body.mobile-panel-open .side-panel {
    transform: translateX(0) !important;
  }

  /* Panel kapat butonu (panel içinde) */
  .mobile-panel-close {
    display: flex;
    align-items: center; justify-content: center;
    position: absolute;
    top: 8px; right: 8px;
    width: 28px; height: 28px;
    background: rgba(255,80,80,.12);
    border: 1px solid rgba(255,80,80,.3);
    border-radius: 6px;
    color: rgba(255,100,100,.7);
    font-size: 13px;
    cursor: pointer;
    z-index: 10;
    flex-shrink: 0;
  }

  /* ── Karartma overlay ────────────────────────────────────── */
  .mobile-overlay {
    display: block;
    position: fixed;
    inset: 0;
    top: 90px;
    background: rgba(0,0,0,0.5);
    z-index: 490;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
  }
  body.mobile-panel-open .mobile-overlay {
    opacity: 1;
    pointer-events: all;
  }

  /* ── History panel: tam genişlik ────────────────────────── */
  #locationHistoryPanel {
    padding: 8px 10px 10px;
  }

  /* ── Filter overlay: tam genişlik ──────────────────────── */
  .filter-overlay {
    right: 8px !important;
    left: 8px !important;
    width: auto !important;
    max-width: none !important;
    bottom: 12px !important;
  }

  /* ── Modal kutuları: geniş ──────────────────────────────── */
  .modal-box {
    width: 96vw !important;
    max-width: 96vw !important;
    max-height: 88vh !important;
    overflow-y: auto;
    margin: 0 auto;
  }

  /* ── PDKS, Uydu, Param tam ekran görünümleri ────────────── */
  body.view-pdks   #pdksPane,
  body.view-uydu   .uydu-main-wrap,
  body.view-param  .param-outer,
  body.view-yolbakim .yolbakim-wrap {
    margin-left: 0 !important;
    padding-left: 10px !important;
  }

  /* ── User dropdown: sağa taşma engeli ───────────────────── */
  .user-dropdown {
    right: 0 !important;
    left: auto !important;
    min-width: 200px !important;
  }
}

/* ══════════ TAB SÜRÜKLE-BIRAK ════════════════════════════════ */
/* Normal durumda pointer (seçim ikonu) */
.tab-btn[draggable="true"] { cursor: pointer; }
/* Mouse basılıyken veya aktif sürükleme sırasında taşıma ikonu */
.tab-btn[draggable="true"]:active { cursor: grabbing; }
.tab-btn.tab-dragging {
  opacity: 0.4;
  cursor: grabbing !important;
  background: rgba(0,212,255,.08) !important;
  border-bottom-color: rgba(0,212,255,.3) !important;
}

/* ══════════ KOLON AYAR BUTONU ════════════════════════════════ */
.wov-col-btn {
  border-color: rgba(167,139,250,.3) !important;
  color: rgba(167,139,250,.85) !important;
}
.wov-col-btn:hover, .wov-col-btn.open {
  background: rgba(167,139,250,.1) !important;
  border-color: rgba(167,139,250,.55) !important;
  color: #c4b5fd !important;
}

/* ══════════ KOLON SEÇİCİ PANELİ ══════════════════════════════ */
.wov-col-panel {
  display: none;
  position: fixed;
  z-index: 9999;
  width: 268px;
  background: #0c1622;
  border: 1px solid rgba(0,212,255,.18);
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0,0,0,.65), 0 0 0 1px rgba(0,212,255,.06);
  overflow: hidden;
  animation: wovColIn .15s ease;
}
.wov-col-panel.open { display: block; }
@keyframes wovColIn {
  from { opacity:0; transform:translateY(-6px) scale(.97); }
  to   { opacity:1; transform:none; }
}
/* header */
.wov-col-ph {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(0,212,255,.06);
  border-bottom: 1px solid rgba(0,212,255,.1);
  font-size: 11.5px;
  font-weight: 700;
  color: rgba(0,212,255,.9);
  letter-spacing: .6px;
  text-transform: uppercase;
}
.wov-col-ph-close {
  background: none; border: none; cursor: pointer;
  color: rgba(224,244,255,.35); font-size: 13px; padding: 0;
  transition: color .15s; line-height: 1;
}
.wov-col-ph-close:hover { color: #ff6b35; }
/* hint */
.wov-col-hint {
  padding: 5px 14px 3px;
  font-size: 9.5px;
  color: rgba(224,244,255,.3);
  letter-spacing: .2px;
}
/* list */
.wov-col-list {
  max-height: 380px;
  overflow-y: auto;
  padding: 3px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,212,255,.2) transparent;
}
.wov-col-list::-webkit-scrollbar { width: 4px; }
.wov-col-list::-webkit-scrollbar-thumb { background: rgba(0,212,255,.2); border-radius: 4px; }
/* item row */
.wov-col-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 14px;
  transition: background .1s;
  border-left: 2px solid transparent;
}
.wov-col-item[draggable="true"] { cursor: grab; }
.wov-col-item[draggable="true"]:hover {
  background: rgba(0,212,255,.05);
  border-left-color: rgba(0,212,255,.25);
}
.wov-col-fixed { opacity: .45; cursor: default !important; }
.wov-col-dragging {
  opacity: .3;
  background: rgba(0,212,255,.1) !important;
}
/* grip icon */
.wov-col-grip {
  font-size: 14px;
  color: rgba(224,244,255,.2);
  user-select: none;
  flex-shrink: 0;
  width: 14px;
  text-align: center;
}
/* label + checkbox */
.wov-col-lbl {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  cursor: pointer;
  font-size: 12px;
  color: rgba(224,244,255,.72);
  user-select: none;
}
.wov-col-lbl input[type="checkbox"] {
  accent-color: #00d4ff;
  width: 14px; height: 14px;
  cursor: pointer;
  flex-shrink: 0;
}
.wov-col-lbl input:disabled { cursor: default; opacity: .5; }
/* footer */
.wov-col-pf {
  padding: 8px 14px;
  border-top: 1px solid rgba(0,212,255,.07);
}
.wov-col-reset {
  width: 100%;
  padding: 6px;
  background: rgba(255,107,53,.06);
  border: 1px solid rgba(255,107,53,.2);
  border-radius: 6px;
  color: rgba(255,107,53,.75);
  font-size: 11px;
  cursor: pointer;
  transition: background .15s, color .15s;
  letter-spacing: .3px;
}
.wov-col-reset:hover {
  background: rgba(255,107,53,.14);
  color: #ff6b35;
}

/* ══════════ LİSTE SIRALAMABAŞLIĞI ════════════════════════════ */
.wov-sort-th {
  cursor: pointer;
  user-select: none;
  transition: color .15s;
  white-space: nowrap;
}
.wov-sort-th:hover { color: rgba(0,212,255,.85); }
.wov-sort-active { color: #00d4ff; }


/* ══════════════════════════════════════════════════════════════
   KENTSEL DÖNÜŞÜM MODÜLÜ
   ══════════════════════════════════════════════════════════════ */

/* Tab rengi */
.tab-btn.t-kdotr        { --cc: #10b981; }
.tab-btn.t-kdotr.active { background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.35); color: #10b981; }

/* View tetikleyici */
body.view-kdotr .kd-overlay       { display: flex; }
body.view-kdotr #sidePanel         { display: none; }
body.view-kdotr .toggle-btn        { display: none; }
body.view-kdotr .filter-btn-wrap   { display: none; }
body.view-kdotr .work-map-badge    { display: none; }
body.view-kdotr .layer-switcher    { display: none; }
body.view-kdotr #map               { display: none; }
body.view-kdotr .filter-overlay    { display: none !important; }

/* ── Overlay ana yapı ── */
.kd-overlay {
  display: none;
  position: fixed;
  top: 102px; left: 0; right: 0; bottom: 24px;
  z-index: 22;
  flex-direction: column;
  background: #05081a;
  overflow: hidden;
}

/* ── Header ── */
.kd-header {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 22px;
  background: rgba(4,6,20,.98);
  border-bottom: 1px solid rgba(16,185,129,.2);
  flex-shrink: 0;
}
.kd-logo { font-size: 26px; }
.kd-title { font-family: 'Orbitron', sans-serif; font-size: 13px; color: #10b981; letter-spacing: 2px; }
.kd-subtitle { font-size: 9px; color: rgba(16,185,129,.4); letter-spacing: 1px; margin-top: 2px; }
.kd-header-stats { display: flex; gap: 14px; margin: 0 auto; }
.kd-hstat { text-align: center; }
.kd-hstat span { display: block; font-family: 'Orbitron', sans-serif; font-size: 18px; color: rgba(255,255,255,.6); }
.kd-hstat small { font-size: 8px; color: rgba(255,255,255,.3); letter-spacing: 1px; text-transform: uppercase; }
.kd-hstat.kd-hstat-red span     { color: #ef4444; }
.kd-hstat.kd-hstat-orange span  { color: #f97316; }
.kd-hstat.kd-hstat-yellow span  { color: #eab308; }
.kd-hstat.kd-hstat-green span   { color: #22c55e; }
.kd-hstat.kd-hstat-teal span    { color: #10b981; }
.kd-header-right { display: flex; gap: 6px; align-items: center; }
.kd-action-btn {
  background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.3);
  color: #10b981; padding: 6px 14px; border-radius: 6px; cursor: pointer;
  font-family: 'Exo 2', sans-serif; font-size: 10px; letter-spacing: .8px;
  transition: background .15s; white-space: nowrap;
}
.kd-action-btn:hover { background: rgba(16,185,129,.2); }
.kd-action-btn.kd-action-btn-primary {
  background: rgba(16,185,129,.18); border-color: rgba(16,185,129,.5); font-weight: 600;
}

/* ── Nav ── */
.kd-nav {
  display: flex; align-items: center; gap: 4px;
  padding: 0 16px;
  background: rgba(4,6,20,.85);
  border-bottom: 1px solid rgba(16,185,129,.1);
  flex-shrink: 0;
  min-height: 40px;
}
.kd-nav-btn {
  background: none; border: none; border-bottom: 2px solid transparent;
  color: rgba(224,244,255,.45); padding: 10px 14px; cursor: pointer;
  font-family: 'Exo 2', sans-serif; font-size: 11px; letter-spacing: .5px;
  transition: color .15s, border-color .15s; white-space: nowrap;
}
.kd-nav-btn:hover   { color: rgba(16,185,129,.8); }
.kd-nav-btn.active  { color: #10b981; border-bottom-color: #10b981; }

/* Liste araçları in nav */
.kd-list-tools { display: flex; gap: 6px; align-items: center; margin-left: auto; }
.kd-search-input {
  background: rgba(224,244,255,.06); border: 1px solid rgba(224,244,255,.12);
  border-radius: 6px; color: rgba(224,244,255,.85); padding: 5px 10px; font-size: 11px;
  width: 180px; outline: none; transition: border-color .15s;
}
.kd-search-input:focus { border-color: rgba(16,185,129,.5); }
.kd-filter-sel {
  background: rgba(224,244,255,.06); border: 1px solid rgba(224,244,255,.12);
  border-radius: 6px; color: rgba(224,244,255,.75); padding: 5px 8px; font-size: 10px;
  outline: none; cursor: pointer;
}

/* ── Body ── */
.kd-body { display: flex; flex: 1; min-height: 0; overflow: hidden; }

/* ── Sections ── */
.kd-section { display: none; flex: 1; overflow: hidden; }
.kd-section.active { display: flex; }

/* ── HARITA SECTION ── */
.kd-sec-harita { flex-direction: row; }
.kd-map-sidebar {
  width: 220px; flex-shrink: 0;
  background: rgba(4,6,20,.95);
  border-right: 1px solid rgba(16,185,129,.1);
  overflow-y: auto; padding: 12px 10px;
  display: flex; flex-direction: column; gap: 4px;
}
.kd-sidebar-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.kd-sidebar-label { font-size: 9px; letter-spacing: 1.5px; color: rgba(16,185,129,.5); padding: 4px 2px; }
.kd-risk-filters, .kd-surec-filters { display: flex; flex-direction: column; gap: 2px; }
.kd-risk-filter-item {
  display: flex; align-items: center; gap: 6px;
  padding: 4px 6px; border-radius: 5px; cursor: pointer; font-size: 10px;
  color: rgba(224,244,255,.65); transition: background .12s;
}
.kd-risk-filter-item:hover { background: rgba(224,244,255,.05); }
.kd-risk-filter-item input { width: 12px; height: 12px; accent-color: #10b981; cursor: pointer; }
.kd-rf-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.kd-rf-cnt { margin-left: auto; font-size: 9px; color: rgba(224,244,255,.3); }
.kd-map-area { flex: 1; }
.kd-map-bina-list { display: flex; flex-direction: column; gap: 2px; overflow-y: auto; max-height: 200px; }
.kd-map-bina-item {
  display: flex; align-items: center; gap: 6px;
  padding: 4px 6px; border-radius: 5px; cursor: pointer; font-size: 10px;
  color: rgba(224,244,255,.65); transition: background .12s;
}
.kd-map-bina-item:hover { background: rgba(224,244,255,.06); }
.kd-mbi-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.kd-mbi-ad  { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kd-mbi-skor{ font-size: 9px; font-weight: 700; }

/* ── LİSTE SECTION ── */
.kd-sec-liste { flex-direction: column; overflow: auto; }
.kd-list-wrap { flex: 1; overflow: auto; padding: 0; }
.kd-list-table { min-width: 700px; }
.kd-act-btn {
  background: none; border: none; cursor: pointer; font-size: 13px;
  padding: 2px 3px; opacity: 0.7; transition: opacity .12s;
}
.kd-act-btn:hover { opacity: 1; }

/* ── RİSK ANALİZİ SECTION ── */
.kd-sec-risk { flex-direction: column; overflow-y: auto; padding: 16px; }
.kd-risk-dashboard { display: flex; flex-direction: column; gap: 16px; }
.kd-risk-cards { display: flex; gap: 10px; flex-wrap: wrap; }
.kd-risk-card {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 16px 20px; border-radius: 10px; border: 1px solid rgba(255,255,255,.1);
  min-width: 120px; transition: transform .15s;
}
.kd-risk-card:hover { transform: translateY(-2px); }
.kd-rc-icon  { font-size: 22px; }
.kd-rc-count { font-family: 'Orbitron', sans-serif; font-size: 28px; font-weight: 700; }
.kd-rc-label { font-size: 10px; color: rgba(224,244,255,.55); letter-spacing: .5px; }
.kd-rc-pct   { font-size: 11px; font-weight: 600; }
.kd-risk-charts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.kd-chart-box {
  background: rgba(224,244,255,.03); border: 1px solid rgba(224,244,255,.08);
  border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 8px;
}
.kd-chart-title { font-size: 11px; color: rgba(224,244,255,.5); letter-spacing: .5px; }

/* ── SÜREÇ / KANBAN SECTION ── */
.kd-sec-surec { overflow-x: auto; }
.kd-kanban {
  display: flex; gap: 10px; padding: 14px; min-width: max-content; height: 100%;
}
.kd-kanban-col {
  width: 220px; flex-shrink: 0;
  background: rgba(224,244,255,.03);
  border: 1px solid rgba(224,244,255,.07);
  border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column;
}
.kd-kanban-col-header {
  padding: 10px 12px;
  border-top: 3px solid transparent;
  background: rgba(224,244,255,.04);
  display: flex; justify-content: space-between; align-items: center;
  font-size: 11px; font-weight: 600; color: rgba(224,244,255,.75);
  flex-shrink: 0;
}
.kd-kanban-count {
  padding: 2px 8px; border-radius: 8px; font-size: 10px;
}
.kd-kanban-col-body {
  flex: 1; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 6px;
}
.kd-kanban-empty { font-size: 10px; color: rgba(224,244,255,.25); text-align: center; padding: 16px; }
.kd-kanban-card {
  background: rgba(224,244,255,.05); border: 1px solid rgba(224,244,255,.08);
  border-radius: 7px; padding: 10px; cursor: pointer; transition: background .12s, transform .12s;
}
.kd-kanban-card:hover { background: rgba(224,244,255,.09); transform: translateY(-1px); }
.kd-kc-ad      { font-size: 11px; font-weight: 600; color: rgba(224,244,255,.85); margin-bottom: 4px; }
.kd-kc-meta    { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 4px; }
.kd-kc-meta span { font-size: 9px; color: rgba(224,244,255,.4); }
.kd-kc-risk    { font-size: 10px; font-weight: 500; }
.kd-kc-maliyet { font-size: 9px; color: rgba(224,244,255,.4); margin-top: 4px; }

/* ── RAPORLAMA SECTION ── */
.kd-sec-rapor { flex-direction: column; overflow-y: auto; padding: 16px; }
.kd-rapor-wrap { display: flex; flex-direction: column; gap: 16px; }
.kd-rapor-header {
  display: flex; align-items: center; gap: 12px;
  padding-bottom: 12px; border-bottom: 1px solid rgba(16,185,129,.15);
}
.kd-rapor-title { font-size: 14px; font-weight: 700; color: rgba(224,244,255,.85); }
.kd-rapor-date  { font-size: 11px; color: rgba(224,244,255,.4); margin-left: 8px; }
.kd-rapor-stats { display: flex; gap: 12px; flex-wrap: wrap; }
.kd-rapor-stat {
  background: rgba(224,244,255,.03); border: 1px solid rgba(224,244,255,.08);
  border-radius: 10px; padding: 14px 18px; text-align: center; min-width: 140px;
}
.kd-rs-val  { font-family: 'Orbitron', sans-serif; font-size: 22px; color: rgba(224,244,255,.85); }
.kd-rs-lbl  { font-size: 9px; color: rgba(224,244,255,.4); margin-top: 4px; letter-spacing: .5px; }
.kd-rapor-subtitle { font-size: 11px; color: rgba(224,244,255,.5); letter-spacing: .5px; margin-bottom: 8px; }
.kd-rapor-table-wrap { overflow-x: auto; }
.kd-rapor-table {
  width: 100%; border-collapse: collapse; font-size: 11px;
}
.kd-rapor-table th {
  background: rgba(16,185,129,.08); border-bottom: 1px solid rgba(16,185,129,.2);
  padding: 8px 12px; text-align: left; color: rgba(16,185,129,.8); font-weight: 600; font-size: 10px; letter-spacing: .5px;
}
.kd-rapor-table td {
  padding: 7px 12px; border-bottom: 1px solid rgba(224,244,255,.05); color: rgba(224,244,255,.7);
}
.kd-rapor-table tr:hover td { background: rgba(224,244,255,.03); }

/* ── MODAL ── */
.kd-modal-backdrop {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(0,0,0,.7); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
}
.kd-modal {
  background: #0a0f2a; border: 1px solid rgba(16,185,129,.25);
  border-radius: 14px; width: 720px; max-width: 96vw; max-height: 92vh;
  display: flex; flex-direction: column; overflow: hidden;
}
.kd-modal-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 20px; border-bottom: 1px solid rgba(16,185,129,.15);
  font-size: 13px; font-weight: 700; color: rgba(224,244,255,.85); flex-shrink: 0;
}
.kd-modal-close {
  background: none; border: none; color: rgba(224,244,255,.4); font-size: 16px; cursor: pointer;
  transition: color .12s;
}
.kd-modal-close:hover { color: rgba(224,244,255,.9); }
.kd-modal-body { flex: 1; overflow-y: auto; padding: 16px 20px; }
.kd-modal-footer {
  display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px;
  border-top: 1px solid rgba(16,185,129,.12); flex-shrink: 0;
}
.kd-btn-primary {
  background: rgba(16,185,129,.15); border: 1px solid rgba(16,185,129,.45);
  color: #10b981; padding: 8px 22px; border-radius: 7px; cursor: pointer;
  font-family: 'Exo 2', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .5px;
  transition: background .15s;
}
.kd-btn-primary:hover { background: rgba(16,185,129,.28); }
.kd-btn-secondary {
  background: rgba(224,244,255,.06); border: 1px solid rgba(224,244,255,.12);
  color: rgba(224,244,255,.6); padding: 8px 18px; border-radius: 7px; cursor: pointer;
  font-family: 'Exo 2', sans-serif; font-size: 11px; transition: background .15s;
}
.kd-btn-secondary:hover { background: rgba(224,244,255,.12); }

/* Modal tabs */
.kd-modal-tabs {
  display: flex; gap: 2px; margin-bottom: 16px;
  border-bottom: 1px solid rgba(16,185,129,.12); flex-shrink: 0;
}
.kd-mtab {
  background: none; border: none; border-bottom: 2px solid transparent;
  color: rgba(224,244,255,.45); padding: 8px 12px; cursor: pointer;
  font-family: 'Exo 2', sans-serif; font-size: 10px; letter-spacing: .5px;
  transition: color .15s, border-color .15s; white-space: nowrap;
}
.kd-mtab:hover  { color: rgba(16,185,129,.8); }
.kd-mtab.active { color: #10b981; border-bottom-color: #10b981; }
.kd-mtab-panel  { display: none; }
.kd-mtab-panel.active { display: block; }

/* Form fields */
.kd-form-row { display: flex; gap: 12px; margin-bottom: 12px; }
.kd-form-group { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.kd-form-group.kd-fg-2 { flex: 2; }
.kd-form-group.kd-fg-center { justify-content: center; align-items: flex-start; }
.kd-form-group label { font-size: 10px; color: rgba(224,244,255,.5); letter-spacing: .3px; }
.kd-input {
  background: rgba(224,244,255,.06); border: 1px solid rgba(224,244,255,.12);
  border-radius: 7px; color: rgba(224,244,255,.85); padding: 7px 10px;
  font-family: 'Exo 2', sans-serif; font-size: 12px; outline: none;
  transition: border-color .15s;
}
.kd-input:focus { border-color: rgba(16,185,129,.5); }
.kd-input option { background: #0a0f2a; }
.kd-textarea { resize: vertical; min-height: 60px; }
.kd-pick-btn {
  background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.3);
  color: #10b981; padding: 7px 12px; border-radius: 7px; cursor: pointer;
  font-size: 10px; transition: background .15s; white-space: nowrap;
}
.kd-pick-btn:hover { background: rgba(16,185,129,.2); }

/* Risk preview */
.kd-risk-preview {
  background: rgba(224,244,255,.03); border: 1px solid rgba(224,244,255,.08);
  border-radius: 10px; padding: 14px; margin-bottom: 12px;
}
.kd-rp-title  { font-size: 11px; color: rgba(224,244,255,.5); margin-bottom: 10px; letter-spacing: .5px; }
.kd-rp-body   { display: flex; gap: 16px; flex-wrap: wrap; }
.kd-rp-criteria { flex: 1; min-width: 200px; }
.kd-rp-row { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px solid rgba(224,244,255,.05); font-size: 11px; color: rgba(224,244,255,.55); }
.kd-rp-val  { font-weight: 600; color: rgba(224,244,255,.75); }
.kd-rp-total { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 10px 20px; }
.kd-rp-total-num { font-family: 'Orbitron', sans-serif; font-size: 42px; font-weight: 700; }
.kd-rp-total-label { font-size: 9px; color: rgba(224,244,255,.4); letter-spacing: .5px; }
.kd-rp-seviye { font-size: 13px; font-weight: 700; margin-top: 4px; }
.kd-calc-btn {
  margin-top: 10px; background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.3);
  color: #10b981; padding: 5px 14px; border-radius: 6px; cursor: pointer; font-size: 10px;
  transition: background .15s;
}
.kd-calc-btn:hover { background: rgba(16,185,129,.2); }

/* Süreç seçici */
.kd-surec-selector { display: flex; flex-wrap: wrap; gap: 6px; }
.kd-surec-btn {
  background: rgba(224,244,255,.05); border: 1px solid rgba(224,244,255,.12);
  color: rgba(224,244,255,.55); padding: 6px 12px; border-radius: 6px; cursor: pointer;
  font-size: 10px; transition: all .15s; white-space: nowrap;
}
.kd-surec-btn:hover { background: rgba(224,244,255,.1); }
.kd-surec-btn.active { font-weight: 600; }

/* Linked items */
.kd-linked-items {
  background: rgba(224,244,255,.03); border: 1px solid rgba(224,244,255,.08);
  border-radius: 7px; padding: 8px 12px; min-height: 40px; font-size: 11px;
}

/* ── CSV MODAL ── */
.kd-csv-modal { width: 640px; }
.kd-csv-info  {
  background: rgba(16,185,129,.05); border: 1px solid rgba(16,185,129,.15);
  border-radius: 8px; padding: 10px 14px; margin-bottom: 14px;
}
.kd-csv-info-title { font-size: 10px; color: rgba(16,185,129,.7); margin-bottom: 6px; letter-spacing: .5px; }
.kd-csv-columns { background: rgba(0,0,0,.3); border-radius: 5px; padding: 6px 10px; }
.kd-csv-columns code { font-size: 10px; color: rgba(224,244,255,.6); word-break: break-all; }
.kd-csv-drop-zone {
  border: 2px dashed rgba(16,185,129,.25); border-radius: 10px;
  padding: 28px; text-align: center; cursor: pointer; transition: border-color .15s;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.kd-csv-drop-zone.drag-over { border-color: rgba(16,185,129,.7); background: rgba(16,185,129,.06); }
.kd-csv-drop-icon  { font-size: 32px; }
.kd-csv-drop-text  { font-size: 13px; color: rgba(224,244,255,.65); }
.kd-csv-drop-sub   { font-size: 10px; color: rgba(224,244,255,.3); }
.kd-csv-browse-btn {
  background: rgba(16,185,129,.12); border: 1px solid rgba(16,185,129,.3);
  color: #10b981; padding: 7px 18px; border-radius: 7px; cursor: pointer; font-size: 11px;
  transition: background .15s; margin-top: 6px;
}
.kd-csv-browse-btn:hover { background: rgba(16,185,129,.22); }
.kd-csv-preview-title { font-size: 10px; color: rgba(224,244,255,.5); margin: 14px 0 6px; letter-spacing: .5px; }
.kd-csv-msg { font-size: 11px; margin-top: 8px; }
.kd-prev-table { width: 100%; border-collapse: collapse; font-size: 10px; overflow-x: auto; display: block; }
.kd-prev-table th { background: rgba(16,185,129,.08); padding: 5px 8px; text-align: left; color: rgba(16,185,129,.7); }
.kd-prev-table td { padding: 4px 8px; border-bottom: 1px solid rgba(224,244,255,.05); color: rgba(224,244,255,.6); }

/* ── KOORDİNAT PİCKER BANNER ── */
.kd-picker-banner {
  position: fixed; top: 110px; left: 50%; transform: translateX(-50%);
  z-index: 300; background: rgba(16,185,129,.2); border: 1px solid rgba(16,185,129,.5);
  border-radius: 8px; padding: 10px 20px; color: #10b981; font-size: 12px;
  display: flex; align-items: center; gap: 10px; backdrop-filter: blur(6px);
}
.kd-picker-banner button {
  background: rgba(16,185,129,.2); border: 1px solid rgba(16,185,129,.4);
  color: #10b981; padding: 4px 12px; border-radius: 5px; cursor: pointer; font-size: 10px;
}

/* ── Demo Veri butonu ── */
.kd-action-btn.kd-action-btn-demo {
  background: rgba(168,85,247,.1);
  border-color: rgba(168,85,247,.3);
  color: #a855f7;
}
.kd-action-btn.kd-action-btn-demo:hover { background: rgba(168,85,247,.2); }

/* ── Demo Modal ── */
.kd-demo-modal { width: 420px; }
.kd-demo-info {
  font-size: 11px; color: rgba(224,244,255,.5); line-height: 1.6;
  background: rgba(224,244,255,.03); border: 1px solid rgba(224,244,255,.08);
  border-radius: 8px; padding: 10px 14px; margin-bottom: 16px;
}
.kd-demo-count-label { font-size: 10px; color: rgba(224,244,255,.4); letter-spacing: .5px; margin-bottom: 8px; }
.kd-demo-count-btns  { display: flex; gap: 8px; }
.kd-demo-cnt-btn {
  flex: 1; padding: 10px 0; border-radius: 8px; cursor: pointer;
  background: rgba(224,244,255,.05); border: 1px solid rgba(224,244,255,.12);
  color: rgba(224,244,255,.6); font-family: 'Orbitron',sans-serif; font-size: 14px;
  transition: all .15s;
}
.kd-demo-cnt-btn:hover  { background: rgba(168,85,247,.1); border-color: rgba(168,85,247,.3); color: #a855f7; }
.kd-demo-cnt-btn.active { background: rgba(168,85,247,.18); border-color: rgba(168,85,247,.5); color: #a855f7; }
.kd-demo-prog-bar-wrap {
  margin-top: 16px; height: 6px; background: rgba(224,244,255,.08);
  border-radius: 3px; overflow: hidden;
}
.kd-demo-prog-bar {
  height: 100%; background: linear-gradient(90deg, #a855f7, #10b981);
  border-radius: 3px; transition: width .2s;
}
.kd-demo-prog-txt { font-size: 11px; color: rgba(224,244,255,.5); margin-top: 6px; text-align: center; }

/* ── KD Harita Layer Switcher ── */
.kd-layer-btns {
  display: flex; flex-direction: column; gap: 3px; margin-bottom: 4px;
}
.kd-layer-btn {
  display: flex; align-items: center; gap: 6px;
  padding: 5px 8px; border-radius: 6px; cursor: pointer;
  background: rgba(224,244,255,.04); border: 1px solid rgba(224,244,255,.08);
  color: rgba(224,244,255,.5); font-size: 10px; letter-spacing: .3px;
  transition: all .15s; text-align: left;
}
.kd-layer-btn:hover  { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.2); color: rgba(16,185,129,.85); }
.kd-layer-btn.active { background: rgba(16,185,129,.14); border-color: rgba(16,185,129,.4); color: #10b981; font-weight: 600; }

/* ── KD harita içi layer switcher (ana haritayla aynı butonlar, absolute konum) ── */
.kd-map-area { position: relative; }
.kd-layer-switcher {
  position: absolute;
  right: 12px; top: 12px;
  z-index: 500;
  display: flex; flex-direction: column; gap: 5px; align-items: center;
}
/* .layer-btn ve .l-icon stillerini miras aldığı için ek tanım gerekmez */
/* kd-layer-btns artık kullanılmıyor — eski stiller zararı olmaz */

/* ── KD Danger button (Demo Temizle) ── */
.kd-btn-danger {
  background: rgba(239,68,68,.1); border: 1px solid rgba(239,68,68,.3);
  color: #ef4444; padding: 8px 16px; border-radius: 7px; cursor: pointer;
  font-family: 'Exo 2', sans-serif; font-size: 11px; transition: background .15s;
}
.kd-btn-danger:hover    { background: rgba(239,68,68,.2); }
.kd-btn-danger:disabled { opacity: .5; cursor: default; }

/* ════════════════════════════════════════════════════════
   Ziyaret Raporu Modal
   ════════════════════════════════════════════════════════ */
.zr-modal-backdrop {
  position: fixed; inset: 0; z-index: 320;
  background: rgba(2,13,26,.88);
  display: none; align-items: center; justify-content: center;
  padding: 16px;
}
.zr-modal {
  background: rgba(3,18,38,.99);
  border: 1px solid rgba(0,212,255,.25);
  border-radius: 14px;
  width: min(900px, 96vw);
  max-height: 90vh;
  display: flex; flex-direction: column;
  box-shadow: 0 0 60px rgba(0,212,255,.12);
}
.zr-modal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(0,212,255,.12);
  flex-shrink: 0;
}
.zr-modal-head h2 { margin: 0; font-size: 13px; font-weight: 700; color: rgba(224,244,255,.9); }
.zr-modal-close {
  background: none; border: none; color: rgba(224,244,255,.35);
  font-size: 18px; cursor: pointer; padding: 2px 6px; line-height: 1;
  transition: color .15s;
}
.zr-modal-close:hover { color: rgba(224,244,255,.8); }
.zr-filter-bar {
  display: flex; align-items: center; gap: 8px; padding: 12px 20px;
  border-bottom: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0; flex-wrap: wrap;
}
.zr-filter-bar input[type="date"] {
  background: rgba(255,255,255,.05); border: 1px solid rgba(0,212,255,.2);
  border-radius: 6px; color: rgba(224,244,255,.8); padding: 5px 10px;
  font-size: 11px; outline: none;
}
.zr-filter-bar input[type="date"]:focus { border-color: rgba(0,212,255,.5); }
.zr-sep { color: rgba(255,255,255,.25); font-size: 13px; }
.zr-load-btn {
  padding: 5px 14px; background: rgba(0,212,255,.1);
  border: 1px solid rgba(0,212,255,.3); border-radius: 6px;
  color: rgba(0,212,255,.85); font-size: 11px; font-weight: 600;
  cursor: pointer; transition: all .15s;
}
.zr-load-btn:hover { background: rgba(0,212,255,.2); }
.zr-export-btns { display: flex; gap: 6px; margin-left: auto; }
.zr-export-btn {
  padding: 5px 12px; background: rgba(74,222,128,.09);
  border: 1px solid rgba(74,222,128,.28); border-radius: 6px;
  color: rgba(74,222,128,.85); font-size: 11px; font-weight: 600;
  cursor: pointer; transition: all .15s;
}
.zr-export-btn:hover  { background: rgba(74,222,128,.18); }
.zr-export-btn:disabled { opacity: .45; cursor: default; }
.zr-body {
  flex: 1; overflow-y: auto; padding: 14px 20px;
}
.zr-body::-webkit-scrollbar { width: 4px; }
.zr-body::-webkit-scrollbar-thumb { background: rgba(0,212,255,.18); border-radius: 2px; }
.zr-empty {
  text-align: center; padding: 32px 16px;
  font-size: 12px; color: rgba(255,255,255,.35);
}
.zr-summary {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px;
}
.zr-sum-chip {
  background: rgba(0,212,255,.07);
  border: 1px solid rgba(0,212,255,.18);
  border-radius: 20px; padding: 4px 12px;
  font-size: 11px; color: rgba(0,212,255,.8);
}
.zr-sum-chip b { color: rgba(0,212,255,1); }
.zr-day-block { margin-bottom: 16px; }
.zr-day-header {
  display: flex; justify-content: space-between; align-items: center;
  background: rgba(0,212,255,.07); border-left: 3px solid rgba(0,212,255,.5);
  padding: 5px 10px; border-radius: 0 6px 6px 0; margin-bottom: 4px;
  font-size: 11px; color: rgba(0,212,255,.85); font-weight: 600;
}
.zr-day-badge {
  font-size: 10px; color: rgba(255,255,255,.4); font-weight: 400;
}
.zr-table {
  width: 100%; border-collapse: collapse; font-size: 11px;
}
.zr-table thead th {
  background: rgba(2,12,28,.9); color: rgba(0,212,255,.75);
  padding: 5px 8px; font-size: 9.5px; font-weight: 700;
  letter-spacing: .5px; text-align: left;
  border-bottom: 1px solid rgba(0,212,255,.15);
}
.zr-row { border-bottom: 1px solid rgba(255,255,255,.04); transition: background .12s; }
.zr-row:hover { background: rgba(0,212,255,.05); }
.zr-row td { padding: 5px 8px; vertical-align: middle; }
.zr-num    { text-align: center; color: rgba(255,255,255,.3); width: 28px; }
.zr-station{ font-weight: 600; color: rgba(224,244,255,.85); max-width: 220px; }
.zr-person { color: rgba(200,220,240,.7); }
.zr-time   { text-align: center; font-family: monospace; font-size: 11px; color: rgba(200,220,240,.75); }
.zr-dur    { text-align: center; font-weight: 700; font-size: 11px; }
.zr-dist   { text-align: center; font-size: 10px; color: rgba(255,255,255,.35); }

/* ── Rapor tablosundaki Haritada Göster butonu ── */
.kd-rapor-map-btn {
  background: rgba(16,185,129,.08);
  border: 1px solid rgba(16,185,129,.25);
  color: #10b981; padding: 3px 10px; border-radius: 5px;
  cursor: pointer; font-size: 10px; white-space: nowrap;
  transition: background .15s;
}
.kd-rapor-map-btn:hover { background: rgba(16,185,129,.2); }

/* ── KD Sort icons (Liste + Raporlama th) ── */
.kd-sort-icon        { font-size: 8px; opacity: 0.35; margin-left: 3px; vertical-align: middle; }
.kd-sort-icon-active { opacity: 1; color: #10b981; }

/* ═══════════════════════════════════════════════════════════════
   ENTITY OVERLAYS — İstasyon / Personel / Filo / Saha Tam Ekran
   ═══════════════════════════════════════════════════════════════ */

/* Body sınıflarına göre overlay göster/gizle */
.entity-overlay { display:none; }
body.view-station   #stationOverlay   { display:flex; }
body.view-personnel #personnelOverlay { display:flex; }
body.view-fleet     #fleetOverlay     { display:flex; }
/* Saha: üst yatay panel (harita altta görünür) */
body.view-saha #sahaOverlay {
  display: flex !important;
  right: 0 !important;
  width: auto !important;
  bottom: auto !important;  /* tam ekran değil — yüksekliği içeriğe göre */
  flex-direction: column;
  box-shadow: 0 6px 32px rgba(0,0,0,.5);
  border-bottom: 1px solid rgba(14,165,233,.18);
  border-right: none;
}

/* ── İstasyon harita bar modu: #stationOverlay'e .st-map-bar class'ı eklenince ── */
#stationOverlay.st-map-bar {
  display: flex !important;
  bottom: auto !important; /* tam ekran değil, sadece header yüksekliği */
  z-index: 24; /* module-tabs z-index:25'in hemen altında kalır */
}
#stationOverlay.st-map-bar .st-list-only {
  display: none !important;
}
/* Harita bar modunda layer-switcher'ı barın altına taşı (gizleme!) */
body.tab-station:not(.view-station) .layer-switcher { top: 178px !important; }
body.tab-station:not(.view-station) .filter-btn-wrap { display: none; }
body.tab-station:not(.view-station) #toggleBtn       { display: none; }

/* Toggle buton label'ları: liste modunda "Harita" göster, harita modunda "Liste" göster */
.st-in-map { display: none; }
#stationOverlay.st-map-bar .st-in-list { display: none; }
#stationOverlay.st-map-bar .st-in-map  { display: inline; }

/* ── Personel/Ekip harita bar modu: #personnelOverlay'e .p-map-bar class'ı eklenince ── */
#personnelOverlay.p-map-bar {
  display: flex !important;
  bottom: auto !important;
  z-index: 24;
}
#personnelOverlay.p-map-bar .p-list-only {
  display: none !important;
}
/* Harita bar modunda layer-switcher'ı barın altına taşı */
body.tab-personnel:not(.view-personnel) .layer-switcher { top: 178px !important; }
body.tab-personnel:not(.view-personnel) .filter-btn-wrap { display: none; }
body.tab-personnel:not(.view-personnel) #toggleBtn       { display: none; }

/* Toggle buton label'ları */
.p-in-map { display: none; }
#personnelOverlay.p-map-bar .p-in-list { display: none; }
#personnelOverlay.p-map-bar .p-in-map  { display: inline; }

/* ── Saha Takip harita bar modu: #sahaOverlay'e .s-map-bar class'ı eklenince ── */
#sahaOverlay.s-map-bar {
  display: flex !important;
  bottom: auto !important;
  z-index: 24;
}
#sahaOverlay.s-map-bar .s-list-only,
#sahaOverlay.s-map-bar .saha-ov-pane {
  display: none !important;
}
/* Harita bar modunda layer-switcher'ı barın altına taşı */
body.tab-saha:not(.view-saha) .layer-switcher { top: 178px !important; }
body.tab-saha:not(.view-saha) .filter-btn-wrap { display: none; }
body.tab-saha:not(.view-saha) #toggleBtn       { display: none; }

/* Toggle buton label'ları */
.s-in-map { display: none; }
#sahaOverlay.s-map-bar .s-in-list { display: none; }
#sahaOverlay.s-map-bar .s-in-map  { display: inline; }

/* Overlay açıkken panel ve harita gizlenir */
body.view-station   #sidePanel,
body.view-personnel #sidePanel,
body.view-fleet     #sidePanel,
body.view-saha      #sidePanel   { display:none; }

body.view-station   #toggleBtn,
body.view-personnel #toggleBtn,
body.view-fleet     #toggleBtn,
body.view-saha      #toggleBtn   { display:none; }

body.view-station   .filter-btn-wrap,
body.view-personnel .filter-btn-wrap,
body.view-fleet     .filter-btn-wrap,
body.view-saha      .filter-btn-wrap { display:none; }

body.view-station   .layer-switcher,
body.view-personnel .layer-switcher,
body.view-fleet     .layer-switcher,
body.view-saha      .layer-switcher  { display:none; }

body.view-station   #map,
body.view-personnel #map,
body.view-fleet     #map { display:none; }

/* Saha: harita panelin altında her zaman görünür */
body.view-saha #map { display:block !important; }
/* Saha'da layer-switcher görünür ama panelin altına taşı */
body.view-saha .layer-switcher { display:block !important; top:320px !important; }

/* ── Overlay ana yapı ── */
.entity-overlay {
  position:fixed;
  top:102px; /* header(64px) + module-tabs(38px) */
  left:0;right:0;bottom:0;
  z-index:20; /* module-tabs z-index:25'in altında kalır, sekmeler hep görünür */
  flex-direction:column;
  background:rgba(2,8,20,.98);
  font-family:'Exo 2',sans-serif;
  overflow:hidden;
}

/* ── Header ── */
.eov-header {
  flex-shrink:0;
  display:flex;align-items:center;gap:16px;
  padding:14px 24px;
  background:rgba(2,10,26,.95);
  border-bottom:1px solid rgba(0,212,255,.15);
}
.eov-header-left { display:flex;align-items:center;gap:12px;flex-shrink:0; }
.eov-logo { font-size:28px;line-height:1; }
.eov-title {
  font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:var(--primary);
}
.eov-subtitle { font-size:9px;color:rgba(224,244,255,.35);letter-spacing:1.5px;text-transform:uppercase;margin-top:1px; }

/* Stats row */
.eov-stats-row { display:flex;gap:8px;flex:1;justify-content:center; }
.eov-stat {
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:6px 14px;border-radius:8px;
  background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.12);
  min-width:58px;
}
.eov-stat span { font-family:'Rajdhani',sans-serif;font-size:20px;font-weight:700;color:var(--primary);line-height:1; }
.eov-stat small { font-size:8px;letter-spacing:1px;text-transform:uppercase;color:rgba(224,244,255,.35); }
.eov-stat-green  span { color:#00ff88; } .eov-stat-green  { border-color:rgba(0,255,136,.15);background:rgba(0,255,136,.05); }
.eov-stat-cyan   span { color:#00d4ff; } .eov-stat-cyan   { border-color:rgba(0,212,255,.15); }
.eov-stat-orange span { color:#ff6b35; } .eov-stat-orange { border-color:rgba(255,107,53,.15);background:rgba(255,107,53,.04); }
.eov-stat-gold   span { color:#ffd700; } .eov-stat-gold   { border-color:rgba(255,215,0,.15);background:rgba(255,215,0,.04); }
.eov-stat-rose   span { color:#f472b6; } .eov-stat-rose   { border-color:rgba(244,114,182,.15);background:rgba(244,114,182,.04); }
.eov-stat-blue   span { color:#60a5fa; } .eov-stat-blue   { border-color:rgba(96,165,250,.15);background:rgba(96,165,250,.04); }
.eov-stat-dim    span { color:rgba(180,200,220,.45); } .eov-stat-dim { border-color:rgba(180,200,220,.1); }

/* Header sağ — butonlar */
.eov-header-right { display:flex;align-items:center;gap:6px;flex-shrink:0; }
.eov-view-btn {
  padding:5px 12px;font-size:10px;font-weight:600;letter-spacing:.8px;
  background:transparent;border:1px solid rgba(0,212,255,.2);
  color:rgba(224,244,255,.4);border-radius:6px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;text-transform:uppercase;
  transition:all .18s;
}
.eov-view-btn:hover { color:rgba(224,244,255,.75);border-color:rgba(0,212,255,.4); }
.eov-view-btn.active { background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.5);color:var(--primary); }
.eov-new-btn {
  padding:6px 14px;font-size:10px;font-weight:600;letter-spacing:.8px;
  background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.3);
  color:var(--primary);border-radius:7px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;text-transform:uppercase;
  transition:all .18s;
}
.eov-new-btn:hover { background:rgba(0,212,255,.18); }
.eov-demo-btn {
  padding:6px 12px;font-size:10px;font-weight:600;
  background:rgba(0,255,136,.05);border:1px solid rgba(0,255,136,.2);
  color:rgba(0,255,136,.7);border-radius:7px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;
  transition:all .18s;
}
.eov-demo-btn:hover { background:rgba(0,255,136,.12); }

.eov-map-btn {
  padding:6px 12px;font-size:10px;font-weight:600;
  background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.25);
  color:rgba(0,212,255,.8);border-radius:7px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;
  transition:all .18s;
  margin-left:4px;
}
.eov-map-btn:hover { background:rgba(0,212,255,.15); color:#00d4ff; }

/* ── Toolbar ── */
.eov-toolbar {
  flex-shrink:0;
  padding:10px 24px;
  background:rgba(2,8,20,.7);
  border-bottom:1px solid rgba(0,212,255,.08);
  display:flex;align-items:center;gap:10px;
}
/* ── Overlay sub-tabs (Personel / Ekip vb.) ── */
.eov-subtabs {
  display:flex;gap:3px;flex-shrink:0;
}
.eov-subtab {
  padding:5px 13px;
  border-radius:7px;
  font-size:11px;font-weight:600;letter-spacing:.4px;
  font-family:'Rajdhani',sans-serif;
  cursor:pointer;
  background:rgba(0,212,255,.04);
  border:1px solid rgba(0,212,255,.12);
  color:rgba(224,244,255,.38);
  transition:all .15s;
}
.eov-subtab:hover { background:rgba(0,212,255,.09);color:rgba(224,244,255,.7); }
.eov-subtab.active {
  background:rgba(0,212,255,.15);
  border-color:rgba(0,212,255,.42);
  color:#00d4ff;
}

.eov-search {
  flex:1;max-width:400px;
  padding:7px 14px;
  background:rgba(0,212,255,.05);
  border:1px solid rgba(0,212,255,.18);
  border-radius:8px;
  color:rgba(224,244,255,.85);
  font-size:11px;font-family:'Exo 2',sans-serif;
  outline:none;transition:border-color .2s;
}
.eov-search:focus { border-color:rgba(0,212,255,.45); }
.eov-search::placeholder { color:rgba(224,244,255,.25); }

/* ── Content (liste) ── */
.eov-content {
  flex:1;overflow-y:auto;padding:16px 24px;
  flex-direction:column;
}
.eov-content::-webkit-scrollbar { width:4px; }
.eov-content::-webkit-scrollbar-thumb { background:rgba(0,212,255,.2);border-radius:2px; }

/* ── Table ── */
.eov-table {
  width:100%;border-collapse:collapse;
  font-size:12px;
}
.eov-table thead tr {
  border-bottom:1px solid rgba(0,212,255,.15);
}
.eov-table th {
  padding:8px 12px;text-align:left;
  font-family:'Rajdhani',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(0,212,255,.45);
}
.eov-row {
  border-bottom:1px solid rgba(0,212,255,.06);
  transition:background .15s;
  cursor:pointer;
}
.eov-row:hover { background:rgba(0,212,255,.04); }
.eov-row td { padding:10px 12px;vertical-align:middle; }
.eov-name { font-size:12px;font-weight:600;color:rgba(224,244,255,.88);line-height:1.3; }
.eov-sub  { font-size:10px;color:rgba(224,244,255,.38);margin-top:2px; }
.eov-chip {
  font-size:9px;padding:2px 7px;border-radius:4px;
  background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.15);
  color:rgba(0,212,255,.7);white-space:nowrap;
}
.eov-empty { text-align:center;padding:40px;color:rgba(224,244,255,.25);font-size:13px; }
.eov-section-title {
  font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;margin-bottom:12px;
}

/* ── Aksiyon butonları ── */
.eov-act-btn {
  padding:3px 8px;font-size:11px;background:transparent;
  border:1px solid rgba(0,212,255,.2);color:rgba(224,244,255,.5);
  border-radius:5px;cursor:pointer;transition:all .15s;
}
.eov-act-btn:hover { background:rgba(0,212,255,.08);color:rgba(224,244,255,.85);border-color:rgba(0,212,255,.4); }
.eov-act-del { border-color:rgba(248,113,113,.2);color:rgba(248,113,113,.5); }
.eov-act-del:hover { background:rgba(248,113,113,.08);color:#f87171;border-color:rgba(248,113,113,.4); }
.eov-act-map { border-color:rgba(74,222,128,.2);color:rgba(74,222,128,.6); }
.eov-act-map:hover { background:rgba(74,222,128,.1);color:#4ade80;border-color:rgba(74,222,128,.5); }

/* ── Liste sarmalayıcı (tablo + pagination bir arada flex-col) ── */
.eov-list-wrap {
  flex:1;overflow-y:auto;overflow-x:auto;
  display:flex;flex-direction:column;
}

/* ── Pagination — toolbar'da satır içi ── */
.eov-pg-inline {
  display:flex;align-items:center;gap:4px;
  flex-shrink:0;margin-left:auto;
}
.eov-pg-sep { color:rgba(224,244,255,.2);font-size:12px;margin:0 4px; }
.eov-pg-info { font-size:11px;color:rgba(224,244,255,.4);white-space:nowrap;letter-spacing:.3px; }

.eov-pg-btn, .eov-pg-per {
  min-width:26px;height:24px;padding:0 6px;
  font-size:11px;font-weight:600;border-radius:5px;cursor:pointer;
  background:rgba(0,212,255,.05);
  border:1px solid rgba(0,212,255,.15);
  color:rgba(224,244,255,.5);
  transition:all .15s;
  font-family:'Rajdhani',sans-serif;
}
.eov-pg-btn:hover:not([disabled]), .eov-pg-per:hover {
  background:rgba(0,212,255,.12);color:#00d4ff;border-color:rgba(0,212,255,.4);
}
.eov-pg-btn.active, .eov-pg-per.active {
  background:rgba(0,212,255,.2);color:#00d4ff;
  border-color:rgba(0,212,255,.55);font-weight:700;
}
.eov-pg-btn[disabled] { opacity:.22;cursor:default; }
.eov-pg-ellipsis { font-size:11px;color:rgba(224,244,255,.25);padding:0 2px; }

/* ── Kanban ── */
.eov-kanban {
  flex:1;overflow-x:auto;overflow-y:hidden;
  padding:16px 24px;gap:14px;align-items:flex-start;
}
.eov-kanban::-webkit-scrollbar { height:4px; }
.eov-kanban::-webkit-scrollbar-thumb { background:rgba(0,212,255,.2);border-radius:2px; }
.eov-kol {
  flex:0 0 260px;display:flex;flex-direction:column;
  border:1px solid rgba(0,212,255,.15);border-radius:10px;
  background:rgba(0,212,255,.02);
  max-height:calc(100vh - 200px);
}
.eov-kol-head {
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  border-bottom:1px solid rgba(0,212,255,.1);
  border-radius:10px 10px 0 0;
}
.eov-kol-cnt {
  font-size:11px;font-weight:700;
  padding:1px 8px;border-radius:10px;border:1px solid transparent;
}
.eov-kol-body {
  flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;
}
.eov-kol-body::-webkit-scrollbar { width:3px; }
.eov-kol-body::-webkit-scrollbar-thumb { background:rgba(0,212,255,.2);border-radius:2px; }
.eov-kol-empty { text-align:center;padding:20px;color:rgba(224,244,255,.2);font-size:11px; }
.eov-kard {
  background:rgba(2,12,28,.8);border:1px solid rgba(0,212,255,.1);
  border-radius:8px;padding:10px 12px;cursor:pointer;
  transition:border-color .15s,background .15s;
}
.eov-kard:hover { border-color:rgba(0,212,255,.3);background:rgba(0,212,255,.04); }
.eov-kard-top { display:flex;align-items:center;gap:8px;margin-bottom:4px; }
.eov-kard-name { font-size:12px;font-weight:600;color:rgba(224,244,255,.85); }
.eov-kard-sub  { font-size:10px;color:rgba(224,244,255,.38);margin-top:3px; }
.eov-kard-actions { display:flex;gap:4px;margin-top:8px;justify-content:flex-end; }

/* ── Saha overlay özel ── */
/* ── SAHA KOMUTA MERKEZİ ──────────────────────────────────────────────────── */

/* Scrollable gövde */
.saha-km-body {
  flex:1; overflow-y:auto;
  padding:10px 14px;
  display:flex; flex-direction:column; gap:10px;
}
.saha-km-body::-webkit-scrollbar { width:3px; }
.saha-km-body::-webkit-scrollbar-thumb { background:rgba(14,165,233,.25);border-radius:2px; }

/* Uyarı bölümü */
.saha-km-alert-header {
  font-family:'Rajdhani',sans-serif; font-size:9px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
  color:rgba(248,113,113,.6); margin-bottom:5px;
  display:flex; align-items:center; gap:6px;
}
.saha-km-alert-cnt {
  background:rgba(248,113,113,.15); color:#f87171;
  border:1px solid rgba(248,113,113,.3); border-radius:4px;
  font-size:10px; padding:0 5px;
}
.saha-km-alert {
  display:flex; align-items:flex-start; gap:8px;
  padding:8px 10px; border-radius:7px;
  font-size:11px; line-height:1.45; margin-bottom:4px;
  transition:background .15s;
}
.saha-km-alert.red    { background:rgba(248,113,113,.08); border:1px solid rgba(248,113,113,.2); color:rgba(248,113,113,.9); }
.saha-km-alert.yellow { background:rgba(250,204,21,.07);  border:1px solid rgba(250,204,21,.18);  color:rgba(250,204,21,.85); }
.saha-km-alert.red:hover    { background:rgba(248,113,113,.14); }
.saha-km-alert.yellow:hover { background:rgba(250,204,21,.12); }
.saha-km-alert-icon { font-size:13px; flex-shrink:0; margin-top:1px; }
.saha-km-ok {
  display:flex; align-items:center; gap:8px;
  padding:9px 12px; border-radius:7px;
  background:rgba(74,222,128,.07); border:1px solid rgba(74,222,128,.18);
  font-size:11px; color:rgba(74,222,128,.7);
}

/* Bölüm */
.saha-km-section { display:flex; flex-direction:column; gap:6px; }
.saha-km-sechdr {
  font-family:'Rajdhani',sans-serif; font-size:9.5px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
  color:rgba(224,244,255,.32);
  display:flex; align-items:center; gap:5px;
}
.saha-km-cnt  { font-size:9px; color:rgba(14,165,233,.45); font-weight:400; }
.saha-km-refresh {
  margin-left:auto; font-size:11px; background:none; border:none;
  color:rgba(14,165,233,.4); cursor:pointer; padding:0 2px;
  transition:color .15s;
}
.saha-km-refresh:hover { color:#0ea5e9; }
.saha-km-empty { font-size:11px; color:rgba(224,244,255,.2); padding:8px 0; }

/* İlerleme */
.saha-km-progress-wrap { display:flex; flex-direction:column; gap:5px; }
.saha-km-pbar-bg {
  height:7px; background:rgba(14,165,233,.1);
  border-radius:4px; overflow:hidden;
  border:1px solid rgba(14,165,233,.12);
}
.saha-km-pbar-fill { height:100%; border-radius:4px; transition:width .6s ease, background .4s; }
.saha-km-pbar-label {
  display:flex; justify-content:space-between;
  font-size:10px; color:rgba(224,244,255,.38);
}

/* Kartlar */
.saha-km-cards { display:flex; flex-direction:column; gap:5px; }
.saha-km-card {
  padding:9px 11px;
  background:rgba(14,165,233,.04);
  border:1px solid rgba(14,165,233,.1);
  border-radius:8px;
  display:flex; flex-direction:column; gap:5px;
  transition:background .15s;
}
.saha-km-card:hover { background:rgba(14,165,233,.09); border-color:rgba(14,165,233,.2); }
.saha-km-card-top {
  display:flex; align-items:center; gap:7px;
}
.saha-km-card-dot {
  width:7px; height:7px; border-radius:50%; flex-shrink:0;
}
.saha-km-card-name {
  font-size:12px; font-weight:600;
  color:rgba(224,244,255,.88); flex:1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.saha-km-card-badge {
  font-size:9px; font-weight:700; letter-spacing:.4px;
  padding:2px 6px; border-radius:4px;
  font-family:'Rajdhani',sans-serif;
  white-space:nowrap; flex-shrink:0;
}
.saha-km-card-detail {
  font-size:10px; color:rgba(224,244,255,.38);
  display:flex; flex-wrap:wrap; align-items:center; gap:5px;
}
.saha-km-card-wo {
  font-size:10px; color:rgba(14,165,233,.65);
  border-left:2px solid rgba(14,165,233,.25); padding-left:7px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.saha-km-fly-btn {
  padding:2px 6px; font-size:10px;
  background:rgba(14,165,233,.07); border:1px solid rgba(14,165,233,.18);
  color:rgba(14,165,233,.6); border-radius:4px; cursor:pointer;
  transition:all .15s; flex-shrink:0;
}
.saha-km-fly-btn:hover { background:rgba(14,165,233,.18); color:#0ea5e9; }

/* Çevrimiçi / çevrimdışı göstergesi */
.saha-km-online-dot {
  display:inline-block; width:6px; height:6px;
  border-radius:50%; background:#4ade80;
  box-shadow:0 0 5px rgba(74,222,128,.6); flex-shrink:0;
}
.saha-km-offline-dot {
  display:inline-block; width:6px; height:6px;
  border-radius:50%; background:#64748b; flex-shrink:0;
}

/* ══════════════════════════════════════════════════════════
   SAHA TAKİP — ÜST PANEL (Top horizontal card panel)
   ══════════════════════════════════════════════════════════ */

/* ── Üst bar ── */
.saha-top-bar {
  display: flex;
  align-items: center;
  padding: 0 14px;
  height: 54px;
  flex-shrink: 0;
  gap: 0;
  overflow: hidden;
}
.saha-top-kpis {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.saha-top-logo { font-size: 18px; margin-right: 6px; }
.saha-kpi-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px 9px;
  background: rgba(14,165,233,.07);
  border: 1px solid rgba(14,165,233,.18);
  border-radius: 7px;
  min-width: 38px;
}
.saha-kpi-chip span {
  font-size: 15px; font-weight: 700;
  font-family: 'Rajdhani', sans-serif;
  color: #e0f4ff; line-height: 1.1;
}
.saha-kpi-chip small {
  font-size: 8px; color: rgba(224,244,255,.38);
  text-transform: uppercase; letter-spacing: .5px;
}
.saha-kpi-chip.saha-kpi-green { border-color: rgba(74,222,128,.25); background: rgba(74,222,128,.06); }
.saha-kpi-chip.saha-kpi-green span { color: #4ade80; }
.saha-kpi-chip.saha-kpi-rose  { border-color: rgba(248,113,113,.25); background: rgba(248,113,113,.06); }
.saha-kpi-chip.saha-kpi-rose  span { color: #f87171; }
.saha-kpi-chip.saha-kpi-gold  { border-color: rgba(251,191,36,.25); background: rgba(251,191,36,.06); }
.saha-kpi-chip.saha-kpi-gold  span { color: #fbbf24; }

.saha-alert-chip {
  padding: 5px 10px;
  background: rgba(248,113,113,.1);
  border: 1px solid rgba(248,113,113,.3);
  border-radius: 7px;
  color: #f87171;
  font-size: 11px; font-weight: 700;
  cursor: pointer;
  animation: saha-pulse 2s infinite;
  white-space: nowrap;
}
@keyframes saha-pulse { 0%,100% { opacity:1; } 50% { opacity:.55; } }

/* ── Tab butonları ── */
.saha-top-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 0 12px;
  flex-shrink: 0;
}
.saha-top-tab {
  display: flex; align-items: center; gap: 5px;
  padding: 6px 12px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: rgba(224,244,255,.42);
  font-size: 12px;
  font-family: 'Exo 2', sans-serif; font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.saha-top-tab:hover { background: rgba(14,165,233,.08); color: rgba(224,244,255,.7); }
.saha-top-tab.active {
  background: rgba(14,165,233,.13);
  border-color: rgba(14,165,233,.28);
  color: #e0f4ff;
}
.saha-tab-warn.active { background: rgba(248,113,113,.12); border-color: rgba(248,113,113,.3); color: #f87171; }
.stc { font-size: 10px; font-weight: 400; opacity: .6; margin-left: 2px; }

/* ── Sağ alan: progress + kontrol butonları ── */
.saha-top-right {
  display: flex; align-items: center; gap: 10px;
  margin-left: auto;
  flex-shrink: 0;
}
.saha-top-progress { display: flex; align-items: center; gap: 8px; }
.saha-top-pbar-bg {
  width: 110px; height: 5px;
  background: rgba(255,255,255,.07);
  border-radius: 3px; overflow: hidden;
}
.saha-top-pbar-fill {
  height: 100%; border-radius: 3px;
  transition: width .6s, background .4s;
  background: linear-gradient(90deg,#4ade80,#22d3ee);
}
.saha-top-plabel {
  font-size: 10px; color: rgba(224,244,255,.38);
  white-space: nowrap;
  font-family: 'Rajdhani', sans-serif;
}
.saha-top-ctrl {
  padding: 5px 9px;
  background: rgba(14,165,233,.06);
  border: 1px solid rgba(14,165,233,.18);
  color: rgba(224,244,255,.52);
  border-radius: 5px; cursor: pointer; font-size: 13px;
  transition: all .15s;
}
.saha-top-ctrl:hover { background: rgba(14,165,233,.14); color: #e0f4ff; }
.saha-top-ctrl.saha-top-close {
  border-color: rgba(248,113,113,.25); color: rgba(248,113,113,.6);
}
.saha-top-ctrl.saha-top-close:hover { background: rgba(248,113,113,.12); color: #f87171; }
#sahaTopToggleBtn { transition: transform .2s; }
#sahaTopToggleBtn.collapsed { transform: rotate(180deg); }

/* ── Kart alanı ── */
.saha-top-cards {
  border-top: 1px solid rgba(14,165,233,.1);
  overflow: hidden;
  flex-shrink: 0;
}
#sahaOverlay.saha-collapsed .saha-top-cards { display: none; }

.saha-cards-scroll {
  display: flex;
  flex-direction: row;
  gap: 10px;
  padding: 10px 16px;
  height: 158px;
  overflow-x: auto;
  overflow-y: hidden;
  box-sizing: border-box;
}
.saha-cards-scroll::-webkit-scrollbar { height: 4px; }
.saha-cards-scroll::-webkit-scrollbar-thumb { background: rgba(14,165,233,.25); border-radius: 2px; }

/* ── Tekil kart ── */
.saha-panel-card {
  flex-shrink: 0;
  width: 165px;
  padding: 10px 12px;
  background: rgba(14,165,233,.05);
  border: 1px solid rgba(14,165,233,.12);
  border-radius: 10px;
  display: flex; flex-direction: column; gap: 6px;
  cursor: pointer;
  transition: background .15s, border-color .15s, transform .1s;
}
.saha-panel-card:hover {
  background: rgba(14,165,233,.1);
  border-color: rgba(14,165,233,.28);
  transform: translateY(-1px);
}
.saha-panel-card.spc-online { border-color: rgba(74,222,128,.28); }
.saha-panel-card.spc-active { border-color: rgba(14,165,233,.3); }
.saha-panel-card.spc-warn   { border-color: rgba(248,113,113,.28); background: rgba(248,113,113,.04); }

.spc-top { display: flex; align-items: center; gap: 6px; }
.spc-icon { font-size: 16px; flex-shrink: 0; }
.spc-name {
  font-size: 12px; font-weight: 700;
  color: rgba(224,244,255,.88);
  flex: 1; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  font-family: 'Exo 2', sans-serif;
}
.spc-badge {
  font-size: 9px; font-weight: 700;
  padding: 2px 6px; border-radius: 4px;
  font-family: 'Rajdhani', sans-serif;
  white-space: nowrap; flex-shrink: 0;
  letter-spacing: .4px;
}
.spc-detail {
  font-size: 10px; color: rgba(224,244,255,.38);
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
  line-height: 1.35;
}
.spc-wo {
  font-size: 10px; color: rgba(14,165,233,.6);
  border-left: 2px solid rgba(14,165,233,.22);
  padding-left: 7px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.spc-fly {
  margin-top: auto;
  padding: 4px 8px;
  background: rgba(14,165,233,.08);
  border: 1px solid rgba(14,165,233,.18);
  border-radius: 5px;
  color: rgba(14,165,233,.7);
  font-size: 10px; cursor: pointer;
  transition: all .15s; width: 100%;
  font-family: 'Exo 2', sans-serif;
}
.spc-fly:hover { background: rgba(14,165,233,.18); color: #0ea5e9; }

/* ── Uyarı pane'i (dikey scroll) ── */
.saha-pane-uyari {
  flex-direction: column;
  overflow-y: auto; overflow-x: hidden;
  height: 100%;
}
.saha-pane-uyari::-webkit-scrollbar { width: 4px; }
.saha-pane-uyari::-webkit-scrollbar-thumb { background: rgba(14,165,233,.2); border-radius: 2px; }
.saha-pane-uyari .saha-km-alert { flex-shrink: 0; margin: 4px 0; }

/* Collapse edilince layer-switcher konumu */
body.view-saha #sahaOverlay.saha-collapsed ~ * .layer-switcher,
body.view-saha.saha-panel-collapsed .layer-switcher { top: 168px !important; }

/* ═══════════════════════════════════════════════════════════ */

/* Eski saha-ov stilleri (geriye dönük uyumluluk) */
.saha-ov-pane { flex-direction:column;align-items:center;padding:20px 24px; }
.saha-ov-inner { width:100%;max-width:1100px; }
.saha-ov-list { display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 240px);overflow-y:auto; }
.saha-ov-list::-webkit-scrollbar { width:4px; }
.saha-ov-list::-webkit-scrollbar-thumb { background:rgba(14,165,233,.2);border-radius:2px; }

/* Day mode uyumluluğu */
body.day-mode .entity-overlay { background:#f0f8ff; }
body.day-mode .eov-header { background:#e8f4fc;border-bottom-color:#b8d8f0; }
body.day-mode .eov-toolbar { background:#e8f4fc;border-bottom-color:#b8d8f0; }
body.day-mode .eov-table th { color:rgba(0,80,140,.45); }
body.day-mode .eov-row:hover { background:rgba(0,112,176,.04); }
body.day-mode .eov-name { color:rgba(0,50,100,.85); }
body.day-mode .eov-sub  { color:rgba(0,50,100,.4); }
body.day-mode .eov-kard { background:#fff;border-color:#b8d8f0; }
body.day-mode .eov-kol  { background:#f5f9ff; }
