/* Genel Stil ve Reset */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; background-color: #f4f7f6; color: #333; }
a { color: #3498db; text-decoration: none; }
* { box-sizing: border-box; }

/* Giriş Sayfası Stilleri */
.login-body { display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #e8e8e8; }
.login-container { padding: 40px; background-color: #fff; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); width: 100%; max-width: 360px; text-align: center; }
.login-container h2 { margin-top: 0; color: #2c3e50; }
.login-container p { color: #7f8c8d; margin-bottom: 30px; }
.login-form .form-group { margin-bottom: 20px; text-align: left; }
.login-form .form-group label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px; }
.login-form .form-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; }
.btn { width: 100%; padding: 12px; background-color: #3498db; color: #fff; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; }
.btn:hover { background-color: #2980b9; }

/* Hata ve Başarı Mesajları */
.message { padding: 15px; margin-bottom: 20px; border-radius: 4px; border: 1px solid transparent; }
.error-message { background-color: #f8d7da; color: #721c24; border-color: #f5c6cb; }
.success-message { background-color: #d4edda; color: #155724; border-color: #c3e6cb; }

/* --- PANEL STİLLERİ --- */
.panel-container { display: flex; min-height: 100vh; }
.sidebar { width: 240px; background-color: #2c3e50; color: #ecf0f1; display: flex; flex-direction: column; flex-shrink: 0; }
.sidebar .logo { padding: 20px; font-size: 24px; font-weight: bold; text-align: center; border-bottom: 1px solid #34495e; }
.sidebar nav { flex-grow: 1; }
.sidebar nav ul { list-style: none; padding: 0; margin: 20px 0; }
.sidebar nav a { display: block; padding: 15px 20px; color: #ecf0f1; transition: background-color 0.3s, padding-left 0.3s; font-size: 15px; }
.sidebar nav a i { margin-right: 10px; width: 20px; text-align: center; }
.sidebar nav a:hover { background-color: #34495e; padding-left: 25px; }
.sidebar nav ul:first-child { border-bottom: 1px solid #34495e; padding-bottom: 10px; margin-bottom: 10px; }
.sidebar .user-info { padding: 20px; border-top: 1px solid #34495e; font-size: 14px; }
.sidebar .user-info a { display: block; margin-top: 5px; color: #e74c3c; font-weight: bold; }
.main-content { flex-grow: 1; padding: 30px; background-color: #ecf0f1; }
.main-content h1 { margin-top: 0; color: #2c3e50; border-bottom: 2px solid #bdc3c7; padding-bottom: 10px; }
.main-content h2 { color: #34495e; border-bottom: 1px solid #ccc; padding-bottom: 5px; margin-top: 0; }
.main-content h3 { color: #34495e; }
.content-box { background-color: #fff; padding: 25px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); margin-top: 30px; }

/* Tablo Stilleri */
.data-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.data-table th, .data-table td { padding: 12px 15px; border-bottom: 1px solid #ddd; text-align: left; }
.data-table thead th { background-color: #f4f7f6; font-weight: 600; color: #34495e; }
.data-table tbody tr:hover { background-color: #f9f9f9; }
.action-btn { display: inline-block; text-decoration: none; padding: 5px 10px; border-radius: 4px; color: #fff; font-size: 12px; margin-right: 5px; }
.edit-btn { background-color: #f39c12; }
.delete-btn { background-color: #e74c3c; }

/* Form Stilleri */
.simple-form .form-row { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-end; }
.simple-form .form-group { flex: 1; min-width: 200px; }
.simple-form label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px; }
.simple-form input[type="text"], .simple-form select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; height: 40px; }
.btn-submit { display: inline-block; text-decoration: none; padding: 10px 20px; background-color: #2ecc71; color: #fff; border: none; border-radius: 4px; font-size: 14px; cursor: pointer; height: 40px; }
.btn-submit:hover { background-color: #27ae60; }

/* Select2 Stil Düzeltmeleri */
.select2-container .select2-selection--single { height: 40px !important; border: 1px solid #ddd !important; border-radius: 4px !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 38px !important; padding-left: 10px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px !important; }