/*
 * PADEL.TC kullanıcı paneli ortak yüzey sistemi
 * Renk kaynağı: admin panel > Ana Sayfa renk paleti (home_theme_settings)
 * Admin panel sayfalarında yüklenmez.
 */
html,
body,
main,
.app,
.page,
.page-wrap,
.page-shell,
.cnc-app,
.cnc-home,
.cnc-matches-app,
.cnc-booking-app,
.cnc-md-app,
.cnc-profile-app,
.pp2-app,
.tour-app,
.ctd-app,
.notifications-page,
.myres-page,
.premium-page {
    background-color: var(--cnc-page-bg) !important;
    color: var(--cnc-page-text);
}

body::before,
body::after,
main::before,
main::after,
.cnc-app::before,
.cnc-app::after,
.cnc-matches-app::before,
.cnc-booking-app::before,
.cnc-md-app::before,
.cnc-profile-app::before,
.pp2-app::before,
.tour-app::before,
.ctd-app::before {
    background-image: none !important;
}

/* Tüm gerçek kart ve panel yüzeyleri tek stile bağlanır. */
.card,
[class$="-card"],
[class*="-card "],
[class*="__card"],
[class$="-panel"],
[class*="-panel "],
[class*="__panel"],
.cnc-home-match-card,
.cnc-quick-card,
.cnc-summary-card,
.cnc-stat-card,
.cnc-profile-card,
.cnc-md-card,
.cnc-team-picker-card,
.match-card,
.tournament-card,
.tour-event-card,
.notification-card,
.booking-card,
.reservation-card,
.premium-card,
.profile-card,
.stats-card,
.history-card,
.section-card,
.info-card,
.form-card,
.empty-card,
.modal-card,
.sheet-card,
.drawer-card {
    background: var(--cnc-card-bg) !important;
    background-color: var(--cnc-card-bg) !important;
    background-image: none !important;
    border-color: var(--cnc-card-border) !important;
    color: var(--cnc-page-text) !important;
    box-shadow: var(--studio-shadow, 0 12px 32px rgba(0,0,0,.18)) !important;
}

/* Kartların içindeki ikinci/üçüncü yüzeylerin farklı tona kaçmasını engeller. */
[class$="-card"] [class*="surface"],
[class$="-card"] [class*="inner"],
[class$="-card"] [class*="content"],
[class*="__card"] [class*="surface"],
[class*="__card"] [class*="inner"],
[class*="__card"] [class*="content"],
[class$="-panel"] [class*="surface"],
[class$="-panel"] [class*="inner"],
.card-body,
.card-content,
.card-inner,
.panel-body,
.panel-content {
    background-color: transparent !important;
    background-image: none !important;
}

/* Bölüm zeminleri sayfa rengi, kartlar kart rengi. */
section,
.section,
.content-section,
.page-section,
.cnc-section,
.cnc-home-section,
.cnc-match-section,
.tour-section,
.ctd-section {
    background-color: transparent !important;
    background-image: none !important;
}

/* Metinler ortak paletten gelir. */
.card small,
[class$="-card"] small,
[class*="__card"] small,
[class$="-panel"] small,
.muted,
.text-muted,
.meta,
.subtitle,
.description {
    color: var(--cnc-page-muted) !important;
}

/* Medya, avatar, badge, buton ve durum renkleri korunur. */
[class*="media"],
[class*="image"],
[class*="cover"],
[class*="banner"],
[class*="avatar"],
.badge,
.tag,
.pill,
button,
.btn,
a.btn,
input,
select,
textarea,
progress {
    background-image: revert-layer;
}

/* Form yüzeyleri de kartlarla aynı tonda kalır. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select,
textarea,
.input,
.select,
.form-control {
    background-color: var(--cnc-card-bg) !important;
    border-color: var(--cnc-card-border) !important;
    color: var(--cnc-page-text) !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--cnc-page-muted) !important;
}

/* Masaüstü ve mobilde sayfanın altında farklı renk şeridi oluşmasını engeller. */
html,
body {
    min-height: 100%;
    background: var(--cnc-page-bg) !important;
}
