/* ============================================
   popmundo Theme V2 — Design Handoff'tan birebir
   Tüm kurallar body.theme-v2 altında.
   V1'i HİÇ etkilemez.

   Class eşlemesi (design → bizim):
   .frame         → .pm-container
   .card          → .panel, .side-menu-group
   .card-hdr      → .panel-header, .side-menu-title
   .mainnav       → .nav-tabs
   .mainnav a     → .nav-tab
   .rail-list a   → .side-menu-link
   .journal       → bizdeki günlük kart
   ============================================ */

body.theme-v2 {
  --v2-page-bg: #d0d4d9;
  --v2-frame-bg: #ecedef;
  --v2-card: #fcfdfe;
  --v2-card-edge: #cfd8e0;
  --v2-card-edge-soft: #e3e9ef;

  --v2-hdr-top: #8d9cac;
  --v2-hdr-bot: #6a7b8c;
  --v2-hdr-edge: #6a7b8c;
  --v2-hdr-text: #ffffff;

  /* Tablo başlıkları (thead) — panel header'larıyla aynı palet */
  --v2-thead-bg-top: #8d9cac;
  --v2-thead-bg-bot: #6a7b8c;
  --v2-thead-edge: #6a7b8c;
  --v2-thead-text: #ffffff;

  --v2-row-alt: #f3f6fa;
  --v2-rail-hover: #eef4f9;
  --v2-rail-active: #dfecf6;

  --v2-ink: #2d3438;
  --v2-ink-2: #4a5560;
  --v2-muted: #93a0ab;

  --v2-link: #2f7ec0;
  --v2-link-hover: #1e5a93;
  --v2-active: #1f3a52;
  --v2-warn: #e58a2e;

  --v2-bar-bg: #d9dde2;
  --v2-bar-edge: #b9c3cc;
  --v2-bar-red:    #c44a3f;
  --v2-bar-blue:   #5b9bd5;
  --v2-bar-green:  #5fae37;
  --v2-bar-yellow: #f5d020;

  --v2-money: #2f7ec0;

  background: var(--v2-page-bg) !important;
  font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Verdana, sans-serif;
  color: var(--v2-ink);
  font-size: 13.5px;
  line-height: 1.45;
  padding: 24px 0 0;
  -webkit-font-smoothing: antialiased;
}

body.theme-v2 a {
  color: var(--v2-link);
  text-decoration: none;
}
body.theme-v2 a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

/* ===== HTML — V1 dosyasındaki #a7a6a2 bg'yi ez ===== */
html:has(body.theme-v2) {
  background: #d0d4d9 !important;
}

/* ===== Çerçeve (.pm-container = .frame) ===== */
body.theme-v2 {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body.theme-v2 .pm-container {
  max-width: 860px !important;
  margin: 0 auto !important;
  width: 100%;
  flex: 1;
  background: var(--v2-frame-bg) !important;
  border: 1px solid #b0b6bd;
  border-radius: 4px;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.5) inset,
    0 6px 18px rgba(0, 0, 0, 0.18),
    0 2px 4px rgba(0, 0, 0, 0.08);
  padding: 0 !important;
  position: relative;
  overflow: visible;
}

/* ===== Logo bar ===== */
body.theme-v2 .v2-logo-bar {
  background: linear-gradient(to bottom, #e6e9ee 0%, #d4d8de 100%);
  border-bottom: 1px solid #b8bec6;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  padding: 16px 0 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

body.theme-v2 .v2-logo {
  font-family: 'Public Sans', sans-serif;
  font-weight: 800;
  font-size: 36px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  color: #2a3a4d;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
  user-select: none;
}

body.theme-v2 .v2-logo .accent {
  color: #2f7ec0;
}

body.theme-v2 .v2-win-ctrls {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  z-index: 5;
}

body.theme-v2 .v2-win-ctrls button {
  width: 36px;
  height: 26px;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.18);
  border-bottom: 1px solid rgba(0, 0, 0, 0.18);
  border-bottom-left-radius: 3px;
  border-top-right-radius: 3px;
  cursor: pointer;
  padding: 0;
  display: grid;
  place-items: center;
  color: #ffffff;
  background: linear-gradient(to bottom, #b94a4a, #8e2c2c);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset;
}

body.theme-v2 .v2-win-ctrls button:hover {
  background: linear-gradient(to bottom, #c95a5a, #a23636);
}

body.theme-v2 .v2-win-ctrls button svg {
  width: 10px;
  height: 10px;
}

/* ===== Sticky topbar+nav ===== */
body.theme-v2 .v2-stuck {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--v2-frame-bg);
  box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.15);
}

/* ===== Topbar (pm-topbar = .topbar) ===== */
body.theme-v2 .pm-topbar {
  background: transparent !important;
  border: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 18px 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  position: relative !important;
}

body.theme-v2 .pm-topbar-date {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  color: #6b7682 !important;
}

body.theme-v2 .pm-topbar-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  color: var(--v2-ink-2) !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 4px !important;
  transition: color .12s, background .12s !important;
  background: transparent !important;
  cursor: pointer !important;
  position: relative !important;
}

body.theme-v2 .pm-topbar-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}

body.theme-v2 .pm-topbar-icon:hover {
  color: var(--v2-link) !important;
  background: rgba(255, 255, 255, 0.5) !important;
}

body.theme-v2 .pm-topbar-icon.admin {
  color: #c97a1f !important;
}

body.theme-v2 .pm-topbar-icon.admin:hover {
  color: #b96a1f !important;
}

body.theme-v2 .pm-topbar-actions {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  color: var(--v2-ink) !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

body.theme-v2 .pm-topbar-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
}

/* top-meta tasarımdaki birebir */
body.theme-v2 .top-meta .day-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--v2-ink-2);
  font-size: 12px;
  font-weight: 400;
  box-shadow: none;
}

body.theme-v2 .top-meta .day-chip a {
  color: var(--v2-ink-2);
}

body.theme-v2 .top-meta .day-chip a:hover {
  color: var(--v2-link);
  text-decoration: none;
}

body.theme-v2 .top-meta .time {
  color: var(--v2-ink-2);
  font-size: 13px;
}

body.theme-v2 .top-meta .time b {
  color: var(--v2-ink);
  font-weight: 600;
}

body.theme-v2 .top-meta .city {
  font-weight: 600;
  font-size: 13px;
}

body.theme-v2 .top-meta .user {
  font-weight: 600;
  color: var(--v2-ink) !important;
  font-size: 13px;
}

body.theme-v2 .top-meta a.user:hover {
  color: var(--v2-link) !important;
  text-decoration: none;
}

/* V2'de Çıkış logo bar'da; topbar-actions içindeki çıkış formu gizlenir */
body.theme-v2 .top-meta .inline-form {
  display: none !important;
}

body.theme-v2 .pm-topbar-user {
  font-weight: 600 !important;
  color: var(--v2-ink) !important;
  font-size: 13px !important;
}

/* Saat */
body.theme-v2 .pm-topbar-actions > span[title*="yerel"] {
  color: var(--v2-ink-2) !important;
  font-size: 13px !important;
}

/* Gün chip (mevcut takvim linki) */
body.theme-v2 .pm-topbar-actions > a[title*="takvim"] {
  background: transparent !important;
  border: none !important;
  color: var(--v2-ink-2) !important;
  padding: 0 !important;
  font-size: 12px !important;
}

/* Çıkış butonu — bu butonu eski yerinden gizle (V2'de logo bar'da) */
body.theme-v2 .pm-topbar-actions > form > button.pm-btn {
  display: none !important;
}

/* ===== Ana navigasyon ===== */
body.theme-v2 .nav-tabs {
  max-width: 100% !important;
  margin: 0 18px 14px !important;
  padding: 0 !important;
  background: linear-gradient(to bottom, #f3f5f8, #dde2e8) !important;
  border: 1px solid #b8bec6 !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  font-size: 13px !important;
  overflow: hidden !important;
  gap: 0 !important;
}

body.theme-v2 .nav-tab {
  flex: 1 !important;
  text-align: center !important;
  color: var(--v2-link) !important;
  padding: 8px 6px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.6) !important;
  transition: background .12s, color .12s !important;
  position: relative !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
}

body.theme-v2 .nav-tab:last-child {
  border-right: none !important;
  box-shadow: none !important;
}

body.theme-v2 .nav-tab:hover {
  background: rgba(255, 255, 255, 0.55) !important;
  color: var(--v2-link-hover) !important;
  text-decoration: none !important;
}

body.theme-v2 .nav-tab.active {
  background: linear-gradient(to bottom, #ffffff, #eaeef3) !important;
  color: var(--v2-active) !important;
  font-weight: 700 !important;
  box-shadow:
    1px 0 0 rgba(255, 255, 255, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -2px 0 #6ea7d2 !important;
  text-decoration: none !important;
}

/* Admin */
body.theme-v2 .nav-tab[style*="c97a1f"] {
  color: var(--v2-warn) !important;
}

body.theme-v2 .nav-tab.disabled,
body.theme-v2 .nav-tab[title="Yakında"] {
  color: #a9b3bd !important;
  cursor: default !important;
}

body.theme-v2 .nav-tab.disabled:hover {
  background: transparent !important;
  color: #a9b3bd !important;
}

/* ===== Ana grid alanı (standart 2-kolon: içerik + sidemenu) ===== */
body.theme-v2 .pm-container > div[style*="grid-template-columns: 1fr 220px"] {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 18px 24px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 220px !important;
  gap: 16px !important;
  margin-top: 0 !important;
}

/* Tek kolon grid (Duyurular gibi sidemenu'siz sayfalar) */
body.theme-v2 .pm-container > div[style*="grid-template-columns: 1fr;"] {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 18px 24px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  margin-top: 0 !important;
}

/* ===== Card (.panel) ===== */
body.theme-v2 .panel {
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-card-edge) !important;
  border-radius: 6px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

body.theme-v2 .panel-header {
  background: linear-gradient(to bottom, var(--v2-hdr-top), var(--v2-hdr-bot)) !important;
  border-bottom: 1px solid var(--v2-hdr-edge) !important;
  color: var(--v2-hdr-text) !important;
  padding: 5px 12px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Panel header içindeki linkler — koyu gradient üstünde beyaz */
body.theme-v2 .panel-header a {
  color: #ffffff !important;
}
body.theme-v2 .panel-header a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: underline;
}

/* ============================================
   V2: Tüm tablo başlıkları (thead) — ortak stil
   Panel header'larıyla aynı koyu gradient + beyaz yazı.
   .v2-crime-rb-table KASITLI farklı (transparan), dahil değil.
   ============================================ */
body.theme-v2 .v2-attr-table thead th,
body.theme-v2 .v2-crime-table thead th,
body.theme-v2 .v2-data-table thead th,
body.theme-v2 .v2-trophy-table thead th,
body.theme-v2 .v2-courses-table thead th,
body.theme-v2 .v2-friend-table thead th,
body.theme-v2 .v2-chat-table thead th,
body.theme-v2 .v2-result-table thead th,
body.theme-v2 .v2-standings-table thead th,
body.theme-v2 .v2-rank-table thead th,
body.theme-v2 .v2-td-table thead th,
body.theme-v2 .v2-park-table thead th,
body.theme-v2 .v2-tx-table thead th,
body.theme-v2 .v2-payout-table thead th,
body.theme-v2 .v2-sk-table thead th,
body.theme-v2 .v2-dp-table thead th,
body.theme-v2 .v2-ql-table thead th {
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  border-bottom: 1px solid var(--v2-thead-edge);
  color: var(--v2-thead-text);
  font-weight: 600;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 8px 12px;
  text-align: left;
}

/* .v2-attr-table — tam border + daha küçük font ve padding */
body.theme-v2 .v2-attr-table thead th {
  border: 1px solid var(--v2-thead-edge);
  border-right: none;
  font-size: 11px;
  padding: 5px 9px;
}

/* .v2-courses-table — başlıklar tek satırda kalsın */
body.theme-v2 .v2-courses-table thead th {
  white-space: nowrap;
}

body.theme-v2 .panel-body {
  padding: 16px !important;
}
body.theme-v2 .panel-body > p:first-child { margin-top: 0; }
body.theme-v2 .panel-body > p:last-child { margin-bottom: 0; }
body.theme-v2 .panel-body > p:only-child { margin: 0; }

/* ===== Karakter konuşma balonu ===== */
body.theme-v2 .panel .panel-body div[style*="border-radius"][style*="text-align"] {
  position: relative;
  background: #ffffff !important;
  border: 1px solid #c0d1de !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  color: var(--v2-ink) !important;
  font-style: italic !important;
  font-size: 13.5px !important;
  text-align: left !important;
  margin-left: 8px !important;
}

/* Bio paragrafı içindeki bold ve linkler */
body.theme-v2 .panel p b {
  color: var(--v2-active);
}

/* ===== Sağ menü kapsayıcısı (side-menu-wrap = aside) ===== */
body.theme-v2 .side-menu-wrap {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Sağ menü grupları (.side-menu-group = .card) */
body.theme-v2 .side-menu-group {
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-card-edge) !important;
  border-radius: 6px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
}

body.theme-v2 .side-menu-wrap .side-menu-group:last-child {
  margin-bottom: 0 !important;
}

body.theme-v2 .side-menu-title {
  background: linear-gradient(to bottom, var(--v2-hdr-top), var(--v2-hdr-bot)) !important;
  border: none !important;
  border-bottom: 1px solid var(--v2-hdr-edge) !important;
  color: var(--v2-hdr-text) !important;
  padding: 4px 10px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

body.theme-v2 .side-menu-list {
  background: transparent !important;
  padding: 3px 0 !important;
  border: none !important;
}

body.theme-v2 .side-menu-link {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 4px 12px !important;
  color: var(--v2-link) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
  border-bottom: none !important;
}

body.theme-v2 .side-menu-link:hover {
  background: #e1eaf1 !important;
  text-decoration: none !important;
  color: var(--v2-link) !important;
}

/* Button olarak kullanılan side-menu-link (form submit için) — native button stilini reset */
body.theme-v2 button.side-menu-link-btn {
  width: 100%;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
body.theme-v2 button.side-menu-link-btn:hover {
  background: #e1eaf1 !important;
}

/* Aktif sidemenu link (inline #fff0e0 background olan) */
body.theme-v2 .side-menu-link[style*="fff0e0"],
body.theme-v2 .side-menu-link.active {
  background: #d6e4ef !important;
  color: var(--v2-active) !important;
  font-weight: 700 !important;
  border-left: 3px solid #6ea7d2 !important;
  padding-left: 9px !important;
}

/* ===== Butonlar ===== */
body.theme-v2 .pm-btn {
  background: linear-gradient(to bottom, #ffffff, #eef2f6) !important;
  border: 1px solid #b9c3cc !important;
  border-radius: 4px !important;
  padding: 5px 12px !important;
  color: var(--v2-ink) !important;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset !important;
  font-size: 13px !important;
}

body.theme-v2 .pm-btn:hover {
  border-color: #9aa8b4 !important;
  color: var(--v2-link) !important;
}

body.theme-v2 .pm-btn-orange {
  background: linear-gradient(to bottom, #f0a050, #d97a26) !important;
  border: 1px solid #b56514 !important;
  color: #ffffff !important;
}

body.theme-v2 .pm-btn-orange:hover {
  background: linear-gradient(to bottom, #f5b060, #e58a36) !important;
  color: #ffffff !important;
}

/* ===== Tablolar ===== */
body.theme-v2 .pm-table tr:nth-child(even) td {
  background: var(--v2-row-alt);
}

/* ===== Form inputları ===== */
body.theme-v2 input[type=text],
body.theme-v2 input[type=number],
body.theme-v2 input[type=email],
body.theme-v2 input[type=password],
body.theme-v2 select,
body.theme-v2 textarea {
  background: #ffffff;
  border: 1px solid #b9c3cc;
  color: var(--v2-ink);
  font-size: 13px;
  border-radius: 4px;
  padding: 4px 8px;
  font-family: inherit;
}

/* ===== Footer ===== */
body.theme-v2 .pm-footer {
  color: var(--v2-muted);
  font-size: 11px;
  background: transparent;
  max-width: 860px;
  margin: 12px auto 0;
  padding: 0 18px;
  text-align: center;
}

/* ===== Statbar (Mutluluk/Sağlık/Enerji) için olabildiğince yumuşat ===== */
body.theme-v2 .statbar-container,
body.theme-v2 [class*="statbar"] {
  height: 14px !important;
  background: var(--v2-bar-bg) !important;
  border: 1px solid var(--v2-bar-edge) !important;
  border-radius: 3px !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 1px 1px rgba(0, 0, 0, 0.05) inset !important;
  overflow: hidden;
}

/* ============================================
   V2: Karakter paneli detayları — design HTML birebir
   ============================================ */

/* Karakter paneli body içindeki avatar+text flex container'ı grid'e çevir */
body.theme-v2 .panel-body > div:has(> .pm-avatar-large) {
  display: grid !important;
  grid-template-columns: 114px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 0 !important;
}

/* Avatar — V2 yeni boyut, renk ve sınırsız border override */
body.theme-v2 .pm-avatar-large {
  width: 114px !important;
  height: 156px !important;
  border: 1px solid var(--v2-card-edge) !important;
  border-radius: 4px !important;
  background: #e8edf2 !important;
}

body.theme-v2 .pm-avatar-medium {
  border: 1px solid var(--v2-card-edge) !important;
  border-radius: 4px !important;
}

body.theme-v2 .pm-avatar-small {
  border: 1px solid var(--v2-card-edge) !important;
  border-radius: 3px !important;
}

/* Avatar görsel kapla */
body.theme-v2 .pm-avatar img {
  width: 100% !important;
  height: 100% !important;
}

/* Bio paragrafı: spacing + ink */
body.theme-v2 .panel .panel-body p {
  margin: 0 0 14px !important;
  color: var(--v2-ink) !important;
  line-height: 1.55 !important;
  font-size: 13.5px !important;
}

body.theme-v2 .panel .panel-body p b,
body.theme-v2 .panel .panel-body p strong {
  color: var(--v2-active) !important;
}

/* Konuşma balonu — kuyruk üçgeni kaldırıldı, sade dikdörtgen */
body.theme-v2 .speech-bubble {
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid #c0d1de !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  color: var(--v2-ink) !important;
  font-style: italic !important;
  font-size: 13.5px !important;
  margin-left: 0 !important;
  text-align: left !important;
}

/* T-shirt forma ikonu (panel header right) */
body.theme-v2 .panel-header img[alt*="shirt"],
body.theme-v2 .panel-header img[alt*="forma"] {
  width: 22px;
  height: 22px;
  opacity: 0.85;
}

/* Star yıldız */
body.theme-v2 .panel-header span[style*="color"][style*="d4a017"],
body.theme-v2 .panel-header .star {
  color: #d4a017 !important;
  font-size: 13px !important;
  vertical-align: 1px;
  margin-left: 4px !important;
}

/* Bilgi (alt grid: ID, Cinsiyet vs.) — design'daki .stats */
body.theme-v2 .panel .panel-body > div[style*="grid-template-columns"][style*="1.1fr"] {
  display: grid !important;
  grid-template-columns: 1fr 1.15fr 0.95fr !important;
  column-gap: 16px !important;
  row-gap: 8px !important;
  padding: 14px 0 0 0 !important;
  margin-top: 14px !important;
  border-top: 1px dotted var(--v2-card-edge-soft) !important;
}

/* Stat satırları */
body.theme-v2 .panel .panel-body table.pm-table {
  width: 100%;
  font-size: 13px !important;
}

body.theme-v2 .panel .panel-body table.pm-table td {
  padding: 3px 4px !important;
  color: var(--v2-ink) !important;
}

body.theme-v2 .panel .panel-body table.pm-table td:first-child {
  color: var(--v2-ink-2) !important;
  font-weight: 600 !important;
}

/* Para satırı */
body.theme-v2 .panel .panel-body p[style*="font-weight: bold"][style*="font-size: 14px"],
body.theme-v2 .panel .panel-body div[style*="Para:"] {
  color: var(--v2-money) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

/* Son Günlük Kayıtları satırları */
body.theme-v2 .panel .panel-body > div > div[style*="border-bottom"][style*="dashed"],
body.theme-v2 .panel .panel-body > div > div[style*="border-bottom"][style*="dotted"] {
  border-bottom: 1px solid var(--v2-card-edge-soft) !important;
  padding: 9px 0 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

/* Statbar (progress) — tasarımdaki bar tarzına yaklaştır */
body.theme-v2 div[style*="background"][style*="height"][style*="border-radius"] {
  border-radius: 3px;
}

/* ============================================
   V2: İstatistik kartı — design HTML birebir
   ============================================ */
body.theme-v2 .v2-stats {
  display: grid;
  grid-template-columns: 1fr 1.15fr 0.95fr;
  column-gap: 16px;
  row-gap: 3px;
  padding: 10px 16px;
}

body.theme-v2 .v2-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  column-gap: 6px;
  font-size: 13px;
  min-height: 22px;
}

body.theme-v2 .v2-row .lbl {
  color: var(--v2-ink-2);
  font-weight: 600;
}

body.theme-v2 .v2-row .val {
  color: var(--v2-ink);
}

body.theme-v2 .v2-bar-row {
  display: grid;
  grid-template-columns: 64px 1fr;
  align-items: center;
  column-gap: 8px;
  font-size: 13px;
}

body.theme-v2 .v2-bar-row .lbl {
  color: var(--v2-ink-2);
  font-weight: 600;
}

/* Bar */
body.theme-v2 .v2-bar {
  display: block;
  position: relative;
  height: 14px;
  background: var(--v2-bar-bg);
  border: 1px solid var(--v2-bar-edge);
  border-radius: 3px;
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 1px 1px rgba(0, 0, 0, 0.05) inset;
}

body.theme-v2 .v2-bar > i {
  display: block;
  height: 100%;
  background: var(--v2-bar-green);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
}

body.theme-v2 .v2-bar.low > i {
  background: var(--v2-bar-blue);
}

body.theme-v2 .v2-bar.empty > i {
  background: var(--v2-bar-red);
}

body.theme-v2 .v2-bar.peak > i {
  background: var(--v2-bar-yellow);
}

body.theme-v2 .v2-bar .num {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #1f3a52;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* Para satırı */
body.theme-v2 .v2-row.money {
  grid-template-columns: 64px 1fr;
  column-gap: 8px;
}

body.theme-v2 .v2-row.money .val {
  color: var(--v2-money);
  font-weight: 700;
}

body.theme-v2 .v2-row.money .val small {
  color: var(--v2-muted);
  font-weight: 500;
  font-size: 11px;
  margin-left: 2px;
}

/* Online */
body.theme-v2 .v2-online {
  color: #3d9a37;
  font-weight: 600;
}
body.theme-v2 .v2-online::before {
  content: "•";
  margin-right: 4px;
  color: #3d9a37;
  font-size: 16px;
  line-height: 0;
  vertical-align: -1px;
}

/* ============================================
   V2: Günlük (Son Günlük Kayıtları)
   ============================================ */
body.theme-v2 .panel-body:has(> .v2-journal) {
  padding: 0 !important;
}
body.theme-v2 .v2-journal {
  padding: 0;
}
body.theme-v2 .v2-journal .e {
  padding: 9px 14px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13.5px;
  line-height: 1.5;
}
body.theme-v2 .v2-journal .e:first-child {
  border-top: none;
}
body.theme-v2 .v2-journal .e:nth-child(even) {
  background: var(--v2-row-alt);
}
body.theme-v2 .v2-journal .e b {
  color: #1f3a52;
  font-weight: 600;
}

/* ============================================
   V2: Pencere kontrol butonunda form etrafındaki düz görünüm
   ============================================ */
body.theme-v2 .v2-win-ctrls form {
  display: inline-flex;
}

/* ============================================
   V2: Topbar ikonları artık SVG + currentColor ile renkleniyor.
   Önceden emoji'ler için grayscale filter vardı — şimdi gereksiz
   ve badge'in rengini de öldürüyordu, kaldırıldı.
   ============================================ */

/* Karakter adı yanındaki ★ — V2'de mavi */
body.theme-v2 .panel-header {
  color: var(--v2-hdr-text) !important;
}

/* Forma t-shirt ikonu (emoji 👕) — V2'de muted */
body.theme-v2 .panel-header a[href*="job"] {
  filter: grayscale(1) opacity(0.7);
}

/* Navbar margin tasarım birebir */
body.theme-v2 .nav-tabs {
  margin: 0 18px 14px !important;
}

/* Aktif tab alt vurgu - design birebir 2px */
body.theme-v2 .nav-tab.active {
  box-shadow:
    1px 0 0 rgba(255, 255, 255, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -2px 0 #6ea7d2 !important;
}

/* ============================================
   V2: İlişkiler sayfası (design birebir)
   ============================================ */

/* Filtre çubuğu — design birebir (ana navbar görünümünde) */
body.theme-v2 .v2-filter-bar {
  display: flex;
  background: linear-gradient(to bottom, #f3f5f8, #dde2e8);
  border: 1px solid #b8bec6;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 1px 2px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  margin: 14px 16px 6px;
  font-size: 13px;
}

body.theme-v2 .v2-filter-bar a {
  flex: 1;
  text-align: center;
  color: var(--v2-link);
  padding: 7px 6px;
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.6);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background .12s, color .12s;
  text-decoration: none;
}

body.theme-v2 .v2-filter-bar a:last-child {
  border-right: none;
  box-shadow: none;
}

body.theme-v2 .v2-filter-bar a:hover {
  background: rgba(255, 255, 255, 0.55);
  color: var(--v2-link-hover);
  text-decoration: none;
}

body.theme-v2 .v2-filter-bar a.active {
  background: linear-gradient(to bottom, #ffffff, #eaeef3);
  color: var(--v2-active);
  font-weight: 700;
  box-shadow:
    1px 0 0 rgba(255, 255, 255, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -2px 0 #6ea7d2;
  text-decoration: none;
}

body.theme-v2 .v2-filter-bar .pip {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #b0b6bd;
}

body.theme-v2 .v2-filter-bar a.fr .pip { background: linear-gradient(to bottom, #8dcf5b, #5fae37); }
body.theme-v2 .v2-filter-bar a.love .pip { background: linear-gradient(to bottom, #ee5a85, #c92e62); }
body.theme-v2 .v2-filter-bar a.hate .pip { background: linear-gradient(to bottom, #d6594e, #aa3a30); }

/* Meta satırı */
body.theme-v2 .v2-rel-meta {
  padding: 8px 16px 4px;
  color: var(--v2-muted);
  font-size: 12px;
  border-bottom: none;
}
body.theme-v2 .v2-rel-meta b {
  color: var(--v2-ink);
  font-weight: 600;
}

/* İlişki listesi */
body.theme-v2 .v2-rel-list {
  padding: 6px 0 4px;
}

body.theme-v2 .v2-rel-row {
  padding: 12px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  transition: background .12s;
}

body.theme-v2 .v2-rel-row:first-child {
  border-top: none;
}

body.theme-v2 .v2-rel-row:nth-child(even) {
  background: var(--v2-row-alt);
}

body.theme-v2 .v2-rel-row:hover {
  background: #e7eef5;
}

body.theme-v2 .v2-rel-row:hover .v2-rel-head .name {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

body.theme-v2 .v2-rel-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}

body.theme-v2 .v2-rel-head .name {
  font-size: 14px;
  font-weight: 600;
  color: var(--v2-link);
}

body.theme-v2 .v2-rel-head .name:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

body.theme-v2 .v2-rel-head .id {
  font-size: 11.5px;
  color: var(--v2-muted);
  font-weight: 500;
}

body.theme-v2 .v2-rel-head .city {
  margin-left: auto;
  font-size: 11.5px;
  color: var(--v2-muted);
}

/* 3 mini bar yan yana */
body.theme-v2 .v2-rel-stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 14px;
  align-items: center;
}

body.theme-v2 .v2-rel-stat .lbl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  color: var(--v2-ink-2);
  font-weight: 500;
  margin-bottom: 3px;
}

body.theme-v2 .v2-rel-stat .lbl .v {
  font-variant-numeric: tabular-nums;
  color: var(--v2-ink);
  font-weight: 600;
}

body.theme-v2 .v2-rel-stat .lbl .v.zero {
  color: var(--v2-muted);
  font-weight: 500;
}

body.theme-v2 .v2-rel-stat .lbl .ico {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
  vertical-align: 0;
}

body.theme-v2 .v2-rel-stat.fr .lbl .ico { background: linear-gradient(to bottom, #8dcf5b, #5fae37); }
body.theme-v2 .v2-rel-stat.love .lbl .ico { background: linear-gradient(to bottom, #ee5a85, #c92e62); }
body.theme-v2 .v2-rel-stat.hate .lbl .ico { background: linear-gradient(to bottom, #d6594e, #aa3a30); }

/* Mini bar */
body.theme-v2 .v2-mini {
  position: relative;
  height: 8px;
  background: var(--v2-bar-bg);
  border: 1px solid var(--v2-bar-edge);
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

body.theme-v2 .v2-mini > i {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: var(--v2-bar-green);
}

body.theme-v2 .v2-mini.low > i {
  background: var(--v2-bar-blue);
}

body.theme-v2 .v2-mini.empty > i {
  background: var(--v2-bar-red);
}

body.theme-v2 .v2-mini.peak > i {
  background: var(--v2-bar-yellow);
}

/* Header'da sağdaki kişi sayısı */
body.theme-v2 .panel-header .v2-hdr-meta {
  font-weight: 400;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
}

/* Panel-body'yi filter-bar varsa sıfırla */
body.theme-v2 .panel-body:has(> .v2-filter-bar) {
  padding: 0 !important;
}

/* ============================================
   V2: Notification strip — alt boşluk
   ============================================ */
body.theme-v2 .notification-strip {
  margin-left: 18px !important;
  margin-right: 18px !important;
  margin-bottom: 4px !important;
}
body.theme-v2 .pm-container > div[style*="grid-template-columns"] {
  margin-top: 16px !important;
}

/* ============================================
   V2: Flash mesajları — notification strip ile aynı yapı,
   sadece renk farklı (yeşil/kırmızı)
   ============================================ */
body.theme-v2 .pm-flash-wrap {
  margin: 12px 18px 0;
}

body.theme-v2 .pm-flash {
  display: block;
  padding: 10px 14px;
  font-size: 12px;
  border-radius: 6px;
  border: none;
  margin-bottom: 6px;
}

body.theme-v2 .pm-flash-success {
  background: linear-gradient(135deg, #e8f5e0 0%, #c5e0b0 100%);
  color: #2d5b1e;
}

body.theme-v2 .pm-flash-error {
  background: linear-gradient(135deg, #fbd5d5 0%, #f5a0a0 100%);
  color: #6a1e1e;
}

/* alert-* class'lı flash mesajları (venue layout, interact, form sayfaları vs.) */
body.theme-v2 .alert-success,
body.theme-v2 .alert-error,
body.theme-v2 .alert-info,
body.theme-v2 .alert-warning {
  display: block;
  padding: 10px 14px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
  border: none !important;
  margin: 0 0 12px !important;
}

/* pm-container'ın doğrudan çocuğu olanlar yatay margin alır (venue, announcements vs.) */
body.theme-v2 .pm-container > .alert-success,
body.theme-v2 .pm-container > .alert-error,
body.theme-v2 .pm-container > .alert-info,
body.theme-v2 .pm-container > .alert-warning {
  margin: 12px 18px 0 !important;
}

body.theme-v2 .alert-success {
  background: linear-gradient(135deg, #e8f5e0 0%, #c5e0b0 100%) !important;
  color: #2d5b1e !important;
}

body.theme-v2 .alert-error {
  background: linear-gradient(135deg, #fbd5d5 0%, #f5a0a0 100%) !important;
  color: #6a1e1e !important;
}

body.theme-v2 .alert-info {
  background: linear-gradient(135deg, #e0eef5 0%, #b8d4e0 100%) !important;
  color: #1e3f5b !important;
}

body.theme-v2 .alert-warning {
  background: linear-gradient(135deg, #fff5e0 0%, #f5d8a0 100%) !important;
  color: #7a5a0e !important;
}

/* Sayfa içi alert-* (form sayfaları) — sade tutalım */
body.theme-v2 .alert-success,
body.theme-v2 .alert-error,
body.theme-v2 .alert-info,
body.theme-v2 .alert-warning {
  border-radius: 6px !important;
  font-size: 12px !important;
  padding: 9px 12px !important;
}

/* ============================================
   V2: Sağlık sayfası (design birebir)
   ============================================ */

/* Header sağ meta */
body.theme-v2 .panel-header .v2-hdr-sub {
  font-weight: 400;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
}

/* kv-table: key-value satırları */
body.theme-v2 .v2-kv-table {
  padding: 2px 0 4px;
}
body.theme-v2 .v2-kv-table .kv {
  display: grid;
  grid-template-columns: 200px 1fr;
  column-gap: 14px;
  padding: 6px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-kv-table .kv:first-child { border-top: none; }
body.theme-v2 .v2-kv-table .kv .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-kv-table .kv .v { color: var(--v2-ink); }
body.theme-v2 .v2-kv-table .kv .v small {
  color: var(--v2-muted);
  margin-left: 6px;
  font-size: 12px;
}

/* Panel body sıfırlama (kv-table içinse) */
body.theme-v2 .panel-body:has(> .v2-kv-table) {
  padding: 0 !important;
}

/* Empty state (dövmeler yok vs.) */
body.theme-v2 .v2-empty-state {
  padding: 14px 16px 18px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 13.5px;
}

/* Intro paragraph */
body.theme-v2 .v2-intro {
  padding: 10px 16px 4px;
  color: var(--v2-ink-2);
  font-size: 12px;
  line-height: 1.5;
}
body.theme-v2 .v2-intro b { color: var(--v2-ink); }

/* Attr tablosu */
body.theme-v2 .v2-attr-table {
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12px;
  margin: 4px 16px 12px;
  width: calc(100% - 32px);
}
body.theme-v2 .v2-attr-table thead th:last-child { border-right: 1px solid #b8bec6; }
body.theme-v2 .v2-attr-table thead th.icon-th { width: 28px; padding-left: 10px; }
body.theme-v2 .v2-attr-table thead th.lvl-th { width: 130px; }

body.theme-v2 .v2-attr-table tbody td {
  padding: 7px 9px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  vertical-align: middle;
}
body.theme-v2 .v2-attr-table tbody tr:last-child td { border-bottom: none; }
body.theme-v2 .v2-attr-table tbody tr:hover td { background: var(--v2-row-alt); }

/* Attr ikonu (ZK, GÜ vs. - 22x22 box) */
body.theme-v2 .v2-attr-icon {
  width: 22px; height: 22px;
  border-radius: 3px;
  border: 1px solid #c0cdd8;
  background: linear-gradient(to bottom, #f3f7fb, #dde6ee);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 11px;
  color: #2a4d6e;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

body.theme-v2 .v2-attr-name { font-weight: 600; color: var(--v2-ink); font-size: 13px; }
body.theme-v2 .v2-attr-desc { color: var(--v2-muted); font-size: 11.5px; margin-top: 1px; }

/* Seviye pill */
body.theme-v2 .v2-lvl {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  border: 1px solid;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
  min-width: 108px;
  justify-content: flex-start;
}
body.theme-v2 .v2-lvl .num {
  opacity: 0.85;
  font-weight: 500;
}
body.theme-v2 .v2-lvl.low {
  background: linear-gradient(to bottom, #d6594e, #aa3a30);
  border-color: #842a23;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
body.theme-v2 .v2-lvl.mid {
  background: linear-gradient(to bottom, #e7c64b, #c79a23);
  border-color: #9a7818;
  color: #3a2a08;
}
body.theme-v2 .v2-lvl.high {
  background: linear-gradient(to bottom, #8dcf5b, #5fae37);
  border-color: #487a2a;
  color: #1f3a16;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}
body.theme-v2 .v2-lvl.top {
  background: linear-gradient(to bottom, #5fae37, #3d7a22);
  border-color: #2d5a18;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

/* DP banner */
body.theme-v2 .v2-dp-banner {
  margin: 12px 16px 10px;
  padding: 10px 14px;
  background: linear-gradient(to bottom, #eef3f8, #dee7f0);
  border: 1px solid #bbc8d6;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
body.theme-v2 .v2-dp-banner .left .lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--v2-ink-2);
  font-weight: 600;
  margin-bottom: 1px;
}
body.theme-v2 .v2-dp-banner .left .big {
  font-size: 17px;
  font-weight: 700;
  color: var(--v2-link);
  line-height: 1.1;
  letter-spacing: -0.01em;
}
body.theme-v2 .v2-dp-banner .left .big small {
  font-size: 11px;
  color: var(--v2-muted);
  font-weight: 500;
  margin-left: 4px;
}
body.theme-v2 .v2-dp-banner .right {
  color: var(--v2-ink-2);
  font-size: 11.5px;
  text-align: right;
  line-height: 1.5;
}
body.theme-v2 .v2-dp-banner .right b { color: var(--v2-ink); font-weight: 600; }

/* Kurallar listesi */
body.theme-v2 .v2-rules {
  margin: 0 16px 10px;
  padding-left: 16px;
  font-size: 11.5px;
  color: var(--v2-ink-2);
  line-height: 1.55;
}
body.theme-v2 .v2-rules li b { color: var(--v2-ink); font-weight: 600; }

/* Upgrade grid */
body.theme-v2 .v2-upgrade-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 4px 16px 14px;
}
body.theme-v2 .v2-upg {
  border: 1px solid #c0cdd8;
  border-radius: 4px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  padding: 8px 10px 10px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-upg .upg-head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
}
body.theme-v2 .v2-upg .upg-head .name {
  font-weight: 600;
  color: var(--v2-ink);
  font-size: 12px;
}
body.theme-v2 .v2-upg .upg-step {
  font-size: 11px;
  color: var(--v2-muted);
  margin-bottom: 8px;
}
body.theme-v2 .v2-upg .upg-step .from { color: var(--v2-ink-2); }
body.theme-v2 .v2-upg .upg-step .arrow { margin: 0 4px; color: var(--v2-muted); }
body.theme-v2 .v2-upg .upg-step .to { color: var(--v2-active); font-weight: 600; }

body.theme-v2 .v2-btn-upgrade {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(to bottom, #ffffff, #e8eef5);
  border: 1px solid #99a8b8;
  border-radius: 3px;
  padding: 4px 10px;
  font: inherit;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--v2-active);
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  text-decoration: none;
}
body.theme-v2 .v2-btn-upgrade:hover {
  background: linear-gradient(to bottom, #ffffff, #dde6ee);
  border-color: #6ea7d2;
  color: var(--v2-link-hover);
  text-decoration: none;
}
body.theme-v2 .v2-btn-upgrade .cost {
  background: #d6e4ef;
  color: var(--v2-active);
  padding: 1px 6px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
}
body.theme-v2 .v2-btn-upgrade[disabled],
body.theme-v2 .v2-btn-upgrade.disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* V2: Sağlık panel-body'lerinde özel içerik varsa padding sıfırla */
body.theme-v2 .panel-body:has(> .v2-attr-table),
body.theme-v2 .panel-body:has(> .v2-intro),
body.theme-v2 .panel-body:has(> .v2-empty-state),
body.theme-v2 .panel-body:has(> .v2-dp-banner),
body.theme-v2 .panel-body:has(> .v2-upgrade-grid) {
  padding: 0 !important;
}

/* ============================================
   V2: Sabıka Kaydı sayfası (design birebir)
   ============================================ */

/* Üstte istatistik satırı */
body.theme-v2 .v2-crime-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding: 8px 16px 10px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  font-size: 12px;
}
body.theme-v2 .v2-crime-meta .stat {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--v2-muted);
  white-space: nowrap;
}
body.theme-v2 .v2-crime-meta .stat .n {
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
body.theme-v2 .v2-crime-meta .stat.jail .n { color: #a73b30; }
body.theme-v2 .v2-crime-meta .stat.free .n { color: #3d9a37; }

/* Sabıka tablosu */
body.theme-v2 .v2-crime-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-crime-table tbody tr.case {
  cursor: pointer;
  transition: background .12s;
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-crime-table tbody tr.case:first-child { border-top: none; }
body.theme-v2 .v2-crime-table tbody tr.case:nth-child(4n+3) { background: var(--v2-row-alt); }
body.theme-v2 .v2-crime-table tbody tr.case:hover { background: #e7eef5; }
body.theme-v2 .v2-crime-table tbody tr.case td {
  padding: 11px 14px;
  vertical-align: top;
}
body.theme-v2 .v2-crime-table tbody tr.case .td-date { color: var(--v2-muted); width: 110px; }
body.theme-v2 .v2-crime-table tbody tr.case .td-crime { color: var(--v2-ink); }
body.theme-v2 .v2-crime-table tbody tr.case .td-sent { width: 160px; }
body.theme-v2 .v2-crime-table tbody tr.case .td-city { color: var(--v2-muted); width: 110px; }

/* Sentence pill */
body.theme-v2 .v2-sentence {
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body.theme-v2 .v2-sentence.jail { color: #a73b30; }
body.theme-v2 .v2-sentence.free { color: #3d9a37; }
body.theme-v2 .v2-sentence.pending { color: #c97a1f; }
body.theme-v2 .v2-sentence .chev {
  font-size: 11px;
  color: var(--v2-muted);
  margin-left: 2px;
  transition: transform .15s;
  display: inline-block;
}
body.theme-v2 .v2-crime-table tbody tr.case.open .v2-sentence .chev {
  transform: rotate(90deg);
  color: var(--v2-ink-2);
}
body.theme-v2 .v2-crime-table tbody tr.case.open { background: #dfe9f1 !important; }
body.theme-v2 .v2-crime-table tbody tr.case.open td { font-weight: 600; }
body.theme-v2 .v2-crime-table tbody tr.case.open .td-date,
body.theme-v2 .v2-crime-table tbody tr.case.open .td-city { font-weight: 400; }

/* Detail row */
body.theme-v2 .v2-crime-table tr.detail td {
  padding: 0;
  background: var(--v2-card);
  border-bottom: 1px solid var(--v2-card-edge);
}
body.theme-v2 .v2-detail-inner {
  padding: 14px 20px 16px;
  display: grid;
  grid-template-columns: 150px 1fr;
  row-gap: 8px;
  column-gap: 14px;
  font-size: 13px;
}
body.theme-v2 .v2-detail-inner dt {
  color: var(--v2-ink-2);
  font-weight: 600;
}
body.theme-v2 .v2-detail-inner dd {
  margin: 0;
  color: var(--v2-ink);
}
body.theme-v2 .v2-detail-inner dd .ts {
  display: block;
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-top: 2px;
}
body.theme-v2 .v2-crime-pill {
  display: inline-block;
  background: linear-gradient(to bottom, #fff4f3, #f5e0dd);
  border: 1px solid #d8a8a2;
  color: #7a2a22;
  padding: 2px 10px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 500;
  margin: 1px 2px;
}
body.theme-v2 .v2-verdict-guilty {
  color: #a73b30;
  font-weight: 700;
}
body.theme-v2 .v2-verdict-acquit {
  color: #3d9a37;
  font-weight: 700;
}
body.theme-v2 .v2-verdict-other {
  color: var(--v2-ink-2);
  font-weight: 700;
}

/* Pagination */
body.theme-v2 .v2-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px 14px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 12px;
  color: var(--v2-muted);
}
body.theme-v2 .v2-pager .pages {
  display: inline-flex;
  gap: 4px;
}
body.theme-v2 .v2-pager .pages a,
body.theme-v2 .v2-pager .pages span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border: 1px solid #c6cdd5;
  border-radius: 3px;
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
  color: var(--v2-link);
  font-size: 12px;
  text-decoration: none;
  line-height: 1;
}
body.theme-v2 .v2-pager .pages a:hover {
  border-color: #9aa8b4;
  color: var(--v2-link-hover);
  background: linear-gradient(to bottom, #ffffff, #e6ecf2);
}
body.theme-v2 .v2-pager .pages .active {
  background: linear-gradient(to bottom, #4f6478, #344559);
  border-color: #2a3a4d;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15) inset;
}
body.theme-v2 .v2-pager .pages .disabled {
  color: #b0b6bd;
  pointer-events: none;
  opacity: 0.6;
}

/* Empty state */
body.theme-v2 .v2-crime-empty {
  padding: 18px 16px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 13px;
}

/* Panel-body padding sıfırla */
body.theme-v2 .panel-body:has(> .v2-crime-meta),
body.theme-v2 .panel-body:has(> .v2-crime-table),
body.theme-v2 .panel-body:has(> .v2-crime-empty) {
  padding: 0 !important;
}

/* ============================================
   V2: Evler ve Araçlar sayfası (design birebir)
   ============================================ */

/* Tek data-table genel */
body.theme-v2 .v2-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-data-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-data-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-data-table tbody tr:nth-child(even) { background: var(--v2-row-alt); }
body.theme-v2 .v2-data-table tbody tr.row-link { cursor: pointer; transition: background .12s; }
body.theme-v2 .v2-data-table tbody tr.row-link:hover { background: #e7eef5; }
body.theme-v2 .v2-data-table tbody td {
  padding: 10px 14px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-data-table tbody td.muted { color: var(--v2-muted); }
body.theme-v2 .v2-data-table tbody td a { font-weight: 600; }

/* Araç plaka */
body.theme-v2 .v2-plate {
  display: inline-block;
  font-family: 'Public Sans', monospace;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--v2-ink);
  padding: 3px 9px;
  background: linear-gradient(to bottom, #fafcfe, #e8eef5);
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

body.theme-v2 .v2-veh-model { color: var(--v2-ink); font-weight: 600; }
body.theme-v2 .v2-veh-spec { color: var(--v2-muted); font-size: 11.5px; margin-top: 1px; }

/* Durum nokta + label */
body.theme-v2 .v2-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}
body.theme-v2 .v2-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
body.theme-v2 .v2-status.park { color: #3d9a37; }
body.theme-v2 .v2-status.park::before {
  background: linear-gradient(to bottom, #8dcf5b, #5fae37);
  box-shadow: 0 0 0 2px rgba(95, 174, 55, 0.12);
}
body.theme-v2 .v2-status.drive { color: #2f7ec0; }
body.theme-v2 .v2-status.drive::before {
  background: linear-gradient(to bottom, #6fb0e6, #2f7ec0);
}
body.theme-v2 .v2-status.tow { color: #1e5a8a; }
body.theme-v2 .v2-status.tow::before {
  background: linear-gradient(to bottom, #6fb0e6, #1e5a8a);
}
body.theme-v2 .v2-status.broken { color: #a73b30; }
body.theme-v2 .v2-status.broken::before {
  background: linear-gradient(to bottom, #d6594e, #aa3a30);
}

/* Küçük buton */
body.theme-v2 .v2-btn-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
  border: 1px solid #b9c3cc;
  border-radius: 3px;
  padding: 3px 12px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--v2-ink);
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  line-height: 1.5;
}
body.theme-v2 .v2-btn-sm:hover {
  border-color: #9aa8b4;
  color: var(--v2-link);
  background: linear-gradient(to bottom, #ffffff, #e6ecf2);
  text-decoration: none;
}

/* Empty cell (boş kart) */
body.theme-v2 .v2-empty-cell {
  text-align: center;
  padding: 18px 14px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 13px;
}

/* Panel-body padding sıfırla (data-table varsa) */
body.theme-v2 .panel-body:has(> .v2-data-table),
body.theme-v2 .panel-body:has(> .v2-empty-cell) {
  padding: 0 !important;
}

/* ============================================
   V2: Envanter sayfası (design birebir)
   ============================================ */

/* Kapasite kutusu */
body.theme-v2 .v2-cap-box {
  padding: 12px 16px 8px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-cap-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
  font-size: 12px;
}
body.theme-v2 .v2-cap-head .lbl { font-weight: 600; color: var(--v2-ink-2); }
body.theme-v2 .v2-cap-head .val {
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-cap-head .val small {
  color: var(--v2-muted);
  font-weight: 500;
  margin-left: 4px;
}
body.theme-v2 .v2-cap-bar {
  position: relative;
  height: 10px;
  background: var(--v2-bar-bg);
  border: 1px solid var(--v2-bar-edge);
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-cap-bar > i {
  display: block;
  height: 100%;
  background: var(--v2-bar-blue);
  border-radius: 2px;
}

/* Kategori başlığı (band) */
body.theme-v2 .v2-cat-hdr {
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  border-bottom: 1px solid var(--v2-thead-edge);
  padding: 6px 16px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-thead-text);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.theme-v2 .v2-cat-hdr .small {
  color: rgba(255, 255, 255, 0.75);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  margin-left: 4px;
  font-size: 11.5px;
}

/* Envanter satırı */
body.theme-v2 .v2-inv-item {
  display: grid;
  grid-template-columns: 24px 1fr 80px 22px;
  align-items: center;
  column-gap: 10px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-inv-item:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-inv-item .name {
  color: var(--v2-link);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.theme-v2 .v2-inv-item .name:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-inv-item .var {
  color: var(--v2-muted);
  font-weight: 400;
  margin-left: 2px;
}
body.theme-v2 .v2-inv-item .meta {
  color: var(--v2-muted);
  font-size: 12px;
  margin-left: 8px;
}
body.theme-v2 .v2-inv-item .meta b { color: var(--v2-ink); font-weight: 500; }
body.theme-v2 .v2-inv-item .weight {
  color: var(--v2-muted);
  font-size: 12px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-inv-item .icn {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: #6ea7d2;
}
body.theme-v2 .v2-inv-item .icn.use { color: #2a6db4; }
body.theme-v2 .v2-inv-item .icn.worn { color: #5fae37; filter: drop-shadow(0 0 3px rgba(95, 174, 55, 0.5)); }
body.theme-v2 .v2-inv-item .icn svg { width: 16px; height: 16px; }

/* Tıklanabilir ikon (buton görevinde) */
body.theme-v2 .v2-inv-item button.icn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

/* Checkbox */
body.theme-v2 .v2-chk {
  appearance: none;
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid #9aa8b4;
  border-radius: 2px;
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  margin: 0;
}
body.theme-v2 .v2-chk:checked {
  background: linear-gradient(to bottom, #6ea7d2, #2f7ec0);
  border-color: #1f5a8e;
}
body.theme-v2 .v2-chk:checked::after {
  content: "✓";
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

/* Footer (Hepsini seç + Çöpe at) */
body.theme-v2 .v2-inv-footer {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-top: 1px solid var(--v2-card-edge);
  background: #ececee;
  font-size: 12px;
  color: var(--v2-muted);
  flex-wrap: wrap;
}
body.theme-v2 .v2-inv-footer label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--v2-ink-2);
  cursor: pointer;
}
body.theme-v2 .v2-inv-footer .city { color: var(--v2-ink); font-weight: 600; }

/* Danger button */
body.theme-v2 .v2-btn-danger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(to bottom, #ffffff, #f1d8d5);
  border: 1px solid #c79993;
  border-radius: 3px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #842a23;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  line-height: 1.5;
}
body.theme-v2 .v2-btn-danger:hover {
  border-color: #a73b30;
  background: linear-gradient(to bottom, #ffffff, #ecc7c2);
  color: #842a23;
  text-decoration: none;
}
body.theme-v2 .v2-btn-danger svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* Kartlar ve Lisanslar (perm) */
body.theme-v2 .v2-perm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-perm-row:last-child { border-bottom: none; }
body.theme-v2 .v2-perm-row a {
  color: var(--v2-link);
  font-weight: 500;
}
body.theme-v2 .v2-perm-row .dash { color: var(--v2-muted); }
body.theme-v2 .v2-perm-note {
  padding: 10px 16px 14px;
  color: var(--v2-muted);
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
}

/* Panel-body padding sıfırla (envanter içerik var ise) */
body.theme-v2 .panel-body:has(> .v2-cap-box),
body.theme-v2 .panel-body:has(> .v2-cat-hdr),
body.theme-v2 .panel-body:has(> .v2-perm-row),
body.theme-v2 .panel-body:has(> form > .v2-cap-box),
body.theme-v2 .panel-body:has(> form > .v2-cat-hdr) {
  padding: 0 !important;
}

/* Boş envanter */
body.theme-v2 .v2-inv-empty {
  padding: 18px 16px;
  text-align: center;
  color: var(--v2-muted);
  font-style: italic;
}

/* ============================================
   V2: Eşya Detay sayfası
   ============================================ */

body.theme-v2 .v2-item-hdr-meta {
  color: var(--v2-ink-2);
  font-weight: 400;
  font-size: 12px;
}
body.theme-v2 .v2-item-hdr-meta .var { color: var(--v2-muted); }

body.theme-v2 .v2-breadcrumb {
  padding: 8px 16px;
  font-size: 12px;
  color: var(--v2-muted);
  border-bottom: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-breadcrumb a { color: var(--v2-link); }
body.theme-v2 .v2-breadcrumb a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-breadcrumb .sep {
  color: #c0c8d0;
  margin: 0 6px;
}

body.theme-v2 .v2-item-desc {
  margin: 14px 16px;
  padding: 10px 14px;
  background: #f1f4f7;
  border: 1px solid #d8dde3;
  border-radius: 4px;
  color: var(--v2-ink);
  font-size: 13px;
  line-height: 1.5;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

body.theme-v2 .v2-detail-kv {
  padding: 4px 0 12px;
}
body.theme-v2 .v2-detail-kv .kv-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  column-gap: 14px;
  padding: 8px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
  align-items: baseline;
}
body.theme-v2 .v2-detail-kv .kv-row:first-child { border-top: none; }
body.theme-v2 .v2-detail-kv .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-detail-kv .v { color: var(--v2-ink); }
body.theme-v2 .v2-detail-kv .v a { color: var(--v2-link); font-weight: 500; }
body.theme-v2 .v2-detail-kv .v a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

body.theme-v2 .v2-props {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.theme-v2 .v2-props .pr {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
}
body.theme-v2 .v2-props .pr.yes { color: #3d9a37; }
body.theme-v2 .v2-props .pr.no { color: var(--v2-muted); text-decoration: line-through; }
body.theme-v2 .v2-props .pr svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* Sağ menüde Eşya İşlemleri */
body.theme-v2 .v2-actions {
  padding: 3px 0;
}
body.theme-v2 .v2-actions a,
body.theme-v2 .v2-actions button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  color: var(--v2-link);
  font-size: 12px;
  line-height: 1.3;
  transition: background .12s, color .12s;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
}
body.theme-v2 .v2-actions a:hover,
body.theme-v2 .v2-actions button:hover {
  background: #e1eaf1;
  color: var(--v2-link-hover);
  text-decoration: none;
}
body.theme-v2 .v2-actions a.primary,
body.theme-v2 .v2-actions button.primary {
  color: var(--v2-active);
  font-weight: 700;
  background: #d6e4ef;
  border-left: 3px solid #6ea7d2;
  padding-left: 9px;
}
body.theme-v2 .v2-actions .ico {
  width: 14px;
  height: 14px;
  display: grid;
  place-items: center;
  color: #6ea7d2;
  flex-shrink: 0;
}
body.theme-v2 .v2-actions .ico svg { width: 12px; height: 12px; }

body.theme-v2 .panel-body:has(> .v2-actions) {
  padding: 0 !important;
}
body.theme-v2 .panel-body:has(> .v2-breadcrumb),
body.theme-v2 .panel-body:has(> .v2-item-desc),
body.theme-v2 .panel-body:has(> .v2-detail-kv) {
  padding: 0 !important;
}

/* ============================================
   V2: Yetenekler sayfası (design birebir)
   ============================================ */

body.theme-v2 .v2-skill-intro {
  padding: 12px 16px 6px;
  color: var(--v2-ink-2);
  font-size: 12px;
  line-height: 1.55;
  border-bottom: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-skill-intro b { color: var(--v2-ink); font-weight: 600; }

body.theme-v2 .v2-skill-cat {
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  border-bottom: 1px solid var(--v2-thead-edge);
  padding: 6px 16px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-thead-text);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.theme-v2 .v2-skill-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 14px;
  padding: 9px 16px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
  cursor: pointer;
  transition: background .12s;
}
body.theme-v2 .v2-skill-row:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-skill-row:last-child { border-bottom: none; }
body.theme-v2 .v2-skill-row .name {
  color: var(--v2-link);
  font-weight: 600;
  white-space: nowrap;
}
body.theme-v2 .v2-skill-row:hover .name { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-skill-row .lvl-num {
  color: var(--v2-muted);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  margin-left: 6px;
  font-size: 12px;
}

/* Yıldız barı */
body.theme-v2 .v2-stars {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
body.theme-v2 .v2-stars .row {
  position: relative;
  display: inline-block;
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 1;
  color: #d8dde3;
}
body.theme-v2 .v2-stars .row .fill {
  position: absolute;
  left: 0; top: 0;
  overflow: hidden;
  color: #e07b1a;
  white-space: nowrap;
}
body.theme-v2 .v2-stars .pct {
  color: var(--v2-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  min-width: 32px;
  text-align: right;
}
body.theme-v2 .v2-stars .pct.max { color: #3d9a37; font-weight: 600; }

body.theme-v2 .panel-body:has(> .v2-skill-intro),
body.theme-v2 .panel-body:has(> .v2-skill-cat) {
  padding: 0 !important;
}

/* Yetenek detay sayfası */
body.theme-v2 .v2-sk-cat-suffix {
  color: var(--v2-muted);
  font-weight: 400;
  font-size: 12px;
}

body.theme-v2 .v2-sk-desc {
  padding: 14px 16px 6px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.5;
}

body.theme-v2 .v2-sk-card-box {
  margin: 8px 16px 14px;
  padding: 12px 14px 14px;
  background: #f1f4f7;
  border: 1px solid #d8dde3;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-sk-card-box .lbl {
  font-size: 11.5px;
  color: var(--v2-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}
body.theme-v2 .v2-sk-level {
  display: flex;
  align-items: center;
  gap: 14px;
}
body.theme-v2 .v2-sk-level .stars-big {
  position: relative;
  display: inline-block;
  font-size: 22px;
  letter-spacing: 4px;
  line-height: 1;
  color: #d8dde3;
}
body.theme-v2 .v2-sk-level .stars-big .fill {
  position: absolute;
  left: 0; top: 0;
  overflow: hidden;
  color: #e07b1a;
  white-space: nowrap;
}
body.theme-v2 .v2-sk-level .num {
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-sk-level .num small {
  color: var(--v2-muted);
  font-weight: 500;
}

body.theme-v2 .v2-sk-back {
  margin: 0 16px 14px;
  padding-top: 10px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-sk-back a { color: var(--v2-link); }
body.theme-v2 .v2-sk-back a:hover { color: var(--v2-link-hover); text-decoration: underline; }

body.theme-v2 .v2-preq-intro {
  padding: 12px 16px 8px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.5;
}
body.theme-v2 .v2-preq-intro b { color: var(--v2-ink); font-weight: 600; }

body.theme-v2 .v2-preq-row {
  display: grid;
  grid-template-columns: 1fr 130px 90px;
  align-items: center;
  column-gap: 14px;
  padding: 9px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-preq-row:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-preq-row .name { color: var(--v2-link); font-weight: 600; }
body.theme-v2 .v2-preq-row .name:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-preq-row .progress {
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-preq-row .progress small { color: var(--v2-muted); font-weight: 500; }
body.theme-v2 .v2-preq-row .status {
  text-align: right;
  font-size: 12px;
  font-weight: 600;
}
body.theme-v2 .v2-preq-row .status.miss { color: #a73b30; }
body.theme-v2 .v2-preq-row .status.ok { color: #3d9a37; }

body.theme-v2 .v2-notice {
  margin: 12px 16px 14px;
  padding: 10px 14px;
  background: linear-gradient(to bottom, #fdf5d4, #f5e8a8);
  border: 1px solid #d9bd5f;
  border-radius: 4px;
  color: #6b521b;
  font-size: 12px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-notice.ok {
  background: linear-gradient(to bottom, #e8f5e0, #c5e0b0);
  border-color: #7ab067;
  color: #2d5b1e;
}
body.theme-v2 .v2-notice .ico {
  flex-shrink: 0;
  color: #b8830f;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
}
body.theme-v2 .v2-notice.ok .ico { color: #3d9a37; }

body.theme-v2 .panel-body:has(> .v2-sk-desc),
body.theme-v2 .panel-body:has(> .v2-sk-card-box),
body.theme-v2 .panel-body:has(> .v2-preq-intro),
body.theme-v2 .panel-body:has(> .v2-preq-row),
body.theme-v2 .panel-body:has(> .v2-notice) {
  padding: 0 !important;
}

/* ============================================
   V2: Kupalar sayfası (design birebir)
   ============================================ */

body.theme-v2 .v2-trophy-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding: 8px 16px 10px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  font-size: 12px;
}
body.theme-v2 .v2-trophy-meta .stat {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--v2-muted);
  white-space: nowrap;
}
body.theme-v2 .v2-trophy-meta .stat .n {
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
body.theme-v2 .v2-trophy-meta .stat.gold .n { color: #b8830f; }

body.theme-v2 .v2-trophy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-trophy-table thead th.num,
body.theme-v2 .v2-trophy-table tbody td.num { text-align: right; }
body.theme-v2 .v2-trophy-table tbody td.pts { font-variant-numeric: tabular-nums; }
body.theme-v2 .v2-trophy-table thead th.sortable {
  cursor: pointer;
  user-select: none;
  transition: background .12s, color .12s;
}
body.theme-v2 .v2-trophy-table thead th.sortable:hover {
  color: #ffffff;
  background: linear-gradient(to bottom, #97a6b7, #788a9c);
}
body.theme-v2 .v2-trophy-table thead th.sortable::after {
  content: "↕";
  font-size: 11px;
  margin-left: 5px;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 400;
  vertical-align: 1px;
}
body.theme-v2 .v2-trophy-table thead th.sort-asc::after {
  content: "▲";
  color: #ffffff;
  font-size: 11px;
}
body.theme-v2 .v2-trophy-table thead th.sort-desc::after {
  content: "▼";
  color: #ffffff;
  font-size: 11px;
}
body.theme-v2 .v2-trophy-table thead th.sort-asc,
body.theme-v2 .v2-trophy-table thead th.sort-desc { color: #ffffff; }

body.theme-v2 .v2-trophy-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-trophy-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-trophy-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-trophy-table tbody td {
  padding: 9px 14px;
  vertical-align: middle;
}
body.theme-v2 .v2-trophy-table .icn {
  width: 44px;
  text-align: center;
}
body.theme-v2 .v2-trophy-table .icn img {
  width: 32px;
  height: 32px;
  display: inline-block;
  vertical-align: middle;
}
body.theme-v2 .v2-trophy-table .icn .emoji {
  font-size: 22px;
  line-height: 1;
}
body.theme-v2 .v2-trophy-table .name {
  color: var(--v2-ink);
  font-weight: 600;
  font-size: 13px;
}
body.theme-v2 .v2-trophy-table .desc {
  color: var(--v2-muted);
  font-size: 12px;
  margin-top: 2px;
}
body.theme-v2 .v2-trophy-table td.num.pts {
  color: #b8830f;
  font-weight: 700;
}
body.theme-v2 .v2-trophy-table td.muted { color: var(--v2-muted); }

body.theme-v2 .panel-body:has(> .v2-trophy-meta),
body.theme-v2 .panel-body:has(> .v2-trophy-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Kurslarım sayfası (design birebir)
   ============================================ */

/* Aktif kurs - key/value satırları */
body.theme-v2 .v2-course-kv {
  padding: 4px 0 0;
}
body.theme-v2 .v2-course-kv .kv {
  display: grid;
  grid-template-columns: 160px 1fr;
  column-gap: 14px;
  padding: 8px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
  align-items: baseline;
}
body.theme-v2 .v2-course-kv .kv:first-child { border-top: none; }
body.theme-v2 .v2-course-kv .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-course-kv .v { color: var(--v2-ink); }
body.theme-v2 .v2-course-kv .v.skill { font-weight: 600; }
body.theme-v2 .v2-course-kv .v a { color: var(--v2-link); font-weight: 500; }
body.theme-v2 .v2-course-kv .v a:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-course-kv .v .money { font-variant-numeric: tabular-nums; }
body.theme-v2 .v2-course-kv .v .money small {
  color: var(--v2-muted);
  font-weight: 500;
  margin-left: 3px;
  font-size: 11.5px;
}

body.theme-v2 .v2-course-actions {
  display: flex;
  gap: 8px;
  padding: 12px 16px 14px;
  margin-top: 4px;
  border-top: 1px solid var(--v2-card-edge-soft);
  flex-wrap: wrap;
}

/* Default buton */
body.theme-v2 .v2-btn-default {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
  border: 1px solid #b9c3cc;
  border-radius: 3px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 500;
  color: var(--v2-ink);
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  line-height: 1.5;
  font-family: inherit;
}
body.theme-v2 .v2-btn-default:hover {
  border-color: #9aa8b4;
  color: var(--v2-link);
  background: linear-gradient(to bottom, #ffffff, #e6ecf2);
  text-decoration: none;
}
body.theme-v2 .v2-btn-default.danger {
  color: #842a23;
  border-color: #c79993;
}
body.theme-v2 .v2-btn-default.danger:hover {
  color: #842a23;
  border-color: #a73b30;
  background: linear-gradient(to bottom, #ffffff, #ecc7c2);
}

/* Geçmiş kurs tablosu */
body.theme-v2 .v2-courses-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-courses-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-courses-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-courses-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-courses-table tbody td {
  padding: 10px 12px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-courses-table tbody td.muted { color: var(--v2-muted); }
body.theme-v2 .v2-courses-table tbody td a { font-weight: 500; }

/* Mini yıldız bar (geçmiş kurslarda son seviye) */
body.theme-v2 .v2-lvl-stars {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
body.theme-v2 .v2-lvl-stars .row {
  position: relative;
  display: inline-block;
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 1;
  color: #d8dde3;
}
body.theme-v2 .v2-lvl-stars .row .fill {
  position: absolute;
  left: 0; top: 0;
  overflow: hidden;
  color: #e07b1a;
  white-space: nowrap;
}
body.theme-v2 .v2-lvl-stars .pct {
  color: var(--v2-muted);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
}

/* Sonuç badge */
body.theme-v2 .v2-result {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  font-size: 12px;
  white-space: nowrap;
}
body.theme-v2 .v2-result.done { color: #3d9a37; }
body.theme-v2 .v2-result.cancel { color: #a73b30; }
body.theme-v2 .v2-result svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

body.theme-v2 .panel-body:has(> .v2-course-kv),
body.theme-v2 .panel-body:has(> .v2-courses-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Avatar sayfası
   ============================================ */

body.theme-v2 .v2-av-intro {
  padding: 14px 16px 4px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-av-intro b { color: var(--v2-ink); font-weight: 600; }
body.theme-v2 .v2-av-intro code {
  font-family: 'Public Sans', monospace;
  background: #f1f4f7;
  border: 1px solid #d8dde3;
  border-radius: 2px;
  padding: 0 4px;
  font-size: 12px;
  color: var(--v2-ink-2);
}

body.theme-v2 .v2-av-preview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 16px;
}
body.theme-v2 .v2-av-preview .col .lbl {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
body.theme-v2 .v2-av-preview .col .pic {
  width: 130px;
  height: 160px;
  border: 1px solid var(--v2-card-edge);
  border-radius: 4px;
  overflow: hidden;
  background: #e8edf2;
  position: relative;
}
body.theme-v2 .v2-av-preview .col .pic.empty {
  background-image:
    repeating-linear-gradient(45deg, transparent 0 8px, rgba(0, 0, 0, 0.04) 8px 9px),
    linear-gradient(135deg, #aab4be, #6a7682);
}
body.theme-v2 .v2-av-preview .col .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.theme-v2 .v2-av-preview .col .pic .emoji {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  font-size: 64px;
  color: #fff;
}
body.theme-v2 .v2-av-preview .col .pic .placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  text-align: center;
  padding: 8px;
}
body.theme-v2 .v2-av-preview .col .caption {
  margin-top: 8px;
  color: var(--v2-muted);
  font-size: 11.5px;
  line-height: 1.5;
  max-width: 220px;
}

/* Form */
body.theme-v2 .v2-av-form { padding: 6px 16px 16px; }
body.theme-v2 .v2-form-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--v2-ink-2);
  margin-bottom: 6px;
}
body.theme-v2 .v2-form-input {
  display: block;
  width: 100%;
  padding: 7px 10px;
  font: inherit;
  font-size: 13px;
  color: var(--v2-ink);
  background: #ffffff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
  transition: border-color .12s, box-shadow .12s;
  box-sizing: border-box;
}
body.theme-v2 .v2-form-input:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-form-hint {
  margin-top: 6px;
  font-size: 11.5px;
  color: var(--v2-muted);
}
body.theme-v2 .v2-form-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  flex-wrap: wrap;
}

/* v2-btn-default primary modifier */
body.theme-v2 .v2-btn-default.primary {
  color: #1f3a52;
  font-weight: 700;
  border-color: #6ea7d2;
}
body.theme-v2 .v2-btn-default.primary:hover {
  border-color: #2f7ec0;
  color: var(--v2-link-hover);
}

body.theme-v2 .panel-body:has(> .v2-av-intro),
body.theme-v2 .panel-body:has(> .v2-av-preview),
body.theme-v2 .panel-body:has(> .v2-av-form),
body.theme-v2 .panel-body:has(> form > .v2-av-intro),
body.theme-v2 .panel-body:has(> form > .v2-av-preview),
body.theme-v2 .panel-body:has(> form > .v2-av-form) {
  padding: 0 !important;
}

/* ============================================
   V2: Arkadaşlar sayfası
   ============================================ */

body.theme-v2 .v2-pref-box {
  margin: 12px 16px 6px;
  padding: 11px 14px;
  background: #f1f4f7;
  border: 1px solid #d8dde3;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-pref-box .label {
  color: var(--v2-ink);
  font-size: 12px;
}

body.theme-v2 .v2-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
  border: 1px solid #b9c3cc;
  border-radius: 3px;
  padding: 4px 10px;
  font: inherit;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  color: var(--v2-ink);
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}
body.theme-v2 .v2-toggle:hover { border-color: #9aa8b4; color: var(--v2-link); }
body.theme-v2 .v2-toggle .led {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(to bottom, #d6594e, #aa3a30);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
}
body.theme-v2 .v2-toggle.on .led {
  background: linear-gradient(to bottom, #8dcf5b, #5fae37);
  box-shadow: 0 0 0 2px rgba(95, 174, 55, 0.18);
}
body.theme-v2 .v2-toggle.on { color: #3d9a37; }

/* Friend table */
body.theme-v2 .v2-friend-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 6px;
}
body.theme-v2 .v2-friend-table thead th.chk-col {
  width: 24px;
  padding-left: 14px;
}
body.theme-v2 .v2-friend-table thead th.center { text-align: center; }
body.theme-v2 .v2-friend-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-friend-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-friend-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-friend-table tbody td {
  padding: 8px 12px;
  vertical-align: middle;
}
body.theme-v2 .v2-friend-table tbody td.chk-col { padding-left: 14px; }
body.theme-v2 .v2-friend-table tbody td.center { text-align: center; }
body.theme-v2 .v2-friend-table .fname {
  color: var(--v2-link);
  font-weight: 600;
}
body.theme-v2 .v2-friend-table .fname:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-friend-table .city { color: var(--v2-muted); }
body.theme-v2 .v2-friend-table .pres {
  font-size: 12px;
  color: var(--v2-muted);
}
body.theme-v2 .v2-friend-table .pres.online {
  color: #3d9a37;
  font-weight: 600;
}
body.theme-v2 .v2-friend-table .pres.online::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5fae37;
  box-shadow: 0 0 0 2px rgba(95, 174, 55, 0.18);
  margin-right: 6px;
  vertical-align: 1px;
}

/* Icon button (mesaj, bildirim) */
body.theme-v2 .v2-icn-btn {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 3px;
  color: #6ea7d2;
  transition: color .12s, background .12s;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
}
body.theme-v2 .v2-icn-btn:hover {
  color: var(--v2-link-hover);
  background: #dde6ee;
}
body.theme-v2 .v2-icn-btn svg {
  width: 14px;
  height: 14px;
}
body.theme-v2 .v2-icn-btn.off { color: #b0b6bd; }
body.theme-v2 .v2-icn-btn.off:hover { color: var(--v2-link); }

/* Table footer (toplu işlemler) */
body.theme-v2 .v2-table-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--v2-card-edge);
  background: #ececee;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

body.theme-v2 .panel-body:has(> .v2-pref-box),
body.theme-v2 .panel-body:has(> .v2-friend-table),
body.theme-v2 .panel-body:has(> form > .v2-friend-table) {
  padding: 0 !important;
}

/* ============================================
   V2: İlgilen sayfası (full-width, no rail)
   ============================================ */

/* İki karakter karşılıklı blok */
body.theme-v2 .v2-ilgilen-pair {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  padding: 20px 16px 8px;
}
body.theme-v2 .v2-pchar {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
  width: 128px;
  flex: 0 0 auto;
  text-align: center;
}
body.theme-v2 .v2-pchar .pav {
  width: 128px;
  height: 156px;
  border: 1px solid var(--v2-card-edge);
  border-radius: 4px;
  background: #e8edf2;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
body.theme-v2 .v2-pchar .pav.empty {
  background-image:
    repeating-linear-gradient(45deg, transparent 0 8px, rgba(0, 0, 0, 0.04) 8px 9px),
    linear-gradient(135deg, #aab4be, #6a7682);
}
body.theme-v2 .v2-pchar .pav img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.theme-v2 .v2-pchar .pav .emoji {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 62px;
  color: #fff;
}
body.theme-v2 .v2-pchar .pname {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-link);
  text-decoration: none;
}
body.theme-v2 .v2-pchar .pname:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-pchar .prole {
  color: var(--v2-muted);
  font-size: 12px;
  margin-top: 2px;
  text-align: center;
}
body.theme-v2 .v2-pchar .prole a { color: var(--v2-link); }
body.theme-v2 .v2-pchar .prole a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

/* Bağlantı oku */
body.theme-v2 .v2-conn {
  width: 24px;
  height: 1px;
  background: var(--v2-card-edge);
  margin-top: 78px;
  position: relative;
  flex: 0 0 auto;
}
body.theme-v2 .v2-conn::before,
body.theme-v2 .v2-conn::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
body.theme-v2 .v2-conn::before { left: 0; border-right: 6px solid #b8c2cc; }
body.theme-v2 .v2-conn::after { right: 0; border-left: 6px solid #b8c2cc; }

/* İlişki barları */
body.theme-v2 .v2-ilgilen-bars {
  padding: 18px 16px 8px;
  max-width: 560px;
  margin: 0 auto;
}
body.theme-v2 .v2-ibar {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  column-gap: 12px;
  margin-bottom: 9px;
}
body.theme-v2 .v2-ibar:last-child { margin-bottom: 0; }
body.theme-v2 .v2-ibar .lbl {
  font-weight: 600;
  color: var(--v2-ink-2);
  font-size: 13px;
}
body.theme-v2 .v2-ibar .lbl .dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: -1px;
}
body.theme-v2 .v2-ibar.fr   .lbl .dot { background: linear-gradient(to bottom, #8dcf5b, #5fae37); }
body.theme-v2 .v2-ibar.love .lbl .dot { background: linear-gradient(to bottom, #ee5a85, #c92e62); }
body.theme-v2 .v2-ibar.hate .lbl .dot { background: linear-gradient(to bottom, #d6594e, #aa3a30); }

body.theme-v2 .v2-ibar .track {
  position: relative;
  height: 14px;
  background: var(--v2-bar-bg);
  border: 1px solid var(--v2-bar-edge);
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 1px 1px rgba(0, 0, 0, 0.05) inset;
}
body.theme-v2 .v2-ibar .track > i {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: var(--v2-bar-green);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
}
body.theme-v2 .v2-ibar .track.low > i {
  background: var(--v2-bar-blue);
}
body.theme-v2 .v2-ibar .track.empty > i {
  background: var(--v2-bar-red);
}
body.theme-v2 .v2-ibar .track.peak > i {
  background: var(--v2-bar-yellow);
}
body.theme-v2 .v2-ibar .track .num {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #1f3a52;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
  font-variant-numeric: tabular-nums;
}

/* Sub section (Etkileşim, Eşya Kullan) */
body.theme-v2 .v2-sub-section {
  border-top: 1px solid var(--v2-card-edge-soft);
  padding: 14px 16px 6px;
  max-width: 560px;
  margin: 14px auto 0;
}
body.theme-v2 .v2-sub-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--v2-ink-2);
  font-weight: 700;
}
body.theme-v2 .v2-sub-head .sub-meta {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  color: var(--v2-muted);
}

body.theme-v2 .v2-interact-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
body.theme-v2 .v2-form-select {
  flex: 1;
  padding: 6px 10px;
  font: inherit;
  font-family: inherit;
  font-size: 13px;
  color: var(--v2-ink);
  background: #ffffff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
  cursor: pointer;
}
body.theme-v2 .v2-form-select:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-form-select:disabled {
  background: #f3f5f8;
  color: var(--v2-muted);
  cursor: not-allowed;
}

/* Geçmiş (en son ne zaman ilgilenildi) */
body.theme-v2 .v2-history-rows {
  max-width: 560px;
  margin: 14px auto 0;
  padding: 0 16px;
  color: var(--v2-ink-2);
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}
body.theme-v2 .v2-history-rows b { color: var(--v2-ink); font-weight: 600; }
body.theme-v2 .v2-history-rows .when { color: var(--v2-muted); }

/* Alt eylem butonları */
body.theme-v2 .v2-rel-actions {
  max-width: 560px;
  margin: 14px auto 0;
  padding: 0 16px 16px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

body.theme-v2 .panel-body:has(> .v2-ilgilen-pair),
body.theme-v2 .panel-body:has(> .v2-ilgilen-bars),
body.theme-v2 .panel-body:has(> .v2-sub-section),
body.theme-v2 .panel-body:has(> .v2-history-rows),
body.theme-v2 .panel-body:has(> .v2-rel-actions) {
  padding: 0 !important;
}

/* ============================================
   V2: Para Ver / Eşya Ver sayfaları
   ============================================ */

body.theme-v2 .v2-give-intro {
  padding: 14px 16px 6px;
  color: var(--v2-ink-2);
  font-size: 13.5px;
  line-height: 1.55;
}
body.theme-v2 .v2-give-intro b { color: var(--v2-ink); font-weight: 600; }

body.theme-v2 .v2-give-form { padding: 6px 16px 14px; }

body.theme-v2 .v2-form-input.small {
  max-width: 120px;
  width: 120px;
}

/* Form satırı */
body.theme-v2 .v2-form-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-form-row.col {
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}
body.theme-v2 .v2-form-label.inline {
  margin-bottom: 0;
  white-space: nowrap;
}
body.theme-v2 .v2-form-row .hint {
  color: var(--v2-muted);
  font-size: 12px;
}
body.theme-v2 textarea.v2-form-input {
  width: 100%;
  max-width: none;
  resize: vertical;
  font-family: inherit;
  min-height: 64px;
}

/* Eşya Ver — eşya satırı */
body.theme-v2 .v2-give-item {
  display: grid;
  grid-template-columns: 22px 1fr 60px auto;
  align-items: center;
  column-gap: 10px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-give-item:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-give-item.locked { opacity: 0.65; }
body.theme-v2 .v2-give-item .name {
  color: var(--v2-link);
  font-weight: 500;
}
body.theme-v2 .v2-give-item .name:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-give-item .var {
  color: var(--v2-muted);
  font-weight: 400;
  margin-left: 2px;
}
body.theme-v2 .v2-give-item .meta {
  color: var(--v2-muted);
  font-size: 12px;
  margin-left: 4px;
}
body.theme-v2 .v2-give-item .meta b {
  color: var(--v2-ink);
  font-weight: 500;
}
body.theme-v2 .v2-give-item .weight {
  color: var(--v2-muted);
  font-size: 12px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-give-item .flag {
  color: #c79550;
  font-size: 11.5px;
  font-style: italic;
  margin-left: 8px;
  white-space: nowrap;
}
body.theme-v2 .v2-give-item .flag.other {
  color: var(--v2-muted);
}

/* Eşya Ver — kategori bandı (full-width içinde içe sığ) */
body.theme-v2 .v2-give-cat {
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  border-bottom: 1px solid var(--v2-thead-edge);
  border-top: 1px solid var(--v2-thead-edge);
  padding: 6px 16px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-thead-text);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.theme-v2 .panel-body:has(> .v2-give-intro),
body.theme-v2 .panel-body:has(> form > .v2-give-intro),
body.theme-v2 .panel-body:has(> .v2-give-cat),
body.theme-v2 .panel-body:has(> form > .v2-give-cat),
body.theme-v2 .panel-body:has(> .v2-give-item),
body.theme-v2 .panel-body:has(> form > .v2-give-item) {
  padding: 0 !important;
}

/* ============================================
   V2: Eşya Teklifleri sayfası
   ============================================ */

body.theme-v2 .v2-offer-list { padding: 12px 16px 14px; }
body.theme-v2 .v2-offer-list + .v2-offer-list { padding-top: 0; }

body.theme-v2 .v2-offer {
  border: 1px solid #d8dde3;
  background: #f4f7fa;
  border-radius: 4px;
  padding: 12px 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-offer + .v2-offer { margin-top: 10px; }

body.theme-v2 .v2-offer-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-offer-head .who {
  color: var(--v2-ink);
  font-size: 13.5px;
}
body.theme-v2 .v2-offer-head .who a {
  color: var(--v2-link);
  font-weight: 700;
}
body.theme-v2 .v2-offer-head .who a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-offer-head .when {
  color: var(--v2-muted);
  font-size: 12px;
  margin-left: 4px;
}
body.theme-v2 .v2-offer-head .price {
  text-align: right;
  font-size: 13px;
  font-weight: 700;
  color: #3d9a37;
  white-space: nowrap;
}
body.theme-v2 .v2-offer-head .price.paid { color: #b8830f; }
body.theme-v2 .v2-offer-head .price small {
  display: block;
  color: var(--v2-muted);
  font-weight: 500;
  font-size: 11.5px;
  margin-top: 1px;
}

body.theme-v2 .v2-offer-items {
  border-top: 1px solid #d8dde3;
  padding-top: 8px;
  margin-bottom: 10px;
}
body.theme-v2 .v2-offer-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 13px;
  color: var(--v2-ink);
  gap: 12px;
}
body.theme-v2 .v2-offer-item .nm { font-weight: 500; }
body.theme-v2 .v2-offer-item .nm a { color: var(--v2-link); font-weight: 500; }
body.theme-v2 .v2-offer-item .nm a:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-offer-item .nm .var {
  color: var(--v2-muted);
  font-weight: 400;
  margin-left: 4px;
}
body.theme-v2 .v2-offer-item .wt {
  color: var(--v2-muted);
  font-size: 12px;
}

body.theme-v2 .v2-offer-note {
  margin: 8px 0 10px;
  padding: 8px 12px;
  background: linear-gradient(to bottom, #fdf5d4, #f5e8a8);
  border: 1px solid #d9bd5f;
  border-radius: 3px;
  color: #6b521b;
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-offer-note b { color: #4a3a0b; font-weight: 700; }

body.theme-v2 .v2-offer-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

body.theme-v2 .panel-body:has(> .v2-offer-list) {
  padding: 0 !important;
}

/* ============================================
   V2: İstatistikler sayfası
   ============================================ */

body.theme-v2 .v2-stat-section {
  padding: 6px 0 2px;
}
body.theme-v2 .v2-stat-section + .v2-stat-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-stat-section .sec-head {
  padding: 12px 16px 6px;
  font-size: 13.5px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 7px;
}
body.theme-v2 .v2-stat-section .sec-head .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}
body.theme-v2 .v2-stat-section.police .sec-head { color: #1d4d80; }
body.theme-v2 .v2-stat-section.police .dot { background: linear-gradient(to bottom, #5a8db8, #1d4d80); }
body.theme-v2 .v2-stat-section.judge .sec-head { color: #5b3a8a; }
body.theme-v2 .v2-stat-section.judge .dot { background: linear-gradient(to bottom, #9d7ac9, #5b3a8a); }
body.theme-v2 .v2-stat-section.fb .sec-head { color: #2c6618; }
body.theme-v2 .v2-stat-section.fb .dot { background: linear-gradient(to bottom, #8dcf5b, #5fae37); }
body.theme-v2 .v2-stat-section.slot .sec-head { color: #a01e58; }
body.theme-v2 .v2-stat-section.slot .dot { background: linear-gradient(to bottom, #ee5a85, #a01e58); }

body.theme-v2 .v2-stat-rows {
  padding: 4px 0 10px;
}
body.theme-v2 .v2-stat-rows .row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  padding: 6px 16px;
  column-gap: 16px;
  font-size: 13px;
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-stat-rows .row:first-child { border-top: none; }
body.theme-v2 .v2-stat-rows .row:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-stat-rows .k { color: var(--v2-ink-2); }
body.theme-v2 .v2-stat-rows .v {
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-stat-rows .v.none {
  color: var(--v2-muted);
  font-weight: 500;
}
body.theme-v2 .v2-stat-rows .v.money { color: var(--v2-ink); }
body.theme-v2 .v2-stat-rows .v.money small {
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-left: 3px;
  font-weight: 500;
}
body.theme-v2 .v2-stat-rows .v.gain { color: #3d9a37; }
body.theme-v2 .v2-stat-rows .v.gain small { color: var(--v2-muted); font-weight: 500; margin-left: 3px; font-size: 11.5px; }
body.theme-v2 .v2-stat-rows .v.loss { color: #a73b30; }
body.theme-v2 .v2-stat-rows .v.loss small { color: var(--v2-muted); font-weight: 500; margin-left: 3px; font-size: 11.5px; }

body.theme-v2 .v2-stat-section .sub-head {
  padding: 8px 16px 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--v2-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 4px;
  border-top: 1px dashed var(--v2-card-edge-soft);
}
body.theme-v2 .v2-stat-section .sub-head:first-of-type {
  border-top: none;
  margin-top: 0;
}

body.theme-v2 .panel-body:has(> .v2-stat-section) {
  padding: 0 !important;
}

/* ============================================
   V2: Mesajlar (sohbet listesi)
   ============================================ */

body.theme-v2 .v2-chat-intro {
  padding: 14px 16px 6px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
}

body.theme-v2 .v2-chat-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 4px;
}
body.theme-v2 .v2-chat-table thead th.center { text-align: center; }
body.theme-v2 .v2-chat-table thead th.icon-col {
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}
body.theme-v2 .v2-chat-table thead th.icon-col svg {
  width: 14px;
  height: 14px;
  opacity: 0.55;
}
body.theme-v2 .v2-chat-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
  cursor: pointer;
  transition: background .12s;
}
body.theme-v2 .v2-chat-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-chat-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-chat-table tbody td {
  padding: 9px 12px;
  vertical-align: middle;
}
body.theme-v2 .v2-chat-table tbody td.center { text-align: center; }
body.theme-v2 .v2-chat-table tbody .fname {
  color: var(--v2-link);
  font-weight: 600;
}
body.theme-v2 .v2-chat-table tbody tr:hover .fname {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-chat-table tbody .preview {
  color: var(--v2-ink-2);
  font-size: 12px;
}
body.theme-v2 .v2-chat-table tbody .preview .who {
  color: var(--v2-ink);
  font-weight: 500;
}
body.theme-v2 .v2-chat-table tbody .preview .when {
  color: var(--v2-muted);
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-chat-table tbody .count-cell {
  color: var(--v2-muted);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
}
body.theme-v2 .v2-chat-table tbody .badge {
  display: inline-block;
  min-width: 20px;
  padding: 0 7px;
  border-radius: 10px;
  background: linear-gradient(to bottom, #d6594e, #aa3a30);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}
body.theme-v2 .v2-chat-table .arrow {
  color: var(--v2-link);
  font-weight: 700;
  font-size: 14px;
}
body.theme-v2 .v2-chat-table tbody tr:hover .arrow { color: var(--v2-link-hover); }

body.theme-v2 .v2-chat-table tbody tr.unread { background: #fdf5d4; }
body.theme-v2 .v2-chat-table tbody tr.unread:hover { background: #f8ecb6; }
body.theme-v2 .v2-chat-table tbody tr.unread .fname {
  color: var(--v2-active);
  font-weight: 700;
}
body.theme-v2 .v2-chat-table tbody tr.unread .preview { color: var(--v2-ink-2); }

body.theme-v2 .panel-body:has(> .v2-chat-intro),
body.theme-v2 .panel-body:has(> .v2-chat-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Sohbet detay (mesaj akışı)
   ============================================ */

body.theme-v2 .v2-sohbet-intro {
  padding: 14px 16px 14px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-sohbet-intro b { color: var(--v2-ink); font-weight: 600; }

body.theme-v2 .v2-thread {
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.theme-v2 .v2-msg {
  display: flex;
  flex-direction: column;
  max-width: 70%;
}
body.theme-v2 .v2-msg.me { align-self: flex-end; align-items: flex-end; }
body.theme-v2 .v2-msg.them { align-self: flex-start; align-items: flex-start; }

body.theme-v2 .v2-msg .bubble {
  position: relative;
  background: #ffffff;
  border: 1px solid #d8dde3;
  border-radius: 6px;
  padding: 8px 30px 8px 12px;
  color: var(--v2-ink);
  font-size: 13.5px;
  line-height: 1.5;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 1px 2px rgba(0, 0, 0, 0.03);
  max-width: 100%;
  word-wrap: break-word;
  margin: 0;
}
body.theme-v2 .v2-msg.me .bubble {
  background: #f3f6fa;
  border-color: #c9d3dd;
}
body.theme-v2 .v2-msg.unread .bubble {
  background: #fdf5d4;
  border-color: #d9bd5f;
}
body.theme-v2 .v2-msg.unread.them .bubble { background: #fdf5d4; }

/* Star button */
body.theme-v2 .v2-msg .bubble .star {
  position: absolute;
  top: 5px;
  right: 7px;
  background: none;
  border: none;
  color: #c8d2dc;
  font-size: 14px;
  cursor: pointer;
  transition: color .12s;
  line-height: 1;
  padding: 0;
}
body.theme-v2 .v2-msg .bubble .star:hover,
body.theme-v2 .v2-msg .bubble .star.on { color: #e0a826; }

body.theme-v2 .v2-msg .msg-meta {
  margin-top: 4px;
  font-size: 11.5px;
  color: var(--v2-muted);
}
body.theme-v2 .v2-msg .msg-meta .sender {
  color: var(--v2-link);
  font-weight: 600;
}
body.theme-v2 .v2-msg .msg-meta .sender:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-msg .msg-meta .sep {
  margin: 0 4px;
  color: #c0c8d0;
}

/* Compose */
body.theme-v2 .v2-compose {
  padding: 0;
}
body.theme-v2 .v2-compose-toolbar {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
  align-items: center;
  flex-wrap: wrap;
}
body.theme-v2 .v2-compose-toolbar .sep-bar {
  width: 1px;
  height: 20px;
  background: var(--v2-card-edge);
  margin: 0 4px;
}
body.theme-v2 .v2-tool {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
  border: 1px solid #b9c3cc;
  border-radius: 3px;
  cursor: pointer;
  font: inherit;
  font-family: inherit;
  font-size: 12px;
  color: var(--v2-ink);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}
body.theme-v2 .v2-tool:hover {
  border-color: #9aa8b4;
  color: var(--v2-link);
}
body.theme-v2 .v2-tool.bold { font-weight: 700; }
body.theme-v2 .v2-tool.italic { font-style: italic; }
body.theme-v2 .v2-tool.underline { text-decoration: underline; }
body.theme-v2 .v2-tool.emoji {
  font-size: 14px;
  padding: 0;
  width: 28px;
  line-height: 1;
}

body.theme-v2 .v2-compose-textarea {
  width: 100%;
  min-height: 90px;
  padding: 10px 12px;
  font: inherit;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--v2-ink);
  background: #ffffff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
  resize: vertical;
  box-sizing: border-box;
}
body.theme-v2 .v2-compose-textarea:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}

body.theme-v2 .v2-compose-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  flex-wrap: wrap;
  gap: 8px;
}
body.theme-v2 .v2-compose-footer .hint {
  color: var(--v2-muted);
  font-size: 11.5px;
}
body.theme-v2 .v2-compose-footer .hint code {
  font-family: 'Public Sans', monospace;
  color: var(--v2-ink-2);
  background: #f1f4f7;
  border: 1px solid #d8dde3;
  border-radius: 2px;
  padding: 0 3px;
}

body.theme-v2 .panel-body:has(> .v2-sohbet-intro),
body.theme-v2 .panel-body:has(> .v2-thread) {
  padding: 0 !important;
}

/* ============================================
   V2: Karakter Ara sayfası
   ============================================ */

body.theme-v2 .v2-search-form {
  padding: 14px 16px 8px;
}
body.theme-v2 .v2-search-input {
  display: block;
  width: 100%;
  padding: 8px 12px;
  font: inherit;
  font-family: inherit;
  font-size: 14px;
  color: var(--v2-ink);
  background: #ffffff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
  box-sizing: border-box;
}
body.theme-v2 .v2-search-input:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-search-hint {
  margin-top: 8px;
  font-size: 12px;
  color: var(--v2-muted);
  line-height: 1.5;
}
body.theme-v2 .v2-search-hint i { font-style: italic; color: var(--v2-ink-2); }

body.theme-v2 .v2-result-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-result-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
  cursor: pointer;
  transition: background .12s;
}
body.theme-v2 .v2-result-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-result-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-result-table tbody td {
  padding: 9px 12px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-result-table tbody td.muted { color: var(--v2-muted); }
body.theme-v2 .v2-result-table .fname {
  color: var(--v2-link);
  font-weight: 600;
}
body.theme-v2 .v2-result-table tbody tr:hover .fname {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-result-table .gen {
  color: var(--v2-muted);
  font-size: 12px;
  margin-left: 4px;
}

body.theme-v2 .v2-search-status {
  padding: 12px 16px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 13px;
}

body.theme-v2 .panel-body:has(> div > .v2-search-form),
body.theme-v2 .panel-body:has(> div > .v2-result-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Meslek - Futbolcu Bilgi
   ============================================ */

/* Card header'da takım adı (futbolcu) */
body.theme-v2 .v2-job-meta {
  color: var(--v2-muted);
  font-weight: 400;
  font-size: 13px;
  margin-left: 4px;
}
body.theme-v2 .v2-job-meta a {
  color: var(--v2-muted);
  font-weight: 400;
}
body.theme-v2 .v2-job-meta a:hover {
  color: var(--v2-link);
}

/* Takım banner kartı (üstte büyük logo+isim) */
body.theme-v2 .v2-team-banner {
  margin-bottom: 14px;
  padding: 14px 18px;
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  display: flex;
  align-items: center;
  gap: 14px;
}
body.theme-v2 .v2-team-banner .crest {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
body.theme-v2 .v2-team-banner .crest img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
body.theme-v2 .v2-team-banner .name {
  font-size: 18px;
  font-weight: 700;
  color: var(--v2-link);
}
body.theme-v2 .v2-team-banner .name:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-team-banner .sub {
  color: var(--v2-muted);
  font-size: 12px;
  margin-top: 2px;
}
body.theme-v2 .v2-team-banner .sub b {
  color: var(--v2-ink);
  font-weight: 600;
}

/* Job section + head */
body.theme-v2 .v2-job-section {
  margin: 0 -16px;
  padding: 4px 0 6px;
}
body.theme-v2 .v2-job-section + .v2-job-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-job-head {
  padding: 12px 16px 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-active);
}
body.theme-v2 .v2-job-section .v2-stat-rows .row {
  padding: 6px 16px;
}
body.theme-v2 .v2-job-section .v2-match-card {
  margin: 6px 16px;
}

/* Stat rows içindeki .pos/.neg (gol averajı) */
body.theme-v2 .v2-stat-rows .v .pos { color: #3d9a37; }
body.theme-v2 .v2-stat-rows .v .neg { color: #a73b30; }

/* Match card (son/gelecek maç) — kart kendisi tıklanabilir değil */
body.theme-v2 .v2-match-card {
  margin: 6px 0 0;
  padding: 11px 14px;
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
  display: block;
}
body.theme-v2 .v2-match-card .teams {
  color: var(--v2-link);
  font-size: 14px;
  font-weight: 500;
}
body.theme-v2 .v2-match-card .teams a {
  color: var(--v2-link);
}
body.theme-v2 .v2-match-card .teams a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-match-card .teams .score-link {
  color: var(--v2-link);
  font-weight: 700;
  margin: 0 4px;
  border-bottom: 1px dashed transparent;
  transition: color .12s, border-color .12s;
}
body.theme-v2 .v2-match-card .teams .score-link:hover {
  color: var(--v2-link-hover);
  border-bottom-color: var(--v2-link-hover);
  text-decoration: none;
}
body.theme-v2 .v2-match-card .teams .vs {
  color: var(--v2-muted);
  font-weight: 500;
  margin: 0 4px;
  font-style: italic;
}
body.theme-v2 .v2-match-card .teams .vs-link {
  color: var(--v2-muted);
  font-weight: 500;
  margin: 0 4px;
  font-style: italic;
  text-decoration: none;
}
body.theme-v2 .v2-match-card .teams .vs-link:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-match-card .when {
  color: var(--v2-muted);
  font-size: 12px;
  margin-top: 3px;
}
body.theme-v2 .v2-match-card .my-rating {
  color: var(--v2-muted);
  font-size: 12px;
  margin-top: 3px;
}
body.theme-v2 .v2-match-card .my-rating b { font-weight: 700; }
body.theme-v2 .v2-match-card .my-rating .motm {
  color: #c79550;
  margin-left: 6px;
}

/* Mini crest (maç kartlarında) */
body.theme-v2 .v2-mini-crest {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  vertical-align: -3px;
  margin-right: 5px;
  flex-shrink: 0;
}
body.theme-v2 .v2-mini-crest img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* ============================================
   V2: Meslek - Futbolcu İstatistikler
   ============================================ */

body.theme-v2 .v2-stats-sub-head {
  padding: 14px 16px 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-active);
  margin: 0 -16px;
}

body.theme-v2 .v2-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 4px 0 8px;
}
body.theme-v2 .v2-stat-col {
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-stat-col-hdr {
  padding: 8px 12px;
  background: linear-gradient(to bottom, #e8eef5, #d4dde7);
  border-bottom: 1px solid #c0cdd8;
  font-weight: 700;
  color: var(--v2-ink);
  font-size: 13px;
}
body.theme-v2 .v2-stat-col .v2-stat-rows {
  padding: 0;
}
body.theme-v2 .v2-stat-col .v2-stat-rows .row {
  padding: 6px 12px;
  background: transparent;
  border-top: none;
}
body.theme-v2 .v2-stat-col .v2-stat-rows .row + .row {
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}
body.theme-v2 .v2-stat-col .v2-stat-rows .row:hover {
  background: transparent;
}

body.theme-v2 .v2-empty-line {
  padding: 4px 0 14px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 13px;
}

/* Son 5 maç tablosu */
body.theme-v2 .v2-recent-matches {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-recent-matches td {
  padding: 8px 0;
  border-bottom: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-recent-matches tr:last-child td { border-bottom: none; }
body.theme-v2 .v2-recent-matches a { color: var(--v2-link); }
body.theme-v2 .v2-recent-matches a:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-recent-matches td.right {
  text-align: right;
  white-space: nowrap;
  font-weight: 700;
}

/* ============================================
   V2: Sosyal Futbol Ligi sayfaları
   ============================================ */

/* Ortak: takım crest (logo) — sadece logo varsa img, kutu yok */
body.theme-v2 .v2-fb-crest {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin: 0 6px;
  vertical-align: -8px;
  flex-shrink: 0;
}
body.theme-v2 .v2-fb-crest img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
body.theme-v2 .v2-fb-crest.sm {
  width: 22px;
  height: 22px;
  margin: 0 6px 0 0;
  vertical-align: -6px;
}
body.theme-v2 .v2-fb-crest.xs {
  width: 16px;
  height: 16px;
  margin: 0 2px 0 0;
  vertical-align: -3px;
}

/* ===== Selectors (sezon/hafta) ===== */
body.theme-v2 .v2-fb-selectors {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  padding: 14px 16px;
  background: #f1f4f7;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  flex-wrap: wrap;
}
body.theme-v2 .v2-fb-selectors-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.theme-v2 .v2-fb-selectors-field .lbl {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--v2-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.theme-v2 .v2-fb-selectors .v2-form-select {
  min-width: 140px;
}

/* ===== Fikstür sayfası ===== */
body.theme-v2 .v2-fb-week-meta {
  padding: 14px 16px 8px;
  font-size: 13px;
  color: var(--v2-ink-2);
}
body.theme-v2 .v2-fb-week-meta b {
  color: var(--v2-active);
  font-weight: 700;
}
body.theme-v2 .v2-fb-week-meta .when { color: var(--v2-muted); }

body.theme-v2 .v2-fixture-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-fixture-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-fixture-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-fixture-table tbody tr:nth-child(even) { background: var(--v2-row-alt); }
body.theme-v2 .v2-fixture-table tbody td {
  padding: 8px 12px;
  vertical-align: middle;
}
body.theme-v2 .v2-fixture-table .home {
  text-align: right;
  color: var(--v2-link);
  font-weight: 500;
}
body.theme-v2 .v2-fixture-table .away {
  text-align: left;
  color: var(--v2-link);
  font-weight: 500;
}
body.theme-v2 .v2-fixture-table .home a,
body.theme-v2 .v2-fixture-table .away a {
  color: var(--v2-link);
}
body.theme-v2 .v2-fixture-table .home a:hover,
body.theme-v2 .v2-fixture-table .away a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-fixture-table .score {
  text-align: center;
  width: 90px;
  color: var(--v2-link);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-fixture-table .score a {
  color: var(--v2-link);
  border-bottom: 1px dashed transparent;
}
body.theme-v2 .v2-fixture-table .score a:hover {
  color: var(--v2-link-hover);
  border-bottom-color: var(--v2-link-hover);
  text-decoration: none;
}
body.theme-v2 .v2-fixture-table .score .vs {
  color: var(--v2-muted);
  font-style: italic;
}

/* ===== Puan Durumu sayfası ===== */
body.theme-v2 .v2-standings-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-standings-table thead th.num { text-align: center; }
body.theme-v2 .v2-standings-table thead th.rank { width: 40px; text-align: center; }
body.theme-v2 .v2-standings-table thead th.team { padding-left: 14px; }
body.theme-v2 .v2-standings-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-standings-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-standings-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-standings-table tbody td {
  padding: 8px 8px;
  vertical-align: middle;
}
body.theme-v2 .v2-standings-table tbody td.rank {
  width: 40px;
  text-align: center;
  color: var(--v2-ink-2);
  font-weight: 600;
}
body.theme-v2 .v2-standings-table tbody td.team {
  padding-left: 14px;
  color: var(--v2-link);
}
body.theme-v2 .v2-standings-table tbody td.team a {
  color: var(--v2-link);
  font-weight: 600;
}
body.theme-v2 .v2-standings-table tbody td.team a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-standings-table tbody td.num {
  text-align: center;
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-standings-table tbody td.num.pos { color: #3d9a37; font-weight: 600; }
body.theme-v2 .v2-standings-table tbody td.num.neg { color: #a73b30; font-weight: 600; }
body.theme-v2 .v2-standings-table tbody td.num.pts { font-weight: 700; }
body.theme-v2 .v2-standings-table tbody tr.gold {
  background: linear-gradient(to right, rgba(245, 232, 168, 0.35), transparent 75%);
}
body.theme-v2 .v2-standings-table tbody tr.gold:hover {
  background: linear-gradient(to right, rgba(245, 232, 168, 0.55), var(--v2-row-alt) 75%);
}
body.theme-v2 .v2-standings-table tbody tr.silver {
  background: linear-gradient(to right, rgba(141, 207, 91, 0.12), transparent 75%);
}
body.theme-v2 .v2-standings-table tbody tr.silver:hover {
  background: linear-gradient(to right, rgba(141, 207, 91, 0.22), var(--v2-row-alt) 75%);
}
body.theme-v2 .v2-standings-table tbody tr.me td.team a { color: #cc6f00; }
body.theme-v2 .v2-standings-table tbody tr.me td.rank { color: #cc6f00; }

/* ===== Takımlar sayfası ===== */
body.theme-v2 .v2-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  padding: 14px 16px 16px;
}
body.theme-v2 .v2-team-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-decoration: none;
  transition: border-color .12s, background .12s;
}
body.theme-v2 .v2-team-card:hover {
  border-color: #6ea7d2;
  background: linear-gradient(to bottom, #ffffff, #dce8f1);
  text-decoration: none;
}
body.theme-v2 .v2-team-card.me {
  background: linear-gradient(to bottom, #fdf5d4, #f5e8a8);
  border-color: #d9bd5f;
}
body.theme-v2 .v2-team-card.me:hover {
  background: linear-gradient(to bottom, #fff8db, #f1e094);
}
body.theme-v2 .v2-team-card .v2-fb-crest {
  width: 32px;
  height: 32px;
  margin: 0;
  vertical-align: 0;
  flex-shrink: 0;
}
body.theme-v2 .v2-team-card .info { flex: 1; min-width: 0; }
body.theme-v2 .v2-team-card .name {
  color: var(--v2-link);
  font-weight: 700;
  font-size: 14px;
}
body.theme-v2 .v2-team-card:hover .name { color: var(--v2-link-hover); }

/* ===== Oyuncu İstatistikleri ===== */
body.theme-v2 .v2-fb-stat-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 14px 16px 16px;
}
body.theme-v2 .v2-fb-stat-pair .v2-stat-col {
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-fb-stat-pair .v2-stat-col-hdr {
  padding: 8px 12px;
  background: linear-gradient(to bottom, #e8eef5, #d4dde7);
  border-bottom: 1px solid #c0cdd8;
  font-weight: 700;
  color: var(--v2-ink);
  font-size: 13px;
}
body.theme-v2 .v2-rank-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-rank-table thead th.num { text-align: right; }
body.theme-v2 .v2-rank-table thead th.rank { width: 32px; text-align: center; }
body.theme-v2 .v2-rank-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-rank-table tbody td {
  padding: 6px 10px;
  border-top: 1px solid var(--v2-card-edge-soft);
  vertical-align: middle;
}
body.theme-v2 .v2-rank-table tbody tr:first-child td { border-top: none; }
body.theme-v2 .v2-rank-table .rank {
  width: 32px;
  text-align: center;
  color: var(--v2-ink-2);
}
body.theme-v2 .v2-rank-table .pl { color: var(--v2-ink); }
body.theme-v2 .v2-rank-table .tm a {
  color: var(--v2-link);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
body.theme-v2 .v2-rank-table .tm a:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-rank-table .num {
  text-align: right;
  font-weight: 700;
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}

/* Rekorlar */
body.theme-v2 .v2-rec-section { padding: 6px 0 4px; }
body.theme-v2 .v2-rec-section + .v2-rec-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-rec-head {
  padding: 12px 16px 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--v2-active);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.theme-v2 .v2-rec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 16px 12px;
}
body.theme-v2 .v2-rec-card {
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  padding: 10px 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-rec-card .rec-title {
  color: var(--v2-link);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
}
body.theme-v2 .v2-rec-row {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 1.5;
}
body.theme-v2 .v2-rec-row:last-child { margin-bottom: 0; }
body.theme-v2 .v2-rec-row .lbl {
  display: block;
  color: var(--v2-ink-2);
  font-size: 11.5px;
  margin-bottom: 1px;
}
body.theme-v2 .v2-rec-row b { color: var(--v2-ink); font-weight: 700; }
body.theme-v2 .v2-rec-row .muted { color: var(--v2-muted); }
body.theme-v2 .v2-rec-row a { color: var(--v2-link); font-weight: 500; }
body.theme-v2 .v2-rec-row a:hover { color: var(--v2-link-hover); text-decoration: underline; }

/* ===== Kadro (meslek - diğer oyuncular) ===== */
body.theme-v2 .v2-kadro-head {
  padding: 14px 16px 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-active);
  margin: 0 -16px;
}
body.theme-v2 .v2-kadro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
body.theme-v2 .v2-kadro-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-kadro-card.me {
  background: linear-gradient(to bottom, #fdf5d4, #f5e8a8);
  border-color: #d9bd5f;
}
body.theme-v2 .v2-kadro-card .num {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #38424d, #1f2932);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset, 0 1px 2px rgba(0, 0, 0, 0.15);
}
body.theme-v2 .v2-kadro-card.me .num {
  background: linear-gradient(135deg, #2c4d70, #1f3a52);
}
body.theme-v2 .v2-kadro-card .info { flex: 1; min-width: 0; }
body.theme-v2 .v2-kadro-card .name {
  font-weight: 700;
  color: var(--v2-ink);
  font-size: 13.5px;
}
body.theme-v2 .v2-kadro-card .name a { color: var(--v2-link); }
body.theme-v2 .v2-kadro-card .name a:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-kadro-card .sub {
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-top: 1px;
}
body.theme-v2 .v2-kadro-card.me .sub { color: #6b521b; }

/* Boş numara al */
body.theme-v2 .v2-grab-num {
  margin: 14px 0 0;
  padding: 12px 14px;
  background: #f1f4f7;
  border: 1px solid #d8dde3;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-grab-head {
  font-weight: 700;
  color: var(--v2-ink);
  font-size: 13px;
  margin-bottom: 8px;
}
body.theme-v2 .v2-grab-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
}
body.theme-v2 .v2-grab-input {
  width: 100px;
  padding: 5px 10px;
  font: inherit;
  font-size: 13px;
  color: var(--v2-ink);
  background: #ffffff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-grab-input:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-grab-hint {
  color: var(--v2-muted);
  font-size: 12px;
  line-height: 1.4;
}

/* Panel-body padding sıfırlama */
body.theme-v2 .panel-body:has(> .v2-fb-selectors),
body.theme-v2 .panel-body:has(> .v2-fixture-table),
body.theme-v2 .panel-body:has(> .v2-standings-table),
body.theme-v2 .panel-body:has(> .v2-team-grid),
body.theme-v2 .panel-body:has(> .v2-fb-stat-pair),
body.theme-v2 .panel-body:has(> .v2-rec-section),
body.theme-v2 .panel-body:has(> .v2-fb-week-meta) {
  padding: 0 !important;
}

/* ============================================
   V2: Duyurular sayfası
   ============================================ */

body.theme-v2 .v2-ann {
  padding: 18px 20px 22px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-ann:last-child { border-bottom: none; }
body.theme-v2 .v2-ann-title {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 700;
  color: var(--v2-ink);
  letter-spacing: -0.01em;
}
body.theme-v2 .v2-ann-when {
  color: var(--v2-link);
  font-size: 12px;
  margin-bottom: 12px;
}
body.theme-v2 .v2-ann-body {
  color: var(--v2-ink);
  font-size: 13.5px;
  line-height: 1.6;
}
body.theme-v2 .v2-ann-body p { margin: 0 0 8px; }
body.theme-v2 .v2-ann-body p:last-child { margin-bottom: 0; }
body.theme-v2 .v2-ann-image {
  width: 100%;
  max-height: 260px;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 12px;
  display: block;
}

body.theme-v2 .panel-body:has(> .v2-ann) {
  padding: 0 !important;
}

/* ============================================
   V2: Şehir sayfası
   ============================================ */

body.theme-v2 .v2-loc-pin {
  color: #cc6f00;
  margin-right: 2px;
}
body.theme-v2 .v2-city-here {
  font-weight: 400;
  font-size: 12px;
  color: #cc6f00;
}

body.theme-v2 .v2-city-kv {
  padding: 0;
}
body.theme-v2 .v2-city-kv .kv {
  display: grid;
  grid-template-columns: 200px 1fr;
  column-gap: 14px;
  padding: 9px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13.5px;
}
body.theme-v2 .v2-city-kv .kv:nth-child(even) { background: var(--v2-row-alt); }
body.theme-v2 .v2-city-kv .kv:first-child { border-top: none; }
body.theme-v2 .v2-city-kv .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-city-kv .v { color: var(--v2-ink); }
body.theme-v2 .v2-city-kv .online {
  color: #3d9a37;
  font-weight: 600;
  margin-left: 4px;
  font-size: 12px;
}
body.theme-v2 .v2-city-kv .online .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5fae37;
  box-shadow: 0 0 0 2px rgba(95, 174, 55, 0.18);
  margin-right: 3px;
  vertical-align: 1px;
}

body.theme-v2 .v2-city-welcome {
  padding: 14px 18px 18px;
  color: var(--v2-ink);
  font-size: 13.5px;
  line-height: 1.65;
}
body.theme-v2 .v2-city-welcome p { margin: 0 0 12px; }
body.theme-v2 .v2-city-welcome p:last-child { margin-bottom: 0; }
body.theme-v2 .v2-city-welcome b { color: var(--v2-ink); font-weight: 700; }

body.theme-v2 .panel-body:has(> .v2-city-kv),
body.theme-v2 .panel-body:has(> .v2-city-welcome) {
  padding: 0 !important;
}

/* ============================================
   V2: Takım Detay sayfası
   ============================================ */

body.theme-v2 .v2-team-banner-big {
  margin: 14px 16px;
  padding: 16px 18px;
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  display: flex;
  align-items: center;
  gap: 18px;
}
body.theme-v2 .v2-team-banner-big .crest-big {
  width: 68px;
  height: 68px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}
body.theme-v2 .v2-team-banner-big .crest-big img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
body.theme-v2 .v2-team-banner-big .team-name {
  color: var(--v2-ink);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
body.theme-v2 .v2-team-banner-big .team-meta {
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.6;
}
body.theme-v2 .v2-team-banner-big .team-meta b {
  color: var(--v2-ink);
  font-weight: 600;
  margin-right: 2px;
}
body.theme-v2 .v2-team-banner-big .team-meta a {
  color: var(--v2-link);
  font-weight: 500;
}
body.theme-v2 .v2-team-banner-big .team-meta a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-team-banner-big .team-meta .pts { color: var(--v2-ink); font-weight: 700; }
body.theme-v2 .v2-team-banner-big .team-meta .pos { color: #3d9a37; font-weight: 700; }
body.theme-v2 .v2-team-banner-big .team-meta .neg { color: #a73b30; font-weight: 700; }

/* Takım detay section */
body.theme-v2 .v2-td-section { padding: 6px 0 8px; }
body.theme-v2 .v2-td-section + .v2-td-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-td-head {
  padding: 12px 16px 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-ink);
}

body.theme-v2 .v2-td-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-td-table thead th.num { text-align: right; }
body.theme-v2 .v2-td-table thead th.num-col { width: 50px; text-align: left; }
body.theme-v2 .v2-td-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-td-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-td-table tbody tr:nth-child(even) { background: var(--v2-row-alt); }
body.theme-v2 .v2-td-table tbody tr:hover { background: #e7eef5; }
body.theme-v2 .v2-td-table tbody td {
  padding: 9px 14px;
  vertical-align: middle;
}
body.theme-v2 .v2-td-table .num-cell { width: 50px; color: var(--v2-ink-2); }
body.theme-v2 .v2-td-table .num {
  text-align: right;
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-td-table .muted { color: var(--v2-muted); }
body.theme-v2 .v2-td-table a { color: var(--v2-link); font-weight: 500; }
body.theme-v2 .v2-td-table a:hover { color: var(--v2-link-hover); text-decoration: underline; }

body.theme-v2 .v2-td-table.matches .res {
  width: 36px;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
}
body.theme-v2 .v2-td-table.matches .res.win { color: #3d9a37; }
body.theme-v2 .v2-td-table.matches .res.loss { color: #a73b30; }
body.theme-v2 .v2-td-table.matches .res.draw { color: var(--v2-ink-2); }
body.theme-v2 .v2-td-table.matches .score {
  text-align: center;
  width: 90px;
  color: var(--v2-link);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-td-table.matches .score a {
  color: var(--v2-link);
  border-bottom: 1px dashed transparent;
}
body.theme-v2 .v2-td-table.matches .score a:hover {
  color: var(--v2-link-hover);
  border-bottom-color: var(--v2-link-hover);
  text-decoration: none;
}

body.theme-v2 .v2-td-back {
  padding: 12px 16px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-td-back a { color: var(--v2-link); }
body.theme-v2 .v2-td-back a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

/* ============================================
   V2: Maç Detay sayfası
   ============================================ */

body.theme-v2 .v2-match-hero {
  margin: 14px 16px;
  background: linear-gradient(135deg, #2c3e52, #14283c);
  border: 1px solid #0f2235;
  border-radius: 6px;
  padding: 24px 30px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  color: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 2px 4px rgba(0, 0, 0, 0.15);
}
body.theme-v2 .v2-match-hero .side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
body.theme-v2 .v2-match-hero .crest-big {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
}
body.theme-v2 .v2-match-hero .crest-big img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
body.theme-v2 .v2-match-hero .team-name {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}
body.theme-v2 .v2-match-hero .team-name a {
  color: #fff;
  text-decoration: none;
}
body.theme-v2 .v2-match-hero .team-name a:hover {
  color: #ffd07a;
  text-decoration: underline;
}
body.theme-v2 .v2-match-hero .team-role {
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
}
body.theme-v2 .v2-match-hero .center { text-align: center; }
body.theme-v2 .v2-match-hero .score {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1;
}
body.theme-v2 .v2-match-hero .when {
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  margin-top: 6px;
}

/* MotM */
body.theme-v2 .v2-motm {
  margin: 0 16px 14px;
  padding: 14px 18px;
  background: linear-gradient(135deg, #f3c34a, #d4a017);
  border: 1px solid #a07d12;
  border-radius: 5px;
  color: #2a1f02;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset;
}
body.theme-v2 .v2-motm-lbl {
  font-size: 11.5px;
  font-weight: 700;
  color: #5a4408;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}
body.theme-v2 .v2-motm-name {
  font-size: 17px;
  font-weight: 700;
  color: #2a1f02;
}
body.theme-v2 .v2-motm-name a { color: #2a1f02; text-decoration: none; }
body.theme-v2 .v2-motm-name a:hover { text-decoration: underline; }
body.theme-v2 .v2-motm-name .motm-team { font-weight: 500; }
body.theme-v2 .v2-motm-score {
  font-size: 12px;
  color: #4a3a08;
  margin-top: 3px;
}
body.theme-v2 .v2-motm-score b { color: #2a1f02; font-weight: 700; }

/* Goller */
body.theme-v2 .v2-md-section { padding: 6px 0 8px; }
body.theme-v2 .v2-md-section + .v2-md-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-md-head {
  padding: 12px 16px 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-ink);
}

body.theme-v2 .v2-goals {
  margin: 0 16px 12px;
  background: linear-gradient(to bottom, #f3f7fb, #e6eef5);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  overflow: hidden;
}
body.theme-v2 .v2-goal {
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid #c9d6e0;
}
body.theme-v2 .v2-goal:last-child { border-bottom: none; }
body.theme-v2 .v2-goal-pl { font-size: 13px; }
body.theme-v2 .v2-goal-pl.left { text-align: right; }
body.theme-v2 .v2-goal-pl.right { text-align: left; }
body.theme-v2 .v2-goal .scorer a { color: var(--v2-ink); font-weight: 700; }
body.theme-v2 .v2-goal .scorer a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-goal .assist {
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-top: 2px;
}
body.theme-v2 .v2-goal .assist a { color: var(--v2-muted); }
body.theme-v2 .v2-goal .assist a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-badge-a {
  display: inline-block;
  background: #4f6478;
  color: #fff;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 4px;
  margin-right: 2px;
  vertical-align: 1px;
}
body.theme-v2 .v2-goal-min {
  text-align: center;
  color: var(--v2-ink-2);
  font-weight: 700;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

/* Lineups */
body.theme-v2 .v2-lineups {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 0 16px 12px;
}
body.theme-v2 .v2-lineup {
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}
body.theme-v2 .v2-lineup-hdr {
  padding: 8px 12px;
  background: linear-gradient(to bottom, #e8eef5, #d4dde7);
  border-bottom: 1px solid #c0cdd8;
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-ink);
  display: flex;
  align-items: center;
  gap: 6px;
}
body.theme-v2 .v2-lineup-hdr a { color: var(--v2-link); }
body.theme-v2 .v2-lineup-hdr a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-lineup-hdr .v2-fb-crest {
  width: 22px;
  height: 22px;
  margin: 0;
  vertical-align: 0;
}
body.theme-v2 .v2-lineup-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-lineup-row:first-of-type { border-top: none; }
body.theme-v2 .v2-lineup-row:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-lineup-row .pl { color: var(--v2-link); }
body.theme-v2 .v2-lineup-row .pl:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-lineup-row .rate {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-lineup-row .rate small {
  color: var(--v2-muted);
  font-weight: 500;
  font-size: 11px;
}
body.theme-v2 .v2-lineup-row .rate.gold { color: #b8830f; }
body.theme-v2 .v2-lineup-row .rate.green { color: #3d9a37; }
body.theme-v2 .v2-lineup-row .rate.ok { color: var(--v2-ink); }
body.theme-v2 .v2-lineup-row .rate.low { color: #a73b30; }
body.theme-v2 .v2-lineup-row.motm-row { background: rgba(245, 232, 168, 0.4); }
body.theme-v2 .v2-lineup-row.motm-row .pl { color: #5a4408; font-weight: 700; }

body.theme-v2 .v2-md-back {
  padding: 12px 16px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-md-back a { color: var(--v2-link); }
body.theme-v2 .v2-md-back a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

body.theme-v2 .panel-body:has(> .v2-team-banner-big),
body.theme-v2 .panel-body:has(> .v2-td-section),
body.theme-v2 .panel-body:has(> .v2-match-hero),
body.theme-v2 .panel-body:has(> .v2-motm),
body.theme-v2 .panel-body:has(> .v2-md-section),
body.theme-v2 .panel-body:has(> .v2-td-back),
body.theme-v2 .panel-body:has(> .v2-md-back) {
  padding: 0 !important;
}

/* ============================================
   V2: Şehir Mekanlar sayfası
   ============================================ */

body.theme-v2 .v2-cat-section { padding: 4px 0 4px; }
body.theme-v2 .v2-cat-section + .v2-cat-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-cat-head {
  padding: 10px 16px 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-ink);
}
body.theme-v2 .v2-cat-head .count {
  color: var(--v2-muted);
  font-weight: 400;
  font-size: 12px;
  margin-left: 2px;
}

body.theme-v2 .v2-venue-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 0 16px 10px;
}
body.theme-v2 .v2-venue {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border: 1px solid #c9d6e0;
  border-radius: 3px;
  text-decoration: none;
  transition: border-color .12s, background .12s;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-venue:hover {
  border-color: #6ea7d2;
  background: linear-gradient(to bottom, #ffffff, #e4ecf3);
  text-decoration: none;
}
body.theme-v2 .v2-venue-icon {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 13px;
  flex-shrink: 0;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  background: linear-gradient(135deg, #5a8db8, #2c4d70);
}
body.theme-v2 .v2-venue-info { min-width: 0; flex: 1; }
body.theme-v2 .v2-venue-name {
  color: var(--v2-link);
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.theme-v2 .v2-venue:hover .v2-venue-name { color: var(--v2-link-hover); }

body.theme-v2 .panel-body:has(> .v2-cat-section) {
  padding: 0 !important;
}

/* ============================================
   V2: Mekân (venue) ortak — header, KV, açıklama, note
   ============================================ */

body.theme-v2 .v2-venue-here {
  font-weight: 400;
  font-size: 12px;
  color: #cc6f00;
}
body.theme-v2 .v2-venue-here .pin { color: #cc6f00; }

body.theme-v2 .v2-venue-desc {
  padding: 12px 16px 14px;
  color: var(--v2-ink-2);
  font-size: 13.5px;
  line-height: 1.6;
  font-style: italic;
  border-top: 1px solid var(--v2-card-edge-soft);
}

body.theme-v2 .v2-venue-note {
  margin: 12px 16px 14px;
  padding: 12px 16px;
  background: #f1f4f7;
  border: 1px solid #c9d6e0;
  border-radius: 3px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
  display: flex;
  gap: 9px;
  align-items: flex-start;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-venue-note .ico {
  color: var(--v2-link);
  font-weight: 700;
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1.3;
}
body.theme-v2 .v2-venue-note b {
  color: var(--v2-ink);
  font-weight: 600;
}

body.theme-v2 .panel-body:has(> .v2-venue-note) {
  padding: 0 !important;
}

/* Layout panel KV içeren panel-body için */
body.theme-v2 .panel-body:has(> .v2-venue-desc) {
  padding: 0 !important;
}

/* ============================================
   V2: Otopark (parking)
   ============================================ */

body.theme-v2 .v2-park-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-park-table thead th.act-col {
  text-align: right;
  width: 84px;
}
body.theme-v2 .v2-park-table thead th.plate-col { width: 100px; }
body.theme-v2 .v2-park-table thead th.model-col { width: 200px; }
body.theme-v2 .v2-park-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-park-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-park-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-park-table tbody td {
  padding: 10px 14px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-park-table tbody td.act-col { text-align: right; }
body.theme-v2 .v2-park-table tbody a {
  color: var(--v2-link);
  font-weight: 500;
}
body.theme-v2 .v2-park-table tbody a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-park-table .plate {
  display: inline-block;
  font-family: 'Public Sans', monospace;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--v2-ink);
  padding: 3px 9px;
  background: linear-gradient(to bottom, #fafcfe, #e8eef5);
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}
body.theme-v2 .v2-park-table .veh-model {
  color: var(--v2-ink);
  font-weight: 600;
}
body.theme-v2 .v2-park-table .veh-spec {
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-top: 1px;
}
body.theme-v2 .v2-park-table .me-tag {
  color: #cc6f00;
  font-size: 12px;
  font-weight: 500;
  margin-left: 4px;
}

body.theme-v2 .panel-body:has(> .v2-park-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Casino — kart, formlar, tx tablo
   ============================================ */

body.theme-v2 .v2-cas-card {
  margin: 14px 16px;
  padding: 14px 20px;
  border-radius: 6px;
  background: linear-gradient(135deg, #8a1d4a, #5a0e30);
  border: 1px solid #4a0a26;
  color: #fff;
  box-shadow: 0 4px 12px rgba(90, 14, 48, 0.25), 0 1px 0 rgba(255, 255, 255, 0.12) inset;
  position: relative;
  overflow: hidden;
}
body.theme-v2 .v2-cas-card::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -60px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08), transparent 60%);
  pointer-events: none;
}
body.theme-v2 .v2-cas-brand {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  font-weight: 700;
  margin-bottom: 4px;
}
body.theme-v2 .v2-cas-name {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
body.theme-v2 .v2-cas-bal-lbl {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 700;
  margin-bottom: 2px;
}
body.theme-v2 .v2-cas-bal {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-cas-bal .unit {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
  margin-left: 4px;
}
body.theme-v2 .v2-cas-limit {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
}

body.theme-v2 .v2-cas-form {
  padding: 6px 16px 14px;
}
body.theme-v2 .v2-cas-form + .v2-cas-form {
  padding-top: 0;
}
body.theme-v2 .v2-cas-form .v2-form-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--v2-ink);
  margin-bottom: 8px;
}
body.theme-v2 .v2-cas-row {
  display: flex;
  gap: 8px;
  margin-bottom: 4px;
}
body.theme-v2 .v2-cas-row .v2-form-input {
  flex: 1;
  padding: 7px 10px;
  font: inherit;
  font-size: 13px;
  color: var(--v2-ink);
  background: #ffffff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
  max-width: none;
}
body.theme-v2 .v2-cas-row .v2-form-input:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-form-hint {
  color: var(--v2-muted);
  font-size: 12px;
}
body.theme-v2 .v2-form-hint b {
  color: var(--v2-ink);
  font-weight: 600;
}

/* Tx tablo */
body.theme-v2 .v2-tx-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-tx-table thead th.num { text-align: right; }
body.theme-v2 .v2-tx-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-tx-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-tx-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-tx-table tbody td {
  padding: 7px 14px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-tx-table tbody td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-tx-table tbody td.when {
  color: var(--v2-muted);
  font-size: 12px;
  width: 110px;
}
body.theme-v2 .v2-tx-table tbody td.tip {
  font-weight: 600;
  width: 90px;
}
body.theme-v2 .v2-tx-table tbody td.tip.gain { color: #3d9a37; }
body.theme-v2 .v2-tx-table tbody td.tip.loss { color: #a73b30; }
body.theme-v2 .v2-tx-table tbody td.game {
  color: var(--v2-ink-2);
  width: 90px;
}
body.theme-v2 .v2-tx-table tbody td.amt { font-weight: 700; }
body.theme-v2 .v2-tx-table tbody td.amt.gain { color: #3d9a37; }
body.theme-v2 .v2-tx-table tbody td.amt.loss { color: #a73b30; }

body.theme-v2 .panel-body:has(> .v2-cas-card),
body.theme-v2 .panel-body:has(> .v2-cas-form),
body.theme-v2 .panel-body:has(> .v2-tx-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Slot Makinesi
   ============================================ */

body.theme-v2 .v2-slot-intro {
  padding: 14px 16px 4px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-slot-intro b {
  color: var(--v2-ink);
  font-weight: 700;
}

body.theme-v2 .v2-slot-stage {
  margin: 12px 16px;
  padding: 18px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
body.theme-v2 .v2-slot-frame {
  display: inline-flex;
  gap: 10px;
  padding: 12px;
  background: linear-gradient(to bottom, #1a1a1a, #0a0a0a);
  border: 2px solid #e0a826;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
}
body.theme-v2 .v2-reel {
  width: 88px;
  height: 92px;
  background: #fff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  display: grid;
  place-items: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  font-size: 40px;
  line-height: 1;
}
body.theme-v2 .v2-slot-msg {
  margin-top: 4px;
  color: var(--v2-ink);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
body.theme-v2 .v2-slot-msg.win { color: #1f5a3a; }
body.theme-v2 .v2-slot-msg.loss { color: #882a2a; }

body.theme-v2 .v2-payout {
  margin: 0 16px 16px;
}
body.theme-v2 .v2-payout > summary {
  cursor: pointer;
  list-style: none;
  color: #cc6f00;
  font-weight: 600;
  font-size: 13px;
  padding: 4px 0;
  user-select: none;
}
body.theme-v2 .v2-payout > summary::-webkit-details-marker { display: none; }
body.theme-v2 .v2-payout > summary::before {
  content: "▸ ";
  color: #cc6f00;
  font-size: 11px;
  margin-right: 4px;
}
body.theme-v2 .v2-payout[open] > summary::before { content: "▾ "; }
body.theme-v2 .v2-payout-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 8px;
  background: #fafcfe;
  border: 1px solid #d8dde3;
  border-radius: 3px;
  overflow: hidden;
}
body.theme-v2 .v2-payout-table thead th.num { text-align: right; }
body.theme-v2 .v2-payout-table tbody td {
  padding: 7px 12px;
  border-top: 1px solid var(--v2-card-edge-soft);
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-payout-table tbody td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
body.theme-v2 .v2-payout-table tbody td.num.gain { color: #3d9a37; }
body.theme-v2 .v2-payout-table tbody td.num.loss { color: #a73b30; }

body.theme-v2 .panel-body:has(> .v2-slot-intro),
body.theme-v2 .panel-body:has(> .v2-slot-stage),
body.theme-v2 .panel-body:has(> .v2-payout) {
  padding: 0 !important;
}

/* ============================================
   V2: Blackjack
   ============================================ */

body.theme-v2 .v2-bj-intro {
  padding: 14px 16px 4px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-bj-intro b {
  color: var(--v2-ink);
  font-weight: 700;
}

body.theme-v2 .v2-bj-table {
  margin: 12px 16px;
  padding: 22px;
  background: linear-gradient(135deg, #1f6a3a, #0e3f22);
  border: 2px solid #0a2e18;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(14, 63, 34, 0.25), 0 1px 0 rgba(255, 255, 255, 0.08) inset;
}
body.theme-v2 .v2-bj-side { margin-bottom: 18px; }
body.theme-v2 .v2-bj-side:last-of-type { margin-bottom: 14px; }
body.theme-v2 .v2-bj-side-lbl {
  color: rgba(255, 255, 255, 0.85);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
body.theme-v2 .v2-bj-side-lbl .score {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  margin-left: 6px;
  letter-spacing: 0;
  text-transform: none;
}
body.theme-v2 .v2-bj-cards {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-bj-card {
  width: 54px;
  height: 68px;
  background: #fff;
  border: 1px solid #c8d0d8;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18), 0 1px 0 rgba(255, 255, 255, 0.4) inset;
  font-family: 'Public Sans', sans-serif;
  color: #1f2932;
  flex-shrink: 0;
}
body.theme-v2 .v2-bj-card .rank {
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}
body.theme-v2 .v2-bj-card .suit {
  font-size: 18px;
  line-height: 1;
  margin-top: 4px;
}
body.theme-v2 .v2-bj-card.red .rank,
body.theme-v2 .v2-bj-card.red .suit { color: #d63b3b; }
body.theme-v2 .v2-bj-card.back {
  background: linear-gradient(135deg, #1a3a8a, #102a6a);
  border-color: #888;
}

body.theme-v2 .v2-bj-result {
  margin-top: 14px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #c8d0d8;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
body.theme-v2 .v2-bj-result-title {
  font-weight: 700;
  color: #1f2932;
  font-size: 15px;
  margin-bottom: 2px;
}
body.theme-v2 .v2-bj-result.win .v2-bj-result-title { color: #1f5a3a; }
body.theme-v2 .v2-bj-result.lose .v2-bj-result-title { color: #882a2a; }
body.theme-v2 .v2-bj-result-msg {
  color: var(--v2-ink-2);
  font-size: 13px;
  font-style: italic;
}
body.theme-v2 .v2-bj-result-msg b {
  color: var(--v2-ink);
  font-weight: 700;
  font-style: normal;
}

body.theme-v2 .v2-bj-form { padding: 6px 16px 14px; }
body.theme-v2 .v2-bj-form .v2-cas-row { margin-bottom: 0; }

body.theme-v2 .panel-body:has(> .v2-bj-intro),
body.theme-v2 .panel-body:has(> .v2-bj-table),
body.theme-v2 .panel-body:has(> .v2-bj-form) {
  padding: 0 !important;
}

/* ============================================
   V2: Araç Galerisi / Emlak Ofisi
   ============================================ */

body.theme-v2 .v2-ag-intro {
  padding: 14px 16px 8px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-ag-intro b { color: var(--v2-ink); font-weight: 700; }
body.theme-v2 .v2-ag-intro a { color: var(--v2-link); }
body.theme-v2 .v2-ag-intro a:hover { color: var(--v2-link-hover); text-decoration: underline; }

body.theme-v2 .v2-notice {
  margin: 4px 16px 10px;
  padding: 9px 14px;
  background: linear-gradient(to bottom, #fdf5d4, #f5e8a8);
  border: 1px solid #d9bd5f;
  border-radius: 3px;
  color: #6b521b;
  font-size: 12px;
  line-height: 1.45;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}
body.theme-v2 .v2-notice .ico {
  color: #b8830f;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
  flex-shrink: 0;
}
body.theme-v2 .v2-notice b { color: #4a3a0b; font-weight: 700; }

body.theme-v2 .v2-vc-grid {
  padding: 8px 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
body.theme-v2 .v2-vc {
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  padding: 10px 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-vc-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
body.theme-v2 .v2-vc-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d63b3b, #882a2a);
  border: 1px solid #5a1a1a;
  display: grid;
  place-items: center;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.12);
}
body.theme-v2 .v2-vc-icon svg { width: 14px; height: 14px; }
body.theme-v2 .v2-vc-icon.house {
  background: linear-gradient(135deg, #5fae37, #3d7a22);
  border-color: #2d5a18;
}
body.theme-v2 .v2-vc-name {
  color: var(--v2-ink);
  font-weight: 700;
  font-size: 13.5px;
  line-height: 1.2;
}
body.theme-v2 .v2-vc-desc {
  color: var(--v2-ink-2);
  font-size: 12px;
  line-height: 1.45;
  margin-bottom: 6px;
}
body.theme-v2 .v2-vc-specs {
  padding: 4px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 8px;
}
body.theme-v2 .v2-vc-row {
  display: flex;
  justify-content: space-between;
  padding: 2px 0;
  font-size: 12px;
}
body.theme-v2 .v2-vc-row .k { color: var(--v2-ink-2); }
body.theme-v2 .v2-vc-row .v {
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-vc-row.price-row .v.price {
  color: #cc6f00;
  font-weight: 700;
}
body.theme-v2 .v2-vc-buy {
  width: 100%;
  padding: 5px 14px;
}

/* Disabled button extra */
body.theme-v2 .v2-btn-default:disabled,
body.theme-v2 .v2-btn-default[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  color: var(--v2-muted);
  font-weight: 500;
}
body.theme-v2 .v2-btn-default:disabled:hover,
body.theme-v2 .v2-btn-default[disabled]:hover {
  border-color: #b9c3cc;
  color: var(--v2-muted);
  background: linear-gradient(to bottom, #ffffff, #eef2f6);
}

/* Owned houses table */
body.theme-v2 .v2-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-data-table tbody tr {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-data-table tbody tr:first-child { border-top: none; }
body.theme-v2 .v2-data-table tbody tr:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-data-table tbody td {
  padding: 9px 14px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-data-table tbody td.muted { color: var(--v2-muted); }
body.theme-v2 .v2-data-table tbody td a {
  color: var(--v2-link);
  font-weight: 600;
}
body.theme-v2 .v2-data-table tbody td a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

body.theme-v2 .panel-body:has(> .v2-ag-intro),
body.theme-v2 .panel-body:has(> .v2-vc-grid),
body.theme-v2 .panel-body:has(> .v2-notice),
body.theme-v2 .panel-body:has(> .v2-data-table) {
  padding: 0 !important;
}

/* ============================================
   V2: Tablo altı footer + hint
   ============================================ */

body.theme-v2 .v2-table-footer {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--v2-card-edge);
  background: #ececee;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
body.theme-v2 .v2-table-footer .hint {
  color: #a73b30;
  font-size: 12px;
}
body.theme-v2 .v2-table-footer .footer-info {
  color: var(--v2-ink-2);
  font-size: 12px;
}
body.theme-v2 .v2-table-footer .footer-info b {
  color: var(--v2-ink);
  font-weight: 700;
}
body.theme-v2 .v2-table-footer .right {
  margin-left: auto;
}

/* ============================================
   V2: Kursa Kayıt (skill table)
   ============================================ */

body.theme-v2 .v2-sk-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-sk-table thead th.sk-radio {
  width: 30px;
  padding-left: 14px;
  padding-right: 4px;
}
body.theme-v2 .v2-sk-table thead th.lvl-cell { width: 130px; }
body.theme-v2 .v2-sk-table thead th.status { width: 120px; }
body.theme-v2 .v2-sk-table tbody tr.sk-row {
  border-top: 1px solid var(--v2-card-edge-soft);
  cursor: pointer;
  transition: background .12s;
}
body.theme-v2 .v2-sk-table tbody tr.sk-row:first-child { border-top: none; }
body.theme-v2 .v2-sk-table tbody tr.sk-row:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-sk-table tbody tr.sk-row.selected { background: #e4ecf3; }
body.theme-v2 .v2-sk-table tbody tr.sk-row.selected td { font-weight: 500; }
body.theme-v2 .v2-sk-table tbody tr.sk-row.mastered {
  color: var(--v2-muted);
  cursor: not-allowed;
}
body.theme-v2 .v2-sk-table tbody tr.sk-row.mastered:hover { background: transparent; }
body.theme-v2 .v2-sk-table tbody td {
  padding: 7px 12px;
  vertical-align: middle;
}
body.theme-v2 .v2-sk-table tbody td.sk-radio {
  padding-left: 14px;
  padding-right: 4px;
}
body.theme-v2 .v2-sk-table tbody td.sk-name {
  color: var(--v2-ink);
  font-weight: 600;
}
body.theme-v2 .v2-sk-table tbody tr.mastered td.sk-name {
  color: var(--v2-muted);
  font-weight: 500;
}
body.theme-v2 .v2-sk-table tbody td.sk-cat {
  color: var(--v2-ink-2);
  font-size: 12px;
}
body.theme-v2 .v2-sk-table tbody td.lvl-cell.muted {
  color: var(--v2-muted);
  font-size: 12px;
}
body.theme-v2 .v2-sk-table tbody td.status {
  color: var(--v2-link);
  font-weight: 500;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-sk-table tbody td.status.muted {
  color: var(--v2-muted);
  font-weight: 400;
}
body.theme-v2 .v2-sk-table tbody td.status.mastered {
  color: #5b3a8a;
  font-weight: 700;
}

/* Custom radio for table cells */
body.theme-v2 .v2-sk-table input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid #6e7a86;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
}
body.theme-v2 .v2-sk-table input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 8px;
  height: 8px;
  background: #2f7ec0;
  border-radius: 50%;
}
body.theme-v2 .v2-sk-table input[type="radio"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

body.theme-v2 .panel-body:has(> .v2-sk-table),
body.theme-v2 .panel-body:has(> .v2-table-footer) {
  padding: 0 !important;
}

/* ============================================
   V2: Spor Yap (gym) — streak + effects
   ============================================ */

body.theme-v2 .v2-streak-box {
  margin: 8px 16px 14px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #2c3e52, #14283c);
  border: 1px solid #0f2235;
  border-radius: 4px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 1px 2px rgba(0, 0, 0, 0.12);
}
body.theme-v2 .v2-streak-lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.65);
  font-weight: 700;
  margin-bottom: 2px;
}
body.theme-v2 .v2-streak-num {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
body.theme-v2 .v2-streak-num .of {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  margin-left: 2px;
}
body.theme-v2 .v2-streak-sub {
  color: rgba(255, 255, 255, 0.7);
  font-size: 11.5px;
  margin-top: 3px;
}
body.theme-v2 .v2-streak-right { text-align: right; }
body.theme-v2 .v2-streak-date {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}

body.theme-v2 .v2-effects {
  padding: 4px 16px 12px;
}
body.theme-v2 .v2-ef-row {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  column-gap: 14px;
  padding: 6px 0;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
  align-items: baseline;
}
body.theme-v2 .v2-ef-row:first-child { border-top: none; }
body.theme-v2 .v2-ef-row .k {
  color: var(--v2-ink-2);
  font-weight: 600;
}
body.theme-v2 .v2-ef-row .v {
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-ef-row .delta {
  font-weight: 700;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-ef-row .delta.gain { color: #3d9a37; }
body.theme-v2 .v2-ef-row .delta.loss { color: #a73b30; }
body.theme-v2 .v2-ef-row .delta.muted {
  color: var(--v2-muted);
  font-weight: 500;
}

body.theme-v2 .panel-body:has(> .v2-streak-box),
body.theme-v2 .panel-body:has(> .v2-effects) {
  padding: 0 !important;
}

/* ============================================
   V2: Uçak Bileti — travel form
   ============================================ */

body.theme-v2 .v2-travel-form {
  padding: 6px 16px 14px;
}
body.theme-v2 .v2-travel-form .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
body.theme-v2 .v2-travel-form .field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
body.theme-v2 .v2-travel-form .field .lbl {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.theme-v2 .v2-travel-form .date-field { display: block; }
body.theme-v2 .v2-travel-form .date-field .lbl {
  display: block;
  margin-bottom: 6px;
}

body.theme-v2 .v2-date-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
body.theme-v2 .v2-date-chip {
  position: relative;
  display: block;
  padding: 7px 4px;
  text-align: center;
  background: #ffffff;
  border: 1px solid #c9d6e0;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition: border-color .12s, background .12s;
  text-decoration: none;
}
body.theme-v2 .v2-date-chip:hover {
  border-color: #6ea7d2;
  background: linear-gradient(to bottom, #ffffff, #f3f7fb);
  text-decoration: none;
}
body.theme-v2 .v2-date-chip.selected {
  background: linear-gradient(to bottom, #ffffff, #e4ecf3);
  border-color: #2f7ec0;
  box-shadow: 0 0 0 1px #6ea7d2, 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-date-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
body.theme-v2 .v2-date-chip .dow {
  color: var(--v2-ink-2);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
body.theme-v2 .v2-date-chip .dd {
  color: var(--v2-ink);
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
}
body.theme-v2 .v2-date-chip .sub {
  color: var(--v2-link);
  font-size: 11px;
  font-weight: 600;
  margin-top: 2px;
}

body.theme-v2 .v2-flight-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
body.theme-v2 .v2-flight-chip {
  position: relative;
  display: block;
  padding: 8px 4px;
  text-align: center;
  background: #ffffff;
  border: 1px solid #c9d6e0;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition: border-color .12s, background .12s;
}
body.theme-v2 .v2-flight-chip:hover {
  border-color: #6ea7d2;
  background: linear-gradient(to bottom, #ffffff, #f3f7fb);
}
body.theme-v2 .v2-flight-chip.selected {
  background: linear-gradient(to bottom, #ffffff, #e4ecf3);
  border-color: #2f7ec0;
  box-shadow: 0 0 0 1px #6ea7d2, 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-flight-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
body.theme-v2 .v2-flight-chip .dep {
  color: var(--v2-ink);
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-flight-chip .route {
  color: var(--v2-muted);
  font-size: 11px;
  margin-top: 3px;
  font-variant-numeric: tabular-nums;
}

body.theme-v2 .panel-body:has(> .v2-travel-form) {
  padding: 0 !important;
}

/* ============================================
   V2: Polis Üst Arama
   ============================================ */

body.theme-v2 .v2-quota-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 16px 12px;
  font-size: 13px;
}
body.theme-v2 .v2-quota-row .k {
  color: var(--v2-ink-2);
  font-weight: 600;
}
body.theme-v2 .v2-quota-row .v {
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-quota-row .v b {
  color: var(--v2-ink);
  font-weight: 700;
  font-size: 14px;
}

/* Üst arama sonuç sayfası */
body.theme-v2 .v2-frisk-section { padding: 4px 0; }
body.theme-v2 .v2-frisk-section + .v2-frisk-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-frisk-head {
  padding: 11px 16px 4px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.theme-v2 .v2-frisk-head .count {
  color: var(--v2-muted);
  font-weight: 500;
  margin-left: 2px;
}
body.theme-v2 .v2-frisk-list {
  list-style: none;
  margin: 0;
  padding: 0 0 8px;
}
body.theme-v2 .v2-frisk-list li {
  padding: 5px 16px;
  color: var(--v2-ink);
  font-size: 13px;
}
body.theme-v2 .v2-frisk-list li + li {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-frisk-list li.illegal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #842a23;
  font-weight: 600;
  background: #fde6e3;
}
body.theme-v2 .v2-illegal-badge {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: linear-gradient(to bottom, #d6594e, #aa3a30);
  border: 1px solid #842a23;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

/* Sonuç banner */
body.theme-v2 .v2-search-result {
  margin: 10px 16px;
  padding: 12px 14px;
  background: #f1f4f7;
  border: 1px solid #c9d6e0;
  border-radius: 3px;
  color: var(--v2-ink-2);
  font-size: 13px;
  line-height: 1.5;
  display: flex;
  gap: 9px;
  align-items: flex-start;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-search-result .ico {
  color: var(--v2-link);
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}
body.theme-v2 .v2-search-result.bad {
  background: linear-gradient(to bottom, #fde6e3, #f5cac3);
  border-color: #c79993;
  color: #842a23;
}
body.theme-v2 .v2-search-result.bad .ico { color: #a73b30; }
body.theme-v2 .v2-search-result b {
  color: inherit;
  font-weight: 700;
}

/* Tutukla aksiyon alanı */
body.theme-v2 .v2-frisk-actions {
  padding: 6px 16px 12px;
}

/* Profile geri linki */
body.theme-v2 .v2-md-back {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 13px;
}
body.theme-v2 .v2-md-back a { color: var(--v2-link); }
body.theme-v2 .v2-md-back a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

body.theme-v2 .panel-body:has(> .v2-quota-row),
body.theme-v2 .panel-body:has(> .v2-frisk-section),
body.theme-v2 .panel-body:has(> .v2-search-result),
body.theme-v2 .panel-body:has(> .v2-frisk-actions),
body.theme-v2 .panel-body:has(> .v2-md-back) {
  padding: 0 !important;
}

/* Danger button variant */
body.theme-v2 .v2-btn-default.danger {
  color: #842a23;
  font-weight: 700;
  border-color: #c79993;
}
body.theme-v2 .v2-btn-default.danger:hover {
  border-color: #a73b30;
  color: #6b1f1a;
  background: linear-gradient(to bottom, #ffffff, #f7e1de);
}

/* ============================================
   V2: Rehber (Guide) sayfaları
   ============================================ */

/* Ortak intro */
body.theme-v2 .v2-rb-intro {
  padding: 14px 18px 8px;
  color: var(--v2-ink);
  font-size: 13.5px;
  line-height: 1.55;
}
body.theme-v2 .v2-rb-intro b { color: var(--v2-ink); font-weight: 700; }
body.theme-v2 .v2-rb-intro a { color: var(--v2-link); }
body.theme-v2 .v2-rb-intro a:hover { color: var(--v2-link-hover); text-decoration: underline; }

/* Section */
body.theme-v2 .v2-rb-section { padding: 6px 0; }
body.theme-v2 .v2-rb-section + .v2-rb-section {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-rb-head {
  padding: 12px 18px 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-ink);
}
body.theme-v2 .v2-rb-section p {
  margin: 0 18px 14px;
  color: var(--v2-ink);
  font-size: 13.5px;
  line-height: 1.6;
}
body.theme-v2 .v2-rb-section p b {
  color: var(--v2-ink);
  font-weight: 700;
}

/* KV tablo */
body.theme-v2 .v2-rb-table {
  width: calc(100% - 36px);
  margin: 0 18px 14px;
  border-collapse: collapse;
  border: 1px solid var(--v2-card-edge-soft);
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border-radius: 3px;
  overflow: hidden;
  font-size: 13.5px;
}
body.theme-v2 .v2-rb-table td {
  padding: 9px 14px;
  vertical-align: baseline;
  color: var(--v2-ink);
}
body.theme-v2 .v2-rb-table td.k {
  color: var(--v2-ink-2);
  font-weight: 600;
  width: 200px;
}
body.theme-v2 .v2-rb-table tr + tr td {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-rb-table .today {
  color: #cc6f00;
  font-weight: 700;
}
body.theme-v2 .v2-rb-table .muted {
  color: var(--v2-muted);
  font-size: 12px;
}

/* Liste */
body.theme-v2 .v2-rb-list {
  margin: 0 18px 14px;
  padding-left: 22px;
  color: var(--v2-ink);
  font-size: 13px;
  line-height: 1.6;
}
body.theme-v2 .v2-rb-list li { padding: 1px 0; }
body.theme-v2 .v2-rb-list b { color: var(--v2-ink); font-weight: 700; }

/* Footnote */
body.theme-v2 .v2-rb-footnote {
  margin: 6px 16px 14px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 12px;
  line-height: 1.55;
}

/* ===== Meslek blokları ===== */
body.theme-v2 .v2-job-block {
  margin: 10px 16px 14px;
  padding: 14px 18px 12px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border: 1px solid #c9d6e0;
  border-left-width: 4px;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-job-block.police { border-left-color: #2c6da3; }
body.theme-v2 .v2-job-block.judge { border-left-color: #5b3a8a; }
body.theme-v2 .v2-job-block.player { border-left-color: #3d7a22; }
body.theme-v2 .v2-job-title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
body.theme-v2 .v2-job-block.police .v2-job-title { color: #1d4d80; }
body.theme-v2 .v2-job-block.judge .v2-job-title { color: #5b3a8a; }
body.theme-v2 .v2-job-block.player .v2-job-title { color: #2c6618; }
body.theme-v2 .v2-job-desc {
  margin: 0 0 10px;
  color: var(--v2-ink);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-job-block .sub-head {
  margin: 10px 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--v2-ink-2);
}
body.theme-v2 .v2-job-block ul {
  margin: 0 0 6px;
  padding-left: 18px;
  color: var(--v2-ink);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-job-block ul li { padding: 1px 0; }
body.theme-v2 .v2-job-note {
  margin: 10px 0 0;
  padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  color: var(--v2-ink-2);
  font-style: italic;
  font-size: 12px;
  line-height: 1.55;
}
body.theme-v2 .v2-job-note a { color: var(--v2-link); }
body.theme-v2 .v2-job-note a:hover { color: var(--v2-link-hover); text-decoration: underline; }

/* ===== Odak blokları ===== */
body.theme-v2 .v2-focus-list {
  padding: 6px 16px 4px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.theme-v2 .v2-focus-block {
  border: 1px solid #c9d6e0;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border-radius: 4px;
  padding: 12px 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-focus-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-link);
}
body.theme-v2 .v2-focus-desc {
  margin: 0 0 8px;
  color: var(--v2-ink);
  font-size: 13px;
  line-height: 1.55;
}
body.theme-v2 .v2-focus-effects {
  padding: 4px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
body.theme-v2 .v2-focus-ef-row {
  display: grid;
  grid-template-columns: 130px auto 1fr;
  align-items: baseline;
  padding: 3px 0;
  font-size: 13px;
}
body.theme-v2 .v2-focus-ef-row .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-focus-ef-row .v {
  color: var(--v2-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-focus-ef-row .v.gain { color: #3d9a37; }
body.theme-v2 .v2-focus-ef-row .v.loss { color: #a73b30; }
body.theme-v2 .v2-focus-ef-row .unit {
  color: var(--v2-muted);
  font-size: 12px;
  margin-left: 4px;
}
body.theme-v2 .v2-focus-cond {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 12px;
}
body.theme-v2 .v2-focus-cond .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-focus-cond .v { color: #cc6f00; font-weight: 600; }

/* ===== İlişki kategori kartları ===== */
body.theme-v2 .v2-rel-cat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  padding: 0 18px 14px;
}
body.theme-v2 .v2-rel-cat {
  border: 1px solid;
  border-radius: 4px;
  padding: 12px 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-rel-cat .title {
  font-weight: 700;
  font-size: 13.5px;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 7px;
}
body.theme-v2 .v2-rel-cat .title .dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}
body.theme-v2 .v2-rel-cat .sub { color: var(--v2-ink-2); font-size: 12px; }
body.theme-v2 .v2-rel-cat.fr {
  background: linear-gradient(to bottom, #f3faec, #e1f2d4);
  border-color: #8dcf5b;
}
body.theme-v2 .v2-rel-cat.fr .title { color: #2c6618; }
body.theme-v2 .v2-rel-cat.fr .dot { background: linear-gradient(to bottom, #8dcf5b, #5fae37); }
body.theme-v2 .v2-rel-cat.love {
  background: linear-gradient(to bottom, #fdedf3, #fcd5e3);
  border-color: #ee5a85;
}
body.theme-v2 .v2-rel-cat.love .title { color: #a01e58; }
body.theme-v2 .v2-rel-cat.love .dot { background: linear-gradient(to bottom, #ee5a85, #c92e62); }
body.theme-v2 .v2-rel-cat.hate {
  background: linear-gradient(to bottom, #fde6e3, #f5cac3);
  border-color: #d6594e;
}
body.theme-v2 .v2-rel-cat.hate .title { color: #842a23; }
body.theme-v2 .v2-rel-cat.hate .dot { background: linear-gradient(to bottom, #d6594e, #aa3a30); }

/* İlişki tablosu için cat renkleri (data-table'a) */
body.theme-v2 .v2-data-table .cat {
  font-weight: 600;
}
body.theme-v2 .v2-data-table .cat .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: 0;
}
body.theme-v2 .v2-data-table .cat.fr { color: #2c6618; }
body.theme-v2 .v2-data-table .cat.fr .dot { background: linear-gradient(to bottom, #8dcf5b, #5fae37); }
body.theme-v2 .v2-data-table .cat.love { color: #a01e58; }
body.theme-v2 .v2-data-table .cat.love .dot { background: linear-gradient(to bottom, #ee5a85, #c92e62); }
body.theme-v2 .v2-data-table .cat.hate { color: #842a23; }
body.theme-v2 .v2-data-table .cat.hate .dot { background: linear-gradient(to bottom, #d6594e, #aa3a30); }
body.theme-v2 .v2-data-table .delta {
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-data-table .delta b {
  color: #3d9a37;
  font-weight: 700;
  font-size: 13.5px;
}
body.theme-v2 .v2-data-table tbody tr:has(.cat.hate) .delta b { color: #a73b30; }
body.theme-v2 .v2-data-table .unit { color: var(--v2-muted); font-size: 11.5px; }
body.theme-v2 .v2-data-table .desc { color: var(--v2-ink-2); font-size: 12px; }
body.theme-v2 .v2-data-table .act { font-weight: 600; }

/* ===== DP tablosu ===== */
body.theme-v2 .v2-dp-table {
  width: calc(100% - 36px);
  margin: 0 18px 14px;
  border-collapse: collapse;
  border: 1px solid var(--v2-card-edge-soft);
  background: #fff;
  border-radius: 3px;
  overflow: hidden;
  font-size: 13.5px;
}
body.theme-v2 .v2-dp-table tbody tr + tr td {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-dp-table tbody td {
  padding: 11px 14px;
  color: var(--v2-ink);
  vertical-align: top;
}
body.theme-v2 .v2-dp-table td.k {
  color: var(--v2-ink);
  font-weight: 700;
  width: 230px;
}
body.theme-v2 .v2-dp-table .muted { color: var(--v2-muted); font-weight: 400; }
body.theme-v2 .v2-dp-table .gain { color: #3d9a37; font-weight: 700; }
body.theme-v2 .v2-dp-table .sub {
  color: var(--v2-muted);
  font-size: 12px;
  margin-top: 3px;
  line-height: 1.5;
}

/* ===== Suç blokları (collapsible) ===== */
body.theme-v2 details.v2-crime-block {
  margin: 0 18px 14px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border: 1px solid #c9d6e0;
  border-left: 4px solid #a73b30;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 details.v2-crime-block > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  user-select: none;
}
body.theme-v2 details.v2-crime-block > summary::-webkit-details-marker {
  display: none;
}
body.theme-v2 details.v2-crime-block:hover > summary {
  background: rgba(255, 255, 255, 0.4);
}
body.theme-v2 details.v2-crime-block .v2-crime-title {
  color: #a73b30;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 2px;
}
body.theme-v2 details.v2-crime-block .v2-crime-desc {
  color: var(--v2-ink);
  font-size: 13px;
  margin-bottom: 0;
}
body.theme-v2 details.v2-crime-block > summary .chev {
  color: var(--v2-muted);
  font-size: 12px;
  transition: transform .15s;
  margin-top: 4px;
}
body.theme-v2 details.v2-crime-block[open] > summary .chev {
  transform: rotate(90deg);
  color: #a73b30;
}
body.theme-v2 .v2-crime-rb-table {
  margin: 0 14px 12px;
  width: calc(100% - 28px);
  border-collapse: collapse;
  font-size: 13px;
}
body.theme-v2 .v2-crime-rb-table thead th {
  background: transparent;
  border-bottom: 1px solid #c9d6e0;
  color: var(--v2-ink);
  font-weight: 700;
  font-size: 12px;
  padding: 6px 10px;
  text-align: left;
}
body.theme-v2 .v2-crime-rb-table tbody td {
  padding: 6px 10px;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
  color: var(--v2-ink);
}
body.theme-v2 .v2-crime-rb-table tbody tr:last-child td { border-bottom: none; }
body.theme-v2 .v2-crime-rb-table .country {
  color: var(--v2-muted);
  font-weight: 400;
}
body.theme-v2 .v2-crime-rb-table .status {
  color: #a73b30;
  font-weight: 600;
}
body.theme-v2 .v2-crime-rb-table .status.legal {
  color: #3d9a37;
}
body.theme-v2 .v2-crime-rb-table .sentence {
  color: var(--v2-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* ===== Kalite tablosu ===== */
body.theme-v2 .v2-ql-table {
  width: calc(100% - 36px);
  margin: 6px 18px 14px;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--v2-card-edge-soft);
  border-radius: 3px;
  overflow: hidden;
  font-size: 13.5px;
}
body.theme-v2 .v2-ql-table tbody tr + tr td {
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-ql-table tbody tr:nth-child(odd) td {
  background: var(--v2-row-alt);
}
body.theme-v2 .v2-ql-table tbody td {
  padding: 9px 14px;
  vertical-align: middle;
  color: var(--v2-ink);
}
body.theme-v2 .v2-ql-table td.lvl {
  width: 100px;
  font-weight: 700;
}
body.theme-v2 .v2-ql-table td.short {
  width: 120px;
  color: var(--v2-ink-2);
  font-weight: 600;
}
body.theme-v2 .v2-ql-table td.name {
  font-weight: 700;
  font-size: 14px;
}
body.theme-v2 .v2-ql-table td.name.red { color: #a73b30; }
body.theme-v2 .v2-ql-table td.name.orange { color: #cc6f00; }
body.theme-v2 .v2-ql-table td.name.green { color: #2c6618; }
body.theme-v2 .v2-ql-table td.name.blue { color: #1d4d80; }
body.theme-v2 .v2-ql-table td.name.purple { color: #5b3a8a; }

/* Panel-body padding cleanup */
body.theme-v2 .panel-body:has(> .v2-rb-intro),
body.theme-v2 .panel-body:has(> .v2-rb-section),
body.theme-v2 .panel-body:has(> .v2-job-block),
body.theme-v2 .panel-body:has(> .v2-focus-list),
body.theme-v2 .panel-body:has(> .v2-rb-footnote),
body.theme-v2 .panel-body:has(> .v2-ql-table),
body.theme-v2 .panel-body:has(> .v2-dp-table),
body.theme-v2 .panel-body:has(> .v2-rb-list),
body.theme-v2 .panel-body:has(> .v2-rb-table),
body.theme-v2 .panel-body:has(> .v2-rel-cat-grid),
body.theme-v2 .panel-body:has(> details.v2-crime-block) {
  padding: 0 !important;
}

/* ============================================
   Speech bubble — kullanıcı düzenleyebilir konuşma metni
   ============================================ */
body.theme-v2 .speech-bubble .v2-bubble-view {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

body.theme-v2 .speech-bubble .v2-bubble-text {
  flex: 1;
  min-width: 0;
}

body.theme-v2 .speech-bubble .v2-bubble-text.placeholder {
  color: var(--v2-muted);
}

body.theme-v2 .speech-bubble .v2-bubble-edit-btn {
  flex: 0 0 auto;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: var(--v2-muted);
  font-size: 14px;
  line-height: 1;
  font-style: normal;
  opacity: 0.55;
  transition: opacity 0.12s, color 0.12s;
}

body.theme-v2 .speech-bubble .v2-bubble-edit-btn:hover {
  opacity: 1;
  color: var(--v2-link);
}

/* Edit modu — form */
body.theme-v2 .speech-bubble .v2-bubble-edit-form {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

body.theme-v2 .speech-bubble .v2-bubble-input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--v2-card-edge);
  background: #fff;
  padding: 4px 8px;
  font-size: 13.5px;
  font-style: italic;
  color: var(--v2-ink);
  border-radius: 4px;
  outline: none;
  font-family: inherit;
}

body.theme-v2 .speech-bubble .v2-bubble-input:focus {
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18);
}

body.theme-v2 .speech-bubble .v2-bubble-save-btn,
body.theme-v2 .speech-bubble .v2-bubble-cancel-btn {
  flex: 0 0 auto;
  background: transparent;
  border: none;
  padding: 2px 4px;
  margin: 0;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  font-style: normal;
  color: var(--v2-muted);
  transition: color 0.12s;
}

body.theme-v2 .speech-bubble .v2-bubble-save-btn:hover {
  color: #3d9a37;
}

body.theme-v2 .speech-bubble .v2-bubble-cancel-btn:hover {
  color: #a73b30;
}

/* ============================================
   Ehliyet Başvurusu — apply box (uygun durum formu)
   ============================================ */
body.theme-v2 .v2-notice.danger {
  background: linear-gradient(to bottom, #fde6e3, #f5cac3);
  border-color: #c79993;
  color: #842a23;
}
body.theme-v2 .v2-notice.danger .ico { color: #a73b30; }

body.theme-v2 .v2-ap-box {
  margin: 8px 16px 14px;
  padding: 14px 16px;
  background: linear-gradient(to bottom, #fafcfe, #eef3f8);
  border: 1px solid #c9d6e0;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
body.theme-v2 .v2-ap-intro {
  color: var(--v2-ink);
  font-size: 13px;
  margin-bottom: 12px;
}
body.theme-v2 .v2-ap-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.theme-v2 .v2-ap-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
body.theme-v2 .v2-ap-lbl {
  color: var(--v2-ink-2);
  font-weight: 600;
}
body.theme-v2 .v2-ap-static {
  display: inline-block;
  padding: 5px 0;
  color: var(--v2-ink);
  font-weight: 600;
}
body.theme-v2 .v2-ap-actions { margin-top: 6px; }

/* Apply-box ve notice'lı panel-body padding sıfırla (kendileri margin yönetiyor) */
body.theme-v2 .panel-body:has(> .v2-ap-box) {
  padding: 0 !important;
}

/* ============================================
   Karakter listesi (city/venue) — filtre çubuğu + online tag
   ============================================ */
body.theme-v2 .v2-char-filter {
  display: flex;
  gap: 6px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  background: linear-gradient(to bottom, #f7f9fb, #eef2f6);
  flex-wrap: wrap;
}

body.theme-v2 .v2-char-filter .v2-btn-default {
  font-size: 12px;
  padding: 4px 10px;
}

body.theme-v2 .v2-online-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #2c6618;
  font-weight: 600;
  font-size: 12px;
}

body.theme-v2 .v2-online-tag .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3d9a37;
  box-shadow: 0 0 0 1.5px rgba(61, 154, 55, 0.18);
}


/* ============================================
   Takvim — satır bazlı tablo + V2 paleti
   ============================================ */
body.theme-v2 .v2-cal-table {
  width: calc(100% - 36px);
  margin: 0 18px 14px;
  border-collapse: collapse;
  border: 1px solid var(--v2-card-edge);
  font-size: 13px;
  background: #fff;
}
body.theme-v2 .v2-cal-table tr { background: #fff; }
body.theme-v2 .v2-cal-table tr:nth-child(even) { background: var(--v2-row-alt); }
body.theme-v2 .v2-cal-table td {
  padding: 6px 12px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  vertical-align: middle;
  color: var(--v2-ink);
  line-height: 1.35;
}
body.theme-v2 .v2-cal-table tr:last-child td { border-bottom: none; }

/* Sol kolon — gün numarası + RL tarih */
body.theme-v2 .v2-cal-table td.day-cell {
  width: 200px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body.theme-v2 .v2-cal-table td.day-cell .day-num {
  font-weight: 600;
  color: var(--v2-ink-2);
}
body.theme-v2 .v2-cal-table td.day-cell .day-rl {
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-left: 4px;
}
body.theme-v2 .v2-cal-table td.day-cell .today-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  background: #c97a1f;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: 1px;
}

/* Sağ kolon — etkinlik */
body.theme-v2 .v2-cal-table td.event-cell {
  color: var(--v2-ink);
}
body.theme-v2 .v2-cal-table td.event-cell .event-title {
  --cal-accent: var(--v2-link);
  color: var(--cal-accent);
  font-weight: 600;
}
body.theme-v2 .v2-cal-table td.event-cell .event-desc {
  color: var(--v2-ink-2);
}
body.theme-v2 .v2-cal-table td.event-cell .muted {
  color: var(--v2-muted);
}

/* Geçmiş satırlar — soluk */
body.theme-v2 .v2-cal-table tr.past td { color: var(--v2-muted); }
body.theme-v2 .v2-cal-table tr.past td.day-cell .day-num { color: var(--v2-muted); }
body.theme-v2 .v2-cal-table tr.past td.day-cell .day-rl { color: var(--v2-muted); opacity: 0.7; }
body.theme-v2 .v2-cal-table tr.past td.event-cell .event-title {
  color: var(--v2-muted);
}
body.theme-v2 .v2-cal-table tr.past td.event-cell .event-desc {
  color: var(--v2-muted);
}

/* Bugün satırı — turuncu vurgu */
body.theme-v2 .v2-cal-table tr.today td {
  background: linear-gradient(to bottom, #fde8c4, #f7c984) !important;
  color: #5a3408;
  font-weight: 600;
  box-shadow: inset 0 0 0 2px #c97a1f;
}
body.theme-v2 .v2-cal-table tr.today td.day-cell .day-num { color: #5a3408; }
body.theme-v2 .v2-cal-table tr.today td.day-cell .day-rl { color: #7a4a14; font-weight: 500; }
body.theme-v2 .v2-cal-table tr.today td.event-cell .event-title { color: #5a3408; }
body.theme-v2 .v2-cal-table tr.today td.event-cell .event-desc { color: #5a3408; }

/* Özel gün — sol kenarda renkli stripe */
body.theme-v2 .v2-cal-table tr.special td.day-cell {
  --cal-accent: var(--v2-link);
  border-left: 3px solid var(--cal-accent);
  padding-left: 9px; /* 12px - 3px stripe */
}
body.theme-v2 .v2-cal-table tr.special:not(.today) td.event-cell .event-title {
  color: var(--cal-accent);
}
body.theme-v2 .v2-cal-table tr.special:not(.today):not(.past) td {
  color: var(--v2-ink);
}

/* Panel-body padding zero — birden fazla element var (dp-table + filter + cal-table) */
body.theme-v2 .panel-body:has(> .v2-cal-table) {
  padding: 0 !important;
}

/* ============================================
   Aile sayfası — fm (family member) sınıfları
   ============================================ */
body.theme-v2 .v2-fm-count {
  font-weight: 400;
  font-size: 12px;
  color: var(--v2-ink-2);
  margin-left: auto;
}

body.theme-v2 .v2-fm-empty {
  color: var(--v2-muted);
  font-style: italic;
  font-size: 13px;
}
body.theme-v2 .v2-fm-empty .muted { color: var(--v2-muted); font-style: normal; }

body.theme-v2 .v2-fm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, max-content));
  gap: 14px 12px;
}

body.theme-v2 .v2-fm-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  background: transparent;
  border: none;
  text-decoration: none;
  width: 114px;
}
body.theme-v2 .v2-fm-card:hover {
  background: transparent;
  text-decoration: none;
}

body.theme-v2 .v2-fm-portrait {
  width: 114px;
  height: 156px;
  border-radius: 4px;
  background:
    repeating-linear-gradient(45deg, transparent 0 8px, rgba(0, 0, 0, 0.04) 8px 9px),
    linear-gradient(135deg, #aab4be, #6a7682);
  border: 1px solid var(--v2-card-edge);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 800;
  font-size: 24px;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
  transition: border-color .12s, box-shadow .12s;
}
body.theme-v2 .v2-fm-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.theme-v2 .v2-fm-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.18));
  pointer-events: none;
}
body.theme-v2 .v2-fm-card:hover .v2-fm-portrait {
  border-color: #6ea7d2;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

body.theme-v2 .v2-fm-info {
  min-width: 0;
  padding: 8px 2px 0;
}
body.theme-v2 .v2-fm-name {
  color: var(--v2-link);
  font-weight: 700;
  font-size: 13.5px;
  line-height: 1.25;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-fm-card:hover .v2-fm-name {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-fm-age {
  color: var(--v2-ink-2);
  font-size: 12px;
  margin-top: 3px;
}
body.theme-v2 .v2-fm-sub {
  color: var(--v2-muted);
  font-size: 11.5px;
  margin-top: 1px;
  font-variant-numeric: tabular-nums;
}

/* Section başlığında sağa "count" yaslama */
body.theme-v2 .v2-fm-section .panel-header {
  display: flex;
  gap: 6px;
  align-items: baseline;
}
body.theme-v2 .v2-fm-section .panel-header > span:last-child {
  margin-left: auto;
}

/* ============================================
   Hakim (judge) — dava listesi class'ları
   ============================================ */
body.theme-v2 .v2-case-state {
  font-weight: 700;
  font-size: 11.5px;
}
body.theme-v2 .v2-case-state.def { color: #cc6f00; }
body.theme-v2 .v2-case-state.judge { color: #1d4d80; }

body.theme-v2 .v2-case-deadline {
  color: #cc6f00;
  font-variant-numeric: tabular-nums;
  font-size: 11.5px;
  line-height: 1.35;
}
body.theme-v2 .v2-case-deadline.late { color: #a73b30; }
body.theme-v2 .v2-case-deadline .sub { font-size: 10.5px; color: var(--v2-muted); }
body.theme-v2 .v2-case-deadline.late .sub { color: #a73b30; font-weight: 600; }

body.theme-v2 .v2-case-sent {
  font-weight: 700;
  font-size: 12px;
}
body.theme-v2 .v2-case-sent.jail { color: #1d4d80; }
body.theme-v2 .v2-case-sent.free { color: #2c6618; }

/* Pagination */
body.theme-v2 .v2-pager {
  padding: 10px 12px;
  border-top: 1px solid var(--v2-card-edge-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  color: var(--v2-ink-2);
  background: var(--v2-row-alt);
  gap: 10px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-pager .pages {
  display: inline-flex;
  gap: 3px;
}
body.theme-v2 .v2-pager .pages a,
body.theme-v2 .v2-pager .pages span {
  display: inline-block;
  padding: 3px 8px;
  border: 1px solid var(--v2-card-edge);
  background: #fcfdfe;
  color: var(--v2-link);
  text-decoration: none;
  font-size: 11.5px;
  border-radius: 2px;
  min-width: 22px;
  text-align: center;
}
body.theme-v2 .v2-pager .pages a:hover {
  background: var(--v2-row-alt);
  text-decoration: none;
}
body.theme-v2 .v2-pager .pages .active {
  background: linear-gradient(to bottom, #4f6478, #344559);
  border-color: #2a3a4d;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15) inset;
}
body.theme-v2 .v2-pager .pages .disabled {
  color: #b0b6bd;
  pointer-events: none;
  background: #f3f5f8;
}

/* ============================================
   Hakim — Dava Detay sayfası
   ============================================ */
body.theme-v2 .v2-kv-table {
  padding: 0;
}
body.theme-v2 .v2-kv-table .v2-kv {
  display: grid;
  grid-template-columns: 180px 1fr;
  column-gap: 14px;
  padding: 8px 16px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 12px;
  align-items: baseline;
}
body.theme-v2 .v2-kv-table .v2-kv:first-child { border-top: none; }
body.theme-v2 .v2-kv-table .v2-kv:nth-child(even) { background: var(--v2-row-alt); }
body.theme-v2 .v2-kv-table .v2-kv .k { color: var(--v2-ink-2); font-weight: 600; }
body.theme-v2 .v2-kv-table .v2-kv .v { color: var(--v2-ink); }
body.theme-v2 .v2-kv-table .v2-kv .v.deadline { color: #cc6f00; font-weight: 600; }
body.theme-v2 .v2-kv-table .v2-kv .v.deadline.late { color: #a73b30; }

body.theme-v2 .v2-crime-pill {
  display: inline-block;
  background: linear-gradient(to bottom, #fff4f3, #f5e0dd);
  border: 1px solid #d8a8a2;
  color: #7a2a22;
  padding: 2px 10px;
  border-radius: 3px;
  font-size: 11.5px;
  font-weight: 500;
  margin: 2px 4px 2px 0;
}
body.theme-v2 .v2-pill-note {
  color: var(--v2-muted);
  font-weight: 400;
  font-size: 10.5px;
}

body.theme-v2 .v2-info-note {
  margin: 12px 16px;
  padding: 10px 14px;
  background: #e4ecf3;
  border: 1px solid #6ea7d2;
  border-radius: 3px;
  color: #1f3a52;
  font-size: 11.5px;
  line-height: 1.55;
  display: flex;
  gap: 9px;
  align-items: flex-start;
}
body.theme-v2 .v2-info-note .ico {
  color: #2f7ec0;
  font-weight: 700;
  flex-shrink: 0;
  font-size: 12px;
}

/* Yargılama formu */
body.theme-v2 .v2-judgement {
  padding: 4px 0 14px;
  border-top: 1px solid var(--v2-card-edge-soft);
}
body.theme-v2 .v2-judgement .j-head {
  padding: 12px 16px 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-ink);
}
body.theme-v2 .v2-judgement .j-field {
  padding: 6px 16px;
}
body.theme-v2 .v2-judgement .j-label {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
  margin-bottom: 6px;
}
body.theme-v2 .v2-judgement .j-label .hint {
  color: var(--v2-muted);
  font-weight: 400;
}
body.theme-v2 .v2-judgement .j-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.theme-v2 .v2-judgement .j-inline .hint {
  color: var(--v2-muted);
  font-size: 11px;
}
body.theme-v2 .v2-judgement .j-inline .hint b { color: var(--v2-ink); font-weight: 700; }
body.theme-v2 .v2-judgement .j-narrow { width: 90px; }
body.theme-v2 .v2-judgement .j-textarea {
  width: 100%;
  resize: vertical;
  min-height: 84px;
  font-family: inherit;
}
body.theme-v2 .v2-judgement .j-actions {
  padding: 10px 16px 4px;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

/* Radyo ve checkbox stilleri */
body.theme-v2 .v2-radio {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 16px;
  cursor: pointer;
  font-size: 12px;
}
body.theme-v2 .v2-radio input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid #9aa8b4;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  margin: 0;
  position: relative;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  vertical-align: -2px;
}
body.theme-v2 .v2-radio input[type="radio"]:checked { border-color: #2f7ec0; }
body.theme-v2 .v2-radio input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 7px; height: 7px;
  border-radius: 50%;
  background: linear-gradient(to bottom, #6ea7d2, #2f7ec0);
}
body.theme-v2 .v2-chk-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  color: var(--v2-ink);
  margin: 3px 12px 3px 0;
}
body.theme-v2 .v2-chk {
  appearance: none;
  -webkit-appearance: none;
  width: 14px; height: 14px;
  border: 1px solid #9aa8b4;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  cursor: pointer;
  margin: 0;
  display: inline-grid;
  place-items: center;
  vertical-align: -2px;
}
body.theme-v2 .v2-chk:checked {
  background: linear-gradient(to bottom, #6ea7d2, #2f7ec0);
  border-color: #1f5a8e;
}
body.theme-v2 .v2-chk:checked::after { content: "✓"; color: #fff; font-size: 10px; font-weight: 700; line-height: 1; }

/* ============================================
   Forum
   ============================================ */
body.theme-v2 .v2-forum-intro {
  padding: 14px 18px 16px;
  color: var(--v2-ink);
  font-size: 12.5px;
  line-height: 1.6;
}
body.theme-v2 .v2-forum-intro p { margin: 0 0 10px; }
body.theme-v2 .v2-forum-intro p:last-child { margin-bottom: 0; }
body.theme-v2 .v2-forum-intro a { color: var(--v2-link); }
body.theme-v2 .v2-forum-intro a:hover { color: var(--v2-link-hover); text-decoration: underline; }

body.theme-v2 .v2-forum-group { margin-bottom: 16px; }
body.theme-v2 .v2-group-head {
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  border: 1px solid var(--v2-thead-edge);
  border-radius: 4px 4px 0 0;
  color: var(--v2-thead-text);
  font-weight: 700;
  font-size: 13px;
  padding: 8px 14px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.theme-v2 .v2-group-head .v2-group-new {
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  text-decoration: none;
  opacity: 0.85;
}
body.theme-v2 .v2-group-head .v2-group-new:hover { opacity: 1; text-decoration: underline; }

body.theme-v2 .v2-thread-list {
  border: 1px solid var(--v2-card-edge);
  border-top: none;
  border-radius: 0 0 4px 4px;
  overflow: hidden;
  background: var(--v2-card-bg, #fff);
}
body.theme-v2 .v2-th-row {
  display: grid;
  grid-template-columns: 28px 26px 1fr auto;
  align-items: center;
  background: #fff;
  border-top: 1px solid var(--v2-card-edge-soft);
  text-decoration: none;
  transition: background 0.12s;
  min-height: 36px;
}
body.theme-v2 .v2-th-row:first-child { border-top: none; }
body.theme-v2 .v2-th-row:hover { background: var(--v2-row-alt); }
body.theme-v2 .v2-th-dot-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
}
body.theme-v2 .v2-th-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d3d1c7;
}
body.theme-v2 .v2-th-dot.new {
  background: #378add;
}
body.theme-v2 .v2-th-lock {
  font-size: 11px;
  line-height: 1;
  filter: grayscale(0.3);
}

/* Favori yıldız butonu */
body.theme-v2 .v2-th-fav {
  background: transparent;
  border: 0;
  padding: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b4b2a9;
  transition: color 0.12s;
}
body.theme-v2 .v2-th-fav:hover {
  color: #d4a017;
}
body.theme-v2 .v2-th-fav.active {
  color: #d4a017;
}
body.theme-v2 .v2-th-fav:disabled {
  opacity: 0.4;
  cursor: wait;
}
body.theme-v2 .v2-th-fav-icon {
  width: 14px;
  height: 14px;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linejoin: round;
}
body.theme-v2 .v2-th-fav.active .v2-th-fav-icon {
  fill: currentColor;
  stroke: currentColor;
}
body.theme-v2 .v2-th-name {
  padding: 7px 14px;
  color: var(--v2-link);
  font-weight: 500;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 6px;
}
body.theme-v2 .v2-th-row:hover .v2-th-name { color: var(--v2-link-hover); }
body.theme-v2 .v2-th-name .v2-th-pin { font-size: 12px; }
body.theme-v2 .v2-th-count {
  padding: 7px 14px;
  color: var(--v2-ink);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body.theme-v2 .v2-th-count b { color: var(--v2-muted); font-weight: 500; }
body.theme-v2 .v2-th-count b.has-unread { color: #378add; font-weight: 700; }

/* Başlık detay sayfası */
body.theme-v2 .v2-breadcrumb {
  padding: 4px 2px 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--v2-ink);
  line-height: 1.4;
}
body.theme-v2 .v2-breadcrumb a { color: #b06a2c; }
body.theme-v2 .v2-breadcrumb a:hover { color: #8a4f1c; text-decoration: underline; }
body.theme-v2 .v2-breadcrumb .sep { color: var(--v2-ink-2); margin: 0 4px; font-weight: 400; }

body.theme-v2 .v2-thread-nav {
  background: #fff;
  border: 1px solid var(--v2-card-edge);
  border-radius: 4px;
  padding: 10px 16px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12.5px;
}
body.theme-v2 .v2-thread-nav a { color: var(--v2-link); }
body.theme-v2 .v2-thread-nav a:hover { color: var(--v2-link-hover); text-decoration: underline; }
body.theme-v2 .v2-thread-nav .mid { margin: 0 auto; }
body.theme-v2 .v2-thread-nav .disabled { color: var(--v2-muted); pointer-events: none; }

body.theme-v2 .v2-thread-posts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.theme-v2 .v2-post {
  background: #fff;
  border: 1px solid var(--v2-card-edge);
  border-radius: 4px;
  overflow: hidden;
}
body.theme-v2 .v2-post-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 7px 14px;
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  border-bottom: 1px solid var(--v2-thead-edge);
  color: var(--v2-thead-text);
}
body.theme-v2 .v2-pb-left { display: flex; align-items: baseline; gap: 8px; min-width: 0; flex-wrap: wrap; }
body.theme-v2 .v2-post-bar .v2-author {
  color: #ffffff;
  font-weight: 700;
  font-size: 12.5px;
}
body.theme-v2 .v2-post-bar .v2-author:hover { color: rgba(255, 255, 255, 0.85); text-decoration: underline; }
body.theme-v2 .v2-pb-reply { color: rgba(255, 255, 255, 0.75); font-size: 11px; }
body.theme-v2 .v2-pb-reply a { color: rgba(255, 255, 255, 0.75); }
body.theme-v2 .v2-pb-reply a:hover { color: #ffffff; text-decoration: underline; }
body.theme-v2 .v2-pb-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
body.theme-v2 .v2-pb-when {
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
body.theme-v2 .v2-pb-id {
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  font-weight: 600;
}
body.theme-v2 .v2-pb-id:hover {
  color: #ffffff;
  text-decoration: underline;
}
body.theme-v2 .v2-post-body {
  padding: 12px 14px;
  color: var(--v2-ink);
  font-size: 12.5px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
}
body.theme-v2 .v2-post-edited {
  padding: 0 14px 10px;
  color: var(--v2-muted);
  font-style: italic;
  font-size: 11px;
}

/* Yeni mesaj formu */
body.theme-v2 .v2-reply-form {
  padding: 12px 14px;
  border-top: 1px solid var(--v2-card-edge-soft);
  background: var(--v2-row-alt);
}
body.theme-v2 .v2-reply-form textarea {
  width: 100%;
  min-height: 100px;
  resize: vertical;
  font-family: inherit;
}

/* Forum — alıntı (quote) blok */
body.theme-v2 .v2-quote-block {
  margin: 6px 0;
  padding: 8px 12px;
  background: #f3f5f8;
  border: 1px solid var(--v2-card-edge-soft);
  border-radius: 4px;
  color: var(--v2-ink);
  font-size: 12px;
  line-height: 1.55;
}
body.theme-v2 .v2-quote-head {
  font-weight: 700;
  color: var(--v2-ink-2);
  font-size: 11px;
  margin-bottom: 4px;
  letter-spacing: 0.02em;
}
body.theme-v2 .v2-quote-id {
  color: var(--v2-muted);
  font-weight: 500;
  margin-left: 4px;
}
body.theme-v2 .v2-quote-body {
  color: var(--v2-ink);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Silinmiş mesaj kartı */
body.theme-v2 .v2-post-deleted {
  background: #fff7f6;
  border: 1px solid #e8c5c0;
  border-radius: 2px;
  padding: 14px;
  text-align: center;
  margin-bottom: 8px;
  color: #a73b30;
  font-size: 11px;
}

/* Sistem mesajı kart */
body.theme-v2 .v2-sysmsg-card {
  background: #fff;
  border: 1px solid var(--v2-card-edge);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 16px;
}
body.theme-v2 .v2-sysmsg-head {
  background: linear-gradient(to bottom, #6b7682, #4a5560);
  color: #fff;
  padding: 8px 14px;
  font-weight: 700;
  font-size: 14px;
  text-align: left;
}
body.theme-v2 .v2-sysmsg-body {
  padding: 14px;
  text-align: left;
}
body.theme-v2 .v2-sysmsg-meta {
  font-size: 11px;
  color: var(--v2-muted);
  margin-bottom: 14px;
  text-align: left;
}
body.theme-v2 .v2-sysmsg-text {
  font-size: 13px;
  color: var(--v2-ink);
  line-height: 1.6;
  text-align: left;
  white-space: normal;
  word-wrap: break-word;
}

/* Son Blog Gönderisi kartı (profil sayfasında) */
body.theme-v2 .v2-last-blog {
  padding: 14px 16px;
}
body.theme-v2 .v2-lb-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 3px;
}
body.theme-v2 .v2-lb-title a {
  color: #1f3a52;
}
body.theme-v2 .v2-lb-title a:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-lb-excerpt {
  color: var(--v2-ink-2);
  font-size: 13.5px;
  line-height: 1.55;
  margin-bottom: 12px;
  white-space: pre-wrap;
}
body.theme-v2 .v2-lb-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
body.theme-v2 .v2-lb-date {
  color: var(--v2-muted);
  font-size: 12.5px;
}
body.theme-v2 .v2-lb-link {
  color: var(--v2-link);
  font-size: 12.5px;
  font-weight: 500;
  white-space: nowrap;
}
body.theme-v2 .v2-lb-link:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}

/* Blog: tek post (detay sayfası) */
body.theme-v2 .v2-blog-post {
  background: #fff;
  border: 1px solid var(--v2-card-edge);
  border-radius: 6px;
  padding: 18px 20px;
  margin-bottom: 14px;
}
body.theme-v2 .v2-blog-title {
  font-size: 18px;
  font-weight: 700;
  color: #1f3a52;
  margin: 0 0 6px;
}
body.theme-v2 .v2-blog-meta {
  font-size: 11.5px;
  color: var(--v2-muted);
  margin-bottom: 14px;
}
body.theme-v2 .v2-blog-body {
  font-size: 13.5px;
  color: var(--v2-ink);
  line-height: 1.65;
  white-space: pre-wrap;
}

/* Blog: ay/yıl + yazı dropdown form (popmundo radio menü tarzı) */
body.theme-v2 .v2-blog-nav-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 10px 0 14px;
}
body.theme-v2 .v2-blog-nav-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.theme-v2 .v2-blog-select {
  appearance: auto;
  font-family: inherit;
  font-size: 12.5px;
  padding: 5px 8px;
  background: #fff;
  border: 1px solid var(--v2-card-edge);
  border-radius: 3px;
  color: var(--v2-ink);
  cursor: pointer;
  min-width: 200px;
}
body.theme-v2 .v2-blog-select:hover {
  border-color: #9ab0c4;
}
body.theme-v2 .v2-blog-select:focus {
  outline: none;
  border-color: #2a6db4;
  box-shadow: 0 0 0 2px rgba(42, 109, 180, 0.18);
}

/* Blog yazı footer (post altında yazar + tarih + sil) */
body.theme-v2 .v2-blog-foot {
  margin-top: 16px;
  padding-top: 10px;
  border-top: 1px solid var(--v2-card-edge);
  font-size: 11.5px;
  color: var(--v2-muted);
}

/* Blog yorumlar (panel içi liste, zebra-strip) */
body.theme-v2 .v2-cm-count {
  color: var(--v2-muted);
  font-weight: 500;
  font-size: 12px;
  margin-left: 4px;
}
body.theme-v2 .v2-cm-list {
  padding: 4px 0;
}
body.theme-v2 .v2-cm {
  padding: 11px 16px;
  border-top: 1px solid var(--v2-card-edge);
}
body.theme-v2 .v2-cm:first-child {
  border-top: none;
}
body.theme-v2 .v2-cm:nth-child(even) {
  background: #f5f7fa;
}
body.theme-v2 .v2-cm-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 3px;
}
body.theme-v2 .v2-cm-name {
  color: var(--v2-link);
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
}
body.theme-v2 .v2-cm-name:hover {
  color: var(--v2-link-hover);
  text-decoration: underline;
}
body.theme-v2 .v2-cm-date {
  color: var(--v2-muted);
  font-size: 11.5px;
}
body.theme-v2 .v2-cm-body {
  color: var(--v2-ink);
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-wrap: break-word;
}
body.theme-v2 .v2-cm-del {
  background: none;
  border: 0;
  padding: 0;
  color: #a73b30;
  cursor: pointer;
  font-size: 11px;
  font-family: inherit;
}
body.theme-v2 .v2-cm-del:hover {
  text-decoration: underline;
}

/* Yorum ekle formu (panel'in altında) */
body.theme-v2 .v2-cm-form {
  padding: 12px 16px 16px;
  border-top: 1px solid var(--v2-card-edge);
  background: #fafbfc;
}
body.theme-v2 .v2-cf-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-ink);
  margin-bottom: 8px;
}
body.theme-v2 .v2-cf-input {
  width: 100%;
  min-height: 70px;
  padding: 9px 12px;
  font: inherit;
  font-size: 13.5px;
  color: var(--v2-ink);
  background: #fff;
  border: 1px solid #b8c2cc;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
  resize: vertical;
  font-family: inherit;
}
body.theme-v2 .v2-cf-input:focus {
  outline: none;
  border-color: #6ea7d2;
  box-shadow: 0 0 0 3px rgba(110, 167, 210, 0.18), 0 1px 2px rgba(0, 0, 0, 0.04) inset;
}
body.theme-v2 .v2-cf-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  gap: 12px;
}
body.theme-v2 .v2-cf-count {
  color: var(--v2-muted);
  font-size: 12px;
}

/* Bölüm başlığı (panel-body içinde küçük section ayraçları) */
body.theme-v2 .v2-section-header {
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--v2-ink-2);
  font-weight: 700;
  padding: 8px 12px;
  border-bottom: 1px solid var(--v2-card-edge-soft);
  margin-bottom: 10px;
  background: #f5f6f8;
  border-radius: 3px 3px 0 0;
}

/* Veri bölümü (panel-body içindeki section grouplaması için) */
body.theme-v2 .v2-data-section {
  margin: 0 0 14px;
  border: 1px solid var(--v2-card-edge-soft);
  border-radius: 4px;
  overflow: hidden;
}
body.theme-v2 .v2-data-section .v2-section-header {
  background: linear-gradient(to bottom, var(--v2-thead-bg-top), var(--v2-thead-bg-bot));
  padding: 8px 14px;
  margin: 0;
  border-bottom: 1px solid var(--v2-thead-edge);
  color: var(--v2-thead-text);
}

/* İstatistik kartı (sayısal bilgiler için 3'lü grid kartlar) */
body.theme-v2 .v2-stat-card {
  background: #f5f6f8;
  border: 1px solid var(--v2-card-edge-soft);
  border-radius: 4px;
  padding: 10px 12px;
  text-align: center;
}
body.theme-v2 .v2-stat-label {
  font-size: 11px;
  color: var(--v2-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
body.theme-v2 .v2-stat-value {
  font-size: 18px;
  font-weight: 700;
  color: #2a6db4;
  line-height: 1.2;
}
body.theme-v2 .v2-stat-foot {
  font-size: 10px;
  color: #b06a2c;
  margin-top: 4px;
}

/* Mesaj yıldız butonu (post-bar'da) */
body.theme-v2 .v2-post-star {
  background: transparent;
  border: 0;
  padding: 2px 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b4b2a9;
  transition: color 0.12s;
}
body.theme-v2 .v2-post-star:hover { color: #d4a017; }
body.theme-v2 .v2-post-star.active { color: #d4a017; }
body.theme-v2 .v2-post-star:disabled { opacity: 0.4; cursor: wait; }
body.theme-v2 .v2-post-star-icon {
  width: 13px;
  height: 13px;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linejoin: round;
}
body.theme-v2 .v2-post-star.active .v2-post-star-icon {
  fill: currentColor;
}
body.theme-v2 .v2-post-deleted a {
  color: #a73b30;
  text-decoration: none;
}
body.theme-v2 .v2-post-deleted a:hover {
  text-decoration: underline;
}

/* Rol rozetleri (admin/mod) — post-bar'da yazar adının yanında, sadece ikon */
body.theme-v2 .v2-role-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 2px;
  vertical-align: -2px;
  line-height: 1;
}
body.theme-v2 .v2-role-icon {
  width: 13px;
  height: 13px;
  fill: currentColor;
}
body.theme-v2 .v2-role-badge.admin {
  color: #d4a017;
}
body.theme-v2 .v2-role-badge.mod {
  color: #2a6db4;
}

/* Yetki mesajı — özel mesajlardaki "yeni" arka planı ile uyumlu */
body.theme-v2 .v2-post.is-authority {
  background: #fdf5d4;
}
body.theme-v2 .v2-post.is-authority .v2-post-bar {
  background: #f4e9b3;
  border-bottom-color: #d8c878;
  color: var(--v2-ink);
}
body.theme-v2 .v2-post.is-authority .v2-post-bar .v2-author { color: var(--v2-link); }
body.theme-v2 .v2-post.is-authority .v2-post-bar .v2-author:hover { color: var(--v2-link-hover); }
body.theme-v2 .v2-post.is-authority .v2-pb-reply,
body.theme-v2 .v2-post.is-authority .v2-pb-reply a,
body.theme-v2 .v2-post.is-authority .v2-pb-when,
body.theme-v2 .v2-post.is-authority .v2-pb-id { color: var(--v2-muted); }
body.theme-v2 .v2-post.is-authority .v2-pb-id:hover,
body.theme-v2 .v2-post.is-authority .v2-pb-reply a:hover { color: var(--v2-link); }
body.theme-v2 .v2-post.is-authority .v2-post-body {
  background: transparent;
}

/* BBCode mention'ları (karakter, mekan, şehir, forum mesajı, dış link) */
body.theme-v2 .v2-mention {
  color: #2a6db4;
  text-decoration: none;
  font-weight: 500;
  padding: 0 2px;
  border-radius: 2px;
  transition: background 0.12s;
}
body.theme-v2 .v2-mention:hover {
  background: #e6f0fa;
  text-decoration: underline;
}
body.theme-v2 .v2-mention-post { color: #2a6db4; }
body.theme-v2 .v2-mention-venue { color: #2b8a5b; }
body.theme-v2 .v2-mention-venue:hover { background: #e3f3eb; }
body.theme-v2 .v2-mention-city { color: #7c5cad; }
body.theme-v2 .v2-mention-city:hover { background: #efebf8; }
body.theme-v2 .v2-mention-team { color: #c44a3f; }
body.theme-v2 .v2-mention-team:hover { background: #fae3e0; }
body.theme-v2 .v2-mention-link { color: #b06a2c; }
body.theme-v2 .v2-mention-link:hover { background: #f7eee2; }

/* Resim (img tag) */
body.theme-v2 .v2-msg-img {
  max-width: 100%;
  max-height: 400px;
  height: auto;
  display: block;
  margin: 6px 0;
  border: 1px solid var(--v2-card-edge-soft);
  border-radius: 3px;
  background: #f3f4f5;
}

/* Spoiler */
body.theme-v2 .v2-spoiler {
  margin: 8px 0;
  border: 1px solid var(--v2-card-edge-soft);
  border-radius: 3px;
  background: #f5f6f8;
  overflow: hidden;
}
body.theme-v2 .v2-spoiler-head {
  cursor: pointer;
  padding: 6px 10px;
  font-weight: 700;
  font-size: 11px;
  color: var(--v2-ink-2);
  background: #e8eaee;
  user-select: none;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
body.theme-v2 .v2-spoiler-head::-webkit-details-marker { display: none; }
body.theme-v2 .v2-spoiler-head::before {
  content: "▶";
  font-size: 9px;
  color: var(--v2-muted);
  transition: transform 0.12s;
}
body.theme-v2 .v2-spoiler[open] .v2-spoiler-head::before {
  transform: rotate(90deg);
}
body.theme-v2 .v2-spoiler-head:hover { background: #dde0e5; }
body.theme-v2 .v2-spoiler-body {
  padding: 10px;
  border-top: 1px solid var(--v2-card-edge-soft);
  font-size: 12px;
  color: var(--v2-ink);
  white-space: pre-wrap;
  word-wrap: break-word;
}
