/* =============================================================
   THEME · EMERALD PREMIUM  (2026)
   Bu dosya en son yüklenir ve tüm renk/yüzey sistemini
   canlı zümrüt (emerald) + gradient premium bir dile taşır.
   Mantığa/HTML'e dokunmaz; sadece görsel katmandır.
   Geri almak için sadece <link theme-emerald.css> satırını sil.
   ============================================================= */

/* ---------- 1. RENK TOKENLARI (iki sistem birden) ---------- */
:root {
  /* style.css sistemi */
  --bg: #eef8f2;
  --panel: #ffffff;
  --soft: #edf7f1;
  --line: #e3efe8;
  --text: #0f2a20;
  --muted: #5f7568;
  --green: #059669;      /* ana emerald (metin/aksan) */
  --green2: #d6f5e6;     /* açık emerald tint (rozet/avatar zemini) */
  --gold: #f59e0b;       /* sıcak aksan (çeşitlilik) */
  --danger: #ef4444;
  --shadow: 0 18px 44px rgba(6, 78, 59, .08);

  /* design-system.css sistemi */
  --surface: #ffffff;
  --surface-subtle: #f2fbf6;
  --surface-muted: #e7f6ef;
  --border-subtle: #e3efe8;
  --ink: #0f2a20;
  --ink-muted: #5f7568;
  --brand: #059669;
  --tennis: #34d399;     /* parlak emerald aksan */
  --danger-soft: #fff1ef;

  /* tema özel değişkenleri */
  --em: #059669;
  --em-500: #10b981;
  --em-600: #059669;
  --em-700: #047857;
  --em-800: #065f46;
  --em-glow: rgba(5, 150, 105, .28);
  --side-grad: linear-gradient(178deg, #0c7a58 0%, #075e45 52%, #05473697 100%), #064e3b;
  --primary-grad: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --radius-card: 20px;
}

.dark, .app.dark {
  --bg: #06120e;
  --panel: #10241d;
  --soft: #17302754;
  --line: #274539;
  --text: #eafaf2;
  --muted: #a7bcb1;
  --green: #34d399;
  --green2: #123a2c;
  --gold: #fbbf24;
  --shadow: 0 18px 44px rgba(0, 0, 0, .35);

  --surface: #10241d;
  --surface-subtle: #16302650;
  --surface-muted: #1c3a2f;
  --border-subtle: #274539;
  --ink: #eafaf2;
  --ink-muted: #a7bcb1;
  --brand: #34d399;
  --tennis: #34d399;
  --side-grad: linear-gradient(178deg, #0a3227 0%, #072319 100%), #05160f;
}

/* ---------- 2. GENEL ZEMİN ---------- */
.app { background: var(--bg) !important; }
.dark .app, .dark.app { background: #06120e !important; }
body, .app { color: var(--text); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.content { max-width: 1680px; }

/* ---------- 3. SIDEBAR (gradient emerald) ---------- */
.sidebar {
  background: var(--side-grad) !important;
  border-right: 1px solid rgba(255, 255, 255, .07) !important;
  box-shadow: 14px 0 45px rgba(4, 40, 28, .10) !important;
}
.brand b { color: #ffffff !important; letter-spacing: .6px; }
.brand small { color: #b6e4d0 !important; }
.logo {
  background: #ffffff !important;
  color: #059669 !important;
  border-radius: 13px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .18) !important;
  font-size: 18px;
}
nav button { color: #cdeadd !important; font-weight: 600 !important; border-radius: 12px !important; }
nav button > span { color: #a7f3d0; }
nav button:hover { background: rgba(255, 255, 255, .10) !important; color: #ffffff !important; }
nav button:hover > span { color: #ffffff; }
nav button.active {
  background: rgba(255, 255, 255, .16) !important;
  color: #ffffff !important;
  box-shadow: inset 3px 0 0 #6ee7b7, 0 6px 18px rgba(0, 0, 0, .12) !important;
}
nav button.active > span { color: #6ee7b7; }
.sidebar-bottom { border-color: rgba(255, 255, 255, .12) !important; }
.search-shortcut {
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: #cdeadd !important;
  border-radius: 11px !important;
}
.search-shortcut kbd { background: rgba(255, 255, 255, .10); border-color: rgba(255, 255, 255, .14); color: #eafaf2; }
.sidebar-bottom > small { color: #9fc8b8 !important; }
.sidebar-bottom > small i { background: #6ee7b7 !important; }
.sidebar-logout { border-color: rgba(255, 255, 255, .12) !important; color: #ffd9d4 !important; border-radius: 11px !important; }
.sidebar-logout:hover { background: rgba(239, 68, 68, .16) !important; color: #ffe4e0 !important; }

/* ---------- 4. TOPBAR ---------- */
.topbar {
  background: color-mix(in srgb, var(--panel) 88%, transparent) !important;
  backdrop-filter: blur(16px);
  border-color: var(--line) !important;
}
.topbar button { border-radius: 11px !important; }
.user {
  background: var(--primary-grad) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px var(--em-glow);
  border: 0 !important;
}

/* ---------- 5. BAŞLIKLAR ---------- */
.page-header h1 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  color: var(--text);
}

/* ---------- 6. BUTONLAR (gradient primary) ---------- */
.primary, .login-submit, .reservation-submit {
  background: var(--primary-grad) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px var(--em-glow) !important;
  font-weight: 700 !important;
}
.primary:hover, .login-submit:hover, .reservation-submit:hover {
  background: linear-gradient(135deg, #34d399 0%, #059669 100%) !important;
  box-shadow: 0 14px 30px rgba(5, 150, 105, .34) !important;
  transform: translateY(-1px);
}
.reservation-submit span { color: #d1fae5 !important; }
.secondary {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  color: var(--text) !important;
  font-weight: 650 !important;
}
.secondary:hover { border-color: var(--em-500) !important; color: var(--em-600) !important; background: var(--surface-subtle) !important; }
.danger-button { background: var(--danger) !important; border: 0 !important; border-radius: 12px !important; color: #fff !important; }
.quiet-button, .text-button { color: var(--em-600) !important; }
.icon-action, .topbar button { color: var(--muted); }
.icon-action:hover { background: var(--surface-muted) !important; color: var(--em-600); }

/* ---------- 7. KARTLAR / PANELLER (premium yuvarlak + gölge) ---------- */
.panel, .premium-card, .metric-grid, .finance-summary article, .coach-card, .settings-card {
  border-radius: var(--radius-card) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 12px 34px rgba(6, 78, 59, .06) !important;
  background: var(--panel);
}
.metric-grid { overflow: hidden; }
.metric-grid article { box-shadow: none !important; border-radius: 0 !important; }
.clickable-card:hover, .premium-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(6, 78, 59, .12) !important;
  border-color: color-mix(in srgb, var(--em-500) 40%, var(--line)) !important;
}

/* ikon rozet / avatar zeminleri → emerald gradient tint */
.metric-grid article > span,
.avatar, .coach-avatar, .mini-avatar,
.empty > span, .student-name-button .avatar,
.payout-person > span, .profile-member > span,
.select-trigger .option-avatar, .select-option .option-avatar,
.date-trigger > span, .reservation-summary-title > span {
  background: linear-gradient(135deg, #d1fae5, #a7f3d0) !important;
  color: var(--em-700) !important;
  border: 0 !important;
}
.profile-avatar, .coach-top .coach-avatar, .profile-identity .coach-avatar {
  background: linear-gradient(135deg, #34d399, #059669) !important;
  color: #ffffff !important;
}

/* ---------- 8. ROZETLER (canlı, renkli) ---------- */
.badge, .group-badge, .finance-linked, .type-badge {
  background: #d1fae5 !important;
  color: var(--em-700) !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
}
.status-badge.done, .lesson-status.done, .agreement-title > span, .agenda-lesson i.done {
  background: #d1fae5 !important;
  color: var(--em-700) !important;
}
.type-badge.rental { background: #fef3c7 !important; color: #b45309 !important; }
.status-badge { background: var(--soft) !important; color: var(--muted) !important; border-radius: 999px !important; }

/* ---------- 9. TABLOLAR ---------- */
th { background: var(--surface-subtle) !important; color: var(--muted) !important; }
.people-table th { background: var(--surface-subtle) !important; }
td { border-top-color: var(--line) !important; }
.people-table tbody tr:hover, .clickable-row:hover, tbody tr:hover {
  background: var(--surface-subtle) !important;
}
.inline-progress > i em, .group-capacity > div > i, .agreement-progress-bar span {
  background: linear-gradient(90deg, #34d399, #059669) !important;
}

/* ---------- 10. TAKVİM ---------- */
.calendar { border-radius: var(--radius-card) !important; box-shadow: 0 16px 42px rgba(6, 78, 59, .07) !important; }
.calendar-grid > div.today > span,
.calendar-grid > div.today .calendar-day-button,
.timeline-day-heading.today b,
.mini-days button.selected,
.date-days button.selected,
.reservation-modal .date-days button.selected {
  background: var(--primary-grad) !important;
  color: #ffffff !important;
}
.lesson-type-picker input:checked + span,
.reservation-type-picker input:checked + span,
.segmented-input input:checked + span {
  background: var(--primary-grad) !important;
  color: #ffffff !important;
  border-color: transparent !important;
}
.reservation-type-picker input:checked + span i { color: #d1fae5 !important; }
.calendar-add-button:hover { background: var(--em-600) !important; box-shadow: 0 7px 16px var(--em-glow) !important; }
.calendar-event i, .calendar-event b { color: var(--em-600) !important; }
.calendar-grid > div > section > button.calendar-event {
  border-left-color: var(--em-500) !important;
  background: color-mix(in srgb, #d1fae5 46%, var(--panel)) !important;
}
.agreement-tabs button.active { background: var(--primary-grad) !important; border-color: transparent !important; color: #fff !important; }
.agreement-tabs button.active i { background: var(--em-600) !important; border-color: var(--em-600) !important; }

/* ---------- 11. DARK YÜZEY (finans/rezervasyon koyu bloklar) ---------- */
.finance-net, .coach-payout, .coach-fee-note {
  background: linear-gradient(135deg, #065f46, #043c30) !important;
}
.reservation-head-icon,
.reservation-type-picker input:checked + span,
.reservation-submit,
.edit-section-title > span,
.premium-time > span {
  /* premium-time span & section span küçük ikon zeminleri */
}
.premium-time > span, .edit-section-title > span, .rental-callout > span, .reservation-head-icon {
  background: var(--primary-grad) !important;
  color: #ffffff !important;
}

/* ---------- 12. FORM / INPUT ODAK ---------- */
.modal input:focus, .modal select:focus, .modal textarea:focus,
.content input:focus, .content select:focus,
.login-card input:focus, .login-card input:focus-visible {
  border-color: var(--em-500) !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, .16) !important;
}
.select-trigger:hover, .date-trigger:hover,
.custom-select.open .select-trigger, .custom-date.open .date-trigger {
  border-color: var(--em-500) !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, .10) !important;
}
.member-option input, .attendance-option input { accent-color: var(--em-600); }

/* ---------- 13. MODAL ---------- */
.modal { border-radius: 22px !important; border-color: color-mix(in srgb, var(--em-500) 15%, var(--line)) !important; }
.modal-head h2 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 750 !important;
}

/* ---------- 14. TOAST / BİLDİRİM ---------- */
.toast b { color: #6ee7b7 !important; }
.notification-button > i { background: #ef4444 !important; }
.lesson-alert-pop { background: linear-gradient(135deg, #065f46, #043c30) !important; border-color: rgba(110, 231, 183, .3) !important; }
.lesson-alert-pop > span { background: rgba(110, 231, 183, .18) !important; }
.lesson-alert-pop div > button, .lesson-alert-pop small { color: #a7f3d0 !important; }

/* ---------- 15. LOGIN SAYFASI ---------- */
.login-page {
  background:
    radial-gradient(1100px 600px at 12% -8%, #10b98155 0%, transparent 60%),
    radial-gradient(900px 620px at 108% 112%, #34d39944 0%, transparent 55%),
    linear-gradient(160deg, #064e3b 0%, #053d2f 55%, #06251d 100%) !important;
}
.login-card {
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  box-shadow: 0 40px 90px rgba(2, 20, 14, .45) !important;
  background: var(--panel) !important;
}
.login-brand .logo { background: var(--primary-grad) !important; color: #fff !important; }
.login-heading > span { color: var(--em-600) !important; letter-spacing: 1.4px; }
.login-foot i { background: var(--em-500) !important; }

/* ---------- 16. YÜKLENME EKRANI ---------- */
body.auth-pending { background: #064e3b !important; }
.app-loading > span { background: var(--primary-grad) !important; color: #fff !important; }
.loading-page { background: #06251d !important; color: #6ee7b7 !important; }

/* =============================================================
   COMPONENT REDESIGN (v2) — profesyonel yerleşim & hiyerarşi
   Formlar, profil modalları, takvim: amatör hissi giderir.
   ============================================================= */

/* ---------- A. FORM ALANLARI (beyaz, premium) ---------- */
.modal input, .modal select, .modal textarea,
.content input, .content select, .content textarea,
.select-trigger, .date-trigger {
  background: #ffffff !important;
  border: 1px solid #dfeae4 !important;
  border-radius: 12px !important;
  color: var(--text) !important;
}
.dark .modal input, .dark .modal select, .dark .modal textarea,
.dark .content input, .dark .content select, .dark .content textarea,
.dark .select-trigger, .dark .date-trigger {
  background: #142a22 !important;
  border-color: #274539 !important;
}
.modal input, .modal select, .modal textarea {
  min-height: 48px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  box-shadow: 0 1px 2px rgba(6, 78, 59, .04) !important;
}
.modal input::placeholder, .content input::placeholder, .modal textarea::placeholder {
  color: #9fb2a8 !important;
}
.modal label, .field-label {
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--text) !important;
  letter-spacing: .1px;
}
.modal label { margin-bottom: 16px !important; }
.modal label em { color: var(--muted) !important; font-weight: 500 !important; }
.form-grid { gap: 14px !important; }

/* Bölüm başlıkları — numaralı, net */
.edit-section-title {
  margin: 4px 0 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--line) !important;
}
.edit-section-title.agreement { margin-top: 26px !important; }
.edit-section-title > span {
  width: 34px !important; height: 34px !important;
  border-radius: 10px !important;
  font-size: 11px !important; font-weight: 800 !important;
  box-shadow: 0 6px 14px var(--em-glow) !important;
}
.edit-section-title b { font-size: 13px !important; }
.edit-section-title small { font-size: 11px !important; margin-top: 4px !important; }

/* Veli & anlaşma blokları — nötr beyaz kart (yeşil bombardımanı yok) */
.guardian-block, .agreement-edit-fields {
  padding: 16px !important;
  border: 1px solid #e4efe9 !important;
  border-radius: 14px !important;
  background: #f7fbf9 !important;
}
.dark .guardian-block, .dark .agreement-edit-fields {
  background: #122a22 !important; border-color: #274539 !important;
}
.guardian-block > b { color: var(--em-700) !important; font-size: 12px !important; }
.agreement-edit-fields label { color: var(--text) !important; }
.agreement-callout {
  border-radius: 14px !important;
  background: #ecfaf3 !important;
  border: 1px solid #cfeede !important;
}

/* Segmented (Yetişkin/Çocuk vb.) — temiz toggle */
.segmented-input span, .lesson-type-picker span {
  border: 1px solid #dfeae4 !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  color: var(--muted) !important;
  font-weight: 650 !important;
}
.dark .segmented-input span, .dark .lesson-type-picker span {
  background: #142a22 !important; border-color: #274539 !important;
}

/* Select / tarih tetikleyicileri */
.select-trigger, .date-trigger { min-height: 52px !important; box-shadow: 0 1px 2px rgba(6,78,59,.04) !important; }
.select-trigger b, .date-trigger b { font-size: 13px !important; }
.select-popover, .date-popover { border-radius: 14px !important; box-shadow: 0 20px 50px rgba(4,27,18,.20) !important; }

/* check-row */
.check-row { border-radius: 12px !important; border: 1px solid #e4efe9 !important; background: #f7fbf9 !important; }
.dark .check-row { background: #122a22 !important; border-color: #274539 !important; }

/* Modal başlık — daha güçlü */
.modal-head { padding: 24px 26px 18px !important; }
.modal-head h2 { font-size: 22px !important; font-weight: 750 !important; letter-spacing: -.4px; }
.modal-head p { font-size: 13px !important; color: var(--muted) !important; }
.modal-head > button { border-radius: 11px !important; }
.form-actions, .sticky-actions { padding-top: 18px !important; }
.premium-form { padding: 20px 26px 0 !important; }

/* ---------- B. PROFİL MODALLARI ---------- */
.profile-record {
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 36px rgba(6,78,59,.06) !important;
  overflow: hidden !important;
}
.profile-identity {
  grid-template-columns: 60px 1fr auto !important;
  gap: 16px !important;
  padding: 24px 26px !important;
  background: linear-gradient(120deg, #ecfaf3, #f4fbf8) !important;
  border-bottom: 1px solid var(--line) !important;
}
.dark .profile-identity { background: linear-gradient(120deg, #12332786, #0e241d) !important; }
.profile-avatar, .profile-identity .coach-avatar {
  width: 58px !important; height: 58px !important;
  border-radius: 16px !important;
  font-size: 16px !important; font-weight: 800 !important;
  box-shadow: 0 8px 18px var(--em-glow) !important;
}
.profile-identity h3 { font-size: 21px !important; font-weight: 750 !important; letter-spacing: -.4px; }
.profile-identity p { font-size: 13px !important; color: var(--muted) !important; margin-top: 5px !important; }

/* Metadata — temiz kolonlar, minik büyük harf etiket */
.profile-metadata { padding: 20px 26px 22px !important; gap: 0 !important; }
.profile-metadata > div { padding: 4px 20px 4px 0 !important; }
.profile-metadata dt { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .5px; text-transform: uppercase; color: var(--muted) !important; }
.profile-metadata dd { font-size: 14px !important; font-weight: 650 !important; margin-top: 8px !important; }

/* Anlaşma sekmeleri — yatay temiz çipler */
.agreement-tabs { gap: 8px !important; padding: 16px 0 20px !important; }
.agreement-tabs::before { display: none !important; }
.agreement-tabs button {
  display: inline-flex !important;
  width: auto !important; height: 40px !important; min-height: 40px !important;
  min-width: 0 !important; justify-items: initial !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border: 1px solid #dfeae4 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
}
.dark .agreement-tabs button { background: #142a22 !important; border-color: #274539 !important; }
.agreement-tabs button i {
  width: 22px !important; height: 22px !important;
  border: 0 !important; border-radius: 50% !important;
  background: #e7f6ef !important; color: var(--em-700) !important;
  font-size: 11px !important; font-weight: 800 !important;
}
.agreement-tabs button span { font-size: 12px !important; font-weight: 650 !important; }
.agreement-tabs button.active { background: var(--primary-grad) !important; border-color: transparent !important; box-shadow: 0 8px 18px var(--em-glow) !important; }
.agreement-tabs button.active, .agreement-tabs button.active span { color: #ffffff !important; }
.agreement-tabs button.active i { background: rgba(255,255,255,.24) !important; color: #ffffff !important; }

/* Yeni anlaşma çağrısı */
.new-agreement { border-radius: 14px !important; border: 1px dashed #8fd3b1 !important; background: #f2fbf6 !important; }
.dark .new-agreement { background: #112a21 !important; border-color: #2f6b4f !important; }

/* Profil program satırları (antrenör) */
.profile-schedule-row, .next-profile-lesson > button { border-radius: 12px !important; }
.profile-schedule-row:hover { background: var(--surface-subtle) !important; }
.profile-section { padding: 20px 26px !important; }
.section-heading b { font-size: 14px !important; font-weight: 700 !important; }

/* Üye listesi (grup profili) */
.profile-members { gap: 10px !important; }
.profile-member { padding: 12px !important; border-radius: 12px !important; border: 1px solid var(--line) !important; background: #fbfefd !important; }
.dark .profile-member { background: #112a21 !important; }
.profile-actions { padding: 18px 26px !important; }

/* ---------- C. TAKVİM CİLASI ---------- */
.court-timeline-card { border-radius: 18px !important; box-shadow: 0 14px 38px rgba(6,78,59,.07) !important; }
.court-timeline-card > header { padding: 16px 20px !important; }
.court-mark { border-radius: 11px !important; background: linear-gradient(135deg,#d1fae5,#a7f3d0) !important; color: var(--em-700) !important; font-weight: 800 !important; }
.court-timeline-card > header h2 { font-size: 17px !important; font-weight: 750 !important; }
.timeline-time-axis time { font-size: 10px !important; color: #9fb2a8 !important; }
.timeline-day-heading.today b { box-shadow: 0 6px 14px var(--em-glow) !important; }
.timeline-event { border-radius: 12px !important; }
.timeline-event.individual { border-color: #b6e6cf !important; background: #eafaf2 !important; }
.timeline-event.individual > span i { color: var(--em-700) !important; }
.timeline-event.group { border-color: #bcd6ee !important; background: #eef5fc !important; }
.timeline-event.rental { border-color: #ecd6a6 !important; background: #fff6e6 !important; }
.calendar-sidebar { border-radius: 18px !important; box-shadow: 0 14px 38px rgba(6,78,59,.06) !important; }
.calendar-date-navigation, .calendar-view-picker { border-radius: 12px !important; }
.calendar-view-picker button.active { background: #ffffff !important; color: var(--em-700) !important; box-shadow: 0 2px 8px rgba(6,78,59,.10) !important; }
.mini-days button.selected { box-shadow: 0 6px 14px var(--em-glow) !important; }
.calendar-filter.active i { background: #e7f6ef !important; border-color: #8fd3b1 !important; color: var(--em-700) !important; }
.today-agenda time { color: var(--em-600) !important; }

/* ---------- D. GRUP / ANTRENÖR LİSTE KARTLARI ---------- */
.coach-card-actions { padding-top: 4px !important; }
.group-card .coach-card-actions { border-top: 1px solid var(--line) !important; padding-top: 16px !important; }
.group-capacity > div > i { background: linear-gradient(90deg,#34d399,#059669) !important; }
.status-dot.active::before { background: #10b981 !important; box-shadow: 0 0 0 4px rgba(16,185,129,.14) !important; }

/* =============================================================
   STRUCTURAL REDESIGN (v3) — üst nav · bento · kart · çekmece
   Yeni düzen: sol koyu sidebar YOK, navigasyon üstte.
   ============================================================= */
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---- ÜST NAVİGASYON (eski sidebar'ı üst bara çevirir) ---- */
/* .app flex-row idi → dikey blok yap ki üst bar + içerik alt alta olsun */
.app{display:block !important;min-height:100vh}
.sidebar.topnav{
  position:sticky !important; top:0 !important; left:0 !important; right:0 !important;
  width:100% !important; height:72px !important;
  flex-direction:row !important; align-items:center !important; gap:22px !important;
  padding:0 clamp(20px,3vw,40px) !important;
  background:rgba(240,244,242,.85) !important;
  backdrop-filter:blur(18px) !important;
  border:0 !important; border-bottom:1px solid var(--line) !important;
  box-shadow:0 1px 0 rgba(6,78,59,.02) !important; z-index:40 !important;
}
.dark .sidebar.topnav{background:rgba(9,20,15,.9) !important;border-bottom-color:#213b31 !important}
.topnav .brand{margin:0 !important;padding:0 !important;flex:0 0 auto}
.topnav .brand b{color:var(--ink) !important;font-size:14px !important}
.topnav .brand small{color:var(--muted) !important}
.topnav .logo{background:var(--primary-grad) !important;color:#fff !important;box-shadow:0 8px 18px var(--em-glow) !important}
.topnav nav{flex:0 0 auto !important;flex-direction:row !important;display:flex !important;gap:4px !important;margin:0 !important;width:auto !important}
.topnav nav button{
  width:auto !important;flex:0 0 auto !important;
  min-height:40px !important;height:40px !important;margin:0 !important;padding:0 16px !important;
  border-radius:999px !important;color:var(--muted) !important;font-weight:600 !important;
  box-shadow:none !important;white-space:nowrap;
}
.topnav nav button > span{display:none !important}
.topnav nav button:hover{background:#fff !important;color:var(--ink) !important}
.dark .topnav nav button:hover{background:#132a21 !important;color:#eafaf2 !important}
.topnav nav button.active{background:var(--ink) !important;color:#fff !important;box-shadow:0 8px 18px rgba(12,31,24,.18) !important}
.dark .topnav nav button.active{background:var(--em) !important}
.topnav .sidebar-bottom{
  display:flex !important;margin-left:auto !important;flex-direction:row !important;align-items:center !important;
  gap:8px !important;padding:0 !important;border:0 !important;flex:0 0 auto !important;
}
/* Sağ üst buton grubu — tek tip tile'lar */
.topnav .search-shortcut,
.topnav .icon-top,
.topnav .user,
.topnav .sidebar-logout{
  width:42px !important;height:42px !important;min-width:42px !important;flex:0 0 auto !important;
  margin:0 !important;padding:0 !important;display:grid !important;place-items:center !important;
  border:1px solid var(--line) !important;border-radius:12px !important;background:#fff !important;
  color:var(--muted) !important;font-size:16px !important;line-height:1 !important;box-shadow:none !important;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.topnav .search-shortcut span{font-size:16px !important}
.topnav .search-shortcut kbd{display:none !important}
.topnav .search-shortcut:hover,
.topnav .icon-top:hover{background:var(--surface-subtle) !important;border-color:var(--em-500) !important;color:var(--em-700) !important}
.topnav .notification-button{position:relative !important}
.topnav .notification-button > i{position:absolute !important;top:-5px !important;right:-5px !important;left:auto !important;
  min-width:16px;height:16px;display:grid;place-items:center;background:#ef4444 !important;color:#fff !important;
  border:2px solid var(--panel);border-radius:999px;font-size:9px;font-weight:800;padding:0 3px;font-style:normal;transform:none !important}
.topnav .user{background:var(--em-600) !important;border-color:var(--em-600) !important;color:#fff !important;font-weight:800 !important;font-size:13px !important;letter-spacing:.3px}
.topnav .sidebar-logout{color:#e2685a !important}
.topnav .sidebar-logout:hover{background:#fff1ef !important;border-color:#f3b0a6 !important;color:#d1442f !important}
.topnav .sidebar-logout > span{margin:0 !important}
.topnav .sidebar-bottom > small{display:none !important}
.dark .topnav .search-shortcut,
.dark .topnav .icon-top,
.dark .topnav .sidebar-logout{background:#132a21 !important;border-color:#213b31 !important}

/* içerik artık tam genişlik */
main{margin-left:0 !important;width:100% !important}
.content{max-width:1240px !important;margin:0 auto !important;padding:32px clamp(20px,3vw,40px) 72px !important}
.topbar{display:none !important}

/* mobil: yatay nav → açılır menü */
.mobile-menu{display:none !important;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:18px}
.close-menu{display:none !important}
/* scrim (karartı) yalnızca mobil menü açıkken görünsün — aksi halde içeriği kapatıp tıklamayı engelliyordu */
.scrim{display:none}
#sidebar.open ~ #scrim{display:block}
@media(max-width:940px){
  .topnav .mobile-menu{display:grid !important;place-items:center}
  .topnav nav{
    position:absolute !important;top:72px;left:0;right:0;flex-direction:column !important;
    gap:6px !important;padding:14px !important;background:var(--panel) !important;
    border-bottom:1px solid var(--line) !important;box-shadow:0 20px 40px rgba(6,78,59,.1) !important;
    display:none !important;
  }
  .sidebar.topnav.open nav{display:flex !important}
  .topnav nav button{width:100% !important;justify-content:flex-start;border-radius:12px !important}
}

/* --- Telefon: sağ üst buton grubu taşmasın --- */
@media(max-width:600px){
  .sidebar.topnav{gap:10px !important;padding:0 14px !important}
  .topnav .brand{flex:1 1 auto !important;min-width:0 !important;overflow:hidden}
  .topnav .brand > span:last-child{min-width:0 !important;overflow:hidden}
  .topnav .brand b{font-size:13px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .topnav .brand small{display:none !important}
  .topnav .sidebar-bottom{gap:6px !important;flex:0 0 auto !important;margin-left:auto !important}
  .topnav .search-shortcut{display:none !important}
  .topnav .icon-top,
  .topnav .user,
  .topnav .sidebar-logout{width:38px !important;height:38px !important;min-width:38px !important;font-size:15px !important}
  .topnav .user{font-size:12px !important}
}

/* ---- BENTO GENEL BAKIŞ ---- */
.metric-grid{
  display:grid !important;grid-template-columns:repeat(auto-fit,minmax(184px,1fr)) !important;
  gap:16px !important;border:0 !important;background:transparent !important;overflow:visible !important;border-radius:0 !important;
}
.metric-grid article{
  border:1px solid var(--line) !important;border-radius:18px !important;background:var(--panel) !important;
  box-shadow:0 12px 30px rgba(6,78,59,.05) !important;padding:20px !important;min-height:120px !important;
}
.metric-grid article > span{width:40px !important;height:40px !important;border-radius:12px !important;font-size:17px !important}
.metric-grid strong{font-size:26px !important;font-weight:800 !important;letter-spacing:-.6px}
.dashboard-grid{grid-template-columns:1.6fr 1fr !important;gap:18px !important}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr !important}}

/* ---- ÖĞRENCİ KARTI ilerleme çubuğu ---- */
.student-card .sc-progress{margin:18px 0 4px}
.student-card .sc-progress > span{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.student-card .sc-progress b{font-size:12px;font-weight:700}
.student-card .sc-progress small{font-size:12px;color:var(--muted)}
.student-card .sc-progress > div{height:9px;border-radius:9px;background:#eef4f0;overflow:hidden}
.student-card .sc-progress > div > i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#34d399,#059669)}
.dark .student-card .sc-progress > div{background:#183024}
.coach-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr)) !important;gap:18px !important}

/* ---- MODAL → SAĞ ÇEKMECE (profil/form/bildirim) ---- */
.modal-backdrop:not(.sheet-backdrop){justify-content:flex-end !important;align-items:stretch !important;padding:0 !important}
.modal-backdrop:not(.sheet-backdrop) .modal{
  height:100vh !important;max-height:100vh !important;margin:0 !important;
  width:min(540px,100vw) !important;border-radius:0 !important;border-width:0 0 0 1px !important;
  animation:drawerIn .28s cubic-bezier(.4,0,.2,1) both !important;
}
.modal-backdrop:not(.sheet-backdrop) .modal.wide-modal{width:min(680px,100vw) !important}
.modal-backdrop:not(.sheet-backdrop) .modal.person-drawer{width:min(460px,100vw) !important}
@keyframes drawerIn{from{transform:translateX(40px);opacity:.6}}
.modal-backdrop:not(.sheet-backdrop) .modal-head{position:sticky;top:0;z-index:6}
.modal-backdrop:not(.sheet-backdrop) .modal-head,
.side-sheet .modal-head,
.reservation-modal-head{background:linear-gradient(145deg,#0d2a20,#0b7a4d) !important;border-bottom:0 !important}
.modal-backdrop:not(.sheet-backdrop) .modal-head h2,
.side-sheet .modal-head h2,
.reservation-modal-head h2{color:#fff !important}
.modal-backdrop:not(.sheet-backdrop) .modal-head p,
.side-sheet .modal-head p,
.reservation-modal-head p{color:#bfe9d5 !important}
.modal-backdrop:not(.sheet-backdrop) .modal-head > button,
.side-sheet .modal-head > button,
.reservation-modal-head > button{background:rgba(255,255,255,.15) !important;border:0 !important;color:#fff !important}
.modal-backdrop:not(.sheet-backdrop) .modal-head > button:hover,
.side-sheet .modal-head > button:hover,
.reservation-modal-head > button:hover{background:rgba(255,255,255,.26) !important}
.reservation-head-icon{background:rgba(255,255,255,.16) !important;color:#fff !important}

/* çift arama ikonunu gizle (JS için DOM'da kalır) */
.topnav #top-search{display:none !important}

/* ---- BENTO GENEL BAKIŞ (hero + renkli tile'lar) ---- */
.bento-ov{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bento-hero{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;position:relative;overflow:hidden;
  background:linear-gradient(145deg,#0d2a20,#0b7a4d);color:#fff;border-radius:20px;padding:24px;
  box-shadow:0 18px 44px rgba(6,78,59,.16);min-height:260px}
.bento-hero::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.07)}
.bento-hero .ov-lbl{font-size:12px;letter-spacing:1.4px;color:#a7e8ca;font-weight:750}
.bento-hero .ov-big{font-size:clamp(34px,3.4vw,46px);font-weight:800;letter-spacing:-1.4px;margin:14px 0 4px}
.bento-hero .ov-sub{color:#bfe9d5;font-size:13px}
.ov-spark{display:flex;align-items:flex-end;gap:7px;height:66px;margin-top:auto}
.ov-spark i{flex:1;background:rgba(255,255,255,.22);border-radius:6px 6px 0 0}
.ov-spark i.hi{background:#7bf3b8}
.ov-tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;
  box-shadow:0 12px 30px rgba(6,78,59,.05);min-height:118px;display:flex;flex-direction:column}
.ov-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:17px;margin-bottom:14px}
.ov-ic.em{background:#d1fae5;color:#047857}
.ov-ic.sk{background:#e0f2fe;color:#075985}
.ov-ic.am{background:#fef3c7;color:#92400e}
.ov-ic.vi{background:#ede9fe;color:#5b21b6}
.ov-tile small{color:var(--muted);font-size:12px;font-weight:600}
.ov-tile strong{font-size:28px;font-weight:800;letter-spacing:-.6px;margin-top:auto}
.bento-up{grid-column:span 2}
.bento-quick{grid-column:span 2}
.bento-today{grid-column:span 2;grid-row:span 3;display:flex;flex-direction:column;min-width:0}
.bento-today .rows{padding:0 20px 14px;min-width:0;overflow-y:auto}
.bento-today .lesson-row{border-radius:12px}
.bento-today .empty-state,.bento-today .empty{margin:auto 20px 24px}
@media(max-width:900px){.bento-ov{grid-template-columns:1fr 1fr}.bento-hero{grid-column:span 2;grid-row:span 1}.bento-up,.bento-quick{grid-column:span 2}.bento-today{grid-column:span 2;grid-row:auto}}
@media(max-width:600px){.bento-ov{grid-template-columns:1fr}.bento-hero,.bento-up,.bento-quick,.bento-today,.ov-tile{grid-column:span 1}}

/* Hızlı işlemler butonları (bento-quick) */
.bento-quick{padding-bottom:10px}
.bento-quick > button{width:100%;display:grid !important;grid-template-columns:40px 1fr 16px;gap:12px;align-items:center;
  margin:0;padding:14px 20px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}
.bento-quick > button:hover{background:var(--surface-subtle)}
.bento-quick > button > span{width:40px;height:40px;border-radius:12px;background:#d1fae5;color:#047857;display:grid;place-items:center;font-size:17px}
.bento-quick > button b,.bento-quick > button small{display:block}
.bento-quick > button b{font-size:14px;font-weight:650}
.bento-quick > button small{font-size:12px;color:var(--muted);margin-top:3px}
.bento-quick > button i{font-style:normal;color:var(--muted);font-size:16px}
/* Yaklaşan dersler satırları */
.bento-up .rows{padding:0 20px 10px}
.bento-up .lesson-row{border-radius:12px}

/* ============ TAKVİM (önizleme düzeni) ============ */
/* HAFTA — 7 gün kartı */
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.cal-day{display:flex;flex-direction:column;min-height:250px;overflow:hidden;
  background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 26px rgba(6,78,59,.05)}
.cal-day-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px;
  border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;width:100%}
.cal-day-head small{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:700}
.cal-day-head b{font-size:19px;font-weight:800}
.cal-day-head.today{background:var(--em);color:#fff}
.cal-day-head.today small{color:#c9f5e0}
.cal-day-body{display:flex;flex-direction:column;gap:8px;padding:10px;flex:1}
.cal-ev{display:block;text-align:left;padding:9px 11px;border:0;border-left:3px solid var(--em);
  border-radius:11px;background:#eafaf2;color:var(--ink);cursor:pointer}
.cal-ev b{font-size:12px;font-weight:750;display:block}
.cal-ev span{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ev small{font-size:11px;color:var(--muted);display:block;margin-top:2px}
.cal-ev.group{border-left-color:#0ea5e9;background:#e0f2fe}
.cal-ev.rental{border-left-color:#f59e0b;background:#fef3c7}
.cal-ev.done{opacity:.6}
.cal-day-add{margin:auto;width:36px;height:36px;border-radius:10px;border:1px dashed var(--line);
  background:transparent;color:var(--muted);font-size:16px;cursor:pointer}
.cal-day-add:hover{border-color:var(--em);color:var(--em);background:var(--surface-subtle)}
.dark .cal-ev{background:#16342700;background:rgba(52,211,153,.1)}
.dark .cal-ev.group{background:rgba(14,165,233,.12)}
.dark .cal-ev.rental{background:rgba(245,158,11,.12)}

/* GÜN — ajanda listesi */
.cal-agenda{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px rgba(6,78,59,.05)}
.cal-agenda-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.cal-agenda-head h3{font-size:18px;font-weight:750;text-transform:capitalize;margin:0}
.cal-agenda-head span{color:var(--muted);font-size:13px}
.cal-agenda-list{display:flex;flex-direction:column}
.cal-slot{display:grid;grid-template-columns:64px 1fr 18px;align-items:center;gap:14px;width:100%;
  padding:16px 22px;border:0;border-top:1px solid var(--line);border-left:4px solid var(--em);
  background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.cal-slot:first-child{border-top:0}
.cal-slot.group{border-left-color:#0ea5e9}
.cal-slot.rental{border-left-color:#f59e0b}
.cal-slot:hover{background:var(--surface-subtle)}
.cal-slot time{font-size:14px;font-weight:800;color:#0b7a4d}
.cal-slot b{font-size:14px;display:block}
.cal-slot small{font-size:12px;color:var(--muted);display:block;margin-top:3px}
.cal-slot i{font-style:normal;color:var(--muted)}
.cal-agenda-empty{padding:44px 22px;color:var(--muted);text-align:center;font-size:13px;margin:0}
.cal-agenda-add{margin:16px 22px 20px}

/* AY — grid */
.cal-month{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px rgba(6,78,59,.05)}
.cal-mhead{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface-subtle);border-bottom:1px solid var(--line)}
.cal-mhead span{min-width:0;padding:14px 12px;text-align:center;font-size:12px;font-weight:750;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-mbody{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-mcell{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:120px;padding:8px;border-right:1px solid var(--line);border-top:1px solid var(--line)}
.cal-mcell:nth-child(7n){border-right:0}
.cal-mnum{align-self:flex-start;width:30px;height:30px;border-radius:9px;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer}
.cal-mcell.today .cal-mnum{background:var(--em-600);color:#fff}
.cal-mcell.out{background:var(--surface-subtle)}
.cal-mcell.out .cal-mnum{color:#b8c4bd}
.cal-mev{display:block;text-align:left;border:0;border-left:3px solid var(--em);border-radius:7px;
  background:#eafaf2;color:#0b5c3f;font-size:11px;font-weight:600;padding:4px 7px;cursor:pointer;
  min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-mev.group{border-left-color:#0ea5e9;background:#e0f2fe;color:#075985}
.cal-mev.rental{border-left-color:#f59e0b;background:#fef3c7;color:#92400e}
.cal-mmore{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:700;text-align:left;cursor:pointer;padding:2px 4px}
.calendar-workspace-layout.no-sidebar{grid-template-columns:minmax(0,1fr)}
@media(max-width:1150px){.calendar-workspace-layout{grid-template-columns:1fr !important}}
@media(max-width:900px){.cal-week{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cal-week{grid-template-columns:1fr}.cal-mcell{min-height:84px}}

/* =============================================================
   STRUCTURAL REDESIGN (v4) — alt sekme çubuğu (mobil gezinme)
   Mobilde açılır menü yerine sabit alt sekme çubuğu; "Diğer"
   sekmesi mevcut aç/kapa menüyü (Antrenörler, Gruplar, Ayarlar)
   tetikler, JS'e dokunmaz.
   ============================================================= */
.bottom-tabs{display:none}
@media(max-width:940px){
  .bottom-tabs{
    display:grid !important;grid-template-columns:repeat(5,1fr);
    position:fixed;z-index:45;right:0;bottom:0;left:0;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.92) !important;backdrop-filter:blur(18px);
    border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(6,78,59,.08);
  }
  .dark .bottom-tabs{background:rgba(9,20,15,.92) !important;border-top-color:#213b31}
  .bottom-tabs button{
    display:flex !important;flex-direction:column;align-items:center;gap:3px;
    padding:8px 2px;border:0;border-radius:12px;background:transparent;color:var(--muted);
  }
  .bottom-tabs button span{font-size:18px;line-height:1}
  .bottom-tabs button small{font-size:10px;font-weight:650}
  .bottom-tabs button.active{color:var(--em-700) !important}
  .dark .bottom-tabs button.active{color:var(--em) !important}
  .bottom-tabs button:active{background:var(--surface-subtle)}
  main,.content{padding-bottom:calc(78px + env(safe-area-inset-bottom)) !important}
  /* alt çubuk devredeyken üst barın hamburger/menü açılışı artık "Diğer" sekmesinden geliyor */
  .topnav .mobile-menu{display:none !important}
}

/* =============================================================
   STRUCTURAL REDESIGN (v5) — çekmece genişliği sabit dar olduğu
   için mobil kırılım noktalarını (viewport'a bakan) pencere
   genişliğinden bağımsız olarak çekmece içinde her zaman uygula.
   En kritik nokta: rezervasyon formunun iki kolonlu + yapışkan
   özet paneli düzeni, 680px'lik çekmecede geniş masaüstünde bile
   taşmasın diye tek kolona zorlanır.
   ============================================================= */
.modal-backdrop:not(.sheet-backdrop) .reservation-workspace{grid-template-columns:1fr !important;gap:22px !important}
.modal-backdrop:not(.sheet-backdrop) .schedule-grid{grid-template-columns:1fr 1fr !important}
.modal-backdrop:not(.sheet-backdrop) .schedule-grid > .date-field{grid-column:1/-1 !important}
.modal-backdrop:not(.sheet-backdrop) .profile-metadata,
.modal-backdrop:not(.sheet-backdrop) .group-profile-meta{grid-template-columns:repeat(2,1fr) !important}
.modal-backdrop:not(.sheet-backdrop) .rental-detail{grid-template-columns:1fr 1fr !important}
.modal-backdrop:not(.sheet-backdrop) .form-grid.three{grid-template-columns:repeat(2,1fr) !important}
@media(max-width:560px){
  .modal-backdrop:not(.sheet-backdrop) .schedule-grid,
  .modal-backdrop:not(.sheet-backdrop) .profile-metadata,
    .modal-backdrop:not(.sheet-backdrop) .group-profile-meta,
  .modal-backdrop:not(.sheet-backdrop) .rental-detail,
  .modal-backdrop:not(.sheet-backdrop) .form-grid.three{grid-template-columns:1fr !important}
}

/* =============================================================
   STRUCTURAL REDESIGN (v6) — öğrenci profili: koyu hero + dikey
   ders geçmişi zaman çizelgesi (design-preview.html ile birebir).
   ============================================================= */
.person-drawer{overflow-y:auto}
.profile-hero{position:relative;padding:26px 26px 22px;background:linear-gradient(145deg,#0d2a20,#0b7a4d);color:#fff}
.profile-hero .phero-close,.profile-hero .phero-edit{position:absolute;top:20px;border:0;border-radius:10px;background:rgba(255,255,255,.15);color:#fff;font-family:inherit}
.profile-hero .phero-close{right:22px;width:36px;height:36px;display:grid;place-items:center;font-size:18px}
.profile-hero .phero-edit{right:66px;height:36px;padding:0 14px;font-size:12px;font-weight:700}
.profile-hero .phero-close:hover,.profile-hero .phero-edit:hover{background:rgba(255,255,255,.26)}
.profile-hero .phero-actions{position:absolute;top:20px;right:22px;display:flex;align-items:center;gap:8px;z-index:2}
.profile-hero .phero-actions .phero-close,.profile-hero .phero-actions .phero-edit,.profile-hero .phero-actions .phero-shot{position:static !important;top:auto !important;right:auto !important}
.profile-hero .phero-shot{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:rgba(255,255,255,.15);color:#fff;font-size:17px;font-family:inherit;cursor:pointer}
.profile-hero .phero-shot:hover{background:rgba(255,255,255,.26)}
.profile-hero .phero-shot:disabled{opacity:.55;cursor:default}
.profile-body .coach-report-month{margin:2px 0 16px !important}
.phero-av{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:20px;font-weight:800}
.profile-hero h2{font-size:24px;font-weight:800;margin-top:16px;letter-spacing:-.4px}
.profile-hero p{color:#bfe9d5;font-size:13px;margin-top:4px}
.profile-hero-chips{display:flex;gap:10px;margin-top:18px}
.phero-chip{background:rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;flex:1;min-width:0}
.phero-chip small{display:block;color:#a7e8ca;font-size:11px}
.phero-chip b{display:block;font-size:15px;font-weight:800;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-body{padding:24px 26px}
.profile-body > .agreement-tabs{margin:0 0 20px !important;padding:0 !important}
.profile-sect{font-size:13px;font-weight:750;letter-spacing:.3px;color:var(--muted);text-transform:uppercase;margin:22px 0 14px}
.profile-sect:first-child{margin-top:0}
.profile-fin{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 8px}
.profile-fin div{border:1px solid var(--line);border-radius:14px;padding:14px}
.profile-fin small{color:var(--muted);font-size:11px}
.profile-fin b{display:block;font-size:17px;font-weight:800;margin-top:6px}
.profile-fin b.debt{color:#d1553c}
.profile-fin b.paid{color:var(--em-700)}
.profile-step{display:grid;grid-template-columns:30px 1fr;gap:12px;position:relative}
.pstep-no{width:28px;height:28px;border-radius:50%;background:#d1fae5;color:var(--em-700);display:grid;place-items:center;font-size:12px;font-weight:800;z-index:1}
.pstep-no.done{background:var(--em-500);color:#fff}
.pstep-line{position:absolute;left:14px;top:28px;bottom:-6px;width:2px;background:var(--line)}
.pstep-txt{padding-bottom:18px}
.pstep-txt b{font-size:14px;font-weight:650}
.pstep-txt small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.profile-cta{width:100%;height:50px;border-radius:14px;margin-top:8px}

/* =============================================================
   STRUCTURAL REDESIGN (v7) — revizyon promptu eklentileri:
   öğrenci liste görünümü, anlaşma accordion'u, tek ders akışı,
   sadeleştirilmiş ders formu, geniş aylık takvim.
   ============================================================= */

/* ---- Öğrenciler: kompakt liste (kart ızgarası yerine) ---- */
.student-list-panel{overflow:hidden}
.student-list-head,.student-list-row{display:grid;grid-template-columns:minmax(200px,1.7fr) 130px minmax(150px,1fr) 130px 110px auto;align-items:center;gap:10px 18px;padding:16px 22px}
.student-list-head{border-bottom:1px solid var(--line);background:var(--surface-subtle);color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.4px}
.student-list-row{border-top:1px solid var(--line);transition:background-color .18s ease}
.student-list-row:first-child{border-top:0}
.student-list-row:hover{background:var(--surface-subtle)}
.student-list-cell{min-width:0}
.student-list-cell > small{display:block;margin-bottom:3px;color:var(--muted);font-size:12px}
.student-list-cell > b{display:block;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.student-list-cell > small.debt-text,.student-list-cell > small.paid-text{display:block;margin-top:3px;font-size:12px}
.student-list-cell .person-reference b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){
  .student-list-head{display:none}
  .student-list-row{grid-template-columns:1fr;row-gap:10px;padding:18px 20px}
  .student-list-row .student-list-cell{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0 0;border-top:1px dashed var(--line)}
  .student-list-row .student-list-cell:first-of-type{border-top:0;padding-top:2px}
  .student-list-row .student-list-cell > small{margin:0}
  .student-list-row .student-list-cell > b{text-align:right}
  .student-list-row .row-actions{justify-content:flex-start;padding-top:4px}
}

/* ---- Anlaşmalar: açılır/kapanır accordion (sekmeler yerine) ---- */
.agreement-accordion{display:grid;gap:10px}
.agreement-block{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}
.agreement-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:0;background:transparent;color:var(--text);text-align:left}
.agreement-toggle:hover{background:var(--surface-subtle)}
.agreement-toggle > span{min-width:0}
.agreement-toggle > span b{display:block;font-size:14px;font-weight:700}
.agreement-toggle > span small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.agreement-toggle > i{flex:0 0 auto;font-style:normal;color:var(--muted);font-size:13px}
.agreement-block.current{border-color:color-mix(in srgb, var(--em-500) 40%, var(--line))}
.agreement-block.current .agreement-toggle > span b{color:var(--em-700)}
.agreement-block.open{box-shadow:0 8px 22px rgba(6,78,59,.06)}
.agreement-block.open .agreement-toggle{border-bottom:1px solid var(--line)}
.agreement-detail{padding:16px}
.agreement-detail .profile-fin{margin:0 0 8px}
.agreement-detail .profile-sect{margin:18px 0 12px}
.agreement-detail .profile-sect:first-child{margin-top:0}
.agreement-status{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:750;letter-spacing:.2px;padding:5px 10px;border-radius:999px;white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:var(--surface-subtle)}
.agreement-status.done{color:var(--em-700);background:#eafaf2;border-color:color-mix(in srgb, var(--em-500) 35%, var(--line))}
.agreement-status.active{color:#075985;background:#e0f2fe;border-color:#bae6fd}
.agreement-status.half{color:#92400e;background:#fef3c7;border-color:#fde68a}
.agreement-block.selected{border-color:color-mix(in srgb, var(--em-500) 55%, var(--line));box-shadow:0 8px 22px rgba(6,78,59,.09)}
.agreement-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson-history .profile-schedule-row:first-child{border-top:0}
.lesson-history .lh-row{grid-template-columns:28px 62px minmax(0,1fr) 18px !important;position:relative}
.lh-tick{align-self:center;width:24px;height:24px;border-radius:999px;background:var(--em-600);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;position:relative;z-index:1}
.lesson-history .lh-row:not(:last-child) .lh-tick::after{content:"";position:absolute;top:24px;left:50%;transform:translateX(-50%);width:2px;height:38px;background:var(--em-500);opacity:.35;z-index:0}
.lh-tick.pending{background:transparent;border:2px solid var(--line);color:transparent}
.lesson-history .lh-row.lh-pending b,.lesson-history .lh-row.lh-pending small{color:var(--muted)}
.lesson-history .lh-row.lh-pending:not(:last-child) .lh-tick::after{background:var(--line);opacity:.7}
@media(max-width:600px){.agreement-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- Aktif anlaşması olmayan öğrenci: seçim ekranı ---- */
.no-agreement-choice{padding:24px 26px}
.no-agreement-note{display:flex;flex-direction:column;gap:5px;margin:0 0 18px}
.no-agreement-note b{color:var(--text);font-size:14px}
.no-agreement-note span{color:var(--muted);font-size:13px}
.choice-options{display:grid;gap:12px}
.choice-card{display:block;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-subtle);text-align:left;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}
.choice-card:hover{border-color:var(--em-500);background:#ecfaf3;transform:translateY(-1px)}
.dark .choice-card:hover{background:#123a2c}
.choice-card b{display:block;color:var(--text);font-size:13px;font-weight:700}
.choice-card small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}
.no-agreement-choice .form-actions{justify-content:flex-start;margin-top:6px;padding-top:0;border-top:0}

/* ---- Bireysel ders formu: Tarih altında Saat|Kort yan yana ---- */
.schedule-date-row{margin-bottom:14px}
.schedule-date-row > .ui-field{margin:0 !important}
.schedule-time-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;align-items:start}
.schedule-time-row .ui-field{margin:0 !important}

/* ---- Rezervasyon türü seçici: devre dışı seçenek nedeni ---- */
.reservation-type-note{margin:-6px 0 0;padding:0 34px 18px;border-bottom:1px solid var(--line);background:var(--surface)}
@media(max-width:600px){.reservation-type-note{padding:0 18px 16px}}

/* ---- Takvim: ay görünümü daha geniş ve ferah ---- */
.content.calendar-page{max-width:none !important}
.cal-mcell{height:225px !important}
.cal-mevents{display:flex;flex-direction:column;gap:5px;min-width:0;max-height:178px;overflow-y:auto;overflow-x:hidden;padding-right:10px}
.cal-mev{flex:0 0 auto !important;min-height:20px !important}
.cal-mevents::-webkit-scrollbar{width:6px}
.cal-mevents::-webkit-scrollbar-track{background:var(--surface-muted);border-radius:999px}
.cal-mevents::-webkit-scrollbar-thumb{background:var(--em-500);border-radius:999px}
.cal-mevents::-webkit-scrollbar-thumb:hover{background:var(--em-600)}
.cal-mevents{scrollbar-width:thin;scrollbar-color:var(--em-500) var(--surface-muted)}
@media(max-width:600px){.cal-mcell{height:110px !important}.cal-mevents{max-height:66px}}

/* Grup dersi: ders hakkı biten öğrenci uyarısı ve tamamlama özeti (madde 3-4) */
.group-depleted-warning:empty { display: none; }
.group-depleted-notice {
  margin: 12px 0 4px; padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--danger) 40%, var(--line));
  border-radius: 12px; background: var(--danger-soft, #fff1ef);
}
.group-depleted-notice b { display: block; font-size: 12px; color: var(--danger); }
.group-depleted-notice small { display: block; margin: 4px 0 6px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.group-depleted-notice ul { margin: 0; padding-left: 18px; }
.group-depleted-notice li { font-size: 12px; color: var(--text, inherit); margin: 2px 0; }
.attendance-option.depleted { opacity: .62; border-style: dashed; }
.attendance-option.depleted i { color: var(--danger); }
.completion-summary { display: grid; gap: 14px; padding: 4px 2px 2px; }
.completion-summary .summary-block { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: var(--panel); }
.completion-summary .summary-block b { display: block; font-size: 12px; margin-bottom: 8px; }
.completion-summary .summary-block.finished { border-color: color-mix(in srgb, var(--green) 45%, var(--line)); }
.completion-summary .summary-block.finished b { color: var(--green); }
.completion-summary .summary-block ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.completion-summary .summary-block li { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 12px; }
.completion-summary .summary-block li small { color: var(--muted); font-size: 10px; }
.completion-summary .summary-empty { font-size: 12px; color: var(--muted); }

/* Kort kiralama tamamla · ödeme seçim */
.rental-complete-choice { display: grid; gap: 14px; padding: 4px 2px 2px; }
.rental-pay-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rental-pay-options button { min-height: 46px; }
@media(max-width:600px){ .rental-pay-options { grid-template-columns: 1fr; } }
