/* MENZİL COMMAND · komuta ekranı görünümü
   Hedef: ciddi, hızlı, bilgi yoğun bir karar destek ekranı. Oyun arayüzü değil.
   Kurallar: opak paneller, ince çizgiler, tek vurgu rengi, sayılar tabular monospace,
   renk yalnızca anlam taşıdığında (güven, kaynak durumu, büyüklük). */

:root{
  --bg:#0E1014;
  --k-bg:#0E1014; --k-p1:#14171C; --k-p2:#1A1E25; --k-p3:#20252D;
  --k-line:#242A33; --k-line2:#333B45;
  --k-t1:#E6E9ED; --k-t2:#98A1AD; --k-t3:#69717C;
  --k-acc:#D33344; --k-ok:#3F9E72; --k-warn:#C9922E; --k-crit:#D4433C; --k-info:#5B8AC7;
  --txt:var(--k-t1); --txt2:var(--k-t2); --txt3:var(--k-t3); --rule:var(--k-line); --ink2:var(--k-p2);
}
html[data-theme=light]{
  --bg:#F2EFE7;
  --k-bg:#E7E3D8; --k-p1:#FAF8F2; --k-p2:#F1EDE3; --k-p3:#E8E3D6;
  --k-line:#D6D0C1; --k-line2:#BDB6A4;
  --k-t1:#1D1A15; --k-t2:#57534A; --k-t3:#7E786C;
  --k-acc:#C8102E;
  --txt:var(--k-t1); --txt2:var(--k-t2); --txt3:var(--k-t3); --rule:var(--k-line); --ink2:var(--k-p2);
}

body.komuta{margin:0;background:var(--k-bg);color:var(--k-t1);
  font-family:var(--sans);font-size:14px;line-height:1.45;overflow:hidden;
  -webkit-font-smoothing:antialiased}
body.komuta code,body.komuta .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}

#kapp{position:fixed;inset:0;display:grid;
  grid-template-columns:336px minmax(0,1fr) 424px;
  grid-template-rows:46px minmax(0,1fr) 26px}
#kmapwrap{grid-column:2;grid-row:2;position:relative;min-width:0;background:var(--k-bg)}
#kmap{position:absolute;inset:0}

/* ---------- üst komuta çubuğu ---------- */
#ktop{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:14px;padding:0 12px;
  background:var(--k-p1);border-bottom:1px solid var(--k-line);min-width:0}
#ktop .brand{font-family:var(--disp);font-variation-settings:"wdth" 70,"wght" 800;
  font-size:17px;letter-spacing:.04em;color:var(--k-t1);text-decoration:none;white-space:nowrap}
#ktop .brand em{font-style:normal;color:var(--k-t3);margin-left:6px;font-size:11px;letter-spacing:.14em}
.kmode{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--k-line2);border-radius:3px;
  padding:3px 8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--k-t1)}
.kmode i{width:6px;height:6px;border-radius:50%;background:var(--k-ok);flex:none}
@media (prefers-reduced-motion:no-preference){.kmode i{animation:kpulse 2.4s ease-in-out infinite}}
@keyframes kpulse{0%,100%{opacity:1}50%{opacity:.35}}
.kmode small{color:var(--k-t3);letter-spacing:.06em}
#ktop nav{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap}
#ktop nav a{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--k-t2);
  text-decoration:none;padding:6px 9px;border:1px solid transparent;border-radius:3px;white-space:nowrap}
#ktop nav a:hover{color:var(--k-t1);border-color:var(--k-line)}
#ktop nav a.on{color:var(--k-t1);border-color:var(--k-line2);background:var(--k-p3)}
.kbtn{border:1px solid var(--k-line2);background:transparent;color:var(--k-t2);border-radius:3px;
  padding:5px 9px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;white-space:nowrap}
.kbtn:hover{color:var(--k-t1);border-color:var(--k-t3)}
.kbtn[aria-expanded="true"]{background:var(--k-p3);color:var(--k-t1)}
.kbtn .sm{display:none}
#k-filtbtn{display:none}

/* ---------- yan paneller ---------- */
#k-left{grid-column:1;grid-row:2;background:var(--k-p1);border-right:1px solid var(--k-line);
  display:flex;flex-direction:column;min-height:0;min-width:0}
#k-right{grid-column:3;grid-row:2;background:var(--k-p1);border-left:1px solid var(--k-line);
  display:flex;flex-direction:column;min-height:0;min-width:0}
.ph{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--k-line);
  font-family:var(--mono);font-size:10px;letter-spacing:.13em;color:var(--k-t2);flex:none}
.ph b{color:var(--k-t1);font-weight:500}
.ph .grow{flex:1}
.pb{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.pb::-webkit-scrollbar{width:9px}
.pb::-webkit-scrollbar-thumb{background:var(--k-line2);border-radius:5px;border:3px solid var(--k-p1)}

/* ---------- filtreler ---------- */
.filt{padding:10px 12px;border-bottom:1px solid var(--k-line);display:grid;gap:9px}
.fl{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;color:var(--k-t3);display:flex;justify-content:space-between}
.fl b{color:var(--k-t1);font-weight:500}
.kseg{display:flex;border:1px solid var(--k-line2);border-radius:3px;overflow:hidden}
.kseg button{flex:1;border:0;background:transparent;color:var(--k-t2);padding:5px 4px;
  font-family:var(--mono);font-size:10.5px;border-right:1px solid var(--k-line)}
.kseg button:last-child{border-right:0}
.kseg button:hover{background:var(--k-p2);color:var(--k-t1)}
.kseg button[aria-pressed="true"]{background:var(--k-p3);color:var(--k-t1)}
.filt input[type=range]{width:100%;accent-color:var(--k-acc);margin:0}

/* ---------- özet sayaç ---------- */
.ksum{padding:11px 12px;border-bottom:1px solid var(--k-line)}
.ksum-n{display:flex;align-items:baseline;gap:7px}
.ksum-n b{font-family:var(--disp);font-variation-settings:"wdth" 75,"wght" 800;font-size:30px;
  line-height:1;color:var(--k-t1);font-variant-numeric:tabular-nums}
.ksum-n span{font-family:var(--mono);font-size:10px;letter-spacing:.09em;color:var(--k-t3)}
.ksum-h{margin-top:6px;font-size:12px;color:var(--k-t2);line-height:1.4}
.ksum-h b{color:var(--k-t1)}

/* ---------- olay akışı ---------- */
.row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:9px;align-items:center;width:100%;
  text-align:left;background:transparent;border:0;border-bottom:1px solid var(--k-line);
  padding:8px 12px;color:inherit;min-width:0}
.row:hover{background:var(--k-p2)}
.row.on{background:var(--k-p3);box-shadow:inset 3px 0 0 var(--k-acc)}
.row-m{font-family:var(--mono);font-size:13px;font-weight:500;color:#0B0D11;border-radius:3px;
  padding:5px 0;text-align:center;font-variant-numeric:tabular-nums}
.row-m.row-ev{font-size:9.5px;letter-spacing:.06em;color:#fff;padding:7px 0}
.row-b{min-width:0;display:block}
.row-b b{display:block;font-size:12.5px;font-weight:600;color:var(--k-t1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-b span{display:block;font-family:var(--mono);font-size:10px;color:var(--k-t3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}

/* ---------- durum paneli ---------- */
.sec{padding:12px;border-bottom:1px solid var(--k-line)}
.sh{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--k-t3);
  margin-bottom:9px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.shx{letter-spacing:.06em;color:var(--k-t3);text-transform:none;font-size:9.5px}
.sit-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}
.sit-mag{font-family:var(--mono);font-size:17px;font-weight:500;color:#0B0D11;border-radius:3px;
  padding:9px 11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sit-id{min-width:0}
.sit-id b{display:block;font-size:15px;line-height:1.25;color:var(--k-t1);overflow-wrap:anywhere}
.sit-id span{display:block;font-family:var(--mono);font-size:10px;color:var(--k-t3);margin-top:3px;overflow-wrap:anywhere}
.kvr{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px;padding:3.5px 0;align-items:baseline;font-size:12.5px}
.kvr>span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--k-t3);padding-top:2px}
.kvr>b{font-weight:500;color:var(--k-t1);min-width:0;overflow-wrap:anywhere}
.kvr code{color:var(--k-t1)}
.agvs{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.agv{font-family:var(--mono);font-size:9.5px;color:var(--k-t3);border:1px solid var(--k-line);
  border-radius:2px;padding:1px 5px}
.agv b{color:var(--k-t2);font-weight:500}
.modetag{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--k-ok);
  border:1px solid var(--k-ok);border-radius:2px;padding:0 4px}
.srcline{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.dsb{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--k-t2);
  border:1px solid var(--k-line2);border-radius:2px;padding:2px 6px;text-decoration:none}
a.dsb:hover{color:var(--k-t1);border-color:var(--k-t3)}
.dsb-l{display:inline-block;margin-bottom:7px}
.why{margin:7px 0 0;padding-left:16px;font-size:12px;color:var(--k-t2);line-height:1.5}
.why li{margin:2px 0}
.fine{font-size:11.5px;line-height:1.5;color:var(--k-t3);margin-top:8px}
.fine b{color:var(--k-t2)}
.confrow{display:flex;gap:7px;flex-wrap:wrap}
.lnk{background:none;border:0;padding:0;margin-top:8px;color:var(--k-info);
  font-family:var(--mono);font-size:10.5px;text-decoration:underline;text-underline-offset:3px}

/* güven rozeti */
.cf{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.08em;border:1px solid var(--k-line2);border-radius:2px;padding:1px 6px;color:var(--k-t2);white-space:nowrap}
.cf i{width:6px;height:6px;border-radius:1px;flex:none;background:var(--k-t3)}
.cf-high i{background:var(--k-ok)} .cf-high{color:var(--k-ok);border-color:color-mix(in srgb,var(--k-ok) 45%,transparent)}
.cf-medium i{background:var(--k-warn)} .cf-medium{color:var(--k-warn);border-color:color-mix(in srgb,var(--k-warn) 45%,transparent)}
.cf-low i{background:var(--k-t3)} .cf-low{color:var(--k-t2)}
.cf-none i{background:var(--k-line2)}

/* metrik kartı */
.mc{border:1px solid var(--k-line);border-radius:3px;background:var(--k-p2);padding:9px 10px;margin-bottom:8px}
.mc-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mc-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--k-t3);min-width:0;overflow-wrap:anywhere}
.mc-v{font-family:var(--disp);font-variation-settings:"wdth" 80,"wght" 700;font-size:22px;line-height:1.15;
  color:var(--k-t1);margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mc-v u{text-decoration:none;font-size:12px;color:var(--k-t3);margin-left:4px}
.mc-v.mc-na{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--k-t3)}
.mc-r{font-family:var(--mono);font-size:10.5px;color:var(--k-t3);margin-top:3px;line-height:1.45;overflow-wrap:anywhere}
.mc-r b{color:var(--k-t2);font-weight:500}
.mc-off{background:transparent;border-style:dashed}
.mc-t{margin-top:7px;background:none;border:0;padding:0;color:var(--k-t3);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-decoration:underline;text-underline-offset:3px}
.mc-t:hover{color:var(--k-t1)}
.mc-p{margin-top:8px;border-top:1px solid var(--k-line);padding-top:8px;display:grid;gap:7px}
.pv{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px}
.pv>span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--k-t3)}
.pv>div{font-size:11.5px;color:var(--k-t2);line-height:1.5;min-width:0;overflow-wrap:anywhere}
.pv em{display:block;font-style:normal;font-family:var(--mono);font-size:10px;color:var(--k-t3);margin-top:2px}
.pv ul{margin:0;padding-left:15px}
.pv li{margin:2px 0}

/* tablo */
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{text-align:left;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--k-t3);
  font-weight:400;padding:0 6px 5px 0;border-bottom:1px solid var(--k-line)}
.tbl td{padding:4.5px 6px 4.5px 0;border-bottom:1px solid var(--k-line);color:var(--k-t2)}
.tbl td:first-child{color:var(--k-t1)}
.tbl tr:last-child td{border-bottom:0}

/* boş durum */
.emp{padding:26px 16px;text-align:left}
.emp-t{font-size:13px;font-weight:600;color:var(--k-t2)}
.emp-d{font-size:12px;color:var(--k-t3);margin-top:5px;line-height:1.5;max-width:34ch}

/* aktarma düğmesi */
#k-transferwrap{flex:none;padding:10px 12px;border-top:1px solid var(--k-line);background:var(--k-p2)}
#k-transfer{width:100%;border:1px solid var(--k-acc);background:var(--k-acc);color:#fff;border-radius:3px;
  padding:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em}
#k-transfer:hover{filter:brightness(1.1)}
#k-transferwrap .fine{margin-top:7px}

/* ---------- katman kütüğü ---------- */
#k-regpanel{position:absolute;top:10px;left:10px;width:330px;max-height:calc(100% - 20px);z-index:6;
  background:var(--k-p1);border:1px solid var(--k-line2);border-radius:4px;
  display:flex;flex-direction:column;box-shadow:0 14px 40px rgba(0,0,0,.45)}
#k-regbody{overflow-y:auto;padding:4px 0}
.rg{padding:8px 12px;border-bottom:1px solid var(--k-line)}
.rg:last-child{border-bottom:0}
.rg-h{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--k-t3);margin-bottom:7px}
.lt{padding:6px 0;border-bottom:1px dotted var(--k-line)}
.lt:last-child{border-bottom:0}
.lt-r{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.lt-r input{margin:3px 0 0;accent-color:var(--k-acc);flex:none}
.lt-n{font-size:12.5px;color:var(--k-t1);font-weight:500;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.lt-tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;border:1px solid var(--k-line2);
  border-radius:2px;padding:0 4px;color:var(--k-t3);font-weight:400}
.lt-live{color:var(--k-ok);border-color:color-mix(in srgb,var(--k-ok) 45%,transparent)}
.lt-d{font-size:11px;color:var(--k-t3);line-height:1.45;margin-top:3px;padding-left:22px}
.lt-off .lt-n{color:var(--k-t3)}
.lt-off .lt-d{padding-left:0}
.lt-need{color:var(--k-t3);font-family:var(--mono);font-size:10px}

/* ---------- alt durum şeridi ---------- */
#kstatus{grid-column:1/-1;grid-row:3;display:flex;align-items:center;gap:10px;padding:0 12px;
  background:var(--k-p1);border-top:1px solid var(--k-line);font-family:var(--mono);font-size:9.5px;
  letter-spacing:.08em;color:var(--k-t3);overflow:hidden;white-space:nowrap}
#k-src{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0}
#k-src::-webkit-scrollbar{display:none}
.sst{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--k-line);border-radius:2px;
  padding:1px 5px;color:var(--k-t3);white-space:nowrap}
.sst i{width:5px;height:5px;border-radius:50%;background:var(--k-t3);flex:none}
.sst b{font-weight:400;color:var(--k-t2)}
.sst-ok i{background:var(--k-ok)} .sst-ok b{color:var(--k-ok)}
.sst-empty i{background:var(--k-warn)} .sst-empty b{color:var(--k-warn)}
.sst-down i{background:var(--k-crit)} .sst-down b{color:var(--k-crit)}
#k-upd{margin-left:auto;color:var(--k-t3)}
#k-upd b{color:var(--k-t1);font-weight:500}
#k-upd.stale b{color:var(--k-warn)}
#k-disc{color:var(--k-t3);overflow:hidden;text-overflow:ellipsis}

/* harita denetimleri: style.css'teki sayfa payları burada geçerli değil,
   çünkü harita zaten kendi ızgara sütununda duruyor */
body.komuta .maplibregl-ctrl-bottom-right{right:0!important;bottom:0!important}
body.komuta .maplibregl-ctrl-bottom-left{display:block!important;left:0;bottom:0}
body.komuta .maplibregl-ctrl-top-left{top:8px!important;left:8px!important}
body.komuta .maplibregl-ctrl-top-right{top:8px;right:8px}
body.komuta .maplibregl-ctrl-attrib{background:color-mix(in srgb,var(--k-p1) 88%,transparent)!important;color:var(--k-t3)!important}
body.komuta .maplibregl-ctrl-group{background:var(--k-p1)!important;border-color:var(--k-line2)}
body.komuta .maplibregl-ctrl-group button{background-color:var(--k-p1)!important}

/* ---------- koordinat HUD yerleşimi ---------- */
#kmapwrap #hud{right:10px;left:auto;bottom:34px;width:252px}
#kmapwrap.nohud #hud{display:none}
@media (max-width:1400px){#kmapwrap #hud{width:230px}}

/* ---------- yükleniyor ---------- */
#kload{position:fixed;inset:0;z-index:40;background:var(--k-bg);display:grid;place-items:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--k-t3);transition:opacity .35s}
body.ready #kload{opacity:0;pointer-events:none}

/* ---------- mobil ---------- */
#k-sheet{display:none}
@media (max-width:1100px){
  #kapp{grid-template-columns:minmax(0,1fr);grid-template-rows:46px minmax(0,1fr) 44vh 26px}
  #kmapwrap{grid-column:1;grid-row:2}
  #k-left{grid-column:1;grid-row:3;border-right:0;border-top:1px solid var(--k-line2)}
  #k-right{position:fixed;left:0;right:0;bottom:26px;top:46px;z-index:20;border-left:0;
    border-top:1px solid var(--k-line2);transform:translateY(102%);transition:transform .28s ease;
    box-shadow:0 -14px 40px rgba(0,0,0,.5)}
  #k-right.open{transform:none}
  #kstatus{grid-row:4}
  #k-sheet{display:inline-flex}
  #k-regpanel{width:auto;left:8px;right:8px}
  #ktop{gap:7px;padding:0 8px;overflow-x:auto;scrollbar-width:none}
  #ktop::-webkit-scrollbar{display:none}
  #ktop nav{display:none}
  #ktop .brand em,.kmode small{display:none}
  .kbtn{padding:5px 7px}
  .kbtn .lg{display:none}
  .kbtn .sm{display:inline}
  /* dar ekranda akış öne geçsin: filtreler katlanır, başlıktaki düğmeyle açılır */
  #k-filtbtn{display:inline-block}
  #k-filt{display:none}
  #k-filt.open{display:grid}
}
@media (max-width:560px){
  #kapp{grid-template-rows:46px minmax(0,1fr) 46vh 26px}
  .kvr{grid-template-columns:96px minmax(0,1fr)}
  .pv{grid-template-columns:92px minmax(0,1fr)}
  #k-disc,#k-upd .ul{display:none}
  #kstatus{gap:6px;padding:0 8px}
  #k-upd{padding-left:6px;border-left:1px solid var(--k-line)}
}
@media (prefers-reduced-motion:reduce){#k-right{transition:none}}

/* odak görünürlüğü */
body.komuta :focus-visible{outline:2px solid var(--k-info);outline-offset:1px}
