/* 團隊業績／業績匯入／主頁業績卡 */
.pf-head{display:flex;align-items:baseline;gap:var(--sp-3h);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.pf-head h1{font-size:var(--fs-2xl)}
.pf-head .meta{color:var(--muted);font-size:var(--fs-sm)}
.pf-head .meta b{font-family:var(--mono);font-weight:500;color:var(--ink2)}
.pf-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media (min-width:1100px){.pf-grid.two{grid-template-columns:3fr 2fr}}
.pf-card{padding:var(--sp-4) var(--sp-5)}
.pf-card h2{font-size:var(--fs-lg);margin-bottom:var(--sp-2h);display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}
.pf-card h2 small{font-weight:400;font-size:var(--fs-xs);color:var(--muted)}
.pf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}
.pf-kpis .kpi .v{font-size:var(--fs-xl)}
.pf-kpis .kpi .v small{font-size:var(--fs-xs);color:var(--muted);font-family:var(--sans);margin-left:var(--sp-1)}
.progress{height:10px;background:var(--card2);border-radius:var(--r-sm);overflow:hidden;margin-top:var(--sp-1h)}
.progress i{display:block;height:100%;background:var(--brand-green-deep);border-radius:var(--r-sm)}
.progress.warn i{background:var(--warn)}
.pf-state{padding:var(--sp-6);text-align:center;color:var(--ink2);line-height:1.8}
.pf-state strong{display:block;font-size:var(--fs-lg);color:var(--ink);margin-bottom:var(--sp-1h)}
.pf-note{font-size:var(--fs-xs);color:var(--muted);margin:var(--sp-2) 0 0}
.pf-tablewrap{max-height:calc(100vh - var(--topbar-h) - 260px);min-height:200px;overflow:auto}
.tbl td.me{background:var(--accent-soft)}
.rankno{display:inline-block;min-width:26px;text-align:center;border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--fs-xs);font-weight:700;padding:2px var(--sp-1h);background:var(--card2);color:var(--ink2)}
.rankno.top{background:var(--brand-gold);color:var(--brand-deeper)}

/* 匯入 */
.imp-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-3)}
.imp-file{background:var(--card);border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--sp-3h) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}
.imp-file b{font-size:var(--fs-md)}
.imp-file small{font-size:var(--fs-xs);color:var(--muted)}
.imp-file input[type=file]{font-size:var(--fs-sm)}
.imp-file.ok{border-style:solid;border-color:var(--brand-green-deep);background:var(--ok-soft)}
/* 拖放：拖入卡片時全部格變實線，拖到某一格嗰格再加深 */
#impCard.over .imp-file,#pkgCard.over .imp-file{border-style:solid;border-color:var(--brand-green-deep)}
.imp-file.over{background:var(--accent-soft);box-shadow:0 0 0 2px var(--brand-green-deep) inset}
.imp-row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-3)}
.imp-row input[type=date]{border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);padding:7px 10px;font-family:var(--mono)}
.imp-row label.chk{display:inline-flex;align-items:center;gap:var(--sp-1h);font-size:var(--fs-sm);color:var(--ink2)}
.blockers{background:var(--bad-soft);border:1px solid var(--bad);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);color:var(--bad);font-size:var(--fs-sm);line-height:1.7;margin-bottom:var(--sp-3)}
.warnbox{background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);color:var(--warn);font-size:var(--fs-sm);line-height:1.7;margin-bottom:var(--sp-3)}
.blockers label.chk{display:flex;align-items:center;gap:var(--sp-1h);color:var(--bad);font-weight:600}
.okbox{background:var(--ok-soft);border:1px solid var(--ok);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);color:var(--ok);font-size:var(--fs-sm);line-height:1.7;margin-bottom:var(--sp-3)}
.issues{font-size:var(--fs-sm);color:var(--ink2);line-height:1.7;max-height:220px;overflow:auto;border:1px solid var(--line2);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);background:var(--card2)}
.bind-sel{border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);padding:5px 8px;font-size:var(--fs-sm);max-width:260px}
.pf-tabs{margin:0 0 var(--sp-3)}
/* 分享連結統計 */
.ss-row{cursor:pointer}
.ss-row:hover td{background:var(--neutral-soft)}
.ss-det td{background:var(--bg2);padding:var(--sp-3) var(--sp-3h)}
.ss-vh{font-size:var(--fs-xs);font-weight:700;color:var(--ink2);margin-bottom:var(--sp-2);display:flex;gap:var(--sp-2)}
.ss-vh span{color:var(--muted);font-weight:400}

/* 招募計劃進度：風險列表。一行一件事，唔用 emoji，靠左邊色棒分輕重。 */
.pk-flags{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1h)}
.pk-flags li{border-left:3px solid var(--line);padding:var(--sp-1h) 0 var(--sp-1h) var(--sp-2h);font-size:var(--fs-sm);line-height:1.55}
.pk-flags li.warn{border-left-color:var(--warn)}
.pk-flags li.danger{border-left-color:var(--bad)}
.pk-flags li b{display:block;font-weight:700}
.pk-flags li.warn b{color:var(--warn)}
.pk-flags li.danger b{color:var(--bad)}
.pk-flags li span{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:1px}
.tbl .pk-flags{margin-top:var(--sp-1)}
.tbl .pk-flags li{border-left-width:2px;padding:2px 0 2px var(--sp-2);font-size:var(--fs-xs)}
.tbl td.pk-state{min-width:300px;max-width:400px}
.tbl td.pk-state .pk-flags li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 招募計劃進度：撳一行展開嗰位同事嘅餘下進度 */
.tbl tbody tr.link.open td{background:var(--accent-soft)}
.pk-caret{display:inline-block;width:14px;color:var(--muted);font-size:var(--fs-3xs)}
.tbl tbody tr.pk-det>td{background:var(--bg2);padding:var(--sp-4) var(--sp-4)}
.tbl tbody tr.pk-det:hover>td{background:var(--bg2)}
.pk-dhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-1h) var(--sp-3h);margin-bottom:var(--sp-3)}
.pk-dhead b{font-size:var(--fs-md)}
.pk-dhead span{font-size:var(--fs-xs);color:var(--muted)}
.pk-dnote{font-size:var(--fs-sm);line-height:1.7;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-2h) var(--sp-3)}
.pk-dkpi{margin-bottom:var(--sp-1)}
.pk-dh4{font-size:var(--fs-sm);font-weight:700;margin:var(--sp-3h) 0 var(--sp-1h)}
.pk-sch{font-size:var(--fs-xs)}
.pk-sch tbody tr.key td{background:var(--warn-soft)}
.pk-dwarn{border-left:3px solid var(--warn);padding-left:var(--sp-2h)}
/* 展開格入面要正常斷行 —— .tbl td 預設 white-space:nowrap，會令長句撐闊成個表 */
.tbl tbody tr.pk-det>td{white-space:normal}
