/* ============================================================
   style.css — TAM GÜNCELLENMİŞ VERSİYON v2
   Dark mode tüm panel sayfalarını kapsar.
   PHP dosyalarına hiç dokunulmadı — salt CSS çözümü.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

/* ============================================================
   CSS DEĞİŞKENLERİ — Açık Tema
   ============================================================ */
:root {
    --gsf-purple:      #8a5ea4;
    --gsf-dark:        #6a4085;
    --bg-color:        #f5f7fa;
    --surface-color:   #ffffff;
    --surface-alt:     #f8f9fa;
    --surface-raised:  #ffffff;
    --surface-hover:   #f8fafc;
    --border-color:    #dfe6e9;
    --border-light:    #edf1f7;
    --border-subtle:   #f1f5f9;
    --text-main:       #2d3436;
    --text-heading:    #1f2937;
    --text-light:      #636e72;
    --text-muted:      #94a3b8;
    --shadow-sm:       0 2px 4px rgba(0,0,0,0.05);
    --shadow-md:       0 8px 16px rgba(0,0,0,0.10);
    --shadow-card:     0 12px 28px rgba(15,23,42,0.06);
    --radius:          12px;
    --soft-bg:         #f5f7fa;
    --status-success-bg:   #ecfdf3; --status-success-text: #065f46; --status-success-bdr: #ccefdc;
    --status-warn-bg:      #fff9e9; --status-warn-text:    #92400e; --status-warn-bdr:    #ffe6a7;
    --status-danger-bg:    #fff1f2; --status-danger-text:  #9f1239; --status-danger-bdr:  #fecdd3;
    --status-info-bg:      #eef5ff; --status-info-text:    #2156a5; --status-info-bdr:    #dbeafe;
    --status-neutral-bg:   #f8fafc; --status-neutral-text: #334155; --status-neutral-bdr: #e8edf3;
}

/* ============================================================
   DARK THEME — Değişken Override'ları
   ============================================================ */
body.dark-theme {
    --bg-color:        #0f1117;
    --surface-color:   #1a1d27;
    --surface-alt:     #232635;
    --surface-raised:  #1e2130;
    --surface-hover:   #252838;
    --border-color:    #2e3147;
    --border-light:    #252838;
    --border-subtle:   #1e2130;
    --text-main:       #e2e8f0;
    --text-heading:    #f1f5f9;
    --text-light:      #9aa3b8;
    --text-muted:      #5c6480;
    --shadow-sm:       0 2px 4px rgba(0,0,0,0.30);
    --shadow-md:       0 8px 16px rgba(0,0,0,0.45);
    --shadow-card:     0 12px 28px rgba(0,0,0,0.35);
    --soft-bg:         #0f1117;
    --status-success-bg:   #052e16; --status-success-text: #6ee7b7; --status-success-bdr: #166534;
    --status-warn-bg:      #2d1f00; --status-warn-text:    #fde68a; --status-warn-bdr:    #78350f;
    --status-danger-bg:    #2d1515; --status-danger-text:  #fca5a5; --status-danger-bdr:  #7f1d1d;
    --status-info-bg:      #0f1e3a; --status-info-text:    #93c5fd; --status-info-bdr:    #1e3a5f;
    --status-neutral-bg:   #1e2130; --status-neutral-text: #9aa3b8; --status-neutral-bdr: #2e3147;
}

/* ============================================================
   FLASH ENGELLEYİCİ
   ============================================================ */
html.dark-theme-early body { background-color: #0f1117 !important; }

/* ============================================================
   DARK THEME — KAPSAMLI OVERRIDE'LAR
   Tüm hard-coded renkleri CSS specificity ile kapatır.
   PHP dosyalarına hiç dokunulmaz.
   ============================================================ */

/* Temel */
body.dark-theme { background-color: var(--bg-color); color: var(--text-main); }
body.dark-theme .main-header { background-color: var(--surface-color); }

/* Kart yüzeyleri */
body.dark-theme .card-box,
body.dark-theme .center-box,
body.dark-theme .modal-content,
body.dark-theme .modal-card {
    background-color: var(--surface-color) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main);
}

/* Stat kartları */
body.dark-theme .stat-card              { background: var(--surface-raised) !important; border-color: var(--border-light) !important; }
body.dark-theme .stat-label             { color: var(--text-light) !important; }
body.dark-theme .stat-value             { color: var(--text-heading) !important; }
body.dark-theme .stat-desc              { color: var(--text-light) !important; }
body.dark-theme .stat-icon              { background: var(--surface-alt) !important; border-color: var(--border-light) !important; }
body.dark-theme .stat-note-line         { color: var(--text-light) !important; }

/* Anket kartları */
body.dark-theme .survey-card            { background: var(--surface-raised) !important; border-color: var(--border-light) !important; }
body.dark-theme .survey-card:hover      { border-color: rgba(138,94,164,0.35) !important; }
body.dark-theme .survey-card-warning    { background: #1e1a00 !important; border-color: #4a3800 !important; }
body.dark-theme .survey-card-course     { color: var(--text-heading) !important; }
body.dark-theme .survey-card-title      { color: var(--text-light) !important; }
body.dark-theme .survey-card-meta span  { background: var(--surface-alt) !important; border-color: var(--border-color) !important; color: var(--text-light) !important; }
body.dark-theme .survey-card-footer     { border-color: var(--border-light) !important; }

/* Date stack */
body.dark-theme .date-stack             { background: var(--surface-alt) !important; border-color: var(--border-color) !important; }
body.dark-theme .date-item              { color: var(--text-main) !important; }
body.dark-theme .date-note              { color: var(--text-light) !important; }

/* Hero panel (dashboard üst widget) */
body.dark-theme .hero-panel             { background: linear-gradient(135deg,#1a1d27 0%,#1d2035 60%,#201c2e 100%) !important; border-color: rgba(138,94,164,0.18) !important; box-shadow: 0 8px 30px rgba(0,0,0,0.30) !important; }
body.dark-theme .hp-name                { color: var(--text-heading) !important; }
body.dark-theme .hp-greeting            { color: var(--text-muted) !important; }
body.dark-theme .hp-role                { background: rgba(138,94,164,0.18) !important; }
body.dark-theme .hp-chip                { background: var(--surface-alt) !important; border-color: var(--border-color) !important; color: var(--text-light) !important; }
body.dark-theme .hp-si                  { background: rgba(30,33,48,0.80) !important; border-color: var(--border-color) !important; color: var(--text-main) !important; }
body.dark-theme .hp-si:hover            { background: var(--surface-alt) !important; border-color: rgba(138,94,164,0.28) !important; }
body.dark-theme .hp-si-name             { color: var(--text-main) !important; }
body.dark-theme .hp-si-badge            { background: var(--surface-color) !important; color: var(--text-light) !important; }
body.dark-theme .hp-surveys-label       { color: var(--text-muted) !important; }
body.dark-theme .hp-right               { background: rgba(26,29,39,0.82) !important; border-color: rgba(138,94,164,0.18) !important; }
body.dark-theme .hp-divider             { border-color: var(--border-light) !important; }
body.dark-theme .hp-label               { color: var(--text-muted) !important; }
body.dark-theme .hp-quicklink           { background: var(--surface-alt) !important; border-color: var(--border-light) !important; color: var(--text-light) !important; }
body.dark-theme .hp-quicklink:hover     { background: rgba(138,94,164,0.15) !important; color: #c8a8e4 !important; }

/* Section başlıkları */
body.dark-theme .section-title          { color: var(--text-heading) !important; }
body.dark-theme .section-subtitle       { color: var(--text-light) !important; }
body.dark-theme .section-pill           { background: var(--surface-color) !important; border-color: var(--border-light) !important; color: var(--text-light) !important; }

/* Hızlı işlem kartları */
body.dark-theme .quick-card             { background: var(--surface-raised) !important; border-color: var(--border-light) !important; }
body.dark-theme .quick-card:hover       { border-color: rgba(138,94,164,0.28) !important; }
body.dark-theme .quick-title            { color: var(--text-heading) !important; }
body.dark-theme .quick-text             { color: var(--text-light) !important; }
body.dark-theme .quick-icon             { background: rgba(138,94,164,0.14) !important; }

/* Şablon kartları */
body.dark-theme .template-card          { background: var(--surface-raised) !important; border-color: var(--border-light) !important; }
body.dark-theme .template-card:hover    { border-color: rgba(138,94,164,0.28) !important; }
body.dark-theme .template-name          { color: var(--text-heading) !important; }

/* Aksiyon butonları */
body.dark-theme .action-secondary       { background: #0f1e3a !important; color: #93c5fd !important; border-color: #1e3a5f !important; }
body.dark-theme .action-neutral         { background: var(--surface-alt) !important; color: var(--text-light) !important; border-color: var(--border-color) !important; }

/* Row dropdown menü */
body.dark-theme .row-drop-content                       { background: var(--surface-color) !important; border-color: var(--border-color) !important; box-shadow: 0 -10px 34px rgba(0,0,0,0.45) !important; }
body.dark-theme .row-drop-content a,
body.dark-theme .row-drop-content button               { color: var(--text-light) !important; border-color: var(--border-light) !important; }
body.dark-theme .row-drop-content a:hover,
body.dark-theme .row-drop-content button:hover         { background: var(--gsf-purple) !important; color: #fff !important; }
body.dark-theme .row-drop-content .danger              { color: #fca5a5 !important; }
body.dark-theme .row-drop-content .danger:hover        { background: #2d1515 !important; color: #fca5a5 !important; }

/* Modal */
body.dark-theme .modal-overlay                          { background: rgba(0,0,0,0.75) !important; }
body.dark-theme .modal-title                            { color: var(--text-heading) !important; }
body.dark-theme .modal-subtitle                         { color: var(--text-light) !important; }
body.dark-theme .modal-input                            { background: var(--surface-alt) !important; border-color: var(--border-color) !important; color: var(--text-main) !important; }

/* Alert bantları */
body.dark-theme .ui-alert.success                       { background: var(--status-success-bg) !important; border-color: var(--status-success-bdr) !important; }
body.dark-theme .ui-alert.warning                       { background: var(--status-warn-bg) !important; border-color: var(--status-warn-bdr) !important; }
body.dark-theme .ui-alert.danger                        { background: var(--status-danger-bg) !important; border-color: var(--status-danger-bdr) !important; }
body.dark-theme .ui-alert .content strong               { color: var(--text-heading) !important; }
body.dark-theme .ui-alert .content span                 { color: var(--text-light) !important; }
body.dark-theme .ui-alert .icon                         { background: rgba(255,255,255,0.06) !important; }

/* Status badge'leri */
body.dark-theme .status-active          { background: var(--status-success-bg) !important; color: var(--status-success-text) !important; border-color: var(--status-success-bdr) !important; }
body.dark-theme .status-passive         { background: var(--status-neutral-bg) !important; color: var(--status-neutral-text) !important; border-color: var(--status-neutral-bdr) !important; }
body.dark-theme .status-wait            { background: var(--status-warn-bg) !important;    color: var(--status-warn-text) !important;    border-color: var(--status-warn-bdr) !important; }
body.dark-theme .status-expired         { background: var(--status-danger-bg) !important;  color: var(--status-danger-text) !important;  border-color: var(--status-danger-bdr) !important; }
body.dark-theme .status-note            { color: var(--text-muted) !important; }

/* Mini badge */
body.dark-theme .mini-badge.test        { background: #2d1f00 !important; color: #fcd34d !important; border-color: #4a3000 !important; }
body.dark-theme .mini-badge.template    { background: var(--status-success-bg) !important; color: var(--status-success-text) !important; border-color: var(--status-success-bdr) !important; }

/* Empty state */
body.dark-theme .empty-state            { background: var(--surface-color) !important; border-color: var(--border-color) !important; }
body.dark-theme .empty-state h4         { color: var(--text-heading) !important; }
body.dark-theme .empty-state p          { color: var(--text-light) !important; }
body.dark-theme .empty-icon             { background: rgba(138,94,164,0.16) !important; }

/* Tablo */
body.dark-theme table th                { background: var(--surface-alt) !important; color: var(--text-light) !important; border-color: var(--border-color) !important; }
body.dark-theme table td                { color: var(--text-main) !important; border-color: var(--border-light) !important; }
body.dark-theme table tr:hover td       { background: var(--surface-alt) !important; }

/* Manage users (mu- prefix) */
body.dark-theme .mu-card-top,
body.dark-theme .mu-card-body           { background: var(--surface-raised) !important; border-color: var(--border-light) !important; }
body.dark-theme .mu-name                { color: var(--text-heading) !important; }
body.dark-theme .mu-info                { color: var(--text-light) !important; }
body.dark-theme .mu-handle              { color: var(--text-muted) !important; }
body.dark-theme .mu-alert               { background: var(--status-warn-bg) !important; border-color: var(--status-warn-bdr) !important; }
body.dark-theme .mu-page-header         { background: var(--surface-alt) !important; border-color: var(--border-color) !important; }
body.dark-theme .mu-filters             { background: var(--surface-color) !important; border-color: var(--border-color) !important; }
body.dark-theme .mu-course-tag          { background: var(--surface-alt) !important; border-color: var(--border-color) !important; color: var(--text-light) !important; }

/* Filter kartları */
body.dark-theme .filter-card            { background: var(--surface-color) !important; border-color: var(--border-color) !important; }
body.dark-theme .filter-title           { color: var(--text-heading) !important; }
body.dark-theme .filter-desc            { color: var(--text-light) !important; }
body.dark-theme .filter-badge           { background: var(--surface-alt) !important; color: var(--text-muted) !important; }

/* Arşiv sayfası */
body.dark-theme .archive-mobile-card    { background: var(--surface-raised) !important; border-color: var(--border-light) !important; }
body.dark-theme .mobile-label           { color: var(--text-muted) !important; }
body.dark-theme .mobile-value           { color: var(--text-main) !important; }
body.dark-theme .mobile-title           { color: var(--text-heading) !important; }

/* Hero bar (archive/reports üst bölüm) */
body.dark-theme .hero-bar               { background: linear-gradient(135deg,#1a1d27 0%,#201c2e 100%) !important; border-color: rgba(138,94,164,0.18) !important; }
body.dark-theme .hero-subtitle          { color: var(--text-light) !important; }

/* Hp stat mini */
body.dark-theme .hp-stat-mini.green     { background: var(--status-success-bg) !important; color: var(--status-success-text) !important; border-color: var(--status-success-bdr) !important; }
body.dark-theme .hp-stat-mini.yellow    { background: var(--status-warn-bg) !important;    color: var(--status-warn-text) !important;    border-color: var(--status-warn-bdr) !important; }
body.dark-theme .hp-stat-mini.red       { background: var(--status-danger-bg) !important;  color: var(--status-danger-text) !important;  border-color: var(--status-danger-bdr) !important; }
body.dark-theme .hp-stat-mini.purple    { background: #1a0d3a !important; color: #c4b5fd !important; border-color: #3b1f6e !important; }

/* Form elementleri */
body.dark-theme input[type="text"],
body.dark-theme input[type="password"],
body.dark-theme input[type="date"],
body.dark-theme input[type="datetime-local"],
body.dark-theme input[type="number"],
body.dark-theme input[type="email"],
body.dark-theme select,
body.dark-theme textarea                { background: var(--surface-alt) !important; border-color: var(--border-color) !important; color: var(--text-main) !important; }
body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus          { border-color: var(--gsf-purple) !important; box-shadow: 0 0 0 3px rgba(138,94,164,0.20) !important; }

/* Kvkk */
body.dark-theme .kvkk-box               { background: var(--surface-alt) !important; border-color: var(--border-color) !important; color: var(--text-light) !important; }

/* ── INLINE STYLE ATTR OVERRIDE'LARI ────────────────────────
   dashboard.php'deki style="background:#fff" gibi satır içi
   stilleri override etmek için [style*=] selector kullanılır.
   Tüm !important zorunludur (inline style specificity = 1000).
   ────────────────────────────────────────────────────────── */
body.dark-theme [style*="background:#f8fafc"],
body.dark-theme [style*="background: #f8fafc"]   { background: var(--surface-alt) !important; border-color: var(--border-color) !important; }
body.dark-theme [style*="background:#fff;"],
body.dark-theme [style*="background: #fff;"],
body.dark-theme [style*="background:#ffffff"],
body.dark-theme [style*="background: #ffffff"]   { background: var(--surface-raised) !important; }
body.dark-theme [style*="background:#f1f5f9"],
body.dark-theme [style*="background: #f1f5f9"]   { background: var(--surface-alt) !important; }
body.dark-theme [style*="background:#fbfcfe"],
body.dark-theme [style*="background: #fbfcfe"]   { background: var(--surface-alt) !important; }
body.dark-theme [style*="background:#fffbeb"],
body.dark-theme [style*="background: #fffbeb"]   { background: #2d1f00 !important; border-color: #4a3000 !important; }
body.dark-theme [style*="background:#ecfdf3"],
body.dark-theme [style*="background: #ecfdf3"]   { background: var(--status-success-bg) !important; border-color: var(--status-success-bdr) !important; }
body.dark-theme [style*="background:#fff3cd"],
body.dark-theme [style*="background: #fff3cd"]   { background: #2d1f00 !important; }
body.dark-theme [style*="background:#eef5ff"],
body.dark-theme [style*="background: #eef5ff"]   { background: var(--status-info-bg) !important; }
body.dark-theme [style*="background:#f3f4f6"],
body.dark-theme [style*="background: #f3f4f6"]   { background: var(--surface-alt) !important; }
body.dark-theme [style*="color:#1f2937"],
body.dark-theme [style*="color: #1f2937"]         { color: var(--text-heading) !important; }
body.dark-theme [style*="color:#667085"],
body.dark-theme [style*="color: #667085"]         { color: var(--text-light) !important; }
body.dark-theme [style*="color:#334155"],
body.dark-theme [style*="color: #334155"]         { color: var(--text-main) !important; }
body.dark-theme [style*="color:#758195"],
body.dark-theme [style*="color: #758195"]         { color: var(--text-light) !important; }
body.dark-theme [style*="color:#64748b"],
body.dark-theme [style*="color: #64748b"]         { color: var(--text-light) !important; }
body.dark-theme [style*="color:#94a3b8"],
body.dark-theme [style*="color: #94a3b8"]         { color: var(--text-muted) !important; }
body.dark-theme [style*="color:#92400e"],
body.dark-theme [style*="color: #92400e"]         { color: var(--status-warn-text) !important; }
body.dark-theme [style*="border:1px solid #e2e8f0"],
body.dark-theme [style*="border: 1px solid #e2e8f0"],
body.dark-theme [style*="border:1px solid #edf1f7"],
body.dark-theme [style*="border: 1px solid #edf1f7"] { border-color: var(--border-color) !important; }
body.dark-theme [style*="border-top:1px solid #edf1f7"],
body.dark-theme [style*="border-top: 1px solid #edf1f7"] { border-color: var(--border-light) !important; }
body.dark-theme [style*="border:1px solid #fde68a"],
body.dark-theme [style*="border: 1px solid #fde68a"] { border-color: #4a3000 !important; }

/* ============================================================
   DARK MODE TOGGLE BUTONU
   ============================================================ */
#dark-mode-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 999px;
    border: 1px solid rgba(138,94,164,0.20);
    background: transparent; cursor: pointer;
    font-size: .78rem; font-weight: 600; color: #4a5568;
    transition: background .14s, color .14s, border-color .14s;
    white-space: nowrap; flex-shrink: 0; font-family: inherit;
}
#dark-mode-toggle:hover { background: rgba(138,94,164,.09); color: var(--gsf-purple); border-color: rgba(138,94,164,.30); }
body.dark-theme #dark-mode-toggle { color: #c8cde0; border-color: #2e3147; }
body.dark-theme #dark-mode-toggle:hover { background: rgba(138,94,164,.18); color: #c8a8e4; }
.dmt-icon { font-size: .9rem; line-height: 1; }
@media (max-width: 900px) { .dmt-label { display: none; } }

/* ============================================================
   GLOBAL RESET
   ============================================================ */
* { box-sizing: border-box; }
body {
    font-family: 'Roboto', sans-serif;
    background-color: var(--bg-color); color: var(--text-main);
    margin: 0; padding: 0; min-height: 100vh;
    display: flex; flex-direction: column; overflow-x: hidden;
}

/* ============================================================
   FORM ELEMENTLERİ
   ============================================================ */
input[type="text"], input[type="password"], input[type="date"],
input[type="datetime-local"], input[type="number"], input[type="email"],
select, textarea {
    width: 100%; padding: 12px 15px; margin-bottom: 15px;
    border: 1px solid var(--border-color); border-radius: 8px;
    font-family: inherit; font-size: 0.95rem; color: var(--text-main);
    transition: 0.2s all; background: var(--surface-color); max-width: 100%;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--gsf-purple); outline: none;
    box-shadow: 0 0 0 3px rgba(138,94,164,0.1);
}

/* ============================================================
   BUTONLAR
   ============================================================ */
button, .btn-primary, input[type="submit"] {
    background-color: var(--gsf-purple); color: #fff; border: none;
    padding: 10px 20px; border-radius: 8px; cursor: pointer;
    font-size: 0.9rem; font-weight: 500; transition: 0.2s ease;
    text-decoration: none; display: inline-flex; align-items: center;
    justify-content: center; gap: 8px; line-height: 1.2;
    white-space: nowrap; max-width: 100%;
}
button:hover, .btn-primary:hover, input[type="submit"]:hover {
    background-color: var(--gsf-dark); transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(138,94,164,0.3);
}
.btn-small { padding: 6px 12px; font-size: 0.8rem; }
.btn-full  { width: 100%; padding: 14px; font-size: 1rem; display: flex; justify-content: center; align-items: center; }

/* ============================================================
   HEADER
   ============================================================ */
.main-header { background: var(--surface-color); box-shadow: var(--shadow-sm); position: sticky; top: 0; z-index: 1000; padding: 0 20px; }
.header-inner { max-width: 1200px; margin: 0 auto; height: 70px; display: flex; justify-content: space-between; align-items: center; }
.logo-area { display: flex; align-items: center; text-decoration: none; gap: 12px; }
.logo-text h1 { margin: 0; font-size: 1.1rem; color: var(--gsf-purple); font-weight: 700; }
.logo-text span { font-size: 0.75rem; color: var(--text-light); }

/* ============================================================
   LAYOUT
   ============================================================ */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 30px 20px; }
.card-box { background: var(--surface-color); padding: 25px; border-radius: 12px; box-shadow: var(--shadow-sm); margin-bottom: 20px; }
.center-wrapper { flex: 1; display: flex; justify-content: center; align-items: center; padding: 20px; }
.center-box { width: 100%; max-width: 480px; background: var(--surface-color); padding: 40px; border-radius: var(--radius); box-shadow: var(--shadow-md); }
.kvkk-box { height: 180px; overflow-y: scroll; background: var(--surface-alt); padding: 15px; border: 1px solid var(--border-color); border-radius: 8px; font-size: 0.85rem; color: var(--text-light); margin-bottom: 20px; -webkit-overflow-scrolling: touch; }
.netflix-scroll { display: flex; gap: 15px; overflow-x: auto; padding: 10px 5px; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.netflix-scroll::-webkit-scrollbar { display: none; }
.survey-card { flex: 0 0 240px; background: var(--surface-color); border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.08); border: 1px solid var(--border-light); transition: 0.2s; cursor: pointer; }
.survey-card:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999; display: none; justify-content: center; align-items: center; }
.modal-content { background: var(--surface-color); padding: 25px; border-radius: 16px; width: 90%; max-width: 500px; position: relative; max-height: 90vh; overflow-y: auto; }

/* ============================================================
   TABLO RESPONSİVE
   ============================================================ */
.table-wrap, .archive-table-wrap, .gsf-table-wrap, .table-card { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: inherit; }
.card-box table, .card-box > table, section table { min-width: 500px; }
table { width: 100%; border-collapse: collapse; }

/* ============================================================
   GRID RESPONSİVE
   ============================================================ */
.grid-2, .form-grid-2, .filter-grid, .mode-grid, .readonly-grid, .course-controls, .advanced-grid, .demo-grid, .matrix-cards, .matrix-summary, .summary-dashboard { display: grid; }
.grid-3, .stats-grid, .quick-actions { display: grid; }
.action-bar, .topbar, .toolbar, .filter-bar, .pq-toolbar { flex-wrap: wrap; gap: 10px; }
.dashboard-shell, .analysis-shell, .archive-shell, [class$="-shell"] { overflow-x: hidden; }

/* ============================================================
   MEDYA SORGULARI
   ============================================================ */
@media (max-width: 992px) {
    .container { padding: 20px 16px; }
    .hp-layout, [style*="grid-template-columns: minmax(0,1fr) 260px"], [style*="grid-template-columns: 380px 1fr"], [style*="grid-template-columns: 340px 1fr"] { grid-template-columns: 1fr !important; }
}
@media (max-width: 768px) {
    .container { padding: 16px 12px; } .card-box { padding: 18px 14px; }
    .grid-2, .form-grid-2, .filter-grid, .mode-grid, .readonly-grid, .course-controls, .advanced-grid, .demo-grid, .matrix-cards, .matrix-summary { grid-template-columns: 1fr !important; }
    .grid-3, .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
    .quick-actions, .summary-dashboard { grid-template-columns: repeat(2,1fr) !important; }
    .card-box table, section table { min-width: 480px; }
    .action-bar { justify-content: flex-start; }
    .filter-bar { flex-direction: column; align-items: stretch; }
    .filter-bar > * { width: 100%; }
    .modal-content { padding: 18px; width: 95%; }
}
@media (max-width: 600px) {
    .center-wrapper { padding: 20px 20px 140px 20px; align-items: flex-start; overflow-y: auto; display: block; }
    .center-box { padding: 10px; box-shadow: none; background: transparent; width: 100%; max-width: 100%; }
    .kvkk-box { max-height: 35vh; }
    .container { padding: 12px 10px; } .card-box { padding: 14px 12px; border-radius: 8px; }
    .grid-2, .grid-3, .form-grid-2, .filter-grid, .mode-grid, .readonly-grid, .course-controls, .advanced-grid, .demo-grid, .matrix-cards, .matrix-summary, .summary-dashboard, .stats-grid, .quick-actions { grid-template-columns: 1fr !important; }
    .action-bar { flex-direction: column; align-items: stretch; }
    .action-bar > a, .action-bar > button, .action-bar > form { width: 100%; }
    table th, table td { font-size: 0.82rem; padding: 8px 10px; }
    h1 { font-size: 1.4rem; } h2 { font-size: 1.2rem; } h3 { font-size: 1.05rem; }
    .card-box table, section table { min-width: 380px; }
}
@media (max-width: 400px) {
    .container { padding: 10px 8px; } .card-box { padding: 12px 10px; }
    button, .btn-primary { font-size: 0.82rem; padding: 8px 14px; }
    table th, table td { font-size: 0.78rem; padding: 6px 8px; }
}