/* R19 营建专员样板：只作用于 .uik-cs 和 cs- 前缀；令牌沿用 ui-kit.css（底 #F5F6F8、正文 #1F2329、次级 #4E5969、辅助 #86909C、边框 #E5E6EB）。
   色块四种填充：实心蓝＝已完成，点阵＝未完成可推进，红＝超期，虚线框＝未解锁，灰斜纹＝记录待核；颜色只表达好坏。 */
.uik-cs .cs-stack > * + * { margin-top:16px; }
.uik-cs .cs-card { background:#fff; border-radius:12px; padding:16px 20px; }
.uik-cs .cs-row2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:stretch; }
.uik-cs .cs-row2 > .cs-card { margin:0; }
.uik-cs .uik-bar .cs-tabs { display:inline-flex; border:1px solid #E5E6EB; border-radius:6px; overflow:hidden; margin-left:6px; }
.uik-cs .uik-bar .cs-tabs a { padding:5px 14px; font-size:12px; color:#4E5969; text-decoration:none; border-right:1px solid #E5E6EB; }
.uik-cs .uik-bar .cs-tabs a:last-child { border-right:0; }
.uik-cs .uik-bar .cs-tabs a.on { background:#EDF0FE; color:#1E3FDF; }
.uik-cs .cs-src { margin:6px 0 0; font-size:12px; color:#86909C; }
.uik-cs .cs-empty, .uik-drawer .cs-empty { margin:6px 0; font-size:12.5px; color:#86909C; }

/* R20 总经理新店四问沿用营建标准件。 */
.uik-cs .cs-pipeline { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; font-size:16px; line-height:1.8; }
.uik-cs .cs-pipeline > span { display:inline-flex; align-items:baseline; gap:5px; }
.uik-cs .cs-pipeline > i { color:#86909C; font-style:normal; }
.uik-cs .cs-pipeline small { font-size:12px; color:#86909C; }
.uik-cs .cs-dept-stats { margin:14px 0 0; line-height:1.8; }
.gmx.uik-cs .team-wrap .block-body > .cs-card { padding:0; }
.gmx.uik-cs .cs-dept-records + .cs-card, .gmx.uik-cs .block-body > .cs-card + .cs-more { margin-top:16px; }
.gmx.uik-cs .cs-dept-unassigned { margin:14px 0 0; }

/* ---------- 色块 ---------- */
.cs-c { display:inline-flex; align-items:center; justify-content:center; width:100%; height:24px; border-radius:4px; font-style:normal; font-size:11.5px; font-weight:600; color:#fff; box-sizing:border-box; transition:transform .12s, box-shadow .12s; }
.cs-c.d { background:#8EADE6; }
.cs-c.w { background-color:#F4F5F7; background-image:radial-gradient(#A9AEB8 1.1px, transparent 1.3px); background-size:6px 6px; box-shadow:inset 0 0 0 1px #DCDFE4; }
.cs-c.r { background:#D54941; }
.cs-c.l { background:transparent; box-shadow:inset 0 0 0 1px #DCDFE4; background-image:repeating-linear-gradient(90deg, transparent 0 4px, #fff 4px 6px); border:1px dashed #C9CDD4; }
.cs-c.x { background:repeating-linear-gradient(-45deg, #A9AEB8 0 2px, #F2F3F5 2px 6px); box-shadow:inset 0 0 0 1px #A9AEB8; }
.cs-mini { display:inline-flex; gap:2px; vertical-align:middle; }
.cs-mini i { width:7px; height:11px; border-radius:1.5px; background:#E5E6EB; }
.cs-mini i.d { background:#8EADE6; } .cs-mini i.r { background:#D54941; } .cs-mini i.l { background:transparent; box-shadow:inset 0 0 0 1px #C9CDD4; }
.cs-mini i.w { background:#D9DCE1; } .cs-mini i.x { background:repeating-linear-gradient(-45deg, #86909C 0 1.5px, #E5E6EB 1.5px 3.5px); }
#sideAreas .cs-mini i.d { background:#5B8DEF; } #sideAreas .cs-mini i.w { background:#4A505A; } #sideAreas .cs-mini i.r { background:#E06A62; } #sideAreas .cs-mini i.l { box-shadow:inset 0 0 0 1px #4A505A; } #sideAreas .cs-mini i.x { background:repeating-linear-gradient(-45deg, #9AA0AA 0 1.5px, #3A3F47 1.5px 3.5px); }
#sideAreas .cs-nav b { width:auto; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
#sideAreas .cs-nav.on { background:rgba(255,255,255,.10); }
.uik-cs .cs-lg, .uik-drawer .cs-lg { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; font-size:12px; color:#86909C; }
.uik-cs .cs-lg span { display:inline-flex; align-items:center; gap:6px; }
.uik-cs .cs-lg .cs-c { width:16px; height:12px; border-radius:3px; }

/* ---------- 首页：横幅 ---------- */
.uik-cs .cs-banner { border-radius:12px; padding:20px 24px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.uik-cs .cs-banner.uik-grid { background-image:linear-gradient(100deg, #fff 40%, rgba(244,240,252,.55) 100%), linear-gradient(#EEF0F3 1px, transparent 1px), linear-gradient(90deg, #EEF0F3 1px, transparent 1px); background-size:auto, 22px 22px, 22px 22px; }
.uik-cs .cs-date { display:flex; align-items:center; gap:8px; font-size:12px; color:#86909C; }
.uik-cs .cs-sent { margin:8px 0 0; font-size:17px; line-height:1.75; font-weight:500; color:#1F2329; }
.uik-cs .cs-sent .unum { font-weight:600; margin-right:4px; }
.uik-cs .cs-kpis { display:grid; grid-template-columns:repeat(4, auto); gap:0; }
.uik-cs .cs-k { padding:4px 22px; border-left:1px solid #EEF0F3; min-width:104px; }
.uik-cs .cs-k span { display:block; font-size:12px; color:#86909C; }
.uik-cs .cs-k b { display:inline-block; font-size:30px; font-weight:600; line-height:1.25; color:#1F2329; }
.uik-cs .cs-k small { display:block; font-size:12px; color:#86909C; white-space:nowrap; }

/* ---------- 首页：流程矩阵 ---------- */
.uik-cs .cs-mx-wrap { overflow-x:auto; }
.uik-cs .cs-mx { width:100%; border-collapse:separate; border-spacing:4px 3px; table-layout:fixed; font-size:13px; }
.uik-cs .cs-mx col.c-n { width:200px; } .uik-cs .cs-mx col.c-d { width:170px; } .uik-cs .cs-mx col.c-q { width:84px; }
.uik-cs .cs-mx th { font-size:12px; font-weight:500; color:#4E5969; text-align:center; padding:0 0 6px; white-space:nowrap; }
.uik-cs .cs-mx th small { display:block; font-size:11px; color:#A9AEB8; font-weight:400; }
.uik-cs .cs-mx th:first-child, .uik-cs .cs-mx th:nth-last-child(-n+2) { text-align:left; }
.uik-cs .cs-mx td { padding:3px 0; vertical-align:middle; }
.uik-cs .cs-mx td:first-child { padding-left:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.uik-cs .cs-mx td small { display:block; font-size:12px; color:#86909C; margin-top:1px; overflow:hidden; text-overflow:ellipsis; }
.uik-cs .cs-mx tr.cs-g td { padding:10px 0 2px 8px; }
.uik-cs .cs-mx tr.cs-g small { display:inline; margin-left:6px; }
.uik-cs .cs-mx tbody tr:not(.cs-g):hover td, .uik-cs .cs-mx tr.uik-hl td { background:rgba(237,240,254,.5); }
.uik-cs .cs-mx tr.uik-hl td:first-child { box-shadow:inset 3px 0 0 #1E3FDF; }
.uik-cs .cs-pn { font-weight:500; text-decoration:none; }
.uik-cs .cs-cb { all:unset; display:block; width:100%; cursor:pointer; border-radius:4px; }
.uik-cs .cs-cb:hover .cs-c { transform:scaleY(1.12); box-shadow:0 0 0 2px #fff, 0 0 0 3px #1E3FDF; }
.uik-cs .cs-cb:focus-visible { outline:2px solid #C9D2F8; outline-offset:1px; }
.uik-cs .cs-cb[aria-expanded="true"] .cs-c { box-shadow:0 0 0 2px #fff, 0 0 0 3px #1E3FDF; }
.uik-cs .cs-q { font-size:12px; color:#86909C; padding-left:10px !important; white-space:nowrap; }
.uik-cs .cs-day { padding:0 4px 0 10px; }
.uik-cs .cs-day-t { position:relative; height:8px; border-radius:4px; background:#EEF0F3; overflow:hidden; }
.uik-cs .cs-day-t i { position:absolute; left:0; top:0; bottom:0; background:#8EADE6; border-radius:4px; }
.uik-cs .cs-day-t i.late { background:#D54941; }
.uik-cs .cs-day small { display:block; margin-top:3px; font-size:12px; color:#4E5969; white-space:nowrap; }
.uik-cs .cs-mx-f { display:flex; align-items:center; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid #F0F1F3; }
.uik-cs .cs-mx-f .sp { flex:1; }
.uik-cs .cs-mx-f .uik-btn.sm { margin-top:0; }

/* ---------- 首页：协同、交接 ---------- */
.uik-cs .cs-pt td:first-child { width:136px; white-space:nowrap; color:#1F2329; }
.uik-cs .cs-pt td.num { width:64px; white-space:nowrap; }
.uik-cs .cs-pt td:last-child { color:#4E5969; }
.uik-cs .cs-more { display:inline-block; margin-top:10px; font-size:12.5px; color:#1E3FDF; text-decoration:none; }
.uik-cs .cs-foot { font-size:12px; line-height:1.7; color:#86909C; padding:0 4px; }

/* ---------- 我的工作：队列 + 项目页 ---------- */
.uik-cs .cs-work { display:grid; grid-template-columns:320px minmax(0,1fr); gap:16px; align-items:start; }
.uik-cs .cs-queue { position:sticky; top:72px; background:#fff; border-radius:12px; max-height:calc(100vh - 88px); display:flex; flex-direction:column; overflow:hidden; }
.uik-cs .cs-qtop { padding:14px 16px 10px; border-bottom:1px solid #F0F1F3; }
.uik-cs .cs-qtop > b { display:block; font-size:14px; font-weight:600; color:#1F2329; margin-bottom:10px; }
.uik-cs .cs-seg { display:flex; } .uik-cs .cs-seg button { flex:1; text-align:center; }
.uik-cs .cs-ql { overflow:auto; padding:4px 0 12px; }
.uik-cs .cs-qh { display:flex; justify-content:space-between; padding:12px 16px 6px; font-size:12px; color:#86909C; }
.uik-cs .cs-qh b { color:#1F2329; font-weight:600; }
.uik-cs .cs-qi { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:8px; row-gap:2px; padding:9px 16px 9px 13px; border-left:3px solid transparent; text-decoration:none; color:#1F2329; font-size:13px; transition:background .12s; }
.uik-cs .cs-qi:hover { background:#FAFAFB; }
.uik-cs .cs-qi.on { background:#F7F4FD; border-left-color:#1E3FDF; }
.uik-cs .cs-qi.uik-hl { background:#F7F4FD; }
.uik-cs .cs-qi b { font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uik-cs .cs-qi .cs-qs, .uik-cs .cs-qi small { grid-column:2; font-size:12px; color:#4E5969; line-height:1.5; }
.uik-cs .cs-qi small { display:flex; align-items:center; gap:8px; color:#86909C; }
.uik-cs .cs-qi small em { font-style:normal; }
.uik-cs .cs-qi.off { opacity:.75; }
.uik-cs .cs-obj > * + * { margin-top:16px; }
.uik-cs .cs-obj > .cs-row2 { margin-top:16px; }
@keyframes cs-swap { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.uik-cs .cs-swap { animation:cs-swap .22s ease-out; }
.uik-cs .cs-oh { display:flex; align-items:center; gap:16px; }
.uik-cs .cs-oh .sp { flex:1; }
.uik-cs .cs-ot { display:flex; align-items:center; gap:8px; }
.uik-cs .cs-ot h2 { margin:0; font-size:20px; font-weight:600; color:#1F2329; }
.uik-cs .cs-city { font-size:13px; color:#86909C; }
.uik-cs .cs-meta { display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:8px; font-size:12.5px; color:#86909C; }
.uik-cs .cs-meta b { color:#1F2329; font-weight:500; }
.uik-cs .cs-meta b.neg { color:#D54941; }
.uik-cs .cs-big { text-align:right; white-space:nowrap; }
.uik-cs .cs-big b { display:block; font-size:24px; font-weight:600; color:#1F2329; }
.uik-cs .cs-big small { font-size:12px; color:#86909C; }

/* 节点时间轴 */
.uik-cs .cs-tl { display:grid; grid-template-columns:repeat(8, minmax(0,1fr)); gap:6px; margin:4px 0 14px; }
.uik-cs .cs-tn { all:unset; box-sizing:border-box; cursor:pointer; position:relative; padding:0 4px 4px; border-radius:8px; text-align:left; }
.uik-cs .cs-tn:hover { background:#FAFAFB; }
.uik-cs .cs-tn:focus-visible { outline:2px solid #C9D2F8; }
.uik-cs .cs-tb { display:block; height:10px; border-radius:5px; margin:8px 0 10px; }
.uik-cs .cs-tn.d .cs-tb { background:#8EADE6; }
.uik-cs .cs-tn.w .cs-tb { background-color:#F4F5F7; background-image:radial-gradient(#A9AEB8 1.1px, transparent 1.3px); background-size:6px 6px; box-shadow:inset 0 0 0 1px #DCDFE4; }
.uik-cs .cs-tn.r .cs-tb { background:#D54941; }
.uik-cs .cs-tn.l .cs-tb { border:1px dashed #C9CDD4; height:8px; }
.uik-cs .cs-tn.x .cs-tb { background:repeating-linear-gradient(-45deg, #A9AEB8 0 2px, #F2F3F5 2px 6px); box-shadow:inset 0 0 0 1px #A9AEB8; }
.uik-cs .cs-tn b { display:block; font-size:12.5px; font-weight:500; color:#1F2329; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.uik-cs .cs-tn small, .uik-cs .cs-tn em { display:block; font-size:11.5px; font-style:normal; color:#86909C; line-height:1.6; white-space:nowrap; }
.uik-cs .cs-tn em.neg { color:#D54941; }
.uik-cs .cs-tn.cur { box-shadow:inset 0 0 0 1px #C9D2F8; background:#FBFAFE; }
.uik-cs .cs-now { position:absolute; top:-9px; left:6px; font-style:normal; font-size:11px; color:#1E3FDF; background:#fff; padding:0 4px; }

/* 当前节点 · 规则建议 · 协同 · 记一笔 */
.uik-cs .cs-resp { margin:0 0 10px; font-size:12.5px; color:#4E5969; }
.uik-cs .cs-mat, .uik-drawer .cs-mat { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:2px 16px; }
.uik-cs .cs-mat li, .uik-drawer .cs-mat li { display:flex; align-items:baseline; gap:8px; padding:5px 0; font-size:13px; color:#1F2329; border-bottom:1px solid #F5F6F7; }
.uik-cs .cs-mat li i, .uik-drawer .cs-mat li i { flex:none; width:12px; height:12px; border-radius:3px; border:1px solid #C9CDD4; transform:translateY(1px); }
.uik-cs .cs-mat li.ok i, .uik-drawer .cs-mat li.ok i { background:#2F6BD4; border-color:#2F6BD4; }
.uik-cs .cs-mat li small, .uik-drawer .cs-mat li small { margin-left:auto; font-size:11.5px; color:#A9AEB8; white-space:nowrap; }
.uik-drawer .cs-mat { grid-template-columns:1fr; }
.uik-cs .cs-sh { display:flex; align-items:center; gap:8px; margin:16px 0 6px; font-size:12px; color:#86909C; }
.uik-cs .cs-sh b { color:#1F2329; font-weight:600; font-size:13px; }
.uik-cs .cs-steps { margin:0; padding:0; list-style:none; counter-reset:s; }
.uik-cs .cs-steps li { position:relative; padding:9px 0 9px 28px; border-top:1px solid #F0F1F3; counter-increment:s; }
.uik-cs .cs-steps li::before { content:counter(s); position:absolute; left:0; top:10px; width:18px; height:18px; border-radius:50%; background:#F2F3F5; color:#4E5969; font-size:11px; display:flex; align-items:center; justify-content:center; }
.uik-cs .cs-steps p { margin:0; font-size:13px; line-height:1.65; color:#1F2329; }
.uik-cs .cs-steps small { display:block; margin-top:4px; font-size:12px; color:#4E5969; background:#F8F9FB; border-radius:6px; padding:5px 9px; }
.uik-cs .cs-co td { vertical-align:middle; }
.uik-cs .cs-co td:first-child { width:150px; white-space:nowrap; }
.uik-cs .cs-co td.cs-act { width:72px; text-align:right; padding-right:0; }
.uik-cs .cs-co .uik-btn.sm { margin:0; }
.uik-cs .cs-form { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px 14px; margin-top:4px; }
.uik-cs .cs-form label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#86909C; }
.uik-cs .cs-form label.w { grid-column:1 / -1; }
.uik-cs .cs-form select, .uik-cs .cs-form input { height:32px; border:1px solid #E5E6EB; border-radius:6px; padding:0 10px; font:13px var(--sans); color:#1F2329; background:#fff; }
.uik-cs .cs-form select:focus, .uik-cs .cs-form input:focus { outline:none; border-color:#B9A9E6; box-shadow:0 0 0 2px #EDF0FE; }
.uik-cs .cs-acts { display:flex; gap:8px; margin-top:12px; }
.uik-cs .cs-rec, .uik-drawer .cs-rec { list-style:none; margin:14px 0 0; padding:0; }
.uik-cs .cs-rec li, .uik-drawer .cs-rec li { padding:7px 0; border-top:1px solid #F0F1F3; font-size:12.5px; color:#4E5969; }
.uik-cs .cs-rec li b, .uik-drawer .cs-rec li b { display:inline-block; min-width:96px; margin-right:8px; font-weight:500; color:#1F2329; }

/* 抽屉里 */
.uik-drawer .cs-dl { display:grid; grid-template-columns:72px 1fr; gap:6px 10px; margin:10px 0 4px; font-size:13px; }
.uik-drawer .cs-dl dt { color:#86909C; } .uik-drawer .cs-dl dd { margin:0; color:#1F2329; }
.uik-drawer .cs-dl dd.neg { color:#D54941; }
.uik-drawer .cs-dh { margin:16px 0 6px; font-size:12px; font-weight:600; color:#4E5969; }
.uik-drawer .cs-ps { display:grid; grid-template-columns:repeat(8, 1fr); gap:4px; margin:12px 0 4px; }
.uik-drawer .cs-c { display:inline-flex; align-items:center; justify-content:center; width:100%; height:22px; border-radius:4px; font-style:normal; font-size:11px; font-weight:600; color:#fff; }
.uik-drawer .cs-mini { display:inline-flex; gap:2px; } .uik-drawer .cs-mini i { width:7px; height:11px; border-radius:1.5px; }

/* 演示提示 */
.cs-toast { position:fixed; left:50%; bottom:28px; z-index:50; transform:translate(-50%, 12px); opacity:0; pointer-events:none; background:#1F2329; color:#fff; font:13px/1 var(--sans); padding:10px 16px; border-radius:8px; transition:opacity .2s, transform .2s; }
.cs-toast.on { opacity:1; transform:translate(-50%, 0); animation:cs-toast 2.4s forwards; }
@keyframes cs-toast { 0%, 80% { opacity:1; } 100% { opacity:0; } }

@media (prefers-reduced-motion: reduce) {
  .uik-cs .cs-swap, .cs-toast, .uik-cs .cs-c { animation:none !important; transition:none !important; }
}
/* 总经理页外层 .w3 有同名 .x（关闭按钮）规则，这里把“记录待核”格的尺寸钉回来 */
.cs-c.x { width:100%; height:24px; margin:0; border-radius:4px; font-size:11.5px; color:#fff; cursor:inherit; }
.uik-drawer .cs-c.x { height:22px; }
.cs-mini i.x { width:7px; height:11px; margin:0; border-radius:1.5px; }
