/**
 * EVRandevu - Modern, Premium Tasarım Sistemi (Vanilla CSS)
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  
  /* Temel Renk Paleti */
  --bg-main: #0a0e17;
  --bg-card: rgba(17, 24, 39, 0.85);
  --bg-card-hover: rgba(31, 41, 55, 0.9);
  --bg-sidebar: #070a10;
  --border-color: rgba(255, 255, 255, 0.08);
  --border-glow: rgba(16, 185, 129, 0.3);

  /* Vurgular (EV & Enerji Teması) */
  --primary: #10b981;
  --primary-hover: #059669;
  --primary-light: rgba(16, 185, 129, 0.15);
  --secondary: #0ea5e9;
  --secondary-light: rgba(14, 165, 233, 0.15);
  
  --warning: #f59e0b;
  --warning-light: rgba(245, 158, 11, 0.15);
  --danger: #ef4444;
  --danger-light: rgba(239, 68, 68, 0.15);
  --info: #8b5cf6;
  
  /* Metin Renkleri */
  --text-main: #f3f4f6;
  --text-muted: #9ca3af;
  --text-dim: #6b7280;

  /* Gölgeler & Efektler */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 24px -4px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 20px 40px -8px rgba(0, 0, 0, 0.6);
  --shadow-neon: 0 0 20px rgba(16, 185, 129, 0.25);
  
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family);
  background-color: var(--bg-main);
  background-image: 
    radial-gradient(circle at 10% 20%, rgba(16, 185, 129, 0.05) 0%, transparent 40%),
    radial-gradient(circle at 90% 80%, rgba(14, 165, 233, 0.05) 0%, transparent 40%);
  color: var(--text-main);
  line-height: 1.5;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  max-width: 100vw;
}

/* Tipografi & Başlıklar */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}

a {
  color: var(--primary);
  text-decoration: none;
  transition: var(--transition);
}

a:hover {
  color: #34d399;
}

/* Düzen (Layout) */
.app-wrapper {
  display: flex;
  min-height: 100vh;
}

.sidebar {
  width: 270px;
  background-color: var(--bg-sidebar);
  border-right: 1px solid var(--border-color);
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Sidebar Custom Scrollbar */
.sidebar::-webkit-scrollbar {
  width: 6px;
}
.sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}
.sidebar::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px 24px 8px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 24px;
}

.brand img {
  height: 68px;
  max-width: 100%;
  border-radius: var(--radius-md);
  object-fit: contain;
  transition: transform 0.2s ease;
}

.brand img:hover {
  transform: scale(1.02);
}

.brand-text {
  font-size: 18px;
  font-weight: 800;
  background: linear-gradient(135deg, #10b981 0%, #38bdf8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.nav-menu {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-grow: 1;
}

.nav-item a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  color: var(--text-muted);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 500;
  transition: var(--transition);
}

.nav-item a:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
  transform: translateX(4px);
}

.nav-item.active a {
  background: var(--primary-light);
  color: var(--primary);
  font-weight: 600;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.nav-icon {
  font-size: 18px;
  width: 24px;
  text-align: center;
}

.main-content {
  flex-grow: 1;
  padding: 32px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* ─── Kimlik Doğrulama Sayfaları (Giriş, Kayıt) ─── */
.auth-main-wrapper {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
  width: 100%;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(16, 185, 129, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(14, 165, 233, 0.06) 0%, transparent 50%);
}

.auth-card {
  width: 100%;
  background: rgba(15, 23, 42, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-xl);
  padding: 36px 32px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7), 0 0 40px rgba(16, 185, 129, 0.08);
  animation: authCardIn 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes authCardIn {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}


/* Mobil Üst Bar ve Navigasyon (Masaüstünde Kesinlikle Gizli) */
.mobile-top-bar,
.mobile-header,
.mobile-nav-pills {
  display: none !important;
}

/* Kartlar ve Paneller */
.card {
  background: var(--bg-card);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-md);
  margin-bottom: 24px;
  transition: var(--transition);
}

.card:hover {
  border-color: rgba(255, 255, 255, 0.15);
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-color);
}

.card-title {
  font-size: 18px;
  font-weight: 700;
}

/* İstatistik Grid */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 28px;
}

.stat-box {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.stat-box:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: rgba(16, 185, 129, 0.3);
}

.stat-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  background: var(--primary-light);
  color: var(--primary);
}

.stat-info .stat-value {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
}

.stat-info .stat-label {
  font-size: 13px;
  color: var(--text-muted);
}

/* Kota İlerleme Çubuğu (Gauge) */
.quota-card {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(14, 165, 233, 0.05) 100%), var(--bg-card);
  border: 1px solid var(--border-glow);
  position: relative;
  overflow: hidden;
}

.progress-bar-bg {
  width: 100%;
  height: 12px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  overflow: hidden;
  margin: 12px 0 6px 0;
}

.progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--primary) 0%, #38bdf8 100%);
  border-radius: 999px;
  transition: width 0.8s ease;
  box-shadow: var(--shadow-neon);
}

/* Butonlar */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  transition: var(--transition);
  font-family: inherit;
  text-align: center;
}

.btn-primary {
  background: var(--primary);
  color: #032313;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
}

.btn-primary:hover {
  background: #34d399;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45);
  color: #032313;
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border: 1px solid var(--border-color);
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.btn-danger {
  background: var(--danger-light);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.btn-danger:hover {
  background: var(--danger);
  color: #fff;
}

.btn-sm {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: var(--radius-sm);
}

/* Form Elemanları */
.form-group {
  margin-bottom: 18px;
}

.form-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 6px;
}

.form-control, .form-select {
  width: 100%;
  padding: 12px 14px;
  background: rgba(10, 14, 23, 0.8);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  color: #fff;
  font-size: 14px;
  font-family: inherit;
  transition: var(--transition);
}

.form-control:focus, .form-select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

/* Slot Seçici (Booking Matrix) */
.slots-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.slot-card {
  padding: 12px 10px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-color);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
  cursor: pointer;
  transition: var(--transition);
  position: relative;
  user-select: none;
}

.slot-card.available:hover {
  border-color: var(--primary);
  background: var(--primary-light);
  transform: translateY(-2px);
}

.slot-card.selected,
.slot-card.selected:hover {
  background: var(--primary);
  color: #032313 !important;
  border-color: var(--primary);
  font-weight: 700;
  box-shadow: var(--shadow-neon);
  transform: translateY(-2px);
}

.slot-card.selected .slot-time,
.slot-card.selected .slot-sub {
  color: #032313 !important;
}

.slot-card.booked {
  background: rgba(255, 255, 255, 0.01);
  opacity: 0.35;
  cursor: not-allowed;
  border-color: rgba(255, 255, 255, 0.05);
}

.slot-card.buffer {
  background: repeating-linear-gradient(
    45deg,
    rgba(245, 158, 11, 0.05),
    rgba(245, 158, 11, 0.05) 6px,
    rgba(245, 158, 11, 0.1) 6px,
    rgba(245, 158, 11, 0.1) 12px
  );
  border-color: rgba(245, 158, 11, 0.2);
  cursor: not-allowed;
  opacity: 0.7;
}

/* Sakinin Kendi Randevusu */
.slot-card.my-appointment {
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.5);
  cursor: pointer;
  position: relative;
  transition: var(--transition);
  opacity: 1;
}

.slot-card.my-appointment:hover {
  background: rgba(14, 165, 233, 0.22);
  border-color: #38bdf8;
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(14, 165, 233, 0.35);
}

.slot-card.my-appointment .slot-time {
  color: #38bdf8;
}

.slot-card.my-appointment .slot-sub {
  color: #bae6fd;
  font-weight: 600;
}

/* Daire Sakininin (Hane Üyesinin) Randevusu */
.slot-card.flat-appointment {
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.5);
  cursor: pointer;
  position: relative;
  transition: var(--transition);
  opacity: 1;
}

.slot-card.flat-appointment:hover {
  background: rgba(168, 85, 247, 0.22);
  border-color: #c084fc;
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(168, 85, 247, 0.35);
}

.slot-card.flat-appointment .slot-time {
  color: #c084fc;
}

.slot-card.flat-appointment .slot-sub {
  color: #e9d5ff;
  font-weight: 600;
}

.badge-my-slot {
  position: absolute;
  top: 6px;
  right: 6px;
  background: linear-gradient(135deg, #0284c7, #0ea5e9);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(14, 165, 233, 0.4);
  z-index: 2;
}

.badge-flat-slot {
  position: absolute;
  top: 4px;
  right: 6px;
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(168, 85, 247, 0.4);
  z-index: 2;
}

.badge-night {
  position: absolute;
  top: 4px;
  right: 6px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(217, 119, 6, 0.3));
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: #fbbf24;
  font-size: 9px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.slot-card.my-appointment,
.slot-card.flat-appointment,
.slot-card:has(.badge-my-slot),
.slot-card:has(.badge-flat-slot),
.slot-card:has(.badge-night) {
  padding-top: 22px;
}

.slot-time {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

.slot-sub {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 4px;
}

/* ==========================================================================
   Yeni Nesil Dikey (Alt Alta) Tarih Seçici ve Doluluk Göstergeleri
   ========================================================================== */
.booking-split-grid {
  display: grid;
  grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.booking-split-grid > * {
  min-width: 0;
  max-width: 100%;
}

.booking-left-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  width: 100%;
}

@media (max-width: 1100px) {
  .booking-split-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.date-picker-vertical-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.date-select-card {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--border-color);
  background: rgba(255, 255, 255, 0.025);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  gap: 10px;
  user-select: none;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.date-select-card:hover {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}

.date-select-card.selected {
  background: rgba(16, 185, 129, 0.09);
  border-color: var(--primary);
  box-shadow: 0 0 0 1px var(--primary), 0 4px 14px -2px rgba(16, 185, 129, 0.25);
}

.date-select-card.is-full {
  opacity: 0.8;
}

.date-select-card.is-full:not(.selected) {
  border-color: rgba(239, 68, 68, 0.22);
}

/* Sol Blok: Takvim Rozeti */
.date-cal-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 38px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
  transition: var(--transition);
}

.date-cal-badge .cal-day {
  font-size: 14.5px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
}

.date-cal-badge .cal-month {
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 2px;
  letter-spacing: 0.3px;
}

.date-select-card.selected .date-cal-badge {
  background: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}

.date-select-card.selected .date-cal-badge .cal-day,
.date-select-card.selected .date-cal-badge .cal-month {
  color: #032313 !important;
}

/* Orta Gövde: 2 Satırlı Dengeli Esnek Düzen */
.date-card-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}

.date-card-row-top,
.date-card-row-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.date-card-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0;
}

.occupancy-stats-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}

.occupancy-pct {
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.occupancy-status-badge {
  font-size: 8.5px;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

.date-card-sub-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  flex-shrink: 0;
}

.date-card-booking-slot {
  display: flex;
  align-items: center;
  min-height: 18px;
  flex-shrink: 0;
}

.date-card-sub {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.badge-has-booking {
  font-size: 8.5px;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.14);
  border: 1px solid rgba(14, 165, 233, 0.35);
  border-radius: 4px;
  padding: 1px 4px;
  white-space: nowrap;
  line-height: 1.25;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.occupancy-bar-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}

.occupancy-bar-track {
  width: 34px;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 99px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}

.occupancy-bar-fill {
  height: 100%;
  border-radius: 99px;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.occupancy-low .occupancy-pct { color: #34d399; }
.occupancy-low .occupancy-bar-fill { background: #10b981; }
.occupancy-low .occupancy-status-badge {
  background: rgba(16, 185, 129, 0.12);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.occupancy-moderate .occupancy-pct { color: #fbbf24; }
.occupancy-moderate .occupancy-bar-fill { background: #f59e0b; }
.occupancy-moderate .occupancy-status-badge {
  background: rgba(245, 158, 11, 0.12);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.occupancy-busy .occupancy-pct { color: #f97316; }
.occupancy-busy .occupancy-bar-fill { background: #f97316; }
.occupancy-busy .occupancy-status-badge {
  background: rgba(249, 115, 22, 0.12);
  color: #fb923c;
  border: 1px solid rgba(249, 115, 22, 0.25);
}

.occupancy-full .occupancy-pct { color: #ef4444; }
.occupancy-full .occupancy-bar-fill { background: #ef4444; }
.occupancy-full .occupancy-status-badge {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.occupancy-slot-meta {
  font-size: 10px;
  color: var(--text-dim);
  font-weight: 500;
  white-space: nowrap;
}

/* Seçim Çemberi */
.date-check-circle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.5px;
  color: transparent;
  transition: var(--transition);
  flex-shrink: 0;
}

.date-select-card:hover .date-check-circle {
  border-color: rgba(255, 255, 255, 0.35);
}

.date-select-card.selected .date-check-circle {
  border-color: var(--primary);
  background: var(--primary);
  color: #032313;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.35);
}

/* Diğer Tarih Açma Kutusu */
.custom-date-box {
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11.5px;
  color: var(--text-muted);
}

/* ==========================================================================
   İstasyon Seçici Kart Izgarası ve Tasarımı (Step 1)
   ========================================================================== */
.vehicle-select-box {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.04);
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 500px) {
  .vehicle-select-box {
    width: 100%;
    justify-content: space-between;
  }
  .vehicle-select-box select {
    flex: 1;
    min-width: 0;
  }
}

.stations-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .stations-picker-grid {
    grid-template-columns: 1fr;
  }
}

.station-select-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--border-color);
  background: rgba(255, 255, 255, 0.025);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  user-select: none;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.station-select-card:hover {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}

.station-select-card.selected {
  background: rgba(16, 185, 129, 0.09);
  border-color: var(--primary);
  box-shadow: 0 0 0 1px var(--primary), 0 4px 14px -2px rgba(16, 185, 129, 0.25);
}

.station-select-card.is-full {
  opacity: 0.8;
}

.station-select-card.is-full:not(.selected) {
  border-color: rgba(239, 68, 68, 0.22);
}

/* Üst Başlık & İkon & Çember Satırı */
.station-card-top-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

.station-header-main {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.station-plug-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  transition: var(--transition);
}

.station-select-card.selected .station-plug-icon {
  background: var(--primary);
  border-color: var(--primary);
  color: #032313;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}

.station-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

.station-title-row {
  display: flex;
  align-items: center;
  min-width: 0;
}

.station-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  white-space: normal;
  line-height: 1.35;
  word-break: break-word;
}

.station-specs-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.station-power-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.25);
  white-space: nowrap;
  flex-shrink: 0;
}

.station-socket {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Sağ Çember */
.station-check-circle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.5px;
  color: transparent;
  transition: var(--transition);
  flex-shrink: 0;
  margin-top: 2px;
}

.station-select-card:hover .station-check-circle {
  border-color: rgba(255, 255, 255, 0.35);
}

.station-select-card.selected .station-check-circle {
  border-color: var(--primary);
  background: var(--primary);
  color: #032313;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.35);
}

/* Alt Bölüm: Doluluk ve Bar */
.station-occupancy-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.02);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.station-occupancy-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.station-occupancy-section .occupancy-bar-track {
  width: 100%;
  height: 5px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 99px;
  overflow: hidden;
  position: relative;
}

.badge-night {
  position: absolute;
  top: 6px;
  right: 6px;
  background: #8b5cf6;
  color: #fff;
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 700;
  z-index: 2;
}

/* Tablolar */
.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.custom-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px;
}

.custom-table th {
  background: rgba(255, 255, 255, 0.02);
  color: var(--text-muted);
  font-weight: 600;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color);
}

.custom-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-main);
}

.custom-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

/* Admin Flats: sekmeler + daire accordion */
.flats-tabs-card {
  padding: 0;
  overflow: hidden;
}

.flats-tabs-nav {
  display: flex;
  gap: 4px;
  padding: 12px 12px 0;
  border-bottom: 1px solid var(--border-color);
  flex-wrap: wrap;
  background: rgba(0, 0, 0, 0.15);
}

.flats-tab-btn {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 14px;
  cursor: pointer;
  border-radius: 10px 10px 0 0;
  border-bottom: 2px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.flats-tab-btn:hover {
  color: var(--text-main);
  background: rgba(255, 255, 255, 0.04);
}

.flats-tab-btn.active {
  color: #34d399;
  border-bottom-color: #10b981;
  background: rgba(16, 185, 129, 0.08);
}

.flats-tab-count {
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  color: var(--text-muted);
}

.flats-tab-btn.active .flats-tab-count {
  background: rgba(16, 185, 129, 0.25);
  color: #6ee7b7;
}

.flats-tab-panel {
  display: none;
}

.flats-tab-panel.active {
  display: block;
}

#flatsTable tr.flat-row {
  cursor: pointer;
}

#flatsTable tr.flat-row.is-open td {
  background: rgba(16, 185, 129, 0.06);
  border-bottom-color: transparent;
}

.flat-chevron {
  display: inline-block;
  color: var(--text-muted);
  font-size: 12px;
  transition: transform 0.15s ease;
  width: 14px;
  text-align: center;
}

#flatsTable tr.flat-row.is-open .flat-chevron {
  color: #34d399;
}

.flat-detail-row td.flat-detail-cell {
  padding: 0 16px 16px 16px;
  background: rgba(15, 23, 42, 0.45);
  border-bottom: 1px solid var(--border-color);
}

.flat-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.2);
}

@media (max-width: 900px) {
  .flat-detail-grid {
    grid-template-columns: 1fr;
  }
}

.flat-detail-title {
  font-size: 12px;
  font-weight: 800;
  color: var(--text-main);
  margin-bottom: 10px;
}

.flat-detail-empty {
  font-size: 12px;
  color: var(--text-muted);
  padding: 8px 0;
}

.flat-detail-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  background: rgba(255, 255, 255, 0.03);
  margin-bottom: 6px;
}

.flat-detail-item-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
}

.flat-detail-item-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* Badgeler */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.badge-success { background: var(--primary-light); color: var(--primary); }
.badge-warning { background: var(--warning-light); color: var(--warning); }
.badge-danger  { background: var(--danger-light); color: var(--danger); }
.badge-info    { background: var(--secondary-light); color: var(--secondary); }
.badge-secondary { background: rgba(148, 163, 184, 0.15); color: var(--text-muted); }

/* Flash Mesajları */
.alert {
  padding: 14px 18px;
  border-radius: var(--radius-md);
  margin-bottom: 20px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.alert-success {
  background: var(--primary-light);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.alert-danger {
  background: var(--danger-light);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Mobil Uyum */
@media (max-width: 900px) {
  .app-wrapper {
    flex-direction: column;
  }
  .sidebar {
    display: none !important;
  }
  .mobile-top-bar {
    display: block !important;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 999;
    background: #070a10 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
  }
  .mobile-header {
    display: flex !important;
    background: #070a10 !important;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
  }
  .mobile-nav-pills {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 5px !important;
    padding: 6px 8px !important;
    background: #0b1120 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    width: 100%;
    box-sizing: border-box;
    overflow-x: visible !important;
  }
  .mobile-nav-pills.pills-5 {
    grid-template-columns: repeat(5, 1fr) !important;
  }
  .pill-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 2px !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    color: var(--text-muted) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .pill-item .pill-icon {
    font-size: 15px !important;
    line-height: 1.1 !important;
    margin-bottom: 2px !important;
  }
  .pill-item .pill-text {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
  .pill-item:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
  }
  .pill-item.active {
    background: rgba(16, 185, 129, 0.16) !important;
    border-color: rgba(16, 185, 129, 0.45) !important;
    color: #34d399 !important;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2) !important;
  }
  .pill-item.active .pill-text {
    color: #34d399 !important;
    font-weight: 700 !important;
  }
  .main-content {
    padding: 20px 16px;
  }
  .slots-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==============================================================================
 * Modal Dialog Tasarım Sistemi (Glassmorphism & Animasyonlu)
 * ============================================================================== */
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(3, 7, 18, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 16px;
  animation: modalFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.modal-dialog {
  background: #111827;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 28px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85);
  animation: modalSlideUp 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 90vh;
  overflow-y: auto;
}

@keyframes modalSlideUp {
  from { transform: translateY(16px) scale(0.98); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-color);
}

.modal-header h3 {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

.btn-close {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 18px;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.btn-close:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

/* ==============================================================================
 * Giriş / Kimlik Doğrulama Ekranları (Auth Responsive)
 * ============================================================================== */
.auth-main-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90vh;
  padding: 24px 16px;
  width: 100%;
  box-sizing: border-box;
}

.auth-card {
  max-width: 460px;
  width: 100%;
  padding: 36px 32px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
  margin-bottom: 0;
  box-sizing: border-box;
}

@media (max-width: 480px) {
  .auth-main-wrapper {
    padding: 16px 12px !important;
  }
  .auth-card {
    padding: 24px 16px !important;
    border-radius: var(--radius-md) !important;
  }
}

/* Google Sign-In Responsive Kapsayıcı */
.google-btn-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  overflow: hidden;
  margin-bottom: 4px;
  box-sizing: border-box;
}

.google-btn-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  box-sizing: border-box;
}

.google-btn-container iframe,
.google-btn-container div {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ==============================================================================
 * Randevularım - Duyarlı (Responsive) Mobil Kart & Filtre Tasarımı (Kompakt & Estetik)
 * ============================================================================== */
.appointment-filter-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  overflow-x: auto;
  padding-bottom: 3px;
  -webkit-overflow-scrolling: touch;
}

.filter-tab {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  color: var(--text-muted);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.filter-tab:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.filter-tab.active {
  background: var(--primary);
  color: #032313;
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
  font-weight: 700;
}

.filter-tab-badge {
  background: rgba(0, 0, 0, 0.2);
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 10px;
}

.filter-tab.active .filter-tab-badge {
  background: rgba(3, 35, 19, 0.25);
  color: #032313;
}

/* Masaüstü Tablo ve Mobil Kart Geçişi */
.desktop-appointments-view {
  display: block;
}

.mobile-appointments-view {
  display: none;
}

@media (max-width: 768px) {
  .desktop-appointments-view {
    display: none !important;
  }
  .mobile-appointments-view {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
  }
  .mobile-hide-btn {
    display: none !important;
  }
}

/* Mobil Randevu Kartı - Kompakt & Şık */
.res-card {
  background: rgba(17, 24, 39, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border-color);
  border-radius: 13px;
  padding: 11px 13px;
  box-shadow: 0 3px 14px -2px rgba(0, 0, 0, 0.35);
  position: relative;
  transition: var(--transition);
  box-sizing: border-box;
}

.res-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
}

.res-card.status-confirmed {
  border-left: 3.5px solid var(--primary);
}

.res-card.status-cancelled {
  border-left: 3.5px solid var(--danger);
  opacity: 0.85;
}

.res-card.status-completed {
  border-left: 3.5px solid var(--secondary);
  opacity: 0.9;
}

.res-card.status-violated {
  border-left: 3.5px solid var(--warning);
}

.res-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.res-card-station {
  display: flex;
  align-items: center;
  gap: 8px;
}

.res-station-icon {
  width: 27px;
  height: 27px;
  border-radius: 8px;
  background: rgba(16, 185, 129, 0.15);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.res-station-name {
  font-weight: 700;
  font-size: 13.5px;
  color: #fff;
  line-height: 1.2;
}

.res-station-specs {
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.2;
}

.res-card-timebox {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 9px;
  padding: 8px 10px;
  margin-bottom: 8px;
}

.res-date-line {
  font-size: 11px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 3px;
}

.res-time-line {
  font-size: 15px;
  font-weight: 800;
  color: #38bdf8;
  display: flex;
  align-items: center;
  gap: 6px;
  letter-spacing: -0.01em;
}

.res-duration-pill {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.06);
  padding: 1px 6px;
  border-radius: 999px;
}

.res-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.res-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
}

.res-pill-user-self {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #34d399;
}

.res-pill-user-flat {
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.3);
  color: #c084fc;
}

.res-pill-vehicle {
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.3);
  color: #38bdf8;
}

.res-card-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
/* Ortak aksiyon parçası (partials/appointment_actions.php) butonları kartta eşit yayılsın */
.res-card-actions > .btn,
.res-card-actions > form {
  flex: 1 1 0;
  min-width: 120px;
}
.res-card-actions > .btn,
.res-card-actions > form > .btn {
  justify-content: center;
  text-align: center;
  font-size: 11.5px;
  padding: 7px 9px;
  border-radius: 8px;
  min-height: 36px;
}

/* ==========================================================================
   Toplu Daire Sihirbazı (Matrix Flat Wizard) Stilleri
   ========================================================================== */
.matrix-preview-container {
  margin-top: 14px;
  background: rgba(10, 14, 23, 0.7);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 14px;
}

.matrix-stats-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.matrix-chips-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: 220px;
  overflow-y: auto;
  padding: 4px;
}

.matrix-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.35);
  border-radius: 6px;
  color: #34d399;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}

.matrix-chip:hover {
  background: rgba(239, 68, 68, 0.18);
  border-color: rgba(239, 68, 68, 0.45);
  color: #fca5a5;
  text-decoration: line-through;
}

.matrix-chip.conflict {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.4);
  color: #fbbf24;
}

.matrix-chip.conflict:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.5);
  color: #f87171;
}

.matrix-chip .chip-del {
  font-size: 10px;
  opacity: 0.7;
}

.quick-block-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  color: var(--text-muted);
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: var(--transition);
}

.quick-block-btn:hover {
  background: var(--primary-light);
  color: var(--primary);
  border-color: var(--primary);
}

.wizard-grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 600px) {
  .wizard-grid-2col {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   EVDialog — confirm / alert / prompt yerine uygulama içi diyalog ve bildirim
   ========================================================================== */
.ev-dialog {
  /* Genel sıfırlama (margin: 0) <dialog>'un varsayılan ortalamasını bozuyor; yeniden ortala */
  position: fixed;
  inset: 0;
  margin: auto;
  height: fit-content;
  max-height: calc(100vh - 32px);
  overflow: auto;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  padding: 0;
  width: min(420px, calc(100vw - 32px));
  background: #111827;
  color: var(--text-main);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
.ev-dialog::backdrop {
  background: rgba(3, 7, 18, 0.72);
  backdrop-filter: blur(3px);
}
.ev-dialog[open] {
  animation: ev-dialog-in 0.16s ease-out;
}
@keyframes ev-dialog-in {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: none; }
}
.ev-dialog-box {
  padding: 22px 22px 18px;
  margin: 0;
}
.ev-dialog-title {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: #fff;
}
.ev-dialog-danger .ev-dialog-title {
  color: #fca5a5;
}
.ev-dialog-message {
  font-size: 14px;
  line-height: 1.55;
  color: #cbd5e1;
  margin: 0 0 16px 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.ev-dialog-input {
  width: 100%;
  margin-bottom: 16px;
}
.ev-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.ev-dialog-actions .btn {
  min-width: 110px;
  min-height: 42px;
  justify-content: center;
}
@media (max-width: 480px) {
  .ev-dialog-actions {
    flex-direction: column-reverse;
  }
  .ev-dialog-actions .btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ev-dialog[open] { animation: none; }
}

.ev-toast {
  position: fixed;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  transform: translate(-50%, 16px);
  opacity: 0;
  z-index: 10000;
  max-width: calc(100vw - 32px);
  padding: 12px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: #1f2937;
  border: 1px solid var(--border-color);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}
.ev-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}
.ev-toast-success { border-color: rgba(16, 185, 129, 0.5); }
.ev-toast-error { border-color: rgba(239, 68, 68, 0.5); }

/* ==========================================================================
   Erişilebilirlik: klavye ile gezinirken odaklanılan öğe görünür olsun
   (fare tıklamalarında görünmez; yalnızca klavye/Tab kullanımında)
   ========================================================================== */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible,
select:focus-visible,
summary:focus-visible,
.btn:focus-visible {
  outline: 2px solid #38bdf8;
  outline-offset: 2px;
  border-radius: 6px;
}
.form-control:focus-visible {
  outline: 2px solid #38bdf8;
  outline-offset: 1px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==== YARDIMCI SINIFLAR (satır içi stil taşıma) ==== */
/* Tek bildirimli, sık kullanılan kalıplar. Seçiciler bilerek iki kez yazılır (.x.x):
   satır içi stilden taşındıkları için a:hover, .btn-secondary:hover gibi genel durum kurallarına
   karşı eski önceliklerini korumaları gerekir. Ekran sınıfları da aynı yöntemi kullanır. */
.d-flex.d-flex { display: flex; }
.d-none.d-none { display: none; }
.d-block.d-block { display: block; }
.d-grid.d-grid { display: grid; }
.d-inline-flex.d-inline-flex { display: inline-flex; }
.d-inline-block.d-inline-block { display: inline-block; }
.items-center.items-center { align-items: center; }
.items-start.items-start { align-items: flex-start; }
.items-end.items-end { align-items: flex-end; }
.justify-between.justify-between { justify-content: space-between; }
.justify-center.justify-center { justify-content: center; }
.justify-end.justify-end { justify-content: flex-end; }
.flex-wrap.flex-wrap { flex-wrap: wrap; }
.flex-col.flex-col { flex-direction: column; }
.gap-4.gap-4 { gap: 4px; }
.gap-6.gap-6 { gap: 6px; }
.gap-8.gap-8 { gap: 8px; }
.gap-10.gap-10 { gap: 10px; }
.gap-12.gap-12 { gap: 12px; }
.gap-16.gap-16 { gap: 16px; }
.gap-20.gap-20 { gap: 20px; }
.gap-24.gap-24 { gap: 24px; }
.text-muted.text-muted { color: var(--text-muted); }
.text-dim.text-dim { color: var(--text-dim); }
.text-primary.text-primary { color: var(--primary); }
.text-white.text-white { color: #fff; }
.text-slate.text-slate { color: #94a3b8; }
.text-light.text-light { color: #cbd5e1; }
.text-green.text-green { color: #34d399; }
.text-sky.text-sky { color: #38bdf8; }
.text-soft.text-soft { color: #e2e8f0; }
.text-red.text-red { color: #f87171; }
.text-amber.text-amber { color: #fbbf24; }
.fw-500.fw-500 { font-weight: 500; }
.fw-600.fw-600 { font-weight: 600; }
.fw-700.fw-700 { font-weight: 700; }
.fw-800.fw-800 { font-weight: 800; }
.fw-900.fw-900 { font-weight: 900; }
.fs-10.fs-10 { font-size: 10px; }
.fs-10-5.fs-10-5 { font-size: 10.5px; }
.fs-11.fs-11 { font-size: 11px; }
.fs-11-5.fs-11-5 { font-size: 11.5px; }
.fs-12.fs-12 { font-size: 12px; }
.fs-12-5.fs-12-5 { font-size: 12.5px; }
.fs-13.fs-13 { font-size: 13px; }
.fs-13-5.fs-13-5 { font-size: 13.5px; }
.fs-14.fs-14 { font-size: 14px; }
.fs-15.fs-15 { font-size: 15px; }
.fs-16.fs-16 { font-size: 16px; }
.fs-18.fs-18 { font-size: 18px; }
.fs-20.fs-20 { font-size: 20px; }
.fs-22.fs-22 { font-size: 22px; }
.fs-24.fs-24 { font-size: 24px; }
.fs-26.fs-26 { font-size: 26px; }
.text-center.text-center { text-align: center; }
.text-right.text-right { text-align: right; }
.text-left.text-left { text-align: left; }
.no-underline.no-underline { text-decoration: none; }
.uppercase.uppercase { text-transform: uppercase; }
.nowrap.nowrap { white-space: nowrap; }
.cursor-pointer.cursor-pointer { cursor: pointer; }
.w-full.w-full { width: 100%; }
.m-0.m-0 { margin: 0; }
.lh-14.lh-14 { line-height: 1.4; }
.lh-15.lh-15 { line-height: 1.5; }
.lh-16.lh-16 { line-height: 1.6; }
.rounded-6.rounded-6 { border-radius: 6px; }
.rounded-8.rounded-8 { border-radius: 8px; }
.rounded-10.rounded-10 { border-radius: 10px; }
.rounded-12.rounded-12 { border-radius: 12px; }
.rounded-16.rounded-16 { border-radius: 16px; }
.mt-2.mt-2 { margin-top: 2px; }
.mt-4.mt-4 { margin-top: 4px; }
.mt-6.mt-6 { margin-top: 6px; }
.mt-8.mt-8 { margin-top: 8px; }
.mt-12.mt-12 { margin-top: 12px; }
.mt-16.mt-16 { margin-top: 16px; }
.mt-24.mt-24 { margin-top: 24px; }
.mb-4.mb-4 { margin-bottom: 4px; }
.mb-6.mb-6 { margin-bottom: 6px; }
.mb-8.mb-8 { margin-bottom: 8px; }
.mb-12.mb-12 { margin-bottom: 12px; }
.mb-14.mb-14 { margin-bottom: 14px; }
.mb-16.mb-16 { margin-bottom: 16px; }
.mb-20.mb-20 { margin-bottom: 20px; }
.mb-24.mb-24 { margin-bottom: 24px; }
/* ==== /YARDIMCI SINIFLAR ==== */

/* ==== EKRAN: views/auth/login.php (satır içi stillerden taşındı) ==== */
.login-yonetici-masasi-girisi.login-yonetici-masasi-girisi { max-width: 440px; }
.login-evrandevu-logo.login-evrandevu-logo { height: 94px; max-width: 100%; object-fit: contain; border-radius: 14px; }
.login-alert.login-alert { margin-bottom: 18px; }
.login-guvenlik-kodu-postaniza.login-guvenlik-kodu-postaniza { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.25); border-radius: 12px; padding: 16px; margin-bottom: 20px; text-align: center; }
.login-guvenlik-kodu-postaniza-2.login-guvenlik-kodu-postaniza-2 { font-size: 28px; }
.login-otp-code.login-otp-code { letter-spacing: 8px; height: 56px; border-color: var(--primary); }
.login-kodun-gecerlilik-suresi.login-kodun-gecerlilik-suresi { margin-top: 10px; }
.login-adminotptimer.login-adminotptimer { font-family: monospace; }
.login-dogrula-ve-yonetici.login-dogrula-ve-yonetici { margin-top: 18px; }
.login-dogrula-ve-yonetici-2.login-dogrula-ve-yonetici-2 { padding: 13px; }
.login-kodu-tekrar-gonder.login-kodu-tekrar-gonder { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--border-color); }
.login-adminresendlink.login-adminresendlink { color: var(--secondary); }
.login-ay-boyunca-beni.login-ay-boyunca-beni { width: 15px; height: 15px; accent-color: var(--primary); }
.login-devam-et-site.login-devam-et-site { margin-top: 22px; }
.login-site-sakini-misiniz.login-site-sakini-misiniz { padding-top: 18px; border-top: 1px solid var(--border-color); }

/* ==== EKRAN: views/404.php (satır içi stillerden taşındı) ==== */
.notfound-sayfa-bulunamadi-aradiginiz.notfound-sayfa-bulunamadi-aradiginiz { min-height: 80vh; }
.notfound-sayfa-bulunamadi-aradiginiz-2.notfound-sayfa-bulunamadi-aradiginiz-2 { max-width: 480px; }
.notfound-sayfa-bulunamadi-aradiginiz-3.notfound-sayfa-bulunamadi-aradiginiz-3 { font-size: 64px; }
.notfound-sayfa-bulunamadi-aradiginiz-4.notfound-sayfa-bulunamadi-aradiginiz-4 { font-size: 28px; }

/* ==== EKRAN: views/landing.php (satır içi stillerden taşındı) ==== */
.landing-sakin-girisi-yonetici.landing-sakin-girisi-yonetici { box-shadow: 0 4px 12px rgba(255,255,255,0.05); }
.landing-siteniz-zaten-evrandevu.landing-siteniz-zaten-evrandevu { color: #64748b; transition: color 0.2s; }
.landing-siteniz-zaten-evrandevu.landing-siteniz-zaten-evrandevu:hover { color: #94a3b8; }
.landing-sakin-portali-girisi.landing-sakin-portali-girisi { color: #10b981; text-decoration: underline; }
.landing-uygulama-indirmek-yok.landing-uygulama-indirmek-yok { border-color: rgba(16, 185, 129, 0.3); background: linear-gradient(180deg, rgba(17, 24, 39, 0.7) 0%, rgba(16, 185, 129, 0.06) 100%); }
.landing-uygulama-indirmek-yok-2.landing-uygulama-indirmek-yok-2 { background: rgba(16, 185, 129, 0.2); }
.landing-feature-wide.landing-feature-wide { grid-column: 1 / -1; }
.landing-qr-kodu-ac.landing-qr-kodu-ac { padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.landing-qr-kodu-ac-2.landing-qr-kodu-ac-2 { background: rgba(16, 185, 129, 0.15); border: 1px solid rgba(16, 185, 129, 0.4); padding: 7px 12px; transition: all 0.2s; }
.landing-canli-demo.landing-canli-demo { margin-top: 54px; background: linear-gradient(135deg, rgba(17, 24, 39, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%); border: 1px solid rgba(16, 185, 129, 0.3); border-radius: 28px; padding: 40px 20px; box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.7), 0 0 30px rgba(16, 185, 129, 0.12); }
.landing-gercek-sakin-uygulamasi.landing-gercek-sakin-uygulamasi { max-width: 680px; margin: 0 auto 32px; }
.landing-gercek-sakin-uygulamasi-2.landing-gercek-sakin-uygulamasi-2 { padding: 5px 16px; border-radius: 999px; background: rgba(16, 185, 129, 0.15); border: 1px solid rgba(16, 185, 129, 0.4); letter-spacing: 0.5px; }
.landing-saniyede-nasil-calistigini.landing-saniyede-nasil-calistigini { font-size: 28px; margin: 0 0 10px 0; }
.landing-site-sakinlerinizin-cebindeki.landing-site-sakinlerinizin-cebindeki { font-size: 14.5px; }
.landing-div-id-simislandstatus.landing-div-id-simislandstatus { max-width: 420px; margin: 0 auto; background: #0b0f19; border: 10px solid #1e293b; border-radius: 48px; box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 45px rgba(16, 185, 129, 0.15); overflow: hidden; position: relative; }
.landing-simdynamicisland.landing-simdynamicisland { background: #000; width: 120px; height: 26px; border-radius: 20px; margin: 10px auto 4px; padding: 0 12px; box-sizing: border-box; transition: all 0.3s ease; }
.landing-onaylandi-div-style.landing-onaylandi-div-style { width: 10px; height: 10px; border-radius: 50%; background: #111; box-shadow: inset 0 0 2px #333; }
.landing-simislandstatus.landing-simislandstatus { font-size: 9.5px; }
.landing-5g.landing-5g { width: 8px; height: 8px; border-radius: 50%; background: #10b981; box-shadow: 0 0 6px #10b981; }
.landing-5g-div-id.landing-5g-div-id { padding: 4px 22px 10px; letter-spacing: 0.2px; }
.landing-div-style-width.landing-div-style-width { padding: 16px 18px 24px; min-height: 480px; background: #070a13; }
.landing-ay-div-style.landing-ay-div-style { padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.landing-ay-ahmet-yilmaz.landing-ay-ahmet-yilmaz { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #10b981, #059669); }
.landing-ahmet-yilmaz-ihlamur.landing-ahmet-yilmaz-ihlamur { line-height: 1.2; }
.landing-10s-kota-randevu.landing-10s-kota-randevu { background: rgba(16, 185, 129, 0.15); padding: 3px 8px; border: 1px solid rgba(16, 185, 129, 0.3); }
.landing-bugun-eyl-yarin.landing-bugun-eyl-yarin { flex: 1; padding: 7px 4px; background: rgba(16, 185, 129, 0.2); border: 1px solid #10b981; }
.landing-yarin-eyl-sali.landing-yarin-eyl-sali { flex: 1; padding: 7px 4px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.1); }
.landing-istasyon-acik-otopark.landing-istasyon-acik-otopark { background: rgba(16, 185, 129, 0.12); border: 1px solid #10b981; padding: 10px 12px; transition: all 0.2s; }
.landing-bosta.landing-bosta { background: rgba(16, 185, 129, 0.2); padding: 3px 8px; }
.landing-istasyon-kapali-b2.landing-istasyon-kapali-b2 { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); padding: 10px 12px; transition: all 0.2s; }
.landing-kapali-b2-kw.landing-kapali-b2-kw { color: #64748b; }
.landing-te-musait-div.landing-te-musait-div { background: rgba(255, 255, 255, 0.06); padding: 3px 8px; }
.landing-div-style-font.landing-div-style-font { gap: 7px; }
.landing-dk-tampon-kadar.landing-dk-tampon-kadar { background: rgba(16, 185, 129, 0.15); border: 1px solid #10b981; padding: 8px 12px; }
.landing-dk-tampon-kadar-2.landing-dk-tampon-kadar-2 { margin-top: 1px; }
.landing-span.landing-span { color: #10b981; }
.landing-dk-tampon-kadar-3.landing-dk-tampon-kadar-3 { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); padding: 8px 12px; }
.landing-dk-tampon-kadar-4.landing-dk-tampon-kadar-4 { color: #64748b; margin-top: 1px; }
.landing-ev-togg-t10x.landing-ev-togg-t10x { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); padding: 8px 12px; }
.landing-randevuyu-onayla-ve.landing-randevuyu-onayla-ve { padding: 13px; background: linear-gradient(135deg, #10b981 0%, #059669 100%); border: none; font-size: 14.5px; box-shadow: 0 4px 18px rgba(16, 185, 129, 0.45); transition: transform 0.15s; }
.landing-simsuccessview.landing-simsuccessview { animation: fadeIn 0.3s ease; }
.landing-rezervasyon-onaylandi-istasyonunuz.landing-rezervasyon-onaylandi-istasyonunuz { width: 48px; height: 48px; border-radius: 50%; background: rgba(16, 185, 129, 0.2); border: 2px solid #10b981; margin: 0 auto 10px; color: #10b981; }
.landing-rezervasyon-onaylandi-istasyonunuz-2.landing-rezervasyon-onaylandi-istasyonunuz-2 { letter-spacing: 0.5px; }
.landing-istasyonunuz-ayrildi-span.landing-istasyonunuz-ayrildi-span { font-size: 17px; margin: 4px 0 14px 0; }
.landing-bilet-kodu-ev.landing-bilet-kodu-ev { background: rgba(17, 24, 39, 0.95); border: 1px dashed rgba(16, 185, 129, 0.4); border-radius: 14px; padding: 14px; }
.landing-bilet-kodu-ev-2.landing-bilet-kodu-ev-2 { border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 8px; }
.landing-ev-istasyon-istasyon.landing-ev-istasyon-istasyon { font-family: monospace; }
.landing-dk-guvenli-tampon.landing-dk-guvenli-tampon { background: rgba(16, 185, 129, 0.08); padding: 8px 10px; }
.landing-telefon-alarmi-devrede.landing-telefon-alarmi-devrede { background: rgba(56, 189, 248, 0.08); padding: 8px 10px; }
.landing-sim-checkin.landing-sim-checkin { background: rgba(251, 191, 36, 0.08); padding: 8px 10px; }
.landing-siteniz-icin-gun.landing-siteniz-icin-gun { box-sizing: border-box; background: linear-gradient(135deg, #10b981 0%, #059669 100%); padding: 11px; box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4); }
.landing-baska-slot-test.landing-baska-slot-test { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); padding: 9px; }
.landing-sitenizin-huzuru-icin.landing-sitenizin-huzuru-icin { background: #070a13; padding: 4px 0 8px; }
.landing-sitenizin-huzuru-icin-2.landing-sitenizin-huzuru-icin-2 { width: 110px; height: 4px; background: rgba(255, 255, 255, 0.3); border-radius: 2px; margin: 0 auto; }
.landing-fiyatlandirma.landing-fiyatlandirma { padding: 80px 24px; background: #0b1120; }
.landing-div-style-position.landing-div-style-position { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 32px; max-width: 960px; margin: 0 auto; }
.landing-en-cok-tercih.landing-en-cok-tercih { background: rgba(16, 185, 129, 0.06); border: 2px solid rgba(16, 185, 129, 0.45); border-radius: 20px; padding: 36px 30px; position: relative; box-shadow: 0 20px 40px -15px rgba(16, 185, 129, 0.25); }
.landing-en-cok-tercih-2.landing-en-cok-tercih-2 { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: #10b981; color: #042f13; padding: 5px 16px; border-radius: 20px; letter-spacing: 0.5px; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4); }
.landing-istasyonlu-apartman-ve.landing-istasyonlu-apartman-ve { margin: 6px 0 18px 0; }
.landing-ay-yillik-pesin.landing-ay-yillik-pesin { background: rgba(0, 0, 0, 0.28); padding: 14px; margin-bottom: 22px; border: 1px solid rgba(255,255,255,0.06); }
.landing-ay-yillik-pesin-2.landing-ay-yillik-pesin-2 { font-size: 38px; color: #10b981; line-height: 1; }
.landing-daire-basi-ayda.landing-daire-basi-ayda { background: rgba(16, 185, 129, 0.15); padding: 4px 10px; }
.landing-istasyon-soket-destegi.landing-istasyon-soket-destegi { list-style: none; padding: 0; margin: 0 0 26px 0; line-height: 2.1; }
.landing-gun-ucretsiz-basla.landing-gun-ucretsiz-basla { padding: 14px; background: linear-gradient(135deg, #10b981 0%, #059669 100%); box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4); transition: transform 0.2s; }
.landing-buyuk-site-rezidans.landing-buyuk-site-rezidans { background: rgba(30, 41, 59, 0.5); border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; padding: 36px 30px; position: relative; }
.landing-ay-yillik-pesin-3.landing-ay-yillik-pesin-3 { font-size: 38px; line-height: 1; }
.landing-daire-basi-ayda-2.landing-daire-basi-ayda-2 { background: rgba(56, 189, 248, 0.15); padding: 4px 10px; }
.landing-gun-ucretsiz-basla-2.landing-gun-ucretsiz-basla-2 { padding: 14px; background: rgba(56, 189, 248, 0.12); border: 1px solid rgba(56, 189, 248, 0.4); transition: all 0.2s; }
.landing-ortak-ozellikler.landing-ortak-ozellikler { max-width: 960px; margin: 28px auto 0; background: rgba(16, 185, 129, 0.05); border: 1px solid rgba(16, 185, 129, 0.2); border-radius: 16px; padding: 20px 24px; }
.landing-ortak-ozellikler-baslik.landing-ortak-ozellikler-baslik { margin: 0 0 14px 0; }
.landing-ortak-ozellikler-liste.landing-ortak-ozellikler-liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 8px 20px; line-height: 1.5; }
.landing-istasyonlu-toplu-konut.landing-istasyonlu-toplu-konut { max-width: 960px; margin: 28px auto 0; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 14px; padding: 16px 24px; }
.landing-elektrik-parasini-kim.landing-elektrik-parasini-kim { max-width: 960px; margin: 36px auto 0; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.landing-elektrik-parasini-kim-2.landing-elektrik-parasini-kim-2 { background: rgba(17, 24, 39, 0.7); border: 1px solid rgba(255, 255, 255, 0.07); padding: 22px 24px; }
.landing-elektrik-parasini-kim-3.landing-elektrik-parasini-kim-3 { margin: 0 0 8px 0; }
.landing-guven.landing-guven { padding: 10px 24px 40px; max-width: 1100px; margin: 0 auto; }
.landing-sahadan-gercek-deneyimler.landing-sahadan-gercek-deneyimler { margin-bottom: 48px; }
.landing-sahadan-gercek-deneyimler-2.landing-sahadan-gercek-deneyimler-2 { padding: 6px 16px; border-radius: 999px; background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.3); }
.landing-kavga-otoparkta-sira.landing-kavga-otoparkta-sira { margin-top: 36px; background: rgba(16, 185, 129, 0.06); border: 1px solid rgba(16, 185, 129, 0.25); padding: 20px 24px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.landing-dk-tampon-otomatik.landing-dk-tampon-otomatik { color: #a855f7; }
.landing-sss.landing-sss { padding: 80px 24px 60px; max-width: 960px; margin: 0 auto; }
.landing-sikca-sorulan-sorular.landing-sikca-sorulan-sorular { font-size: 34px; letter-spacing: -0.5px; margin: 0 0 12px 0; }
.landing-apartman-ve-sitenizde.landing-apartman-ve-sitenizde { max-width: 600px; margin: 0 auto; }
.landing-gunluk-deneme-suresi.landing-gunluk-deneme-suresi { background: rgba(17, 24, 39, 0.7); border: 1px solid rgba(255, 255, 255, 0.08); padding: 24px 28px; transition: border-color 0.2s; }
.landing-gunluk-deneme-suresi-2.landing-gunluk-deneme-suresi-2 { margin: 0 0 10px 0; font-size: 17px; }
.landing-evet-sistemimizi-kredi.landing-evet-sistemimizi-kredi { line-height: 1.7; }
.landing-akliniza-takilan-farkli.landing-akliniza-takilan-farkli { margin-top: 40px; padding: 24px; background: rgba(16, 185, 129, 0.05); border: 1px solid rgba(16, 185, 129, 0.2); }
.landing-whatsapp-destek-hatti.landing-whatsapp-destek-hatti { background: #25d366; color: #042f13; border: none; padding: 10px 20px; }
.landing-iletisim-sayfasi-randevu.landing-iletisim-sayfasi-randevu { padding: 10px 20px; }
.landing-evrandevu-elektrikli-arac.landing-evrandevu-elektrikli-arac { color: #9ca3af; }
.landing-qrmodal.landing-qrmodal { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.78); backdrop-filter: blur(8px); z-index: 9999; padding: 20px; }
.landing-sakin-portali-girisi-2.landing-sakin-portali-girisi-2 { background: #0f172a; border: 1px solid rgba(16, 185, 129, 0.35); border-radius: 20px; max-width: 380px; padding: 28px 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 35px rgba(16, 185, 129, 0.25); position: relative; animation: qrPop 0.25s ease-out; }
.landing-sakin-portali-girisi-3.landing-sakin-portali-girisi-3 { position: absolute; top: 14px; right: 14px; background: rgba(255,255,255,0.08); border: none; width: 32px; height: 32px; border-radius: 50%; transition: background 0.2s; }
.landing-sakin-portali-girisi-4.landing-sakin-portali-girisi-4 { font-size: 34px; }
.landing-sakin-portali-girisi-5.landing-sakin-portali-girisi-5 { margin: 0 0 6px 0; }
.landing-akilli-telefonunuzun-kamerasini.landing-akilli-telefonunuzun-kamerasini { margin: 0 0 18px 0; }
.landing-sakin-girisini-ac.landing-sakin-girisini-ac { background: #ffffff; padding: 14px; box-shadow: 0 10px 25px rgba(0,0,0,0.4); border: 2px solid #34d399; }
.landing-sakin-girisi-qr-kodu.landing-sakin-girisi-qr-kodu { width: 200px; height: 200px; }
.landing-sakin-girisini-ac-2.landing-sakin-girisini-ac-2 { margin-top: 20px; }
.landing-sakin-girisini-ac-3.landing-sakin-girisini-ac-3 { padding: 12px; }
.landing-https-evrandevu-minipostr.landing-https-evrandevu-minipostr { color: #64748b; font-family: monospace; word-break: break-all; }
.landing-sharemodal.landing-sharemodal { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.82); backdrop-filter: blur(8px); z-index: 9999; padding: 20px; }
.landing-sitenize-evrandevu-onerin.landing-sitenize-evrandevu-onerin { background: #0f172a; border: 1px solid rgba(37, 211, 102, 0.4); border-radius: 20px; max-width: 480px; padding: 30px 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 35px rgba(37, 211, 102, 0.2); position: relative; animation: qrPop 0.25s ease-out; }
.landing-sitenize-evrandevu-onerin-2.landing-sitenize-evrandevu-onerin-2 { font-size: 38px; }
.landing-otoparkta-sarj-sirasi.landing-otoparkta-sarj-sirasi { margin: 0 0 16px 0; line-height: 1.55; }
.landing-sayin-yoneticim-sitemizdeki.landing-sayin-yoneticim-sitemizdeki { background: rgba(0, 0, 0, 0.35); border: 1px solid rgba(255, 255, 255, 0.1); padding: 14px 16px; margin-bottom: 18px; position: relative; }
.landing-sharetext.landing-sharetext { font-style: italic; }
.landing-btnwhatsappshare.landing-btnwhatsappshare { background: #25d366; color: #042f13; font-size: 14.5px; padding: 13px 20px; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4); transition: transform 0.2s; }
.landing-btncopyshare.landing-btncopyshare { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); padding: 11px 18px; transition: all 0.2s; }
.landing-siteniz-kuruldugunda-daireniz.landing-siteniz-kuruldugunda-daireniz { margin-top: 14px; color: #64748b; }

/* ==== EKRAN: views/legal/privacy.php (satır içi stillerden taşındı) ==== */
.privacy-evrandevu-logo.privacy-evrandevu-logo { height: 52px; object-fit: contain; }
.privacy-cerez-tercihlerini-yonet.privacy-cerez-tercihlerini-yonet { margin: 18px 0 24px 0; }
.privacy-cerez-tercihlerini-yonet-2.privacy-cerez-tercihlerini-yonet-2 { padding: 10px 18px; border-color: rgba(14, 165, 233, 0.4); background: rgba(14, 165, 233, 0.1); }
.privacy-https-evrandevu-minipostr.privacy-https-evrandevu-minipostr { color: #10b981; }
.privacy-evrandevu-tum-haklari.privacy-evrandevu-tum-haklari { margin-top: 10px; }

/* ==== EKRAN: views/legal/terms.php (satır içi stillerden taşındı) ==== */
.terms-evrandevu-logo.terms-evrandevu-logo { height: 52px; object-fit: contain; }
.terms-https-evrandevu-minipostr.terms-https-evrandevu-minipostr { color: #10b981; }
.terms-evrandevu-tum-haklari.terms-evrandevu-tum-haklari { margin-top: 10px; }

/* ==== EKRAN: views/legal/contact.php (satır içi stillerden taşındı) ==== */
.contact-sakin-girisi-yonetici.contact-sakin-girisi-yonetici { box-shadow: 0 4px 12px rgba(255,255,255,0.05); }
.contact-sakin-girisi-resmi.contact-sakin-girisi-resmi { padding: 11px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); box-sizing: border-box; }
.contact-gun-ucretsiz-sitenizi.contact-gun-ucretsiz-sitenizi { gap: 14px; }
.contact-gun-ucretsiz-sitenizi-2.contact-gun-ucretsiz-sitenizi-2 { background: linear-gradient(135deg, #10b981 0%, #059669 100%); padding: 12px 24px; box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4); }
.contact-whatsapp-ile-hemen.contact-whatsapp-ile-hemen { background: #25d366; color: #042f13; padding: 12px 24px; }
.contact-whatsapp-destek-hatti.contact-whatsapp-destek-hatti { border-color: rgba(34, 197, 94, 0.35); background: linear-gradient(180deg, rgba(17, 24, 39, 0.9) 0%, rgba(34, 197, 94, 0.06) 100%); }
.contact-whatsapp-destek-hatti-2.contact-whatsapp-destek-hatti-2 { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.contact-anlik-mesajlasma-ile.contact-anlik-mesajlasma-ile { color: #22c55e; }
.contact-whatsapp-tan-mesaj.contact-whatsapp-tan-mesaj { background: #25d366; color: #042f13; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35); }
.contact-posta-iletisim-destek.contact-posta-iletisim-destek { background: rgba(56, 189, 248, 0.15); }
.contact-destek-minipostr-com.contact-destek-minipostr-com { background: rgba(56, 189, 248, 0.15); border: 1px solid rgba(56, 189, 248, 0.4); }
.contact-musteri-hizmetleri-hafta.contact-musteri-hizmetleri-hafta { background: rgba(168, 85, 247, 0.15); color: #c084fc; }
.contact-hafta-ici-ve.contact-hafta-ici-ve { color: #c084fc; }
.contact-telefonla-ara-bize.contact-telefonla-ara-bize { background: rgba(168, 85, 247, 0.15); border: 1px solid rgba(168, 85, 247, 0.4); color: #c084fc; }
.contact-contactformstatus.contact-contactformstatus { padding: 12px 16px; margin-bottom: 18px; }
.contact-adiniz-soyadiniz-telefon.contact-adiniz-soyadiniz-telefon { grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-c-subject.contact-c-subject { background: rgba(15, 23, 42, 0.9); }
.contact-guven-seffaflik-neden.contact-guven-seffaflik-neden { letter-spacing: 1px; }
.contact-neden-evrandevu-ekibi.contact-neden-evrandevu-ekibi { margin: 4px 0 14px 0; }
.contact-kurumsal-merkez-erisim.contact-kurumsal-merkez-erisim { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); padding: 14px 16px; }
.contact-hizli-cevaplar-sikca.contact-hizli-cevaplar-sikca { margin-bottom: 28px; }
.contact-hizli-cevaplar-sikca-2.contact-hizli-cevaplar-sikca-2 { padding: 4px 14px; border-radius: 999px; background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.3); margin-bottom: 10px; }
.contact-evrandevu-elektrikli-arac.contact-evrandevu-elektrikli-arac { color: #9ca3af; }

/* ==== EKRAN: views/legal/partner_program.php (satır içi stillerden taşındı) ==== */
.partner-anasayfaya-don-yonetici.partner-anasayfaya-don-yonetici { padding: 20px 24px; max-width: 1100px; margin: 0 auto; }
.partner-sarj-istasyonu-kurulumculari.partner-sarj-istasyonu-kurulumculari { font-size: 34px; margin: 0 0 14px 0; letter-spacing: -0.5px; }
.partner-musterinize-sadece-donanim.partner-musterinize-sadece-donanim { max-width: 760px; margin: 0 auto 12px; }
.partner-apartmana-sarj-istasyonu.partner-apartmana-sarj-istasyonu { font-size: 14.5px; max-width: 720px; margin: 0 auto 28px; }
.partner-is-ortakligi-basvurusu.partner-is-ortakligi-basvurusu { background: linear-gradient(135deg, #10b981 0%, #059669 100%); padding: 14px 28px; box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4); }
.partner-basit-adimda-ek.partner-basit-adimda-ek { margin-top: 50px; }
.partner-montajinizi-yapin-apartman.partner-montajinizi-yapin-apartman { font-size: 17px; margin: 0 0 8px 0; }
.partner-musteriniz-icin-kazanc.partner-musteriniz-icin-kazanc { background: rgba(16, 185, 129, 0.06); border: 1px solid rgba(16, 185, 129, 0.25); border-radius: 20px; padding: 32px; margin-top: 30px; }
.partner-musteriniz-icin-kazanc-2.partner-musteriniz-icin-kazanc-2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; }
.partner-otoparkta-komsuluk-huzuru.partner-otoparkta-komsuluk-huzuru { font-size: 19px; margin: 6px 0 12px 0; }
.partner-daire-bazli-adil.partner-daire-bazli-adil { line-height: 1.9; padding-left: 20px; }
.partner-is-ortakligi-basvuru.partner-is-ortakligi-basvuru { font-size: 32px; }
.partner-is-ortakligi-basvuru-2.partner-is-ortakligi-basvuru-2 { margin: 8px 0 4px 0; }
.partner-partneralert.partner-partneralert { padding: 14px 18px; }
.partner-monthly-installs.partner-monthly-installs { background: #0f172a; }

/* ==== EKRAN: views/legal/press_release.php (satır içi stillerden taşındı) ==== */
.press-medya-basin-mensuplarinin.press-medya-basin-mensuplarinin { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.25); border-radius: 14px; padding: 18px 22px; gap: 14px; }
.press-medya-basin-mensuplarinin-2.press-medya-basin-mensuplarinin-2 { line-height: 1; }
.press-medya-basin-mensuplarinin-3.press-medya-basin-mensuplarinin-3 { flex: 1; }
.press-kavgalari-bitiren-altin.press-kavgalari-bitiren-altin { color: #0f172a; margin: 26px 0 12px 0; }
.press-basin-roportaj-talepleri.press-basin-roportaj-talepleri { margin: 0 0 8px 0; color: #0f172a; }
.press-evrandevu-medya-iliskileri.press-evrandevu-medya-iliskileri { color: #475569; }
.press-destek-minipostr-com.press-destek-minipostr-com { color: #10b981; }

/* ==== EKRAN: views/legal/kmk_decision_template.php (satır içi stillerden taşındı) ==== */
.kmk-apartman-site-yoneticilerinin.kmk-apartman-site-yoneticilerinin { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.25); border-radius: 14px; padding: 18px 22px; gap: 14px; }
.kmk-apartman-site-yoneticilerinin-2.kmk-apartman-site-yoneticilerinin-2 { line-height: 1; }
.kmk-apartman-site-yoneticilerinin-3.kmk-apartman-site-yoneticilerinin-3 { flex: 1; }
.kmk-belge-parametrelerini-canli.kmk-belge-parametrelerini-canli { background: rgba(15, 23, 42, 0.9); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 14px; padding: 16px 20px; }
.kmk-metin-asagidaki-belgede.kmk-metin-asagidaki-belgede { color: #10b981; }
.kmk-site-apartman-adi.kmk-site-apartman-adi { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.kmk-inputsitename.kmk-inputsitename { box-sizing: border-box; background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.15); padding: 7px 10px; }
.kmk-ihlalde-sistem-uzerinden.kmk-ihlalde-sistem-uzerinden { padding-left: 20px; }

/* ==== EKRAN: views/auth/forgot_password.php (satır içi stillerden taşındı) ==== */
.forgot-sifremi-unuttum-kayitli.forgot-sifremi-unuttum-kayitli { max-width: 440px; }
.forgot-evrandevu-logo.forgot-evrandevu-logo { height: 94px; max-width: 100%; object-fit: contain; border-radius: 14px; }
.forgot-alert.forgot-alert { margin-bottom: 18px; }
.forgot-sifirlama-baglantisi-gonder.forgot-sifirlama-baglantisi-gonder { margin-top: 22px; }
.forgot-sifirlama-baglantisi-gonder-2.forgot-sifirlama-baglantisi-gonder-2 { padding: 13px; }
.forgot-posta-birkac-dakika.forgot-posta-birkac-dakika { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.25); padding: 16px; line-height: 1.55; }
.forgot-yonetici-girisine-don.forgot-yonetici-girisine-don { padding-top: 18px; border-top: 1px solid var(--border-color); }

/* ==== EKRAN: views/auth/reset_password.php (satır içi stillerden taşındı) ==== */
.reset-yeni-sifre-belirle.reset-yeni-sifre-belirle { max-width: 440px; }
.reset-evrandevu-logo.reset-evrandevu-logo { height: 94px; max-width: 100%; object-fit: contain; border-radius: 14px; }
.reset-yeni-sifre-input.reset-yeni-sifre-input { margin-bottom: 18px; }
.reset-sifreniz-en-az.reset-sifreniz-en-az { line-height: 1.45; }
.reset-sifreyi-guncelle.reset-sifreyi-guncelle { margin-top: 22px; }
.reset-sifreyi-guncelle-2.reset-sifreyi-guncelle-2 { padding: 13px; }
.reset-yeni-sifirlama-baglantisi.reset-yeni-sifirlama-baglantisi { padding-top: 18px; border-top: 1px solid var(--border-color); }

/* ==== EKRAN: views/auth/register_site.php (satır içi stillerden taşındı) ==== */
.regsite-anasayfaya-don-zaten.regsite-anasayfaya-don-zaten { padding: 20px 24px; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.regsite-gun-ucretsiz-deneyin.regsite-gun-ucretsiz-deneyin { margin: 0 0 6px 0; }
.regsite-form-id-registerform.regsite-form-id-registerform { background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.15); padding: 6px 10px; }
.regsite-registeralert.regsite-registeralert { padding: 14px 18px; }
.regsite-web-siteniz-mulk.regsite-web-siteniz-mulk { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ==== EKRAN: views/auth/register_resident.php (satır içi stillerden taşındı) ==== */
.regres-evrandevu-logo.regres-evrandevu-logo { height: 72px; max-width: 100%; object-fit: contain; }
.regres-gecersiz-veya-yetkisiz.regres-gecersiz-veya-yetkisiz { padding: 32px 16px; background: rgba(239, 68, 68, 0.06); border: 1px solid rgba(239, 68, 68, 0.25); }
.regres-gecersiz-veya-yetkisiz-2.regres-gecersiz-veya-yetkisiz-2 { font-size: 44px; }
.regres-bu-kayit-baglantisi.regres-bu-kayit-baglantisi { max-width: 420px; margin: 0 auto 20px auto; }
.regres-mevcut-sakin-girisi.regres-mevcut-sakin-girisi { padding: 10px 20px; }
.regres-basvurunuz-alindi.regres-basvurunuz-alindi { padding: 24px 12px; }
.regres-basvurunuz-alindi-sayin.regres-basvurunuz-alindi-sayin { width: 68px; height: 68px; border-radius: 50%; background: rgba(16, 185, 129, 0.15); border: 2px solid #10b981; font-size: 32px; color: #10b981; }
.regres-sonraki-adim-site.regres-sonraki-adim-site { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--border-color); padding: 16px; }
.regres-basvurunuzun-durumunu-takip.regres-basvurunuzun-durumunu-takip { background: rgba(56, 189, 248, 0.08); border: 1px solid rgba(56, 189, 248, 0.3); padding: 14px; }
.regres-basvurunuzun-durumunu-takip-2.regres-basvurunuzun-durumunu-takip-2 { color: #7dd3fc; }
.regres-bu-baglantiyi-kaydedin.regres-bu-baglantiyi-kaydedin { margin-bottom: 10px; }
.regres-applicationstatuslink.regres-applicationstatuslink { flex: 1; min-width: 0; font-family: monospace; }
.regres-durum-sayfasini-ac.regres-durum-sayfasini-ac { margin-top: 10px; color: #7dd3fc; }
.regres-sakin-giris-sayfasina.regres-sakin-giris-sayfasina { padding: 12px; }
.regres-lutfen-blok-ve.regres-lutfen-blok-ve { color: #ef4444; }
.regres-flat-id.regres-flat-id { padding: 11px 14px; }
.regres-posta-adresi-onerilir.regres-posta-adresi-onerilir { margin-top: 14px; }
.regres-plate-number.regres-plate-number { letter-spacing: 1px; }
.regres-kaydimi-site-yonetimine.regres-kaydimi-site-yonetimine { padding: 13px; background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4); }

/* ==== EKRAN: views/auth/resident_login.php (satır içi stillerden taşındı) ==== */
.rlogin-evrandevu-logo.rlogin-evrandevu-logo { height: 94px; max-width: 100%; object-fit: contain; border-radius: 14px; }
.rlogin-birden-fazla-site.rlogin-birden-fazla-site { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.3); padding: 12px 14px; }
.rlogin-btn.rlogin-btn { padding: 12px 14px; gap: 2px; background: rgba(255,255,255,0.04); border: 1px solid var(--border-color); }
.rlogin-span.rlogin-span { color: var(--text-main); }
.rlogin-path-m3-71a5.rlogin-path-m3-71a5 { padding: 11px 16px; background: #ffffff; color: #1f2937; border-color: #e5e7eb; border-radius: 4px; }
.rlogin-google-ile-giris.rlogin-google-ile-giris { padding: 12px; background: rgba(148,163,184,0.12); }
.rlogin-veya-posta-telefon.rlogin-veya-posta-telefon { margin: 20px 0; }
.rlogin-veya-posta-telefon-2.rlogin-veya-posta-telefon-2 { flex: 1; height: 1px; background: var(--border-color); }
.rlogin-veya-posta-telefon-3.rlogin-veya-posta-telefon-3 { letter-spacing: 0.5px; }
.rlogin-dogrulama-kodu-gonder.rlogin-dogrulama-kodu-gonder { margin-top: 18px; }
.rlogin-sendotpbtn.rlogin-sendotpbtn { padding: 12px; }
.rlogin-degistir-haneli-dogrulama.rlogin-degistir-haneli-dogrulama { color: var(--secondary); text-decoration: underline; margin-left: 6px; }
.rlogin-otp-code.rlogin-otp-code { letter-spacing: 6px; }
.rlogin-kodun-gecerlilik-suresi.rlogin-kodun-gecerlilik-suresi { margin-top: 10px; }
.rlogin-residentotptimer.rlogin-residentotptimer { font-family: monospace; }
.rlogin-remember-me.rlogin-remember-me { width: 16px; height: 16px; accent-color: var(--primary); }
.rlogin-kodu-tekrar-gonder.rlogin-kodu-tekrar-gonder { padding-top: 12px; border-top: 1px solid var(--border-color); }
.rlogin-residentresendbtn.rlogin-residentresendbtn { color: var(--secondary); }
.rlogin-yonetici-masasi-admin.rlogin-yonetici-masasi-admin { padding-top: 16px; border-top: 1px solid var(--border-color); }
.rlogin-yonetici-masasi-admin-2.rlogin-yonetici-masasi-admin-2 { margin-bottom: 10px; }
.rlogin-giris-yaparak-kullanim.rlogin-giris-yaparak-kullanim { margin-top: 14px; }

/* ==== EKRAN: views/auth/application_status.php (satır içi stillerden taşındı) ==== */
.appstatus-sarj-istasyonu-basvurusu.appstatus-sarj-istasyonu-basvurusu { min-height: 100vh; padding: 24px 16px; }
.appstatus-sarj-istasyonu-basvurusu-2.appstatus-sarj-istasyonu-basvurusu-2 { max-width: 480px; padding: 32px 24px; }
.appstatus-evrandevu.appstatus-evrandevu { height: 56px; max-width: 100%; object-fit: contain; }
.appstatus-sarj-istasyonu-basvurusu-3.appstatus-sarj-istasyonu-basvurusu-3 { letter-spacing: 0.5px; }
.appstatus-onay-bekleniyor-basvurunuz.appstatus-onay-bekleniyor-basvurunuz { font-size: 46px; margin: 14px 0 6px 0; }
.appstatus-onay-bekleniyor-basvurunuz-2.appstatus-onay-bekleniyor-basvurunuz-2 { margin: 0 0 8px 0; }
.appstatus-site-daire.appstatus-site-daire { background: rgba(255,255,255,0.03); border: 1px solid var(--border-color); padding: 14px 16px; margin: 18px 0; }
.appstatus-giris-yap-durumu.appstatus-giris-yap-durumu { padding: 12px; }

/* ==== EKRAN: views/layout/cookie_consent.php (satır içi stillerden taşındı) ==== */
.cookie-evcookiebanner.cookie-evcookiebanner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 99998; background: #1f242d; border-top: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.6); padding: 22px 24px; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; animation: evCookieSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.cookie-cerezler-icerigi-ve.cookie-cerezler-icerigi-ve { max-width: 1280px; margin: 0 auto; gap: 28px; }
.cookie-cerezler-icerigi-ve-2.cookie-cerezler-icerigi-ve-2 { flex: 1; min-width: 290px; color: #f3f4f6; font-size: 14.5px; line-height: 1.65; letter-spacing: -0.01em; }
.cookie-cerezler-icerigi-ve-3.cookie-cerezler-icerigi-ve-3 { margin: 0 0 8px 0; color: #f9fafb; }
.cookie-detayli-bilgi-icin.cookie-detayli-bilgi-icin { color: #9ca3af; }
.cookie-gizlilik-ve-cerez.cookie-gizlilik-ve-cerez { text-decoration: underline; }
.cookie-kabul-et-button.cookie-kabul-et-button { min-width: 200px; flex-shrink: 0; }
.cookie-kabul-et-hepsini.cookie-kabul-et-hepsini { background: #0066cc; border: none; padding: 11px 24px; transition: all 0.2s ease; font-family: inherit; box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3); }
.cookie-evcookiemodal.cookie-evcookiemodal { position: fixed; inset: 0; z-index: 99999; background: rgba(3, 7, 18, 0.85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 16px; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; animation: evModalFadeIn 0.2s ease; }
.cookie-cerez-tercihleri-ve.cookie-cerez-tercihleri-ve { background: #111827; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 18px; max-width: 680px; max-height: 90vh; box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.9); overflow: hidden; animation: evModalSlideUp 0.22s ease; }
.cookie-cerez-tercihleri-ve-2.cookie-cerez-tercihleri-ve-2 { padding: 20px 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.02); }
.cookie-web-sitemizi-ziyaret.cookie-web-sitemizi-ziyaret { background: transparent; border: none; color: #9ca3af; padding: 4px 8px; line-height: 1; }
.cookie-web-sitemizi-ziyaret-2.cookie-web-sitemizi-ziyaret-2 { padding: 24px; overflow-y: auto; flex: 1; }
.cookie-web-sitemizi-ziyaret-3.cookie-web-sitemizi-ziyaret-3 { margin: 0 0 20px 0; color: #9ca3af; }
.cookie-zorunlu-ve-guvenlik.cookie-zorunlu-ve-guvenlik { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); padding: 16px; }
.cookie-zorunlu-ve-guvenlik-2.cookie-zorunlu-ve-guvenlik-2 { font-size: 14.5px; }
.cookie-her-zaman-aktif.cookie-her-zaman-aktif { background: rgba(16, 185, 129, 0.15); padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(16, 185, 129, 0.3); }
.cookie-tumunu-reddet-secimleri.cookie-tumunu-reddet-secimleri { padding: 16px 24px; border-top: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.02); }
.cookie-tumunu-reddet-secimleri-2.cookie-tumunu-reddet-secimleri-2 { padding: 9px 16px; }
.cookie-secimleri-kaydet-tumunu.cookie-secimleri-kaydet-tumunu { padding: 9px 16px; border-color: rgba(14, 165, 233, 0.4); }
.cookie-tumunu-kabul-et.cookie-tumunu-kabul-et { background: #0066cc; padding: 9px 18px; border: none; box-shadow: 0 2px 10px rgba(0, 102, 204, 0.35); }
.cookie-evcookietriggerbadge.cookie-evcookietriggerbadge { position: fixed; bottom: 18px; left: 18px; z-index: 9998; width: 40px; height: 40px; border-radius: 50%; background: #1f242d; border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4); transition: all 0.2s ease; opacity: 0.85; }
.cookie-evcookietriggerbadge.cookie-evcookietriggerbadge:hover { opacity: 1; transform: scale(1.08); }

/* ==== EKRAN: views/layout/pwa_install_prompt.php (satır içi stillerden taşındı) ==== */
.pwa-div-style-width.pwa-div-style-width { background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(14, 165, 233, 0.12) 100%); border: 1px solid rgba(16, 185, 129, 0.35); border-radius: 14px; padding: 14px 16px; position: relative; box-shadow: 0 8px 24px -4px rgba(0,0,0,0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.pwa-div-style-flex.pwa-div-style-flex { position: absolute; top: 10px; right: 12px; background: transparent; border: none; padding: 4px; line-height: 1; }
.pwa-div-style-font.pwa-div-style-font { gap: 14px; }
.pwa-evrandevu-yu-uygulama.pwa-evrandevu-yu-uygulama { width: 44px; height: 44px; background: #070a10; border: 1px solid rgba(16, 185, 129, 0.4); flex-shrink: 0; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2); }
.pwa-evrandevu.pwa-evrandevu { width: 32px; height: 32px; object-fit: contain; }
.pwa-evrandevu-yu-uygulama-2.pwa-evrandevu-yu-uygulama-2 { flex: 1; min-width: 220px; }
.pwa-pwatextdesc.pwa-pwatextdesc { margin-top: 3px; }
.pwa-btnpwainstall.pwa-btnpwainstall { padding: 8px 14px; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35); }
.pwa-pwaiosaction.pwa-pwaiosaction { padding-top: 8px; border-top: 1px dashed rgba(255, 255, 255, 0.1); }
.pwa-butonuna-dokunun-acilan.pwa-butonuna-dokunun-acilan { background: rgba(255,255,255,0.1); padding: 2px 6px; border-radius: 4px; }

/* Tanıtım / iletişim menüsü ve altbilgisindeki renkli bağlantılar: bu renkler önceden satır içi stildi ve
   sayfanın kendi ".nav-links a:hover", ".nav-links a.active" kurallarından etkilenmiyordu; aynı davranış korunur. */
.nav-links a.text-green.text-green, .nav-links a.text-green.text-green:hover,
.footer-links a.text-green.text-green, .footer-links a.text-green.text-green:hover { color: #34d399; }
.nav-links a.text-sky.text-sky, .nav-links a.text-sky.text-sky:hover,
.footer-links a.text-sky.text-sky, .footer-links a.text-sky.text-sky:hover { color: #38bdf8; }
.footer-links a.text-soft.text-soft, .footer-links a.text-soft.text-soft:hover { color: #e2e8f0; }
/* Yönetici kenar menüsündeki yeşil "KMK Karar Şablonu" bağlantısı: üzerine gelince de yeşil kalır */
.nav-item a.text-green.text-green:hover { color: #34d399; }

/* ==== EKRAN: views/admin/dashboard.php (satır içi stillerden taşındı) ==== */
.dash-abonelik-suresi-uyarisi.dash-abonelik-suresi-uyarisi { background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(239, 68, 68, 0.1) 100%); border: 1px solid rgba(245, 158, 11, 0.4); padding: 14px 20px; }
.dash-whatsapp-destek-yonetim.dash-whatsapp-destek-yonetim { background: #25d366; color: #042f13; border: none; }
.dash-kmk-karar-sablonu.dash-kmk-karar-sablonu { border-color: rgba(16, 185, 129, 0.4); background: rgba(16, 185, 129, 0.08); }
.dash-cikis-div-class.dash-cikis-div-class { border-color: rgba(239, 68, 68, 0.35); background: rgba(239, 68, 68, 0.08); }
.dash-toplam-site-saas.dash-toplam-site-saas { background: var(--secondary-light); color: var(--secondary); }
.dash-bugunku-randevular-div.dash-bugunku-randevular-div { background: var(--warning-light); color: var(--warning); }
.dash-bekleyen-ihlaller-div.dash-bekleyen-ihlaller-div { background: var(--danger-light); color: var(--danger); }
.dash-onay-bekleyen-adet.dash-onay-bekleyen-adet { background: rgba(245, 158, 11, 0.12); border: 1px solid rgba(245, 158, 11, 0.4); padding: 14px 18px; }
.dash-sakinler-online-kayit.dash-sakinler-online-kayit { color: #fde68a; }
.dash-basvurulari-incele-incelenmesi.dash-basvurulari-incele-incelenmesi { background: #f59e0b; color: #000; }
.dash-tablo-adi-kayit.dash-tablo-adi-kayit { width: 40px; }
.dash-doluluk.dash-doluluk { width: 200px; }
.dash-code.dash-code { background: rgba(99,102,241,0.12); padding: 2px 8px; border-radius: 4px; }
.dash-tfoo.dash-tfoo { font-variant-numeric: tabular-nums; }
.dash-toplam.dash-toplam { background: var(--bg-secondary); height: 8px; overflow: hidden; }
.dash-toplam-son-sarj.dash-toplam-son-sarj { border-top: 2px solid var(--border-color); }
.dash-henuz-randevu-kaydi.dash-henuz-randevu-kaydi { padding: 30px; }

/* ==== EKRAN: views/admin/sites.php (satır içi stillerden taşındı) ==== */
.sites-yeni-site-mulk.sites-yeni-site-mulk { padding: 10px 18px; }
.sites-henuz-kayitli-site.sites-henuz-kayitli-site { padding: 36px 24px; }
.sites-henuz-kayitli-site-2.sites-henuz-kayitli-site-2 { font-size: 32px; }
.sites-gun-button-type.sites-gun-button-type { display: inline-flex; gap: 4px; align-items: center; vertical-align: middle; }
.sites-extend-select.sites-extend-select { width: auto; padding: 4px 8px; height: auto; }
.sites-gun-detay.sites-gun-detay { margin-left: 4px; color: #10b981; border-color: rgba(16, 185, 129, 0.4); background: rgba(16, 185, 129, 0.1); }
.sites-detay-form-method.sites-detay-form-method { margin-left: 4px; color: #60a5fa; border-color: rgba(96, 165, 250, 0.4); background: rgba(96, 165, 250, 0.1); }
.sites-btn.sites-btn { margin-left: 4px; }
.sites-site-detay-raporu.sites-site-detay-raporu { max-width: 480px; }
.sites-sitedetailbody.sites-sitedetailbody { padding: 0; }
.sites-yeni-site-apartman.sites-yeni-site-apartman { max-width: 600px; }
.sites-mulk-bilgileri-site.sites-mulk-bilgileri-site { margin-bottom: 10px; }
.sites-site-yoneticisi-siteadmin.sites-site-yoneticisi-siteadmin { margin: 18px 0 10px 0; padding-top: 14px; border-top: 1px solid var(--border-color); }
.sites-slot-suresi-dk.sites-slot-suresi-dk { grid-template-columns: 1fr 1fr; }
.sites-gece-serbest-modu.sites-gece-serbest-modu { grid-template-columns: 1fr 1fr 1fr; }
.sites-gece-serbest-modu-2.sites-gece-serbest-modu-2 { width: 16px; height: 16px; accent-color: var(--primary); }
.sites-site-adi-adres.sites-site-adi-adres { grid-template-columns: 1fr 1fr; gap: 14px; }
.sites-yonetici-bilgileri-yonetici.sites-yonetici-bilgileri-yonetici { margin: 16px 0 10px 0; padding-top: 12px; border-top: 1px solid var(--border-color); }
.sites-kota-saat-maks.sites-kota-saat-maks { grid-template-columns: 1fr 1fr 1fr 1fr; }
.sites-gece-serbest-modu-3.sites-gece-serbest-modu-3 { grid-template-columns: 1fr 1fr 1fr; margin-top: 10px; }

/* ==== EKRAN: views/admin/users.php (satır içi stillerden taşındı) ==== */
.users-yeni-yonetici-ekle.users-yeni-yonetici-ekle { padding: 10px 18px; }
.users-hesap-aktif-giris.users-hesap-aktif-giris { margin-top: 14px; }
.users-edit-user-active.users-edit-user-active { width: 16px; height: 16px; accent-color: var(--primary); }

/* ==== EKRAN: views/admin/stations.php (satır içi stillerden taşındı) ==== */
.stations-yeni-istasyon-ekle.stations-yeni-istasyon-ekle { padding: 10px 18px; }
.stations-henuz-kayitli-istasyon.stations-henuz-kayitli-istasyon { padding: 36px 24px; }
.stations-henuz-kayitli-istasyon-2.stations-henuz-kayitli-istasyon-2 { font-size: 32px; }
.stations-form.stations-form { display: inline; }

/* ==== EKRAN: views/admin/flats.php (satır içi stillerden taşındı) ==== */
.flats-tablesearchinput.flats-tablesearchinput { width: 220px; padding: 9px 14px; }
.flats-toplu-daire-sihirbazi.flats-toplu-daire-sihirbazi { padding: 9px 14px; background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4); }
.flats-tek-daire-ekle.flats-tek-daire-ekle { padding: 9px 14px; }
.flats-onay-bekleyen-sakin.flats-onay-bekleyen-sakin { border: 2px solid rgba(245, 158, 11, 0.6); background: rgba(245, 158, 11, 0.04); box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.2); }
.flats-onay-bekleyen-sakin-2.flats-onay-bekleyen-sakin-2 { border-bottom: 1px solid rgba(245, 158, 11, 0.25); }
.flats-basvuru-sakinlerin-link.flats-basvuru-sakinlerin-link { padding: 3px 8px; }
.flats-badge.flats-badge { letter-spacing: 0.5px; }
.flats-arac-belirtilmemis-td.flats-arac-belirtilmemis-td { margin-left: 6px; }
.flats-onayla.flats-onayla { background: #10b981; border-color: #059669; padding: 7px 14px; }
.flats-reddet-div-class.flats-reddet-div-class { padding: 7px 12px; }
.flats-sakin-kendi-kendine.flats-sakin-kendi-kendine { background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.9)); border: 1px solid rgba(56, 189, 248, 0.25); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5); }
.flats-sakin-kendi-kendine-2.flats-sakin-kendi-kendine-2 { margin-bottom: 2px; }
.flats-kayitlar-acik-kayitlar.flats-kayitlar-acik-kayitlar { padding: 6px 12px; }
.flats-kayitlar-acik-kayitlar-2.flats-kayitlar-acik-kayitlar-2 { width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.flats-div-style-font.flats-div-style-font { padding: 16px 20px; grid-template-columns: auto 1fr auto; }
.flats-siteye-ozel-guvenli.flats-siteye-ozel-guvenli { background: #fff; padding: 6px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); width: 94px; height: 94px; }
.flats-siteye-ozel-guvenli-2.flats-siteye-ozel-guvenli-2 { width: 82px; height: 82px; }
.flats-reglinkinput.flats-reglinkinput { flex: 1; min-width: 260px; font-family: monospace; background: rgba(0,0,0,0.35); border-color: rgba(255,255,255,0.12); }
.flats-copylinkbtn.flats-copylinkbtn { padding: 8px 14px; }
.flats-whatsapp-ta-paylas.flats-whatsapp-ta-paylas { background: #25D366; border-color: #22c55e; padding: 8px 14px; }
.flats-guvenlik-kodunu-yenile.flats-guvenlik-kodunu-yenile { background: none; border: none; color: #f59e0b; text-decoration: underline; padding: 0; }
.flats-istasyon-qr-afisi.flats-istasyon-qr-afisi { padding: 12px 18px; background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4); }
.flats-a4-yazdir-indir.flats-a4-yazdir-indir { opacity: 0.8; font-weight: normal; }
.flats-kayitli-daireler-havuz.flats-kayitli-daireler-havuz { border-top: none; }
.flats-daire-satirina-tiklayarak.flats-daire-satirina-tiklayarak { padding: 0 20px 8px; }
.flats-blok-no-haftalik.flats-blok-no-haftalik { width: 28px; }
.flats-henuz-kayitli-daire.flats-henuz-kayitli-daire { padding: 24px; }
.flats-cok-sayida-daireyi.flats-cok-sayida-daireyi { padding: 10px 12px; background: rgba(16, 185, 129, 0.08); border: 1px dashed rgba(16, 185, 129, 0.35); }
.flats-sihirbaza-git-blok.flats-sihirbaza-git-blok { padding: 4px 9px; }
.flats-toplu-daire-sihirbazi-2.flats-toplu-daire-sihirbazi-2 { max-width: 660px; }
.flats-mevcut-bloklar.flats-mevcut-bloklar { color: var(--danger); font-weight: bold; }
.flats-iptal-daireleri-toplu.flats-iptal-daireleri-toplu { margin-top: 20px; }
.flats-btn-submit-batch.flats-btn-submit-batch { padding: 10px 22px; box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4); }

/* ==== EKRAN: views/admin/appointments.php (satır içi stillerden taşındı) ==== */
.appts-kayitli-randevu-bulunamadi.appts-kayitli-randevu-bulunamadi { padding: 30px; }
.appts-iptal-et.appts-iptal-et { display: inline; }

/* ==== EKRAN: views/admin/violations.php (satır içi stillerden taşındı) ==== */
.viol-harika-incelenmeyi-bekleyen.viol-harika-incelenmeyi-bekleyen { padding: 40px; }
.viol-harika-incelenmeyi-bekleyen-2.viol-harika-incelenmeyi-bekleyen-2 { font-size: 40px; }
.viol-div.viol-div { gap: 5px; }
.viol-degistir.viol-degistir { letter-spacing: 0.5px; }
.viol-degistir-span-class.viol-degistir-span-class { padding: 2px 5px; }
.viol-ihlal-kaydi-ihlal.viol-ihlal-kaydi-ihlal { background: rgba(245, 158, 11, 0.15); border: 1px solid rgba(245, 158, 11, 0.35); padding: 2px 7px; }
.viol-ihlal-tekrar-ihlal.viol-ihlal-tekrar-ihlal { background: rgba(56, 189, 248, 0.18); border: 1px solid rgba(56, 189, 248, 0.45); padding: 2px 7px; }
.viol-ihlal-muzmin-button.viol-ihlal-muzmin-button { background: rgba(239, 68, 68, 0.2); border: 1px solid rgba(239, 68, 68, 0.5); padding: 2px 7px; }
.viol-gecmis.viol-gecmis { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); padding: 2px 6px; border-radius: 5px; gap: 3px; }
.viol-ihlal-fotografi.viol-ihlal-fotografi { width: 70px; height: 50px; object-fit: cover; border: 1px solid var(--border-color); }
.viol-reddet.viol-reddet { display: inline; }
.viol-approvemodal.viol-approvemodal { position: fixed; inset: 0; background: rgba(0,0,0,0.75); backdrop-filter: blur(6px); z-index: 9999; padding: 20px; }
.viol-ihlali-onayla-yaptirim.viol-ihlali-onayla-yaptirim { background: #111827; border: 1px solid rgba(255,255,255,0.12); max-width: 500px; padding: 26px 28px; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.8); position: relative; }
.viol-ihlali-onayla-yaptirim-2.viol-ihlali-onayla-yaptirim-2 { position: absolute; top: 14px; right: 14px; background: transparent; border: none; }
.viol-ihlali-onayla-yaptirim-3.viol-ihlali-onayla-yaptirim-3 { margin: 0 0 4px 0; }
.viol-komsuluk-hukukunu-korumak.viol-komsuluk-hukukunu-korumak { margin: 0 0 16px 0; }
.viol-istasyon-ihlal-eden.viol-istasyon-ihlal-eden { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); padding: 10px 14px; }
.viol-ihlal-eden-plaka.viol-ihlal-eden-plaka { margin-top: 3px; }
.viol-modalordernotice.viol-modalordernotice { padding: 11px 13px; }
.viol-penaltyopt0.viol-penaltyopt0 { background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.3); padding: 10px 12px; transition: all 0.2s; }
.viol-penaltyopt3.viol-penaltyopt3 { background: rgba(56, 189, 248, 0.08); border: 1px solid rgba(56, 189, 248, 0.3); padding: 10px 12px; transition: all 0.2s; }
.viol-penaltyopt14.viol-penaltyopt14 { background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.3); padding: 10px 12px; transition: all 0.2s; }
.viol-iptal-karari-onayla.viol-iptal-karari-onayla { box-sizing: border-box; background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.12); padding: 8px 10px; font-family: inherit; }
.viol-historymodal.viol-historymodal { position: fixed; inset: 0; background: rgba(0,0,0,0.75); backdrop-filter: blur(6px); z-index: 10000; padding: 20px; }
.viol-41avn294-ihlal-gecmisi.viol-41avn294-ihlal-gecmisi { background: #111827; border: 1px solid rgba(255,255,255,0.12); max-width: 520px; padding: 24px 26px; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.8); position: relative; }
.viol-41avn294-ihlal-gecmisi-2.viol-41avn294-ihlal-gecmisi-2 { margin: 0 0 4px 0; font-size: 17px; }
.viol-historymodallist.viol-historymodallist { max-height: 360px; overflow-y: auto; padding-right: 4px; }
.viol-kapat.viol-kapat { margin-top: 20px; }

/* ==== EKRAN: views/admin/bans.php (satır içi stillerden taşındı) ==== */
.bans-harika-sistemde-su.bans-harika-sistemde-su { padding: 40px; }
.bans-harika-sistemde-su-2.bans-harika-sistemde-su-2 { font-size: 40px; }
.bans-badge.bans-badge { background: rgba(245, 158, 11, 0.1); color: #f59e0b; border: 1px solid rgba(245, 158, 11, 0.2); }
.bans-cezayi-kaldir.bans-cezayi-kaldir { display: inline; }
.bans-cezayi-kaldir-div.bans-cezayi-kaldir-div { color: #10b981; border-color: rgba(16,185,129,0.3); background: rgba(16,185,129,0.1); }
.bans-resmi-ikaz-sari.bans-resmi-ikaz-sari { color: #facc15; }
.bans-bu-sakinlerin-randevu.bans-bu-sakinlerin-randevu { margin: 4px 0 0 0; }
.bans-kayitli-ikaz-su.bans-kayitli-ikaz-su { background: rgba(234, 179, 8, 0.15); color: #facc15; border: 1px solid rgba(234, 179, 8, 0.3); }
.bans-su-anda-aktif.bans-su-anda-aktif { padding: 24px; }
.bans-ikazli-engel-yok.bans-ikazli-engel-yok { color: #fef08a; }
.bans-ikazli-engel-yok-2.bans-ikazli-engel-yok-2 { background: rgba(234, 179, 8, 0.12); color: #facc15; border: 1px solid rgba(234, 179, 8, 0.3); }
.bans-ikazi-kaldir.bans-ikazi-kaldir { border-color: rgba(255,255,255,0.15); }

/* ==== EKRAN: views/admin/settings.php (satır içi stillerden taşındı) ==== */
.settings-randevu-motoru-zaman.settings-randevu-motoru-zaman { max-width: 800px; }
.settings-gelecege-donuk-acik.settings-gelecege-donuk-acik { grid-template-columns: 1fr 1fr; }
.settings-gece-serbest-modu.settings-gece-serbest-modu { margin-top: 14px; padding: 14px; background: rgba(255,255,255,0.02); }
.settings-gece-serbest-modu-2.settings-gece-serbest-modu-2 { width: 18px; height: 18px; accent-color: var(--primary); }
.settings-check-in-tolerans.settings-check-in-tolerans { margin-top: 14px; max-width: 280px; }
.settings-ayarlari-kaydet-uygula.settings-ayarlari-kaydet-uygula { padding: 12px 24px; }

/* ==== EKRAN: views/admin/inbox.php (satır içi stillerden taşındı) ==== */
.inbox-yeni-input.inbox-yeni-input { opacity: 0.8; }
.inbox-yeni-button-type.inbox-yeni-button-type { margin-left: 4px; }
.inbox-tumunu-okundu-yap.inbox-tumunu-okundu-yap { margin-left: auto; }
.inbox-bu-bolumde-henuz.inbox-bu-bolumde-henuz { padding: 40px 16px; }
.inbox-yeni.inbox-yeni { min-width: 0; }
.inbox-yeni-2.inbox-yeni-2 { margin-right: 6px; }
.inbox-class-btn-btn.inbox-class-btn-btn { margin: 12px 0 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.inbox-div.inbox-div { margin-top: 14px; }

/* ==== EKRAN: views/resident/index.php (satır içi stillerden taşındı) ==== */
.rhome-merhaba-yeni.rhome-merhaba-yeni { margin: 0 0 4px 0; letter-spacing: -0.02em; }
.rhome-yeni-randevu-al.rhome-yeni-randevu-al { box-shadow: 0 3px 10px rgba(16, 185, 129, 0.35); padding: 7px 14px; }
.rhome-randevu-kisitlamasi-ceza.rhome-randevu-kisitlamasi-ceza { background: rgba(239, 68, 68, 0.15); border-color: #ef4444; }
.rhome-hesabiniz-tarihine-kadar.rhome-hesabiniz-tarihine-kadar { margin: 4px 0 0 0; }
.rhome-resmi-ikaz-sari.rhome-resmi-ikaz-sari { background: rgba(234, 179, 8, 0.12); border: 1px solid #eab308; color: #fef08a; padding: 14px 16px; }
.rhome-resmi-ikaz-sari-2.rhome-resmi-ikaz-sari-2 { gap: 14px; }
.rhome-resmi-ikaz-sari-3.rhome-resmi-ikaz-sari-3 { flex: 1; min-width: 260px; }
.rhome-resmi-ikaz-sari-4.rhome-resmi-ikaz-sari-4 { line-height: 1; }
.rhome-resmi-ikaz-sari-5.rhome-resmi-ikaz-sari-5 { color: #facc15; margin-bottom: 2px; }
.rhome-randevu-engeliniz-yoktur.rhome-randevu-engeliniz-yoktur { margin: 0 0 6px 0; color: #fef9c3; }
.rhome-randevu-engeliniz-yoktur-2.rhome-randevu-engeliniz-yoktur-2 { color: #fde047; opacity: 0.95; }
.rhome-okudum-anladim-daire.rhome-okudum-anladim-daire { background: rgba(234, 179, 8, 0.2); border: 1px solid #eab308; color: #fef08a; padding: 6px 14px; }
.rhome-daire-havuz-kotasi.rhome-daire-havuz-kotasi { padding: 15px 16px; border-radius: 13px; }
.rhome-daire-havuz-kotasi-2.rhome-daire-havuz-kotasi-2 { padding: 2px 7px; }
.rhome-haftalik-sarj-kotaniz.rhome-haftalik-sarj-kotaniz { font-size: 17px; margin: 0 0 3px 0; }
.rhome-saat-kaldi-toplam.rhome-saat-kaldi-toplam { flex-shrink: 0; }
.rhome-saat-kaldi-toplam-2.rhome-saat-kaldi-toplam-2 { line-height: 1.1; }
.rhome-toplam-sa-kullanilan.rhome-toplam-sa-kullanilan { margin-top: 3px; }
.rhome-tuketildi-arasi-kotasiz.rhome-tuketildi-arasi-kotasiz { margin-top: 10px; height: 8px; }
.rhome-tuketildi-arasi-kotasiz-2.rhome-tuketildi-arasi-kotasiz-2 { margin-top: 7px; }
.rhome-kayitli-araclar-kayitli.rhome-kayitli-araclar-kayitli { background: rgba(255, 255, 255, 0.02); border: 1px solid var(--border-color); padding: 9px 12px; }
.rhome-hane.rhome-hane { opacity: 0.8; font-weight: normal; }
.rhome-hane-2.rhome-hane-2 { color: #c084fc; }
.rhome-dairemizin-yaklasan-randevulari.rhome-dairemizin-yaklasan-randevulari { margin-bottom: 10px; }
.rhome-tum-randevular.rhome-tum-randevular { background: rgba(16, 185, 129, 0.18); padding: 2px 7px; border-radius: 999px; }
.rhome-check-in-zorunlu.rhome-check-in-zorunlu { background: rgba(56, 189, 248, 0.08); border: 1px solid rgba(56, 189, 248, 0.3); padding: 10px 12px; margin-bottom: 10px; color: #bae6fd; }
.rhome-aktif-randevunuz-bulunmuyor.rhome-aktif-randevunuz-bulunmuyor { padding: 34px 16px; border-radius: 13px; }
.rhome-aktif-randevunuz-bulunmuyor-2.rhome-aktif-randevunuz-bulunmuyor-2 { font-size: 36px; }
.rhome-aktif-randevunuz-bulunmuyor-3.rhome-aktif-randevunuz-bulunmuyor-3 { margin-bottom: 3px; }
.rhome-sarj-istasyonunu-rezerve.rhome-sarj-istasyonunu-rezerve { margin: 0 0 12px 0; }
.rhome-istasyon-tarih-saat.rhome-istasyon-tarih-saat { border-radius: 13px; }
.rhome-siz.rhome-siz { opacity: 0.85; }
.rhome-siz-2.rhome-siz-2 { opacity: 0.8; font-weight: normal; margin-left: 2px; }

/* ==== EKRAN: views/resident/book.php (satır içi stillerden taşındı) ==== */
.book-yeni-sarj-randevusu.book-yeni-sarj-randevusu { gap: 14px; }
.book-yeni-sarj-randevusu-2.book-yeni-sarj-randevusu-2 { margin: 0 0 4px 0; letter-spacing: -0.02em; }
.book-kalan-kota-saat.book-kalan-kota-saat { background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.3); padding: 7px 14px; }
.book-arac-select-id.book-arac-select-id { background: rgba(56, 189, 248, 0.1); border: 1px solid rgba(56, 189, 248, 0.25); padding: 7px 14px; }
.book-arac.book-arac { opacity: 0.85; }
.book-vehicle-select.book-vehicle-select { width: auto; min-width: 170px; padding: 4px 10px; height: auto; }
.book-kayitli-araciniz-bulunmuyor.book-kayitli-araciniz-bulunmuyor { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.3); padding: 7px 14px; }
.book-resmi-ikaz-sari.book-resmi-ikaz-sari { background: rgba(234, 179, 8, 0.12); border: 1px solid #eab308; padding: 12px 16px; color: #fef08a; }
.book-resmi-ikaz-sari-2.book-resmi-ikaz-sari-2 { line-height: 1; }
.book-resmi-ikaz-sari-3.book-resmi-ikaz-sari-3 { flex: 1; }
.book-randevu-tarihi-gun.book-randevu-tarihi-gun { margin-bottom: 0; }
.book-uygun-tarih-listesi.book-uygun-tarih-listesi { padding: 14px; }
.book-farkli-bir-tarih.book-farkli-bir-tarih { margin-top: 10px; }
.book-farkli-bir-tarih-2.book-farkli-bir-tarih-2 { gap: 5px; }
.book-custom-date-picker.book-custom-date-picker { width: auto; padding: 4px 10px; height: auto; }
.book-bos-secili-sizin.book-bos-secili-sizin { width: 10px; height: 10px; background: rgba(255,255,255,0.1); border-radius: 2px; }
.book-secili-sizin-daireniz.book-secili-sizin-daireniz { width: 10px; height: 10px; background: var(--primary); border-radius: 2px; }
.book-sizin-daireniz-tampon.book-sizin-daireniz-tampon { width: 10px; height: 10px; background: #0284c7; border-radius: 2px; }
.book-daireniz-tampon-dolu.book-daireniz-tampon-dolu { width: 10px; height: 10px; background: #8b5cf6; border-radius: 2px; }
.book-tampon-dolu.book-tampon-dolu { width: 10px; height: 10px; background: rgba(245,158,11,0.4); border-radius: 2px; }
.book-dolu-musait-slotlar.book-dolu-musait-slotlar { width: 10px; height: 10px; background: rgba(255,255,255,0.03); border-radius: 2px; opacity: 0.35; }
.book-slot-loading.book-slot-loading { padding: 24px; }
.book-selected-slot-summary.book-selected-slot-summary { margin-top: 18px; padding: 14px; background: rgba(255,255,255,0.02); border: 1px dashed var(--border-color); }
.book-randevuyu-onayla-takvime.book-randevuyu-onayla-takvime { margin-top: 18px; }
.book-submit-booking-btn.book-submit-booking-btn { padding: 14px 24px; box-shadow: 0 4px 16px rgba(16, 185, 129, 0.35); }
.book-randevu-detaylari-div.book-randevu-detaylari-div { max-width: 480px; }
.book-istasyon.book-istasyon { padding: 10px 0; }
.book-istasyon-tarih-saat.book-istasyon-tarih-saat { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--border-color); padding: 16px; }
.book-istasyon-tarih-saat-2.book-istasyon-tarih-saat-2 { border-bottom: 1px solid rgba(255,255,255,0.06); padding-bottom: 8px; }

/* ==== EKRAN: views/resident/my_appointments.php (satır içi stillerden taşındı) ==== */
.myappts-randevularim-dairenize-ait.myappts-randevularim-dairenize-ait { margin: 0 0 4px 0; letter-spacing: -0.02em; }
.myappts-yeni-randevu-cikis.myappts-yeni-randevu-cikis { box-shadow: 0 3px 10px rgba(16, 185, 129, 0.35); padding: 7px 14px; }
.myappts-cikis-yap.myappts-cikis-yap { gap: 5px; border-color: rgba(239, 68, 68, 0.35); background: rgba(239, 68, 68, 0.08); padding: 7px 12px; }
.myappts-hanedeki-sakinler-ortak.myappts-hanedeki-sakinler-ortak { background: rgba(56, 189, 248, 0.06); border: 1px solid rgba(56, 189, 248, 0.2); padding: 8px 12px; }
.myappts-ortak-liste-button.myappts-ortak-liste-button { margin-left: 4px; }
.myappts-gunden-eski-kayitlari.myappts-gunden-eski-kayitlari { margin-left: auto; border-color: rgba(239, 68, 68, 0.2); background: rgba(239, 68, 68, 0.05); padding: 6px 12px; flex-shrink: 0; }
.myappts-henuz-kayitli-randevunuz.myappts-henuz-kayitli-randevunuz { padding: 50px 20px; }
.myappts-henuz-kayitli-randevunuz-2.myappts-henuz-kayitli-randevunuz-2 { font-size: 48px; }
.myappts-henuz-kayitli-randevunuz-3.myappts-henuz-kayitli-randevunuz-3 { margin: 0 0 6px 0; }
.myappts-aracinizi-sarj-etmek.myappts-aracinizi-sarj-etmek { margin: 0 0 18px 0; }
.myappts-siz.myappts-siz { opacity: 0.85; }
.myappts-badge.myappts-badge { padding: 2px 7px; }
.myappts-siz-2.myappts-siz-2 { opacity: 0.8; font-weight: normal; margin-left: 2px; }
.myappts-no-filter-results.myappts-no-filter-results { padding: 40px 20px; background: var(--bg-card); margin-top: 10px; border: 1px dashed var(--border-color); }
.myappts-bu-filtreye-uygun.myappts-bu-filtreye-uygun { font-size: 32px; }

/* ==== EKRAN: views/resident/report_violation.php (satır içi stillerden taşındı) ==== */
.report-fotografli-ihlal-bildirimi.report-fotografli-ihlal-bildirimi { margin-bottom: 18px; }
.report-fotografli-ihlal-bildirimi-2.report-fotografli-ihlal-bildirimi-2 { margin: 0 0 4px 0; letter-spacing: -0.02em; }
.report-onemli-uyari-kasitli.report-onemli-uyari-kasitli { background: rgba(239, 68, 68, 0.1); border-left: 4px solid #ef4444; color: #fca5a5; padding: 12px 16px; max-width: 640px; }
.report-ihlal-edilen-istasyon.report-ihlal-edilen-istasyon { max-width: 640px; }
.report-photo-preview-box.report-photo-preview-box { margin: 16px 0; }
.report-submit-btn.report-submit-btn { padding: 12px; }

/* ==== EKRAN: views/resident/success.php (satır içi stillerden taşındı) ==== */
.success-sarj-randevunuz-onaylandi.success-sarj-randevunuz-onaylandi { min-height: 80vh; }
.success-sarj-randevunuz-onaylandi-2.success-sarj-randevunuz-onaylandi-2 { max-width: 520px; padding: 36px 28px; }
.success-sarj-randevunuz-onaylandi-3.success-sarj-randevunuz-onaylandi-3 { width: 72px; height: 72px; background: var(--primary-light); border-radius: 50%; font-size: 36px; margin: 0 auto 20px auto; border: 1px solid rgba(16,185,129,0.3); }
.success-sarj-randevunuz-onaylandi-4.success-sarj-randevunuz-onaylandi-4 { margin: 0 0 4px 0; letter-spacing: -0.02em; }
.success-istasyon-tarih-div.success-istasyon-tarih-div { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--border-color); padding: 18px; margin: 24px 0; }
.success-telefon-takvimine-ekle.success-telefon-takvimine-ekle { padding: 14px; }

/* ==== EKRAN: views/resident/checkin.php (satır içi stillerden taşındı) ==== */
.checkin-istasyon-check-in.checkin-istasyon-check-in { min-height: 70vh; padding-top: 24px; }
.checkin-istasyon-check-in-2.checkin-istasyon-check-in-2 { max-width: 480px; padding: 30px 24px; }
.checkin-istasyon-check-in-3.checkin-istasyon-check-in-3 { letter-spacing: 0.5px; }
.checkin-div-style-background.checkin-div-style-background { margin: 6px 0 18px 0; }
.checkin-randevu-saati-arac.checkin-randevu-saati-arac { background: rgba(255,255,255,0.03); border: 1px solid var(--border-color); padding: 16px; margin: 16px 0; }
.checkin-check-in-yapildi.checkin-check-in-yapildi { font-size: 44px; margin: 8px 0; }
.checkin-sarja-basliyorum-check.checkin-sarja-basliyorum-check { padding: 16px; }
.checkin-check-in-henuz.checkin-check-in-henuz { font-size: 40px; margin: 8px 0; }

/* ==== EKRAN: views/resident/partials/appointment_actions.php (satır içi stillerden taşındı) ==== */

/* ==== EKRAN: views/layout/sidebar_admin.php (satır içi stillerden taşındı) ==== */
.sba-evrandevu-logo.sba-evrandevu-logo { height: 38px; object-fit: contain; }
.sba-href-class-btn.sba-href-class-btn { line-height: 1.2; }
.sba-div.sba-div { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.sba-cikis-href-class.sba-cikis-href-class { color: var(--secondary); }
.sba-cikis-ozet-siteler.sba-cikis-ozet-siteler { border-color: rgba(239,68,68,0.35); background: rgba(239,68,68,0.1); padding: 6px 12px; }
.sba-genel-bakis-spa.sba-genel-bakis-spa { margin-left: auto; }
.sba-randevu-takvimi-ihlal.sba-randevu-takvimi-ihlal { margin-left: auto; padding: 2px 7px; background: #f59e0b; color: #000; box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4); }
.sba-user-session-card.sba-user-session-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); padding: 12px; margin-top: auto; }
.sba-div-2.sba-div-2 { width: 36px; height: 36px; background: linear-gradient(135deg, var(--primary), #38bdf8); font-weight: bold; flex-shrink: 0; box-shadow: 0 2px 8px rgba(56, 189, 248, 0.25); }
.sba-div-style-height.sba-div-style-height { flex-grow: 1; overflow: hidden; }
.sba-div-style-display.sba-div-style-display { overflow: hidden; text-overflow: ellipsis; }
.sba-path-stroke-linecap.sba-path-stroke-linecap { height: 1px; background: rgba(255,255,255,0.05); margin: 0 2px; }
.sba-div-3.sba-div-3 { overflow: hidden; padding-right: 8px; }
.sba-div-style-display-2.sba-div-style-display-2 { width: 14px; height: 14px; flex-shrink: 0; }
.sba-path-stroke-li.sba-path-stroke-li { flex-shrink: 0; }
.sba-href-title-cikis.sba-href-title-cikis { width: 26px; height: 26px; background: rgba(255,255,255,0.08); transition: background 0.2s; }
.sba-href-title-cikis-2.sba-href-title-cikis-2 { width: 14px; height: 14px; }
.sba-a.sba-a { width: 26px; height: 26px; background: rgba(239, 68, 68, 0.15); transition: background 0.2s; }
.sba-href-title-cikis.sba-href-title-cikis:hover { background: rgba(255,255,255,0.15); }
.sba-a.sba-a:hover { background: rgba(239, 68, 68, 0.25); }

/* ==== EKRAN: views/layout/sidebar_resident.php (satır içi stillerden taşındı) ==== */
.sbr-evrandevu-logo.sbr-evrandevu-logo { height: 38px; object-fit: contain; }
.sbr-button-type-button.sbr-button-type-button { line-height: 1.2; }
.sbr-butt.sbr-butt { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.sbr-href-class-btn.sbr-href-class-btn { background: none; border: none; padding: 0; max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.sbr-cikis-site-secin.sbr-cikis-site-secin { border-color: rgba(239,68,68,0.35); background: rgba(239,68,68,0.1); padding: 6px 12px; }
.sbr-mobilesiteswitch.sbr-mobilesiteswitch { padding: 10px 12px; border-bottom: 1px solid var(--border-color); background: rgba(0,0,0,0.25); }
.sbr-aktif-input-type.sbr-aktif-input-type { padding: 8px 10px; border: 1px solid rgba(16,185,129,0.45); background: rgba(16,185,129,0.12); }
.sbr-aktif-button-type.sbr-aktif-button-type { margin-left: 6px; }
.sbr-href-class-pill.sbr-href-class-pill { padding: 8px 10px; border: 1px solid var(--border-color); background: rgba(255,255,255,0.04); color: inherit; }
.sbr-div-style-font.sbr-div-style-font { padding-top: 16px; border-top: 1px solid var(--border-color); margin-top: auto; }
.sbr-div.sbr-div { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #10b981, #0284c7); flex-shrink: 0; }
.sbr-div-2.sbr-div-2 { overflow: hidden; min-width: 0; }
.sbr-button-type-button-2.sbr-button-type-button-2 { overflow: hidden; text-overflow: ellipsis; }
.sbr-div-3.sbr-div-3 { position: relative; }
.sbr-site-degistir.sbr-site-degistir { flex-shrink: 0; }
.sbr-desktopsiteswitch.sbr-desktopsiteswitch { padding: 6px; border: 1px solid var(--border-color); background: rgba(15,23,42,0.95); box-shadow: 0 8px 24px rgba(0,0,0,0.35); }
.sbr-site-degistir-2.sbr-site-degistir-2 { padding: 4px 6px 8px; letter-spacing: 0.4px; }
.sbr-aktif-input-type-2.sbr-aktif-input-type-2 { padding: 8px 8px; background: rgba(16,185,129,0.14); border: 1px solid rgba(16,185,129,0.35); }
.sbr-div-style-font-2.sbr-div-style-font-2 { padding: 8px; border: 1px solid transparent; background: transparent; color: inherit; }
.sbr-guvenli-cikis-yap.sbr-guvenli-cikis-yap { border-color: rgba(239, 68, 68, 0.35); background: rgba(239, 68, 68, 0.08); }

/* ==============================================================================
   Sakin "Hesabım" sayfası
   ============================================================================== */
.mt-0.mt-0 { margin-top: 0; }
.text-warning.text-warning { color: var(--warning); }
.account-row {
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-color);
}
.account-input.account-input { flex: 1 1 180px; min-width: 0; font-size: 13px; }
.account-danger { border-color: rgba(239, 68, 68, 0.35); }
/* Kişisel Bilgilerim: e-posta tam satır; mobilde tüm alanlar tek sütun */
.account-email-group { grid-column: 1 / -1; }
@media (max-width: 600px) {
    .account-profile-grid.account-profile-grid { grid-template-columns: 1fr; }
}
