:root {
  color-scheme: dark;
  --bg: #0b0a17;
  --bg-card: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.12);
  --text: #f1eefc;
  --text-dim: #d3d2de;
  --accent: #a78bfa;
  --accent2: #60a5fa;
  --yesil: #34d399;
  --kirmizi: #ff6b81;

  --bg-card-hi: rgba(255,255,255,.10);
  --border-hi: rgba(255,255,255,.2);
  --text-faint: #aaa9b6;
  --altin: #f5c04f;
  --font-display: "Archivo Black", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --font-data: ui-monospace, "SF Mono", "Cascadia Code", "Consolas", monospace;

  /* 2026-08-14 (2. tur): Muzaffer'e 7 farklı gorsel yon sunuldu
     (tasarim-secenekleri/), "Yumusak Fintech - Koyu" secildi ve "butun
     sisteme entegre et" denildi. Onceki turkuaz+gok mavisi paleti bu
     mor-lacivert CAM sistemiyle DEGISTIRILDI - kullanicinin ELINE ALIP
     onayladigi somut bir tasarimdan geldigi icin, sabah soylenen
     "mor istemiyorum" tercihinin YERINE gecti (daha canlı/parlak bir
     leylak tonu, o zamanki donuk gri-mordan FARKLI).
     --card-glass/--border-glass mockup'taki AYNI rgba degerleri;
     --accent-deep gradyan companion'i icin YENI. --blur, .panel/.kontrol-
     kart/.kp-modal gibi ana kapsayicilarin backdrop-filter degeri. */
  --accent-deep: #7c6df2;
  --blur: 20px;

  /* GERCEK BUG (2026-08-14, Muzaffer'in "soldaki menudeki yazilar
     okunmuyor" geri bildirimi): --text-dim/--text-faint'in ILK degerleri,
     CAM panelin GERCEK (backdrop-filter sonrasi, ekrandan piksel
     ornekleyerek olculen ~rgb(56,52,77)) zeminine karsi sadece 3.65:1 ve
     2.25:1 kontrast veriyordu - WCAG AA (4.5:1) esiginin ALTINDA.
     ILK duzeltme (#c2bce8/#a39cc4) kontrasti matematiksel olarak
     duzeltti (6.6:1) ama HALA leylak/mor tonundaydi - Muzaffer'in AYRI
     bir geri bildirimi: "renk degistir demedim, BEYAZ yap dedim,
     hepsi mor". Bu YENI degerler NOTR (dogal, hemen hemen tonsuz)
     acik/koyu gri - RGB kanallari birbirine cok yakin, "mor" olarak
     algilanmiyor - ayni zemine karsi kontrast DAHA da yuksek (7.95:1 /
     5.13:1, Playwright ile olculdu). */

  /* Bazi ozel bilesenlerde (gradyan-metin, SVG vurgu noktasi, hover/iz
     zeminleri) dogrudan #fff/rgba(255,255,255,x) yazilmisti - koyu temada
     doguru ama acik temada GORUNMEZ olur. Bu 3 degisken o siteleri
     tema-farkinda hale getirir; koyu varsayilanlari eski hardcode
     degerlerle BIREBIR ayni (gorsel fark yok), acik tema karsiligi asagida. */
  --parlak: #fff;
  --govde-hover: rgba(255,255,255,.03);
  --iz-arka: rgba(255,255,255,.08);
}

/* 2026-08-17: Acik tema secenegi ("temi aktif et" istegi). <html data-theme="light">
   ile aktif olur (bkz. tema.js). Koyu "Yumusak Fintech" kimligiyle AYNI mor-lacivert
   aksan ailesi korundu, sadece zemin/metin ters cevrildi; metin/aksan renkleri beyaz
   zeminde WCAG AA (4.5:1+) tutturacak sekilde koyulastirildi (yukaridaki koyu-tema
   kontrast gecmisiyle ayni disiplin). */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f4fb;
  --bg-card: rgba(23,15,55,.045);
  --border: rgba(23,15,55,.12);
  --text: #1a1526;
  --text-dim: #4c445c;
  --accent: #6d28d9;
  --accent2: #1d4ed8;
  --yesil: #047857;
  --kirmizi: #be123c;

  --bg-card-hi: rgba(23,15,55,.08);
  --border-hi: rgba(23,15,55,.22);
  --text-faint: #6b6478;
  --altin: #b45309;

  --accent-deep: #5b21b6;
  --blur: 20px;

  --parlak: var(--text);
  --govde-hover: rgba(23,15,55,.035);
  --iz-arka: rgba(23,15,55,.10);
}

* { box-sizing: border-box; }

html, body {
  height: 100%;
  margin: 0;
}

body {
  background:
    radial-gradient(circle at 12% -5%, rgba(167,139,250,.24) 0%, transparent 42%),
    radial-gradient(circle at 100% 20%, rgba(96,165,250,.18) 0%, transparent 42%),
    radial-gradient(circle at 30% 100%, rgba(167,139,250,.1) 0%, transparent 40%),
    var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}

/* 2026-08-10, Muzaffer'in "buyuk monitorde kucuk bir ekran goruyorum"
   sikayeti sonrasi KALDIRILDI: bir onceki surum body'yi sabit 1920x1080
   bir "referans kanvas" yapip transform:scale ile pencereye sigdiriyordu -
   1920x1080'den BUYUK monitorlerde (Muzaffer'in is yerindeki gibi) olcek
   1'de tavan yapiyor (Math.min(1, ...)), yani sayfa hicbir zaman BUYUMUYOR,
   sadece kucuk bir "ada" gibi ekranin sol-ustunde sabit kalip geri kalan
   TUM alan bos/siyah kaliyordu - "nereden acarsam ayni gormeliyim" istegini
   yanlis yontemle (sabit-boyut+kucultme) cozmeye calismisti. Sayfa zaten
   akici (flex/grid, 1fr sutunlar, 100vh) tasarlanmisti - bu blok kaldirilinca
   dogal haline donuyor: HER ekranda mevcut genisligi/yuksekligi GERCEKTEN
   doldurur, JS tabanli hicbir zoom/olcek hilesi yok. */

/* 2026-08-09, Muzaffer'in acik istegi: "üstteki bar çok çirkin... sadece
   böyle tıklanabilir şeyler çok çirkin, gerçekten güzel bir panel yap".
   GERCEK BUG: eskiden .ust-nav a.aktif/:hover'in background'u
   (var(--bg-card)) BARIN KENDI arka planiyla (o da var(--bg-card))
   AYNIYDI - aktif/hover sekmenin GORSEL OLARAK NEREDEYSE HIC FARKI
   yoktu, sadece metin rengi degisiyordu. Bu tum "cok cirkin" hissinin
   kok nedeniydi. Simdi: marka rozeti (::before ile, HTML degismeden),
   sekmeler gercek bir "pill grubu" icinde, aktif sekme dolu-renk pill. */
/* 2026-08-09 (2. tur): Muzaffer'in acik istegi: "Bu ust bar KESINLIKLE
   hicbir yerde degismez". GERCEK BUG: .ust-bar flex+space-between
   kullaniyordu ve 3. eleman (.portfoy-ozet, sag taraftaki Toplam Deger/
   K-Z kutulari) SADECE bazi sayfalarda vardi (orn. hedge.html'de hic yok).
   space-between'de ortadaki eleman (nav) konumu, 1. ve 3. elemanin
   genisligine gore hesaplandigindan, ozet kutusu olmayan sayfalarda nav
   sona yapisiyor, olan sayfalarda ortada kaliyordu - yani menu sayfadan
   sayfaya YER DEGISTIRIYORDU. Simdi: sabit genislikte grid sutunlari
   (baslik | menu | ozet) - ozet kutusu olsun/olmasin nav'in baslangic
   noktasi ASLA degismez. */
.ust-bar {
  display: grid;
  grid-template-columns: 260px 1fr minmax(0, auto);
  align-items: center;
  column-gap: 1rem;
  row-gap: .5rem;
  padding: .65rem 1.4rem;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, var(--bg-card-hi), var(--bg-card));
  position: relative;
  z-index: 5;
  box-shadow: 0 6px 18px -10px rgba(0,0,0,.7);
}
.ust-bar h1 {
  font-size: 1rem; margin: 0; font-weight: 800; letter-spacing: -.01em;
  display: flex; align-items: center; gap: .55rem;
  overflow: hidden;
}
.ust-bar h1 span.ust-bar-alt {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ust-bar h1::before {
  content: "U"; width: 26px; height: 26px; border-radius: 7px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: #05050a; font-family: var(--font-display); font-size: .78rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 14px -3px var(--accent);
}
.ust-bar-alt { color: var(--text-dim); font-weight: 500; font-size: .88rem; }

.ust-bar-logo {
  color: inherit; text-decoration: none; border-radius: 8px; padding: .1rem .35rem;
  margin: -.1rem -.35rem; transition: background .15s ease;
}
.ust-bar-logo:hover { background: var(--bg-card-hi); }

/* 2026-08-10 (3. tur), Muzaffer'in onayladigi yeni ust menu: tek bir
   "Menu" dugmesi ARDINDA HERSEYI gizlemek yerine (eski deneme, yukarida
   tarihce olarak kalan yorumlar) artik yatay bir "hap" (pill) sirasinda
   TUM sayfalar ayri dugme; sadece Portfoy ve Tarama grubu kendi ici
   acilir alt menuye sahip - orn.html'e gore statik degil, TAMAMI
   ust-nav.js tarafindan /api/ben cevabina (rol/izinli_paneller) gore
   JS'ten uretiliyor (bkz. NAV_TANIMI) - 16 sayfada ayri ayri linki elle
   tutmak yerine TEK kaynak. */
.ust-nav-alani { position: relative; min-width: 0; display: flex; }

.nav-satir {
  display: flex; align-items: center; gap: .3rem; flex-wrap: wrap;
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border-hi); border-radius: 13px; padding: .3rem;
}
.nav-btn {
  display: inline-flex; align-items: center; gap: .35rem;
  color: var(--text-dim); text-decoration: none; font-size: .78rem; font-weight: 600;
  padding: .5rem .7rem; border-radius: 9px; white-space: nowrap;
  background: none; border: none; font-family: inherit; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.nav-btn:hover { background: var(--bg-card-hi); color: var(--text); }
.nav-btn.aktif { background: var(--accent); color: #001018; }
.nav-btn.cikis { color: var(--kirmizi); }
.nav-btn.cikis:hover { background: color-mix(in srgb, var(--kirmizi) 16%, transparent); color: var(--kirmizi); }
.nav-btn.admin { color: var(--accent2); }
.nav-btn.admin:hover { background: color-mix(in srgb, var(--accent2) 16%, transparent); color: var(--accent2); }
.nav-ok { width: .7em; height: .7em; flex-shrink: 0; transition: transform .15s ease; }
.nav-ayrac { width: 1px; align-self: stretch; margin: .3rem .15rem; background: var(--border-hi); }

.acilir { position: relative; }
.acilir-panel {
  display: none; flex-direction: column; gap: .05rem;
  position: absolute; top: calc(100% + .5rem); left: 0; width: 190px;
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border-hi); border-radius: 13px; padding: .4rem;
  box-shadow: 0 20px 45px -14px rgba(0,0,0,.65); z-index: 60;
}
.acilir.acik .acilir-panel { display: flex; animation: navAcilirGir .16s ease; }
.acilir.acik .nav-btn { background: var(--bg-card-hi); color: var(--text); }
.acilir.acik .nav-btn.aktif { background: var(--accent); color: #001018; }
.acilir.acik .nav-ok { transform: rotate(180deg); color: var(--accent); }
.acilir-panel a {
  color: var(--text-dim); text-decoration: none; font-size: .8rem; font-weight: 600;
  padding: .55rem .7rem; border-radius: 8px; transition: background .15s ease, color .15s ease;
}
.acilir-panel a:hover { background: var(--bg-card-hi); color: var(--text); }
.acilir-panel a.aktif { background: var(--accent); color: #001018; }

@keyframes navAcilirGir {
  from { opacity: 0; transform: translateY(-6px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .acilir.acik .acilir-panel { animation: none; }
  .nav-ok { transition: none; }
}

#tarama-tetikle-btn {
  background: var(--accent); color: #001018; border: none; border-radius: 6px;
  padding: .4rem .9rem; font-size: .8rem; font-weight: 600; cursor: pointer;
}
#tarama-tetikle-btn:disabled { opacity: .6; cursor: not-allowed; }

.tarama-rayil {
  width: 380px;
  flex-shrink: 0;
  padding: 1rem;
  padding-bottom: 6.5rem;
  border-right: 1px solid var(--border);
  overflow-y: auto;
  background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg) 55%);
  box-shadow: 6px 0 20px -12px rgba(0,0,0,.6);
  position: relative;
}
.tarama-liste { display: flex; flex-direction: column; gap: .8rem; }
.tarama-bos { color: var(--text-dim); text-align: center; padding: 3rem 1rem; }

.tarama-karti {
  background: var(--bg-card); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur));
  border: 1px solid var(--border); border-radius: 18px;
  padding: 1rem 1.2rem; cursor: pointer;
  box-shadow: 0 16px 34px -24px rgba(124,109,242,.3);
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.tarama-karti:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 20px 40px -22px rgba(124,109,242,.4); }
.tarama-karti.secili { border-color: var(--accent); }
.tarama-karti-ust { display: flex; align-items: center; gap: .8rem; margin-bottom: .5rem; flex-wrap: wrap; }
.tarama-ticker { font-size: 1.1rem; font-weight: 700; }
.tarama-sinyal { color: var(--text-dim); font-size: .8rem; }
.tarama-yon-rozet { font-size: .75rem; font-weight: 700; padding: .15rem .5rem; border-radius: 10px; }
.tarama-yon-rozet.yukselis { background: rgba(62, 207, 142, .15); color: #3ecf8e; }
.tarama-yon-rozet.dusus { background: rgba(255, 92, 122, .15); color: #ff5c7a; }

.tam-rapor-btn {
  background: none; border: 1px solid var(--border); color: var(--accent);
  border-radius: 6px; padding: .3rem .7rem; font-size: .75rem; cursor: pointer; margin-top: .4rem;
}
.tam-rapor-btn:hover { border-color: var(--accent); }
.russell-analiz-btn {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--accent);
  border-radius: 10px; padding: .3rem .7rem; font-size: .75rem; cursor: pointer; margin-top: .4rem;
}
.russell-analiz-btn:hover { border-color: var(--accent); }
.russell-analiz-btn:disabled { opacity: .5; cursor: default; }
.russell-analiz-durum { display: block; margin-top: .3rem; }
.tam-rapor-alani { margin-top: .6rem; }
.canli-grafik-linki {
  display: inline-block; margin-top: .6rem; font-size: .78rem;
  color: var(--accent); text-decoration: none;
}
.canli-grafik-linki:hover { text-decoration: underline; }

.tarama-al-form {
  display: flex; align-items: center; gap: .5rem; margin-top: .8rem;
  padding-top: .8rem; border-top: 1px solid var(--border); flex-wrap: wrap;
}
.al-baslik { font-size: .8rem; color: var(--text-dim); }
.tarama-al-form input {
  background: var(--bg); border: 1px solid var(--border); color: var(--text);
  padding: .35rem .5rem; border-radius: 6px; font-size: .8rem; width: 110px;
}
.tarama-al-form button {
  background: var(--yesil); color: #001a0a; border: none; border-radius: 6px;
  padding: .35rem .8rem; font-size: .8rem; font-weight: 600; cursor: pointer;
}

.kademe-onizleme {
  display: flex; align-items: center; gap: .5rem; margin-top: .8rem;
  padding-top: .8rem; border-top: 1px solid var(--border); flex-wrap: wrap;
}
.kademe-onizleme-butce {
  background: var(--bg); border: 1px solid var(--border); color: var(--text);
  padding: .35rem .5rem; border-radius: 6px; font-size: .8rem; width: 150px;
}
.kademe-onizleme-btn {
  background: var(--accent); color: #001018; border: none; border-radius: 6px;
  padding: .35rem .8rem; font-size: .8rem; font-weight: 600; cursor: pointer;
}
.kademe-onizleme-sonuc { width: 100%; margin-top: .5rem; }
.kademe-onizleme-sonuc .kademe-tablosu { width: 100%; font-size: .78rem; }
.form-basari { color: var(--yesil); font-size: .8rem; }

/* 2026-08-09, Muzaffer'in acik istegi: "portföy, trportfoy, ETF portföyü...
   normal yazıymış gibi durmuyor" - AYNI DOM/JS'e (ozet-parca/b.pozitif/
   b.negatif siniflari HIC degismedi) dokunmadan, sadece GORSEL katmani
   duz metinden kucuk "chip" kartlarina cevrildi. Geri alma: bu blok
   silinirse eski duz-metin gorunume doner (JS/HTML degismedigi icin
   herhangi bir islevsellik kaybi olmaz). */
.portfoy-ozet { display: flex; gap: .6rem; font-size: .9rem; color: var(--text-dim); align-items: center; flex-wrap: wrap; }
.ozet-parca {
  display: flex; flex-direction: column; gap: .1rem;
  background: var(--bg); border: 1px solid var(--border); border-radius: 9px;
  padding: .35rem .7rem; font-size: .68rem; letter-spacing: .02em;
  text-transform: uppercase; color: var(--text-faint); font-weight: 600;
}
.ozet-parca b {
  color: var(--text); font-family: var(--font-data); font-size: .95rem;
  font-weight: 700; text-transform: none; letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.ozet-parca b.pozitif { color: var(--yesil); }
.ozet-parca b.negatif { color: var(--kirmizi); }

/* 2026-08-10, Muzaffer'in "her portfoyun toplam deger/maliyetini ayri
   gormeliyiz, ust bar'a bir acilir pencere koyalim" istegi - TL/ETF/US/
   Opsiyon/Toplam secici. ILK SURUM native <select> idi: (a) uzun metin
   select'in dogal genisligini sisirip .portfoy-ozet'i (flex-wrap) ikinci
   satira sardirdi, bar asagi kaydi; (b) acilan liste TARAYICININ KENDI
   varsayilan stiliyle (beyaz zemin, siyah yazi) ciziliyordu - CSS'in HICBIR
   etkisi olmuyor, koyu "kontrol odasi" temasiyla cok cirkin bir zitlik
   olusturuyordu (Muzaffer'in ekran goruntusunde acikca gorulen sorun).
   Cozum: native select tamamen kaldirildi, sitenin baska yerinde zaten
   kullanilan ozel acilir liste deseniyle (bkz. .ticker-arama-liste) SIFIRDAN
   bir dropdown insa edildi - boylece acilan panel de tema renklerini,
   gradyanlarini ve accent vurgusunu tam kontrol edebiliyor. */
.as-kaynak-secici { position: relative; }
.as-kaynak-secici-btn {
  display: flex; align-items: center; gap: .35rem;
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border); color: var(--text);
  padding: .4rem .6rem; border-radius: 9px;
  font-size: .68rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase;
  font-family: inherit; cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.as-kaynak-secici-btn:hover { border-color: var(--border-hi); }
.as-kaynak-secici-btn svg { width: .85em; height: .85em; flex-shrink: 0; color: var(--text-faint); transition: transform .15s ease; }
.as-kaynak-secici.acik .as-kaynak-secici-btn {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}
.as-kaynak-secici.acik .as-kaynak-secici-btn svg { transform: rotate(180deg); color: var(--accent); }

.as-kaynak-secici-liste {
  display: none; position: absolute; top: calc(100% + .4rem); right: 0; min-width: 100%; width: max-content;
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border-hi); border-radius: 11px;
  padding: .3rem; z-index: 30;
  box-shadow: 0 16px 36px -12px rgba(0,0,0,.6);
}
.as-kaynak-secici.acik .as-kaynak-secici-liste { display: flex; flex-direction: column; gap: .1rem; }
.as-kaynak-secici-satir {
  display: flex; align-items: baseline; gap: .5rem; justify-content: space-between;
  padding: .45rem .6rem; border-radius: 7px; cursor: pointer;
  font-size: .78rem; font-weight: 600; color: var(--text-dim); white-space: nowrap;
  transition: background .12s ease, color .12s ease;
}
.as-kaynak-secici-satir:hover { background: color-mix(in srgb, var(--accent) 12%, var(--bg-card-hi)); color: var(--text); }
.as-kaynak-secici-satir.secili { background: color-mix(in srgb, var(--accent) 20%, var(--bg-card-hi)); color: var(--accent); }
.as-kaynak-ipucu { font-size: .68rem; font-weight: 500; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.as-kaynak-secici-satir.secili .as-kaynak-ipucu { color: color-mix(in srgb, var(--accent) 70%, var(--text-faint)); }
.kademe-hizli-erisim-btn {
  background: none; border: 1px solid var(--border); color: var(--accent);
  border-radius: 8px; padding: .4rem .85rem; font-size: .8rem; font-weight: 600; cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.kademe-hizli-erisim-btn:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.kademe-hizli-erisim-btn:disabled { opacity: .5; cursor: default; }

.ana-govde {
  flex: 1;
  display: flex;
  min-height: 0;
}

.sol-rayil, .sag-rayil {
  width: 300px;
  flex-shrink: 0;
  padding: 1rem;
  border-right: 1px solid var(--border);
  background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg) 55%);
}
.sag-rayil {
  border-right: none; border-left: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 1rem; overflow-y: auto;
  background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg) 45%);
  box-shadow: -6px 0 20px -12px rgba(0,0,0,.6);
}
/* Portfoy listesi paneli (2026-08-05, Muzaffer'in "biraz daha saga dogru
   buyutmeni istiyorum... listeyi tam gormek istiyorum, kaydirmadan"
   istegi) - 6 sutunlu pozisyon tablosu 300px'te sikisiyordu. */
.sol-rayil { width: 420px; }

.sol-rayil {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding-bottom: 6.5rem;
  box-shadow: 6px 0 20px -12px rgba(0,0,0,.6);
  position: relative;
}
.sol-rayil-kaydirilabilir { flex: 1; overflow-y: auto; min-height: 0; }
.sol-rayil-sabit {
  flex-shrink: 0; padding-top: .8rem; margin-top: .5rem; border-top: 1px solid var(--border);
  background: linear-gradient(0deg, var(--bg-card-hi) 0%, transparent 100%);
  margin-left: -1rem; margin-right: -1rem; padding-left: 1rem; padding-right: 1rem;
}
.panel-baslik-ipucu { text-transform: none; letter-spacing: normal; font-size: .7rem; opacity: .7; }

/* 2026-08-09 (3. tur): Muzaffer'in istegi - "alt alan" (ust bardan
   sonraki tum govde) tum sayfalarda ayni yapiyi paylastigindan, burada
   tek seferde eklenen derinlik/renk hem tum sayfalari kaplar. Orta alan
   (grafik) kenar raylerden hafifce koyu/notr kalip odak noktasi olsun
   diye ustte cok hafif bir accent parlamasi (vignette) aliyor - duz
   siyah bosluk hissini kirmak icin. */
.orta-alan {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  min-width: 0;
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, color-mix(in srgb, var(--accent) 5%, transparent) 0%, transparent 70%),
    var(--bg);
  position: relative;
}
.secili-sembol-baslik { font-size: 1.1rem; margin-bottom: .5rem; color: var(--text); }
.grafik-container { flex: 1; min-height: 400px; }

/* Moonshot sayfasinda grafik alani sabit yukseklikte, altinda jeopolitik
   bolumu icin ayri kaydirilabilir alan birakiliyor */
body.moonshot-sayfa .orta-alan { overflow-y: auto; }
body.moonshot-sayfa .grafik-container { flex: none; height: 45vh; min-height: 320px; }

/* Islem Yap sayfasinda canli grafik sabit yukseklikte, altinda payoff
   grafigi + onizleme paneli icin ayri kaydirilabilir alan birakiliyor */
body.islem-yap-sayfa .orta-alan { overflow-y: auto; }
body.islem-yap-sayfa .grafik-container { flex: none; height: 40vh; min-height: 280px; }

/* Canli Grafik sayfasi: yan rayil yok, TradingView widget'i tum alani kaplar */
.canli-grafik-govde { position: relative; flex-direction: column; display: flex; }
.tv-buyuk-grafik-container { flex: 1; min-height: 0; }
.canli-grafik-sembol-secici {
  display: flex; align-items: center; gap: .6rem; padding: .6rem 1rem;
  border-bottom: 1px solid var(--border); flex-shrink: 0; font-size: .85rem;
}
.canli-grafik-sembol-secici label { color: var(--text-dim); }
.canli-grafik-sembol-secici select {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
  padding: .35rem .5rem; border-radius: 6px; font-size: .85rem;
}
.canli-grafik-sembol-ipucu { color: var(--text-dim); font-size: .75rem; }

/* Kademeli Giris Plani (1-3-2-1) overlay'i - Umay widget'i sol-altta oldugu
   icin (bkz. .umay-widget) carpismasin diye sag-alta yerlestirildi. */
.kademe-overlay {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 40;
  background: rgba(20, 20, 31, .92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: .7rem .9rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, .4);
  min-width: 260px;
  max-width: 320px;
}
.kademe-overlay-baslik { font-size: .8rem; font-weight: 600; margin-bottom: .5rem; }
.kademe-overlay-satir {
  display: flex; justify-content: space-between; align-items: center;
  gap: .5rem; font-size: .78rem; padding: .3rem 0;
  border-top: 1px solid var(--border); color: var(--text-dim);
}
.kademe-overlay-satir:first-child { border-top: none; }
.kademe-overlay-satir.dolu { opacity: .5; }
.kademe-overlay-satir.aktif { color: var(--accent); font-weight: 600; }
.kademe-no { flex: 1; }
.kademe-fiyat { font-variant-numeric: tabular-nums; }
.kademe-adet { font-variant-numeric: tabular-nums; color: var(--text-dim); }

/* Destek/Direnc (Dinamik) overlay'i - kademe-overlay ile ayni kutu stili,
   ama Umay widget'iyla degil kademe-overlay ile carpismasin diye ust-saga
   yerlestirildi (2026-08-03). */
.destek-direnc-overlay { top: 1rem; bottom: auto; }
.dd-direnc .kademe-fiyat { color: var(--kirmizi); }
.dd-destek .kademe-fiyat { color: var(--yesil); }
.dd-sinir .kademe-fiyat { color: var(--text-dim); }
.jeopolitik-bolum {
  margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--border);
}
.jeopolitik-baslik { display: flex; align-items: center; justify-content: space-between; }
.tetikle-btn {
  background: linear-gradient(135deg, var(--accent), var(--accent2)); color: #0b0a17; border: none; border-radius: 10px;
  padding: .5rem 1rem; font-size: .8rem; font-weight: 800; cursor: pointer;
  box-shadow: 0 10px 24px -10px rgba(124,109,242,.6);
}
.tetikle-btn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.moonshot-karti .haber-meta { margin: .4rem 0; }

.grafik-lejant { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .75rem; color: var(--text-dim); margin-bottom: .4rem; min-height: 1.2em; }
.lejant-parca { display: flex; align-items: center; gap: .3rem; }
.lejant-cizgi { display: inline-block; width: 14px; height: 3px; border-radius: 2px; }

/* 2026-08-09, Muzaffer'in "tüm sisteme uygula" istegi: paylasimli .panel
   biraz daha "kontrol odasi" hissi versin - hafif gradyan zemin, sol
   kenarda ince bir vurgu cizgisi, baslik biraz daha belirgin. */
.panel-baslik {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--text-faint);
  margin: 1.1rem 0 .55rem;
  padding-left: .55rem;
  border-left: 2px solid var(--accent);
}
.panel-baslik:first-child { margin-top: 0; }

/* 2026-08-09: tablo verileri (fiyat/adet/K-Z) artik tabular-nums monospace -
   rakamlar hizali/okunakli dursun diye ("kontrol odasi" hissinin bir parcasi -
   bkz. anasayfa.js'deki AYNI font-data kullanimi). */
.pozisyon-tablosu { width: 100%; border-collapse: collapse; font-size: .8rem; }
.pozisyon-tablosu th, .pozisyon-tablosu td { padding: .5rem .4rem; border-bottom: 1px solid var(--border); text-align: left; }
.pozisyon-tablosu td { font-family: var(--font-data); font-variant-numeric: tabular-nums; }
.pozisyon-tablosu tbody tr { cursor: pointer; transition: background .12s ease; }
.pozisyon-tablosu tbody tr:hover { background: var(--bg-card-hi); }
.pozisyon-tablosu tbody tr.secili { background: color-mix(in srgb, var(--accent) 10%, var(--bg-card)); }
.pozisyon-tablosu td:first-child { color: var(--text); font-weight: 700; }
.pozisyon-tablosu tbody tr.secili td:first-child { font-weight: 800; }
.pozisyon-tablosu tbody tr.cikis-sinyali td:first-child { color: var(--kirmizi); font-weight: 700; }
/* 2026-08-10, Muzaffer'in "bu gorsel sistemi (opsiyondaki kalp ritmi) tum
   portfoylere uygula" istegi - US (app.js), ETF (etf-portfoy.js), TR
   (tr-portfoy.js) UCU DE ayni .cikis-sinyali class'ini AYNI .pozisyon-
   tablosu satirina ekliyor, bu YUZDEN TEK bir CSS kurali ucunu de kapsiyor
   (JS degisikligi gerekmedi). <tr> uzerinde box-shadow guvenilir
   desteklenmedigi icin (tablo layout'u standart box model DEGIL) pulse
   td'lerin arka plan rengine uygulaniyor - Opsiyon Portfoy'deki
   opRiskNabiz ile AYNI ritim/renk. */
.pozisyon-tablosu tbody tr.cikis-sinyali td {
  animation: pozisyonNabiz 1.8s ease-in-out infinite;
}
@keyframes pozisyonNabiz {
  0%, 100% { background-color: transparent; }
  50% { background-color: color-mix(in srgb, var(--kirmizi) 16%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .pozisyon-tablosu tbody tr.cikis-sinyali td { animation: none; background-color: color-mix(in srgb, var(--kirmizi) 12%, transparent); }
}
.pozisyon-tablosu th {
  color: var(--text-faint); font-weight: 700; font-size: .68rem;
  text-transform: uppercase; letter-spacing: .04em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.sil-btn {
  background: none; border: 1px solid var(--border); color: var(--text-dim);
  border-radius: 4px; padding: .15rem .4rem; cursor: pointer; font-size: .75rem;
}
.sil-btn:hover { border-color: var(--kirmizi); color: var(--kirmizi); }

/* Portfoy/Tarama/Hedge/Moonshot/Alim Satim sayfalarindaki "Al" kisayolu -
   Islem Yap'a ticker (ve opsiyon sayfalarinda tip=opsiyon) onceden dolu
   olarak gonderir (2026-08-05, Muzaffer'in "her pozisyonun yanina Al
   kisayolu, tek gercek emir yeri Islem Yap kalsin" istegi). Kod tekrari
   yok - burasi sadece bir link, gercek emir mantigi hep ibkr_emir.py'de. */
.al-kisayol-btn {
  display: inline-block; background: rgba(61,220,132,.14); border: 1px solid var(--yesil);
  color: var(--yesil); border-radius: 4px; padding: .12rem .5rem; cursor: pointer;
  font-size: .72rem; font-weight: 700; text-decoration: none; vertical-align: middle;
  transition: background .15s ease;
}
.al-kisayol-btn:hover { background: var(--yesil); color: #04140c; }
.sat-kisayol-btn {
  display: inline-block; background: rgba(255,92,122,.14); border: 1px solid var(--kirmizi);
  color: var(--kirmizi); border-radius: 4px; padding: .12rem .5rem; cursor: pointer;
  font-size: .72rem; font-weight: 700; text-decoration: none; vertical-align: middle;
  transition: background .15s ease;
}
.sat-kisayol-btn:hover { background: var(--kirmizi); color: #1a0509; }
.pozisyon-islem-hucresi { display: flex; gap: .35rem; align-items: center; }

/* Portfoy'de bir pozisyona sag-tiklayinca cikan hizli Al/Sat menusu +
   "Sat" secilince satirin altina acilan hizli satis formu (2026-08-05,
   Muzaffer'in istegi: "sag tiklayinca al-sat gelsin, sat dersem asagiya
   eklensin, onay verirsem satmis olsun"). Ayni /api/alim-satim/<ticker>/sat
   uc noktasini kullanir - Alim Satim Raporu'ndaki satis formuyla AYNI,
   burada sadece daha hizli erisim icin tekrarlaniyor. */
.sag-tik-menu {
  position: absolute; z-index: 50; background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px; padding: .3rem; box-shadow: 0 8px 24px rgba(0,0,0,.45);
  display: flex; flex-direction: column; min-width: 100px;
}
.sag-tik-menu-oge {
  background: none; border: none; color: var(--text); text-decoration: none;
  padding: .45rem .7rem; border-radius: 5px; font-size: .85rem; font-weight: 600;
  cursor: pointer; text-align: left;
}
.sag-tik-menu-oge.al { color: var(--yesil); }
.sag-tik-menu-oge.sat { color: var(--kirmizi); }
.sag-tik-menu-oge:hover { background: var(--bg); }

.satis-form-satiri td { padding: .5rem .3rem; background: var(--bg); }
.satis-form-inline { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.satis-form-inline input {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
  padding: .35rem .5rem; border-radius: 5px; font-size: .8rem; width: 110px;
}
.satis-form-inline button[type="submit"] {
  background: var(--kirmizi); color: #1a0509; border: none; border-radius: 5px;
  padding: .35rem .7rem; font-size: .8rem; font-weight: 700; cursor: pointer;
}

/* Islem Yap opsiyon zincirinde, secili stratejinin hedef delta araligina
   uyan satirlarin Delta hucresi vurgusu (2026-08-05, Muzaffer'in "al
   veya sat'a gore yesil veya kirmizi, direkt gozume batsin" istegi). */
.delta-vurgu-al { background: rgba(61,220,132,.22); color: var(--yesil); font-weight: 700; border-radius: 4px; }
.delta-vurgu-sat { background: rgba(255,92,122,.22); color: var(--kirmizi); font-weight: 700; border-radius: 4px; }

/* Ust bardaki kayan yazi (TV alt yazisi gibi) - gunluk portfoy haberleri +
   dunya gundemi (2026-08-05, Muzaffer'in istegi, bkz. kayan-yazi.js). */
#kayan-yazi-bar {
  background: var(--bg-card); border-bottom: 1px solid var(--border);
  overflow: hidden; white-space: nowrap; padding: .35rem 0; flex-shrink: 0;
}
#kayan-yazi-ic { display: inline-block; animation: kayanYaziKaydir 90s linear infinite; }
/* 2026-08-09, GERCEK BUG: bu kural eskiden TUM span torunlarini (ID+tip
   secici, kk-madde/ky-rozet/ky-metin/ky-ayrac dahil HEPSI) hedefliyordu -
   ID secicinin yuksek ozgulugu YENI rozetli yapinin kendi .ky-* stillerini
   eziyordu (Muzaffer'in "kayan yazi da olmamış" tespiti). Artik SADECE
   eski (v2 OLMAYAN) duz-metin yapisinin DOGRUDAN cocuklarini hedefliyor. */
#kayan-yazi-ic:not(.v2) > span { display: inline-block; padding-right: 2rem; font-size: .78rem; color: var(--text-dim); }
#kayan-yazi-bar:hover #kayan-yazi-ic { animation-play-state: paused; }
@keyframes kayanYaziKaydir {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.kademe-form { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-top: .5rem; }
.kademe-form input {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
  padding: .4rem .5rem; border-radius: 6px; font-size: .8rem; width: 140px;
}
.kademe-form button {
  background: var(--accent); color: #001018; border: none; border-radius: 6px;
  padding: .4rem .8rem; font-size: .8rem; font-weight: 600; cursor: pointer;
}
.kademe-tablosu { width: 100%; border-collapse: collapse; font-size: .78rem; margin: .6rem 0; }
.kademe-tablosu th, .kademe-tablosu td { padding: .3rem; border-bottom: 1px solid var(--border); text-align: left; }
.kademe-tablosu th { color: var(--text-dim); font-weight: normal; }
.kademe-tablosu tr.kademe-dolu { opacity: .55; }
.kademe-tablosu tr.kademe-sirada { background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); color: var(--accent); font-weight: 600; }

.pozisyon-form { display: flex; flex-direction: column; gap: .5rem; }
.pozisyon-form input, .pozisyon-form button {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
  padding: .55rem .7rem; border-radius: 8px; font-size: .85rem;
  transition: border-color .15s ease;
}
.pozisyon-form input:focus { outline: none; border-color: var(--accent); }
.pozisyon-form button {
  cursor: pointer; background: linear-gradient(135deg, var(--accent), #2b8fd6);
  color: #001018; border: none; font-weight: 700;
}
.pozisyon-form button:hover { filter: brightness(1.08); }
.form-hata { color: var(--kirmizi); font-size: .8rem; min-height: 1.2em; }

.panel {
  background: var(--bg-card);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: .9rem 1rem;
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  box-shadow: 0 26px 50px -32px rgba(124,109,242,.35), inset 0 1px 0 rgba(255,255,255,.05);
}
.panel-govde { font-size: .85rem; color: var(--text); }

/* GERCEK BUG (Alim Satim Raporu, 2026-08-10): .panel'in "flex: 1" kurali
   .sol-rayil/.sag-rayil GIBI bir sutunda baska panellerle alani PAYLASMASI
   icin tasarlandi - ama "Genel Toplam" paneli body'nin (flex-direction:
   column) DOGRUDAN cocugu, yani o da .ana-govde ile "flex: 1" ugruna
   YARISIYORDU. Icerigi kisa oldugundan bu yarisi kazaniyor, kutularin
   altinda koca bir bosluk birakip .ana-govde'yi (Bekleyen Emirler/detay)
   sikistiriyordu - kanvas modunda sabit yukseklik yuzunden bu artik HER
   ZAMAN, buyuk ekranda bile gorunuyor. Icerigine gore boyutlanmasi yeterli. */
.as-genel-toplam-panel { flex: none; overflow-y: visible; padding: .6rem .9rem; }
/* Muzaffer'in istegi: panel Bekleyen Emirler/RKLB'yi asagi itmesin - kutularini
   sardigi bosluk (baslik altindaki bosluk, kutularin kendi ic paddingi)
   sikilastirildi, panel artik sadece icerigi kadar yer kapliyor. */
.as-genel-toplam-panel .panel-baslik { margin-bottom: .4rem; }
.as-genel-toplam-panel .as-genel-toplam-blok-baslik { margin-bottom: .3rem; }
.as-genel-toplam-panel .as-stat-kutu { padding: .45rem .7rem; }

.haber-satir { margin-bottom: .6rem; padding-bottom: .6rem; border-bottom: 1px solid var(--border); }
.haber-satir:last-child { border-bottom: none; }
.haber-satir a { color: var(--text); text-decoration: none; }
.haber-satir a:hover { text-decoration: underline; }
.haber-meta { color: var(--text-dim); font-size: .75rem; margin-top: .2rem; }

.analiz-verdict {
  display: inline-block;
  padding: .3rem .8rem;
  border-radius: 6px;
  background: var(--border);
  font-weight: 700;
  margin-bottom: .6rem;
}
.analiz-satir { margin-bottom: .4rem; }
.analiz-ozet { color: var(--text-dim); font-style: italic; margin: .5rem 0; }

.analiz-ayrac { border: none; border-top: 1px solid var(--border); margin: .8rem 0; }
.analiz-tam-rapor { font-size: .78rem; line-height: 1.5; }
.analiz-tam-rapor h1, .analiz-tam-rapor h2 { font-size: .95rem; color: var(--text); margin: .9rem 0 .4rem; }
.analiz-tam-rapor h3, .analiz-tam-rapor h4 { font-size: .85rem; color: var(--text); margin: .7rem 0 .3rem; }
.analiz-tam-rapor p { margin: .4rem 0; }
.analiz-tam-rapor ul, .analiz-tam-rapor ol { margin: .3rem 0; padding-left: 1.2rem; }
.analiz-tam-rapor li { margin-bottom: .2rem; }
.analiz-tam-rapor strong { color: var(--text); }
.analiz-tam-rapor hr { border: none; border-top: 1px solid var(--border); margin: .6rem 0; }

.pozitif { color: var(--yesil); }
.negatif { color: var(--kirmizi); }

.atr-stop { font-weight: 600; }
.atr-rozet {
  display: inline-block;
  background: var(--accent2);
  color: #14001f;
  font-size: .65rem;
  font-weight: 700;
  padding: .05rem .4rem;
  border-radius: 4px;
  margin-left: .3rem;
}

.markdown-fallback {
  white-space: pre-wrap;
  font-family: inherit;
  font-size: .8rem;
  max-height: 400px;
  overflow-y: auto;
}

/* ---- Umay sesli sohbet widget'i (sol alt, sabit) ---- */

/* 2026-08-17: tema.js tarafindan tum sayfalara enjekte edilen koyu/acik
   tema dugmesi. Sag-ust sabit - .umay-widget (sol-alt) ve modallarla
   (z-index 100-200) catismaz. */
.tema-degistir {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--bg-card-hi);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(0,0,0,.25);
  transition: transform .15s ease, border-color .15s ease;
}
.tema-degistir:hover { border-color: var(--border-hi); transform: scale(1.06); }

.umay-widget {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: .8rem;
  background: rgba(20, 20, 31, .92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: .7rem .9rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, .4);
  max-width: 380px;
}

.umay-w-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.umay-w-core {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #bfe9ff, var(--accent) 55%, var(--accent2) 130%);
  box-shadow: 0 0 12px 2px rgba(74, 208, 255, .35);
  transition: box-shadow .3s ease, transform .3s ease;
}
.umay-w-ring {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(74, 208, 255, .25);
  animation: umay-w-spin 12s linear infinite;
}
@keyframes umay-w-spin { to { transform: rotate(360deg); } }

.umay-w-avatar.listening .umay-w-core {
  box-shadow: 0 0 18px 4px rgba(74, 208, 255, .5);
  animation: umay-w-pulse 1.6s ease-in-out infinite;
}
@keyframes umay-w-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }

.umay-w-avatar.speaking .umay-w-core {
  box-shadow: 0 0 22px 5px rgba(59, 130, 246, .6);
  animation: umay-w-heartbeat .9s ease-in-out infinite;
}
@keyframes umay-w-heartbeat {
  0%, 100% { transform: scale(1); }
  15% { transform: scale(1.16); }
  30% { transform: scale(1); }
  45% { transform: scale(1.1); }
  60% { transform: scale(1); }
}

.umay-widget-body { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.umay-w-status { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-dim); }
.umay-w-caption {
  font-size: .8rem; color: var(--text);
  max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  min-height: 1.1em;
}
.umay-w-controls { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.umay-w-btn {
  background: var(--accent); color: #001018; border: none; border-radius: 50%;
  width: 30px; height: 30px; cursor: pointer; font-size: .95rem; flex-shrink: 0;
}
.umay-w-btn.active { background: linear-gradient(90deg, #ff6b6b, #ff9d4a); }
#umay-w-ekran.active { background: linear-gradient(90deg, var(--accent2), var(--accent)); }
.umay-w-btn:disabled { background: var(--border); color: var(--text-dim); cursor: not-allowed; }
.umay-w-text, #umay-w-text {
  background: var(--bg); border: 1px solid var(--border); color: var(--text);
  border-radius: 6px; padding: .3rem .5rem; font-size: .75rem; width: 110px; min-width: 0;
}

/* Alim Satim Raporu sayfasi */
.as-hisse-listesi { display: flex; flex-direction: column; gap: .2rem; margin-top: .5rem; }
.as-hisse-satir {
  display: flex; justify-content: space-between; align-items: center;
  padding: .5rem .6rem; border-radius: 8px; cursor: pointer; font-size: .85rem;
}
.as-hisse-satir:hover { background: var(--bg-card-hi); }
.as-hisse-satir.secili { background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); border: 1px solid var(--accent); }
.as-hisse-satir.as-kapandi { opacity: .6; }
.as-hisse-satir.as-kapandi .as-hisse-kz { color: var(--text-dim); font-size: .7rem; }
.as-kapandi-etiket {
  font-size: .65rem; font-weight: 600; color: var(--text-dim);
  border: 1px solid var(--border); border-radius: 4px; padding: .1rem .4rem;
  vertical-align: middle;
}
.as-hisse-ticker { font-weight: 600; }
.as-orta-alan { overflow-y: auto; display: flex; flex-direction: column; gap: 1rem; padding: 1.2rem 1.5rem 6.5rem; }

/* Admin panelindeki "Yeni Kullanici Olustur" formu - .panel/.pozisyon-form
   varsayilan olarak kapladigi alanin tamamini doldurur (Portfoy sayfalarindaki
   dar 300px sol-rayil icin tasarlandi), admin.html'in genis .as-orta-alan'inda
   bu yuzden asiri buyuk gorunuyordu (2026-08-03). Kompakt, ileride yan yana
   baska panellerle birlikte oturabilecek sekilde genislik sinirlandi. */
.admin-form-panel { flex: none; max-width: 360px; }

.admin-kullanici-secici { display: flex; align-items: center; gap: .6rem; }
.admin-kullanici-secici label { color: var(--text-dim); font-size: .85rem; }
.admin-kullanici-secici select {
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border); color: var(--text);
  padding: .5rem .7rem; border-radius: 8px; font-size: .9rem; min-width: 280px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.admin-kullanici-secici select:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

/* 2026-08-10, Muzaffer'in "acilir bir pencere, tik tik tik isaretle"
   istegi - panel izinleri duzenleme popup'i. Sitede ilk gercek modal/
   overlay bileseni (once buna benzer bir sey yoktu), o yuzden mevcut
   .panel gradyan/kenar deseniyle uyumlu, sifirdan kurulmus kompakt bir
   bindirme. */
.admin-izin-overlay {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(5, 5, 10, .72);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.admin-izin-kutu { width: 100%; max-width: 420px; max-height: 80vh; overflow-y: auto; }
.admin-izin-kisayollar { display: flex; gap: .5rem; margin-bottom: .6rem; }
.admin-izin-kisayollar button {
  background: var(--bg); border: 1px solid var(--border); color: var(--text-dim);
  padding: .3rem .7rem; border-radius: 7px; font-size: .74rem; cursor: pointer;
}
.admin-izin-kisayollar button:hover { border-color: var(--border-hi); color: var(--text); }
.admin-izin-liste { display: flex; flex-direction: column; gap: .1rem; margin-bottom: .8rem; }
.admin-izin-satir {
  display: flex; align-items: center; gap: .6rem; padding: .45rem .3rem;
  border-radius: 7px; font-size: .88rem; cursor: pointer; transition: background .12s ease;
}
.admin-izin-satir:hover { background: var(--bg-card-hi); }
.admin-izin-satir input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; }
.admin-izin-butonlar { display: flex; gap: .6rem; justify-content: flex-end; }

/* Admin kullanici detayi - USD/TR pozisyonlar, alim/satim gecmisi, takip
   listesi hepsi yan yana ayri kompakt panellerde (2026-08-03, Muzaffer'in
   istegi - artik sadece pozisyonlar degil tum gecmis + performans tek
   bakista gorunuyor). */
.admin-panel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: start; }
.admin-panel-grid .panel { min-width: 0; max-height: 420px; }

/* Ayarlar sayfasi - panelleri (Baglanti Durumu / Hesabi Bagla) alt alta degil
   yan yana gostersin diye (2026-08-08, Muzaffer'in tekrarlanan istegi -
   admin-panel-grid ile AYNI mantik, sadece 2 sutun). */
.ayarlar-panel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; align-items: start; }
.ayarlar-panel-grid .panel { min-width: 0; }
.admin-gecmis-liste { max-height: 340px; overflow-y: auto; }
.admin-gecmis-hisse { padding: .5rem 0; border-top: 1px solid var(--border); }
.admin-gecmis-hisse:first-child { border-top: none; padding-top: 0; }
.admin-gecmis-ticker { font-weight: 600; color: var(--text); margin-bottom: .3rem; }
.as-bos-durum { color: var(--text-dim); font-size: .85rem; padding: 1rem 0; }
.as-baslik { font-size: 1.4rem; font-weight: 700; }
.as-stat-satiri { display: flex; gap: .6rem; flex-wrap: wrap; }
/* 2026-08-09: admin/performans/alim-satim'daki stat kutulari - anasayfa'daki
   .mini-stat ile AYNI gorsel dil (tabular-nums, ince harf araligi etiket). */
.as-stat-kutu {
  background: #00000026; border: 1px solid var(--border); border-radius: 10px;
  padding: .65rem .85rem; min-width: 110px; flex: 1;
}
.as-stat-etiket { font-size: .66rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .3rem; }
.as-stat-deger { font-size: 1.15rem; font-weight: 700; font-family: var(--font-data); font-variant-numeric: tabular-nums; }

/* 2026-08-10, Muzaffer'in "Toplam haricinde bir de Genel Toplam koyalim -
   bugune kadar yapilan TUM islemlerin toplamini versin" istegi - USD/TL
   iki blok, mevcut .as-stat-kutu deseniyle. */
.as-genel-toplam-bloklari { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.as-genel-toplam-blok { flex: 1; min-width: 280px; }
.as-genel-toplam-blok-baslik { font-size: .74rem; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: .03em; margin-bottom: .5rem; }
.as-stat-kutu.as-stat-kutu-vurgulu { background: color-mix(in srgb, var(--accent) 8%, #00000026); border-color: color-mix(in srgb, var(--accent) 30%, var(--border)); }
.as-stat-deger.as-stat-vurgulu { font-size: 1.35rem; }
.as-kademe-not { font-size: .72rem; color: var(--text-dim); margin-top: .5rem; }
.as-bilgi-notu { font-size: .82rem; color: var(--text-dim); }
.as-islem-kolonlari { display: flex; gap: 1rem; flex-wrap: wrap; }
.as-islem-kolon { flex: 1; min-width: 300px; }
.as-islem-satir {
  display: flex; align-items: center; gap: .7rem; font-size: .82rem;
  padding: .4rem .5rem; margin: 0 -.5rem; border-top: 1px solid var(--border); flex-wrap: wrap;
  border-radius: 7px; transition: background .12s ease;
}
.as-islem-satir:first-child { border-top: none; }
.as-islem-satir:hover { background: var(--bg-card-hi); }
.as-islem-tarih { color: var(--text-dim); min-width: 70px; }
.as-islem-adet { min-width: 70px; }
.as-islem-fiyat { color: var(--text-dim); min-width: 90px; }
.as-islem-tutar { font-weight: 600; margin-left: auto; }
.as-islem-not { width: 100%; font-size: .75rem; color: var(--text-dim); font-style: italic; }
.as-tarih-filtresi {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  padding: .6rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.as-tarih-filtresi input[type="date"] {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
  padding: .35rem .5rem; border-radius: 6px; font-size: .82rem;
}
.as-tarih-filtresi button {
  background: none; border: 1px solid var(--border); color: var(--text-dim);
  border-radius: 6px; padding: .35rem .7rem; font-size: .78rem; cursor: pointer;
}
.as-tarih-filtresi button:hover { border-color: var(--accent); color: var(--accent); }
.as-satis-form { display: flex; flex-direction: column; gap: .4rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--border); }
.as-satis-form input {
  background: var(--bg); border: 1px solid var(--border); color: var(--text);
  padding: .45rem .5rem; border-radius: 6px; font-size: .82rem;
}
.as-satis-form button {
  background: var(--accent); color: #001018; border: none; border-radius: 6px;
  padding: .45rem .8rem; font-size: .82rem; font-weight: 600; cursor: pointer;
}

/* ============================================================
   ALIM SATIM RAPORU - KOKTEN YENILEME (2026-08-12)
   Muzaffer'in acik istegi: "kokten bir degisiklik, muhtesem bir gorunum,
   Bora'nin sistemini gordun, cok karmasik olmasin ama bakan hayran kalsin".
   Sitenin KENDI "KONTROL ODASI" dilini (asagida, anasayfa icin yazilmis
   .hero/.mini-stat/.kk-* kurallari) yeni sinif icat etmeden BU sayfaya
   tasiyor/genisletiyor - JS'in zaten set ettigi .pozitif/.negatif/
   .as-stat-kutu-vurgulu gibi siniflara gore secici yaziliyor, alim-satim.js
   DEGISMEDEN cogu gorsel yukseltme calisir. ============================ */

/* Genel Toplam paneli -> hero muamelesi. Ic yapi (.as-genel-toplam-blok/
   .as-stat-kutu) AYNEN kaliyor, sadece dis cerceve + en onemli rakam
   (as-stat-vurgulu) buyuk gradyan yaziya donusuyor. */
.as-hero-panel {
  opacity: 0; transform: translateY(14px);
  animation: yukselis .6s cubic-bezier(.16,.84,.44,1) forwards;
}
.as-hero-panel .as-genel-toplam-blok-baslik { font-size: .7rem; letter-spacing: .08em; }
.as-hero-panel .as-stat-kutu-vurgulu {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, #00000026), color-mix(in srgb, var(--accent2) 10%, #00000026));
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
}
.as-hero-panel .as-stat-deger.as-stat-vurgulu {
  font-family: var(--font-display); font-size: 1.9rem; letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.as-hero-panel .as-stat-deger.as-stat-vurgulu.pozitif {
  background: linear-gradient(120deg, var(--parlak) 10%, var(--yesil) 80%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.as-hero-panel .as-stat-deger.as-stat-vurgulu.negatif {
  background: linear-gradient(120deg, var(--parlak) 10%, var(--kirmizi) 80%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Sol listeler (Hisselerim/TR/Opsiyon/Bekleyen Emirler) - K/Z artik duz
   renkli metin degil, kk-yon ile AYNI dilde bir pill rozet. */
.as-hisse-kz {
  font-family: var(--font-data); font-size: .74rem; font-weight: 700;
  padding: .15rem .55rem; border-radius: 999px; white-space: nowrap;
}
.as-hisse-kz.pozitif { color: var(--yesil); background: color-mix(in srgb, var(--yesil) 15%, transparent); }
.as-hisse-kz.negatif { color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 15%, transparent); }
.as-hisse-satir.as-kapandi .as-hisse-kz { background: none; padding: 0; }

/* Pozisyon detay basligi - ticker'in yanina kucuk bir marka rozeti
   (kk-rozet ile AYNI kare-gradyan dil), Al/Sat kisayollari zaten var. */
.as-baslik { display: flex; align-items: center; gap: .6rem; }
.as-baslik::before {
  content: attr(data-ilk-harf);
  width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: .8rem; color: #05050a;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
}
.as-baslik:not([data-ilk-harf])::before, .as-baslik[data-ilk-harf=""]::before { display: none; }

/* Detay panelindeki stat kutulari - mini-stat ile ayni derinlik, en
   onemli olan (Acik K/Z) zaten as-stat-kutu-vurgulu sinifiyla isaretleniyorsa
   hero muamelesi gorur (yukaridaki .as-hero-panel kurallari genel, bu
   sayfadaki HER as-stat-kutu-vurgulu icin gecerli - sadece Genel Toplam
   degil). */
.as-stat-kutu-vurgulu {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, #00000026), color-mix(in srgb, var(--accent2) 8%, #00000026));
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

/* YENI: Grafik paneli (grafik_ortak.js ile Portfoy sayfasindakiyle AYNI
   #tv-chart/#grafik-lejant, sadece .grafik-cerceve ile cercevelendi). */
.as-grafik-panel { padding: .9rem .9rem .5rem; }
.as-grafik-panel #tv-chart { width: 100%; height: 320px; }

/* YENI: "Umay Degerlendirmesi" paneli - diger (ham veri) panellerinden
   BILINCLI olarak ayrisiyor (mavi/altin gradyan kenarlik) - "bu bir LLM
   yorumu, ham veri degil" hissi versin diye, ama abartisiz. */
.as-yorum-panel {
  border-image: linear-gradient(135deg, var(--accent2), var(--altin)) 1;
  border-width: 1px; border-style: solid; border-radius: 11px;
}
.as-yorum-panel .panel-baslik { border-left-color: var(--accent2); }
.as-yorum-durum { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.as-yorum-al-btn {
  background: linear-gradient(135deg, var(--accent2), var(--accent-deep)); color: #05050a; border: none;
  border-radius: 8px; padding: .5rem 1rem; font-size: .82rem; font-weight: 700; cursor: pointer;
}
.as-yorum-al-btn:hover { filter: brightness(1.1); }
.as-yorum-al-btn:disabled { background: var(--border); color: var(--text-dim); cursor: not-allowed; filter: none; }
.as-yorum-spin {
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--accent2) 30%, transparent); border-top-color: var(--accent2);
  animation: as-yorum-donus .8s linear infinite;
}
@keyframes as-yorum-donus { to { transform: rotate(360deg); } }
.as-yorum-metin { font-size: .86rem; line-height: 1.55; white-space: pre-wrap; }
.as-yorum-meta { font-size: .7rem; color: var(--text-faint); margin-top: .6rem; display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }
.as-yorum-yeniden-btn {
  background: none; border: 1px solid var(--border); color: var(--text-dim);
  border-radius: 6px; padding: .2rem .6rem; font-size: .7rem; cursor: pointer;
}
.as-yorum-yeniden-btn:hover { border-color: var(--accent2); color: var(--accent2); }

/* Kademe Planı ilerleme pill'i (kk-yon ile ayni dil). */
.as-kademe-pill {
  display: inline-flex; font-family: var(--font-data); font-size: .68rem; font-weight: 700;
  padding: .2rem .55rem; border-radius: 999px; margin-left: .5rem;
  color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .as-hero-panel { animation: none; }
  .as-yorum-spin { animation: none; }
}

/* ---- Opsiyon Portfoy / Opsiyon Tarama (2026-08-03) ---- */
.op-pozisyon-satiri {
  padding: .5rem; border-radius: 8px; cursor: pointer; margin-bottom: .3rem;
  border: 1px solid transparent;
}
.op-pozisyon-satiri:hover { background: var(--bg-card-hi); }
.op-pozisyon-satiri.secili { background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); border-color: var(--accent); }
.op-pozisyon-satiri-ust { display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.op-pozisyon-ticker { color: var(--text); }
.op-pozisyon-strateji { font-size: .75rem; color: var(--text-dim); margin-top: .15rem; }

/* 2026-08-10, Muzaffer'in "opsiyon portfoyde cikis stratejisi yok, stop
   yakarsa nasil gorecegiz" tespiti sonrasi eklenen risk rozeti/pulse -
   onaylanan onizlemeyle (kritikNabiz) AYNI tasarim, gercek sinif adlarina
   tasindi: https://claude.ai/code/artifact/103e23f4-918a-47e3-b5e4-b218f6041f3f */
.op-pozisyon-satiri.kritik {
  border-color: color-mix(in srgb, var(--kirmizi) 55%, var(--border));
  animation: opRiskNabiz 1.8s ease-in-out infinite;
}
@keyframes opRiskNabiz {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--kirmizi) 45%, transparent); }
  50% { box-shadow: 0 0 16px 2px color-mix(in srgb, var(--kirmizi) 45%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .op-pozisyon-satiri.kritik { animation: none; box-shadow: 0 0 12px 1px color-mix(in srgb, var(--kirmizi) 40%, transparent); }
}
.op-risk-rozet-alani:empty { display: none; }
.op-risk-rozet {
  display: inline-flex; align-items: center; gap: .3rem; font-size: .64rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .03em; padding: .2rem .5rem; border-radius: 20px;
  margin-top: .4rem;
}
.op-risk-rozet::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.op-risk-kritik, .op-risk-sinirsiz {
  background: color-mix(in srgb, var(--kirmizi) 18%, var(--bg-card-hi)); color: var(--kirmizi);
  border: 1px solid color-mix(in srgb, var(--kirmizi) 40%, transparent);
}
.op-risk-vade {
  background: color-mix(in srgb, var(--altin) 16%, var(--bg-card-hi)); color: var(--altin);
  border: 1px solid color-mix(in srgb, var(--altin) 35%, transparent);
}

.op-bacak-satiri {
  display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .5rem;
  padding: .5rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px;
  position: relative;
}
.op-bacak-satiri select, .op-bacak-satiri input {
  background: var(--bg); border: 1px solid var(--border); color: var(--text);
  padding: .35rem .4rem; border-radius: 5px; font-size: .78rem; flex: 1 1 47%; min-width: 0;
}
.op-bacak-satiri .op-bacak-vade { flex-basis: 100%; }
.op-bacak-sil-btn {
  position: absolute; top: .3rem; right: .3rem;
  background: none; border: none; color: var(--text-dim);
  cursor: pointer; font-size: .8rem; line-height: 1; padding: .1rem .3rem;
}
.op-bacak-sil-btn:hover { color: var(--kirmizi); }
.op-ikincil-btn {
  background: none; border: 1px dashed var(--border); color: var(--text-dim);
  border-radius: 6px; padding: .4rem; cursor: pointer; font-size: .78rem; width: 100%;
  transition: border-color .15s ease, color .15s ease, transform .1s ease;
}
.op-ikincil-btn:hover { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); transform: translateY(-1px); }

.op-zincir-arama { display: flex; gap: .3rem; margin-bottom: .5rem; flex-wrap: wrap; }
.op-zincir-arama input, .op-zincir-arama select {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
  padding: .35rem; border-radius: 5px; font-size: .78rem;
}
.op-zincir-arama input { flex: 1; min-width: 80px; }
.op-zincir-arama button {
  background: var(--accent); color: #001018; border: none; border-radius: 5px;
  padding: .35rem .6rem; font-size: .78rem; font-weight: 600; cursor: pointer;
}

.op-strateji-satiri { padding: .4rem 0; border-top: 1px solid var(--border); cursor: pointer; }
.op-strateji-satiri:first-child { border-top: none; }
.op-strateji-baslik { font-size: .82rem; font-weight: 600; }
.op-strateji-detay { margin-top: .4rem; display: flex; flex-direction: column; gap: .2rem; }

/* Opsiyon Tarama */
.op-tarama-satiri {
  padding: .5rem; border-radius: 8px; cursor: pointer; margin-bottom: .3rem;
  border: 1px solid var(--border);
}
.op-tarama-satiri:hover { border-color: var(--accent); }
.op-tarama-satiri-ust { display: flex; justify-content: space-between; align-items: center; }
.op-tarama-ticker { font-weight: 600; color: var(--text); }
.op-sinyal-etiket {
  font-size: .68rem; padding: .1rem .4rem; border-radius: 4px; font-weight: 600;
}
.op-sinyal-etiket.yuksek { background: rgba(255,92,122,.15); color: var(--kirmizi); }
.op-sinyal-etiket.dusuk { background: rgba(61,220,132,.15); color: var(--yesil); }
.op-sinyal-etiket.onay { background: rgba(127,212,255,.15); color: #7fd4ff; margin-left: .3rem; }
.op-iv-legend { float: right; font-size: .7rem; font-weight: 400; text-transform: none; letter-spacing: normal; opacity: .85; }
.op-iv-legend-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin: 0 .25rem 0 .6rem; }
.op-iv-legend-nokta.call { background: var(--yesil); }
.op-iv-legend-nokta.put { background: var(--kirmizi); }

/* Islem Yap - Emir Formu (2026-08-05 yeniden tasarim, Muzaffer'in "cok kotu
   duruyor, daha modern/albenili yap" istegi). Onceki halinde .pozisyon-form
   duz bir <select>/<input> yigininiydi - native <select> hicbir sekilde
   stillenmiyordu (tarayici varsayilan acik renkli gorunumuyle koyu temayla
   cok carpiyordu, "cok kotu" hissinin asil kaynagi buydu). */
.paper-rozet {
  background: linear-gradient(135deg, #e0a030, #f0b850);
  color: #1a1408; padding: .15rem .55rem; border-radius: 5px;
  font-size: .68rem; font-weight: 700; vertical-align: middle;
  text-transform: none; letter-spacing: normal; margin-left: .4rem;
}
/* 2026-08-09: canli (gercek para) hesaba baglaniyken emir formundaki
   rozet BUNU ACIKCA gostermeli - paper'in aksine kirmizi/uyari renginde. */
.paper-rozet.canli-rozet {
  background: linear-gradient(135deg, #d92b3f, #ff5c7a);
  color: #fff;
}

.emir-formu { display: flex; flex-direction: column; gap: .9rem; }
/* 2026-08-09 (4. tur): Muzaffer'in "sayfaya ozel bilesenler de yenilensin"
   istegi - Islem Yap'in emir formu (ve AYNI siniflari paylasan Ayarlar'in
   Paper/Canli toggle'i) su ana kadar duz var(--bg-card) arka planla
   kalmisti. Diger paylasimli bilesenlerle (panel/tarama-karti) AYNI
   gradyan + odaklaninca hafif accent parlamasi eklendi; sayisal alanlar
   tabular-nums ile hizali. */
.emir-formu select, .emir-formu input[type="number"], .emir-formu input[type="date"] {
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border); color: var(--text);
  padding: .55rem .6rem; border-radius: 8px; font-size: .88rem; width: 100%;
  font-family: var(--font-data); font-variant-numeric: tabular-nums;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.emir-formu select {
  appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%), url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b8b9e' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: 0 0, right .6rem center; background-size: auto, 1.1em;
  padding-right: 2rem; cursor: pointer; font-family: var(--font-display); font-variant-numeric: normal;
}
.emir-formu select:focus, .emir-formu input:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

.emir-alan { display: flex; flex-direction: column; gap: .3rem; }
.emir-alan label {
  font-size: .72rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: .04em;
}

.emir-toggle-grup {
  display: flex; gap: .3rem; background: var(--bg); border: 1px solid var(--border);
  border-radius: 9px; padding: .25rem;
}
.emir-toggle-btn {
  flex: 1; background: none; border: none; color: var(--text-dim);
  padding: .5rem; border-radius: 6px; font-size: .85rem; font-weight: 600;
  cursor: pointer; transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.emir-toggle-btn:hover { color: var(--text); background: var(--bg-card-hi); }
/* GERCEK BUG (nav barda daha once bulunanla AYNI desen): aktif pill'in
   arka plani gruptaki HOVER'la neredeyse ayni tondaydi, secili durum
   zar zor secilirdi - artik dolu-renk pill (nav'daki .ust-nav a.aktif
   ile ayni dil). */
.emir-toggle-btn.aktif { background: var(--accent); color: #001018; box-shadow: 0 2px 10px -3px color-mix(in srgb, var(--accent) 60%, transparent); }
.emir-yon-toggle .emir-toggle-btn.al.aktif { background: linear-gradient(135deg, var(--yesil), #2fbd6e); color: #04140c; box-shadow: 0 2px 10px -3px color-mix(in srgb, var(--yesil) 60%, transparent); }
.emir-yon-toggle .emir-toggle-btn.sat.aktif { background: linear-gradient(135deg, var(--kirmizi), #e0405f); color: #1a0509; box-shadow: 0 2px 10px -3px color-mix(in srgb, var(--kirmizi) 60%, transparent); }

.emir-yon-miktar { flex-direction: row !important; gap: .6rem; display: flex; align-items: stretch; }
.emir-yon-miktar .emir-yon-toggle { flex: 1.2; }
.emir-yon-miktar input { flex: 1; min-width: 0; }

.ticker-arama-kutusu { position: relative; }
.ticker-arama-liste {
  display: none; position: absolute; top: calc(100% + .3rem); left: 0; right: 0;
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
  border: 1px solid var(--border-hi); border-radius: 10px;
  max-height: 220px; overflow-y: auto; z-index: 20;
  box-shadow: 0 14px 32px -10px rgba(0,0,0,.55);
}
.ticker-arama-satiri {
  padding: .5rem .7rem; font-size: .85rem; cursor: pointer; font-weight: 600;
  transition: background .12s ease, color .12s ease;
}
.ticker-arama-satiri:hover { background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); color: var(--accent); }

.emir-opsiyon-alanlari {
  display: flex; gap: .6rem; flex-wrap: wrap; background: var(--bg);
  border: 1px solid var(--border); border-radius: 10px; padding: .7rem;
}
.emir-opsiyon-alanlari .emir-alan { flex: 1; min-width: 100px; }

.emir-tipi-satiri { display: flex; gap: .5rem; }
.emir-tipi-satiri select { flex: 1; }
.emir-tipi-satiri input { flex: 1; }

.emir-onizle-btn {
  border: none; border-radius: 9px; padding: .75rem; font-size: .95rem; font-weight: 700;
  cursor: pointer; color: #04140c; letter-spacing: .02em;
  transition: filter .15s ease, transform .1s ease;
}
.emir-onizle-btn.al { background: linear-gradient(135deg, var(--yesil), #2fbd6e); }
.emir-onizle-btn.sat { background: linear-gradient(135deg, var(--kirmizi), #e0405f); color: #1a0509; }
.emir-onizle-btn:hover { filter: brightness(1.08); }
.emir-onizle-btn:active { transform: scale(.98); }

/* 2026-08-10, Muzaffer'in "mobil optimizasyonu yap" istegi: bu tum blok
   "mobil kademe" (<=1000px, kanvas/olcekleme modunun DEVRE DISI oldugu
   tek aralik - bkz. olcekle.js) icin TEK bir tutarli sayfa-seviyesi duzen.
   Eskiden bu kurallar 1000px (sadece sutun yigma) ve 720px (sayfa kaydirma +
   grid coken) arasinda BOLUNMUSTU - 721-1000px araligi (ust bar sarma
   hatasinin da kok nedeni oldugu "olu bolge") ne sayfa kaydirmasi ne grid
   cokmesi aliyordu, GERCEK BUG: o araliktaki sayfalar (orn. Ayarlar/Admin,
   ya da .tarama-rayil kullanan Opsiyon Tarama/BIST Tarama/Moonshot/Hedge/
   Tarama) hem tasan sabit genislikli rayiller hem erisilemez alt icerikle
   "dagilmis" gorunuyordu. GERCEK BUG 2: .tarama-rayil (width:380px) hicbir
   zaman .sol-rayil/.sag-rayil ile birlikte width:100%'e cekilmiyordu. */
@media (max-width: 1000px) {
  .ana-govde { flex-direction: column; }
  .sol-rayil, .sag-rayil, .tarama-rayil { width: 100%; border: none; border-bottom: 1px solid var(--border); }
  .as-islem-kolonlari { flex-direction: column; }
  .ayarlar-panel-grid, .admin-panel-grid { grid-template-columns: 1fr; }

  /* Masaustunde sayfa sabit yukseklikte kalip her panel KENDI icinde kayar
     (body{overflow:hidden}, bkz. yukarida) - mobilde sutunlar alt alta
     dizilince toplam icerik ekrandan uzun oluyor ama sayfa hic kaymadigi
     icin alttaki her sey erisilmez kaliyordu (Muzaffer'in 2026-08-05
     sikayeti: "mobil ekranda asagi kaydirma yok"). Cozum: mobilde TEK bir
     sayfa-seviyesi kaydirmaya gec, ic panellerin kendi kirpma/kaydirmasini
     kapat. */
  html, body { height: auto; overflow-y: auto; overflow-x: hidden; }
  .ana-govde { overflow: visible; min-height: 0; }
  .sol-rayil, .sag-rayil, .orta-alan, .as-orta-alan,
  .sol-rayil-kaydirilabilir, .tarama-rayil {
    overflow-y: visible;
    max-height: none;
  }
}

/* 2026-08-10, Muzaffer'in "buyuk monitorde kucuk gorunuyor, tum
   cozunurluklerde dogru calissin" sikayeti sirasinda GERCEK testte (Playwright,
   900px genislik) bulunan bir baska bug: bu kural eskiden SADECE <=720px'te
   (gercek telefon) devreye giriyordu, "721-1000px'te menu zaten dugmeye
   donusuyor" varsayimiyla - ama ust-nav.js o notttan SONRA degisti (2026-08-10,
   ayni gun ici), artik menu HER genislikte ZATEN sabit-kucuk bir dugme (bkz.
   ust-nav.js basi). Yani 721-1000px arasinda asil sorun menu DEGIL,
   portfoy-ozet'teki (kaynak secici + Toplam Deger/Maliyet/K-Z kutulari)
   icerigin 260px+auto grid sutununa sigmamasiydi - .ust-bar'in 3 sutunu
   (260px | 1fr | minmax(0,auto)) bunu ZORLA tek satira sikistirmaya
   calisiyor, kutular birbirinin ustune biniyordu. Esik 720px'ten 1000px'e
   cikarildi - artik <=1000px'te (ana mobil esigiyle AYNI) baslik+ozet
   ustte, menu altta, duzgun alt alta diziliyor. */
@media (max-width: 1000px) {
  .ust-bar {
    padding: .6rem 1rem;
    grid-template-columns: 1fr auto;
    grid-template-areas: "baslik ozet" "menu menu";
  }
  .ust-bar h1 { font-size: 1rem; grid-area: baslik; }
  .ust-bar .portfoy-ozet { grid-area: ozet; }
  .ust-bar .ust-nav-alani { grid-area: menu; display: flex; justify-content: flex-end; }
}

/* ============================================================
   "KONTROL ODASI" TASARIM DILI (2026-08-09)
   Muzaffer'in acik istegi: "şık paneller ve görsel bir site... 'wow' desin".
   Anasayfa (anasayfa.html) icin tasarlandi, ama portfoy-ozet barlarinda da
   (index/tr-portfoy/etf-portfoy) kullaniliyor - AYNI bilesenler, iki yerde
   tekrar kullanilabilir olsun diye genel/paylasimli tutuldu. Geri donus
   GEREKIRSE: bu blok + kayan-yazi-v2/hero-*/kart-* siniflari SILINEBILIR,
   eski .kayan-yazi-ic/.portfoy-ozet stilleri (yukarida) DOKUNULMADAN
   kaldigindan sayfa eski haline doner (bkz. git dali gorsel-yenileme-2026-08-09). */

@media (prefers-reduced-motion: reduce) {
  /* GERCEK BUG (2026-08-14, Muzaffer'in "kozmetigi cok kotu" geri
     bildirimiyle bulundu): .hero/.kontrol-kart'in TABAN kurali
     opacity:0/translateY(14px) ile baslayip "yukselis" animasyonunun
     "forwards" ile opacity:1'e tasimasina guveniyordu. Bu blok animasyonu
     KAPATIYORDU ama opacity/transform'u SIFIRLAMIYORDU - yani azaltilmis
     hareket tercihi acik olan HER tarayicida (Muzaffer'inki dahil) butun
     kontrol-kart gridleri ve hero panelleri KALICI OLARAK GORUNMEZ
     kaliyordu. Playwright ekran goruntusuyle yakalandi: 17 kart DOM'da
     vardi, boyutlari dogruydu, ama opacity:0. */
  .hero, .kontrol-kart, #kayan-yazi-ic.v2 { animation: none !important; opacity: 1 !important; transform: none !important; }
  .as-hero-panel { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* ---- Kayan yazi v2: kategori rozetli, gercek uzunlukta baslik ---- */
#kayan-yazi-bar.v2 { position: relative; overflow: hidden; }
#kayan-yazi-bar.v2::before,
#kayan-yazi-bar.v2::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 56px; z-index: 2; pointer-events: none;
}
#kayan-yazi-bar.v2::before { left: 0; background: linear-gradient(90deg, var(--bg-card), transparent); }
#kayan-yazi-bar.v2::after { right: 0; background: linear-gradient(270deg, var(--bg-card), transparent); }
.ky-madde { display: inline-flex; align-items: center; gap: .55rem; padding: 0 1.4rem; font-size: .8rem; color: var(--text-dim); }
.ky-rozet {
  font-weight: 800; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase;
  padding: .15rem .45rem; border-radius: 3px; flex-shrink: 0;
}
.ky-rozet.piyasa { color: var(--yesil); background: color-mix(in srgb, var(--yesil) 15%, transparent); }
.ky-rozet.gundem { color: var(--accent2); background: color-mix(in srgb, var(--accent2) 15%, transparent); }
.ky-metin { color: var(--text); }
.ky-ayrac { color: var(--text-faint); }

/* ---- Hero panel (anasayfa) ---- */
.hero {
  position: relative;
  background: linear-gradient(160deg, var(--bg-card) 0%, var(--bg-card-hi) 100%);
  border: 1px solid var(--border); border-radius: 18px;
  padding: 2rem 2.2rem;
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 2.2rem; align-items: center;
  opacity: 0; transform: translateY(14px);
  animation: yukselis .6s cubic-bezier(.16,.84,.44,1) forwards;
}
@keyframes yukselis { to { opacity: 1; transform: translateY(0); } }
.hero-etiket { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-dim); margin: 0 0 .4rem; }
.hero-deger {
  font-family: var(--font-display); font-size: clamp(2.2rem, 4.6vw, 3.6rem); line-height: .98; letter-spacing: -.01em; margin: 0;
  background: linear-gradient(120deg, var(--parlak) 15%, var(--accent) 65%, var(--accent2) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-variant-numeric: tabular-nums;
}
.hero-deger small { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 1.2rem; font-weight: 700; -webkit-text-fill-color: var(--text-dim); margin-left: .3rem; }
.hero-degisim {
  display: inline-flex; align-items: center; gap: .35rem; margin-top: .7rem; padding: .35rem .7rem; border-radius: 999px;
  font-family: var(--font-data); font-size: .85rem; font-weight: 600;
}
.hero-degisim.pozitif { background: color-mix(in srgb, var(--yesil) 15%, transparent); color: var(--yesil); }
.hero-degisim.negatif { background: color-mix(in srgb, var(--kirmizi) 15%, transparent); color: var(--kirmizi); }
.hero-istatistikler { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; margin-top: 1.3rem; }
.mini-stat { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .65rem .8rem; }
.mini-stat-etiket { font-size: .64rem; color: var(--text-faint); letter-spacing: .04em; text-transform: uppercase; margin-bottom: .2rem; }
.mini-stat-deger { font-family: var(--font-data); font-size: 1.05rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.mini-stat-deger.uyari { color: var(--altin); }
.mini-stat-alt { font-size: .68rem; color: var(--text-faint); margin-top: .1rem; }
.grafik-cerceve { background: #00000026; border: 1px solid var(--border); border-radius: 12px; padding: .9rem .9rem .5rem; }
.grafik-cerceve canvas { width: 100%; display: block; }

/* ---- Portfoy kartlari (anasayfa) ---- */
/* 2026-08-10: Opsiyon karti eklenince sabit 3 sutun (repeat(3,1fr)) 4.
   karti tek basina 2. satira dusuruyordu (2 bos sutun) - auto-fit'e
   gecildi, kart sayisi degisse de (3, 4, ...) her zaman dengeli sarar. */
.kart-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-top: 1.3rem; }
@media (max-width: 980px) { .kart-izgara { grid-template-columns: 1fr; } .hero { grid-template-columns: 1fr; } }
.kontrol-kart {
  background: var(--bg-card); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur));
  border: 1px solid var(--border); border-radius: 20px; padding: 1.2rem 1.2rem 1rem;
  opacity: 0; transform: translateY(14px); animation: yukselis .55s cubic-bezier(.16,.84,.44,1) forwards;
  transition: border-color .2s ease, transform .2s ease; text-decoration: none; color: inherit; display: block;
  box-shadow: 0 26px 50px -34px rgba(124,109,242,.3);
}
.kontrol-kart:hover { border-color: var(--accent); transform: translateY(-3px); }
.kontrol-kart:nth-of-type(1) { animation-delay: .06s; }
.kontrol-kart:nth-of-type(2) { animation-delay: .12s; }
.kontrol-kart:nth-of-type(3) { animation-delay: .18s; }
.kk-ust { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: .8rem; }
.kk-marka { display: flex; align-items: center; gap: .55rem; }
.kk-rozet { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: .74rem; color: #05050a; }
.kk-rozet.us { background: linear-gradient(135deg, var(--accent), #2b8fd6); }
.kk-rozet.etf { background: linear-gradient(135deg, var(--accent2), var(--accent-deep)); }
.kk-rozet.tr { background: linear-gradient(135deg, var(--kirmizi), #d1395a); }
.kk-rozet.op { background: linear-gradient(135deg, var(--altin), #c98f1f); }
.kk-baslik { font-weight: 700; font-size: .92rem; }
.kk-alt { font-size: .7rem; color: var(--text-faint); }
.kk-yon { font-family: var(--font-data); font-size: .68rem; font-weight: 700; padding: .2rem .5rem; border-radius: 999px; }
.kk-yon.pozitif { color: var(--yesil); background: color-mix(in srgb, var(--yesil) 15%, transparent); }
.kk-yon.negatif { color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 15%, transparent); }
.kk-deger { font-family: var(--font-data); font-size: 1.65rem; font-weight: 700; font-variant-numeric: tabular-nums; margin: .05rem 0 .6rem; }
.kk-canvas-satir { margin: .3rem 0 .8rem; }
.kk-canvas-satir canvas { width: 100%; height: 40px; display: block; }
.kk-holding-liste { display: flex; flex-direction: column; gap: .05rem; }
.kk-holding-satir { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: .5rem; padding: .4rem .1rem; border-top: 1px solid var(--border); font-size: .8rem; }
.kk-holding-satir:first-child { border-top: none; }
.kk-h-ticker { font-family: var(--font-data); font-weight: 700; color: var(--text); }
.kk-h-sektor { color: var(--text-faint); font-size: .68rem; }
.kk-h-fiyat { font-family: var(--font-data); color: var(--text-dim); font-variant-numeric: tabular-nums; text-align: right; }
.kk-h-degisim { font-family: var(--font-data); font-size: .74rem; font-weight: 600; text-align: right; min-width: 3.4rem; }
.kk-spark, .kk-spark-yer { width: 48px; height: 20px; display: inline-block; }
.kk-bos { color: var(--text-faint); font-size: .82rem; padding: .6rem .1rem; }

/* ============================================================
   UMAY PROTOTIP - Bora Ozkent'in Portfolio Platform'undan METODOLOJI
   olarak ilham alinan, ayri/bagimsiz prototip icin EK kurallar
   (2026-08-12). Umay'in gercek style.css'i degistirilmedi - bu, o
   dosyanin bir KOPYASI uzerine eklenmis yeni kurallar. ============ */

/* ---- Sayfa iskeleti: sabit sol nav + kaydirilabilir icerik ---- */
.proto-govde { display: flex; height: 100vh; overflow: hidden; }
.proto-nav {
  width: 264px; flex-shrink: 0; overflow-y: auto;
  background: linear-gradient(180deg, var(--bg-card-hi), var(--bg-card));
  backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur));
  border-right: 1px solid var(--border);
  padding: 1.2rem 1rem 2rem;
}
.proto-marka { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.4rem; padding: 0 .3rem; }
.proto-marka-rozet {
  width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: .8rem; color: #05050a;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
}
.proto-marka-metin { font-weight: 800; font-size: .95rem; }
.proto-marka-alt { font-size: .64rem; color: var(--text-faint); }
.proto-nav-grup-baslik {
  font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
  color: var(--text-faint); margin: 1.1rem 0 .5rem; padding: 0 .5rem;
}
.proto-nav-grup-baslik:first-of-type { margin-top: .4rem; }
.proto-nav-oge {
  display: flex; align-items: center; gap: .55rem; padding: .5rem .55rem; border-radius: 8px;
  font-size: .84rem; color: var(--text-dim); text-decoration: none; cursor: pointer;
}
.proto-nav-oge .ikon { width: 16px; text-align: center; opacity: .8; font-size: .82rem; }
.proto-nav-oge.aktif { background: color-mix(in srgb, var(--accent) 12%, var(--bg-card-hi)); color: var(--text); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); }
.proto-nav-oge.yakinda { opacity: .45; cursor: default; }
.proto-nav-oge.yakinda:hover { background: none; }
.proto-nav-oge:not(.yakinda):not(.aktif):hover { background: var(--bg-card-hi); color: var(--text); }
.proto-yakinda-etiket {
  margin-left: auto; font-size: .58rem; font-weight: 800; letter-spacing: .04em;
  color: var(--text-faint); border: 1px solid var(--border); border-radius: 4px; padding: .05rem .3rem;
}
.proto-icerik { flex: 1; overflow-y: auto; padding: 2rem 2.2rem 5rem; }
/* Panel modu (2026-08-15): baska bir sayfanin ic-cerceve/iframe'i olarak
   gomulu acildiginda (?panel=1) sol menu TAMAMEN gizlenir - Muzaffer'in
   acik talimati: "sol taraftaki menu kesinlikle ama kesinlikle
   gorunmeyecek". html.panel-modu, <head> icinde SENKRON bir script ile
   erkenden eklenir (yanip-sonme olmasin diye, nav DOM'a cizilmeden once). */
html.panel-modu .proto-nav { display: none !important; }
html.panel-modu .proto-icerik { padding: 1.2rem 1.4rem 2.5rem; }
.proto-not {
  max-width: 900px; margin: 0 0 1.4rem; font-size: .8rem; color: var(--text-faint);
  background: #00000026; border: 1px solid var(--border); border-radius: 10px; padding: .7rem .9rem; line-height: 1.5;
}
.proto-not b { color: var(--text-dim); }

/* ---- Hero (anasayfa - bu kopyada .hero zaten var, sadece donem-satiri yeni) ---- */
.hero-donem-satiri { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin-top: 1rem; }
.donem-kutu { background: #00000026; border: 1px solid var(--border); border-radius: 10px; padding: .6rem .75rem; }
.donem-etiket { font-size: .6rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .25rem; }
.donem-deger { font-family: var(--font-data); font-size: .95rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.donem-deger.pozitif { color: var(--yesil); }
.donem-deger.negatif { color: var(--kirmizi); }

/* ---- Donut grafik (SVG stroke-dasharray tabanli - sitede ilk kez) ---- */
.donut-sarici { position: relative; width: 148px; height: 148px; flex-shrink: 0; }
.donut-orta { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.donut-orta-etiket { font-size: .58rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: .05em; }
.donut-orta-deger { font-family: var(--font-display); font-size: 1.05rem; margin-top: .15rem; }

/* ---- Hesap Dagilimi tablosu ---- */
.hesap-govde { display: flex; gap: 1.6rem; align-items: center; flex-wrap: wrap; }
.hesap-tablo { flex: 1; min-width: 240px; border-collapse: collapse; font-size: .82rem; }
.hesap-tablo th { text-align: right; font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); font-weight: 700; padding: 0 0 .5rem; }
.hesap-tablo th:first-child, .hesap-tablo td:first-child { text-align: left; }
.hesap-tablo td { padding: .5rem 0; border-top: 1px solid var(--border); font-family: var(--font-data); font-variant-numeric: tabular-nums; text-align: right; }
.hesap-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .5rem; }
.hesap-ad { font-family: -apple-system, sans-serif; font-weight: 600; }
.hesap-tablo tr.toplam td { border-top: 1px solid var(--border-hi); font-weight: 700; color: var(--text); padding-top: .65rem; }
/* ---- Kisisel Portfoy sayfasi (2026-08-12, 2. tur - Bora'nin "Portfoyum"
   ekranindaki katlanir-grup + sutun-ozellestirme + 3-sekmeli detay modali
   YAPISINI izleyen genisletme). ---- */
.kp-pill { font-family: var(--font-data); font-size: .66rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; white-space: nowrap; display: inline-block; }
.kp-pill.pozitif { color: var(--yesil); background: color-mix(in srgb, var(--yesil) 15%, transparent); }
.kp-pill.uyari { color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 15%, transparent); }
.kp-pill.notr { color: var(--altin); background: color-mix(in srgb, var(--altin) 15%, transparent); }
.kp-pill.bilgi { color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, transparent); }

/* Son Islemler ozet kartlari */
.kp-ozet-satir { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-bottom: .9rem; }
.kp-ozet-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .65rem .8rem; }
.kp-ozet-etiket { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .25rem; }
.kp-ozet-deger { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.kp-ozet-deger.pozitif { color: var(--yesil); }
.kp-ozet-deger.negatif { color: var(--kirmizi); }
.kp-islem-tablo { width: 100%; border-collapse: collapse; font-size: .78rem; }
.kp-islem-tablo th { text-align: right; font-size: .6rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); font-weight: 700; padding: 0 .5rem .45rem 0; }
.kp-islem-tablo th:first-child, .kp-islem-tablo td:first-child { text-align: left; }
.kp-islem-tablo td { padding: .4rem .5rem .4rem 0; border-top: 1px solid var(--border); font-family: var(--font-data); font-variant-numeric: tabular-nums; text-align: right; }

/* Katlanir gruplar */
.kp-grup { margin-bottom: 1rem; }
.kp-grup-ust { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-bottom: .7rem; }
.kp-grup-ad { display: flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-size: .95rem; }
.kp-grup-sayi { font-size: .72rem; color: var(--text-faint); font-family: var(--font-data); }
.kp-canli-rozet { display: inline-flex; align-items: center; gap: .35rem; font-size: .66rem; color: var(--yesil); background: color-mix(in srgb, var(--yesil) 12%, transparent); border-radius: 999px; padding: .18rem .55rem; }
.kp-canli-nokta { width: 6px; height: 6px; border-radius: 50%; background: var(--yesil); box-shadow: 0 0 6px var(--yesil); }
.kp-sutun-btn { font-size: .72rem; color: var(--text-dim); background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 8px; padding: .35rem .65rem; cursor: pointer; }
.kp-sutun-btn:hover { border-color: var(--border-hi); color: var(--text); }

.kp-grup-ozet {
  display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; cursor: pointer;
  background: #00000026; border: 1px solid var(--border); border-radius: 12px; padding: .85rem 1.1rem;
  transition: border-color .15s;
}
.kp-grup-ozet:hover { border-color: var(--border-hi); }
.kp-grup-ozet-deger { font-family: var(--font-display); font-size: 1.35rem; }
.kp-grup-ozet-alt { font-size: .66rem; color: var(--text-faint); margin-top: .15rem; }
.kp-grup-donem { min-width: 88px; }
.kp-grup-donem-etiket { font-size: .6rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .15rem; }
.kp-grup-donem-deger { font-family: var(--font-data); font-size: .82rem; font-weight: 600; }
.kp-grup-donem-deger.pozitif { color: var(--yesil); }
.kp-grup-donem-deger.negatif { color: var(--kirmizi); }
.kp-grup-pay { margin-left: auto; text-align: right; }
.kp-grup-ok { transition: transform .2s; color: var(--text-faint); }
.kp-grup.acik .kp-grup-ok { transform: rotate(90deg); }
.kp-grup-govde { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.kp-grup.acik .kp-grup-govde { max-height: 2000px; }

/* Sutun ozellestirme dropdown */
.kp-sutun-sarici { position: relative; }
.kp-sutun-panel {
  position: absolute; right: 0; top: calc(100% + .4rem); z-index: 20; min-width: 210px;
  background: var(--bg-card-hi); border: 1px solid var(--border-hi); border-radius: 10px;
  padding: .6rem; box-shadow: 0 12px 28px #00000066; display: none;
}
.kp-sutun-panel.acik { display: block; }
.kp-sutun-satir { display: flex; align-items: center; gap: .5rem; padding: .3rem .2rem; font-size: .76rem; color: var(--text-dim); cursor: pointer; }
.kp-sutun-satir:hover { color: var(--text); }
.kp-sutun-satir input { accent-color: var(--accent); }

/* Al/Sat butonlari (hisse satirinda, su an icin sadece gorsel - hicbir yere gitmiyor) */
.kp-alsat-cift { display: flex; gap: .4rem; }
.kp-alsat-al, .kp-alsat-sat { font-size: .68rem; font-weight: 700; border: none; border-radius: 7px; padding: .3rem .6rem; cursor: pointer; white-space: nowrap; }
.kp-alsat-al { color: #05050a; background: var(--yesil); }
.kp-alsat-sat { color: #05050a; background: var(--kirmizi); }

.kp-kapat-btn { font-size: .68rem; font-weight: 600; color: var(--text-dim); background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 7px; padding: .3rem .6rem; cursor: pointer; white-space: nowrap; }
.kp-kapat-btn:hover { border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); color: var(--kirmizi); }

/* 2026-08-17: Genel amacli "bolum paneli" - Muzaffer'in referansla yan
   yana kiyaslayip "sayfa cok genis, kartlar kocaman - her bolumu bir
   panel icine alalim" dedigi geri bildirimden dogdu. Ilk Gunluk Ozet'te
   (bkz. .go-* siniflari) uygulandi, sonra TUM SITEYE yayilmasi istendi -
   bu yuzden sayfa-onekli DEGIL, genel (page-agnostic) burada tutuluyor.
   Kullanim: naked/cerceve siz bir tablo/liste bolumunu <div class=
   "bolum-panel"><div class="bolum-panel-baslik">Baslik</div>...</div>
   ile sar; iki ilgili bolumu yan yana koymak icin ikisini bir
   .bolum-panel-cift sarmalayicisina koy (dar ekranda otomatik tek
   sutuna duser). */
.bolum-panel { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.2rem; }
.bolum-panel-baslik { font-family: var(--font-display); font-size: .8rem; color: var(--text); margin-bottom: .7rem; }
.bolum-panel-cift { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; margin-top: 1.1rem; }
.bolum-panel .kp-tablo { min-width: 0; }
.bolum-panel .kp-tablo-sarici { margin-top: 0; }
@media (max-width: 720px) {
  .bolum-panel-cift { grid-template-columns: 1fr; }
}

/* Pozisyon tablosu */
.kp-tablo-sarici { overflow-x: auto; margin-top: .8rem; }
.kp-tablo { width: 100%; min-width: 900px; border-collapse: collapse; font-size: .78rem; }
.kp-tablo th { text-align: right; font-size: .6rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); font-weight: 700; padding: 0 .5rem .5rem 0; white-space: nowrap; }
.kp-tablo th:first-child, .kp-tablo td:first-child { text-align: left; }
.kp-tablo td { padding: .5rem .5rem .5rem 0; border-top: 1px solid var(--border); font-family: var(--font-data); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.kp-tablo tr:hover td { background: var(--bg-card-hi); }
.kp-tablo tr.toplam td { border-top: 1px solid var(--border-hi); font-weight: 700; color: var(--text); }
.kp-hesap-etiket { font-size: .62rem; color: var(--text-faint); margin-top: .1rem; }
.kp-detay-btn { font-size: .68rem; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius: 7px; padding: .3rem .6rem; cursor: pointer; }
.kp-detay-btn:hover { background: color-mix(in srgb, var(--accent) 22%, transparent); }

/* Detay modali */
.kp-modal-arkaplan { position: fixed; inset: 0; background: #05050acc; z-index: 100; display: flex; align-items: flex-start; justify-content: center; padding: 3vh 1rem; overflow-y: auto; }
.kp-modal { width: 100%; max-width: 1180px; background: var(--bg-card); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur)); border: 1px solid var(--border-hi); border-radius: 24px; padding: 1.3rem 1.7rem 1.6rem; animation: yukselis .2s ease; box-shadow: 0 40px 80px -40px rgba(124,109,242,.4); }
.kp-modal-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.kp-modal-baslik { font-family: var(--font-display); font-size: 1.15rem; }
.kp-modal-alt { font-size: .74rem; color: var(--text-faint); font-weight: 400; margin-top: .15rem; }
.kp-modal-kapat { background: none; border: none; color: var(--text-faint); font-size: 1.2rem; cursor: pointer; line-height: 1; padding: .2rem; }
.kp-modal-kapat:hover { color: var(--text); }
.kp-sekmeler { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: 1px solid var(--border); margin-bottom: 1rem; }
.kp-sekme-btn { background: none; border: none; color: var(--text-faint); font-size: .8rem; padding: .55rem .2rem; margin-right: 1.1rem; cursor: pointer; border-bottom: 2px solid transparent; white-space: nowrap; }
.kp-sekme-btn.aktif { color: var(--text); border-bottom-color: var(--accent); }
.kp-sekme-btn.pasif { opacity: .5; cursor: default; }

.kp-grafik-tam { height: 640px; background: #00000026; border: 1px solid var(--border); border-radius: 12px; padding: .7rem; }

.kp-aksiyon-rozet { display: inline-block; font-family: var(--font-display); font-size: .78rem; padding: .35rem .75rem; border-radius: 8px; margin-bottom: .5rem; }
.kp-aksiyon-rozet.ek-alim { background: color-mix(in srgb, var(--yesil) 18%, transparent); color: var(--yesil); }
.kp-aksiyon-rozet.izle { background: color-mix(in srgb, var(--altin) 18%, transparent); color: var(--altin); }
.kp-aksiyon-rozet.koru { background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--accent); }
.kp-aksiyon-rozet.azalt { background: color-mix(in srgb, var(--kirmizi) 18%, transparent); color: var(--kirmizi); }

.kp-sd-liste { display: flex; flex-direction: column; gap: .35rem; margin-top: .4rem; }
.kp-sd-satir { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-data); font-size: .78rem; padding: .35rem .6rem; background: #00000026; border-radius: 7px; }
.kp-sd-dokunma { font-size: .64rem; color: var(--text-faint); }

.kp-legend { display: flex; gap: 1.6rem; flex-wrap: wrap; margin-top: .8rem; padding: .8rem 1rem; background: #00000026; border: 1px solid var(--border); border-radius: 10px; font-size: .72rem; color: var(--text-dim); }
.kp-legend-grup b { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .35rem; }
.kp-legend-oge { display: flex; align-items: center; gap: .4rem; margin-bottom: .2rem; }

/* ---- Trend Skoru motoru (2026-08-12, 4. tur - Muzaffer'in "kendi bilgini
   kullan" istegiyle kurulan 7-faktorlu skor + cikis cizgileri + riskler +
   takip plani + sozluk sistemi) ---- */
.panel-alt-baslik {
  font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  color: var(--text-faint); margin-bottom: .5rem;
}
.kp-skor-buyuk {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 12px; padding: 1rem; text-align: center; min-width: 140px;
  border: 1px solid var(--border);
}
.kp-skor-buyuk.pozitif { background: color-mix(in srgb, var(--yesil) 10%, #00000026); border-color: color-mix(in srgb, var(--yesil) 30%, var(--border)); }
.kp-skor-buyuk.notr { background: color-mix(in srgb, var(--altin) 10%, #00000026); border-color: color-mix(in srgb, var(--altin) 30%, var(--border)); }
.kp-skor-buyuk.uyari { background: color-mix(in srgb, var(--kirmizi) 10%, #00000026); border-color: color-mix(in srgb, var(--kirmizi) 30%, var(--border)); }
.kp-skor-sayi { font-family: var(--font-display); font-size: 2.2rem; line-height: 1; }
.kp-skor-sayi span { font-size: 1rem; color: var(--text-faint); font-family: var(--font-data); }
.kp-skor-etiket { margin-top: .4rem; font-size: .82rem; font-weight: 600; }

.kp-aktif-satir td { background: color-mix(in srgb, var(--accent) 6%, transparent); }

.kp-faktor-satir, .kp-ceza-satir { margin-bottom: .55rem; font-size: .78rem; }
.kp-faktor-ust { display: flex; justify-content: space-between; font-family: var(--font-data); margin-bottom: .2rem; }
.kp-faktor-bar { height: 5px; border-radius: 999px; background: #00000040; overflow: hidden; }
.kp-faktor-bar-ic { height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent2)); }
.kp-faktor-detay { font-size: .7rem; color: var(--text-faint); margin-top: .2rem; }
.kp-ceza-satir .kp-faktor-ust { color: var(--kirmizi); }

.kp-risk-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.kp-risk-kart { background: #00000026; border: 1px solid var(--border); border-radius: 10px; padding: .7rem .85rem; }
.kp-risk-kart.aktif { border-color: color-mix(in srgb, var(--kirmizi) 35%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 6%, #00000026); }
.kp-risk-baslik { font-size: .78rem; font-weight: 700; margin-bottom: .3rem; }
.kp-risk-aciklama { font-size: .74rem; color: var(--text-dim); line-height: 1.4; }

.kp-takip-liste { display: flex; flex-direction: column; gap: .5rem; }
.kp-takip-satir { background: #00000026; border: 1px solid var(--border); border-radius: 10px; padding: .6rem .85rem; }
.kp-takip-soru { font-family: var(--font-data); font-size: .74rem; font-weight: 700; color: var(--text); }
.kp-takip-anlam { font-size: .74rem; color: var(--text-dim); margin-top: .2rem; }

.kp-detaylar { border: 1px solid var(--border); border-radius: 10px; padding: .3rem .85rem; background: #00000026; }
.kp-detaylar summary { cursor: pointer; padding: .5rem 0; font-size: .78rem; color: var(--text-dim); }
.kp-detaylar[open] summary { color: var(--text); margin-bottom: .2rem; }
.kp-detaylar summary::marker { color: var(--accent); }

.kp-sozluk { display: flex; flex-direction: column; gap: .5rem; padding-bottom: .5rem; }
.kp-sozluk-terim { font-size: .76rem; }
.kp-sozluk-terim b { display: block; color: var(--text); margin-bottom: .1rem; }
.kp-sozluk-terim span { color: var(--text-dim); line-height: 1.4; }

.kp-tez-blok { margin-bottom: 1.1rem; }
.kp-tez-metin { font-size: .84rem; line-height: 1.6; color: var(--text-dim); }

.kp-detayli-analiz-btn {
  display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 700;
  color: #05050a; background: linear-gradient(135deg, var(--accent2), var(--accent));
  border: none; border-radius: 9px; padding: .6rem 1rem; cursor: pointer;
}
.kp-detayli-analiz-btn:hover { filter: brightness(1.08); }
.kp-haber-liste { display: flex; flex-direction: column; gap: .5rem; margin-bottom: .3rem; }
.kp-haber-satir {
  display: block; background: #00000026; border: 1px solid var(--border); border-radius: 10px;
  padding: .55rem .8rem; text-decoration: none; transition: border-color .15s, background .15s;
}
.kp-haber-satir:hover { border-color: var(--border-hi); background: var(--bg-card-hi); }
.kp-haber-satir-link-yok:hover { border-color: var(--border); background: #00000026; cursor: default; }
.kp-hta-iframe { width: 100%; height: 760px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg); }
.kp-haber-baslik { font-size: .8rem; color: var(--text); line-height: 1.35; }
.kp-haber-meta { font-size: .66rem; color: var(--text-faint); margin-top: .25rem; }

.kp-detayli-analiz-notu {
  margin-top: .7rem; font-size: .8rem; color: var(--text-dim); line-height: 1.5;
  background: color-mix(in srgb, var(--accent2) 8%, #00000026);
  border: 1px solid color-mix(in srgb, var(--accent2) 25%, var(--border));
  border-radius: 10px; padding: .7rem .9rem;
}

.tr-ayri-kart {
  margin-top: 1rem; width: 100%; display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(135deg, color-mix(in srgb, var(--kirmizi) 10%, #00000026), #00000026);
  border: 1px solid color-mix(in srgb, var(--kirmizi) 25%, var(--border)); border-radius: 10px; padding: .6rem .85rem;
}
.tr-ayri-sol { font-size: .74rem; color: var(--text-dim); }
.tr-ayri-sol b { color: var(--text); font-family: var(--font-data); font-size: .95rem; display: block; margin-top: .1rem; }
.tr-ayri-not { font-size: .64rem; color: var(--text-faint); margin-top: .2rem; }

/* ---- Performans grafigi ---- */
.perf-ust { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: .3rem; flex-wrap: wrap; gap: .5rem; }
.perf-simdi { font-family: var(--font-display); font-size: 1.5rem; }
.perf-degisim { font-size: .78rem; font-family: var(--font-data); margin-top: .2rem; }
.perf-araclar { display: flex; gap: .3rem; }
.perf-arac-btn {
  font-size: .68rem; padding: .28rem .6rem; border-radius: 7px; border: 1px solid var(--border);
  background: transparent; color: var(--text-dim); cursor: pointer; font-family: inherit;
}
.perf-arac-btn.aktif { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); }
svg.perf-svg { width: 100%; height: 190px; display: block; margin-top: .6rem; }

/* ---- Sektor Dagilimi ---- */
.sektor-govde { display: flex; gap: 2rem; align-items: center; flex-wrap: wrap; }
.sektor-liste { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: .1rem; }
.sektor-satir { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .8rem; padding: .5rem 0; border-top: 1px solid var(--border); font-size: .82rem; }
.sektor-satir:first-child { border-top: none; }
.sektor-ad { display: flex; align-items: center; }
.sektor-yuzde { font-family: var(--font-data); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.sektor-deger { font-family: var(--font-data); font-weight: 700; font-variant-numeric: tabular-nums; min-width: 80px; text-align: right; }

.satir-2 { display: grid; grid-template-columns: 1.05fr 1.3fr; gap: 1.1rem; align-items: stretch; margin-bottom: 1.1rem; }
@media (max-width: 980px) { .satir-2 { grid-template-columns: 1fr; } }

/* ---- Rapor tarihi + canli guncelleme bari (2026-08-12, Muzaffer'in
   "en ustte rapor tarihi + fiyat guncelleme/geri sayim gorelim" istegi) ---- */
.proto-rapor-tarihi { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .2rem; }
.proto-rapor-tarihi-deger { font-family: var(--font-display); font-size: 1.1rem; margin-top: .2rem; }
.proto-canli-bar {
  display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap;
  background: linear-gradient(135deg, color-mix(in srgb, var(--yesil) 8%, #00000026), #00000026);
  border: 1px solid color-mix(in srgb, var(--yesil) 25%, var(--border)); border-radius: 10px;
  padding: .55rem .9rem; font-size: .78rem; color: var(--text-dim); margin: .9rem 0 1.1rem;
}
.proto-canli-nokta { width: 7px; height: 7px; border-radius: 50%; background: var(--yesil); display: inline-block; margin-right: .4rem; animation: protoCanliNabiz 1.8s ease-in-out infinite; }
@keyframes protoCanliNabiz { 0%,100%{opacity:1;} 50%{opacity:.35;} }
.proto-canli-bar b { color: var(--text); font-family: var(--font-data); }

/* ---- Pill toggle (Strateji/Tema, Bora'nin ayni bilesenden bilincli
   ayristirilmis - gradyan dolgu, degil duz renk) ---- */
.pill-toggle { display: inline-flex; gap: .2rem; background: #00000026; border: 1px solid var(--border); border-radius: 999px; padding: .2rem; }
.pill-toggle button {
  border: none; background: none; color: var(--text-dim); font-size: .74rem; font-weight: 700;
  padding: .32rem .85rem; border-radius: 999px; cursor: pointer; font-family: inherit;
}
.pill-toggle button.aktif { background: linear-gradient(135deg, var(--accent), var(--accent2)); color: #05050a; }

/* .panel-baslik icine arac/toggle konulan yerlerde flex+space-between */
.panel-baslik:has(.pill-toggle), .panel-baslik:has(.perf-araclar) {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem;
}

/* ---- Bilanco Oncesi / Sonrasi (2026-08-13, gorsel yeniden tasarim
   2026-08-14 - Muzaffer'in "kozmetigi cok kotu" geri bildiriminden sonra)
   - arama kutusu + gecmis rapor satirlari + rapor-goruntuleyici sayfasi
   bilesenleri ---- */
.be-sayfa-baslik { display: flex; align-items: center; gap: .6rem; margin-bottom: .3rem; }
.be-sayfa-baslik .ikon { font-size: 1.3rem; color: var(--accent); }
.be-sayfa-baslik h1 { font-family: var(--font-display); font-size: 1.25rem; margin: 0; }
.be-sayfa-alt { color: var(--text-dim); font-size: .85rem; max-width: 680px; margin: 0 0 .6rem; line-height: 1.5; }
.be-etiketler { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1.1rem; }

/* 2026-08-14, Muzaffer'in acik istegi: "iki sayfayi birlestirecegiz...
   ismini Bilanço olarak degistir... icine Bilanço Öncesi ve Bilanço
   Sonrası olarak iki panel yap, yan yana". */
.bilanco-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
.bilanco-izgara > div:first-child { padding-right: 2rem; border-right: 1px solid var(--border); }
@media (max-width: 1100px) {
  .bilanco-izgara { grid-template-columns: 1fr; }
  .bilanco-izgara > div:first-child { padding-right: 0; border-right: none; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); margin-bottom: 1.5rem; }
}

/* GERCEK BUG (2026-08-14, Muzaffer'in "arama sonucu gorunmuyor, alan kucuk"
   geri bildirimi): .panel'in overflow-y:auto'su .be-adim-panel'e MIRAS
   kaliyordu - panel kutusu (input satiri kadar) ~72px, ama acilir arama
   sonucu (.be-arama-sonuclar, position:absolute) panelin ALTINA tasmak
   ISTIYORDU. overflow:auto oldugu icin absolute konumlu cocuk panelin
   padding kutusuna KIRPILIYORDU - sonuc listesi sadece ~11px gorunuyordu.
   Playwright ile dogrulandi (bkz. commit notu). Duzeltme: bu panel hicbir
   zaman kendi icinde kaymiyor, tasan icerigi (acilir liste) GOSTERMESI
   gerekiyor - overflow:visible ile ustune yaziliyor. */
.be-adim-panel { flex: none; margin-bottom: 1.2rem; overflow: visible; }
.be-adim-ust { display: flex; align-items: center; gap: .6rem; margin-bottom: .2rem; }
.be-adim-rozeti {
  display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 22px;
  border-radius: 6px; background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent); font-family: var(--font-data); font-size: .68rem; font-weight: 700; flex-shrink: 0;
}
.be-adim-baslik { font-family: var(--font-display); font-size: .92rem; }
.be-adim-aciklama { font-size: .78rem; color: var(--text-faint); margin: .15rem 0 .9rem; }
.be-arama-satir-form { display: flex; gap: .6rem; align-items: flex-start; flex-wrap: wrap; }
.be-arama-satir-form .tetikle-btn { flex-shrink: 0; }

.be-bugun-etiket { font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .5rem; }
.be-bugun-cipler { display: flex; gap: .4rem; flex-wrap: wrap; }
.be-cip {
  background: var(--bg-card-hi); border: 1px solid var(--border); color: var(--text);
  border-radius: 999px; padding: .3rem .7rem; font-size: .74rem; font-weight: 600; cursor: pointer;
  font-family: var(--font-data);
}
.be-cip:hover { border-color: var(--accent); color: var(--accent); }

.be-gecmis-toggle {
  display: flex; align-items: center; gap: .5rem; cursor: pointer; padding: .5rem .1rem;
  font-size: .85rem; color: var(--text-dim); user-select: none;
}
.be-gecmis-toggle:hover { color: var(--text); }
.be-gecmis-toggle .kp-grup-ok { font-size: .8rem; }


.be-arama { position: relative; max-width: 480px; }
.be-arama-input {
  width: 100%; background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px;
  color: var(--text); font-size: .88rem; padding: .65rem .9rem; font-family: inherit;
}
.be-arama-input:focus { outline: none; border-color: var(--accent); }
.be-arama-sonuclar {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 20;
  background: #171532;
  border: 1px solid var(--border-hi); border-radius: 14px;
  max-height: 280px; overflow-y: auto; flex-direction: column; box-shadow: 0 24px 45px -22px rgba(124,109,242,.35);
}
.be-arama-satir { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; cursor: pointer; font-size: .82rem; }
.be-arama-satir:hover { background: var(--bg-card); }
.be-arama-satir b { color: var(--text); min-width: 64px; }
.be-arama-satir span { color: var(--text-dim); }

.be-liste-satir {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .7rem .2rem; border-top: 1px solid var(--border);
}
.be-liste-satir:first-child { border-top: none; }

/* Rapor goruntuleyici (bilanco-rapor.html) - yeni sekmede acilan uzun rapor sayfasi */
.br-govde { max-width: 980px; margin: 0 auto; padding: 2rem 1.6rem 5rem; }
.br-geri { color: var(--text-faint); font-size: .8rem; text-decoration: none; display: inline-block; margin-bottom: 1rem; }
.br-geri:hover { color: var(--accent); }
.br-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.br-ust-sol { display: flex; align-items: center; gap: 1.1rem; }
.br-skor-daire {
  width: 76px; height: 76px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  flex-direction: column; flex-shrink: 0; font-family: var(--font-display);
  background: conic-gradient(var(--skor-renk, var(--accent)) calc(var(--skor, 50) * 1%), var(--border) 0);
}
.br-skor-daire-ic {
  width: 60px; height: 60px; border-radius: 50%; background: var(--bg-card); display: flex;
  flex-direction: column; align-items: center; justify-content: center;
}
.br-skor-sayi { font-size: 1.15rem; line-height: 1; }
.br-skor-etiket { font-size: .5rem; color: var(--text-faint); text-transform: uppercase; margin-top: .15rem; }
.br-baslik-blok h1 { font-family: var(--font-display); font-size: 1.3rem; margin: 0 0 .3rem; }
.br-alt-baslik { color: var(--text-dim); font-size: .85rem; }
.br-etiketler { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .5rem; }

.br-senaryo-bar { display: flex; height: 34px; border-radius: 8px; overflow: hidden; margin: 1rem 0 .3rem; }
.br-senaryo-bar > div { display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; color: #05050a; }
.br-senaryo-etiketler { display: flex; justify-content: space-between; font-size: .68rem; color: var(--text-faint); margin-bottom: 1.2rem; }

/* Fiyat seviyeli senaryo sayi dogrusu (2026-08-17, referans ekraninin
   "Ayi 43,08$ - Bugun 48,35$ - Analist hedefi 51,60$ - Boga 53,62$" seklindeki
   gercek-fiyat-seviyeli cizgisiyle karsilastirinca bizde sadece yuzdelik bar
   oldugu fark edildi - bkz. bilanco-rapor.js brFiyatCizgiHtml). */
.br-fiyat-cizgi-wrap { position: relative; height: 30px; margin: 2.4rem 0 2.6rem; }
.br-fiyat-cizgi-cubuk { position: absolute; top: 50%; left: 0; right: 0; height: 5px; border-radius: 3px; transform: translateY(-50%); background: linear-gradient(90deg, var(--kirmizi), var(--altin), var(--yesil)); }
.br-fiyat-nokta-ic { position: absolute; top: 50%; width: 13px; height: 13px; border-radius: 50%; border: 2px solid var(--bg-card); transform: translate(-50%, -50%); }
.br-fiyat-nokta-metin { position: absolute; transform: translateX(-50%); text-align: center; line-height: 1.35; white-space: nowrap; }
.br-fiyat-nokta-metin.ust { bottom: calc(50% + .9rem); }
.br-fiyat-nokta-metin.alt { top: calc(50% + .9rem); }
.br-fiyat-nokta-deger { font-size: .74rem; font-weight: 700; color: var(--text); }
.br-fiyat-nokta-etiket { font-size: .62rem; color: var(--text-faint); }

.br-faktor-satir { margin-bottom: .8rem; }
.br-faktor-ust { display: flex; justify-content: space-between; font-size: .8rem; margin-bottom: .3rem; }
.br-faktor-ust b { font-weight: 600; }
.br-faktor-agirlik { color: var(--text-faint); font-size: .7rem; }
.br-faktor-cubuk { height: 8px; border-radius: 4px; background: var(--border); overflow: hidden; }
.br-faktor-cubuk-ic { height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--accent), var(--accent2)); }
.br-faktor-aciklama { font-size: .76rem; color: var(--text-dim); margin-top: .3rem; }

.br-senaryo-kartlar { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-bottom: .5rem; }
@media (max-width: 760px) { .br-senaryo-kartlar { grid-template-columns: 1fr; } }
.br-senaryo-kart { border: 1px solid var(--border); border-radius: 12px; padding: .9rem; background: #00000026; }
.br-senaryo-kart-baslik { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-display); font-size: .8rem; margin-bottom: .4rem; }
.br-senaryo-kart-baslik span:first-child { display: inline-flex; align-items: center; gap: .4rem; }
.br-senaryo-kart-baslik span:first-child::before { content: ''; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.br-senaryo-kart.ayi .br-senaryo-kart-baslik span:first-child::before { background: var(--kirmizi); }
.br-senaryo-kart.baz .br-senaryo-kart-baslik span:first-child::before { background: var(--altin); }
.br-senaryo-kart.boga .br-senaryo-kart-baslik span:first-child::before { background: var(--yesil); }
.br-senaryo-kart-olasilik { font-family: var(--font-data); font-size: .78rem; color: var(--text-dim); }
.br-senaryo-kart p { font-size: .78rem; color: var(--text-dim); margin: 0 0 .4rem; }
.br-senaryo-kart-tetik { font-size: .7rem; color: var(--text-faint); border-top: 1px solid var(--border); padding-top: .4rem; }

.br-risk-kart { border: 1px solid var(--border); border-radius: 10px; padding: .75rem .9rem; margin-bottom: .6rem; display: flex; justify-content: space-between; align-items: flex-start; gap: .8rem; }
.br-risk-kart.aktif { border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 6%, transparent); }
.br-risk-baslik { font-weight: 700; font-size: .85rem; margin-bottom: .2rem; }
.br-risk-aciklama { font-size: .78rem; color: var(--text-dim); }
.br-risk-flama { font-size: .6rem; font-weight: 700; letter-spacing: .04em; padding: .15rem .5rem; border-radius: 999px; white-space: nowrap; background: color-mix(in srgb, var(--kirmizi) 20%, transparent); color: var(--kirmizi); }

.br-hedge-kart { border: 1px solid var(--border); border-radius: 10px; padding: .75rem .9rem; margin-bottom: .6rem; }
.br-hedge-ad { font-weight: 700; font-size: .85rem; color: var(--accent2); margin-bottom: .25rem; }
.br-hedge-aciklama { font-size: .78rem; color: var(--text-dim); }

.br-iyi-kotu { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
@media (max-width: 760px) { .br-iyi-kotu { grid-template-columns: 1fr; } }
.br-iyi-kotu-kart { border-radius: 10px; padding: .8rem .9rem; border: 1px solid var(--border); }
.br-iyi-kotu-kart.iyi { border-color: color-mix(in srgb, var(--yesil) 35%, var(--border)); }
.br-iyi-kotu-kart.kotu { border-color: color-mix(in srgb, var(--kirmizi) 35%, var(--border)); }
.br-iyi-kotu-kart h3 { font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 .5rem; }
.br-iyi-kotu-kart.iyi h3 { color: var(--yesil); }
.br-iyi-kotu-kart.kotu h3 { color: var(--kirmizi); }
.br-iyi-kotu-kart ul { margin: 0; padding-left: 1.1rem; font-size: .8rem; color: var(--text-dim); display: flex; flex-direction: column; gap: .35rem; }

.br-ana-haber { border: 1px solid var(--border); background: color-mix(in srgb, var(--accent) 8%, transparent); border-radius: 10px; padding: .8rem 1rem; font-size: .85rem; margin-bottom: 1rem; }

.br-kardes-kutu { border: 1px solid var(--accent2); border-radius: 12px; padding: 1rem 1.1rem; margin-bottom: 1rem; background: color-mix(in srgb, var(--accent2) 6%, transparent); }
.br-kardes-kutu h3 { margin: 0 0 .5rem; font-size: .9rem; color: var(--accent2); }
.br-kardes-link { display: inline-block; margin-top: .5rem; font-size: .8rem; color: var(--accent2); text-decoration: none; }
.br-kardes-link:hover { text-decoration: underline; }

.br-soru-liste { margin: 0; padding-left: 1.2rem; font-size: .82rem; color: var(--text-dim); display: flex; flex-direction: column; gap: .5rem; }

.br-glossary { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem 1.5rem; font-size: .78rem; }
@media (max-width: 760px) { .br-glossary { grid-template-columns: 1fr; } }
.br-glossary dt { color: var(--text); font-weight: 700; }
.br-glossary dd { margin: .15rem 0 0; color: var(--text-dim); }

.br-footer-not { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .72rem; color: var(--text-faint); }

/* ---- Hisse Merkezi (2026-08-14) - 4-motor merkezi + opsiyon acik
   pozisyon (OI) merdiveni. Muzaffer'in gonderdigi GERCEK ekran metnine
   birebir eslenecek sekilde kuruldu - "gamma birimi" gibi elimizde
   olmayan proprietary bir veri UYDURULMADI, sadece gercek yfinance
   opsiyon zincirinden acik pozisyon/Max Pain gosteriliyor. ---- */
.hm-motor-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .9rem; margin-bottom: 1.2rem; }
.hm-motor-kart { background: var(--bg-card); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur)); border: 1px solid var(--border); border-radius: 16px; padding: 1rem 1.1rem; }
.hm-motor-kart.hm-motor-hazir { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.hm-motor-ust { display: flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-size: .88rem; margin-bottom: .5rem; }
.hm-motor-durum { font-size: .8rem; color: var(--text-dim); margin-bottom: .5rem; min-height: 2.4em; }
.hm-motor-alt { font-size: .68rem; color: var(--text-faint); margin-bottom: .6rem; }

.hm-harita-satir { display: flex; justify-content: space-between; align-items: baseline; padding: .55rem 0; border-top: 1px solid var(--border); }
.hm-harita-satir:first-child { border-top: none; }
.hm-harita-ad { font-size: .8rem; color: var(--text-dim); }
.hm-harita-deger { font-family: var(--font-data); font-weight: 700; }
.hm-harita-uzaklik { font-size: .74rem; color: var(--text-faint); margin-left: .4rem; }

.hm-opsiyon-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .7rem; margin-bottom: 1.1rem; }

.hm-ladder-govde { display: flex; flex-direction: column; }
.hm-ladder-satir { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; gap: .5rem; padding: .28rem 0; }
.hm-ladder-put-yani { display: flex; justify-content: flex-end; align-items: center; gap: .4rem; }
.hm-ladder-call-yani { display: flex; justify-content: flex-start; align-items: center; gap: .4rem; }
.hm-ladder-bar { height: 14px; border-radius: 3px; min-width: 2px; }
.hm-ladder-bar.put { background: color-mix(in srgb, var(--kirmizi) 60%, transparent); }
.hm-ladder-bar.call { background: color-mix(in srgb, var(--yesil) 60%, transparent); }
.hm-ladder-sayi { font-size: .68rem; color: var(--text-faint); font-family: var(--font-data); min-width: 40px; }
.hm-ladder-strike { text-align: center; font-family: var(--font-data); font-weight: 700; font-size: .82rem; }
.hm-ladder-satir.hm-spot .hm-ladder-strike { color: var(--accent); }
.hm-ladder-satir.hm-max-pain { background: color-mix(in srgb, var(--altin) 8%, transparent); border-radius: 8px; }
.hm-ladder-etiket { display: block; font-size: .58rem; text-align: center; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; }
.hm-ladder-legend { display: flex; justify-content: center; gap: 1.5rem; font-size: .72rem; color: var(--text-faint); margin-top: .8rem; }
.hm-ladder-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.hm-ladder-legend .nokta { width: 9px; height: 9px; border-radius: 2px; display: inline-block; }

/* GERCEK BUG (2026-08-14): .hesap-tablo baska yerlerde hep 2 sutunlu
   (etiket | deger) kullanildigindan th/td'de YATAY padding YOK - bu
   sayfadaki 4-5 sutunlu "Bilanco Sagligi (Karsilastirmali)" tablosunda
   sutunlar bosluksuz birbirine yapisiyordu. Sadece bu sayfaya ozel yatay
   bosluk eklendi, global .hesap-tablo davranisi (diger sayfalar) degismedi. */
.br-govde .hesap-tablo th, .br-govde .hesap-tablo td { padding-left: .7rem; }
.br-govde .hesap-tablo th:first-child, .br-govde .hesap-tablo td:first-child { padding-left: 0; }

/* ---- Hisse Temel Analiz / "Ultimate Rapor" (2026-08-13, 2026-08-14'te
   B1-B9 rapor yapisina YENIDEN KURULDU - Bora'nin GERCEK sayfasindan
   ORNEKLENDI, veri/hesaplama TAMAMEN bizim). Eski Bilanco Analizi/CANSLIM
   panelleri VE Yatirim Temalari sekmesi KALDIRILDI - "Iliskili Yatirim
   Temalari" sadece alt bilgi olarak kaldi. ---- */
.hta-ekosistem-blok { padding: .8rem 0; border-top: 1px solid var(--border); }
.hta-ekosistem-blok:first-child { border-top: none; padding-top: 0; }
.hta-ekosistem-baslik { font-family: var(--font-display); font-size: .92rem; margin-bottom: .3rem; color: var(--text); }
.hta-ekosistem-aciklama { font-size: .8rem; color: var(--text-dim); line-height: 1.5; margin-bottom: .6rem; }
.hta-ekosistem-tek { font-size: .78rem; color: var(--text-faint); }
.hta-tema-cipler { display: flex; gap: .35rem; flex-wrap: wrap; margin-bottom: .5rem; }

/* Finnhub entegrasyonu - hangi bolumun hangi kaynaktan geldigini SEFFAF
   gosteren kucuk rozet (Muzaffer'in "ucretsiz katmana guvenmiyorum"
   supheciligine karsi: veri nereden geliyor gorunsun). */
.hta-kaynak-rozet { font-size: .62rem; font-weight: 600; color: var(--text-faint); margin-left: .5rem; letter-spacing: .02em; }
.hta-kaynak-rozet.canli { color: var(--yesil); }

.hta-analist-dagilim { margin-top: 1rem; }
.hta-analist-bar { display: flex; height: 10px; border-radius: 6px; overflow: hidden; background: var(--bg-card-hi); }
.hta-analist-parca { min-width: 2px; }
.hta-analist-donem { font-size: .62rem; color: var(--text-faint); margin-top: .4rem; }

.hta-analiz-liste { margin: 0 0 .9rem; padding-left: 1.2rem; font-size: .84rem; color: var(--text-dim); line-height: 1.6; }
.hta-analiz-liste li { margin-bottom: .35rem; }

.hta-tablo-wrap { overflow-x: auto; }
.hta-tablo { width: 100%; border-collapse: collapse; font-size: .82rem; min-width: 480px; }
.hta-tablo th, .hta-tablo td { padding: .6rem .8rem; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }
.hta-tablo th:first-child, .hta-tablo td:first-child { text-align: left; color: var(--text-faint); font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; white-space: normal; }
.hta-tablo th { font-family: var(--font-display); font-size: .88rem; font-weight: 600; color: var(--text); border-bottom: 1px solid var(--border-hi); }
.hta-tablo td { font-family: var(--font-data); font-variant-numeric: tabular-nums; color: var(--text); }
.hta-tablo td.pozitif { color: var(--yesil); }
.hta-tablo td.negatif { color: var(--kirmizi); }

/* "Analiz Iste" baslangic durumu + yukleme deneyimi (Bora'nin GERCEK
   referans sayfasindan orneklenen ilerleme cubugu + gecen sure sayaci -
   Muzaffer'in acik istegi: "bir yukleme cubugu ilerliyor... 26sn / ort.
   2,5dk gibi"). */
.hta-baslat { text-align: center; padding: 2rem 1rem; }
.hta-baslat-baslik { font-family: var(--font-display); font-size: 1.1rem; margin-bottom: .5rem; }
.hta-baslat-not { font-size: .82rem; color: var(--text-dim); max-width: 480px; margin: 0 auto 1.2rem; line-height: 1.6; }

.hta-yukleme { text-align: center; padding: 2rem 1rem; }
.hta-yukleme-baslik { font-family: var(--font-display); font-size: 1rem; margin-bottom: .3rem; }
.hta-yukleme-not { font-size: .82rem; color: var(--text-dim); margin-bottom: 1.2rem; }
.hta-ilerleme-yol { max-width: 360px; margin: 0 auto; height: 8px; border-radius: 5px; background: var(--bg-card-hi); overflow: hidden; }
.hta-ilerleme-cubuk { height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent2)); transition: width 1s linear; border-radius: 5px; }
.hta-ilerleme-sayac { font-size: .72rem; color: var(--text-faint); margin-top: .6rem; font-family: var(--font-data); }

/* Sekme cubugu (B1-B9) */
.hta-sekme-cubugu { display: flex; gap: 1.3rem; flex-wrap: wrap; margin-bottom: 1.4rem; border-bottom: 1px solid var(--border); }
.hta-sekme-btn {
  background: none; border: none; border-bottom: 2px solid transparent; color: var(--text-faint);
  font-size: .74rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
  padding: 0 0 .65rem; cursor: pointer; white-space: nowrap; font-family: inherit;
}
.hta-sekme-btn:hover { color: var(--text); }
.hta-sekme-btn.aktif { color: var(--accent); border-bottom-color: var(--accent); }
.hta-bolum.gizli { display: none; }
.hta-rapor-alt { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; padding-top: .8rem; border-top: 1px solid var(--border); flex-wrap: wrap; }

/* "Yani:" ozet kutusu - Bora'nin her bolumun altinda gosterdigi sade dilli
   ozet fikrinden orneklendi, kendi metnimizle. */
.hta-yani { background: color-mix(in srgb, var(--accent2) 8%, var(--bg-card)); border-left: 3px solid var(--accent2); border-radius: 0 8px 8px 0; padding: .8rem 1rem; margin-top: 1.2rem; font-size: .82rem; color: var(--text); line-height: 1.6; }

.hta-segment-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .9rem 1rem; }
.hta-segment-baslik { font-family: var(--font-display); font-size: .88rem; margin-bottom: .5rem; }
.hta-segment-satir { font-size: .8rem; color: var(--text-dim); margin-bottom: .3rem; line-height: 1.5; }
.hta-segment-satir b { color: var(--text-faint); font-weight: 600; }

.hta-senaryo-kart { border-radius: 12px; padding: .9rem 1rem; border: 1px solid var(--border); background: var(--bg-card-hi); }
.hta-senaryo-kart.iyi { border-color: color-mix(in srgb, var(--yesil) 30%, var(--border)); }
.hta-senaryo-kart.kotu { border-color: color-mix(in srgb, var(--kirmizi) 30%, var(--border)); }
.hta-senaryo-baslik { font-family: var(--font-display); font-size: .86rem; margin-bottom: .5rem; }
.hta-senaryo-kart.iyi .hta-senaryo-baslik { color: var(--yesil); }
.hta-senaryo-kart.orta .hta-senaryo-baslik { color: var(--altin); }
.hta-senaryo-kart.kotu .hta-senaryo-baslik { color: var(--kirmizi); }
.hta-senaryo-metin { font-size: .8rem; color: var(--text-dim); line-height: 1.6; }

.hta-varsayim-satir { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .78rem; color: var(--text-dim); }
.hta-varsayim-satir b { color: var(--text); font-family: var(--font-data); }

/* ---- Röntgen (Hisse Teknik Analiz) - 2026-08-14, Muzaffer'in verdigi
   ekran goruntusunden AYNI yapi: baslik+rehber butonu satiri, rozet
   ciftı, "01 Analiz Iste" adim karti (.be-adim-* ile paylasimli), bugun
   hazir cipler + gecmis raporlar acilir tablosu (.kp-grup/.be- ile
   paylasimli). Su an veri/backend YOK - sadece gorsel iskelet, bos
   durumlar referans sistemdeki "gercek 0" haliyle. ---- */
.rt-ust-satir { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.rt-rehber-btn {
  background: color-mix(in srgb, var(--altin) 16%, transparent); color: var(--altin);
  border: 1px solid color-mix(in srgb, var(--altin) 35%, transparent); border-radius: 10px;
  padding: .5rem 1rem; font-size: .8rem; font-weight: 700; cursor: pointer; flex-shrink: 0;
}
.rt-rehber-btn:hover { background: color-mix(in srgb, var(--altin) 24%, transparent); }

.rt-tablo-deger.dusuk { color: var(--kirmizi); font-weight: 700; }
.rt-tablo-deger.orta { color: var(--altin); font-weight: 700; }
.rt-tablo-deger.yuksek { color: var(--yesil); font-weight: 700; }

/* Röntgen raporu - Bölüm 01 (2026-08-14, Muzaffer'in QCOM ornek ekran
   goruntusunden AYNI yapi). Sadece gorsel iskelet + tek ornek (QCOM,
   sabit metin) - backend/hesaplama YOK, sonraki 8 bolum de ayni sekilde
   tek tek gelecek. */
.rt-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin: 0 .45rem 0 .3rem; vertical-align: middle; flex-shrink: 0; }
.rt-nokta.kirmizi { background: var(--kirmizi); }
.rt-nokta.yesil { background: var(--yesil); }
.rt-nokta.altin { background: var(--altin); }

.rt-ozet-kart {
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border)); border-radius: 14px;
  padding: 1.1rem 1.3rem; background: var(--bg-card); margin-top: 1.2rem;
}
.rt-ozet-baslik { font-family: var(--font-display); font-size: .82rem; color: var(--accent); margin-bottom: 1rem; letter-spacing: .02em; }
.rt-ozet-satir { display: grid; grid-template-columns: 132px 1fr; gap: .8rem; font-size: .85rem; color: var(--text); line-height: 1.5; margin-bottom: .8rem; }
.rt-ozet-satir:last-of-type { margin-bottom: 0; }
.rt-ozet-etiket { color: var(--text-faint); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding-top: .2rem; }
.rt-ozet-deger .rt-nokta { vertical-align: 1px; }
.rt-ozet-not { font-size: .76rem; color: var(--accent2); margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--border); }

.rt-model-kart {
  border: 1px solid var(--border); border-radius: 14px; padding: 1.2rem 1.3rem;
  background: var(--bg-card); margin-top: 1.2rem;
}
.rt-model-kart.zayif { border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); }
.rt-model-kart.notr { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); }
.rt-model-kart.guclu { border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); }

.rt-model-etiket-kucuk { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .35rem; }
.rt-model-baslik { font-family: var(--font-display); font-size: 1.3rem; margin: 0 0 .3rem; }

.rt-etiket {
  display: inline-flex; align-items: center; font-size: .76rem; font-weight: 600;
  padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--border); color: var(--text-dim);
}
.rt-etiket.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); color: var(--text); }
.rt-etiket.yesil { border-color: color-mix(in srgb, var(--yesil) 40%, var(--border)); color: var(--text); }
.rt-etiket.altin { border-color: color-mix(in srgb, var(--altin) 40%, var(--border)); color: var(--text); }

.rt-sonuc-kutu { border: 1px solid var(--border); border-radius: 12px; padding: .8rem 1rem; margin: 1.1rem 0; font-size: .85rem; color: var(--text); line-height: 1.5; }
.rt-sonuc-kutu b { font-weight: 700; }
.rt-sonuc-kutu.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 8%, transparent); }
.rt-sonuc-kutu.kirmizi b { color: var(--kirmizi); }
.rt-sonuc-kutu.altin { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); background: color-mix(in srgb, var(--altin) 8%, transparent); }
.rt-sonuc-kutu.altin b { color: var(--altin); }
.rt-sonuc-kutu.yesil { border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); background: color-mix(in srgb, var(--yesil) 8%, transparent); }
.rt-sonuc-kutu.yesil b { color: var(--yesil); }

.rt-model-paragraf { font-size: .85rem; color: var(--text-dim); line-height: 1.65; margin: 0 0 1.1rem; }

.rt-model-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: .72rem; color: var(--text-faint); border-top: 1px solid var(--border); padding-top: .8rem; }
.rt-html-indir { color: var(--accent2); text-decoration: none; font-weight: 700; white-space: nowrap; }
.rt-html-indir:hover { text-decoration: underline; }

.rt-sonuc-kutu.mavi { border-color: color-mix(in srgb, var(--accent2) 45%, var(--border)); background: color-mix(in srgb, var(--accent2) 8%, transparent); }
.rt-sonuc-kutu.mavi b { color: var(--accent2); }

/* Röntgen raporu - Bölüm 02 (2026-08-14): "son 130 işlem günü" fiyat
   haritası. Lightweight Charts, kisisel-portfoy.js'deki AYNI kutuphane/
   desenle (candlestick + EMA/SMA cizgileri + Fibonacci/destek-direnc
   fiyat cizgileri + hacim histogrami tek chart icinde, priceScaleId ile
   ayrilmis). Veri hala UYDURMA/ornek (rtOrnekSeriUret) - gercek fiyat
   API'sine baglanti sonraki adim. Fibonacci etiketleri Muzaffer'in
   "solda olacak" istegi geregi saga degil SOLA, priceToCoordinate ile
   ozel bir overlay katmaninda konumlandiriliyor. */
.rt-grafik-sarmal { position: relative; height: 680px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin-top: .9rem; background: #14141f; }
.rt-fiyat-chart { position: absolute; inset: 0; }
.rt-fib-etiketler { position: absolute; inset: 0; pointer-events: none; z-index: 5; }
.rt-fib-etiket { position: absolute; left: 6px; transform: translateY(-50%); font-size: .62rem; font-weight: 700; background: rgba(20,20,31,.65); padding: 1px 5px; border-radius: 4px; white-space: nowrap; font-family: var(--font-data); }
.rt-grafik-ust-etiket { position: absolute; top: 8px; right: 12px; font-size: .78rem; font-weight: 700; color: var(--text-dim); font-family: var(--font-data); z-index: 5; pointer-events: none; }
.rt-grafik-lejant { position: absolute; top: 8px; left: 10px; z-index: 5; display: flex; gap: .8rem; font-size: .65rem; color: var(--text-dim); pointer-events: none; }
.rt-hacim-etiket { position: absolute; left: 10px; top: 55%; font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); z-index: 5; pointer-events: none; }
.rt-rsi-etiket { position: absolute; left: 10px; top: 71%; font-size: .64rem; font-weight: 700; letter-spacing: .03em; color: var(--text-faint); z-index: 5; pointer-events: none; font-family: var(--font-data); }
.rt-macd-etiket { position: absolute; left: 10px; top: 89%; font-size: .64rem; font-weight: 700; letter-spacing: .03em; color: var(--text-faint); z-index: 5; pointer-events: none; font-family: var(--font-data); display: flex; gap: .4rem; align-items: center; }

.rt-zaman-sekme-satir { display: flex; gap: .4rem; margin-top: .8rem; }
.rt-zaman-sekme { padding: .4rem .9rem; border-radius: 8px; border: 1px solid var(--border); background: var(--panel); color: var(--text-dim); font-size: .78rem; cursor: pointer; }
.rt-zaman-sekme.secili { background: var(--altin); color: #14141f; font-weight: 700; border-color: var(--altin); }
.rt-zaman-sekme:hover { border-color: var(--altin); }

/* Röntgen raporu - Bölüm 03 (2026-08-14): "Model neden böyle diyor" -
   Yapı Skoru (ustteki yuvarlak skora besler) + Veri Kalitesi (SADECE
   burada gorunur, yukariyi etkilemez) faktor kirilimi. Satir/cubuk
   yapisi .br-faktor-* ile PAYLASIMLI (bilanco-rapor.html rapor
   goruntuleyicisinde zaten var olan ayni desen) - sadece renk
   modifiye edildi. */
.rt-aciklayici-kart { border: 1px solid var(--border); border-radius: 14px; padding: 1.2rem 1.3rem; background: var(--bg-card); margin-top: 1.2rem; }
.rt-skor-blok-baslik {
  font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint);
  margin: 1.3rem 0 .9rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border);
}
.rt-skor-blok-baslik:first-of-type { margin-top: .3rem; }
.rt-skor-blok-baslik b { color: var(--text); font-weight: 700; letter-spacing: normal; text-transform: none; font-family: var(--font-data); }

.rt-faktor-puan { font-weight: 700; font-family: var(--font-data); }
.rt-faktor-puan.kirmizi { color: var(--kirmizi); }
.rt-faktor-puan.yesil { color: var(--yesil); }
.rt-faktor-puan.altin { color: var(--altin); }

.br-faktor-cubuk-ic.kirmizi { background: var(--kirmizi); }
.br-faktor-cubuk-ic.yesil { background: var(--yesil); }
.br-faktor-cubuk-ic.altin { background: var(--altin); }

/* Röntgen raporu - Bölüm 04 (2026-08-14): "Kanıt kartları" - 13 ham
   metrik, her biri etiket/deger/renkli-yorum. Kart cercevesi rengi
   yorum kategorisini yansitir (turuncu=dikkat, yesil=olumlu,
   mavi=notr aciklama, renksiz=salt bilgi). */
.rt-kanit-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-top: 1rem; }
@media (max-width: 900px) { .rt-kanit-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rt-kanit-izgara { grid-template-columns: 1fr; } }

.rt-kanit-kart { border: 1px solid var(--border); border-radius: 12px; padding: .85rem 1rem; background: var(--bg-card-hi); }
.rt-kanit-kart.turuncu { border-color: color-mix(in srgb, var(--altin) 35%, var(--border)); }
.rt-kanit-kart.yesil { border-color: color-mix(in srgb, var(--yesil) 35%, var(--border)); }
.rt-kanit-kart.mavi { border-color: color-mix(in srgb, var(--accent2) 35%, var(--border)); }

.rt-kanit-etiket { font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .45rem; }
.rt-kanit-deger { font-family: var(--font-display); font-size: 1.08rem; margin-bottom: .4rem; }
.rt-kanit-yorum { font-size: .74rem; color: var(--text-dim); line-height: 1.45; }
.rt-kanit-yorum.turuncu { color: var(--altin); }
.rt-kanit-yorum.yesil { color: var(--yesil); }
.rt-kanit-yorum.mavi { color: var(--accent2); }

.rt-anlati-kutu { border: 1px dashed color-mix(in srgb, var(--accent) 40%, var(--border)); border-radius: 12px; padding: 1rem 1.2rem; margin-top: 1.1rem; font-size: .8rem; color: var(--text-dim); line-height: 1.75; }
.rt-anlati-baslik { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--accent); margin-bottom: .6rem; font-size: .85rem; }
.rt-anlati-kutu b { color: var(--text); }

/* Röntgen raporu - Bölüm 05 (2026-08-14): "Seviye haritası" - ust
   kisimda yatay bir "cetvel" (destek/kapanis/direnc noktalari + asagi
   bosluk / yukari alan uclari), altinda TUM bolgeler + Fibonacci
   tablolari (.hta-tablo ile PAYLASIMLI), en altta .rt-anlati-kutu ile
   AYNI desen. */
.rt-cubuk-sarmal { margin: 1.3rem 0 1.6rem; padding: 0 .4rem; }
.rt-cubuk-uclar { display: flex; justify-content: space-between; font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 2.9rem; }
.rt-cubuk-sarmal.cok-noktali .rt-cubuk-uclar { margin-bottom: 4.6rem; }
.rt-cubuk-etiket.ust2 { bottom: calc(100% + 44px); }
.rt-cubuk-alan { position: relative; height: 8px; border-radius: 999px; margin: 0 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--kirmizi) 40%, var(--border)), var(--border) 42%, var(--border) 58%, color-mix(in srgb, var(--yesil) 40%, var(--border))); }
.rt-cubuk-nokta { position: absolute; top: 50%; width: 11px; height: 11px; border-radius: 50%; transform: translate(-50%, -50%); border: 2px solid var(--bg-card); z-index: 2; }
.rt-cubuk-nokta.yesil { background: var(--yesil); }
.rt-cubuk-nokta.mor { background: var(--accent); }
.rt-cubuk-nokta.mavi { background: var(--accent2); }
.rt-cubuk-nokta.kirmizi { background: var(--kirmizi); }
.rt-cubuk-etiket { position: absolute; bottom: calc(100% + 10px); transform: translateX(-50%); text-align: center; white-space: nowrap; }
.rt-cubuk-etiket-fiyat { font-family: var(--font-data); font-weight: 700; font-size: .82rem; color: var(--text); }
.rt-cubuk-etiket-alt { font-size: .67rem; color: var(--text-faint); margin-top: .15rem; }

.rt-daraltilabilir-kart { border: 1px solid var(--border); border-radius: 14px; padding: 1.1rem 1.2rem; background: var(--bg-card); margin-top: 1.1rem; }
.rt-daraltilabilir-baslik { font-family: var(--font-display); font-size: .92rem; margin: 0 0 .9rem; display: flex; align-items: center; gap: .5rem; color: var(--text); }
.rt-daraltilabilir-baslik .rt-min-ikon { color: var(--text-faint); font-weight: 400; }
.rt-tablo-ayrac td { text-align: center !important; color: var(--text-faint); font-size: .72rem; background: transparent; border-bottom: 1px solid var(--border); padding: .35rem !important; }

/* Röntgen raporu - Bölüm 06 (2026-08-14): "Olasılık çerçevesi" - ust
   serit (evren genisligi), ufuk tablosu (.hta-tablo ile PAYLASIMLI),
   turuncu Sonuç kutusu (.rt-sonuc-kutu.altin ile PAYLASIMLI), dashed
   anlati kutusu (.rt-anlati-kutu ile PAYLASIMLI). */
.rt-serit-kutu { border-left: 3px solid var(--yesil); background: color-mix(in srgb, var(--yesil) 8%, var(--bg-card)); border-radius: 0 10px 10px 0; padding: .8rem 1.1rem; margin: 1.1rem 0; font-size: .85rem; color: var(--text); line-height: 1.6; }
.rt-serit-kutu .rt-vurgu { color: var(--yesil); font-weight: 700; }

/* Röntgen raporu - Bölüm 07 (2026-08-14): "Senaryolar" - Ayı/Baz/Boğa
   uc karti. */
.rt-senaryo-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; margin-top: 1rem; }
@media (max-width: 760px) { .rt-senaryo-izgara { grid-template-columns: 1fr; } }
.rt-senaryo-kart { border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.1rem; background: var(--bg-card-hi); }
.rt-senaryo-kart.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 35%, var(--border)); }
.rt-senaryo-kart.yesil { border-color: color-mix(in srgb, var(--yesil) 35%, var(--border)); }
.rt-senaryo-baslik { font-family: var(--font-display); font-size: 1rem; margin-bottom: .3rem; }
.rt-senaryo-kart.kirmizi .rt-senaryo-baslik { color: var(--kirmizi); }
.rt-senaryo-kart.yesil .rt-senaryo-baslik { color: var(--yesil); }
.rt-senaryo-alt { font-size: .74rem; color: var(--text-faint); margin-bottom: .9rem; }
.rt-senaryo-satir { display: flex; justify-content: space-between; align-items: baseline; font-size: .82rem; margin-bottom: .35rem; }
.rt-senaryo-satir span { color: var(--text-faint); }
.rt-senaryo-satir b { font-family: var(--font-data); font-weight: 700; }
.rt-senaryo-satir:last-child { margin-bottom: 0; }

/* Röntgen raporu - Bölüm 08 (2026-08-14): "Karar çerçevesi" - her biri
   ayri kart olan etiket/icerik satirlari (Bölüm 01'in tek-kart
   .rt-ozet-satir'inden FARKLI - burada her satir kendi kartinda). */
.rt-karar-satir { display: grid; grid-template-columns: 155px 1fr; gap: 1rem; align-items: start; border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.2rem; background: var(--bg-card-hi); margin-bottom: .8rem; }
.rt-karar-etiket { font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-dim); padding-top: .15rem; }
.rt-karar-etiket.kirmizi { color: var(--kirmizi); }
.rt-karar-etiket.altin { color: var(--altin); }
.rt-karar-etiket.mor { color: var(--accent); }
.rt-karar-icerik { font-size: .85rem; color: var(--text-dim); line-height: 1.6; }
.rt-karar-icerik b { color: var(--text); font-weight: 700; }
.rt-karar-icerik b.kirmizi { color: var(--kirmizi); }

/* Röntgen raporu - Bölüm 09 (2026-08-14): "Bu aracın sicili — şeffaflık"
   - 4'lu istatistik kartı (.mini-stat ile PAYLASIMLI, sadece renk
   modifiyesi eklendi), dashed durustluk notu (.rt-anlati-kutu ile
   PAYLASIMLI), acilir sozluk (.kp-grup ile PAYLASIMLI), alt bilgi
   satiri. */
.mini-stat-deger.yesil { color: var(--yesil); }
.mini-stat-deger.kirmizi { color: var(--kirmizi); }

.rt-sozluk-liste { display: flex; flex-direction: column; gap: 1.1rem; }
.rt-sozluk-terim { font-family: var(--font-display); font-size: .88rem; margin-bottom: .25rem; color: var(--text); }
.rt-sozluk-aciklama { font-size: .8rem; color: var(--text-dim); line-height: 1.55; }

.rt-rapor-footer { text-align: center; font-size: .7rem; color: var(--text-faint); margin-top: 1.6rem; padding-top: 1.1rem; border-top: 1px solid var(--border); }

/* Rekabet duvari rozetleri - aktif (gercekten guclu) yesil, pasif
   (zayif/kanitlanmamis) soluk gri (referans sistemden ornekleme,
   2026-08-14). */
.hta-duvar-satir { display: flex; flex-wrap: wrap; gap: .5rem; }
.hta-duvar-rozet { font-size: .74rem; font-weight: 600; padding: .3rem .7rem; border-radius: 999px; border: 1px solid var(--border); color: var(--text-faint); }
.hta-duvar-rozet.aktif { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 40%, var(--border)); background: color-mix(in srgb, var(--yesil) 8%, transparent); }
.hta-duvar-rozet.pasif { opacity: .6; }

/* Oz-denetim - katlanir kaynak/eksikler bolumu (referans sistemden
   ornekleme, ama icerik LLM'e degil backend'e DETERMINISTIK olarak
   yazdirildi - dogruluk icin). */
.hta-oz-denetim { margin-top: 1.4rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.hta-oz-denetim-baslik { font-size: .78rem; font-weight: 700; color: var(--accent2); cursor: pointer; user-select: none; }
.hta-oz-denetim-ok { display: inline-block; font-size: .65rem; margin-right: .3rem; }
.hta-oz-denetim-govde { margin-top: .7rem; font-size: .78rem; color: var(--text-faint); }

/* Finansal Pano - 6 grafikli 2 sutunlu izgara (referans sistemden
   ornekleme, 2026-08-14 ekran goruntusunden). Kart dili .mini-stat ile
   AYNI (bg-card-hi + border), yeni renk icat edilmedi. */
.hta-pano-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: .8rem; }
@media (max-width: 760px) { .hta-pano-izgara { grid-template-columns: 1fr; } }
.hta-pano-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .9rem 1rem 1rem; }
.hta-pano-baslik { font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.hta-pano-alt { font-size: .72rem; color: var(--text-faint); margin: .15rem 0 .7rem; }
.hta-pano-uyari { font-size: .72rem; color: var(--altin); margin-top: .6rem; line-height: 1.5; }
.hta-pano-not { font-size: .72rem; color: var(--text-faint); margin-top: .8rem; line-height: 1.5; }

/* Sayfa ust rozeti + alt uyari kutusu - referans arama sayfasindan
   ornekleme (2026-08-14, Muzaffer'in "arama sayfasi + ticket'lar" istegi). */
.hta-ust-rozet-satir { margin: .6rem 0 1.1rem; }
.hta-ust-rozet { display: inline-block; font-size: .64rem; font-weight: 700; letter-spacing: .04em; padding: .3rem .7rem; border-radius: 999px; }
.hta-ust-rozet-yesil { background: color-mix(in srgb, var(--yesil) 18%, transparent); color: var(--yesil); }
.hta-ust-rozet-mavi { background: color-mix(in srgb, var(--accent2) 18%, transparent); color: var(--accent2); }
.hta-uyari-kutu { margin-top: 1.3rem; padding: .9rem 1.1rem; border: 1px solid color-mix(in srgb, var(--altin) 35%, var(--border)); background: color-mix(in srgb, var(--altin) 8%, transparent); border-radius: 12px; font-size: .74rem; color: var(--text-dim); line-height: 1.55; }
.hta-uyari-kutu b { color: var(--altin); }

.hta-baslik-satir { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.hta-rehber-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--altin); color: #241a03; border: none; border-radius: 999px;
  padding: .5rem 1rem; font-size: .78rem; font-weight: 700;
  cursor: pointer; flex-shrink: 0; white-space: nowrap; font-family: inherit;
}
.hta-rehber-btn:hover { filter: brightness(1.08); }

.hta-uretim-durum { margin-top: .8rem; padding: .7rem .9rem; border-radius: 12px; background: var(--bg-card-hi); border: 1px solid var(--border); }
.hta-uretim-ust { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: .8rem; }
.hta-uretim-ticker { font-weight: 700; color: var(--text); }
.hta-uretim-not { color: var(--text-dim); }
.hta-uretim-sure { margin-left: auto; color: var(--text-faint); font-family: var(--font-data); font-size: .75rem; }
.hta-uretim-yol { width: 100%; height: 6px; border-radius: 4px; background: var(--bg-card); overflow: hidden; margin-top: .55rem; }
.hta-uretim-cubuk { height: 100%; width: 0%; background: linear-gradient(90deg, var(--accent), var(--accent2)); transition: width 1s linear; border-radius: 4px; }

.hta-bolum-baslik { font-family: var(--font-display); font-size: 1rem; color: var(--text); }

.hta-metin-tablo { width: 100%; border-collapse: collapse; font-size: .82rem; }
.hta-metin-tablo th, .hta-metin-tablo td { padding: .7rem .8rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.hta-metin-tablo th { color: var(--text-faint); font-weight: 700; font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.hta-metin-tablo td:first-child { font-weight: 700; color: var(--text); white-space: nowrap; }
.hta-metin-tablo td:last-child { color: var(--text-dim); line-height: 1.5; }

.hta-bar-grafik { display: flex; align-items: flex-end; gap: 1rem; margin-top: .8rem; }
.hta-bar-sutun { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 0; }
.hta-bar-yoy { font-size: .7rem; font-weight: 700; color: var(--yesil); margin-bottom: .3rem; height: 1em; }
.hta-bar-track { width: 100%; max-width: 70px; height: 140px; display: flex; align-items: flex-end; }
.hta-bar-gorsel { width: 100%; background: var(--accent2); border-radius: 6px 6px 0 0; min-height: 4px; }
.hta-bar-etiket { font-size: .72rem; color: var(--text-dim); margin-top: .5rem; }
.hta-bar-deger { font-size: .7rem; color: var(--text-faint); font-family: var(--font-data); }

.hta-pano-not-kutu { margin-top: .8rem; padding: .8rem 1rem; border: 1px solid var(--border); border-radius: 12px; }

/* LEAP Mentor (2026-08-15, Muzaffer'in referans ekran goruntulerinden
   orneklenen "01 Analizini Kur" formu - sadece yapi, veri/hesaplama yok). */
.lm-alan { margin-top: 1rem; }
.lm-alan-baslik { font-size: .82rem; font-weight: 700; color: var(--text); margin-bottom: .2rem; }
.lm-alan-ipucu { font-size: .74rem; color: var(--text-faint); margin-bottom: .5rem; }

.lm-secenek-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 380px)); justify-content: start; gap: .7rem; }
.lm-secenek-kart {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px;
  padding: .8rem .9rem; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
.lm-secenek-kart:hover { border-color: var(--border-hi); }
.lm-secenek-kart.secili { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent); }
.lm-secenek-baslik { font-weight: 700; font-size: .85rem; margin-bottom: .3rem; }
.lm-secenek-kart.secili .lm-secenek-baslik { color: var(--accent); }
.lm-secenek-tik { color: var(--accent); }
.lm-secenek-aciklama { font-size: .76rem; color: var(--text-dim); line-height: 1.5; }

.lm-sekme-grup { display: flex; gap: .5rem; flex-wrap: wrap; }
.lm-sekme-btn {
  background: var(--bg-card-hi); border: 1px solid var(--border); color: var(--text-dim);
  border-radius: 9px; padding: .5rem 1rem; font-size: .82rem; font-weight: 600; cursor: pointer;
  font-family: inherit; transition: border-color .15s ease, color .15s ease;
}
.lm-sekme-btn:hover { border-color: var(--border-hi); color: var(--text); }
.lm-sekme-btn.secili { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); }

.lm-textarea {
  width: 100%; max-width: 560px; min-height: 80px; resize: vertical;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
  color: var(--text); font-family: inherit; font-size: .85rem; padding: .6rem .8rem;
}
.lm-textarea:focus { outline: none; border-color: var(--accent); }

.lm-baslat-satir { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.lm-baslat-ipucu { font-size: .74rem; color: var(--text-faint); }

.lm-yenile-btn {
  background: none; border: 1px solid var(--border); color: var(--text-dim);
  border-radius: 8px; padding: .3rem .7rem; font-size: .72rem; font-weight: 600; cursor: pointer;
  font-family: inherit;
}
.lm-yenile-btn:hover { border-color: var(--accent); color: var(--accent); }

/* Eye of the World (2026-08-15) - endeksler/VIX ailesi/makro/sektor rotasyonu/
   breadth/max-pain GERCEK veri; Market Tide/Flow Alerts/Dark Pool sadece
   ozel bir veri saglayicidan (yok bizde) gelebilir - .wr-veri-yok-kutu. */
.wr-ust-satir { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem; }
.wr-piyasa-durum { font-size: .78rem; color: var(--text-dim); display: flex; align-items: center; gap: .4rem; }
.wr-piyasa-nokta { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.wr-piyasa-nokta.acik { background: var(--yesil); }
.wr-piyasa-nokta.kapali { background: var(--text-faint); }

.wr-rejim-kutu { display: flex; align-items: center; justify-content: space-between; background: color-mix(in srgb, var(--yesil) 12%, var(--bg-card-hi)); border: 1px solid color-mix(in srgb, var(--yesil) 35%, var(--border)); border-radius: 14px; padding: .9rem 1.2rem; margin-top: 1rem; }
.wr-rejim-kutu.negatif { background: color-mix(in srgb, var(--kirmizi) 12%, var(--bg-card-hi)); border-color: color-mix(in srgb, var(--kirmizi) 35%, var(--border)); }
.wr-rejim-etiket { font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); margin-right: .6rem; }
.wr-rejim-deger { font-family: var(--font-display); font-size: 1.1rem; color: var(--yesil); }
.wr-rejim-kutu.negatif .wr-rejim-deger { color: var(--kirmizi); }
.wr-rejim-versiyon { font-size: .65rem; color: var(--text-faint); border: 1px solid var(--border); border-radius: 6px; padding: .15rem .4rem; }

.wr-pill-satir { display: flex; gap: .5rem; overflow-x: auto; padding: .8rem 0 .3rem; }
.wr-pill { flex-shrink: 0; display: flex; align-items: center; gap: .4rem; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 999px; padding: .4rem .8rem; font-size: .76rem; white-space: nowrap; color: var(--text-dim); }
.wr-pill b { color: var(--text); }

.wr-bolum-baslik { display: flex; align-items: center; gap: .5rem; margin: 1.4rem 0 .1rem; }
.wr-bolum-nokta { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.wr-bolum-baslik-metin { font-family: var(--font-display); font-size: 1rem; }
.wr-bolum-baslik-rozet { font-size: .64rem; color: var(--text-faint); border: 1px solid var(--border); border-radius: 6px; padding: .1rem .4rem; margin-left: .3rem; }
.wr-bolum-alt { font-size: .74rem; color: var(--text-faint); margin: .2rem 0 .8rem; }

.wr-endeks-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 340px)); justify-content: start; gap: .8rem; }
.wr-endeks-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .9rem 1rem; }
.wr-endeks-ust { display: flex; justify-content: space-between; align-items: flex-start; }
.wr-endeks-ad { font-weight: 700; font-size: .85rem; }
.wr-endeks-alt-ad { font-size: .68rem; color: var(--text-faint); }
.wr-durum-rozet { font-size: .6rem; font-weight: 700; letter-spacing: .04em; padding: .2rem .5rem; border-radius: 999px; white-space: nowrap; }
.wr-durum-rozet.NORMAL { color: var(--text-faint); border: 1px solid var(--border); }
.wr-durum-rozet.IZLEMEDE { color: var(--altin); border: 1px solid color-mix(in srgb, var(--altin) 40%, var(--border)); background: color-mix(in srgb, var(--altin) 10%, transparent); }
.wr-durum-rozet.TETIK { color: var(--kirmizi); border: 1px solid color-mix(in srgb, var(--kirmizi) 40%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 12%, transparent); }
.wr-endeks-fiyat { font-family: var(--font-data); font-size: 1.4rem; font-weight: 700; margin-top: .3rem; }
.wr-endeks-degisim { font-family: var(--font-data); font-size: .82rem; margin-left: .4rem; }

.wr-seviye-cizgi { position: relative; height: 34px; margin: .9rem 0 .5rem; border-top: 1px solid var(--border); }
.wr-seviye-tik { position: absolute; top: 0; transform: translateX(-50%); border-left: 1px solid var(--border-hi); height: 8px; }
.wr-seviye-tik-etiket { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); font-size: .6rem; color: var(--text-faint); white-space: nowrap; }
.wr-seviye-guncel { position: absolute; top: -4px; transform: translateX(-50%); width: 9px; height: 9px; border-radius: 50%; background: var(--accent2); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent2) 25%, transparent); }

.wr-endeks-not { font-size: .72rem; color: var(--text-dim); margin-top: 1.3rem; line-height: 1.5; }
.wr-endeks-not b { color: var(--text); }
.wr-endeks-tarih { font-size: .64rem; color: var(--text-faint); margin-top: .2rem; }

.wr-btc-bar-yol { height: 8px; border-radius: 5px; background: var(--bg-card); overflow: hidden; margin: .9rem 0 .3rem; position: relative; }
.wr-btc-bar-ic { height: 100%; background: linear-gradient(90deg, var(--accent2), var(--altin)); }
.wr-btc-uc-satir { display: flex; justify-content: space-between; font-size: .68rem; color: var(--text-faint); }

.wr-makro-satir { display: flex; gap: 1.2rem; flex-wrap: wrap; padding: .8rem 1rem; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; font-size: .8rem; }
.wr-makro-oge { display: flex; flex-direction: column; gap: .1rem; }
.wr-makro-etiket { font-size: .62rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: .03em; }
.wr-makro-deger { font-family: var(--font-data); font-weight: 700; }

/* 2026-08-24: tek yonlu 4 cubuk -> ortadan iki yana acilan 2 karsilastirma
   cubugu (Muzaffer'in referans ekran goruntusu). Yon ve renk ISARETE bagli;
   sol enstruman tam renkli, sag enstruman yari saydam - ayni yone gidip
   ust uste bindiklerinde ayirt edilebilsinler diye. */
.wr-breadth-satir { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.wr-breadth-uc { width: 74px; flex-shrink: 0; }
.wr-breadth-uc.sag { text-align: right; }
.wr-breadth-uc-ad { font-size: .78rem; color: var(--text-dim); line-height: 1.3; }
.wr-breadth-uc-deger { font-family: var(--font-data); font-size: .78rem; font-weight: 600; }
.wr-breadth-yol { flex: 1; height: 14px; border-radius: 5px; background: var(--bg-card); position: relative; overflow: hidden; }
.wr-breadth-merkez { position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: var(--border-hi); transform: translateX(-.5px); z-index: 2; }
.wr-breadth-cubuk { position: absolute; top: 0; height: 100%; }
.wr-breadth-cubuk.pozitif { background: var(--yesil); left: 50%; border-radius: 0 3px 3px 0; }
.wr-breadth-cubuk.negatif { background: var(--kirmizi); right: 50%; border-radius: 3px 0 0 3px; }
/* Ikinci enstruman ust uste bindiginde (ayni isaretteyken) sadece
   saydamlik yetmiyor - ic ice gecen cubugun UCU okunmuyor. Ince bir ic
   kenar cizgisi sinirini gorunur kiliyor. */
.wr-breadth-cubuk.ikincil { opacity: .55; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text) 55%, transparent); z-index: 3; }
.wr-breadth-alt { font-size: .72rem; color: var(--text-faint); margin: -.3rem 0 .7rem; }
.wr-breadth-sonuc { font-size: .8rem; color: var(--text); line-height: 1.55; background: color-mix(in srgb, var(--yesil) 10%, transparent); border: 1px solid color-mix(in srgb, var(--yesil) 30%, var(--border)); border-radius: 10px; padding: .55rem .8rem; margin-bottom: 1rem; }
.wr-breadth-izgara { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
.wr-breadth-sol { flex: 1; min-width: 220px; }
.wr-breadth-not { font-size: .74rem; color: var(--text-faint); margin-top: .5rem; }

.wr-sektor-hucre.pozitif { color: var(--yesil); }
.wr-sektor-hucre.negatif { color: var(--kirmizi); }

.wr-haber-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); gap: 0 1.5rem; }

.wr-akis-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 360px)); justify-content: start; gap: .8rem; }
.wr-akis-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .8rem 1rem; max-height: 280px; overflow-y: auto; }
.wr-akis-baslik { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .5rem; display: flex; justify-content: space-between; }
.wr-akis-satir { padding: .5rem 0; border-top: 1px solid var(--border); font-size: .76rem; }
.wr-akis-satir:first-child { border-top: none; }
.wr-akis-zaman { color: var(--text-faint); font-size: .68rem; }
.wr-yon-rozet { font-size: .6rem; font-weight: 700; padding: .1rem .4rem; border-radius: 4px; margin-left: .3rem; }
.wr-yon-rozet.call { background: color-mix(in srgb, var(--yesil) 18%, transparent); color: var(--yesil); }
.wr-yon-rozet.put { background: color-mix(in srgb, var(--kirmizi) 18%, transparent); color: var(--kirmizi); }

.wr-veri-yok-kutu { padding: 1.2rem 1rem; text-align: center; color: var(--text-faint); font-size: .78rem; line-height: 1.6; }

.lm-kontrat-kart { background: var(--bg-card-hi); border: 1px solid color-mix(in srgb, var(--altin) 35%, var(--border)); border-radius: 16px; padding: 1.1rem 1.3rem; margin-top: 1.2rem; }
.lm-kontrat-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.lm-kontrat-etiket { font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--altin); margin-bottom: .3rem; }
.lm-kontrat-baslik { font-family: var(--font-display); font-size: 1.15rem; }
.lm-kontrat-alt { color: var(--text-dim); font-size: .82rem; margin-top: .3rem; }
.lm-kontrat-rozet-satir { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .6rem; }
.lm-kontrat-rozet { font-size: .68rem; font-weight: 600; padding: .25rem .6rem; border-radius: 999px; border: 1px solid var(--border); color: var(--text-faint); background: var(--bg-card); }
.lm-skor-halka-kutu { flex-shrink: 0; }
.lm-kontrat-meta { font-size: .7rem; color: var(--text-faint); margin-top: .9rem; padding-top: .7rem; border-top: 1px solid var(--border); }

.lm-sonuc-kutu { border-radius: 10px; padding: .75rem 1rem; font-size: .82rem; color: var(--text-dim); line-height: 1.6; margin-top: .8rem; border: 1px solid; }
.lm-sonuc-kutu.amber { border-color: color-mix(in srgb, var(--altin) 35%, var(--border)); background: color-mix(in srgb, var(--altin) 8%, transparent); }
.lm-sonuc-kutu.yesil { border-color: color-mix(in srgb, var(--yesil) 35%, var(--border)); background: color-mix(in srgb, var(--yesil) 8%, transparent); }
.lm-sonuc-kutu.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 35%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 8%, transparent); }
.lm-sonuc-kutu b { color: var(--text); }

.lm-payoff-kutu { margin-top: 1.3rem; padding: 1.6rem 1rem 1rem; }
.lm-payoff-cizgi { display: flex; height: 8px; border-radius: 5px; overflow: hidden; position: relative; }
.lm-payoff-bant.kirmizi { background: color-mix(in srgb, var(--kirmizi) 55%, var(--bg-card-hi)); flex: 3; }
.lm-payoff-bant.altin { background: color-mix(in srgb, var(--altin) 55%, var(--bg-card-hi)); flex: 2; }
.lm-payoff-bant.yesil { background: color-mix(in srgb, var(--yesil) 55%, var(--bg-card-hi)); flex: 5; }
.lm-payoff-noktalar { position: relative; height: 44px; margin-top: .4rem; }
.lm-payoff-nokta { position: absolute; top: 0; transform: translateX(-50%); text-align: center; white-space: nowrap; }
.lm-payoff-deger { font-family: var(--font-data); font-weight: 700; font-size: .8rem; }
.lm-payoff-etiket { font-size: .66rem; color: var(--text-faint); margin-top: .1rem; }
.lm-payoff-bolge-etiket { display: flex; justify-content: space-between; font-size: .68rem; color: var(--text-faint); margin-top: .3rem; }

.lm-yaklasim-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 380px)); justify-content: start; gap: .8rem; margin-top: .8rem; }
.lm-yaklasim-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .9rem 1rem; position: relative; }
.lm-yaklasim-etiket { display: inline-block; font-size: .6rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, transparent); border-radius: 999px; padding: .2rem .55rem; margin-bottom: .5rem; }
.lm-yaklasim-baslik { font-family: var(--font-display); font-size: .92rem; }
.lm-yaklasim-alt { font-size: .76rem; color: var(--text-dim); margin: .3rem 0 .7rem; line-height: 1.5; }
.lm-yaklasim-satir { display: flex; justify-content: space-between; gap: .5rem; font-size: .78rem; padding: .3rem 0; border-top: 1px solid var(--border); color: var(--text-dim); }
.lm-yaklasim-satir:first-of-type { border-top: none; }
.lm-yaklasim-satir b { color: var(--text); font-family: var(--font-data); font-weight: 600; }
.lm-yaklasim-skor { display: inline-block; margin-top: .7rem; font-size: .72rem; font-weight: 700; padding: .25rem .6rem; border-radius: 999px; background: color-mix(in srgb, var(--altin) 18%, transparent); color: var(--altin); }

.lm-risk-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8rem; margin-top: .8rem; }
.lm-risk-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: .85rem 1rem; }
.lm-risk-kart.aktif { border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); }
.lm-risk-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.lm-risk-baslik { font-weight: 700; font-size: .82rem; }
.lm-risk-aktif-etiket { font-size: .6rem; font-weight: 700; letter-spacing: .04em; color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 16%, transparent); border-radius: 999px; padding: .2rem .5rem; white-space: nowrap; }
.lm-risk-metin { font-size: .78rem; color: var(--text-dim); line-height: 1.55; margin-top: .4rem; }

.lm-soru-satir { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--border); flex-wrap: wrap; }
.lm-soru-satir:first-of-type { border-top: none; }
.lm-soru-metin { font-weight: 700; font-size: .82rem; flex: 1; min-width: 220px; }
.lm-soru-cevap { color: var(--text-dim); font-size: .78rem; flex: 1; min-width: 220px; line-height: 1.5; }
.lm-soru-ok { color: var(--text-faint); flex-shrink: 0; }

/* ---- TrendCheck (Trend & Çıkış Planı) - 2026-08-15. Röntgen'in
   bileşen dilini (mini-stat/rt-kanit-kart/hta-tablo/br-faktor-*/
   rt-sonuc-kutu/rt-cubuk-*/rt-anlati-kutu/rt-daraltilabilir-kart/
   rt-rapor-footer) DOĞRUDAN yeniden kullanır - sadece "Analiz İste"
   formundaki ekstra Vade/Maliyet alanları için yeni sınıf gerekti. ---- */
.tc-form-izgara { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: .8rem; align-items: end; margin-top: .3rem; }
@media (max-width: 820px) { .tc-form-izgara { grid-template-columns: 1fr 1fr; } }
.tc-form-alan { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.tc-form-etiket { font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); }
.tc-form-alan input, .tc-form-alan select {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px;
  color: var(--text); font-size: .85rem; padding: .6rem .8rem; font-family: inherit; width: 100%;
}
.tc-form-alan input:focus, .tc-form-alan select:focus { outline: none; border-color: var(--accent); }
.tc-form-izgara .tetikle-btn { height: 41px; white-space: nowrap; }

.tc-rozet { display: inline-block; font-size: .72rem; font-weight: 600; padding: .3rem .7rem; border-radius: 8px; border: 1px solid var(--border-hi); background: var(--bg-card-hi); color: var(--text-dim); }

.tc-risk-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; margin-top: 1rem; }
@media (max-width: 700px) { .tc-risk-izgara { grid-template-columns: 1fr; } }
.tc-risk-kart { border: 1px solid var(--border); border-radius: 12px; padding: .9rem 1.1rem; background: var(--bg-card-hi); }
.tc-risk-kart.aktif { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); background: color-mix(in srgb, var(--altin) 6%, var(--bg-card-hi)); }
.tc-risk-ust { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .4rem; }
.tc-risk-baslik { font-family: var(--font-display); font-size: .88rem; }
.tc-risk-aciklama { font-size: .8rem; color: var(--text-dim); line-height: 1.55; }

/* ---- RotationPulse - 2026-08-15. Sabit 21 ETF evreni, Pano (kart
   ızgarası) + Kadran (SVG scatter) iki görünüm, GERÇEK backtest'li
   Kalibrasyon. Gölge Sinyal (UW opsiyon akışı) KASITLI placeholder -
   veri kaynağı yok, Muzaffer dönünce bağlanacak. ---- */
.rp-meta-sag { display: flex; align-items: center; gap: .8rem; font-size: .78rem; color: var(--text-faint); flex-wrap: wrap; }
.rp-tarih-sarmal { position: relative; }
.rp-tarih-btn { display: flex; align-items: center; gap: .4rem; background: var(--bg-card-hi); border: 1px solid var(--border-hi); border-radius: 10px; padding: .45rem .8rem; color: var(--text); font-size: .8rem; font-weight: 600; cursor: pointer; font-family: inherit; }
.rp-tarih-liste { position: absolute; top: calc(100% + 6px); right: 0; z-index: 30; background: color-mix(in srgb, var(--bg) 92%, var(--bg-card-hi)); border: 1px solid var(--border-hi); border-radius: 12px; max-height: 280px; overflow-y: auto; min-width: 170px; box-shadow: 0 24px 45px -22px rgba(0,0,0,.5); }
.rp-tarih-oge { padding: .5rem .8rem; font-size: .8rem; color: var(--text-dim); cursor: pointer; white-space: nowrap; }
.rp-tarih-oge:hover { background: var(--bg-card); color: var(--text); }
.rp-tarih-oge.secili { color: var(--accent); font-weight: 700; }
.rp-yenile-btn { display: inline-flex; align-items: center; gap: .4rem; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .5rem .9rem; color: var(--text-dim); font-size: .8rem; font-weight: 600; cursor: pointer; font-family: inherit; margin-bottom: .9rem; }
.rp-yenile-btn:hover { color: var(--text); border-color: var(--accent); }

.rp-filtre-satir { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin: 0 0 1.1rem; }
.rp-filtre-grup { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rp-filtre-etiket { font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); margin-right: .1rem; }
.rp-segment { display: flex; gap: .2rem; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .2rem; }
.rp-segment-btn { background: none; border: none; color: var(--text-dim); font-size: .76rem; font-weight: 600; padding: .38rem .7rem; border-radius: 7px; cursor: pointer; font-family: inherit; }
.rp-segment-btn.aktif { background: var(--accent); color: #0b0a17; }
.rp-segment-btn:not(.aktif):hover { color: var(--text); }

.rp-vurgu-serit { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; font-size: .8rem; padding: .7rem 1rem; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 1.1rem; background: var(--bg-card-hi); }
.rp-vurgu-serit b { font-weight: 700; }

.rp-pano-baslik { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); margin: 1.3rem 0 .8rem; }

.rp-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: .7rem; }
@media (max-width: 1400px) { .rp-izgara { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px) { .rp-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rp-izgara { grid-template-columns: 1fr; } }

.rp-kart { border: 1px solid var(--border); border-radius: 12px; padding: .8rem .9rem; background: var(--bg-card-hi); }
.rp-kart-ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.rp-kart-sira { font-family: var(--font-data); font-size: .72rem; color: var(--text-faint); font-weight: 700; }
.rp-kart-hot { font-size: .6rem; font-weight: 800; letter-spacing: .03em; color: #0b0a17; background: var(--kirmizi); padding: .12rem .4rem; border-radius: 5px; }
.rp-kart-ticker { font-family: var(--font-display); font-size: .95rem; }
.rp-kart-ad { font-size: .7rem; color: var(--text-faint); margin-bottom: .5rem; min-height: 1.2em; }
.rp-kart-getiri { font-family: var(--font-data); font-size: 1.1rem; font-weight: 700; margin-bottom: .45rem; }
.rp-kart-getiri.yesil { color: var(--yesil); }
.rp-kart-getiri.kirmizi { color: var(--kirmizi); }
.rp-kart-cubuk-satir { display: flex; align-items: center; gap: .5rem; margin-bottom: .55rem; }
.rp-kart-cubuk { flex: 1; height: 5px; border-radius: 3px; background: var(--bg-card); overflow: hidden; }
.rp-kart-cubuk-ic { height: 100%; border-radius: 3px; }
.rp-kart-ileri-sayi { font-size: .66rem; color: var(--text-faint); white-space: nowrap; font-family: var(--font-data); }
.rp-kart-alt { display: flex; align-items: center; justify-content: space-between; gap: .4rem; font-size: .66rem; color: var(--text-faint); padding-top: .5rem; border-top: 1px solid var(--border); }
.rp-kart-sira-degisim.yesil { color: var(--yesil); }
.rp-kart-sira-degisim.kirmizi { color: var(--kirmizi); }
.rp-kart-golge { font-size: .64rem; margin-top: .4rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.rp-kadran-sarmal { border: 1px solid var(--border); border-radius: 14px; padding: 1.2rem; background: var(--bg-card); margin-top: 1rem; }
.rp-kadran-eksen-etiket { font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint); }
.rp-kadran-ozet-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; margin-top: 1.2rem; }
@media (max-width: 700px) { .rp-kadran-ozet-izgara { grid-template-columns: 1fr; } }
.rp-kadran-ozet-kart { border-radius: 12px; padding: .9rem 1.1rem; border: 1px solid; font-size: .82rem; line-height: 1.5; color: var(--text-dim); }
.rp-kadran-ozet-kart b.baslik { display: block; margin-bottom: .3rem; font-family: var(--font-display); font-size: .85rem; color: var(--text); }
.rp-kadran-anlati { font-size: .78rem; color: var(--text-dim); line-height: 1.7; margin-top: 1rem; }
.rp-kadran-anlati p { margin: 0 0 .8rem; }
.rp-kadran-anlati b { color: var(--text); }

.rp-kadran-nokta { transition: opacity .15s ease; }
.rp-kadran-sarmal.hover-aktif .rp-kadran-nokta { opacity: .28; }
.rp-kadran-sarmal.hover-aktif .rp-kadran-nokta.vurgulu { opacity: 1; }
.rp-kadran-nokta.vurgulu circle { stroke: var(--parlak); stroke-width: 3px; }
.rp-kadran-nokta.vurgulu text { font-weight: 700; }
.rp-detay-satir { transition: background-color .15s ease; }
.rp-detay-satir.vurgulu { background: color-mix(in srgb, var(--accent2) 14%, transparent); }

.rp-golge-kutu { border: 1px dashed var(--border-hi); border-radius: 14px; padding: 1.3rem; margin-top: 1rem; background: var(--bg-card); text-align: center; color: var(--text-faint); font-size: .85rem; line-height: 1.6; }
.rp-golge-kutu b { color: var(--text-dim); }

.rp-uyari-kutu { border: 1px solid color-mix(in srgb, var(--kirmizi) 30%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 6%, transparent); border-radius: 12px; padding: 1rem 1.2rem; margin-top: 1.6rem; font-size: .72rem; color: var(--text-faint); line-height: 1.65; }
.rp-uyari-kutu b { color: var(--text-dim); }

/* ThemePulse (2026-08-15) */
.tp-modal-arkaplan { position: fixed; inset: 0; background: color-mix(in srgb, #05040c 78%, transparent); backdrop-filter: blur(3px); display: flex; align-items: flex-start; justify-content: center; padding: 3vh 1.2rem; overflow-y: auto; z-index: 200; }
.tp-modal-panel { background: var(--bg-card); border: 1px solid var(--border-hi); border-radius: 16px; padding: 1.6rem 1.8rem 2rem; max-width: 900px; width: 100%; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.tp-modal-ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: .9rem; }
.tp-sekme-grup { display: flex; gap: .4rem; }
.tp-sekme { font-size: .7rem; font-weight: 700; letter-spacing: .04em; padding: .3rem .75rem; border-radius: 20px; color: var(--text-faint); background: var(--bg-card-hi); border: 1px solid var(--border); }
.tp-sekme.aktif { color: #0b0a17; background: var(--text); border-color: var(--text); }
.tp-sekme.devre-disi { opacity: .5; cursor: not-allowed; }
.tp-modal-kapat { background: none; border: none; color: var(--text-faint); font-size: 1.5rem; line-height: 1; cursor: pointer; padding: .2rem .5rem; }
.tp-modal-kapat:hover { color: var(--text); }
.tp-modal-baslik { font-family: var(--font-display); font-size: 1.3rem; margin: 0 0 .3rem; }
.tp-modal-aciklama { color: var(--text-dim); font-size: .85rem; margin-bottom: .7rem; }
.tp-modal-meta { font-size: .74rem; color: var(--text-faint); padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.tp-not { font-size: .74rem; color: var(--text-faint); line-height: 1.6; margin: .5rem 0 0; }
.tp-getiri-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-top: .7rem; }
@media (max-width: 620px) { .tp-getiri-izgara, .tp-momentum-izgara { grid-template-columns: repeat(2, 1fr); } }
.tp-getiri-kutu { border: 1px solid var(--border); border-radius: 10px; padding: .7rem .8rem; background: var(--bg-card-hi); text-align: center; }
.tp-getiri-kutu .etiket { font-size: .64rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .3rem; }
.tp-getiri-kutu .deger { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; }
.tp-getiri-kutu .deger.yesil { color: var(--yesil); }
.tp-getiri-kutu .deger.kirmizi { color: var(--kirmizi); }
.tp-momentum-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-top: .3rem; }
.tp-momentum-kutu { border: 1px solid var(--border); border-radius: 10px; padding: .7rem .8rem; background: var(--bg-card-hi); }
.tp-momentum-kutu .etiket { font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .35rem; }
.tp-momentum-kutu .deger { font-family: var(--font-data); font-size: .92rem; font-weight: 600; color: var(--text); }
.tp-momentum-kutu .deger.pozitif { color: var(--yesil); }
.tp-momentum-kutu .deger.negatif { color: var(--kirmizi); }
#tp-hisse-tablo td:first-child { text-transform: none; font-size: .78rem; }
#tp-detay-tablo td:first-child { text-transform: none; }

/* ThemePulse Pano/Kadran (2026-08-15) */
.rt-nokta.mavi { background: var(--accent2); }
span.yesil, b.yesil { color: var(--yesil); }
span.kirmizi, b.kirmizi { color: var(--kirmizi); }
span.altin, b.altin { color: var(--altin); }
span.mavi, b.mavi { color: var(--accent2); }
.tp-momentum-sarmal { display: flex; gap: 1rem; align-items: stretch; margin-top: .6rem; }
.tp-momentum-buyuk { flex: 0 0 140px; border: 1px solid var(--border); border-radius: 12px; padding: 1rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--bg-card-hi); }
.tp-momentum-buyuk .sayi { font-family: var(--font-data); font-size: 2.1rem; font-weight: 700; color: var(--text); line-height: 1; }
.tp-momentum-buyuk .sayi .payda { font-size: 1rem; color: var(--text-faint); font-weight: 400; }
.tp-momentum-buyuk .etiket { font-size: .62rem; font-weight: 700; letter-spacing: .04em; color: var(--text-faint); margin-top: .4rem; }
.tp-momentum-buyuk.yesil { border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); }
.tp-momentum-buyuk.yesil .sayi { color: var(--yesil); }
.tp-momentum-buyuk.altin { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); }
.tp-momentum-buyuk.altin .sayi { color: var(--altin); }
.tp-momentum-buyuk.mavi { border-color: color-mix(in srgb, var(--accent2) 45%, var(--border)); }
.tp-momentum-buyuk.mavi .sayi { color: var(--accent2); }
.tp-momentum-buyuk.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); }
.tp-momentum-buyuk.kirmizi .sayi { color: var(--kirmizi); }
.tp-momentum-sarmal .tp-momentum-izgara { flex: 1; margin-top: 0; }
@media (max-width: 700px) { .tp-momentum-sarmal { flex-direction: column; } .tp-momentum-buyuk { flex-basis: auto; } }

/* ---- Kongre Uyesi Islemleri / Kurumsal 13F (2026-08-15) - liste+modal ---- */
.ki-liste-govde { display: flex; flex-direction: column; gap: .4rem; margin-top: 1rem; max-height: 640px; overflow-y: auto; padding-right: .3rem; }
/* 2026-08-17: Kongre/13F/ETF liste sayfalarinda liste artik .bolum-panel
   icinde - panelin kendi basligi zaten ust bosluk veriyor, listenin
   kendi margin-top'u cifte bosluk yaratmasin diye sifirlaniyor
   (bkz. .bolum-panel .kp-tablo-sarici ile ayni desen). */
.bolum-panel .ki-liste-govde { margin-top: 0; }
.ki-uye-satir { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .65rem .9rem; cursor: pointer; transition: border-color .15s; }
.ki-uye-satir:hover { border-color: var(--accent); }
.ki-uye-isim { font-size: .84rem; font-weight: 600; min-width: 160px; }
.ki-uye-etiketler { display: flex; align-items: center; gap: .35rem; font-size: .72rem; color: var(--text-dim); flex: 1; flex-wrap: wrap; }
.ki-parti-nokta { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.ki-uye-istatistik { display: flex; gap: .8rem; font-size: .72rem; color: var(--text-faint); white-space: nowrap; }
.ki-uye-istatistik b { color: var(--text); font-family: var(--font-data); }

/* ---- SmartMoney (2026-08-15) ---- */
.sm-sentez-kutu { display: flex; gap: 1.2rem; align-items: center; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 16px; padding: 1.2rem 1.4rem; margin-top: 1rem; }
.sm-sentez-kutu.celiski { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); background: color-mix(in srgb, var(--altin) 8%, var(--bg-card-hi)); }
.sm-sentez-kutu.uyum { border-color: color-mix(in srgb, var(--yesil) 40%, var(--border)); background: color-mix(in srgb, var(--yesil) 8%, var(--bg-card-hi)); }
.sm-sentez-ikon { flex-shrink: 0; width: 84px; height: 84px; border-radius: 50%; border: 3px solid var(--altin); display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 1.6rem; color: var(--altin); }
.sm-sentez-kutu.uyum .sm-sentez-ikon { border-color: var(--yesil); color: var(--yesil); }
.sm-sentez-ikon-etiket { font-size: .52rem; font-weight: 800; letter-spacing: .03em; margin-top: .2rem; text-align: center; line-height: 1.2; }
.sm-sentez-govde { flex: 1; }
.sm-sentez-ust { font-size: .64rem; font-weight: 800; letter-spacing: .08em; color: var(--text-faint); }
.sm-sentez-baslik { font-family: var(--font-display); font-size: 1.15rem; margin: .2rem 0 .5rem; }
.sm-sentez-anlam { font-size: .82rem; color: var(--text-dim); line-height: 1.6; background: #00000026; border-radius: 10px; padding: .6rem .8rem; }
.sm-sentez-anlam b { color: var(--text); }

.sm-pill-satir { display: flex; gap: .5rem; flex-wrap: wrap; margin: .9rem 0; }
.sm-pill { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 999px; padding: .35rem .8rem; font-size: .74rem; color: var(--text-dim); }

.sm-kart-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.sm-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.1rem; }
.sm-kart-yok { display: flex; flex-direction: column; gap: .5rem; }
.sm-kart-ust { display: flex; justify-content: space-between; margin-bottom: .5rem; }
.sm-kart-ad { font-size: .84rem; font-weight: 700; }
.sm-kart-kod { font-size: .68rem; color: var(--text-faint); font-weight: 400; }
.sm-kart-net { font-family: var(--font-data); font-size: 1.4rem; font-weight: 700; }
.sm-kart-yon-etiket { font-size: .64rem; font-weight: 800; letter-spacing: .05em; margin-bottom: .7rem; }
.sm-bar-yol { height: 7px; border-radius: 4px; background: var(--kirmizi); overflow: hidden; }
.sm-bar-ic { height: 100%; background: var(--yesil); }
.sm-bar-uc-satir { display: flex; justify-content: space-between; font-size: .64rem; color: var(--text-faint); margin: .3rem 0 .7rem; }
.sm-rozet-satir { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .7rem; }
.sm-rozet { font-size: .62rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; border: 1px solid var(--border); color: var(--text-dim); }
.sm-rozet.yesil { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 40%, var(--border)); background: color-mix(in srgb, var(--yesil) 10%, transparent); }
.sm-rozet.kirmizi { color: var(--kirmizi); border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 10%, transparent); }
.sm-rozet.altin { color: var(--altin); border-color: color-mix(in srgb, var(--altin) 40%, var(--border)); background: color-mix(in srgb, var(--altin) 10%, transparent); }
.sm-yani { font-size: .76rem; color: var(--text-dim); line-height: 1.5; border-top: 1px solid var(--border); padding-top: .6rem; }
.sm-yani b { color: var(--text); }

.sm-trend-govde { display: flex; align-items: flex-end; justify-content: space-around; gap: .6rem; height: 100px; padding-top: 1rem; }
.sm-trend-cubuk-kol { display: flex; flex-direction: column; align-items: center; flex: 1; }
.sm-trend-cubuk-deger { font-size: .68rem; color: var(--text-dim); margin-bottom: .3rem; font-family: var(--font-data); }
.sm-trend-cubuk { width: 100%; max-width: 46px; border-radius: 4px 4px 0 0; }
.sm-trend-cubuk-tarih { font-size: .62rem; color: var(--text-faint); margin-top: .3rem; }

.sm-rozet.notr { color: var(--text-faint); border-color: var(--border); background: transparent; }

/* ---- AiPulse (2026-08-15) ---- */
.ap-sonuc-kutu { display: flex; gap: 1.6rem; align-items: center; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 16px; padding: 1.3rem 1.5rem; margin-top: 1rem; flex-wrap: wrap; }
.ap-gauge-sarmal { flex-shrink: 0; width: 220px; text-align: center; position: relative; }
.ap-gauge-svg { width: 100%; height: auto; display: block; }
.ap-gauge-sayi { font-family: var(--font-display); font-size: 2rem; margin-top: -2.4rem; }
.ap-gauge-bant { font-size: .78rem; font-weight: 800; letter-spacing: .04em; color: var(--accent); }
.ap-gauge-alt { font-size: .64rem; color: var(--text-faint); margin-top: .2rem; }
.ap-sonuc-govde { flex: 1; min-width: 260px; }
.ap-sonuc-baslik { font-size: .92rem; color: var(--text-dim); line-height: 1.6; }

.ap-kisit-tile-satir { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 150px)); justify-content: start; gap: .6rem; margin-top: 1rem; }
.ap-kisit-tile { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .7rem .5rem; text-align: center; cursor: pointer; transition: border-color .15s; }
.ap-kisit-tile:hover { border-color: var(--border-hi); }
.ap-kisit-tile.secili { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); }
.ap-kisit-tile-skor { font-family: var(--font-data); font-size: 1.3rem; font-weight: 700; }
.ap-kisit-tile-ad { font-size: .62rem; color: var(--text-dim); margin-top: .2rem; line-height: 1.3; min-height: 2.2em; }
.ap-kisit-tile-bant { font-size: .6rem; color: var(--text-faint); font-weight: 700; letter-spacing: .03em; margin-top: .2rem; }

.ap-kisit-detay-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: 1.1rem 1.2rem; margin-top: 1rem; }
.ap-kisit-detay-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.ap-kisit-bar-yol { position: relative; height: 10px; border-radius: 5px; margin-top: 1rem; background: linear-gradient(90deg, var(--kirmizi), var(--altin), var(--yesil)); }
.ap-kisit-bar-isaretci { position: absolute; top: -3px; width: 4px; height: 16px; background: var(--text); border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 0 2px #00000080; }
.ap-kisit-bar-uc-satir { display: flex; justify-content: space-between; font-size: .62rem; color: var(--text-faint); margin-top: .4rem; }

/* ---- Makro (2026-08-16) ---- */
.mk-rejim-serit { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; margin-top: 1rem; }
.mk-rejim-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 14px; padding: 1rem 1.2rem; }
.mk-rejim-ust { font-size: .64rem; font-weight: 800; letter-spacing: .08em; color: var(--text-faint); }
.mk-rejim-alt-ust { font-size: .68rem; color: var(--text-faint); margin-top: .2rem; }
.mk-rejim-deger { font-family: var(--font-display); font-size: 1.25rem; margin: .6rem 0 .4rem; line-height: 1.3; }
.mk-rejim-aciklama { font-size: .78rem; color: var(--text-dim); line-height: 1.55; }
.mk-rejim-kaynak { font-size: .64rem; color: var(--text-faint); margin-top: .6rem; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }

.mk-mini-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 190px)); justify-content: start; gap: .7rem; margin-top: 1rem; }
.mk-mini-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .7rem .85rem; }
.mk-mini-ad { font-size: .62rem; font-weight: 700; letter-spacing: .04em; color: var(--text-faint); text-transform: uppercase; }
.mk-mini-deger { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; margin: .3rem 0 .15rem; }
.mk-mini-degisim { font-size: .68rem; }

.mk-gosterge-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 300px)); justify-content: start; gap: .9rem; }
.mk-gosterge-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .9rem 1rem; }
.mk-gosterge-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.mk-gosterge-ad { font-size: .68rem; font-weight: 700; letter-spacing: .03em; color: var(--text-faint); text-transform: uppercase; line-height: 1.35; }
.mk-gosterge-deger { font-family: var(--font-data); font-size: 1.3rem; font-weight: 700; margin: .5rem 0 .2rem; }
.mk-gosterge-degisim { font-size: .72rem; }
.mk-gosterge-kaynak { font-size: .62rem; color: var(--text-faint); margin-top: .5rem; }

.mk-hikaye-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; margin-top: 1rem; }
.mk-hikaye-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.2rem; }
.mk-hikaye-kart.risk { border-left: 3px solid var(--kirmizi); }
.mk-hikaye-kart.firsat { border-left: 3px solid var(--yesil); }
.mk-hikaye-ust { font-size: .64rem; font-weight: 800; letter-spacing: .08em; color: var(--text-faint); margin-bottom: .5rem; display: flex; align-items: center; gap: .5rem; }
.mk-hikaye-liste { margin: 0; padding-left: 1.1rem; font-size: .8rem; color: var(--text-dim); line-height: 1.6; }
.mk-hikaye-liste li { margin-bottom: .4rem; }
.mk-yani { margin-top: .9rem; padding: .75rem 1rem; border-radius: 10px; font-size: .82rem; color: var(--text-dim); line-height: 1.65; background: var(--bg-card); border-left: 3px solid var(--accent); }

/* ==========================================================================
   Porttech - "Portfoy Teknik Tarama" (2026-08-16)
   ========================================================================== */

.pt-arac-cubugu { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: .9rem 0 1.2rem; }
.pt-tarih-etiket { font-size: .64rem; font-weight: 800; letter-spacing: .08em; color: var(--text-faint); display: flex; align-items: center; gap: .45rem; }
.pt-tarih-etiket select { background: var(--bg-card-hi); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: .4rem .6rem; font-size: .74rem; font-family: inherit; }
.pt-buton { background: var(--bg-card); color: var(--text-dim); border: 1px solid var(--border); border-radius: 8px; padding: .45rem .85rem; font-size: .74rem; font-family: inherit; cursor: pointer; transition: .15s; }
.pt-buton:hover { background: var(--bg-card-hi); color: var(--text); border-color: var(--border-hi); }
.pt-buton:disabled { opacity: .55; cursor: default; }
.pt-buton.birincil { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); background: color-mix(in srgb, var(--accent) 12%, transparent); font-weight: 700; }

.pt-rapor-baslik { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; flex-wrap: wrap; padding: 1.1rem 1.3rem; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 14px; }
.pt-rapor-baslik h2 { font-family: var(--font-display); font-size: 1.35rem; margin: 0 0 .35rem; }
.pt-rapor-alt { font-size: .72rem; color: var(--text-faint); line-height: 1.6; }
.pt-rapor-tarih { text-align: right; }
.pt-rapor-tarih-buyuk { font-family: var(--font-display); font-size: 1.05rem; color: var(--text); margin-bottom: .2rem; }

.pt-rozet-serit { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; margin: .9rem 0 1.2rem; }
.pt-rozet-etiket { font-size: .68rem; color: var(--text-faint); margin-right: .3rem; }
.pt-ticker-rozet { font-family: var(--font-data); font-size: .66rem; font-weight: 700; padding: .18rem .45rem; border-radius: 6px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-dim); }

.pt-anlati-kutu { border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 12px; background: var(--bg-card); padding: 1rem 1.2rem; margin-bottom: 1rem; }
.pt-anlati-kutu p { margin: 0 0 .7rem; font-size: .84rem; color: var(--text-dim); line-height: 1.7; }
.pt-anlati-kutu p:last-child { margin-bottom: 0; }
.pt-anlati-etiket { color: var(--accent); }
.pt-anlati-etiket.kirmizi { color: var(--kirmizi); }
.pt-anlati-etiket.altin { color: var(--altin); }

.pt-rejim-kutu { border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); padding: .9rem 1.1rem; margin-bottom: 1rem; }
.pt-rejim-kutu.yesil { border-left: 3px solid var(--yesil); }
.pt-rejim-kutu.altin { border-left: 3px solid var(--altin); }
.pt-rejim-kutu.kirmizi { border-left: 3px solid var(--kirmizi); }
.pt-rejim-kutu.notr { border-left: 3px solid var(--border-hi); }
.pt-rejim-rozet { font-size: .6rem; font-weight: 800; letter-spacing: .1em; color: var(--text-faint); margin-bottom: .45rem; }
.pt-rejim-govde { font-size: .82rem; color: var(--text-dim); line-height: 1.65; }
.pt-rejim-kaynak { font-size: .64rem; color: var(--text-faint); margin-top: .5rem; }
.pt-hareket-satir { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .6rem; }
.pt-hareket { font-family: var(--font-data); font-size: .68rem; padding: .2rem .5rem; border-radius: 6px; border: 1px solid var(--border); background: #00000026; }

.pt-exec-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 235px)); justify-content: start; gap: .8rem; margin-top: 1rem; }
.pt-exec-kart { border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); padding: .85rem 1rem; }
.pt-exec-kart.yesil { border-left: 3px solid var(--yesil); }
.pt-exec-kart.altin { border-left: 3px solid var(--altin); }
.pt-exec-kart.kirmizi { border-left: 3px solid var(--kirmizi); }
.pt-exec-kart.notr { border-left: 3px solid var(--border-hi); }
.pt-exec-ust { font-size: .58rem; font-weight: 800; letter-spacing: .07em; color: var(--text-faint); line-height: 1.4; min-height: 2.2em; }
.pt-exec-sayi { font-family: var(--font-data); font-size: 1.8rem; font-weight: 700; margin: .3rem 0 .45rem; }
.pt-exec-liste { display: flex; flex-wrap: wrap; gap: .3rem; }
.pt-exec-bos { font-size: .66rem; color: var(--text-faint); line-height: 1.5; }
.pt-kart-hisse { font-family: var(--font-data); font-size: .64rem; color: var(--text-dim); padding: .15rem .4rem; border-radius: 5px; background: #00000030; }
.pt-kart-hisse b { color: var(--text); }

.pt-yani { margin-top: .9rem; padding: .7rem .95rem; border-radius: 10px; font-size: .78rem; color: var(--text-dim); line-height: 1.65; background: #00000026; border-left: 3px solid var(--yesil); }
.pt-yani.kirmizi { border-left-color: var(--kirmizi); }
.pt-yani.altin { border-left-color: var(--altin); }
.pt-yani b { color: var(--text); }

.pt-uyari-liste { list-style: none; margin: 1rem 0 0; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); overflow: hidden; }
.pt-uyari { display: flex; gap: .6rem; align-items: flex-start; padding: .7rem 1rem; font-size: .8rem; color: var(--text-dim); line-height: 1.65; border-bottom: 1px solid var(--border); }
.pt-uyari:last-child { border-bottom: none; }
.pt-uyari b { color: var(--text); font-family: var(--font-data); }
.pt-uyari-nokta { width: 8px; height: 8px; border-radius: 50%; flex: none; margin-top: .45rem; background: var(--text-faint); }
.pt-uyari.kirmizi .pt-uyari-nokta { background: var(--kirmizi); }
.pt-uyari.altin .pt-uyari-nokta { background: var(--altin); }
.pt-uyari.yesil .pt-uyari-nokta { background: var(--yesil); }
.pt-uyari.mavi .pt-uyari-nokta { background: #60a5fa; }

.pt-tablo-sarmal { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; margin-top: 1rem; }
.pt-tablo { width: 100%; border-collapse: collapse; font-size: .76rem; }
.pt-tablo th { text-align: left; font-size: .58rem; font-weight: 800; letter-spacing: .07em; color: var(--text-faint); padding: .65rem .8rem; background: #00000033; border-bottom: 1px solid var(--border); white-space: nowrap; }
.pt-tablo td { padding: .6rem .8rem; border-bottom: 1px solid var(--border); color: var(--text-dim); vertical-align: top; line-height: 1.6; }
.pt-tablo tbody tr:last-child td { border-bottom: none; }
.pt-tablo tbody tr:hover { background: var(--govde-hover); }
.pt-td-ticker { font-family: var(--font-data); font-weight: 700; color: var(--text) !important; white-space: nowrap; }
.pt-td-detay { min-width: 380px; font-size: .74rem; }
.pt-sayi { font-family: var(--font-data); white-space: nowrap; text-align: right; }
.pt-tablo-ozet td { white-space: nowrap; }
.pt-sirali { cursor: pointer; user-select: none; }
.pt-sirali:hover { color: var(--text); }
.pt-sirali.aktif { color: var(--accent); }

.pt-grup-rozet { font-size: .58rem; font-weight: 700; padding: .15rem .4rem; border-radius: 5px; border: 1px solid var(--border); color: var(--text-faint); white-space: nowrap; }
.pt-aksiyon-rozet { font-size: .6rem; font-weight: 800; letter-spacing: .04em; padding: .22rem .5rem; border-radius: 6px; border: 1px solid var(--border); color: var(--text-faint); white-space: nowrap; }
.pt-aksiyon-rozet.kirmizi { color: var(--kirmizi); border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 12%, transparent); }
.pt-aksiyon-rozet.altin { color: var(--altin); border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); background: color-mix(in srgb, var(--altin) 12%, transparent); }
.pt-aksiyon-rozet.yesil { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); background: color-mix(in srgb, var(--yesil) 12%, transparent); }
.pt-tc-rozet { display: inline-block; min-width: 2.1rem; text-align: center; font-family: var(--font-data); font-size: .7rem; font-weight: 700; padding: .18rem .35rem; border-radius: 6px; border: 1px solid var(--border); color: var(--text-faint); }
.pt-tc-rozet.yesil { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); }
.pt-tc-rozet.mavi { color: #60a5fa; border-color: color-mix(in srgb, #60a5fa 45%, var(--border)); }
.pt-tc-rozet.altin { color: var(--altin); border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); }
.pt-tc-rozet.kirmizi { color: var(--kirmizi); border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); }
.pt-tc-etiket { font-size: .66rem; color: var(--text-faint); }
.pt-tc-etiket.yesil { color: var(--yesil); }
.pt-tc-etiket.mavi { color: #60a5fa; }
.pt-tc-etiket.altin { color: var(--altin); }
.pt-tc-etiket.kirmizi { color: var(--kirmizi); }

.pt-kart { border: 1px solid var(--border); border-radius: 14px; background: var(--bg-card); padding: 1rem 1.2rem; margin-top: 1rem; }
.pt-kart.kirmizi { border-left: 3px solid var(--kirmizi); }
.pt-kart.altin { border-left: 3px solid var(--altin); }
.pt-kart.yesil { border-left: 3px solid var(--yesil); }
.pt-kart.notr { border-left: 3px solid var(--border-hi); }
.pt-kart-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.pt-kart-ticker { font-family: var(--font-display); font-size: 1rem; color: var(--text); }
.pt-kart-isim { font-size: .8rem; color: var(--text-dim); margin-right: .4rem; }
.pt-kart-lot { font-size: .66rem; color: var(--text-faint); margin-left: .4rem; }
.pt-kart-fiyat { font-family: var(--font-data); font-size: .72rem; color: var(--text-faint); white-space: nowrap; }
.pt-kart-metrik { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 165px)); justify-content: start; gap: .5rem; margin-bottom: .9rem; }
.pt-metrik { border: 1px solid var(--border); border-radius: 10px; background: #00000026; padding: .55rem .7rem; }
.pt-metrik-ad { font-size: .55rem; font-weight: 800; letter-spacing: .07em; color: var(--text-faint); }
.pt-metrik-deger { font-family: var(--font-data); font-size: .82rem; color: var(--text); margin-top: .25rem; }
.pt-metrik-alt { font-size: .6rem; color: var(--text-faint); margin-top: .15rem; line-height: 1.4; }
.pt-kart-metin { padding: .8rem 1rem; border-radius: 10px; font-size: .78rem; color: var(--text-dim); line-height: 1.7; border: 1px solid var(--border); }
.pt-kart-metin.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 35%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 7%, transparent); }
.pt-kart-metin.kirmizi > b { color: var(--kirmizi); }
.pt-kart-metin.altin { border-color: color-mix(in srgb, var(--altin) 35%, var(--border)); background: color-mix(in srgb, var(--altin) 7%, transparent); }
.pt-kart-metin.altin > b { color: var(--altin); }
.pt-kart-metin.yesil { border-color: color-mix(in srgb, var(--yesil) 35%, var(--border)); background: color-mix(in srgb, var(--yesil) 7%, transparent); }
.pt-kart-metin.yesil > b { color: var(--yesil); }
.pt-kart-katalizor { margin-top: .5rem; font-size: .74rem; }
.pt-kart-katalizor b { color: var(--text); }
.pt-kart-haberler { display: flex; flex-direction: column; gap: .25rem; margin-top: .5rem; }
.pt-haber { font-size: .68rem; color: var(--text-faint); }
a.pt-haber { text-decoration: none; border-bottom: 1px dotted var(--border-hi); }
a.pt-haber:hover { color: var(--accent); }
.pt-kart-feragat { display: block; margin-top: .55rem; font-size: .64rem; color: var(--text-faint); }

.pt-meta-kutu { border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); padding: .95rem 1.2rem; margin-top: 1rem; }
.pt-meta-baslik { font-size: .6rem; font-weight: 800; letter-spacing: .1em; color: var(--text-faint); margin-bottom: .6rem; }
.pt-meta-liste { margin: 0; padding-left: 1.1rem; font-size: .74rem; color: var(--text-dim); line-height: 1.7; }
.pt-meta-liste li { margin-bottom: .4rem; }

.pt-durum-kutu { border: 1px solid var(--border); border-radius: 14px; background: var(--bg-card); padding: 1.6rem 1.5rem; text-align: center; }
.pt-durum-bekle { font-size: .85rem; color: var(--text-dim); line-height: 1.7; }
.pt-durum-hata { font-size: .85rem; color: var(--kirmizi); line-height: 1.7; }
.pt-durum-cubuk { margin: 1rem auto 0; max-width: 320px; height: 4px; border-radius: 999px; background: var(--iz-arka); overflow: hidden; }
.pt-durum-cubuk span { display: block; width: 40%; height: 100%; border-radius: 999px; background: var(--accent); animation: pt-kayan 1.4s ease-in-out infinite; }
@keyframes pt-kayan { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }

/* ---- OptionPulse (2026-08-16) ---- */
.op-rejim-kutu { display: flex; gap: 1.4rem; align-items: center; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 16px; padding: 1.2rem 1.4rem; margin-top: 1rem; flex-wrap: wrap; }
.op-rejim-kutu.yesil { border-color: color-mix(in srgb, var(--yesil) 40%, var(--border)); background: color-mix(in srgb, var(--yesil) 7%, var(--bg-card-hi)); }
.op-rejim-kutu.karisik { border-color: color-mix(in srgb, var(--altin) 42%, var(--border)); background: color-mix(in srgb, var(--altin) 7%, var(--bg-card-hi)); }
.op-rejim-kutu.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 7%, var(--bg-card-hi)); }
.op-rejim-halka { flex-shrink: 0; width: 118px; }
.op-guven-halka { width: 100%; height: auto; display: block; }
.op-rejim-govde { flex: 1; min-width: 280px; }
.op-rejim-rozet { display: inline-block; font-size: .66rem; font-weight: 800; letter-spacing: .06em; padding: .3rem .75rem; border-radius: 999px; border: 1px solid var(--border); color: var(--text-dim); }
.op-rejim-rozet.yesil { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); background: color-mix(in srgb, var(--yesil) 12%, transparent); }
.op-rejim-rozet.karisik { color: var(--altin); border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); background: color-mix(in srgb, var(--altin) 12%, transparent); }
.op-rejim-rozet.kirmizi { color: var(--kirmizi); border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 12%, transparent); }
.op-rejim-baslik { font-size: .95rem; color: var(--text); line-height: 1.55; margin: .6rem 0 .5rem; }
.op-rejim-kaynak { font-size: .64rem; color: var(--text-faint); line-height: 1.5; }

.op-anlam-kutu { margin-top: 1rem; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); background: color-mix(in srgb, var(--accent) 8%, transparent); border-radius: 12px; padding: .9rem 1.1rem; }
.op-anlam-ust { font-size: .62rem; font-weight: 800; letter-spacing: .08em; color: var(--accent); margin-bottom: .4rem; }
.op-anlam-metin { font-size: .84rem; color: var(--text-dim); line-height: 1.7; }

.op-istatistik-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 220px)); justify-content: start; gap: .8rem; margin-top: 1rem; }
.op-istatistik-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .75rem .9rem; }
.op-istatistik-ad { font-size: .6rem; font-weight: 700; letter-spacing: .05em; color: var(--text-faint); text-transform: uppercase; }
.op-istatistik-deger { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; margin: .3rem 0 .15rem; }
.op-istatistik-alt { font-size: .64rem; color: var(--text-faint); }

.op-senaryo-sekme-satir { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .6rem; }
.op-senaryo-sekme { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .7rem .85rem; cursor: pointer; font-size: .78rem; font-weight: 700; color: var(--text-dim); transition: border-color .15s; text-align: left; }
.op-senaryo-sekme:hover { border-color: var(--border-hi); color: var(--text); }
.op-senaryo-sekme.secili { border-color: var(--accent); color: var(--text); background: color-mix(in srgb, var(--accent) 10%, var(--bg-card-hi)); }
.op-senaryo-govde { border: 1px solid var(--border); border-top-width: 3px; border-radius: 12px; padding: 1rem 1.2rem; margin-top: .9rem; background: var(--bg-card-hi); }
.op-senaryo-govde.yesil { border-top-color: var(--yesil); }
.op-senaryo-govde.altin { border-top-color: var(--altin); }
.op-senaryo-govde.kirmizi { border-top-color: var(--kirmizi); }
.op-senaryo-satir { font-size: .82rem; color: var(--text-dim); line-height: 1.65; margin-bottom: .55rem; }
.op-senaryo-satir b { color: var(--text); }
.op-senaryo-satir.iptal { color: var(--kirmizi); }
.op-senaryo-satir.iptal b { color: var(--kirmizi); }
.op-senaryo-kaynak { font-size: .64rem; color: var(--text-faint); margin-top: .7rem; border-top: 1px solid var(--border); padding-top: .5rem; }

.op-risk-liste { display: flex; flex-direction: column; gap: .7rem; margin-top: 1rem; }
.op-risk-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-left: 3px solid var(--altin); border-radius: 10px; padding: .8rem 1rem; }
.op-risk-baslik { font-size: .8rem; font-weight: 700; color: var(--altin); margin-bottom: .3rem; }
.op-risk-metin { font-size: .78rem; color: var(--text-dim); line-height: 1.6; }

@media print {
  .proto-nav, .pt-arac-cubugu { display: none !important; }
  .proto-icerik { padding: 0 !important; }
}

/* ---- MarketPulse (2026-08-16) ---- */
.mp-rejim-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
@media (max-width: 900px) { .mp-rejim-izgara { grid-template-columns: 1fr; } }
.mp-rejim-kart { border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.1rem; background: var(--bg-card); }
.mp-rejim-kart.yesil { border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); }
.mp-rejim-kart.altin { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); }
.mp-rejim-kart.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); }
.mp-rejim-kart .etiket { font-size: .64rem; font-weight: 700; letter-spacing: .05em; color: var(--text-faint); }
.mp-rejim-kart .etiket .ipucu { font-weight: 400; letter-spacing: 0; display: block; margin-top: .15rem; }
.mp-rejim-kart .deger { font-family: var(--font-data); font-size: 1.25rem; font-weight: 700; margin: .45rem 0 .35rem; color: var(--text); }
.mp-rejim-kart.yesil .deger { color: var(--yesil); }
.mp-rejim-kart.altin .deger { color: var(--altin); }
.mp-rejim-kart.kirmizi .deger { color: var(--kirmizi); }
.mp-rejim-kart .alt { font-size: .72rem; color: var(--text-dim); line-height: 1.5; }
.mp-sentez-kutu { border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border)); background: color-mix(in srgb, var(--accent) 6%, transparent); border-radius: 12px; padding: .9rem 1.1rem; margin-top: .8rem; font-size: .84rem; line-height: 1.6; }
.mp-uc-cumle { border: 1px solid var(--border); border-left: 3px solid var(--accent2); border-radius: 10px; padding: .8rem 1rem; margin-top: .8rem; font-size: .8rem; line-height: 1.7; color: var(--text-dim); }
.mp-uc-cumle b { color: var(--text); }

.mp-saglik-sarmal { display: flex; gap: 1.4rem; align-items: center; border: 1px solid var(--border); border-radius: 14px; padding: 1.1rem 1.3rem; background: var(--bg-card); flex-wrap: wrap; }
.mp-gauge { text-align: center; flex: 0 0 170px; }
.mp-gauge-bant { font-size: .74rem; font-weight: 700; margin-top: .2rem; }
.mp-hap-listesi { flex: 1; min-width: 280px; }
.mp-hap { display: flex; align-items: center; gap: .5rem; padding: .3rem 0; border-bottom: 1px dashed var(--border); font-size: .78rem; cursor: help; }
.mp-hap:last-of-type { border-bottom: none; }
.mp-hap .nokta { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.mp-hap .ad { color: var(--text-dim); min-width: 120px; }
.mp-hap .etiket { font-weight: 700; }
.mp-hap .skor { font-family: var(--font-data); margin-left: auto; color: var(--text); }
.mp-hap .agirlik { font-size: .66rem; color: var(--text-faint); width: 34px; text-align: right; }
.mp-not-kutu { font-size: .7rem; color: var(--text-faint); margin-top: .5rem; line-height: 1.6; }

.mp-sma-kart { border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.1rem; background: var(--bg-card); margin-bottom: .9rem; }
.mp-sma-baslik { font-size: .84rem; margin-bottom: .6rem; }
.mp-sma-lejant { display: inline-flex; gap: .7rem; flex-wrap: wrap; font-size: .66rem; margin-left: .8rem; font-family: var(--font-data); }
.mp-grafik { width: 100%; }
.mp-okuma { font-size: .74rem; color: var(--text-dim); line-height: 1.6; margin-top: .6rem; }
.mp-okuma b { color: var(--accent2); }

.mp-tema-pill-satir { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .8rem; }
.mp-tema-pill { font-size: .7rem; padding: .3rem .7rem; border-radius: 20px; border: 1px solid var(--border); color: var(--text-faint); background: var(--bg-card); opacity: .55; }
.mp-tema-pill.aktif { opacity: 1; color: var(--text); border-color: var(--border-hi); background: var(--bg-card-hi); }
.mp-tema-kart { border: 1px solid var(--border); border-left: 3px solid var(--yesil); border-radius: 12px; padding: .9rem 1.1rem; background: var(--bg-card); margin-bottom: .7rem; }
.mp-tema-kart .baslik { font-family: var(--font-display); font-size: .9rem; margin-bottom: .35rem; }
.mp-tema-kart .metin { font-size: .78rem; color: var(--text-dim); line-height: 1.6; }
.mp-tema-kart .aksiyon { font-size: .7rem; font-weight: 700; letter-spacing: .03em; margin-top: .5rem; color: var(--accent2); }

.mp-akordeon { border: 1px solid var(--border); border-radius: 14px; background: var(--bg-card); margin-bottom: .8rem; }
.mp-akordeon summary { cursor: pointer; padding: .9rem 1.1rem; font-family: var(--font-display); font-size: .9rem; list-style: none; display: flex; align-items: center; }
.mp-akordeon summary::-webkit-details-marker { display: none; }
.mp-akordeon summary::after { content: "▾"; margin-left: auto; color: var(--text-faint); transition: transform .2s; }
.mp-akordeon[open] summary::after { transform: rotate(180deg); }
.mp-akordeon-icerik { padding: 0 1.1rem 1.1rem; }

.mp-kart-izgara-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
@media (max-width: 1000px) { .mp-kart-izgara-3 { grid-template-columns: 1fr; } }
.mp-kart-izgara-4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 260px)); justify-content: start; gap: .8rem; }
@media (max-width: 1000px) { .mp-kart-izgara-4 { grid-template-columns: repeat(2, 1fr); } }

.mp-oran-kart { border: 1px solid var(--border); border-radius: 12px; padding: .85rem 1rem; background: var(--bg-card-hi); }
.mp-oran-kart.etiket-on { border-top: 2px solid var(--yesil); }
.mp-oran-kart.etiket-off { border-top: 2px solid var(--kirmizi); }
.mp-oran-kart.etiket-notr { border-top: 2px solid var(--accent2); }
.mp-oran-kart .ust { display: flex; justify-content: space-between; align-items: center; font-size: .84rem; }
.mp-oran-kart .rozet { font-size: .6rem; font-weight: 800; padding: .15rem .45rem; border-radius: 5px; background: var(--bg-card); border: 1px solid var(--border-hi); }
.mp-oran-kart.etiket-on .rozet { color: var(--yesil); }
.mp-oran-kart.etiket-off .rozet { color: var(--kirmizi); }
.mp-oran-kart .aciklama { font-size: .68rem; color: var(--text-faint); margin: .25rem 0 .4rem; }
.mp-oran-kart .deger { font-family: var(--font-data); font-size: 1.25rem; font-weight: 700; }
.mp-oran-kart .degisimler { font-size: .7rem; color: var(--text-dim); margin: .25rem 0 .4rem; }
.mp-oran-kart .band-cubuk { height: 5px; border-radius: 3px; background: var(--bg-card); overflow: hidden; }
.mp-oran-kart .band-ic { height: 100%; background: var(--altin); border-radius: 3px; }
.mp-oran-kart .band-etiket { font-size: .64rem; color: var(--text-faint); margin-top: .2rem; }
.mp-oran-kart .yorum { font-size: .7rem; color: var(--text-dim); line-height: 1.5; margin-top: .45rem; }

.mp-endeks-kart { border: 1px solid var(--border); border-radius: 12px; padding: .85rem 1rem; background: var(--bg-card-hi); }
.mp-endeks-kart .ust { display: flex; justify-content: space-between; align-items: center; font-size: .9rem; }
.mp-endeks-kart .asama { font-size: .62rem; color: var(--altin); border: 1px solid color-mix(in srgb, var(--altin) 35%, var(--border)); padding: .12rem .4rem; border-radius: 5px; }
.mp-endeks-kart .ad { font-size: .68rem; color: var(--text-faint); margin-bottom: .35rem; }
.mp-endeks-kart .fiyat { font-family: var(--font-data); font-size: 1.15rem; font-weight: 700; margin-bottom: .35rem; }
.mp-endeks-kart .fiyat span { font-size: .74rem; }
.mp-endeks-kart .satir { font-size: .7rem; color: var(--text-dim); line-height: 1.6; }
.mp-endeks-kart .karar { font-size: .72rem; font-weight: 800; letter-spacing: .03em; margin-top: .45rem; }

.mp-saglik-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 340px)); justify-content: start; gap: .6rem; }
@media (max-width: 800px) { .mp-saglik-izgara { grid-template-columns: 1fr; } }
.mp-saglik-hucre { border: 1px solid var(--border); border-radius: 10px; padding: .7rem .9rem; background: var(--bg-card-hi); display: flex; flex-direction: column; gap: .15rem; }
.mp-saglik-hucre .ad { font-size: .7rem; color: var(--text-faint); }
.mp-saglik-hucre .deger { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; }
.mp-saglik-hucre .alt { font-size: .64rem; color: var(--text-faint); }

.mp-kazanc-kart { border: 1px solid var(--border); border-radius: 10px; padding: .75rem .9rem; background: var(--bg-card-hi); }
.mp-kazanc-kart .etiket { font-size: .6rem; font-weight: 700; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .3rem; }
.mp-kazanc-kart .deger { font-family: var(--font-data); font-size: 1.3rem; font-weight: 700; }
.mp-kazanc-kart .alt { font-size: .64rem; color: var(--text-faint); margin-top: .25rem; line-height: 1.5; }

/* ================= PortNews (2026-08-16) =================
   Referans ekrandan örneklenen "portföy haberleri" raporu. Mevcut cam/mor
   sistemin token'larını kullanır - yeni renk TANIMLAMAZ. */
.pn-ust-kontrol { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.pn-tarih-secim {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px;
  color: var(--text); font-family: inherit; font-size: .78rem; font-weight: 600;
  padding: .45rem .7rem; cursor: pointer; min-width: 210px;
}
.pn-tarih-secim:disabled { color: var(--text-faint); cursor: default; }

.pn-bos-durum {
  border: 1px dashed var(--border-hi); border-radius: 14px; padding: 2.4rem 1.6rem;
  text-align: center; color: var(--text-dim); background: var(--bg-card);
}
.pn-bos-baslik { font-family: var(--font-display); font-size: 1.05rem; color: var(--text); margin-bottom: .5rem; }
.pn-bos-durum p { max-width: 520px; margin: 0 auto; line-height: 1.6; font-size: .85rem; }

.pn-rapor {
  border: 1px solid var(--border); border-radius: 16px; padding: 1.4rem 1.5rem 1.6rem;
  background: var(--bg-card); backdrop-filter: blur(var(--blur));
}
.pn-rapor-ust {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem; border-bottom: 1px solid var(--border);
}
.pn-rapor-baslik { font-family: var(--font-display); font-size: 1.15rem; display: flex; align-items: center; }
.pn-rapor-altbaslik { font-size: .76rem; color: var(--text-faint); margin-top: .3rem; padding-left: 1.2rem; }
.pn-rapor-tarih { text-align: right; font-size: .78rem; color: var(--text-dim); }
.pn-rapor-saat { font-family: var(--font-data); font-size: .7rem; color: var(--text-faint); margin-top: .2rem; }

/* --- ticker çipleri --- */
.pn-cip-satir { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; margin: 1rem 0 1.2rem; }
.pn-cip-etiket { font-size: .68rem; color: var(--text-faint); margin-right: .3rem; }
.pn-cip {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 7px;
  color: var(--text-dim); font-family: var(--font-data); font-size: .7rem; font-weight: 700;
  padding: .25rem .5rem; cursor: pointer; letter-spacing: .02em;
}
.pn-cip:hover { color: var(--text); border-color: var(--accent); }
.pn-cip.secili { background: var(--accent); border-color: var(--accent); color: #0b0a17; }
.pn-cip.sessiz { opacity: .45; }

/* --- özet şerit (referanstaki bullish/bearish şeridinin yerine geçen,
       tamamı ölçülmüş 4 sayı) --- */
.pn-ozet {
  display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.2rem;
  border: 1px solid var(--border); border-radius: 14px; padding: 1.1rem 1.2rem;
  background: var(--bg-card-hi); margin-bottom: 1.6rem;
}
@media (max-width: 900px) { .pn-ozet { grid-template-columns: 1fr; } }
.pn-ozet-baslik { font-family: var(--font-display); font-size: .98rem; margin-bottom: .45rem; }
.pn-ozet-metin p { margin: 0; font-size: .82rem; line-height: 1.65; color: var(--text-dim); }
.pn-ozet-kutular { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.pn-ozet-kutu {
  border: 1px solid var(--border); border-radius: 10px; padding: .6rem .4rem;
  text-align: center; background: var(--bg-card);
}
.pn-ozet-deger { font-family: var(--font-data); font-size: 1.35rem; font-weight: 700; line-height: 1.1; }
.pn-ozet-kutu.yesil .pn-ozet-deger { color: var(--yesil); }
.pn-ozet-kutu.mavi .pn-ozet-deger { color: var(--accent2); }
.pn-ozet-kutu.altin .pn-ozet-deger { color: var(--altin); font-size: 1.05rem; }
.pn-ozet-kutu.notr .pn-ozet-deger { color: var(--text-faint); }
.pn-ozet-etiket { font-size: .55rem; font-weight: 700; letter-spacing: .06em; color: var(--text-faint); margin-top: .3rem; }
.pn-ozet-alt { font-size: .58rem; color: var(--text-faint); margin-top: .15rem; }

/* --- bölüm başlıkları --- */
.pn-bolum-baslik {
  font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-faint); margin: 1.8rem 0 .5rem;
}
.pn-one-cikan-not { font-size: .74rem; color: var(--text-faint); line-height: 1.55; margin-bottom: .8rem; max-width: 720px; }

/* --- öne çıkan 3 kart --- */
.pn-one-cikan-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: .8rem; }
.pn-one-cikan-kart {
  border: 1px solid var(--border); border-left: 3px solid var(--text-faint); border-radius: 12px;
  padding: .9rem 1rem; background: var(--bg-card-hi); cursor: pointer;
}
.pn-one-cikan-kart:hover { border-color: var(--accent); }
.pn-one-cikan-kart.yesil { border-left-color: var(--yesil); }
.pn-one-cikan-kart.kirmizi { border-left-color: var(--kirmizi); }
.pn-one-cikan-kart.notr { border-left-color: var(--altin); }
.pn-ock-ust { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.pn-ock-ticker { font-family: var(--font-data); font-weight: 700; font-size: .92rem; }
.pn-ock-ad { font-size: .7rem; color: var(--text-faint); margin-left: .4rem; }
.pn-ock-sayilar { display: flex; align-items: baseline; justify-content: space-between; margin: .5rem 0 .2rem; }
.pn-ock-fiyat { font-family: var(--font-data); font-size: 1.1rem; font-weight: 700; }
.pn-ock-degisim { font-family: var(--font-data); font-size: .95rem; font-weight: 700; }
.pn-ock-donem { font-size: .58rem; color: var(--text-faint); font-weight: 600; margin-left: .2rem; }
.pn-ock-haber { border-top: 1px solid var(--border); margin-top: .5rem; padding-top: .6rem; }
.pn-ock-haber-etiket { font-size: .53rem; font-weight: 700; letter-spacing: .08em; color: var(--text-faint); }
.pn-ock-haber-baslik { font-size: .8rem; line-height: 1.45; margin-top: .25rem; color: var(--text); }
.pn-ock-haber-meta { font-size: .64rem; color: var(--text-faint); margin-top: .3rem; }
.pn-ock-alt { font-size: .64rem; color: var(--text-faint); margin-top: .6rem; }

/* --- ısı haritası --- */
.pn-isi-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .5rem; }
.pn-isi-kutu {
  border: 1px solid var(--border); border-radius: 10px; padding: .55rem .6rem .5rem;
  background: var(--bg-card-hi); cursor: pointer; text-align: left;
  font-family: inherit; color: var(--text); display: block;
}
.pn-isi-kutu:hover { border-color: var(--accent); }
.pn-isi-kutu.secili { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.pn-isi-kutu.yesil { border-top: 2px solid var(--yesil); }
.pn-isi-kutu.kirmizi { border-top: 2px solid var(--kirmizi); }
.pn-isi-kutu.notr { border-top: 2px solid var(--altin); }
.pn-isi-kutu.sessiz { opacity: .55; }
.pn-isi-ust { display: flex; align-items: baseline; justify-content: space-between; gap: .3rem; }
.pn-isi-ticker { font-family: var(--font-data); font-weight: 700; font-size: .78rem; }
.pn-isi-degisim { font-family: var(--font-data); font-size: .68rem; font-weight: 700; }
.pn-isi-alt { display: flex; align-items: center; justify-content: space-between; gap: .3rem; margin-top: .15rem; }
.pn-isi-haber { font-size: .56rem; font-weight: 700; letter-spacing: .04em; color: var(--text-faint); }
.pn-isi-bosgrafik { height: 26px; }
.pn-sparkline { display: block; width: 100%; height: auto; margin: .3rem 0; }

/* --- grup rozeti (referanstaki "P1/P4" yerine GERÇEK portföy grubu) --- */
.pn-grup-rozet {
  font-size: .5rem; font-weight: 700; letter-spacing: .06em; padding: .12rem .3rem;
  border-radius: 4px; border: 1px solid var(--border-hi); color: var(--text-faint); white-space: nowrap;
}
.pn-grup-rozet.abd { color: var(--accent2); border-color: color-mix(in srgb, var(--accent2) 45%, transparent); }
.pn-grup-rozet.etf { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.pn-grup-rozet.gelecek { color: var(--altin); border-color: color-mix(in srgb, var(--altin) 45%, transparent); }
.pn-grup-rozet.bist { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 45%, transparent); }
/* 2026-09-03: takip listesi rozeti - sahip olunan 4 gruptan (ABD/ETF/GELECEK/BIST)
   GORSEL olarak ayrilsin diye kesikli cerceve + mor. Sinif adi grup KODUNDAN gelir
   (h.grup), grup_ad.toLowerCase()'ten DEGIL: JS'te "TAKIP".toLowerCase() Turkce I
   yuzunden "taki̇p" uretir ve hicbir kurala eslesmezdi. */
.pn-grup-rozet.takip { color: var(--mor, #a78bfa); border-color: color-mix(in srgb, var(--mor, #a78bfa) 55%, transparent); border-style: dashed; }
.pn-pozisyon-takip { opacity: .85; font-style: italic; }

/* 2026-09-03: Setup'lar sayfasi takip listesini de tariyor - sahip olunan
   pozisyonlardan gorsel olarak ayrilsin. */
.pt-grup-rozet.su-takip { color: var(--mor, #a78bfa); border-color: color-mix(in srgb, var(--mor, #a78bfa) 55%, transparent); border-style: dashed; }
.su-takip-not { font-size: .68rem; color: var(--text-faint); margin-left: .35rem; }

/* 2026-09-03: setup tipi aciklama blogu + gorsel sozluk. Muzaffer "6 tipi
   nasil ezberleyecegim" dedi - ezberlemesin diye ekran kendini anlatiyor. */
.su-aciklama { display:flex; gap:.8rem; align-items:flex-start; margin:.7rem 0 .2rem;
  padding:.6rem .8rem; border-left:3px solid; border-radius:0 6px 6px 0;
  background:color-mix(in srgb, var(--panel2, #1b1b28) 70%, transparent); }
.su-aciklama .su-sekil { flex:0 0 auto; opacity:.9; }
.su-aciklama-metin { font-size:.82rem; line-height:1.5; }
.su-aciklama-imge { color:var(--altin); margin-top:.25rem; }
.su-aciklama-giris { color:var(--text-dim); margin-top:.25rem; font-size:.78rem; }
.su-sozluk-izgara { display:grid; gap:.7rem; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); }
.su-sozluk-kart { padding:.7rem .9rem; border-left:3px solid; border-radius:0 6px 6px 0;
  background:color-mix(in srgb, var(--panel2, #1b1b28) 70%, transparent); font-size:.82rem; line-height:1.5; }
.su-sozluk-ust { display:flex; gap:.7rem; align-items:center; margin-bottom:.4rem; }
.su-sozluk-ad { font-weight:700; }
.su-sozluk-altad { font-size:.75rem; color:var(--text-dim); }
.su-sozluk-tanim { margin-bottom:.15rem; }
.pn-sektor-rozet { font-size: .58rem; color: var(--text-faint); }

/* --- hisse detay kartları --- */
.pn-detaylar { display: flex; flex-direction: column; gap: .8rem; margin-top: .6rem; }
.pn-detay-kart {
  border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.1rem;
  background: var(--bg-card-hi); scroll-margin-top: 1rem;
}
.pn-detay-kart.sessiz { opacity: .78; }
.pn-detay-kart.vurgulu { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.pn-detay-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.pn-detay-kimlik { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.pn-detay-ticker { font-family: var(--font-data); font-weight: 700; font-size: 1.05rem; }
.pn-detay-ad { font-size: .8rem; color: var(--text-dim); }
.pn-detay-fiyat-blok { text-align: right; }
.pn-detay-fiyat { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; }
.pn-detay-degisimler { display: flex; gap: .6rem; justify-content: flex-end; font-family: var(--font-data); font-size: .68rem; font-weight: 700; margin-top: .15rem; }
.pn-pozisyon {
  display: flex; gap: 1rem; flex-wrap: wrap; font-size: .7rem; color: var(--text-faint);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: .5rem 0; margin: .7rem 0 .8rem;
}
.pn-pozisyon strong { font-family: var(--font-data); color: var(--text-dim); font-weight: 700; }
.pn-pozisyon .yesil strong { color: var(--yesil); }
.pn-pozisyon .kirmizi strong { color: var(--kirmizi); }

/* --- haber listesi --- */
.pn-haber-liste { margin: 0; padding-left: 1.2rem; display: flex; flex-direction: column; gap: .85rem; }
.pn-haber { font-size: .82rem; line-height: 1.5; }
.pn-haber::marker { color: var(--text-faint); font-family: var(--font-data); font-size: .72rem; }
.pn-haber-baslik { color: var(--text); font-weight: 600; text-decoration: none; }
a.pn-haber-baslik:hover { color: var(--accent); text-decoration: underline; }
.pn-haber-orijinal { font-size: .68rem; color: var(--text-faint); margin-top: .15rem; font-style: italic; }
.pn-haber-meta { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; font-size: .64rem; color: var(--text-faint); margin-top: .3rem; }
.pn-kaynak-rozet { font-size: .55rem; font-weight: 700; letter-spacing: .03em; padding: .1rem .3rem; border-radius: 4px; border: 1px solid var(--border-hi); }
.pn-kaynak-rozet.uw { color: var(--altin); border-color: color-mix(in srgb, var(--altin) 45%, transparent); }
.pn-kaynak-rozet.yf { color: var(--accent2); border-color: color-mix(in srgb, var(--accent2) 45%, transparent); }
.pn-kaynak-rozet.rss { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 45%, transparent); }

/* Haberler sayfasi - kaynak durum seridi */
.hb-kaynak-durum { display: flex; flex-wrap: wrap; gap: .5rem .9rem; margin: .6rem 0 1rem; font-size: .68rem; }
.hb-kaynak-durum-oge { color: var(--text-faint); }
.hb-kaynak-durum-oge.aktif { color: var(--text-dim); }
.hb-kaynak-durum-oge.sessiz { opacity: .55; }
.pn-linksiz { font-style: italic; }
.pn-haber-ozet { margin: .3rem 0 0; font-size: .76rem; line-height: 1.6; color: var(--text-dim); }
.pn-haber-yok { font-size: .78rem; line-height: 1.6; color: var(--text-faint); }

/* --- dürüstlük notları + feragat --- */
.pn-notlar {
  border: 1px solid var(--border); border-radius: 12px; padding: .9rem 1.1rem;
  background: var(--bg-card); margin-top: 1.8rem;
}
.pn-notlar-baslik { font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint); margin-bottom: .5rem; }
.pn-notlar ul { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .4rem; }
.pn-notlar li { font-size: .74rem; line-height: 1.6; color: var(--text-dim); }
.pn-feragat { font-size: .68rem; color: var(--text-faint); text-align: center; margin-top: 1.2rem; padding-top: .9rem; border-top: 1px solid var(--border); }

/* yön renkleri - PortNews kapsamında */
.pn-rapor .yesil { color: var(--yesil); }
.pn-rapor .kirmizi { color: var(--kirmizi); }
.pn-rapor .notr { color: var(--text-faint); }

/* ===== Makro · Faiz Olasılıkları tablosu (2026-08-16) =====
   CME FedWatch tarzı ızgara. Sayılar CME'den kopyalanmadı; Fed Funds (ZQ)
   vadelilerinden kendi hesabımız - referans ekrandaki düzenden örneklendi. */
.mk-fw-tablo { width: 100%; border-collapse: separate; border-spacing: .35rem; }
.mk-fw-tablo thead th {
  font-size: .58rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--text-faint); text-align: center; padding: 0 0 .2rem;
}
.mk-fw-tablo thead th:first-child { text-align: left; }
.mk-fw-tarih {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px;
  padding: .55rem .8rem; min-width: 116px;
}
.mk-fw-gun { font-family: var(--font-data); font-size: .85rem; font-weight: 700; }
.mk-fw-ay { font-size: .62rem; color: var(--text-faint); margin-top: .1rem; }
.mk-fw-kutu {
  border: 1px solid var(--border); border-radius: 10px; padding: .5rem .4rem;
  text-align: center; background: var(--bg-card);
}
.mk-fw-oran { font-family: var(--font-data); font-size: 1.05rem; font-weight: 700; }
.mk-fw-etiket { font-size: .53rem; font-weight: 700; letter-spacing: .07em; color: var(--text-faint); margin-top: .15rem; }
.mk-fw-kutu.indirim .mk-fw-oran { color: var(--yesil); }
.mk-fw-kutu.sabit .mk-fw-oran { color: var(--accent2); }
.mk-fw-kutu.artirim .mk-fw-oran { color: var(--kirmizi); }
.mk-fw-kutu.baskin.indirim { background: color-mix(in srgb, var(--yesil) 14%, transparent); border-color: color-mix(in srgb, var(--yesil) 40%, transparent); }
.mk-fw-kutu.baskin.sabit { background: color-mix(in srgb, var(--accent2) 14%, transparent); border-color: color-mix(in srgb, var(--accent2) 40%, transparent); }
.mk-fw-kutu.baskin.artirim { background: color-mix(in srgb, var(--kirmizi) 14%, transparent); border-color: color-mix(in srgb, var(--kirmizi) 40%, transparent); }
.mk-fw-ima {
  border: 1px solid var(--border); border-radius: 10px; padding: .5rem .6rem;
  text-align: center; background: var(--bg-card); font-family: var(--font-data);
  font-size: .82rem; font-weight: 700; min-width: 104px;
}
.mk-fw-bp { font-size: .6rem; font-weight: 600; color: var(--text-faint); margin-top: .12rem; }
.mk-fw-not { font-size: .7rem; color: var(--text-faint); line-height: 1.6; margin-top: .7rem; }
.mk-durum-rozet {
  font-size: .53rem; font-weight: 700; letter-spacing: .05em; padding: .12rem .35rem;
  border-radius: 5px; border: 1px solid var(--border-hi); color: var(--altin); white-space: nowrap;
}

/* ==========================================================================
   PROTECT - Portfoy Koruma Stratejisi (2026-08-16, 12 ekran goruntusunden
   orneklendi). pt- siniflarini (porttech) yeniden kullanir; buradakiler
   SADECE Protect sayfasina ozgu pr- siniflari.
   ========================================================================== */

.pr-uyari-bant {
  background: rgba(245,192,79,.10);
  border: 1px solid rgba(245,192,79,.35);
  border-left: 3px solid var(--altin);
  border-radius: 8px;
  padding: .55rem .9rem;
  font-size: .78rem;
  color: var(--text-dim);
  margin-bottom: 1rem;
}
.pr-uyari-bant b { color: var(--altin); }

.pr-rapor-baslik {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.pr-rapor-baslik h2 { margin: 0 0 .3rem; font-size: 1.35rem; }

.pr-uc-cumle {
  background: rgba(96,165,250,.08);
  border: 1px solid rgba(96,165,250,.25);
  border-left: 3px solid var(--accent2);
  border-radius: 8px;
  padding: .9rem 1.1rem;
  font-size: .85rem;
  line-height: 1.65;
  color: var(--text-dim);
  margin-bottom: 1.1rem;
}
.pr-uc-cumle b { color: var(--accent2); }

.pr-skor-kutu {
  display: flex;
  gap: 1.3rem;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.1rem 1.2rem;
  margin-bottom: 1rem;
}
.pr-skor-daire {
  width: 108px; height: 108px;
  border-radius: 50%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  flex-shrink: 0;
  border: 4px solid var(--yesil);
}
.pr-skor-daire.yesil { border-color: var(--yesil); }
.pr-skor-daire.altin { border-color: var(--altin); }
.pr-skor-daire.kirmizi { border-color: var(--kirmizi); }
.pr-skor-sayi { font-size: 2rem; font-weight: 800; font-family: var(--font-data); }
.pr-skor-daire.yesil .pr-skor-sayi { color: var(--yesil); }
.pr-skor-daire.altin .pr-skor-sayi { color: var(--altin); }
.pr-skor-daire.kirmizi .pr-skor-sayi { color: var(--kirmizi); }
.pr-skor-etiket { font-size: .58rem; letter-spacing: .1em; color: var(--text-faint); margin-top: .15rem; }
.pr-skor-metin { font-size: .84rem; line-height: 1.6; color: var(--text-dim); }
.pr-skor-metin p { margin: 0 0 .6rem; }
.pr-oneri-kutu {
  background: rgba(96,165,250,.08);
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 8px;
  padding: .6rem .85rem;
  font-size: .82rem;
}
.pr-oneri-kutu b { color: var(--text); }

.pr-cip-serit { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.pr-cip {
  font-size: .72rem;
  padding: .28rem .6rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  color: var(--text-dim);
  background: var(--bg-card);
}
.pr-cip b { color: var(--text); }
.pr-cip.yesil { border-color: rgba(52,211,153,.45); }
.pr-cip.yesil b { color: var(--yesil); }
.pr-cip.altin { border-color: rgba(245,192,79,.45); }
.pr-cip.altin b { color: var(--altin); }
.pr-cip.kirmizi { border-color: rgba(255,107,129,.45); }
.pr-cip.kirmizi b { color: var(--kirmizi); }
.pr-cip.mavi { border-color: rgba(96,165,250,.45); }
.pr-cip.mavi b { color: var(--accent2); }

.pr-bolum-alt { font-size: .8rem; color: var(--text-faint); margin: .2rem 0 .9rem; }

/* Paket sekmeleri */
.pr-paket-sekmeler { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-bottom: 1rem; }
.pr-paket-sekme {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .75rem .9rem;
  cursor: pointer;
  text-align: center;
  transition: border-color .15s, background .15s;
}
.pr-paket-sekme:hover { background: var(--bg-card-hi); }
.pr-paket-sekme.aktif.yesil { border-color: var(--yesil); background: rgba(52,211,153,.08); }
.pr-paket-sekme.aktif.altin { border-color: var(--altin); background: rgba(245,192,79,.08); }
.pr-paket-sekme.aktif.kirmizi { border-color: var(--kirmizi); background: rgba(255,107,129,.08); }
.pr-paket-sekme-ad { font-weight: 700; font-size: .88rem; display: flex; align-items: center; justify-content: center; gap: .4rem; }
.pr-paket-sekme-alt { font-size: .68rem; color: var(--text-faint); margin-top: .25rem; }
.pr-onerilen-rozet {
  position: absolute; top: -9px; right: 10px;
  background: var(--yesil); color: #06281c;
  font-size: .58rem; font-weight: 800; letter-spacing: .08em;
  padding: .1rem .45rem; border-radius: 4px;
}
.pr-nokta { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.pr-nokta.yesil { background: var(--yesil); }
.pr-nokta.altin { background: var(--altin); }
.pr-nokta.kirmizi { background: var(--kirmizi); }

.pr-paket-kutu {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem 1.1rem;
  margin-bottom: .6rem;
}
.pr-paket-kutu.yesil { border-color: rgba(52,211,153,.35); }
.pr-paket-kutu.altin { border-color: rgba(245,192,79,.35); }
.pr-paket-kutu.kirmizi { border-color: rgba(255,107,129,.35); }
.pr-paket-baslik { display: flex; align-items: center; gap: .5rem; font-size: .95rem; margin-bottom: .35rem; }
.pr-paket-odak { font-size: .78rem; color: var(--text-faint); margin-bottom: .8rem; }
.pr-paket-not {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: .55rem .8rem;
  font-size: .76rem;
  color: var(--text-dim);
  margin-top: .6rem;
}
.pr-paket-not.kirmizi { border-color: rgba(255,107,129,.4); }

.pr-toplam-satir td { border-top: 2px solid var(--border-hi) !important; font-size: .8rem; }
.pr-td-enstruman { font-size: .82rem; }
.pr-td-mantik { font-size: .78rem; color: var(--text-dim); line-height: 1.5; }
.pr-td-boyut, .pr-td-maliyet { font-size: .8rem; font-family: var(--font-data); white-space: nowrap; }
.pr-td-alt { font-size: .68rem; color: var(--text-faint); margin-top: .2rem; font-family: inherit; white-space: normal; }
.pr-sayi { font-family: var(--font-data); font-size: .82rem; }
.pr-tahmini-rozet {
  display: inline-block;
  background: rgba(255,107,129,.15);
  border: 1px solid rgba(255,107,129,.4);
  color: var(--kirmizi);
  font-size: .58rem; font-weight: 800; letter-spacing: .06em;
  padding: .08rem .35rem; border-radius: 4px;
  margin-left: .35rem;
  vertical-align: middle;
}

/* Sigorta kartlari */
.pr-bilgi-kutu {
  background: rgba(96,165,250,.07);
  border: 1px solid rgba(96,165,250,.22);
  border-left: 3px solid var(--accent2);
  border-radius: 8px;
  padding: .7rem .95rem;
  font-size: .8rem;
  color: var(--text-dim);
  line-height: 1.6;
  margin-bottom: .9rem;
}
.pr-sigorta-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.pr-sigorta-kart {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .85rem .95rem;
}
.pr-sigorta-kart.yesil { border-color: rgba(52,211,153,.4); }
.pr-sigorta-kart.altin { border-color: rgba(245,192,79,.4); }
.pr-sigorta-kart.kirmizi { border-color: rgba(255,107,129,.4); }
.pr-sigorta-ust { display: flex; align-items: center; gap: .45rem; font-size: .85rem; }
.pr-sigorta-sayi { font-size: 1.7rem; font-weight: 800; font-family: var(--font-data); margin: .35rem 0 .15rem; }
.pr-sigorta-arac { font-size: .74rem; color: var(--text-dim); line-height: 1.55; margin-top: .5rem; }
.pr-mini-rozet {
  display: inline-block;
  font-size: .6rem; font-weight: 800; letter-spacing: .06em;
  padding: .12rem .45rem; border-radius: 4px;
  border: 1px solid var(--border);
  color: var(--text-dim);
}
.pr-mini-rozet.yesil { background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.4); color: var(--yesil); }
.pr-mini-rozet.altin { background: rgba(245,192,79,.14); border-color: rgba(245,192,79,.4); color: var(--altin); }
.pr-mini-rozet.kirmizi { background: rgba(255,107,129,.14); border-color: rgba(255,107,129,.4); color: var(--kirmizi); }
.pr-mini-rozet.mavi { background: rgba(96,165,250,.14); border-color: rgba(96,165,250,.4); color: var(--accent2); }
.pr-mini-rozet.notr { background: var(--bg-card); }

.pr-kaynak-satiri { font-size: .68rem; color: var(--text-faint); margin-top: .6rem; line-height: 1.5; }

.pr-nedemek {
  background: var(--bg-card);
  border: 1px dashed var(--border-hi);
  border-radius: 8px;
  padding: .7rem .95rem;
  font-size: .76rem;
  color: var(--text-dim);
  line-height: 1.6;
  margin-top: .7rem;
}
.pr-nedemek-baslik { font-size: .64rem; letter-spacing: .1em; color: var(--text-faint); margin-bottom: .35rem; font-weight: 700; }

/* Derinlik panelleri */
.pr-panel {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: .8rem;
  overflow: hidden;
}
.pr-panel-baslik {
  display: flex; justify-content: space-between; align-items: center;
  padding: .75rem 1rem;
  cursor: pointer;
  font-size: .88rem; font-weight: 700;
  user-select: none;
}
.pr-panel-baslik:hover { background: var(--bg-card-hi); }
.pr-panel-ok { font-size: .68rem; color: var(--text-faint); font-weight: 400; }
.pr-panel-govde { padding: .2rem 1rem 1rem; }
.pr-panel.kapali .pr-panel-govde { display: none; }

.pr-kirilganlik-ust { display: flex; gap: 1.1rem; align-items: center; margin-bottom: .9rem; }
.pr-kirilganlik-sayi { font-size: 2.4rem; font-weight: 800; font-family: var(--font-data); }
.pr-kirilganlik-bant { flex: 1; }

/* Strateji kartlari */
.pr-strateji-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: .8rem; }
.pr-strateji-kart {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .85rem .95rem;
}
.pr-strateji-baslik { font-size: .85rem; font-weight: 700; color: var(--accent2); display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.pr-strateji-detay { font-size: .74rem; font-family: var(--font-data); color: var(--text-dim); margin: .5rem 0; line-height: 1.6; }
.pr-strateji-metin { font-size: .78rem; color: var(--text-dim); line-height: 1.55; }
.pr-strateji-cikis {
  background: rgba(96,165,250,.07);
  border: 1px solid rgba(96,165,250,.2);
  border-radius: 6px;
  padding: .45rem .65rem;
  font-size: .7rem;
  color: var(--text-dim);
  margin-top: .55rem;
}

.pr-alt-baslik { margin: .9rem 0 .35rem; font-size: .84rem; }
.pr-liste { margin: 0; padding-left: 1.2rem; font-size: .8rem; color: var(--text-dim); line-height: 1.7; }

/* Aksiyon bantlari */
.pr-aksiyon-bant {
  display: flex; gap: .8rem; align-items: flex-start;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .8rem 1rem;
  font-size: .82rem;
  line-height: 1.6;
  color: var(--text-dim);
  margin-bottom: .6rem;
}
.pr-aksiyon-bant.kirmizi { border-left: 3px solid var(--kirmizi); }
.pr-aksiyon-bant.altin { border-left: 3px solid var(--altin); }
.pr-aksiyon-bant.mavi { border-left: 3px solid var(--accent2); }
.pr-aksiyon-bant .pr-mini-rozet { flex-shrink: 0; margin-top: .15rem; white-space: nowrap; }
.pr-aksiyon-bant b { color: var(--text); }

.pr-feragat {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .85rem 1.05rem;
  font-size: .72rem;
  color: var(--text-faint);
  line-height: 1.65;
  margin-top: 1rem;
  text-align: center;
}

/* Tam ekran + kucuk ekran + yazdirma */
#pr-govde:fullscreen { background: var(--bg); overflow-y: auto; padding: 1.5rem 2rem; }
@media (max-width: 1100px) {
  .pr-sigorta-izgara, .pr-paket-sekmeler { grid-template-columns: 1fr; }
  .pr-skor-kutu { flex-direction: column; align-items: flex-start; }
}
@media print {
  .proto-nav, .pt-arac-cubugu, #pr-cubuk { display: none !important; }
  body { overflow: visible; height: auto; background: #fff; color: #111; }
  .proto-icerik { overflow: visible !important; }
  .pr-panel.kapali .pr-panel-govde { display: block; }
}

/* ===== Makro · PMI elle giriş formu (2026-08-16) =====
   S&P Global/ISM otomatik çekilemediği için aylık değerler elle girilir.
   Girilmiş kartlar "ELLE GİRİLDİ" künyesiyle, girilmemişler soluk durur. */
.mk-pmi-kutu {
  border: 1px solid var(--border); border-radius: 12px; padding: .8rem 1rem;
  background: var(--bg-card); margin-bottom: 1rem;
}
.mk-pmi-kutu summary { cursor: pointer; font-size: .82rem; }
.mk-pmi-ipucu { font-size: .68rem; color: var(--text-faint); font-weight: 500; margin-left: .4rem; }
.mk-pmi-aciklama {
  font-size: .72rem; color: var(--text-faint); line-height: 1.6;
  margin: .7rem 0 .9rem; max-width: 760px;
}
.mk-pmi-tablo { width: 100%; border-collapse: separate; border-spacing: .3rem; }
.mk-pmi-tablo thead th {
  font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-faint); text-align: left; padding: 0 .2rem .2rem;
}
.mk-pmi-ad { font-size: .76rem; color: var(--text-dim); white-space: nowrap; padding-right: .5rem; }
.mk-pmi-girdi {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 8px;
  color: var(--text); font-family: var(--font-data); font-size: .76rem;
  padding: .38rem .5rem; width: 100%; min-width: 92px;
}
.mk-pmi-girdi.dar { min-width: 72px; max-width: 92px; }
.mk-pmi-girdi:focus { outline: none; border-color: var(--accent); }
.mk-pmi-islem { white-space: nowrap; }
.mk-pmi-kaydet {
  background: var(--accent); border: none; border-radius: 8px; color: #0b0a17;
  font-family: inherit; font-size: .72rem; font-weight: 700;
  padding: .38rem .7rem; cursor: pointer;
}
.mk-pmi-kaydet:hover { filter: brightness(1.08); }
.mk-pmi-sil {
  background: none; border: 1px solid var(--border); border-radius: 8px;
  color: var(--text-faint); font-size: .72rem; padding: .32rem .5rem;
  cursor: pointer; margin-left: .25rem;
}
.mk-pmi-sil:hover { color: var(--kirmizi); border-color: var(--kirmizi); }
.mk-pmi-durum { font-size: .72rem; color: var(--text-faint); margin-top: .6rem; min-height: 1.1em; }
.mk-pmi-durum.basarili { color: var(--yesil); }
.mk-pmi-durum.hatali { color: var(--kirmizi); }
.mk-gosterge-kart.bekliyor { border-style: dashed; opacity: .72; }

/* ===== Makro · PMI hatırlatma şeridi (2026-08-16) =====
   Yeni PMI yayınlandığında sayfayı açan kişiyi uyarır. */
.mk-pmi-hatirlatma {
  border: 1px solid var(--border); border-radius: 12px;
  padding: .75rem 1rem; margin-bottom: .9rem;
  font-size: .78rem; line-height: 1.6; color: var(--text-dim);
}
.mk-pmi-hatirlatma.eskimis {
  border-color: color-mix(in srgb, var(--altin) 55%, transparent);
  background: color-mix(in srgb, var(--altin) 10%, transparent);
}
.mk-pmi-hatirlatma.eskimis > div:first-child { color: var(--altin); }
.mk-pmi-hatirlatma.guncel {
  border-color: color-mix(in srgb, var(--yesil) 40%, transparent);
  background: color-mix(in srgb, var(--yesil) 8%, transparent);
}
.mk-pmi-hatirlatma.guncel > div:first-child { color: var(--yesil); }
.mk-pmi-hatirlatma ul { margin: .45rem 0 .2rem 1.1rem; padding: 0; }
.mk-pmi-hatirlatma li { font-size: .74rem; margin-bottom: .18rem; }
.mk-pmi-sonraki {
  font-size: .72rem; color: var(--text-faint); margin-top: .5rem;
  padding-top: .5rem; border-top: 1px solid var(--border);
}

/* Protect - prim satirlari (2026-08-16, prim sistemi uygulamasi) */
.pr-prim-satir td { color: var(--altin); font-size: .78rem; }

/* Swing Radar (2026-08-16) - huni cipleri, aday karti ve kontrol
   izgarasi. Rejim seridi/badge/tablo icin YENI class ACILMADI - mevcut
   .mk-rejim-*/.kp-pill/.hta-tablo/.mini-stat/.rt-kanit-izgara yeniden
   kullanildi; burada sadece bu sayfaya OZGU 3 parca var. */
.sr-huni { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.sr-huni-adim {
  display: flex; flex-direction: column; align-items: center; gap: .1rem;
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px;
  padding: .5rem .85rem; min-width: 74px;
}
.sr-huni-adim b { font-family: var(--font-data); font-size: 1.05rem; color: var(--text); }
.sr-huni-adim span { font-size: .62rem; color: var(--text-faint); letter-spacing: .03em; text-transform: uppercase; }
.sr-huni-ok { color: var(--text-faint); font-size: .9rem; }

.sr-aday-kart {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-left: 3px solid var(--border);
  border-radius: 14px; padding: 1.1rem 1.2rem; margin-top: 1rem;
}
.sr-aday-kart.al { border-left-color: var(--yesil); }
.sr-aday-kart.izle { border-left-color: var(--altin); }
.sr-aday-kart.kacin { border-left-color: var(--kirmizi); }
.sr-aday-ust { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; margin-bottom: .8rem; }
.sr-aday-baslik { display: flex; align-items: baseline; gap: .55rem; flex-wrap: wrap; }
.sr-aday-ticker { font-family: var(--font-display); font-size: 1.15rem; color: var(--text); }
.sr-aday-meta { font-size: .74rem; color: var(--text-faint); }
.sr-aday-skor { font-family: var(--font-data); font-size: .78rem; color: var(--text-dim); white-space: nowrap; }

.sr-kontrol-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: .9rem; }
@media (max-width: 900px) { .sr-kontrol-izgara { grid-template-columns: repeat(2, 1fr); } }
.sr-kontrol {
  display: flex; align-items: center; justify-content: space-between; gap: .4rem;
  background: #00000026; border: 1px solid var(--border); border-radius: 10px;
  padding: .4rem .6rem; font-size: .7rem; color: var(--text-dim);
}
.sr-kontrol b { color: var(--text); font-weight: 600; }
.sr-kontrol-ikon { font-weight: 800; }
.sr-kontrol-ikon.ok { color: var(--yesil); }
.sr-kontrol-ikon.yok { color: var(--kirmizi); }
.sr-kontrol-ikon.kismi { color: var(--altin); }

.sr-yani { background: color-mix(in srgb, var(--accent) 8%, var(--bg-card)); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; padding: .7rem .9rem; margin-top: .8rem; font-size: .78rem; color: var(--text); line-height: 1.6; }
.sr-nitel-satir { font-size: .76rem; color: var(--text-dim); line-height: 1.55; padding: .35rem 0; border-bottom: 1px solid var(--border); }
.sr-nitel-satir:last-child { border-bottom: none; }
.sr-nitel-satir b { color: var(--text); }
.pr-prim-satir .pr-td-mantik { color: var(--text-dim); }

/* ===== Squeeze Radar (2026-08-16) — short squeeze aday tarayicisi =====
   Sadece bu sayfaya ozgu siniflar (sq- onekli). Genel kart/rozet/basli
   siniflari (sm-rozet, hta-bolum-baslik, hta-uyari-kutu, tarama-bos,
   kp-detaylar, be-sayfa-baslik) MEVCUT genel siniflardan yeniden
   kullanildi, burada tekrar TANIMLANMADI. */

.sq-ozet-serit { display: flex; align-items: stretch; gap: .7rem; flex-wrap: wrap; margin-top: .8rem; }
.sq-ozet-kutu {
  flex: 1; min-width: 150px; background: var(--bg-card-hi); border: 1px solid var(--border);
  border-radius: 14px; padding: .85rem 1rem;
}
.sq-ozet-kutu.vurgu { border-color: color-mix(in srgb, var(--altin) 45%, var(--border)); background: color-mix(in srgb, var(--altin) 8%, var(--bg-card-hi)); }
.sq-ozet-sayi { font-family: var(--font-display); font-size: 1.7rem; line-height: 1; color: var(--text); }
.sq-ozet-etiket { font-size: .74rem; font-weight: 700; color: var(--text-dim); margin-top: .3rem; }
.sq-ozet-alt { font-size: .66rem; color: var(--text-faint); margin-top: .2rem; }
.sq-ozet-ok { display: flex; align-items: center; justify-content: center; color: var(--text-faint); font-size: 1.1rem; padding: 0 .1rem; }

/* "Senin Isimlerin" bolumu (2026-09-03). Squeeze Radar'in aday kartlari
   YABANCI hisselerdir; bu tablo Muzaffer'in KENDI portfoy/takip isimlerine
   karsi acilmis short pozisyonlarini gosterir - sayfa 503 hisse tariyordu
   ama kendi isimlerini hicbir yerde gostermiyordu. */
.sq-roz {
  display: inline-block; font-size: .58rem; font-weight: 700; letter-spacing: .03em;
  border-radius: 4px; padding: .05rem .34rem; margin-right: .4rem; vertical-align: middle;
}
.sq-roz-sahip { background: rgba(61, 220, 132, .18); color: #3ddc84; }
.sq-roz-takip { background: rgba(74, 208, 255, .16); color: #4ad0ff; }
.sq-bant-belirgin { color: #f5c04f; }
.sq-benim-okuma { font-size: .72rem; color: var(--text-dim); max-width: 460px; }
.sq-benim-not { font-size: .7rem; color: var(--text-faint); margin-top: .4rem; }

.sq-kart-liste { display: flex; flex-direction: column; gap: 1rem; margin-top: .9rem; }
.sq-kart {
  background: var(--bg-card-hi); border: 1px solid var(--border); border-left: 4px solid var(--border);
  border-radius: 14px; padding: 1.1rem 1.2rem;
}
.sq-kart.yuksek { border-left-color: var(--altin); }
.sq-kart.orta { border-left-color: color-mix(in srgb, var(--altin) 60%, var(--border)); }
.sq-kart.izle { border-left-color: var(--border-hi); }
.sq-kart.gec { border-left-color: var(--kirmizi); }

.sq-kart-ust { display: flex; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.sq-kart-kimlik { flex: 1; min-width: 180px; display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.sq-kart-ticker { font-family: var(--font-display); font-size: 1.15rem; color: var(--text); }
.sq-kart-ad { font-size: .8rem; color: var(--text-dim); }
.sq-kart-sektor { font-size: .66rem; color: var(--text-faint); border: 1px solid var(--border); border-radius: 999px; padding: .1rem .5rem; }
.sq-kart-fiyat { font-family: var(--font-data); font-size: 1.05rem; color: var(--text); align-self: center; }

.sq-kart-skor { display: flex; align-items: center; gap: .6rem; }
.sq-skor-daire {
  width: 54px; height: 54px; border-radius: 50%; display: flex; flex-direction: column;
  align-items: center; justify-content: center; border: 2px solid var(--border); background: #00000026;
  line-height: 1;
}
.sq-skor-daire.yuksek { border-color: var(--altin); color: var(--altin); }
.sq-skor-daire.orta { border-color: color-mix(in srgb, var(--altin) 65%, var(--border)); color: color-mix(in srgb, var(--altin) 80%, var(--text-dim)); }
.sq-skor-daire.izle { border-color: var(--border-hi); color: var(--text-dim); }
.sq-skor-daire.gec { border-color: var(--kirmizi); color: var(--kirmizi); }
.sq-skor-sayi { font-family: var(--font-display); font-size: 1.05rem; }
.sq-skor-maks { font-size: .55rem; color: var(--text-faint); }

.sq-konviksiyon-rozet { font-size: .66rem; font-weight: 800; letter-spacing: .03em; padding: .3rem .6rem; border-radius: 8px; white-space: nowrap; }
.sq-konviksiyon-rozet.yuksek { color: var(--altin); background: color-mix(in srgb, var(--altin) 18%, transparent); border: 1px solid color-mix(in srgb, var(--altin) 45%, var(--border)); }
.sq-konviksiyon-rozet.orta { color: color-mix(in srgb, var(--altin) 85%, var(--text-dim)); background: color-mix(in srgb, var(--altin) 9%, transparent); border: 1px solid color-mix(in srgb, var(--altin) 25%, var(--border)); }
.sq-konviksiyon-rozet.izle { color: var(--text-dim); background: transparent; border: 1px solid var(--border-hi); }
.sq-konviksiyon-rozet.gec { color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 14%, transparent); border: 1px solid color-mix(in srgb, var(--kirmizi) 40%, var(--border)); }

.sq-veri-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 155px)); justify-content: start; gap: .6rem; margin-bottom: .8rem; }
.sq-veri-hucre { background: #00000026; border: 1px solid var(--border); border-radius: 10px; padding: .55rem .7rem; }
.sq-veri-baslik { font-size: .6rem; font-weight: 700; letter-spacing: .04em; color: var(--text-faint); text-transform: uppercase; }
.sq-veri-deger { font-family: var(--font-data); font-size: .95rem; color: var(--text); margin-top: .2rem; }
.sq-veri-alt { font-size: .62rem; color: var(--text-faint); margin-top: .15rem; }

.sq-sinyal-blok { display: flex; flex-direction: column; gap: .45rem; margin-bottom: .8rem; }
.sq-sinyal-satir { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; font-size: .78rem; padding: .4rem 0; border-top: 1px solid var(--border); }
.sq-sinyal-baslik { font-weight: 700; color: var(--text); min-width: 90px; }
.sq-sinyal-detay { color: var(--text-dim); flex: 1; }

.sq-anlati { display: flex; flex-direction: column; gap: .5rem; margin-bottom: .7rem; }
.sq-anlati-satir { font-size: .8rem; color: var(--text-dim); line-height: 1.6; }
.sq-anlati-satir b { color: var(--text); }
.sq-anlati-satir.vurgu { background: color-mix(in srgb, var(--altin) 8%, transparent); border: 1px solid color-mix(in srgb, var(--altin) 25%, var(--border)); border-radius: 10px; padding: .55rem .7rem; }
.sq-anlati-satir.vurgu b { color: var(--altin); }

.sq-earnings-satir { font-size: .76rem; color: var(--text-dim); margin-bottom: .5rem; }

.sq-skor-detay summary { font-size: .74rem; }
.sq-skor-dokum { display: flex; flex-direction: column; gap: .4rem; }
.sq-skor-dokum-satir { display: grid; grid-template-columns: 140px 1fr 70px; align-items: center; gap: .6rem; font-size: .72rem; }
.sq-skor-dokum-ad { color: var(--text-dim); }
.sq-skor-dokum-cubuk { height: 6px; background: var(--border); border-radius: 999px; overflow: hidden; }
.sq-skor-dokum-cubuk span { display: block; height: 100%; background: var(--altin); border-radius: 999px; }
.sq-skor-dokum-puan { color: var(--text-faint); text-align: right; font-family: var(--font-data); }

@media (max-width: 720px) {
  .sq-skor-dokum-satir { grid-template-columns: 110px 1fr 60px; }
  .sq-kart-ust { flex-direction: column; }
}

/* ==========================================================================
   Gunluk Ozet - "Portfoy & Piyasa Raporu Ozeti" (2026-08-16, Bora Ozkent'in
   ayni adli sayfasindan METODOLOJI olarak ornekleniyor). Yeni bir gorsel dil
   icat edilmedi - mk-rejim-kart/pt-yani/sm-rozet/kp-tablo gibi mevcut
   desenlerin AYNI orani (kart + renkli sol kenarlik + "Yani" kutusu) burada
   "go-" onekiyle tekrarlaniyor.
   ========================================================================== */

.go-meta { font-size: .72rem; color: var(--text-faint); margin-bottom: 1rem; }

/* 2026-08-17: Muzaffer "sayfa cok genis, veri okumak zor - kartlar
   kocaman" dedi (referansla yan yana kiyaslayip gosterdi) - kok neden
   auto-fit+1fr'nin genis ekranlarda kartlari ZORLA sonuna kadar
   GERMESIYDI. auto-fill+sabit max-genislik+justify-content:start ile
   kartlar dogal boyutunda kalip soldan siralaniyor, gerekirse alt
   satira sarıyor (referansin kendi kart siralarindaki AYNI davranis -
   son kart satirin sonuna kadar GERILMIYOR, bosluk kaliyor). */
.go-kpi-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 200px)); justify-content: start; gap: .8rem; margin-top: .6rem; }
.go-kpi-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .8rem 1rem; }
.go-kpi-ust { font-size: .62rem; font-weight: 700; letter-spacing: .04em; color: var(--text-faint); text-transform: uppercase; }
.go-kpi-deger { font-family: var(--font-data); font-size: 1.2rem; font-weight: 700; margin: .35rem 0 .2rem; }
.go-kpi-alt { font-size: .7rem; }

.go-yani { margin-top: .9rem; padding: .75rem 1rem; border-radius: 10px; font-size: .8rem; color: var(--text-dim); line-height: 1.65; background: #00000026; border-left: 3px solid var(--accent); }
.go-yani b { color: var(--text); }

.go-rapor-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 1rem; margin-top: 1rem; }
.go-rapor-kart { background: var(--bg-card-hi); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 14px; padding: 1.1rem 1.2rem; display: flex; flex-direction: column; }
.go-rapor-kart.veri_yok { border-left-color: var(--border-hi); opacity: .82; }
.go-rapor-kart.hata { border-left-color: var(--kirmizi); }
.go-rapor-ust { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.go-rapor-baslik { display: flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-size: 1rem; }
.go-rapor-baslik .go-ikon { color: var(--accent); font-size: 1.05rem; }
.go-rapor-sira { font-family: var(--font-data); font-size: .68rem; color: var(--text-faint); }
.go-rapor-ozet { font-size: .82rem; color: var(--text); margin-top: .5rem; line-height: 1.55; font-weight: 600; }
.go-rapor-liste { margin: .6rem 0 0; padding-left: 1.05rem; font-size: .78rem; color: var(--text-dim); line-height: 1.6; }
.go-rapor-liste li { margin-bottom: .35rem; }
.go-rapor-kaynak { font-size: .62rem; color: var(--text-faint); margin-top: .7rem; padding-top: .6rem; border-top: 1px solid var(--border); line-height: 1.5; }
.go-rapor-mesaj { font-size: .78rem; color: var(--text-faint); margin-top: .5rem; font-style: italic; }

.go-alt-portfoy-cubuk { position: relative; height: 6px; border-radius: 3px; background: var(--bg-card); overflow: hidden; margin-top: .3rem; }
.go-alt-portfoy-dolu { position: absolute; inset: 0 auto 0 0; background: var(--accent2); border-radius: 3px; }

.go-islem-al { color: var(--yesil); font-weight: 700; }
.go-islem-satis { color: var(--kirmizi); font-weight: 700; }

/* 2026-08-17: Bolum B artik SEKMELI - referansin en yeni surumunde
   (24 Tem-14 Agu kosusu) 10 raporun hepsini duz izgarada gostermek
   yerine tek seferde bir rapor + altinda sabit "Yan Sinyaller"
   (ThemePulse+SmartMoney) paneli var. */
.go-sekme-bar { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.go-sekme-btn { padding: .45rem 1rem; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-dim); font-size: .78rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.go-sekme-btn:hover { border-color: var(--accent); color: var(--text); }
.go-sekme-btn.aktif { background: var(--accent); color: #fff; border-color: var(--accent); }

.go-yan-sinyal-baslik { font-family: var(--font-display); font-size: .85rem; color: var(--text-dim); cursor: pointer; user-select: none; padding: .3rem 0; }
.go-yan-sinyal-baslik:hover { color: var(--text); }

@media (max-width: 720px) {
  .go-rapor-izgara { grid-template-columns: 1fr; }
  .go-kpi-izgara { grid-template-columns: repeat(2, 1fr); }
}

/* ---------------------------------------------------------------------
   SETUP'LAR (2026-08-16) - "su-" onekli siniflar. Metrik izgarasi/kutu/
   uyari-listesi/kart gibi ORTAK gorsel desenler icin bilerek "pt-"
   (Porttech) siniflari YENIDEN KULLANILIYOR - burada sadece Setup'lara
   OZGU parcalar (pattern rozeti, mini grafik, R:R etiketi, sozluk).
   --------------------------------------------------------------------- */
.su-pattern-pil { display: inline-flex; align-items: center; font-family: var(--font-data); font-size: .64rem; font-weight: 800; letter-spacing: .04em; padding: .22rem .55rem; border-radius: 6px; border: 1px solid; }

.su-rr-badge { display: inline-block; font-size: .64rem; font-weight: 800; padding: .12rem .5rem; border-radius: 6px; margin-left: .4rem; }
.su-rr-badge.iyi { color: var(--yesil); background: color-mix(in srgb, var(--yesil) 16%, transparent); }
.su-rr-badge.orta { color: var(--altin); background: color-mix(in srgb, var(--altin) 16%, transparent); }
.su-rr-badge.zayif { color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 16%, transparent); }

.su-setup-kart { border: 1px solid var(--border); border-radius: 14px; background: var(--bg-card); padding: 1.1rem 1.2rem; margin-top: 1.1rem; }
.su-kart-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.su-kart-basliklar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.su-kart-numara { font-family: var(--font-data); font-size: .7rem; color: var(--text-faint); }
.su-kart-ticker { font-family: var(--font-display); font-size: 1.05rem; color: var(--text); }
.su-kart-alt-ad { font-size: .74rem; color: var(--text-faint); }
.su-kart-fiyat { text-align: right; font-family: var(--font-data); font-size: .95rem; color: var(--text); }
.su-kart-fiyat-alt { font-size: .72rem; margin-top: .15rem; }

.su-grafik-sarmal { position: relative; height: 220px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin-bottom: .8rem; background: #14141f; }
.su-fiyat-chart { position: absolute; inset: 0; }
.su-grafik-lejant { position: absolute; top: 6px; left: 8px; z-index: 5; display: flex; gap: .7rem; font-size: .6rem; color: var(--text-dim); pointer-events: none; flex-wrap: wrap; max-width: 90%; }

.su-metrik-satir { font-family: var(--font-data); font-size: .74rem; color: var(--text-dim); margin-bottom: .8rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.su-metrik-satir b { color: var(--text); }

.su-band-satir { font-size: .78rem; color: var(--text-dim); padding: .55rem .8rem; border: 1px solid var(--border); border-radius: 8px; margin-bottom: .5rem; background: #00000026; }
.su-band-satir b { color: var(--text); }

.su-blok { font-size: .8rem; color: var(--text-dim); line-height: 1.68; padding: .65rem .85rem; border-radius: 9px; margin-bottom: .5rem; background: #00000026; border-left: 3px solid var(--border-hi); }
.su-blok b.su-blok-etiket { color: var(--accent); }
.su-blok.playbook { border-left-color: var(--yesil); }
.su-blok.playbook b.su-blok-etiket { color: var(--yesil); }

.su-gecerlilik { font-size: .68rem; color: var(--text-faint); text-align: right; margin-top: .3rem; }

.su-uretilmeyen-liste { list-style: none; margin: 1rem 0 0; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); overflow: hidden; }
.su-uretilmeyen-satir { display: flex; gap: .6rem; align-items: baseline; padding: .6rem 1rem; font-size: .78rem; color: var(--text-dim); line-height: 1.6; border-bottom: 1px solid var(--border); }
.su-uretilmeyen-satir:last-child { border-bottom: none; }
.su-uretilmeyen-satir b { color: var(--text); font-family: var(--font-data); flex: none; }

.su-sozluk-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: .1rem 1.5rem; margin-top: .5rem; }
.su-sozluk-terim { font-size: .8rem; color: var(--text-dim); line-height: 1.6; padding: .45rem 0; border-bottom: 1px solid var(--border); }
.su-sozluk-terim b { color: var(--text); }

@media (max-width: 720px) {
  .su-kart-fiyat { text-align: left; }
}

/* ---- Anomtara (2026-08-16) - Porttech'in pt-* siniflarini yeniden
   kullanir (kart/tablo/rejim-kutu/exec-kart); burada SADECE Anomtara'ya
   ozgu birkac kucuk parca eklenir (esik daire, mini rozet, detay satiri,
   sozluk, esik-alti liste). ---- */
.am-ozet-satir { display: flex; gap: 1.1rem; align-items: stretch; flex-wrap: wrap; margin-top: 1rem; }
.am-esik-daire {
  flex: none; width: 108px; height: 108px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border: 2px solid var(--border-hi); background: var(--bg-card-hi);
}
.am-esik-daire.yesil { border-color: color-mix(in srgb, var(--yesil) 55%, var(--border-hi)); }
.am-esik-daire.altin { border-color: color-mix(in srgb, var(--altin) 55%, var(--border-hi)); }
.am-esik-daire.kirmizi { border-color: color-mix(in srgb, var(--kirmizi) 55%, var(--border-hi)); }
.am-esik-sayi { font-family: var(--font-data); font-size: 2rem; font-weight: 800; line-height: 1; color: var(--text); }
.am-esik-etiket { font-size: .56rem; font-weight: 800; letter-spacing: .06em; color: var(--text-faint); text-align: center; margin-top: .35rem; line-height: 1.3; }

.am-rozet-satir { display: flex; gap: .45rem; flex-wrap: wrap; margin: .7rem 0; }
.am-mini-rozet {
  font-family: var(--font-data); font-size: .64rem; font-weight: 700; color: var(--text-dim);
  padding: .22rem .55rem; border-radius: 6px; border: 1px solid var(--border); background: #00000026;
}

.am-detay-satir {
  margin-top: .7rem; padding: .55rem .8rem; border-radius: 8px; background: #00000030;
  font-family: var(--font-data); font-size: .68rem; color: var(--text-faint); line-height: 1.7;
}
.am-detay-satir b { color: var(--text-dim); }

.am-esik-alti-liste { list-style: none; margin: 1rem 0 0; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); overflow: hidden; }
.am-esik-alti-liste li { padding: .6rem .9rem; font-size: .78rem; color: var(--text-dim); line-height: 1.6; border-bottom: 1px solid var(--border); }
.am-esik-alti-liste li:last-child { border-bottom: none; }
.am-esik-alti-liste li b { color: var(--text); font-family: var(--font-data); }

.am-sozluk { display: grid; grid-template-columns: minmax(160px, 220px) 1fr; gap: .3rem .9rem; margin: 0; font-size: .78rem; }
.am-sozluk dt { color: var(--text); font-weight: 700; padding: .35rem 0; }
.am-sozluk dd { color: var(--text-dim); margin: 0; padding: .35rem 0; line-height: 1.6; border-bottom: 1px solid var(--border); }

@media (max-width: 720px) {
  .am-ozet-satir { flex-direction: column; align-items: flex-start; }
  .am-sozluk { grid-template-columns: 1fr; }
  .am-sozluk dd { padding-bottom: .7rem; }
}

/* Kontrol Stratejisi (2026-08-18) */
.ks-sembol-sarici { position: relative; }
.ks-sembol-girisi {
  background: var(--bg-card); color: var(--text); border: 1px solid var(--border);
  border-radius: 8px; padding: .45rem .8rem; font-size: .8rem; font-family: inherit; min-width: 220px;
}
.ks-sembol-girisi:focus { outline: none; border-color: var(--accent); }

/* Admin - Yeni Uye formu etiketleri (2026-09-02). Form uc AYNI kutudan
   olusuyordu ve alan adlari sadece ipucu yazisindaydi; kutuya bir sey
   yazilinca hangi alan oldugu GORUNMEZ oluyordu. Muzaffer bu yuzden
   uye adini e-posta kutusuna yazdi. Artik her alanin kalici etiketi var. */
.admin-form-alan { display: flex; flex-direction: column; gap: .28rem; }
.admin-form-etiket {
  font-size: .72rem; font-weight: 600; color: var(--text-dim);
  letter-spacing: .02em;
}
.admin-form-etiket .ipucu {
  font-weight: 400; color: var(--text-faint); letter-spacing: 0;
}
.admin-form-alan .ks-sembol-girisi { width: 100%; box-sizing: border-box; }
.ks-arama-sonuc {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 30;
  background: var(--bg-card); border: 1px solid var(--border-hi); border-radius: 10px;
  box-shadow: 0 8px 24px #00000040; max-height: 260px; overflow-y: auto;
}
.ks-arama-satir { display: flex; align-items: baseline; gap: .6rem; padding: .5rem .8rem; cursor: pointer; border-bottom: 1px solid var(--border); }
.ks-arama-satir:last-child { border-bottom: none; }
.ks-arama-satir:hover { background: var(--bg-card-hi); }
.ks-arama-sembol { font-family: var(--font-data); font-weight: 700; color: var(--accent); flex: 0 0 auto; }
.ks-arama-isim { color: var(--text-dim); font-size: .76rem; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ks-arama-tip { color: var(--text-faint); font-size: .66rem; flex: 0 0 auto; }
.ks-arama-bos { padding: .6rem .8rem; color: var(--text-dim); font-size: .76rem; }
.ks-ilerleme-metin { color: var(--text-dim); font-size: .76rem; margin-left: auto; }
.ks-ilerleme-cubuk { height: 6px; border-radius: 4px; background: var(--bg-card); border: 1px solid var(--border); overflow: hidden; margin-bottom: 1rem; }
.ks-ilerleme-cubuk-ic { height: 100%; background: var(--accent); transition: width .2s; }
.ks-hata { color: #e5484d; font-size: .76rem; min-height: 1.1em; margin-bottom: .4rem; }

.ks-form-govde { display: flex; flex-direction: column; gap: .9rem; }
.ks-bolum-baslik { display: flex; align-items: center; justify-content: space-between; }
.ks-bolum-sayac { font-family: var(--font-data); color: var(--text-dim); font-size: .72rem; }
.ks-madde-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.ks-madde { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; padding: .4rem 0; border-bottom: 1px solid var(--border); }
.ks-madde:last-child { border-bottom: none; }
.ks-madde-etiket { display: flex; align-items: center; gap: .6rem; flex: 1 1 320px; cursor: pointer; font-size: .8rem; color: var(--text-dim); line-height: 1.5; }
.ks-madde-etiket input[type="checkbox"] { width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--accent); cursor: pointer; }
.ks-madde:has(input:checked) .ks-madde-etiket { color: var(--text); }
.ks-not-girisi {
  background: transparent; color: var(--text-dim); border: 1px dashed var(--border);
  border-radius: 6px; padding: .3rem .6rem; font-size: .72rem; font-family: inherit;
  width: 220px; max-width: 100%;
}
.ks-not-girisi:focus { outline: none; border-color: var(--accent); border-style: solid; }
.ks-sistem-verisi {
  flex: 1 1 100%; font-size: .74rem; color: var(--text-dim); line-height: 1.5;
  padding: .35rem .6rem; margin: .1rem 0; border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 7%, transparent);
  border-left: 2px solid var(--accent);
}
.ks-sistem-etiket { color: var(--accent); font-weight: 700; }
.ks-gecmis-sistem { color: var(--accent); font-size: .72rem; padding-left: 1.4rem; opacity: .9; }

.ks-gecmis-satir { border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); margin-bottom: .6rem; overflow: hidden; }
.ks-gecmis-ozet { display: flex; align-items: center; gap: .8rem; padding: .65rem .9rem; cursor: pointer; }
.ks-gecmis-ozet:hover { background: var(--bg-card-hi); }
.ks-gecmis-sembol { font-family: var(--font-display); font-size: .82rem; color: var(--text); }
.ks-gecmis-tarih { color: var(--text-dim); font-size: .74rem; }
.ks-gecmis-yuzde { font-family: var(--font-data); color: var(--accent); font-size: .76rem; margin-left: auto; }
.ks-sil-btn { padding: .25rem .5rem; font-size: .72rem; }
.ks-gecmis-detay { padding: .3rem 1.1rem 1rem; display: flex; flex-direction: column; gap: .7rem; }
.ks-gecmis-detay[hidden] { display: none; } /* GERCEK BUG (2026-08-19): display:flex, tarayicinin varsayilan [hidden]{display:none} kuralini AYNI ozgunlukte eziyordu - satir hic gizlenmiyordu */
.ks-gecmis-bolum-baslik { font-size: .76rem; color: var(--text-dim); margin-bottom: .3rem; }
.ks-gecmis-madde-liste { list-style: none; margin: 0; padding: 0; font-size: .76rem; color: var(--text); line-height: 1.7; }
.ks-gecmis-not { color: var(--text-dim); font-size: .72rem; padding-left: 1.4rem; }

@media (max-width: 720px) {
  .ks-ilerleme-metin { margin-left: 0; }
  .ks-not-girisi { width: 100%; }
}

/* Bora Ne Dedi (2026-08-18) */
.bnd-gun-ustbar { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; flex-wrap: wrap; margin-bottom: .5rem; }
.bnd-gun-baslik { font-family: var(--font-display); font-size: .95rem; color: var(--text); }
.bnd-gun-sayac { color: var(--text-dim); font-size: .72rem; }
.bnd-ozet { color: var(--text); font-size: .84rem; line-height: 1.6; margin: 0 0 .6rem; }
.bnd-etiket-satiri { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .5rem; }
.bnd-etiket { font-size: .68rem; padding: .2rem .55rem; border-radius: 999px; border: 1px solid var(--border); color: var(--text-dim); }
.bnd-etiket.konu { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.bnd-etiket.hisse { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); font-family: var(--font-data); font-weight: 700; }
.bnd-yorum { margin-top: .6rem; padding: .7rem .9rem; border-radius: 10px; background: var(--bg-card-hi); border: 1px solid var(--border); }
.bnd-yorum-baslik { font-size: .7rem; color: var(--text-dim); display: block; margin-bottom: .3rem; }
.bnd-yorum p { margin: 0; font-size: .82rem; color: var(--text); line-height: 1.65; }
.bnd-detay-btn { margin-top: .8rem; font-size: .72rem; }
.bnd-tweet-liste { list-style: none; margin: .8rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.bnd-tweet-liste[hidden] { display: none; }
.bnd-tweet { display: flex; gap: .7rem; padding-top: .6rem; border-top: 1px solid var(--border); font-size: .78rem; }
.bnd-tweet-zaman { flex: 0 0 auto; color: var(--text-faint); font-family: var(--font-data); font-size: .68rem; white-space: nowrap; padding-top: .1rem; }
.bnd-tweet-metin { color: var(--text-dim); line-height: 1.6; }

/* Platform Felsefesi - "1 milyon dolar" hedefi (2026-08-19) */
.pf-baslat-kutu p { margin-bottom: .8rem; }
.pf-ilerleme-bar { margin-top: .6rem; height: 8px; border-radius: 999px; background: var(--bg-card-hi); border: 1px solid var(--border); overflow: hidden; }
.pf-ilerleme-dolu { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--accent2), var(--yesil)); transition: width .5s ease; }
.pf-sayac-satiri { display: flex; gap: 1.1rem; flex-wrap: wrap; margin-top: .4rem; }
.pf-sayac-birim { display: flex; flex-direction: column; align-items: center; min-width: 3.2rem; }
.pf-sayac-sayi { font-family: var(--font-display); font-size: 1.7rem; color: var(--text); font-variant-numeric: tabular-nums; }
.pf-sayac-etiket { font-size: .7rem; color: var(--text-dim); margin-top: .15rem; }
.pf-sayac-tamam { font-family: var(--font-display); font-size: 1.1rem; color: var(--yesil); }
.pf-kz-deger { font-family: var(--font-display); font-size: 1.8rem; font-variant-numeric: tabular-nums; }
.pf-kz-deger.pozitif { color: var(--yesil); }
.pf-kz-deger.negatif { color: var(--kirmizi); }

/* Benim Alanım (2026-08-19) */
.ba-analiz-baslik-satiri { display: flex; gap: .8rem; align-items: flex-start; }
.ba-analiz-nokta { width: 9px; height: 9px; border-radius: 50%; margin-top: .45rem; flex-shrink: 0; background: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent); }
.ba-analiz-baslik { font-family: var(--font-display); font-size: 1.05rem; color: var(--text); margin-bottom: .3rem; }
.ba-analiz-aciklama { font-size: .84rem; color: var(--text-dim); line-height: 1.6; margin: 0 0 .4rem; }
.ba-analiz-zaman { font-size: .68rem; color: var(--text-faint); }
.ba-analiz-tam-metin { margin-top: .8rem; padding: .8rem 1rem; border-radius: 10px; background: var(--bg-card-hi); border: 1px solid var(--border); font-size: .84rem; color: var(--text); line-height: 1.7; }
.ba-analiz-tam-metin[hidden] { display: none; }

/* Benim Alanım - grid iskeleti (2026-08-19, tasarım geçişi) */
.ba-selam { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.ba-selam h1 { font-family: var(--font-display); font-size: 1.5rem; margin: 0; }
.ba-selam-saat { font-size: .78rem; color: var(--text-faint); font-family: var(--font-data); }

.ba-hero-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.6rem; }
.ba-stat-kart {
  position: relative; padding: 1.1rem 1.3rem; border-radius: 16px;
  background: linear-gradient(160deg, var(--bg-card) 0%, var(--bg-card-hi) 100%);
  border: 1px solid var(--border);
  box-shadow: 0 10px 26px -18px rgba(0,0,0,.55);
}
.ba-stat-etiket { font-size: .72rem; color: var(--text-dim); margin: 0 0 .45rem; letter-spacing: .01em; }
.ba-stat-deger {
  font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1; margin: 0;
  font-variant-numeric: tabular-nums;
}
.ba-stat-deger.vurgu {
  background: linear-gradient(120deg, var(--parlak) 15%, var(--accent) 65%, var(--accent2) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ba-stat-alt { display: block; margin-top: .35rem; font-size: .82rem; font-family: var(--font-data); font-variant-numeric: tabular-nums; }

.ba-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 1.4rem; align-items: start; margin-bottom: 1.6rem; }
.ba-kolon { display: flex; flex-direction: column; gap: 1.4rem; }

.ba-panel {
  border-radius: 18px; background: var(--bg-card); border: 1px solid var(--border);
  padding: 1.3rem 1.4rem; box-shadow: 0 14px 32px -22px rgba(0,0,0,.5);
}
.ba-panel-vurgulu { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); background: linear-gradient(160deg, var(--bg-card) 0%, color-mix(in srgb, var(--accent) 6%, var(--bg-card-hi)) 100%); }
.ba-panel-baslik { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: 1rem; }
.ba-panel-baslik h2 { font-family: var(--font-display); font-size: .98rem; margin: 0; color: var(--text); }
.ba-panel-baslik .ba-panel-alt-metin { font-size: .74rem; color: var(--text-faint); }
.ba-panel-genis { grid-column: 1 / -1; }

@media (max-width: 980px) {
  .ba-hero-grid { grid-template-columns: repeat(2, 1fr); }
  .ba-grid { grid-template-columns: 1fr; }
}

/* Alım (2026-08-20) - AL/SAT yön seçici, .pt-buton'un secili durumu -
   secili AL yesil, secili SAT kirmizi vurgular (.pt-buton.birincil'in
   ayni tarzda renk-vurgulu deseni). */
.al-yon-btn.secili[data-yon="AL"] { color: var(--yesil); border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); background: color-mix(in srgb, var(--yesil) 12%, transparent); font-weight: 700; }
.al-yon-btn.secili[data-yon="SAT"] { color: var(--kirmizi); border-color: color-mix(in srgb, var(--kirmizi) 45%, var(--border)); background: color-mix(in srgb, var(--kirmizi) 12%, transparent); font-weight: 700; }

/* ---- Hisse Merkezi EKLERI (2026-08-24, Muzaffer'in gonderdigi referans
   ekran goruntulerinden). ESKI .hm-* kurallari KALDIRILMADI - bunlar
   uzerine EKLENEN yeni bolumler: takip butonu, derinlestir cipleri,
   metrik kart aciklamalari, dort-motor sonuc satiri, OPSIYON BASINC
   HARITASI, rapor seridi ve video alintilari. ---- */

/* --- Takip et butonu --- */
.hm-takip-btn {
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border));
  color: var(--text); border-radius: 12px; padding: .5rem .9rem;
  font-family: inherit; font-size: .82rem; font-weight: 600; cursor: pointer;
  transition: border-color .15s, transform .15s, background .15s;
}
.hm-takip-btn:hover:not(:disabled) { border-color: var(--accent); transform: translateY(-1px); }
.hm-takip-btn:disabled { cursor: default; opacity: .85; }
.hm-takip-btn.hm-takip-ekli {
  background: color-mix(in srgb, var(--yesil) 14%, transparent);
  border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); color: var(--yesil);
}

/* --- "Incelediğin hisseyi derinleştir" cip seridi --- */
.hm-derinlestir { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.hm-derinlestir-etiket { font-size: .78rem; color: var(--text-dim); margin-right: .2rem; }
.hm-cip {
  display: inline-flex; align-items: center; gap: .3rem;
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 999px;
  padding: .35rem .8rem; font-size: .78rem; color: var(--text); text-decoration: none;
  transition: border-color .15s, transform .15s;
}
.hm-cip:hover { border-color: var(--accent); transform: translateY(-1px); }

/* --- Metrik kartlarinin altindaki aciklama satiri (referans ekranda her
       kartin altinda ne olcuyor yaziyordu; bizde yoktu) --- */
.hm-kart-alt { font-size: .62rem; color: var(--text-faint); margin-top: .3rem; line-height: 1.4; }
.hm-metrik-izgara .kp-ozet-kart { display: flex; flex-direction: column; }

/* --- Fiyat haritasi (birlestirilmis panel) --- */
.hm-fh-ikili { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .8rem; }
.hm-fh-kutu { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .6rem .8rem; }
.hm-fh-etiket { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .3rem; }
.hm-fh-ozet { font-size: .78rem; color: var(--text-dim); margin-top: .7rem; padding-top: .6rem; border-top: 1px solid var(--border); }

/* --- Dort motor: sonuc satiri + buton grubu --- */
.hm-motor-sonuc {
  font-size: .82rem; font-weight: 600; color: var(--sonuc-renk, var(--text-dim));
  background: color-mix(in srgb, var(--sonuc-renk, var(--text-faint)) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--sonuc-renk, var(--border)) 30%, var(--border));
  border-radius: 10px; padding: .45rem .65rem; margin-bottom: .5rem; min-height: 2.2em;
  display: flex; align-items: center; gap: .4rem;
}
.hm-motor-sonuc::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.hm-motor-butonlar { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .4rem; }
.hm-motor-btn-ikincil {
  border: 1px solid var(--border); background: transparent; color: var(--text-dim);
  border-radius: 10px; padding: .35rem .7rem; font-size: .74rem; text-decoration: none;
}
.hm-motor-btn-ikincil:hover { border-color: var(--accent); color: var(--accent); }

/* ======================= OPSIYON BASINC HARITASI ======================= */
.hm-onizleme-serit {
  background: color-mix(in srgb, var(--altin) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--altin) 50%, var(--border));
  border-radius: 12px; padding: .7rem .9rem; margin-bottom: .9rem;
  font-size: .76rem; color: var(--text-dim); line-height: 1.55;
}
.hm-onizleme-serit b { color: var(--altin); display: block; margin-bottom: .2rem; }
.hm-onizleme-link { color: var(--accent); }
.hm-basinc-bagli-degil {
  font-size: .8rem; color: var(--text-dim); line-height: 1.6; padding: .4rem 0;
}
.hm-basinc-bagli-degil b { color: var(--text); display: block; margin-bottom: .35rem; }
.hm-basinc-bagli-degil code {
  background: var(--bg-card-hi); border-radius: 5px; padding: .05rem .3rem; font-size: .95em;
}
.hm-basinc-kaynak { font-size: .7rem; color: var(--text-faint); margin-bottom: .7rem; line-height: 1.55; }
.hm-basinc-not.vade {
  font-size: .74rem; color: var(--text-dim); background: var(--bg-card-hi);
  border-radius: 10px; padding: .55rem .8rem; margin-bottom: .7rem; line-height: 1.55;
}
.hm-basinc-sonuc {
  font-size: .82rem; color: var(--text); line-height: 1.6;
  background: color-mix(in srgb, var(--yesil) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--yesil) 32%, var(--border));
  border-radius: 12px; padding: .65rem .9rem; margin-bottom: .8rem;
}
.hm-basinc-okuma {
  border: 1px solid var(--border-hi); border-radius: 14px;
  padding: .85rem 1rem; margin-bottom: 1rem; background: var(--bg-card-hi);
}
.hm-basinc-okuma-baslik {
  font-family: var(--font-display); font-size: .74rem; text-transform: uppercase;
  letter-spacing: .06em; color: var(--accent); margin-bottom: .5rem;
}
.hm-basinc-okuma p { font-size: .82rem; color: var(--text-dim); line-height: 1.6; margin: 0 0 .5rem; }
.hm-basinc-izle-baslik {
  font-size: .66rem; text-transform: uppercase; letter-spacing: .05em;
  color: var(--text-faint); margin: .7rem 0 .35rem;
}
.hm-basinc-izle { font-size: .8rem; color: var(--text-dim); line-height: 1.6; padding: .1rem 0; }
.hm-basinc-uyari {
  font-size: .76rem; color: var(--text-dim); line-height: 1.55; margin-top: .6rem;
  border-left: 3px solid var(--altin); padding: .35rem 0 .35rem .6rem;
}

.hm-basinc-govde-merdiven { display: flex; flex-direction: column; margin-bottom: .3rem; }
.hm-basinc-satir { display: grid; grid-template-columns: 74px 1fr 1fr; align-items: center; gap: .5rem; padding: .2rem 0; }
.hm-basinc-strike { font-family: var(--font-data); font-weight: 700; font-size: .8rem; text-align: right; }
.hm-basinc-put { display: flex; justify-content: flex-end; align-items: center; gap: .4rem; }
.hm-basinc-call { display: flex; justify-content: flex-start; align-items: center; gap: .4rem; }
.hm-basinc-bar { height: 13px; border-radius: 3px; min-width: 2px; }
.hm-basinc-bar.put { background: color-mix(in srgb, var(--kirmizi) 62%, transparent); }
.hm-basinc-bar.call { background: color-mix(in srgb, var(--yesil) 62%, transparent); }
.hm-basinc-sayi { font-size: .66rem; color: var(--text-faint); font-family: var(--font-data); min-width: 42px; }
.hm-basinc-put .hm-basinc-sayi { text-align: right; }
.hm-basinc-etiket-satir { display: flex; flex-direction: column; gap: .1rem; margin: .05rem 0 .3rem 78px; }
.hm-basinc-etiket { font-size: .62rem; letter-spacing: .03em; }
.hm-basinc-etiket.tavan { color: var(--altin); }
.hm-basinc-etiket.duvar { color: var(--kirmizi); }
.hm-basinc-etiket.savas { color: var(--kirmizi); font-weight: 600; }
.hm-basinc-spot {
  display: flex; align-items: center; gap: .5rem; margin: .4rem 0;
  border-top: 1px dashed color-mix(in srgb, var(--altin) 65%, transparent);
  padding-top: .25rem; justify-content: flex-end;
}
.hm-basinc-spot span {
  background: color-mix(in srgb, var(--altin) 18%, transparent); color: var(--altin);
  border-radius: 8px; padding: .15rem .55rem; font-size: .7rem;
  font-family: var(--font-data); font-weight: 700;
}
.hm-basinc-yani {
  font-size: .8rem; color: var(--text-dim); line-height: 1.6; margin: .9rem 0 1rem;
  background: color-mix(in srgb, var(--yesil) 8%, transparent);
  border-left: 3px solid var(--yesil); border-radius: 0 10px 10px 0; padding: .6rem .85rem;
}
.hm-basinc-degildir {
  font-size: .78rem; color: var(--text-dim); line-height: 1.6; margin: 1rem 0;
  background: color-mix(in srgb, var(--kirmizi) 8%, transparent);
  border-left: 3px solid var(--kirmizi); border-radius: 0 10px 10px 0; padding: .65rem .9rem;
}
.hm-basinc-degildir b { color: var(--kirmizi); }

/* --- Acilir paneller (Kolay anlatim / Mini sozluk / Rontgen tam liste) --- */
.hm-acilir { border-top: 1px solid var(--border); padding: .6rem 0; }
.hm-acilir > summary {
  cursor: pointer; font-size: .8rem; color: var(--text-dim); list-style: none;
  display: flex; align-items: center; gap: .45rem;
}
.hm-acilir > summary::-webkit-details-marker { display: none; }
.hm-acilir > summary::before { content: "▶"; font-size: .6rem; color: var(--text-faint); transition: transform .15s; }
.hm-acilir[open] > summary::before { transform: rotate(90deg); }
.hm-acilir > summary:hover { color: var(--accent); }
.hm-acilir-govde { padding: .7rem 0 .2rem 1.05rem; }
.hm-acilir-govde p { font-size: .8rem; color: var(--text-dim); line-height: 1.65; margin: 0 0 .6rem; }

/* --- Raporlarda son 7 gun --- */
.hm-rapor-satir {
  display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: .7rem;
  padding: .55rem 0; border-top: 1px solid var(--border); text-decoration: none; color: inherit;
}
.hm-rapor-satir:first-child { border-top: none; }
.hm-rapor-satir:hover .hm-rapor-metin { color: var(--accent); }
.hm-rapor-rozet {
  font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 999px;
  padding: .2rem .5rem; text-align: center; color: var(--text-dim);
}
.hm-rapor-metin { font-size: .82rem; color: var(--text-dim); transition: color .15s; }
.hm-rapor-metin i { color: var(--text-faint); font-size: .92em; }
.hm-rapor-tarih { font-size: .72rem; color: var(--text-faint); font-family: var(--font-data); }

/* --- Video arsivinden alintilar --- */
.hm-alinti { padding: .7rem 0; border-top: 1px solid var(--border); }
.hm-alinti:first-child { border-top: none; padding-top: 0; }
.hm-alinti-metin { font-size: .84rem; color: var(--text-dim); line-height: 1.65; font-style: italic; }
.hm-alinti-meta { font-size: .7rem; color: var(--text-faint); margin-top: .35rem; }
.hm-alinti-meta a { color: var(--accent); }
.hm-alinti-kaynak { text-transform: capitalize; }

@media (max-width: 700px) {
  .hm-basinc-satir { grid-template-columns: 58px 1fr 1fr; }
  .hm-basinc-etiket-satir { margin-left: 62px; }
  .hm-rapor-satir { grid-template-columns: 82px 1fr; }
  .hm-rapor-tarih { grid-column: 2; }
}

/* ---- IBKR Baglantisi sayfasi (2026-08-24, Muzaffer'in "Umay Finans'taki
   gibi baglanti secenekleri" istegi). ---- */
.ib-durum-ust { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .9rem; margin-bottom: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--border); }
.ib-etiket { font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-faint); margin-bottom: .25rem; }
.ib-genel { font-family: var(--font-display); font-size: 1rem; }
.ib-satir { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .45rem 0; border-top: 1px solid var(--border); font-size: .82rem; }
.ib-satir:first-of-type { border-top: none; }
.ib-satir-ad { color: var(--text-dim); }
.ib-satir-ad code, .ib-test-kutu code { background: var(--bg-card-hi); border-radius: 5px; padding: .05rem .35rem; font-size: .95em; }
.ib-deger { font-family: var(--font-data); color: var(--text); }

.ib-slotlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .8rem; margin-top: 1rem; }
.ib-slot { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .7rem .85rem; }
.ib-slot-aktif { border-color: color-mix(in srgb, var(--yesil) 45%, var(--border)); }
.ib-slot-pasif { opacity: .72; }
.ib-slot-ad { font-size: .85rem; font-weight: 600; margin-bottom: .3rem; }
.ib-slot-rozet { font-size: .6rem; text-transform: uppercase; letter-spacing: .05em; color: var(--yesil); border: 1px solid color-mix(in srgb, var(--yesil) 40%, transparent); border-radius: 999px; padding: .1rem .4rem; margin-left: .35rem; font-weight: 700; }
.ib-slot-alt { font-size: .72rem; color: var(--text-faint); line-height: 1.5; }

.ib-aciklama { font-size: .82rem; color: var(--text-dim); line-height: 1.65; margin: 0 0 .9rem; }
.ib-butonlar { display: flex; gap: .5rem; flex-wrap: wrap; }
.ib-alt-baslik { font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-faint); margin: 1.1rem 0 .5rem; }
.ib-btn { background: var(--bg-card-hi); border: 1px solid var(--border); color: var(--text); border-radius: 12px; padding: .55rem 1rem; font-family: inherit; font-size: .82rem; cursor: pointer; transition: border-color .15s, transform .15s, opacity .15s; }
.ib-btn:hover:not(:disabled) { border-color: var(--accent); transform: translateY(-1px); }
.ib-btn:disabled { opacity: .4; cursor: default; }
.ib-btn-birincil { background: color-mix(in srgb, var(--accent) 16%, transparent); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); font-weight: 600; }
.ib-btn-kucuk { padding: .4rem .8rem; font-size: .76rem; }

.ib-mesaj { font-size: .78rem; color: var(--text-faint); margin-top: .8rem; min-height: 1.2em; line-height: 1.5; }
.ib-mesaj-hata { color: var(--kirmizi); }
.ib-mesaj-iyi { color: var(--yesil); }

.ib-test-kutu { border-radius: 12px; padding: .7rem .9rem; font-size: .82rem; line-height: 1.6; }
.ib-test-kutu b { display: block; margin-bottom: .2rem; }
.ib-test-iyi { background: color-mix(in srgb, var(--yesil) 10%, transparent); border: 1px solid color-mix(in srgb, var(--yesil) 32%, var(--border)); }
.ib-test-iyi b { color: var(--yesil); }
.ib-test-kotu { background: color-mix(in srgb, var(--kirmizi) 10%, transparent); border: 1px solid color-mix(in srgb, var(--kirmizi) 32%, var(--border)); }
.ib-test-kotu b { color: var(--kirmizi); }

/* ---- Giris ekrani (2026-08-25, Faz A - kendi kimlik sistemi: sifre +
   e-posta dogrulama kodu). ---- */
.giris-sayfa { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
.giris-kutu { width: 100%; max-width: 380px; background: var(--bg-card); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur)); border: 1px solid var(--border); border-radius: 18px; padding: 1.8rem 1.6rem; }
.giris-marka { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.5rem; }
.giris-marka-metin { font-family: var(--font-display); font-size: 1.1rem; }
.giris-marka-alt { font-size: .7rem; color: var(--text-faint); }
.giris-form { display: flex; flex-direction: column; }
.giris-etiket { font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-faint); margin-bottom: .3rem; }
.giris-girdi { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .65rem .85rem; color: var(--text); font-family: inherit; font-size: .9rem; margin-bottom: 1rem; }
.giris-girdi:focus { outline: none; border-color: var(--accent); }
.giris-kod-girdi { font-family: var(--font-data); font-size: 1.5rem; letter-spacing: .5em; text-align: center; padding-left: .5em; }
.giris-btn { background: color-mix(in srgb, var(--accent) 20%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 50%, var(--border)); color: var(--text); border-radius: 12px; padding: .7rem 1rem; font-family: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; transition: border-color .15s, transform .15s; }
.giris-btn:hover:not(:disabled) { border-color: var(--accent); transform: translateY(-1px); }
.giris-btn:disabled { opacity: .55; cursor: default; }
.giris-hata { color: var(--kirmizi); font-size: .78rem; margin-top: .7rem; min-height: 1.1em; line-height: 1.45; }
.giris-not { font-size: .7rem; color: var(--text-faint); margin-top: .9rem; line-height: 1.5; }
.giris-kod-bilgi { font-size: .82rem; color: var(--text-dim); line-height: 1.55; margin-bottom: 1.2rem; }
.giris-alt-butonlar { display: flex; gap: 1rem; margin-top: .8rem; }
.giris-baglanti { background: none; border: none; color: var(--text-dim); font-family: inherit; font-size: .76rem; cursor: pointer; padding: 0; text-decoration: underline; }
.giris-baglanti:hover:not(:disabled) { color: var(--accent); }
.giris-baglanti:disabled { opacity: .5; cursor: default; }

/* Arama acilir menusundeki HATA satiri (2026-08-25) - eskiden arama
   basarisiz olunca menu sessizce kapaniyordu ve kullanici sebebini
   ogrenemiyordu. */
.arama-hata-satir { padding: .6rem .8rem; font-size: .78rem; color: var(--kirmizi); line-height: 1.5; }
/* 2026-08-29: "sonuc bulunamadi" gibi HATA OLMAYAN durumlar. Kirmizi
   uyari rengi kullanmak yaniltici olurdu - bu normal bir cevap. */
.arama-bilgi-satir { padding: .6rem .8rem; font-size: .78rem; color: var(--text-dim); line-height: 1.5; }

/* ---- Hisse Alim-Satim (2026-08-25) - Muzaffer'in onayladigi tasarimin
   (tasarim-secenekleri-emir/00-oneri.html) gercek sayfa hali: solda
   derinlik defteri, ortada emir formu, sagda "bu emir ne yapacak". ---- */
.gizle { display: none !important; }

.al-baglanti { font-size: .78rem; padding: .5rem .8rem; border-radius: 10px; margin-bottom: 1rem; border: 1px solid var(--border); }
.al-baglanti.acik { color: var(--yesil); background: color-mix(in srgb, var(--yesil) 9%, transparent); border-color: color-mix(in srgb, var(--yesil) 28%, var(--border)); }
.al-baglanti.kapali { color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 9%, transparent); border-color: color-mix(in srgb, var(--kirmizi) 28%, var(--border)); }
.al-baglanti a { color: inherit; }

.al-panel { background: var(--bg-card); border: 1px solid var(--border); border-radius: 18px; overflow: hidden; }
.al-ust { display: flex; align-items: baseline; gap: 1rem; padding: 1rem 1.3rem; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.al-sembol { font-size: 1.3rem; font-weight: 700; letter-spacing: -.025em; }
.al-spot { font-family: var(--font-data); font-size: 1.05rem; font-weight: 600; color: var(--yesil); }
.al-poz { font-size: .8rem; color: var(--text-dim); }
.al-soluk { color: var(--text-faint); }
.al-opsiyon-link { margin-left: auto; font-size: .78rem; color: var(--accent); }

.al-govde { display: grid; grid-template-columns: 250px 1fr 280px; min-height: 460px; }
@media (max-width: 1080px) { .al-govde { grid-template-columns: 1fr; } }

.al-derinlik { background: var(--bg-card-hi); border-right: 1px solid var(--border); display: flex; flex-direction: column; }
@media (max-width: 1080px) { .al-derinlik { border-right: none; border-bottom: 1px solid var(--border); order: 3; } }
.al-d-bas { display: flex; justify-content: space-between; padding: .6rem .9rem .5rem; font-size: .62rem; text-transform: uppercase; letter-spacing: .09em; color: var(--text-faint); border-bottom: 1px solid var(--border); }
.al-d-liste { flex: 1; overflow-y: auto; padding: .3rem 0; max-height: 340px; }
.al-d-satir { position: relative; display: flex; justify-content: space-between; align-items: center; padding: .3rem .9rem; font-family: var(--font-data); font-size: .8rem; width: 100%; }
.al-d-satir:hover { background: rgba(255,255,255,.05); }
.al-d-satir.secili { background: color-mix(in srgb, var(--accent) 14%, transparent); box-shadow: inset 2px 0 0 var(--accent); }
.al-d-bar { position: absolute; top: 1px; bottom: 1px; right: 0; border-radius: 2px 0 0 2px; opacity: .2; }
.al-d-satir.sat .al-d-bar { background: var(--kirmizi); }
.al-d-satir.al .al-d-bar { background: var(--yesil); }
.al-d-fiyat { position: relative; font-weight: 600; }
.al-d-satir.sat .al-d-fiyat { color: var(--kirmizi); }
.al-d-satir.al .al-d-fiyat { color: var(--yesil); }
.al-d-adet { position: relative; color: var(--text-dim); font-size: .75rem; }
.al-d-orta { padding: .45rem .9rem; margin: .3rem 0; background: rgba(255,255,255,.05); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); font-family: var(--font-data); font-weight: 700; text-align: center; }
.al-d-ozet { padding: .6rem .9rem; border-top: 1px solid var(--border); font-size: .72rem; color: var(--text-dim); line-height: 1.55; }
.al-defter-bos { padding: 1.2rem .9rem; font-size: .78rem; color: var(--text-dim); line-height: 1.6; }
.al-defter-bos b { display: block; color: var(--text); margin-bottom: .3rem; }

.al-form { padding: 1.2rem 1.35rem; display: flex; flex-direction: column; gap: 1.05rem; }
.al-ga { font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-faint); margin-bottom: .45rem; }
.al-sg { display: flex; gap: .35rem; flex-wrap: wrap; }
.al-seg { padding: .5rem .9rem; border: 1px solid var(--border); border-radius: 9px; font-size: .82rem; color: var(--text-dim); }
.al-seg:hover:not(:disabled) { border-color: var(--border-hi); color: var(--text); }
.al-seg:disabled { opacity: .35; cursor: default; }
.al-seg[aria-pressed="true"] { background: color-mix(in srgb, var(--accent) 17%, transparent); border-color: var(--accent); color: var(--text); font-weight: 600; }
.al-seg.al[aria-pressed="true"] { background: color-mix(in srgb, var(--yesil) 17%, transparent); border-color: var(--yesil); }
.al-seg.sat[aria-pressed="true"] { background: color-mix(in srgb, var(--kirmizi) 17%, transparent); border-color: var(--kirmizi); }
.al-ikili { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .6rem; }
.al-alan { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 11px; padding: .6rem .8rem; }
.al-alan:focus-within { border-color: var(--accent); }
.al-alan.stop { border-color: color-mix(in srgb, var(--kirmizi) 32%, var(--border)); }
.al-alan.hedef { border-color: color-mix(in srgb, var(--yesil) 32%, var(--border)); }
.al-alan label { display: block; font-size: .65rem; color: var(--text-faint); margin-bottom: .18rem; }
.al-alan input { width: 100%; background: none; border: none; outline: none; font-size: 1.04rem; font-weight: 650; font-variant-numeric: tabular-nums; color: var(--text); font-family: inherit; }
.al-yz { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; margin-top: .5rem; }
.al-mini { padding: .45rem; border: 1px solid var(--border); border-radius: 8px; font-size: .76rem; color: var(--text-dim); }
.al-mini:hover:not(:disabled) { border-color: var(--accent); color: var(--text); }
.al-mini:disabled { opacity: .35; cursor: default; }
.al-pay-not { font-size: .68rem; color: var(--text-faint); margin-top: .35rem; }
.al-durum { font-size: .8rem; color: var(--text-faint); min-height: 1.2em; line-height: 1.5; }
.al-durum-hata { color: var(--kirmizi); }

.al-etki { background: var(--bg-card-hi); border-left: 1px solid var(--border); padding: 1.2rem 1.25rem; display: flex; flex-direction: column; gap: 1.05rem; }
@media (max-width: 1080px) { .al-etki { border-left: none; border-top: 1px solid var(--border); } }
.al-e-bas { font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-faint); margin-bottom: .5rem; }
.al-e-satir { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .42rem 0; border-bottom: 1px solid var(--border); font-size: .84rem; }
.al-e-satir:last-child { border-bottom: none; }
.al-e-satir span { color: var(--text-dim); }
.al-e-satir b { font-weight: 650; font-variant-numeric: tabular-nums; text-align: right; }
.al-e-not { font-size: .76rem; color: var(--text-faint); line-height: 1.55; }
.al-terazi { display: flex; height: 9px; border-radius: 5px; overflow: hidden; margin: .15rem 0 .5rem; }
.al-terazi i { display: block; height: 100%; }
.al-agirlik { height: 9px; border-radius: 5px; background: rgba(255,255,255,.08); overflow: hidden; margin: .15rem 0 .5rem; }
.al-agirlik i { display: block; height: 100%; background: var(--accent); }
.al-uyari { display: flex; gap: .5rem; align-items: flex-start; padding: .6rem .75rem; border-radius: 10px; background: color-mix(in srgb, var(--altin) 9%, transparent); border: 1px solid color-mix(in srgb, var(--altin) 26%, var(--border)); font-size: .76rem; color: var(--altin); line-height: 1.5; }
.al-onizle { margin-top: auto; width: 100%; padding: .92rem; border-radius: 13px; background: var(--accent); color: #1a0f33; font-weight: 700; font-size: .93rem; }
.al-onizle:hover:not(:disabled) { filter: brightness(1.08); }
.al-onizle:disabled { opacity: .6; cursor: default; }

.al-onay-perde { position: fixed; inset: 0; background: rgba(0,0,0,.72); display: grid; place-items: center; padding: 1.5rem; z-index: 50; }
.al-onay { width: min(440px, 100%); background: var(--bg-card); border: 1px solid var(--border-hi); border-radius: 18px; padding: 1.5rem; backdrop-filter: blur(var(--blur)); }
.al-onay-bas { font-family: var(--font-display); font-size: 1.15rem; margin-bottom: 1.1rem; }
.al-o-satir { display: flex; justify-content: space-between; gap: .8rem; padding: .45rem 0; border-bottom: 1px solid var(--border); font-size: .86rem; }
.al-o-satir span { color: var(--text-dim); }
.al-o-satir b { font-weight: 650; font-variant-numeric: tabular-nums; text-align: right; }
.al-o-uyari { margin-top: .8rem; padding: .6rem .75rem; border-radius: 10px; background: color-mix(in srgb, var(--altin) 10%, transparent); border: 1px solid color-mix(in srgb, var(--altin) 28%, var(--border)); font-size: .78rem; color: var(--altin); line-height: 1.55; }
.al-o-uyari.al-o-hata { background: color-mix(in srgb, var(--kirmizi) 10%, transparent); border-color: color-mix(in srgb, var(--kirmizi) 30%, var(--border)); color: var(--kirmizi); }
.al-o-basarili { padding: .7rem .85rem; border-radius: 11px; background: color-mix(in srgb, var(--yesil) 12%, transparent); border: 1px solid color-mix(in srgb, var(--yesil) 32%, var(--border)); color: var(--yesil); font-weight: 700; margin-bottom: .9rem; }
.al-o-not { font-size: .76rem; color: var(--text-faint); margin-top: .6rem; }
.al-onay-butonlar { display: flex; gap: .6rem; margin-top: 1.3rem; }
.al-vazgec { flex: none; padding: .8rem 1.3rem; border: 1px solid var(--border); border-radius: 12px; color: var(--text-dim); }
.al-vazgec:hover { border-color: var(--border-hi); color: var(--text); }
.al-onayla { flex: 1; padding: .8rem; border-radius: 12px; background: var(--yesil); color: #04160f; font-weight: 700; }
.al-onayla:hover:not(:disabled) { filter: brightness(1.08); }

/* ---- Opsiyon Alim-Satim (2026-08-25). Zincir tablosu + bacaklar +
   payoff egrisi. Hisse sayfasinin .al-* siniflarini paylasir. ---- */
.op-vade-serit { display: flex; gap: .35rem; padding: .7rem 1.3rem; border-bottom: 1px solid var(--border); overflow-x: auto; scrollbar-width: thin; }
.op-vade { flex: none; padding: .45rem .8rem; border: 1px solid var(--border); border-radius: 9px; font-size: .8rem; color: var(--text-dim); white-space: nowrap; }
.op-vade small { display: block; font-size: .64rem; color: var(--text-faint); margin-top: .1rem; }
.op-vade:hover { border-color: var(--border-hi); color: var(--text); }
.op-vade[aria-pressed="true"] { background: color-mix(in srgb, var(--accent) 17%, transparent); border-color: var(--accent); color: var(--text); font-weight: 600; }

.op-govde { display: grid; grid-template-columns: 340px 1fr 320px; min-height: 480px; }
@media (max-width: 1200px) { .op-govde { grid-template-columns: 1fr; } }

.op-zincir-sutun { background: var(--bg-card-hi); border-right: 1px solid var(--border); overflow-y: auto; max-height: 620px; }
@media (max-width: 1200px) { .op-zincir-sutun { border-right: none; border-bottom: 1px solid var(--border); max-height: 420px; } }
.op-yukleniyor { padding: 2rem 1rem; text-align: center; color: var(--text-faint); font-size: .84rem; }
.op-zincir { width: 100%; border-collapse: collapse; font-size: .76rem; }
.op-zincir thead th { position: sticky; top: 0; background: var(--bg-card); padding: .45rem .3rem; font-size: .64rem; text-transform: uppercase; letter-spacing: .07em; border-bottom: 1px solid var(--border); z-index: 2; }
.op-tur.call { color: var(--yesil); }
.op-tur.put { color: var(--kirmizi); }
.op-strike-bas { color: var(--text-faint); }
.op-zincir td { border-bottom: 1px solid var(--border); padding: .3rem .35rem; text-align: center; vertical-align: middle; }
.op-h { cursor: pointer; }
.op-h:hover { background: rgba(255,255,255,.05); }
.op-h:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.op-h.bos { color: var(--text-faint); cursor: default; }
.op-h.secili { background: color-mix(in srgb, var(--accent) 18%, transparent); box-shadow: inset 0 0 0 1px var(--accent); }
.op-h-fiyat { font-family: var(--font-data); font-weight: 650; font-size: .84rem; }
.op-h-alt { font-size: .66rem; color: var(--text-dim); font-family: var(--font-data); }
.op-h-alt2 { font-size: .63rem; color: var(--text-faint); }
.op-strike { font-family: var(--font-data); font-weight: 700; background: rgba(255,255,255,.045); font-size: .82rem; }
.op-atm .op-strike { color: var(--altin); }
.op-atm td { background: color-mix(in srgb, var(--altin) 7%, transparent); }
.op-zincir-not { padding: .7rem .9rem; font-size: .7rem; color: var(--text-faint); line-height: 1.55; border-top: 1px solid var(--border); }

.op-orta { padding: 1.2rem 1.35rem; display: flex; flex-direction: column; gap: 1.05rem; }
.op-bacak-bos { font-size: .8rem; color: var(--text-faint); padding: .8rem 0; line-height: 1.5; }
.op-bacak { display: grid; grid-template-columns: 22px 56px 1fr 52px 68px 26px; gap: .4rem; align-items: center; padding: .5rem 0; border-bottom: 1px solid var(--border); }
@media (max-width: 620px) { .op-bacak { grid-template-columns: 22px 56px 1fr; row-gap: .35rem; } }
.op-b-no { width: 20px; height: 20px; border-radius: 6px; background: rgba(255,255,255,.07); display: grid; place-items: center; font-size: .68rem; color: var(--text-faint); }
.op-b-yon { padding: .3rem; border-radius: 6px; font-size: .7rem; font-weight: 700; }
.op-b-yon.al { background: color-mix(in srgb, var(--yesil) 17%, transparent); color: var(--yesil); }
.op-b-yon.sat { background: color-mix(in srgb, var(--kirmizi) 17%, transparent); color: var(--kirmizi); }
.op-b-kon { font-family: var(--font-data); font-size: .8rem; }
.op-b-kon small { display: block; color: var(--text-faint); font-size: .68rem; margin-top: .08rem; }
.op-b-gir { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 7px; padding: .32rem .45rem; width: 100%; text-align: right; font-variant-numeric: tabular-nums; font-size: .8rem; outline: none; color: var(--text); font-family: inherit; }
.op-b-gir:focus { border-color: var(--accent); }
.op-b-sil { color: var(--text-faint); font-size: .9rem; }
.op-b-sil:hover { color: var(--kirmizi); }

.op-sag { background: var(--bg-card-hi); border-left: 1px solid var(--border); padding: 1.2rem 1.25rem; display: flex; flex-direction: column; gap: 1.05rem; }
@media (max-width: 1200px) { .op-sag { border-left: none; border-top: 1px solid var(--border); } }
.op-svg { width: 100%; height: auto; display: block; }
.op-payoff-eksen { display: flex; justify-content: space-between; font-size: .66rem; color: var(--text-faint); margin-top: .25rem; font-variant-numeric: tabular-nums; }
.op-spot-et { color: var(--altin); }
.op-e-not { font-size: .76rem; color: var(--text-faint); line-height: 1.55; }
.op-e-satir { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .4rem 0; border-bottom: 1px solid var(--border); font-size: .83rem; }
.op-e-satir:last-child { border-bottom: none; }
.op-e-satir span { color: var(--text-dim); }
.op-e-satir b { font-weight: 650; font-variant-numeric: tabular-nums; text-align: right; }
.op-e-satir small { color: var(--text-faint); font-weight: 400; font-size: .68rem; }
.op-borc { color: var(--kirmizi); }
.op-alacak { color: var(--yesil); }
.op-sinirsiz { color: var(--altin); font-weight: 700; }
.op-sinirsiz.op-riskli { color: var(--kirmizi); }
.op-b-satir { display: flex; justify-content: space-between; gap: .6rem; padding: .4rem 0; border-bottom: 1px solid var(--border); font-size: .82rem; }
.op-b-satir:last-child { border-bottom: none; }
.op-b-satir span { color: var(--text-dim); }
.op-b-not { font-size: .74rem; color: var(--text-faint); line-height: 1.5; padding: .3rem 0; }

.op-poz { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; padding: .55rem .2rem; border-bottom: 1px solid var(--border); text-align: left; }
.op-poz:last-child { border-bottom: none; }
.op-poz:hover .op-poz-ad { color: var(--accent); }
.op-poz-ad { font-family: var(--font-data); font-size: .84rem; color: var(--text); }
.op-poz-ad small { color: var(--text-faint); margin-left: .4rem; font-size: .72rem; }
.op-poz-adet { font-family: var(--font-data); font-weight: 700; font-size: .84rem; }
.op-poz-adet.uzun { color: var(--yesil); }
.op-poz-adet.kisa { color: var(--kirmizi); }
.op-onay-ayrac { font-size: .64rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-faint); margin: .9rem 0 .3rem; }

/* ---- Opsiyon Stratejileri (2026-08-25 yeniden kuruldu). Kart izgarasi +
   tiklaninca acilan bacak/payoff detayi. ---- */
.os-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: .9rem; }
.os-kart { text-align: left; background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; padding: .95rem 1rem 0; display: flex; flex-direction: column; gap: .55rem; transition: border-color .16s, transform .16s; }
.os-kart:hover { border-color: var(--accent); transform: translateY(-2px); }
.os-kart:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.os-kart-ust { display: flex; flex-direction: column; gap: .3rem; }
.os-kart-tr { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.os-kart-tr .kp-pill { flex: none; }
.os-ad { font-family: var(--font-display); font-size: .98rem; letter-spacing: -.01em; }
.os-tr { font-size: .72rem; color: var(--text-faint); }
.os-mini-grafik { margin: .1rem -.25rem; }
.os-kart-alt { display: flex; justify-content: space-between; align-items: center; font-size: .72rem; color: var(--text-faint); border-top: 1px solid var(--border); padding: .5rem 0; font-variant-numeric: tabular-nums; }
.os-borc { color: var(--kirmizi); }
.os-alacak { color: var(--yesil); }

.os-detay-perde { position: fixed; inset: 0; background: rgba(0,0,0,.68); backdrop-filter: blur(var(--blur)); display: grid; place-items: center; padding: 1.2rem; z-index: 60; }
.os-detay-perde.gizle { display: none; }
.os-detay { position: relative; background-color: var(--bg); background-image: linear-gradient(var(--bg-card), var(--bg-card)); border: 1px solid var(--border-hi); border-radius: 16px; padding: 1.5rem 1.6rem 1.7rem; width: min(690px, 100%); max-height: 93vh; overflow-y: auto; overscroll-behavior: contain; }
.os-kapat { position: absolute; top: .9rem; right: 1rem; background: none; border: none; color: var(--text-faint); font-size: 1rem; line-height: 1; padding: .3rem; }
.os-kapat:hover { color: var(--text); }
.os-d-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.4rem; margin-bottom: 1.1rem; padding-right: 1.4rem; }
.os-d-ad { font-family: var(--font-display); font-size: 1.32rem; letter-spacing: -.02em; }
.os-d-grafik { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 12px; padding: .85rem .9rem .6rem; margin-bottom: 1.05rem; }
.os-eksen { display: flex; justify-content: space-between; font-size: .66rem; color: var(--text-faint); margin-top: .3rem; font-variant-numeric: tabular-nums; }
.os-spot-et { color: var(--altin); }
.os-d-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)); gap: .5rem; margin-bottom: 1.15rem; }
.os-oz { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .55rem .65rem; }
.os-oz span { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: .07em; color: var(--text-faint); margin-bottom: .22rem; }
.os-oz b { font-size: .92rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.os-kar { color: var(--yesil); }
.os-zarar { color: var(--kirmizi); }
.os-sinirsiz { color: var(--altin); }
.os-sinirsiz.os-riskli { color: var(--kirmizi); }
.os-d-bas { font-size: .64rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-faint); margin: 1.1rem 0 .45rem; }
.os-bacak-tablo { width: 100%; border-collapse: collapse; font-size: .8rem; }
.os-bacak-tablo th { text-align: left; font-size: .62rem; text-transform: uppercase; letter-spacing: .07em; color: var(--text-faint); padding: .3rem .5rem .35rem 0; border-bottom: 1px solid var(--border); font-weight: 500; }
.os-bacak-tablo td { padding: .48rem .5rem .48rem 0; border-bottom: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.os-bacak-tablo tr:last-child td { border-bottom: none; }
.os-yon { font-weight: 700; font-size: .72rem; }
.os-yon.al { color: var(--yesil); }
.os-yon.sat { color: var(--kirmizi); }
.os-metin { font-size: .82rem; color: var(--text-dim); line-height: 1.6; margin: 0; }
.os-metin.os-risk { color: var(--text-faint); }
.os-not-zaman { font-size: .74rem; color: var(--text-faint); line-height: 1.6; background: color-mix(in srgb, var(--altin) 7%, transparent); border: 1px solid color-mix(in srgb, var(--altin) 24%, transparent); border-radius: 10px; padding: .6rem .75rem; margin-top: 1rem; }
.os-d-alt { margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.os-kur { font-size: .84rem; color: var(--accent); }
.os-kur:hover { text-decoration: underline; }

/* ---- Opsiyon Stratejileri detay panelinin alt bolumleri (2026-08-25).
   Muzaffer: "menu biraz daha asagiya dogru gitsin" + "grafigin altini da
   doldursun" - teknik aciklama, yapi metni ve kural tablosu eklendi. ---- */
.os-metin + .os-d-bas { margin-top: 1.35rem; }
.os-mantik { font-size: .855rem; line-height: 1.72; color: var(--text-dim); }
.os-mantik b { color: var(--text); font-weight: 620; }
.os-bacak-tablo caption { caption-side: bottom; text-align: left; font-size: .68rem; color: var(--text-faint); padding-top: .5rem; }

/* ---- Yeni Umay sohbet balonu (2026-08-27). Sag alt kose - sayfalara
   dokunmaz, tek kapi. ---- */
#umay-balon-kok { position: fixed; right: 1.15rem; bottom: 1.15rem; z-index: 80; }
#umay-balon-dugme { width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #000)); color: #fff; font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; border: 1px solid var(--border-hi); box-shadow: 0 6px 22px rgba(0,0,0,.45); cursor: pointer; transition: transform .15s; }
#umay-balon-dugme:hover { transform: scale(1.07); }
#umay-balon-panel { position: absolute; right: 0; bottom: 64px; width: min(400px, calc(100vw - 2rem)); height: min(560px, calc(100vh - 7rem)); display: flex; flex-direction: column; background-color: var(--bg); background-image: linear-gradient(var(--bg-card), var(--bg-card)); border: 1px solid var(--border-hi); border-radius: 16px; box-shadow: 0 14px 44px rgba(0,0,0,.5); overflow: hidden; }
#umay-balon-panel.gizle { display: none; }
.ub-baslik { display: flex; align-items: center; justify-content: space-between; padding: .8rem 1rem; border-bottom: 1px solid var(--border); }
.ub-baslik b { font-family: var(--font-display); font-size: 1rem; }
.ub-baslik small { display: block; color: var(--text-faint); font-size: .66rem; margin-top: .1rem; }
.ub-baslik-dugmeler { display: flex; gap: .45rem; align-items: center; }
#ub-grok { font-size: .7rem; padding: .32rem .55rem; border: 1px solid var(--border); border-radius: 8px; color: var(--text-dim); background: var(--bg-card-hi); }
#ub-grok:hover { border-color: var(--border-hi); color: var(--text); }
#ub-kapat { color: var(--text-faint); font-size: .95rem; padding: .25rem .4rem; background: none; border: none; }
#ub-kapat:hover { color: var(--text); }
.ub-mesajlar { flex: 1; overflow-y: auto; padding: .9rem; display: flex; flex-direction: column; gap: .55rem; }
.ub-mesaj { max-width: 88%; padding: .55rem .75rem; border-radius: 12px; font-size: .84rem; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
.ub-mesaj.umay { background: var(--bg-card-hi); border: 1px solid var(--border); align-self: flex-start; border-bottom-left-radius: 4px; }
.ub-mesaj.sen { background: color-mix(in srgb, var(--accent) 22%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); align-self: flex-end; border-bottom-right-radius: 4px; }
.ub-dusunuyor { color: var(--text-faint); font-style: italic; animation: ub-nabiz 1.2s ease-in-out infinite; }
@keyframes ub-nabiz { 50% { opacity: .45; } }
.ub-hata { color: var(--kirmizi); }
.ub-giris { display: flex; gap: .5rem; padding: .7rem .8rem; border-top: 1px solid var(--border); }
#ub-metin { flex: 1; resize: none; background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 10px; padding: .5rem .65rem; color: var(--text); font: inherit; font-size: .84rem; outline: none; }
#ub-metin:focus { border-color: var(--accent); }
#ub-gonder { padding: .5rem .9rem; border-radius: 10px; background: var(--accent); color: #fff; font-weight: 600; font-size: .82rem; border: none; }
#ub-gonder:disabled { opacity: .5; }
@media (max-width: 640px) { #umay-balon-panel { bottom: 60px; height: min(480px, calc(100vh - 6rem)); } }

/* Umay balonu markdown ogeleri (2026-08-27) */
.ub-mesaj .ub-madde { margin: .15rem 0 .15rem .2rem; }
.ub-mesaj code { background: rgba(255,255,255,.1); padding: .05rem .3rem; border-radius: 4px; font-size: .8em; }
.ub-mesaj b { font-weight: 650; }

/* ---- Adil Değer Panosu (2026-08-27) ---- */
.ad-kaynak-secim { display: flex; gap: .5rem; margin-bottom: 1.1rem; }
.ad-kaynak-btn { padding: .5rem 1rem; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-card); color: var(--text-dim); font-size: .84rem; font-weight: 600; }
.ad-kaynak-btn:hover { border-color: var(--border-hi); color: var(--text); }
.ad-kaynak-btn.aktif { background: color-mix(in srgb, var(--accent) 18%, transparent); border-color: var(--accent); color: var(--text); }
.ad-ozet { padding: 1.1rem 1.3rem; margin-bottom: 1.3rem; }
.ad-ozet-bas { font-size: 1.02rem; margin-bottom: .35rem; }
.ad-nokta { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: .5rem; vertical-align: middle; }
.ad-nokta.pozitif { background: var(--yesil); } .ad-nokta.uyari { background: var(--kirmizi); } .ad-nokta.notr { background: var(--altin); }
.ad-ozet-alt { font-size: .8rem; color: var(--text-dim); margin-bottom: 1rem; }
.ad-skala { position: relative; height: 34px; margin: .5rem 0 1rem; }
.ad-skala-cizgi { position: absolute; top: 16px; left: 0; right: 0; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--kirmizi), var(--altin) 50%, var(--yesil)); opacity: .5; }
.ad-skala-nokta { position: absolute; top: 10px; width: 16px; height: 16px; border-radius: 50%; background: var(--text); border: 3px solid var(--bg); transform: translateX(-50%); }
.ad-skala-sol, .ad-skala-orta, .ad-skala-sag { position: absolute; top: 24px; font-size: .66rem; color: var(--text-faint); }
.ad-skala-sol { left: 0; } .ad-skala-orta { left: 50%; transform: translateX(-50%); } .ad-skala-sag { right: 0; }
.ad-cipler { display: flex; flex-wrap: wrap; gap: .5rem; }
.ad-cip { font-size: .74rem; padding: .3rem .6rem; border-radius: 8px; border: 1px solid var(--border); }
.ad-cip.pozitif { color: var(--yesil); } .ad-cip.uyari { color: var(--kirmizi); } .ad-cip.notr { color: var(--altin); } .ad-cip.bilgi { color: var(--text-dim); }
.ad-kadran-sarmal { margin-bottom: 1.4rem; }
.ad-kadran-kutu { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; padding: .6rem; overflow-x: auto; }
.ad-svg { width: 100%; min-width: 560px; height: auto; display: block; }
.ad-kadran-aciklama { font-size: .74rem; color: var(--text-dim); line-height: 1.6; margin-top: .5rem; }
.ad-tablo-sarmal { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; }
.ad-tablo { width: 100%; border-collapse: collapse; font-size: .82rem; min-width: 780px; }
.ad-tablo th { text-align: right; padding: .6rem .7rem; font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-faint); border-bottom: 1px solid var(--border); font-weight: 600; white-space: nowrap; }
.ad-tablo th:first-child { text-align: left; }
.ad-tablo td { text-align: right; padding: .55rem .7rem; border-bottom: 1px solid var(--border); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ad-tablo tr:last-child td { border-bottom: none; }
.ad-tablo tbody tr:hover { background: rgba(255,255,255,.03); }
.ad-tk { text-align: left !important; font-weight: 700; font-family: var(--font-data); }
.ad-bos { color: var(--text-faint); font-style: italic; font-size: .76rem; }
.ad-pt-rozet { font-size: .6rem; background: color-mix(in srgb, var(--altin) 22%, transparent); color: var(--altin); padding: .1rem .3rem; border-radius: 4px; font-weight: 700; }
.ad-bayat { font-size: .58rem; background: rgba(255,255,255,.08); color: var(--text-faint); padding: .1rem .3rem; border-radius: 4px; }
.ad-tc-et { font-size: .68rem; color: var(--text-faint); }
.ad-mini { vertical-align: middle; }
.ad-vurgu { background: color-mix(in srgb, var(--accent) 15%, transparent) !important; }
.ad-dipnot { font-size: .74rem; color: var(--text-faint); line-height: 1.7; margin-top: .7rem; padding: .8rem 1rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; }
.ad-dipnot i { color: var(--text-dim); font-style: italic; }
.ad-yeni { font-size: .58rem; background: color-mix(in srgb, #5b8def 22%, transparent); color: #5b8def; padding: .1rem .3rem; border-radius: 4px; }

/* ---- IBKR kimlik formu (2026-08-28) - eski Umay'daki gibi kullanici adi + sifre ---- */
.ib-kayitli { font-size: .78rem; color: var(--text-dim); margin: .2rem 0 .8rem; }
.ib-kayitli b { color: var(--text); font-family: var(--font-data); }
.ib-mod-secim { display: flex; gap: .4rem; margin-bottom: .7rem; }
.ib-mod-btn { padding: .42rem .9rem; border: 1px solid var(--border); border-radius: 9px; background: var(--bg-card-hi); color: var(--text-dim); font-size: .8rem; font-weight: 600; }
.ib-mod-btn.aktif { background: color-mix(in srgb, var(--accent) 18%, transparent); border-color: var(--accent); color: var(--text); }
.ib-mod-btn[data-mod="live"].aktif { background: color-mix(in srgb, var(--kirmizi) 18%, transparent); border-color: var(--kirmizi); }
.ib-canli-uyari { font-size: .8rem; color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 10%, transparent); border: 1px solid color-mix(in srgb, var(--kirmizi) 35%, transparent); border-radius: 9px; padding: .55rem .8rem; margin-bottom: .7rem; }
.ib-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: .5rem; align-items: stretch; }
@media (max-width: 700px) { .ib-form { grid-template-columns: 1fr; } }
.ib-form input { background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 9px; padding: .55rem .75rem; color: var(--text); font: inherit; font-size: .86rem; outline: none; }
.ib-form input:focus { border-color: var(--accent); }
.ib-giris-izleme { margin-top: .7rem; font-size: .78rem; color: var(--text-dim); background: var(--bg-card-hi); border: 1px solid var(--border); border-radius: 9px; padding: .6rem .8rem; line-height: 1.55; }
.ib-giris-izleme.ok { border-color: var(--yesil); color: var(--yesil); }
.ib-giris-izleme pre { margin: .4rem 0 0; font-size: .68rem; color: var(--text-faint); white-space: pre-wrap; max-height: 160px; overflow: auto; }

/* ---- Cikis (2026-08-29) ----
   Muzaffer: "sayfaya bir Cikis butonu koyman gerekiyor, cikabilecegim bir
   yer yok." Giris 2FA'li ama cikis icin hicbir arayuz yoktu - /cikis rotasi
   vardi, sadece tiklanacak yer yoktu.
   Menunun EN ALTINDA, digerlerinden bir cizgiyle ayrilmis duruyor; ustune
   gelince kirmizilasir cunku oturumu sonlandiran bir eylem (2FA nedeniyle
   geri donmek e-posta kodu gerektirir - yanlislikla basilmasi ucuz degil,
   o yuzden ayrica onay sorulur). */
.proto-cikis-alani {
  border-top: 1px solid var(--border);
  /* Menu uzun ve kayiyor (.proto-nav overflow-y:auto). Ilk denemede cikis
     y=1797'de kaliyordu - kullanicinin menuyu en dibe kadar kaydirmasi
     gerekiyordu. "Cikabilecegim bir yer yok" diyen birine gomulu buton
     cozum degil, o yuzden menunun ALTINA YAPISTIRILDI.

     IKI INCELIK (ikisi de gorsel testte yakalandi):
     1) Arka plan TAM OPAK olmali. var(--bg-card) yari saydam
        (rgba(...,.06)) - altindan gecen menu ogeleri seridin icinden
        okunuyordu. Iki katmanli background ile kart tonu OPAK --bg
        uzerine bindiriliyor; tema degiskenleriyle calismaya devam eder.
     2) Kapsayicinin padding-bottom'u 2rem. "bottom: 0" seridi padding
        kutusunun tepesine yapistirip altta 2rem'lik bir aralik birakiyor;
        "bottom: -2rem" ile gercek dibe iniyor, alt padding de o kadar
        artirilarak yazinin kesilmesi onleniyor. */
  position: sticky; bottom: -2rem; z-index: 2;
  margin-top: 1.1rem;
  padding: .7rem 0 2.3rem;
  background: linear-gradient(var(--bg-card), var(--bg-card)), var(--bg);
}
.proto-nav-oge.proto-cikis { color: var(--text-faint); }
.proto-nav-oge.proto-cikis:hover {
  background: color-mix(in srgb, var(--kirmizi) 12%, transparent);
  color: var(--kirmizi);
}
.proto-nav-oge.proto-cikis .ikon { opacity: .9; }


/* --- UMAY SES (2026-08-29) ---
   Konusma/dinleme dugmeleri. Tarayici desteklemiyorsa JS bunlari DOM'dan
   kaldiriyor; burada yalnizca gorunum var. */
.ub-oku {
  display: inline-block;
  margin-left: .4rem;
  padding: 0 .25rem;
  border: none;
  background: none;
  color: var(--text-faint);
  font-size: .82rem;
  line-height: 1;
  cursor: pointer;
  opacity: .45;
  transition: opacity .12s, color .12s;
  vertical-align: middle;
}
.ub-mesaj:hover .ub-oku { opacity: .9; }
.ub-oku:hover { color: var(--vurgu, #6c5ce7); opacity: 1; }
.ub-oku.okuyor {
  opacity: 1;
  color: var(--vurgu, #6c5ce7);
  animation: ub-nabiz 1.1s ease-in-out infinite;
}
@keyframes ub-nabiz {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.18); }
}
#ub-otomatik-ses.acik { color: var(--vurgu, #6c5ce7); }
#ub-mikrofon {
  border: none;
  background: none;
  color: var(--text-faint);
  font-size: 1rem;
  cursor: pointer;
  padding: 0 .35rem;
  transition: color .12s;
}
#ub-mikrofon:hover { color: var(--vurgu, #6c5ce7); }
#ub-mikrofon.dinliyor {
  color: var(--kirmizi, #ff6b81);
  animation: ub-nabiz .9s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .ub-oku.okuyor, #ub-mikrofon.dinliyor { animation: none; }
}


/* --- KONUSMA MODU SERIDI (2026-08-29 v2) ---
   Telefon gorusmesi gibi surekli konusma: kullanici hangi asamada
   oldugunu ANLAMALI, yoksa "duydu mu, dusunuyor mu?" belirsizligi
   konusmayi bozar. Renk + nabiz o yuzden var. */
#ub-konusma-serit.gizle { display: none; }
.ub-serit {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .7rem;
  font-size: .76rem;
  border-bottom: 1px solid var(--cizgi, #2a2f45);
  background: color-mix(in srgb, var(--vurgu, #6c5ce7) 10%, transparent);
}
.ub-serit .ub-nokta {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--vurgu, #6c5ce7);
  flex: none;
}
.ub-serit.dinliyor  { background: color-mix(in srgb, var(--kirmizi, #ff6b81) 12%, transparent); }
.ub-serit.dinliyor .ub-nokta { background: var(--kirmizi, #ff6b81); animation: ub-nabiz 1s infinite; }
.ub-serit.dusunuyor .ub-nokta { background: var(--altin, #f6c945); animation: ub-nabiz 1.6s infinite; }
.ub-serit.konusuyor { background: color-mix(in srgb, var(--yesil, #2ecc71) 12%, transparent); }
.ub-serit.konusuyor .ub-nokta { background: var(--yesil, #2ecc71); animation: ub-nabiz .8s infinite; }
.ub-serit.hata .ub-nokta { background: var(--kirmizi, #ff6b81); animation: none; }
#ub-konusma-durum { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ub-konusma-bitir {
  border: 1px solid var(--cizgi, #2a2f45);
  background: none; color: var(--text-dim);
  border-radius: 6px; padding: .1rem .5rem; font-size: .7rem; cursor: pointer;
}
#ub-konus.acik { color: var(--kirmizi, #ff6b81); animation: ub-nabiz 1.2s infinite; }

/* Ses secici */
#ub-ses-panel {
  position: absolute; right: .6rem; top: 3rem; z-index: 5;
  background: var(--panel, #171a2b);
  border: 1px solid var(--cizgi, #2a2f45);
  border-radius: 10px; padding: .6rem .7rem;
  max-width: 260px; font-size: .76rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
}
.ub-ses-baslik { font-weight: 700; margin-bottom: .4rem; }
.ub-ses-oge { display: block; padding: .18rem 0; cursor: pointer; }
.ub-ses-bos { color: var(--text-dim); line-height: 1.5; }
.ub-ses-dene {
  margin-top: .5rem; width: 100%;
  border: 1px solid var(--cizgi, #2a2f45); background: none;
  color: var(--text-ana); border-radius: 6px; padding: .25rem; cursor: pointer;
}
#ub-ses-sec { border: none; background: none; color: var(--text-faint); cursor: pointer; font-size: .9rem; }

/* Opsiyon combo gruplari (2026-08-31). Muzaffer: "Bu MSTR bir Combo urun
   ama NVIDIA aralarina girmis gibi duruyor." Bacaklar artik tek bir yapinin
   altinda; ustte yapinin NET ozeti var - tek bacagi ayri okumak yaniltir. */
.kp-ops-grup {
  border: 1px solid var(--border); border-radius: 14px;
  padding: .7rem .85rem; margin-top: .8rem;
  background: linear-gradient(165deg, var(--bg-card) 0%, var(--bg-card-hi) 130%);
}
.kp-ops-grup-ust {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: .5rem;
}
.kp-ops-baslik { font-weight: 700; font-size: .95rem; color: var(--text); }
.kp-ops-rozet {
  margin-left: .5rem; padding: .12rem .45rem; border-radius: 999px;
  font-size: .58rem; font-weight: 800; letter-spacing: .06em;
  background: color-mix(in srgb, var(--accent) 26%, transparent); color: var(--accent);
}
.kp-ops-vade { margin-left: .5rem; font-size: .68rem; color: var(--text-faint); }
.kp-ops-ozet {
  display: flex; gap: 1rem; flex-wrap: wrap;
  font-size: .74rem; color: var(--text-dim); font-variant-numeric: tabular-nums;
}
.kp-ops-ozet b { color: var(--text); font-family: var(--font-data); }
.kp-ops-ozet .pozitif b { color: var(--yesil); }
.kp-ops-ozet .negatif b { color: var(--kirmizi); }

/* Islem Gecmisi bolum basliklari (2026-08-31) - hisse ve opsiyon ayri
   tablolarda; ayni sutunlarda gostermek iki veriyi de yaniltici kilardi. */
.ig-bolum-baslik {
  font-weight: 700; font-size: .9rem; color: var(--text);
  margin: 0 0 .6rem; padding-bottom: .35rem;
  border-bottom: 1px solid var(--border);
}

/* Acik Emirler paneli (2026-08-31, Faz B). Iki emir sayfasinda da ayni
   dosya calisiyor - iki kopya tutmak birinin unutulmasi demekti. */
.ae-baslik {
  display: flex; align-items: baseline; justify-content: space-between;
  font-weight: 700; font-size: .9rem; color: var(--text); margin-bottom: .6rem;
}
.ae-baslik span { font-weight: 400; font-size: .7rem; color: var(--text-faint); }
.ae-bos { color: var(--text-dim); font-size: .82rem; line-height: 1.6; }
.ae-uyari {
  font-size: .72rem; color: var(--altin); margin-bottom: .5rem;
  background: color-mix(in srgb, var(--altin) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--altin) 32%, var(--border));
  border-radius: 9px; padding: .4rem .6rem;
}
.ae-liste { display: flex; flex-direction: column; }
.ae-satir {
  display: flex; align-items: center; justify-content: space-between;
  gap: .8rem; flex-wrap: wrap;
  padding: .5rem 0; border-top: 1px solid var(--border);
}
.ae-satir:first-child { border-top: none; }
.ae-kimlik { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ae-ad { font-family: var(--font-data); font-weight: 600; color: var(--text); font-size: .82rem; }
.ae-yon {
  padding: .1rem .4rem; border-radius: 6px; font-size: .6rem; font-weight: 800;
  letter-spacing: .04em;
}
.ae-yon.al { background: color-mix(in srgb, var(--yesil) 24%, transparent); color: var(--yesil); }
.ae-yon.sat { background: color-mix(in srgb, var(--kirmizi) 24%, transparent); color: var(--kirmizi); }
.ae-durum { font-size: .68rem; color: var(--text-faint); }
.ae-degerler { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.ae-degerler label { font-size: .66rem; color: var(--text-faint); }
.ae-degerler input {
  width: 82px; margin-left: .25rem; background: var(--bg-card);
  border: 1px solid var(--border); color: var(--text); border-radius: 7px;
  padding: .22rem .35rem; font-family: var(--font-data); font-size: .76rem;
}
.ae-btn {
  background: var(--bg-card); border: 1px solid var(--border); color: var(--text-dim);
  border-radius: 8px; padding: .28rem .6rem; font-size: .72rem;
  font-family: inherit; cursor: pointer; transition: .14s;
}
.ae-btn:hover { color: var(--text); border-color: var(--border-hi); }
.ae-btn:disabled { opacity: .55; cursor: default; }
.ae-btn.ae-iptal { color: var(--kirmizi); border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--border)); }
.ae-mesaj { font-size: .66rem; color: var(--text-faint); padding: 0 0 .4rem; }
.ae-sonuc { font-size: .76rem; margin-top: .6rem; min-height: 1.1em; }
.ae-sonuc.iyi { color: var(--yesil); }
.ae-sonuc.kotu { color: var(--kirmizi); }

/* ===== PİYASA SAYACI (2026-09-04) — her sayfada, marka bloğunun altında ===== */
/* 2026-09-04 (2. tur) - Muzaffer: "bunu daha guzel bir kozmetikle,
   daha belirgin yapabilir miyiz". Onceki hal tek duz, silik bir satirdi
   ("Acilisa 3g 17sa") ve gozden kaciyordu. Uc degisiklik:
     1. ETIKET ile SURE ayrildi - kucuk buyuk harf etiket ustte, sure
        altta buyuk ve tabular. Rakam artik ilk okunan sey.
     2. Durum RENKLE anlatiliyor: seans acikken yesil serit + yesil nabiz,
        kapaliyken sakin gri. Nokta tek basina tasiyordu, artik rozetin
        kendisi soyluyor.
     3. Sol kenarda 3px'lik bir serit - menude dikey bir cizgi olarak
        okunuyor, yer kaplamiyor.
   Yukseklik onceki halden ~10px fazla; menu zaten kaydirmali, sayfayi
   asagi itmiyor. */
.ups-rozet { position: relative; display: flex; align-items: center; gap: .55rem;
  margin: .3rem .9rem .8rem; padding: .5rem .7rem; border-radius: 10px; cursor: pointer;
  color: var(--text-dim); user-select: none;
  background: color-mix(in srgb, var(--panel2, #1b1b28) 82%, transparent);
  border: 1px solid var(--border);
  border-left: 3px solid var(--text-faint);
  transition: border-color .18s, background .18s, color .18s; }
.ups-rozet.seans-acik { border-left-color: var(--yesil);
  background: color-mix(in srgb, var(--yesil) 9%, var(--panel2, #1b1b28)); }
.ups-rozet.seans-kapali { border-left-color: var(--text-faint); }
.ups-rozet:hover, .ups-rozet.acik-detay { border-color: var(--accent); color: var(--text); }
.ups-rozet:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ups-nokta { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto;
  background: var(--text-faint); }
.ups-nokta.acik { background: var(--yesil); box-shadow: 0 0 7px var(--yesil);
  animation: upsNabiz 2.6s ease-in-out infinite; }
.ups-nokta.kapali { background: var(--text-faint); box-shadow: none; }
@keyframes upsNabiz { 0%, 100% { opacity: 1; } 50% { opacity: .5; } }
@media (prefers-reduced-motion: reduce) { .ups-nokta.acik { animation: none; } }
.ups-yazi { display: flex; flex-direction: column; gap: .1rem; line-height: 1.15; min-width: 0; }
.ups-etiket { font-size: .62rem; letter-spacing: .07em; text-transform: uppercase;
  color: var(--text-faint); font-weight: 600; }
.ups-sure { font-size: .92rem; font-weight: 650; color: var(--text);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.ups-rozet.seans-acik .ups-sure { color: var(--yesil); }
.ups-detay { position: absolute; top: calc(100% + .35rem); left: 0; z-index: 60;
  width: max(240px, 100%); padding: .7rem .8rem; border-radius: 10px; cursor: default;
  background: var(--panel, #14141f); border: 1px solid var(--border-hi, var(--border));
  box-shadow: 0 8px 24px rgba(0,0,0,.45); font-size: .74rem; line-height: 1.55; color: var(--text-dim); }
.ups-detay > div { margin-bottom: .25rem; }
.ups-detay-baslik { font-weight: 700; color: var(--text); margin-bottom: .4rem; }
.ups-uyari { color: var(--altin); }
.ups-soluk { color: var(--text-faint); }
.ups-sinir { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--border);
  color: var(--text-faint); font-size: .69rem; }

/* ETF sayfasi emir dugmeleri (2026-09-06, 7. madde) - ETF'ler artik
   listeden ve detay penceresinden dogrudan alinip satilabiliyor. */
.etf-satir-emir { display: flex; gap: .4rem; align-items: center; flex-shrink: 0; }
.etf-modal-eylem { display: flex; gap: .55rem; align-items: center; }

/* PMI otomatik getirme (2026-09-06) — değerler kaynak cümlesiyle gösterilir */
.mk-oto-kutu { border-color: var(--accent); }
.mk-oto-eylem { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin: .7rem 0; }
.mk-oto-tara { background: var(--accent); color: #05050a; border: none; border-radius: 8px;
  padding: .45rem 1rem; font-weight: 700; font-size: .78rem; cursor: pointer; }
.mk-oto-tara:disabled { opacity: .55; cursor: default; }
.mk-oto-durum { font-size: .72rem; color: var(--text-faint); }
.mk-oto-durum.basarili { color: var(--yesil); }
.mk-oto-durum.hatali { color: var(--kirmizi); }
.mk-oto-liste { display: flex; flex-direction: column; gap: .55rem; margin-top: .6rem; }
.mk-oto-bulgu { border: 1px solid var(--border); border-left: 3px solid var(--yesil);
  border-radius: 9px; padding: .6rem .8rem; background: var(--bg-card-hi); }
.mk-oto-bulgu.bayat { border-left-color: var(--altin); }
.mk-oto-ust { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.mk-oto-ad { font-weight: 700; font-size: .8rem; }
.mk-oto-donem { font-size: .72rem; color: var(--text-faint); }
.mk-oto-rozet { font-size: .64rem; border-radius: 5px; padding: .1rem .4rem;
  border: 1px solid var(--border); color: var(--text-faint); }
.mk-oto-rozet.uyari { color: var(--altin); border-color: var(--altin); }
.mk-oto-rozet.ayni { color: var(--yesil); border-color: var(--yesil); }
.mk-oto-orta { display: flex; align-items: baseline; gap: .8rem; margin: .35rem 0 .25rem; }
.mk-oto-deger { font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.mk-oto-onceki { font-size: .72rem; color: var(--text-faint); }
.mk-oto-kaydet { margin-left: auto; background: var(--yesil); color: #05050a; border: none;
  border-radius: 7px; padding: .3rem .8rem; font-size: .72rem; font-weight: 700; cursor: pointer; }
.mk-oto-kaydet:disabled { opacity: .5; cursor: default; }
.mk-oto-kanit { font-size: .73rem; line-height: 1.5; color: var(--text); font-style: italic;
  border-left: 2px solid var(--border); padding-left: .6rem; margin: .3rem 0 .35rem; }
.mk-oto-alt { font-size: .66rem; color: var(--text-faint); }
.mk-oto-toplu { margin-top: .6rem; }
.mk-oto-hepsi { background: transparent; color: var(--accent); border: 1px solid var(--accent);
  border-radius: 7px; padding: .35rem .9rem; font-size: .73rem; font-weight: 700; cursor: pointer; }
.mk-oto-eksik, .mk-oto-notlar { font-size: .71rem; color: var(--text-faint); margin-top: .6rem;
  border-top: 1px solid var(--border); padding-top: .5rem; }
.mk-oto-notlar ul { margin: .3rem 0 0; padding-left: 1.1rem; }
.mk-oto-notlar li { margin-bottom: .25rem; line-height: 1.5; }
.mk-oto-zaman { font-size: .66rem; color: var(--text-faint); margin-top: .5rem; }
.mk-oto-pdf { margin-top: .9rem; border-top: 1px dashed var(--border); padding-top: .7rem; }
.mk-oto-pdf-baslik { font-size: .76rem; font-weight: 700; margin-bottom: .35rem; }
.mk-oto-adimlar { font-size: .72rem; color: var(--text-faint); line-height: 1.6;
  margin: .2rem 0 .5rem; padding-left: 1.2rem; }
.mk-oto-adimlar b { color: var(--text); }

/* Admin paneli - onay bekleyen sayfalar (2026-09-07).
   Muzaffer'in karari: yeni sayfalar admin onaylayana kadar kapali kalir.
   Kapali kalmak zaten varsayilandi; eksik olan GORUNURLUKTU - Karne
   sayfasi eklendiginde uyenin menusunde sessizce yok kalmisti. */
.admin-bekleyen-rozet {
  display: inline-block; margin-top: .28rem; padding: .12rem .42rem;
  font-size: .62rem; border-radius: 999px; white-space: nowrap;
  color: var(--altin); border: 1px solid var(--altin);
}
.admin-bekleyen-uyari {
  margin-bottom: .85rem; padding: .6rem .75rem; font-size: .74rem;
  line-height: 1.55; color: var(--text-dim);
  border-left: 2px solid var(--altin); background: var(--bg-card);
  border-radius: 0 8px 8px 0;
}
.admin-satir-yeni { background: var(--bg-card-hi); }
.admin-yeni-etiket {
  margin-left: .35rem; padding: .05rem .35rem; font-size: .6rem;
  border-radius: 999px; color: var(--altin); border: 1px solid var(--altin);
}

/* ---------------- LEAPSFlow (2026-09-07) ----------------
   Tasarım kararı: bu sayfada en görünür sayı prim DEĞİL, "gereken
   hareket". Uzun vadeli bir opsiyon, bir seviyeye ve bir tarihe
   yapılmış bahistir; primin büyüklüğü tek başına bunu anlatmaz. */
.lf-manset { margin-bottom: 1.3rem; }
.lf-manset-ust { display: flex; align-items: flex-end; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; }
.lf-baslik { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.lf-alt { color: var(--text-faint); font-size: .8rem; margin-top: .25rem; }
.lf-esik-kutu { display: flex; align-items: center; gap: .5rem; }
.lf-esik-kutu label { font-size: .72rem; color: var(--text-faint); }
.lf-esik-kutu select { background: var(--bg-card-hi); color: var(--text);
  border: 1px solid var(--border); border-radius: 8px; padding: .35rem .6rem; font-size: .78rem; }

.lf-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .7rem; margin-top: 1rem; }
.lf-kutu { background: var(--bg-card-hi); border: 1px solid var(--border);
  border-radius: 11px; padding: .75rem .9rem; }
.lf-kutu-etiket { font-size: .68rem; color: var(--text-faint); text-transform: uppercase;
  letter-spacing: .04em; }
.lf-kutu-deger { font-size: 1.35rem; font-weight: 800; margin-top: .2rem;
  font-variant-numeric: tabular-nums; }
.lf-kutu-deger.soluk { color: var(--text-faint); }
.lf-kutu-alt { font-size: .7rem; color: var(--text-faint); margin-top: .15rem; }

.lf-uyari { margin-top: .9rem; border: 1px solid var(--altin); border-radius: 10px;
  background: color-mix(in srgb, var(--altin) 8%, transparent);
  padding: .7rem .9rem; font-size: .75rem; line-height: 1.6; }

.lf-tablo td, .lf-tablo th { vertical-align: top; }
.lf-tablo .sag { text-align: right; }
.lf-mini { font-size: .67rem; color: var(--text-faint); margin-top: .12rem; }
.lf-ticker { cursor: pointer; border-bottom: 1px dotted var(--accent); }
.lf-ticker:hover { color: var(--accent); }

.lf-tip { font-size: .64rem; font-weight: 800; border-radius: 5px; padding: .12rem .4rem; }
.lf-tip.call { background: color-mix(in srgb, var(--yesil) 18%, transparent); color: var(--yesil); }
.lf-tip.put { background: color-mix(in srgb, var(--kirmizi) 18%, transparent); color: var(--kirmizi); }

/* Gereken hareket: yakın = ulaşılabilir, uzak = iddialı bahis. */
.lf-yakin b { color: var(--yesil); }
.lf-orta b { color: var(--altin); }
.lf-uzak b { color: var(--kirmizi); }

.lf-rozet { display: inline-block; font-size: .63rem; border-radius: 5px; padding: .1rem .4rem;
  border: 1px solid var(--border); color: var(--text-faint); margin-right: .25rem; }
.lf-rozet.alis { color: var(--yesil); border-color: var(--yesil); }
.lf-rozet.satis { color: var(--kirmizi); border-color: var(--kirmizi); }
.lf-rozet.sweep { color: var(--altin); border-color: var(--altin); }

.lf-vade-liste { display: flex; flex-direction: column; gap: .55rem; margin-top: .3rem; }
.lf-vade-ust { display: flex; align-items: baseline; gap: .6rem; }
.lf-vade-prim { margin-left: auto; font-variant-numeric: tabular-nums; }
.lf-cubuk { height: 6px; background: var(--bg-card); border-radius: 3px;
  overflow: hidden; margin-top: .3rem; }
.lf-cubuk-ic { height: 100%; background: var(--accent); border-radius: 3px; }

.lf-oi-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .7rem; margin-top: .3rem; }
.lf-oi-kart { border: 1px solid var(--border); border-radius: 10px; padding: .7rem .85rem;
  background: var(--bg-card-hi); }
.lf-oi-ust { display: flex; align-items: baseline; gap: .5rem; margin-bottom: .45rem; }
.lf-oi-satir { display: grid; grid-template-columns: 1fr auto auto; gap: .6rem;
  font-size: .78rem; padding: .2rem 0; font-variant-numeric: tabular-nums; }
.lf-oi-satir span:first-child { color: var(--text-faint); }

.lf-iki-sutun { display: grid; grid-template-columns: 1fr 1.15fr; gap: 1.4rem; }
.lf-alt-baslik { font-size: .8rem; font-weight: 700; margin-bottom: .5rem; }
@media (max-width: 900px) { .lf-iki-sutun { grid-template-columns: 1fr; } }

.lf-dipnot { margin-top: 1.2rem; border: 1px solid var(--border); border-radius: 11px;
  padding: .8rem 1rem; background: var(--bg-card-hi); }
.lf-dipnot summary { cursor: pointer; font-size: .82rem; }
.lf-dipnot ul { margin: .7rem 0 .4rem; padding-left: 1.1rem; }
.lf-dipnot li { font-size: .74rem; line-height: 1.65; margin-bottom: .4rem; color: var(--text-faint); }
.lf-dipnot li b { color: var(--text); }

/* ---------------- Keşif Radarı (2026-09-07) ----------------
   Merkezde momentum değil ASİMETRİ var: prim / şirket büyüklüğü.
   Skor tek sayıya gömülmez; üç bileşeni de açılabilir. */
.kr-manset { margin-bottom: 1.2rem; }
.kr-manset-ust { display: flex; align-items: flex-end; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; }
.kr-baslik { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.kr-alt { color: var(--text-faint); font-size: .8rem; margin-top: .25rem; }
.kr-suzgecler { display: flex; gap: .9rem; align-items: center; flex-wrap: wrap; }
.kr-anahtar { display: flex; align-items: center; gap: .35rem; font-size: .74rem;
  color: var(--text-faint); }
.kr-anahtar select { background: var(--bg-card-hi); color: var(--text);
  border: 1px solid var(--border); border-radius: 7px; padding: .25rem .45rem; font-size: .74rem; }
.kr-aciklama { margin-top: .8rem; font-size: .76rem; line-height: 1.65;
  color: var(--text-faint); border-left: 2px solid var(--border); padding-left: .8rem; }
.kr-aciklama.uyari { border-left-color: var(--altin); }
.kr-aciklama b { color: var(--text); }

.kr-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: .85rem; }
.kr-kart { border: 1px solid var(--border); border-radius: 12px; padding: .9rem 1rem;
  background: var(--bg-card-hi); }
.kr-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; }
.kr-ticker { font-size: 1.05rem; font-weight: 800; display: flex; align-items: baseline;
  gap: .5rem; flex-wrap: wrap; }
.kr-boyut { font-size: .66rem; font-weight: 600; color: var(--text-faint);
  border: 1px solid var(--border); border-radius: 5px; padding: .08rem .35rem; }
.kr-mini { font-size: .67rem; color: var(--text-faint); }
.kr-skor { text-align: right; flex: 0 0 auto; }
.kr-skor-sayi { font-size: 1.5rem; font-weight: 800; line-height: 1;
  font-variant-numeric: tabular-nums; }
.kr-yuksek .kr-skor-sayi { color: var(--yesil); }
.kr-orta .kr-skor-sayi { color: var(--altin); }
.kr-dusuk .kr-skor-sayi { color: var(--text-faint); }

.kr-olcu-satir { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem;
  margin: .8rem 0 .6rem; }
.kr-olcu b { display: block; font-size: .88rem; margin: .1rem 0; }
.kr-zayif { color: var(--altin); }

.kr-aralik { margin-bottom: .5rem; }
.kr-aralik-cizgi { position: relative; height: 5px; border-radius: 3px; margin-bottom: .25rem;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--kirmizi) 45%, transparent),
    color-mix(in srgb, var(--altin) 35%, transparent),
    color-mix(in srgb, var(--yesil) 45%, transparent)); }
.kr-aralik-cizgi i { position: absolute; top: -3px; width: 2px; height: 11px;
  background: var(--text); border-radius: 1px; transform: translateX(-1px); }

.kr-bilesen { border-top: 1px solid var(--border); padding-top: .55rem; }
.kr-bilesen summary { cursor: pointer; font-size: .73rem; color: var(--text-faint); }
.kr-bilesen-satir { display: grid; grid-template-columns: 1fr auto; gap: .4rem;
  padding: .35rem 0; border-bottom: 1px solid var(--border); font-size: .73rem; }
.kr-bilesen-satir:last-child { border-bottom: none; }
.kr-bilesen-satir b { font-variant-numeric: tabular-nums; }
.kr-bilesen-satir .kr-mini { grid-column: 1 / -1; }
