/* ============================================================================
   SourceX — UI cila (tüm sayfalara enjekte; sx-env gibi). Self-contained.
   #14 buton hover/active · #20 logo animasyonu · #1 sidebar sabit (sağlamlaştırma)
   ========================================================================== */

/* ── #14 BUTON ETKİLEŞİMLERİ — hover/active geri bildirim ── */
.btn, .nav-link, .ipo-btn, .btn-theme, .btn-g {
  transition: transform .15s cubic-bezier(.2,.7,.2,1), box-shadow .15s ease, filter .15s ease, background-color .15s ease !important;
}
.btn:hover:not(:disabled):not(.disabled),
.ipo-btn:hover, .btn-theme:hover, .btn-g:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 6px 18px -8px rgba(0,0,0,.35);
}
.btn:active:not(:disabled):not(.disabled),
.ipo-btn:active, .btn-theme:active, .btn-g:active {
  transform: translateY(0) scale(.975);
  filter: brightness(.98);
  box-shadow: none;
}
.btn:focus-visible { outline: 2px solid var(--adminuiux-theme-1, #02F5A0); outline-offset: 2px; }
/* sidebar menü öğeleri — hover'da hafif kayma + arka plan */
.adminuiux-sidebar .nav-item .nav-link { transition: background-color .15s ease, color .15s ease, padding-left .15s ease !important; }
.adminuiux-sidebar .nav-item .nav-link:hover:not(.active) {
  background-color: rgba(var(--adminuiux-theme-1-rgb,2,245,160), .10);
  padding-left: 1.1rem;
}
/* tablo satır / kart hover */
.adminuiux-card { transition: box-shadow .2s ease, transform .2s ease; }

/* ── #1 SIDEBAR sabit (sayfa scroll'unda menü kaymasın) — defansif ── */
@media (min-width: 1200px) {
  .adminuiux-sidebar { position: fixed !important; top: 0; bottom: 0; height: 100vh !important; }
  .adminuiux-sidebar .adminuiux-sidebar-inner { height: 100%; overflow-y: auto; overscroll-behavior: contain; }
}

/* ── #20 LOGO hafif animasyon (yazı/marka) — ince parıltı + hover ── */
.navbar-brand, .brand, a[href*="panel"] img[alt="SourceX"], .sx-logo {
  transition: transform .25s ease, filter .25s ease;
}
.navbar-brand:hover img, .brand:hover img, a[href*="panel"]:hover img[alt="SourceX"] {
  transform: scale(1.04);
  filter: drop-shadow(0 0 6px rgba(var(--adminuiux-theme-1-rgb,2,245,160), .5));
}
/* SOURCEX yazısındaki 'X' (varsa) için sürekli ince nabız */
@keyframes sxLogoPulse { 0%,100% { filter: drop-shadow(0 0 0 rgba(2,245,160,0)); } 50% { filter: drop-shadow(0 0 5px rgba(2,245,160,.55)); } }
@media (prefers-reduced-motion: no-preference) {
  .sx-logo-anim { animation: sxLogoPulse 3.2s ease-in-out infinite; }
}

/* #2: AdminUIUX chart-loader summary canvas'ını display:none yapıyor — Chart.js çizdiği halde gizli kalıyor. Zorla göster. */
canvas#summarychart{display:block!important}

/* ── FOOTER BOŞLUĞU FIX ──
   AdminUIUX sticky-footer: body{min-height:100vh; display:flex; flex-direction:column} +
   .adminuiux-wrap{flex-grow:1} + footer.mt-auto → kısa içerikte içerik ile footer arasında
   kocaman boş bant kalıyor (footer viewport dibine itiliyor).
   Çözüm: içerik alanını GERME, footer'ı içeriğe yapıştır. Body 100vh kalır → altta kalan alan
   sayfa arka planıyla dolar (footer altında beyaz kalmaz). Sidebar position:fixed olduğundan etkilenmez. */
.adminuiux-wrap{flex-grow:0!important}
.adminuiux-footer.mt-auto{margin-top:0!important}
