/* ===========================================================
   onallabs — endüstriyel FPV tema (v2, 2026-08)
   Tüm sayfalarda inline <style> bloğundan SONRA yüklenir:
   token'ları ve ortak bileşen görünümünü ezer, işlevi bozmaz.
   =========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#08090a; --panel:#101113; --well:#0b0c0d; --card:#101113;
  --line:#1c1e22; --line2:#31353b;
  --txt:#f4f5f6; --dim:#9ba1a8; --faint:#5f656c;
  --acc:#ff4d0a; --acc-dim:rgba(255,77,10,.13); --acc-ink:#0a0400; --acc-2:#ffc400;
  --ok:#22e06a; --warn:#ffc400; --bad:#ff2f2f;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --disp:'Barlow Condensed','Barlow',Impact,sans-serif;
  --body:'Barlow',-apple-system,'Segoe UI',Roboto,sans-serif;
}
:root[data-theme=light]{
  --bg:#e8eaec; --panel:#fff; --well:#dfe2e5; --card:#fff;
  --line:#c9ced3; --line2:#9aa1a9;
  --txt:#08090a; --dim:#4a5158; --faint:#767d85;
  --acc:#e03c00; --acc-dim:rgba(224,60,0,.1); --acc-ink:#fff;
  --ok:#0a9b47; --warn:#b57800; --bad:#c81f1f;
}

/* ---------- tipografi ---------- */
body{font-family:var(--body);letter-spacing:0}
h1,h2,h3,h4,.brand b,.verd,.at,.gt,.t{font-family:var(--disp)}
h1,h2{text-transform:uppercase;font-weight:800;letter-spacing:.005em;line-height:1.03}
h3,h4{text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.brand b{text-transform:uppercase;font-weight:800;letter-spacing:.01em;font-size:22px}
::selection{background:var(--acc);color:#fff}

/* ---------- keskin hatlar: her yerde köşe yok ---------- */
.card,.gcard,.gc,.area,.q,.sol,.term,.fp,.day,.opt,.btn,.abtn,.lbtn,.tbtn,.chip,.al,.links a,
select,input,textarea,button,.preset button,.again button,.acts button,.lang,.lang button,
.bt,.bar,.man input,.row input,.bl,.best,.err,.hero,.ring,.badge,.bd,.pill,.tag{border-radius:0}
.avatar,.av,.ava,#acct img,.dot,.ring circle{border-radius:50%}

/* ---------- panel/kart: teknik çerçeve ---------- */
.card,.gcard,.gc,.area,.q,.sol,.term,.fp{
  background:var(--panel);border:1px solid var(--line);position:relative;
  transition:border-color .14s ease,background-color .14s ease;
}
a.card,.gcard,.gc,.area,button.card,.fp[onclick],[role=button].card{cursor:pointer}
a.card::after,.gcard::after,.gc::after,.area::after{
  content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--acc);
  transform:scaleX(0);transform-origin:left center;transition:transform .18s ease;
}
a.card:hover,.gcard:hover,.gc:hover,.area:hover{
  border-color:var(--line2);background:var(--well);transform:none!important;
}
a.card:hover::after,.gcard:hover::after,.gc:hover::after,.area:hover::after{transform:scaleX(1)}

/* ---------- butonlar: kalın, uppercase, invert hover ---------- */
.btn,.abtn,.lbtn,.preset button,.again button,.opt,.links a{
  font-family:var(--body);font-weight:600;letter-spacing:.05em;
  border:1px solid var(--line2);background:var(--well);color:var(--txt);
  transition:border-color .13s,color .13s,background-color .13s;
}
.btn,.abtn,.lbtn,.preset button,.again button{text-transform:uppercase;font-weight:700}
.btn:hover,.lbtn:hover,.preset button:hover,.again button:hover,.opt:hover,.links a:hover{
  border-color:var(--acc);color:var(--acc);background:var(--acc-dim)
}
.btn.p,.abtn{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.p:hover,.abtn:hover{background:transparent;color:var(--acc);border-color:var(--acc)}
.tbtn{border:1px solid var(--line2);background:var(--well)}
.tbtn:hover{border-color:var(--acc);color:var(--acc)}

/* ---------- dil anahtarı: sekme hissi ---------- */
.lang{border:1px solid var(--line2);overflow:hidden}
.lang button{font-family:var(--mono);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.lang button.on{background:var(--acc);color:#fff}

/* ---------- form ---------- */
select,input,textarea{
  font-family:var(--body);border:1px solid var(--line2);background:var(--well);color:var(--txt);
  transition:border-color .13s
}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
input[type=number],.mono,code,kbd{font-family:var(--mono)}

/* ---------- etiketler / mono meta ---------- */
.u,.meta,.crumb,.hd,.trail,.note,.foot{font-family:var(--mono);letter-spacing:.02em}

/* ---------- header: alt aksan çizgisi ---------- */
header{border-bottom:1px solid var(--line);padding-bottom:14px;position:relative}
header::after{content:"";position:absolute;left:0;bottom:-1px;width:74px;height:2px;background:var(--acc)}

/* ---------- uygulama geçiş menüsü (auth.js enjekte eder) ---------- */
#appsw{position:relative}
#appsw>button{display:flex;align-items:center;gap:6px;height:32px;padding:0 11px;background:var(--well);
  border:1px solid var(--line2);color:var(--dim);font:600 11.5px/1 var(--mono);letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer}
#appsw>button:hover{border-color:var(--acc);color:var(--acc)}
#appsw>button svg{width:9px;height:9px}
#appsm{position:absolute;right:0;top:38px;min-width:236px;background:var(--panel);border:1px solid var(--line2);
  z-index:90;display:none;padding:5px}
#appsm.on{display:block}
#appsm a{display:flex;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;color:var(--txt);
  font:600 13.5px/1.1 var(--body);border-left:2px solid transparent}
#appsm a:hover{background:var(--well);border-left-color:var(--acc);color:var(--acc)}
#appsm a img{width:18px;height:18px}
#appsm a i{margin-left:auto;font:500 10px/1 var(--mono);color:var(--faint);font-style:normal;letter-spacing:.06em}

/* ---------- kaydırma çubuğu ---------- */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--well)}
*::-webkit-scrollbar-thumb{background:var(--line2)}
*::-webkit-scrollbar-thumb:hover{background:var(--acc)}

/* ---------- sıkı hairline ızgara (kartlar arası 1px çizgi) ---------- */
.ggrid,.ggrid2,.areas{gap:1px;background:var(--line);border:1px solid var(--line)}
.ggrid>*,.ggrid2>*,.areas>*{border:0}
.ggrid>*::after,.ggrid2>*::after,.areas>*::after{left:0;right:0;top:0}

/* ---------- modal / kapı ekranları ---------- */
.modal,.gate,.sheet,.dlg,#gate,#modal{border-radius:0}
.modal h2,.gate h2,#gate h2{font-family:var(--disp);text-transform:uppercase;letter-spacing:.02em}

/* ---------- rozet/etiket ---------- */
.tagx,.badge,.bd,.pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}

/* ---------- leaflet (SpotMap) haritayı temaya uydur ---------- */
.leaflet-bar,.leaflet-bar a,.leaflet-control-zoom,.leaflet-control-zoom a,.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-control-attribution{border-radius:0!important}
.leaflet-bar a{background:var(--panel);color:var(--txt);border-bottom:1px solid var(--line)}
.leaflet-bar a:hover{background:var(--acc);color:#fff}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--txt);box-shadow:none;border:1px solid var(--line2)}
.leaflet-container{font-family:var(--body)}

/* ---------- garaj kapısı / dron paneli (garage.js) ---------- */
#dgate .gwin{border-color:var(--line2);position:relative}
#dgate .gwin::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--acc)}
#dgate h2{font-family:var(--disp);text-transform:uppercase;letter-spacing:.02em;font-size:23px;font-weight:800}
.gbtn{text-transform:uppercase;letter-spacing:.07em;font-weight:700;font-family:var(--body)}
.gbtn.pri{background:var(--acc);color:#fff}
.gbtn.pri:hover{filter:none;background:transparent;color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.gbtn.sec:hover{border-color:var(--acc);color:var(--acc)}
#dgate .gd{transition:border-color .13s}
#dgate .gd:hover{border-color:var(--acc)}
#gchip{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px}
#gchip:hover{border-color:var(--acc);color:var(--acc)}
