/* ══════════════════════════════════════════════════════════════════════════
   BorsaGEN — YENI TEMA (11.09.2026)
   Onayli tasarimlardan cikarilmis ortak katman: token seti, kabuk (header/footer)
   ve sayfalarin paylastigi bilesenler. Sayfaya ozel stiller kendi view'inda kalir.

   NOT: Bu dosya YALNIZ yeni kabukta yuklenir (templates/header_v2.php).
   Eski tema bu dosyayi hic gormez; anahtar kapaninca ortadan kalkar.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. TOKENLAR — uc tema durumu: koyu / acik / sistem ─────────────────── */
:root{
  --bg:#060A11; --bg2:#0A111B; --panel:#0E1724; --panel2:#132032;
  --line:#1D2C40; --line2:#274057;
  --ink:#E8EFF7; --ink2:#9FB2C6; --ink3:#6B8098;
  --acc:#2F8BFF; --acc2:#6FB4FF; --acc-dim:rgba(47,139,255,.13); --acc-line:rgba(47,139,255,.34);
  --up:#46C155; --down:#F26D6D; --warn:#E9A13B;
  /* 04.10 (kullanici): logodaki "GEN" turuncusu — BORSAGEN LOGO.png'den olculdu (ust #E2B568 · orta #D1964A ·
     alt #B97A3A). Panelim dugmesi bu tonu kullanir. Koyu zeminde metin #E2B568 (kontrast ~9), dolu zeminde
     lacivert metin (#0F2038 / #D1964A kontrast 6,4). */
  --gen:#D1964A; --gen2:#E2B568; --gen-dim:rgba(209,150,74,.14); --gen-line:rgba(209,150,74,.42);
  /* puan olcegi: 5 koyu yesil -> 1 kirmizi. Rozet, filtre ve grafiklerde AYNI olcek. */
  --s5:#3FBE55; --s4:#79D083; --s3:#8698AB; --s2:#F0894A; --s1:#EF5350;
  --r:16px; --rs:10px; --max:1240px; --nav-max:1240px; --t:180ms cubic-bezier(.2,.6,.3,1);
  --nav-h:78px;
  color-scheme:dark;
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --bg:#F6F9FC; --bg2:#FFFFFF; --panel:#FFFFFF; --panel2:#EFF4F9;
  --line:#DEE7F0; --line2:#C6D4E2;
  --ink:#0F2038; --ink2:#4C6076; --ink3:#7B8DA2;
  --acc:#1268D8; --acc2:#0B4FA8; --acc-dim:rgba(18,104,216,.08); --acc-line:rgba(18,104,216,.26);
  --up:#2E9E3A; --down:#C4403F; --warn:#B5721A;
  --gen:#D1964A; --gen2:#A9570C; --gen-dim:rgba(209,150,74,.14); --gen-line:rgba(209,150,74,.5);   /* acik zeminde metin koyu turuncu (kontrast ~4,9) */
  --s5:#1E8E3E; --s4:#5CB85C; --s3:#78899C; --s2:#DF6C34; --s1:#CE3329;
  color-scheme:light;
}}
:root[data-theme="light"]{
  --bg:#F6F9FC; --bg2:#FFFFFF; --panel:#FFFFFF; --panel2:#EFF4F9;
  --line:#DEE7F0; --line2:#C6D4E2;
  --ink:#0F2038; --ink2:#4C6076; --ink3:#7B8DA2;
  --acc:#1268D8; --acc2:#0B4FA8; --acc-dim:rgba(18,104,216,.08); --acc-line:rgba(18,104,216,.26);
  --up:#2E9E3A; --down:#C4403F; --warn:#B5721A;
  --gen:#D1964A; --gen2:#A9570C; --gen-dim:rgba(209,150,74,.14); --gen-line:rgba(209,150,74,.5);   /* acik zeminde metin koyu turuncu (kontrast ~4,9) */
  --s5:#1E8E3E; --s4:#5CB85C; --s3:#78899C; --s2:#DF6C34; --s1:#CE3329;
  color-scheme:light;
}

/* ── 2. TEMEL ───────────────────────────────────────────────────────────── */
*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
[hidden]{display:none!important}
h1,h2,h3,h4,h5{font-family:Sora,"Plus Jakarta Sans",sans-serif;margin:0;
  text-wrap:balance;letter-spacing:-.025em;line-height:1.14}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.mono{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:20px}
.up{color:var(--up)} .down{color:var(--down)}
.yasli{text-align:justify;hyphens:auto;-webkit-hyphens:auto}

/* ── 2b. IKONLAR ─────────────────────────────────────────────────────────
   ⚠️ Font Awesome <i> METINDI (font-size ile olceklenirdi); <svg>'nin kendi
   ontanimli boyutu YOK. Boyut verilmezse tarayici 300x150 basar ya da
   kapsayiciyi doldurur — /watchlist'teki dev yildiz ve /aktif-sinyaller'deki
   dev sekil buydu. 1em: eski FA davranisinin birebir karsiligi. */
.sb-ikon{width:1em;height:1em;flex-shrink:0;vertical-align:-.125em}

/* ── 2c. BOLUM ETIKETI (pill) ────────────────────────────────────────────
   Onayli ana sayfa ve hisse analizi taslaklarinda ortak. Taslak CSS'i ayiklanirken
   YANLISLIKLA "kabuk kurali" sayilip atilmisti; tema.css'te karsiligi yoktu ve
   "Kapsam", "Analiz", "Borsa Istanbul" gibi etiketler duz metin gorunuyordu.
   Taslak-canli secici karsilastirmasinda eksik kalan TEK gercek kural buydu.
   Noktanin isimasi bilerek korundu: 6px canlilik noktasi (parlama temizliginde
   korunan istisna). */
/* ⚠️ 12.09 (kullanici): eski .pill KALDIRILDI — kapsul + icinde parlayan nokta,
   jenerik yapay zeka sayfalarinin en taninan kalibiydi. Yerine tipografik bolum
   etiketi: kisa aksan cizgisi + harf arali kucuk metin. Kapsul, nokta, parlama ve
   gradient yok. Ortalanmis bolumlerde cizgi metnin ustune gecer (asagidaki .mid). */
.etk{display:inline-flex;align-items:center;gap:11px;color:var(--ink3);
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.etk::before{content:"";flex:none;width:24px;height:1px;background:var(--acc2)}

/* ── 3. DUGMELER — renkli parlama YOK, notr golge ───────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:11px;font-size:14.5px;font-weight:600;
  font-family:inherit;border:1px solid transparent;cursor:pointer;
  transition:all var(--t);white-space:nowrap}
.btn-p{background:linear-gradient(180deg,var(--acc2),var(--acc));color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.16)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.22)}
.btn-g{border-color:var(--line2);color:var(--ink);background:var(--panel)}
.btn-g:hover{border-color:var(--acc-line);color:var(--acc2)}
.btn-s{border-color:transparent;color:var(--ink2);background:transparent;padding-inline:14px}
.btn-s:hover{color:var(--acc2);background:var(--panel)}
.btn-kck{font-size:13px;padding:9px 15px}

/* ── 4. BASLIK (nav) ────────────────────────────────────────────────────── */
/* 12.09 (kullanici): "account'un oldugu alana basinca ust uste biniyorlar".
   .sb-nav sticky+z-index oldugu icin YIGIN BAGLAMI kurar: icindeki .sb-alt menusunun
   z-index:70'i disariya gecmez, menu de 60 sayilir. Sayfa ici seritler eski temanin
   olceginde (eski style.css'te header 100) yazilmis — #admin-score-card 90,
   #sb-poz-baslik 85 — ve menuyu ortuyorlardi. Header sayfa iceriginin ustune alindi.
   Ustunde kalanlar: modal (.sec-ort 120) ve sayfa ici tam-ekran katmanlar (9000+). */
/* ⚠️ 13.09 (kullanici): "kapsam yazisi yarisindan azi gozukuyor". scrollIntoView
   hedefi sayfanin EN USTUNE getiriyor, sticky menu (--nav-h) de basligin ustunu
   ortuyordu. Kaydirma hedefleri menü yuksekligi kadar asagidan baslar. */
#kapilar,#tumu,#sinyal{scroll-margin-top:calc(var(--nav-h, 78px) + 18px)}
.sb-nav{position:sticky;top:0;z-index:110;border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px)}
.sb-nav-in{display:flex;align-items:center;gap:10px;height:var(--nav-h)}
/* 30.09.2026: header kutusu sayfanin --max'indan BAGIMSIZ. Bir sayfa --max'i daraltirsa
   (11.09'da hisse analizi 1200px kopyasiyla yapti) menu 30px tasiyor ve "Borsa Simulasyonu"
   kesiliyordu. Sayfalar --nav-max'i EZMEZ. */
.wrap.sb-nav-in{max-width:var(--nav-max)}
.sb-brand{display:flex;align-items:center;flex-shrink:0;background:none;padding:0}
.sb-brand img{height:58px;width:auto;display:block}   /* 23.09 (kullanici): 40 → 26px; menüye yer açar · 03.10 (kullanici): isaret logosu 26 → 58px — kare-benzeri oldugu icin eski yazili logodan DAR (69px < 123px) */
/* 04.10 (kullanici, ekran goruntusu: "logoyu buyuk yerlestir, bosluk daralsin"): >=1240px'de header'da TAM logo
   58px yuksek (≈236px genis), isaret gizlenir. Uye header'inda menu ile oyun dugmeleri arasinda ~145px bosluk vardi;
   logo 163px genisliyor, fark menu olculerinden kazanilir: oge dolgusu 9→7px, yazi 13,2→12,8px, oyun pili 10→8px /
   12→11,6px, sag ayrac 10/7→8/5px, nav gap 10→8px (toplam ≈45-50px). Kalan pay ~30px; .sb-menu overflow:hidden
   oldugundan tasma olursa son oyun dugmesi kirpilir, sag bloga BINMEZ (30.09 olcum notu). Dar ekranda isaret kalir. */
.sb-nav .sb-brand .sb-tam{display:none}
@media (min-width:1240px){
  .sb-nav .sb-brand .sb-mark{display:none}
  .sb-nav .sb-brand .sb-tam{display:block}
  .sb-nav .sb-brand .sb-tam img{height:58px}
  .sb-nav-in{gap:8px}
  .sb-nav .sb-menu > li > a{padding:7px 7px;font-size:12.8px}
  .sb-nav .sb-menu .sb-oyun > a{padding:6px 8px;font-size:11.6px}
  .sb-nav .sb-menu .sb-ayrac-son{margin:0 8px 0 5px}
}
.sb-brand .ac{display:none}
:root:not([data-theme="light"]) .sb-brand .ko{display:block}
:root:not([data-theme="light"]) .sb-brand .ac{display:none}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .sb-brand .ac{display:block}
  :root:not([data-theme="dark"]) .sb-brand .ko{display:none}
}
:root[data-theme="light"] .sb-brand .ac{display:block}
:root[data-theme="light"] .sb-brand .ko{display:none}
:root[data-theme="dark"]  .sb-brand .ac{display:none}
:root[data-theme="dark"]  .sb-brand .ko{display:block}

.sb-menu{display:flex;align-items:center;gap:2px;flex:1;margin-left:4px;list-style:none;
  margin-block:0;padding:0;min-width:0}
.sb-menu > li{position:relative}
/* 23.09 (kullanici): menüye "Hisse Haberleri" eklendi — öğeler biraz daraltıldı (14,5→13,6px,
   yatay dolgu 13→11px), oyun düğmeleri bir tık daha küçük. Header yüksekliği değişmedi. */
.sb-menu > li > a{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;
  border-radius:9px;color:var(--ink2);font-size:13.2px;font-weight:500;
  white-space:nowrap;transition:all var(--t)}
.sb-menu > li > a:hover,.sb-menu > li > a.on{color:var(--ink);background:var(--panel)}
/* 14.09.2026 (kullanici): menu basliklarindaki cizgi ikonlar (header_v2 $_mik) — hisse analizi
   hizli liste dugmeleriyle ayni dil; etkin/uzerine gelince tam renk. */
.sb-menu .sb-mik{width:15px;height:15px;flex-shrink:0;opacity:.72;transition:opacity var(--t)}
.sb-menu > li > a:hover .sb-mik,.sb-menu > li > a.on .sb-mik{opacity:1}
/* 11.09 (kullanici): "Hisse Analizi" — hover'daki gri zemin YAVASCA yanip soner (2,8 sn);
   uzerine gelince sabitlenir, hareket azaltmayi secen kullanicida durur */
@keyframes sbNabizZemin{0%,100%{background:transparent}50%{background:var(--panel)}}
/* 14.09 (kullanici): "Hisse Analizi" yanip sonmesin — nabiz animasyonu kaldirildi. */
.sb-menu > li > a.sb-nabiz:hover{background:var(--panel)}
.sb-ok{width:11px;height:11px;opacity:.6;transition:transform var(--t)}
.sb-menu > li:hover .sb-ok{transform:rotate(180deg)}

/* acilir menu — mevcut yapiyi korur */
.sb-alt{position:absolute;top:calc(100% + 8px);left:0;min-width:262px;z-index:70;
  background:var(--panel);border:1px solid var(--line2);border-radius:13px;
  box-shadow:0 24px 56px -18px rgba(0,0,0,.5);padding:6px;list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:all var(--t)}
.sb-menu > li:hover .sb-alt,.sb-menu > li:focus-within .sb-alt{
  opacity:1;visibility:visible;transform:translateY(0)}
.sb-alt a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;
  color:var(--ink2);font-size:13.5px;font-weight:500;transition:all var(--t)}
.sb-alt a:hover{background:var(--acc-dim);color:var(--acc2)}
.sb-alt svg{width:15px;height:15px;flex-shrink:0;opacity:.75}
.sb-ayr{height:1px;background:var(--line);margin:5px 8px}

/* rozet — eski temadaki yesil sayac */
.sb-roz{background:var(--up);color:#fff;border-radius:999px;font-size:10px;font-weight:800;
  min-width:17px;height:17px;line-height:17px;text-align:center;padding:0 5px;
  display:inline-block;margin-left:5px;vertical-align:middle;
  font-family:"JetBrains Mono",monospace}

.sb-sag{display:flex;align-items:center;gap:10px;flex-shrink:0}
.sb-tema{display:inline-flex;padding:3px;gap:2px;background:var(--panel);
  border:1px solid var(--line);border-radius:999px}
.sb-tema button{appearance:none;border:0;background:transparent;cursor:pointer;
  width:30px;height:26px;border-radius:999px;color:var(--ink3);display:grid;
  place-items:center;transition:all var(--t)}
.sb-tema button[aria-pressed="true"]{background:var(--acc-dim);color:var(--acc2)}
.sb-tema button:hover{color:var(--ink)}
.sb-tema svg{width:15px;height:15px}
/* 19.09 (kullanici): MISAFIR ust-bardaki tema secici (gunes/ay/sistem) sayfayi saga tasiriyordu;
   ust-bar surumu gizlendi (yalniz .sb-sag'in DOGRUDAN cocugu). Girisli kullanicinin hesap
   menusundeki tema secici (.sb-alt-tema icindeki) etkilenmez; butonlar DOM'da kalir (footer bind). */
.sb-sag > .sb-tema{display:none}

/* kullanici */
.sb-kul{position:relative}
/* 14.09 (kullanici): hesap pill'i biraz daha DAR (Panelim'e gore); gap/padding kucultuldu. */
/* 23.09 (kullanici: "bergutay erkal ve asagisindaki siralama butonu kismini birlikte kucultelim,
   header duzelmeli"): 13 → 12px, avatar 26 → 23px, dolgu/gap bir tik dar. Olculdu (PIL, Segoe UI
   ~ Inter): sag blok 241 → 228px. Tek basina yetmez — asil kazanc rozetin kose'ye alinmasi. */
.sb-kul-b{display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 5px;
  border-radius:999px;border:1px solid var(--line2);background:var(--panel);
  color:var(--ink);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;
  transition:all var(--t)}
.sb-kul-b:hover{border-color:var(--acc-line)}
/* 14.09 (kullanici): "Panelim" — hesap dugmesinin solunda belirgin accent pill (global "Dashboard"
   dugmesi mantigi). Mobilde gizli; hesap acilir menusundeki "Panelim"den erisilir. */
/* 14.09 (kullanici): Panelim enine biraz daha uzun (padding-inline artti). */
/* 04.10 (kullanici): Panelim = anasayfadaki PANELİM dugmesiyle AYNI — logodaki GEN turuncusu (harf gecisi), lacivert
   metin. ⚠️ header_v2.php'deki satir-ici <style> (.sb-sag .sb-panelim) daha ozgul; iki yer AYNI tutulur. */
.sb-panelim{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;
  border-radius:10px;border:1px solid color-mix(in srgb,var(--gen) 70%,transparent);
  background:linear-gradient(180deg,#E2B568,#B97A3A);color:#0F2038;
  font-size:11.4px;font-weight:700;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:all var(--t)}
.sb-panelim:hover{background:linear-gradient(180deg,#EBC27A,#C98542);border-color:var(--gen)}
.sb-panelim.on{box-shadow:0 0 0 2px color-mix(in srgb,var(--gen) 45%,transparent);border-color:var(--gen)}
.sb-panelim .sb-mik{width:15px;height:15px;flex-shrink:0;opacity:.9}
.sb-panelim.on .sb-mik{opacity:1}
/* ⭐ 23.09.2026 (kullanici: "panele bildirim gelince headerdaki gosterim bozuluyor") — KOK NEDEN.
   Rozet SATIR ICI idi: bildirim gelince Panelim 22px genisliyordu, menu kutusu o kadar daralıyor ve
   .sb-menu{overflow:hidden} yuzunden "Borsa Simulasyonu" kirpiliyordu. Yani header'ı bozan sey
   bildirimin KENDISIYDI. Rozet artik kose'de MUTLAK konumlu: sayi kac olursa olsun düğmenin
   genisligi degismez, header bildirimli ve bildirimsiz halde BIREBIR ayni. */
.sb-panelim .sb-roz{position:absolute;top:-6px;right:-6px;margin:0;min-width:16px;height:16px;
  line-height:16px;font-size:9.5px;padding:0 4px;box-shadow:0 0 0 2px var(--bg,#0b0f16)}
@media (max-width:1080px){.sb-panelim{display:none}}
/* 23.09: menü içeriği TAŞMASIN. İçerik kutusu (--max) sabit olduğu için ekran ne kadar geniş
   olursa olsun menü + sağ blok 1200px'e sığmalı; bu yüzden ölçüler dar tutuldu. 1240px altında
   oyun düğmeleri yalnız ikon kalır (adları title ile okunur). Taşma olursa menü kırpılır —
   sağdaki Panelim/hesap bloğunun ÜSTÜNE BİNMEZ. */
.sb-menu{overflow:hidden}
@media (max-width:1240px){
  .sb-nav-in{gap:10px}
  .sb-menu > li > a{padding:7px 7px;font-size:12.4px;gap:4px}
  .sb-menu .sb-ayrac{margin:0 3px}
  .sb-menu .sb-oyun .mt{display:none}
  .sb-menu .sb-oyun > a{padding:6px 9px}
}
/* ⭐ 30.09.2026 (kullanici, ekran goruntusu: "borsa simulasyonu kirmizi kutu icinde kesiliyor") —
   MISAFIR header'inda son menu ogesi kirpiliyordu. OLCUM (Chrome/CDP, canli sayfa, misafir):
   .sb-menu scrollWidth 766 / clientWidth 730 -> TASMA 36px; "Borsa Simulasyonu" menunun sag
   kenarini tam 16px asiyor (ekran goruntusundeki kesik bu). Tasma 1240px'den YUKARI SABIT,
   cunku ic kutu --max ile sinirli: tarayiciyi genisletmek yer acmiyor. 1240px ALTINDA yukaridaki
   medya sorgusu oyun dugmelerini ikona indirdigi icin sorun gorunmuyor. Yani hata penceresi
   >=1240px VE MISAFIR: uye header'inda bu uc dugme yok (Giris 61 + Kayit Ol 96 + Ucretsiz Dene
   138 = 315px'lik sag blok), o yuzden yalniz cikis yapmis ziyaretcide olusuyordu.
   COZUM (kullanici onerisi): sag bloktaki giris/kayit dugmeleri daraltildi. Olculen sonuc:
   sag blok 315 -> 269px, menu 730 -> 776px, ihtiyac 766px => tasma 0, ~10px pay kaldi.
   KAPSAM .sb-sag ile SINIRLI: ayni .btn-g/.btn-p siniflari anasayfa ve halka arz sayfasinda da
   kullaniliyor, oraya dokunulmaz. Uye header'i da etkilenmez (orada .sb-sag icinde .btn yok).
   04.10.2026 (AP-002/4, kullanici onayi 30.09): misafir header'indan "Kayit Ol" KALKTI ("Ucretsiz
   Dene" ile ayni adres) — menuye 88px (78 dugme + 10 aralik) yer acildi. Dugmeler 40px: hamburger
   dugmesiyle (.sb-mob) ayni yukseklik. */
.sb-sag .btn{height:40px;padding-block:0;font-size:13.5px}
@media (max-width:1240px){.sb-sag .btn{font-size:13px}}
.sb-sag .btn-g,.sb-sag .btn-p{padding-left:12px;padding-right:12px}
.sb-sag .btn-s{padding-left:10px;padding-right:10px}
/* tema secici hesap acilir menusunde bir satir olarak */
.sb-alt-tema{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px}
.sb-alt-tema > span{font-size:12.5px;color:var(--ink2)}
.sb-av{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(165deg,var(--acc2),var(--acc));color:#fff;
  font-size:10.5px;font-weight:800;flex-shrink:0}
.sb-kul .sb-alt{left:auto;right:0;min-width:212px}
/* 13.09 (kullanici): takip listesi bildirimi — sag alt kutu (tema.js SB_BILDIRIM) */
.sb-bld{position:fixed;right:20px;bottom:90px;z-index:115;width:min(340px,calc(100% - 32px));
  background:var(--panel);border:1px solid var(--acc-line);border-radius:14px;padding:12px 12px 10px;
  box-shadow:0 18px 44px -16px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity var(--t),transform var(--t),visibility var(--t)}
.sb-bld.on{opacity:1;visibility:visible;transform:none}
.sb-bld-bas{display:flex;align-items:center;gap:9px;margin:0 2px 6px 6px}
.sb-bld-bas::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--acc2)}
.sb-bld-bas b{font-size:13.5px;font-weight:700;color:var(--ink)}
.sb-bld-x{margin-left:auto;appearance:none;border:0;background:transparent;color:var(--ink3);cursor:pointer;
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center}
.sb-bld-x:hover{color:var(--ink);background:var(--panel2)}
.sb-bld-x svg{width:15px;height:15px}
.sb-bld ul{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.sb-bld li a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;
  padding:7px 6px;border-radius:8px;text-decoration:none;color:var(--ink2);font-size:12.5px}
.sb-bld li a:hover{background:var(--acc-dim)}
.sb-bld li b{font-family:"JetBrains Mono",monospace;font-size:12.5px;color:var(--ink)}
.sb-bld li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-bld li time{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink3)}
.sb-bld p{margin:3px 6px 0;font-size:11.5px;color:var(--ink3)}
.sb-bld-git{display:inline-block;margin:8px 6px 0;font-size:12.5px;font-weight:600;color:var(--acc2);text-decoration:none}
.sb-bld-git:hover{text-decoration:underline}
@media (max-width:620px){.sb-bld{right:16px;bottom:78px}}
/* 13.09 (E2): profilde hazir listeden secilen gorsel (tema.js SB_AVATAR) harfin yerine basilir */
.sb-av{overflow:hidden}
.sb-av.sb-av-g{background:none}
.sb-av svg{width:100%;height:100%;display:block}
/* ⚠️ Acilma kurali once yalnizca .sb-menu > li icin yazilmisti; kullanici
   menusu disarida kalip HIC acilmiyordu (cikis/profil'e erisilemiyordu). */
.sb-kul:hover .sb-alt,.sb-kul:focus-within .sb-alt,.sb-kul.acik .sb-alt{
  opacity:1;visibility:visible;transform:translateY(0)}
/* 14.09 (kullanici, BUG): "> svg" olmali — yoksa .sb-av icindeki AVATAR svg'sini de 12px yapip
   kuculuyordu (hover'da donduruyor, mobilde gizliyordu). Chevron dugmenin DOGRUDAN cocugu. */
.sb-kul-b > svg{width:12px;height:12px;opacity:.6;transition:transform var(--t)}
.sb-kul:hover .sb-kul-b > svg,.sb-kul.acik .sb-kul-b > svg{transform:rotate(180deg)}

/* mobil */
.sb-mob{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);
  background:var(--panel);color:var(--ink2);cursor:pointer;place-items:center}
.sb-mob svg{width:19px;height:19px}

/* ── 5. FOOTER ──────────────────────────────────────────────────────────── */
.sb-ft{border-top:1px solid var(--line);background:var(--bg2);margin-top:46px}
/* 03.10.2026: footer'a "Oyun" kolonu eklendi (simülasyon · yarışma · tahmin · sıralama),
   içerik kolonu 3'ten 4'e çıktı. Marka kolonu 1,4 → 1,2fr: beş kolonda metin kolonu fazla
   yer kaplıyordu. Dar ekran kırılımları (2 kolon / 1 kolon) aşağıda, değişmedi.
   04.10.2026 (AP-002/5): dar ekran kırılımları artık ≤1080 logo + 4 grup yan yana, ≤680 logo + 2×2 (§7). */
.sb-ft-in{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr));
  gap:30px;padding-block:42px 30px}
.sb-ft-a{display:grid;gap:13px;align-content:start}
.sb-ft-a p{margin:0;font-size:13px;color:var(--ink3);line-height:1.65;max-width:42ch}
.sb-ft h5{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);
  font-weight:800;font-family:"Plus Jakarta Sans",sans-serif;margin-bottom:12px}
.sb-ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sb-ft ul a{font-size:13.5px;color:var(--ink2);transition:color var(--t)}
.sb-ft ul a:hover{color:var(--acc2)}
.sb-ft-alt{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding-block:17px;border-top:1px solid var(--line);
  font-size:12px;color:var(--ink3)}
.sb-ft-alt .mono{font-size:11px}
/* 04.10.2026 (AP-002/6): iki yana yaslama (dar sutunda kelime arasi bosluklar) ve italik (kucuk
   puntoda okunurluk) kalkti; satir ~92 karakterle sinirli. Renk --ink3 -> --ink2: kontrast acik
   temada 3,40 -> 6,48:1, koyu temada 4,66 -> 8,71:1 (WCAG AA 4,5:1). Metin footer_v2.php'de, degismedi. */
/* 04.10 (kullanici, ekran goruntusu: "soldan saga yasli olsun, ortada kalmis"): 92ch siniri KALKTI — paragraf footer
   genisligini (--max) tamamen kullanir, sola yasli; iki yana yaslama yine yok. */
.sb-kck{font-size:12px;color:var(--ink2);line-height:1.65;max-width:none;text-align:left;
  hyphens:auto;-webkit-hyphens:auto;padding-bottom:16px}

/* ── 6. PAYLASILAN BILESENLER ───────────────────────────────────────────── */
.sb-kart{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.sb-bolum{padding-block:34px 44px}
.sb-bolum-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.sb-bolum-h h2{font-size:clamp(20px,2.4vw,26px);font-weight:700}
.sb-bolum-h .not{font-size:13px;color:var(--ink3)}

/* puan rozeti — olcek tokenlariyla */
.sb-puan{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;
  border-radius:7px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800}
.sb-p5{background:color-mix(in srgb,var(--s5) 17%,transparent);color:var(--s5)}
.sb-p4{background:color-mix(in srgb,var(--s4) 20%,transparent);color:var(--s4)}
.sb-p3{background:color-mix(in srgb,var(--s3) 20%,transparent);color:var(--s3)}
.sb-p2{background:color-mix(in srgb,var(--s2) 17%,transparent);color:var(--s2)}
.sb-p1{background:color-mix(in srgb,var(--s1) 17%,transparent);color:var(--s1)}

/* tablo */
.sb-tbl-cer{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden}
.sb-tbl-kay{overflow-x:auto}
.sb-tbl{width:100%;border-collapse:collapse;font-size:13px}
.sb-tbl th{font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);
  font-weight:700;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);
  white-space:nowrap;background:var(--panel)}
.sb-tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.sb-tbl tbody tr{transition:background var(--t)}
.sb-tbl tbody tr:hover{background:var(--acc-dim)}
.sb-tbl tbody tr:last-child td{border-bottom:0}
.sb-sayisal{font-family:"JetBrains Mono",monospace;font-variant-numeric:tabular-nums;
  text-align:right;white-space:nowrap}

/* yukari ok */
.sb-top{position:fixed;right:22px;bottom:22px;z-index:70;width:46px;height:46px;
  border-radius:50%;border:1px solid var(--acc-line);color:#fff;cursor:pointer;
  background:linear-gradient(165deg,var(--acc2),var(--acc));display:grid;place-items:center;
  box-shadow:0 6px 18px rgba(0,0,0,.28);opacity:0;visibility:hidden;
  transform:translateY(12px);transition:all var(--t)}
.sb-top.on{opacity:1;visibility:visible;transform:translateY(0)}
.sb-top:hover{transform:translateY(-3px)}
.sb-top svg{width:20px;height:20px}

/* ── 6b. LISTE SAYFASI BILESENLERI ──────────────────────────────────────
   /hisseler, /endeksler, /kap, /sermaye-artirimlari ... hepsi ayni iskeleti
   kullanir: sayfa basligi + arac cubugu + tablo + sayfalama. Tek yerde durur ki
   sayfa gorunumleri kucuk kalsin ve aralarinda gorsel kayma olmasin. */
.sb-sayfa{padding-block:26px 56px}
.sb-sayfa-bas{display:flex;align-items:flex-end;justify-content:space-between;
  gap:18px;flex-wrap:wrap;margin-bottom:18px}
.sb-sayfa-bas h1{font-size:clamp(24px,3vw,32px);font-weight:700;margin:0}
.sb-sayfa-bas p{margin:7px 0 0;max-width:70ch;color:var(--ink2);font-size:14.5px;line-height:1.7}
.sb-sayfa-sag{font-size:12.5px;color:var(--ink3);line-height:1.7;text-align:right}
.sb-sayfa-sag b{color:var(--ink2);font-weight:700}

/* arac cubugu */
.sb-arac{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px}
.sb-arac-grup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sb-arac-et{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  color:var(--ink3);white-space:nowrap}
.sb-ayrac{width:1px;height:22px;background:var(--line);flex-shrink:0}
/* 20.09 (kullanici): oyun butonlari ile sagdaki bolum arasindaki ayrac. Kural eskiden
   header_v2 icinde GIRISLI dalin <style>'inda duruyordu, bu yuzden misafir basliginda
   ayrac cizilemiyordu. Ortak yere alindi; iki dal da ayni kurali kullanir. */
.sb-sag-ayrac{width:1px;height:20px;background:var(--line2);flex:none;margin:0 -5px;align-self:center}
@media (max-width:1080px){.sb-sag-ayrac{display:none}}
.sb-arac form{margin:0;display:flex;gap:6px;align-items:center}

/* filtre cipsi */
.sb-cip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;
  border:1px solid var(--line2);background:transparent;color:var(--ink2);
  font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;
  transition:all var(--t)}
.sb-cip:hover{border-color:var(--acc-line);color:var(--acc2)}
.sb-cip.on{background:var(--acc);border-color:var(--acc);color:#fff}
.sb-cip-x{opacity:.7;font-weight:800}
.sb-cip-x:hover{opacity:1}

/* form alanlari */
.sb-gir{padding:7px 11px;border:1px solid var(--line2);border-radius:9px;background:var(--bg2);
  color:var(--ink);font-size:13.5px;font-family:inherit;transition:border-color var(--t)}
.sb-gir:focus{outline:none;border-color:var(--acc)}
.sb-gir::placeholder{color:var(--ink3)}
select.sb-gir{cursor:pointer;max-width:220px}
input.sb-gir.mono{font-family:"JetBrains Mono",monospace;text-transform:uppercase}

/* ozet serit — filtreye uyan kumenin toplu sayilari */
.sb-ozet{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.sb-ozet-h{display:flex;flex-direction:column;gap:1px;padding:6px 12px;border-radius:9px;
  border:1px solid var(--line);background:var(--bg2);min-width:96px}
.sb-ozet-h i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.3px;color:var(--ink3)}
.sb-ozet-h b{font-size:14px;font-family:"JetBrains Mono",monospace}

/* siralanabilir sutun basligi */
.sb-tbl th a{display:inline-flex;align-items:center;gap:4px;color:inherit}
.sb-tbl th a:hover{color:var(--acc2)}
.sb-sirala{width:9px;height:9px;opacity:.35;flex-shrink:0}
.sb-tbl th a.on .sb-sirala{opacity:1;color:var(--acc2)}

/* bos durum */
.sb-yok{padding:46px 24px;text-align:center;color:var(--ink3)}
.sb-yok svg{width:30px;height:30px;opacity:.5;margin-bottom:10px}
.sb-yok p{margin:0;font-size:14.5px}

/* sayfalama */
.sb-sayfalama{display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}
.sb-sayfalama .bilgi{font-size:13px;color:var(--ink3)}
.sb-sayfalama .kutu{display:flex;gap:5px;flex-wrap:wrap}
.sb-sayfalama a,.sb-sayfalama span.bosluk{display:grid;place-items:center;min-width:32px;height:32px;
  padding:0 9px;border-radius:8px;border:1px solid var(--line2);color:var(--ink2);
  font-size:13px;font-weight:600;transition:all var(--t)}
.sb-sayfalama a:hover{border-color:var(--acc-line);color:var(--acc2)}
.sb-sayfalama a.on{background:var(--acc);border-color:var(--acc);color:#fff}
.sb-sayfalama span.bosluk{border-color:transparent;color:var(--ink3)}

/* satiri tiklanabilir yapan tablo */
.sb-tbl tr.tikla{cursor:pointer}
.sb-sembol{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:14px;
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.sb-kirp{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}

/* takip yildizi */
.sb-yildiz{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;
  border:1px solid transparent;background:transparent;color:var(--ink3);cursor:pointer;
  transition:all var(--t)}
.sb-yildiz:hover{color:var(--warn);border-color:var(--line2)}
.sb-yildiz.on{color:var(--warn)}
.sb-yildiz svg{width:16px;height:16px}

@media (max-width:760px){
  .sb-ozet{margin-left:0;width:100%}
  .sb-sayfa-sag{text-align:left}
}

/* ekran okuyucuya ozel */
.sr-gizli{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* sutun basligindaki arama dugmesi */
.sb-ara-dug{margin-left:6px;padding:2px;border:0;background:none;color:var(--ink3);
  cursor:pointer;vertical-align:middle;line-height:0;border-radius:5px;transition:color var(--t)}
.sb-ara-dug:hover{color:var(--acc2)}
.sb-ara-dug svg{width:12px;height:12px}

/* hisse logosu — eski style.css yeni temada yuklenmiyor, kural buraya tasindi */
.stk-logo{display:inline-block;vertical-align:-4px;border-radius:50%;background:#fff;
  object-fit:contain;flex-shrink:0}

/* bilgi baloncugu — tetikleyici + tek global kutu (tema.js konumlar) */
.sb-ip{cursor:help;outline:none;display:inline-flex;align-items:center;gap:4px}
.sb-ip svg{width:11px;height:11px;opacity:.6;flex-shrink:0}
.sb-ip:hover svg,.sb-ip:focus svg{opacity:1;color:var(--acc2)}
.sb-ip-kutu{display:none;position:fixed;z-index:116;max-width:300px;background:var(--panel);
  border:1px solid var(--line2);border-radius:10px;padding:10px 13px;font-size:12.5px;
  font-weight:500;color:var(--ink);line-height:1.6;text-transform:none;letter-spacing:0;
  box-shadow:0 6px 18px rgba(0,0,0,.28);pointer-events:none;white-space:normal;text-align:left}
/* 23.09: terim balonu etkilesimli — fare kutunun icine girebilir, altinda "bir daha gosterme" */
.sb-ip-kutu.sb-ip-etkilesim{pointer-events:auto}
.sb-ip-bir-daha{display:flex;align-items:center;gap:7px;margin-top:9px;padding-top:8px;
  border-top:1px solid var(--line);font-size:11.5px;font-weight:600;color:var(--ink3);cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-ip-bir-daha:hover{color:var(--ink2)}
.sb-ip-bir-daha input{width:13px;height:13px;margin:0;flex:none;accent-color:var(--acc)}
.sb-ip-bir-daha[hidden]{display:none}

/* kucuk bildirim (tema.js) */
/* header 110'a cikinca bu iki genel katman da ustune tasindi (yoksa header'in
   uzerine denk geldiklerinde arkada kalirlardi). */
.sb-bildirim{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);z-index:114;
  max-width:min(440px,92vw);padding:12px 18px;border-radius:12px;background:var(--panel);
  border:1px solid var(--line2);color:var(--ink);font-size:13.5px;line-height:1.6;
  box-shadow:0 6px 18px rgba(0,0,0,.28);opacity:0;visibility:hidden;transition:all var(--t)}
.sb-bildirim.on{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sb-bildirim.uyari{border-color:var(--warn);color:var(--ink)}

/* ── 6c. DEVRALINAN BILESENLER ───────────────────────────────────────────
   activity-table / pnl-tooltip / watchlist-toggle eski style.css'te yasiyordu.
   Tasinan sayfada style.css YUKLENMIYOR; bu bilesenler hisse detayinda ve
   /aktif-sinyaller'de 170'ten fazla yerde kullanildigi icin markup'i degistirmek
   yerine kurallari YENI TEMAYA tasidik (degiskenler tokenlere baglandi).
   Eski tema bu dosyayi hic gormez, yani carpisma yok. */
.activity-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.activity-table th {
  text-align: left;
  padding: 0.65rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ink3);
  white-space: nowrap;
  /* Sticky header */
  position: sticky;
  top: var(--nav-h);
  background: var(--panel);
  z-index: 10;
  /* border-collapse:separate ile alt kenarlık için box-shadow */
  box-shadow: 0 1px 0 var(--line);
}
.activity-table td {
  padding: 0.65rem 0.85rem;
  font-size: 0.88rem;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.activity-table tr:last-child td {
  border-bottom: none;
}
.activity-table tr:hover td {
  background: var(--acc-dim);
}
.pnl-tooltip-trigger {
  position: relative;
  display: inline-block;
  cursor: pointer;
  z-index: 1; /* hover'da tooltip diğer elementlerin üstünde görünsün */
}
.pnl-tooltip-trigger:hover {
  z-index: 501;
}
.pnl-tooltip-trigger i:not(.fa-star) {
  font-size: 0.78rem;
  transition: transform 180ms cubic-bezier(.2,.6,.3,1);
}
.pnl-tooltip-trigger:hover i:not(.fa-star) {
  transform: scale(1.2);
}
.pnl-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--panel);
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: 0 6px 22px rgba(0,0,0,0.16);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 500;
  /* Inheritable resets — th/parent text-transform & letter-spacing should NOT bleed into tooltip body */
  text-transform: none;
  letter-spacing: normal;
  text-align: left;
  font-style: normal;
}
.pnl-tooltip span { color: inherit !important; }
.pnl-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--ink);
}
.pnl-tooltip-trigger:hover .pnl-tooltip {
  opacity: 1;
  visibility: visible;
}
.pnl-tooltip--down {
  bottom: auto;
  top: calc(100% + 8px);
}
.pnl-tooltip--down::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: var(--ink);
}
.pnl-tooltip[data-anchor="left"] {
  left: 0;
  right: auto;
  transform: none;
}
.pnl-tooltip[data-anchor="left"]::after {
  left: 12px;
  right: auto;
  transform: none;
}
.pnl-tooltip[data-anchor="right"] {
  left: auto;
  right: 0;
  transform: none;
}
.pnl-tooltip[data-anchor="right"]::after {
  left: auto;
  right: 12px;
  transform: none;
}
.watchlist-toggle {
  background: none;
  border: 1px solid #f59e0b;
  border-radius: 999px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  color: #f59e0b;
  transition: all 180ms cubic-bezier(.2,.6,.3,1);
  flex-shrink: 0;
}
.watchlist-toggle:hover {
  border-color: var(--acc);
  color: var(--acc);
  background: rgba(99, 102, 241, 0.08);
}
.watchlist-toggle.active {
  color: #f59e0b;
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
}
.watchlist-toggle.active i {
  animation: watchlistPop 0.3s ease;
}
.watchlist-toggle-sm {
  background: none;
  border: none;
  padding: 0;
  margin: 0 0 0 auto;
  cursor: pointer;
  font-size: 0.78rem;
  color: var(--ink3);
  opacity: 0.4;
  transition: all 0.15s ease;
  flex-shrink: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.watchlist-toggle-sm:hover {
  color: #f59e0b;
  opacity: 1;
}
.watchlist-toggle-sm.active {
  color: #f59e0b;
  opacity: 1;
}
.watchlist-toggle-sm.active i {
  animation: watchlistPop 0.3s ease;
}

/* ── 6d. DEVRALINAN SAYFA BILESENLERI ────────────────────────────────────
   Giris/kayit/profil/takip listesi/GENpro/sayac/takvim kendi <style> blogunu
   TASIMIYOR; gorunumleri tumuyle eski style.css'e bagliydi. Tasinan sayfada o
   dosya yuklenmedigi icin kurallar buraya alindi ve degiskenler yeni tokenlere
   baglandi. tema.css'te ZATEN tanimli taban siniflar (.btn, .card ...) bilerek
   DISARIDA birakildi; onlarin yerine asagida alias var.
   ────────────────────────────────────────────────────────────────────────── */


.btn-primary {
  background: var(--acc);
  color: white;
}


.btn-primary:hover {
  background: var(--acc2);
  color: white;
}


.btn-outline {
  background: transparent;
  color: var(--ink2);
  border: 1px solid var(--line);
}


.btn-outline:hover {
  border-color: var(--acc);
  color: var(--acc);
  background: var(--acc-dim);
}


.btn-sm {
  padding: 0.35rem 0.85rem;
  font-size: 0.82rem;
}


.btn-ghost {
  background: transparent;
  color: var(--ink2);
  border: none;
}


.btn-ghost:hover {
  color: var(--acc);
  background: var(--acc-dim);
}


.user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--acc), var(--accent-secondary));
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.75rem;
  font-weight: 600;
  position: relative;
}


.user-avatar.premium {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 0 0 2px var(--bg), 0 0 0 3px #f59e0b;
}


.stock-rank {
  width: 20px;
  font-size: 0.75rem;
  color: var(--ink3);
  font-weight: 500;
  text-align: center;
  flex-shrink: 0;
}


.stock-info {
  flex: 1;
  min-width: 0;
}


.stock-symbol {
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--ink);
  display: block;
  line-height: 1.3;
}


.stock-name {
  font-size: 0.75rem;
  color: var(--ink3);
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ---------- Content Area ---------- */
.content-area {
  flex: 1;
  min-width: 0;
  padding: 1rem 0;
}


.content-area .card {
  border-radius: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: none;
  border-right: none;
}


.content-area .card-header {
  padding: 1rem 1.5rem;
}


.content-area .card-body {
  padding: 1.25rem 1.5rem;
}


.search-result-item .stock-symbol {
  font-size: 0.92rem;
}


.search-result-item .stock-name {
  font-size: 0.8rem;
}


/* ---------- Cards ---------- */
.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  transition: background-color 180ms cubic-bezier(.2,.6,.3,1), border-color 180ms cubic-bezier(.2,.6,.3,1);
}


.card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}


.card-header h2 {
  font-size: 1rem;
  font-weight: 600;
}


.card-body {
  padding: 1.25rem;
}


/* ---------- Recent Activity Table ---------- */

.activity-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
/* 30.09.2026: yonetici tablolari (.card-body > .activity-table) 1024px altinda sayfayi tasiriyordu.
   Neden her genislikte degil: overflow-x:auto dikey yapiskan basligi kapatir; esigin ustunde korunur.
   04.10.2026 (kullanici karari): ESIK 1024 -> 1120. 1px adimli olcum: /admin/users 1025-1114px'de
   +90px'e kadar, /aktif-sinyaller 1025-1031px'de +8px'e kadar tasiyordu. Bedel kabul edildi:
   1025-1120 araliginda bu tablolarin basligi yapiskan degil. */
@media (max-width:1120px){
  .card-body:has(> .activity-table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  .card-body:has(> .activity-table) > .activity-table th{position:static;box-shadow:none}
}


/* Scroll container içindeki tablolarda top:0 — viewport header'ına değil kutu üstüne yapış */
.card-scroll .activity-table th {
  top: 0;
}


/* Ranking Page */
.ranking-filters {
  display: flex;
  gap: 0.4rem;
  padding: 0 1.2rem 1rem;
  flex-wrap: wrap;
}


.ranking-table tr {
  cursor: pointer;
}

.ranking-table .stock-rank {
  display: inline-block;
  width: 22px;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink3);
}


/* ---------- Auth Pages ---------- */
.auth-container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - var(--nav-h) - 60px);
  padding: 2rem;
}


.auth-card {
  width: 100%;
  max-width: 420px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 2.5rem 2rem;
}


.auth-header {
  text-align: center;
  margin-bottom: 2rem;
}


.auth-header h2 {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}


.auth-header p {
  color: var(--ink2);
  font-size: 0.9rem;
}


.form-group {
  margin-bottom: 1.15rem;
}


.form-group label {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ink2);
  margin-bottom: 0.4rem;
}


.form-control {
  width: 100%;
  height: 44px;
  padding: 0 0.85rem;
  background: var(--bg-input);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.92rem;
  font-family: inherit;
  color: var(--ink);
  transition: all 180ms cubic-bezier(.2,.6,.3,1);
  outline: none;
}


.form-control:focus {
  border-color: var(--acc);
  box-shadow: 0 0 0 3px var(--acc-dim);
}


.form-control::placeholder {
  color: var(--ink3);
}


.btn-block {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 0.7rem;
  font-size: 0.95rem;
}


.auth-footer {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 0.88rem;
  color: var(--ink2);
}


/* Form Row (side-by-side fields) */
.form-row {
  display: flex;
  gap: 1rem;
}

.form-row > .form-group {
  flex: 1;
  min-width: 0;
}


/* ---------- Register Form ---------- */
.register-content {
  padding: 2rem;
}

.register-subtitle {
  font-size: 0.9rem;
  color: var(--ink2);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.register-form .form-group label {
  font-weight: 600;
  color: var(--ink);
}

.register-form .form-control {
  height: 46px;
  font-size: 0.9rem;
}

.register-form .btn-block {
  height: 46px;
  font-size: 0.92rem;
  font-weight: 600;
  margin-top: 0.5rem;
}

.register-login-link {
  margin-top: 1.25rem;
  font-size: 0.88rem;
  color: var(--ink2);
  text-align: center;
}


/* Alert Messages */
.alert {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.88rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
}


.alert-danger {
  background: color-mix(in srgb,var(--down) 14%,transparent);
  color: var(--down);
  border-color: rgba(239, 68, 68, 0.15);
}


.alert-success {
  background: color-mix(in srgb,var(--up) 14%,transparent);
  color: var(--up);
  border-color: rgba(16, 185, 129, 0.15);
}


/* ---------- Empty State ---------- */
.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  color: var(--ink3);
}


.empty-state i {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  display: block;
  opacity: 0.3;
}


.empty-state h3 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
  color: var(--ink2);
}


.empty-state p {
  font-size: 0.85rem;
}


/* Compact star for sidebar lists */
.watchlist-toggle-sm {
  background: none;
  border: none;
  padding: 0;
  margin: 0 0 0 auto;
  cursor: pointer;
  font-size: 0.78rem;
  color: var(--ink3);
  opacity: 0.4;
  transition: all 0.15s ease;
  flex-shrink: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}


/* Show star on hover of parent list item */
.stock-list-item .watchlist-toggle-sm,
.signal-item .watchlist-toggle-sm {
  opacity: 0;
  transition: opacity 0.15s ease;
}


.stock-list-item:hover .watchlist-toggle-sm,
.signal-item:hover .watchlist-toggle-sm,
.stock-list-item .watchlist-toggle-sm.active,
.signal-item .watchlist-toggle-sm.active {
  opacity: 1;
}


.auth-modal-actions .btn {
  flex: 1;
  padding: 0.65rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
}


.watchlist-stock-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
  gap: 1rem;
  flex-wrap: wrap;
}


.watchlist-stock-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}


.watchlist-stock-symbol {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ink);
  text-decoration: none;
}


.watchlist-stock-symbol:hover {
  color: var(--acc);
}


.watchlist-stock-name {
  font-size: 0.82rem;
  color: var(--ink3);
}


.watchlist-stock-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}


.watchlist-stock-body {
  padding: 0;
}


/* Watchlist kartlarında sticky thead yerel kalmalı — viewport header'ına yapışmamalı */
.watchlist-stock-body .activity-table th {
  position: relative;
  top: auto;
}


.watchlist-summary {
  display: flex;
  gap: 1.5rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid var(--line);
  font-size: 0.82rem;
  color: var(--ink2);
  flex-wrap: wrap;
}


.watchlist-summary strong {
  color: var(--ink);
  font-weight: 600;
}


.lot-input {
  width: 72px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.82rem;
  font-family: "JetBrains Mono",monospace;
  background: var(--bg-input);
  color: var(--ink);
  text-align: center;
}


.lot-input:focus {
  outline: none;
  border-color: var(--acc);
  box-shadow: 0 0 0 2px var(--acc-dim);
}


.lot-sell-badge {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--down);
  background: color-mix(in srgb,var(--down) 14%,transparent);
  padding: 0.2rem 0.5rem;
  border-radius: 8px;
  white-space: nowrap;
}


.watchlist-remove-btn {
  background: none;
  border: none;
  color: var(--ink3);
  cursor: pointer;
  padding: 6px;
  font-size: 0.85rem;
  border-radius: 8px;
  transition: all 180ms cubic-bezier(.2,.6,.3,1);
}


.watchlist-remove-btn:hover {
  color: var(--down);
  background: color-mix(in srgb,var(--down) 14%,transparent);
}


.bergpro-price-option.featured {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.06);
}


/* GENpro Button */
.btn-bergpro {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: white;
  border: none;
  font-weight: 600;
}


.btn-bergpro:hover {
  background: linear-gradient(135deg, #d97706, #b45309);
  color: white;
  transform: translateY(-1px);
}


/* ========== GENpro Badges ========== */
.bergpro-badge-sm {
  font-size: 0.72rem;
  font-weight: 600;
  color: #d97706;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
}


.bergpro-link {
  color: #f59e0b;
  font-weight: 600;
  text-decoration: underline;
}


.bergpro-link:hover {
  color: #d97706;
}


.watchlist-stock-card.watchlist-greyed .watchlist-stock-body,
.watchlist-stock-card.watchlist-greyed .watchlist-summary {
  pointer-events: none;
}


.watchlist-greyed-overlay {
  background: rgba(245, 158, 11, 0.08);
  border: 1px dashed rgba(245, 158, 11, 0.3);
  border-radius: 8px;
  padding: 0.6rem 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.82rem;
  color: var(--ink2);
  text-align: center;
}


/* ========== GENpro Upsell Banner ========== */
.bergpro-upsell-banner {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.08), rgba(217, 119, 6, 0.04));
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
}


.bergpro-upsell-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}


.bergpro-upsell-icon {
  font-size: 1.5rem;
  color: #f59e0b;
}


.bergpro-upsell-content h3 {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.2rem;
}


.bergpro-upsell-content p {
  font-size: 0.82rem;
  color: var(--ink2);
  margin: 0;
}


/* ========== GENpro Page ========== */
.bergpro-hero {
  text-align: center;
  padding: 2.5rem 1.5rem 2rem;
}


.bergpro-hero-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  margin: 0 auto 1.25rem;
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.25);
}


.bergpro-hero h1 {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


.bergpro-hero p {
  font-size: 1rem;
  color: var(--ink2);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.6;
}


/* Comparison Table */
.bergpro-comparison {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 2rem;
}


.bergpro-compare-header {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 2px solid var(--line);
}


.bergpro-compare-feature-col {
  padding: 1.25rem;
}


.bergpro-compare-plan-col {
  padding: 1.25rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}


.bergpro-compare-plan-col.pro {
  background: rgba(245, 158, 11, 0.04);
  border-left: 1px solid var(--line);
}


.bergpro-compare-plan-col.free {
  border-left: 1px solid var(--line);
}


.bergpro-compare-plan-name {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink2);
}


.bergpro-compare-badge {
  font-size: 0.82rem;
  font-weight: 700;
  color: #d97706;
  background: rgba(245, 158, 11, 0.12);
  padding: 0.2rem 0.75rem;
  border-radius: 999px;
}


.bergpro-compare-plan-price {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  font-family: "JetBrains Mono",monospace;
}


.bergpro-compare-plan-price small {
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--ink3);
}


/* Comparison rows */
.bergpro-compare-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 1px solid var(--line);
  transition: background 180ms cubic-bezier(.2,.6,.3,1);
}


.bergpro-compare-row:last-child {
  border-bottom: none;
}


.bergpro-compare-row:hover {
  background: var(--bg);
}


.bergpro-compare-feature {
  padding: 0.9rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ink);
}


.bergpro-compare-feature i {
  color: var(--ink3);
  font-size: 0.82rem;
  width: 18px;
  text-align: center;
}


.bergpro-compare-cell {
  padding: 0.9rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  border-left: 1px solid var(--line);
}


.bergpro-compare-cell.pro {
  background: rgba(245, 158, 11, 0.02);
}


.bergpro-check {
  color: var(--up);
  font-size: 0.9rem;
}


.bergpro-limit-text {
  color: var(--ink3);
  font-size: 0.82rem;
}


.bergpro-unlimited-text {
  color: #f59e0b;
  font-weight: 600;
  font-size: 0.85rem;
}


.bergpro-unlimited-text i {
  margin-right: 3px;
  font-size: 0.72rem;
}


/* Pricing Section */
.bergpro-pricing-section {
  text-align: center;
}


.bergpro-pricing-section h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 1.5rem;
}


.bergpro-pricing-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  max-width: 700px;
  margin: 0 auto;
}


.bergpro-pricing-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1.75rem 1.5rem;
  position: relative;
  text-align: center;
  transition: transform 180ms cubic-bezier(.2,.6,.3,1), box-shadow 180ms cubic-bezier(.2,.6,.3,1);
}


.bergpro-pricing-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}


.bergpro-pricing-card.featured {
  border-color: #f59e0b;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.2), 0 8px 24px rgba(245, 158, 11, 0.08);
}


.bergpro-pricing-card-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: white;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.25rem 0.9rem;
  border-radius: 999px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}


.bergpro-pricing-card-header {
  margin-bottom: 1.25rem;
}


.bergpro-pricing-card-header h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink2);
  margin-bottom: 0.5rem;
}


.bergpro-pricing-amount {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
}


.bergpro-pricing-value {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ink);
  font-family: "JetBrains Mono",monospace;
  line-height: 1;
}


.bergpro-pricing-currency {
  font-size: 0.88rem;
  color: var(--ink3);
  font-weight: 500;
}


.bergpro-pricing-currency small {
  font-size: 0.75rem;
}


.bergpro-pricing-savings {
  font-size: 0.78rem;
  color: #10b981;
  font-weight: 500;
  margin-top: 0.35rem;
}


.bergpro-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  text-align: left;
}


.bergpro-pricing-features li {
  padding: 0.45rem 0;
  font-size: 0.85rem;
  color: var(--ink2);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}


.bergpro-pricing-features li i {
  color: var(--up);
  font-size: 0.72rem;
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}


.bergpro-pricing-features li i.fa-gift {
  color: #f59e0b;
}


.btn-block {
  display: block;
  width: 100%;
  text-align: center;
}


.bergpro-active-badge {
  color: var(--up);
  font-weight: 600;
  font-size: 0.88rem;
  padding: 0.6rem;
  background: rgba(16, 185, 129, 0.08);
  border-radius: 8px;
}


/* FAQ */
.bergpro-faq-item {
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}


.bergpro-faq-item:last-child {
  border-bottom: none;
}


.bergpro-faq-item h4 {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.35rem;
}


.bergpro-faq-item p {
  font-size: 0.85rem;
  color: var(--ink2);
  line-height: 1.55;
  margin: 0;
}

/* Eski dugme adlari -> yeni temanin gorunumu (taban .btn tema.css'te; ustune yazmiyoruz) */
.btn-primary{background:linear-gradient(180deg,var(--acc2),var(--acc));color:#fff;
  border-color:transparent;box-shadow:0 2px 6px rgba(0,0,0,.16)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.22)}
.btn-outline,.btn-secondary{border-color:var(--line2);color:var(--ink);background:var(--panel)}
.btn-outline:hover,.btn-secondary:hover{border-color:var(--acc-line);color:var(--acc2)}
.btn-sm{font-size:13px;padding:8px 14px}
.btn-block{display:flex;width:100%}
.btn-danger{background:var(--down);color:#fff;border-color:transparent}


/* ── 6e. YONETICI EKRANI BILESENLERI ─────────────────────────────────────
   Admin gorunumleri de kendi <style> blogunu tasimiyordu. Kullandiklari
   siniflar style.css'ten alinip tokenlere baglandi. */
.action-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
}
.action-badge.buy {
  background: color-mix(in srgb,var(--up) 14%,transparent);
  color: var(--up);
}
.action-badge.sell {
  background: color-mix(in srgb,var(--down) 14%,transparent);
  color: var(--down);
}
.action-badge.tp {
  background: rgba(99, 179, 237, 0.12);
  color: #3b82f6;
}
.action-badge.sl {
  background: color-mix(in srgb,var(--down) 14%,transparent);
  color: var(--down);
}
/* 04.10.2026 (AP-003/1): style.css'te (max-width:640px) icindeydi (style.css:2206); 11.09 donusumunde
   (bb868ce) sarmalayici dustu — masaustunde de tablo kendi icinde kayiyor, basligin yapiskanligi
   kapaniyordu. Yerinde geri sarmalandi, kural sirasi ayni. */
@media (max-width:640px){
  /* Horizontal scroll wrapper — portrait mobile */
  .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* Mobilde vertical-sticky header, overflow-x:auto ile çalışmaz — devre dışı bırak */
  .table-responsive .activity-table th {
    position: static;
    box-shadow: none;
    border-bottom: 2px solid var(--line);
  }
}
/* ========== Admin Dashboard ========== */
.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
/* 30.09.2026: style.css'te (max-width:768px) icindeydi; 11.09 donusumunde (bb868ce) sarmalayici
   dustu ve masaustunde de 2 sutun oldu. 1fr -> minmax(0,1fr): 375px'de kart icerigi tasiyordu. */
@media (max-width:768px){
  .admin-stats-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
.admin-stat-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.admin-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}
.admin-stat-content {
  display: flex;
  flex-direction: column;
}
.admin-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}
.admin-stat-label {
  font-size: 0.82rem;
  color: var(--ink3);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 2px;
}
/* Admin Settings */
.admin-setting-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.admin-setting-row:last-child {
  border-bottom: none;
}
/* 30.09.2026: 320px'de etiket + 180px giris kutusu yan yana sigmiyordu (/admin/user/{id}). */
@media (max-width:480px){
  .admin-setting-row{flex-wrap:wrap}
  .admin-setting-input{flex:1 1 100%;min-width:0}
  .admin-setting-input > *{width:100%;max-width:100%}
}
.admin-setting-info {
  flex: 1;
}
.admin-setting-info label {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ink);
  display: block;
  margin-bottom: 0.2rem;
}
.admin-setting-info p {
  font-size: 0.82rem;
  color: var(--ink3);
  margin: 0;
}
.admin-setting-input {
  flex-shrink: 0;
}
.form-input {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  font-size: 0.92rem;
  color: var(--ink);
  width: 120px;
  font-family: "JetBrains Mono",monospace;
  transition: border-color 180ms cubic-bezier(.2,.6,.3,1);
}
.form-input:focus {
  outline: none;
  border-color: var(--acc);
}
/* ========== Admin User Management ========== */
.user-status-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
}
.user-status-active {
  color: var(--up);
  background: color-mix(in srgb,var(--up) 14%,transparent);
}
.user-status-inactive {
  color: var(--down);
  background: color-mix(in srgb,var(--down) 14%,transparent);
}
/* 04.10.2026 (AP-003/1): asagidaki uc grubun @media sarmalayicisi 11.09 donusumunde (bb868ce) dustu;
   telefon icin yazilmis kurallar masaustunde de gecerliydi (8px tablo rozetleri, 2 sutun istatistik,
   kapanan yapiskan basliklar). Asil sorgular style.css'ten: 4657 · 4787 · 5105 · 5115. Yerinde geri
   sarmalandi, kural sirasi ayni. 1fr -> minmax(0,1fr): dar ekranda kart icerigi tasiyordu. */
@media (max-width:768px){
    .admin-stats-grid[style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (orientation:landscape) and (max-height:500px){
  /* Landscape phone tablo yatay scroll (768px breakpoint'i kapsamıyor) */
  .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* overflow:auto içinde vertical-sticky çalışmaz — devre dışı bırak */
  .table-responsive .activity-table th {
    position: static;
    box-shadow: none;
    border-bottom: 2px solid var(--line);
  }
}
@media (min-width:641px) and (max-width:960px){
  .table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-responsive .activity-table th { position: static; box-shadow: none; border-bottom: 2px solid var(--line); }
}
@media (max-width:640px){
  #firsat-table .action-badge, #rec-table .action-badge, #lucky-table .action-badge,
  #op-table .action-badge, #dead-table .action-badge { min-width: 0 !important; font-size: 0.58rem !important; padding: 2px 5px !important; }
  .stocks-table .badge, .stocks-table img, .stocks-table i.fas { display: none !important; }
}

/* JS'in calisma aninda urettigi birkac <i class="fas ..."> kaldi (ikon adi
   tarayicida hesaplaniyor). Font Awesome yuklenmedigi icin bos kutu olurlardi;
   notr bir nokta basiyoruz ki duzen bozulmasin. */
i[class^="fas "],i[class^="far "],i[class^="fab "]{display:inline-block;width:1em;height:1em;
  vertical-align:-.12em;position:relative}
i[class^="fas "]::before,i[class^="far "]::before,i[class^="fab "]::before{
  content:"";position:absolute;inset:28%;border-radius:50%;background:currentColor;opacity:.6}

/* ── 6f. DEVRALINAN SAYFA BILESENLERI (2. tur) ───────────────────────────
   Ilk aktarim elle secilmis bir sayfa listesi uzerinden calismisti; hisse
   detayi, analiz, kokpit, istatistik ve takip listesi listede yoktu ve 92
   sinif stilsiz kaldi. Bu blok o boslugu kapatir — kaynak yine style.css,
   degiskenler yeni tokenlere baglandi. */


.user-menu-dropdown.show {
  display: block;
}


/* ---------- Sayfa Pagination (Ana sayfa tabloları) ---------- */
.sb-pager-wrap {
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: center;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}


.sb-pager-wrap:empty {
  display: none;
}


.sb-pager {
  display: flex;
  align-items: center;
  gap: 4px;
}


.sb-pg {
  min-width: 32px;
  height: 32px;
  padding: 0 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink2);
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


.sb-pg:hover:not(.disabled):not(.active) {
  background: var(--acc-dim);
  color: var(--ink);
  border-color: var(--acc);
}


.sb-pg.active {
  background: var(--acc);
  color: #fff;
  border-color: var(--acc);
  cursor: default;
}


.sb-pg.disabled {
  opacity: 0.35;
  cursor: not-allowed;
}


/* ─── Hisseler Sayfası Kompakt Stats Bar ─────────────────── */
.stocks-stats-bar {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  margin-bottom: 0.75rem;
  padding: 0 1rem;
}

.stocks-stats-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 52px;
}

.stocks-stats-items {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}

.stocks-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 1rem;
}

.stocks-stat-num {
  font-size: 1.05rem;
  font-weight: 800;
  font-family: "JetBrains Mono",monospace;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.stocks-stat-suffix {
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--ink3);
}

.stocks-stat-lbl {
  font-size: 0.58rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ink3);
  white-space: nowrap;
  margin-top: 1px;
}

.stocks-stat-sep {
  width: 1px;
  height: 28px;
  background: var(--line);
  opacity: 0.5;
  flex-shrink: 0;
}

/* Grup sonu ayırıcı — daha belirgin */
.stocks-stat-sep-group {
  width: 2px;
  height: 32px;
  background: var(--line);
  opacity: 0.85;
}

/* Bölüm etiketi (Anlık / Başarı / Kalite / Sinyal) */
.stocks-stat-section-lbl {
  padding: 0 0.55rem !important;
  justify-content: center;
  align-self: center;
}

.stocks-stat-section {
  display: inline-block;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  white-space: nowrap;
  background: var(--acc);
  padding: 0.22rem 0.48rem;
  border-radius: 4px;
  line-height: 1.3;
}

/* ── Kompakt istatistik barı (istatistikler sayfası) ── */
.stats-bar-compact .stocks-stat-item { padding: 0.35rem 0.6rem; }

.stats-bar-compact .stocks-stat-num  { font-size: 0.92rem; }

.stats-bar-compact .stocks-stat-lbl  { font-size: 0.55rem; }

.stats-bar-compact .stocks-stat-sep  { height: 24px; }

.stats-bar-compact .stocks-stat-sep-group { height: 28px; }


/* ── Stats sticky wrapper: Anlık + Stratejiler bars stick together below header ── */
.stats-sticky-wrap {
  position: sticky;
  top: var(--nav-h);
  z-index: 101; /* header (100)'ın üstünde: tooltip'lerin header arkasına gizlenmesini önler */
  background: var(--bg);
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}


/* ── Strateji barı (2. satır) ── */
.stats-bar-strategies {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  margin-bottom: 1rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.stats-bar-strategies::-webkit-scrollbar { display: none; }

.stats-bar-strategies-inner {
  display: flex;
  align-items: stretch;
  padding: 0.3rem 0;
  min-width: max-content;
}

.stats-strategy-group {
  display: flex;
  align-items: center;
}

.stats-strategy-lbl {
  display: flex;
  align-items: center;
  padding: 0 0.55rem;
}

.stats-strategy-chip {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
  padding: 0.22rem 0.5rem;
  border-radius: 4px;
  line-height: 1.3;
  white-space: nowrap;
}

.stats-strategy-chip-alpha  { background: #3b82f6; }

.stats-strategy-chip-macd   { background: #6366f1; }

.stats-strategy-chip-macdO  { background: #8b5cf6; }

.stats-strategy-sep-group { width: 2px; height: 28px; background: var(--line); opacity: 0.85; flex-shrink: 0; }
@media (max-width: 768px) {
  .stocks-stat-item { padding: 0.4rem 0.6rem; }
  .stocks-stat-num  { font-size: 0.88rem; }
  .stocks-stats-link { font-size: 0.7rem; padding: 0.25rem 0.55rem; }
}
@media (max-width: 540px) {
  .stocks-stats-bar { overflow-x: auto; }
  .stocks-stats-inner { flex-wrap: nowrap; gap: 0; }
  .stocks-stats-items { flex-wrap: nowrap; }
}

.signal-live-toast.show {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.lot-mini-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


.watchlist-quota-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


/* Info tooltip system */
.perf-info-wrap {
  position: relative;
  display: inline-flex;
  cursor: help;
}


.perf-info-icon {
  font-size: 0.7rem;
  color: var(--ink3);
  opacity: 0.6;
  transition: 180ms cubic-bezier(.2,.6,.3,1);
}


.perf-info-wrap:hover .perf-info-icon {
  opacity: 1;
  color: var(--acc);
}


.perf-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--panel);
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  border: 1px solid var(--line);
  box-shadow: 0 12px 32px rgba(0,0,0,.3);
  white-space: nowrap;
  z-index: 9999; /* header (100) + stats-sticky-wrap (101) üzerinde */
  font-family: "Plus Jakarta Sans",sans-serif;
  pointer-events: none;
}


/* Left-aligned tooltip for last stat (prevents overflow) */
.perf-tooltip-left {
  left: auto;
  right: 0;
  transform: none;
}

/* 12.09: EKSIK KURAL TAMAMLANDI. .perf-tooltip-down sinifi header.php'de zaten
   kullaniliyor (satir 454/468/479/490/511) ama ana kurali eski style.css'te kalmis,
   tema.css'e yalniz asagidaki "-left" birlesimi tasinmisti. Kural olmadigi icin bu
   tooltip'ler yeni temada YUKARI aciliyor ve /istatistikler'de header alanina
   giriyordu. ⚠️ Ok rengi var(--line): tema.css'te --border-color TANIMLI DEGIL. */
.perf-tooltip-down {
  bottom: auto;
  top: calc(100% + 10px);
}
.perf-tooltip-down::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: var(--line);
}
/* Sol hizalı + aşağı açılan: ok sağda alt kenarda */
.perf-tooltip-left.perf-tooltip-down::after {
  left: auto;
  right: 8px;
}


.perf-info-wrap:hover .perf-tooltip {
  display: block;
}


/* Tooltip arrow */
.perf-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--line);
}


.perf-tooltip-left::after {
  left: auto;
  right: 8px;
  transform: none;
}


/* Tooltip içi tablo (RR Ratio, PF gibi kalite aralığı tabloları için) */
.perf-tooltip-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.72rem;
}

.perf-tooltip-table th {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--ink3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0 0.4rem 0.4rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
}

.perf-tooltip-table td {
  padding: 0.28rem 0.4rem;
  color: var(--ink2);
  white-space: nowrap;
}

.perf-tooltip-table td:first-child {
  font-family: "JetBrains Mono",monospace;
  font-weight: 600;
  color: var(--ink);
  padding-right: 0.9rem;
}

.perf-tooltip-table tr:not(:last-child) td {
  border-bottom: 1px solid var(--line);
  opacity: 0.85;
}

.perf-tooltip-table tr:last-child td {
  padding-top: 0.35rem;
}
@media (max-width: 640px) {
  .perf-bar { padding: 0 0.75rem; }
  .perf-bar-inner {
    flex-wrap: wrap;
    height: auto;
    padding: 0.4rem 0;
    gap: 0.4rem;
    justify-content: center;
  }
  .perf-bar-shimmer, .perf-bar-left { display: none; }
  .perf-bar-right { gap: 0.4rem; }
  .perf-filter { padding: 0.15rem 0.4rem; font-size: 0.6rem; }
  .perf-stat { padding: 0 0.4rem; }
  .perf-stat-num { font-size: 0.85rem; }
  .perf-stat-pct { font-size: 0.55rem; }
  .perf-stat-suffix { font-size: 0.62rem; } /* 26.07: 7px okunmuyordu */
  .perf-stat-values { gap: 2px; }
  .perf-stat-label { font-size: 0.62rem; }
  .perf-stat-divider { height: 22px; }
  .perf-info-wrap { display: none; }
  .perf-stat-win::before, .perf-stat-loss::before { display: none; }
}
@media (max-width: 640px) {
  /* Separator gizle */
  .toolbar-sep { display: none; }

  /* Stats satırı mobil: summary tam genişliğe al, Excel alt satıra wrap et */
  .stocks-toolbar-stats {
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    align-items: center;
  }
  /* Summary grup: tam genişlik, flex-wrap ile taşma önlenir */
  .stocks-summary-group {
    flex: 0 0 100%;
    flex-wrap: wrap;
    gap: 0.25rem 0.65rem;
    align-items: center;
  }
  /* Dikey separator'lar wrap düzeninde anlamsız — gizle */
  .stocks-summary-group > div:nth-child(2),
  .stocks-summary-group > div:nth-child(4) { display: none !important; }

  /* Excel butonu sağ kenara yasla */
  .stocks-toolbar-stats > a {
    margin-left: auto;
  }

  /* Kısa etiket devreye gir */
  .st-desktop { display: none; }
  .st-mobile  { display: inline; }

  /* ── Hisseler tablosu: portrait'te yatay scroll — sütunlar gizlenmez ── */
  /* overflow-x:auto ile tüm sütunlar erişilebilir; # sütunu gizle (değersiz) */
  .stocks-table th:nth-child(2), .stocks-table td:nth-child(2) { display: none; }
  .stocks-table { min-width: 620px; }

  /* Stats sticky bars: portrait'te scroll ile gitsin, içerik altına girmesin */
  .stats-sticky-wrap {
    position: relative;
    top: auto;
    padding-bottom: 0;
  }
}
@media (max-width: 640px) {
  /* Hisseler toolbar: Hisseler + badge kısmı wrap olunca tam satır kapsın */
  .stocks-stats-bar {
    padding: 0;
  }
}


/* ─── Sinyal Yorumu — Ana Düzen (Web: yan yana | Mobil: dikey) ──── */
.sd-td-main-row {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-bottom: 1rem;
}


/* Sol: gauge üstte, güven skoru altında — dikey flex */
.sd-td-gauge-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  flex-shrink: 0;
}


/* Sağ: label seçici — kalan alanı kapla */
.sd-td-labels-col {
  flex: 1;
  min-width: 0;
}
@media (max-width: 640px) {
  .sd-td-main-row {
    flex-direction: column-reverse;
    gap: 0.75rem;
  }
  .sd-td-labels-col { width: 100%; }
  .sd-label-selector { gap: 0.3rem !important; }
  .sd-label-item { flex: 0.35 !important; min-width: 0; }
  .sd-label-item--active { flex: 0.9 !important; }
}


/* ═══════════════════════════════════════════════════
   İşlem Karar Motoru — sd-decision-engine
   ═══════════════════════════════════════════════════ */
.sd-decision-engine { margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid var(--line); }

.sde-header { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ink3); margin-bottom: 0.3rem; }

.sde-commentary { font-size: 0.79rem; color: var(--ink2); line-height: 1.5; margin-bottom: 0.65rem; }


/* Kart Grid */
.sde-section { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.35rem; margin-bottom: 0.55rem; }

.sde-section-title { grid-column: 1/-1; font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ink3); margin-bottom: 0.05rem; margin-top: 0.15rem; }

.sde-card { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 0.42rem 0.55rem; }

.sde-card-label { font-size: 0.68rem; color: var(--ink3); margin-bottom: 0.12rem; display: flex; align-items: center; gap: 0.2rem; line-height: 1.3; }

.sde-card-val { font-size: 0.9rem; font-weight: 700; color: var(--ink); line-height: 1.2; }

.sde-card-val--green { color: #059669; }

.sde-card-val--red   { color: #dc2626; }


/* Meta */
.sde-meta { margin-top: 0.4rem; font-size: 0.67rem; color: var(--ink3); font-style: italic; }

.analytics-section { margin-bottom: 1.5rem; }
@media (max-width: 768px) {
  .sd-td-card { overflow: hidden; max-width: 100%; width: 100%; box-sizing: border-box; }
}
@media (max-width: 900px) {
  .sd-td-card > div[style*="display:table"] { display: block !important; width: 100% !important; }
  .sd-td-card > div[style*="display:table"] > div[style*="table-cell"] {
    display: block !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0.75rem;
  }
  .sd-td-card > div[style*="display:table"] > div[style*="table-cell"]:first-child {
    margin-top: 0;
  }
}
@media (max-width: 640px) {
  .sd-sector-link {
    display: inline-flex !important;
    margin-left: 0 !important;
    margin-top: 0.35rem;
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }
}
@media (max-width: 768px) {
  /* Header card: yan yana seksiyon için dik hizalama */
  .stock-hdr-body {
    align-items: flex-start !important;
  }
  /* Sol div tam genişlik alır, overflow-x:auto'nun çalışması için */
  .stock-hdr-body > div:first-child {
    width: 100%;
    min-width: 0;
    flex-basis: 100% !important;
  }

  /* Firma adı: uzun isimlerde kelime kırma */
  .sd-stock-name {
    word-break: break-word;
    overflow-wrap: break-word;
  }

  /* Card padding: mobilde biraz küçült */
  .content-area .card-header {
    padding: 0.85rem 1rem;
  }
  .content-area .card-body {
    padding: 1rem;
  }

  /* Performans grid: 2 sütun sabitle */
  .sd-perf-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }

  /* Performans kart değerleri: küçük font, uzun metin kaymasın */
  .sd-perf-grid > div > div:first-child {
    font-size: 1.15rem !important;
    word-break: break-word;
    overflow-wrap: break-word;
    line-height: 1.2;
  }

  /* Performans kart iç padding küçült */
  .sd-perf-grid > div {
    padding: 0.75rem !important;
  }
}
@media (max-width: 480px) {
  /* Çok dar ekranlarda değer fontu biraz daha küçük */
  .sd-perf-grid > div > div:first-child {
    font-size: 1rem !important;
  }

  /* Sektör chip: mobilde blok gibi davransın */
  .sd-stock-name span[style*="inline-flex"] {
    display: flex !important;
    margin-left: 0 !important;
    margin-top: 0.35rem;
  }
}
@media (orientation: landscape) and (max-height: 500px) {
  /* En Çok Kazandıran/Kaybettiren barı — gizle, dikey alan aç */
  .stock-bar { display: none; }
  :root { --stock-bar-height: 0px; }

  /* İstatistikler: Anlık+Stratejiler sticky → scroll ile gitsin */
  .stats-sticky-wrap {
    position: relative;
    top: auto;
    z-index: auto;
    background: transparent;
    padding-bottom: 0;
  }

  /* Landscape phone tablo yatay scroll (768px breakpoint'i kapsamıyor) */
  .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* overflow:auto içinde vertical-sticky çalışmaz — devre dışı bırak */
  .table-responsive .activity-table th {
    position: static;
    box-shadow: none;
    border-bottom: 2px solid var(--line);
  }

  /* İstatistikler Anlık/Başarı/Kalite/Sinyal barı — portrait'te 540px breakpoint çalışıyor
     ama landscape'de genişlik 667–932px olduğu için o kural geçmiyor → burada tekrar ekle */
  .stocks-stats-bar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0;
  }
}


/* ── Trade Decision Badge ───────────────────────── */
.td-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 1px 8px;
  border-radius: 10px;
  white-space: nowrap;
  cursor: default;
}


/* Karar Motoru — 1-5 Hassas Puan UI */
.td-score-stars {
  display: inline-flex; align-items: center; gap: 0.15rem;
  font-size: 0.85rem;
}

.td-score-stars i.fa-star { color: #f59e0b; }

.td-score-stars i.fa-star.empty { color: rgba(245,158,11,.25); }

.td-score-stars i.fa-star.half { color: #f59e0b; opacity: 0.7; }

.td-score-value {
  font-size: 1.05rem; font-weight: 700;
  color: var(--acc);
}

.td-score-value-suffix {
  font-size: 0.72rem; color: var(--ink3);
  font-weight: 400; margin-left: 2px;
}


/* Breakdown listesi (hisse detay) */
.td-score-breakdown {
  display: flex; flex-direction: column; gap: 0.32rem;
  margin-top: 0.6rem; padding: 0.6rem 0.75rem;
  background: var(--bg2); border-radius: 6px;
  border-left: 3px solid var(--acc);
}

.td-score-breakdown-row .icon {
  flex-shrink: 0; font-size: 0.78rem;
}

.td-score-breakdown-row.eligibility .text { color: var(--ink); font-weight: 600; }


/* ═══════════════════════════════════════════════════════
   v10 — Manuel Atama Kontrolü (Analiz sayfası)
   Net Eksiklikler ve Çözüm Önerileri için A/B/C/D blokları
   ═══════════════════════════════════════════════════════ */
.maa-card { border-left: 3px solid #6366f1; }

.maa-block {
  margin-top: 1.1rem;
  padding-top: 0.95rem;
  border-top: 1px dashed var(--line);
}

.maa-block:first-of-type {
  margin-top: 0.2rem;
  padding-top: 0;
  border-top: none;
}

.maa-block-header {
  display: flex; align-items: center; gap: 0.5rem;
  margin-bottom: 0.45rem;
  font-size: 0.86rem;
  flex-wrap: wrap;
}

.maa-block-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px;
  background: #6366f1; color: #fff;
  border-radius: 50%; font-weight: 700; font-size: 0.72rem;
  font-family: "JetBrains Mono",monospace;
}

.maa-block-meta {
  font-size: 0.7rem; color: var(--ink3);
  font-style: italic;
}

.maa-block-desc {
  font-size: 0.76rem; line-height: 1.55;
  color: var(--ink2);
  margin-bottom: 0.65rem;
  padding: 0.5rem 0.7rem;
  background: rgba(99,102,241,0.04);
  border-radius: 5px;
}

.maa-table { width: 100%; font-size: 0.78rem; }

.maa-table--compact th,
.maa-table--compact td { padding: 0.32rem 0.45rem; }

.maa-table th { font-weight: 600; }
@media (max-width: 640px) {
  .maa-block-header { font-size: 0.8rem; }
  .maa-table { font-size: 0.72rem; }
  .maa-scorecard-grid { grid-template-columns: 1fr; }
}

.sy-bucket-bar-fill.sde-card-val--green { background: #16a34a; }

.sy-bucket-bar-fill.sde-card-val--red   { background: #dc2626; }
@media (max-width: 768px) {
  /* Istatistikler Row-1 bari 541-768 araliginda tasiyordu (kural yalniz max-540'taydi) */
  .stats-bar-compact { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 640px) {
  /* Header 390px'e sigsin: kullanici-adi kirpilir, rozet gizlenir
     (rozet kullanici menusunun icinde zaten tekrar var).
     30.08 (kullanici): logo 22px cok kucuktu -> 36px; header-inner nefes payi. */
  .logo-img { height: 36px; }
  /* 30.08 (kullanıcı: hamburger menü kayboldu) — 5:1 logo 36px'te ~180px yer kaplar;
     taban gap 2rem + 1.5rem yan padding ile satır 390px ekranı aşıyor, en sağdaki
     hamburger dışarı itilip kırpılıyordu. Boşluklar daraltılır, aşağıda mob-quick
     sıkışınca KENDİ İÇİNDE kayar — menü düğmesi her genişlikte görünür kalır. */
  .header-inner { padding: 0.45rem 0.6rem; gap: 0.6rem; }
  .header-actions { flex: 1 1 auto; min-width: 0; }
  .mobile-menu-toggle, #sb-usk-btn { flex-shrink: 0; }
  .header-actions { gap: 0.4rem; }
  .user-menu-trigger { padding: 0.35rem 0.5rem; }
  .user-menu-trigger > span:first-child { max-width: 26vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .user-menu-trigger .premium-badge { display: none; }
  /* Izleme listesi tablosu kart icinde kayabilsin (kirpilip erisilemez oluyordu) */
  .watchlist-stock-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  /* Sag-kolon ve kart-baslik tooltipleri viewport disina tasiyordu -> sola-ice acil */
  .pnl-tooltip[data-anchor="right"] { left: auto !important; right: 0 !important; }
  .pnl-tooltip[data-anchor="right"]::after { left: auto !important; right: 12px !important; margin-left: 0 !important; }
  .content-area .card-header .pnl-tooltip { left: auto !important; right: 0 !important; }
  .content-area .card-header .pnl-tooltip::after { left: auto !important; right: 16px !important; margin-left: 0 !important; }
  /* Hisse-detay cascade tablosu: fixed-layout 390px'te ezilmesin, wrapper'da kaysin */
  #sdCascadeTable { min-width: 560px; }
  /* iOS: 16px alti input odaklaninca sayfayi zoom'lar */
  .lot-input { font-size: 16px; }
  .footer-inner { flex-wrap: wrap; gap: 0.25rem 0.75rem; }
  /* Karar Motoru baslik satiri (admin): pending metni alt satira insin */
  #admin-score-card .card-body > div:first-child { flex-wrap: wrap; }
  #admin-stat-pending { margin-left: 0; flex-basis: 100%; }
  /* Hisse-detay performans seridi: nowrap etiketler komsu kutuya tasiyordu */
  #sdSignalBergPerformansi div[style*="white-space:nowrap"] { white-space: normal !important; }
  /* 26.07 mobil header (kullanici istegi): yalniz logo + Kripto + Kokpit + menu + buyutec gorunsun */
  /* 30.08 (kullanıcı: hamburger kayıp) — nowrap pil grubu küçülemiyordu; artık dar
     ekranda kendi içinde yatay kayar (görünmez scrollbar), hamburger'i itemez. */
  .mob-quick { display: inline-flex; gap: 0.4rem; flex: 1 1 auto; justify-content: flex-start;
    min-width: 0; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .mob-quick::-webkit-scrollbar { display: none; }
  .mob-quick a { display: inline-flex; align-items: center; gap: 5px; padding: 0.36rem 0.7rem;
    border: 1px solid var(--line); border-radius: 999px; font-size: 0.74rem; font-weight: 700;
    color: var(--ink2); text-decoration: none; background: var(--bg2); white-space: nowrap; }
  .mob-quick a i { font-size: 0.76rem; }
  .header-star-btn, .header-theme-toggle, .user-menu { display: none !important; }
  /* 30.08 (kullanici): Usk mini-butonu mobilde GORUNUR (buyutec kaldirildi, yerine) */
  #sb-usk-btn { display: inline-flex !important; }
  .logo, .logo-img { flex-shrink: 0; }

  /* ── 26.07 MOBILE-UX v2 (kullanici paketi) ── */
  /* ANASAYFA karar tablolari: yalniz Sembol + Karar + Strateji + Sinyal Fiyati */
  #firsat-table th:nth-child(2), #firsat-table td:nth-child(2), #firsat-table th:nth-child(3), #firsat-table td:nth-child(3), #firsat-table th:nth-child(n+6), #firsat-table td:nth-child(n+6),
  #rec-table th:nth-child(2), #rec-table td:nth-child(2), #rec-table th:nth-child(3), #rec-table td:nth-child(3), #rec-table th:nth-child(n+6), #rec-table td:nth-child(n+6),
  #lucky-table th:nth-child(2), #lucky-table td:nth-child(2), #lucky-table th:nth-child(3), #lucky-table td:nth-child(3), #lucky-table th:nth-child(n+6), #lucky-table td:nth-child(n+6),
  #op-table th:nth-child(2), #op-table td:nth-child(2), #op-table th:nth-child(3), #op-table td:nth-child(3), #op-table th:nth-child(n+6), #op-table td:nth-child(n+6),
  #dead-table th:nth-child(2), #dead-table td:nth-child(2), #dead-table th:nth-child(3), #dead-table td:nth-child(3), #dead-table th:nth-child(n+6), #dead-table td:nth-child(n+6) { display: none; }
  /* 26.07: elle cekistirme bitsin — 520px zorlamasi iptal, kalan 4 kolon tek ekrana sigar
     26.07 gece: punto kucultuldu + fixed-layout (yatay oynama kalmasin) */
  #firsat-table, #rec-table, #lucky-table, #op-table, #dead-table { min-width: 0 !important; width: 100% !important; table-layout: fixed; font-size: 0.66rem !important; }
  /* sembol puntosu + POZISYON ACILDI / Emir Iletildi rozetleri kompakt (kod yaninda kucucuk) */
  #firsat-table td:first-child a > div:first-child, #rec-table td:first-child a > div:first-child,
  #lucky-table td:first-child a > div:first-child, #op-table td:first-child a > div:first-child,
  #dead-table td:first-child a > div:first-child { font-size: 0.78rem !important; }
  .kk-pos-opened, .kk-in-flight, .kk-terminal-retry, .kk-price-cap, .kk-restricted-blocked,
  .kk-tedbir-var, .kk-pos-open, .kk-no-pos-info {
    font-size: 0.5rem !important; padding: 1px 5px !important; letter-spacing: 0 !important;
    margin-top: 0 !important; margin-left: 4px !important; border-radius: 6px !important;
    white-space: nowrap; display: inline-block !important; vertical-align: middle; }
  /* 26.07 gece-9: hisse-haberleri kart basi — kompakt; tarih "Tamamini Oku"nun hemen yaninda */
  .hh-card-head { gap: 0.4rem; padding: 0.5rem 0.7rem; }
  .hh-sym { font-size: 0.78rem; }
  .hh-card-head .hh-pill { font-size: 0.6rem !important; padding: 0.12rem 0.5rem !important; }
  .hh-oku-btn { font-size: 0.58rem; }
  .hh-oku-btn .hh-dsk { display: none !important; }
  .hh-oku-btn .hh-mob { display: inline !important; }
  .hh-card-head .hh-son { margin-left: 0 !important; font-size: 0.56rem; }
  /* 26.07 gece-4/6: anasayfada info balonlari + (i) ikonlari mobilde gizli; baslik METNI kalir
     (onceki surum trigger'i komple gizleyip "Sinyal Fiyati" basligini da yutmustu — KOK-FIX) */
  .is-home .pnl-tooltip, .is-home .pnl-tooltip-trigger i { display: none !important; }
  .is-home .pnl-tooltip-trigger { pointer-events: none; cursor: default !important; }
  /* 26.07 gece-4: strateji+fiyat EN SAGA yaslanir, aralari minimum — sembol+rozete solda genis yer */
  #firsat-table th:first-child, #firsat-table td:first-child, #rec-table th:first-child, #rec-table td:first-child,
  #lucky-table th:first-child, #lucky-table td:first-child, #op-table th:first-child, #op-table td:first-child,
  #dead-table th:first-child, #dead-table td:first-child { width: 46%; }
  #firsat-table th:nth-child(4), #firsat-table td:nth-child(4), #rec-table th:nth-child(4), #rec-table td:nth-child(4),
  #lucky-table th:nth-child(4), #lucky-table td:nth-child(4), #op-table th:nth-child(4), #op-table td:nth-child(4),
  #dead-table th:nth-child(4), #dead-table td:nth-child(4) { text-align: left; width: 32%; padding-right: 0.15rem !important; }
  #firsat-table th:nth-child(5), #firsat-table td:nth-child(5), #rec-table th:nth-child(5), #rec-table td:nth-child(5),
  #lucky-table th:nth-child(5), #lucky-table td:nth-child(5), #op-table th:nth-child(5), #op-table td:nth-child(5),
  #dead-table th:nth-child(5), #dead-table td:nth-child(5) { text-align: right; width: 20%; padding-left: 0.1rem !important; }
  /* "Sinyal Fiyati" basligi mobilde sadece "Fiyat" */
  #firsat-table th:nth-child(5), #rec-table th:nth-child(5), #lucky-table th:nth-child(5),
  #op-table th:nth-child(5), #dead-table th:nth-child(5) { font-size: 0 !important; }
  #firsat-table th:nth-child(5)::before, #rec-table th:nth-child(5)::before, #lucky-table th:nth-child(5)::before,
  #op-table th:nth-child(5)::before, #dead-table th:nth-child(5)::before { content: "Fiyat"; font-size: 0.66rem; }
  /* "Sembol / Hisse" basligi mobilde sadece "Hisse" */
  #firsat-table th:first-child, #rec-table th:first-child, #lucky-table th:first-child,
  #op-table th:first-child, #dead-table th:first-child { font-size: 0 !important; min-width: 0 !important; }
  #firsat-table th:first-child::before, #rec-table th:first-child::before, #lucky-table th:first-child::before,
  #op-table th:first-child::before, #dead-table th:first-child::before { content: "Hisse"; font-size: 0.66rem; }
  /* 26.07 gece-3: rozet sembolun ALTINDA degil SAGINDA dursun — link inline'a alinir */
  #firsat-table td:first-child a, #rec-table td:first-child a, #lucky-table td:first-child a,
  #op-table td:first-child a, #dead-table td:first-child a { display: inline !important; }
  #firsat-table td:first-child a > div:first-child, #rec-table td:first-child a > div:first-child,
  #lucky-table td:first-child a > div:first-child, #op-table td:first-child a > div:first-child,
  #dead-table td:first-child a > div:first-child { display: inline !important; vertical-align: middle; }
  #firsat-table .wl-btn, #rec-table .wl-btn, #lucky-table .wl-btn, #op-table .wl-btn, #dead-table .wl-btn { display: none !important; }
  #firsat-table .action-badge, #rec-table .action-badge, #lucky-table .action-badge,
  #op-table .action-badge, #dead-table .action-badge { min-width: 0 !important; font-size: 0.58rem !important; padding: 2px 5px !important; }
  #firsat-table td:nth-child(3) > div, #rec-table td:nth-child(3) > div, #lucky-table td:nth-child(3) > div,
  #op-table td:nth-child(3) > div, #dead-table td:nth-child(3) > div { display: none !important; }
  #firsat-table th, #firsat-table td, #rec-table th, #rec-table td, #lucky-table th, #lucky-table td,
  #op-table th, #op-table td, #dead-table th, #dead-table td { padding: 0.4rem 0.3rem !important; white-space: normal !important; }
  #firsat-table td:first-child, #rec-table td:first-child, #lucky-table td:first-child,
  #op-table td:first-child, #dead-table td:first-child { min-width: 0 !important; max-width: none !important; }
  /* hisse ADI mobilde gizli (kullanici istegi) — sembol yeter */
  #firsat-table td:first-child a > div:nth-child(2), #rec-table td:first-child a > div:nth-child(2),
  #lucky-table td:first-child a > div:nth-child(2), #op-table td:first-child a > div:nth-child(2),
  #dead-table td:first-child a > div:nth-child(2) { display: none; }
  /* HISSE DETAY: yalniz yorum+puan+haberler+acik/kapali pozisyonlar
     26.07 KOK-FIX: .card:has(#sdCascadeTable) kurali KALKTI — cascade tablosu, baslik+yorumun da
     icinde oldugu TEK buyuk kartin icinde; kural tum "ust tarafi" gizliyordu. */
  #sdMicroProfile, #sdProfilKirilimPerformansi, #sdTedbirKarari { display: none !important; }
  /* Kapanan pozlar (#sdPozlar): Poz# + AL/DeadZone rozeti + yildiz/skor + ikon kolonlari gizli —
     strateji basliginda yalniz "MACD TP-1 / MACD Oncu BUY" kalir; 6 kolon tek ekrana sigar */
  #sdPozlar th:nth-child(1), #sdPozlar td:nth-child(1),
  #sdPozlar th:nth-child(3), #sdPozlar td:nth-child(3),
  #sdPozlar th:nth-child(4), #sdPozlar td:nth-child(4) { display: none !important; }
  #sdPozlar { min-width: 0 !important; width: 100%; font-size: 0.68rem !important; }
  /* 26.07 gece-3: "Toplam Kar/Zarar" satirinin etiketi nth-child gizlemesine takilmasin */
  /* 26.07 gece-8: K/Z satiri SOLA yaslanan tek yatay blok — tablo hucre yapisindan cikar,
     % degeri artik sayfayi kaydirmaz (sagda asili kalma sorunu bitti) */
  #sdPozlar tr.sd-netrow { display: flex !important; align-items: center; gap: 6px; padding: 0.35rem 0.5rem; }
  #sdPozlar tr.sd-netrow td { display: block !important; padding: 0 !important; border: none !important;
    width: auto !important; max-width: none !important; }
  #sdPozlar tr.sd-netrow td:first-child { white-space: normal !important; font-size: 0 !important; text-align: left !important; }
  #sdPozlar tr.sd-netrow td:first-child::before { content: "K/Z:"; font-size: 0.74rem; font-weight: 700; }
  #sdPozlar tr.sd-netrow td:last-child { text-align: left !important; white-space: normal !important; font-size: 0.78rem !important; }
  /* acik pozlarda "Kalan: %100" mobilde yazilmaz; satis yoksa ozet satiri tumden gizli */
  #sdAcikTable .sd-kalan { display: none !important; }
  #sdAcikTable tr.sd-kalanonly { display: none !important; }
  #sdPozlar tr.sd-netrow .btn-add-to-pos { display: none !important; }
  /* admin kalem/cop ikonlari mobilde gizli (yapiyi bozuyordu) */
  #sdPozlar .btn-sig-edit, #sdPozlar .btn-sig-delete { display: none !important; }
  /* 26.07 gece-3: ACIK pozisyonlar da kapananla ayni sadelestirme (kullanici istegi) */
  #sdAcikTable th:nth-child(1), #sdAcikTable td:nth-child(1),
  #sdAcikTable th:nth-child(3), #sdAcikTable td:nth-child(3),
  #sdAcikTable th:nth-child(4), #sdAcikTable td:nth-child(4),
  #sdAcikTable th:nth-child(8), #sdAcikTable td:nth-child(8) { display: none !important; }
  #sdAcikTable { min-width: 0 !important; width: 100%; font-size: 0.68rem !important; }
  #sdAcikTable th, #sdAcikTable td { padding: 0.3rem 0.25rem !important; white-space: normal !important; max-width: none !important; }
  #sdAcikTable .btn-sig-edit, #sdAcikTable .btn-sig-delete, #sdAcikTable .btn-add-to-pos { display: none !important; }
  #sdAcikTable tr.sd-seprow td { display: table-cell !important; padding: 0 !important; height: 14px !important;
    border: none !important; border-bottom: 3px solid var(--line) !important; background: transparent !important; }
  /* "Kalan % - Gerceklesmis K/Z" ozet satiri gorunur kalsin (colspan hucre nth-child gizlemesine takilmasin) */
  #sdAcikTable tr.poz-summary-row td { display: flex !important; }
  /* kapanan pozisyon gruplari arasinda belirgin ayirac */
  #sdPozlar tr.sd-seprow td { display: table-cell !important; padding: 0 !important; height: 14px !important;
    border: none !important; border-bottom: 3px solid var(--line) !important; background: transparent !important; }
  #sdPozlar th, #sdPozlar td { padding: 0.3rem 0.25rem !important; white-space: normal !important; max-width: none !important; }
  /* pozisyon kartlari: varsayilan yalniz ISLEM satiri, karta tiklayinca detay acilir */
  .m-card-table tbody td[data-mlabel="Strateji"] { display: none !important; }
  /* KOKPIT sadelestirme */
  #kkHuniBlok, #kkHuniBlok ~ * { display: none !important; }
  /* Genel Ozet mobil: Portfoy-vs-BIST'ten SONRAKI her sey gizli (bos kutu, eligibility, toplam-buy, en iyi/kotu, kategori dagilimi...) */
  #kkPvbBlok ~ * { display: none !important; }
  /* 26.07 aksam: sekmeler ALT ALTA; sirala/filtre/Emirler-grubu/JSON/uzun-ad/strateji-grid mobilde YOK */
  .kk-tabs { flex-direction: column; gap: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
  .kk-tab { width: 100%; justify-content: flex-start; font-size: 0.8rem; padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--line); border-radius: 0; }
  .kk-tab:last-child { border-bottom: none; }
  .kk-sort-bar, .kk-filter, .kk-tab-group, .kk-json-btn, .kk-stock-name, .kk-strategy-grid { display: none !important; }
  /* acik-poz karti: yalniz Alinan/Kalan Lot + Cikislar + Guncel PnL (kullanici tarifi) */
  .kk-table--open tbody td:nth-child(1), .kk-table--open tbody td:nth-child(2),
  .kk-table--open tbody td:nth-child(3), .kk-table--open tbody td:nth-child(4),
  .kk-table--open tbody td:nth-child(5), .kk-table--open tbody td:nth-child(6),
  .kk-table--open tbody td:nth-child(8) { display: none !important; }
  /* 26.07 gece: Guncel PnL hucresi mobilde gizli — degeri grup basliginda "Toplam PnL" olarak zaten var */
  .kk-table--open tbody td:nth-child(10) { display: none !important; }
  .kkdt-tree-btn { display: none !important; }
  /* 26.07 KOK-FIX "bos kutu": ic tabloyu gizleyince disaridaki dolgulu td bos bant/kart olarak kaliyordu —
     artik TUM gerceklesen-cikislar satiri gizli */
  tr.kk-exits-row { display: none !important; }
  .kk-exits-real-t, .kk-exits-real-t + * { display: none !important; }
  /* 26.07 gece: PORTFOY FOTOGRAFI tek ekrana sigsin — 920px zorlamasi iptal; TP'ler+Maliyet kolonlari
     ve saat/strateji etiketi mobilde gizli; kalan 7 kolon kaydirmasiz okunur */
  .kk-snapshot table { min-width: 0 !important; width: 100% !important; table-layout: fixed; font-size: 0.54rem !important; }
  .kk-snapshot table th, .kk-snapshot table td { padding: 4px 3px !important; white-space: normal !important; word-break: break-word; }
  .kk-snapshot thead th:nth-child(5), .kk-snapshot tbody td:nth-child(5),
  .kk-snapshot thead th:nth-child(6), .kk-snapshot tbody td:nth-child(6) { display: none !important; }
  /* dip-toplam satiri mobilde gizli (colspan kaymasi olur; Toplam K/Z zaten basliktaki cipte) */
  .kk-snapshot tfoot { display: none !important; }
  .kk-snapshot .kps-time, .kk-snapshot .kps-strat { display: none !important; }
  /* 26.07 gece-9: tarih/Alinan tam sigsin; Kalan hafif saga; K/Z'ler genis */
  .kk-snapshot thead th:first-child { width: 12.5%; }
  .kk-snapshot thead th:nth-child(2) { width: 14%; }
  .kk-snapshot thead th:nth-child(3) { width: 9%; }
  .kk-snapshot thead th:nth-child(4) { width: 9%; }
  .kk-snapshot thead th:nth-child(7) { width: 17%; }
  .kk-snapshot thead th:nth-child(8) { width: 17%; }
  .kk-snapshot thead th:nth-child(9) { width: 20%; }
  .kk-snapshot thead th:nth-child(4), .kk-snapshot tbody td:nth-child(4) { padding-right: 6px !important; }
  .kk-pvb th:nth-child(5), .kk-pvb td:nth-child(5) { display: none; }
  /* Ort. Fiyat Farkı: 4'lu satir sigmiyordu -> 2x2 izgara (ALIM+TP ust, SL+SELL alt) */
  .kk-stat-slip-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 4px !important; }
  .kk-slip-cell { padding: 3px 4px; justify-content: center; }
  .kk-slip-val { font-size: 0.68rem; }
  .kk-stat--slip { min-width: 0; max-width: 100%; overflow: hidden; }
  /* Genel Ozet stat kartlari (Acik Poz K/Z vb.): deger tasmasin — sar, kucult, kart sinirinda kal */
  .kk-stat { min-width: 0 !important; max-width: 100% !important; overflow: hidden; }
  .kk-stat-value { font-size: 0.92rem !important; white-space: normal !important; word-break: break-word; line-height: 1.3; }
  .kk-stat-sub { font-size: 0.6rem; white-space: normal; }
  /* STOCKS (Hisseler) sayfasi */
  .stocks-toolbar-filters, .stocks-star-card, .stocks-excel-btn { display: none !important; }
  .stocks-toolbar-stats { font-size: 0.7rem; gap: 0.4rem !important; }
  /* 26.07 gece: 520px zorlamasi iptal + tam-sigdirma — elle kaydirma YOK */
  .stocks-table { min-width: 0 !important; width: 100% !important; font-size: 0.62rem !important; table-layout: fixed; }
  .stocks-table th, .stocks-table td { padding: 0.28rem 0.15rem !important; white-space: normal !important; word-break: break-word; overflow: hidden; }
  .stocks-table th { font-size: 0.54rem !important; letter-spacing: 0 !important; }
  .stocks-table td:nth-child(3), .stocks-table th:nth-child(3) { width: 21%; }
  .stocks-table .badge, .stocks-table img, .stocks-table i.fas { display: none !important; }
  /* 26.07 gece-4: Brut/Net PnL kusurati mobilde gizli (+12% gibi yalin) */
  .stocks-table .pnl-kus { display: none !important; }
  .stocks-table th:nth-child(1), .stocks-table td:nth-child(1),
  .stocks-table th:nth-child(2), .stocks-table td:nth-child(2),
  .stocks-table th:nth-child(4), .stocks-table td:nth-child(4),
  .stocks-table th:nth-child(5), .stocks-table td:nth-child(5),
  .stocks-table th:nth-child(n+11), .stocks-table td:nth-child(n+11) { display: none; }
  /* EMTIA (altin-gumus): tasma yok, kompakt */
  .emtia-page { font-size: 0.78rem; }
  .emtia-page .em-block h2, .emtia-page .em-block h3 { font-size: 0.85rem; }
  .emtia-page .em-perf { font-size: 0.66rem !important; }
  .emtia-page .em-perf th, .emtia-page .em-perf td { padding: 0.25rem 0.15rem; }
  .emtia-page .activity-table { min-width: 0 !important; font-size: 0.68rem !important; }
  /* 26.07 gece-9: altin-gumus sagdan tasiyordu — tum tablolar fixed-layout tam-genislik */
  .emtia-page table { min-width: 0 !important; width: 100% !important; table-layout: fixed; font-size: 0.6rem !important; }
  .emtia-page table th, .emtia-page table td { padding: 0.22rem 0.15rem !important; white-space: normal !important; word-break: break-word; overflow: hidden; }
  .emtia-page .em-block, .emtia-page .card { overflow-x: hidden !important; }
  /* 26.07 gece-4: analiz donem-secici (Tumu/1ay/3ay/6ay/1yil) + Sektorler menu ogesi mobilde gizli */
  .an-period-bar, .nav-sektorler, .nav-tedbirli { display: none !important; }
  /* 26.07 gece-5: analiz ust istatistik seridi (Al Sinyali / Kazanan-Kaybeden Poz / Basari / PF)
     mobilde tamamen gizli — sayfa dogrudan "Sinyal Kalite Analizi" ile baslar */
  #perfBar { display: none !important; }
  /* analiz mobil: kenar cubugu + header-alti kazandiran/kaybettiren seridi (#stockBar) tumden gizli */
  .is-analiz .sidebar { display: none !important; }
  #stockBar { display: none !important; }
  /* manuel-atama kartinin mavi sol-borduru mobilde olmasin (diger kartlarda yok) */
  .maa-card { border-left: 1px solid var(--line) !important; }
  /* 26.07 gece-5 (kullanici): analiz bolum basliklari mobilde YALNIZ baslik — tek satir, ortali.
     Alt-aciklamalar (tertiary span), durum pilleri, tooltip sarmali ve header-yani rozetler gizli. */
  .analytics-section .card-header { justify-content: center !important; }
  .analytics-section .card-header h3 { font-size: 0.85rem !important; line-height: 1.3;
    justify-content: center; text-align: center; max-width: 100%;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .analytics-section .card-header h3 span { font-size: 0.85rem !important; font-weight: inherit; }
  .analytics-section .card-header h3 > i { display: none !important; }
  /* 26.07 gece-8: baslik metin varyantlari — mobil kisa metin gorunur, masaustu uzun metin + parantezli ekler gizli */
  .analytics-section .card-header h3 .an-t-desk { display: none !important; }
  .analytics-section .card-header h3 .an-t-mob { display: inline !important; }
  /* 26.07 gece-7: baslik rengi mobilde TEK TON — mavi inline span'ler de siyaha cekilir */
  .analytics-section .card-header h3, .analytics-section .card-header h3 span { color: var(--ink) !important; }
  .analytics-section .card-header h3 span[style*="text-tertiary"],
  .analytics-section .card-header h3 .sh-pill, .analytics-section .card-header .sh-pill,
  .analytics-section .card-header .sh-tip-wrap,
  .analytics-section .card-header > span { display: none !important; }
}
@media (max-width: 640px) {
  table.m-card-table { display: block; min-width: 0 !important; width: 100%; border: none; }
  .m-card-table thead { display: none; }
  .m-card-table tbody { display: block; }
  .m-card-table tbody tr {
    display: block;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
    margin: 0.55rem 0.6rem;
    padding: 0.4rem 0.8rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  }
  .m-card-table tbody tr:hover { background: var(--panel); }
  .m-card-table tbody td {
    display: flex; justify-content: space-between; align-items: center; gap: 0.75rem;
    padding: 0.34rem 0 !important; border: none !important; text-align: right;
    white-space: normal !important; max-width: none !important; width: auto !important;
    font-size: 0.82rem; min-height: 0;
  }
  .m-card-table tbody td[data-mlabel] ~ td[data-mlabel] { border-top: 1px dashed var(--line) !important; }
  .m-card-table tbody td[data-mlabel]::before {
    content: attr(data-mlabel);
    font-size: 0.6rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--ink3); text-align: left; flex-shrink: 0;
  }
  .m-card-table tbody td[data-mempty="1"] { display: none; }
  /* colspan'li ara/grup satirlari: etiketsiz tam-genislik baslik karti */
  .m-card-table tbody td[colspan] { justify-content: flex-start; text-align: left; }
}

/* ── 7. DAR EKRAN ───────────────────────────────────────────────────────── */
@media (max-width:1080px){
  .sb-menu{display:none}
  /* 13.09: menu gizlenince sag blogu saga iten esnek oge kalmiyordu; blok logoya yapisip
     sagda bos alan birakiyordu (400px'te 179-295px arasi olculdu). */
  .sb-sag{margin-left:auto}
  .sb-mob{display:grid}
  /* 04.10.2026 (AP-002/4): ".sb-sag .btn-s{display:none}" buradan <=560 blogune tasindi — "Giris"
     561-1080px'de de gorunur (tablette uye girisi icin hamburgeri acmak gerekiyordu). */
  /* 04.10.2026 (AP-002/5): logo tam satir, baglanti gruplari yan yana. Talep 3 grup icin yazilmisti
     (repeat(3)); 03.10'da footer'a "Oyun" grubu eklendi, grup sayisi 4 -> repeat(4). */
  .sb-ft-in{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
  .sb-ft-a{grid-column:1/-1}
  .sb-ft-a p{max-width:62ch}
}
@media (max-width:680px){
  /* 04.10.2026 (AP-002/4): ".sb-sag .btn-g{display:none}" silindi — header'da .btn-g kalmadi (olu kural). */
  /* 04.10.2026 (AP-002/5): tek sutun yerine 2x2 (Hisse | Piyasa, Oyun | BorsaGEN); logo tam satir
     (<=1080 kuralindan). Talepteki "son grup tam satir" kurali 3 grup icindi, 4 grupta gereksiz. */
  .sb-ft-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .sb-nav-in{gap:12px}
  /* 04.10.2026 (mobil denetim): sayfa sonunda surum etiketi (vNNN) "basa don" dugmesinin (46px, sag 22px) altinda kaliyordu */
  .sb-ft-alt{padding-right:80px}
}
/* ⚠️ 13.09 (telefon testi): iOS Safari 16px'ten KUCUK yazili bir giris kutusuna dokununca
   sayfayi yakinlastiriyor ve geri donmuyor. Olculen: hisse aramasi 15,5px, liste adedi 12,5px,
   panel secicileri 12px. Dar ekranda tum metin kutulari 16px (satir ici stilleri de ezer). */
@media (max-width:760px){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]),
  select,textarea{font-size:16px!important}
}
/* Mobil menude yalniz dar ekranda gorunen giris/kayit baglantilari (header_v2). */
.sb-menu > li.sb-mob-yalniz{display:none}
@media (max-width:1080px){.sb-menu > li.sb-mob-yalniz{display:block}}
/* ⚠️ 13.09 (tarama): 400px ekranda logo (~202px) + sag blok (tema 102 + "Ücretsiz Dene" 138 +
   menu 40 + bosluklar) sigmiyor, YENI TEMADAKI TUM SAYFALAR sagdan 134px tasiyordu. Girisli
   kullanicida da hesap dugmesindeki ad ayni tasmayi yapiyordu. */
@media (max-width:560px){
  .sb-sag{gap:6px}
  .sb-sag .btn-s{display:none}   /* 04.10.2026 (AP-002/4): <=1080'den tasindi */
  .sb-sag .btn-p{display:none}
  .sb-kul-b{font-size:0;gap:0;padding:4px}
  .sb-kul-b > svg{display:none}  /* yalniz chevron gizlensin; avatar (.sb-av svg) mobilde gorunur kalsin */
}
@media (max-width:420px){
  .sb-nav-in{gap:8px}
  .sb-brand img{height:46px}   /* 03.10: isaret logosu 30 → 46px */
  .sb-tema #sb-t-s{display:none}
}
/* 04.10.2026 (kullanici karari, yalniz STIL): /kayit-ol'daki Turnstile kutusu (#regTs) 300px'in altina
   inmiyor (size:'flexible' en dar 300px; iframe golge DOM'da). Kayit kartinda kutuya kalan genislik
   ekran - 82px: 320px'de 238px -> sayfa 21px tasiyordu, 382px altinda kutu kart dolgusunu asiyordu.
   Turnstile'in kendisine (_turnstile.php, JS, data-size) DOKUNULMADI: kapsayici sol-ustten olceklenir,
   tasma gizlenmez. Olcek = (ekran - 82) / 300, basamaklarin en dar ucuna gore; olceklenmenin biraktigi
   dikey bosluk (72px x (1 - olcek)) alt bosluktan dusulur. */
@media (max-width:381px){#regTs{transform:scale(.93);transform-origin:left top;margin-bottom:9px}}
@media (max-width:360px){#regTs{transform:scale(.86);margin-bottom:4px}}
@media (max-width:340px){#regTs{transform:scale(.79);margin-bottom:0}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
