/* 审批第八版（决定 W-APPROVALS-V8-20260927）：调薪里的「这次调薪是」和轮班组长一段、排班和考勤上的轮班组长、
   盘点差异单上的盘点分析报告和「存在过变动」、招聘单的招聘中和填写页里的几样。
   版式沿用人事单（pf-*）、新填写页（lv-*）、单子详情（ad-*）：白卡片、灰色小标题、红色只给主按钮和要他动手的地方。 */

/* ── 调薪「这次调薪是」：没选就交，整行标红 ── */
.pf-mode[aria-invalid="true"] .pf-label, .pf-mode[aria-invalid="true"] .pf-hint { color: var(--danger); }
.pf-mode[aria-invalid="true"] .pf-chips button { border-color: #f3c3bf; }
/* 升／降档位：没换档位那一行当场标红（第七版第 4 条） */
.pf-ba-row.is-missing .pf-ba-label { color: var(--danger); font-weight: 700; }
.pf-ba-row.is-missing .pf-chips button[aria-checked="true"] { border-color: var(--danger); }
.pf-tier-missing { grid-column: 1 / -1; margin: -2px 0 0; color: var(--danger); font-size: 12px; font-weight: 650; text-align: end; }
.pf-chips button:disabled { cursor: default; opacity: 1; }

/* ── 轮班组长一段 ── */
.sl-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; font-size: 14px; }
.sl-label { color: var(--muted); font-weight: 650; }
.sl-label small { color: var(--muted); font-weight: 500; }
.sl-row b { font-size: 15px; font-weight: 750; text-align: end; }
.sl-date-input { min-width: 0; max-width: 60%; min-height: 40px; box-sizing: border-box; border: 1px solid var(--line); border-radius: 10px; padding: 6px 10px; font: inherit; font-size: 15px; background: var(--surface); color: var(--ink); }
.sl-replace { display: grid; gap: 8px; padding: 10px 12px; border-radius: 12px; background: #fafafb; border: 1px solid var(--line); }
.sl-replace.is-missing { border-color: #f3c3bf; background: #fff8f7; }
.sl-replace-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0; font-size: 14px; }
.sl-replace-head small { color: var(--muted); font-size: 12px; }
.sl-cand { display: grid; gap: 2px; width: 100%; min-height: 52px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); font: inherit; text-align: start; cursor: pointer; }
.sl-cand b { font-size: 15px; font-weight: 700; }
.sl-cand small { color: var(--muted); font-size: 12.5px; }
.sl-cand[aria-checked="true"] { border-color: var(--danger); background: var(--red-soft); box-shadow: inset 0 0 0 1px var(--danger); }
.sl-lead { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; border-top: 1px solid var(--line); font-size: 14px; }
.sl-section + .sl-leads .sl-lead:first-of-type, .sl-leads h4 + .sl-lead { border-top: 0; }
.sl-lead-when { display: inline-flex; align-items: baseline; gap: 6px; }
.sl-lead-when small { color: var(--muted); font-size: 12px; }
.sl-lead.is-this b { color: var(--ink); }
.sl-pending { padding: 0 6px; border-radius: 6px; background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px #c9ccd2; font-size: 11.5px; font-style: normal; font-weight: 700; }
.sl-summary .pf-now-row strong small { margin-inline-start: 4px; color: var(--muted); font-size: 12px; font-weight: 600; }

/* ── 排班、考勤上的轮班组长（第 2 条：在那边直接显示） ── */
/* 类别标签只用细框、不上色（DESIGN_GOVERNANCE「状态颜色三档」） */
.sl-tag, .roster-lead-tag { display: inline-flex; align-items: center; min-height: 18px; padding: 0 6px; border-radius: 6px; background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px #c9ccd2; font-size: 11px; font-style: normal; font-weight: 700; white-space: nowrap; }
.roster-lead-tag { margin-inline-start: 4px; vertical-align: 1px; }
.sl-month { display: grid; gap: 6px; }
.sl-month-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 14px; }
.sl-month-ranges { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.sl-month-range { display: inline-flex; align-items: baseline; gap: 6px; color: var(--ink); font-size: 13px; text-decoration: none; }
.sl-month-range small { color: var(--muted); font-size: 12px; }
/* 他人的考勤：名字、岗位下面一行「轮班组长 15 天」（名字那一行会截断，标签不跟它挤） */
.att-team-person-main .sl-tag { justify-self: start; margin-top: 2px; }
.att-day-row .sl-tag { justify-self: start; }

/* ── 盘点差异：本次盘点分析报告（v8-07） ── */
.sv-report { display: grid; gap: 10px; margin: 0 0 12px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.sv-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.sv-head b { font-size: 15.5px; font-weight: 800; }
.sv-head small { color: var(--muted); font-size: 12px; }
.sv-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sv-kpi { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: #f6f6f8; }
.sv-kpi small { color: var(--muted); font-size: 12px; font-weight: 650; }
.sv-kpi b { font-size: 20px; font-weight: 800; line-height: 1.2; }
.sv-kpi i { color: var(--muted); font-size: 11.5px; font-style: normal; }
.sv-kpi.is-neg b { color: var(--danger); }
.sv-vs { margin: 0; color: var(--ink); font-size: 13px; line-height: 1.55; }
.sv-h { margin: 4px 0 0; font-size: 13.5px; font-weight: 800; }
.sv-bars { display: grid; gap: 6px; }
.sv-bar { display: grid; grid-template-columns: minmax(4.5em, 7em) minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13px; }
.sv-bar i { display: block; height: 8px; border-radius: 99px; background: #c9ccd2; }
.sv-bar b { color: var(--danger); font-weight: 750; }
.sv-link { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); text-decoration: none; }
.sv-link-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: #f4f5f7; color: #5d6470; }
.sv-link-body { display: grid; gap: 2px; min-width: 0; }
.sv-link-body b { font-size: 14.5px; font-weight: 750; }
.sv-link-body small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.sv-go { color: var(--muted); font-size: 18px; }
[dir="rtl"] .sv-go { transform: scaleX(-1); }
.sv-file { width: 100%; font: inherit; text-align: start; cursor: pointer; }
/* 文件名写全（不截断）：店名长的换行 */
.sv-file .ad-file-name b { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
/* 单子详情里报告就是内容卡本身，不再套一层框 */
.ad-card > .sv-report { margin: 0; padding: 0; border: 0; border-radius: 0; }
.ad-file-icon.is-xls { background: #1f7a45; }
@media (min-width: 900px) { .sv-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* 流程与评论里「存在过变动」那张卡：一个商品一行，最下面净损耗和准确率从多少到多少、谁调的 */
/* 「存在过变动」＝出过问题要审批人留意（红，DESIGN_GOVERNANCE 状态颜色三档）；已拒绝那个 is-no 照旧灰 */
.ad-tag.is-changed { border-color: #f3c3bf; background: #fff5f4; color: var(--danger); }
.ad-bubble.is-card { display: grid; gap: 6px; background: #fff; border: 1px solid var(--line); }
.ad-bubble.is-card p { margin: 0; font-size: 13.5px; line-height: 1.5; }
.ad-bubble.is-card .sv-sum { padding-top: 6px; border-top: 1px solid var(--line); font-weight: 700; }
.ad-bubble.is-card .sv-more { color: var(--muted); }

/* ── 招聘 ── */
.rc-status { display: grid; gap: 6px; margin: 0 0 10px; padding: 10px 12px; border-radius: 12px; background: #f6f6f8; }
.rc-status p { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }
.rc-fills { display: grid; gap: 4px; }
.rc-fill { color: var(--ink); font-size: 13px; text-decoration: none; }
.rc-headcount { display: inline-flex; align-items: baseline; gap: 6px; }
.rc-new-tag { display: inline-flex; align-items: center; min-height: 18px; margin-inline-end: 6px; padding: 0 6px; border-radius: 6px; box-shadow: inset 0 0 0 1px #c9ccd2; color: var(--ink); font-size: 11px; font-weight: 700; }
.rc-age { display: inline-flex; align-items: center; gap: 6px; }
.rc-age input { width: 4.2em; min-height: 36px; box-sizing: border-box; border: 1px solid var(--line); border-radius: 10px; padding: 4px 8px; font: inherit; font-size: 15px; font-weight: 700; text-align: center; background: var(--surface); color: var(--ink); }
.rc-age small { color: var(--muted); font-size: 13px; font-weight: 650; }
.rc-guide-row { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid var(--line); }
.lv-card > .rc-guide-row:first-child { border-top: 0; }
.rc-guide-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.rc-guide-head .lv-label { font-size: 14px; }
.rc-guide-toggle { border: 0; background: none; color: var(--ink); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.rc-guide-text { margin: 0; color: var(--ink); font-size: 14.5px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.rc-guide-text.is-clamped { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rc-picker-group { margin: 10px 2px 2px; color: var(--muted); font-size: 12.5px; font-weight: 750; }
.rc-picker-new { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 48px; margin-top: 10px; padding: 0 14px; border: 1px dashed #c9ccd2; border-radius: 12px; background: #fafafb; color: var(--ink); font: inherit; font-size: 14.5px; font-weight: 750; cursor: pointer; }
.rc-picker-new b { font-size: 18px; font-weight: 500; }
.rc-picker-list .lv-type-option small { white-space: nowrap; }
/* 新增岗位：「新增」标签和岗位名输入框同一行 */
.af-input-val:has(.rc-new-tag) { flex-wrap: nowrap; align-items: center; }
.af-input-val:has(.rc-new-tag) input { flex: 1 1 auto; min-width: 0; }
/* 核对页、详情里长的几段：整块左对齐，先露三行，点「展开」看全 */
.lv-row--review:has(.rc-block) { grid-template-columns: minmax(0, 1fr); row-gap: 4px; padding: 10px 0; }
.lv-row--review:has(.rc-block) .lv-val { justify-self: stretch; justify-content: flex-start; text-align: start; font-size: 14.5px; font-weight: 600; }
.rc-long { width: 100%; }
.rc-long summary { display: grid; gap: 2px; list-style: none; cursor: pointer; }
.rc-long summary::-webkit-details-marker { display: none; }
.rc-preview { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.55; }
.rc-toggle { color: var(--ink); font-size: 13px; font-style: normal; font-weight: 750; }
.rc-full { display: block; line-height: 1.55; }
details[open].rc-long .rc-preview, details[open].rc-long .rc-toggle { display: none; }
.rc-long + small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 600; }
