/* ═══════════════════════════════════════════════════════════════════════════
   Motiva Partner — tasarım katmanı (2026-10-01, ikinci sürüm)

   Tasarım dili: sakin, açık zeminli, TEK vurgu rengi (teal). Mavi/yeşil/teal karışımı yerine her etkileşimli
   öğe (ana düğme, seçili sekme, odak halkası, seçili menü) aynı marka rengini kullanır; kırmızı yalnızca
   silme/uyarı, amber yalnızca dikkat içindir.

   KURALLAR: işlevi/yerleşimi taşıyan ölçülere (takvim ızgarası, sticky saat sütunu, popup konumu, mobil menü
   mekaniği) dokunulmaz; JS'in okuduğu/yazdığı inline stiller korunur. site.css'ten SONRA, site_m.css'ten ÖNCE
   yüklenir. Bu dosyayı <link>'ten çıkarmak eski görünüme döndürür.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
    --mv-bg:          #f4f6f9;
    --mv-surface:     #ffffff;
    --mv-border:      #e4e8ee;
    --mv-border-soft: #eef1f5;
    --mv-text:        #1d2433;
    --mv-text-2:      #475467;
    --mv-muted:       #7a8699;
    --mv-brand:       #0f9d8a;
    --mv-brand-deep:  #0b7f70;
    --mv-brand-soft:  #e6f6f3;
    --mv-brand-ring:  rgba(15, 157, 138, .18);
    --mv-danger:      #d92d20;
    --mv-radius:      14px;
    --mv-shadow-xs:   0 1px 2px rgba(16, 24, 40, .05);
    --mv-shadow-sm:   0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);
    --mv-shadow-md:   0 4px 12px rgba(16, 24, 40, .06), 0 2px 4px rgba(16, 24, 40, .04);
    --mv-shadow-lg:   0 24px 64px rgba(16, 24, 40, .28);
}

/* ── Temel ─────────────────────────────────────────────────────────────── */
html { background-color: var(--mv-bg); }
body {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--mv-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
::selection { background: rgba(15, 157, 138, .22); }

.app-content, .app-menu, .home-branch-lessons, .popup-t-content-i, .spa-panel {
    scrollbar-width: thin;
    scrollbar-color: #cdd4df transparent;
}
.app-content::-webkit-scrollbar, .app-menu::-webkit-scrollbar, .home-branch-lessons::-webkit-scrollbar,
.popup-t-content-i::-webkit-scrollbar, .spa-panel::-webkit-scrollbar { width: 9px; height: 9px; }
.app-content::-webkit-scrollbar-thumb, .home-branch-lessons::-webkit-scrollbar-thumb,
.popup-t-content-i::-webkit-scrollbar-thumb, .spa-panel::-webkit-scrollbar-thumb {
    background: #cdd4df; border-radius: 9px; border: 2px solid transparent; background-clip: padding-box;
}
.app-menu::-webkit-scrollbar-thumb { background: #3b4454; border-radius: 9px; }

/* ── Sol menü ─────────────────────────────────────────────────────────── */
.app-menu { background: linear-gradient(180deg, #212936 0%, #19202b 100%); box-shadow: 1px 0 0 rgba(255, 255, 255, .04); }
.app-menu-title { border-bottom-color: rgba(255, 255, 255, .08); color: #eef1f6; font-weight: 600; letter-spacing: -.01em; }
.app-menu-title-txt { font-size: 17px; }
.app-menu-title:hover { color: #fff; }
.app-menu-section { color: #7d899c; font-weight: 600; }
.app-menu-item { color: #cfd6e2; border-radius: 10px; transition: background-color .15s, color .15s; }
.app-menu-item:hover { background-color: rgba(255, 255, 255, .07); color: #fff; }
.app-menu-item-txt { font-size: 14px; font-weight: 500; }
.app-menu-item-selected, .app-menu-item.app-menu-item-selected {
    margin-right: 10px; border-right: 0; border-radius: 10px;
    background-color: rgba(20, 184, 160, .17); color: #fff;
    box-shadow: inset 3px 0 0 #2dd4bf;
}
.app-menu-item-selected .app-menu-item-icon { filter: invert(80%) sepia(40%) saturate(560%) hue-rotate(112deg) brightness(100%); }
.app-menu-item-badge-dot { box-shadow: 0 0 0 2px #19202b; }

/* ── Üst çubuk ────────────────────────────────────────────────────────── */
.app-content-header { background: var(--mv-surface); border-bottom: 1px solid var(--mv-border); box-shadow: none; }
.app-content-header-title { font-size: 17px; font-weight: 650; letter-spacing: -.015em; color: var(--mv-text); }
.app-content-header-name { color: var(--mv-text-2); font-weight: 500; }
.app-content-header-profil { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--mv-border); }

/* ── Şube seçici: segment kontrolü (masaüstü) / açılır liste (mobil) ──── */
.home-branches-button {
    display: inline-flex;
    padding: 4px;
    gap: 2px;
    background: #e9edf3;
    border-radius: 12px;
}
.home-branches-button div,
.home-branches-button div:hover {
    margin-right: 0;
    line-height: 32px;
    padding: 0 16px;
    background: transparent;
    color: var(--mv-text-2);
    border: 0;
    border-radius: 9px;
    font-size: 13.5px;
    font-weight: 600;
    box-shadow: none;
    transition: background-color .15s, color .15s, box-shadow .15s;
}
.home-branches-button div:hover { color: var(--mv-text); background: rgba(255, 255, 255, .55); }
.home-branches-button-selected,
.home-branches-button div.home-branches-button-selected {
    background: #fff !important;
    color: var(--mv-brand-deep) !important;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .12) !important;
}
.partner-branch-select { display: none; }

/* ── Kartlar ──────────────────────────────────────────────────────────── */
.content-full {
    background-color: var(--mv-surface);
    border: 1px solid var(--mv-border);
    border-top: 1px solid var(--mv-border);
    border-radius: var(--mv-radius);
    box-shadow: var(--mv-shadow-sm);
}
.popup-t-content-header { border-bottom: 1px solid var(--mv-border-soft); }
.popup-t-content-header-title { font-size: 16px; font-weight: 650; letter-spacing: -.01em; color: var(--mv-text); }
.content-full > .popup-t-content-header { background: transparent; border-radius: var(--mv-radius) var(--mv-radius) 0 0; }

/* ── Düğmeler: tek vurgu rengi ────────────────────────────────────────── */
.page-top-right-button a,
.page-top-right-button .page-top-right-button-btn,
.popup-t-content-header a,
.popup-content-default-area .page-top-right-button a,
.popup-content-default-area .page-top-right-button .page-top-right-button-btn,
.popup-t-content-header a.uyeler-header-btn-primary {
    background-color: var(--mv-brand);
    border-radius: 10px;
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(11, 127, 112, .35);
    transition: background-color .15s, box-shadow .15s, transform .08s;
}
.page-top-right-button a:hover,
.page-top-right-button .page-top-right-button-btn:hover,
.popup-t-content-header a:hover,
.popup-content-default-area .page-top-right-button a:hover,
.popup-content-default-area .page-top-right-button .page-top-right-button-btn:hover,
.popup-t-content-header a.uyeler-header-btn-primary:hover {
    background-color: var(--mv-brand-deep);
    box-shadow: 0 4px 12px rgba(11, 127, 112, .28);
}
.page-top-right-button a:active, .page-top-right-button .page-top-right-button-btn:active { transform: translateY(1px); }
.popup-t-content-header a.uyeler-header-btn-secondary {
    background: #fff; color: var(--mv-text-2); border: 1px solid var(--mv-border); box-shadow: var(--mv-shadow-xs);
}
.popup-t-content-header a.uyeler-header-btn-secondary:hover { background: #f6f8fb; border-color: #cfd6e0; }
.page-top-right-button-delete { box-shadow: none !important; }

.es-btn { border-radius: 9px; box-shadow: var(--mv-shadow-xs); }
.es-btn-primary { background: var(--mv-brand); }
.es-btn-done { background: #16a34a; }
.es-btn-ghost { border-color: var(--mv-border); }

.uyeler-sort-btn, .gruplar-day-filter-btn { border: 1px solid var(--mv-border); border-radius: 9px; color: var(--mv-text-2); }
.uyeler-sort-btn.active, .gruplar-day-filter-btn.active { background: var(--mv-brand); border-color: var(--mv-brand); color: #fff; box-shadow: none; }

/* ── Form alanları ────────────────────────────────────────────────────── */
.form-t1-input-area label, .form-t1-input-area .form-t1-input-label { color: var(--mv-text-2); font-weight: 600; font-size: 13.5px; }
.form-t1-input input:not(.form-t1-checkbox), .form-t1-input textarea, .form-t1-input select,
.content-search-area input {
    border-color: #d5dbe5; border-radius: 10px; box-shadow: none; background-color: #fff;
}
.form-t1-input input:not(.form-t1-checkbox):focus, .form-t1-input textarea:focus, .form-t1-input select:focus,
.content-search-area input:focus { border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring); }

/* ── Sekmeler ─────────────────────────────────────────────────────────── */
.spa-topbar { border-bottom-color: var(--mv-border); }
.spa-tab-active, .egitmen-tab-btn.active { color: var(--mv-brand-deep); border-bottom-color: var(--mv-brand); }
.egitmen-tab-btn { color: #8793a5; }
.egitmen-tab-btn:hover { color: var(--mv-text-2); }
.egitmen-tabs { border-bottom-color: var(--mv-border); }
.odm-status-tab { background: #e9edf3; color: var(--mv-text-2); }
.odm-status-tab:hover:not(.active) { background: #dfe4ec; }
.odm-status-tab.active { background: var(--mv-brand); color: #fff; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); }
.odm-period-tab { border: 1px solid var(--mv-border); border-radius: 9px; color: var(--mv-text-2); }
.odm-period-tab.active { background: var(--mv-brand-soft); border-color: var(--mv-brand); color: var(--mv-brand-deep); }

/* ── Pencereler ───────────────────────────────────────────────────────── */
.popup-t-bg { backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.popup-t-content { border-radius: 18px; box-shadow: var(--mv-shadow-lg); }
.popup-t-content-header { background: #fff; }
.popup-t-close-btn { filter: none; background-size: 15px; opacity: .5; border-radius: 10px; transition: opacity .15s, background-color .15s; }
.popup-t-close-btn:hover { opacity: .9; background-color: #f1f3f7; }
.popup-t1-btn1 { border-radius: 10px; border-color: var(--mv-border); }
.popup-t1-btn1:hover { background: var(--mv-brand); border-color: var(--mv-brand); box-shadow: 0 4px 12px rgba(11, 127, 112, .28); }
.au-label, .es-section-label { color: var(--mv-text-2); font-weight: 600; }

/* ── Liste kartları ───────────────────────────────────────────────────── */
.uye-card, .odm-bill-card, .odm-card, .gdr-card {
    background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-xs);
}
.uye-card, .odm-bill-card { transition: transform .15s, box-shadow .18s, border-color .15s, background-color .15s; }
.uye-card:hover, .odm-bill-card:hover { transform: translateY(-1px); border-color: #cfd6e0; box-shadow: var(--mv-shadow-md); }
.odm-bill-card-active { border-color: var(--mv-brand) !important; background: #f4fbf9 !important; box-shadow: 0 0 0 3px var(--mv-brand-ring) !important; }
.uye-avatar, .odm-bill-card-avatar, .egitmen-detail-avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--mv-border-soft); }
.odm-bill-card-avatar, .egitmen-detail-avatar { background: var(--mv-brand); }
.uye-name, .odm-bill-card-name { color: var(--mv-text); }
.uye-meta, .odm-bill-card-meta { color: var(--mv-muted); }
.uye-last { font-style: normal; color: #a0aabb; }
.uye-badge { border-radius: 999px; font-weight: 600; }
.uye-badge-green  { background: #e3f7ea; color: #137a3c; box-shadow: inset 0 0 0 1px #bfe9cd; }
.uye-badge-orange { background: #fff1e0; color: #b45309; box-shadow: inset 0 0 0 1px #fbd9aa; }
.uye-badge-red    { background: #fdeaea; color: #b42318; box-shadow: inset 0 0 0 1px #f7c4c0; }
.uye-badge-blue   { background: #eaf1ff; color: #2b5fd9; box-shadow: inset 0 0 0 1px #c9d9fb; }
.odm-bill-card-paid-badge { background: #e3f7ea; color: #137a3c; box-shadow: inset 0 0 0 1px #bfe9cd; }
.odm-bill-card-rem { color: var(--mv-danger); }
.odm-bill-progress-wrap { background: #edf0f5; border-radius: 999px; overflow: hidden; }
.odm-bill-progress-bar { background: var(--mv-brand); border-radius: 999px; }

/* Özet kartları: emoji yerine renkli rozet kare (JS'e dokunmadan: emoji gizlenir, yerine sembol) */
.odm-card, .gdr-card { position: relative; overflow: hidden; align-items: center; }
.odm-card-label, .gdr-card-label { color: var(--mv-muted); font-weight: 600; letter-spacing: .05em; }
.odm-card-value, .gdr-card-value { color: var(--mv-text); font-size: 18px; letter-spacing: -.02em; }
.odm-card-sub, .gdr-card-sub { color: #9aa4b5; }
.odm-card-pending, .odm-card-collected, .odm-card-total, .odm-card-done { border-left: 1px solid var(--mv-border); }
.odm-card-icon {
    font-size: 0; line-height: 1; margin: 0;
    width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
}
.odm-card-icon::before { font-size: 17px; font-weight: 700; line-height: 1; }
.odm-card-pending   .odm-card-icon { background: #fdeaea; color: #d92d20; }
.odm-card-pending   .odm-card-icon::before { content: "!"; }
.odm-card-collected .odm-card-icon { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.odm-card-collected .odm-card-icon::before { content: "₺"; }
.odm-card-total     .odm-card-icon { background: #eaf1ff; color: #2b5fd9; }
.odm-card-total     .odm-card-icon::before { content: "Σ"; }
.odm-card-done      .odm-card-icon { background: #e3f7ea; color: #137a3c; }
.odm-card-done      .odm-card-icon::before { content: "✓"; }
.gdr-card-icon { filter: grayscale(1); opacity: .7; margin-top: 0; }
.odm-detail-pane { border: 1px solid var(--mv-border); border-radius: 16px; box-shadow: var(--mv-shadow-sm); }

/* Genel liste satırları */
.content-list-row {
    border: 1px solid var(--mv-border); border-radius: 12px; background: var(--mv-surface);
    margin-bottom: 8px; box-shadow: var(--mv-shadow-xs);
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.content-list-row:last-child { margin-bottom: 0; }
.content-list-row:hover { background-color: #fafcfd; border-color: #cfd6e0; box-shadow: var(--mv-shadow-md); }
.content-list-title { font-weight: 600; color: var(--mv-text); }
.content-list-title-subs { color: var(--mv-muted); font-style: normal; font-weight: 400; font-size: 12.5px; }
.content-list-buttons div { border-radius: 10px; margin: 0 4px 0 0; width: 36px; height: 36px; align-self: center; background-size: 17px; transition: background-color .15s, filter .15s; }
.content-list-buttons div:hover { background-color: var(--mv-brand-soft); }
#panel-gruplar .content-list-row { height: auto; min-height: 56px; padding: 6px 0; align-items: center; }
#panel-gruplar .content-list-title { line-height: 1.45; white-space: normal; padding: 4px 0; }
#panel-gruplar .content-list-title-subs { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; }

/* Eğitmen sayfası */
.egitmen-detail-header { background: #f8fafc; border-bottom-color: var(--mv-border-soft); border-radius: var(--mv-radius) var(--mv-radius) 0 0; }
.egitmen-detail-name { color: var(--mv-text); letter-spacing: -.02em; }
.egitmen-info-row { background: #fff; border-bottom-color: var(--mv-border-soft); color: var(--mv-text-2); }
.egitmen-session-date-label { color: var(--mv-brand-deep); border-bottom: 0; padding: 14px 0 6px; letter-spacing: .07em; }
.egitmen-session-row { border-bottom: 0; border-radius: 10px; padding: 9px 10px; transition: background-color .12s; }
.egitmen-session-row:hover { background: #f5f8fb; }
.egitmen-session-time { font-weight: 700; color: #334155; font-variant-numeric: tabular-nums; }
.egitmen-picker-chip, .rpn-tab { border-color: var(--mv-border); box-shadow: var(--mv-shadow-xs); }
.egitmen-picker-chip.active, .rpn-tab-active { background: var(--mv-brand-soft); border-color: var(--mv-brand); color: var(--mv-brand-deep); }

/* Giderler, Genel Takvim, İşletme */
.gdr-expense-row { border-bottom-color: var(--mv-border-soft); border-radius: 10px; transition: background-color .12s; }
.gdr-expense-row:hover { background: #f7f9fc; }
.gdr-expense-amount { color: var(--mv-text); }
.gtk-cell-slot { border-radius: 10px; box-shadow: var(--mv-shadow-xs); }
.gtk-cell-slot:hover { box-shadow: var(--mv-shadow-md); }
#panel-isletme .content-full > .popup-t-content-header { transition: background-color .15s; border-radius: var(--mv-radius); }
#panel-isletme .content-full > .popup-t-content-header:hover { background-color: #f8fafc; }
#panel-isletme .content-full:not(.isletme-section-collapsed) > .popup-t-content-header { border-radius: var(--mv-radius) var(--mv-radius) 0 0; }
.isletme-danger-title.popup-t-content-header-title, .isletme-danger-title .popup-t-content-header-title { color: #b02a37; }

/* ═══════════════ TAKVİM ═══════════════ */

/* Araç çubuğu (masaüstü): iki sütun yerine tek sıra */
@media (min-width: 769px) {
    .takvim-quick-jump { display: flex; flex-direction: row; align-items: center; gap: 8px; }
    .takvim-quick-jump-col { flex-direction: row; gap: 6px; }
}
.takvim-quick-jump-btn {
    background-color: #fff;
    border: 1px solid var(--mv-border);
    color: var(--mv-text-2);
    border-radius: 10px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: var(--mv-shadow-xs);
    transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
}
.takvim-quick-jump-btn:hover { background-color: #f4f6fa; border-color: #cfd6e0; color: var(--mv-text); }
.takvim-quick-jump-btn.takvim-quick-jump-btn-active,
.takvim-quick-jump-btn.takvim-quick-jump-btn-active:hover {
    background-color: var(--mv-brand); border-color: var(--mv-brand); color: #fff;
    box-shadow: 0 1px 2px rgba(11, 127, 112, .35);
}
.takvim-datepicker-btn i, .takvim-fullscreen-btn i { color: var(--mv-text-2); }

.home-day-selectedday-txt { font-weight: 650; letter-spacing: -.015em; color: var(--mv-text); }
.home-day-selectedday-txt span { font-size: 12px; font-weight: 500; color: var(--mv-brand-deep); }
.home-day-selectedday-btn { border-radius: 10px; transition: background-color .15s; }
.home-day-selectedday-btn:hover { background-color: var(--mv-brand-soft); filter: none; }

/* Uyarı bantları: bağıran düz kırmızı yerine yumuşak, okunaklı */
.home-unapproved-sessions {
    background-color: #fef3f2; color: #b42318; border: 1px solid #fecdca;
    border-left: 4px solid #f04438; border-radius: 12px; box-shadow: none;
}
.home-overdue-today {
    background-color: #fffaeb; color: #b54708; border: 1px solid #fedf89;
    border-left: 4px solid #f79009; border-radius: 12px; box-shadow: none;
}
.tsb-banner { border-radius: 12px; box-shadow: none; }

/* Izgara */
.home-today-program td { border-bottom-color: var(--mv-border-soft); border-right-color: var(--mv-border-soft); }
.home-today-program td:first-child {
    background: #fff; color: var(--mv-muted); font-weight: 500; font-size: 12.5px;
    border-right-color: var(--mv-border);
    font-variant-numeric: tabular-nums;
}
.home-today-program tbody tr:nth-child(even) td { background: #fbfcfe; }
.home-today-program tbody tr:nth-child(even) td:first-child { background: #fff; }
.home-today-program tbody tr:hover td { background: #f6f9fc; }
.home-today-program tbody tr:hover td:first-child { background: #fff; color: var(--mv-text); }
.home-today-program tbody tr td:hover { background: #eef5f3; }

/* Haftalık gün başlıkları: açık, tarih vurgulu; bugün/onaysız durumu renkle (anlam aynı) */
.home-today-program th { font-size: 13px; letter-spacing: 0; text-shadow: none; border-right-color: var(--mv-border-soft); }
.home-today-program th.takvim-th-clickable {
    background: #f8fafc !important; color: var(--mv-text-2) !important;
    border-bottom: 1px solid var(--mv-border);
}
.home-today-program th.takvim-th-clickable:hover { filter: none; background: #f1f5f9 !important; }
.home-today-program th.takvim-th-clickable .takvim-th-date { color: var(--mv-muted); font-size: 12px; font-weight: 500; }
.home-today-program th.takvim-th-clickable[style*="#1a3d29"] {
    background: var(--mv-brand-soft) !important; color: var(--mv-brand-deep) !important; box-shadow: inset 0 -3px 0 var(--mv-brand);
}
.home-today-program th.takvim-th-clickable[style*="#1a3d29"] .takvim-th-date { color: var(--mv-brand-deep); }
.home-today-program th.takvim-th-clickable[style*="#3d1a1a"] {
    background: #fef3f2 !important; color: #b42318 !important; box-shadow: inset 0 -3px 0 #f04438;
}
.home-today-program th.takvim-th-clickable[style*="#3d1a1a"] .takvim-th-date { color: #d92d20; }

/* Ders kartları: eğitmen renginin açık tonu + renkli sol kenar (renk desteği olan tarayıcılarda) */
.home-today-program-class-session {
    border-radius: 10px;
    box-shadow: var(--mv-shadow-xs);
    transition: transform .12s ease, box-shadow .15s ease;
}
.home-today-program-class-session:hover { transform: translateY(-1px); box-shadow: var(--mv-shadow-md); }
@supports (background-color: color-mix(in srgb, red 10%, white)) {
    .home-today-program-class-session[style*="--pc"]:not(.state_0):not(.state_1):not(.state_-2) {
        background-color: color-mix(in srgb, var(--pc) 14%, #fff) !important;
        background-image: none !important;
        color: color-mix(in srgb, var(--pc) 38%, #101828);
        border-left: 4px solid var(--pc);
        box-shadow: var(--mv-shadow-xs);
    }
    .home-today-program-class-session[style*="--pc"]:not(.state_0):not(.state_1):not(.state_-2).cs-type-member::before {
        color: color-mix(in srgb, var(--pc) 55%, #98a2b3);
    }
    .home-today-program-class-session[style*="--pc"]:not(.state_0):not(.state_1):not(.state_-2).cs-type-group::before {
        background: color-mix(in srgb, var(--pc) 22%, #fff);
        color: color-mix(in srgb, var(--pc) 70%, #101828);
    }
}
.home-today-program-class-session.state_1 { box-shadow: var(--mv-shadow-xs); }
.home-today-program-class-session .cs-time { opacity: .75; }

/* Üzerine gelince vurgu */
#takvim-calendar td.tk-hl-this { background: #b4eadb !important; box-shadow: inset 0 0 0 2px var(--mv-brand); }
#takvim-calendar td.tk-hl-other { background: #d3f3ea !important; box-shadow: inset 0 0 0 2px #6dcdb5; }
/* (Eskiden burada ilgisiz derslerin kutuları soluklaştırılıyordu; kullanıcı isteğiyle kaldırıldı — yalnızca ilgili hücrelerin zemini vurgulanır.) */
.takvim-color-legend { color: var(--mv-muted); }

/* Mobil: şube seçici — alttan açılan sayfa (bottom sheet) */
.partner-branch-picker { display: none; }
@media (max-width: 768px) {
    #partner-branch-buttons { display: none; }
    .partner-branch-picker { display: block; width: 100%; padding: 0 16px; box-sizing: border-box; }
    .pbp-trigger {
        display: flex; align-items: center; gap: 12px; width: 100%;
        padding: 8px 14px 8px 8px; background: #fff; border: 1px solid var(--mv-border);
        border-radius: 14px; box-shadow: var(--mv-shadow-xs); text-align: left; cursor: pointer;
        transition: border-color .15s, box-shadow .15s;
    }
    .pbp-trigger:active, .pbp-trigger-open { border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring); }
    .pbp-icon {
        flex: 0 0 38px; height: 38px; border-radius: 11px; background: var(--mv-brand-soft); color: var(--mv-brand-deep);
        display: flex; align-items: center; justify-content: center; font-size: 19px;
    }
    .pbp-text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
    .pbp-label { font-size: 11.5px; font-weight: 600; color: var(--mv-muted); letter-spacing: .04em; }
    .pbp-value { font-size: 15.5px; font-weight: 650; color: var(--mv-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .pbp-chevron { color: var(--mv-muted); font-size: 18px; transition: transform .2s; }
    .pbp-trigger-open .pbp-chevron { transform: rotate(180deg); }

    .pbp-overlay {
        position: fixed; inset: 0; background: rgba(16, 24, 40, .45); opacity: 0; pointer-events: none;
        transition: opacity .22s; z-index: 1900; backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
    }
    .pbp-overlay.pbp-open { opacity: 1; pointer-events: auto; }
    .pbp-sheet {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 1901; background: #fff;
        border-radius: 22px 22px 0 0; box-shadow: 0 -12px 40px rgba(16, 24, 40, .22);
        padding: 8px 16px calc(18px + env(safe-area-inset-bottom)); max-height: 70vh; overflow-y: auto;
        transform: translateY(105%); transition: transform .28s cubic-bezier(.22, .8, .3, 1);
    }
    .pbp-sheet.pbp-open { transform: translateY(0); }
    .pbp-handle { width: 40px; height: 4px; border-radius: 4px; background: #d5dbe5; margin: 4px auto 14px; }
    .pbp-title { font-size: 17px; font-weight: 700; color: var(--mv-text); letter-spacing: -.01em; padding: 0 4px 10px; }
    .pbp-list { display: flex; flex-direction: column; gap: 6px; }
    .pbp-item {
        display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
        padding: 14px 16px; background: #fff; border: 1px solid var(--mv-border); border-radius: 14px;
        font-size: 15.5px; font-weight: 600; color: var(--mv-text); text-align: left; cursor: pointer;
    }
    .pbp-item:active { background: #f4f6fa; }
    .pbp-item-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .pbp-item-check { opacity: 0; font-size: 19px; color: var(--mv-brand-deep); }
    .pbp-item-selected { background: var(--mv-brand-soft); border-color: var(--mv-brand); color: var(--mv-brand-deep); }
    .pbp-item-selected .pbp-item-check { opacity: 1; }
}
@media (min-width: 769px) { .pbp-overlay, .pbp-sheet { display: none; } }

/* ═══════════════ MOTİVA AI YÖNETİMİ ═══════════════ */

.mym-btn { border-radius: 10px; padding: 10px 18px; font-weight: 600; transition: background-color .15s, box-shadow .15s, border-color .15s; }
.mym-btn-primary { background: var(--mv-brand); color: #fff; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); }
.mym-btn-primary:hover { background: var(--mv-brand-deep); box-shadow: 0 4px 12px rgba(11, 127, 112, .28); }
.mym-btn-primary:disabled { background: #b9c3cf; box-shadow: none; }
.mym-btn-ghost { border: 1px solid var(--mv-border); color: var(--mv-text-2); box-shadow: var(--mv-shadow-xs); }
.mym-btn-ghost:hover { background: #f6f8fb; border-color: #cfd6e0; }

.mym-thread { gap: 12px; }
.mym-empty { color: var(--mv-muted); padding: 26px 0 18px; }
.mym-bubble { border-radius: 16px; box-shadow: var(--mv-shadow-xs); }
.mym-bubble-partner { background: var(--mv-brand); border-bottom-right-radius: 5px; }
.mym-bubble-platform { background: #f1f4f8; border-bottom-left-radius: 5px; }
.mym-input { border: 1px solid #d5dbe5; border-radius: 12px; padding: 12px 14px; background: #fbfcfd; transition: border-color .15s, box-shadow .15s, background-color .15s; }
.mym-input:focus { outline: none; background: #fff; border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring); }
.mym-composer-hint { color: var(--mv-muted); }
.mym-ai-answer { background: #f3fbf9; border: 1px solid #cdeee7; border-left: 4px solid var(--mv-brand); border-radius: 12px; }
.mym-ai-answer-label { color: var(--mv-brand-deep); }

.abn-plan-card, .abn-usage-card, .abn-plan-option {
    background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-xs);
}
.abn-plan-card { background: linear-gradient(135deg, #f4fbf9 0%, #ffffff 65%); padding: 18px 22px; }
.abn-plan-name { font-size: 20px; font-weight: 700; color: var(--mv-text); letter-spacing: -.02em; }
.abn-plan-status { color: var(--mv-muted); font-weight: 500; }
.abn-usage-label { color: var(--mv-muted); font-weight: 600; letter-spacing: .06em; }
.abn-usage-value { color: var(--mv-text); font-size: 17px; letter-spacing: -.02em; }
.abn-usage-progress-wrap { height: 7px; background: #edf0f5; border-radius: 999px; }
.abn-usage-progress-bar { background: var(--mv-brand); border-radius: 999px; }
.abn-usage-bar-warning { background: #f79009; }
.abn-usage-bar-danger { background: #f04438; }
.abn-usage-limit-msg { color: #d92d20; }

.abn-plan-option { padding: 20px 18px; transition: transform .15s, box-shadow .18s, border-color .15s; }
.abn-plan-option:hover { transform: translateY(-2px); box-shadow: var(--mv-shadow-md); border-color: #cfd6e0; }
.abn-plan-option-current { border-color: var(--mv-brand); background: linear-gradient(180deg, #f4fbf9 0%, #fff 55%); box-shadow: 0 0 0 3px var(--mv-brand-ring); }
.abn-plan-option-current:hover { border-color: var(--mv-brand); }
.abn-plan-option-badge { background: var(--mv-brand); border-radius: 999px; letter-spacing: .02em; box-shadow: 0 2px 6px rgba(11, 127, 112, .3); }
.abn-plan-option-name { color: var(--mv-text); font-size: 16px; letter-spacing: -.01em; }
.abn-plan-option-price { color: var(--mv-brand-deep); font-size: 28px; font-weight: 800; letter-spacing: -.03em; }
.abn-plan-option-price span { color: var(--mv-muted); font-weight: 500; }
.abn-plan-option-features { gap: 0; margin-bottom: 4px; }
.abn-plan-feature { color: var(--mv-text-2); padding: 7px 0; border-bottom: 1px dashed var(--mv-border-soft); }
.abn-plan-feature:last-child { border-bottom: 0; }
.abn-plan-feature strong { color: var(--mv-text); }
.abn-upgrade-btn { background: var(--mv-brand); border-radius: 10px; padding: 11px 16px; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); transition: background-color .15s, box-shadow .15s; }
.abn-upgrade-btn:hover { background: var(--mv-brand-deep); box-shadow: 0 4px 12px rgba(11, 127, 112, .28); }
.abn-upgrade-btn-disabled, .abn-upgrade-btn-disabled:hover { background: #e9edf3; color: #9aa4b5; box-shadow: none; }
.abn-credit-note { color: var(--mv-muted); border-top-color: var(--mv-border-soft); }
.abn-broadcast-title { color: var(--mv-text); }
.abn-broadcast-desc { color: var(--mv-muted); }
.abn-broadcast-row input, .abn-broadcast-row select, .abn-test-field input, .abn-test-field select {
    border: 1px solid #d5dbe5; border-radius: 10px; transition: border-color .15s, box-shadow .15s;
}
.abn-broadcast-row input:focus, .abn-broadcast-row select:focus, .abn-test-field input:focus, .abn-test-field select:focus {
    outline: none; border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring);
}
.abn-test-field label { color: var(--mv-text-2); font-weight: 600; }

/* ═══════════════ TOPLU MESAJ ═══════════════ */

.tm-header-icon { background: linear-gradient(135deg, #19b9a3 0%, #0b8f7e 100%); border-radius: 14px; box-shadow: 0 4px 12px rgba(11, 127, 112, .28); }
.tm-header-title { color: var(--mv-text); letter-spacing: -.02em; }
.tm-header-desc { color: var(--mv-muted); }
.tm-card { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-xs); }
.tm-card-title { color: var(--mv-text); font-weight: 650; }
.tm-card-title i { color: var(--mv-brand); }
.tm-mode-btn { border: 1px solid var(--mv-border); background: #fff; color: var(--mv-text-2); border-radius: 999px; box-shadow: var(--mv-shadow-xs); }
.tm-mode-btn.active { background: var(--mv-brand); border-color: var(--mv-brand); color: #fff; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); }
.tm-mode-btn:hover:not(.active) { border-color: var(--mv-brand); color: var(--mv-brand-deep); background: var(--mv-brand-soft); }
.tm-recipients-list { border: 1px solid var(--mv-border); border-radius: 12px; padding: 4px 8px; background: #fff; }
.tm-recipient-row { border-bottom-color: var(--mv-border-soft); border-radius: 8px; padding: 9px 6px; transition: background-color .12s; }
.tm-recipient-row:hover { background: #f6f9fc; }
.tm-recipient-cb { accent-color: var(--mv-brand); }
.tm-recipient-avatar { background: var(--mv-brand); box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--mv-border-soft); }
.tm-recipient-name { color: var(--mv-text); }
.tm-recipient-phone { color: var(--mv-muted); }
.tm-recipient-phone.tm-recipient-nophone { color: #d92d20; }
.tm-recipients-toggle-all { color: var(--mv-brand-deep); }
.tm-count-pill, #tm-recipients-count { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.tm-cand { border-top-color: var(--mv-border); }
.tm-cand-badge { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.tm-recipient-src { color: var(--mv-brand-deep); }
.tm-add-btn { background: var(--mv-brand); border-radius: 12px; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); transition: background-color .15s, box-shadow .15s; }
.tm-add-btn:hover:not(:disabled) { background: var(--mv-brand-deep); box-shadow: 0 4px 12px rgba(11, 127, 112, .28); }
.tm-add-btn:disabled { background: #e9edf3; color: #9aa4b5; box-shadow: none; }
.tm-col-message .es-btn-primary { background: var(--mv-brand); border-radius: 12px; }
.tm-col-message .es-btn-primary:hover { background: var(--mv-brand-deep); }
.tm-preview-bubble { border-radius: 14px; border-bottom-left-radius: 4px; box-shadow: var(--mv-shadow-xs); }
.tm-sel-remove { border-color: var(--mv-border); }
.tm-sel-remove:hover { color: #d92d20; border-color: #f7c4c0; background: #fef3f2; }
.tm-recipients-clear { color: #d92d20; }
.tm-recipients-header { gap: 8px; }
.tm-recipients-header-right { gap: 8px; }
.tm-recipients-toggle-all { font-size: 0.8em; white-space: nowrap; }

/* ═══════════════ RAPORLAR (sayfa içi <style> bloklarını ezmek için body öneki) ═══════════════ */

body .raporlar-tab-btn.active { color: var(--mv-brand-deep); border-bottom-color: var(--mv-brand); }
body .raporlar-tab-btn { transition: color .15s, border-color .15s; }
body .dersler-card-datetime .card-time { color: var(--mv-brand-deep); }
body .dersler-day-header-count { background: var(--mv-brand); }
body .dersler-card { border-radius: 12px; box-shadow: var(--mv-shadow-xs); border-color: var(--mv-border); }
body .dersler-card:hover { box-shadow: var(--mv-shadow-md); border-color: #cfd6e0; }
body .dersler-more-btn { border-radius: 10px; }

/* Dönem seçici (Günlük/Haftalık/Aylık), ileri-geri, "Bugün" */
body .perf-mode-toggle, body .gel-mode-toggle, body .tah-mode-toggle { background: #e9edf3; border-radius: 11px; padding: 3px; }
body .perf-mode-btn, body .gel-mode-btn, body .tah-mode-btn { border-radius: 8px; color: var(--mv-text-2); }
body .perf-mode-btn.active, body .gel-mode-btn.active, body .tah-mode-btn.active {
    background: #fff; color: var(--mv-brand-deep); box-shadow: 0 1px 3px rgba(16, 24, 40, .12);
}
body .perf-nav-btn, body .gel-nav-btn, body .tah-nav-btn { border: 1px solid var(--mv-border); border-radius: 10px; color: var(--mv-text-2); box-shadow: var(--mv-shadow-xs); }
body .perf-nav-btn:hover, body .gel-nav-btn:hover, body .tah-nav-btn:hover { background: #f4f6fa; }
body .perf-today-btn, body .gel-today-btn, body .tah-today-btn {
    border: 1px solid var(--mv-brand); color: var(--mv-brand-deep); border-radius: 10px; background: #fff;
}
body .perf-today-btn:hover, body .gel-today-btn:hover, body .tah-today-btn:hover { background: var(--mv-brand-soft); }

/* Özet kartları: aynı yüzey; üst şerit ince ve marka rengiyle uyumlu */
body .perf-card, body .gel-card, body .tah-card {
    border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-xs); background: var(--mv-surface);
}
body .perf-card-label, body .gel-card-label, body .tah-card-label { color: var(--mv-muted); font-weight: 600; letter-spacing: .06em; }
body .gel-card::before { background: var(--mv-brand); }
body .gel-card-value { color: var(--mv-brand-deep); }
body .tah-card::before { background: var(--mv-brand); }
body .tah-card-value { color: var(--mv-brand-deep); }
body .tah-day-header-total { color: var(--mv-brand-deep); }
body .perf-card-blue::before { background: #60a5fa; }
body .perf-section, body .gel-section, body .tah-section {
    border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-xs); background: var(--mv-surface);
}
body .perf-section-title, body .gel-section-title, body .tah-section-title { color: var(--mv-muted); font-weight: 600; letter-spacing: .06em; }

/* Grafik çubukları */
body .gel-bar { background: var(--mv-brand); border-radius: 6px 6px 0 0; }
body .tah-bar { background: var(--mv-brand); border-radius: 6px 6px 0 0; }
body .gel-bar-empty, body .tah-bar-empty { background: #edf0f5; }
body .perf-table thead th { color: var(--mv-muted); font-weight: 600; }
body .perf-table tbody tr:hover { background: #f7f9fc; }

/* ═══════════════ YARDIM MERKEZİ ═══════════════ */

.yrd-hero { background: linear-gradient(120deg, #0a6a5e 0%, #0f9d8a 100%); border-radius: 18px; box-shadow: var(--mv-shadow-md); position: relative; overflow: hidden; }
.yrd-hero::after {
    content: ""; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%); pointer-events: none;
}
.yrd-hero h2 { font-weight: 700; letter-spacing: -.02em; }
.yrd-search input { border-radius: 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, .16); }
.yrd-popular a { background: rgba(255, 255, 255, .18); transition: background-color .15s; }
.yrd-cat { color: var(--mv-text-2); transition: background-color .15s, color .15s; }
.yrd-cat > i { color: var(--mv-brand); }
.yrd-cat > em { color: var(--mv-muted); background: #eef1f5; }
.yrd-cat:hover { background: #eef2f6; }
.yrd-cat.active { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.yrd-tile, .yrd-card, .yrd-article { border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-xs); }
.yrd-tile, .yrd-card { transition: transform .15s, box-shadow .18s, border-color .15s; }
.yrd-tile:hover, .yrd-card:hover { transform: translateY(-1px); border-color: #cfd6e0; box-shadow: var(--mv-shadow-md); }
.yrd-tile-icon { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.yrd-tile-head b, .yrd-card-title, .yrd-h, .yrd-article h3 { color: var(--mv-text); letter-spacing: -.01em; }
.yrd-tile-head small, .yrd-sub, .yrd-meta, .yrd-crumbs { color: var(--mv-muted); }
.yrd-tile li a, .yrd-crumbs a, .yrd-related a, .yrd-empty a { color: var(--mv-brand-deep); }
.yrd-tile li a { border-top-color: var(--mv-border-soft); }
.yrd-tile-more, .yrd-card-cat { color: var(--mv-brand-deep); }
.yrd-card-sum, .yrd-lead, .yrd-article p, .yrd-ul, .yrd-steps li { color: var(--mv-text-2); }
.yrd-steps li::before { background: var(--mv-brand); }
.yrd-gopanel { background: var(--mv-brand); border-radius: 10px; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); }
.yrd-gopanel:hover { background: var(--mv-brand-deep); }
.yrd-kbd { background: #f1f4f8; border-color: var(--mv-border); }
.yrd-tip { background: var(--mv-brand-soft); color: #0b5f53; }
.yrd-warn { background: #fffaeb; color: #93370d; border: 1px solid #fedf89; }
.yrd-empty { border-color: var(--mv-border); border-radius: var(--mv-radius); }

/* ═══════════════ GİRİŞ / KAYIT / KURULUM / KULLANIM ŞARTLARI (Layout=null sayfalar) ═══════════════ */

body .auth-brand { background: linear-gradient(150deg, #08574d 0%, #0b7f70 55%, #14a58f 100%); }
body .auth-feature-check { background: rgba(255, 255, 255, .22); }
body .auth-form-side { background: var(--mv-bg); }
body .auth-mobile-wordmark { color: var(--mv-text); }
body .auth-card { border-radius: 20px; box-shadow: 0 16px 48px rgba(16, 24, 40, .10); border: 1px solid var(--mv-border-soft); }
body .auth-tabs { background: #f8fafc; border-bottom-color: var(--mv-border-soft); }
body .auth-tab-btn.active { color: var(--mv-brand-deep); border-bottom-color: var(--mv-brand); }
body .auth-panel-title { color: var(--mv-text); letter-spacing: -.02em; }
body .auth-panel-desc { color: var(--mv-muted); }
body .auth-input-wrap { border: 1px solid #d5dbe5; border-radius: 12px; }
body .auth-input-wrap:focus-within { border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring); }
body .auth-input-icon { border-right-color: #d5dbe5; background: #f8fafc; }
body .auth-link:hover { color: var(--mv-brand-deep); }
body .auth-submit-btn { background-color: var(--mv-brand); border-radius: 12px; box-shadow: 0 1px 2px rgba(11, 127, 112, .35); transition: background-color .15s, box-shadow .15s; }
body .auth-submit-btn:hover { background-color: var(--mv-brand-deep); box-shadow: 0 6px 16px rgba(11, 127, 112, .28); }
body .auth-submit-btn:disabled { background-color: #b9c3cf; box-shadow: none; }
body .onboard-label { color: var(--mv-text-2); }
body .onboard-readonly-info { background: #f1f4f8; }
body .onboard-calendar-option { border: 1px solid #d5dbe5; border-radius: 12px; transition: background-color .15s, border-color .15s; }
body .onboard-calendar-option:hover { background: #f8fafc; }
body .onboard-calendar-option:has(input:checked) { background: var(--mv-brand-soft); border-color: var(--mv-brand); }
body .onboard-calendar-option input[type="checkbox"] { accent-color: var(--mv-brand); }
body .terms-header { background: linear-gradient(120deg, #08574d 0%, #0b7f70 100%); }
body .terms-card { border-radius: 20px; box-shadow: 0 16px 48px rgba(16, 24, 40, .08); }
body .terms-body h2 { color: var(--mv-text); letter-spacing: -.01em; }
html body { font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }

/* Hesabım: şifre alanları */
body .pw-input-wrap input { border-color: #d5dbe5; border-radius: 10px; }
body .pw-input-wrap input:focus { border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring); outline: none; }
body .pw-toggle:hover { color: var(--mv-brand-deep); }

/* ═══════════════ UYARI / BAŞARI PENCERELERİ (#popup-id-error / #popup-id-success) ═══════════════
   Kullanıcı raporu: mesaj kutunun sağına-soluna yapışıyordu (başlık alanında yatay boşluk yoktu, satır
   yüksekliği 50px sabitti). Mesaj artık ortalı, iç boşluklu, çok satıra rahat sığar; üstte simge rozeti. */
.popup-ct-error-title, .popup-ct-success-title {
    line-height: 1.55; margin: 0; padding: 26px 32px 30px;
    font-size: 16px; font-weight: 600; color: var(--mv-text); letter-spacing: -.005em;
    overflow-wrap: anywhere;
}
.popup-ct-error-title::before, .popup-ct-success-title::before {
    display: flex; align-items: center; justify-content: center;
    width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%;
    font-size: 26px; font-weight: 700; line-height: 1;
}
.popup-ct-error-title::before   { content: "!"; background: #fef3f2; color: #d92d20; box-shadow: 0 0 0 6px #fff5f4; }
.popup-ct-success-title::before { content: "✓"; background: #e3f7ea; color: #137a3c; box-shadow: 0 0 0 6px #f0fbf4; }
.popup-ct-error-desc, .popup-ct-success-desc {
    margin: -16px 0 0; padding: 0 32px 30px; font-size: 14.5px; color: var(--mv-text-2); text-align: center; line-height: 1.6;
}
.popup-ct-error-desc ul, .popup-ct-success-desc ul { list-style: none; margin: 0; padding: 0; }
.popup-ct-error-desc:empty, .popup-ct-success-desc:empty { display: none; }
.popup-c-area { padding-bottom: 24px; }
.popup-c-area .popup-ct-error-desc ul:empty { display: none; }

/* ═══════════════ PENCERE FORM BİLEŞENLERİ (radyo, sekme, renk, açıklama) ═══════════════ */

.form-t1-radio1 { height: auto; min-height: 44px; padding: 2px 0; align-items: center; }
.form-t1-radio1-title { font-weight: 600; font-size: 13.5px; color: var(--mv-text-2); }
.form-t1-radio1-radio { flex-wrap: wrap; gap: 8px; }
.form-t1-radio1-radio label {
    display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 7px 13px;
    background: #fff; border: 1px solid #d5dbe5; border-radius: 10px;
    font-size: 13.5px; font-weight: 500; color: var(--mv-text-2); cursor: pointer;
    transition: background-color .15s, border-color .15s, color .15s;
}
.form-t1-radio1-radio label:hover { background: #f8fafc; border-color: #b8c2d0; }
.form-t1-radio1-radio label:has(input:checked) { background: var(--mv-brand-soft); border-color: var(--mv-brand); color: var(--mv-brand-deep); font-weight: 600; }
.form-t1-radio1-radio input { accent-color: var(--mv-brand); margin: 0; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--mv-brand); }

.form-t1-tab-group { gap: 4px; padding: 4px; background: #e9edf3; border-radius: 12px; }
.form-t1-tab { border: 0; border-radius: 9px; background: transparent; color: var(--mv-text-2); font-weight: 600; padding: 9px 0; transition: background-color .15s, color .15s, box-shadow .15s; }
.form-t1-tab:hover { background: rgba(255, 255, 255, .55); color: var(--mv-text); }
.form-t1-tab.active { background: #fff; border: 0; color: var(--mv-brand-deep); box-shadow: 0 1px 3px rgba(16, 24, 40, .12); }

.form-t1-desc { color: var(--mv-muted); text-indent: 0; line-height: 1.5; font-size: 12.5px; }
.form-t1-input-col label { color: var(--mv-text-2); font-weight: 600; }
.form-t2-input-area > div:first-child { font-weight: 600; font-size: 13.5px; color: var(--mv-text-2); margin-bottom: 6px; }
.form-t2-color-selector, input[type="color"] { border-radius: 10px; }
input[type="color"] { height: 40px; width: 100%; padding: 4px; border: 1px solid #d5dbe5; background: #fff; cursor: pointer; }
.isletme-user-login { background: #f5fbf9; border: 1px solid #d6efe9; border-radius: 12px; }
.isletme-user-login-title { color: var(--mv-text); }
.isletme-user-login-title .ti { color: var(--mv-brand); }
.isletme-save-btn { background: var(--mv-brand); border-radius: 10px; }
.isletme-save-btn:hover { background: var(--mv-brand-deep); }

/* Onay / bilgi pencereleri (showConfirmDialog / showMessageDialog) */
.app-confirm-box { border-radius: 20px; padding: 26px; box-shadow: var(--mv-shadow-lg); }
.app-confirm-title { color: var(--mv-text); font-weight: 700; letter-spacing: -.01em; }
.app-confirm-message { color: var(--mv-text-2); line-height: 1.6; }
.app-confirm-cancel, .app-confirm-ok { height: 40px; border-radius: 11px; font-weight: 600; }
.app-confirm-cancel { background: #eef1f6; color: var(--mv-text-2); }
.app-confirm-ok { background: var(--mv-brand); box-shadow: 0 1px 2px rgba(11, 127, 112, .35); }
.app-confirm-ok-danger { background: #e5493a; }
.app-message-success .app-message-icon { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.app-message-error .app-message-icon { background: #fef3f2; color: #d92d20; }
.app-message-info .app-message-icon { background: #eef4ff; color: #3b6fe0; }

/* Pencere başlık bantları: tek marka gradyanı (üye düzenleme = koyu yeşil, ders ekleme = teal idi) */
.uye-edit-header, .au-header { background: linear-gradient(135deg, #0a6a5e 0%, #0f9d8a 100%); }

/* Onay kutusu satırları (ör. "Genel Takvimi Aç", "Şubeyi Sil"): kart gibi, tıklanabilir alan geniş */
.form-t2-input-area > .form-t1-input:has(> .form-t1-checkbox) {
    display: flex; align-items: center; gap: 12px; margin-top: 0; padding: 11px 14px;
    background: #fff; border: 1px solid #d5dbe5; border-radius: 12px; cursor: pointer;
    transition: background-color .15s, border-color .15s;
}
.form-t2-input-area > .form-t1-input:has(> .form-t1-checkbox):hover { background: #f8fafc; border-color: #b8c2d0; }
.form-t2-input-area > .form-t1-input:has(> .form-t1-checkbox:checked) { background: var(--mv-brand-soft); border-color: var(--mv-brand); }
.form-t2-input-area > .form-t1-input > .form-t1-checkbox { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
.form-t2-input-area > .form-t1-input > .form-t1-checkbox + label { flex: 1; margin: 0; font-size: 14px; font-weight: 600; color: var(--mv-text); cursor: pointer; }
.form-t2-input-area > .form-t1-desc { margin-top: 6px; }
.form-t2-input-area[id$="delete-area"] > .form-t1-input:has(> .form-t1-checkbox) { background: #fef6f5; border-color: #f7c4c0; }
.form-t2-input-area[id$="delete-area"] > .form-t1-input:has(> .form-t1-checkbox:checked) { background: #fdeaea; border-color: #e5493a; }
.form-t2-input-area[id$="delete-area"] > .form-t1-input > .form-t1-checkbox { accent-color: #d92d20; }
.form-t2-input-area[id$="delete-area"] > .form-t1-input > .form-t1-checkbox + label { color: #b42318; }

/* Ders Geçmişi penceresi: sekmeler üstte, liste altta; sekmeler sabit yükseklikte hap düğmeler */
.ush-area { min-width: min(80vw, 560px); }
.ush-tabs, .ush-list { width: 100%; }
.ush-tabs { align-items: center; }
.ush-tab { flex: 0 0 auto; align-self: center; height: auto; border-radius: 999px; }
.ush-tab.active { background: var(--mv-brand); border-color: var(--mv-brand); }
.ush-row { padding-top: 11px; padding-bottom: 11px; }

/* ═══════════════ GEÇMİŞ ÖDEMELER penceresi ═══════════════ */
.uph-area { min-width: min(88vw, 520px); }
.uph-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.uph-sum-item { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: linear-gradient(135deg, #f1fbf8 0%, #fff 70%); border: 1px solid var(--mv-border); border-radius: 14px; }
.uph-sum-label { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mv-muted); }
.uph-sum-value { font-size: 22px; font-weight: 750; letter-spacing: -.02em; color: var(--mv-brand-deep); }
.uph-list { display: flex; flex-direction: column; gap: 8px; }
.uph-item { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: #fff; border: 1px solid var(--mv-border); border-radius: 14px; box-shadow: var(--mv-shadow-xs); transition: border-color .15s, box-shadow .15s; }
.uph-item:hover { border-color: #cfd6e0; box-shadow: var(--mv-shadow-md); }
.uph-badge { flex: 0 0 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--mv-brand-soft); color: var(--mv-brand-deep); font-size: 19px; font-weight: 700; }
.uph-info { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.uph-date { font-size: 14px; font-weight: 600; color: var(--mv-text); }
.uph-note { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #eef1f6; color: var(--mv-text-2); font-size: 12px; font-weight: 600; }
.uph-amount { font-size: 17px; font-weight: 700; letter-spacing: -.01em; color: var(--mv-text); white-space: nowrap; }
.uph-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 36px 0 28px; color: var(--mv-muted); font-size: 14px; }
.uph-empty-icon { width: 52px; height: 52px; border-radius: 50%; background: #f1f4f8; color: #98a2b3; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; }

/* ═══════════════ DERS EKLEME PENCERESİ: GÜN SEÇİMİ ═══════════════ */
.add-session-checkbox.gg-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.add-session-checkbox .gg-day-item { width: auto; min-width: 0; gap: 6px; }
.add-session-checkbox .gg-day-pill {
    width: 100%; height: 46px; border-radius: 12px; font-size: 13px; font-weight: 600;
    color: var(--mv-text-2); background: #fff; border: 1px solid #d5dbe5; box-shadow: var(--mv-shadow-xs);
}
.add-session-checkbox .gg-day-pill:hover { background: var(--mv-brand-soft); border-color: var(--mv-brand); color: var(--mv-brand-deep); }
.add-session-checkbox .gg-day-item .form-t1-checkbox:checked + .gg-day-pill {
    background: var(--mv-brand); border-color: var(--mv-brand); color: #fff; font-weight: 700;
    box-shadow: 0 4px 12px rgba(11, 127, 112, .30);
}
/* Seçilen günün saati: sade bir rozet + "değiştir" bağlantısı (görünürlüğü JS yazar) */
.add-session-checkbox .gg-day-hour {
    display: flex; flex-direction: column; align-items: center; gap: 2px; width: 100%; min-height: 42px; box-sizing: border-box;
    padding: 5px 4px; border-radius: 10px; background: var(--mv-brand-soft); color: var(--mv-brand-deep);
    font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.add-session-checkbox .gg-day-hour span {
    font-size: 11px; font-weight: 600; color: var(--mv-muted); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 2px;
}
.add-session-checkbox .gg-day-hour span:hover { color: var(--mv-brand-deep); }

/* ═══════════════ ÜYE / GRUP ALANLARI: tıklanabilir oldukları belli olsun ═══════════════ */
/* Ders ekleme penceresi: seçili üye/grup kutusu — sağında "Üye detayı ›" düğme etiketi */
.au-popup .class-session-select-member-edit {
    height: 46px; padding: 0 8px 0 14px; border-radius: 12px; box-shadow: var(--mv-shadow-xs);
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.au-popup .class-session-select-member-edit:hover { background: #d9f1ec; box-shadow: 0 4px 12px rgba(11, 127, 112, .16); }
.au-popup .class-session-select-member-edit span:first-child { font-size: 14px; color: var(--mv-brand-deep); }
.au-popup .class-session-select-member-edit .info,
.au-popup .class-session-select-membergroup-edit .info {
    width: auto; height: auto; margin-left: 10px; padding: 5px 12px; border-radius: 999px; flex: 0 0 auto;
    background-image: none; filter: none; background-color: #fff; color: var(--mv-brand-deep);
    font-size: 12px; font-weight: 600; box-shadow: inset 0 0 0 1px #bfe3dc;
}
.au-popup .class-session-select-member-edit .info::before { content: "Üye detayı  ›"; white-space: pre; }
.au-popup .class-session-select-membergroup-edit .info::before { content: "Grubu aç  ›"; white-space: pre; }
.au-popup .class-session-select-member-edit:hover .info { background-color: var(--mv-brand); color: #fff; box-shadow: none; }
.au-popup .class-session-select-membergroup-edit { background: #fff8e6; border-color: #f59e0b; }
.au-popup .class-session-select-membergroup-edit:hover { background: #fff1cc; }
.au-popup .class-session-select-membergroup-edit .info { color: #92400e; box-shadow: inset 0 0 0 1px #f6d58a; }
.au-popup .class-session-select-membergroup-edit:hover .info { background-color: #f59e0b; color: #fff; }

/* Dersi güncelleme penceresi: üye / grup satırları kart düğmesi gibi (tüm satır tıklanır; sağda "Detay ›") */
.es-member-value .class-session-select-member-edit,
.es-member-status-row > .class-session-select-member-edit {
    position: relative; display: flex !important; align-items: center; gap: 10px; margin: 0 0 6px !important; padding: 9px 12px !important;
    background: #fff !important; border: 1px solid var(--mv-border) !important; border-radius: 12px; box-shadow: var(--mv-shadow-xs);
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.es-member-value .class-session-select-member-edit:hover,
.es-member-status-row > .class-session-select-member-edit:hover {
    background: var(--mv-brand-soft) !important; border-color: var(--mv-brand) !important; box-shadow: 0 4px 12px rgba(11, 127, 112, .14);
}
.es-member-value .class-session-select-member-edit span:first-child,
.es-member-status-row > .class-session-select-member-edit span:first-child { color: var(--mv-text) !important; text-decoration: none !important; }
.es-member-value .class-session-select-member-edit > i,
.es-member-status-row > .class-session-select-member-edit > i { color: var(--mv-brand-deep); opacity: 1; }
.es-member-value .class-session-select-member-edit::after,
.es-member-status-row > .class-session-select-member-edit::after {
    content: "Detay  ›"; white-space: pre; width: auto; height: auto; margin-left: auto; flex: 0 0 auto;
    padding: 3px 10px; border-radius: 999px; background: var(--mv-brand-soft); background-image: none; opacity: 1;
    color: var(--mv-brand-deep); font-size: 11.5px; font-weight: 600;
}
.es-member-value .class-session-select-membergroup-edit::after { content: "Grubu aç  ›"; }
.es-member-value .class-session-select-member-edit:hover::after,
.es-member-status-row > .class-session-select-member-edit:hover::after { background: var(--mv-brand); color: #fff; }
.es-member-value .class-session-select-membergroup-edit { padding-bottom: 9px !important; margin-bottom: 8px !important; border-bottom: 1px solid var(--mv-border) !important; }
/* Tamamlanmış (kilitli) satırlarda yalnızca ad tıklanabilir: tıklama alanı tüm satıra yayılır */
.es-member-row-locked { cursor: pointer; }
.es-member-row-locked > span[onclick]::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.add-session-checkbox .gg-day-hour { align-self: stretch; }
@media (max-width: 480px) {
    .add-session-checkbox.gg-days { gap: 5px; }
    .add-session-checkbox .gg-day-pill { height: 42px; font-size: 12px; }
    .add-session-checkbox .gg-day-hour { font-size: 11.5px; padding: 4px 2px; }
}

/* ═══════════════ SAAT SEÇİMİ PENCERESİ ═══════════════ */
.hs-picker { width: min(92vw, 400px); box-sizing: border-box; padding: 6px 18px 20px; }
.hs-period { padding-top: 14px; }
.hs-period-title {
    display: flex; align-items: center; gap: 7px; margin-bottom: 10px;
    font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--mv-muted);
}
.hs-period-title .ti { font-size: 16px; color: var(--mv-brand); }
.hs-hour-row { display: flex; align-items: center; gap: 12px; padding: 6px 0; border-top: 1px solid var(--mv-border-soft); }
.hs-hour-row:first-of-type { border-top: 0; }
.hs-hour-label { flex: 0 0 30px; font-size: 15px; font-weight: 700; color: var(--mv-text-2); font-variant-numeric: tabular-nums; }
.hs-chips { flex: 1; display: grid; grid-template-columns: repeat(var(--hs-cols, 4), minmax(0, 1fr)); gap: 8px; }
.hs-chip {
    display: flex; align-items: center; justify-content: center; padding: 10px 0;
    background: #fff; border: 1px solid #d5dbe5; border-radius: 10px; box-shadow: var(--mv-shadow-xs);
    font-size: 14px; font-weight: 600; color: var(--mv-text); font-variant-numeric: tabular-nums; cursor: pointer;
    transition: background-color .12s, border-color .12s, color .12s, box-shadow .12s, transform .08s;
}
.hs-chip:hover { background: var(--mv-brand-soft); border-color: var(--mv-brand); color: var(--mv-brand-deep); }
.hs-chip:active { transform: scale(.96); }
.hs-chip.hs-selected { background: var(--mv-brand); border-color: var(--mv-brand); color: #fff; box-shadow: 0 4px 12px rgba(11, 127, 112, .30); }

/* ═══════════════ DERSİ GÜNCELLE PENCERESİ: gereksiz genişlemesin ═══════════════ */
.popup-t-move:has(.es-wrapper) { width: 100%; max-width: min(92vw, 720px); }
.es-wrapper { min-width: 0; }
.es-wrapper .es-low-alert, .es-wrapper .es-low-alert * { white-space: normal; overflow-wrap: anywhere; }

/* Pencere kapatma düğmesi: köşeye yapışmasın — üzerine gelince oluşan arka plan yuvarlak ve içeride kalır */
.popup-t-close-btn { width: 40px; height: 40px; margin: 5px 10px 5px 0; flex: 0 0 auto; }

/* ═══════════════ GRUPLAR: KATILIM GÜNLERİ PENCERESİ ═══════════════ */
.gg-member-days-popup {
    flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; justify-content: flex-start !important;
    gap: 0; min-width: min(92vw, 420px) !important; padding: 22px 24px 24px;
}
.gg-member-days-name { font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--mv-text); margin-bottom: 4px; }
.gg-member-days-name::after {
    content: "Katılacağı günleri işaretleyin. Hiçbir gün seçili değilse üye bu grupta kalır ama hiçbir derse katılmaz.";
    display: block; margin: 6px 0 0; font-size: 12.5px; font-weight: 400; letter-spacing: 0; line-height: 1.5; color: var(--mv-muted);
}
.gg-member-days-list { gap: 8px; margin: 16px 0 18px; }
.gg-member-day-row {
    padding: 12px 14px; gap: 12px; background: #fff; border: 1px solid #d5dbe5; border-radius: 12px; cursor: pointer;
    box-shadow: var(--mv-shadow-xs); transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.gg-member-day-row:hover { background: #f8fafc; border-color: #b8c2d0; }
.gg-member-day-row:has(.form-t1-checkbox:checked) { background: var(--mv-brand-soft); border-color: var(--mv-brand); box-shadow: 0 0 0 3px var(--mv-brand-ring); }
.gg-member-day-row .form-t1-checkbox { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; }
.gg-member-day-row label { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 14.5px; margin: 0; }
.gg-member-day-row label span {
    margin-left: 0; padding: 3px 11px; border-radius: 999px; background: #eef1f6; color: var(--mv-text-2);
    font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.gg-member-day-row:has(.form-t1-checkbox:checked) label span { background: #fff; color: var(--mv-brand-deep); box-shadow: inset 0 0 0 1px #bfe3dc; }
.gg-member-days-popup .content-search-area {
    flex-direction: column; align-items: stretch; justify-content: flex-start; height: auto; gap: 6px; padding: 0 !important;
}
.gg-member-days-popup .content-search-title { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--mv-text-2); }
.gg-member-days-popup .content-search-area input { width: 100%; height: 44px; box-sizing: border-box; padding: 0 14px; border-radius: 12px; }
.gg-member-days-popup .page-top-right-button { margin-top: 18px; justify-content: stretch; }
.gg-member-days-popup .page-top-right-button .page-top-right-button-btn { width: 100%; justify-content: center; margin: 0; height: 46px; font-size: 15px; }

/* ═══════════════ ÜYE KARTI: DERS HAKKI + DERS BAŞI ÜCRET (2×2) ═══════════════ */
.mpc-credit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mpc-credit-grid .mpc-session-badge {
    display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "count . edit" "label label label";
    align-items: center; gap: 2px 8px; padding: 10px 12px; border-radius: 14px;
    background: var(--mv-brand-soft); border: 1px solid #cdeee7; box-shadow: var(--mv-shadow-xs);
}
.mpc-credit-grid .mpc-session-count { grid-area: count; font-size: 20px; font-weight: 750; letter-spacing: -.02em; color: var(--mv-brand-deep); line-height: 1.15; }
.mpc-credit-grid .mpc-session-label { grid-area: label; font-size: 11.5px; font-weight: 600; color: var(--mv-muted); letter-spacing: .01em; }
.mpc-credit-grid .mpc-credit-edit-btn { grid-area: edit; margin: 0; width: 26px; height: 26px; border-radius: 8px; border-color: #bfe3dc; color: var(--mv-brand-deep); opacity: .85; }
.mpc-credit-grid .mpc-credit-edit-btn:hover { background: #fff; opacity: 1; }
/* Ücret rozetleri: ders hakkı rozetlerinden ayrışsın (nötr/mavi ton); ücret belirlenmemişse uyarı (amber) */
.mpc-credit-grid .mpc-price-badge { background: #f5f8ff; border-color: #d3def8; }
.mpc-credit-grid .mpc-price-badge .mpc-session-count { color: #2b5fd9; }
.mpc-credit-grid .mpc-price-badge .mpc-credit-edit-btn { border-color: #c3d3f6; color: #2b5fd9; }
.mpc-credit-grid .mpc-price-badge.mpc-price-missing { background: #fffaeb; border-color: #fedf89; }
.mpc-credit-grid .mpc-price-badge.mpc-price-missing .mpc-session-count { color: #b54708; font-size: 15px; }
.mpc-credit-grid .mpc-price-badge.mpc-price-missing .mpc-credit-edit-btn { border-color: #f6d58a; color: #b54708; }
.mpc-credit-grid .mpc-price-badge.mpc-price-missing .mpc-session-label::after { content: " — eğitmen hakedişi 0 hesaplanır"; font-weight: 500; }

.mpc-price-edit-panel { margin-top: 10px; }
.mpc-price-edit-title { font-size: 13px; font-weight: 700; color: var(--mv-text); margin-bottom: 8px; }
.mpc-price-edit-row { display: flex; align-items: center; gap: 10px; }
.mpc-price-edit-row .mpc-credit-delta-input { width: 130px; }
.mpc-price-currency { font-size: 13.5px; font-weight: 600; color: var(--mv-text-2); }
.mpc-price-apply { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 0; font-size: 12.5px; font-weight: 600; color: var(--mv-text-2); cursor: pointer; line-height: 1.4; }
.mpc-price-apply input { margin-top: 2px; }
.mpc-price-hint { margin-top: 10px; font-size: 12px; line-height: 1.5; color: var(--mv-muted); }
.mpc-price-edit-row .mpc-credit-delta-input { flex: 0 0 150px; width: 150px !important; }
.mpc-credit-grid .mpc-session-label.mpc-price-derived::after { content: " · " attr(data-src); font-weight: 500; color: var(--mv-muted); }

/* Genel Takvim: onaylanmamış dersi olan günün başlığı (Üye Takvimi haftalık başlığıyla aynı kırmızı dil) */
.gtk-grid thead th.gtk-th-unapproved, .gtk-grid th.gtk-th-unapproved {
    background: #fef3f2 !important; color: #b42318 !important; box-shadow: inset 0 -3px 0 #f04438;
}

/* ═══════════════ ÜYE TAKVİMİ: DERS DURUMLARI KOLAY AYRILSIN ═══════════════
   Kullanıcı raporu: onaylanan/onaylanmayan, özellikle eğitmen atanmamış ve iptal edilmiş dersler birbirinden tam ayrılmıyordu
   (ikisi de pembe/kırmızı tondaydı; eğitmen rengi yeşil olan bir bekleyen ders tamamlanmış gibi görünüyordu).
   Artık durum rengin yanında İKON + BİÇİM ile de anlatılır (saat satırının başında simge):
     ✓  Tamamlandı       → dolgun yeşil, düz kenar
     ✕  İptal edildi     → GRİ, taralı zemin, üstü çizili (kırmızı DEĞİL)
     ⏸  Askıya alındı    → lavanta, taralı zemin, üstü çizili
     ⚠  Eğitmen atanmadı → beyaz zemin üzerinde kırmızı çizgili zemin + KESİKLİ kırmızı çerçeve
     (simgesiz)           → Bekliyor: eğitmenin açık renk tonu + renkli sol kenar
   Yalnızca görünüm; takvim ızgarası/ölçüleri değişmez. */

.home-today-program-class-session .cs-time::before { font-weight: 800; margin-right: 3px; }

/* Tamamlandı */
.home-today-program-class-session.state_1 {
    background-color: #d2f4da !important; border-left-color: #16a34a; color: #14532d; opacity: 1; box-shadow: var(--mv-shadow-xs);
}
.home-today-program-class-session.state_1 .cs-time::before { content: "✓"; color: #15803d; }
.home-today-program-class-session.state_1 .cs-time { opacity: .95; }

/* İptal edildi: gri + taralı + üstü çizili */
.home-today-program-class-session.state_0 {
    background-color: #eceff3 !important; color: #667085; border-left-color: #98a2b3; opacity: .9; box-shadow: none;
    background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgba(102, 112, 133, .13) 6px 7px) !important;
}
.home-today-program-class-session.state_0 .cs-time::before { content: "✕"; color: #667085; text-decoration: none; display: inline-block; }

/* Askıya alındı: lavanta + taralı */
.home-today-program-class-session.state_-2 {
    background-color: #f3eefc !important; color: #6c3483; border-left-color: #9b7ac6; opacity: .92; box-shadow: none;
    background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgba(124, 77, 160, .12) 6px 7px) !important;
}
.home-today-program-class-session.state_-2 .cs-time::before { content: "⏸"; color: #7e57c2; text-decoration: none; display: inline-block; }

/* Eğitmen atanmadı (bekleyen): sakin, göz yormayan uyarı — çok açık kırmızımsı zemin, ince kesikli çerçeve, kalın sol kenar ve ⚠
   (önceki çizgili zemin göz yoruyordu). İptalden (gri, taralı, üstü çizili) ve tamamlandıdan (yeşil) yine net ayrılır. */
.home-today-program-class-session.cs-no-coach:not(.state_0):not(.state_1):not(.state_-2) {
    background-color: #fff8f7 !important;
    background-image: none !important;
    border: 1px dashed #f2b1ab; border-left: 4px solid #ef6a5e;
    color: #a33a30 !important;
    box-shadow: none;
}
.home-today-program-class-session.cs-no-coach:not(.state_0):not(.state_1):not(.state_-2) .cs-time::before { content: "⚠"; color: #d9534a; }
.home-today-program-class-session.cs-no-coach:not(.state_0):not(.state_1):not(.state_-2).cs-type-member::before { color: #d9534a; }

/* Lejant: takvimdeki gerçek görünümle aynı */
.tcl-dot { width: 16px; height: 16px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 800; line-height: 1; color: #fff; }
.tcl-dot-pending { background: #dbe9ff !important; box-shadow: inset 3px 0 0 #3b82f6; }
.tcl-dot-nocoach { background: #fff8f7 !important; border: 1px dashed #f2b1ab; box-shadow: inset 3px 0 0 #ef6a5e; color: #d9534a; }
.tcl-dot-nocoach::after { content: "⚠"; }
.tcl-dot-done { background: #d2f4da !important; box-shadow: inset 3px 0 0 #16a34a; color: #15803d; }
.tcl-dot-done::after { content: "✓"; }
.tcl-dot-cancel { background: #eceff3 !important; box-shadow: inset 3px 0 0 #98a2b3; color: #667085; }
.tcl-dot-cancel::after { content: "✕"; }
.tcl-dot-susp { background: #f3eefc !important; box-shadow: inset 3px 0 0 #9b7ac6; color: #7e57c2; }
.tcl-dot-susp::after { content: "⏸"; }

/* Mobil yan menü kaydırılabilsin: site.css mobil kuralı `overflow:hidden` veriyordu; menü (bölüm başlıklarıyla) ekrandan uzun olunca
   alt öğelere (Yardım, Çıkış Yap…) erişilemiyordu. Menü sabit (fixed, top/bottom 0) olduğu için kendi içinde dikey kayar. */
@media (max-width: 768px) {
    .app-menu {
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding-bottom: calc(28px + env(safe-area-inset-bottom));
        box-sizing: border-box;
    }
}

/* ═══════════════ MESAJ GEÇMİŞİ (2026-10-14) ═══════════════ */
.mg-panel { max-width: 980px; margin: 0 auto; }
.mg-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 4px 0 14px; }
.mg-toolbar .mg-select { flex: 0 0 auto; width: auto; min-width: 150px; }
.mg-toolbar .mg-search { flex: 1 1 240px; min-width: 200px; }
.mg-refresh { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border: 1px solid var(--mv-border); border-radius: 12px; background: #fff; color: var(--mv-text-2); font-size: 13.5px; font-weight: 600; cursor: pointer; box-shadow: var(--mv-shadow-xs); }
.mg-refresh:hover { border-color: var(--mv-brand); color: var(--mv-brand-deep); background: var(--mv-brand-soft); }

.mg-summary { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.mg-chip { display: inline-flex; align-items: baseline; gap: 8px; padding: 9px 16px; border: 1px solid var(--mv-border); border-radius: 999px; background: #fff; color: var(--mv-text-2); cursor: pointer; font-family: inherit; box-shadow: var(--mv-shadow-xs); }
.mg-chip:hover { border-color: #cfd6e0; }
.mg-chip-n { font-size: 17px; font-weight: 750; letter-spacing: -.02em; color: var(--mv-text); }
.mg-chip-l { font-size: 12.5px; font-weight: 600; }
.mg-chip.active { background: var(--mv-brand); border-color: var(--mv-brand); color: #fff; }
.mg-chip.active .mg-chip-n { color: #fff; }
.mg-chip-bad:not(.active) .mg-chip-n { color: #b42318; }

.mg-list { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.mg-popup-area { min-width: min(88vw, 560px); }
.mg-row { display: flex; align-items: flex-start; gap: 14px; padding: 13px 16px; background: #fff; border: 1px solid var(--mv-border); border-left-width: 4px; border-radius: 14px; box-shadow: var(--mv-shadow-xs); }
.mg-row.mg-ok { border-left-color: var(--mv-brand); }
.mg-row.mg-sent { border-left-color: #98a2b3; }
.mg-row.mg-failed { border-left-color: #e5493a; background: #fffafa; }
.mg-row.mg-skipped { border-left-color: #f0a73a; background: #fffdf7; }
.mg-ico { flex: 0 0 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 19px; background: #f1f4f8; color: var(--mv-text-2); }
.mg-ok .mg-ico { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.mg-failed .mg-ico { background: #fdeaea; color: #b42318; }
.mg-skipped .mg-ico { background: #fff4e0; color: #b7791f; }
.mg-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.mg-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.mg-member { font-size: 14.5px; font-weight: 650; color: var(--mv-text); cursor: pointer; }
.mg-member:hover { color: var(--mv-brand-deep); text-decoration: underline; }
.mg-member-none { cursor: default; color: var(--mv-text-2); }
.mg-member-none:hover { color: var(--mv-text-2); text-decoration: none; }
.mg-scn { font-size: 12px; font-weight: 600; color: var(--mv-muted); padding: 1px 9px; border-radius: 999px; background: #eef1f6; }
.mg-pv { font-size: 13.5px; line-height: 1.45; color: var(--mv-text-2); word-break: break-word; }
.mg-meta { font-size: 12px; color: var(--mv-muted); }
.mg-reason { font-size: 12.5px; font-weight: 600; color: #b42318; }
.mg-skipped .mg-reason { color: #92600a; }
.mg-side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; text-align: right; }
.mg-pill { display: inline-block; padding: 3px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #eef1f6; color: var(--mv-text-2); white-space: nowrap; }
.mg-pill.mg-ok { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.mg-pill.mg-failed { background: #fdeaea; color: #b42318; }
.mg-pill.mg-skipped { background: #fff4e0; color: #92600a; }
.mg-time { font-size: 12px; color: var(--mv-muted); white-space: nowrap; }
.mg-hint { font-size: 11px; color: var(--mv-muted); }
.mg-empty { padding: 32px 12px; text-align: center; color: var(--mv-muted); font-size: 14px; line-height: 1.6; }
.mg-empty-sub { font-size: 12px; }
.mg-empty-err { color: #b42318; }
@media (max-width: 640px) {
    .mg-row { flex-wrap: wrap; padding: 12px; gap: 10px; }
    .mg-side { flex-direction: row; align-items: center; gap: 10px; width: 100%; justify-content: space-between; text-align: left; order: 3; }
}

/* ═══════════════ GENEL TAKVİM: süresi geçmiş, onaylanmamış ders (2026-10-14) ═══════════════ */
.gtk-cell-slot.gtk-cell-overdue {
    background: #fff1f0; border-color: #f3a59e; box-shadow: inset 4px 0 0 #e5493a, var(--mv-shadow-xs);
}
.gtk-cell-slot.gtk-cell-overdue:hover { background: #ffe6e3; }
.gtk-cell-slot.gtk-cell-overdue .gtk-cell-name { color: #a32a20; }
.gtk-cell-slot.gtk-cell-overdue .gtk-cell-status { color: #b42318; font-weight: 700; }
.gtk-cell-slot.gtk-cell-overdue .gtk-cell-fill { color: #b4635b; font-weight: 500; }
.gtk-cell-slot.gtk-cell-overdue.gtk-cell-overdue-today {
    background: #fff7e8; border-color: #f0c778; box-shadow: inset 4px 0 0 #f0a73a, var(--mv-shadow-xs);
}
.gtk-cell-slot.gtk-cell-overdue.gtk-cell-overdue-today:hover { background: #ffefd0; }
.gtk-cell-slot.gtk-cell-overdue.gtk-cell-overdue-today .gtk-cell-name { color: #8a5a00; }
.gtk-cell-slot.gtk-cell-overdue.gtk-cell-overdue-today .gtk-cell-status { color: #92600a; }
.gtk-cell-slot.gtk-cell-overdue.gtk-cell-overdue-today .gtk-cell-fill { color: #a9803a; }

/* Genel Takvim ders penceresi: eğitmen seçici (2026-10-20) */
.gtk-occ-instructor-pick.hidden { display: none; }
.gtk-occ-instructor-pick { display: flex; flex-direction: column; gap: 6px; margin: 6px 0 4px; }
.gtk-occ-instructor-pick label { font-size: 12.5px; font-weight: 600; color: var(--mv-text-2); }
.gtk-occ-instructor-pick .au-input { width: 100%; }
.gtk-occ-instructor-hint { font-size: 12px; color: var(--mv-brand-deep); min-height: 0; }
.gtk-occ-instructor-hint:empty { display: none; }

/* ═══════════════ GRUP DERSİ: üye durumu özeti / onay ekranı (Alan 4) — kenar boşlukları (2026-10-21) ═══════════════ */
.es-wrapper .popup-editsession-area-4.es-group-summary-area { padding: 24px 26px 26px; box-sizing: border-box; width: 100%; }
.es-group-summary-title-main { font-size: 16px; font-weight: 700; color: var(--mv-text); letter-spacing: -.01em; margin-bottom: 16px; line-height: 1.4; }
.es-group-summary-block { margin-bottom: 12px; padding: 12px 16px 8px; border-radius: 12px; background: #f8fafc; border: 1px solid var(--mv-border-soft); }
.es-group-summary-title { font-size: 12.5px; padding: 3px 11px; border-radius: 999px; margin-bottom: 8px; }
.es-group-summary-names { font-size: 14px; color: var(--mv-text-2); }
.es-group-summary-name-row { padding: 7px 2px; }
.es-wrapper .popup-editsession-area-4 .es-actions { display: flex; flex-direction: row; gap: 10px; margin: 20px 0 0 !important; padding: 0; border: 0; }
.es-wrapper .popup-editsession-area-4 .es-actions .es-btn { flex: 1 1 0; justify-content: center; margin: 0; }
@media (max-width: 640px) {
    .es-wrapper .popup-editsession-area-4.es-group-summary-area { padding: 20px 16px 20px; }
    .es-wrapper .popup-editsession-area-4 .es-actions { flex-direction: column-reverse; }
}

/* ═══════════════ ÖDEME YÖNTEMİ seçici + etiket (2026-10-27) ═══════════════ */
.pm-picker { display: inline-flex; gap: 0; padding: 3px; background: #eef1f6; border-radius: 12px; max-width: 100%; flex-wrap: wrap; }
.pm-picker .pm-opt { border: 0; background: transparent; color: var(--mv-text-2); font: 600 13px/1 Inter, system-ui, sans-serif; padding: 9px 16px; border-radius: 9px; cursor: pointer; transition: background .15s, color .15s, box-shadow .15s; white-space: nowrap; }
.pm-picker .pm-opt:hover:not(.active) { background: rgba(255,255,255,.65); }
.pm-picker .pm-opt.active { background: #fff; color: var(--mv-brand-deep); box-shadow: 0 1px 3px rgba(16,24,40,.14); }
.mpc-bill-pay-method { margin: 6px 0; }
.odm-add-payment-field .pm-picker { margin-top: 2px; }
.pm-badge { display: inline-block; margin-left: 8px; padding: 1px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; vertical-align: middle; background: #eef1f6; color: #475467; }
.pm-badge.pm-cash { background: var(--mv-brand-soft); color: var(--mv-brand-deep); }
.pm-badge.pm-bank { background: #eceffd; color: #3f4fc0; }
.pm-badge.pm-none { background: transparent; color: #98a2b3; font-weight: 500; border: 1px dashed #d5dbe5; }
