/* pys_module_themes_7_gb_header.css
 * ===========================================================================
 * KAYNAK: pys_module_themes.css satir 7000-8237 (bolundu: 2026-08-28)
 *
 * !! YUKLEME SIRASI KRITIK !!
 * Bu dosya ailesi (pys_module_themes_1..7) UC YERDE numara sirasiyla
 * yuklenmek ZORUNDA: web/index.html, web/yonetim/index.html ve
 * pys_motivation_system.js yazdirma penceresi. Dosya kronolojik bolundu:
 * sonraki parcalar oncekileri KASITLI eziyor. Sira bozulursa gorunum
 * sessizce bozulur (hata vermez).
 *
 * ICERIK: Geri Bildirimler v2 (kontrol paneli estetigi), sayfa gecis nav bari, birlesik HCP header (mavi dis kart), Planim maskot madalyon, Planim aksiyon bari, bildirim detay popup, hcpAlert, panel baslik standardi, Planim mobil saha modu
 * ===========================================================================
 */
/* === Geri Bildirimler v2 — kontrol paneli estetiği === */
.hcp-fb-page--v2 { padding-bottom: 24px; }
.hcp-fb-action-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 1.25rem 10px;
    max-width: 920px;
    margin: 0 auto;
    border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0);
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}
.hcp-fb-action-bar__left {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.hcp-fb-action-bar__text { min-width: 0; }
.hcp-fb-action-bar__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-text-primary, #0f172a);
}
.hcp-fb-action-bar__lead {
    margin: 3px 0 0;
    font-size: 12px;
    color: var(--color-text-secondary, #64748b);
    line-height: 1.45;
}
.hcp-fb-action-bar .hcp-back-btn {
    border-color: #e2e8f0;
    background: #fff;
    color: #1b2a2e;
    flex-shrink: 0;
    margin-top: 2px;
}
.hcp-fb-action-bar .hcp-back-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}
.hcp-fb-close-btn {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background .15s, color .15s, border-color .15s;
}
.hcp-fb-close-btn:hover {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}
.hcp-fb-page--v2 .hcp-fb-page__body {
    padding: 0 1rem 1rem;
    max-width: 920px;
    margin: 0 auto;
}
.hcp-fb-page--v2 .hcp-fb-tabs {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 1rem;
}
.hcp-fb-eval-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}
.hcp-fb-eval-mark--lg { width: 36px; height: 36px; font-size: 14px; border-radius: 10px; }
.hcp-fb-eval-mark--plus { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.hcp-fb-eval-mark--minus { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.hcp-fb-eval-mark--revise { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
.hcp-fb-eval-mark--dd { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; font-size: 9px; }
.hcp-fb-eval-mark--none { background: #FBFAF6; color: #94a3b8; border: 1px solid #e2e8f0; }
.hcp-fb-eval-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px 4px 4px;
    border-radius: 999px;
    border: 1px solid var(--color-border-tertiary, #e2e8f0);
    background: #fff;
    flex-shrink: 0;
}
.hcp-fb-eval-pill__text { font-size: 11px; font-weight: 600; color: var(--color-text-secondary, #475569); }
.hcp-fb-eval-pill--minus { border-color: #fecaca; background: #fff5f5; }
.hcp-fb-eval-pill--plus { border-color: #a7f3d0; background: #f0fdf9; }
.hcp-fb-eval-pill--revise { border-color: #fde68a; background: #fffbeb; }
.hcp-fb-eval-pill--dd { border-color: #bfdbfe; background: #eff6ff; }
.hcp-fb-week-card {
    border: 1px solid var(--color-border-tertiary, #e2e8f0);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.hcp-fb-week-card--new { border-color: rgba(29, 158, 117, 0.35); }
.hcp-fb-week-head {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 0;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}
.hcp-fb-week-card--new .hcp-fb-week-head { background: linear-gradient(90deg, #ecfdf5 0%, #fff 55%); }
.hcp-fb-week-head__main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
}
.hcp-fb-week-head__no { font-size: 14px; font-weight: 700; color: var(--color-text-primary, #0f172a); }
.hcp-fb-week-head__range { font-size: 12px; color: var(--color-text-secondary, #64748b); }
.hcp-fb-week-head__prog { font-size: 11px; color: var(--color-text-tertiary, #94a3b8); }
.hcp-fb-week-head__chev { font-size: 12px; color: #94a3b8; flex-shrink: 0; margin-left: auto; }
.hcp-fb-week-summary {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.hcp-fb-week-sum {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px 2px 2px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.hcp-fb-week-sum__n { font-size: 11px; font-weight: 700; color: #1b2a2e; min-width: 10px; text-align: center; }
.hcp-fb-week-body { border-top: 1px solid var(--color-border-tertiary, #e2e8f0); }
.hcp-fb-week-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0);
    background: #fafbfc;
}
.hcp-fb-week-stat {
    padding: 10px 8px;
    text-align: center;
    border-right: 1px solid var(--color-border-tertiary, #e2e8f0);
}
.hcp-fb-week-stat:last-child { border-right: 0; }
.hcp-fb-week-stat__value--icon { color: #0f6e56; font-size: 16px; }
.hcp-fb-week-stat__dash { color: #cbd5e1; }
.hcp-fb-group {
    border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0);
}
.hcp-fb-group:last-child { border-bottom: 0; }
.hcp-fb-group__head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: #fef2f2;
    border-bottom: 1px solid #fecaca;
    color: #991b1b;
}
.hcp-fb-group__head--muted {
    background: #f8fafc;
    border-bottom-color: #e2e8f0;
    color: #475569;
}
.hcp-fb-group__head i { margin-top: 2px; font-size: 13px; flex-shrink: 0; }
.hcp-fb-group__title { font-size: 12px; font-weight: 700; }
.hcp-fb-group__lead { font-size: 11px; line-height: 1.45; margin-top: 2px; opacity: 0.9; font-weight: 400; }
.hcp-fb-group__items { display: flex; flex-direction: column; }
.hcp-fb-item {
    padding: 12px 14px;
    border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0);
    cursor: pointer;
    transition: background .12s;
}
.hcp-fb-item:last-child { border-bottom: 0; }
.hcp-fb-item:hover { background: #f8fafc; }
.hcp-fb-item:focus-visible { outline: 2px solid #1d9e75; outline-offset: -2px; }
.hcp-fb-item--priority { background: #fffbeb; }
.hcp-fb-item--priority:hover { background: #fef3c7; }
.hcp-fb-item--plus { box-shadow: inset 0 0 0 1px rgba(52,211,153,.40); }
.hcp-fb-item__main {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.hcp-fb-item__body { flex: 1; min-width: 0; }
.hcp-fb-item__title { margin: 0; font-size: 13px; font-weight: 600; color: var(--color-text-primary, #0f172a); line-height: 1.4; }
.hcp-fb-item__meta { margin: 3px 0 0; font-size: 11px; color: var(--color-text-tertiary, #94a3b8); }
.hcp-fb-item__aside {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.hcp-fb-item__chev { color: #cbd5e1; font-size: 11px; }
.hcp-fb-item__preview { margin-top: 8px; padding-left: 2px; }
.hcp-fb-item-note {
    margin: 0;
    font-size: 11px;
    line-height: 1.45;
    color: var(--color-text-secondary, #64748b);
    font-style: italic;
}
.hcp-fb-item-note--warn { color: #b45309; }
.hcp-fb-report {
    padding: 12px 14px;
    border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0);
    background: #ecfdf5;
}
.hcp-fb-report__label { font-size: 11px; font-weight: 700; color: #0f6e56; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.hcp-fb-report__label > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
/* Rapor kaynak rozeti: otomatik üretim ile yönetici onayını ayırır (Paket 4). */
.hcp-fb-report__src {
    margin-left: auto; display: inline-flex; align-items: center; gap: 5px;
    font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 999px;
    border: 1px solid transparent; white-space: nowrap;
}
.hcp-fb-report__src--auto { background: #EEF2FF; color: #3C3489; border-color: #CECBF6; }
.hcp-fb-report__src--human { background: #E1F5EE; color: #0F6E56; border-color: #9FE1CB; }
.hcp-fb-report__text { font-size: 13.5px; line-height: 1.65; color: #1b2a2e; white-space: pre-wrap; overflow-wrap: break-word; }
/* Ortak rapor görselleştiricisi çıktısı (renderReportTextHtml): paragraf + madde + numaralı satır */
.hcp-yz-block-h { font-weight: 700; margin: 14px 0 6px; }
.hcp-yz-block-h:first-child { margin-top: 0; }
.hcp-fb-report__p { margin: 0 0 8px; }
.hcp-fb-report__text p:last-child { margin-bottom: 0; }
.hcp-fb-report__text ul { margin: 0 0 8px; padding-left: 18px; }
.hcp-fb-report__text ul:last-child { margin-bottom: 0; }
.hcp-fb-report__text li { margin: 2px 0; }
.hcp-fb-report__text .hcp-yz-steps { margin: 0 0 8px; }
.hcp-fb-report__text .hcp-yz-steps__item { margin: 2px 0; }
.hcp-fb-report__text strong { font-weight: 700; color: #0f3d33; }
.hcp-fb-report__foot { margin-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.hcp-fb-report__meta { font-size: 10px; color: #64748b; }
.hcp-fb-report__refresh {
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid #a7f3d0;
    background: #fff;
    color: #0f6e56;
    cursor: pointer;
}
.hcp-fb-next-week {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    background: #eff6ff;
    border-top: 1px solid #bfdbfe;
}
.hcp-fb-next-week__text { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: #1e40af; }
.hcp-fb-next-week__text strong { font-size: 13px; }
.hcp-fb-next-week__btn {
    font-size: 11px;
    font-weight: 600;
    padding: 7px 12px;
    border-radius: 8px;
    border: 1px solid #93c5fd;
    background: #fff;
    color: #1d4ed8;
    cursor: pointer;
    white-space: nowrap;
}
.hcp-fb-detail__hero {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e2e8f0;
}
.hcp-fb-detail__eval { margin: 0; font-size: 14px; font-weight: 700; color: #0f172a; }
.hcp-fb-detail__meta { margin: 4px 0 0; font-size: 12px; color: #64748b; }
.hcp-fb-detail__week { margin: 4px 0 0; font-size: 11px; color: #94a3b8; }
.hcp-fb-goto-plan-btn { display: inline-flex; align-items: center; gap: 6px; }
.hcp-fb-notif-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0);
    cursor: pointer;
    transition: background .12s;
}
.hcp-fb-notif-row:hover { background: #f8fafc; }
.hcp-fb-notif-row:focus-visible { outline: 2px solid #1d9e75; outline-offset: -2px; }
.hcp-fb-notif-body { flex: 1; min-width: 0; }
.hcp-fb-notif-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.hcp-fb-notif-title { margin: 0; font-size: 13px; font-weight: 600; color: var(--color-text-primary, #0f172a); }
.hcp-fb-notif-week { font-size: 10px; font-weight: 600; color: #64748b; background: #FBFAF6; padding: 2px 7px; border-radius: 999px; }
.hcp-fb-notif-text { margin: 0; font-size: 12px; line-height: 1.5; color: var(--color-text-secondary, #475569); }
.hcp-fb-skeleton-row { height: 72px; border-radius: 14px; margin-bottom: 10px; }
@media (max-width: 640px) {
    .hcp-fb-week-stats { grid-template-columns: repeat(2, 1fr); }
    .hcp-fb-week-stat:nth-child(2) { border-right: 0; }
    .hcp-fb-week-stat:nth-child(1),
    .hcp-fb-week-stat:nth-child(2) { border-bottom: 1px solid var(--color-border-tertiary, #e2e8f0); }
    .hcp-fb-action-bar { padding-left: 1rem; padding-right: 1rem; }
    .hcp-fb-week-summary { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   Yönetim Merkezi — ym- bileşen sistemi
   ══════════════════════════════════════════════════════════════ */
.ym-summary {
  font-family: var(--pys-font-display);
  font-size: 13px; font-weight: 700; color: #4338CA;
  margin-bottom: 16px; letter-spacing: 0.01em;
}

/* ── Panel ─────────────────────────────────────────────────── */
.ym-panel {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset,
              0 4px 8px rgba(27,42,46,0.07),
              0 16px 32px rgba(27,42,46,0.12),
              0 0 0 0.5px rgba(27,42,46,0.06);
}
.ym-panel-head {
  font-family: var(--pys-font-display);
  font-size: 13px; font-weight: 800; color: #fff;
  padding: 14px 20px;
  display: flex; align-items: center; gap: 8px;
  letter-spacing: 0.02em;
}
.ym-panel-head--violet  { background: linear-gradient(135deg, #7C3AED, #5B21B6); }
.ym-panel-head--amber   { background: linear-gradient(135deg, #D97706, #B45309); }
.ym-panel-head--indigo  { background: linear-gradient(135deg, #4F46E5, #3730A3); }
.ym-panel-head--teal    { background: linear-gradient(135deg, #0EA5E9, #0284C7); }
.ym-panel-head--sky     { background: linear-gradient(135deg, #0EA5E9, #0284C7); }
.ym-panel-body {
  padding: 16px 20px;
  display: flex; flex-direction: column; gap: 8px;
  font-family: var(--pys-font-sans);
  font-size: 13px; color: #1E293B;
}
.ym-panel-body--scroll { max-height: 28rem; overflow-y: auto; }

/* ── Koç Kartları ──────────────────────────────────────────── */
.ym-coach-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.ym-coach-card {
  text-align: left; cursor: pointer;
  background: #fff; border: none;
  border-radius: 18px; overflow: hidden;
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset,
              0 2px 6px rgba(27,42,46,0.08),
              0 8px 20px rgba(27,42,46,0.12),
              0 0 0 0.5px rgba(27,42,46,0.06);
  transition: transform 0.15s, box-shadow 0.15s;
}
.ym-coach-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset,
              0 4px 12px rgba(27,42,46,0.12),
              0 20px 40px rgba(27,42,46,0.18),
              0 0 0 0.5px rgba(27,42,46,0.08);
}
.ym-coach-head {
  background: linear-gradient(135deg, #1E40AF, #3730A3);
  padding: 12px 14px;
  display: flex; align-items: center; justify-content: space-between; gap: 6px;
}
.ym-coach-name {
  font-family: var(--pys-font-display);
  font-size: 14px; font-weight: 800; color: #fff;
}
.ym-coach-team {
  font-family: var(--pys-font-sans);
  font-size: 10px; font-weight: 700; color: rgba(255,255,255,0.8);
  background: rgba(255,255,255,0.18); padding: 2px 8px; border-radius: 999px;
  white-space: nowrap;
}
.ym-skor-wrap {
  padding: 12px 14px 8px;
  display: flex; align-items: baseline; gap: 6px;
}
.ym-skor-val {
  font-family: var(--pys-font-display);
  font-size: 32px; font-weight: 900; line-height: 1;
}
.ym-skor-lbl {
  font-family: var(--pys-font-sans);
  font-size: 10px; font-weight: 600; color: #64748B;
}
.ym-skor--good  .ym-skor-val { color: #059669; }
.ym-skor--mid   .ym-skor-val { color: #D97706; }
.ym-skor--low   .ym-skor-val { color: #DC2626; }
.ym-skor--neutral .ym-skor-val { color: #94A3B8; }
.ym-mini-row {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 6px; padding: 0 10px 12px;
}
.ym-mini {
  border-radius: 10px; padding: 7px 4px; text-align: center;
}
.ym-mini--green { background: #059669; }
.ym-mini--red   { background: #DC2626; }
.ym-mini--blue  { background: #2563EB; }
.ym-mini-val {
  font-family: var(--pys-font-display);
  font-size: 14px; font-weight: 900; color: #fff; line-height: 1;
}
.ym-mini-lbl {
  font-family: var(--pys-font-sans);
  font-size: 9px; color: rgba(255,255,255,0.8); margin-top: 2px;
}

/* ── Isı Haritası ──────────────────────────────────────────── */
.ym-heatmap-wrap { overflow-x: auto; }
.ym-ht-table { width: 100%; border-collapse: collapse; }
.ym-ht-th {
  padding: 6px 8px; text-align: center;
  font-family: var(--pys-font-sans); font-size: 10px;
  font-weight: 700; color: #64748B; white-space: nowrap;
}
.ym-ht-th--label { text-align: left; }
.ym-ht-coach {
  padding: 6px 8px; white-space: nowrap;
  font-family: var(--pys-font-display); font-size: 13px;
  font-weight: 800; color: #1E293B;
}
.ym-ht-td { padding: 3px; }
.ym-ht-cell {
  height: 36px; min-width: 52px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pys-font-display); font-size: 12px; font-weight: 900;
  color: #fff;
}
.ym-cell--good    { background: #059669; }
.ym-cell--mid     { background: #D97706; }
.ym-cell--low     { background: #DC2626; }
.ym-cell--null    { background: #94A3B8; }

/* ── Kapanış & İçgörü listesi ──────────────────────────────── */
.ym-detail {
  border-radius: 12px; border: 1px solid #E2E8F0;
  background: #F8FAFC; overflow: hidden;
}
.ym-detail-sum {
  cursor: pointer; padding: 10px 14px;
  font-family: var(--pys-font-display); font-size: 13px;
  font-weight: 700; color: #1E293B; list-style: none;
}
.ym-detail-sum::-webkit-details-marker { display: none; }
.ym-detail[open] .ym-detail-sum { border-bottom: 1px solid #E2E8F0; }
.ym-detail-body {
  padding: 10px 14px;
  font-family: var(--pys-font-sans); font-size: 13px;
  color: #1b2a2e; white-space: pre-wrap; line-height: 1.7;
}
.ym-insight {
  border-radius: 12px; border: 1px solid #E2E8F0;
  background: #F8FAFC; padding: 10px 14px;
}
.ym-insight-meta {
  font-family: var(--pys-font-sans); font-size: 11px;
  color: #94A3B8; margin-bottom: 4px;
}
.ym-insight-text {
  font-family: var(--pys-font-sans); font-size: 13px; color: #1E293B;
}

/* ── Profil paneli ──────────────────────────────────────────── */
.ym-profile-top {
  display: flex; align-items: center;
  justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.ym-profile-name {
  font-family: var(--pys-font-display);
  font-size: 22px; font-weight: 900; color: #1E293B;
}
.ym-profile-team {
  font-family: var(--pys-font-sans); font-size: 12px; color: #64748B;
  margin-top: 2px;
}
.ym-yz-btn {
  background: linear-gradient(135deg, #7C3AED, #5B21B6);
  color: #fff; border: none; border-radius: 12px;
  padding: 10px 18px; cursor: pointer;
  font-family: var(--pys-font-display); font-size: 12px; font-weight: 800;
  box-shadow: 0 3px 12px rgba(124,58,237,0.4);
  transition: filter 0.15s, transform 0.12s;
}
.ym-yz-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.ym-box-row {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 10px; margin-top: 16px;
}
@media (min-width: 640px) { .ym-box-row { grid-template-columns: repeat(4, 1fr); } }
.ym-box {
  border-radius: 14px; padding: 14px 10px; text-align: center;
  background: linear-gradient(135deg, #1E40AF, #3730A3);
  box-shadow: 0 2px 8px rgba(30,64,175,0.25);
}
.ym-box-val {
  font-family: var(--pys-font-display);
  font-size: 26px; font-weight: 900; color: #fff; line-height: 1;
}
.ym-box-lbl {
  font-family: var(--pys-font-sans);
  font-size: 10px; font-weight: 600;
  color: rgba(255,255,255,0.8); margin-top: 4px;
  letter-spacing: 0.04em;
}
.ym-sinyal {
  margin-top: 12px; border-radius: 12px;
  background: linear-gradient(135deg, #0F172A, #1E293B);
  padding: 12px 16px;
  font-family: var(--pys-font-sans); font-size: 13px; color: #E2E8F0;
  line-height: 1.6;
}
.ym-sinyal-lbl { font-weight: 700; color: #7C3AED; }

/* ── Ortak ──────────────────────────────────────────────────── */
.ym-empty {
  font-family: var(--pys-font-sans); font-size: 13px;
  color: #94A3B8; text-align: center; padding: 24px 0;
}

/* === Kontrol: hero üst köşe kaynatma === */
/* Sekme şeridi (#hcp-subtabs) artık her panelde render ediliyor; barın altındaki
   hero üst köşeleri düz, alt köşeleri yuvarlak kalır. */
#page-hcp.hcp-panel-active:not(.hcp-plan-active):not(.hcp-feedbacks-active) .pys-hcp-banner-wrap {
    margin: 0;
    border-radius: 0 0 var(--pys-radius-lg) var(--pys-radius-lg);
}
#page-hcp.hcp-panel-active:not(.hcp-plan-active):not(.hcp-feedbacks-active) .pys-hero-band--hcp {
    border-radius: 0 0 var(--pys-radius-lg) var(--pys-radius-lg);
}

/* === Çözüm 3 — Sayfa Geçiş Nav Barı === */

/* Eski #hcp-subtabs sekme barı artık kullanılmıyor — gizle */
#hcp-subtabs { display: none !important; }
#page-hcp > .glass-panel > .pys-module-subtabs { display: none !important; }

/* Kaynaşık tasarım kalıntıları: hero köşelerini düzelt */
#page-hcp .pys-hcp-banner-wrap { border-radius: var(--pys-radius-lg, 20px) !important; }
#page-hcp .pys-hero-band--hcp  { border-radius: var(--pys-radius-lg, 20px) !important; }

/* Nav bar kapsayıcı */
.hcp-page-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 12px;
    background: #fff;
    border-radius: var(--pys-radius-lg, 20px);
    box-shadow:
        0 1px 2px rgba(16,40,60,.05),
        0 4px 12px rgba(16,40,60,.08),
        0 10px 24px rgba(16,40,60,.06);
    margin-top: 12px;
}

/* Nav buton — S3 (ikon + etiket); pasif sade, aktif beyaz pill */
.hcp-pnav-btn {
    font-family: inherit;
    /* 15px/500 + 8/16 iri, 13px/600 + 6/12 fazla siki cikti (canli bakis).
       Ortasi: 14px/600 + 7/14 (2026-08-27 ikinci tur). */
    font-size: 14px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    color: var(--pys-ink-5);
    background: transparent;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}
.hcp-pnav-btn:hover { background: #f1f5f9; color: var(--ink, #13303a); }

/* Nav buton — aktif: beyaz pill + ince çerçeve + yumuşak gölge */
.hcp-pnav-btn--active {
    background: #fff;
    color: var(--ink, #13303a);
    border-color: #e2e8f0;
    box-shadow: var(--pys-elev-2) rgba(16,40,60,.12);
}
.hcp-pnav-btn--active:hover { background: #fff; }

/* Sekme ikonu: pasifte nötr gri, aktifte sekmenin kendi rengi */
.hcp-pnav-ico { font-size: 15px; color: #9fb1bd; flex-shrink: 0; transition: color 0.15s ease; }
.hcp-pnav-btn--active[data-hcp-goto="plan"]      .hcp-pnav-ico { color: var(--color-brand-cini, #3FA0EC); }
.hcp-pnav-btn--active[data-hcp-goto="control"]   .hcp-pnav-ico { color: #1a63c4; }
.hcp-pnav-btn--active[data-hcp-goto="feedbacks"] .hcp-pnav-ico { color: #E0890C; }

/* Okunmamış geri bildirim rozeti (nav butonunda) */
.hcp-pnav-badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 17px; height: 17px; padding: 0 4px; margin-left: 2px;
    border-radius: var(--pys-radius-pill); background: #EF4444; color: #fff;
    font-size: var(--pys-fs-xs); font-weight: 800; line-height: 1;
    box-shadow: var(--pys-elev-2) rgba(239, 68, 68, 0.4);
}
.hcp-pnav-badge.hidden { display: none; }

/* Birleşik header içindeyken sekme barı kendi kartını bırakır (header zaten kart) */
.hcp-uhead .hcp-page-nav {
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin: 2px 0 10px;
    border-radius: 0;
    gap: 4px;
}
/* Tab butonlar mavi zemin üzerinde: kontrast düzeltme */
.hcp-uhead .hcp-pnav-btn         { color: rgba(255,255,255,0.82); }
.hcp-uhead .hcp-pnav-ico         { color: rgba(255,255,255,0.55); }
.hcp-uhead .hcp-pnav-btn:hover   { background: rgba(255,255,255,0.15); color: #fff; }
.hcp-uhead .hcp-pnav-btn--active { color: var(--ink, #13303a); }
.hcp-uhead .hcp-pnav-btn--active:hover { background: #fff; color: var(--ink, #13303a); }
/* Erişilebilirlik: klavye ile gezinende görünür focus halkası */
.hcp-uhead .hcp-pnav-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.hcp-act-btn:focus-visible,
.teslim-btn:focus-visible,
.hcp-btn-add:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }

/* ===== Birleşik HÇP header: mavi dış kart → beyaz iç kart ===== */
.hcp-uhead {
    display: flex; flex-direction: column;
    background: linear-gradient(135deg, #2E8FFF 0%, #1453B8 55%, #0B2A50 100%);
    border-radius: var(--pys-radius-xl);
    /* Kompakt üst bant (2026-07-25 tur): üç katlı tören alanı inceltildi —
       ilk iş satırı ekranda daha yukarı gelsin. */
    padding: 10px 12px 10px;
    /* Gölge sıkılaştırıldı (2026-07-27 geri bildirimi): geniş koyu hale, başlık ile
       zemin arasında "kopuk plaka / boşluk" gibi okunuyordu. */
    box-shadow: var(--pys-elev-2) rgba(11, 42, 80, .16);
}
.hcp-uhead__band {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 4px 6px 10px;
}
/* Hafta grubu: baglam rozeti + hafta secici yan yana, bandin sag ucunda.
   Ikisi ayri ogedir (birlesmez). align-items:center + esit yukseklik (34px):
   marka ikonu, baslik metni ve bu grup AYNI optik banda oturur — canli
   geri bildirimde "secici baslikla hizalanmali" denen sorun buydu. */
.hcp-uhead__wkgrp {
    display: flex; align-items: center; gap: 10px;
    margin-left: auto; min-width: 0; min-height: 34px;
}
.hcp-uhead__brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
/* Olculer 2026-08-27'de 44 -> 30px'e indirilmisti; canli bakista "cok sikisik"
   geri bildirimi geldi ve bir kademe geri acildi: 36px ikon / 19px baslik.
   Ilk halin (44/22) altinda, sikisik halin (30/17) uzerinde. Uc panelde birden. */
.hcp-uhead__icon {
    width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .18); color: #fff; font-size: 16px;
}
.hcp-uhead__title { color: #fff; font-size: 19px; font-weight: 800; margin: 0; letter-spacing: -.01em; }
/* Kalıcı teslim çipi — hafta seçicinin yanında, mavi bant üstünde yarı saydam hap */
.hcp-week-deadline {
    display: inline-flex; align-items: center; gap: 7px;
    margin-left: auto; padding: 6px 13px; border-radius: 999px;
    background: rgba(255, 255, 255, .16); color: #fff;
    font-size: 12px; font-weight: 700; white-space: nowrap;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}
.hcp-week-deadline i { font-size: 11px; opacity: .85; }
.hcp-week-deadline.hidden { display: none; }
/* Son 12 saat alarmı: yazı yok, periyodik sallanan kırmızı zil (tooltip'te kalan süre) */
.hcp-week-deadline--alarm {
    width: 34px; height: 34px; padding: 0;
    justify-content: center;
    background: #DC2626;
    box-shadow: 0 2px 10px rgba(220, 38, 38, 0.45);
    cursor: help;
    animation: hcp-alarm-ring 2.4s ease-in-out infinite;
}
.hcp-week-deadline--alarm i { font-size: 15px; opacity: 1; }
@keyframes hcp-alarm-ring {
    0%, 55%, 100% { transform: rotate(0); }
    58% { transform: rotate(14deg); }
    62% { transform: rotate(-12deg); }
    66% { transform: rotate(9deg); }
    70% { transform: rotate(-6deg); }
    74% { transform: rotate(3deg); }
    78% { transform: rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
    .hcp-week-deadline--alarm { animation: none; }
}
.hcp-uhead__card {
    background: #fff; border-radius: var(--pys-radius-lg); padding: 11px 12px;
    display: flex; flex-direction: column; gap: 10px;
}
.hcp-uhead__top { display: flex; align-items: center; gap: 12px; }
.hcp-uhead__bottom {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
    border-top: 1px solid #eef2f6; padding-top: 12px;
}
.hcp-uhead__bottom .hcp-segment-bar { flex-wrap: wrap; }
/* Tek sıralı kart (Kontrol): üst ayraç çizgisi yok */
.hcp-uhead__bottom--solo { border-top: none; padding-top: 0; }
.hcp-uhead__bottom .hcp-ctrl-approve-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }

/* İlerleme bloğu — kendi panelinde: hafif mavi zemin, kendi köşesi. Kartın içinde
   ayrı bir birim olarak okunuyor (canlı denetim: blok kart içinde dağınık duruyordu,
   şevron açtığı içerikten 393px uzakta kalıyordu). Genişlik içeriği kadar: esneyip
   ortada ölü boşluk bırakmıyor, boşluk panelle butonların arasına düşüyor. */
.hcp-uprog {
    display: flex; align-items: center; gap: 13px; min-width: 0; flex: 1;
    border: 1px solid #D3E3F7; cursor: pointer; text-align: left;
    background: #ECF3FC; border-radius: 14px; padding: 8px 12px 8px 8px;
    transition: background .15s ease, border-color .15s ease;
}
.hcp-uprog.hcp-header-progress--clickable:hover {
    background: #E1EDFB; border-color: #BBD4F2;
}
/* ===== Planım başlığı — maskot madalyon =====
   Tümü .hcp-uhead--medallion altında kapalı: Değerlendirme ve Geri Bildirimler
   başlıkları aynı .hcp-uhead / .hcp-uhead__card kurallarını kullanıyor, onların
   yüksekliği değişmesin. Madalyon kart kenarına BİNMİYOR, tamamen içeride. */

/* Kart: ilerleme kendi panelinde solda, aksiyonlar karşısında.
   Dikey ayraç kalktı — panelin kendi zemini zaten ayrımı yapıyor. */
.hcp-uhead--medallion .hcp-uhead__card { padding: 11px 12px; }
.hcp-uhead--medallion .hcp-uhead__top { gap: 12px; }
.hcp-uhead--medallion .hcp-uhead__actions {
    display: flex; align-items: center; flex-shrink: 0; margin-left: auto;
}
.hcp-uhead--medallion .hcp-uhead__actions .hcp-segment-bar { margin: 0; }
/* Dar ekranda kart iki kata iner: butonlar tam genişlik alır. */
@media (max-width: 1024px) {
    .hcp-uhead--medallion .hcp-uhead__top { flex-wrap: wrap; }
    .hcp-uhead--medallion .hcp-uhead__actions { width: 100%; justify-content: flex-end; }
}

/* Madalyon: 72px yay + 56px lacivert daire + 40px beyaz inek.
   Ölçüler bir kademe büyütüldü: 60/46/26'da maskot okunmuyordu. */
.hcp-uprog__ring {
    width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0; position: relative;
    display: flex; align-items: center; justify-content: center;
    animation: hcpHpHalo 3.8s ease-in-out infinite;
}
.hcp-uprog__arc { position: absolute; inset: 0; transform: rotate(-90deg); }
.hcp-uprog__arc circle { fill: none; stroke-width: 5; stroke-linecap: round; }
/* Yatak koyulaştırıldı: #E9EEF5 ile yay arasındaki kontrast 2.42:1 kalıyordu,
   düşük yüzdelerde halka zor görülüyordu (canlı denetim bulgusu 2). */
.hcp-uprog__arc-track { stroke: #D7E3F1; }
.hcp-uprog__arc-fill {
    stroke: #1A63C4; stroke-dasharray: 138.23; stroke-dashoffset: 138.23;
    transition: stroke-dashoffset .9s cubic-bezier(.22, 1, .36, 1), stroke .3s ease;
}
/* Hafta tamamlandı: yay altına döner (Gönderildi altınıyla aynı ton), daire yeşile. */
.hcp-uprog__ring--done { animation: none; }
.hcp-uprog__ring--done .hcp-uprog__arc-track { stroke: #FBF3DF; }
.hcp-uprog__ring--done .hcp-uprog__ring-inner { background: #0F5132; }
.hcp-uprog__ring--done .hcp-uprog__cow .hcp-hp-eye { fill: #0F5132; }
.hcp-uprog__ring--done .hcp-uprog__ring-inner { animation-duration: 1.7s; }
.hcp-uprog__ring-inner {
    width: 56px; height: 56px; border-radius: 50%; background: #123B7A;
    display: flex; align-items: center; justify-content: center;
    animation: hcpHpBob 4.2s ease-in-out infinite;
}
.hcp-uprog__cow {
    width: 40px; height: 38px; display: block; color: #fff;
    background: none; box-shadow: none; border-radius: 0;
}
/* Göz rengi ÇİZİMLE AYNI (beyaz). Logo bir kontur çizimi: kafanın içi dolu değil,
   yalnız çizgiler var. Gözü daire rengine "oymak" onu doğrudan arka plana boyamak
   demekti — bir tur boyunca gözlerin görünmemesinin sebebi buydu. Yarıçap
   işaretlemede 6.0 (çizim ölçeğinde 3.224 iken ekranda 1px'in altına düşüyordu). */
.hcp-uprog__cow .hcp-hp-eye {
    fill: #fff; transform-box: fill-box; transform-origin: center;
    animation: hcpHpBlink 4s ease-in-out infinite;
}
.hcp-uprog__cow .hcp-hp-eye--r { animation-delay: .05s; }
@keyframes hcpHpBlink {
    0%, 88%, 100% { transform: scaleY(1); }
    94% { transform: scaleY(.05); }
}
/* Nefes: daire 1,5px yukarı-aşağı. Halo: "bakılacak yer burası" ipucu. */
@keyframes hcpHpBob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-1.5px); }
}
@keyframes hcpHpHalo {
    0%, 100% { box-shadow: 0 0 0 0 rgba(26, 99, 196, .16); }
    50% { box-shadow: 0 0 0 5px rgba(26, 99, 196, .09); }
}
.hcp-header-progress--clickable:hover .hcp-uprog__ring-inner { transform: translateY(-2.5px); }
@media (prefers-reduced-motion: reduce) {
    .hcp-uprog__cow .hcp-hp-eye,
    .hcp-uprog__ring,
    .hcp-uprog__ring-inner { animation: none; }
    .hcp-uprog__arc-fill { transition: none; }
}

.hcp-uprog .hcp-hp-pct {
    font-size: 24px; font-weight: 800; color: #1A63C4; line-height: 1;
}
.hcp-uprog__line { display: flex; align-items: baseline; gap: 9px; flex-shrink: 0; }
/* Çubuk sayıların yanında ve ESNER: panelle butonlar arasındaki ~280px ölü boşluğu
   yutuyor. Panelin içinde ve 7px — kartı boydan boya kesen eski kalın şerit değil.
   (.hcp-uprog__col sütun sarmalayıcısı kalktı, ölü CSS bırakmıyoruz.) */
.hcp-uprog__bar {
    display: block; height: 7px; border-radius: 999px; flex: 1; min-width: 60px;
    background: #D7E3F1; overflow: hidden;
}
.hcp-uprog__bar-fill {
    display: block; height: 100%; width: 0; border-radius: 999px;
    background: #1A63C4; transition: width .5s cubic-bezier(.22, 1, .36, 1);
}
/* #64748B panelin açık mavi zemininde 4.26:1'e düşüyordu (beyazda 4.76'ydı, eşik 4.5).
   Bir ton koyulaştırıldı: 5.42:1. */
.hcp-uprog .hcp-hp-sub { font-size: 13px; color: #55637A; font-weight: 600; }
/* .hcp-uprog__bar / __bar-fill ve .hcp-hp-headline kaldırıldı — ilerlemeyi yalnız
   halka anlatıyor, "İyi gidiyorsun" da seviye rozetiyle aynı şeyi söylüyordu.
   (Ölü CSS bırakmıyoruz: ineğin arkasına mavi kutu çizen hata tam olarak
   markup'tan düşmüş ama silinmemiş bir sınıf adının çakışmasından çıkmıştı.) */

/* "Devam et" rozeti — üst sıranın sağında pill buton (renk/level JS ile) */
.hcp-uhead__top .hcp-hp3-badge {
    margin-left: auto; flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 16px; border-radius: var(--pys-radius-md); font-weight: 700; font-size: var(--pys-fs-md);
}
/* Madalyon düzeninde rozet sayıların YANINDA durur (sağa savrulmaz), boşluğu
   şevrondan önce açan flex payı üstlenir. */
.hcp-uhead--medallion .hcp-uhead__top .hcp-hp3-badge {
    margin-left: 0; border: 1px solid transparent;
    padding: 4px 12px; border-radius: var(--pys-radius-pill); font-size: var(--pys-fs-xs);
}
.hcp-uhead--medallion .hcp-uhead__top .hcp-hp3-badge-icon { font-size: var(--pys-fi-sm); }

/* İlerlemem girişi — şeridin sağında net "detay bir tık ötede" affordance'ı (Aşama 3-B).
   Şeridin tamamı zaten tıklanabilir; bu yalnız görünürlük içindir. */
.hcp-uhead__top .hcp-hp-open {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 8px 12px; border-radius: var(--pys-radius-md); white-space: nowrap;
    font-size: var(--pys-fs-sm); font-weight: 700; color: #1A63C4; background: #EAF2FD;
    transition: background .15s ease;
}
.hcp-uhead__top .hcp-hp-open i { font-size: var(--pys-fi-sm); transition: transform .15s ease; }
.hcp-header-progress--clickable:hover .hcp-hp-open { background: #DCEAFB; }
.hcp-header-progress--clickable:hover .hcp-hp-open i { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
    .hcp-header-progress--clickable:hover .hcp-hp-open i { transform: none; }
}
@media (max-width: 560px) {
    .hcp-uhead__top .hcp-hp-open { padding: 7px 9px; }
    .hcp-uhead__top .hcp-hp-open .hcp-hp-open-txt { display: none; }
}
/* "İlerlemem" etiketi okun HEMEN SOLUNDA, panelin sağ ucunda. margin-left:auto YOK:
   panel içeriği kadar geniş olduğu için etiket rozetin yanında duruyor, denetimde
   görülen "ortada asılı kalan yalnız şevron" durumu ortadan kalktı. */
.hcp-uhead--medallion .hcp-uhead__top .hcp-hp-open {
    margin-left: 4px; padding: 6px 10px; border-radius: var(--pys-radius-sm);
    display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
    background: #E6EFFB; color: #17399B; font-size: var(--pys-fs-xs); font-weight: 700;
}
.hcp-uhead--medallion .hcp-uhead__top .hcp-hp-open i { font-size: var(--pys-fi-xs); }
.hcp-uhead--medallion .hcp-header-progress--clickable:hover .hcp-hp-open {
    background: #D8E7F9; color: #123B7A;
}

/* İçerik/dosya geri bildiriminden atanan işte salt-okunur "brief" (Planım satırı + detay panel).
   Geri bildirim metni artık explanation'a yazılmıyor; burada tam görünür, düzenleme alanı boş kalır. */
.hcp-item-brief { margin: 6px 0 2px 34px; background: #F5F9FC; border: 1px solid #E1E8F0; border-radius: 10px; padding: 8px 12px; }
.hcp-item-brief__lbl { font-size: 11px; font-weight: 700; color: #1A63C4; display: inline-flex; align-items: center; gap: 6px; }
.hcp-item-brief__lbl i { font-size: 11px; }
.hcp-item-brief__body { margin: 4px 0 0; font-size: 13px; color: #3A4A57; line-height: 1.5; white-space: pre-wrap; }
.hcp-unified-brief { background: #F5F9FC; border: 1px solid #E1E8F0; border-radius: 10px; padding: 10px 12px; }
.hcp-unified-brief .hcp-unified-label { color: #1A63C4; display: inline-flex; align-items: center; gap: 6px; }
.hcp-unified-brief__body { margin: 6px 0 0; font-size: 14px; color: #3A4A57; line-height: 1.55; white-space: pre-wrap; }

/* === Planım aksiyon barı: İş Ata + İzin (tek standart, segment mirası YOK) === */
/* Gönder (.teslim-btn) ile aynı form: 44px yükseklik, 12px köşe, yumuşak gölge.
   Renkler korunur (İş Ata çini, İzin bakır) — sadece form standardize edildi. */

.hcp-act-btn {
    height: 44px;
    padding: 0 16px;
    /* Gönder(ildi) butonuyla aynı taban genişlik — üçlü sıra eşit ve premium dursun */
    min-width: 128px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    color: #fff;
    font-family: var(--pys-font-display, inherit);
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 2px 8px rgba(16,40,60,.16);
    transition: filter .15s ease, transform .14s ease, box-shadow .22s ease;
}
.hcp-act-btn:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}
.hcp-act-btn:active { transform: translateY(0); }

.hcp-act-btn--assign { background: linear-gradient(135deg, var(--color-brand-cini, #3FA0EC), #0C7C8C); }
/* İzin butonu, komşusu "Gönderildi" (sarı-altın) ile aynı sıcak-sarı ailesindeydi;
   canlı turuncuya çekildi — ikisi de sıcak/canlı kalır ama net ayrışır (bulgu #12). */
.hcp-act-btn--leave  { background: linear-gradient(135deg, #F97316, #C2410C); }
/* İkonlar belirgin ve net beyaz olsun (14px ince yerine ~18px) — Gönder'le aynı görünür ağırlık */
.hcp-act-btn i { font-size: 18px; color: #fff; line-height: 1; }
/* Eski açılır-menü ID kuralları (#...-dd-assign/-leave i) ikonu mavi/turuncu boyuyordu;
   solid butonda ikon beyaz kalsın (ID düzeyinde override) */
.hcp-act-btn#hcp-ctrl-dd-assign i,
.hcp-act-btn#hcp-ctrl-dd-leave i { color: #fff; }

/* İş Ata modalı: geç atama hafta seçimi (Cuma) + bilgi notu (Cmt/Paz) */
.hcp-assign-week-wrap { margin-top: 4px; }
.hcp-assign-week-choice { display: flex; gap: 8px; margin-top: 6px; }
.hcp-assign-week-opt {
    flex: 1; padding: 8px 10px; border-radius: 10px;
    border: 1.5px solid #DCE3EB; background: #fff; color: #475569;
    font-size: 13px; font-weight: 600; cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.hcp-assign-week-opt:hover { border-color: #94A3B8; }
.hcp-assign-week-opt.is-selected { border-color: #2563EB; background: #EAF1FE; color: #0C3480; }
.hcp-assign-week-note {
    margin-top: 8px; font-size: 13px; font-weight: 500; line-height: 1.45; color: #92400E;
    background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 8px; padding: 9px 12px;
}

/* ===== Bildirim detay popup'ı — merkez modal diliyle (eski inline stil kopyası kaldırıldı) ===== */
.hcp-notif-detail {
    position: fixed; inset: 0; z-index: 120;
    display: flex; align-items: center; justify-content: center;
    background: rgba(15, 23, 42, .45); padding: 16px;
}
.hcp-notif-detail__card {
    background: #fff; border-radius: 16px; max-width: 520px; width: 100%;
    max-height: 80vh; overflow-y: auto; padding: 22px 24px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.hcp-notif-detail__head { display: flex; align-items: flex-start; gap: 10px; }
.hcp-notif-detail__ic { margin-top: 2px; }
.hcp-notif-detail__titles { flex: 1; min-width: 0; }
.hcp-notif-detail__title { font-weight: 700; font-size: 15px; color: #1e293b; }
.hcp-notif-detail__when { font-size: 11.5px; color: #64748B; margin-top: 2px; }
.hcp-notif-detail__close {
    border: none; background: #f1f5f9; border-radius: 10px;
    width: 30px; height: 30px; cursor: pointer; color: #64748b; font-size: 15px;
    transition: background .12s ease;
}
.hcp-notif-detail__close:hover { background: #E2E8F0; color: #334155; }
.hcp-notif-detail__body { margin-top: 12px; font-size: 14px; line-height: 1.6; color: #334155; white-space: pre-wrap; overflow-wrap: break-word; }
.hcp-notif-detail__go {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 14px; border: none; background: #1E6FD0; color: #fff;
    font-weight: 700; font-size: 13px; border-radius: 10px; padding: 8px 16px; cursor: pointer;
    transition: filter .12s ease;
}
.hcp-notif-detail__go:hover { filter: brightness(1.08); }

/* ===== Ortada uyarı/hata popup (M.hcpAlert) — açık modalların ÜSTÜNDE yığılır ===== */
.hcp-alert-overlay {
    position: fixed; inset: 0; z-index: 130;
    display: flex; align-items: center; justify-content: center; padding: 16px;
    opacity: 0; transition: opacity .16s ease;
}
.hcp-alert-overlay.is-open { opacity: 1; }
.hcp-alert-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); }
.hcp-alert-card {
    position: relative; background: #fff; border-radius: 16px;
    padding: 22px 22px 18px; width: min(360px, 92vw);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24); text-align: center;
    transform: translateY(8px) scale(.98); transition: transform .18s ease;
}
.hcp-alert-overlay.is-open .hcp-alert-card { transform: translateY(0) scale(1); }
.hcp-alert__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px; border-radius: 14px; font-size: 22px; margin-bottom: 12px;
}
.hcp-alert__title { font-size: 16px; font-weight: 800; color: #13303a; margin-bottom: 4px; }
.hcp-alert__msg { font-size: 14px; line-height: 1.5; color: #475569; margin-bottom: 16px; }
.hcp-alert__ok {
    width: 100%; padding: 10px; border: none; border-radius: 10px;
    background: linear-gradient(135deg, var(--hcp1), var(--hcp2)); color: #fff;
    font-size: 14px; font-weight: 700; cursor: pointer;
    transition: opacity .15s ease, transform .15s ease;
}
/* Diyalog birincil butonu — tek kaynak (marka mavisi ailesi; "cini" turkuazı yalnız
   kendi anlamı olan aksiyonlarda kalır) */
.hcp-dialog-primary {
    background: linear-gradient(135deg, var(--hcp1), var(--hcp2));
    color: #fff; border: none; font-weight: 600;
    transition: filter .12s ease;
}
.hcp-dialog-primary:hover { filter: brightness(1.08); }
.hcp-alert__ok:hover { opacity: .92; transform: translateY(-1px); }
.hcp-alert__ok:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .hcp-alert-overlay, .hcp-alert-card { transition: none; }
}

/* Akıllı kategori önerisi çipi (quick-add) */
.hcp-wa-suggest {
    display: inline-flex; align-items: center; gap: 6px;
    margin-left: 8px; padding: 5px 11px; border-radius: 999px;
    border: 1px dashed #BBD9F5; background: #F0F7FF; color: #1a63c4;
    font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap;
    transition: background .15s ease;
}
.hcp-wa-suggest:hover { background: #E0F2FE; }
.hcp-wa-suggest .hcp-wa-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }

/* Haftamın Analizi paneli — eski satır içi stiller sınıf/token diline taşındı */
.hcp-wkan { padding: 4px 2px 8px; }
.hcp-wkan-stats { display: flex; gap: 10px; margin-bottom: 16px; }
.hcp-wkan-stat { flex: 1; background: #F0F7FF; border-radius: 12px; padding: 12px 14px; text-align: center; }
.hcp-wkan-stat__val { font-size: 22px; font-weight: 800; color: #1a63c4; }
.hcp-wkan-stat__val--text { font-size: 15px; line-height: 1.5; margin-top: 3px; }
.hcp-wkan-stat__lbl { font-size: 12px; color: #64748B; margin-top: 2px; }
.hcp-wkan-kicker { font-size: 12px; font-weight: 700; color: #475569; letter-spacing: .04em; margin-bottom: 6px; }
.hcp-wkan-list { list-style: none; margin: 0; padding: 0; }
.hcp-wkan-list--dist { margin-bottom: 16px; }
.hcp-wkan-dist-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid #F1F5F9; }
.hcp-wkan-dist-row__dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.hcp-wkan-dist-row__tag { flex: 1; font-size: 13px; color: #1E293B; }
.hcp-wkan-dist-row__val { font-size: 12px; color: #64748B; font-variant-numeric: tabular-nums; }
.hcp-wkan-dist-empty { font-size: 13px; color: #64748B; padding: 6px 0; }
.hcp-wkan-tip { display: flex; gap: 8px; font-size: 13px; color: #334155; line-height: 1.5; margin-bottom: 7px; }
.hcp-wkan-tip__dot { font-size: 5px; color: #3FA0EC; margin-top: 7px; flex-shrink: 0; }

/* "YZ ile derinleştir" — Haftamın Analizi panelinde gerçek YZ analizi (gpt-4o-mini) */
.hcp-yz-ai { margin-top: 16px; border-top: 1px solid #EEF2F6; padding-top: 14px; }
.hcp-yz-ai-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 16px; border: none; border-radius: 11px;
    background: linear-gradient(135deg, #7C3AED, #5B21B6); color: #fff;
    font-size: 13px; font-weight: 700; cursor: pointer;
    box-shadow: 0 3px 12px rgba(124, 58, 237, .28);
    transition: opacity .15s ease, transform .15s ease;
}
.hcp-yz-ai-btn:hover:not(:disabled) { opacity: .92; transform: translateY(-1px); }
.hcp-yz-ai-btn:disabled { opacity: .7; cursor: default; }
.hcp-yz-ai-text { margin-top: 12px; font-size: 14px; line-height: 1.6; color: #334155; white-space: pre-wrap; }
.hcp-yz-ai-empty { margin-top: 12px; font-size: 13px; color: #64748B; }
.hcp-yz-spin {
    width: 13px; height: 13px; border: 2px solid rgba(255, 255, 255, .5);
    border-top-color: #fff; border-radius: 50%; display: inline-block;
    animation: hcp-yz-spin .7s linear infinite;
}
@keyframes hcp-yz-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .hcp-yz-spin { animation: none; } }

/* .hcp-plan-actionbar kuralları silindi: aksiyon butonları başlık kartının içine
   taşındı, o sınıf artık hiç basılmıyor. Ölü CSS bırakmıyoruz. */
/* Bu satırda yalnız durum şeridi (ör. teslim geri sayımı) kaldı. */
.hcp-plan-actionrow {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px; /* 8px grid: alttaki Yeni İş Ekle kartıyla aynı dikey ritim */
    width: 100%;
    background: rgba(255,255,255,0.55);
    border: 1px solid #D7E3F0;
    border-radius: 14px;
    padding: 8px 12px;
    box-shadow: 0 1px 2px rgba(11,42,80,.04), 0 4px 14px rgba(11,42,80,.06);
}
/* Durum şeridi gizliyken satırda yalnız buton grubu kalır; yarı saydam kutu
   o hâlde "havada asılı yarım kart" gibi okunuyordu. Kutuyu görünmez yap,
   butonlar alttaki kartın sağ kenarıyla tam hizalansın. (:has desteklemeyen
   eski tarayıcıda zararsız: hafif kutu görünür kalır.) */
/* Şerit gizliyken satırda hiçbir şey kalmıyor: kutu da, üst boşluğu da kalkar.
   (Eskiden butonlar burada olduğu için satır her hâlde yer tutuyordu.) */
.hcp-plan-actionrow:has(> #hcp-plan-status-strip.hidden) {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    padding: 0;
    margin-top: 0;
}
.hcp-plan-actionrow > #hcp-plan-status-strip {
    flex: 1 1 320px;
    margin-top: 0;
}

/* ============================================================
   Planim <-> Degerlendirme tutarlilik turu (2026-07-06)
   ============================================================ */
/* #1 — Grup basliklari Title Case (Degerlendirme ile ayni; kural: uppercase kullanma) */
#hcp-shell-plan .hcp-section-title { text-transform: none !important; letter-spacing: .01em !important; }

/* #4 — Is kartlarindaki renkli sol-kenar seridi kaldirildi (kural: seridi kullanma;
   kategori zaten sagdaki renkli cip/nokta ile gosteriliyor). Inline rengi !important ezer. */
#hcp-shell-plan .hcp-section-body .border-l-4 { border-left-width: 1px !important; border-left-color: #E2E8F0 !important; }

/* #5 — Durum seridi bossa (hafta kapali) aksiyon kartinin bos beyaz kutusu kaldirilir;
   butonlar tek baslarina saga derli toplu durur (soldaki olu bosluk gider). */
.hcp-plan-actionrow:has(> #hcp-plan-status-strip:empty) {
    background: transparent !important; border-color: transparent !important;
    box-shadow: none !important; padding: 0 !important;
}

/* === Panel başlık standardı: Kontrol + Geri Bildirimler aksiyon kartı === */
/* Planım'ın .hcp-header-action-bar'ı ile birebir aynı görünüm → üç panelde de
   [mavi band] + [beyaz aksiyon kartı] aynı. Kontroller sağa hizalı.
   position:relative → Geri Bildirimler takvim popup'ı bu karta göre konumlanır. */
.hcp-panel-actionbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px 16px;
    padding: 8px 18px 10px;
    background: #ffffff;
    border-radius: 0 0 16px 16px;
    border-top: 1.5px solid #efece4;
    box-shadow: 0 4px 16px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.9);
    position: relative;
}


/* === Planım mobil saha modu (640px altı) — dokunma hedefleri ve yerleşim === */
@media (max-width: 640px) {
    /* Başlık bandı sıkışmasın: ikon/başlık küçülür, teslim çipi gizlenir
       (aynı bilgi son 48 saatte durum şeridinde zaten var) */
    /* Taban olculer 36px/19px; mobilde gercekten kuculsun. */
    #hcp-shell-plan .hcp-uhead__title { font-size: var(--pys-fs-lg); }
    #hcp-shell-plan .hcp-uhead__icon { width: 30px; height: 30px; font-size: 14px; border-radius: var(--pys-radius-sm); }
    #hcp-shell-plan .hcp-week-deadline { display: none; }

    /* Hızlı ekleme: 16px yazı iOS'ta odaklanınca otomatik yakınlaştırmayı önler;
       giriş ve Ekle butonu parmakla rahat basılacak yükseklikte */
    #hcp-shell-plan .hcp-quick-add__input { font-size: 16px; padding: 0.7rem 0.75rem; }
    #hcp-shell-plan .hcp-btn-add { min-height: 44px; }

    /* İş satırları: daha yüksek dokunma alanı, durum düğmesi büyür */
    #hcp-shell-plan .hcp-item-row-main { min-height: 52px; }
    #hcp-shell-plan .hcp-status-indicator {
        width: 28px; height: 28px; min-width: 28px; min-height: 28px; font-size: 13px;
    }
    #hcp-shell-plan .hcp-inline-title,
    #hcp-shell-plan .hcp-inline-title--done { font-size: 15px; }
}

/* ── HÇP Denetim düzeltmeleri (erişilebilirlik / hiyerarşi / mikro-etkileşim) ── */

/* #4 Klavye odak halkası — tüm HÇP etkileşimli öğelerinde tek tip, görünür.
   Daha özgül kuralı olan öğeler (ör. status düğmesi) kendi halkasını korur. */
#hcp-shell-plan :focus-visible,
#hcp-shell-control :focus-visible,
#hcp-shell-feedbacks :focus-visible,
#header-notif-popover :focus-visible {
    outline: 2px solid var(--hcp-focus-ring, #1a63c4);
    outline-offset: 2px;
}

/* #3 Dokunma hedefleri: sil butonu için daha büyük min alan. */
.hcp-row-icon-btn { min-width: 34px; min-height: 34px; }

/* #11 Bölüm başlığı gruplarını ayır: alt ince çizgi (renk soldurmadan). */
#hcp-shell-plan .hcp-section-head { border-bottom: 1px solid #EDE9DE; }

/* #17 Satır başlığının "tıkla-düzenle" işlevine kalıcı ipucu (dokunmatikte hover
   yok): statülü başlık sonunda soluk kalem; üstüne gelince belirginleşir. */
.hcp-inline-title--done { position: relative; }
.hcp-inline-title--done::after {
    content: '\f304';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 10px;
    margin-left: 8px;
    opacity: 0.32;
    transition: opacity 0.15s ease;
    vertical-align: baseline;
}
.hcp-inline-title--done:hover::after { opacity: 0.8; }

/* #15 Mobil: hızlı-ekle satırı sarsın, giriş tam genişlik. */
@media (max-width: 560px) {
    .hcp-quick-add__row { flex-wrap: wrap; }
    .hcp-quick-add__input { flex: 1 1 100%; }
}

/* Hafta çipi nabzı — sekme geçişinde hafta bağlamı sessizce değiştiğinde dikkat çeker */
@keyframes hcpWeekChipPulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .55); }
    70% { box-shadow: 0 0 0 9px rgba(255, 255, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}
.hcp-week-chip-pulse { animation: hcpWeekChipPulse 1.2s ease-out 1; }
@media (prefers-reduced-motion: reduce) {
    .hcp-week-chip-pulse { animation: none; }
}
