/* 布局和部件。颜色字号只用 主题.css 里的变量。10-25 视觉改版：只改长什么样，类名和页面结构不变。
   10-28 并入方向甲·政务蓝细化版的做工（负责人 10-26 选甲、10-28 定细化版；风格稿见 docs/决赛方案/界面形态/视觉稿/风格方向/）。 */
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font-family: var(--字体); font-size: var(--字号-正文); color: var(--色-字); background: var(--色-底); line-height: var(--行高);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: var(--色-信息); text-decoration: none; cursor: pointer; transition: color .12s; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
button, select, input, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--色-信息); outline-offset: 2px; }
b, strong { font-weight: 600; }
::selection { background: var(--色-主边); }

/* 顶栏 */
.顶栏 { height: var(--顶栏高); background: linear-gradient(180deg, var(--色-顶栏亮) 0%, var(--色-顶栏) 100%); color: var(--色-顶栏字); display: flex; align-items: center; justify-content: space-between; padding: 0 24px; position: sticky; top: 0; z-index: 5; box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 -1px 0 rgba(255, 255, 255, .08); }
.顶栏 .系统名 { font-size: var(--字号-关键); font-weight: 600; letter-spacing: 1px; display: inline-flex; align-items: center; }
.顶栏 .右 { display: flex; gap: 12px; align-items: center; font-size: var(--字号-小); }
.顶栏 .右 a { color: var(--色-顶栏字); text-decoration: none; text-underline-offset: 3px; opacity: .88; padding: 4px 8px; border-radius: var(--圆角-小); }
.顶栏 .右 a:hover { opacity: 1; background: rgba(255, 255, 255, .12); text-decoration: none; }
.顶栏 select { background: rgba(255, 255, 255, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center; color: var(--色-顶栏字); border: 1px solid rgba(255, 255, 255, .3); border-radius: var(--圆角-小); padding: 0 28px 0 10px; height: 32px; appearance: none; -webkit-appearance: none; }
.顶栏 select option { color: var(--色-字); }
.顶栏 .系统名::before { content: ""; width: 4px; height: 18px; border-radius: 2px; background: var(--色-顶栏点缀); margin-right: 12px; }
.顶栏 select:hover { background-color: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .5); }

/* 主体 */
.主体 { display: flex; min-height: calc(100vh - var(--顶栏高)); }
.侧栏 { width: var(--侧栏宽); flex: none; background: var(--色-卡); border-right: 1px solid var(--色-线); padding: 8px 0 16px; position: sticky; top: var(--顶栏高); align-self: flex-start; height: calc(100vh - var(--顶栏高)); overflow-y: auto; }   /* 往下翻时菜单留在原处（10-23 提前走查） */
.侧栏 .组名 { font-size: var(--字号-小); font-weight: 500; color: var(--色-弱字); padding: 18px 22px 6px; }   /* 10-29 侧栏照 shadcn 管理台（负责人看中）：分组名小一号、常规灰字，不加字距 */
.侧栏 a.项 { display: flex; align-items: center; gap: 10px; padding: 7px 10px; color: var(--色-字); font-size: var(--字号-正文); text-decoration: none; margin: 2px 12px; border-radius: var(--圆角); transition: background .12s, color .12s; }
.侧栏 a.项:hover { background: var(--色-悬停底); }
.侧栏 a.项 .图 { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; color: var(--色-次字); }
.侧栏 a.项 .名 { flex: 1; min-width: 0; }
.侧栏 a.项.选中 { background: var(--色-选中底); color: var(--色-主深); font-weight: 600; }   /* 选中：浅蓝底、深蓝字，不再用整块深蓝 */
.侧栏 a.项.选中 .图 { color: var(--色-主); }
.侧栏 .数 { font-weight: 600; min-width: 24px; text-align: center; font-size: var(--字号-小); background: var(--色-灰底); color: var(--色-次字); border-radius: 999px; padding: 0 7px; line-height: 20px; }
.侧栏 a.项.选中 .数 { background: var(--色-卡); color: var(--色-主深); }
.侧栏 .组名:first-child { padding-top: 10px; }
.侧栏::-webkit-scrollbar { width: 8px; }
.侧栏::-webkit-scrollbar-thumb { background: var(--色-线); border-radius: 4px; }
@media (max-height: 900px) {   /* 笔记本和放大 125% 时菜单一屏放下，不用在菜单里往下滚才看到"账号与权限""帮助与引导"（10-29 自查）；宽屏不变 */
  .侧栏 .组名 { padding: 12px 22px 4px; }
  .侧栏 a.项 { padding: 4px 10px; margin: 1px 12px; line-height: 1.5; }
}
.内容 { flex: 1; min-width: 0; padding: 20px 28px 48px; max-width: 1680px; overflow-wrap: anywhere; }   /* 超长不换行的字（长网址、连串字母）也能折行，不把整页撑宽（10-26 独立异常测试 F16） */
.内容 input, .内容 select, .内容 textarea { max-width: 100%; }

/* 卡片 */
.卡 { background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); margin-bottom: var(--间距); box-shadow: var(--阴影); }
.卡 > .卡头 { padding: 12px 20px; border-bottom: 1px solid var(--色-线); display: flex; justify-content: space-between; align-items: center; gap: 10px; font-weight: 600; font-size: var(--字号-关键); background: var(--色-卡头); border-radius: var(--圆角) var(--圆角) 0 0; flex-wrap: wrap; row-gap: 4px; position: relative; color: var(--色-标题字); border-bottom-color: var(--色-线浅); }
.卡 > .卡身 { padding: 16px 20px 20px; }
.卡 > .卡头::after { content: ""; position: absolute; left: 20px; bottom: -1px; width: 28px; height: 3px; border-radius: 2px 2px 0 0; background: var(--色-主); }


/* 筛选和表格 */
.工具行 { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.工具行 .弹开 { flex: 1; }
select, input[type=text], input[type=password], input[type=number], input[type=date], textarea { border: 1px solid var(--色-线深); border-radius: var(--圆角-小); padding: 6px 10px; background: var(--色-卡); min-height: var(--控件高); border-color: var(--色-线深); transition: border-color .12s, box-shadow .12s; }
select:hover, input:hover, textarea:hover { border-color: var(--色-弱字); }
select:focus, input:focus, textarea:focus { outline: none; border-color: var(--色-主); box-shadow: 0 0 0 3px rgba(10, 85, 194, .14); }
select { appearance: none; -webkit-appearance: none; padding-right: 30px; background: var(--色-卡) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23566177' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center; }
textarea { width: 100%; min-height: 120px; resize: vertical; line-height: 1.6; }
input[type=checkbox], input[type=radio] { width: 16px; height: 16px; vertical-align: -2px; accent-color: var(--色-主); }
.按钮 { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--控件高); border: 1px solid var(--色-线深); background: var(--色-卡); border-radius: var(--圆角-小); padding: 4px 16px; cursor: pointer; white-space: nowrap; font-weight: 500; color: var(--色-字); text-decoration: none; transition: background .12s, border-color .12s, color .12s, box-shadow .12s; border-color: var(--色-线深); box-shadow: 0 1px 1px rgba(16, 36, 72, .04); }
.按钮:hover { border-color: var(--色-主); color: var(--色-主); text-decoration: none; background: var(--色-信息底); }
.按钮.主 { background: var(--色-主); border-color: var(--色-主); color: var(--色-主字); box-shadow: 0 1px 2px rgba(10, 85, 194, .28), inset 0 1px 0 rgba(255, 255, 255, .14); }
.按钮.主:hover { background: var(--色-主深); border-color: var(--色-主深); color: var(--色-主字); }
.按钮.危 { color: var(--色-危); border-color: var(--色-危边); }
.按钮.危:hover { background: var(--色-危底); border-color: var(--色-危); color: var(--色-危); }
.按钮[disabled], .按钮[disabled]:hover { opacity: .5; cursor: not-allowed; border-color: var(--色-线深); color: var(--色-次字); background: var(--色-卡); }
.按钮.主[disabled] { background: var(--色-主); color: var(--色-主字); }
table.表 { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); overflow: hidden; }   /* 10-29 推广方案 B：表格统一白表头、不加阴影 */
table.表 th { text-align: left; font-weight: 500; background: var(--色-卡); color: var(--色-字); padding: 10px 16px; border-bottom: 1px solid var(--色-线); white-space: nowrap; font-size: var(--字号-小); }
table.表 td { padding: 10px 16px; border-bottom: 1px solid var(--色-线); vertical-align: top; border-bottom-color: var(--色-线浅); }
table.表 tr:last-child td { border-bottom: none; }
table.表 tr.可点 { cursor: pointer; }
table.表 tr.可点:hover td { background: var(--色-信息底); }
.脚注 { color: var(--色-弱字); font-size: var(--字号-小); margin-top: 10px; }
.空 { color: var(--色-弱字); padding: 32px 24px; text-align: center; }

/* 标签 */
.签 { display: inline-block; font-size: var(--字号-小); padding: 0 8px; border-radius: var(--圆角-小); margin: 1px 4px 1px 0; line-height: 22px; white-space: nowrap; background: var(--色-信息底); color: var(--色-主); font-weight: 500; border: 1px solid var(--色-主边); }
.签.警 { background: var(--色-警底); color: var(--色-警); border-color: var(--色-警边); }
.签.危 { background: var(--色-危底); color: var(--色-危); border-color: var(--色-危边); }
.签.好 { background: var(--色-好底); color: var(--色-好); border-color: var(--色-好边); }
.签.灰 { background: var(--色-灰底); color: var(--色-次字); border-color: var(--色-线); }
.危字 { color: var(--色-危); }
.好字 { color: var(--色-好); }
.警字 { color: var(--色-警); font-weight: 600; font-size: var(--字号-小); }
details.节点详 > summary { cursor: pointer; margin-top: 2px; }
details.更多工单 > summary { cursor: pointer; margin: 6px 0; }
.进度条 .去办理 { display: block; margin-top: 4px; font-size: var(--字号-小); font-weight: 600; cursor: pointer; }   /* 办理经过每一步的依据和内容变动默认收起（10-27 界面打磨） */
.追问区 { background: var(--色-警底); border-radius: var(--圆角-小); padding: 10px 12px; margin-bottom: 14px; }   /* 受理确认最前：先问清、再填、再确认（10-27 界面打磨） */
.追问区 .表单 { margin-top: 6px; }
details.原稿 > summary { cursor: pointer; margin: 4px 0 8px; }

/* 办理页 */
.标题行 { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.标题行 .号 { font-size: var(--字号-标题); font-weight: 600; margin-right: 10px; letter-spacing: .5px; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.标题行 .链 a { margin-left: 0; font-size: var(--字号-小); color: var(--色-次字); padding: 4px 12px; border: 1px solid var(--色-线); border-radius: var(--圆角-小); background: var(--色-卡); box-shadow: var(--阴影); }
.标题行 .链 a:hover { color: var(--色-主); border-color: var(--色-主); text-decoration: none; }
.标题行 .签 { vertical-align: 3px; }
.标题行 .链 { display: flex; gap: 8px; }
.步骤条 { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.步骤条 span { padding: 3px 14px; border-radius: 16px; background: var(--色-灰底); color: var(--色-次字); font-size: var(--字号-小); line-height: 24px; }
.步骤条 span.已过 { background: var(--色-好底); color: var(--色-好); }
.步骤条 span.当前 { background: var(--色-主); color: var(--色-主字); font-weight: 600; }
.两栏 { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--间距); align-items: start; }
@media (min-width: 1600px) { .两栏 { grid-template-columns: minmax(0, 1fr) 460px; } }
.字段 { display: grid; grid-template-columns: minmax(120px, max-content) minmax(0, 1fr); gap: 0; }   /* 标签列按最长的字段名定宽、标签不折行（10-31 第 3 轮细节 N3-07："事发区县、街镇"折成三行） */
.字段 .名 { color: var(--色-弱字); }
.字段 .值 { font-size: var(--字号-关键); color: var(--色-标题字); }
.字段 > .名, .字段 > .值 { padding: 8px 0; border-bottom: 1px dashed var(--色-线浅); }
.字段 > .名 { padding-right: 16px; white-space: nowrap; }
.字段 > :nth-last-child(-n+2) { border-bottom: none; }
.表单 { display: grid; grid-template-columns: minmax(108px, max-content) minmax(0, 1fr); gap: 12px 14px; align-items: center; }
.表单 select, .表单 textarea { max-width: 100%; }   /* 选项字长时不撑出卡片（10-23 走查：分流表单） */
.表单 .名 { color: var(--色-次字); white-space: nowrap; }   /* 标签不折成两行（10-30 细节评判 D09） */
.按钮行 { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.按钮:active { transform: translateY(1px); }
.原话 { background: var(--色-悬停底); border: 1px solid var(--色-线浅); border-radius: var(--圆角-小); padding: 12px 16px; margin-top: 8px; }
.原话 .句 { display: block; padding: 1px 0; }
.原话 .句.点中 { background: var(--色-警底); box-shadow: inset 4px 0 0 var(--色-警); font-weight: 600; padding-left: 10px; animation: 原句闪 1.2s ease-out 1; }   /* 点"原句 #n"后被选中的那句：投影上要看得出（10-30 细节评判 D02） */
@keyframes 原句闪 { 0% { background: var(--色-警边); } 100% { background: var(--色-警底); } }
.原话 .句号 { color: var(--色-弱字); margin-right: 6px; font-size: var(--字号-小); font-variant-numeric: tabular-nums; }
.提示 { padding: 12px 16px; border-radius: var(--圆角); background: var(--色-信息底); color: var(--色-主深); margin-bottom: 10px; border: 1px solid var(--色-主边); }
.提示.警 { background: var(--色-警底); color: var(--色-警); border-color: var(--色-警边); }
.提示.危 { background: var(--色-危底); color: var(--色-危); border-color: var(--色-危边); }
.次 { color: var(--色-次字); font-size: var(--字号-小); }
.分隔 { border-top: 1px dashed var(--色-线); margin: 16px 0 12px; padding-top: 12px; }
details > summary { cursor: pointer; }
details.卡 > summary.卡头 { cursor: pointer; list-style: none; border-radius: var(--圆角); justify-content: flex-start; }
details.卡 > summary.卡头 > .次 { margin-left: auto; font-weight: 400; }
details.卡[open] > summary.卡头 > .次 { display: none; }
details.卡[open] > summary.卡头 { border-radius: var(--圆角) var(--圆角) 0 0; }
details.卡:not([open]) > summary.卡头 { border-bottom: none; }
details.卡 > summary.卡头::-webkit-details-marker { display: none; }
details.卡 > summary.卡头::before { content: "▸"; margin-right: 6px; color: var(--色-主); font-size: .8em; }
details.卡[open] > summary.卡头::before { content: "▾"; }

/* 首页 */
.大按钮行 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--间距); margin: 14px 0 24px; }
.大按钮 { display: block; color: var(--色-字); background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); padding: 30px 22px; text-align: center;
  cursor: pointer; box-shadow: var(--阴影); transition: border-color .15s, box-shadow .15s, transform .15s; text-decoration: none; }
.大按钮:hover { border-color: var(--色-主); box-shadow: var(--阴影-浮); transform: translateY(-1px); text-decoration: none; }
.大按钮 b { display: block; font-size: var(--字号-标题); margin-bottom: 8px; color: var(--色-主); }

/* 工单页进度条（10-25）：带连线的六格，已过实心、当前突出、未到空心、不适用虚线 */
.进度条 { list-style: none; margin: 2px 0 16px; padding: 16px 12px 12px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); box-shadow: var(--阴影); }
.进度条 li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 0 6px; min-width: 0; }
.进度条 li::before { content: ""; position: absolute; top: 10px; left: -50%; width: 100%; height: 2px; background: var(--色-线); z-index: 0; }
.进度条 li:first-child::before { display: none; }
.进度条 li.已过::before, .进度条 li.当前::before { background: var(--色-主); }
.进度条 li.不适用::before { background: none; border-top: 2px dashed var(--色-线深); height: 0; }
.进度条 .点 { position: relative; z-index: 1; width: 22px; height: 22px; border-radius: 50%; background: var(--色-卡); border: 2px solid var(--色-线深); margin-bottom: 4px; box-shadow: 0 0 0 3px var(--色-卡); }
.进度条 li.已过 .点 { background: var(--色-主); border-color: var(--色-主); }
.进度条 li.已过 .点::after { content: "✓"; color: var(--色-主字); font-size: 12px; line-height: 18px; display: block; font-weight: 700; }
.进度条 li.当前 .点 { background: var(--色-卡); border-color: var(--色-主); box-shadow: 0 0 0 3px var(--色-卡), 0 0 0 7px rgba(10, 85, 194, .16); border: 6px solid var(--色-主); }
.进度条 li.不适用 .点 { border-style: dashed; }
.进度条 b { font-size: var(--字号-正文); font-weight: 600; }
.进度条 li.当前 b { color: var(--色-主); }
.进度条 li.未到 b, .进度条 li.不适用 b { color: var(--色-弱字); font-weight: 500; }
.进度条 .人, .进度条 .时 { font-size: var(--字号-小); color: var(--色-次字); line-height: 1.4; overflow-wrap: anywhere; }
.进度条 li.当前 .人 { color: var(--色-主); font-weight: 600; }
.进度条 li.未到 .人, .进度条 li.不适用 .人 { color: var(--色-弱字); }
.进度条 .回 { margin-top: 3px; font-size: var(--字号-小); color: var(--色-警); background: var(--色-警底); border-radius: var(--圆角-小); padding: 0 6px; border: 1px solid var(--色-警边); }
@media (max-width: 760px) { .进度条 { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 12px; } .进度条 li:nth-child(4)::before { display: none; } }

/* 首页办理步骤（10-25） */
.步骤卡行 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 16px 0 20px; }
.步骤卡 { position: relative; display: flex; flex-direction: column; gap: 8px; background: var(--色-卡); border: 1px solid var(--色-线); border-top: 3px solid var(--色-主); border-radius: var(--圆角); padding: 20px 20px 16px; color: var(--色-字); box-shadow: var(--阴影); text-decoration: none; transition: box-shadow .15s, transform .15s; }
.步骤卡:hover { box-shadow: var(--阴影-浮); transform: translateY(-1px); text-decoration: none; border-color: var(--色-主边深); border-top-color: var(--色-主); }
.步骤卡 .序 { font-size: var(--字号-小); color: var(--色-主); font-weight: 600; letter-spacing: .5px; }
.步骤卡 b { font-size: var(--字号-标题); color: var(--色-标题字); font-weight: 600; }
.步骤卡 .做 { color: var(--色-次字); font-size: var(--字号-小); flex: 1; }
.步骤卡 .等 { font-weight: 600; color: var(--色-主深); background: var(--色-主浅); border-radius: var(--圆角-小); padding: 4px 10px; align-self: flex-start; border: 1px solid var(--色-主边); font-variant-numeric: tabular-nums; }
.步骤卡:not(:last-child)::after { content: "›"; position: absolute; right: -17px; top: 50%; transform: translateY(-50%); font-size: 16px; color: var(--色-主); z-index: 1; width: 22px; height: 22px; border-radius: 50%; background: var(--色-卡); border: 1px solid var(--色-线); line-height: 19px; text-align: center; box-shadow: var(--阴影); }
@media (max-width: 1100px) { .步骤卡行 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .步骤卡:not(:last-child)::after { display: none; } }
@media (max-width: 760px) { .步骤卡行 { grid-template-columns: 1fr; } }

/* 登录 */
.登录框 { max-width: 440px; margin: 18vh auto 0; background: var(--色-卡); border: 1px solid var(--色-线); border-radius: 8px; padding: 32px; box-shadow: var(--阴影-浮); border-top: 3px solid var(--色-主); }
.登录框 h1 { font-size: var(--字号-标题); margin: 0 0 20px; text-align: center; color: var(--色-标题字); }
.登录框 input { width: 100%; margin-bottom: 14px; }
.登录框 .按钮 { width: 100%; }

/* 浮层提示 */
#消息 { position: fixed; left: 50%; top: 68px; transform: translateX(-50%); padding: 10px 20px; border-radius: var(--圆角); background: var(--色-字); color: var(--色-主字); z-index: 20;
  display: none; max-width: 80vw; box-shadow: var(--阴影-浮); }
#消息.错 { background: var(--色-危); }

@media (max-width: 1100px) {
  .两栏 { grid-template-columns: 1fr; }
  .内容 { padding: 16px 20px 40px; }
}
#菜单钮 { display: none; margin-right: 8px; background: transparent; color: var(--色-顶栏字); border: 1px solid currentColor; }   /* 顶栏底色上看得清（10-24 复测：原来白字白底） */
@media (max-width: 760px) {
  .侧栏 { display: none; }
  #菜单钮 { display: inline-flex; }   /* 窄窗口：侧栏收起，点"菜单"浮出（10-24 新手试用 K-5） */
  body.开菜单 .侧栏 { display: block; position: fixed; top: var(--顶栏高); left: 0; bottom: 0; z-index: 15; overflow-y: auto; box-shadow: var(--阴影-浮); }
  .大按钮行 { grid-template-columns: 1fr; }
  .内容 { padding: 12px 16px 40px; }
}

/* 帮助与引导 */
.帮助正文 { line-height: 1.8; }
.帮助正文 h4.帮助小标 { margin: 18px 0 6px; font-size: var(--字号-关键); }
.帮助正文 h4.帮助小标:first-child { margin-top: 0; }
.帮助正文 table.表 { margin: 6px 0 12px; box-shadow: none; }
.帮助正文 ol, .帮助正文 ul { padding-left: 22px; margin: 6px 0 10px; }
.帮助正文 li { margin: 3px 0; }
.帮助正文 code { background: var(--色-灰底); padding: 0 5px; border-radius: 3px; font-size: .92em; }

/* 并进上一张卡的子块（附加核查并进答复核查卡，10-23 走查 N3） */
.并卡 > .卡 { border: none; border-top: 1px dashed var(--色-线深); border-radius: 0; margin: 16px -20px -20px; box-shadow: none; }
.并卡 > .卡.强调 { border-left: none; }
.并卡 > .卡 > .卡头 { border-bottom: none; font-size: var(--字号-正文); background: transparent; }
.并卡 > .卡 > .卡头::after, details.卡:not([open]) > summary.卡头::after { display: none; }
/* AI 建议卡：写在"并卡"后面，并进来的附加核查卡也保留蓝顶线和蓝标题栏（照负责人 10-26 看过的甲细化版） */
.卡.强调 { border: 1px solid var(--色-主边); border-top: 3px solid var(--色-主); box-shadow: 0 1px 2px rgba(10, 85, 194, .08), 0 4px 16px rgba(10, 85, 194, .07); }
.卡.强调 > .卡头 { background: linear-gradient(180deg, var(--色-信息底), var(--色-主浅)); color: var(--色-主深); border-bottom-color: var(--色-主边); }
.卡.强调 > .卡头::after { display: none; }
.卡.强调 .次 { font-size: var(--字号-正文); color: var(--色-次字); line-height: 1.75; }
.卡.强调 .卡身 b { color: var(--色-标题字); }
.卡.强调 .结论 { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; align-items: baseline; padding: 12px 14px; margin-bottom: 12px; background: var(--色-卡); border: 1px solid var(--色-主边); border-radius: var(--圆角); }   /* 智能体的结论（类别、主办、协办）一块放最上面、大一号，一眼看到要定什么（10-28） */
.卡.强调 .结论 .名 { color: var(--色-次字); white-space: nowrap; }
.卡.强调 .结论 .值 { font-size: var(--字号-关键); font-weight: 600; color: var(--色-标题字); }

/* 平台原始输出、接口示例这类等宽块 */
.原话.码 { white-space: pre-wrap; word-break: break-all; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: var(--字号-小); }

/* 10-25 其余页面逐页检查 */
.全宽区 { margin-top: var(--间距); }   /* 工单页：工单信息页签卡占满整行 */
table.表 td.不折, table.规则表 td:first-child, table.规则表 td:nth-child(3) { white-space: nowrap; }
table.表 td:first-child { font-variant-numeric: tabular-nums; }
.帮助正文 { max-width: 64em; }   /* 宽屏上一行不超过约 64 个字，读得过来 */

/* 进度条可点，跳到办理经过里那一环节（10-26） */
.进度条 li[data-到] { cursor: pointer; border-radius: var(--圆角-小); }
.进度条 li[data-到]:hover b { color: var(--色-主); text-decoration: underline; text-underline-offset: 3px; }
.进度条 .时 { font-variant-numeric: tabular-nums; }
.办结对比 { margin-bottom: 14px; padding: 8px 12px; background: var(--色-信息底); border-radius: var(--圆角-小); }

/* 投影下关键字段 ≥16px（衡量表 A5③；10-26 中点评委总评：状态标签、原句编号、进度条办理人和时间原是 14px） */
@media (min-width: 1600px) {
  .签, .原话 .句号, a[data-句], .进度条 .人, .进度条 .时 { font-size: 16px; }
}
.表 td.不断 { white-space: nowrap; }   /* 类别四个字不拆两行（1366 宽，10-26 中点评委总评） */

/* 顶栏"演示辅助"：恢复初始数据等演示专用的收在一处（10-26 任务 14：评委总评说处处是演示手柄） */
.测试环境 { position: relative; display: inline-block; }
.测试环境 > summary { cursor: pointer; list-style: none; opacity: .88; padding: 4px 8px; border-radius: var(--圆角-小); }   /* 和顶栏其他链接一样：不加下划线，悬停出浅底（10-28 甲细化） */
.测试环境 > summary:hover { opacity: 1; background: rgba(255, 255, 255, .12); }
.测试环境 > summary::-webkit-details-marker { display: none; }
.测试环境 .浮层 { position: absolute; right: 0; top: 130%; z-index: 20; background: var(--色-卡); color: var(--色-字); border: 1px solid var(--色-线深); border-radius: var(--圆角-小); box-shadow: 0 4px 12px rgba(0,0,0,.15); padding: 6px 0; min-width: 140px; display: flex; flex-direction: column; }
.测试环境 .浮层 a { color: var(--色-字); padding: 6px 14px; white-space: nowrap; text-decoration: none; }
.测试环境 .浮层 a:hover { background: var(--色-选中底); }
.提示.培训条 { margin-top: var(--间距); }
.提示.培训条 a { text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }   /* 首页的测试环境提示（10-30：上手指引挪进"测试环境"） */
/* 登录页体验账号一键进入（10-26） */
.登录框 .一键行 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.登录框 .一键行 .次 { width: 100%; }
.登录框 .一键行 .按钮 { flex: 1; }
.登录框 .或 { text-align: center; margin: 6px 0 10px; }
/* 数据对接页的流向图（10-26） */
.对接图 { display: flex; align-items: stretch; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.对接栏 { flex: 1 1 220px; background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.对接栏.中 { flex: 1.2 1 240px; border-color: var(--色-主); }
.对接块 { background: var(--色-灰底); border-radius: var(--圆角); padding: 8px 10px; font-size: var(--字号-小); }
.对接箭 { align-self: center; font-size: 22px; color: var(--色-次字); }
/* 工单质量检查卡：右侧、往下翻时钉在顶栏下面（10-27） */
.两栏 > .右列 { align-self: stretch; }
.两栏.单栏 { grid-template-columns: minmax(0, 1fr); }   /* 右栏没有智能体卡和质量检查时不留整列空白（10-27 界面打磨） */   /* 右栏拉满整页高，质检卡才钉得住 */
.质检卡 { position: sticky; top: calc(var(--顶栏高) + 12px); margin-top: var(--间距); }
.质检卡 > .分隔 { border-top: none; margin: 0; padding: 12px 14px; }
.质检卡 > .分隔 > div { margin-top: 4px; }
.质检卡 > .次 { padding: 0 14px 12px; }
.检项 { display: flex; gap: 6px; align-items: baseline; }
.检项 > :first-child { flex: none; }   /* "到受理确认 ▾"和上面的检查项对齐（原来贴着卡边，10-29） */
/* 通话回放（10-27） */
.回放控 { margin: 10px 0 4px; align-items: center; }
.回放转写 { max-height: calc(100vh - var(--顶栏高) - 120px); overflow-y: auto; }
.回放右 { position: sticky; top: calc(var(--顶栏高) + 12px); }
#回放右身 { max-height: calc(100vh - var(--顶栏高) - 120px); overflow-y: auto; }
.回放句 { display: grid; grid-template-columns: 64px 40px 1fr; gap: 8px; padding: 6px 8px; border-radius: var(--圆角-小); }
.回放句.当前 { background: var(--色-选中底); }
.回放句.闪 { outline: 2px solid var(--色-主); }
.回放人 { font-size: var(--字号-小); font-weight: 600; }
.回放人.坐 { color: var(--色-次字); }
.回放人.民 { color: var(--色-主); }
.回放时点 { font-variant-numeric: tabular-nums; }
.回放刚 { min-height: 1.4em; font-weight: 600; color: var(--色-主); margin: -4px 0 8px; padding: 6px 0; position: sticky; top: -16px; background: var(--色-卡); z-index: 1; border-bottom: 1px solid var(--色-线); }   /* 吸顶条加底线，不压下一行字（10-27 班组长 L4） */
.回放项 { border-left: 3px solid var(--色-线); padding: 6px 10px; margin-bottom: 8px; }
.回放项[data-态="无"] { display: none; }
.回放项[data-态="占"] .回放全文 { display: none; }
.回放项[data-态="亮"] .回放占位 { display: none; }
.回放项[data-态="亮"] { border-left-color: var(--色-主); }
.回放项名 { font-size: var(--字号-小); color: var(--色-次字); }
.回放终 { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--色-线); }
.回放句 { cursor: pointer; }
.回放句:hover { background: var(--色-灰底); }
.回放句.估句 > span:last-child { color: var(--色-次字); }
/* 通话工作台（10-27）：三栏照初赛原型第 1 页，约 1 : 2.3 : 1.5；1366 宽时左栏不窄于 244（11-05：三个来源按钮一行放下）、右栏不窄于 380 */
.工作台 { display: grid; grid-template-columns: minmax(244px, 1fr) minmax(0, 2.3fr) minmax(380px, 1.5fr); gap: var(--间距); align-items: start; margin-top: 12px; }
.台左 { position: sticky; top: calc(var(--顶栏高) + 12px); max-height: calc(100vh - var(--顶栏高) - 170px); display: flex; flex-direction: column; overflow: hidden; }
.台左 > .卡身 { overflow-y: auto; min-height: 0; padding-top: 0; }   /* 只让卡身滚动，卡头"来电来源"不滚走（10-31 第 2 轮细节评判 D15） */   /* 扣掉页面标题和底部留白，整页不多出滚动 */
.台签行 { position: sticky; top: 0; z-index: 1; background: var(--色-卡); padding: 14px 0 10px; }
.台段 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 3px; background: var(--色-灰底); border: 1px solid var(--色-线); border-radius: var(--圆角); }   /* 三个来源合在一条底槽里，选中的白底（11-05 负责人：小框框比例不好看） */
.台签 { min-width: 0; font: inherit; font-size: var(--字号-小); padding: 5px 2px; border: 0; background: transparent; color: var(--色-次字); border-radius: var(--圆角-小); cursor: pointer; white-space: nowrap; text-align: center; }
.台签:hover { color: var(--色-字); }
.台签.选中 { background: var(--色-卡); color: var(--色-主); font-weight: 500; box-shadow: 0 1px 2px rgba(15, 23, 42, .12); }
.台录 { display: block; position: relative; width: 100%; text-align: left; font: inherit; background: transparent; color: var(--色-字); border: 0; border-bottom: 1px solid var(--色-线); border-radius: 0; padding: 9px 8px 9px 12px; margin: 0; cursor: pointer; }   /* 平铺列表、细线分隔，不再一条一个框（11-05） */
.台录:hover { background: var(--色-悬停底); }
.台录.选中 { background: var(--色-选中底); }
.台录.选中::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--色-主); }
.台录:disabled { cursor: not-allowed; opacity: .55; }
.台录头 { display: flex; align-items: center; gap: 6px; }
.台录长 { margin-left: auto; font-variant-numeric: tabular-nums; }
.台录 > .次 { display: block; font-size: var(--字号-小); }
.台录签 { margin: 2px 0 0; }
.台录头 .台录签 { margin: 0; line-height: 18px; padding: 0 6px; }

.台中 .回放转写 { overflow-y: auto; }
.回放说明 { font-size: var(--字号-小); padding: 6px 10px; margin-bottom: 0; line-height: 1.55; }
.回放说明 summary { cursor: pointer; display: inline; color: var(--色-主); }
.回放说明 details { display: inline; margin-left: 6px; }
.回放刚:empty { border-bottom: 0; padding: 0; min-height: 0; margin: 0; }
/* 通话工作台打磨（11-05）：上传录音是录音列表顶上一行；状态用小签；表单页中栏占两栏、不留空卡；空状态一个词 */
.台传 { display: block; width: 100%; font: inherit; font-size: var(--字号-小); color: var(--色-主); background: var(--色-卡); border: 1px dashed var(--色-主边); border-radius: var(--圆角-小); padding: 7px 10px; margin-bottom: 12px; cursor: pointer; text-align: left; }
.台传:hover { background: var(--色-悬停底); }
.台传.选中 { border-style: solid; border-color: var(--色-主); background: var(--色-选中底); }
.台组名 { font-size: var(--字号-小); color: var(--色-次字); margin: 0; padding: 0 0 6px; border-bottom: 1px solid var(--色-线); display: flex; justify-content: space-between; }
.台录态 { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin-top: 2px; font-size: var(--字号-小); }
.台录态 .签 { margin: 0; line-height: 18px; padding: 0 6px; }
.台录单 { font-variant-numeric: tabular-nums; color: var(--色-次字); }
.卡头 .台录签 { margin-left: 8px; vertical-align: 2px; }
.台签串 { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.台签串 .签 { margin: 0; }
.台签串 .签[title] { cursor: help; }
.台后果 { margin-top: 8px; font-size: var(--字号-小); }
.台空 { color: var(--色-次字); padding-top: 28px; padding-bottom: 28px; text-align: center; }
.回放转写 .台空, #回放右身 .台空 { padding: 20px 0; }
.台警 { padding: 6px 12px; font-size: var(--字号-小); }
.台录话 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; font-size: var(--字号-小); color: var(--色-字); line-height: 1.5; margin-top: 3px; }
.台录话.一行 { -webkit-line-clamp: 1; }
.台录 .台录态:empty { display: none; }
.台引 { display: grid; grid-template-columns: 40px 1fr; gap: 8px; padding: 10px 12px; background: var(--色-灰底); border-radius: var(--圆角-小); line-height: 1.6; margin-bottom: 12px; }
.台试听 { width: 100%; height: 36px; margin-bottom: 10px; }
.台信息 { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0 0 12px; font-size: var(--字号-小); }
.台信息 dt { color: var(--色-次字); }
.台信息 dd { margin: 0; font-variant-numeric: tabular-nums; }
.台源签 { line-height: 32px; padding: 0 12px; }
.工作台.无右 .台中 { grid-column: 2 / 4; }
.工作台.无右 .台右 { display: none; }
.台框项 .次 { line-height: 1.6; }
.回放右 .卡头 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.回放右 .卡头 .签 { margin: 0; }
.台中 .卡头 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.卡头注 { font-size: var(--字号-小); font-weight: 400; margin-left: 10px; margin-right: auto; }
.回放进度 { display: flex; align-items: center; gap: 10px; margin: 2px 0 6px; }
.回放进度 input { flex: 1; min-width: 120px; }
.回放进度 .次 { font-variant-numeric: tabular-nums; white-space: nowrap; }
.回放元 { margin: 0 0 6px; }
.回放终 .按钮 { margin-top: 6px; }
/* 实时转写·通话中提示（11-05 负责人：要清晰）：每层一个标题行＋来源小签，内容按类分行，要问清的列成清单 */
.提层 { padding: 12px 0; border-top: 1px solid var(--色-线); }
.提层:first-of-type { border-top: 0; padding-top: 2px; }
.提示 + .提层 { border-top: 0; }
.提层头 { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.提层头 b { font-size: var(--字号-正文); }
.提层头 .签 { margin: 0; line-height: 18px; padding: 0 6px; cursor: help; }
.提层时 { margin-left: auto; font-size: var(--字号-小); font-variant-numeric: tabular-nums; white-space: nowrap; }
.提层身 { line-height: 1.6; }
.提行 { display: flex; align-items: baseline; gap: 8px; padding: 3px 0; }
.提行 > .签 { flex: none; margin: 0; line-height: 18px; padding: 0 6px; }
/* 依据当场可查（11-06）：答复原文默认收两行，点开看全；下面一行出处、有效期、适用地区 */
/* 情绪提醒（11-06）：建议说的那句话缩进一格、左边一道细线，像一句台词 */
.提话术 { margin: 2px 0 6px 2px; padding: 2px 0 2px 10px; border-left: 2px solid var(--色-警); color: var(--色-字); }
.提依据 { margin: 0; }
.提依据 > summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; gap: 8px; padding: 3px 0; color: var(--色-字); }
.提依据 > summary::-webkit-details-marker { display: none; }
.提依据 > summary > .签 { flex: none; margin: 0; line-height: 18px; padding: 0 6px; }
.提依据 > summary > b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.提依据 > summary::after { content: '展开'; flex: none; font-size: var(--字号-小); color: var(--色-主); }
.提依据[open] > summary::after { content: '收起'; }
.提依据全 { white-space: pre-wrap; color: var(--色-字); padding: 2px 0 0 10px; border-left: 2px solid var(--色-线); }
.提出处 { font-size: var(--字号-小); padding: 2px 0 6px; }
.提出处 a { color: var(--色-主); }
.提键 { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 0; }
.提键 dt { color: var(--色-次字); font-size: var(--字号-小); padding-top: 1px; }
.提键 dd { margin: 0; }
.提小 { color: var(--色-次字); font-size: var(--字号-小); margin: 8px 0 2px; }
.提问 { margin: 0; padding-left: 20px; }
.提问 li { padding: 1px 0; }
#实时右 .提示 { margin-bottom: 12px; }
/* 通话工作台各栏等高、各自卡内滚动（11-06 负责人：三个容器不一样长；三个页签栏高也要一致）：高度和左栏原来的上限一致，整页不多出滚动 */
.工作台 { align-items: stretch; }
.工作台 > .台左, .工作台 > .台中 > .卡, .工作台 > .台右 > .卡 { height: max(480px, calc(100vh - var(--顶栏高) - 170px)); max-height: none; display: flex; flex-direction: column; overflow: hidden; }
.工作台 > .台中 > .卡 > .卡身, .工作台 > .台右 > .卡 > .卡身 { flex: 1; min-height: 0; max-height: none; overflow-y: auto; }
.工作台 #实时转写框 > .卡身, .工作台 .台中 > .卡 > .卡身:has(> .回放转写) { display: flex; flex-direction: column; overflow: hidden; }
.工作台 .台中 > .卡 > .卡身:has(> .表单 textarea) { display: flex; flex-direction: column; }
.工作台 #实时转写框 > .卡身 > *, .工作台 .台中 > .卡 > .卡身 > * { flex: none; }
.工作台 .台中 > .卡 > .卡身 > .回放转写 { flex: 1; min-height: 0; max-height: none; }
.工作台 .台中 > .卡 > .卡身 > .表单:has(textarea) { flex: 1; min-height: 0; grid-template-rows: auto auto auto minmax(120px, 1fr); }   /* 文字录入：来电文字框撑满剩下的高度 */
.工作台 .台中 .表单 textarea#文本 { height: 100%; min-height: 120px; resize: none; }
.提问 > li.提目问 { font-weight: 500; }
.提问 + .提键 { margin-top: 10px; }
@media (max-width: 1100px) { .工作台.无右 .台中 { grid-column: auto; } .工作台 { grid-template-columns: 1fr; } .台左 { position: static; max-height: none; } .台左 > .卡身 { overflow: visible; }
  .工作台 > .台左, .工作台 > .台中 > .卡, .工作台 > .台右 > .卡 { height: auto; } .工作台 .台中 > .卡 > .卡身 > .回放转写, .工作台 > .台右 > .卡 > .卡身 { max-height: 60vh; } .工作台 .台中 .表单 textarea#文本 { height: auto; min-height: 220px; } }
/* 实时转写来电（10-28）：右栏提示多了在框里滚，不撑出卡片 */
#实时右 { overflow-y: auto; }

/* 10-29 列表类别用浅色圆角标签（参考 GitHub、shadcn） */
.类签 { display: inline-block; font-size: var(--字号-小); line-height: 22px; padding: 0 9px; border-radius: 999px; font-weight: 500; white-space: nowrap; }
.类签.类0 { background: var(--类底0); color: var(--类字0); } .类签.类1 { background: var(--类底1); color: var(--类字1); } .类签.类2 { background: var(--类底2); color: var(--类字2); }
.类签.类3 { background: var(--类底3); color: var(--类字3); } .类签.类4 { background: var(--类底4); color: var(--类字4); } .类签.类5 { background: var(--类底5); color: var(--类字5); }
@media (min-width: 1600px) { .类签 { font-size: 16px; } .侧栏 a.项 .图 { width: 18px; height: 18px; } }

/* 10-29 工单列表照 shadcn 任务列表（负责人看中）：每行一行高、标题过长截断（悬停看全文），来源做描边小标签放标题前，状态用小图标＋文字；表头白底；类别彩色标签照旧 */
table.表.列表式 td { padding: 12px 16px; vertical-align: middle; }
table.表 td.单行 { max-width: 1px; width: 100%; }
table.表.列表式 td.承办格 { width: auto; max-width: 220px; }
table.表 td.单行 > div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
table.表.列表式 td.单行:not(.承办格) > div { font-weight: 500; color: var(--色-标题字); }
.态行 { display: inline-flex; align-items: center; gap: 6px; margin-right: 8px; color: var(--色-字); white-space: nowrap; }
.态行 svg { width: 16px; height: 16px; flex: none; fill: none; stroke: var(--色-弱字); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.态行.警 svg { stroke: var(--色-警); } .态行.好 svg { stroke: var(--色-好); } .态行.危 svg { stroke: var(--色-危); } .态行.灰 svg { stroke: var(--色-线深); }


/* 10-29 列表页方案 B（负责人选）：标题和"导入、新建"一行；状态页签、筛选、表格合成一块白板 */
.题行 { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.题行 .动作 { display: flex; gap: 8px; flex: none; }
.列表板 { background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); overflow: hidden; }
.列表板 > table.表 { border: none; border-radius: 0; border-top: 1px solid var(--色-线); }
.列表板 > .空 { border-top: 1px solid var(--色-线); }
.状态签栏 { display: flex; gap: 4px; padding: 0 10px; box-shadow: inset 0 -1px 0 var(--色-线); overflow-x: auto; }   /* 底线用阴影画、页签不往下压：原来下划线压出框 1 像素，页签栏右端多出一个上下滚动条（10-29 自查） */
.状态签栏 [role=tab] { display: inline-flex; align-items: center; gap: 8px; padding: 12px 12px 10px; color: var(--色-次字); border-bottom: 2px solid transparent; white-space: nowrap; cursor: pointer; }
.状态签栏 [role=tab]:hover { color: var(--色-字); }
.状态签栏 [role=tab]:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; border-radius: var(--圆角-小); }
.状态签栏 b { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--色-标题字); background: var(--色-灰底); border-radius: 999px; padding: 0 8px; line-height: 22px; font-size: var(--字号-小); }
.状态签栏 .当前 { color: var(--色-主深); border-bottom-color: var(--色-主); font-weight: 600; }
.状态签栏 .当前 b { background: var(--色-选中底); color: var(--色-主深); }
.状态签栏 .危 b { background: var(--色-危底); color: var(--色-危); }
.状态签栏 .隔 { width: 1px; flex: none; background: var(--色-线); margin: 12px 6px; }
.状态签栏 .签栏题 { margin-left: auto; align-self: center; padding: 0 6px 0 16px; color: var(--色-弱字); font-size: var(--字号-小); white-space: nowrap; }   /* 第五节页面标题，照旧显示（10-29 评审） */
.工具行.筛条 { padding: 10px 14px; margin: 0; gap: 8px; }
.筛条 select { max-width: 120px; border-color: var(--色-线); font-size: var(--字号-小); color: var(--色-次字); }
.筛条 select.有值 { border-color: var(--色-主边深); background-color: var(--色-选中底); color: var(--色-主深); font-weight: 600; }
.筛条 .计 { margin-left: auto; color: var(--色-弱字); font-size: var(--字号-小); white-space: nowrap; }
.搜 { position: relative; display: inline-flex; }
.搜 input { padding-left: 34px; width: 236px; }
.搜::before { content: ""; position: absolute; left: 11px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566177' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center/16px; }

/* 工单列表"更多条件"（11-06 综合查询并入）：和上一行筛条同一种样子，展开在下面 */
.更多条 { border-top: 1px dashed var(--色-线); }
.更多条[hidden] { display: none; }
.更多时段 { display: inline-flex; align-items: center; gap: 6px; }
.更多条 input { font-size: var(--字号-小); border-color: var(--色-线); color: var(--色-次字); }
.更多条 input.有值 { border-color: var(--色-主边深); background-color: var(--色-选中底); color: var(--色-主深); font-weight: 600; }
.列表板 > .板条 { padding: 10px 18px; border-top: 1px solid var(--色-线); background: var(--色-信息底); color: var(--色-字); font-size: var(--字号-小); }

/* 诉求分析（10-29 管理页优化第 1 页）：核心数字一排、分两段、效能数字格
   11-03 第 2 版照 Tremor 数据面板（参考案例第 10 个）：少用卡片框、大白面板里靠留白和细线分区。
   第 3 版（负责人：圆环难看、不利于阅读）：圆环换成一排指标卡，构成和热点难点左右两栏，条形换成 BarList，见下面「第 3 版」一段 */
.分析板 { margin-bottom: var(--间距); }
.分析板 a[role=tab], .选单板 a[role=tab] { text-decoration: none; }
.分析板 > .板条 { line-height: 1.7; }
.口径条 > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; }
.口径条 > summary::-webkit-details-marker { display: none; }
.口径条 .口径要 { flex: 1; min-width: 0; }
.口径条 .口径钮 { flex: none; color: var(--色-主); white-space: nowrap; }
.口径条 .口径钮::after { content: " ▸"; }
.口径条[open] .口径钮::after { content: " ▾"; }
.口径条 .口径全 { margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--色-主边); color: var(--色-次字); }
.析面 { background: var(--色-卡); border: 1px solid var(--色-线); border-radius: 8px; padding: 26px 30px 28px; margin-bottom: var(--间距); box-shadow: 0 1px 2px rgba(16, 36, 72, .04); }
.析头 { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.析题 { margin: 0; font-size: var(--字号-标题); font-weight: 600; color: var(--色-标题字); }
.析述 { margin: 0; font-size: var(--字号-小); color: var(--色-弱字); }
.析总 { font-size: var(--字号-关键); color: var(--色-标题字); font-weight: 500; margin-bottom: 18px; }
.析三列 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 44px; }
.析两列 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; }
.析隔 { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--色-线浅); }
.析块头 { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; }
.析块头 b { font-size: var(--字号-正文); font-weight: 600; color: var(--色-标题字); }
.析块头 span { font-size: var(--字号-小); color: var(--色-弱字); }
.析注 { font-size: var(--字号-小); color: var(--色-弱字); margin-top: 14px; }
.低签 { font-size: 12px; font-weight: 600; color: #8a4a0c; background: #fdf0e3; border: 1px solid #f2d2ae; border-radius: 6px; padding: 0 6px; line-height: 20px; }
.看单 { margin-top: 6px; font-size: var(--字号-小); }
.看单 > summary { list-style: none; cursor: pointer; color: var(--色-主); }
.看单 > summary::-webkit-details-marker { display: none; }
.看单 > summary::after { content: " ▾"; }
.看单[open] > summary::after { content: " ▴"; }
.看单 a { white-space: nowrap; }
/* 办理效能：一排五项，竖线分隔 */
.效排 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.效项 { padding: 0 22px; border-left: 1px solid var(--色-线浅); }
.效项:first-child { padding-left: 0; border-left: none; }
.效名 { font-size: var(--字号-小); font-weight: 600; color: var(--色-标题字); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.效值 { margin-top: 6px; font-size: 24px; font-weight: 500; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.效值.无 { font-size: var(--字号-正文); color: var(--色-弱字); padding: 6px 0 3px; }
.效注 { margin-top: 4px; font-size: var(--字号-小); color: var(--色-弱字); line-height: 1.55; }
.一致 { font-size: var(--字号-正文); font-weight: 600; color: var(--色-标题字); }
.一致 .次 { font-weight: 400; margin-top: 6px; }
/* 承办单位质效 */
.关注 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 14px 16px; margin-bottom: 18px; border-radius: 8px; background: #fdf6ec; border: 1px solid #f2d9b6; }
.关注 > b { color: #8a4a0c; font-weight: 600; }
.关注注 { font-size: var(--字号-小); color: #8a5a2a; }
.关注列 { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 8px; }
.关注列 a { display: inline-flex; align-items: baseline; gap: 6px; padding: 3px 10px; border-radius: 6px; background: var(--色-卡); border: 1px solid #f2d9b6; color: var(--色-标题字); font-size: var(--字号-小); text-decoration: none; }
.关注列 a:hover { border-color: #d9822b; }
.关注列 em { font-style: normal; color: #a55a12; }
.质效表 td, .质效表 th { white-space: nowrap; }
.质效表 td:not(:first-child), .质效表 th:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
/* 11-03 分时段：日、周、月、年切换，和上一期比 */
.列表板 > .板条.时段板 { background: var(--色-卡); padding: 12px 18px; }
.时段条 { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; }
.时段组 { display: inline-flex; gap: 2px; padding: 3px; background: var(--色-灰底); border: 1px solid var(--色-线); border-radius: 8px; }
.时段组 a { padding: 3px 14px; border-radius: 6px; color: var(--色-次字); text-decoration: none; font-weight: 500; line-height: 26px; }
.时段组 a:hover { color: var(--色-主); text-decoration: none; }
.时段组 a.当前 { background: var(--色-卡); color: var(--色-主); font-weight: 600; box-shadow: 0 1px 2px rgba(16, 36, 72, .14); }
.时段翻 { display: inline-flex; align-items: center; gap: 10px; }
.时段翻 b { font-size: var(--字号-关键); color: var(--色-标题字); font-weight: 600; font-variant-numeric: tabular-nums; }
.翻钮 { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--色-线深); border-radius: 6px; background: var(--色-卡); color: var(--色-字); font-size: 18px; line-height: 1; text-decoration: none; }
.翻钮:hover { border-color: var(--色-主); color: var(--色-主); text-decoration: none; }
.翻钮.禁 { opacity: .35; }
.回本期 { font-size: var(--字号-小); }
/* 第 3 版（11-03 负责人：开屏圆圈难看、结构不利于阅读）：指标卡一排；构成和热点难点左右两栏；条形照 Tremor BarList（名字压在浅色条上，一行一条） */
.指排 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--色-线); border-radius: 8px; }
.指卡 { padding: 16px 20px 18px; border-left: 1px solid var(--色-线浅); min-width: 0; }
.指卡:first-child { border-left: none; }
.指名 { display: flex; align-items: center; gap: 8px; font-size: var(--字号-小); font-weight: 600; color: var(--色-次字); }
.指值 { display: flex; align-items: baseline; gap: 2px; flex-wrap: wrap; margin-top: 6px; font-size: 30px; font-weight: 600; line-height: 1.2; color: var(--色-标题字); font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
.指值 small { font-size: 15px; font-weight: 500; color: var(--色-次字); margin-right: 8px; letter-spacing: 0; }
.指卡.低 .指值 { color: #a55a12; }
.指无 { font-size: var(--字号-正文); font-weight: 400; color: var(--色-弱字); letter-spacing: 0; }
.变签 { align-self: center; font-size: 12px; font-weight: 600; line-height: 20px; padding: 0 7px; border-radius: 999px; letter-spacing: 0; white-space: nowrap; }
.变签.升 { color: var(--色-好); background: var(--色-好底); }
.变签.降 { color: #a55a12; background: #fdf0e3; }
.变签.中 { color: var(--色-次字); background: var(--色-灰底); }
.指槽 { height: 6px; margin: 12px 0 10px; border-radius: 999px; background: #e3ebf8; overflow: hidden; }
.指槽 > span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #0a55c2, #5b9ef7); }
.指卡.低 .指槽 > span { background: #d9822b; }
.指槽.无条 { background: none; }
.指注 { font-size: var(--字号-小); color: var(--色-弱字); line-height: 1.55; }
.指卡 .看单 { margin-top: 4px; }
.析栅 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--间距); }
.析栅 .析面 { margin-bottom: var(--间距); }
.析栅主, .析栅侧 { display: flex; flex-direction: column; }
.析栅主 > .析面:last-child, .析栅侧 > .析面:last-child { flex: 1; }   /* 左右两栏底边对齐：较矮一栏的最后一块拉长 */
.析栅 .析三列 { gap: 0 28px; }
.析三列 .析块头 span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }   /* 三列的标题说明一行写完，三列条形上下对齐；全文在悬停提示里 */
/* 热点和难点（第二十八条）：一条一行，点开列工单号 */
.点组 + .点组 { margin-top: 22px; }
.点组头 { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.点组头 b { font-size: var(--字号-正文); font-weight: 600; color: var(--色-标题字); }
.点组头 span { font-size: var(--字号-小); color: var(--色-弱字); }
.点列 { list-style: none; margin: 0; padding: 0; }
.点列 > li { border-top: 1px solid var(--色-线浅); }
.点开 > summary, .点概 { display: block; padding: 9px 0; list-style: none; }
.点开 > summary { cursor: pointer; }
.点开 > summary::-webkit-details-marker { display: none; }
.点开 > summary:hover .点题 { color: var(--色-主); }
.点上 { display: flex; align-items: center; gap: 8px; min-width: 0; }
.点题 { min-width: 0; font-weight: 600; color: var(--色-标题字); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.点数 { margin-left: auto; flex: none; font-weight: 600; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.点开 .点数::after { content: " ▾"; font-weight: 400; color: var(--色-弱字); }
.点开[open] .点数::after { content: " ▴"; }
.点签 { flex: none; font-size: 12px; font-weight: 600; line-height: 20px; padding: 0 6px; border-radius: 6px; color: var(--色-主); background: var(--色-主浅); border: 1px solid var(--色-主边); }
.点签.增 { color: #8a4a0c; background: #fdf0e3; border-color: #f2d2ae; }
.点说 { display: block; margin-top: 1px; font-size: var(--字号-小); color: var(--色-弱字); }
.点单 { padding: 0 0 10px; font-size: var(--字号-小); line-height: 1.8; }
.点单 a { white-space: nowrap; }
.点列 > li.无 .点题, .点列 > li.无 .点数 { font-weight: 400; color: var(--色-弱字); }
.点空 { color: var(--色-弱字); padding: 8px 0; border-top: 1px solid var(--色-线浅); }
.质效表 td.低 .低值 { color: #8a4a0c; background: #fdf0e3; border-radius: 4px; padding: 1px 6px; font-weight: 600; }
@media (max-width: 1440px) { .析面 { padding: 22px 24px 24px; } .析三列, .析两列 { gap: 0 32px; } .析栅 .析三列 { gap: 0 20px; } .效项 { padding: 0 16px; } .指卡 { padding: 14px 16px 16px; } .指值 { font-size: 26px; } }
@media (max-width: 1200px) { .析栅 { grid-template-columns: minmax(0, 1fr); } .析三列 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; } .效排 { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; } .指排 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .指卡:nth-child(4) { border-left: none; } .指卡:nth-child(n+4) { border-top: 1px solid var(--色-线浅); } }
@media (max-width: 900px) { .析三列, .析两列, .指排 { grid-template-columns: minmax(0, 1fr); row-gap: 24px; } .指卡 { border-left: none; border-top: 1px solid var(--色-线浅); } .指卡:first-child { border-top: none; } .效排 { grid-template-columns: minmax(0, 1fr); } .效项 { padding: 0; border: none; } }

/* 11-03 日报、周报、月报、年报：报送稿版式（红色标题、红线、正文仿宋、一级标题黑体），可直接打印或另存 PDF */
.报告工具 { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; margin-bottom: 14px; }
.报告工具 .弹开 { flex: 1; }
.报告纸 { max-width: 880px; margin: 0 auto var(--间距); background: #fff; border: 1px solid var(--色-线); box-shadow: 0 2px 12px rgba(16, 36, 72, .07); padding: 56px 72px 48px;
          font-family: "FangSong", "STFangsong", "仿宋", "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", serif; font-size: 16px; line-height: 1.9; color: #1b1b1b; }
.红头 h1 { margin: 0; text-align: center; color: #c0271b; font-family: "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "SimSun", serif; font-weight: 900; font-size: 34px; letter-spacing: 3px; line-height: 1.3; }
.报号 { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 20px; font-size: 14px; color: #333; font-family: var(--字体); }
.红线 { border: none; height: 3px; border-top: 2px solid #c0271b; border-bottom: 1px solid #c0271b; margin: 6px 0 26px; }
.报节 h3 { margin: 22px 0 6px; font-family: var(--字体); font-size: 16px; font-weight: 700; color: #111; }
.报节 p { margin: 0 0 4px; text-indent: 2em; }
.报节 p.报注 { text-indent: 0; font-family: var(--字体); font-size: 13px; color: #6a6a6a; }
.报条 { margin: 4px 0; padding-left: 3em; }
.报条 li { margin: 4px 0; }
.报单 { display: block; font-family: var(--字体); font-size: 13px; color: #555; line-height: 1.7; }
.报单 a { color: inherit; text-decoration: underline dotted; }
.建议框 { min-height: 7.6em; margin-top: 6px; padding: 8px 12px; border: 1px dashed var(--色-主边); border-radius: 4px; background: #fbfcfe; white-space: pre-wrap; outline: none; }
.建议框:focus { border-color: var(--色-主); background: #fff; }
.建议框:empty::before { content: attr(data-空); color: #8a8a8a; }
.报尾 { margin-top: 32px; padding-top: 12px; border-top: 1px solid #ddd; font-family: var(--字体); font-size: 13px; line-height: 1.7; color: #555; }
.报尾 p { margin: 0; }
.签发 { display: flex; justify-content: flex-end; gap: 72px; margin-top: 28px; font-size: 15px; color: #222; }
.签发 span::after { content: ""; display: inline-block; width: 110px; border-bottom: 1px solid #333; margin-left: 6px; }
@media (max-width: 900px) { .报告纸 { padding: 32px 22px; } .红头 h1 { font-size: 26px; } }
@page { size: A4; margin: 18mm 16mm; }
@media print {
  body { background: #fff; }
  .顶栏, .侧栏, .不印, #消息 { display: none !important; }
  .主体 { display: block; min-height: 0; }
  .内容 { padding: 0; max-width: none; }
  .报告纸 { max-width: none; margin: 0; padding: 0; border: none; box-shadow: none; }
  .报单 a { text-decoration: none; }
  .建议框 { border: none; background: none; padding: 0; min-height: 6em; }
  .建议框:empty::before { content: ""; }
}
/* 11-03 图表换成 ECharts（负责人：图要更现代政务）。占位里先放文字版，图画上后替换；条形图其余项收成文字列表 */
.图 { position: relative; width: 100%; }
.图替 { font-size: var(--字号-小); color: var(--色-次字); line-height: 1.8; }
.走势图 { height: 230px; }
.条形图.可点 { cursor: pointer; }
.图余 > summary { list-style: none; cursor: pointer; font-size: var(--字号-小); color: var(--色-主); padding: 6px 0 2px; }
.图余 > summary::-webkit-details-marker { display: none; }
.图余 > summary::after { content: " ▾"; }
.图余[open] > summary::after { content: " ▴"; }
.余列 { display: flex; flex-direction: column; padding-top: 4px; }
.余行 { display: grid; grid-template-columns: minmax(0, 1fr) auto 3.4em; gap: 10px; font-size: var(--字号-小); padding: 5px 0; border-bottom: 1px dashed var(--色-线浅); }
.余行 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--色-次字); }
.余行 b { font-weight: 600; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.余行 em { font-style: normal; text-align: right; color: var(--色-弱字); font-variant-numeric: tabular-nums; }
.屏图, .屏区域 .条形图 { flex: 1; min-height: 0; }
.屏 .图替 { color: var(--屏次); }

/* 11-03 投屏看板：深色大屏（指挥中心投屏的惯例），一屏放下，每 30 秒刷新；新进的工单那一行亮一下 */
.屏 { --屏底: #061a35; --屏块: #0b2547; --屏线: #1a3b69; --屏字: #e7eefb; --屏次: #93abd2; --屏主: #4b9bff; --屏亮: #8cc8ff; --屏警: #f3a64b; --屏好: #43c78e;
      position: fixed; inset: 0; z-index: 50; display: flex; flex-direction: column; gap: 1vw; padding: 1.2vw 1.6vw 1.4vw; overflow: hidden;
      background: radial-gradient(120% 80% at 50% -10%, #0d2c57 0%, var(--屏底) 60%); color: var(--屏字); font-size: clamp(12px, .82vw, 18px); line-height: 1.5; }
.屏载 { margin: auto; color: var(--屏次); }
.屏头 { display: flex; align-items: center; gap: 2em; }
.屏名 { display: flex; align-items: center; gap: .7em; font-size: 1.75em; font-weight: 700; letter-spacing: .08em; }
.屏标 { width: .28em; height: 1.1em; border-radius: 2px; background: var(--屏亮); }
.屏时 { display: flex; align-items: baseline; gap: .8em; margin-left: auto; }
.屏时 b { font-size: 1.7em; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .03em; }
.屏时 span, .屏态 { color: var(--屏次); }
.屏态 { display: flex; align-items: center; gap: .5em; font-variant-numeric: tabular-nums; }
.脉 { width: .55em; height: .55em; border-radius: 50%; background: var(--屏好); box-shadow: 0 0 0 0 rgba(67, 199, 142, .6); animation: 屏脉 2s infinite; }
.脉.断 { background: #ff7a6b; animation: none; }
@keyframes 屏脉 { 70% { box-shadow: 0 0 0 .55em rgba(67, 199, 142, 0); } 100% { box-shadow: 0 0 0 0 rgba(67, 199, 142, 0); } }
.屏钮 { display: flex; gap: .6em; }
.屏钮 button, .屏钮 a { font: inherit; color: var(--屏次); background: transparent; border: 1px solid var(--屏线); border-radius: 6px; padding: .2em .9em; cursor: pointer; text-decoration: none; }
.屏钮 button:hover, .屏钮 a:hover { color: var(--屏字); border-color: var(--屏主); }
.屏数排 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1vw; }
.屏数 { background: var(--屏块); border: 1px solid var(--屏线); border-radius: 10px; padding: .9em 1.2em 1em; }
.屏数名 { color: var(--屏次); }
.屏数值 { font-size: 2.9em; font-weight: 600; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.屏数值 small { font-size: .38em; font-weight: 500; color: var(--屏次); margin-left: .3em; }
.屏数注 { color: var(--屏次); font-size: .9em; min-height: 1.5em; }
.屏数.警 .屏数值 { color: var(--屏警); }
.屏数.变 { animation: 屏变 2.4s ease-out; }
@keyframes 屏变 { 0% { background: #1d4a86; border-color: var(--屏亮); } 100% { background: var(--屏块); border-color: var(--屏线); } }
.屏格 { flex: 1; min-height: 0; display: grid; gap: 1vw; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 1fr); grid-template-rows: repeat(3, minmax(0, 1fr));
        grid-template-areas: "话务 最新 预警" "七日 最新 预警" "四率 最新 区域"; }
.屏块 { min-height: 0; overflow: hidden; display: flex; flex-direction: column; background: var(--屏块); border: 1px solid var(--屏线); border-radius: 10px; padding: 1em 1.2em; }
.屏块 h3 { margin: 0 0 .7em; display: flex; align-items: baseline; gap: .7em; font-size: 1.12em; font-weight: 600; }
.屏小 { font-size: .8em; font-weight: 400; color: var(--屏次); }
.屏话务 { grid-area: 话务; border-style: dashed; } .屏七日 { grid-area: 七日; } .屏四率 { grid-area: 四率; } .屏最新 { grid-area: 最新; } .屏预警 { grid-area: 预警; } .屏区域 { grid-area: 区域; }
.示签 { font-size: .74em; font-weight: 500; color: var(--屏警); border: 1px dashed var(--屏警); border-radius: 4px; padding: 0 .5em; }
.话格 { flex: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: center; gap: .6em 1em; }
.话格 b { display: block; font-size: 1.65em; font-weight: 600; font-variant-numeric: tabular-nums; }
.话格 b small { font-size: .55em; color: var(--屏次); margin-left: .15em; }
.话格 span { color: var(--屏次); font-size: .9em; }
.屏注 { margin: .4em 0 0; font-size: .82em; color: var(--屏次); }
.四率 { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4em 1.6em; align-content: center; }
.率行 { display: grid; grid-template-columns: 1fr auto; align-items: baseline; row-gap: .35em; }
.率名 { color: var(--屏次); }
.率行 > b { font-size: 1.7em; font-weight: 600; font-variant-numeric: tabular-nums; }
.率行 > b small { font-size: .55em; color: var(--屏次); margin-left: .1em; }
.率条 { grid-column: 1 / -1; height: .4em; border-radius: 999px; background: #143159; overflow: hidden; }
.率条 > div { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #2a64c4, var(--屏亮)); }
.新列 { list-style: none; margin: 0; padding: 0; flex: 1; min-height: 0; overflow: hidden; }
.新列 > li { display: grid; grid-template-columns: 6.4em minmax(0, 1fr) auto auto; align-items: center; gap: .9em; padding: .62em .4em; border-bottom: 1px solid var(--屏线); border-radius: 4px; }
.新列 > li.新 { animation: 屏新 3.2s ease-out; }
@keyframes 屏新 { 0% { background: rgba(75, 155, 255, .42); } 100% { background: transparent; } }
.新时 { color: var(--屏次); font-variant-numeric: tabular-nums; }
.新题 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.新类 { color: var(--屏次); white-space: nowrap; max-width: 12em; overflow: hidden; text-overflow: ellipsis; }
.新态 { font-size: .85em; padding: .05em .6em; border-radius: 999px; white-space: nowrap; }
.新态.待 { color: #ffd39a; background: rgba(243, 166, 75, .16); }
.新态.办 { color: var(--屏亮); background: rgba(75, 155, 255, .16); }
.新态.结 { color: #8be0b8; background: rgba(67, 199, 142, .15); }
.急 { font-style: normal; font-size: .78em; color: #ffb3a7; border: 1px solid #c8574a; border-radius: 3px; padding: 0 .3em; margin-right: .45em; }
.空行 { color: var(--屏次); }
.警题 { font-weight: 600; margin-top: .9em; display: flex; align-items: baseline; gap: .6em; flex-wrap: wrap; }
.警题:first-of-type { margin-top: 0; }
.警列 { list-style: none; margin: .3em 0 0; padding: 0; }
.警列 li { display: flex; justify-content: space-between; gap: 1em; padding: .42em 0; border-bottom: 1px solid var(--屏线); }
.警列 b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.警列 span { flex: none; color: var(--屏警); font-variant-numeric: tabular-nums; }
.警无 { color: var(--屏次); padding: .35em 0; }
@media (prefers-reduced-motion: reduce) { .脉, .屏数.变, .新列 > li.新 { animation: none; } }
@media (max-width: 900px) { .屏 { position: static; overflow: auto; } .屏数排 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .屏格 { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "最新" "预警" "话务" "七日" "四率" "区域"; } .屏头 { flex-wrap: wrap; } }

/* 数据资源管理（10-29 管理页优化第 2 页） */
.数据板 > .板条 { padding: 10px 16px; font-size: var(--字号-小); color: var(--色-次字); }
.数据表 th.源列 { width: 34%; }
.数据表 td { white-space: nowrap; }
.数据表 td.单行 { white-space: normal; }
table.表.数据表 td.单行 > div { white-space: normal; }   /* 10-30 来源列只放来源说明，整句折行显示，"待本地核定"不被截掉 */
.管理页 .卡 > .卡头 > .次 { font-weight: 400; }   /* 管理组页面：卡片标题右边的说明用常规字重，不抢标题（10-29） */
/* 派单逻辑（10-29 管理页优化第 3 页） */
.选单板 { margin-bottom: var(--间距); }
.选单板 > .板条 { border-top: 1px solid var(--色-线); }
.栏题 { display: flex; flex-direction: column; gap: 2px; margin: 2px 2px 8px; }
.栏题 > b { color: var(--色-标题字); font-size: var(--字号-关键); }
.栏题 > .次 { font-size: var(--字号-小); }
/* 数据对接（10-29 管理页优化第 4 页） */
tr.闪 > td { background: var(--色-选中底); transition: background .3s; }
/* 建议审批（10-29 管理页优化第 5 页） */
.建议句 { font-size: var(--字号-关键); color: var(--色-标题字); margin-bottom: 4px; }
/* 10-29 第二轮评审（02-其余五页）后补 */
.副题主 { color: var(--色-字); }
.板头 { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 12px 18px; }
.板头 > b { font-size: var(--字号-关键); color: var(--色-标题字); }
.板头 > .次 { font-size: var(--字号-小); }
.运行表 td:first-child, .运行表 th { white-space: nowrap; }
.对接中列 { flex: 1.2 1 260px; display: flex; flex-direction: column; gap: 6px; }
.对接中列 > .对接栏 { flex: none; }
.对接箭.竖 { align-self: center; }
.对接栏.平台 { border-color: var(--色-好边); background: var(--色-好底); }
.对接栏.平台 .平台能力 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.对接栏.平台 .对接块 { background: var(--色-卡); }
.管理页 button.对接块.可跳 { display: flex; justify-content: space-between; align-items: center; width: 100%; border: 1px solid transparent; color: var(--色-字); font: inherit; font-size: var(--字号-小); text-align: left; cursor: pointer; }
.管理页 button.对接块.可跳:hover { background: var(--色-悬停底); border-color: var(--色-主边); color: var(--色-主深); }
.对接块 .跳 { color: var(--色-主); margin-left: 8px; }
.管理页 table.规则表 td:nth-child(2) { min-width: 7em; }   /* 派单规则表"事项"列不被挤成每行三个字（评审 02 中） */
/* 10-29 第三轮（03-第二轮整体评审）后补：管理页表格统一贴边、块标题统一带短线 */
.管理页 .卡 > .卡身 > table.表, .管理页 .卡 > .卡身 > .表滚 { border: none; border-radius: 0; margin-left: -20px; margin-right: -20px; width: calc(100% + 40px); max-width: none; }
.管理页 .卡 > .卡身 > table.表:first-child, .管理页 .卡 > .卡身 > .表滚:first-child { margin-top: -16px; }
.表滚 { overflow-x: auto; }
.管理页 .表滚 > table.表 { border: none; border-radius: 0; }
.管理页 .表滚 > table.表 th:first-child, .管理页 .表滚 > table.表 td:first-child { padding-left: 20px; }
.管理页 .卡 > .卡身 > table.表 th:first-child, .管理页 .卡 > .卡身 > table.表 td:first-child { padding-left: 20px; }
.管理页 .卡 > .卡身 > table.表 th:last-child, .管理页 .卡 > .卡身 > table.表 td:last-child { padding-right: 20px; }
.管理页 .卡 > .卡身 > table.表 + .次 { margin-top: 10px !important; }
.板头 { position: relative; border-bottom: 1px solid var(--色-线浅); }
.板头::after { content: ""; position: absolute; left: 18px; bottom: -1px; width: 28px; height: 3px; border-radius: 2px 2px 0 0; background: var(--色-主); }
.对接图 { align-items: flex-start; }
.质效表 td.零 { color: #b6bdc9; }   /* 0 调淡，不抢低值的眼（11-03） */
.数据表 th.源列 { min-width: 14em; }
.帮助板 > .帮助正文 { padding: 16px 20px 20px; }
.去链::after { content: " ▸"; }   /* 箭头用样式加，不进链接文字（对账按文字对清单） */

/* 承办单位：本单位办理 / 指定下级承办单位办理（第十三条；10-29 承办深化第 1 步） */
.办法 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 16px; }
.办法 label { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--色-线深); border-radius: var(--圆角); padding: 10px 14px; cursor: pointer; background: var(--色-卡); }
.办法 label input { margin-top: 5px; }
.办法 label b { display: block; color: var(--色-标题字); font-weight: 600; }
.办法 label span.次 { display: block; margin-top: 2px; }
.办法 label.选中 { border-color: var(--色-主); background: var(--色-选中底); box-shadow: inset 0 0 0 1px var(--色-主); }
.办法 label:focus-within { outline: 2px solid var(--色-主边深); outline-offset: 2px; }
.下级选 { display: flex; flex-wrap: wrap; gap: 6px 8px; }
.下级选 label { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--色-线深); border-radius: 999px; padding: 3px 12px; cursor: pointer; background: var(--色-卡); }
.下级选 label.选中 { border-color: var(--色-主); background: var(--色-选中底); color: var(--色-主深); font-weight: 500; }
.下级选 label:focus-within { outline: 2px solid var(--色-主边深); outline-offset: 2px; }
.下级选 label.已在办 { cursor: default; color: var(--色-弱字); background: var(--色-灰底); border-style: dashed; }
.下级选 label em { font-style: normal; font-size: 12px; color: var(--色-主字); background: var(--色-主); border-radius: 3px; padding: 0 5px; line-height: 18px; }
@media (max-width: 900px) { .办法 { grid-template-columns: 1fr; } }
.段题 { font-weight: 600; color: var(--色-标题字); margin-bottom: 8px; }

/* ---------- 承办单位子菜单（10-29 负责人定"菜单甲"：办理组里的承办单位展开成五项） ---------- */
.侧栏 .子组 { margin: 0 8px 4px 24px; border-left: 1px solid var(--色-线); }
.侧栏 .子组 a.项.子项 { margin: 1px 0 1px 6px; padding: 5px 8px; gap: 6px; font-size: var(--字号-小); }
.侧栏 .子组 a.项.子项 .名 { white-space: nowrap; }   /* "下级回复审核"在 1366 下不折出孤字（10-31 第 3 轮细节 N3-10） */
.侧栏 a.项.展开父 { color: var(--色-主深); font-weight: 600; }
.侧栏 a.项.展开父 .图 { color: var(--色-主); }
.侧栏 .数.警数 { background: var(--色-警底); color: var(--色-警); }
.题行 .面包 { color: var(--色-弱字); font-weight: 500; font-size: .8em; }
.签说明 { padding: 8px 16px; color: var(--色-次字); font-size: var(--字号-小); border-bottom: 1px solid var(--色-线); background: var(--色-灰底); }
.签.小签 { font-size: 12px; line-height: 18px; padding: 0 5px; margin-left: 4px; }
.签.成 { background: var(--色-好底); color: var(--色-好); border-color: transparent; }
.按钮.小钮 { padding: 2px 14px; min-height: 0; }
.不折 { white-space: nowrap; }
.侧栏 .折 { color: var(--色-弱字); font-size: 11px; width: 10px; text-align: center; }
@media (max-height: 900px) { .侧栏 .子组 a.项.子项 { padding: 3px 8px; } }   /* 跟着侧栏一起收紧 */
#下级块, #决定卡 [id^="块-"] { scroll-margin-top: calc(var(--顶栏高) + 12px); }   /* 从列表点"增派""退回受理"等进来滚到展开的那块时，不被顶栏盖住 */   /* 从列表点"增派"进来滚到这里时，不被顶栏盖住 */
#在线判定 { scroll-margin-top: calc(var(--顶栏高) + 12px); }   /* 用预跑结果、在线解答后滚到判定处，标题不被顶栏盖住（10-30 细节评判 D01） */

/* ---------- 下级交回、申请退回（第十三条；10-29 承办深化第 2 步） ---------- */
.下级表单 { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--色-主边); border-radius: var(--圆角); background: var(--色-信息底); }
.下级表单 .段题 { display: flex; align-items: center; gap: 8px; }
.下级表单 .表单 { margin-top: 6px; }
table.表 tr.记录行 > td { padding-top: 0; background: var(--色-灰底); }
.下级记录 { padding: 6px 0; font-size: var(--字号-小); }
.下级记录 > summary { cursor: pointer; color: var(--色-主); }
.下级记录 > div { margin-top: 4px; }
.下级决定 { margin-top: 6px; }
table.表 tr.淡行 > td { color: var(--色-弱字); }

/* ---------- 审核下级（带智能批注）、申请延期、改下级时限（第十三条；10-29 承办深化第 3 步） ---------- */
.审核板 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; padding: 10px 0; }   /* 办理卡窄（右边有智能体卡）时自动排成上下两段 */
.审核板 > div { background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); padding: 12px 14px; }
.审核板 .段题 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.逐项 { border-top: 1px solid var(--色-线浅); padding-top: 8px; margin-top: 8px; }
.选三 { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.选三 label { border: 1px solid var(--色-线深); border-radius: 999px; padding: 2px 12px; display: inline-flex; gap: 6px; align-items: center; font-size: var(--字号-小); cursor: pointer; }
.选三 label.选中 { border-color: var(--色-主); background: var(--色-选中底); color: var(--色-主深); }
.选三 label:focus-within { outline: 2px solid var(--色-主边深); outline-offset: 2px; }
.批注 { margin-top: 6px; padding: 6px 10px; background: var(--色-灰底); border-radius: var(--圆角-小); font-size: var(--字号-小); }
.小链 { margin-left: 6px; font-size: var(--字号-小); cursor: pointer; }
.提示.好 { background: var(--色-好底); border-color: var(--色-好边); color: var(--色-字); }
.钮排 { display: flex; flex-wrap: wrap; gap: 4px; }   /* 下级怎么办一格的按钮放不下就换行，不把表撑出办理卡（评审 04 必须改 2） */
[data-检查="P5-承办-下级情况"] table .签 { white-space: normal; }   /* 下级表的状态签放不下就折行，办理卡窄时（右边有智能体卡）不撑出（评审 04 必须改 2） */

/* ---------- 按单位分开看（10-29 承办深化）：切成某个承办单位时的身份横幅 ---------- */
.单位横幅 { margin: 0 0 12px; border-color: var(--色-主边); }
[data-检查="P5-承办-下级情况"] table td:nth-child(3) { min-width: 7.5em; }   /* 状态签折行时至少容得下"已交回 · 已解决"，不一字一行 */

/* 10-30 细节评判 D22：文字里自带"▸"的折叠标题，不再显示浏览器自带的三角 */
summary.自带箭头 { list-style: none; }
summary.自带箭头::-webkit-details-marker { display: none; }
/* 页面内确认框：替代浏览器自带的确认框，和整套界面同一样式（10-31 第 2 轮细节评判 N01） */
.确认层 { position: fixed; inset: 0; background: var(--色-遮罩); display: flex; align-items: center; justify-content: center; z-index: 50; }
.确认窗 { background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); box-shadow: var(--阴影-浮); width: min(520px, calc(100vw - 32px)); padding: 20px 22px 16px; }
.确认窗 .确认字 { color: var(--色-字); line-height: var(--行高); white-space: pre-line; }
.确认窗 .按钮行 { justify-content: flex-end; margin-top: 16px; }

.卡头 .签组 { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; flex-shrink: 0; max-width: 100%; }   /* 卡头小签成一组靠右，不再左右散开（10-31 第 3 轮细节 N3-06） */
.卡头 .签组:empty { display: none; }

@media (max-width: 1500px) {   /* 笔记本宽度下工单列表把位置让给问题摘要：类别、状态的小签可折到第二行，承办单位列收窄（10-31 第 3 轮细节 N07：1366 下摘要只剩约 86—144px） */
  table.表.列表式 td.窄可折 { white-space: normal; min-width: 72px; }
  table.表.列表式 td.窄可折 .签 { margin-top: 2px; }
  table.表.列表式 td.承办格 { max-width: 130px; }
  table.表.列表式 td, table.表.列表式 th { padding-left: 12px; padding-right: 12px; }   /* 加了来电时间一列后（11-05）各列收一点，问题摘要和操作按钮都放得下 */
}
@media (max-width: 1500px) {   /* 笔记本和 125% 缩放：已交下级表的操作按钮改小号、横着排，表不伸出办理卡（10-31 第 3 轮细节 N08） */
  .钮排 .按钮 { padding: 3px 10px; min-height: 0; font-size: var(--字号-小); }
  table.表.列表式.下级办理表 th, table.表.列表式.下级办理表 td { padding-left: 8px; padding-right: 8px; }
}
.表单 .名.顶 { align-self: start; padding-top: 8px; }   /* 内容好几行的栏，标签和第一行对齐，不落到中间（第 4 轮细节 N4-02） */

/* ---------- 工单信息页签、办理经过表格、详情抽屉（11-02 负责人：参照结案详情，按类别分页签、办理经过各项全摊开、列表里点"详情"就地看） ---------- */
.信息卡 > .卡身 { padding-top: 14px; }
.信息签条 { display: flex; flex-wrap: wrap; gap: 0 4px; padding: 0 16px; border-bottom: 1px solid var(--色-线浅); }
.信息签 { appearance: none; background: none; border: 0; border-bottom: 2px solid transparent; padding: 12px 10px 10px; font: inherit; font-weight: 500; color: var(--色-次字); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; margin-bottom: -1px; }
.信息签:hover { color: var(--色-主); }
.信息签.选中 { color: var(--色-主); border-bottom-color: var(--色-主); font-weight: 600; }
.信息签 .计 { font-size: 12px; min-width: 18px; padding: 0 6px; border-radius: 9px; background: var(--色-灰底); color: var(--色-次字); line-height: 18px; text-align: center; font-variant-numeric: tabular-nums; }
.信息签.选中 .计 { background: var(--色-主浅); color: var(--色-主); }
.信息签.空签 { color: var(--色-弱字); opacity: .7; }
.信息签:focus-visible, .筛钮:focus-visible { outline: 2px solid var(--色-主); outline-offset: 2px; }
.经过工具 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 12px; }
.筛组 { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.筛钮 { appearance: none; font: inherit; font-size: var(--字号-小); border: 1px solid var(--色-线); background: var(--色-卡); color: var(--色-次字); border-radius: 999px; padding: 3px 12px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.筛钮 .计 { font-variant-numeric: tabular-nums; color: var(--色-弱字); }
.筛钮:hover:not([disabled]) { border-color: var(--色-主); color: var(--色-主); }
.筛钮.选中 { background: var(--色-主浅); border-color: var(--色-主边深); color: var(--色-主深); font-weight: 600; }
.筛钮[disabled] { opacity: .45; cursor: default; }
table.经过明细, table.信息表 { width: 100%; border-collapse: collapse; font-size: var(--字号-小); }
table.经过明细 th, table.信息表 th { text-align: left; font-weight: 600; color: var(--色-次字); background: var(--色-灰底); padding: 8px 10px; border-bottom: 1px solid var(--色-线); white-space: nowrap; }
table.经过明细 td, table.信息表 td { padding: 9px 10px; border-bottom: 1px solid var(--色-线浅); vertical-align: top; }
table.经过明细 td.不折, table.信息表 td.不折 { white-space: nowrap; }
table.经过明细 td.意见 { min-width: 260px; overflow-wrap: anywhere; }
table.经过明细 td.人 { min-width: 9em; }   /* 办理人带单位、岗位，给够宽度，不一字一行 */
table.经过明细 td.意见 > div + div { margin-top: 3px; }
table.经过明细 .答全文 { white-space: pre-line; }
table.经过明细 .改动 { margin-top: 4px; padding: 4px 8px; background: var(--色-悬停底); border-radius: var(--圆角-小); }
table.经过明细 tr.系统行 td { color: var(--色-次字); }
table.经过明细 tr.回头行 td b { color: var(--色-警); }
table.经过明细 tr.回头行 td:first-child { box-shadow: inset 3px 0 0 var(--色-警); }
table.经过明细 tr.闪 td { background: var(--色-警底); transition: background .6s; }
.编辑组 + .编辑组 { margin-top: 14px; }
.编辑头 { display: flex; gap: 10px; align-items: baseline; margin-bottom: 6px; }
table.编辑表 td.改前 { color: var(--色-次字); text-decoration: line-through; text-decoration-color: var(--色-线深); }
tr.详情中 > td { background: var(--色-选中底) !important; }
table.列表式 tbody tr[data-号]:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; }
.详情抽屉 { position: fixed; top: var(--顶栏高); right: 0; bottom: 0; width: clamp(880px, 85vw, 1560px); max-width: 100vw; background: var(--色-底); box-shadow: -10px 0 28px rgba(16, 36, 72, .18); border-left: 1px solid var(--色-线); z-index: 30; display: flex; flex-direction: column; animation: 抽屉进 .18s ease-out; }
@keyframes 抽屉进 { from { transform: translateX(24px); opacity: .6; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .详情抽屉 { animation: none; } }
.抽屉头 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding: 12px 20px; background: var(--色-卡); border-bottom: 1px solid var(--色-线); }
.抽屉题 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.抽屉题 .号 { font-weight: 700; font-size: 17px; margin-right: 4px; }
.抽屉钮 { display: flex; gap: 8px; flex-wrap: wrap; }
.抽屉身 { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 20px 28px; }   /* 滚到头不再带着背后页面滚 */
html.抽屉开 { overflow: hidden; }
.抽屉身:focus { outline: none; }   /* 正文接收键盘翻页用，不画焦点框 */   /* 抽屉开着时背后整页锁住，鼠标在抽屉顶栏、左侧菜单上滚也不动背后列表 */
.抽屉身 > .卡 { margin-top: 14px; }
.详情抽屉 .进度条 { margin: 0; }
@media (max-width: 900px) { .详情抽屉 { width: 100vw; } }
.录音头 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.录音头 audio { width: min(520px, 100%); }
.转写区 { max-height: 380px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--色-线浅); border-radius: var(--圆角-小); padding: 4px; position: relative; }   /* 逐句转写在自己的框里滚，标亮跟着走时不带动整页 */
.转写句 { display: grid; grid-template-columns: 3em 1fr; gap: 0 10px; padding: 6px 8px; border-radius: var(--圆角-小); align-items: baseline; }
.转写句.可跳 { grid-template-columns: 4.6em 3em 2.6em 1fr; cursor: pointer; }
.转写句.可跳:hover { background: var(--色-悬停底); }
.转写句.当前 { background: var(--色-主浅); box-shadow: inset 3px 0 0 var(--色-主); }
.转写句 .时, .转写句 .号 { color: var(--色-弱字); font-size: var(--字号-小); font-variant-numeric: tabular-nums; white-space: nowrap; }
.转写句 .人 { color: var(--色-次字); font-size: var(--字号-小); white-space: nowrap; }
.转写句:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; }
table.经过明细 .智能体区 { margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--色-线); }   /* 智能体建议并进处理意见格子最下面，一个智能体一行（11-02） */
table.经过明细 .智能体条 { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; padding: 2px 0; }
table.经过明细 .智能体条 .智名 { font-weight: 600; color: var(--色-字); }
table.经过明细 .智能体条 .智名::before { content: "智能体"; font-weight: 500; font-size: 12px; line-height: 20px; display: inline-block; color: var(--色-主); background: var(--色-主浅); border: 1px solid var(--色-主边); border-radius: var(--圆角-小); padding: 0 6px; margin-right: 6px; }
table.经过明细 .对照签 { display: inline-flex; flex-wrap: wrap; gap: 4px; }
/* 11-03 负责人问"字体大小为什么不一样"：格子里只用两种大小——要读的内容 14 像素，标签（结果分类、"智能体"、一致／未改）一律 12 像素同一种小框 */
table.经过明细 .签 { font-size: 12px; line-height: 20px; padding: 0 6px; margin: 0; }
table.经过明细 .看全 { font-size: inherit; color: var(--色-信息); cursor: pointer; white-space: nowrap; }
table.经过明细 .看全::after { content: " ▸"; }
table.经过明细 .看全.开::after { content: " ▾"; }
table.经过明细 .智全 { flex-basis: 100%; margin-top: 4px; }
table.经过明细 .对照说明 { flex-basis: 100%; }
/* 基本要素表、处理意见分块（11-03 负责人：可看性差、容易看错行） */
table.要素表 { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.要素表 th, table.要素表 td { border: 1px solid var(--色-线); padding: 8px 12px; vertical-align: top; text-align: left; }
table.要素表 col.名列 { width: 8em; }   /* 第一行是跨整行的分组标题，列宽要在这里定，不然四列平分 */
table.要素表 th { background: var(--色-灰底); color: var(--色-次字); font-weight: 500; white-space: nowrap; }
table.要素表 td { overflow-wrap: anywhere; }
table.要素表 tr.组 td { background: var(--色-主浅); color: var(--色-主深); font-weight: 600; font-size: var(--字号-小); padding: 5px 12px; }
table.要素表 td > div + div { margin-top: 4px; }
.小名 { display: inline-block; min-width: 4.8em; margin-right: 8px; color: var(--色-弱字); font-size: var(--字号-小); font-weight: 500; }
table.经过明细 tbody tr:nth-child(even) > td { background: #f8fafc; }   /* 隔行换底色 */
table.经过明细 tbody tr:hover > td { background: var(--色-悬停底); }   /* 移到哪行整行标出，横着看不串行 */
table.经过明细 .答复块 { border-left: 3px solid var(--色-主边深); padding: 2px 0 2px 10px; margin-bottom: 4px; }
table.经过明细 .答头 { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
table.经过明细 .答段 { display: grid; grid-template-columns: 4.8em 1fr; gap: 8px; margin-top: 3px; }
table.经过明细 .答段 .小名 { min-width: 0; margin: 0; }
table.经过明细 .答段.无名 { display: block; }   /* 没有小标题的答复正文顶格 */
table.经过明细 .依据行 { display: grid; grid-template-columns: 4.8em 1fr; gap: 8px; margin-top: 3px; }   /* 折行后和第一行对齐 */
table.经过明细 .依据行 .小名 { min-width: 0; margin: 0; }
table.要素表 td .分项 { display: grid; grid-template-columns: 4.8em 1fr; gap: 8px; }   /* 关键要素、诉求内容一项一行，小标题对齐，折行也对齐（11-03） */
table.要素表 td .分项 + .分项 { border-top: 1px dashed var(--色-线); margin-top: 5px; padding-top: 5px; }
table.要素表 td .分项 .小名 { min-width: 0; margin: 0; }
table.要素表 td .分项 b.小名 { color: var(--色-字); font-weight: 600; font-size: inherit; }
.信息页 .段题 { font-weight: 600; margin: 4px 0 8px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.信息页 .段题 .次 { font-weight: 400; }
.信息页 .录音头 + .段题 { margin-top: 16px; }

/* 11-03 环节页操作列、工单转办页两块（负责人：列表里能直接操作） */
.列表段题 { font-size: var(--字号-关键); font-weight: 600; margin: 0; padding: 14px 16px 8px; color: var(--色-标题字); }
.列表段题 .次 { font-weight: 400; font-size: var(--字号-小); margin-left: 6px; }
table.列表式 td .行链 + .行链 { margin-left: 10px; }
#决定卡, #答复卡 { scroll-margin-top: 72px; }   /* 从环节页操作列直达办理表单时，卡头不被顶栏挡住 */
table.转办表 { table-layout: fixed; width: 100%; }
table.转办表 col.宽时 { width: 72px; } table.转办表 col.宽号 { width: 156px; } table.转办表 col.宽三 { width: 128px; } table.转办表 col.宽四 { width: 23%; } table.转办表 col.宽五 { width: 104px; } table.转办表 col.宽操 { width: 176px; }
table.转办表 td { vertical-align: middle; }
.一行 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.核勾 { display: inline-block; width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 50%; background: var(--色-好底); color: var(--色-好); font-size: 12px; font-weight: 700; margin-left: 4px; }
/* 11-03 进度条压成一行环节名＋一行当前情况（负责人：占了太多纵向空间） */
.进度卡 { margin: 2px 0 16px; padding: 12px 12px 10px; background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); box-shadow: var(--阴影); }
.进度卡 .进度条 { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.进度卡 .进度条 .点 { margin-bottom: 2px; }
.进度说明 { margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--色-线); display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 2px 8px; font-size: var(--字号-小); color: var(--色-次字); }
.进度说明 .在 { color: var(--色-主); font-weight: 600; }
.进度说明 .隔点 { color: var(--色-弱字); }
.进度说明 .去办理 { display: inline; margin: 0 0 0 10px; }
.详情抽屉 .进度卡 { margin: 0; }
/* 11-03 工单质量检查挪到确认按钮正上方；转办这一步先下结论 */
.派单判断 { margin: 14px 0 0; padding: 10px 14px; border-radius: var(--圆角-小); background: var(--色-好底); border: 1px solid var(--色-好边); }
.派单判断.有阻 { background: var(--色-危底); border-color: var(--色-危边); }
.派单判断 .判头 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.派单判断 .判头 .好字, .派单判断 .判头 .危字 { font-weight: 600; }
.派单判断 ul { margin: 6px 0 0; padding-left: 20px; font-size: var(--字号-小); }
.派单判断 ul li + li { margin-top: 2px; }
#决定卡 [data-检查="P5-受理-工单质量检查"] { margin-top: 14px; }
.办完条 { margin: 0 0 10px; }
.办完条 a { cursor: pointer; }
.派单判断 .判注 { margin-top: 2px; font-size: 12px; }
.派单判断 .判问 { margin-top: 8px; padding: 6px 10px; background: var(--色-卡); border: 1px dashed var(--色-警边); border-radius: var(--圆角-小); }
.派单判断 .判问题 { font-size: var(--字号-小); font-weight: 600; color: var(--色-警); }
.派单判断 .判问 ul { margin: 4px 0 0; padding-left: 20px; }
.派单判断 .判注 { margin-top: 6px; }
/* ---------- 派单逻辑（11-03 负责人：按部署到热线中心后日常管派单规则的样子做）：概况一行、四个页签、规则表筛选分页、右侧规则详情 ---------- */
.派单板 { margin-bottom: var(--间距); }
.派单板 > .概况条 { border-top: none; background: var(--色-卡); color: var(--色-次字); padding: 12px 18px; }
.概隔 { display: inline-block; width: 1px; height: 12px; margin: 0 14px; background: var(--色-线); vertical-align: middle; }
.派单板 > .工具行.筛条 { border-top: 1px solid var(--色-线浅); }
.规筛 input[type=search] { width: 260px; max-width: 100%; font-size: var(--字号-小); }
.派单板 > table.表 { border-top: 1px solid var(--色-线); }
.派单板 table.规则表 td:nth-child(1) { white-space: nowrap; }
.派单板 table.规则表 td:nth-child(2) { min-width: 12em; }
.派单板 table.规则表 td .次 { font-size: var(--字号-小); margin-top: 2px; }
.分页 { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding: 10px 18px; border-top: 1px solid var(--色-线浅); }
.分页:empty { display: none; }
.派单板 > .表滚 { border-top: 1px solid var(--色-线); }
.派单板 > .表滚 > table.表 { border: none; border-radius: 0; }
.派单板 > .空 { border-top: 1px solid var(--色-线); }
table.变更表 td { white-space: nowrap; }
table.变更表 td:nth-child(5), table.变更表 td:nth-child(6) { white-space: normal; }
table.变更表 td:nth-child(6) { min-width: 14em; }
table.变更表 td:nth-child(5) { word-break: keep-all; min-width: 5em; }   /* 编号 SX-012 不从连字符处折开 */
.退回区 .就地原因 { margin: 0 !important; padding: 12px 18px 14px; border-top: 1px solid var(--色-线浅); }
.规筛 select { max-width: 160px; }
.规则抽屉 { position: fixed; top: var(--顶栏高); right: 0; bottom: 0; width: min(600px, 100vw); background: var(--色-底); box-shadow: -10px 0 28px rgba(16, 36, 72, .18); border-left: 1px solid var(--色-线); z-index: 30; display: flex; flex-direction: column; animation: 抽屉进 .18s ease-out; }
@media (prefers-reduced-motion: reduce) { .规则抽屉 { animation: none; } }
.规则抽屉 .抽屉身 > .卡, .规则抽屉 .抽屉身 > .提示 { margin-top: 14px; }
.规则抽屉 .抽屉身 > .卡:first-child, .规则抽屉 #改规区:empty + .卡, .规则抽屉 #改规区:empty + .提示 { margin-top: 0; }
.字段格 { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; }
.字段格 .名 { color: var(--色-次字); white-space: nowrap; }
.字段格 .值 { color: var(--色-字); word-break: break-word; }
.纠行 { padding: 8px 0; border-top: 1px solid var(--色-线浅); }
.纠行:first-child { border-top: none; padding-top: 0; }
.步卡 { margin-bottom: 8px; }
.步卡.走过 { border-color: var(--色-主); box-shadow: 0 0 0 1px var(--色-主); }
.步卡.规则步 { border-style: dashed; }
.步头 { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
/* 特殊规则页签（11-03 负责人：观感不够好、用的人是热线人员）：每张卡先说范围和"命中后"，判断条件按"名称—词"两列排，长词表收起 */
.特规卡 { margin-bottom: var(--间距); }
.特规头 { display: flex; align-items: center; gap: 10px; padding: 16px 20px 0; }
.特规头 h3 { margin: 0; font-size: var(--字号-关键); color: var(--色-标题字); }
.特规范围 { color: var(--色-字); }
.特规命中 { margin: 10px 0 14px; padding: 10px 14px; background: var(--色-信息底); border-radius: var(--圆角-小); color: var(--色-字); }
.特规命中 b { margin-right: 10px; color: var(--色-主深); }
.特规底 { margin-top: 12px; color: var(--色-弱字); font-size: var(--字号-小); }
.条件行 { display: grid; grid-template-columns: 9em minmax(0, 1fr); gap: 4px 16px; padding: 8px 0; border-top: 1px solid var(--色-线浅); }
.条件名 { color: var(--色-次字); font-size: var(--字号-小); padding-top: 3px; }
.条件值 .签 { margin: 0 6px 6px 0; }
.条件值 > .次 { font-size: var(--字号-小); margin-top: 2px; }
.词余 { display: inline; }
.词余[open] > summary { display: none; }   /* 展开后"其余 N 个"不再夹在词中间 */
.词余 > summary { display: inline-block; cursor: pointer; color: var(--色-主深); font-size: var(--字号-小); margin: 0 0 6px; }
.组合加 { color: var(--色-弱字); font-size: var(--字号-小); margin: 0 4px 6px; }
.组合行 { padding: 2px 0; }
.判断条件 { margin-top: 2px; }
.判断条件 > summary { cursor: pointer; color: var(--色-主深); padding: 8px 0; border-top: 1px solid var(--色-线浅); }
.险情行 { padding: 12px 0 4px; border-top: 1px solid var(--色-线); }
.险情行 .条件行 { border-top: none; padding: 4px 0; }
.险情头 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.改紧急框 { padding: 12px 14px; margin-bottom: 8px; background: var(--色-警底, var(--色-信息底)); border-radius: var(--圆角-小); }
.步序 { display: inline-block; min-width: 1.6em; color: var(--色-弱字); font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .条件行 { grid-template-columns: minmax(0, 1fr); } }
.条件填 { display: flex; flex-direction: column; gap: 8px; }
.条件填 input, .条件填 select { width: 100%; }
/* 须人工转办、紧急降级（11-03 负责人：命中先提醒、人来拍板）：智能体建议收进"查看智能体建议"，降级原因跟在紧急程度下面 */
.须人工块 { margin-bottom: 10px; }
.须人工建议 > summary { cursor: pointer; color: var(--色-主深); padding: 4px 0 8px; }
.降级区 { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.降级区[hidden] { display: none; }
.降级区 > .次 { flex-basis: 100%; }
.降级区 select { max-width: 220px; }
.降级区 input { flex: 1; min-width: 160px; }
.改紧急框 textarea { width: 100%; min-height: 0; font-size: var(--字号-小); }
.特规头 > .按钮 { margin-left: auto; }
/* 建议审批（11-04 负责人：样式和内容按部署后在用的样子改，和转办规则页一套）：改进情况一排、四个页签、一行一条、右侧详情 */
.误标条 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 14px; margin-bottom: var(--间距); background: var(--色-卡); border: 1px dashed var(--色-线); border-radius: var(--圆角); font-size: var(--字号-小); }
.误标条 b { color: var(--色-标题字); font-size: var(--字号-正文); }
.误标条 .去链 { margin-left: auto; }
.规则抽屉 .抽屉头 { flex-wrap: nowrap; align-items: flex-start; }
.规则抽屉 .抽屉题 { flex: 1; min-width: 0; }
.误标条 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 14px; margin-bottom: var(--间距); background: var(--色-卡); border: 1px dashed var(--色-线); border-radius: var(--圆角); font-size: var(--字号-小); }
.误标条 b { color: var(--色-标题字); font-size: var(--字号-正文); }
.误标条 .去链 { margin-left: auto; }
.规则抽屉 .抽屉头 { flex-wrap: nowrap; align-items: flex-start; }
.规则抽屉 .抽屉题 { flex: 1; min-width: 0; }
.建议板 > table.表 { border-top: 1px solid var(--色-线); }
.建议板 > .空 { border-top: 1px solid var(--色-线); }
.建议表 td.不折 { white-space: nowrap; }
.小签 { font-size: 11px; padding: 0 5px; vertical-align: middle; }

/* 数字字体 Barlow（OFL 开源，文件在 前端/字体/，不联网可用）：DIN 一类的窄体数字，只用于看板式大数字；中文仍是系统字体 */
@font-face { font-family: "数字体"; src: url("字体/barlow-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }
/* 建议审批·规则改进闭环（11-04 负责人：选闭环流程，深蓝横幅不好看）：和全系统一样的白卡片，步骤条——五个圆点一条线，发生过的涂主色 */
.闭环卡 { margin-bottom: 10px; padding: 16px 20px 12px; background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); }
.闭环头 { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.闭环头 b { font-size: var(--字号-关键); color: var(--色-标题字); }
.闭环头 span { font-size: var(--字号-小); color: var(--色-弱字); }
.闭环步 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.闭环步 li { position: relative; }
.闭环步 li:not(:last-child)::after { content: ''; position: absolute; top: 17px; left: calc(50% + 24px); right: calc(-50% + 24px); height: 2px; border-radius: 1px; background: var(--色-线); }
.闭环步 li.通::after { background: var(--色-主); }
.闭环步 a { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 0 8px 4px; text-align: center; text-decoration: none; color: inherit; border-radius: var(--圆角-小); }
.闭环步 a:focus-visible { outline: 2px solid var(--色-主); outline-offset: 2px; }
.步点 { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 6px; background: var(--色-灰底); border: 1px solid var(--色-线); color: var(--色-弱字); transition: background .15s; }
.闭环步 li.达 .步点 { background: var(--色-主); border-color: var(--色-主); color: #fff; }
.闭环步 a:hover .步点 { box-shadow: 0 0 0 4px var(--色-选中底); }
.闭环标 { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.步名 { font-size: var(--字号-小); font-weight: 500; color: var(--色-次字); letter-spacing: .5px; }
.步数 { font-family: "数字体", var(--字体); font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: .5px; color: var(--色-标题字); font-variant-numeric: tabular-nums; margin: 2px 0; }
.闭环步 a:hover .步数, .闭环步 a:hover .步名 { color: var(--色-主深); }
.步说 { font-size: 12px; color: var(--色-弱字); line-height: 1.5; }
.步说 .不断 { white-space: nowrap; margin: 0 3px; }
.步说 em { font-style: normal; padding: 0 7px; border-radius: 999px; background: var(--色-警底); color: var(--色-警); }
.闭环回 { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--色-线浅); font-size: 12px; color: var(--色-弱字); }
@media (max-width: 1100px) { .闭环步 { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; } .闭环步 li::after { display: none; } }
.建议板 > .板条.示例条 { border-top: 1px solid var(--色-线); background: var(--色-底); color: var(--色-弱字); }
/* 数据资源管理（11-04 负责人：看不懂怎么操作；好的界面不靠提示）：一行一类、主按钮"更新"；右侧侧栏三页——查看、更新（四步）、版本记录 */
.数据板 > table.表 { border-top: 1px solid var(--色-线); }
.数据表 td .行链 + .行链 { margin-left: 8px; }
.数据抽屉 .抽屉签 { background: var(--色-卡); padding: 0 14px; }
.数据抽屉 .抽屉身 > .卡 + .卡 { margin-top: 12px; }
.筛钮 { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--色-线); border-radius: 999px; }
.筛钮 button { border: 0; background: none; padding: 2px 12px; border-radius: 999px; font: inherit; font-size: var(--字号-小); color: var(--色-次字); cursor: pointer; }
.筛钮 button.当前 { background: var(--色-主); color: #fff; }
.筛钮 button:disabled { color: var(--色-弱字); opacity: .5; cursor: default; }
.条目列 { max-height: 520px; overflow: auto; padding-top: 4px; }
.条目翻页 { display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--色-线); }
.条目翻页 .次 { margin-right: auto; }
.卡头 .条目查 { width: 220px; max-width: 100%; margin-left: auto; font-weight: 400; font-size: var(--字号-小); }
.条目行 { padding: 6px 0; border-bottom: 1px solid var(--色-线浅); font-size: var(--字号-小); }
.更新步 { list-style: none; margin: 0; padding: 4px 0 0; display: flex; flex-direction: column; gap: 0; }
.更新步 li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--色-线浅); opacity: .55; }
.更新步 li.当前, .更新步 li.完成 { opacity: 1; }
.更新步 li > div > b { display: block; color: var(--色-标题字); margin: 3px 0 8px; }
.步号 { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 600; background: var(--色-灰底); border: 1px solid var(--色-线); color: var(--色-弱字); }
.更新步 li.当前 .步号 { background: var(--色-主); border-color: var(--色-主); color: #fff; }
.更新步 li.完成 .步号 { background: var(--色-好底); border-color: var(--色-好); color: var(--色-好); font-size: 0; }
.更新步 li.完成 .步号::before { content: '✓'; font-size: 13px; }
.步钮 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.表单单行 input { flex: 1; min-width: 180px; }
.差行 { display: flex; gap: 8px; align-items: baseline; margin-top: 8px; font-size: var(--字号-小); }
.差行 .签 { flex: none; }
table.变更表 tr.附行 td { padding-top: 0; border-top: none; }
.配置区 { padding: 14px 18px 18px; display: flex; flex-direction: column; gap: 18px; border-top: 1px solid var(--色-线); }
.配置题 { font-weight: 600; color: var(--色-标题字); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
/* 数据资源管理·数据卡（11-04 负责人：一行一个数太简单，显得没东西）：一类一张卡，一排三张 */
.数据板 > .概况条 { border-top: 1px solid var(--色-线); }
.数据卡们 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 16px 18px 18px; border-top: 1px solid var(--色-线浅); background: var(--色-底); }
.数据卡 { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 14px; background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.数据卡:hover { border-color: var(--色-主边, var(--色-主)); box-shadow: 0 2px 10px rgba(16, 36, 72, .07); }
.数据卡:focus-visible { outline: 2px solid var(--色-主); outline-offset: 2px; }
.数据卡.详情中 { border-color: var(--色-主); box-shadow: 0 0 0 1px var(--色-主); }
.卡顶 { display: flex; align-items: center; gap: 8px; }
.卡顶 b { font-size: var(--字号-关键); color: var(--色-标题字); margin-right: auto; }
.卡说 { font-size: 12px; line-height: 1.6; color: var(--色-弱字); margin-top: -4px; min-height: 3.2em; }
.卡数 { display: flex; align-items: baseline; gap: 4px; color: var(--色-弱字); font-size: var(--字号-小); }
.卡数 span { font-family: "数字体", var(--字体); font-size: 34px; line-height: 1; font-weight: 600; color: var(--色-标题字); letter-spacing: .5px; }
.卡组 { font-size: var(--字号-小); color: var(--色-次字); min-height: 1.6em; }
.卡组 b { font-weight: 600; color: var(--色-标题字); margin-left: 2px; }
.卡组 i { font-style: normal; color: var(--色-弱字); margin: 0 6px; }
.卡度 { display: flex; align-items: center; gap: 10px; }
.度条 { flex: 1; height: 6px; border-radius: 3px; background: var(--色-轨, #edf1f7); overflow: hidden; }
.度条 span { display: block; height: 100%; border-radius: 3px; background: var(--色-好); }
.度条.缺 span { background: var(--色-主); }
.卡度 .次 { font-size: 12px; white-space: nowrap; }
.待链 { border: 0; background: var(--色-警底); color: var(--色-警); font: inherit; font-size: 12px; padding: 1px 8px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.卡项 { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px 10px; margin: 2px 0 0; padding-top: 10px; border-top: 1px solid var(--色-线浅); font-size: 13px; }
.卡项 dt { color: var(--色-弱字); }
.卡项 dd { margin: 0; color: var(--色-次字); min-width: 0; }
.用签 { display: inline-block; padding: 0 8px; margin: 0 4px 4px 0; line-height: 20px; border-radius: 4px; background: var(--色-选中底); color: var(--色-主深); font-size: 12px; }
.卡钮 { display: flex; gap: 8px; margin-top: auto; padding-top: 4px; }
@media (max-width: 1280px) { .数据卡们 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.卡组 .不断 { white-space: nowrap; }
@media (max-width: 1500px) { .数据卡 { padding: 14px 14px 12px; } .卡项 { grid-template-columns: 30px minmax(0, 1fr); } }
@media (max-width: 900px) { .数据卡们 { grid-template-columns: minmax(0, 1fr); } }
/* 系统配置·系统参数（11-04）：和业务数据同一种卡；数值用数字体，改值在右侧栏 */
/* 右侧修改栏 */
.参数说 { color: var(--色-次字); font-size: var(--字号-小); line-height: 1.7; margin-bottom: 14px; }
.参数编 { display: flex; flex-direction: column; gap: 12px; }
.编行 { display: grid; grid-template-columns: 64px max-content 1fr; align-items: center; gap: 4px 12px; }
.编行 .名 { color: var(--色-次字); }
.数框 { display: inline-flex; align-items: center; border: 1px solid var(--色-线深, var(--色-线)); border-radius: var(--圆角-小); background: var(--色-卡); overflow: hidden; }
.数框:focus-within { border-color: var(--色-主); box-shadow: 0 0 0 2px var(--色-主浅, rgba(30, 90, 200, .15)); }
.数框 input { width: 76px; border: 0; outline: 0; padding: 6px 10px; font-family: var(--字体); font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; background: transparent; box-shadow: none; }
.数框 input { -moz-appearance: textfield; }
.数框 input::-webkit-outer-spin-button, .数框 input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.数框 > span { padding: 0 10px; align-self: stretch; display: flex; align-items: center; background: var(--色-灰底); border-left: 1px solid var(--色-线); color: var(--色-次字); font-size: var(--字号-小); white-space: nowrap; }
.数框:has(input.错) { border-color: var(--色-危); }
.编范围 { font-size: 12px; }
.编错 { grid-column: 2 / -1; color: var(--色-危); font-size: 12px; }
.编错:empty { display: none; }
.编预览 { margin-top: 14px; padding: 10px 12px; border-radius: var(--圆角-小); background: var(--色-信息底); color: var(--色-次字); font-size: var(--字号-小); }
.编预览 i, .参记改 i { font-style: normal; color: var(--色-弱字); margin: 0 8px; }
.编预览 b { color: var(--色-主深); }
.编原因 { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; margin-top: 14px; }
.编原因 .名 { color: var(--色-次字); }
.编后果 { margin: 10px 0 0 76px; font-size: 12px; color: var(--色-次字); }
.参数抽屉 .按钮行 { margin: 14px 0 0 76px; display: flex; gap: 8px; }
.参记行 { padding: 12px 0; border-bottom: 1px solid var(--色-线浅); display: flex; flex-direction: column; gap: 4px; align-items: flex-start; font-size: var(--字号-小); }
.参记行:last-child { border-bottom: 0; }
.参记头 { display: flex; align-items: center; gap: 8px; }
.参记头 .签 { margin: 0; }
.参记改 b { color: var(--色-标题字); }
.参记行 .按钮 { margin-top: 4px; }
@keyframes 参数刚改 { 0%, 35% { background: var(--色-选中底); } 100% { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .刚改 { animation: none; } }
/* 系统参数（11-04 定按办理环节排，第三版细化）：左边环节轨道（图标和左侧菜单同一套），每个环节下逐行列参数、数值右对齐；右边一列概况 */
.参数布局 { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.参数主, .参数侧 { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.参数板 { background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角); overflow: hidden; }
.参板头 { display: flex; align-items: baseline; gap: 10px; padding: 11px 20px; border-bottom: 1px solid var(--色-线); background: var(--色-灰底); }
.参板头 b { font-size: 14px; font-weight: 600; color: var(--色-标题字); }
.参板头 span { font-size: 12px; color: var(--色-弱字); }
/* 环节轨道 */
.环节轨 { list-style: none; margin: 0; padding: 6px 0; }
.环节 { position: relative; display: grid; grid-template-columns: 196px minmax(0, 1fr); padding: 0 20px 0 0; }
.环节 + .环节 .环节项 { border-top: 1px solid var(--色-线); }
.环节::before { content: ''; position: absolute; left: 37px; top: 0; bottom: 0; width: 2px; background: var(--色-主边); }
.环节:first-child::before { top: 30px; }
.环节:last-child::before { bottom: auto; height: 30px; }
.环节头 { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px 12px 14px 20px; }
.环节点 { position: relative; z-index: 1; flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--色-主); color: #fff; box-shadow: 0 0 0 4px var(--色-卡); }
.环节点 svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.环节头 > div > b { display: block; font-size: 15px; color: var(--色-标题字); line-height: 20px; margin-top: 1px; }
.环节头 > div > span { display: block; font-size: 12px; line-height: 1.5; color: var(--色-弱字); margin-top: 2px; }
.环节项 { min-width: 0; }
/* 参数行 */
.参数行 { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto 40px; align-items: center; gap: 4px 24px; padding: 14px 0 14px 16px; border-bottom: 1px solid var(--色-线浅); cursor: pointer; transition: background .12s; }
.参数行:last-child { border-bottom: 0; }
.参数行:hover { background: var(--色-悬停底); }
.参数行:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; }
.参数行.详情中 { background: var(--色-选中底); }
.参数行.已调::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 2px; background: var(--色-主); }
.参行名 > div:first-child { display: flex; align-items: center; gap: 8px; }
.参行名 b { font-size: 14px; font-weight: 600; color: var(--色-标题字); white-space: nowrap; }
.参行名 .签 { margin: 0; }
.参行说 { font-size: 12px; line-height: 1.6; color: var(--色-弱字); margin-top: 3px; max-width: 34em; }
.参行值 { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.值签 { display: inline-flex; align-items: baseline; gap: 4px; height: 30px; padding: 0 11px; box-sizing: border-box; line-height: 28px; border: 1px solid var(--色-线); border-radius: 6px; background: var(--色-灰底); font-size: 13px; color: var(--色-次字); white-space: nowrap; }
.值签 i { font-style: normal; color: var(--色-弱字); margin-right: 4px; }
.值签 b { font-size: 15px; font-weight: 600; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.已调 .值签 { background: var(--色-主浅); border-color: var(--色-主边); }
.已调 .值签 b { color: var(--色-主深); }
.参改 { appearance: none; border: 0; background: none; padding: 4px 0; font: inherit; font-size: var(--字号-小); color: var(--色-主); cursor: pointer; white-space: nowrap; justify-self: end; }
.参改:hover { color: var(--色-主深); text-decoration: underline; text-underline-offset: 3px; }
.参改:focus-visible { outline: 2px solid var(--色-主); outline-offset: 2px; border-radius: 3px; }
/* 概况 */
.参概格 { display: grid; grid-template-columns: 1fr 1fr; }
.参概格 > div { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px 12px; }
.参概格 > div + div { border-left: 1px solid var(--色-线浅); }
.参概名 { font-size: 12px; color: var(--色-弱字); }
.参概数 { font-family: "数字体", var(--字体); font-size: 30px; line-height: 1; font-weight: 600; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.参概数 small { font-family: var(--字体); font-size: 13px; font-weight: 400; color: var(--色-次字); margin-left: 6px; }
.参概末 { padding: 10px 20px; border-top: 1px solid var(--色-线浅); font-size: 12px; color: var(--色-次字); }
/* 最近修改 */
.近改行 { display: flex; flex-direction: column; gap: 4px; padding: 12px 20px; border-bottom: 1px solid var(--色-线浅); font-size: var(--字号-小); }
.近改行 > div:first-child { display: flex; align-items: center; gap: 8px; }
.近改行 .签 { margin: 0; }
.近改行 .次 { font-size: 12px; }
.近改尾 { padding: 8px 20px; }
.近改空 { padding: 16px 20px; font-size: var(--字号-小); color: var(--色-弱字); }
.参记改 i { font-style: normal; color: var(--色-弱字); margin: 0 8px; }
.参记改 b { color: var(--色-标题字); }
/* 固定设定 */
/* 11-05 挪到参数下面整宽：只读的参考信息分几列排，不再挤在右边窄栏 */
.固板 { margin-top: 16px; }
.固定设定 { margin: -1px 0 0; padding: 0 20px 4px; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); column-gap: 32px; font-size: var(--字号-小); }
.固定设定 > div { padding: 12px 0; border-top: 1px solid var(--色-线浅); }
.配置区 .参数侧 { position: sticky; top: 16px; }
.固定设定 dt { font-size: 12px; color: var(--色-弱字); }
.固定设定 dd { margin: 3px 0 0; color: var(--色-字); line-height: 1.6; }
/* 账号安全不属于办理环节：接在环节轨下面，同样的行，图标空心、不连轨道线 */
.环节轨.另组 { border-top: 1px solid var(--色-线); }
.环节.独立::before { display: none; }
.环节.独立 .环节点 { background: var(--色-卡); color: var(--色-主); border: 1.5px solid var(--色-主边); box-sizing: border-box; }
.参数注 { margin-top: 10px; font-size: 12px; }
@media (min-width: 1600px) { .参数布局 { grid-template-columns: minmax(0, 1fr) 420px; } .环节 { grid-template-columns: 230px minmax(0, 1fr); } }
@media (max-width: 1280px) { .参数布局 { grid-template-columns: minmax(0, 1fr); } .参数侧 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items: start; } }
@media (max-width: 900px) { .环节 { grid-template-columns: minmax(0, 1fr); padding: 0 16px; } .环节::before { display: none; } .环节头 { padding-left: 0; } .参数行 { grid-template-columns: minmax(0, 1fr) auto; } .参改 { grid-column: 2; } }
/* 11-04 受理操作界面改版：来电信息一行、受理表分组、右栏来电原话随页面停在屏幕上 */
.来电行 { margin: -4px 0 10px; }
/* 工单页右栏整列停在屏幕上：智能体卡最多占一半高，超出的在卡里滚着看，下面的来电总结／对话原文始终留出位置（11-04 负责人，受理页先改）
   11-04 UI 全局复审推到全部工单页：转办、审核时智能体的结论是判断的主要依据，受理以外智能体卡最多占六成高 */
@media (min-width: 1101px) {
  /* 右栏最高：屏幕高减页头，且不超过左栏（左栏内容少时右栏不比左栏长；--左高 由页面脚本按左栏实际高度写入，11-04 负责人：右侧比左侧长） */
  .两栏.停栏 > .右列 { --右高: min(calc(100vh - 80px), calc(var(--左高, 100vh) - var(--间距)));
    position: sticky; top: 64px; align-self: start; max-height: var(--右高); display: flex; flex-direction: column; gap: var(--间距); margin-bottom: var(--间距); }   /* 底部留和左栏卡片一样的间距：滚到底时两栏卡片底边对齐 */
  .两栏.停栏 > .右列 > .卡 { margin-bottom: 0; min-height: 0; display: flex; flex-direction: column; }
  .两栏.停栏 > .右列 > .原话卡 { flex: 1 1 auto; }
  .两栏.停栏 > .右列 > .卡 > .卡身 { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
}
.两栏.停栏 .原话卡 .原话 { margin-top: 0; }
.原话页 .组内目标 .目标列 { border: 0; }
.原话页 .组内目标 .目标行 { padding: 8px 2px; }
.原话页 .组内目标 .目标行:last-child { border-bottom: 0; }
/* 审核时答复按段显示，答复核查的"答复第 N 段"点了高亮这一段 */
.答复文 { margin-top: 4px; }
.答段 { margin: 0 0 6px; padding: 2px 6px; border-radius: var(--圆角-小); transition: background-color .3s; }
.答段.点中 { background: var(--色-信息底); box-shadow: inset 3px 0 0 var(--色-主边深); }
.原话 .句.引 { background: var(--色-信息底); box-shadow: inset 3px 0 0 var(--色-主边深); padding-left: 8px; }
.原话注 { margin-top: 6px; font-size: 12px; }
.表单 > .组题 { grid-column: 1 / -1; font-weight: 600; color: var(--色-标题字); padding-top: 12px; margin-top: 2px; border-top: 1px solid var(--色-线浅); }
.表单 > .组题:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
.表单 > .组整 { grid-column: 1 / -1; }
.追问区.简 { padding: 8px 12px; }
.追问区.简 #补充区 { margin-top: 4px !important; }   /* 补充情况那句是赛题"多轮追问补充信息"的说法，照写不缩 */
.原话卡 .卡头 { gap: 8px; }
.原话卡 > .卡头::after { display: none; }   /* 页签下已有选中横线，卡头左下角那条短蓝线不要（11-04 负责人） */
.原话签们 { display: inline-flex; gap: 4px; }
.原话签 { appearance: none; font: inherit; font-weight: 600; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--色-次字); padding: 2px 8px 6px; cursor: pointer; }
.原话签.选中 { color: var(--色-主); border-bottom-color: var(--色-主); }
.原话页 > .原话注 { margin: 0 0 6px; }
.原话.总结文 { white-space: pre-line; }

/* 办理目标列表框（11-04 负责人："这里展示的不好"）：和上面输入框同一种边框；一条一行，编号｜内容＋灰字原句编号｜右边灰色操作；勾选框只在合并时出现 */
.目标列 { border: 1px solid var(--色-线深); border-radius: var(--圆角-小); background: var(--色-卡); }
.目标行 { display: grid; grid-template-columns: auto 1fr auto; column-gap: 10px; align-items: start; padding: 8px 10px; border-bottom: 1px solid var(--色-线浅); }
.目标行.无号 { grid-template-columns: 1fr auto; }
.目标列.合并中 .目标行.无号:has(> .并目标) { grid-template-columns: auto 1fr auto; }
.目标行 > .号 { font-weight: 600; color: var(--色-次字); font-size: var(--字号-小); line-height: var(--行高); white-space: nowrap; padding-top: 1px; }
.目标行 > .文 > .出, .目标行 > .文 > .出 a { font-size: var(--字号-小); color: var(--色-次字); }
.目标行 > .文 > .出 a:hover { color: var(--色-信息); }
.目标行 > .操 { display: flex; gap: 2px; white-space: nowrap; }
.目标行 > .操 a, .目标行 > .操 .不可, .目标底 a { font-size: var(--字号-小); color: var(--色-次字); padding: 1px 6px; border-radius: var(--圆角-小); }
.目标行 > .操 a:hover, .目标底 a:hover { color: var(--色-信息); background: var(--色-主浅); text-decoration: none; }
.目标行 > .操 a[data-目标="删除"]:hover { color: var(--色-危); background: var(--色-危底); }
.目标行 > .操 .不可 { opacity: .45; cursor: not-allowed; }
.目标行.已去 > .文 > .正 { color: var(--色-弱字); text-decoration: line-through; }
.目标行.前解 > .文 > .正 { color: var(--色-弱字); }
.目标行 > .并目标 { display: none; margin: 3px 0 0; }
.目标列.合并中 .目标行:has(> .并目标) { grid-template-columns: auto auto 1fr auto; }
.目标列.合并中 .目标行 > .并目标 { display: inline-block; }
.目标底 { display: flex; align-items: center; gap: 4px; padding: 6px 4px; }
.目标底 a[data-目标改="新增"] { color: var(--色-信息); }
.目标底 .合并提示, .目标底 .取消合并 { display: none; }
.目标列.合并中 .目标底 .合并提示 { display: inline; font-size: var(--字号-小); color: var(--色-次字); margin-left: 4px; }
.目标列.合并中 .目标底 .取消合并 { display: inline; }
.目标列.合并中 .目标底 a[data-目标改="合并"] { color: var(--色-信息); font-weight: 600; }

/* 表单里带悬停说明的名称：规范条文、默认值说明收进悬停，不占表单（11-04 UI 全局复审） */
.表单 > .名[title] { text-decoration: underline dotted var(--色-线深); text-underline-offset: 4px; cursor: help; }
/* 承办答复：主按钮和申请延期、承诺办理、退回排一行，和其他办理页一样；切到"指定下级办理"（本单位表收起）时主按钮跟着藏 */
#本单位块[style*="none"] ~ .承办钮 [data-动="答复"] { display: none; }
/* 右栏一张卡（11-04 负责人定"合并"）：智能体结果放进页签，去掉卡中卡的边框；页签旁写运行状态 */
.原话签 .AI签 { display: inline-block; margin-right: 5px; padding: 0 5px; border-radius: 4px; font-size: 11px; line-height: 17px; font-weight: 700; letter-spacing: .5px; vertical-align: 2px; color: #fff; background: var(--色-主); }
.原话签:not(.选中) .AI签 { background: var(--色-主边, #8fb0e6); }
.原话签 .签态 { margin-left: 4px; font-size: 12px; font-weight: 400; color: var(--色-警, #b45309); }
.原话卡 .原话页 > .卡 { border: 0; box-shadow: none; margin: 0; background: none; }
.原话卡 .原话页 > .卡 > .卡头 { padding: 0 0 8px; background: none; border-bottom: 1px solid var(--色-线浅); }
.原话卡 .原话页 > .卡 > .卡头::after { display: none; }
.原话卡 .原话页 > .卡 > .卡身 { padding: 10px 0 0; }
.转写句.点中 { background: var(--色-信息底); box-shadow: inset 3px 0 0 var(--色-主边深); }
/* 诉求内容放在工单卡里、紧跟问题摘要，和受理表"办理目标"同一种列表框 */
.字段 > .工单目标 { padding: 6px 0; }
/* 影响面／再次来电提示（11-04 负责人）：一行小签，紧挨紧急程度 */
.同事前单 .小钮[hidden] { display: none; }   /* 按钮样式会盖过 hidden（第 3 轮评审必须改） */

/* 影响面（11-04 负责人"不太好看"后重排）：和别的字段一样的正文字号，一事一行；加粗要点用警示色，细节正常色，链接和"模型判断"在行尾 */
.影响面 { display: flex; flex-direction: column; gap: 4px; padding: 2px 0; }
.影响项 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; line-height: 1.6; }
.影响点 { color: var(--色-警); font-weight: 600; }
.影响点.平 { color: var(--色-字); font-weight: 500; }
.影响文 { color: var(--色-字); }
.影响项 a { font-size: var(--字号-小); }
.模型签 { font-size: 12px; line-height: 18px; padding: 0 6px; margin: 0; font-weight: 400; }
/* 转办页"同一事项前 N 单"：主办单位下面一个浅底小框 */
.同事前单 { background: var(--色-悬停底); border: 1px solid var(--色-线浅); border-radius: var(--圆角-小); padding: 8px 12px; margin: 2px 0 4px; font-size: var(--字号-小); }
.同事前单 .前单头 { font-weight: 600; color: var(--色-字); display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.同事前单 .前单项 { display: grid; grid-template-columns: 3em 1fr; gap: 8px; padding: 3px 0; align-items: baseline; }
.同事前单 .前单名 { color: var(--色-次字); }
.同事前单 .前单协 { display: inline-flex; align-items: center; gap: 4px; margin-right: 14px; white-space: nowrap; }
.同事前单 .小钮 { min-height: 24px; padding: 0 10px; }
/* 账号与权限（11-04 负责人：要能进行账号管理，先只做界面）：账号表＋右侧各岗位人数、最近修改；开通、修改在右侧栏，和系统参数同一种抽屉 */
.账号板 > .概况条 { border-top: 1px solid var(--色-线); }
.账号概况 { display: flex; align-items: center; flex-wrap: wrap; }
.账号概况 #开通账号 { margin-left: auto; }
.账号区 { padding: 16px 18px 18px; border-top: 1px solid var(--色-线浅); background: var(--色-底); }
.名词 { border-bottom: 1px dotted currentColor; cursor: help; }
table.账号表 { margin: 0; }
table.账号表 th:first-child, table.账号表 td:first-child { padding-left: 20px; }
table.账号表 th:last-child, table.账号表 td:last-child { padding-right: 20px; text-align: right; }
table.账号表 td { vertical-align: middle; }
table.账号表 td > b { color: var(--色-标题字); margin-right: 6px; }
table.账号表 td .次 { font-size: 12px; }
table.账号表 .岗列 .用签 { margin: 2px 4px 2px 0; }
table.账号表 tr.可点 { cursor: pointer; }
table.账号表 tr.可点:hover td { background: var(--色-悬停底); }
table.账号表 tr.可点:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; }
table.账号表 tr.详情中 td { background: var(--色-选中底); }
table.账号表 tr.已停 td > b, table.账号表 tr.已停 .用签 { opacity: .55; }
/* 右侧开通、修改栏 */
.账编 { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 12px; margin-bottom: 14px; }
.账编[hidden] { display: none; }
.账编 > .名 { color: var(--色-次字); }
.账编 input[type=text], .账编 select { width: 100%; box-sizing: border-box; }
.账编 input.错 { border-color: var(--色-危); }
.账编 .编错 { margin-top: 4px; }
.账编值 { display: flex; align-items: center; gap: 8px; }
.账编值 b { color: var(--色-标题字); }
.账编值 .签 { margin: 0; }
.岗选 { display: flex; flex-wrap: wrap; gap: 8px; }
.岗勾 { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 9px; border: 1px solid var(--色-线); border-radius: 999px; background: var(--色-卡); font-size: var(--字号-小); color: var(--色-次字); cursor: pointer; user-select: none; }
.岗勾 input { margin: 0; accent-color: var(--色-主); }
.岗勾:has(input:checked) { border-color: var(--色-主边); background: var(--色-主浅); color: var(--色-主深); }
.岗勾:has(input:focus-visible) { outline: 2px solid var(--色-主); outline-offset: 1px; }
.账号抽屉 .编预览 { margin: 0 0 14px 84px; }
.账号抽屉 .按钮行 { margin: 4px 0 0 84px; }
.账号抽屉 .编后果 { margin-left: 84px; }
.账号次操作 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 16px 0 0 84px; padding-top: 14px; border-top: 1px dashed var(--色-线); }
.账号次操作 .编错 { margin: 0; }
.密码结果 { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.密码结果 .签 { margin: 0; }
.密码结果 b { color: var(--色-标题字); }
.密码框 { display: flex; align-items: center; gap: 10px; }
.密码框 code { font-family: var(--字体); font-size: 20px; font-weight: 600; letter-spacing: 2px; padding: 6px 14px; border: 1px solid var(--色-线); border-radius: var(--圆角-小); background: var(--色-灰底); color: var(--色-标题字); user-select: all; }
/* 账号管理第二版（11-04 负责人：不够精细、有些空；"办理人"看不明白）：搜索和筛选、头像、开通日期；右边各岗位人数条（点了筛）、需关注；岗位权限页签 */
.账号工具 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 20px; border-bottom: 1px solid var(--色-线); background: var(--色-卡); }
.搜框 { position: relative; flex: 1 1 220px; max-width: 320px; }
.搜框 svg { position: absolute; left: 10px; top: 50%; width: 15px; height: 15px; margin-top: -7.5px; fill: none; stroke: var(--色-弱字); stroke-width: 2; stroke-linecap: round; pointer-events: none; }
.搜框 input { width: 100%; box-sizing: border-box; padding-left: 32px; }
.账号工具 select { width: auto; min-width: 120px; }
.账号计 { margin-left: auto; font-size: 12px; }
.人名格 { display: flex; align-items: center; gap: 10px; }
.人名格 b { color: var(--色-标题字); margin-right: 6px; }
.头像 { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--色-主浅); color: var(--色-主深); font-size: 14px; font-weight: 600; border: 1px solid var(--色-主边); }
.头像.本 { background: var(--色-主); color: #fff; border-color: var(--色-主); }
.头像.停 { background: var(--色-灰底); color: var(--色-弱字); border-color: var(--色-线); }
table.账号表 td { padding-top: 10px; padding-bottom: 10px; }
table.账号表 .弱 { color: var(--色-弱字); }
table.账号表 .警字 { color: var(--色-警); }
table.账号表 tr.已停 .人名格 b { color: var(--色-弱字); }
table.账号表 tr.筛空 td { text-align: center; color: var(--色-弱字); padding: 28px 0; }
.态点 { display: inline-flex; align-items: center; gap: 6px; font-size: var(--字号-小); color: var(--色-次字); white-space: nowrap; }
.态点::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--色-好); }
.态点.灰::before { background: var(--色-线深, #b8c0cc); }
.态点.灰 { color: var(--色-弱字); }
.岗条们 { display: flex; flex-direction: column; padding: 8px 12px 10px; }
.岗条 { display: grid; grid-template-columns: 64px minmax(0, 1fr) 26px; align-items: center; gap: 10px; padding: 7px 8px; border: 0; border-radius: var(--圆角-小); background: none; font: inherit; font-size: var(--字号-小); color: var(--色-次字); text-align: left; cursor: pointer; }
.岗条:hover { background: var(--色-悬停底); }
.岗条.当前 { background: var(--色-选中底); color: var(--色-主深); }
.岗条:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; }
.岗条轨 { height: 6px; border-radius: 3px; background: var(--色-轨, #edf1f7); overflow: hidden; }
.岗条轨 span { display: block; height: 100%; border-radius: 3px; background: var(--色-主); }
.岗条 b { text-align: right; font-weight: 600; color: var(--色-标题字); font-variant-numeric: tabular-nums; }
.注行 { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 20px; border: 0; border-bottom: 1px solid var(--色-线浅); background: none; font: inherit; text-align: left; color: inherit; cursor: pointer; }
.注行:focus-visible { outline: 2px solid var(--色-主); outline-offset: -2px; }
.注行:last-child { border-bottom: 0; }
.注行:hover { background: var(--色-悬停底); }
.注行 .头像 { width: 28px; height: 28px; font-size: 13px; }
.注行 > span:last-child { display: flex; flex-direction: column; font-size: var(--字号-小); }
.注行 b { color: var(--色-标题字); font-weight: 600; }
.注行 .次 { font-size: 12px; }
.近改时 { margin-left: auto; font-size: 12px; }
.账号板 .近改行 > div:first-child { width: 100%; }
.账编值 .次 { font-size: 12px; margin-left: 4px; }
/* 岗位权限 */
.权限轨 .环节 { grid-template-columns: 236px minmax(0, 1fr); }
.权限格 { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 8px 16px; margin: 0; padding: 16px 0 16px 16px; font-size: var(--字号-小); }
.权限格 dt { color: var(--色-弱字); line-height: 24px; }
.权限格 dd { margin: 0; color: var(--色-次字); line-height: 24px; }
.权限格 .用签 { margin: 0 6px 4px 0; line-height: 22px; }
.代入人 { display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; margin: 0 6px 4px 0; line-height: 22px; border-radius: 999px; border: 1px dashed var(--色-线深, var(--色-线)); color: var(--色-次字); font-size: 12px; }
.代入人.当前 { border-style: solid; border-color: var(--色-好边); background: var(--色-好底); color: var(--色-好); }
.代入人 small { font-size: 11px; }
table.账号表 .岗列 { white-space: nowrap; }
.本号 { display: inline-block; margin-left: 6px; padding: 0 6px; line-height: 16px; border-radius: 3px; background: var(--色-主); color: #fff; font-size: 11px; vertical-align: 1px; }
@media (max-width: 1440px) { .账号板 .参数布局 { grid-template-columns: minmax(0, 1fr) 300px; } }
.名链 { appearance: none; border: 0; background: none; padding: 0; font: inherit; color: var(--色-主); cursor: pointer; }
.名链:hover { color: var(--色-主深); text-decoration: underline; text-underline-offset: 3px; }
.名链:focus-visible { outline: 2px solid var(--色-主); outline-offset: 2px; border-radius: 3px; }
.头像::before { content: attr(data-字); }
.原话卡 > .补充区 { border-top: 1px solid var(--色-线浅); padding: 8px 20px 10px; flex: 0 0 auto; }   /* 补充来电内容：右栏原文卡底部（11-04 负责人定做法 B） */
.原话卡 > .补充区 > summary { color: var(--色-信息); cursor: pointer; }
.原话卡 > .补充区 textarea { width: 100%; }
/* 右栏 AI 页签：页签已写能力名，卡里不再重复"AI 建议 · XX智能体"；有待审核、不发送等小签时只留小签（11-04 负责人定甲）。审核页并进来的附加核查、本单自检照留标题 */
.原话卡 .原话页 > .卡 > .卡头 > .卡题字 { display: none; }
.原话卡 .原话页 > .卡 > .卡头:not(:has(.签)) { display: none; }
.原话卡 .原话页 > .卡 > .卡头:not(:has(.签)) + .卡身 { padding-top: 0; }
/* 来电整理原稿：照受理表的名称和顺序，右栏窄，名称列收窄、正文字号 */
.原稿表 { grid-template-columns: 6.5em minmax(0, 1fr); }
.原稿表 > .名 { white-space: normal; padding-right: 10px; }
.原稿表 > .值 { font-size: var(--字号-正文); }
.原稿表 > .值 a[data-句] { font-size: var(--字号-小); color: var(--色-次字); white-space: nowrap; }

/* 数据对接（11-05 复审第 6 条）：照数据资源管理的样子——总览一行、流向图、来路一条一张卡、主按钮实心 */
.对接板 > .板条.概况条:first-child { border-top: none; background: var(--色-卡); color: var(--色-次字); padding: 12px 18px; }
.对接图区 { padding: 16px 18px; border-top: 1px solid var(--色-线浅); }
.对接段题 { padding: 14px 18px 0; font-weight: 600; color: var(--色-标题字); border-top: 1px solid var(--色-线浅); background: var(--色-底); }
.数据卡们.对接卡们 { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: none; padding-top: 10px; }
.数据卡.对接卡 { cursor: default; gap: 8px; }
.数据卡.对接卡:hover { border-color: var(--色-线); box-shadow: none; }
.数据卡.对接卡.闪 { border-color: var(--色-主); box-shadow: 0 0 0 1px var(--色-主); background: var(--色-选中底); transition: background .3s; }
.对接卡 .卡说 { min-height: 0; margin-top: -2px; }
.对接说 { font-size: 13px; line-height: 1.65; color: var(--色-次字); }
.对接说 details { margin-top: 2px; }
.对接卡 .卡组 { font-size: 13px; min-height: 0; }
.对接下排 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--间距); margin-top: var(--间距); align-items: start; }
.对接下排 > .卡 { margin: 0; }
.对接单 { margin: 0; display: flex; flex-direction: column; }
.对接单 > div { display: grid; grid-template-columns: 8.5em minmax(0, 1fr); gap: 12px; padding: 9px 6px; border-top: 1px solid var(--色-线浅); border-radius: 4px; }
.对接单 > div:first-child { border-top: none; padding-top: 2px; }
.对接单 > div.闪 { background: var(--色-选中底); transition: background .3s; }
.对接单 dt { font-weight: 600; color: var(--色-标题字); }
.对接单 dd { margin: 0; color: var(--色-字); line-height: 1.65; }
.运行格们 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.运行格 { border: 1px solid var(--色-线); border-radius: var(--圆角); padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
.运行名 { font-weight: 600; color: var(--色-标题字); }
.运行说 { font-size: 12px; color: var(--色-弱字); min-height: 1.6em; }
.运行附 { font-size: 13px; color: var(--色-次字); }
.运行附 i { font-style: normal; margin: 0 6px; color: var(--色-弱字); }
@media (max-width: 1280px) { .数据卡们.对接卡们 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .对接下排 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .数据卡们.对接卡们 { grid-template-columns: minmax(0, 1fr); } }
.时格 { font-variant-numeric: tabular-nums; line-height: 1.35; }   /* 列表第一列来电时间（11-05）：日期一行、时刻一行 */
table.列表式 td.单行 { min-width: 10em; }   /* 问题摘要至少放得下十来个字 */

/* 实时转写·通话控制台（11-05 负责人：原来太简陋，要现代、高级的政务系统质感）：状态灯、来源、大计时、声波条、开始转写／挂断 */
.台态 { display: inline-flex; align-items: center; gap: 6px; font-size: var(--字号-小); font-weight: 500; color: var(--色-次字); padding: 2px 10px 2px 8px; border-radius: 999px; background: var(--色-灰底); border: 1px solid var(--色-线); }
.台态::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #9aa6b8; }
.台态[data-态="通"] { color: var(--色-好); background: var(--色-好底); border-color: var(--色-好边); }
.台态[data-态="通"]::before { background: var(--色-好); box-shadow: 0 0 0 0 rgba(24, 113, 74, .45); animation: 台态闪 1.6s ease-out infinite; }
.台态[data-态="完"] { color: var(--色-主); background: var(--色-信息底); border-color: var(--色-主边); }
.台态[data-态="完"]::before { background: var(--色-主); }
@keyframes 台态闪 { 0% { box-shadow: 0 0 0 0 rgba(24, 113, 74, .45); } 70% { box-shadow: 0 0 0 7px rgba(24, 113, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(24, 113, 74, 0); } }
.台控 { border: 1px solid var(--色-主边); border-radius: 10px; background: linear-gradient(180deg, #f3f7ff 0%, var(--色-卡) 78%); padding: 16px 18px 14px; margin-bottom: 16px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8); }
.台控上 { display: flex; align-items: center; gap: 14px; }
.台控标 { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: var(--色-主); background: var(--色-卡); border: 1px solid var(--色-主边); box-shadow: 0 1px 3px rgba(10, 85, 194, .12); }
.台控标 svg, .台空图 svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.台控标 svg { width: 22px; height: 22px; }
.通话中 .台控标 { color: var(--色-卡); background: var(--色-主); border-color: var(--色-主); }
.台控源 { flex: 1; min-width: 0; }
.台控题 { font-size: var(--字号-小); color: var(--色-次字); }
.台控名 { font-weight: 600; font-size: 15px; color: var(--色-标题字); display: flex; align-items: center; gap: 8px; margin-top: 1px; }
.台控名 .签 { margin: 0; line-height: 18px; padding: 0 6px; }
.台控长 { font-weight: 400; font-variant-numeric: tabular-nums; }
.台控话 { font-size: var(--字号-小); color: var(--色-次字); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.台控话:empty { display: none; }
.台控时 { flex: none; font-size: 30px; line-height: 1; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--色-标题字); letter-spacing: .5px; }
.通话中 .台控时 { color: var(--色-主); }
.台波 { display: flex; align-items: center; gap: 3px; height: 34px; margin: 16px 0 14px; }
.台波 i { flex: 1; height: 100%; border-radius: 2px; background: #d5dce8; transform: scaleY(.14); transform-origin: center; transition: transform .09s linear, background .3s; }
.通话中 .台波 i { background: var(--色-主); opacity: .85; }
.台控下 { display: flex; justify-content: center; }
.台大钮 { display: inline-flex; align-items: center; gap: 10px; min-width: 220px; justify-content: center; height: 46px; padding: 0 28px; border: 0; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 15px; font-weight: 600; letter-spacing: .5px; color: #fff; background: linear-gradient(180deg, #2f78e4 0%, var(--色-主) 55%, var(--色-主深) 100%);
  box-shadow: 0 6px 16px rgba(10, 85, 194, .28), 0 1px 2px rgba(10, 85, 194, .3), inset 0 1px 0 rgba(255, 255, 255, .22); transition: transform .15s, box-shadow .15s, filter .15s; }
.台大钮:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(10, 85, 194, .32), 0 1px 2px rgba(10, 85, 194, .3), inset 0 1px 0 rgba(255, 255, 255, .22); }
.台大钮:active { transform: translateY(0); filter: brightness(.96); }
.台大钮:disabled { cursor: default; filter: saturate(.6) brightness(1.05); transform: none; }
.台大钮:focus-visible { outline: 3px solid var(--色-主边); outline-offset: 3px; }
.台大钮 svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.台大钮.挂 { background: linear-gradient(180deg, #e0483b 0%, var(--色-危) 55%, #9f1f16 100%); box-shadow: 0 6px 16px #c0271b47, 0 1px 2px #c0271b4d, inset 0 1px 0 rgba(255, 255, 255, .2); }
.台大钮.挂:hover { box-shadow: 0 10px 22px #c0271b52, 0 1px 2px #c0271b4d, inset 0 1px 0 rgba(255, 255, 255, .2); }
.台控脚 { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 10px; border-top: 1px dashed var(--色-主边); }
.台控态 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.台控态:empty { display: none; }
.台控签 { margin-left: auto; display: flex; gap: 4px; flex: none; }
.台控签 .签 { margin: 0; line-height: 20px; padding: 0 7px; cursor: help; }
.台转头 { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid var(--色-线); }
.台空图 { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--色-次字); padding: 30px 0 22px; font-size: var(--字号-小); }
.台空图 svg { width: 30px; height: 30px; color: #b6c1d3; }
/* 列表分页（11-05 负责人）：表格下方，左边写第几到第几张、右边翻页 */
.翻页 { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--色-线); font-size: var(--字号-小); }
.翻页钮们 { display: flex; align-items: center; gap: 4px; }
.翻页钮 { min-width: 32px; height: 32px; padding: 0 10px; font: inherit; font-size: var(--字号-小); color: var(--色-字); background: var(--色-卡); border: 1px solid var(--色-线); border-radius: var(--圆角-小); cursor: pointer; font-variant-numeric: tabular-nums; }
.翻页钮:hover:not(:disabled):not(.当前) { border-color: var(--色-主); color: var(--色-主); background: var(--色-信息底); }
.翻页钮.当前 { background: var(--色-主); border-color: var(--色-主); color: var(--色-主字); font-weight: 600; cursor: default; }
.翻页钮:disabled { color: var(--色-弱字); cursor: not-allowed; opacity: .6; }
.翻页省 { padding: 0 4px; color: var(--色-次字); }

/* 11-06 真实账号：人员没有的岗位，首页步骤卡置灰、不可点 */
.步骤卡.无岗 { opacity: .5; cursor: default; }
.步骤卡.无岗:hover { box-shadow: none; transform: none; border-color: var(--色-线); }
/* 转办页市级主管单位兜底（11-06 批测第 1 批评审）：先写事项再写单位，两个按钮并排，转办员核过事项再选用 */
.兜底行 { display: flex; flex-direction: column; gap: 4px; }
.兜底行 .按钮行.紧 { margin: 0; gap: 6px; }
.质效表 .样数 { margin-left: 6px; font-size: var(--字号-小); }
