/* pys_hcp_control_2_modal.css
 * ===========================================================================
 * KAYNAK: pys_hcp_control.css satir 956-1752 (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: Durum Modal v3 (durum butonlari, devam sebebi, karakter sayaci), isaret madalyonu, Report karti + YZ rapor editoru, Plana Ata modali, mobil saha modu, hafta kilit banner, Evaluation Session UI, imza cipi, boy agirligi cipi, canli skor rozeti
 * ===========================================================================
 */
/* === Durum Modal — v3 (2026-06) === */
/* İş bölümü — dashed çerçeve */
.hcp-status-modal .hcp-sp-is-box {
    border: 1.5px dashed #94A3B8;
    border-radius: var(--pys-radius-sm);
    padding: 10px 12px;
    margin-bottom: 12px;
}
.hcp-status-modal .hcp-sp-is-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}
.hcp-status-modal .hcp-sp-is-label {
    font-size: var(--pys-fs-xs);
    font-weight: 700;
    text-transform: none;
    letter-spacing: .07em;
    color: var(--pys-ink-5);
}
.hcp-status-modal .hcp-sp-is-num {
    font-size: var(--pys-fs-xs);
    font-weight: 500;
    color: var(--pys-ink-5);
}
.hcp-status-modal .hcp-sp-is-title {
    font-size: var(--pys-fs-sm);
    font-weight: 600;
    color: var(--pys-ink-2);
    line-height: 1.4;
}
/* Durum grid */
.hcp-status-modal .hcp-sp-status-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 10px;
}
/* Durum butonları — genel */
.hcp-status-modal .hcp-sp-status {
    padding: 10px 12px;
    font-size: var(--pys-fs-sm);
    font-weight: 600;
    border-radius: var(--pys-radius-sm);
    border-width: 1.5px;
    gap: 8px;
    transition: background 110ms ease, border-color 110ms ease, box-shadow 110ms ease, color 110ms ease;
}
/* İkon dairesi */
.hcp-status-modal .hcp-sp-si-circle {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pys-fs-xs);
    font-weight: 800;
    flex-shrink: 0;
    transition: background 110ms ease, color 110ms ease;
}
/* Tamamlandı — yeşil */
.hcp-status-modal .hcp-sp-status--completed { border-color: #86EFAC; color: #15803D; background: #fff; }
.hcp-status-modal .hcp-sp-status--completed .hcp-sp-si-circle { background: #DCFCE7; color:#166534; }
.hcp-status-modal .hcp-sp-status--completed:hover { background: #F0FDF4; border-color: #4ADE80; }
.hcp-status-modal .hcp-sp-status--completed.is-selected { background: #15803D; border-color: #166534; color: #fff; box-shadow: 0 0 0 2.5px rgba(22,163,74,.22); }
.hcp-status-modal .hcp-sp-status--completed.is-selected .hcp-sp-si-circle { background: rgba(255,255,255,.22); color: #fff; }
/* Devam Ediyor — amber */
.hcp-status-modal .hcp-sp-status--devam { border-color: #FCD34D; color: #92400E; background: #fff; }
.hcp-status-modal .hcp-sp-status--devam .hcp-sp-si-circle { background: var(--hcp-amber-100); color: var(--hcp-amber-600); }
.hcp-status-modal .hcp-sp-status--devam:hover { background: var(--hcp-amber-50); border-color: var(--hcp-amber-400); }
.hcp-status-modal .hcp-sp-status--devam.is-selected { background: var(--hcp-amber-600); border-color: #B45309; color: #fff; box-shadow: 0 0 0 2.5px rgba(217,119,6,.22); }
.hcp-status-modal .hcp-sp-status--devam.is-selected .hcp-sp-si-circle { background: rgba(255,255,255,.22); color: #fff; }
/* Tamamlanamadı — kırmızı */
.hcp-status-modal .hcp-sp-status--olmadi { border-color: #FCA5A5; color: #991B1B; background: #fff; }
.hcp-status-modal .hcp-sp-status--olmadi .hcp-sp-si-circle { background: #FEE2E2; color: #DC2626; }
.hcp-status-modal .hcp-sp-status--olmadi:hover { background: #FFF5F5; border-color: #F87171; }
.hcp-status-modal .hcp-sp-status--olmadi.is-selected { background: #DC2626; border-color: #B91C1C; color: #fff; box-shadow: 0 0 0 2.5px rgba(220,38,38,.22); }
.hcp-status-modal .hcp-sp-status--olmadi.is-selected .hcp-sp-si-circle { background: rgba(255,255,255,.22); color: #fff; }
/* Vazgeçildi — mor */
.hcp-status-modal .hcp-sp-status--vazgecildi { border-color: #C4B5FD; color: #5B21B6; background: #fff; }
.hcp-status-modal .hcp-sp-status--vazgecildi .hcp-sp-si-circle { background: #EDE9FE; color: #7C3AED; }
.hcp-status-modal .hcp-sp-status--vazgecildi:hover { background: #FAF5FF; border-color: #A78BFA; }
.hcp-status-modal .hcp-sp-status--vazgecildi.is-selected { background: #7C3AED; border-color: #6D28D9; color: #fff; box-shadow: 0 0 0 2.5px rgba(124,58,237,.22); }
.hcp-status-modal .hcp-sp-status--vazgecildi.is-selected .hcp-sp-si-circle { background: rgba(255,255,255,.22); color: #fff; }
/* "Devam ediyor" sebebi — yalnız o durum seçiliyken açılır (data-open).
   Üç seçenek üç renkte: mavi = plan gereği, amber = dış engel, mercan = zaman yetmedi.
   Renk kararı taşır; etiket yine yazılı, renk tek başına anlam taşımıyor. */
.hcp-status-modal .hcp-sp-reason { display: none; margin: 0 0 12px; }
.hcp-status-modal .hcp-sp-reason[data-open] { display: block; animation: hcp-sp-in 150ms ease-out; }
.hcp-status-modal .hcp-sp-reason .hcp-sp-label { margin-top: 0; }
.hcp-status-modal .hcp-sp-reason-grid { display: grid; gap: 8px; }
@media (min-width: 640px) {
    .hcp-status-modal .hcp-sp-reason-grid { grid-template-columns: repeat(3, 1fr); }
}
.hcp-status-modal .hcp-sp-reason-btn {
    display: flex; flex-direction: column; gap: 4px;
    padding: 10px 12px; text-align: left; cursor: pointer;
    background: #fff; border: 1.5px solid #E2E8F0;
    border-radius: var(--pys-radius-sm);
    transition: background 110ms ease, border-color 110ms ease, box-shadow 110ms ease, color 110ms ease;
}
.hcp-status-modal .hcp-sp-reason-ttl { font-size: var(--pys-fs-xs); font-weight: 700; line-height: 1.25; }
.hcp-status-modal .hcp-sp-reason-sub { font-size: var(--pys-fs-xs); font-weight: 500; line-height: 1.35; opacity: .8; }
.hcp-status-modal .hcp-sp-reason-btn--multi { border-color: #C3D6F5; color: #1F4F9E; }
.hcp-status-modal .hcp-sp-reason-btn--multi:hover { background: #EEF4FF; border-color: #7EA6E8; }
.hcp-status-modal .hcp-sp-reason-btn--multi.is-selected { background: #1F4F9E; border-color: #1A4285; color: #fff; box-shadow: 0 0 0 2.5px rgba(31,79,158,.20); }
.hcp-status-modal .hcp-sp-reason-btn--block { border-color: #EBD08A; color: #7C5A0A; }
.hcp-status-modal .hcp-sp-reason-btn--block:hover { background: #FFF8E8; border-color: #D8A93F; }
.hcp-status-modal .hcp-sp-reason-btn--block.is-selected { background: #B4820C; border-color: #92600A; color: #fff; box-shadow: 0 0 0 2.5px rgba(180,130,12,.20); }
.hcp-status-modal .hcp-sp-reason-btn--time { border-color: #F0C0B0; color: #9A3B1F; }
.hcp-status-modal .hcp-sp-reason-btn--time:hover { background: #FDEEEA; border-color: #DC7C5C; }
.hcp-status-modal .hcp-sp-reason-btn--time.is-selected { background: #B7411F; border-color: #9A3B1F; color: #fff; box-shadow: 0 0 0 2.5px rgba(183,65,31,.20); }
/* Sebep seçilmeden kaydedilmek istendi — blok bir kez dikkat çeker. */
.hcp-status-modal .hcp-sp-reason--warn .hcp-sp-reason-grid { animation: hcp-sp-reason-shake 320ms ease; }
@keyframes hcp-sp-reason-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}
/* Hint metin */
.hcp-status-modal .hcp-sp-mode-hint {
    margin: 0 0 10px;
    font-size: var(--pys-fs-xs);
    color: #94A3B8;
    line-height: 1.4;
}
.hcp-status-modal .hcp-sp-mode-hint strong { color: var(--pys-ink-5); }
/* Progressive disclosure — alanlar */
.hcp-status-modal .hcp-sp-fields-wrap {
    transition: opacity 200ms ease;
}
.hcp-status-modal .hcp-sp-fields-wrap.is-muted {
    opacity: .32;
    pointer-events: none;
}
/* Label ve inputlar */
.hcp-status-modal .hcp-sp-label {
    display: block;
    font-size: var(--pys-fs-xs);
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.05em;
    margin: 10px 0 4px;
    color: var(--pys-ink-4);
}
.hcp-status-modal .hcp-sp-duration,
.hcp-status-modal .hcp-sp-note {
    width: 100%;
    font-size: var(--pys-fs-sm);
    color: var(--pys-ink-2);
    background: #fff;
    border-radius: var(--pys-radius-md);
    border: 1.5px solid #CBD5E1;
    padding: 8px 10px;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}
.hcp-status-modal .hcp-sp-duration:hover,
.hcp-status-modal .hcp-sp-note:hover { border-color: #94A3B8; }
.hcp-status-modal .hcp-sp-duration:focus,
.hcp-status-modal .hcp-sp-note:focus {
    outline: none;
    border-color: #3B82F6;
    box-shadow: 0 0 0 3px rgba(59,130,246,.15);
}
.hcp-status-modal .hcp-sp-duration::placeholder,
.hcp-status-modal .hcp-sp-note::placeholder { color: #94A3B8; }
/* Karakter sayacı */
.hcp-status-modal .hcp-sp-counter {
    font-size: var(--pys-fs-xs);
    color: #94A3B8;
    text-align: right;
    margin-top: 4px;
    margin-bottom: 2px;
    transition: color 150ms ease;
}
.hcp-status-modal .hcp-sp-counter.is-active { color: #3B82F6; font-weight: 500; }
/* Aksiyonlar */
.hcp-status-modal .hcp-sp-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1.5px solid #E2E8F0;
}
.hcp-status-modal .hcp-sp-cancel,
.hcp-status-modal .hcp-sp-save {
    padding: 8px 16px;
    border-radius: var(--pys-radius-md);
    font-size: var(--pys-fs-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background 110ms ease;
}
.hcp-status-modal .hcp-sp-save {
    background: #1E6FD0;
    color: #fff;
    border: none;
}
.hcp-status-modal .hcp-sp-save:hover { background: #1558A8; }
/* Kaydet — durum renkleri */
.hcp-status-modal .hcp-sp-save--completed { background: #15803D; }
.hcp-status-modal .hcp-sp-save--completed:hover { background: #166534; }
.hcp-status-modal .hcp-sp-save--in_progress { background: var(--hcp-amber-600); }
.hcp-status-modal .hcp-sp-save--in_progress:hover { background: #B45309; }
.hcp-status-modal .hcp-sp-save--not_completed { background: #DC2626; }
.hcp-status-modal .hcp-sp-save--not_completed:hover { background: #B91C1C; }
.hcp-status-modal .hcp-sp-save--abandoned { background: #7C3AED; }
.hcp-status-modal .hcp-sp-save--abandoned:hover { background: #6D28D9; }
.hcp-status-modal .hcp-sp-cancel {
    background: #fff;
    border: 1.5px solid #CBD5E1;
    color: var(--pys-ink-4);
}
.hcp-status-modal .hcp-sp-cancel:hover { background: #F1F5F9; border-color: #94A3B8; }
.hcp-status-modal .hcp-sp-revert {
    margin-right: auto;
    padding: 8px 12px;
    border-radius: var(--pys-radius-md);
    font-size: var(--pys-fs-sm);
    font-weight: 600;
    cursor: pointer;
    background: #fff;
    border: 1px solid #FDBA74;
    color: #C2410C;
}
.hcp-status-modal .hcp-sp-revert:hover { background: #FFF7ED; }
/* Uyarı plakası — minik kırmızı satır gözden kaçıyordu (2026-08-31). Zemin + ikon ile
   ayrışır; renk tek anlam taşıyıcısı değil. Şerit kenarlık YOK (görsel kural). */
.hcp-status-modal .hcp-sp-error {
    display: none;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    padding: 9px 12px;
    border-radius: var(--pys-radius-sm, 8px);
    background: #FEE2E2;
    box-shadow: 0 1px 3px rgba(185, 28, 28, .18);
    font-size: var(--pys-fs-sm, .875rem);
    font-weight: 600;
    line-height: 1.45;
    color: #991B1B;
}
.hcp-status-modal .hcp-sp-error i { margin-top: 2px; flex: 0 0 auto; }
.hcp-status-modal .hcp-sp-error--shake { animation: hcpSpErrShake .32s ease-in-out; }
@keyframes hcpSpErrShake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-4px); }
    75%      { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
    .hcp-status-modal .hcp-sp-error--shake { animation: none; }
}
/* Dar telefon ekranı: süre+kategori alt alta; Kaydet tam genişlikte en alta —
   üç buton tek satırda sıkışıp taşmasın */
@media (max-width: 430px) {
    .hcp-status-modal .hcp-sp-row2 { flex-direction: column; gap: 10px; }
    .hcp-status-modal .hcp-sp-actions { flex-wrap: wrap; }
    .hcp-status-modal .hcp-sp-save { flex: 1 1 100%; order: 3; }
}
.hcp-ctrl-approve-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    max-width: 220px;
}@media (max-width: 520px) {}
.hcp-item-eval-marks {
    display: none;
    gap: 4px;
    margin-left: auto;
}
/* İşaret madalyonu (2026-08-12 redesign): harf/sembol yerine ikon taşıyan tam
   daire. Eski hâli 24px yatık haptı; "+" ile "−" küçük puntoda ayırt edilmiyor,
   "Y"/"H" hiçbir şey anlatmıyordu. Renk kimliği korundu — yalnız glif, biçim ve
   halka değişti. Sert 0.5px kenarlık yerine renkli yumuşak halka (kenarlık kuralı). */
.hcp-item-eval-mark {
    width: 26px; height: 26px; padding: 0; border: 0;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: var(--pys-fs-xs); line-height: 1;
    box-shadow: var(--pys-shadow-sm);
}
.hcp-item-eval-mark i { font-size: var(--pys-fi-sm); }
.hcp-item-eval-mark--plus    { background:#D1FAE5; color:#12673C; box-shadow: 0 0 0 1.5px #86EFAC, var(--pys-shadow-sm); }
.hcp-item-eval-mark--minus   { background:#FCEBEB; color:#A32D2D; box-shadow: 0 0 0 1.5px #F5A9A9, var(--pys-shadow-sm); }
.hcp-item-eval-mark--dd      { background:var(--hcp-mark-dd-soft); color:var(--hcp-mark-dd-ink); box-shadow: 0 0 0 1.5px #CBD5E1, var(--pys-shadow-sm); }
.hcp-item-eval-mark--revise  { background:var(--hcp-mark-revise-soft); color:var(--hcp-mark-revise-ink); box-shadow: 0 0 0 1.5px #93C5FD, var(--pys-shadow-sm); }
.hcp-item-eval-mark--ontrack { background:#CCFBF1; color:#0F766E; box-shadow: 0 0 0 1.5px #5EEAD4, var(--pys-shadow-sm); }
.hcp-item-eval-mark--speedup { background:#FEF3C7; color:#92400E; box-shadow: 0 0 0 1.5px #FCD34D, var(--pys-shadow-sm); }
/* Metin rozetinde (hcp-fb-badge) de aynı glif kullanılıyor; ikon dar kalmasın. */
.hcp-fb-badge--mark { min-width: 22px; justify-content: center; }
.hcp-fb-badge--mark i { font-size: var(--pys-fi-xs); }
.hcp-item-eval-mark--has-fb {
    cursor: pointer;
    padding: 0;
    font: inherit;
    line-height: 1;
    transition: transform 120ms ease, box-shadow 120ms ease;
}
.hcp-item-eval-mark--has-fb:hover,
.hcp-item-eval-mark--has-fb:focus-visible {
    transform: scale(1.08);
    box-shadow: var(--pys-shadow-md);
}
.hcp-item-eval-mark--has-fb:focus-visible {
    outline: 2px solid var(--hcp-focus-ring, #1a63c4);
    outline-offset: 2px;
}
.hcp-feedback-hover-pop {
    position: fixed;
    z-index: 92;
    max-width: min(320px, calc(100vw - 16px));
    background: var(--color-background-primary);
    border: 0.5px solid var(--color-border-secondary);
    border-radius: var(--pys-radius-md);
    box-shadow: var(--pys-shadow-lg);
    overflow: hidden;
    animation: hcp-expl-in 140ms ease-out;
    cursor: pointer;
}
.hcp-fb-pop-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: #EEEDFE;
    border-bottom: 0.5px solid #C7C2F0;
}
.hcp-fb-pop-title {
    flex: 1;
    font-size: var(--pys-fs-xs);
    font-weight: 600;
    color: #3C3489;
}
.hcp-fb-pop-scroll {
    max-height: 220px;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.hcp-fb-pop-entry {
    padding: 10px 12px;
    border-bottom: 0.5px solid var(--color-border-tertiary);
}
.hcp-fb-pop-entry:last-child { border-bottom: none; }
.hcp-fb-pop-entry__head {
    font-size: var(--pys-fs-xs);
    font-weight: 600;
    margin-bottom: 4px;
}
.hcp-fb-pop-entry--ok .hcp-fb-pop-entry__head { color: #15803D; }
.hcp-fb-pop-entry--warn .hcp-fb-pop-entry__head { color: #B45309; }
.hcp-fb-pop-entry__body {
    margin: 0;
    font-size: var(--pys-fs-sm);
    line-height: 1.55;
    color: var(--color-text-primary);
    white-space: pre-wrap;
    word-break: break-word;
}
.hcp-fb-pop-footer {
    padding: 8px 12px;
    font-size: var(--pys-fs-xs);
    font-weight: 500;
    color: var(--pys-ink-5);
    background: var(--color-background-secondary);
    border-top: 0.5px solid var(--color-border-tertiary);
    text-align: center;
}
/* Teslim engeli paneli (.hcp-submit-blocker*) ve .hcp-header-submit--blocked kaldırıldı:
   engelleyici listesi bilinçli olarak hep boştu, bu stiller hiç uygulanmıyordu.
   (2026-08-06 denetim, G1) */
.hcp-item-row--focus-flash {
    animation: hcp-item-focus-flash 1.4s ease;
}
@keyframes hcp-item-focus-flash {
    0%, 100% { box-shadow: none; }
    35%, 65% { box-shadow: 0 0 0 3px rgba(46, 143, 255, 0.28); }
}
.hcp-item-sort-slot { display: inline-flex; flex-direction: column; gap: 2px; flex-shrink: 0; width: 28px; margin-right: 4px; padding: 4px 2px; border-radius: var(--pys-radius-sm); background: #F8FAFC; border: .5px solid #E2E8F0; }
.hcp-item-move { display: flex; align-items: center; justify-content: center; width: 24px; height: 18px; border: none; background: transparent; color: var(--pys-ink-5); cursor: pointer; border-radius: var(--pys-radius-xs); }
.hcp-item-move:hover { color: #1E6FD0; background: #EEF2FF; }
.hcp-item-move[disabled] { opacity: 0.25; cursor: not-allowed; pointer-events: none; }
.hcp-suggest-list { display: flex; flex-direction: column; gap: 8px; }
.hcp-suggest-row { display: flex; gap: 10px; padding: 10px 12px; border-radius: var(--pys-radius-md); border: .5px solid #E2E8F0; background: #FAFAFA; }
.hcp-suggest-head { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: baseline; }
.hcp-suggest-badge { font-size: var(--pys-fs-xs); font-weight: 600; padding: 2px 8px; border-radius: var(--pys-radius-pill); color: var(--badge-color); background: #FBFAF6; }
.hcp-sort-panel--readonly .hcp-sort-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: .5px solid #E2E8F0; }

/* === Report kartı stilleri (reports.js'den taşındı, 2026-06) === */
/* ——— Haftalık YZ Değerlendirme Raporu editörü ——— */
.hcp-wrpt-list{display:flex;flex-direction:column;gap:8px;}
.hcp-wrpt-list-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 12px;border:.5px solid var(--color-border-secondary);border-radius:var(--pys-radius-md);background:var(--color-background-primary);cursor:pointer;text-align:left;transition:background .15s;}
.hcp-wrpt-list-card:hover{background:var(--color-background-secondary);}
.hcp-wrpt-list-card__av{width:36px;height:36px;border-radius:50%;background:#EEEDFE;color:#3C3489;display:flex;align-items:center;justify-content:center;font-size:var(--pys-fs-xs);font-weight:600;flex-shrink:0;}
.hcp-wrpt-list-card__body{flex:1;min-width:0;}
.hcp-wrpt-list-card__name{font-size:var(--pys-fs-sm);font-weight:600;color:var(--color-text-primary);}
.hcp-wrpt-list-card__meta{font-size:var(--pys-fs-xs);color:var(--color-text-secondary);margin-top:2px;}
.hcp-wrpt-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--pys-radius-pill);font-size:var(--pys-fs-xs);font-weight:600;white-space:nowrap;}
.hcp-wrpt-badge--draft{background:#F3F4F6;color:var(--pys-ink-4);}
.hcp-wrpt-badge--review{background:#DBEAFE;color:#1D4ED8;}
.hcp-wrpt-badge--sent{background:#D1FAE5;color:#065F46;}
.hcp-wrpt-editor{display:flex;flex-direction:column;gap:16px;}
.hcp-wrpt-editor__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:.5px solid var(--color-border-tertiary);}
.hcp-wrpt-editor__title{font-size:var(--pys-fs-lg);font-weight:700;margin:0;}
.hcp-wrpt-editor__sub{font-size:var(--pys-fs-xs);color:var(--color-text-secondary);margin:4px 0 0;}
.hcp-wrpt-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.hcp-wrpt-metric{padding:10px 12px;border-radius:var(--pys-radius-md);background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);}
.hcp-wrpt-metric--wide{grid-column:1/-1;}
.hcp-wrpt-metric__val{font-size:var(--pys-fs-md);font-weight:700;color:var(--color-text-primary);}
.hcp-wrpt-metric__lbl{font-size:var(--pys-fs-xs);color:var(--color-text-secondary);margin-top:2px;letter-spacing:.03em;}
.hcp-wrpt-metric__cats{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--pys-fs-xs);}
.hcp-wrpt-metric-cat{background:var(--color-background-primary);padding:2px 8px;border-radius:var(--pys-radius-sm);}
.hcp-wrpt-patterns{display:flex;flex-wrap:wrap;gap:6px;}
.hcp-wrpt-pattern-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--pys-radius-sm);background:var(--hcp-amber-100);color:#92400E;font-size:var(--pys-fs-xs);font-weight:600;}
.hcp-wrpt-sections{display:flex;flex-direction:column;gap:10px;}
.hcp-wrpt-section{border:.5px solid var(--color-border-secondary);border-radius:var(--pys-radius-md);overflow:hidden;background:var(--color-background-primary);}
.hcp-wrpt-section__head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary);}
.hcp-wrpt-section__title{font-size:var(--pys-fs-sm);font-weight:600;margin:0;flex:1;}
.hcp-wrpt-sec-badge{font-size:var(--pys-fs-xs);font-weight:600;padding:2px 8px;border-radius:var(--pys-radius-pill);}
.hcp-wrpt-sec-badge--ai{background:#F3F4F6;color:var(--pys-ink-5);}
.hcp-wrpt-sec-badge--edited{background:#DBEAFE;color:#1D4ED8;}
.hcp-wrpt-sec-edit{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--pys-radius-sm);border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);font-size:var(--pys-fs-xs);cursor:pointer;}
.hcp-wrpt-section__body{padding:12px 12px;font-size:var(--pys-fs-md);line-height:1.65;overflow-wrap:break-word;}
.hcp-wrpt-md-p{margin:0 0 6px;}
.hcp-wrpt-md-li{margin:0 0 4px 16px;list-style:disc;}
.hcp-wrpt-editor__foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:12px;border-top:.5px solid var(--color-border-tertiary);}
.hcp-wrpt-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--pys-radius-md);font-size:var(--pys-fs-xs);font-weight:600;border:none;cursor:pointer;transition:filter .12s ease,opacity .12s ease;}
.hcp-wrpt-btn:hover:not(:disabled){filter:brightness(1.06);}
.hcp-wrpt-btn:disabled{opacity:.55;cursor:default;}
.hcp-wrpt-btn--primary{background:#1D9E75;color:#fff;}
.hcp-wrpt-btn--ghost{background:transparent;border:.5px solid var(--color-border-secondary);color:var(--color-text-primary);}
.hcp-wrpt-btn--warn{background:var(--hcp-amber-100);color:#92400E;}
.hcp-wrpt-edit-form{display:flex;flex-direction:column;gap:10px;}
.hcp-wrpt-edit-ta{width:100%;min-height:200px;padding:12px;border-radius:var(--pys-radius-md);border:.5px solid var(--color-border-secondary);font-family:inherit;font-size:var(--pys-fs-sm);line-height:1.6;resize:vertical;box-sizing:border-box;}
.hcp-wrpt-edit-hint{font-size:var(--pys-fs-xs);color:var(--color-text-secondary);margin:0;}
.hcp-wrpt-edit-actions{display:flex;justify-content:flex-end;}

/* === Plana Ata modalı (İçerik/Dosya → plana görev) === */
.hcp-cf-assign-lead{font-size:var(--pys-fs-md);color:var(--pys-ink-4);margin:0 0 12px;}
.hcp-cf-assign-opts{display:flex;flex-direction:column;gap:10px;}
.hcp-cf-assign-opt{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:12px 12px;border-radius:var(--pys-radius-md);border:1px solid var(--color-border,#e2e8f0);background:var(--color-background,#fff);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease;}
.hcp-cf-assign-opt:hover:not(:disabled){border-color:#BFDBFE;box-shadow:var(--pys-elev-2) rgba(15,23,42,.08);}
.hcp-cf-assign-opt:focus-visible{outline: 2px solid var(--hcp-focus-ring, #1a63c4);outline-offset:2px;}
.hcp-cf-assign-opt:disabled{opacity:.55;cursor:default;}
.hcp-cf-assign-opt__ic{font-size:var(--pys-fi-lg);}
.hcp-cf-assign-opt__title{display:block;font-weight:600;}
.hcp-cf-assign-opt__range{display:block;font-size:var(--pys-fs-xs);color:var(--pys-ink-5);}
.hcp-cf-assign-cancel{font-size:var(--pys-fs-sm);padding:8px 16px;border-radius:var(--pys-radius-md);border:1px solid #E2E8F0;background:#fff;color:var(--pys-ink-3);cursor:pointer;transition:background .12s ease;}
.hcp-cf-assign-cancel:hover{background:#F8FAFC;}

/* === Yönetici geri bildirim rozeti === */
/* === Mobil saha modu (640px altı) === */
@media (max-width:640px){    .hcp-ctrl-avatar-strip{width:100%;min-width:100%;max-width:100%;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:8px 12px;border-right:none;border-bottom:.5px solid var(--color-border-tertiary,#E2E8F0);gap:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
    .hcp-ctrl-av{flex-shrink:0;width:44px;height:44px;}
    .hcp-ctrl-mark,.hcp-ctrl-fb-btn{width:44px;height:44px;font-size:var(--pys-fs-md);}
    .hcp-ctrl-item{flex-wrap:wrap;}
    .hcp-ctrl-item-actions{margin-top:8px;width:100%;justify-content:flex-end;}
    .hcp-ctrl-coach-bar{padding:10px 12px;flex-wrap:wrap;}    .hcp-ctrl-group-hdr{padding:8px 12px;}
    .hcp-ctrl-coach-warns{padding:0 12px 6px;}
    .hcp-ctrl-general-note{font-size:var(--pys-fs-md);}
}

@keyframes hcp-completed-pulse{
    0%{background:#D1FAE5;}
    50%{background:#A7F3D0;}
    100%{background:transparent;}
}
.hcp-row-completed-pulse{animation:hcp-completed-pulse 1.5s ease-out;}

.hcp-celebrate-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.4);opacity:0;transition:opacity .3s ease;z-index:200;pointer-events:none;}
.hcp-celebrate-overlay.is-shown{opacity:1;pointer-events:auto;}
.hcp-celebrate-card{background:#fff;padding:32px 48px;border-radius: var(--pys-radius-lg);text-align:center;max-width:380px;box-shadow:var(--pys-elev-3) rgba(15,23,42,.18);transform:translateY(8px);transition:transform .3s ease;}
.hcp-celebrate-overlay.is-shown .hcp-celebrate-card{transform:translateY(0);}
.hcp-celebrate-icon{font-size:var(--pys-fi-2xl);color: #15803D;margin-bottom:8px;}
.hcp-celebrate-title{font-size:var(--pys-fs-lg);font-weight:600;color: #15803D;margin-bottom:8px;}
.hcp-celebrate-line{font-size:var(--pys-fs-md);color:var(--pys-ink-4);line-height:1.5;}

.hcp-streak-broken-band{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--hcp-amber-100);border:1px solid #FCD34D;border-radius:var(--pys-radius-sm);padding:10px 12px;margin:8px 12px;font-size:var(--pys-fs-xs);color:#92400E;line-height:1.4;}
.hcp-streak-broken-close{background:none;border:none;color:#92400E;cursor:pointer;font-size:var(--pys-fi-md);padding:2px;flex-shrink:0;opacity:.6;}
.hcp-streak-broken-close:hover{opacity:1;}

/* === Hafta kilit banner'ı === */
.hcp-lock-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--hcp-amber-50),var(--hcp-amber-100));border:1px solid #FCD34D;border-radius: var(--pys-radius-lg);padding:12px 16px;margin:0 0 12px 0;line-height:1.4;box-shadow:var(--pys-elev-2) rgba(245,158,11,0.12);flex-wrap:wrap;}.hcp-plan-locked .hcp-field,.hcp-plan-locked textarea,.hcp-plan-locked input:not([type="hidden"]){opacity:.55;cursor:not-allowed;pointer-events:none;}
.hcp-plan-locked .hcp-add-item-btn,.hcp-plan-locked .hcp-btn-add,.hcp-plan-locked [data-add-item]{opacity:.4;cursor:not-allowed;pointer-events:none;}
.hcp-plan-locked .hcp-status-btn,.hcp-plan-locked [data-status-btn],.hcp-plan-locked [data-hcp-status-toggle]{opacity:.4;cursor:not-allowed;pointer-events:none;}
.hcp-ctrl-av-initials {
    width: 100%; height: 100%; border-radius: 50%;
    align-items: center; justify-content: center;
    font-size: var(--pys-fs-xs); font-weight: 700;
}

/* === Evaluation Session UI === */

/* Lock banner */
/* Editing banner (sen düzenliyorsun) */
/* #11 — Değerlendirme imzası + sakin co-presence bandı (kilit/salt-okunur yerine) */
.hcp-eval-copresence {
    display: flex; align-items: center; gap: 10px;
    background: #EFF6FF; border-radius: var(--pys-radius-md);
    padding: 10px 12px; margin: 0 0 10px 0;
    font-size: var(--pys-fs-xs); color: #1E40AF; line-height: 1.45;
}
.hcp-eval-copresence__hint { color: var(--pys-ink-5); }
.hcp-eval-copresence__av {
    width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
    object-fit: cover; border: 1.5px solid #BFDBFE;
    display: inline-flex; align-items: center; justify-content: center;
}
.hcp-eval-copresence__av--i {
    background: #DBEAFE; color: #1E40AF; font-weight: 700; font-size: var(--pys-fi-sm);
    font-family: var(--pys-font-display);
}
.hcp-eval-sig {
    width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    overflow: hidden; font-size: var(--pys-fs-xs); font-weight: 700;
    font-family: var(--pys-font-display); border: 2px solid transparent;
}
.hcp-eval-sig img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hcp-eval-sig--me .hcp-eval-sig { background: #DBEAFE; color: #1E40AF; border-color: #2563EB; }
.hcp-eval-sig--other .hcp-eval-sig { background: #EDE9FE; color: #5B21B6; border-color: #7C3AED; }

/* İmza çipi (Redesign 1A, 2026-08-13) — meta satırında "İşaretleyen: Ad".
   Avatar buton sırasından çıktı; artık adı yazılı bir bilgi çipi. */
.hcp-eval-sigchip {
    display: inline-flex; align-items: center; gap: 4px; vertical-align: middle;
    margin-left: 8px; /* ayıraç yerine boşluk: satır kırılınca boşta '·' kalmaz */
    padding: 2px 8px 2px 2px; border-radius: var(--pys-radius-pill); background: #F4F6FA;
    font-size: var(--pys-fs-xs); font-weight: 600; color: var(--pys-ink-4); white-space: nowrap;
}
.hcp-eval-sigchip .hcp-eval-sig { width: 18px; height: 18px; border-width: 1.5px; font-size: var(--pys-fs-xs); }
/* İşaret damgası (Redesign 1A / E6) — işaretin ADI meta satırının başında.
   Renk TEK KAYNAK: --hcp-mark-* (themes.css). Renk yanında ikon + metin de
   var; işaret hiçbir yerde yalnız renkle anlatılmaz. */
.hcp-ctrl-mark-tag-slot:not(:empty) { margin-right: 8px; }
.hcp-ctrl-mark-tag {
    display: inline-flex; align-items: center; gap: 4px; vertical-align: middle;
    padding: 2px 10px; border-radius: var(--pys-radius-pill);
    font-size: var(--pys-fs-xs); font-weight: 800; white-space: nowrap;
    font-family: var(--pys-font-display);
}
.hcp-ctrl-mark-tag i { font-size: var(--pys-fi-xs); }
.hcp-ctrl-mark-tag--plus    { background: var(--hcp-mark-plus-soft);    color: var(--hcp-mark-plus-ink);    box-shadow: 0 0 0 1px var(--hcp-mark-plus); }
.hcp-ctrl-mark-tag--minus   { background: var(--hcp-mark-minus-soft);   color: var(--hcp-mark-minus-ink);   box-shadow: 0 0 0 1px var(--hcp-mark-minus); }
.hcp-ctrl-mark-tag--revise  { background: var(--hcp-mark-revise-soft);  color: var(--hcp-mark-revise-ink);  box-shadow: 0 0 0 1px var(--hcp-mark-revise); }
.hcp-ctrl-mark-tag--dd      { background: var(--hcp-mark-dd-soft);      color: var(--hcp-mark-dd-ink);      box-shadow: 0 0 0 1px var(--hcp-mark-dd); }
.hcp-ctrl-mark-tag--ontrack { background: var(--hcp-mark-ontrack-soft); color: var(--hcp-mark-ontrack-ink); box-shadow: 0 0 0 1px var(--hcp-mark-ontrack); }
.hcp-ctrl-mark-tag--speedup { background: var(--hcp-mark-speedup-soft); color: var(--hcp-mark-speedup-ink); box-shadow: 0 0 0 1px var(--hcp-mark-speedup); }

/* Approved banner *//* Başlık + gönderim tarihi tek satırda (eskiden alt alta 2 satırdı) — daha ince bant. */.hcp-ctrl-view-report-btn {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; border-radius: var(--pys-radius-sm); font-size: var(--pys-fs-xs); font-weight: 600;
    border: 1px solid #34D399; background: #fff; color: #047857;
    cursor: pointer; box-shadow: var(--pys-shadow-sm);
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.12s;
}
.hcp-ctrl-view-report-btn i { color: #059669; }
.hcp-ctrl-view-report-btn:hover { background: #ECFDF5; border-color: #10B981; transform: translateY(-1px); }
/* Gönderilen rapor önizleme paneli */
.hcp-ctrl-sent-report__meta {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    font-size: var(--pys-fs-sm); font-weight: 600; color: #047857;
    background: #ECFDF5; border: 1px solid #A7F3D0;
    padding: 8px 12px; border-radius: var(--pys-radius-sm); margin-bottom: 12px;
}
.hcp-ctrl-sent-report__meta i { color: #059669; }
.hcp-ctrl-sent-report__body {
    white-space: pre-wrap; word-break: break-word;
    font-size: var(--pys-fs-md); line-height: 1.65; color: var(--pys-ink-3);
    background: #F8FAFC; border-radius: var(--pys-radius-sm);
    padding: 12px 16px; border: 0.5px solid #E2E8F0;
}
/* Onaylanmis (kilitli) rapor — salt-okunur */
.hcp-ctrl-report-locked__lbl {
    display: flex; align-items: center; gap: 8px;
    font-size: var(--pys-fs-sm); font-weight: 600; color: #047857;
    margin-bottom: 8px;
}
.hcp-ctrl-report-locked__lbl i { color: #15803D; }
/* Reddedilen hafta — neden metniyle görünür uyarı */
.hcp-ctrl-rejected-banner {
    display: flex; align-items: flex-start; gap: 10px;
    background: #FEE2E2;
    padding: 10px 12px; border-radius: var(--pys-radius-md);
    font-size: var(--pys-fs-sm); font-weight: 500; color: #7F1D1D;
    margin: 0 0 10px 0;
}
.hcp-ctrl-rejected-banner i { color: #DC2626; margin-top: 2px; }
.hcp-ctrl-reopen-btn {
    margin-left: auto; flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; border-radius: var(--pys-radius-sm); font-size: var(--pys-fs-xs); font-weight: 600;
    border: 1px solid var(--color-border-secondary, #CBD5E1); background: #fff; color: var(--color-text-secondary, var(--pys-ink-4));
    cursor: pointer; box-shadow: var(--pys-shadow-sm);
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.12s;
}
.hcp-ctrl-reopen-btn:hover { background: #F8FAFC; border-color: #94A3B8; color: var(--color-text-primary, var(--pys-ink-1)); transform: translateY(-1px); }

/* Eval progress counter */
/* Batch mark button */
/* Carryover badge (replaces old amber badge) */
.hcp-ctrl-carryover-badge {
    display: inline-flex; align-items: center; gap: 4px;
    background: var(--hcp-amber-50, var(--hcp-amber-50));
    color: #92400E;
    border: 1px solid var(--hcp-amber-200, var(--hcp-amber-200));
    border-radius: var(--pys-radius-xs); padding: 2px 6px;
    font-size: var(--pys-fs-xs); font-weight: 600;
    cursor: default;
}

/* Boy ağırlığı çipi (2026-08-15) — skor ağırlığı süreden otomatik türetilir.
   Nötr gri: ağırlık bir uyarı değil bilgidir; ×1 hiç çip üretmez (JS tarafı). */
.hcp-ctrl-weight-chip {
    display: inline-flex; align-items: center;
    background: #F1F5F9;
    color: var(--pys-ink-4);
    border: 1px solid #E2E8F0;
    border-radius: var(--pys-radius-pill, 999px);
    padding: 2px 8px;
    font-size: var(--pys-fs-xs); font-weight: 700;
    cursor: default;
}
/* Ölçü çipinin iç parçaları (deneyim denetimi A, 2026-08-17): süre + ağırlık
   tek çipte birleşti. Ayıraç çipin İÇİNDE kaldı — dışarıdaki join('·') kalktı,
   burada iki parça aynı ölçünün devamı olduğu için nokta anlamlı. */
.hcp-ctrl-weight-chip__sep { opacity: .45; padding: 0 2px; }

/* DD (Değerlendirme Dışı) işaretli iş puana HİÇ girmez — boy ağırlığı orada
   uygulanmaz. Çip yine de duruyordu ve "×0.5" yazısı yarım puan alacakmış
   izlenimi veriyordu (2026-08-17 metin denetimi). Üstü çizili + soluk: bilgi
   kaybolmaz ama "bu şu an geçersiz" okunur. data-mark hem ilk çizimde hem
   patchListItemMark ile yazıldığı için işaret değişince anında güncellenir.
   Çizgi YALNIZ ağırlık parçasında: süre geçerli bilgidir, o okunur kalmalı. */
.hcp-ctrl-item[data-mark="dd"] .hcp-ctrl-weight-chip {
    background: #F8FAFC;
    color: #94A3B8;
    border-color: #E2E8F0;
}
.hcp-ctrl-item[data-mark="dd"] .hcp-ctrl-weight-chip__x {
    text-decoration: line-through;
}

/* Canlı skor rozeti (2026-08-15) — evbar'da, işaretledikçe güncellenir. Nötr lacivert
   bilgi ailesi: skor bir hüküm değil ölçümdür; işaret renkleriyle yarışmaz. */
.hcp-ctrl-evbar__score {
    display: inline-flex; align-items: center; gap: 4px;
    background: #EFF6FF;
    color: #1E3A8A;
    border: 1px solid #BFDBFE;
    border-radius: var(--pys-radius-pill, 999px);
    padding: 4px 10px;
    font-size: var(--pys-fs-xs); font-weight: 700;
    white-space: nowrap;
    cursor: default;
}

/* Gönderilmiş raporda bayatlık notu (2026-08-15) — amber bilgi şeridi. */
.hcp-ctrl-stale-note {
    display: flex; align-items: flex-start; gap: 8px;
    background: #FFFBEB;
    color: #92400E;
    border: 1px solid #FDE68A;
    border-radius: var(--pys-radius-md);
    padding: 8px 12px;
    font-size: var(--pys-fs-xs);
    margin: 6px 0;
}
.hcp-ctrl-stale-note i { margin-top: 2px; }
/* Devir rozeti tek renk ailesi (mor): eski birleşik --warn/--critical turuncu/kırmızı
   kuralları kaldırıldı — specificity yüzünden aşağıdaki mor redesign'ı eziyor,
   ×3+ devirde rozet turuncuya/kırmızıya dönüyor ve Planım'la tutarsız kalıyordu. */

/* No explanation warning */
/* Control note textarea */
.hcp-ctrl-control-note {
    width: 100%; padding: 6px 10px 4px 10px;
    border-top: 1px solid var(--color-border-secondary, #E2E8F0);
    background: var(--color-background-secondary, #F8FAFC);
    position: relative;
}
.hcp-ctrl-control-note-input {
    width: 100%; resize: none;
    border: 1px solid var(--color-border-secondary, #E2E8F0);
    border-radius: var(--pys-radius-sm); padding: 6px 8px;
    font-size: var(--pys-fs-xs); color: var(--color-text-primary, var(--pys-ink-1));
    background: var(--color-background-primary, #fff);
    line-height: 1.4; min-height: 48px;
    font-family: inherit;
}
.hcp-ctrl-control-note-input:focus { outline: none; border-color: #16A34A; }
.hcp-ctrl-control-note-input[readonly] { opacity: .6; cursor: not-allowed; }
.hcp-ctrl-note-saved {
    font-size: var(--pys-fs-xs); color: #15803D; font-weight: 600;
    position: absolute; right: 14px; bottom: 8px;
    transition: opacity .3s;
}

/* Eval note section (Özge view) */
.hcp-ctrl-eval-note-section {
    margin: 12px 0;
    border: 0.5px solid var(--hcp-amber-400, var(--hcp-amber-400));
    border-radius: var(--pys-radius-md);
    padding: 12px;
    background: var(--hcp-amber-50);
}.hcp-ctrl-eval-note-input {
    width: 100%; resize: vertical; min-height: 72px;
    border: 1px solid var(--hcp-amber-200, var(--hcp-amber-200));
    border-radius: var(--pys-radius-sm); padding: 8px;
    font-size: var(--pys-fs-xs); font-family: inherit;
    background: #fff; color: var(--color-text-primary, var(--pys-ink-1));
    margin-bottom: 6px;
}
.hcp-ctrl-eval-note-input:focus { outline: none; border-color: var(--hcp-amber-500, var(--hcp-amber-500)); }
/* Eval note — Alperen readonly view */
.hcp-ctrl-eval-note-alperen {
    margin: 12px 0;
    border: 1px solid var(--hcp-amber-400, var(--hcp-amber-400));
    border-radius: var(--pys-radius-md);
    padding: 12px;
    background: var(--hcp-amber-50);
}
/* YZ summary section */
.hcp-ctrl-yz-section { margin: 12px 0; }
.hcp-ctrl-yz-stale-warn {
    display: flex; align-items: center; gap: 8px;
    background: var(--hcp-amber-50); border: 1px solid var(--hcp-amber-200);
    border-radius: var(--pys-radius-sm); padding: 8px 12px;
    font-size: var(--pys-fs-xs); color: #92400E; margin-bottom: 8px;
}
.hcp-ctrl-yz-generate {
    display: inline-flex; align-items: center; gap: 8px;
    background: #2E8FFF; color: #fff;
    border: none; border-radius: var(--pys-radius-sm);
    padding: 10px 16px; font-size: var(--pys-fs-sm); font-weight: 600;
    cursor: pointer; transition: background .12s;
}
.hcp-ctrl-yz-generate:hover { background: #1E6FD0; }
.hcp-ctrl-yz-generate:disabled { opacity: .6; cursor: not-allowed; }
.hcp-ctrl-yz-exhausted { font-size: var(--pys-fs-xs); color: var(--pys-ink-5); margin: 4px 0; }.hcp-ctrl-yz-refresh-count { font-size: var(--pys-fs-xs); font-weight: 400; }
.hcp-ctrl-yz-output__text {
    width: 100%; resize: vertical; min-height: 120px;
    border: none; padding: 10px 12px;
    font-size: var(--pys-fs-xs); font-family: inherit; line-height: 1.6;
    color: var(--color-text-primary, var(--pys-ink-1));
    background: var(--color-background-primary, #fff);
}
.hcp-ctrl-yz-output__text:focus { outline: none; }

/* Submit / Approve / Reject buttons */
.hcp-ctrl-eval-actions { display: flex; flex-direction: column; align-items: flex-end; margin: 12px 0; }
.hcp-ctrl-submit-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, #0EA5E9, #0284C7); color: #fff;
    border: none; border-radius: var(--pys-radius-sm);
    padding: 10px 20px; font-size: var(--pys-fs-sm); font-weight: 600;
    cursor: pointer; box-shadow: var(--pys-elev-2) rgba(14,165,233,.38);
    transition: filter 0.15s, transform 0.12s;
}
.hcp-ctrl-submit-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.hcp-ctrl-approve-reject-row {
    display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; margin: 12px 0;
}
.hcp-ctrl-reject-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: #fff; color: var(--pys-ink-3);
    border: 1px solid #CBD5E1; border-radius: var(--pys-radius-md);
    padding: 12px 20px; font-size: var(--pys-fs-md); font-weight: 600;
    cursor: pointer; transition: background .12s;
}
.hcp-ctrl-reject-btn:hover { background: linear-gradient(135deg,#F43F5E,#DC2626); border-color: transparent; color: #fff; box-shadow: var(--pys-elev-2) rgba(244,63,94,.35); }
.hcp-ctrl-approve-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: linear-gradient(135deg, #19C37D, #15803D); color: #fff;
    border: none; border-radius: var(--pys-radius-sm);
    padding: 10px 16px; font-size: var(--pys-fs-sm); font-weight: 600;
    cursor: pointer; box-shadow: var(--pys-elev-2) rgba(22,163,74,.4);
    transition: filter 0.15s, transform 0.12s;
}
.hcp-ctrl-approve-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.hcp-ctrl-direct-approve-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: linear-gradient(135deg, #19C37D, #15803D); color: #fff;
    border: none; border-radius: var(--pys-radius-sm);
    padding: 10px 16px; font-size: var(--pys-fs-sm); font-weight: 600;
    cursor: pointer; box-shadow: var(--pys-elev-2) rgba(22,163,74,.4);
    transition: filter 0.15s, transform 0.12s;
}
.hcp-ctrl-direct-approve-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
/* Carryover modal content */
.hcp-ctrl-carryover-modal { padding: 4px 0; }
.hcp-ctrl-carryover-modal p { font-size: var(--pys-fs-sm); color: var(--color-text-secondary, var(--pys-ink-5)); margin-bottom: 12px; }
.hcp-ctrl-carryover-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.hcp-ctrl-carryover-item {
    display: flex; align-items: center; gap: 10px;
    font-size: var(--pys-fs-sm); color: var(--color-text-primary, var(--pys-ink-1));
    cursor: pointer; padding: 6px 8px;
    border-radius: var(--pys-radius-sm);
    background: var(--color-background-secondary, #F8FAFC);
}
.hcp-ctrl-carryover-item:hover { background: #D1FAE5; }
.hcp-ctrl-carryover-mark { font-size: var(--pys-fs-xs); color: var(--pys-ink-5); margin-left: auto; }
.hcp-ctrl-carryover-actions { display: flex; justify-content: flex-end; }
.hcp-ctrl-carryover-confirm {
    background: linear-gradient(135deg, #19C37D, #15803D); color: #fff;
    border: none; border-radius: var(--pys-radius-sm);
    padding: 10px 20px; font-size: var(--pys-fs-sm); font-weight: 600;
    cursor: pointer; box-shadow: var(--pys-elev-2) rgba(22,163,74,.35);
    transition: filter 0.15s, transform 0.12s;
}
.hcp-ctrl-carryover-confirm:hover { filter: brightness(1.08); transform: translateY(-1px); }

