/* ================================================================
   PLANSAL — KURUMSALKURUM SAYFASI STİLLERİ
   ================================================================ */

/* ===== Orijinal satır 12-432 ===== */
        :root {
            --color-primary:          #4f46e5;
            --color-primary-hover:    #4338ca;
            --color-primary-light:    #e0e7ff;
            --color-primary-lighter:  #eef2ff;
            --color-primary-border:   #c7d2fe;
            --color-primary-shadow:   rgba(79, 70, 229, 0.2);
            --color-primary-shadow-md: rgba(79, 70, 229, 0.3);
            --color-success:          #28a745;
            --color-success-hover:    #218838;
            --color-success-light:    #d4edda;
            --color-success-border:   #c3e6cb;
            --color-success-shadow:   rgba(40, 167, 69, 0.3);
            --color-danger:           #d9534f;
            --color-danger-hover:     #c9302c;
            --color-danger-light:     #ffeaea;
            --color-danger-border:    #ffc2c2;
            --color-warning:          #ffc107;
            --color-bg-page:          #f3f4f6;
            --color-bg-card:          #ffffff;
            --color-bg-input:         #f8f9fa;
            --color-bg-hover:         #e0e7ff;
            --color-text-main:        #1f2937;
            --color-text-secondary:   #374151;
            --color-text-muted:       #6b7280;
            --color-text-light:       #9ca3af;
            --color-text-placeholder: #9ca3af;
            --color-border:           #e5e7eb;
            --color-border-medium:    #d1d5db;
            --color-border-strong:    #9ca3af;
            --shadow-xs:    0 2px 4px rgba(0,0,0,0.04);
            --shadow-sm:    0 2px 4px rgba(0,0,0,0.1);
            --shadow-md:    0 4px 10px rgba(0,0,0,0.1);
            --shadow-card:  0 8px 20px rgba(0,0,0,0.06);
            --shadow-modal: 0 10px 30px rgba(0,0,0,0.2);
            --shadow-primary: 0 4px 10px var(--color-primary-shadow);
            --radius-xs:  4px;
            --radius-sm:  6px;
            --radius-md:  8px;
            --radius-lg:  12px;
            --radius-xl:  20px;
            --radius-full: 50%;
            --transition-fast: all 0.2s ease;
            --transition-base: all 0.3s ease;
        }
        * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
        body { background: radial-gradient(ellipse at top right, #e0e7ff, #f3f4f6 50%, #ede9fe 100%); color: var(--color-text-main); height: 100vh; display: flex; flex-direction: column; overflow: hidden; }

        .header { display: flex; justify-content: space-between; align-items: center; background-color: rgba(255,255,255,0.7); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); padding: 14px 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.10), 0 4px 10px rgba(0,0,0,0.05); margin: 20px auto 15px auto; width: calc(100% - 40px); max-width: 1400px; border-radius: var(--radius-lg); position: sticky; top: 20px; z-index: 100; flex-shrink: 0; }
        .logo-container { display: flex; align-items: center; gap: 10px; cursor: pointer; transition: transform 0.2s ease; }
        .logo-container:hover { transform: scale(1.02); }
        .logo-icon { width: 28px; height: 28px; background: linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%); color: white; border-radius: var(--radius-full); display: flex; justify-content: center; align-items: center; font-size: 13px; box-shadow: 0 4px 10px rgba(79,70,229,0.3); }
        .logo-text { font-size: 16px; font-weight: 700; color: var(--color-text-main); letter-spacing: 0.5px; }
        .header-center-title { position: absolute; left: 50%; transform: translateX(-50%); font-size: 22px; font-weight: 900; color: var(--color-text-main); display: flex; align-items: center; gap: 8px; }
        .btn-outline { background-color: rgba(255,255,255,0.6); color: var(--color-primary); border: 2px solid var(--color-primary); padding: 8px 16px; border-radius: var(--radius-md); font-size: 13px; font-weight: 700; cursor: pointer; transition: var(--transition-base); }
        .btn-outline:hover { background-color: var(--color-primary); color: #fff; box-shadow: 0 4px 15px rgba(79,70,229,0.3); transform: translateY(-2px); }
        .btn-primary { background: linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%); color: #fff; border: none; padding: 8px 16px; border-radius: var(--radius-md); font-size: 13px; font-weight: 700; cursor: pointer; transition: var(--transition-base); box-shadow: 0 4px 15px rgba(79,70,229,0.3); }
        .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(79,70,229,0.4); }
        .menu-btn { display: flex; align-items: center; gap: 10px; font-size: 24px; color: var(--color-text-secondary); background: none; border: none; cursor: pointer; transition: color 0.2s ease, transform 0.2s ease; padding: 5px 10px; }
        .menu-text { font-size: 16px; font-weight: 700; }
        .menu-btn:hover { color: var(--color-primary); transform: scale(1.05); }

        .template-content { width: calc(100% - 40px); max-width: 1400px; margin: 10px auto 20px auto; flex: 1; min-height: 0; background-color: rgba(255,255,255,0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: var(--radius-xl); box-shadow: 0 15px 40px rgba(0,0,0,0.12), 0 5px 15px rgba(0,0,0,0.06); border: 1px solid rgba(255,255,255,0.6); display: flex; flex-direction: column; overflow: hidden; }
        .template-inner { flex: 1; min-height: 0; padding: 20px 25px; overflow: hidden; display: flex; flex-direction: column; }
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: var(--color-border-strong); border-radius: 6px; }
        ::-webkit-scrollbar-thumb:hover { background: var(--color-primary); }

        /* --- HEADER YENİ NAVİGASYON (BUTONLAR) --- */
        .header-nav { display: flex; align-items: center; gap: 10px; position: absolute; left: 50%; transform: translateX(-50%); }
        .nav-tab { background: var(--color-bg-input); border: 1px solid var(--color-border); padding: 9px 20px; border-radius: 50px; font-size: 13px; font-weight: 800; color: var(--color-text-secondary); cursor: pointer; transition: var(--transition-fast); display: flex; align-items: center; gap: 8px; box-shadow: var(--shadow-xs); }
        .nav-tab:hover { border-color: var(--color-primary-border); transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
        .nav-tab.active { background: var(--color-primary); border-color: var(--color-primary); color: white; box-shadow: 0 6px 15px var(--color-primary-shadow); }
        .nav-badge { background: white; color: var(--color-text-main); font-size: 11px; font-weight: 900; padding: 2px 7px; border-radius: 20px; box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); margin-left: 2px; }
        .nav-tab.active .nav-badge { color: var(--color-primary); }
        
        @media (max-width: 1100px) {
            .header-nav { position: static; transform: none; width: 100%; overflow-x: auto; padding-bottom: 5px; justify-content: flex-start; }
            .header { flex-wrap: wrap; gap: 15px; }
        }

        /* Tab toggle */
        .tab-toggle-wrapper { display: flex; justify-content: center; margin-bottom: 25px; }
        .tab-toggle { display: flex; background-color: var(--color-bg-input); border: 1px solid var(--color-border-medium); border-radius: 50px; padding: 4px; gap: 4px; }
        .tab-toggle-btn { padding: 10px 28px; border-radius: 50px; border: none; background: transparent; font-size: 14px; font-weight: 700; color: var(--color-text-muted); cursor: pointer; transition: var(--transition-base); display: flex; align-items: center; gap: 8px; }
        .tab-toggle-btn:hover { color: var(--color-text-secondary); }
        .tab-toggle-btn.active { background-color: var(--color-primary); color: #ffffff; box-shadow: var(--shadow-primary); }
        .tab-toggle-btn .badge { padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; }
        .tab-toggle-btn.active .badge { background: rgba(255,255,255,0.3); color: #fff; }
        .tab-toggle-btn:not(.active) .badge { background: var(--color-border-medium); color: var(--color-text-muted); }

        /* Panel ve Başlıklar (Yenilenmiş Tasarım) */
        .panel-section { display: none; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; }
        .panel-section.active { display: flex; }
        .panel-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid #f1f5f9; }
        .panel-title { font-size: 20px; font-weight: 800; color: #1e293b; display: flex; align-items: center; gap: 12px; letter-spacing: -0.5px; margin: 0; }
        .panel-title i { color: var(--color-primary); background: var(--color-primary-lighter); padding: 8px; border-radius: 8px; font-size: 16px; }
        
        /* Ekle Butonu */
        .add-btn { background: linear-gradient(135deg, var(--color-primary), #3b82f6); color: #fff; border: none; padding: 10px 22px; border-radius: 50px; font-size: 14px; font-weight: 800; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 15px rgba(79, 70, 229, 0.3); letter-spacing: 0.5px; white-space: nowrap; flex-shrink: 0; }
        .add-btn:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 6px 20px rgba(79, 70, 229, 0.4); }
        .add-btn:active { transform: translateY(1px); }

        /* Tablo (Yenilenmiş Premium Tasarım) */
        .list-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
        .list-table thead th { text-align: left; padding: 12px 20px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--color-text-muted); border-bottom: none; }
        .list-table tbody tr { background: #ffffff; border-radius: var(--radius-lg); transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(0,0,0,0.03); border: 1px solid var(--color-border); display: table-row; }
        .list-table tbody tr:hover { transform: translateY(-3px); box-shadow: 0 8px 15px rgba(0,0,0,0.08); border-color: var(--color-primary-border); }
        .list-table tbody td { padding: 16px 20px; font-size: 14px; font-weight: 600; color: var(--color-text-main); border-top: 1px solid transparent; border-bottom: 1px solid transparent; }
        .list-table tbody td:first-child { border-radius: var(--radius-lg) 0 0 var(--radius-lg); border-left: 1px solid transparent; }
        .list-table tbody td:last-child { border-radius: 0 var(--radius-lg) var(--radius-lg) 0; border-right: 1px solid transparent; }

        .tag { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; margin: 2px 3px 2px 0; }
        .tag-blue { background: var(--color-primary-light); color: var(--color-primary); }
        .tag-green { background: var(--color-success-light); color: var(--color-success); }
        .tag-orange { background: #fff3cd; color: #856404; }
        .tag-purple { background: #f0e6ff; color: #6f42c1; }
        .tag-red { background: var(--color-danger-light); color: var(--color-danger); }
        .delete-btn { background: none; border: none; color: var(--color-text-light); font-size: 16px; cursor: pointer; padding: 6px 10px; border-radius: var(--radius-sm); transition: var(--transition-fast); }
        .delete-btn:hover { color: var(--color-danger); background: var(--color-danger-light); }
        .edit-btn { background: none; border: none; color: var(--color-text-light); font-size: 16px; cursor: pointer; padding: 6px 10px; border-radius: var(--radius-sm); transition: var(--transition-fast); }
        .edit-btn:hover { color: var(--color-primary); background: var(--color-primary-lighter); }
        
        .view-btn { background: none; border: none; color: var(--color-text-light); font-size: 16px; cursor: pointer; padding: 6px 10px; border-radius: var(--radius-sm); transition: var(--transition-fast); }
        .view-btn:hover { color: #17a2b8; background: #e0f7fa; } /* Turkuaz tonu */

        .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 50px 20px; text-align: center; }
        .empty-state i { font-size: 48px; color: var(--color-primary-border); margin-bottom: 15px; }
        .empty-state h3 { font-size: 16px; font-weight: 800; color: var(--color-text-main); margin-bottom: 6px; }
        .empty-state p { font-size: 13px; font-weight: 600; color: var(--color-text-muted); max-width: 350px; }

        /* === ACTION DROP ZONE (ANA BUTON TASARIMLARI - GERİ GELDİ) === */
        .action-drop-zone { background-color: var(--color-bg-input); border: 2px dashed #c7d2fe; color: var(--color-primary); padding: 8px 15px; border-radius: 12px; font-size: 13px; font-weight: 800; display: flex; align-items: center; gap: 8px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; user-select: none; }
        .action-drop-zone:hover { background-color: #eef2ff; border-color: var(--color-primary); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(79, 70, 229, 0.15); }
        .action-drop-zone.remove-zone { border-color: #ffc2c2; color: var(--color-danger); }
        .action-drop-zone.remove-zone:hover { background-color: var(--color-danger-light); border-color: var(--color-danger); box-shadow: 0 4px 8px rgba(217, 83, 79, 0.1); }
        .action-drop-zone.delete-mode { background-color: var(--color-danger); border-color: var(--color-danger); border-style: solid; color: white; box-shadow: 0 4px 10px rgba(217, 83, 79, 0.3); border-radius: 0 12px 12px 0; }
        .action-drop-zone.delete-mode:hover { background-color: var(--color-danger-hover); }

        /* === KAYARAK AÇILAN İPTAL BUTONU === */
        .cancel-mode-btn { 
            display: flex; align-items: center; justify-content: center; gap: 6px; 
            padding: 0; width: 0; margin: 0; /* Kapalıyken yer kaplamaz */
            border: 0px solid var(--color-danger); border-right: none; 
            overflow: hidden; white-space: nowrap; opacity: 0; visibility: hidden; pointer-events: none;
            border-radius: 12px 0 0 12px; font-size: 13px; font-weight: 800; cursor: pointer; 
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); z-index: 5; 
            background-color: #fff0f0; color: var(--color-danger); 
            box-shadow: -3px 4px 10px rgba(217, 83, 79, 0.15); 
        }
        .cancel-mode-btn.visible { 
            opacity: 1; visibility: visible; width: auto; 
            padding: 8px 15px; border-width: 2px; margin-right: -1px; pointer-events: auto; 
        }
        .cancel-mode-btn:hover { background-color: var(--color-danger); color: white; }
        
        /* === BİRLİKTE ZIPLAMA (SYNC HOVER) EFEKTİ === */
        .cancel-mode-btn.visible.sync-hover { transform: translateY(-2px); }
        .action-drop-zone.delete-mode.sync-hover { transform: translateY(-2px); }
        
        .action-drop-zone:active, .cancel-mode-btn:active { transform: scale(0.95); }

        /* Arama Çubuğu (Yenilenmiş) ve Programlar Paneli */
        .search-bar { width: 100%; max-width: 280px; padding: 11px 20px 11px 40px; border: 1px solid #e2e8f0; border-radius: 50px; font-size: 14px; font-weight: 600; outline: none; transition: all 0.3s ease; background: #f8fafc url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="16" fill="%2364748b"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>') no-repeat 16px center; color: var(--color-text-main); }
        .search-bar:focus { border-color: var(--color-primary); background: #ffffff; box-shadow: 0 4px 12px rgba(79, 70, 229, 0.15); }
        .search-bar::placeholder { color: #94a3b8; font-weight: 500; }
        
        .programs-layout { display: flex; flex: 1; min-height: 0; border: 1px solid var(--color-border-medium); border-radius: var(--radius-lg); background: var(--color-bg-card); overflow: hidden; position: relative; }
        .programs-sidebar { width: 260px; min-width: 260px; max-width: 260px; border-right: 1px solid var(--color-border-medium); display: flex; flex-direction: column; padding: 15px 10px; background: rgba(0,0,0,0.02); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); overflow: hidden; white-space: nowrap; }
        .programs-content { flex: 1; overflow: hidden; padding: 15px 25px; background: transparent; transition: all 0.3s; display: flex; flex-direction: column; }
        
        /* Yan Menü Kapalı Modu (Güçlendirildi) */
        .programs-layout.sidebar-collapsed .programs-sidebar { min-width: 0 !important; max-width: 0 !important; width: 0 !important; padding-left: 0 !important; padding-right: 0 !important; border-right: none !important; opacity: 0 !important; overflow: hidden !important; }
        
        /* --- TÜRKÇE KARAKTER FONT DÜZELTMESİ --- */
        .tab-toggle-btn, .person-list-item, .search-bar { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important; }
        .person-list-item { padding: 12px 15px; border-radius: var(--radius-md); cursor: pointer; font-size: 13px; font-weight: 700; color: var(--color-text-secondary); transition: var(--transition-fast); margin-bottom: 6px; border: 1px solid var(--color-border); background: var(--color-bg-card); }
        .person-list-item:hover { border-color: var(--color-primary-border); transform: translateX(3px); }
        .person-list-item.active { background: var(--color-primary); color: white; border-color: var(--color-primary-hover); box-shadow: var(--shadow-primary); }
        /* ------------------------------------------------ */

        /* --- PREMIUM MÜSAİTLİK TABLOSU --- */
        .premium-avail-table { width: 100%; min-width: 700px; table-layout: fixed; border-collapse: separate; border-spacing: 8px; }
        .premium-avail-table th { padding: 12px; background: rgba(244, 247, 246, 0.95); backdrop-filter: blur(5px); color: var(--color-text-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; border-radius: var(--radius-md); position: sticky; top: 0; z-index: 10; }
        .premium-avail-cell { border-radius: var(--radius-md); transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); cursor: pointer; text-align: center; vertical-align: middle; height: 55px; font-size: 20px; position: relative; overflow: hidden; background: var(--color-bg-input); border: 2px solid transparent; color: var(--color-text-light); }
        .premium-avail-cell:hover:not(.locked-cell) { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.05); border-color: var(--color-success-light); background: #f4fbf6; color: var(--color-success); }
        .premium-avail-cell.selected { background: var(--color-success) !important; color: white !important; border-color: var(--color-success-hover); box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3); }
        .premium-avail-cell.selected:active { transform: scale(0.95); }
        .premium-avail-cell.locked-cell { background: #fff0f0; border-color: var(--color-danger-light); color: var(--color-danger); cursor: not-allowed; opacity: 0.9; }
        .premium-avail-cell.locked-cell::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(217, 83, 79, 0.04) 5px, rgba(217, 83, 79, 0.04) 10px); pointer-events: none; }
        /* -------------------------------------- */

        /* --- PREMIUM PROGRAM TASARIMI (ESNEK & TAM EKRAN) --- */
        .premium-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px; margin: 0; }
        .premium-table thead { flex-shrink: 0; }
        .premium-table th { padding: 8px; background: rgba(244, 247, 246, 0.95); backdrop-filter: blur(5px); color: var(--color-text-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; border-radius: var(--radius-md); position: sticky; top: 0; z-index: 10; border-bottom: 2px solid var(--color-border); box-shadow: 0 4px 6px -4px rgba(0,0,0,0.05); text-align: center; }
        .premium-time-col { font-weight: 900; color: var(--color-primary); background: var(--color-bg-page); border-radius: var(--radius-md); border-right: 2px solid var(--color-border); white-space: nowrap; z-index: 11 !important; position: sticky; left: 0; text-align: center; line-height: 1.2; padding: 6px 4px !important; font-size: 11px !important; }
        .premium-table th.premium-time-col { z-index: 12 !important; left: 0; top: 0; }
        .premium-cell { border-radius: var(--radius-md); transition: all 0.2s; position: relative; padding: 0; overflow: hidden; min-height: 0; }
        .premium-table tbody tr.break-row { height: auto !important; max-height: 30px !important; }
        .premium-table tbody tr.break-row td { padding: 4px !important; height: 30px !important; max-height: 30px !important; }
        
        /* Ders Kartları (Esnek Boyut) */
        .sch-card { background: #fff; border: 1px solid #e2e8f0; border-left: 3px solid var(--color-primary); border-radius: var(--radius-md); padding: 4px 6px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); display: flex; flex-direction: column; justify-content: center; gap: 1px; transition: transform 0.2s, box-shadow 0.2s; height: 100%; position: relative; overflow: hidden; }
        .sch-card:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.06); z-index: 2; }
        .sch-card.locked { border-left-color: var(--color-danger); background: #fffafb; border-color: var(--color-danger-border); }
        .sch-card.delete-selected { background: #fff0f0; border: 2px solid var(--color-danger); transform: scale(0.95); box-shadow: 0 0 0 3px rgba(217, 83, 79, 0.2); }
        .sch-card-header { display: flex; justify-content: space-between; align-items: flex-start; font-size: 11px; font-weight: 900; color: var(--color-text-main); margin-bottom: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }
        .sch-card-header > span, .sch-card-header > div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .sch-card-row { font-size: 10px; font-weight: 700; color: var(--color-text-secondary); display: flex; align-items: center; gap: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }
        
        /* --- Kilit Hover Efektleri (Kusursuz Mantık) --- */
        .sch-card-lock-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.5); font-size: 55px; color: var(--color-danger); opacity: 0; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); pointer-events: none; z-index: 0; }
        .sch-card.locked .sch-card-lock-icon { opacity: 0.12; transform: translate(-50%, -50%) scale(1); color: var(--color-danger); }
        .sch-card.locked .locked-state-icon { display: inline-block; }
        .sch-card.locked .unlocked-state-icon { display: none; }
        .sch-card.interactive-card.locked:hover .locked-state-icon { display: none; }
        .sch-card.interactive-card.locked:hover .unlocked-state-icon { display: inline-block; color: var(--color-text-main); opacity: 0.4; }
        .sch-card.interactive-card:not(.locked):hover .sch-card-lock-icon { opacity: 0.08; transform: translate(-50%, -50%) scale(1); color: var(--color-text-muted); }
        .sch-card:not(.locked) .locked-state-icon { display: none; }
        .sch-card:not(.locked) .unlocked-state-icon { display: inline-block; }
        .delete-mode-active .sch-card-lock-icon { display: none !important; }
        /* ----------------------------------------------- */

        /* Boşluk ve Ekleme Tasarımı */
        .sch-empty { height: 100%; border-radius: var(--radius-md); background: var(--color-bg-input); border: 2px dashed var(--color-border-strong); display: flex; align-items: center; justify-content: center; color: var(--color-text-placeholder); font-size: 12px; transition: all 0.2s; overflow: hidden; }
        .sch-empty.assignable { border-color: #a3d3af; background: #f4fbf6; color: var(--color-success); cursor: pointer; font-weight: 800; font-size: 11px; }
        .sch-empty.assignable:hover { background: var(--color-success-light); border-style: solid; border-color: var(--color-success); transform: scale(1.02); box-shadow: 0 4px 10px rgba(40,167,69,0.1); }
        /* --- YENİ MÜSAİT DEĞİL TASARIMI --- */
        .sch-empty.unassigned { 
            background: #fff5f5; /* Düz ve yumuşak kırmızı */
            border-color: #fecdd3 !important; 
            color: #f43f5e; 
            opacity: 0.85; 
            cursor: not-allowed; 
            border-style: dashed !important;
            box-shadow: inset 0 2px 4px rgba(244, 63, 94, 0.05);
        }
        .sch-empty.unassigned i {
            font-size: 16px;
            filter: drop-shadow(0 2px 2px rgba(244, 63, 94, 0.2));
        }

        /* Sihirli Buton ve Sonuç Tablosu (Yeni Eklendi) */
        .magic-btn { background: linear-gradient(135deg, var(--color-primary), #6f42c1); color: white; border: none; padding: 15px 30px; border-radius: 50px; font-size: 16px; font-weight: 900; cursor: pointer; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); display: flex; align-items: center; gap: 10px; box-shadow: 0 8px 20px rgba(111, 66, 193, 0.4); margin: 0 auto 20px auto; }
        .magic-btn:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 12px 25px rgba(111, 66, 193, 0.5); }
        .magic-btn:active { transform: translateY(1px); }
        .magic-btn i { font-size: 20px; animation: pulse 2s infinite; }
        @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } }
        
        /* Modal */
        .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.35); display: none; justify-content: center; align-items: center; z-index: 5000; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
        .modal-overlay.show { display: flex; }
        .modal { background: white; padding: 30px; border-radius: var(--radius-xl); width: 90%; max-width: 500px; box-shadow: var(--shadow-modal); position: relative; animation: modalSlideIn 0.3s ease; }
        @keyframes modalSlideIn { from { opacity: 0; transform: translateY(-20px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
        .modal-header-custom { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
        .modal-header-custom h2 { font-size: 20px; font-weight: 800; color: var(--color-text-main); display: flex; align-items: center; gap: 8px; }
        .modal-header-custom h2 i { color: var(--color-primary); }
        .close-btn { background: var(--color-bg-input); border: none; font-family: Arial, sans-serif; font-weight: 300; font-size: 26px; color: var(--color-text-light); cursor: pointer; transition: all 0.2s; line-height: 1; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 1px 0 0 0; }
        .close-btn:hover { background: var(--color-danger-light); color: var(--color-danger); }
        .form-group { margin-bottom: 18px; }
        .form-group label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 700; color: var(--color-text-secondary); }
        .form-group input, .form-group select { width: 100%; padding: 11px 14px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); font-size: 14px; font-weight: 600; color: var(--color-text-main); background: var(--color-bg-card); transition: var(--transition-fast); }
        .form-group input:focus, .form-group select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-shadow); }
        .form-group input::placeholder { color: var(--color-text-placeholder); font-weight: 500; }
        .checkbox-group { display: flex; flex-wrap: wrap; gap: 8px; }
        .checkbox-pill { position: relative; }
        .checkbox-pill input[type="checkbox"] { display: none; }
        .checkbox-pill label { display: inline-block; padding: 7px 16px; border-radius: 50px; font-size: 13px; font-weight: 700; color: var(--color-text-muted); background: var(--color-bg-input); border: 1px solid var(--color-border-medium); cursor: pointer; transition: var(--transition-fast); margin-bottom: 0; }
        .checkbox-pill input[type="checkbox"]:checked + label { background: var(--color-primary); color: #fff; border-color: var(--color-primary); box-shadow: var(--shadow-primary); }
        .checkbox-pill label:hover { border-color: var(--color-primary-border); background: var(--color-primary-lighter); color: var(--color-primary); }
        .checkbox-pill input[type="checkbox"]:checked + label:hover { background: var(--color-primary-hover); color: #fff; }
        .modal-submit-btn { width: 100%; padding: 12px; background-color: var(--color-primary); color: white; border: none; border-radius: var(--radius-md); font-size: 15px; font-weight: 800; cursor: pointer; transition: var(--transition-base); box-shadow: var(--shadow-primary); margin-top: 6px; }
        .modal-submit-btn:hover { background-color: var(--color-primary-hover); transform: translateY(-2px); }
        .form-error { color: var(--color-danger); font-size: 12px; font-weight: 700; margin-top: 8px; display: none; text-align: center; }

        /* --- YENİ PREMIUM FORM TASARIMLARI --- */
        .premium-form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
        .premium-form-group { margin-bottom: 20px; position: relative; }
        .premium-form-group.full-width { grid-column: 1 / -1; }
        .premium-label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; color: #475569; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
        .premium-input-wrapper { position: relative; display: flex; align-items: center; }
        .premium-input-icon { position: absolute; left: 14px; color: var(--color-primary); font-size: 16px; pointer-events: none; }
        .premium-input { width: 100%; padding: 12px 14px 12px 40px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 14px; font-weight: 600; color: #1e293b; background: #f8fafc; transition: all 0.3s ease; }
        .premium-input:focus { border-color: var(--color-primary); background: #ffffff; box-shadow: 0 0 0 4px var(--color-primary-shadow); outline: none; }
        .premium-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-left: 40px; }
        .premium-action-card { background: linear-gradient(145deg, #f8fafc, #f1f5f9); border: 2px dashed #cbd5e1; border-radius: 16px; padding: 20px; text-align: center; transition: all 0.3s; cursor: pointer; }
        .premium-action-card:hover { border-color: var(--color-primary); background: #eef2ff; transform: translateY(-2px); }
        .premium-submit-btn { background: linear-gradient(135deg, var(--color-primary), #3b82f6); color: white; border: none; padding: 14px; border-radius: 12px; font-size: 16px; font-weight: 800; width: 100%; cursor: pointer; transition: all 0.3s; box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3); letter-spacing: 0.5px; margin-top: 10px; }
        .premium-submit-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(59, 130, 246, 0.4); }

        /* Reklam, Sidebar, Loader */
        .ad-space-left, .ad-space-right { position: fixed; top: 50%; transform: translateY(-50%); width: 10vw; height: 600px; max-height: 80vh; background: rgba(255,255,255,0.4); backdrop-filter: blur(8px); border: 2px dashed rgba(79,70,229,0.15); border-radius: 12px; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 50; color: #9ca3af; font-weight: 800; font-size: 16px; text-align: center; }
        .ad-space-left { left: 20px; } .ad-space-right { right: 20px; }
        @media (max-width: 900px) { .ad-space-left, .ad-space-right { display: none !important; } }
        .menu-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.4); backdrop-filter: blur(3px); z-index: 4000; opacity: 0; visibility: hidden; transition: var(--transition-base); }
        .menu-overlay.show { opacity: 1; visibility: visible; }
        .side-menu { position: fixed; top: 0; right: -320px; width: 300px; height: 100vh; background-color: var(--color-bg-card); box-shadow: -5px 0 25px rgba(0,0,0,0.1); z-index: 4001; transition: right 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); display: flex; flex-direction: column; }
        .side-menu.open { right: 0; }
        .side-menu-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 25px; border-bottom: 1px solid rgba(79,70,229,0.1); background: linear-gradient(135deg,#eef2ff 0%,#f0f4ff 100%); }
        .side-menu-header h2 { font-size: 18px; font-weight: 800; color: var(--color-primary); display: flex; align-items: center; gap: 10px; }
        .close-menu-btn { font-family: Arial, sans-serif; font-weight: 300; font-size: 26px; color: var(--color-text-light); cursor: pointer; transition: all 0.2s; line-height: 1; background: var(--color-bg-input); border: none; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 1px 0 0 0; }
        .close-menu-btn:hover { background: var(--color-danger-light); color: var(--color-danger); }
        .side-menu-content { padding: 20px; display: flex; flex-direction: column; gap: 10px; overflow-y: auto; }
        .menu-item { display: flex; align-items: center; gap: 15px; padding: 12px 15px; color: var(--color-text-secondary); text-decoration: none; font-size: 14px; font-weight: 700; border-radius: 10px; transition: var(--transition-fast); background-color: #fcfcfc; border: 1px solid transparent; }
        .menu-item:hover { background-color: var(--color-primary-lighter); color: var(--color-primary); border-color: var(--color-primary-border); transform: translateX(5px); }
        .menu-item i { font-size: 16px; color: var(--color-primary); width: 20px; text-align: center; }
        .menu-item.active-page { background-color: var(--color-primary-lighter); color: var(--color-primary); border-color: var(--color-primary-border); }
        .page-loader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center,#ffffff,#e0e7ff); z-index: 9999; display: flex; justify-content: center; align-items: center; transition: opacity 0.5s ease, visibility 0.5s ease; }
        .page-loader.hidden { opacity: 0; visibility: hidden; }
        .loader-content { display: flex; flex-direction: column; align-items: center; gap: 15px; animation: floatLoader 2s infinite ease-in-out; }
        .loader-logo { width: 70px; height: 70px; font-size: 30px; box-shadow: 0 8px 25px rgba(79, 70, 229, 0.3); }
        .loader-title { font-size: 26px; font-weight: 800; color: #1e1b4b; letter-spacing: -0.5px; margin-top: 5px; }
        .loader-text { font-size: 13px; font-weight: 600; color: #6b7280; margin-top: 5px; letter-spacing: 0.5px; }
        .spinner { width: 40px; height: 40px; border: 4px solid rgba(79,70,229,0.1); border-top: 4px solid var(--color-primary); border-radius: var(--radius-full); animation: spin 1s linear infinite; margin-top: 5px; }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        @keyframes floatLoader { 0% { transform: translateY(0px); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0px); } }

        /* Müsaitlik Seçim Tablosu (Yeni Eklendi) */
        .availability-table { width: 100%; border-collapse: collapse; text-align: center; font-size: 12px; }
        .availability-table th { padding: 10px; background: var(--color-bg-page); border: 1px solid var(--color-border-medium); color: var(--color-text-main); position: sticky; top: 0; z-index: 5; }
        .availability-table td { border: 1px solid var(--color-border-medium); transition: var(--transition-fast); }
        .availability-table td.avail-cell { cursor: pointer; background: var(--color-bg-card); color: var(--color-text-secondary); font-weight: 600; padding: 12px 6px; }
        .availability-table td.avail-cell:hover { background: var(--color-primary-lighter); }
        .availability-table td.avail-cell.selected { background: var(--color-success); color: white; font-weight: 800; border-color: var(--color-success-hover); box-shadow: inset 0 0 10px rgba(0,0,0,0.1); }

        @media (max-width: 700px) {
            .dashboard-cards { flex-direction: column; }
            .tab-toggle-btn { padding: 8px 16px; font-size: 13px; }
            .list-table thead { display: none; }
            .list-table tbody tr { display: flex; flex-direction: column; padding: 14px; margin-bottom: 8px; border-radius: var(--radius-md); }
            .list-table tbody td { padding: 4px 0; border-radius: 0 !important; }
            .list-table tbody td:before { content: attr(data-label); font-size: 11px; font-weight: 800; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 2px; }
            .header-center-title { font-size: 16px; }
            .template-inner { padding: 16px; }
        }

        /* --- CUSTOM AÇILIR MENÜ (SELECT) --- */
        .custom-dropdown { position: relative; width: 100%; }
        .custom-dropdown-header { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 12px 14px 12px 40px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 14px; font-weight: 600; color: #1e293b; background: #f8fafc; cursor: pointer; transition: all 0.3s ease; user-select: none; }
        .custom-dropdown.open .custom-dropdown-header { border-color: var(--color-primary); background: #ffffff; box-shadow: 0 0 0 4px var(--color-primary-shadow); }
        .custom-dropdown-list { position: absolute; top: 100%; left: 0; right: 0; margin-top: 8px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); z-index: 1000; max-height: 220px; overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.2s ease; padding: 5px; }
        .custom-dropdown.open .custom-dropdown-list { opacity: 1; visibility: visible; transform: translateY(0); }
        .custom-dropdown-item { padding: 10px 15px; font-size: 13px; font-weight: 700; color: #475569; cursor: pointer; border-radius: 8px; transition: all 0.2s; margin-bottom: 2px; }
        .custom-dropdown-item:hover { background: #f1f5f9; color: var(--color-primary); }
        .custom-dropdown-item.selected { background: var(--color-primary-lighter); color: var(--color-primary); }

        /* Ders Ekleme Satırındaki küçük dropdownlar için mod */
        .custom-dropdown.course-row-mode { flex: 1; min-width: 110px; }
        .custom-dropdown.course-row-mode .custom-dropdown-header { padding: 10px 12px; font-size: 13px; border-radius: 8px; }

        /* --- YENİ İPTAL BUTONU VE MODAL DÜZENİ --- */
        .premium-cancel-btn { background: #f8fafc; color: #64748b; border: 2px solid #e2e8f0; padding: 14px; border-radius: 12px; font-size: 16px; font-weight: 800; width: 100%; cursor: pointer; transition: all 0.3s; letter-spacing: 0.5px; margin-top: 10px; }
        .premium-cancel-btn:hover { background: #f1f5f9; color: #0f172a; border-color: #cbd5e1; }
        .student-modal-split { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
        @media (max-width: 850px) { .student-modal-split { grid-template-columns: 1fr; } } /* Telefonda yine alt alta olur */

        /* --- TARAYICI VARSAYILAN KONTROLLERİNİ GİZLEME --- */
        input[type="number"]::-webkit-inner-spin-button, 
        input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        input[type="number"] { -moz-appearance: textfield; }

        /* Saat inputu için tıklama alanını tüm inputa yay ve ikonu gizle */
        input[type="time"]::-webkit-calendar-picker-indicator {
            background: transparent; bottom: 0; color: transparent; cursor: pointer;
            height: auto; left: 0; position: absolute; right: 0; top: 0; width: auto;
        }

        /* --- PLANSAL BİLDİRİM SİSTEMİ (Toast + Confirm Modal) --- */
        .plansal-toast-container{position:fixed;top:30px;left:50%;transform:translateX(-50%);z-index:99999;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;}
        .plansal-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:14px 24px;border-radius:16px;font-size:14px;font-weight:700;color:#fff;box-shadow:0 10px 40px rgba(0,0,0,0.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.15);opacity:0;transform:translateY(-20px) scale(0.95);transition:all 0.4s cubic-bezier(0.22,1,0.36,1);max-width:90vw;text-align:left;line-height:1.4;}
        .plansal-toast.show{opacity:1;transform:translateY(0) scale(1);}
        .plansal-toast.exit{opacity:0;transform:translateY(-20px) scale(0.95);}
        .plansal-toast i{font-size:18px;flex-shrink:0;}
        .plansal-toast.error{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);}
        .plansal-toast.success{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);}
        .plansal-toast.warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);}
        .plansal-toast.info{background:linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%);}
        .plansal-toast .toast-close{background:none;border:none;color:rgba(255,255,255,0.7);font-size:16px;cursor:pointer;padding:0 0 0 8px;transition:color 0.2s;}
        .plansal-toast .toast-close:hover{color:#fff;}
        .plansal-confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.35);z-index:100000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.15s ease, visibility 0.15s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
        .plansal-confirm-overlay.show{opacity:1;visibility:visible;}
        .plansal-confirm-box{background:#fff;width:90%;max-width:380px;border-radius:20px;padding:30px 28px 24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.2);transform:scale(0.85) translateY(10px);transition:transform 0.35s cubic-bezier(0.22,1,0.36,1);position:relative;}
        .plansal-confirm-overlay.show .plansal-confirm-box{transform:scale(1) translateY(0);}
        .plansal-confirm-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px;}
        .plansal-confirm-icon.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;}
        .plansal-confirm-icon.danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;}
        .plansal-confirm-icon.info{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5;}
        .plansal-confirm-title{font-size:18px;font-weight:800;color:#1f2937;margin-bottom:8px;}
        .plansal-confirm-msg{font-size:14px;color:#6b7280;line-height:1.6;margin-bottom:24px;white-space:pre-line;}
        .plansal-confirm-actions{display:flex;gap:10px;justify-content:center;}
        .plansal-confirm-actions button{flex:1;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all 0.25s ease;border:none;}
        .plansal-confirm-actions .cancel-btn{background:#f3f4f6;color:#6b7280;}
        .plansal-confirm-actions .cancel-btn:hover{background:#e5e7eb;}
        .plansal-confirm-actions .yes-btn{background:linear-gradient(135deg,#4f46e5,#3b82f6);color:#fff;box-shadow:0 4px 15px rgba(79,70,229,0.3);}
        .plansal-confirm-actions .yes-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(79,70,229,0.4);}
        .plansal-confirm-actions .yes-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 15px rgba(239,68,68,0.3);}
        .plansal-confirm-actions .yes-btn.danger:hover{box-shadow:0 6px 20px rgba(239,68,68,0.4);}

        /* === YENİ İNDİRME MODALI BUTONLARI (PLANLAYICIDAN) === */
        .export-type-btn {
            background: #fff;
            border: 2px solid #e2e8f0;
            border-radius: 16px;
            padding: 20px 10px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        .export-type-btn:hover {
            border-color: var(--color-primary);
            background: var(--color-primary-lighter);
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.05);
        }
        .export-type-btn i { font-size: 24px; }
        .export-type-btn span { font-size: 13px; font-weight: 800; color: var(--color-text-main); }


/* ===== Orijinal satır 1281-1287 ===== */
        #exportModal .export-segment { display: flex; gap: 5px; background: #f8f9fa; border: 1px solid #e2e6ea; border-radius: 8px; padding: 4px; }
        #exportModal .export-segment input[type="radio"] { display: none; }
        #exportModal .export-segment label { flex: 1; text-align: center; font-size: 12px; font-weight: bold; padding: 8px 4px; border-radius: 6px; cursor: pointer; color: #6c757d; transition: all 0.2s; margin: 0; }
        #exportModal .export-segment input[type="radio"]:checked + label { background: var(--color-primary); color: white; box-shadow: 0 2px 4px rgba(79,70,229,0.25); }
        #exportModal .form-label-sm { display:block; font-size: 12px; font-weight: 800; color: var(--color-text-secondary); margin-bottom: 6px; }
        #exportPreviewImg { width: 100%; height: auto; border-radius: 6px; border: 1px solid #ddd; cursor: zoom-in; transition: transform 0.2s; }
        #exportPreviewImg:hover { transform: scale(1.02); }


