/* Parantez Link — Light Able teması üzerine projeye özgü ayarlar.
   Tema dosyaları (static/vendor/able) düzenlenmez; değişiklikler burada. */

/* Marka: amblem + yazı. Yazı boyutu amblem yüksekliğiyle orantılı (≈ %53). */
.pl-brand { display: inline-flex; align-items: center; gap: .55em; color: var(--bs-body-color); }
.pl-brand:hover { color: var(--bs-body-color); }
/* Amblem PNG'sinin zemini beyaz; açık renkli zeminlerde görünmesin diye "multiply". */
.pl-brand-mark { display: block; width: auto; object-fit: contain; }
/* Marka yazısı Lato (Türkçe karakter desteğiyle Google Fonts latin-ext alt kümesi) */
.pl-brand-name { font-family: "Lato", "Public Sans", sans-serif; font-weight: 900; letter-spacing: -.01em; line-height: 1; white-space: nowrap; }
/* Yazı yüksekliği amblemin ~%70'i: büyük harfler amblemin gövdesiyle hizalı görünür. */
.pl-brand-sm { gap: .45em; }
.pl-brand-sm .pl-brand-mark { height: 36px; }
.pl-brand-sm .pl-brand-name { font-size: 25px; }
.pl-brand-lg .pl-brand-mark { height: 52px; }
.pl-brand-lg .pl-brand-name { font-size: 36px; }
.pc-sidebar .m-header .b-brand { padding-left: .25rem; }

/* Kısa linkler ve teknik değerler */
.pl-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .925em;
}
.pl-break { overflow-wrap: anywhere; }
.pl-truncate {
  display: block; max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
td.pl-link-cell a { white-space: nowrap; }

/* Özet kartları */
.pl-stat .pl-stat-icon {
  display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px;
  font-size: 1.35rem;
}
.pl-stat-value { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }

/* Aynı satırdaki kartlar eşit yükseklikte; boş kartın içeriği ortalanır. */
.pl-equal-row > [class*="col"] { display: flex; flex-direction: column; }
.pl-equal-row > [class*="col"] > .card { flex: 1 1 auto; display: flex; flex-direction: column; }
.pl-equal-row > [class*="col"] > .card > .card-body,
.pl-equal-row > [class*="col"] > .card > .list-group { flex: 1 1 auto; }
.pl-empty {
  height: 100%; min-height: 200px; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .35rem; text-align: center; padding: 1.5rem 1rem;
}
.pl-empty-icon {
  display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  font-size: 1.6rem; margin-bottom: .4rem;
}

/* Tıklama grafiği (analytics/_chart.html) */
.pl-chart rect { fill: var(--bs-primary); }
.pl-chart rect:hover { fill: var(--bs-primary-text-emphasis, var(--bs-primary)); opacity: .85; }
.pl-chart line { stroke: var(--bs-border-color); }

/* Mesajlar sayfa başlığının hemen altında */
.pl-messages .alert { margin-bottom: 1rem; }

/* Dar kartlar (formlar) */
.pl-narrow { max-width: 720px; }

/* Kullanıcı menüsü */
.pl-user-menu { min-width: 240px; }
.pl-user-menu form { margin: 0; }

/* Oturumsuz sayfalar: tema auth düzeni; logo, mesajlar ve kart alt alta */
.pl-auth-col { width: 100%; max-width: 440px; margin: 0 auto; }
/* Tema dar ekranda karta 20px yan boşluk verir ama genişliği %100 bırakır; kart taşar. */
.auth-main .auth-wrapper .auth-form .pl-auth-col .card { margin-left: 0; margin-right: 0; }
@media (max-width: 575.98px) {
  .pl-auth-col { padding: 0 16px; }
  .pl-brand-lg .pl-brand-mark { height: 42px; }
  .pl-brand-lg .pl-brand-name { font-size: 29px; }
}
/* Arka plan: prntz.app tanıtım sayfasıyla aynı renk dili; nokta deseni ve soluk amblem */
.pl-auth-bg {
  overflow: hidden; isolation: isolate;
  background:
    radial-gradient(1000px 600px at 90% 0%, rgba(70, 128, 255, .30), transparent 62%),
    radial-gradient(860px 560px at 0% 100%, rgba(44, 168, 127, .24), transparent 62%),
    #eef2fa;
}
.pl-auth-bg::before, .pl-auth-bg::after { content: ""; position: absolute; pointer-events: none; z-index: -1; }
.pl-auth-bg::before {
  inset: 0;
  background-image: radial-gradient(rgba(29, 29, 27, .16) 1.2px, transparent 1.2px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 85%);
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 85%);
}
.pl-auth-bg::after {
  width: min(62vw, 640px); aspect-ratio: 1; right: -8%; bottom: -14%;
  background: url("../img/amblem.d978d7a30d3a.png") center / contain no-repeat;
  opacity: .10; transform: rotate(-12deg);
}
.pl-auth-bg .card { box-shadow: 0 24px 60px -28px rgba(29, 29, 27, .3); border: 0; }

/* Tanım listeleri (link ayrıntısı) */
.pl-details { display: grid; grid-template-columns: max-content 1fr; gap: .6rem 1.5rem; margin: 0; }
.pl-details dt { color: var(--bs-secondary-color); font-weight: 500; }
.pl-details dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
  .pl-details { grid-template-columns: 1fr; gap: .15rem; }
  .pl-details dd { margin-bottom: .6rem; }
}

/* Bilgi kutusu: açık zemin, okunur metin */
.pl-note { background: var(--bs-tertiary-bg, #f8f9fa); border: 1px solid var(--bs-border-color); border-radius: .5rem; padding: .75rem 1rem; }
.pl-note-warning { background: #fff8e6; border-color: #f5d88a; color: var(--bs-body-color); }

/* iPhone, 16px altındaki alanlara dokununca sayfayı yakınlaştırır; telefonda alanlar 16px. */
@media (max-width: 575.98px) {
  .form-control, .form-select, .input-group-text { font-size: 16px; }
}

/* Baş harfli avatar (kenar menü kullanıcı kartı, Hesabım) */
.pl-avatar {
  display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
  background: var(--bs-primary); color: #fff; font-weight: 700; font-size: .95rem; letter-spacing: .02em;
}
.pl-avatar-lg { width: 56px; height: 56px; font-size: 1.2rem; }
.pc-user-card .pc-user-links.btn { color: inherit; font: inherit; width: calc(100% - 16px); }
/* Kullanıcı kartı menüsü: kırpılmasın, kartın hemen üstünde ve kenar çubuğu genişliğinde açılsın. */
.pl-min-w-0 { min-width: 0; }
.pc-sidebar .pc-user-card .card-body { position: relative; }
.pc-sidebar .pc-user-card .dropup { position: static; }
.pc-sidebar .pc-user-card .dropup .dropdown-menu[data-bs-popper] { left: 15px; right: 15px; width: auto; bottom: 100%; margin-bottom: 8px; }

/* Koyu görünüm: amblem koyu renkli PNG; koyu zeminde açık renge çevrilir. */
[data-pc-theme="dark"] .pl-brand-mark { filter: invert(1) brightness(1.1); }
[data-pc-theme="dark"] .pl-brand, [data-pc-theme="dark"] .pl-brand:hover { color: var(--bs-body-color); }
[data-pc-theme="dark"] .pl-note-warning { background: rgba(245, 216, 138, .12); border-color: rgba(245, 216, 138, .35); }

/* Genel Görünüm: tıklama haritası (jsvectormap) */
/* jsvectormap.min.css kapsayıcıya height:100% verir; kimlikle ezilir. */
#pl-world-map.pl-world-map { height: 380px; position: relative; }
.pl-world-map .jvm-zoom-btn { background: var(--bs-secondary-bg); color: var(--bs-body-color); border: 1px solid var(--bs-border-color); width: 26px; height: 26px; line-height: 22px; border-radius: 6px; }
.pl-map-legend { display: inline-flex; align-items: center; gap: .5rem; }
.pl-map-legend i { display: inline-block; width: 90px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #c7d8ff, #1f5fe0); }
@media (max-width: 575.98px) { #pl-world-map.pl-world-map { height: 240px; } }
.jvm-tooltip { font-family: inherit; font-size: .8rem; padding: .35rem .6rem; border-radius: 6px; background: #1d1d1b; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }

/* Genel Görünüm: bağlantılı özet kartı */
a.pl-stat-link { color: inherit; transition: transform .15s ease, box-shadow .15s ease; }
a.pl-stat-link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -16px rgba(0, 0, 0, .35); }

/* Linkler tablosu (DataTables) */
.pl-datatable-wrap div.dt-container .dt-search input { min-width: 240px; }
.pl-datatable-wrap div.dt-container .row { --bs-gutter-x: 0; }
.pl-datatable-wrap td.pl-target-cell { max-width: 360px; }
@media (max-width: 575.98px) {
  .pl-datatable-wrap div.dt-container .dt-search input { min-width: 0; width: 100%; }
}
/* Temadaki DataTables çekirdeği (2.0.0) Bootstrap 5 eklentisinin satır sınıflarını uygulamıyor;
   üst (sayfa boyutu + arama) ve alt (bilgi + sayfalama) satırları burada hizalanır. */
.pl-datatable-wrap .dt-layout-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin: .25rem 0 .75rem; }
.pl-datatable-wrap .dt-layout-row.dt-layout-table { display: block; margin: 0; }
.pl-datatable-wrap .dt-layout-row:last-child { margin: .75rem 0 0; }
.pl-datatable-wrap .dt-layout-cell.dt-end { margin-left: auto; }
.pl-datatable-wrap .dt-length, .pl-datatable-wrap .dt-search { display: flex; align-items: center; gap: .5rem; }
.pl-datatable-wrap .dt-length select { width: auto; }
.pl-datatable-wrap .dt-paging .pagination { margin: 0; }
@media (max-width: 575.98px) {
  .pl-datatable-wrap .dt-layout-cell { width: 100%; }
  .pl-datatable-wrap .dt-layout-cell.dt-end { margin-left: 0; }
}
[data-pc-theme="dark"] .pl-world-map .jvm-zoom-btn { background: #263240; color: #e6e9ef; border-color: #3a4658; }

/* Phosphor duotone ikonlarının ::before katmanı %20 opak dolgudur ve ikonun arkasında zemin gibi
   görünür; yalnızca çizgi (::after) katmanı gösterilir. Katman yer kaplamaya devam eder, hizalama bozulmaz. */
.ph-duotone:not(.ph-cell-signal-none-duotone):not(.ph-wifi-none-duotone)::before { opacity: 0 !important; }
/* (Bu iki ikon tek katmanlıdır; ::before asıl çizimdir.) */

/* Link ayrıntısı: QR kod önizlemesi */
.pl-qr-box { width: 148px; flex: none; padding: 6px; border-radius: 12px; background: #fff; border: 1px solid var(--bs-border-color); }
.pl-qr-box svg { display: block; width: 100%; height: auto; }

/* Link formu: UTM bölümü */
.pl-utm { border: 1px solid var(--bs-border-color); border-radius: 10px; padding: .75rem 1rem; }
.pl-utm > summary { cursor: pointer; font-weight: 600; }
.pl-utm[open] > summary { margin-bottom: .25rem; }

/* Kampanyalar: renk noktası ve rozet */
.pl-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex: none; }
.pl-dot-lg { width: 14px; height: 14px; }
.pl-campaign-badge { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
.flex-none { flex: none; }

/* Linkler: toplu işlem çubuğu ve seçim sütunu */
.pl-bulk { position: sticky; top: 74px; z-index: 5; margin-bottom: .75rem; padding: .6rem .9rem; border-radius: 10px; background: var(--bs-primary-bg-subtle, #e6f6fe); border: 1px solid var(--bs-primary-border-subtle, #b3e3fc); }
th.pl-check-col, td.pl-check-col { width: 36px; }

/* Kod örneği */
.pl-code { background: var(--bs-tertiary-bg, #f4f6fb); border-radius: 8px; padding: .75rem 1rem; font-size: .8rem; overflow-x: auto; }
@media (min-width: 1200px) { .pl-sticky-card { position: sticky; top: 90px; } }
.pl-wrap-table td { white-space: normal; vertical-align: top; }
.pl-wrap-table td:first-child { white-space: nowrap; width: 1%; }
.pl-stacked .progress-bar + .progress-bar { border-left: 2px solid var(--bs-card-bg, #fff); }

/* Üst bar araması */
.pl-search .form-control { width: 320px; max-width: 320px; }
.pl-search-menu { width: 420px; max-width: calc(100vw - 32px); max-height: 70vh; overflow-y: auto; margin-top: 6px; top: 100%; left: 0; }
.pl-search-menu .dropdown-item { white-space: normal; padding-top: .45rem; padding-bottom: .45rem; }
.pl-search-menu .dropdown-item.active, .pl-search-menu .dropdown-item:active { background: var(--bs-primary-bg-subtle, #e6f6fe); color: inherit; }
.pl-search kbd { font-size: .7rem; }

/* ==========================================================================
   Düğmeler: kurumsal, sade tek dil.
   - Ana işlem: .btn-primary (dolu, ana renk)
   - Diğer tüm işlemler (tema renk varyantları dahil: light-*, success, danger, outline-*):
     ana renkte çerçeveli; üzerine gelince dolu.
   - Yalnızca iptal/vazgeç: .pl-btn-cancel (nötr gri).
   Arama kısayolu, kapatma, simge düğmeleri ve sayfalama bu kurala girmez.
   Renkler !important: temanın koyu görünüm kuralları ([data-pc-theme=dark] .btn-light-*:not(:hover))
   daha belirgin seçici kullanıyor.
   ========================================================================== */
.btn:not(.btn-close):not(.btn-search):not(.btn-icon) {
  --pl-btn-radius: 8px;
  border-radius: var(--pl-btn-radius);
  font-weight: 600;
  letter-spacing: .005em;
  box-shadow: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn.btn-primary {
  background: var(--bs-primary) !important;
  border: 1px solid var(--bs-primary) !important;
  color: #fff !important;
}
.btn.btn-primary:hover, .btn.btn-primary:focus-visible, .btn.btn-primary:active {
  background: var(--bs-primary-text-emphasis, var(--bs-primary)) !important;
  border-color: var(--bs-primary-text-emphasis, var(--bs-primary)) !important;
  color: #fff !important;
  filter: brightness(.94);
}
/* :root:root — temanın koyu görünümdeki !important kurallarından (0,3,0) daha belirgin. */
:root:root .btn.btn-light-primary,
:root:root .btn.btn-light-secondary,
:root:root .btn.btn-light-danger,
:root:root .btn.btn-light-success,
:root:root .btn.btn-light-warning,
:root:root .btn.btn-light-info,
:root:root .btn.btn-light,
:root:root .btn.btn-success,
:root:root .btn.btn-danger,
:root:root .btn.btn-warning,
:root:root .btn.btn-info,
:root:root .btn.btn-secondary,
:root:root .btn.btn-outline-primary,
:root:root .btn.btn-outline-secondary,
:root:root .btn.btn-outline-light {
  background: transparent !important;
  border: 1px solid var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}
:root:root .btn.btn-light-primary:hover,
:root:root .btn.btn-light-secondary:hover,
:root:root .btn.btn-light-danger:hover,
:root:root .btn.btn-light-success:hover,
:root:root .btn.btn-light-warning:hover,
:root:root .btn.btn-light-info:hover,
:root:root .btn.btn-light:hover,
:root:root .btn.btn-success:hover,
:root:root .btn.btn-danger:hover,
:root:root .btn.btn-warning:hover,
:root:root .btn.btn-info:hover,
:root:root .btn.btn-secondary:hover,
:root:root .btn.btn-outline-primary:hover,
:root:root .btn.btn-outline-secondary:hover,
:root:root .btn.btn-outline-light:hover,
:root:root .btn.btn-light-primary:active,
:root:root .btn.btn-light-secondary:active,
:root:root .btn.btn-light-danger:active,
:root:root .btn.btn-success:active,
:root:root .btn.btn-danger:active,
:root:root .btn.btn-outline-secondary:active {
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
}
:root:root .btn.btn-link:not(.btn-icon):not(.pc-user-links) { color: var(--bs-primary) !important; text-decoration: none; font-weight: 600; border: 0 !important; background: none !important; }
:root:root .btn.btn-link:not(.btn-icon):not(.pc-user-links):hover { text-decoration: underline; background: none !important; color: var(--bs-primary) !important; }
/* İptal / vazgeç: tek farklı renk */
:root:root .btn.pl-btn-cancel, :root:root .btn.pl-btn-cancel.btn-link {
  background: transparent !important;
  border: 1px solid var(--bs-border-color) !important;
  color: var(--bs-secondary-color, #6b7280) !important;
  text-decoration: none;
}
:root:root .btn.pl-btn-cancel:hover, :root:root .btn.pl-btn-cancel:active {
  background: var(--bs-secondary-bg, #f1f3f6) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
  text-decoration: none;
}
.btn:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; box-shadow: none; }

/* Koyu görünüm: tema ikincil metin ve zemin değişkenlerini koyu görünüme uyarlamıyor. */
[data-pc-theme="dark"] {
  --bs-secondary-color: rgba(230, 233, 239, .65);
  --bs-secondary-bg: #263240;
  --bs-tertiary-bg: #1f2a36;
}

/* Kurumsal pakete özel özellik notu */
.pl-plan-lock { display: flex; gap: .85rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: var(--bs-border-radius-lg, 10px); background: rgba(var(--bs-primary-rgb), .06); border: 1px solid rgba(var(--bs-primary-rgb), .2); }
.pl-plan-lock > i { font-size: 1.6rem; color: var(--bs-primary); flex: none; }
.pl-plan-lock strong { display: block; margin-bottom: .2rem; }

/* Paketim kartı */
.pl-plan-features li { display: flex; align-items: center; gap: .55rem; padding: .3rem 0; }
.pl-plan-features i { font-size: 1.15rem; flex: none; }
.pl-stat-info { display: flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 500; color: var(--bs-success); min-height: 7px; }
.pl-stat-info i { font-size: 1rem; }
