/* ============================================
   TEMA SİSTEMİ - Yoğunluk + Karanlık Mod
   Varsayılan / Geniş / Kompakt + Light / Dark
   ============================================ */

/* ============================================
   1. CSS DEĞİŞKENLERİ (YOĞUNLUK)
   ============================================ */

/* Varsayılan (Default) */
:root,
[data-density="default"] {
    --density-px: 16px;
    --density-py: 12px;
    --density-gap: 24px;
    --density-card-p: 24px;
    --density-text-base: 14px;
    --density-text-sm: 13px;
    --density-text-xs: 11px;
    --density-table-px: 16px;
    --density-table-py: 12px;
    --density-sidebar-py: 12px;
    --density-sidebar-px: 16px;
    --density-sidebar-w: 288px;
    --density-rounded: 9px;
    --density-rounded-sm: 6px;
    --density-btn-px: 16px;
    --density-btn-py: 10px;
    --density-input-py: 10px;
    --density-nav-py: 12px;
}

/* Geniş (Comfortable) */
[data-density="comfortable"] {
    --density-px: 20px;
    --density-py: 16px;
    --density-gap: 28px;
    --density-card-p: 28px;
    --density-text-base: 15px;
    --density-text-sm: 14px;
    --density-text-xs: 12px;
    --density-table-px: 20px;
    --density-table-py: 16px;
    --density-sidebar-py: 14px;
    --density-sidebar-px: 20px;
    --density-sidebar-w: 304px;
    --density-rounded: 12px;
    --density-rounded-sm: 7px;
    --density-btn-px: 20px;
    --density-btn-py: 12px;
    --density-input-py: 12px;
    --density-nav-py: 14px;
}

/* Kompakt (Compact) */
[data-density="compact"] {
    --density-px: 10px;
    --density-py: 6px;
    --density-gap: 16px;
    --density-card-p: 16px;
    --density-text-base: 13px;
    --density-text-sm: 12px;
    --density-text-xs: 10px;
    --density-table-px: 10px;
    --density-table-py: 6px;
    --density-sidebar-py: 8px;
    --density-sidebar-px: 12px;
    --density-sidebar-w: 260px;
    --density-rounded: 6px;
    --density-rounded-sm: 4px;
    --density-btn-px: 12px;
    --density-btn-py: 6px;
    --density-input-py: 6px;
    --density-nav-py: 8px;
}

/* ============================================
   2. YOĞUNLUK UYGULAMALARI
   ============================================ */

/* Sidebar */
[data-density] .glass-sidebar,
[data-density] .admin-sidebar {
    width: var(--density-sidebar-w);
}
[data-density] .nav-item {
    padding: var(--density-nav-py) var(--density-sidebar-px);
    font-size: var(--density-text-sm);
}

/* Tablolar */
[data-density] table thead th {
    padding: var(--density-table-py) var(--density-table-px);
    font-size: var(--density-text-xs);
}
[data-density] table tbody td {
    padding: var(--density-table-py) var(--density-table-px);
    font-size: var(--density-text-sm);
}

/* Kartlar */
[data-density] .bg-white.rounded-xl,
[data-density] .bg-white.rounded-2xl {
    padding: var(--density-card-p);
    border-radius: var(--density-rounded);
}

/* Butonlar */
[data-density] button,
[data-density] .btn,
[data-density] a[class*="bg-"][class*="text-white"] {
    padding: var(--density-btn-py) var(--density-btn-px);
    font-size: var(--density-text-sm);
    border-radius: var(--density-rounded-sm);
}

/* Input */
[data-density] input[type="text"],
[data-density] input[type="number"],
[data-density] input[type="date"],
[data-density] input[type="email"],
[data-density] textarea,
[data-density] select {
    padding: var(--density-input-py) var(--density-px);
    font-size: var(--density-text-sm);
    border-radius: var(--density-rounded-sm);
}

/* Body text */
[data-density] body {
    font-size: var(--density-text-base);
}

/* Main content padding */
[data-density] main .px-4,
[data-density] main .px-6,
[data-density] main .px-8 {
    padding-left: var(--density-px);
    padding-right: var(--density-px);
}

/* Space-y gaps */
[data-density] .space-y-6 > * + * { margin-top: var(--density-gap); }
[data-density] .space-y-4 > * + * { margin-top: calc(var(--density-gap) * 0.67); }

/* Sidebar genişliğine göre main offset — sadece lg ve üzeri (dar ekranda soldaki boşluk kalmasın) */
@media (min-width: 1024px) {
    [data-density] .lg\:pl-72 { padding-left: var(--density-sidebar-w); }
    [data-density] .lg\:ml-64 { margin-left: var(--density-sidebar-w); }
    [data-density] .lg\:w-72 { width: var(--density-sidebar-w); }
    [data-density] .lg\:flex-col.lg\:fixed { width: var(--density-sidebar-w); }
    [data-density] .admin-sidebar { width: var(--density-sidebar-w); }
}

/* ============================================
   3. KARANLIK MOD
   ============================================ */

/* Light (varsayılan) */
:root,
[data-theme="light"] {
    --bg-primary: #f1f5f9;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f8fafc;
    --bg-sidebar: rgba(255, 255, 255, 0.85);
    --bg-hover: #f1f5f9;
    --bg-active: #f1f5f9;
    --border-color: #e2e8f0;
    --border-light: #f1f5f9;
    --text-primary: #1e293b;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
    color-scheme: light;
}

/* Dark */
[data-theme="dark"] {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-tertiary: #1a2332;
    --bg-sidebar: rgba(30, 41, 59, 0.95);
    --bg-hover: #334155;
    --bg-active: #1e293b;
    --border-color: #334155;
    --border-light: #1e293b;
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #64748b;
    --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.3);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.4);
    color-scheme: dark;
}

/* Karanlık mod uygulamaları */
[data-theme="dark"] body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary);
}

[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-gray-50,
[data-theme="dark"] .bg-slate-50 {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .bg-\[\#f8fafc\],
[data-theme="dark"] .bg-\[\#f1f5f9\] {
    background-color: var(--bg-primary) !important;
}

[data-theme="dark"] .glass-sidebar {
    background: var(--bg-sidebar) !important;
    border-right-color: var(--border-color) !important;
}

[data-theme="dark"] .text-gray-900,
[data-theme="dark"] .text-gray-800 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .text-gray-700,
[data-theme="dark"] .text-gray-600 {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .text-gray-500,
[data-theme="dark"] .text-gray-400 {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .border-gray-100,
[data-theme="dark"] .border-gray-200 {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] table thead th,
[data-theme="dark"] .bg-gray-50 {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
}

[data-theme="dark"] table tbody td {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] table tbody tr:hover {
    background-color: var(--bg-hover) !important;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--text-muted) !important;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus {
    border-color: #475569 !important;
    box-shadow: 0 0 0 2px rgba(71, 85, 105, 0.3) !important;
}

/* Kartlar */
[data-theme="dark"] .shadow-sm,
[data-theme="dark"] .shadow-lg {
    box-shadow: var(--shadow-sm) !important;
}

/* Stat kutular */
[data-theme="dark"] .bg-slate-50,
[data-theme="dark"] .bg-blue-50,
[data-theme="dark"] .bg-green-50,
[data-theme="dark"] .bg-emerald-50,
[data-theme="dark"] .bg-red-50,
[data-theme="dark"] .bg-amber-50,
[data-theme="dark"] .bg-yellow-50 {
    background-color: var(--bg-tertiary) !important;
}

/* Dropdown menüler */
[data-theme="dark"] [x-show] .bg-white {
    background-color: var(--bg-secondary) !important;
}

/* Modal arka plan */
[data-theme="dark"] .bg-gray-500\/75 {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Scrollbar */
[data-theme="dark"] ::-webkit-scrollbar-track { background: var(--bg-secondary); }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #475569; }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #64748b; }

/* Blob animasyonları */
[data-theme="dark"] .animate-blob { opacity: 0.05 !important; }

/* Header bar */
[data-theme="dark"] .bg-white\/80,
[data-theme="dark"] .bg-white\/90 {
    background-color: rgba(30, 41, 59, 0.9) !important;
}

/* Sidebar user area */
[data-theme="dark"] .bg-white\/50 {
    background-color: rgba(30, 41, 59, 0.5) !important;
}

/* ============================================
   3b. ADMIN PANEL SHELL — Tema değişkenleri + kabuk
   ============================================ */

/* Light: admin kabuğu */
.admin-panel {
    --admin-sidebar-bg: #ffffff;
    --admin-sidebar-border: #e2e8f0;
    --admin-nav-text: #334155;
    --admin-nav-text-muted: #64748b;
    --admin-nav-hover-bg: #f8fafc;
    --admin-nav-active-bg: #f1f5f9;
    --admin-nav-active-text: #1e293b;
    --admin-topbar-bg: #ffffff;
    --admin-topbar-border: #e2e8f0;
    --admin-topbar-shadow: none;
    --admin-main-bg: #f8fafc;
    --admin-card-bg: #ffffff;
    --admin-card-border: #e2e8f0;
    --admin-card-shadow: 0 1px 2px rgba(0,0,0,0.03);
    --admin-card-shadow-hover: 0 4px 12px rgba(0,0,0,0.05);
    --admin-card-radius: 8px;
    --admin-input-border: #e2e8f0;
    --admin-input-focus-ring: var(--brand-primary, #475569);
}

/* Sidebar */
.admin-panel .admin-sidebar {
    background-color: var(--admin-sidebar-bg);
    border-right-color: var(--admin-sidebar-border);
}

/* Topbar */
.admin-panel header.h-14 {
    background-color: var(--admin-topbar-bg);
    border-bottom-color: var(--admin-topbar-border);
    box-shadow: var(--admin-topbar-shadow);
}

/* Main content */
.admin-panel main {
    background-color: var(--admin-main-bg);
}

/* Dark: admin kabuğu */
[data-theme="dark"] .admin-panel {
    --admin-sidebar-bg: #0f172a;
    --admin-sidebar-border: #1e293b;
    --admin-nav-hover-bg: #1e293b;
    --admin-nav-active-bg: #334155;
    --admin-nav-active-text: #f1f5f9;
    --admin-nav-text: #cbd5e1;
    --admin-nav-text-muted: #94a3b8;
    --admin-topbar-bg: #0f172a;
    --admin-topbar-border: #1e293b;
    --admin-topbar-shadow: none;
    --admin-main-bg: #0f172a;
    --admin-card-bg: #1e293b;
    --admin-card-border: #334155;
    --admin-card-shadow: none;
    --admin-card-shadow-hover: 0 4px 12px rgba(0,0,0,0.25);
    --admin-card-radius: 8px;
}
[data-theme="dark"] .admin-panel .admin-sidebar {
    background-color: var(--admin-sidebar-bg);
    border-right-color: var(--admin-sidebar-border);
}
[data-theme="dark"] .admin-panel header.h-14 {
    background-color: var(--admin-topbar-bg);
    border-bottom-color: var(--admin-topbar-border);
}
[data-theme="dark"] .admin-panel .bg-gray-50 {
    background-color: var(--admin-main-bg) !important;
}

/* ============================================
   4. GEÇİŞ ANİMASYONU
   ============================================ */
html {
    transition: background-color 0.3s ease, color 0.3s ease;
}
html * {
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.15s ease, box-shadow 0.2s ease;
}
/* Animasyonları engelleme (performans) */
html *::before, html *::after { transition: none; }

/* ============================================
   5. YÜZEY PROFİLLERİ (ADMIN / CLIENT AYRI)
   ============================================ */
html.admin-theme-clean .shadow-sm,
html.client-theme-clean .shadow-sm {
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
}

html.admin-theme-clean .rounded-2xl,
html.client-theme-clean .rounded-2xl {
    border-radius: 0.75rem !important;
}

html.admin-theme-contrast .bg-white,
html.client-theme-contrast .bg-white {
    border: 1px solid #cbd5e1 !important;
}

html.admin-theme-contrast [class*="text-gray-5"],
html.client-theme-contrast [class*="text-gray-5"] {
    color: #334155 !important;
}

/* ============================================
   6. TARİH ALANLARI – Uzama / taşma önleme
   Tüm input[type="date"] alanları sabit genişlikle sınırlı; geçersiz uzun girişler taşmaz.
   ============================================ */
input[type="date"],
input[type="datetime-local"] {
    max-width: 11rem;
    box-sizing: border-box;
}
input[type="date"].w-full,
input[type="datetime-local"].w-full {
    max-width: 100%;
}

/* ============================================
   7. KÖŞE YUVARLAKLIĞI – Site geneli (Nav/Menu hariç)
   Orijinal ile azaltılmış arası; nav/menu kendi stillerini kullanır.
   ============================================ */
.rounded-lg { border-radius: 0.5rem !important; }
.rounded-xl { border-radius: 0.625rem !important; }
.rounded-2xl { border-radius: 0.75rem !important; }
.rounded-3xl { border-radius: 1rem !important; }
