/* pys_hcp_control_1_temel.css
 * ===========================================================================
 * KAYNAK: pys_hcp_control.css satir 1-955 (bolundu: 2026-08-27)
 *
 * !! YUKLEME SIRASI KRITIK !!
 * Bu dosya ailesi (pys_hcp_control_1..6) index.html'de NUMARA SIRASIYLA
 * yuklenmek ZORUNDA. Dosya kronolojik olarak bolundu: sonraki parcalar
 * oncekilerin seciciliklerini KASITLI olarak eziyor. Sira bozulursa
 * gorunum sessizce bozulur (hata vermez).
 *
 * ICERIK: Degiskenler (durum renkleri, calisma alani etiketleri, V2 sicak zemin), kontrol basligi, roster/avatar seridi, sayi cipi, isaret butonlari, popup degerlendirme, status popover + oneri + siralama panelleri, cip/ilerleme v2/teslim engeli, maskot, sure kolonu, tarih secici
 * ===========================================================================
 */
/** HCP Kontrol paneli stilleri */
:root {
    /* === DURUM RENKLERİ === */
    --hcp-status-bekliyor:           #2563EB;
    --hcp-status-devam:              #F59E0B;
    --hcp-status-tamamlandi:         #15803D;
    --hcp-status-tamamlanamadi:      #EF4444;
    --hcp-status-vazgecildi:         #B85AE0;
    --hcp-section-bg-bekliyor:       #DBEAFE;
    --hcp-section-bg-devam:          #FFFBEB;
    --hcp-section-bg-tamamlandi:     #D1FAE5;
    --hcp-section-bg-tamamlanamadi:  #FEE2E2;
    --hcp-section-bg-vazgecildi:     #E7F2FF;
    /* === ÇALIŞMA ALANI ETİKETLERİ === */
    --hcp-wa-veri:              #0284C7;
    --hcp-wa-bip:               #2563EB;
    --hcp-wa-motivasyon:        #F59E0B;
    --hcp-wa-problem_davranis:  #EF4444;
    --hcp-wa-idari_is:          #3FA0EC;
    --hcp-wa-akademik:          #8366F0;
    --hcp-wa-operasyonel:       #D97706;
    --hcp-wa-aile_gorusmesi:    #FF6088;
    --hcp-wa-etkinlik:          #FF8A47;
    --hcp-wa-egitim:            #16A34A;
    --hcp-wa-toplanti:          #1E6FD0;
    --hcp-wa-supervizyon:       #1FC6B6;
    --hcp-wa-diger:             #5a6c70;
    /* === V2 SICAK ZEMIN SİSTEMİ === */
    --hcp-bg:            #FBFAF6;
    --hcp-bg-card:       #FFFFFF;
    --hcp-border:        #e7e3da;
    --hcp-border-light:  #efece4;
    --hcp-text:          #1b2a2e;
    --hcp-text-muted:    #5a6c70;
    --hcp-text-faint:    #7a8385;
    /* === AMBER YARDIMCILAR === */
    --hcp-amber-50:      #FFFBEB;
    --hcp-amber-100:     #FEF3C7;
    --hcp-amber-200:     #FDE68A;
    --hcp-amber-400:     #FBBF24;
    --hcp-amber-500:     #F59E0B;
    --hcp-amber-600:     #D97706;
}
#page-hcp.hcp-panel-active:not(.hcp-plan-active) .glass-panel.pys-module-page {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 6.5rem);
    min-height: 420px;
    overflow: hidden !important;
}
#hcp-shell-control.hcp-role-panel:not(.hidden) {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
/* D2/C: Kontrol basligi panelin tepesine bitisik durmasin (Feedback ~20 / Plan ~11 ile ayni araliga gelsin). */
/* Üst boşluk Planım ile birebir aynı: Planım'da başlık kabuğun en üstünde (0) başlar;
   buradaki her piksel sekme geçişinde başlığı zıplatıyor (2026-07-27 ölçümü). */
#hcp-shell-control .hcp-uhead { margin-top: 0; }
.hcp-ctrl-page {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
    overflow: hidden;
    --color-phase-preparing: var(--hcp-amber-500);
    --color-phase-submitted: #EF4444;
    --color-phase-completed: #19C37D;
    --color-phase-absent: #94A3B8;
}
/* Genislik paritesi: baslik (uhead) + icerik tam genislik kabin icinde; wizard/
   bolumler kendi dogal ic bosluguyla Plan/Geri Bildirim ile ayni hizada durur.
   (Onceki padding:0 20px basligi da itiyordu; kaldirildi.) */
#hcp-shell-control .pys-hcp-banner-wrap {
    flex-shrink: 0;
    margin: 0 0 0;
}
#hcp-shell-control .hcp-header-action-bar .hcp-back-btn {
    border-color: var(--color-border-secondary);
    background: var(--color-background-primary);
    color: var(--color-text-primary);
    box-shadow: var(--hcp-btn-shadow);
    flex-shrink: 0;
}
#hcp-shell-control .hcp-header-action-bar .hcp-back-btn:hover {
    background: var(--color-background-secondary);
    border-color: var(--color-border-primary);
}#hcp-ctrl-approve-btn.is-disabled,
#hcp-ctrl-approve-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.hcp-ctrl-page > .hcp-panel-msg {
    margin: 0 16px 4px;
}.hcp-ctrl-avatar-strip {
    width: 68px; min-width: 68px; max-width: 68px;
    border-right: 0.5px solid var(--color-border-tertiary);
    background: var(--color-background-secondary);
    display: flex; flex-direction: column; align-items: center;
    padding: 16px 8px; gap: 16px; overflow-y: auto; overflow-x: hidden;
}
.hcp-ctrl-av {
    width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    position: relative; border: none; padding: 0;
    background: var(--color-background-tertiary);
    transition: transform 0.12s, box-shadow 0.12s;
    overflow: visible;
    flex-shrink: 0;
}
.hcp-ctrl-av:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }
.hcp-ctrl-av-img,
.hcp-ctrl-coach-av-img {
    width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: var(--pys-elev-1) rgba(15, 23, 42, 0.12);
}/* ÖLÜ KOD TEMİZLİĞİ (2026-07-27): .hcp-ctrl-av-dot ailesi (1. nesil) silindi —
   avatar şeridi nokta üretmiyor (renderAvatarStrip'te yok, tek kullanım null dönen sorgu). */
.hcp-ctrl-av.is-active { outline: 2.5px solid #16A34A; outline-offset: 2px; }
.hcp-ctrl-av:hover {
    transform: scale(1.06);
    box-shadow: 0 0 0 2px rgba(15, 110, 86, 0.25);
}
/* (.hcp-ctrl-av-sep silindi — üretilmiyor) */
/* Roster üstü onay özeti (takım kategorisi yerine) *//* Brief 04 — kronik devir (5+ hafta) avatar rozeti */#hcp-control-work {
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    min-width: 0;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.hcp-ctrl-coach-content { min-width: 0; }
.hcp-ctrl-coach-bar {
    padding: 12px 16px; border-bottom: 1px solid #E2E8F0;
    display: flex; align-items: center; gap: 12px;
    background: var(--color-background-primary);
    position: sticky; top: 0; z-index: 4;
    isolation: isolate;
    /* Keskin alt çizgi + dar gölge: kaydırınca alttaki kısmi satır barın altında
       net kesilsin, geniş yumuşak gölge metnin üstüne yayılıp sızıntı gibi durmasın */
    box-shadow: var(--pys-elev-1) rgba(15, 23, 42, 0.08);
}.hcp-ctrl-coach-name { font-size: var(--pys-fs-md); font-weight: 600; color: var(--color-text-primary); }.hcp-ctrl-coach-warns { padding: 0 16px 8px; display: flex; flex-direction: column; gap: 6px; }
.hcp-ctrl-alert {
    display: flex; align-items: flex-start; gap: 8px;
    padding: 8px 10px; border-radius: var(--pys-radius-sm); font-size: var(--pys-fs-xs); line-height: 1.4;
}
.hcp-ctrl-alert--warn { background: var(--hcp-amber-50); border: 0.5px solid var(--hcp-amber-200); color: #92400E; }
.hcp-ctrl-pending-card {
    margin: 10px 12px 0; padding: 10px 12px;
    background: var(--hcp-amber-50); border: 0.5px solid var(--hcp-amber-200); border-radius: var(--pys-radius-md);
}
.hcp-ctrl-pending-head { display: flex; align-items: center; gap: 8px; font-size: var(--pys-fs-xs); font-weight: 600; color: #92400E; }
.hcp-ctrl-pending-count {
    margin-left: auto; font-size: var(--pys-fs-xs); font-weight: 600;
    background: var(--hcp-amber-200); color: #78350F; padding: 2px 8px; border-radius: var(--pys-radius-md);
}
.hcp-ctrl-pending-list { margin: 8px 0 0; padding-left: 16px; font-size: var(--pys-fs-xs); color: #78350F; }
.hcp-ctrl-pending-type { opacity: 0.75; }
.hcp-ctrl-draft-banner {
    padding: 10px 16px; background: var(--hcp-amber-50); border-bottom: 0.5px solid var(--hcp-amber-200);
    display: flex; align-items: center; gap: 8px; font-size: var(--pys-fs-xs); color: #92400E;
}
.hcp-ctrl-draft-banner i { font-size: var(--pys-fi-md); flex-shrink: 0; color: #B45309; }
.hcp-ctrl-items--draft { opacity: 0.7; }
.hcp-ctrl-items--draft .hcp-ctrl-item { cursor: default; }
.hcp-ctrl-group {
    border: 1px solid #CBD8E8;
    border-radius: var(--pys-radius-lg);
    overflow: hidden;
    background: var(--color-background-primary);
    box-shadow: var(--hcp-card-shadow);
    margin: 0 0 12px;
}
/* Sayı çipi ada BİTİŞİK durur — space-between öğeleri iki yana savurup ortada
   koca boşluk bırakıyordu (tasarım ilkesi ihlali, 2026-08-14 denetimi). */
.hcp-ctrl-group-hdr {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 16px; cursor: pointer;
    border-bottom: 0.5px solid var(--color-border-tertiary);
    position: relative; z-index: 0;
}.hcp-ctrl-group-hdr--bekliyor { background: #EFF6FF; border-bottom-color: #BFDBFE; }.hcp-ctrl-group-chevron { font-size: var(--pys-fi-sm); flex-shrink: 0; }/* Amber/yeşil zeminde beyaz metin AA kontrastı geçmiyordu (2.1:1 / 3.1:1) —
   zemin canlılığı korunur, yalnız metin aynı ailenin koyusuna çekilir. */.hcp-ctrl-group-items {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #F4F8FD;
}
.hcp-ctrl-item {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 16px;
    border: 1px solid #CBD8E8;
    border-radius: var(--pys-radius-md);
    cursor: pointer;
    transition: background 0.12s, box-shadow 0.12s;
    background: var(--color-background-primary);
    box-shadow: 0 1px 2px rgba(11,42,80,.05), 0 6px 16px rgba(11,42,80,.09);
}
.hcp-ctrl-item:hover {
    background: var(--color-background-secondary);
    box-shadow: var(--pys-shadow-md);
}
/* Durum/degerlendirme sinyali: kenar seridi yerine yumusak renkli ic halka golgesi (kural: renkli golge tercih) */
.hcp-ctrl-group--bekliyor .hcp-ctrl-item { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(59,130,246,.30); }
.hcp-ctrl-group--bekliyor .hcp-ctrl-item:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(59,130,246,.30); }.hcp-ctrl-item--evaluated { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(52,211,153,.42); }
.hcp-ctrl-item--evaluated:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(52,211,153,.42); }
.hcp-ctrl-item--evaluated[data-mark="minus"] { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(248,113,113,.42); }
.hcp-ctrl-item--evaluated[data-mark="minus"]:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(248,113,113,.42); }
.hcp-ctrl-item--evaluated[data-mark="revise"] { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(37,99,235,.42); }
.hcp-ctrl-item--evaluated[data-mark="revise"]:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(37,99,235,.42); }
.hcp-ctrl-item--evaluated[data-mark="dd"] { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(100,116,139,.42); }
.hcp-ctrl-item--evaluated[data-mark="dd"]:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(100,116,139,.42); }
.hcp-ctrl-item--evaluated[data-mark="ontrack"] { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(13,148,136,.42); }
.hcp-ctrl-item--evaluated[data-mark="ontrack"]:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(13,148,136,.42); }
.hcp-ctrl-item--evaluated[data-mark="speedup"] { box-shadow: var(--pys-shadow-sm), inset 0 0 0 1px rgba(217,119,6,.42); }
.hcp-ctrl-item--evaluated[data-mark="speedup"]:hover { box-shadow: var(--pys-shadow-md), inset 0 0 0 1px rgba(217,119,6,.42); }
.hcp-ctrl-item-num {
    width: 24px; height: 24px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: var(--pys-fs-xs); font-weight: 500; flex-shrink: 0;
    background: var(--color-background-secondary);
    color: var(--color-text-secondary);
    border: 0.5px solid var(--color-border-secondary);
}
.hcp-ctrl-item-body { flex: 1; min-width: 0; }
.hcp-ctrl-item-title {
    font-size: var(--pys-fs-md); font-weight: 500; color: var(--color-text-primary);
    margin: 0 0 6px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-wrap: break-word;
    line-height: 1.4;
}
.hcp-ctrl-item-meta {
    font-size: var(--pys-fs-xs); color: var(--color-text-secondary);
    display: flex; align-items: center; flex-wrap: wrap; gap: 4px;
}
.hcp-ctrl-badge--red { font-size: var(--pys-fs-xs); color: #B91C1C; background: #FEE2E2; padding: 0 4px; border-radius: var(--pys-radius-xs); font-weight: 600; }
.hcp-ctrl-badge--amber {
    background: var(--hcp-amber-100);
    color: #92400E;
    border: 1px solid #FCD34D;
    border-radius: var(--pys-radius-sm);
    padding: 2px 8px;
    font-size: var(--pys-fs-xs);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.hcp-ctrl-badge--slate { font-size: var(--pys-fs-xs); color: var(--pys-ink-4); background: #FBFAF6; padding: 0 4px; border-radius: var(--pys-radius-xs); }
.hcp-ctrl-badge--blue { font-size: var(--pys-fs-xs); color: #1D4ED8; background: #DBEAFE; padding: 0 4px; border-radius: var(--pys-radius-xs); font-weight: 600; }
.hcp-ctrl-item-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.hcp-ctrl-marks { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.hcp-ctrl-mark {
    height: 44px; min-width: 44px; padding: 0 12px; border-radius: var(--pys-radius-md);
    border: 1.5px solid var(--color-border-secondary);
    background: var(--color-background-primary);
    display: flex; align-items: center; justify-content: center;
    font-size: var(--pys-fs-md); font-weight: 700; cursor: pointer;
    color: var(--color-text-secondary); transition: all 0.12s;
    font-family: var(--pys-font-display);
}
.hcp-ctrl-mark:hover { background: var(--color-background-secondary); }
.hcp-ctrl-mark:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }
/* Seçmeden ÖNCE de renk ipucu — karar anında görsel rehber (yumuşak ton) */
.hcp-ctrl-mark[data-mark="plus"]   { color: #15803D; border-color:#86EFAC; }
.hcp-ctrl-mark[data-mark="minus"]  { color:#DC2626; border-color:#FCA5A5; }
.hcp-ctrl-mark[data-mark="revise"] { color:var(--hcp-mark-revise); border-color:#93C5FD; }
.hcp-ctrl-mark[data-mark="dd"]     { color:var(--hcp-mark-dd); border-color:#CBD5E1; }
.hcp-ctrl-mark[data-mark="ontrack"] { color:#0D9488; border-color:#5EEAD4; }
.hcp-ctrl-mark[data-mark="speedup"] { color:#B45309; border-color:#FCD34D; }
.hcp-ctrl-mark[data-mark="plus"]:hover   { background:#F0FDF4; }
.hcp-ctrl-mark[data-mark="minus"]:hover  { background:#FEF2F2; }
.hcp-ctrl-mark[data-mark="revise"]:hover { background:var(--hcp-mark-revise-soft); }
.hcp-ctrl-mark[data-mark="dd"]:hover     { background:#F8FAFC; }
.hcp-ctrl-mark[data-mark="ontrack"]:hover { background:#F0FDFA; }
.hcp-ctrl-mark[data-mark="speedup"]:hover { background:#FFFBEB; }
/* Seçilince dolu renk */
.hcp-ctrl-mark.is-active[data-mark="plus"]   { background: linear-gradient(135deg,#15803D,#166534); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(22,163,74,.42); }
.hcp-ctrl-mark.is-active[data-mark="minus"]  { background: linear-gradient(135deg,#DC2626,#B91C1C); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(220,38,38,.42); }
.hcp-ctrl-mark.is-active[data-mark="revise"] { background: linear-gradient(135deg,#3B82F6,var(--hcp-mark-revise)); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(37,99,235,.38); }
.hcp-ctrl-mark.is-active[data-mark="dd"]     { background: linear-gradient(135deg,#94A3B8,var(--hcp-mark-dd)); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(100,116,139,.38); }
.hcp-ctrl-mark.is-active[data-mark="ontrack"] { background: linear-gradient(135deg,#14B8A6,#0D9488); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(13,148,136,.4); }
.hcp-ctrl-mark.is-active[data-mark="speedup"] { background: linear-gradient(135deg,#F59E0B,#D97706); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(217,119,6,.4); }
/* Popup içi değerlendirme: tam genişlik + okunur etiket.
   ⚠️ ÖN EK YOK: iş penceresi BODY'ye portal edilir (hcp-center-modal-root), yani
   #hcp-shell-control kapsamının DIŞINDA yaşar. Ön ekli yazılan bu kurallar pencere
   canlıya döndüğünde hiç uygulanmıyordu: butonlar esnemiyor, alt alta kıvrılıyordu
   (2026-08-13 canlı doğrulama). Portal edilen her öğede kural ön eksiz yazılır. */
/* Tek sütun: dört işaret alt alta, her etiket tam okunur. İki sütunda pencere
   genişliği "Değerlendirme Dışı"yı iki satıra kırıyordu; kırpmak da anlamı yok
   eder. Alt alta diziliş 1-2-3-4 tuş sırasını da doğrudan görünür kılıyor. */
.hcp-ctrl-popup-marks { display: grid; grid-template-columns: 1fr; gap: 8px; }
.hcp-ctrl-popup-marks .hcp-ctrl-mark { min-width: 0; font-size: var(--pys-fs-sm); white-space: nowrap; }
.hcp-ctrl-popup-keyhint { font-size: var(--pys-fs-xs); color: var(--pys-ink-4); margin: 8px 0 0; text-align: center; }
.hcp-ctrl-mark.is-pending { opacity: 0.55; pointer-events: none; }

/* Redesign 2A (2026-08-13) — satır butonlarında ikon + işaretin ADI. Anlam artık
   fareyle bekleyene değil bakana açık. 44px dokunma hedefi korunur; dar ekranda
   etiket gizlenir ve buton eski ikon-only hâline döner (davranış aynı). */
.hcp-ctrl-mark__lbl { margin-left: 8px; font-size: var(--pys-fs-xs); font-weight: 700; letter-spacing: -0.01em; }
@media (max-width: 1100px) {
    #hcp-shell-control .hcp-ctrl-mark__lbl { display: none; }
}
/* E5 (2026-08-13): rapor önizlemesinin altındaki "hangi güne ait" notu. Rapor
   donuk metindir; üretimden sonra değişen işler ona yansımaz. */
.hcp-ctrl-report-asof {
    display: flex; align-items: center; gap: 6px; margin: 10px 0 0;
    font-size: var(--pys-fs-xs); font-weight: 600; color: var(--pys-ink-4);
}
.hcp-ctrl-report-asof i { font-size: var(--pys-fi-xs); color: var(--pys-ink-5); }

/* ── Kalabalık azaltma · Seçenek A (2026-08-13) ──────────────────────────────
   Karar VERİLMİŞ satırda karar araçları durmaz: işaret butonları ve "İşareti
   Kaldır" gizlenir, yerine tek "Değiştir" düğmesi kalır. Satıra (ya da Değiştir'e)
   tıklamak düzenleme modunu açar — butonlar + not alanı birlikte gelir.
   İşaretsiz satır tam donanımlı kalır; etiketli butonların kazanımı orada yaşar. */
/* !important ŞART: kapsül düzeni `.hcp-ctrl-marks--pill { display:inline-flex !important }`
   ile yazılmış (bu dosyanın ilerisinde) ve daha özgül olmasına rağmen bu kuralı eziyordu —
   canlı ölçümde butonlar gizlenmedi. CLAUDE.md red flag #3/#5: ID'li display kuralı
   gizlemeyi ezer, gizleme açıkça !important olmalı. */
#hcp-shell-control .hcp-ctrl-item--card[data-mark]:not(.is-editing) .hcp-ctrl-marks,
#hcp-shell-control .hcp-ctrl-item--card[data-mark]:not(.is-editing) .hcp-ctrl-mark-clear {
    display: none !important;
}
/* "Değiştir" yalnız işaretli ve düzenlenmeyen satırda görünür. */
.hcp-ctrl-row-edit { display: none; }
#hcp-shell-control .hcp-ctrl-item--card[data-mark]:not(.is-editing) .hcp-ctrl-row-edit {
    display: inline-flex; align-items: center; gap: 6px;
    height: 32px; padding: 0 12px; border-radius: var(--pys-radius-sm);
    border: 1px solid #CBD8E8; background: var(--color-background-primary);
    font-size: var(--pys-fs-xs); font-weight: 700; color: #1a63c4; cursor: pointer;
    white-space: nowrap; transition: all 0.12s;
}
#hcp-shell-control .hcp-ctrl-item--card[data-mark]:not(.is-editing) .hcp-ctrl-row-edit:hover {
    background: #EFF6FF; border-color: #93C5FD;
}
.hcp-ctrl-row-edit:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }
.hcp-ctrl-row-edit i { font-size: var(--pys-fi-xs); }

/* İşareti Kaldır — gizli "aktife tekrar tıkla" davranışının görünür eşdeğeri.
   Silme eylemi yalnız kırmızıya yaslanmaz: ikon + metin birlikte ayrıştırır. */
.hcp-ctrl-mark-clear {
    display: inline-flex; align-items: center; gap: 6px; margin-left: 8px;
    height: 32px; padding: 0 12px; border-radius: var(--pys-radius-sm);
    border: 1px solid #D7DEE8; background: var(--color-background-primary);
    font-size: 11.5px; font-weight: 700; color: var(--pys-ink-4); cursor: pointer;
    white-space: nowrap; transition: all 0.12s;
}
/* .hidden ile display:inline-flex ayni ozgullukte — kaynak sirasina kalirsa dugme
   isaretsiz satirda da gorunur kalir (CLAUDE.md red flag #3/#5). Acikca ezilir. */
.hcp-ctrl-mark-clear.hidden { display: none !important; }
.hcp-ctrl-mark-clear:hover { background: #F5F7FA; color: var(--pys-ink-3); border-color: #C3CDDB; }
.hcp-ctrl-mark-clear:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }
.hcp-ctrl-mark-clear i { font-size: 11px; }

/* Pencere butonu: ikon + tuş rozeti + etiket sola yaslı dizilir.
   Ön ek YOK: pencere body'ye portal edilir (yukarıdaki nota bakın).
   Tuş rozetinin (.hcp-ctrl-popup-key) kendi stili aşağıda, D4 bloğunda tanımlı —
   burada tekrar yazılmaz. */
.hcp-ctrl-mark--wide { justify-content: flex-start; gap: 4px; position: relative; padding: 0 10px; }
.hcp-ctrl-popup-marks .hcp-ctrl-mark--wide i { flex-shrink: 0; }.hcp-ctrl-general-note {
    width: 100%; font-size: var(--pys-fs-xs); border-radius: var(--pys-radius-sm);
    border: 0.5px solid var(--color-border-secondary);
    padding: 8px; resize: vertical; background: var(--color-background-secondary);
}
.hcp-ctrl-yz-btn, .hcp-ctrl-popup-fb-send {
    font-size: var(--pys-fs-xs); padding: 6px 12px; border-radius: var(--pys-radius-sm);
    border: 0.5px solid #C7D2FE;
    background: linear-gradient(135deg, #F8FAFF, #EEF2FF); color: #1E6FD0;
    font-weight: 600; cursor: pointer;
    transition: background 0.12s;
}
.hcp-ctrl-yz-btn:hover, .hcp-ctrl-popup-fb-send:hover { background: linear-gradient(135deg, #E7F2FF, #D9EBFD); }
.hcp-ctrl-note-save {
    font-size: var(--pys-fs-xs); padding: 8px 16px; border-radius: var(--pys-radius-sm);
    border: 1px solid transparent;
    background: linear-gradient(135deg, #3FA0EC, #1E6FD0); color: #fff;
    font-weight: 600; cursor: pointer;
    box-shadow: var(--pys-elev-2) rgba(46,143,255,.35);
    transition: filter 0.15s, transform 0.12s;
}
.hcp-ctrl-note-save:hover { filter: brightness(1.1); transform: translateY(-1px); }
.hcp-ctrl-note-save:disabled {
    background: #6B7785; cursor: not-allowed; box-shadow: none; filter: none; transform: none;
}
.hcp-ctrl-yz-btn { display: inline-flex; align-items: center; gap: 4px; }
.hcp-ctrl-popup-hdr { display: flex; align-items: flex-start; gap: 10px; padding: 12px; }
.hcp-ctrl-popup-title { font-size: var(--pys-fs-md); font-weight: 600; }
.hcp-ctrl-popup-sub { font-size: var(--pys-fs-xs); color: var(--color-text-secondary); margin-top: 2px; }
.hcp-ctrl-popup-close {
    margin-left: auto;
    border: none;
    background: rgba(255,255,255,0.75);
    cursor: pointer;
    padding: 6px;
    color: var(--color-text-secondary);
    border-radius: var(--pys-radius-sm);
    line-height: 1;
    flex-shrink: 0;
}
.hcp-ctrl-popup-close:hover { background: rgba(255,255,255,0.95); color: var(--color-text-primary); }
.hcp-ctrl-popup-close:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; }
.hcp-ctrl-popup-body { padding: 0 12px 12px; }
.hcp-ctrl-popup-section { margin-top: 12px; }
.hcp-ctrl-popup-section-label { font-size: var(--pys-fs-xs); font-weight: 600; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.hcp-ctrl-popup-explanation, .hcp-ctrl-popup-carryover { font-size: var(--pys-fs-xs); color: var(--color-text-secondary); line-height: 1.5; }
/* .hcp-ctrl-popup-eval-grid / -eval-btn kuralları kaldırıldı (2026-08-13): iş
   penceresi bu sınıfları üretmeyi bıraktığından beri ölü seçicilerdi. Pencere
   butonları .hcp-ctrl-mark--wide kullanır, aktif renkleri genel
   .hcp-ctrl-mark.is-active kurallarından gelir (altı işaretin tamamı tanımlı). */.hcp-ctrl-popup-footer {
    padding: 8px 16px; border-top: 0.5px solid var(--color-border-tertiary);
    display: flex; align-items: center; justify-content: space-between;
    background: var(--color-background-secondary);
}
.hcp-ctrl-popup-nav {
    font-size: var(--pys-fs-xs); display: inline-flex; align-items: center; gap: 4px;
    border: none; background: transparent; cursor: pointer; color: var(--color-text-secondary);
}
.hcp-ctrl-popup-nav:disabled { opacity: 0.4; cursor: not-allowed; }
.hcp-ctrl-popup-nav:focus-visible { outline: 2px solid var(--hcp-focus-ring, #1a63c4); outline-offset: 2px; border-radius: var(--pys-radius-sm); }
.hcp-ctrl-popup-pos { font-size: var(--pys-fs-xs); color: var(--color-text-secondary); }
.hcp-ctrl-popup-pos__left { color: #B45309; font-weight: 700; }
.hcp-ctrl-popup-pos__done { color: #15803D; font-weight: 700; }.hcp-ctrl-fb-type {
    flex: 1; padding: 4px 8px; font-size: var(--pys-fs-xs); font-weight: 600;
    border: none; border-radius: var(--pys-radius-sm); background: transparent;
    color: var(--color-text-secondary); cursor: pointer;
}
.hcp-ctrl-fb-type.is-active { background: linear-gradient(135deg,#3FA0EC,#1E6FD0); color: #fff; box-shadow: var(--pys-elev-2) rgba(46,143,255,.35); }
.hcp-ctrl-fb-type[data-fb-type="correction"].is-active { background: linear-gradient(135deg,var(--hcp-amber-500),var(--hcp-amber-600)); color: #fff; }.hcp-ctrl-ai-widget {
    margin: 0 12px 12px; border-radius: var(--pys-radius-lg); padding: 16px 16px;
    border: 0.5px solid #AFA9EC; display: flex; gap: 12px;
}
.hcp-ctrl-ai-widget:not(.hcp-ctrl-ai-widget--empty) {
    background: linear-gradient(135deg, #1E6FD0, #9134C4);
    border-color: transparent;
    color: #fff;
}
.hcp-ctrl-ai-widget--empty {
    background: var(--color-background-secondary);
    border-color: var(--color-border-tertiary);
}
.hcp-ctrl-ai-widget-icon { font-size: var(--pys-fi-lg); color: #E9D5FF; flex-shrink: 0; }
.hcp-ctrl-ai-widget--empty .hcp-ctrl-ai-widget-icon { color: var(--color-text-tertiary); }
.hcp-ctrl-ai-widget-title { font-size: var(--pys-fs-sm); font-weight: 600; color: #fff; }.hcp-ctrl-ai-widget-text { font-size: var(--pys-fs-xs); color: rgba(255,255,255,0.85); margin: 6px 0 0; line-height: 1.45; }.hcp-ctrl-ai-widget-body--wide { flex: 1; min-width: 0; }
.hcp-ctrl-brief-stage {
    display: inline-block; font-size: var(--pys-fs-xs); font-weight: 600; padding: 2px 8px;
    border-radius: var(--pys-radius-md); margin-left: 6px; vertical-align: middle;
}
.hcp-ctrl-brief-stage--draft { background: #FEE2E2; color: #B91C1C; }
.hcp-ctrl-brief-stage--team_lead_approved { background: var(--hcp-amber-100); color: #B45309; }
.hcp-ctrl-brief-stage--approved { background: #D1FAE5; color: #047857; }.hcp-ctrl-brief-sec { margin-top: 10px; }
.hcp-ctrl-brief-sec-title { font-size: var(--pys-fs-xs); font-weight: 700; color: var(--color-text-primary); margin-bottom: 4px; }
.hcp-ctrl-brief-sec-body { font-size: var(--pys-fs-xs); line-height: 1.5; color: var(--color-text-secondary); }
.hcp-ctrl-brief-report { margin-top: 12px; padding-top: 12px; border-top: 0.5px solid rgba(83, 74, 183, 0.2); }.hcp-ctrl-brief-btn {
    font-size: var(--pys-fs-xs); font-weight: 600; padding: 8px 12px; border-radius: var(--pys-radius-sm);
    border: 1px solid transparent; background: linear-gradient(135deg,#9134C4,#1E6FD0); color: #fff;
    cursor: pointer; box-shadow: var(--pys-elev-2) rgba(46,143,255,.3);
    transition: filter 0.15s;
}
.hcp-ctrl-brief-btn:hover { filter: brightness(1.1); }
.hcp-ctrl-brief-btn--solid { background: linear-gradient(135deg,#1E6FD0,#1E6FD0); }#hcp-ctrl-approve-btn.is-disabled { opacity: 0.55; cursor: not-allowed; }
.hcp-ctrl-fb-pill {
    display: inline-block; font-size: var(--pys-fs-xs); padding: 2px 8px;
    border-radius: var(--pys-radius-md); margin: 2px 4px 2px 0; background: var(--color-background-tertiary);
}
.hcp-ctrl-fb-pill--correction { background: #FAEEDA; color: #854F0B; }
.hcp-ctrl-fb-pill--appreciation { background: #D1FAE5; color: #166534; }
.hcp-ctrl-fb-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.hcp-ctrl-fb-card {
    border-radius: var(--pys-radius-md); padding: 10px 12px;
    border: 0.5px solid var(--color-border-tertiary);
    background: var(--color-background-secondary);
}
.hcp-ctrl-fb-card--appreciation { background: #F0FDF9; border-color: #9FE1CB; }
.hcp-ctrl-fb-card--correction { background: var(--hcp-amber-50); border-color: var(--hcp-amber-200); }
.hcp-ctrl-fb-card--revision { background: var(--hcp-amber-100); border-color: var(--hcp-amber-400); }
.hcp-ctrl-fb-card-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; margin-bottom: 6px;
}
.hcp-ctrl-fb-card-type { font-size: var(--pys-fs-xs); font-weight: 700; letter-spacing: 0.03em; }
.hcp-ctrl-fb-card--appreciation .hcp-ctrl-fb-card-type { color: #15803D; }
.hcp-ctrl-fb-card--correction .hcp-ctrl-fb-card-type { color: #B45309; }
.hcp-ctrl-fb-card--revision .hcp-ctrl-fb-card-type { color: #92400E; }
.hcp-ctrl-fb-card-meta { font-size: var(--pys-fs-xs); color: var(--color-text-tertiary); }
.hcp-ctrl-fb-card-text {
    margin: 0; font-size: var(--pys-fs-xs); line-height: 1.55;
    color: var(--color-text-primary); white-space: pre-wrap; word-break: break-word;
}.hcp-ctrl-general-note { min-height: 120px; line-height: 1.55; }
/* === Status popover, suggest panel ve sort panel stilleri ===
   (Önceden pys_hcp_plan.js içinde inline enjekte ediliyordu, 2026-06 itibarıyla
   bakım kolaylığı için buraya taşındı.) === */@keyframes hcp-sp-in {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}
.hcp-sp-status-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-bottom: 12px;
}
.hcp-sp-status {
    padding: 10px 10px;
    border: 1px solid #E2E8F0;
    border-radius: var(--pys-radius-sm);
    background: #fff;
    font-size: var(--pys-fs-xs);
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    color: var(--pys-ink-4);
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 120ms ease;
}
.hcp-sp-status:hover {
    background: #F8FAFC;
    border-color: #CBD5E1;
}
.hcp-sp-status.is-selected {
    background: #F0F9FF;
    border-color: #0EA5E9;
    color: #075985;
}.hcp-sp-label {
    display: block;
    font-size: var(--pys-fs-xs);
    font-weight: 600;
    color: var(--pys-ink-4);
    margin: 8px 0 4px;
    letter-spacing: 0.04em;
}
.hcp-sp-required {
    color: #EF4444;
}
.hcp-sp-duration, .hcp-sp-note {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #CBD5E1;
    border-radius: var(--pys-radius-sm);
    font-size: var(--pys-fs-sm);
    font-family: inherit;
    resize: vertical;
    box-sizing: border-box;
}
.hcp-sp-duration:focus, .hcp-sp-note:focus {
    outline: none;
    border-color: #3FA0EC;
    box-shadow: 0 0 0 3px rgba(63, 160, 236, 0.18);
}
.hcp-sp-note {
    min-height: 64px;
}
.hcp-sp-error {
    color: #EF4444;
    font-size: var(--pys-fs-xs);
    margin: 8px 0 0;
    min-height: 16px;
    display: none;
}
/* Devir işinde geçen haftanın açıklaması — soluk referans + "Kullan" ile aynen al */
.hcp-sp-prevexp { margin: 6px 0 0; font-size: var(--pys-fs-xs); color: var(--pys-ink-5); line-height: 1.5; }
.hcp-sp-prevexp__lbl { font-weight: 700; color: var(--pys-ink-4); }
.hcp-sp-prevexp__txt { font-style: italic; }
.hcp-sp-prevexp__use { margin-left: 6px; font-size: var(--pys-fs-xs); font-weight: 700; color: #1a63c4; background: #E7F0FB; border: none; border-radius: var(--pys-radius-sm); padding: 2px 10px; cursor: pointer; }
.hcp-sp-prevexp__use:hover { background: #D6E6FA; }
.hcp-sp-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}
.hcp-sp-cancel, .hcp-sp-save {
    padding: 8px 16px;
    border-radius: var(--pys-radius-sm);
    font-size: var(--pys-fs-xs);
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms ease;
}
.hcp-sp-cancel {
    background: #FBFAF6;
    border: 1px solid #E2E8F0;
    color: var(--pys-ink-4);
}
.hcp-sp-cancel:hover {
    background: #E2E8F0;
}
.hcp-sp-save {
    background: #15803D;
    border: 1px solid #047857;
    color: #fff;
}
.hcp-sp-save:hover {
    background: #047857;
}
.hcp-sp-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.hcp-status-indicator.is-checking {
    background: #15803D !important;
    color: #fff !important;
    border-color: #047857 !important;
    transition: all 200ms ease;
}
.hcp-status-indicator.is-checking svg path {
    stroke: #fff;
}

/* === Chip, progress v2, submit blocker ve todo sort stilleri ===
   (Önceden pys_hcp_plan.js içinde inline enjekte ediliyordu, 2026-06 itibarıyla
   bakım kolaylığı için buraya taşındı.) === */
.hcp-assigned-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid #BFDBFE;
    border-radius: var(--pys-radius-pill);
    font-size: var(--pys-fs-xs);
    font-weight: 600;
    cursor: default;
    user-select: none;
}
.hcp-assigned-badge__icon {
    font-size: var(--pys-fi-xs);
    opacity: 0.7;
}.hcp-item-note-panel--solo {
    position: relative;
    padding-top: 4px;
}
.hcp-item-note-panel__close {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 28px;
    height: 28px;
    border: none;
    background: #FBFAF6;
    color: var(--pys-ink-5);
    border-radius: 50%;
    font-size: var(--pys-fi-lg);
    line-height: 1;
    cursor: pointer;
}
.hcp-item-note-panel__close:hover {
    background: #e2e8f0;
    color: #1b2a2e;
}
.hcp-center-modal--note-only {
    max-width: 420px;
}
.hcp-item-note-panel__text,
.hcp-item-duration-panel__value {
    font-size: var(--pys-fs-md);
    line-height: 1.6;
    color: #1b2a2e;
    white-space: pre-wrap;
    word-break: break-word;
}.hcp-header-progress--clickable {
    font: inherit;
    text-align: left;
}.hcp-hp3-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border: 1.5px solid;
    border-radius: var(--pys-radius-pill);
    transition: all 300ms ease;
    flex-shrink: 0;
    box-shadow: var(--pys-shadow-md);
    font-weight: 600;
}
.hcp-hp3-badge-icon {
    font-size: var(--pys-fi-md);
    line-height: 1;
}
.hcp-hp3-badge-label {
    font-size: var(--pys-fs-xs);
    font-weight: 700;
    letter-spacing: 0.02em;
}
/* Oyunbaz kahraman ilerleme (sadece ilerleme widget'ı) */.hcp-hp-mascot {
    width: 58px; height: 58px; border-radius: var(--pys-radius-lg); flex-shrink: 0;
    background: linear-gradient(135deg, #3FA0EC, #1E6FD0);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    line-height: 1; box-shadow: inset 0 -4px 0 rgba(0,0,0,0.13);
}
/* Maskot: Gönder butonundaki inek SVG'sinin küçük hali (emoji değil — tek çizim dili).
   Çizim BEYAZ, zemin koyu — Gönder butonundaki görünümün birebir aynısı. Tersi denendi
   (beyaz daire + koyu inek) ve inek şekilsiz bir lekeye dönüştü. */
.hcp-hp-mascot { width: 25px; height: 24px; display: block; color: #FFFFFF; }
.hcp-hp-pct { font-size: var(--pys-fs-xs); font-weight: 800; color: #fff; margin-top: 4px; }.hcp-hp-headline { font-size: var(--pys-fs-lg); font-weight: 800; color: #1b2a2e; letter-spacing: -0.01em; }
.hcp-hp-sub { font-size: var(--pys-fs-xs); color: #5a6c70; }.hcp-leave-banner-slot {
    width: 100%;
}
.hcp-leave-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 10px 0 0;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--hcp-amber-50) 0%, var(--hcp-amber-100) 100%);
    border: 1px solid #FCD34D;
    border-radius: var(--pys-radius-md);
    box-shadow: var(--pys-elev-2) rgba(180, 83, 9, 0.08);
    font-size: var(--pys-fs-sm);
    color: #92400E;
    box-sizing: border-box;
}
.hcp-leave-banner.hidden {
    display: none !important;
}
.hcp-leave-banner__icon {
    width: 36px;
    height: 36px;
    border-radius: var(--pys-radius-md);
    background: var(--hcp-amber-200);
    color: #B45309;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pys-fi-lg);
    flex-shrink: 0;
}
.hcp-leave-banner__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.hcp-leave-banner__title {
    font-size: var(--pys-fs-md);
    font-weight: 700;
    color: #78350F;
    line-height: 1.3;
}
.hcp-leave-banner__text {
    font-size: var(--pys-fs-xs);
    line-height: 1.45;
    color: #92400E;
}
.hcp-leave-banner__reason-input {
    margin-top: 4px;
    width: 100%;
    max-width: 220px;
    padding: 4px 8px;
    border-radius: var(--pys-radius-sm);
    border: 1px solid #FCD34D;
    background: rgba(255, 255, 255, 0.65);
    font-size: var(--pys-fs-xs);
    color: #78350F;
}
.hcp-leave-banner__action {
    flex-shrink: 0;
    padding: 8px 12px;
    border-radius: var(--pys-radius-sm);
    border: 1px solid var(--hcp-amber-500);
    background: #fff;
    color: #B45309;
    font-size: var(--pys-fs-xs);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.hcp-leave-banner__action:hover {
    background: var(--hcp-amber-50);
}
.hcp-header-icon-btn--leave-active {
    box-shadow: 0 0 0 2px var(--hcp-amber-500), 0 0 0 4px rgba(245, 158, 11, 0.25);
}
.hcp-leave-sections-wrap {
    position: relative;
}
.hcp-plan-week-content--on-leave .hcp-quick-add {
    display: none !important;
}
.hcp-sections-list.hcp-leave-dimmed,
.hcp-sections-list.hcp-sections-list--leave-readonly {
    opacity: 0.28;
    pointer-events: none;
    user-select: none;
    filter: grayscale(0.55) saturate(0.7);
}
.hcp-item-row--leave-readonly {
    cursor: default;
}
.hcp-inline-title--readonly {
    display: block;
    width: 100%;
    /* 'inherit' satır varsayılanına (16px) düşüyordu — düzenlenebilir haftadaki
       başlıklarla (14px) aynı boyut olsun; kapalı hafta listesi büyük görünmesin. */
    font-size: var(--pys-fs-md);
    font-weight: 500;
    color: var(--color-text-primary, var(--pys-ink-1));
    line-height: 1.4;
    padding: 0;
    border: 0;
    background: transparent;
}
.hcp-status-indicator--readonly {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    opacity: 0.65;
    cursor: default;
}
/* pointer-events:none KALDIRILDI (bug): kapalı haftada açıklama görüntüleme ve
   silme talebi bilinçli olarak tıklanabilir (bkz. plan.js handlePlanSectionsClick
   yorumu) — bu kural balonu ve çöp butonunu ölü bırakıyordu. */
.hcp-row-icon-btn--ghost {
    visibility: hidden;
    pointer-events: none;
}
/* Süre kolonu: ikon grubunun solunda, sağa hizalı sabit yuva — boşken esnek
   boşluğa karışır, ikonlar (nokta/balon/çöp) hep aynı hizada kalır. */
.hcp-row-duration--lead {
    min-width: 62px;
    justify-content: flex-end;
    margin-right: 2px;
}
.hcp-leave-sections-wrap.hcp-leave-sections-wrap--active {
    min-height: 220px;
}
.hcp-section-head.hcp-section-head--leave-readonly {
    cursor: default;
    pointer-events: none;
}
.hcp-row-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.hcp-row-duration {
    /* Saat ikonu rakama yapışıyordu (tek boşluk 11px'te okunmuyor);
       inline-flex + gap ile ikon-metin arası nefes payı sabitlendi. */
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--pys-fs-xs);
    color: var(--color-text-secondary);
    font-weight: 500;
    margin-right: 4px;
    white-space: nowrap;
}
.hcp-row-icon-btn {
    width: 28px;
    height: 28px;
    border-radius: var(--pys-radius-sm);
    border: 0.5px solid var(--color-border-tertiary);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 120ms ease;
    color: var(--color-text-secondary);
}
.hcp-row-icon-btn:hover {
    background: var(--color-background-secondary);
}
.hcp-row-icon-btn--note {
    color: #1D9E75;
    border-color: #9FE1CB;
}
.hcp-row-icon-btn--note:hover {
    background: #D1FAE5;
}.hcp-row-icon-btn--delete {
    color: #E24B4A;
    background: transparent;
    border-color: transparent;
}
.hcp-row-icon-btn--delete:hover {
    color: #fff;
    background: linear-gradient(135deg, #EF4444, #C0392B);
    border-color: transparent;
    box-shadow: var(--pys-elev-2) rgba(220, 38, 38, 0.45);
    transform: scale(1.08);
}@keyframes hcp-expl-in {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}.hcp-expl-modal-body {
    margin: 0;
    font-size: var(--pys-fs-md);
    line-height: 1.65;
    color: var(--color-text-primary, var(--pys-ink-1));
    white-space: pre-wrap;
    word-break: break-word;
}
.hcp-expl-modal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border-tertiary, #e2e8f0);
}
.hcp-expl-meta {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--pys-fs-xs);
    color: var(--color-text-secondary);
}
/* Tarih/hafta seçici tetikleyici + popover CSS'i tek sahipte:
   pys_module_themes.css (.hcp-week-trigger-v2 / .hcp-wpk-*). Burada tekrar tanımlanmaz. */
.hcp-section--order-flash {
    animation: hcp-order-flash 1.2s ease;
}
@keyframes hcp-order-flash {
    0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.45); }
    40% { box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25); }
    100% { box-shadow: none; }
}
.hcp-sort-panel { display: flex; flex-direction: column; gap: 12px; }
.hcp-sort-intro {
    font-size: var(--pys-fs-xs); line-height: 1.55; color: var(--color-text-secondary); margin: 0;
}
.hcp-sort-intro strong { color: var(--color-text-primary); font-weight: 600; }.hcp-sort-list { display: flex; flex-direction: column; gap: 8px; }.hcp-sort-actions {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-top: 4px; padding-top: 12px; border-top: .5px solid var(--color-border-tertiary);
}.hcp-sort-cancel {
    padding: 8px 12px; border-radius: var(--pys-radius-sm);
    border: .5px solid var(--color-border-secondary);
    background: #fff; font-size: var(--pys-fs-xs); cursor: pointer;
}
/* .hcp-sort-apply gorunumu tek kaynaktan: pys_hcp_control_3_bant.css icindeki "Modal kaydet butonu" blogu (gradyan) */
.hcp-sort-apply:disabled { opacity: 0.6; cursor: wait; }
/* Ara/Final Rapor bos-durum ipucu — iki kullanim ayni hizada (eskiden inline, farkli margin) */
.hcp-ctrl-report-empty-hint { font-size: var(--pys-fs-xs); color: var(--pys-ink-5); margin: 4px 2px 8px; }
.hcp-item-row--evaluated .hcp-item-eval-marks {
    display: flex !important;
    visibility: visible !important;
}
.hcp-item-row-main {
    flex-wrap: wrap;
}
