:root {
  color-scheme: light;
  --ink: #17241e;
  --muted: #65736c;
  --soft: #eef2ef;
  --line: #dce3de;
  --paper: #ffffff;
  --canvas: #f4f6f4;
  --green: #0f7a4a;
  --green-dark: #16442f;
  --green-soft: #e5f4eb;
  --gold: #b68a36;
  --orange: #bf641e;
  --red: #b63b3b;
  --blue: #2f6f9f;
  --shadow: 0 12px 32px rgba(24, 45, 34, .08);
  --ui-scale: .9;
  --strategist-width: 470px;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;
  font-size: calc(18px * var(--ui-scale));
}

.automation-config-fields{border:1px solid #d9e5dd;border-radius:16px;padding:16px;margin:8px 0 14px;background:#f7fbf8}.automation-config-fields[hidden]{display:none}.automation-config-fields legend{padding:0 8px;font-weight:800;color:#176844}.automation-config-fields p{margin:6px 0 0;color:#748078;font-size:.88rem}.automation-trigger-values [data-trigger-field],.automation-trigger-values [data-activate-trigger]{display:none}.automation-trigger-values [data-trigger-field].active,.automation-trigger-values [data-activate-trigger].active{display:flex}.automation-hard-boundary{display:flex;gap:14px;align-items:flex-start;border-radius:14px;padding:13px 15px;background:#eef7f1;color:#315442}.automation-hard-boundary b{white-space:nowrap;color:#116640}.automation-activation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.automation-activation-summary span{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid #dce6df;border-radius:13px;background:#fafcfb}.automation-activation-summary small{color:#7b8580}#automationActivateForm{padding:20px 24px;gap:12px}#automationActivateForm textarea{min-height:76px}#automationActivateForm .dialog-actions{margin-top:0}.automation-runtime-strip{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border-radius:12px;background:#eff7f2;color:#3c5f4c}.automation-runtime-strip b{color:#087148}.automation-runtime-strip.paused{background:#f5f3ed;color:#6e6654}.automation-runtime-strip.failed{background:#fff0ed;color:#9a3d2e}.home-automation-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px}.home-automation-list{display:grid;gap:10px}.home-automation-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #dfe7e2;border-radius:14px}.home-automation-row>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f4eb;color:#147047;font-weight:900}.home-automation-row b,.home-automation-row small{display:block}.home-automation-row small{margin-top:3px;color:#75817a}.home-automation-row em{font-style:normal;font-weight:800;color:#157148}.home-automation-report{padding:14px;border-radius:14px;background:#f4f7f5;min-height:100%}.home-automation-report h3{margin:0 0 8px}.home-automation-report p{margin:0;color:#425249;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.home-automation-report footer{margin-top:10px;color:#75817a}.automation-plan-buttons{display:flex;gap:8px;flex-wrap:wrap}.automation-plan-buttons button{font-size:.88rem}.automation-plan-note{margin-top:8px;color:#75817a;font-size:.86rem}@media(max-width:920px){.home-automation-grid,.automation-activation-summary{grid-template-columns:1fr}}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
/* 整页不滚：侧栏常驻不动，只有右侧内容区自己滚。
   注意不要在这里放 overflow-x: hidden —— 它会让 body 变成滚动容器，
   使侧栏和顶栏的 position: sticky 全部失效（往下滑就把导航滑没了）。 */
html, body { margin: 0; height: 100%; background: var(--canvas); color: var(--ink); overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(15, 122, 74, .22); outline-offset: 2px;
}

.app-shell { width: 100%; height: 100vh; display: grid; grid-template-columns: 300px minmax(0, 1fr); overflow: hidden; }
.sidebar { height: 100%; min-height: 0; padding: 26px 20px 20px; background: #f9fbfa; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 18px; }
.brand { display: flex; align-items: center; gap: 14px; padding: 0 10px 8px; }
.brand-mark { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: var(--green); color: white; font-size: 28px; font-weight: 900; }
.brand strong { display: block; font-size: 24px; }
.brand small, .identity-card small, .trial-note small { display: block; color: var(--muted); margin-top: 3px; font-size: 14px; }
.new-button { width: 100%; border: 1px solid #cdd7d0; background: white; border-radius: 17px; padding: 17px; font-weight: 800; font-size: 19px; color: var(--ink); }
.new-button:hover { border-color: var(--green); color: var(--green); }
.nav { display: flex; flex: 1 1 auto; min-height: 0; overflow-y: auto; flex-direction: column; gap: 6px; padding-right: 3px; scrollbar-width: thin; }
.nav-label { margin: 10px 12px 8px; color: #96a19b; }
.nav-item { width: 100%; border: 0; background: transparent; border-radius: 15px; padding: 13px 14px; display: flex; align-items: center; gap: 13px; text-align: left; color: #5d6963; }
.nav-item:hover { background: #eef3f0; color: var(--ink); }
.nav-item.active { background: white; color: var(--green); box-shadow: 0 8px 24px rgba(30, 53, 41, .07); border: 1px solid var(--line); }
.nav-icon { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: #edf1ee; font-weight: 900; }
.nav-item.active .nav-icon { background: var(--green-soft); }
.nav-item b { display: block; font-size: 18px; }
.nav-item small { display: block; font-size: 13px; margin-top: 3px; color: #87918c; }
.sidebar-spacer { display: none; }
/* 长按拖动排序时的状态。touch-action: none 是必需的，否则触屏上会变成滚动。 */
.nav.nav-reordering { touch-action: none; }
.nav.nav-reordering .nav-item { cursor: grab; }
.nav-item.nav-dragging { cursor: grabbing; background: white; border: 1px solid var(--green); box-shadow: 0 12px 28px rgba(20, 60, 38, .18); }
body.reordering-nav { user-select: none; }
.identity-card, .trial-note { border-radius: 15px; background: #eef3f0; padding: 14px; display: flex; align-items: center; gap: 11px; }
.avatar { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--green-dark); color: white; font-weight: 800; }
.trial-note { background: transparent; padding: 8px 13px; }
.trial-note > span { width: 10px; height: 10px; background: #35b978; border-radius: 50%; }

/* 右侧是真正的滚动容器；顶栏 sticky 于是贴在它顶部，而不是随页面滑走。 */
/* 不要在这里加 scroll-behavior: smooth —— 实测部分内嵌浏览器会连带把
   程序化滚动（scrollTop 赋值、scrollTo）整个丢掉，切换页面就不回顶了。 */
.main { min-width: 0; height: 100%; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.topbar { position: sticky; top: 0; z-index: 20; height: 118px; padding: 24px 38px; display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.eyebrow, .section-label { margin: 0 0 5px; font-size: 13px; letter-spacing: .15em; color: var(--green); font-weight: 900; }
.topbar h1 { margin: 0; font-size: 36px; letter-spacing: -.04em; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.font-scale-control { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--muted); font-size: 12px; user-select: none; }
.font-scale-control:hover { border-color: #9fc5ae; }
.font-scale-control input { width: 86px; accent-color: var(--green); }
.font-scale-control output { min-width: 38px; color: var(--green-dark); font-weight: 800; text-align: right; }

/* 设置齿轮放在"试用环境"那一行的右侧空位，不单独占一行。
   面板走文档流向上展开，不用绝对定位——侧栏是 overflow 受限的弹性列，浮层容易被裁掉。 */
.sidebar-footer { display: flex; align-items: center; gap: 6px; }
.sidebar-footer .trial-note { flex: 1 1 auto; min-width: 0; }
.sidebar-settings-button { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #6b756f; font-size: 16px; line-height: 1; }
.sidebar-settings-button:hover { border-color: var(--line); background: white; color: var(--green); }
.sidebar-settings-button[aria-expanded="true"] { border-color: var(--line); background: white; color: var(--green); }
.sidebar-settings-panel { display: grid; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.sidebar-settings-panel[hidden] { display: none; }
.sidebar-settings-panel .font-scale-control { border: 0; padding: 0; background: transparent; }
.sidebar-settings-panel .font-scale-control input { width: 100%; min-width: 0; }
.sidebar-settings-panel .font-scale-control > span { white-space: nowrap; }
.role-switch { display: flex; align-items: center; gap: 10px; color: var(--muted); }
.role-switch select, .case-picker select { border: 1px solid var(--line); background: white; border-radius: 13px; padding: 11px 14px; color: var(--ink); }
.environment-badge { padding: 10px 14px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-weight: 800; font-size: 14px; }
.content { padding: 32px 36px 80px; }
/* 这里刻意不加切页动画。曾经的 view-in 动画同时动 opacity 和 transform，两者都会
   让 .view 变成 position: fixed 后代的包含块／层叠上下文，于是页面里的放大面板
   （事实回流、本地工坊、信息中心）既缩不到全屏，z-index 也被困在 .view 内部，
   右上角的"退出放大"按钮被顶栏盖住点不到。而且部分内嵌浏览器会把动画卡在第一帧，
   使这个故障永久化。切页本来就该是瞬时的，动效不值得担这个风险。 */
.view { display: none; }
.view.active { display: block; }

.welcome-card { border-radius: 26px; padding: 32px; background: linear-gradient(135deg, #173f2d, #0d7447); color: white; display: grid; grid-template-columns: minmax(300px, .8fr) minmax(360px, 1.2fr); gap: 30px; box-shadow: var(--shadow); }
.welcome-card .section-label { color: #a7e4c3; }
.welcome-card h2 { font-size: 30px; margin: 7px 0 12px; line-height: 1.28; }
.welcome-card p { color: rgba(255,255,255,.78); line-height: 1.7; margin: 0; }
.command-box { border-radius: 18px; padding: 16px; background: white; color: var(--ink); }
.command-box textarea { width: 100%; border: 0; resize: vertical; color: var(--ink); line-height: 1.65; min-height: 96px; }
.command-box textarea:focus { outline: none; }
.command-box > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.command-box span { color: var(--muted); font-size: 13px; }

.employee-compass { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 22px 0; }
.compass-card { min-width: 0; display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 20px; border: 1px solid var(--line); border-radius: 19px; background: white; box-shadow: 0 7px 24px rgba(24,45,34,.035); }
.compass-card.responsibility { border-top: 4px solid var(--green); }
.compass-card.growth { border-top: 4px solid var(--blue); }
.compass-card.outcome { border-top: 4px solid var(--gold); }
.compass-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--green-soft); color: var(--green); font-weight: 900; font-size: 20px; }
.compass-card.growth .compass-icon { background: #e9f2f8; color: var(--blue); }
.compass-card.outcome .compass-icon { background: #f7f0df; color: #8d6a27; }
.compass-card small { display: block; color: var(--muted); font-weight: 800; }
.compass-card h3 { margin: 6px 0 8px; font-size: 17px; line-height: 1.4; }
.compass-card p { margin: 0; color: #53625a; line-height: 1.6; font-size: 14px; }

.company-direction-panel { overflow: hidden; border-color: #cdded4; background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%); }
.direction-badge { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; background: #eef5f1; color: #436655; font-size: 12px; font-weight: 800; }
.company-direction-grid { display: grid; grid-template-columns: 1.15fr .92fr .92fr; gap: 14px; margin-top: 20px; }
.direction-card { min-width: 0; padding: 20px; border: 1px solid #dde6e1; border-radius: 18px; background: white; }
.direction-card.featured { border-color: #9fcbb3; box-shadow: 0 12px 28px rgba(25,101,64,.08); }
.direction-card.photon { background: linear-gradient(145deg, #f2f8ff, #fff); }
.direction-card.agent { background: linear-gradient(145deg, #f1faf5, #fff); }
.direction-card.delivery { background: linear-gradient(145deg, #fff9f0, #fff); }
.direction-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.direction-card-top span { color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.direction-card-top b { padding: 5px 8px; border-radius: 999px; background: #dfeff9; color: #2c648c; font-size: 11px; }
.direction-card h3 { margin: 12px 0 9px; font-size: 21px; line-height: 1.35; }
.direction-card > p { min-height: 70px; margin: 0; color: #4c5f55; line-height: 1.6; }
.direction-explainer, .direction-contribution { margin-top: 14px; padding: 12px 13px; border-radius: 13px; background: rgba(255,255,255,.78); border: 1px solid rgba(205,220,212,.75); }
.direction-explainer small, .direction-contribution small { display: block; margin-bottom: 5px; color: var(--muted); font-weight: 800; }
.direction-explainer strong, .direction-contribution span { display: block; font-size: 13px; line-height: 1.55; }
.direction-card footer { margin-top: 12px; color: #84918a; font-size: 11px; }

.agent-cabinet-panel { border-color: #d7dfda; background: linear-gradient(180deg, #fff 0%, #f8fbf9 100%); }
.agent-seat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.agent-seat { min-width: 0; padding: 15px; border: 1px dashed #cfd8d2; border-radius: 16px; background: #fafcfb; }
.agent-seat.present, .agent-seat.available { border-style: solid; border-color: #acd1bc; background: #f3fbf6; }
.agent-seat.recommended { box-shadow: inset 0 0 0 2px rgba(15,122,74,.12); }
.agent-seat-head { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.agent-seat-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #e9efeb; color: #52665a; font-size: 12px; font-weight: 900; }
.agent-seat.present .agent-seat-icon, .agent-seat.available .agent-seat-icon { background: var(--green-soft); color: var(--green); }
.agent-seat-head small { display: block; color: var(--muted); font-size: 11px; }
.agent-seat-head h3 { margin: 3px 0 0; font-size: 15px; line-height: 1.3; }
.agent-seat-head b { padding: 5px 7px; border-radius: 999px; background: #eef1ef; color: #67756e; font-size: 10px; white-space: nowrap; }
.agent-seat.present .agent-seat-head b, .agent-seat.available .agent-seat-head b { background: #dff2e7; color: var(--green); }
.agent-seat p { min-height: 48px; margin: 13px 0 9px; color: #405148; font-size: 12px; line-height: 1.5; }
.agent-seat footer { color: #7a8780; font-size: 10px; line-height: 1.45; }
.agent-seat-boundary { margin-top: 14px; padding: 12px 14px; border-radius: 13px; background: #f0f4f1; color: #5b6961; font-size: 12px; line-height: 1.55; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.metric { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 20px; }
.metric b { display: block; font-size: 34px; color: var(--green-dark); margin-bottom: 6px; }
.metric span { color: var(--muted); }
.metric.warn b { color: var(--orange); }
.panel { background: white; border: 1px solid var(--line); border-radius: 22px; padding: 28px; box-shadow: 0 8px 28px rgba(24,45,34,.045); margin-bottom: 22px; }
.panel-heading, .section-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-heading h2, .section-intro h2 { margin: 4px 0 0; font-size: 26px; }
.section-intro { margin: 4px 0 24px; align-items: center; }
.section-intro p { margin: 8px 0 0; color: var(--muted); line-height: 1.6; }
.quiet-text { color: var(--muted); font-size: 14px; }
/* 分项统计条：让首页的"共 N 项"能被拆开对上各页自己的计数，
   而不是一个来源不明的数字。每一格可点，直接跳到对应页。 */
.priority-tally { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.priority-tally > b { margin-right: 2px; font-size: 14px; }
.priority-tally-item { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: white; color: #5d6963; font-size: 12px; font-weight: 700; }
.priority-tally-item:hover { border-color: var(--green); color: var(--green); }
.priority-tally-item em { font-style: normal; min-width: 18px; padding: 0 5px; border-radius: 999px; background: #edf1ee; color: #4b5a52; font-size: 11px; font-weight: 800; text-align: center; }
.priority-tally-item:hover em { background: var(--green-soft); color: var(--green-dark); }
/* 来源标签：一眼看出这条属于哪一页、用的是那一页的状态说法。 */
.priority-source { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.priority-source em { font-style: normal; padding: 1px 7px; border-radius: 999px; background: #edf1ee; color: #55635b; font-weight: 700; }
.priority-more { margin: 12px 2px 0; color: var(--muted); font-size: 12px; }
.priority-list { display: grid; gap: 10px; margin-top: 12px; }
.priority-item { display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center; padding: 15px; border: 1px solid #e4e9e5; border-radius: 15px; }
.priority-item:hover { border-color: #a9cdb9; background: #fbfdfb; }
.priority-rank { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-weight: 900; }
.priority-item b { display: block; }
.priority-item small { display: block; color: var(--muted); margin-top: 5px; line-height: 1.45; }
.priority-item button, .text-button { border: 0; background: transparent; color: var(--green); font-weight: 800; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.compact-panel { min-height: 280px; margin: 0; }
.mini-row { display: flex; justify-content: space-between; gap: 15px; padding: 15px 0; border-bottom: 1px solid #edf0ee; }
.mini-row:last-child { border-bottom: 0; }
.mini-row b { display: block; }
.mini-row small { color: var(--muted); display: block; margin-top: 4px; }

.primary-button, .secondary-button { border-radius: 12px; padding: 11px 17px; font-weight: 800; }
.primary-button { border: 1px solid var(--green); background: var(--green); color: white; }
.primary-button:hover { background: #0b673e; }
.secondary-button { border: 1px solid #cdd8d1; background: white; color: var(--ink); }
.secondary-button:hover { border-color: var(--green); color: var(--green); }
.danger-button { border-color: #f0cccc; color: var(--red); }
.split-workspace { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(430px, 1.25fr); gap: 20px; align-items: start; }
.work-list { display: grid; gap: 10px; }
.work-list-card { border: 1px solid var(--line); border-radius: 16px; padding: 17px; background: white; cursor: pointer; }
.work-list-card.active { border-color: var(--green); box-shadow: 0 8px 24px rgba(15,122,74,.09); }
.work-list-card b { display: block; margin: 8px 0; line-height: 1.45; }
.work-list-card small { color: var(--muted); }
.work-detail { position: sticky; top: 142px; min-height: 480px; }
.work-detail h2 { font-size: 28px; margin: 10px 0; }
.work-detail .work-description { color: var(--muted); line-height: 1.65; }
.work-output { white-space: pre-wrap; background: #f7f9f7; border: 1px solid var(--line); border-radius: 15px; padding: 20px; line-height: 1.75; max-height: 480px; overflow: auto; margin: 18px 0; }
.empty-output { color: var(--muted); text-align: center; padding: 60px 20px; }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.status-pill, .tag { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 6px 10px; background: #edf2ef; color: #5e6a64; font-size: 13px; font-weight: 800; }
.status-pill.review, .tag.green { background: var(--green-soft); color: var(--green); }
.status-pill.active { background: #e8f2fa; color: var(--blue); }
.status-pill.draft { background: #f3efe6; color: #8a6c34; }
.status-pill.waiting { background: #fff0e4; color: var(--orange); }

.case-picker { display: flex; flex-direction: column; gap: 6px; color: var(--muted); }
.case-picker select { min-width: 330px; }
.compact-case-picker { align-items: flex-end; font-size: 13px; }
.compact-case-picker select { min-width: 260px; padding-top: 9px; padding-bottom: 9px; }
.collaboration-charter { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: -4px 0 20px; }
.collaboration-charter > div { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; padding: 17px; border: 1px solid #dce6e0; border-radius: 17px; background: white; }
.collaboration-charter > div > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: var(--green-soft); color: var(--green); font-weight: 900; }
.collaboration-charter p { margin: 0; }
.collaboration-charter b, .collaboration-charter small { display: block; }
.collaboration-charter small { margin-top: 5px; color: var(--muted); line-height: 1.5; }
.collaboration-view-studio { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -4px 0 20px; padding: 15px 17px; border: 1px solid #d6e2db; border-radius: 17px; background: rgba(255,255,255,.88); box-shadow: 0 7px 22px rgba(24,45,34,.035); }
.collaboration-view-studio.previewing { border: 2px dashed #60ad82; background: linear-gradient(135deg, #f2fbf6, #fff); }
.view-studio-copy { min-width: 0; display: flex; align-items: center; gap: 13px; }
.view-studio-copy > div { min-width: 0; }
.view-studio-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 13px; background: var(--green-soft); color: var(--green); font-weight: 900; }
.view-studio-copy small, .view-studio-copy b { display: block; }
.view-studio-copy small { color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.view-studio-copy b { margin-top: 2px; font-size: 16px; }
.view-studio-copy p { margin: 4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; white-space: normal; }
.view-studio-actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.view-studio-actions button { padding: 9px 13px; font-size: 13px; }
.collaboration-personal-room { overflow: hidden; border-color: #b9d7c5; background: linear-gradient(145deg, #fff, #f8fcfa); }
.room-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.room-heading h2 { margin: 4px 0 5px; font-size: 28px; }
.room-heading p { margin: 0; color: var(--muted); }
.room-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.room-block { min-width: 0; padding: 20px; border: 1px solid #dfe8e3; border-radius: 18px; background: rgba(255,255,255,.9); }
.room-block:first-child { grid-column: 1 / -1; border-left: 5px solid var(--green); }
.room-block > small { display: block; margin-bottom: 7px; color: var(--green); font-weight: 900; }
.room-block h3 { margin: 0 0 9px; font-size: 20px; line-height: 1.4; }
.room-block p { margin: 0; color: #4c5e54; line-height: 1.68; }
.room-objective { display: grid; gap: 5px; margin-top: 16px; padding: 13px 15px; border-radius: 13px; background: #edf6f1; }
.room-objective span { color: #668075; font-size: 12px; font-weight: 800; }
.room-objective strong { line-height: 1.55; }
.room-block.next { background: #f6fbf8; }
.room-block.next footer { margin-top: 15px; color: var(--green-dark); font-size: 13px; font-weight: 800; }
.room-facts { display: grid; gap: 8px; }
.room-facts span { padding: 10px 12px; border-radius: 11px; font-size: 13px; line-height: 1.5; }
.room-facts .known { background: #eaf5ee; color: #246746; }
.room-facts .unknown { background: #fff6e9; color: #855c20; }
.room-people { display: flex; flex-wrap: wrap; gap: 9px; }
.room-people > span { display: flex; align-items: center; gap: 7px; padding: 9px 11px; border: 1px solid #dce6e0; border-radius: 12px; background: white; }
.room-people b { font-size: 14px; }
.room-people em { color: var(--muted); font-size: 11px; font-style: normal; }
[data-view-panel="collaboration"][data-personal-tone="soft"] .collaboration-personal-room { border-radius: 28px; }
[data-view-panel="collaboration"][data-personal-tone="soft"] .room-block { border-radius: 21px; box-shadow: 0 7px 20px rgba(24,45,34,.025); }
[data-view-panel="collaboration"][data-personal-density="compact"] .panel,
[data-view-panel="collaboration"][data-personal-density="compact"] .collaboration-personal-room { padding: 19px; margin-bottom: 14px; }
[data-view-panel="collaboration"][data-personal-density="compact"] .room-grid { gap: 9px; }
[data-view-panel="collaboration"][data-personal-density="compact"] .room-block { padding: 14px; }
[data-view-panel="collaboration"][data-personal-accent="blue"] .collaboration-personal-room { border-color: #a9c9df; background: linear-gradient(145deg, #fff, #f4f9fd); }
[data-view-panel="collaboration"][data-personal-accent="blue"] .room-block:first-child { border-left-color: var(--blue); }
[data-view-panel="collaboration"][data-personal-accent="blue"] .room-block > small { color: var(--blue); }
[data-view-panel="collaboration"][data-personal-accent="warm"] .collaboration-personal-room { border-color: #e0cba5; background: linear-gradient(145deg, #fff, #fffaf0); }
[data-view-panel="collaboration"][data-personal-accent="warm"] .room-block:first-child { border-left-color: var(--gold); }
[data-view-panel="collaboration"][data-personal-accent="warm"] .room-block > small { color: #8c6928; }
.collab-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 20px; }
.collab-metric { min-height: 112px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: white; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 7px 24px rgba(24,45,34,.035); }
.collab-metric b { font-size: 32px; color: var(--green-dark); line-height: 1; }
.collab-metric span { margin-top: 9px; color: var(--muted); line-height: 1.35; }
.collab-metric.success { background: linear-gradient(145deg, #f4fbf7, white); border-color: #cce3d5; }
.collab-metric.attention { background: #fff9f8; border-color: #efc2bd; }
.collab-metric.attention b { color: var(--red); }
.collab-metric.ai { background: linear-gradient(145deg, #f1f7f4, white); }
.portfolio-panel { padding-bottom: 23px; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 19px; }
.portfolio-card { min-width: 0; border: 1px solid #dfe6e2; border-radius: 17px; padding: 18px; background: #fbfcfb; cursor: pointer; transition: .15s ease; }
.portfolio-card:hover { transform: translateY(-1px); border-color: #a5cbb5; box-shadow: 0 10px 24px rgba(21,76,49,.06); }
.portfolio-card.selected { border-color: var(--green); background: #f9fdfb; box-shadow: inset 0 0 0 1px rgba(15,122,74,.08); }
.portfolio-card.needs-me { border-left: 5px solid var(--red); }
.portfolio-card-top, .portfolio-card footer, .portfolio-card-top > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.portfolio-customer { color: var(--muted); font-size: 13px; font-weight: 800; }
.attention-dot, .calm-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #83a693; }
.attention-dot { background: #d7473f; box-shadow: 0 0 0 4px #fde9e7; }
.portfolio-card h3 { margin: 14px 0 7px; font-size: 20px; line-height: 1.35; }
.portfolio-card > p { min-height: 47px; margin: 0 0 14px; color: #4d5e55; line-height: 1.55; }
.portfolio-card footer { border-top: 1px solid #e7ebe8; padding-top: 12px; color: var(--muted); font-size: 12px; }
.role-view-panel { border-left: 5px solid var(--green); }
.needs-me-badge, .all-clear-badge { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 8px 12px; font-size: 13px; font-weight: 900; }
.needs-me-badge { background: #fde9e7; color: #a6332d; }
.needs-me-badge i { width: 8px; height: 8px; border-radius: 50%; background: #d7473f; }
.all-clear-badge { background: var(--green-soft); color: var(--green); }
.personal-action-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.personal-action-layout > div { border: 1px solid #dfe7e2; border-radius: 16px; padding: 18px; background: #f8faf9; }
.personal-action-layout small { display: block; margin-bottom: 8px; color: #5d7167; font-weight: 800; }
.responsibility-card strong, .next-action-card > strong { display: block; font-size: 17px; line-height: 1.65; }
.next-action-card.has-action { border-color: #eab7b2; background: #fff9f8; }
.next-action-card.all-clear { border-color: #bcdcc9; background: #f4fbf7; }
.next-action-card ol { margin: 0; padding-left: 22px; line-height: 1.7; }
.trust-boundary p { margin: 0; color: #526159; line-height: 1.65; }
.growth-opportunity { border-color: #bdd6e7 !important; background: #f4f9fc !important; }
.growth-opportunity p { margin: 0; color: #405b69; line-height: 1.65; }
.invitation-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 8px 12px; background: #e8f2fb; color: #285f87; font-size: 13px; font-weight: 900; }
.exploration-boundary { display: flex; align-items: flex-start; gap: 10px; margin: 15px 0; padding: 13px 15px; border-radius: 13px; background: #eaf4fb; color: #315d77; line-height: 1.55; }
.exploration-boundary b { flex: 0 0 auto; }
.proposed-tag, .participating-tag { display: inline-block; margin-left: 5px; border-radius: 999px; padding: 3px 7px; font-size: 11px; font-weight: 800; }
.proposed-tag { background: #e8f2fb; color: #2d648a; }
.participating-tag { background: var(--green-soft); color: var(--green); }
.success-empty { display: flex; flex-direction: column; gap: 7px; border-radius: 15px; background: #f4faf6; color: #4f6659; }
.success-empty b { color: var(--green-dark); font-size: 17px; }
.evidence-vault, .manager-details { padding: 0; overflow: hidden; }
.evidence-vault > summary, .manager-details > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 21px 25px; cursor: pointer; }
.evidence-vault > summary::-webkit-details-marker, .manager-details > summary::-webkit-details-marker { display: none; }
.evidence-vault > summary span:first-child, .manager-details > summary span:first-child { display: flex; flex-direction: column; gap: 4px; }
.evidence-vault > summary small, .manager-details > summary small { color: var(--muted); font-weight: 400; }
.summary-action { color: var(--green); font-weight: 800; white-space: nowrap; }
.evidence-vault[open] > summary, .manager-details[open] > summary { border-bottom: 1px solid var(--line); background: #fbfcfb; }
.evidence-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 24px 0; }
.evidence-tabs button { border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; background: white; color: var(--muted); font-weight: 800; }
.evidence-tabs button.active { border-color: var(--green-dark); background: var(--green-dark); color: white; }
.evidence-drawer-content { padding: 20px 24px 25px; }
.evidence-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.evidence-section-heading h3 { margin: 0 0 5px; }
.evidence-section-heading p { margin: 0; color: var(--muted); }
.evidence-section-heading > span { color: var(--muted); font-size: 13px; }
.interpretation-list { display: grid; gap: 13px; }
.interpretation-card { border: 1px solid #e3cf9f; border-left: 5px solid #d1a64c; border-radius: 16px; padding: 18px; background: #fffdf8; }
.interpretation-card.confirmed { border-color: #bad9c7; border-left-color: var(--green); background: #f7fcf9; }
.interpretation-card.corrected { border-color: #b9cfdf; border-left-color: var(--blue); background: #f8fbfd; }
.interpretation-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.speech-type, .interpretation-status { border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 900; }
.speech-type { background: #f0e9d8; color: #76591f; }
.interpretation-status { background: white; border: 1px solid #e5d8b8; color: #806329; }
.interpretation-card blockquote { margin: 14px 0; padding: 13px 15px; border-left: 4px solid #c9d7cf; border-radius: 0 12px 12px 0; background: white; color: #3c4d44; line-height: 1.7; }
.ai-reading, .system-impact, .member-correction { padding: 13px 15px; border-radius: 12px; background: #f2f6f4; margin-top: 9px; }
.system-impact { background: #edf4f0; }
.member-correction { background: #eaf2f8; }
.ai-reading small, .system-impact small, .member-correction small { color: var(--muted); font-weight: 800; }
.ai-reading p, .system-impact p, .member-correction p { margin: 5px 0 0; line-height: 1.6; }
.interpretation-card .button-row { margin-top: 14px; }
.own-statements { margin-top: 17px; border-top: 1px solid var(--line); padding-top: 14px; }
.own-statements summary { cursor: pointer; color: var(--green); font-weight: 800; }
.own-statements p { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 11px 0; margin: 0; border-bottom: 1px dashed #e0e5e2; line-height: 1.55; }
.own-statements p span { color: var(--muted); font-size: 12px; }
.strategist-evidence-summary { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.strategist-evidence-summary > div { border-radius: 16px; padding: 19px; background: #f4f8f5; }
.strategist-evidence-summary h3 { margin: 7px 0; line-height: 1.45; }
.strategist-evidence-summary p { color: var(--muted); line-height: 1.6; }
.evidence-counts { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.evidence-counts span { border-radius: 12px; background: white; padding: 12px; color: var(--muted); }
.evidence-counts b { display: block; color: var(--green-dark); font-size: 22px; }
.raw-evidence-warning { display: flex; flex-direction: column; gap: 5px; border-radius: 13px; padding: 14px 16px; background: #fff7e8; color: #70551f; }
.raw-evidence-groups { display: grid; gap: 10px; margin-top: 14px; }
.raw-evidence-groups > details { border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; }
.raw-evidence-groups summary { cursor: pointer; font-weight: 800; }
.raw-row { padding: 12px 0; border-bottom: 1px dashed #dfe5e1; }
.raw-row:last-child { border-bottom: 0; }
.raw-row b, .raw-row small { display: block; }
.raw-row p { margin: 5px 0; line-height: 1.55; }
.raw-row small { color: var(--muted); }
.manager-details-body { padding: 24px; }
.manager-details-body .case-hero { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.embedded-panel { padding: 22px 0; border-bottom: 1px solid var(--line); }
.manager-timeline-heading { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.interpretation-source-preview { padding: 15px; border-radius: 13px; background: #f3f6f4; }
.interpretation-source-preview small { display: block; color: var(--muted); font-weight: 800; }
.interpretation-source-preview p { margin: 5px 0 13px; line-height: 1.6; }
.case-hero h2 { margin: 10px 0 4px; font-size: 30px; }
.case-meta { color: var(--muted); margin-bottom: 22px; }
.objective-box { border-left: 5px solid var(--green); border-radius: 0 15px 15px 0; background: #f6f9f7; padding: 20px 22px; margin: 20px 0; }
.objective-box small { display: block; color: var(--green); font-weight: 800; margin-bottom: 8px; }
.objective-box strong { font-size: 21px; line-height: 1.55; }
.success-criteria { line-height: 1.7; }
.round-layout { display: grid; grid-template-columns: 72px 1fr; gap: 22px; margin-top: 18px; }
.round-number { width: 68px; height: 68px; border-radius: 18px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 30px; font-weight: 900; }
.round-layout h3 { font-size: 23px; margin: 0 0 10px; }
.round-layout p { color: #415047; line-height: 1.72; margin: 0; }
.participant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.participant { border: 1px solid #e2e8e4; border-radius: 15px; padding: 16px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; }
.participant-avatar { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-weight: 900; }
.participant b { display: inline-block; margin-right: 6px; }
.participant small { color: var(--muted); }
.participant p { grid-column: 2; margin: -5px 0 0; color: #506058; line-height: 1.55; }
.external-tag { color: var(--orange); font-size: 12px; font-weight: 800; }
.timeline { position: relative; padding-left: 20px; margin-top: 18px; }
.timeline::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 2px; background: #dde5e0; }
.timeline-item { position: relative; padding: 0 0 18px 18px; }
.timeline-item::before { content: ""; position: absolute; left: -20px; top: 7px; width: 11px; height: 11px; border-radius: 50%; background: var(--green); border: 3px solid white; box-shadow: 0 0 0 1px var(--green); }
.timeline-item b { display: block; }
.timeline-item small { color: var(--muted); }

.fact-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 20px; }
.fact-stat { border-radius: 17px; padding: 18px; background: white; border: 1px solid var(--line); }
.fact-stat b { font-size: 28px; display: block; }
.fact-stat span { color: var(--muted); }
.fact-heading { align-items: center; }
.filter-tabs { display: flex; gap: 7px; flex-wrap: wrap; }
.filter-tabs button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px; background: white; color: var(--muted); }
.filter-tabs button.active { background: var(--green-dark); color: white; border-color: var(--green-dark); }
.fact-list { display: grid; gap: 11px; margin-top: 18px; }
.fact-card { border: 1px solid #e1e7e3; border-radius: 15px; padding: 17px; }
.fact-card.needs { border-left: 5px solid var(--orange); }
.fact-card.opinion { border-left: 5px solid #9a7c9d; }
.fact-card.confirmed { border-left: 5px solid var(--green); }
.fact-card p { margin: 9px 0; line-height: 1.6; }
.fact-card small { color: var(--muted); }
.query-panel { margin-top: 18px; }
.query-evidence-list { display: grid; gap: 11px; margin-top: 16px; }
.query-evidence-card { border: 1px solid #dfe7e2; border-radius: 15px; padding: 15px 17px; background: #fbfcfb; }
.query-evidence-card > div { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.query-evidence-card > div small { color: var(--muted); margin-left: auto; }
.query-evidence-card p { margin: 11px 0 7px; font-size: 16px; line-height: 1.6; }
.query-evidence-card summary { cursor: pointer; color: var(--green); font-weight: 700; }
.query-evidence-card pre { white-space: pre-wrap; word-break: break-word; max-height: 260px; overflow: auto; background: #f1f5f2; border-radius: 11px; padding: 12px; line-height: 1.55; }

/* 事实回流工坊：独立于秘书长，只呈现材料、校对和慧能核验管道。 */
.strategist.suppressed-for-facts, .strategist.suppressed-for-workshop { display: none !important; }
.fact-stream-intro { align-items: center; }
.fact-stream-intro > div { max-width: 900px; }
.fact-import-button { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; cursor: pointer; }
.fact-principle-banner { display: grid; grid-template-columns: 62px minmax(360px, 1fr) minmax(260px, .72fr); gap: 20px; align-items: center; margin-bottom: 18px; padding: 25px 27px; border: 1px solid #b9d9c7; border-radius: 23px; background: linear-gradient(135deg, #143f2d 0%, #0f7448 100%); color: white; box-shadow: 0 12px 30px rgba(18,72,47,.12); }
.fact-principle-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: rgba(255,255,255,.14); font-size: 25px; font-weight: 900; }
.fact-principle-banner .section-label { color: #a9e6c5; }
.fact-principle-banner h2 { margin: 5px 0 8px; font-size: 25px; }
.fact-principle-banner p { margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.65; }
.fact-principle-badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.fact-principle-badges span { padding: 9px 11px; border: 1px solid rgba(255,255,255,.17); border-radius: 11px; background: rgba(255,255,255,.09); color: #e6f7ed; font-size: 11px; font-weight: 800; text-align: center; }
.fact-flow-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }
.fact-flow-metrics article { min-width: 0; padding: 15px 16px; border: 1px solid #dce5df; border-radius: 16px; background: white; }
.fact-flow-metrics b, .fact-flow-metrics span, .fact-flow-metrics small { display: block; }
.fact-flow-metrics b { color: var(--green-dark); font-size: 25px; }
.fact-flow-metrics span { margin-top: 2px; font-size: 13px; font-weight: 900; }
.fact-flow-metrics small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.fact-intake-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 430px); gap: 18px; align-items: start; }
.fact-intake-main, .fact-agent-column { min-width: 0; }
.fact-intake-main > .panel { margin-bottom: 18px; }
.fact-source-heading { align-items: center; }
.fact-private-note { padding: 7px 10px; border-radius: 999px; color: #53665b; background: #edf3ef; font-size: 10px; font-weight: 800; white-space: nowrap; }
.fact-dropzone { min-height: 118px; margin-top: 18px; padding: 20px; border: 2px dashed #a9cdb9; border-radius: 18px; background: #f5fbf7; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; cursor: pointer; transition: .15s ease; }
.fact-dropzone:hover, .fact-dropzone.dragging { border-color: var(--green); background: #edf8f1; transform: translateY(-1px); }
.fact-dropzone-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; color: white; background: var(--green); font-size: 22px; }
.fact-dropzone b { font-size: 15px; }
.fact-dropzone small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.fact-source-connectors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
.fact-source-connectors button { min-width: 0; display: grid; grid-template-columns: 35px minmax(0,1fr); gap: 2px 9px; align-items: center; padding: 11px; border: 1px solid #dfe6e1; border-radius: 13px; background: white; color: var(--ink); text-align: left; }
.fact-source-connectors button:hover { border-color: #9bc5ad; background: #fafdfb; }
.fact-source-connectors button > span { grid-row: 1 / 3; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--green); background: var(--green-soft); font-size: 11px; font-weight: 900; }
.fact-source-connectors b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.fact-source-connectors small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.fact-queue-heading { align-items: center; }
.fact-flow-filters { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.fact-flow-filters button { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: white; font-size: 10px; font-weight: 800; }
.fact-flow-filters button.active { color: white; border-color: var(--green-dark); background: var(--green-dark); }
.fact-material-list { display: grid; gap: 9px; margin-top: 17px; }
.fact-material-card { width: 100%; min-width: 0; display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 14px; border: 1px solid #dfe6e1; border-radius: 15px; color: var(--ink); background: white; text-align: left; }
.fact-material-card:hover, .fact-material-card.active { border-color: #8fc2a5; background: #f8fcf9; box-shadow: 0 7px 18px rgba(25,89,57,.055); }
.fact-material-card.active { box-shadow: inset 3px 0 0 var(--green); }
.fact-material-icon, .fact-kind-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.fact-material-card small { color: var(--muted); font-size: 9px; }
.fact-material-card h3 { margin: 3px 0 5px; font-size: 14px; line-height: 1.35; }
.fact-material-card p { margin: 0; color: #56675e; font-size: 10px; line-height: 1.5; }
.fact-material-card footer { display: flex; flex-wrap: wrap; gap: 5px 13px; margin-top: 9px; color: #78867e; font-size: 9px; }
.fact-material-status { display: inline-flex; align-items: center; justify-content: center; padding: 5px 7px; border-radius: 999px; color: #6b766f; background: #eef1ef; font-size: 9px; font-style: normal; font-weight: 900; white-space: nowrap; }
.fact-material-status.review { color: #8b5e1b; background: #fff0d7; }
.fact-material-status.processing { color: #2f648b; background: #e5f0f7; }
.fact-material-status.verifying { color: #3d5f91; background: #e7edf8; }
.fact-material-status.conflict { color: #a4473b; background: #fde9e5; }
.fact-material-status.returned { color: #0d7547; background: #e2f3e9; }
.fact-material-status.excluded { color: #7d8580; background: #ecefed; }
.fact-cross-evidence { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.fact-cross-card { min-width: 0; padding: 14px; border: 1px solid #dde5e0; border-radius: 14px; background: #fafcfb; }
.fact-cross-card.different { border-color: #e8b9ae; background: #fff8f6; }
.fact-cross-card > div { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 9px; }
.fact-cross-card > div b { color: var(--ink); }
.fact-cross-card p { margin: 10px 0; font-size: 12px; line-height: 1.55; }
.fact-cross-card > small { color: var(--green); font-size: 9px; font-weight: 800; }
.fact-machine-drawer { padding: 0; overflow: hidden; }
.fact-machine-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 21px; cursor: pointer; }
.fact-machine-drawer > summary b, .fact-machine-drawer > summary small { display: block; }
.fact-machine-drawer > summary small { margin-top: 4px; color: var(--muted); font-size: 10px; font-weight: 400; }
.fact-machine-drawer > summary > span:last-child { color: var(--green); font-size: 10px; font-weight: 800; }
.fact-machine-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; padding: 18px 21px 21px; border-top: 1px solid var(--line); }
.fact-machine-grid article { min-width: 0; padding: 12px; border-radius: 13px; background: #f4f7f5; }
.fact-machine-grid small, .fact-machine-grid b { display: block; }
.fact-machine-grid small { color: var(--muted); font-size: 9px; }
.fact-machine-grid b { margin: 5px 0; color: var(--green-dark); font-size: 19px; }
.fact-machine-grid p { margin: 0; color: #617068; font-size: 9px; line-height: 1.5; }
/* 这一栏刻意不 sticky：钉住会把卡片锁在视口高度里，原始材料只剩一两行，
   校对根本没法看。改为随页面正常滚动，卡片按内容长多高就多高。 */
.fact-agent-column { position: static; }
/* 不绑视口高度：内容多就长，页面滚动就好，不要套内层滚动条。 */
.fact-agent-card { min-height: 640px; display: flex; flex-direction: column; border: 1px solid #bfd9c9; border-radius: 22px; overflow: hidden; background: white; box-shadow: 0 14px 35px rgba(21,72,47,.1); }
/* 固定高度的部分不参与压缩。 */
.fact-agent-card > header,
.fact-agent-boundary,
.fact-agent-quick,
.fact-agent-composer { flex: 0 0 auto; }
/* 原始材料按内容完整展开——这是员工要校对的东西，不该藏在内层滚动条里。
   放大态是独立的固定尺寸排版，那里仍然需要内滚。 */
.fact-agent-card:not(.expanded) .fact-material-detail { flex: 1 0 auto; overflow: visible; }
.fact-agent-messages { flex: 0 0 auto; min-height: 132px; }
.fact-agent-card > header { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 17px 18px; border-bottom: 1px solid var(--line); }
.fact-agent-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: var(--green-dark); font-weight: 900; }
.fact-agent-card > header strong, .fact-agent-card > header small { display: block; }
.fact-agent-card > header strong { font-size: 15px; }
.fact-agent-card > header small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.fact-agent-header-actions { display: flex; align-items: center; gap: 8px; }
.fact-agent-header-actions button { display: flex; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid #cfe0d6; border-radius: 9px; color: var(--green-dark); background: #f7fbf8; font-size: 9px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.fact-agent-header-actions button:hover { border-color: var(--green); background: #eaf6ef; }
.fact-agent-boundary { margin: 12px 14px 0; padding: 10px 12px; border-radius: 12px; color: #3e6551; background: #eaf6ef; font-size: 9px; line-height: 1.55; }
.fact-material-detail { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 14px; }
.fact-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.fact-detail-heading > div { min-width: 0; display: flex; gap: 10px; align-items: center; }
.fact-detail-heading small { color: var(--muted); font-size: 9px; }
.fact-detail-heading h3 { margin: 3px 0 0; font-size: 15px; line-height: 1.35; }
.fact-detail-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin: 12px 0; }
.fact-detail-meta span { min-width: 0; padding: 8px; border-radius: 10px; background: #f3f6f4; }
.fact-detail-meta small, .fact-detail-meta b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fact-detail-meta small { color: var(--muted); font-size: 8px; }
.fact-detail-meta b { margin-top: 3px; font-size: 9px; }
.fact-raw-label { display: flex; justify-content: space-between; gap: 10px; margin: 13px 0 8px; }
.fact-raw-label span { font-size: 10px; font-weight: 900; }
.fact-raw-label small { color: var(--muted); font-size: 8px; }
.fact-audio-player { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 9px; border-radius: 11px; background: #163e2d; color: white; }
.fact-audio-player button { width: 29px; height: 29px; border: 0; border-radius: 50%; color: var(--green-dark); background: white; font-size: 10px; }
.fact-audio-player time { font-size: 8px; }
.fact-waveform { height: 30px; display: flex; align-items: center; gap: 2px; overflow: hidden; }
.fact-waveform i { width: 2px; min-height: 5px; flex: 1; border-radius: 2px; background: #78d9a3; }
.fact-transcript { display: grid; gap: 6px; margin-top: 8px; }
.fact-transcript p { display: grid; grid-template-columns: 38px 64px minmax(0,1fr); gap: 6px; margin: 0; padding: 8px; border-radius: 9px; background: #f5f7f6; font-size: 8px; line-height: 1.5; }
.fact-transcript time { color: var(--green); font-weight: 800; }
.fact-chat-preview { padding: 10px; border-radius: 12px; background: #edf2ef; }
.fact-chat-preview > div { max-width: 88%; margin-bottom: 7px; }
.fact-chat-preview > div.mine { margin-left: auto; text-align: right; }
.fact-chat-preview small { color: var(--muted); font-size: 8px; }
.fact-chat-preview p { display: inline-block; margin: 3px 0 0; padding: 8px 10px; border-radius: 10px; background: white; font-size: 9px; line-height: 1.5; text-align: left; }
.fact-chat-preview .mine p { background: #dff3e7; }
.fact-package-preview { display: grid; gap: 5px; padding: 11px; border-radius: 12px; color: #d9f1e3; background: #17382a; }
.fact-package-preview > div { margin-bottom: 5px; }
.fact-package-preview b, .fact-package-preview small { display: block; }
.fact-package-preview small { margin-top: 3px; color: #9bc4ad; font-size: 8px; }
.fact-package-preview code { overflow: hidden; padding: 4px 6px; border-radius: 6px; color: #d6eadf; background: rgba(255,255,255,.06); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.fact-image-tiles { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; }
.fact-image-tiles span { aspect-ratio: 1.35; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border-radius: 8px; color: #54725f; background: linear-gradient(135deg,#dbe6df,#f4f7f5); }
.fact-image-tiles span.defect { color: #9a4a3e; background: linear-gradient(135deg,#f4d9d4,#fff5f2); }
.fact-image-tiles i { font-style: normal; font-size: 10px; font-weight: 900; }
.fact-image-tiles small { font-size: 6px; }
.fact-image-counts { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-top: 6px; }
.fact-image-counts span { padding: 7px; border-radius: 8px; color: var(--muted); background: #f4f6f4; font-size: 7px; }
.fact-image-counts b { display: block; color: var(--green-dark); font-size: 13px; }
.fact-file-preview { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 10px; padding: 12px; border: 1px solid #dfe5e1; border-radius: 12px; }
.fact-file-preview > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.fact-file-preview small { display: block; color: var(--muted); font-size: 8px; }
.fact-file-preview p { margin: 7px 0 0; color: #5d6b64; font-size: 8px; line-height: 1.5; }
.fact-extracted-strip { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.fact-extracted-strip span { padding: 5px 7px; border-radius: 999px; color: #397055; background: #e8f4ed; font-size: 7px; font-weight: 800; }
.fact-material-issues { margin-top: 9px; padding: 9px; border-radius: 10px; color: #80591f; background: #fff4df; }
.fact-material-issues b { font-size: 8px; }
.fact-material-issues p { margin: 3px 0 0; font-size: 8px; line-height: 1.45; }
.fact-analysis-editor { margin-top: 14px; padding: 13px; border: 1px solid #b9d7c6; border-radius: 13px; background: #f7fbf8; }
.fact-analysis-editor > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.fact-analysis-editor span { color: var(--green-dark); font-size: 13px; font-weight: 900; }
.fact-analysis-editor small { color: #4f6258; font-size: 11px; }
.fact-analysis-editor textarea { width: 100%; min-height: 260px; resize: vertical; padding: 12px 13px; border: 1px solid #cad8d0; border-radius: 10px; color: #17241e; background: white; font-size: 13px; line-height: 1.75; }
.fact-direct-return { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: center; margin-top: 11px; padding: 10px 12px; border-radius: 11px; color: #214b35; background: #e6f5ec; }
.fact-direct-return > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: white; background: var(--green); font-weight: 900; }
.fact-direct-return b, .fact-direct-return small { display: block; }
.fact-direct-return b { font-size: 12px; }
.fact-direct-return small { margin-top: 3px; color: #486052; font-size: 10px; line-height: 1.5; }
.fact-detail-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 10px; }
.fact-detail-actions button { padding: 7px 9px; font-size: 8px; }
.fact-agent-quick { display: flex; gap: 5px; padding: 0 14px 8px; overflow-x: auto; }
.fact-agent-quick button { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: white; font-size: 8px; }
/* 对话记录会一直增长，必须有上限；但 165px 太局促，放宽到能看清几个来回。 */
.fact-agent-messages { max-height: 300px; overflow: auto; display: grid; gap: 7px; padding: 10px 14px; border-top: 1px solid var(--line); background: #f8faf8; }
.fact-agent-message { max-width: 90%; padding: 8px 9px; border-radius: 10px; background: white; }
.fact-agent-message.user { margin-left: auto; background: #e0eef9; }
.fact-agent-message p { margin: 0; font-size: 9px; line-height: 1.55; }
.fact-agent-message small { display: block; margin-top: 5px; color: #829087; font-size: 7px; }
.fact-agent-composer { padding: 10px 14px 13px; border-top: 1px solid var(--line); }
.fact-agent-composer textarea { width: 100%; min-height: 58px; resize: vertical; padding: 9px; border: 1px solid #d5ded8; border-radius: 10px; line-height: 1.5; font-size: 9px; }
.fact-agent-composer > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 7px; }
.fact-agent-composer small { color: var(--muted); font-size: 7px; }
.fact-agent-composer button { padding: 7px 12px; font-size: 9px; }
body.fact-agent-expanded { overflow: hidden; }
.fact-agent-card.expanded { position: fixed; inset: 18px; z-index: 120; max-height: none; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(390px, .8fr); grid-template-rows: auto auto auto minmax(0, 1fr) auto; column-gap: 0; border-radius: 24px; box-shadow: 0 0 0 100vmax rgba(16, 37, 27, .42), 0 28px 90px rgba(8, 40, 23, .32); }
.fact-agent-card.expanded > header { grid-column: 1 / -1; padding: 17px 22px; }
.fact-agent-card.expanded .fact-agent-header-actions button { padding: 8px 12px; font-size: 11px; }
.fact-agent-card.expanded .fact-agent-boundary { grid-column: 1 / -1; margin: 12px 18px 0; font-size: 10px; }
.fact-agent-card.expanded .fact-material-detail { grid-column: 1; grid-row: 3 / 6; margin-top: 12px; padding: 18px 22px 24px; border-right: 1px solid var(--line); font-size: 13px; }
.fact-agent-card.expanded .fact-detail-heading h3 { font-size: 22px; }
.fact-agent-card.expanded .fact-detail-heading small,
.fact-agent-card.expanded .fact-detail-meta small,
.fact-agent-card.expanded .fact-raw-label small { font-size: 10px; }
.fact-agent-card.expanded .fact-detail-meta b { font-size: 13px; }
.fact-agent-card.expanded .fact-transcript p,
.fact-agent-card.expanded .fact-chat-preview p,
.fact-agent-card.expanded .fact-package-preview code { font-size: 13px; }
.fact-agent-card.expanded .fact-agent-quick { grid-column: 2; grid-row: 3; padding: 14px 18px 10px; }
.fact-agent-card.expanded .fact-agent-quick button { padding: 7px 10px; font-size: 10px; }
.fact-agent-card.expanded .fact-agent-messages { grid-column: 2; grid-row: 4; max-height: none; padding: 14px 18px; }
.fact-agent-card.expanded .fact-agent-message p { font-size: 13px; }
.fact-agent-card.expanded .fact-agent-message small { font-size: 9px; }
.fact-agent-card.expanded .fact-agent-composer { grid-column: 2; grid-row: 5; padding: 12px 18px 18px; }
.fact-agent-card.expanded .fact-agent-composer textarea { min-height: 94px; max-height: 220px; font-size: 13px; }
.fact-agent-card.expanded .fact-agent-composer small,
.fact-agent-card.expanded .fact-agent-composer button { font-size: 10px; }

/* 事实页用于长时间校对，字号和颜色独立提高，不再使用弱对比的小型说明字。 */
[data-view-panel="facts"] { color: #14231b; }
.fact-stream-intro p { color: #4d6056; font-size: 15px; line-height: 1.65; }
.fact-principle-banner .section-label { font-size: 12px; }
.fact-principle-banner p { color: rgba(255,255,255,.91); font-size: 14px; }
.fact-principle-badges span { font-size: 12px; }
.fact-flow-metrics span { font-size: 15px; }
.fact-flow-metrics small { color: #52645a; font-size: 12px; }
.fact-private-note { color: #294c39; font-size: 12px; }
.fact-dropzone b { font-size: 17px; }
.fact-dropzone small { color: #4f6258; font-size: 12px; }
.fact-source-connectors b { font-size: 13px; }
.fact-source-connectors small { color: #52645a; font-size: 11px; }
.fact-flow-filters button { font-size: 12px; }
.fact-material-card small { color: #52645a; font-size: 11px; }
.fact-material-card h3 { font-size: 17px; }
.fact-material-card p { color: #334b3e; font-size: 13px; }
.fact-material-card footer { color: #586b60; font-size: 11px; }
.fact-material-status { font-size: 11px; }
.fact-cross-card > div { color: #52645a; font-size: 11px; }
.fact-cross-card p { font-size: 14px; }
.fact-cross-card > small { font-size: 11px; }
.fact-machine-drawer > summary small,
.fact-machine-drawer > summary > span:last-child { color: #4f6258; font-size: 12px; }
.fact-agent-card > header strong { font-size: 17px; }
.fact-agent-card > header small { color: #52645a; font-size: 11px; }
.fact-agent-header-actions button { font-size: 11px; }
.fact-agent-boundary { color: #284e39; font-size: 11px; }
.fact-detail-heading small { color: #52645a; font-size: 11px; }
.fact-detail-heading h3 { font-size: 18px; }
.fact-detail-meta small { color: #52645a; font-size: 10px; }
.fact-detail-meta b { font-size: 12px; }
.fact-raw-label span { font-size: 13px; }
.fact-raw-label small { color: #52645a; font-size: 10px; }
.fact-audio-player time { font-size: 10px; }
.fact-transcript p { grid-template-columns: 48px 78px minmax(0,1fr); font-size: 12px; }
.fact-chat-preview small { color: #52645a; font-size: 10px; }
.fact-chat-preview p { font-size: 12px; }
.fact-package-preview small,
.fact-package-preview code { font-size: 11px; }
.fact-image-tiles small { font-size: 9px; }
.fact-image-counts span { color: #52645a; font-size: 10px; }
.fact-file-preview small { color: #52645a; font-size: 10px; }
.fact-file-preview p { color: #3f5549; font-size: 11px; }
.fact-extracted-strip span { font-size: 10px; }
.fact-material-issues b,
.fact-material-issues p { font-size: 11px; }
.fact-detail-actions button { padding: 9px 13px; font-size: 12px; }
.fact-agent-quick button { font-size: 10px; }
.fact-agent-message p { font-size: 12px; }
.fact-agent-message small { color: #5b6c62; font-size: 9px; }
.fact-agent-composer textarea { font-size: 12px; }
.fact-agent-composer small,
.fact-agent-composer button { font-size: 10px; }
.fact-agent-card.expanded .fact-analysis-editor textarea { min-height: 310px; font-size: 14px; }
.fact-agent-card.expanded .fact-analysis-editor span { font-size: 15px; }
.fact-agent-card.expanded .fact-agent-message p,
.fact-agent-card.expanded .fact-agent-composer textarea,
.fact-agent-card.expanded .fact-transcript p,
.fact-agent-card.expanded .fact-chat-preview p,
.fact-agent-card.expanded .fact-package-preview code { font-size: 14px; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.capability-card { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 23px; }
.capability-card h3 { margin: 12px 0 8px; font-size: 23px; }
.capability-card p { color: var(--muted); line-height: 1.65; min-height: 82px; }
.capability-meta { display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid #edf0ee; padding-top: 14px; margin-top: 16px; color: var(--muted); font-size: 14px; }

.goal-focus-panel { border-left: 5px solid var(--green); }
.goal-focus-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.goal-focus-head h2 { margin: 5px 0 0; font-size: 26px; }
.goal-focus-objective { margin: 18px 0; font-size: 18px; line-height: 1.7; color: #35453c; }
.goal-focus-meta { display: grid; grid-template-columns: 1.4fr 1fr .7fr; gap: 12px; }
.goal-focus-meta span { border-radius: 13px; background: #f5f8f6; padding: 13px 15px; color: var(--muted); }
.goal-focus-meta b { display: block; color: var(--green-dark); font-size: 13px; margin-bottom: 4px; }
.goal-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 22px; }
.goal-card { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 23px; box-shadow: 0 8px 25px rgba(22,52,36,.04); }
.goal-card.completed { opacity: .72; }
.goal-card-top, .goal-card-meta, .preference-top, .preference-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.goal-horizon { color: var(--muted); font-size: 13px; font-weight: 800; }
.goal-card h3, .preference-card h3 { margin: 14px 0 8px; font-size: 23px; }
.goal-card > p { min-height: 58px; color: #536159; line-height: 1.65; }
.goal-stage { background: #f5f8f6; border-radius: 14px; padding: 13px 15px; margin-top: 16px; }
.goal-stage small { display: block; color: var(--muted); margin-bottom: 5px; }
.goal-stage b { line-height: 1.45; }
.goal-progress { height: 7px; border-radius: 999px; overflow: hidden; background: #e6ebe7; margin: 18px 0 9px; }
.goal-progress span { display: block; height: 100%; background: var(--green); border-radius: inherit; }
.goal-card-meta { color: var(--muted); font-size: 13px; }
.followup-panel { margin-top: 4px; }
.followup-list { display: grid; gap: 14px; margin-top: 17px; }
.followup-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); padding-bottom: 0; }
.followup-tab { border: 1px solid transparent; border-bottom: 0; background: transparent; border-radius: 12px 12px 0 0; padding: 10px 16px; margin-bottom: -1px; display: flex; align-items: center; gap: 8px; color: #5d6963; font-weight: 700; font-size: 15px; }
.followup-tab:hover { background: #eef3f0; color: var(--ink); }
.followup-tab.active { background: white; border-color: var(--line); border-bottom: 1px solid white; color: var(--green); }
.followup-tab em { font-style: normal; min-width: 22px; padding: 1px 6px; border-radius: 999px; background: #edf1ee; color: #6b756f; font-size: 12px; font-weight: 800; text-align: center; }
.followup-tab.active em { background: var(--green-soft); color: var(--green-dark); }
.followup-tab-panel { display: grid; gap: 10px; }
.followup-tab-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.followup-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 4px 0; border-top: 1px solid #eef2f0; }
.followup-pager span { color: var(--muted); font-size: 12px; }
.followup-pager button[disabled] { opacity: .35; cursor: default; }
.followup-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 13px; align-items: start; border: 1px solid #e1e7e3; border-radius: 15px; padding: 15px; }
.followup-row.done { opacity: .6; }
.followup-row.done b { text-decoration: line-through; }
.followup-check { width: 34px; height: 34px; border: 1px solid #b9c8bf; border-radius: 10px; background: white; color: white; font-weight: 900; }
.followup-row.done .followup-check { background: var(--green); border-color: var(--green); }
.followup-row b, .followup-row small { display: block; }
.followup-row small { color: var(--muted); margin-top: 5px; }
.followup-row p { margin: 8px 0 0; color: #536159; line-height: 1.55; }
.followup-status { border-radius: 999px; padding: 5px 10px; background: #edf1ee; color: var(--muted); font-size: 12px; font-weight: 800; }
.followup-status.waiting { background: #fff1d9; color: #935b08; }
.followup-status.done { background: #dff3e7; color: #17683f; }
.preference-boundary { background: #fff7e8; border: 1px solid #f0d9a8; color: #6f531d; border-radius: 15px; padding: 15px 18px; margin-bottom: 18px; line-height: 1.6; }
.preference-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.preference-card { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 22px; }
.preference-card.candidate { border-color: #e2bd6f; box-shadow: inset 0 3px 0 #e2bd6f; }
.preference-status { color: var(--green); font-size: 13px; font-weight: 800; }
.preference-card.candidate .preference-status { color: #9a6711; }
.preference-card > p { color: #435148; line-height: 1.7; min-height: 56px; }
.preference-card blockquote { margin: 15px 0; border-left: 4px solid #b8d8c6; background: #f5f8f6; border-radius: 0 12px 12px 0; padding: 13px 15px; color: #425148; line-height: 1.65; }
.preference-meta { color: var(--muted); font-size: 13px; border-top: 1px solid #edf0ee; padding-top: 13px; }

.strategist { position: fixed; z-index: 60; width: var(--strategist-width); height: min(780px, calc(100vh - 36px)); background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 24px 70px rgba(18, 43, 29, .22); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.strategist > header { min-height: 92px; padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 12px; cursor: move; user-select: none; }
.strategist-title { min-width: 0; flex: 1; }
.strategist-title small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.strategist-window-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.strategist-window-actions button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: #f7faf8; color: var(--green-dark); font-size: 19px; font-weight: 900; line-height: 1; }
.strategist-window-actions #strategistMaximize { width: auto; min-width: 82px; padding: 0 12px; font-size: 13px; }
.strategist-window-actions button:hover { border-color: var(--green); background: var(--green-soft); }
.strategist-toolbar { min-height: 48px; padding: 7px 18px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 12px; }
.workline-toggle { min-width: 0; max-width: calc(100% - 176px); height: 34px; display: flex; align-items: center; gap: 7px; border: 1px solid #cfe0d6; border-radius: 11px; padding: 0 10px; background: #f6faf7; color: #315844; text-align: left; }
.workline-toggle:hover, .workline-toggle[aria-expanded="true"] { border-color: var(--green); background: var(--green-soft); }
.workline-toggle > span { flex: 0 0 auto; color: #66766e; font-size: 11px; font-weight: 800; }
.workline-toggle > b { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 7px; background: var(--green); color: white; font-size: 10px; }
.workline-toggle > i { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--green-dark); font-size: 12px; font-style: normal; font-weight: 900; }
.workline-toggle > em { margin-left: auto; color: #799086; font-size: 13px; font-style: normal; }
.workline-drawer { position: absolute; z-index: 12; top: 142px; left: 18px; right: 18px; max-height: calc(100% - 166px); overflow: hidden; border: 1px solid #cbdad1; border-radius: 17px; background: rgba(255,255,255,.98); box-shadow: 0 22px 55px rgba(18,43,29,.22); }
.workline-drawer[hidden] { display: none; }
.workline-drawer > header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; border-bottom: 1px solid #e2e8e4; background: #f7faf8; }
.workline-drawer > header b, .workline-drawer > header small { display: block; }
.workline-drawer > header b { font-size: 15px; }
.workline-drawer > header small { margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; }
.workline-drawer > header button { width: 30px; height: 30px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 9px; background: white; color: #64746b; font-size: 19px; line-height: 1; }
.workline-list { max-height: min(440px, calc(100vh - 290px)); overflow-y: auto; display: flex; flex-direction: column; gap: 7px; padding: 11px; scrollbar-width: thin; }
.workline-item { width: 100%; min-width: 0; height: 62px; flex: 0 0 62px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--ink); text-align: left; }
.workline-item:hover { border-color: #d6e2db; background: #f4f8f5; }
.workline-item.active { border-color: #9dc7ad; background: #e8f5ed; }
.workline-item > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: #e9efeb; color: #345b46; font-size: 13px; font-weight: 900; }
.workline-item.active > span { background: var(--green); color: white; }
.workline-item > div { min-width: 0; }
.workline-item strong, .workline-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workline-item strong { font-size: 13px; }
.workline-item small { margin-top: 3px; color: #718078; font-size: 10px; }
.workline-item > em { display: flex; align-items: center; gap: 5px; color: #6c7b73; font-size: 10px; font-style: normal; white-space: nowrap; }
.workline-item > em b { min-width: 19px; height: 19px; display: grid; place-items: center; border-radius: 7px; background: #f5e7c9; color: #8b5d12; font-size: 9px; }
.workline-new { width: calc(100% - 22px); margin: 0 11px 11px; border: 1px dashed #a9c8b5; border-radius: 11px; padding: 10px; background: #f8fbf9; color: var(--green); font-size: 12px; font-weight: 900; }
.workline-new:hover { border-style: solid; background: var(--green-soft); }
.strategist-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: var(--green-dark); color: white; font-weight: 900; font-size: 21px; }
.strategist header strong { display: block; font-size: 21px; }
.strategist header small { display: block; color: var(--muted); margin-top: 4px; font-size: 13px; }
.online-dot { width: 11px; height: 11px; flex: 0 0 auto; background: #2ebd73; border-radius: 50%; }
.strategist-summary { margin: 18px 18px 10px; padding: 14px 16px; border-radius: 16px; background: var(--green-soft); color: #21573d; line-height: 1.55; font-size: 14px; }
.strategist-context-label { display: block; margin-bottom: 5px; color: #3a7a5a; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.stream-card h4 { margin: 9px 0 7px; color: var(--ink); font-size: 17px; line-height: 1.35; }
.quick-prompts { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 18px 12px; }
.quick-prompts button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: white; color: #5a6861; font-size: 13px; }
.messages { flex: 1 1 auto; min-height: 140px; overflow-y: auto; padding: 12px 18px; display: flex; flex-direction: column; gap: 12px; }
.message { max-width: 94%; border-radius: 15px; padding: 11px 13px; line-height: 1.62; white-space: pre-wrap; font-size: 14px; }
.message.assistant { align-self: flex-start; background: #f1f3f1; border-bottom-left-radius: 5px; }
.message.user { align-self: flex-end; background: #e8f1fb; border-bottom-right-radius: 5px; }
.message small { display: block; color: #8a938e; margin-top: 5px; font-size: 10px; }
.source-row { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; white-space: normal; }
.source-chip { display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 7px; font-size: 10px; line-height: 1.35; font-weight: 750; background: #edf1ee; color: #58635d; }
.source-chip.success { background: #dff3e7; color: #17683f; }
.source-chip.warning { background: #fff1d9; color: #935b08; }
.source-chip.danger { background: #fde5e3; color: #a13c35; }
.source-chip.local { background: #e6eef9; color: #315e93; }
.source-chip.inference { background: #eee9f2; color: #6b5578; }
.chat-thinking { padding: 6px 22px; color: var(--muted); font-size: 13px; }
.chat-thinking span { display: inline-block; width: 8px; height: 8px; background: var(--green); border-radius: 50%; margin-right: 7px; animation: pulse 1s infinite alternate; }
@keyframes pulse { to { opacity: .2; } }
.chat-form { padding: 15px 18px 20px; border-top: 1px solid var(--line); background: white; }
.chat-form textarea { width: 100%; min-height: 64px; max-height: 42vh; resize: vertical; border: 1px solid #cfd8d2; border-radius: 15px; padding: 13px; line-height: 1.6; }
.chat-form-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 9px; }
.chat-input-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.chat-form span { color: var(--muted); font-size: 12px; }
.chat-form button { border: 0; border-radius: 12px; padding: 10px 20px; background: var(--green); color: white; font-weight: 800; }
.attachment-picker { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 10px; padding: 7px 9px; color: var(--green-dark); background: #f8faf9; font-size: 12px; font-weight: 800; cursor: pointer; }
.attachment-picker:hover { border-color: var(--green); background: var(--green-soft); }
.attachment-picker input { display: none; }
.chat-attachment-tray { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 9px; }
.chat-attachment-tray[hidden] { display: none; }
.attachment-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; border-radius: 10px; padding: 6px 8px; background: #edf4f0; color: #355545; font-size: 12px; }
.attachment-chip b { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attachment-chip button { width: 20px; height: 20px; padding: 0; border-radius: 50%; background: #d9e6df; color: #52675c; line-height: 1; }
.message-attachments { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.message-attachment { padding: 4px 7px; border-radius: 8px; background: rgba(255,255,255,.6); color: #4e6257; font-size: 10px; }

.strategist:not(.minimized):not(.maximized).worklines-open {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  grid-template-rows: auto auto auto auto minmax(140px, 1fr) auto auto;
  grid-template-areas:
    "header header"
    "toolbar toolbar"
    "rail summary"
    "rail quick"
    "rail messages"
    "rail thinking"
    "rail form";
}
.strategist:not(.minimized):not(.maximized).worklines-open > header { grid-area: header; }
.strategist:not(.minimized):not(.maximized).worklines-open .strategist-toolbar { grid-area: toolbar; }
.strategist:not(.minimized):not(.maximized).worklines-open .strategist-summary { grid-area: summary; margin: 13px 13px 8px; }
.strategist:not(.minimized):not(.maximized).worklines-open .quick-prompts { grid-area: quick; padding-left: 13px; padding-right: 13px; }
.strategist:not(.minimized):not(.maximized).worklines-open .messages { grid-area: messages; padding: 10px 13px; }
.strategist:not(.minimized):not(.maximized).worklines-open .chat-thinking { grid-area: thinking; }
.strategist:not(.minimized):not(.maximized).worklines-open .chat-form { grid-area: form; padding-left: 13px; padding-right: 13px; }
.strategist.worklines-open .workline-drawer {
  position: static;
  grid-area: rail;
  width: auto;
  height: 100%;
  min-height: 0;
  max-height: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-width: 0 1px 0 0;
  border-radius: 0;
  background: #f8faf9;
  box-shadow: none;
}
.strategist.worklines-open .workline-drawer > header { min-height: 60px; padding: 10px 11px; }
.strategist.worklines-open .workline-drawer > header b { font-size: 13px; }
.strategist.worklines-open .workline-drawer > header small { line-height: 1.35; }
.strategist.worklines-open .workline-list { min-height: 0; max-height: none; flex: 1; padding: 8px; }
.strategist.worklines-open .workline-item { grid-template-columns: 32px minmax(0, 1fr); gap: 8px; padding: 8px; }
.strategist.worklines-open .workline-item > span { width: 32px; height: 32px; }
.strategist.worklines-open .workline-item > em { grid-column: 2; justify-self: start; }
.strategist.worklines-open .workline-new { margin: 0 8px 9px; width: calc(100% - 16px); padding: 8px; font-size: 10px; }
.strategist.attention { box-shadow: inset 4px 0 0 var(--green); }
.strategist-resize-handle { position: absolute; right: 0; bottom: 0; z-index: 8; width: 42px; height: 42px; cursor: nwse-resize; touch-action: none; border-radius: 15px 0 18px 0; }
.strategist-resize-handle:hover { background: rgba(15, 122, 74, .08); }
.strategist-resize-handle::after { content: ''; position: absolute; right: 8px; bottom: 8px; width: 15px; height: 15px; border-right: 4px solid #71877b; border-bottom: 4px solid #71877b; border-radius: 0 0 4px 0; }
.strategist-resize-handle:hover::after, .strategist-resize-handle:focus-visible::after { border-color: var(--green); }
body.moving-strategist { cursor: move; user-select: none; }
body.resizing-strategist { cursor: nwse-resize; user-select: none; }
.strategist.minimized { left: 318px !important; top: auto !important; bottom: 18px !important; width: min(360px, calc(100vw - 20px)) !important; height: 70px !important; border-radius: 18px; }
.strategist.minimized > header { min-height: 70px; height: 70px; padding: 11px 14px; border-bottom: 0; }
.strategist.minimized .strategist-icon { width: 42px; height: 42px; }
.strategist.minimized .strategist-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; }
.strategist.minimized .strategist-title small { display: none; }
.strategist.minimized .strategist-window-actions #strategistMaximize { min-width: 72px; padding: 0 8px; }
.strategist.minimized .strategist-toolbar,
.strategist.minimized .workline-drawer,
.strategist.minimized .strategist-summary,
.strategist.minimized .quick-prompts,
.strategist.minimized .messages,
.strategist.minimized .chat-thinking,
.strategist.minimized .chat-form,
.strategist.minimized .strategist-resize-handle { display: none; }
@media (max-width: 1500px) { .strategist.minimized { left: 278px !important; } }
@media (max-width: 1120px) { .strategist.minimized { left: 253px !important; } }
@media (max-width: 900px) { .strategist.minimized { left: 104px !important; } }
@media (max-width: 520px) { .strategist.minimized { left: 10px !important; bottom: 10px !important; } }
.strategist.maximized {
  border-radius: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto auto minmax(240px, 1fr) auto auto;
  grid-template-areas:
    "header"
    "toolbar"
    "summary"
    "quick"
    "messages"
    "thinking"
    "form";
}
.strategist.maximized > header { grid-area: header; min-height: 78px; padding: 13px 22px; cursor: default; }
.strategist.maximized .strategist-toolbar { grid-area: toolbar; min-height: 44px; }
.strategist.maximized .workline-drawer { top: 132px; left: 22px; right: auto; width: min(390px, 34vw); max-height: calc(100% - 154px); }
.strategist.maximized .strategist-summary { grid-area: summary; margin: 18px 20px 10px 10px; align-self: start; }
.strategist.maximized .quick-prompts { grid-area: quick; padding: 18px 12px 10px 22px; align-self: start; }
.strategist.maximized .messages { grid-area: messages; min-height: 0; padding: 18px 24px; border-top: 1px solid #edf1ee; background: #fafcfb; }
.strategist.maximized .message { max-width: 78%; font-size: 17px; }
.strategist.maximized .chat-thinking { grid-area: thinking; padding-left: 24px; }
.strategist.maximized .chat-form { grid-area: form; padding: 16px 24px 22px; }
.strategist.maximized .chat-form textarea { min-height: 105px; }
.strategist.maximized .strategist-resize-handle { display: none; }
.strategist.maximized.worklines-open {
  grid-template-columns: 225px minmax(0, 1fr) minmax(320px, 30%);
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
  grid-template-areas:
    "header header header"
    "toolbar toolbar toolbar"
    "rail quick summary"
    "rail messages draft"
    "rail thinking draft"
    "rail form draft";
}
.strategist.maximized.worklines-open .workline-drawer { position: static; width: auto; max-height: none; }
.strategist.maximized.worklines-open .strategist-summary { margin: 18px 20px 10px 10px; }
.strategist.maximized.worklines-open .message { max-width: 86%; font-size: 15px; }

.workshop-studio { margin-bottom: 28px; padding: 24px; border: 1px solid #cfe0d6; border-radius: 22px; background: linear-gradient(145deg, #fff, #f3faf6); box-shadow: var(--shadow); }
.workshop-agent-panel { position: relative; margin: 0 0 28px; border: 1px solid #afd4be; border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(20, 76, 47, .12); overflow: hidden; }
.workshop-agent-header { min-height: 88px; padding: 18px 22px; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid #dce9e1; background: linear-gradient(110deg, #f1faf5, #fff 66%); }
.workshop-agent-icon { width: 50px; height: 50px; flex: 0 0 50px; border-radius: 16px; display: grid; place-items: center; background: var(--green-dark); color: #fff; font-size: 21px; font-weight: 900; }
.workshop-agent-title { min-width: 0; flex: 1; }
.workshop-agent-title h2 { margin: 2px 0 3px; font-size: 22px; }
.workshop-agent-title p { margin: 0; color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workshop-agent-online { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; background: #e3f5e9; color: #187047; font-size: 12px; font-weight: 800; }
.workshop-agent-online::before { content: '●'; margin-right: 6px; color: #2ab875; }
.workshop-agent-online.offline { background: #f3f3f0; color: #8a8f8b; }
.workshop-agent-online.offline::before { color: #a9ada9; }
.workshop-agent-body { padding: 18px 22px 20px; display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); grid-template-areas: 'object quick' 'object messages' 'object thinking' 'object form'; gap: 12px 18px; }
.workshop-agent-object { grid-area: object; align-self: stretch; padding: 16px; border-radius: 17px; background: #f1f7f3; display: flex; flex-direction: column; gap: 9px; }
.workshop-agent-object select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #bdd4c6; border-radius: 12px; background: #fff; color: var(--ink); }
.workshop-agent-object small { margin-top: 3px; color: var(--muted); line-height: 1.55; }
.workshop-agent-quick { grid-area: quick; display: flex; flex-wrap: wrap; gap: 8px; }
.workshop-agent-quick button { padding: 7px 12px; border: 1px solid #c9d9cf; border-radius: 999px; background: #fff; color: #486354; font-size: 12px; }
.workshop-agent-quick button:hover { border-color: var(--green); color: var(--green-dark); background: var(--green-soft); }
.workshop-agent-messages { grid-area: messages; min-height: 230px; max-height: 360px; overflow-y: auto; padding: 14px; border: 1px solid #e2e9e4; border-radius: 16px; background: #fbfcfb; display: flex; flex-direction: column; gap: 10px; scrollbar-width: thin; }
.workshop-agent-message { max-width: 86%; font-size: 14px; line-height: 1.6; }
.workshop-agent-message > div { padding: 11px 13px; border-radius: 15px; background: #eef3f0; }
.workshop-agent-message.user { align-self: flex-end; }
.workshop-agent-message.user > div { background: #e7f0fb; }
.workshop-agent-message small { display: block; margin: 4px 6px 0; color: #909c95; font-size: 10px; }
.workshop-agent-message.user small { text-align: right; }
.workshop-agent-empty { margin: auto; max-width: 520px; text-align: center; color: var(--muted); line-height: 1.6; }
.workshop-agent-empty b { color: var(--ink); font-size: 16px; }
.workshop-agent-thinking { grid-area: thinking; color: #347454; font-size: 12px; }
.workshop-agent-form { grid-area: form; }
.workshop-agent-form textarea { width: 100%; min-height: 82px; resize: vertical; padding: 13px 14px; border: 1px solid #bdd4c6; border-radius: 15px; color: var(--ink); font: inherit; line-height: 1.55; outline: 0; }
.workshop-agent-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23, 126, 78, .1); }
.workshop-agent-form > div { margin-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--muted); }
.workshop-agent-panel.collapsed .workshop-agent-body { display: none; }
.workshop-agent-panel.collapsed .workshop-agent-header { border-bottom: 0; }
.workshop-agent-panel.expanded { position: fixed; inset: 12px; z-index: 130; margin: 0; height: calc(100vh - 24px); display: flex; flex-direction: column; box-shadow: 0 30px 90px rgba(11, 38, 24, .3); }
.workshop-agent-panel.expanded .workshop-agent-body { min-height: 0; flex: 1; grid-template-columns: minmax(240px, 320px) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto auto; }
.workshop-agent-panel.expanded .workshop-agent-messages { min-height: 0; max-height: none; }
.workshop-agent-panel.expanded .workshop-agent-form textarea { min-height: 100px; }
.workshop-package-card.agent-focus { border-color: #2d9a63; box-shadow: 0 0 0 3px rgba(45, 154, 99, .12); }
.workshop-studio-head { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
.workshop-studio-head h2, .workshop-work-heading h2 { margin: 4px 0 8px; }
.workshop-studio-head p { margin: 0; color: var(--muted); line-height: 1.6; }
.workshop-package-metrics { display: flex; gap: 10px; flex: 0 0 auto; }
.workshop-package-metrics span { min-width: 86px; padding: 11px 13px; border: 1px solid #d8e7dd; border-radius: 14px; background: white; text-align: center; }
.workshop-package-metrics b, .workshop-package-metrics small { display: block; }
.workshop-package-metrics b { color: var(--green); font-size: 24px; }
.workshop-package-metrics small { color: var(--muted); margin-top: 2px; font-size: 12px; }
.workshop-package-toolbar { margin-top: 20px; padding-top: 18px; border-top: 1px solid #dfe9e2; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.workshop-package-toolbar small { color: var(--muted); }
.workshop-package-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.workshop-package-card { min-width: 0; padding: 19px; border: 1px solid #dbe4de; border-radius: 18px; background: white; }
.workshop-package-card.company { background: #f8fbf9; }
.workshop-package-card > header, .package-version { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.workshop-package-card > header > div { display: flex; align-items: center; gap: 7px; }
.workshop-package-card h3 { margin: 15px 0 7px; font-size: 20px; }
.workshop-package-card > p { min-height: 50px; margin: 0; color: #5f6f67; line-height: 1.55; }
.package-kind { padding: 5px 9px; border-radius: 8px; background: #e7f3ec; color: #126640; font-size: 12px; font-weight: 900; }
.package-kind.automation { color: #28638b; background: #e9f2f8; }
.package-status { padding: 5px 9px; border-radius: 999px; color: #637069; background: #edf0ee; font-size: 12px; font-weight: 800; }
.package-status.tested, .package-status.shared, .package-status.published { color: #126640; background: #e5f4eb; }
.package-status.submitted { color: #805b16; background: #fff1d4; }
.package-version { margin-top: 14px; padding-top: 12px; border-top: 1px dashed #dfe5e1; color: var(--muted); font-size: 13px; }
.package-version b { color: var(--ink); }
.package-test-result { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: #f2f6f3; }
.package-test-result summary { color: #176642; font-weight: 800; cursor: pointer; }
.package-test-result pre { max-height: 210px; margin: 10px 0 0; overflow: auto; white-space: pre-wrap; color: #4c5d54; font: inherit; font-size: 12px; line-height: 1.55; }
.package-test-empty, .package-shared-with { margin-top: 12px; color: var(--muted); font-size: 12px; }
.package-shared-with { color: #176642; }
.package-actions { margin-top: 15px; flex-wrap: wrap; }
.package-actions button { padding: 8px 11px; font-size: 13px; }
.workshop-package-empty { grid-column: 1 / -1; min-height: 140px; display: grid; place-items: center; align-content: center; text-align: center; }
.workshop-work-heading { margin: 28px 0 14px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.workshop-work-heading small { color: var(--muted); }
.workshop-banner { margin-top: 22px; padding: 18px 20px; border: 1px solid #cfe0d6; border-left: 5px solid var(--green); border-radius: 16px; background: #f7fbf8; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.workshop-banner h3 { margin: 5px 0 0; font-size: 20px; }
.workshop-ready, .workshop-unavailable { flex: 0 0 auto; font-size: 13px; font-weight: 800; }
.workshop-ready { color: var(--green); }
.workshop-unavailable { color: var(--orange); }
.ppt-brief-card { margin-top: 16px; padding: 20px; border-radius: 16px; background: #f1f5f2; display: grid; grid-template-columns: 1fr 1.5fr .5fr; gap: 18px; }
.ppt-brief-card > div { display: flex; flex-direction: column; gap: 6px; }
.ppt-brief-card small { color: var(--muted); }
.ppt-brief-card b { font-size: 16px; line-height: 1.45; }
.ppt-brief-card ol { grid-column: 1 / -1; margin: 4px 0 0; padding: 16px 0 0 24px; border-top: 1px solid #d7e1db; columns: 2; column-gap: 40px; }
.ppt-brief-card li { break-inside: avoid; margin-bottom: 8px; line-height: 1.5; }
.workshop-steps { margin: 18px 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.workshop-step { min-height: 94px; padding: 14px; border-right: 1px solid var(--line); background: #fafbf9; display: grid; grid-template-columns: 30px 1fr; align-content: center; gap: 4px 8px; }
.workshop-step:last-child { border-right: 0; }
.workshop-step > span { grid-row: 1 / 3; width: 28px; height: 28px; border-radius: 50%; background: #dfe6e2; display: grid; place-items: center; font-weight: 900; }
.workshop-step.done > span { background: var(--green); color: white; }
.workshop-step.current { background: var(--green-soft); }
.workshop-step b { font-size: 13px; line-height: 1.35; }
.workshop-step small { color: var(--muted); }
.ppt-preview { margin: 18px 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #f7f8f7; }
.ppt-preview img { display: block; width: 100%; max-height: 560px; object-fit: contain; border-radius: 10px; background: white; }
.ppt-preview figcaption { padding: 10px 4px 0; color: var(--muted); font-size: 13px; }
.artifact-row { margin: 15px 0; padding: 15px 17px; border: 1px solid #b9d5c5; border-radius: 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.artifact-row > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.artifact-row b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.artifact-row small { color: var(--muted); }
.artifact-row a { text-decoration: none; white-space: nowrap; }
.workshop-boundary, .workshop-dialog-note { padding: 12px 14px; border-radius: 12px; background: #f6f0e2; color: #745d25; font-size: 13px; line-height: 1.55; }
.workshop-error { margin: 16px 0; padding: 15px; border-radius: 13px; background: #fff0ed; color: #8c3329; }
.workshop-error p { margin: 6px 0 0; }

dialog { border: 0; padding: 0; border-radius: 22px; box-shadow: 0 26px 80px rgba(19,39,28,.3); width: min(680px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow: auto; }
dialog:has(.wide-dialog) { width: min(920px, calc(100vw - 40px)); }
dialog::backdrop { background: rgba(20,31,25,.45); backdrop-filter: blur(3px); }
.dialog-card { padding: 26px; display: flex; flex-direction: column; gap: 17px; }
.wide-dialog { width: auto; }
.dialog-heading, .dialog-subheading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.dialog-heading h2 { margin: 4px 0 0; }
.dialog-subheading { border-top: 1px solid var(--line); padding-top: 17px; }
.dialog-subheading h3 { margin: 0; }
.icon-button { border: 0; background: transparent; font-size: 30px; color: var(--muted); }
.dialog-card label { display: flex; flex-direction: column; gap: 7px; color: #4e5e55; font-weight: 700; }
.dialog-card input, .dialog-card select, .dialog-card textarea { width: 100%; border: 1px solid #cfd8d2; border-radius: 12px; padding: 11px 13px; color: var(--ink); font-weight: 400; line-height: 1.55; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 5px; }
.participant-edit-row { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 9px; margin-bottom: 9px; align-items: center; }
.participant-edit-row button { border: 0; background: #fff0f0; color: var(--red); border-radius: 10px; padding: 11px; }
.toast { position: fixed; left: 50%; bottom: 30px; z-index: 1000; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; background: #173d2d; color: white; border-radius: 13px; padding: 12px 18px; box-shadow: var(--shadow); transition: .2s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.toast.error { background: var(--red); }
.empty-state { color: var(--muted); text-align: center; padding: 35px 12px; }

.role-view-panel { border-left: 4px solid #2d8d68; }
.role-view-grid { display: grid; grid-template-columns: 1.15fr 1.2fr 1fr; gap: 14px; }
.role-view-grid > div { padding: 18px; border: 1px solid #dce8e1; border-radius: 16px; background: #f7faf8; }
.role-view-grid small { display: block; margin-bottom: 8px; color: #587069; font-weight: 700; }
.role-view-grid strong { display: block; font-size: 1.04rem; line-height: 1.65; }
.role-view-grid p, .role-view-grid ul { margin: 0; line-height: 1.65; color: #3d514c; }
.role-view-grid ul { padding-left: 20px; }
.proposal-workspace { border-top: 4px solid #177a58; }
.proposal-list { display: grid; gap: 18px; }
.proposal-card { padding: 22px; border: 1px solid #d8e4df; border-radius: 18px; background: #fff; box-shadow: 0 10px 26px rgba(26, 76, 58, .05); }
.proposal-card.evidence { border-color: #e5bd75; background: #fffdf8; }
.proposal-card.baseline { border-color: #48a67d; background: #f8fffb; }
.proposal-card.applied { border-color: #78b799; background: #f5fbf7; }
.proposal-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.proposal-card-head h3 { margin: 8px 0 5px; font-size: 1.28rem; }
.proposal-card-head small { color: #6b7d77; }
.proposal-type { padding: 4px 9px; border-radius: 999px; color: #146244; background: #e6f4ec; font-size: .82rem; font-weight: 800; }
.proposal-status { flex: none; padding: 7px 11px; border-radius: 999px; background: #eef3f0; color: #50665f; font-size: .84rem; font-weight: 800; }
.proposal-status.evidence { color: #8e5c13; background: #fff0d4; }
.proposal-status.reviewing { color: #255b8a; background: #e8f2fb; }
.proposal-status.baseline, .proposal-status.applied { color: #0b7049; background: #dcf2e6; }
.proposal-status.rejected, .proposal-status.deferred { color: #6f7472; background: #edf0ef; }
.proposal-judgement, .proposal-change, .baseline-draft { margin-top: 16px; padding: 15px 17px; border-radius: 14px; }
.proposal-judgement { background: #f2f6f4; }
.proposal-change { background: #eef8f3; border-left: 3px solid #2d946d; }
.baseline-draft { background: #e4f6ec; border: 1px solid #b5dfc8; }
.proposal-judgement small, .proposal-change small { color: #557169; font-weight: 800; }
.proposal-judgement p, .proposal-change p, .baseline-draft p { margin: 7px 0 0; line-height: 1.7; }
.proposal-card details { margin-top: 12px; color: #465b55; }
.proposal-card details > p { line-height: 1.7; }
.proposal-actions-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 18px; }
.danger-text { color: #a33c35 !important; }
.proposal-history > div { margin-top: 12px; border-left: 2px solid #d5e2dd; padding-left: 15px; }
.proposal-action-item { padding: 10px 0 12px; border-bottom: 1px dashed #dce5e1; }
.proposal-action-item:last-child { border-bottom: 0; }
.proposal-action-item b, .proposal-action-item span, .proposal-action-item small { display: block; }
.proposal-action-item span { color: #247656; font-size: .86rem; }
.proposal-action-item p { margin: 5px 0; line-height: 1.55; }
.proposal-action-item small { color: #7a8884; }
.baseline-warning { padding: 14px 16px; border: 1px solid #e2be78; border-radius: 13px; color: #74501a; background: #fff8e9; line-height: 1.55; }
.clear-proposal-focus { display: block; margin-top: 8px; padding: 3px 0; border: 0; color: #187250; background: transparent; font-weight: 800; cursor: pointer; }
.attachment-field input { padding: 9px; background: #f7faf8; }

/* Secretary board: the page is a cabinet and playbook board, not a large chat portrait. */
.secretary-intro { align-items: flex-end; padding: 4px 2px 0; }
.secretary-intro > div:first-child { max-width: 820px; }
.secretary-mode-switch, .agent-filter-tabs { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 13px; background: #eef2ef; }
.secretary-mode-switch button, .agent-filter-tabs button { border: 0; border-radius: 9px; padding: 9px 13px; background: transparent; color: #617069; font-size: 13px; font-weight: 800; }
.secretary-mode-switch button.active, .agent-filter-tabs button.active { background: white; color: var(--green); box-shadow: 0 4px 12px rgba(24,45,34,.08); }
.secretary-status-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.secretary-status-strip > div { min-width: 0; padding: 17px 18px; border: 1px solid #d7e2db; border-radius: 17px; background: white; }
.secretary-status-strip small { display: block; color: var(--muted); font-size: 12px; font-weight: 800; }
.secretary-status-strip b { display: inline-block; margin: 5px 8px 0 0; color: var(--green-dark); font-size: 27px; line-height: 1; }
.secretary-status-strip span { color: #68766f; font-size: 12px; line-height: 1.4; }
.secretary-panel-heading { align-items: center; }
[data-view-panel="secretary"] .agent-seat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
[data-view-panel="secretary"] .agent-seat { display: flex; min-height: 270px; flex-direction: column; padding: 19px; border-radius: 18px; }
[data-view-panel="secretary"] .agent-seat-head h3 { font-size: 17px; }
[data-view-panel="secretary"] .agent-seat-head small { font-size: 12px; }
[data-view-panel="secretary"] .agent-seat-head b { font-size: 11px; }
[data-view-panel="secretary"] .agent-seat > p { min-height: 44px; margin: 16px 0 11px; font-size: 14px; line-height: 1.6; }
.agent-specialties { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.agent-specialties span { padding: 5px 8px; border-radius: 999px; background: #e8f3ed; color: #37644e; font-size: 11px; font-weight: 800; }
.agent-seat-details { margin-top: auto; border-top: 1px solid #e3e9e5; padding-top: 10px; }
.agent-seat-details summary { color: #4b6658; font-size: 12px; font-weight: 800; cursor: pointer; }
.agent-seat-details > div { margin-top: 10px; padding: 11px 12px; border-radius: 11px; background: rgba(255,255,255,.78); }
.agent-seat-details small { display: block; color: var(--muted); font-size: 11px; font-weight: 800; }
.agent-seat-details p { min-height: 0 !important; margin: 3px 0 10px !important; color: #4d5e55 !important; font-size: 12px !important; line-height: 1.55 !important; }
.agent-seat-details code { color: #6f7d75; font-size: 11px; overflow-wrap: anywhere; }
.agent-seat-actions { margin-top: 13px; }
.agent-seat-actions button { width: 100%; padding: 9px 12px; font-size: 13px; }
.agent-package-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.agent-package-meta span { padding: 4px 7px; border-radius: 999px; background: #e8f2ec; color: #3e6750; font-size: 10px; font-weight: 800; }
.orchestration-panel { overflow: hidden; }
.orchestration-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 22px; }
.orchestration-lane { min-width: 0; padding: 14px; border: 1px solid #dfe6e2; border-radius: 18px; background: #f6f8f7; }
.orchestration-lane.verified { background: #f2f8f4; border-color: #c8ded1; }
.orchestration-lane.tuning { background: #f4f7fb; border-color: #d4dee8; }
.orchestration-lane.candidate { background: #fbf7ef; border-color: #e7dac0; }
.orchestration-lane > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 3px 3px 13px; }
.orchestration-lane > header h3 { margin: 0; font-size: 16px; }
.orchestration-lane > header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.orchestration-lane > header > span { min-width: 29px; height: 29px; display: grid; place-items: center; border-radius: 10px; background: white; color: var(--green); font-size: 13px; font-weight: 900; }
.orchestration-lane-list { display: grid; gap: 11px; }
.orchestration-card { min-width: 0; padding: 16px; border: 1px solid #dce4df; border-radius: 15px; background: white; box-shadow: 0 6px 18px rgba(24,45,34,.035); }
.orchestration-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.orchestration-card-top span { color: var(--green); font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.orchestration-card-top b { padding: 4px 7px; border-radius: 999px; background: #e5f3eb; color: var(--green); font-size: 10px; }
.orchestration-card.tuning .orchestration-card-top b { background: #e8eff8; color: var(--blue); }
.orchestration-card.candidate .orchestration-card-top b { background: #f8ecd4; color: #8a6424; }
.orchestration-card h4 { margin: 13px 0 7px; font-size: 18px; line-height: 1.4; }
.orchestration-card > p { min-height: 66px; margin: 0; color: #506158; font-size: 13px; line-height: 1.65; }
.orchestration-route { display: flex; flex-wrap: wrap; gap: 5px; margin: 14px 0 0; padding: 11px; border-radius: 12px; background: #f5f8f6; }
.orchestration-route span { display: inline-flex; align-items: center; gap: 5px; color: #345b46; font-size: 11px; font-weight: 800; }
.orchestration-route i { color: #93a49b; font-style: normal; }
.orchestration-expert-detail { margin-top: 12px; padding-top: 11px; border-top: 1px dashed #dce4df; }
.orchestration-expert-detail small { display: block; color: var(--green); font-size: 11px; font-weight: 900; }
.orchestration-expert-detail p { margin: 3px 0 10px; color: #596960; font-size: 12px; line-height: 1.55; }
.orchestration-expert-detail footer { display: flex; flex-wrap: wrap; gap: 6px 10px; color: #7a8780; font-size: 10px; }
.orchestration-card-actions { display: flex; gap: 8px; margin-top: 14px; }
.orchestration-card-actions button { flex: 1; padding: 8px 9px; font-size: 12px; }
.orchestration-empty { padding: 17px; border: 1px dashed #cfd9d3; border-radius: 13px; color: var(--muted); background: rgba(255,255,255,.55); font-size: 12px; line-height: 1.55; }
.orchestration-boundary { margin-top: 16px; padding: 13px 15px; border-radius: 13px; background: #eef3f0; color: #56675e; font-size: 13px; line-height: 1.55; }
.secretary-growth-note { display: grid; grid-template-columns: 48px 1fr auto; gap: 15px; align-items: center; padding: 18px 20px; border: 1px solid #cbded3; border-radius: 19px; background: linear-gradient(135deg, #eff8f3, #fff); }
.growth-note-mark { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: var(--green-dark); color: white; font-size: 18px; font-weight: 900; }
.secretary-growth-note b { font-size: 16px; }
.secretary-growth-note p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }

/* Personal asset ledger */
.asset-intro { align-items: flex-end; }
.asset-intro > div:first-child { max-width: 820px; }
[data-view-panel="assets"] > .panel { padding: 23px; margin-bottom: 17px; }
.asset-agent-badge { display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid #cfe0d6; border-radius: 14px; background: white; }
.asset-agent-badge > span { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #34b978; box-shadow: 0 0 0 5px #e6f6ed; }
.asset-agent-badge b, .asset-agent-badge small { display: block; }
.asset-agent-badge b { font-size: 13px; }
.asset-agent-badge small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.asset-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); gap: 22px; padding: 24px; border-radius: 22px; color: white; background: radial-gradient(circle at 88% 12%, rgba(221,185,95,.2), transparent 25%), linear-gradient(135deg, #183c2d, #0b6842); box-shadow: var(--shadow); }
.asset-load-state { grid-column: 1 / -1; min-height: 118px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 16px; align-items: center; }
.asset-load-state > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.12); font-size: 23px; }
.asset-load-state h2 { margin: 0 0 6px; font-size: 23px; }
.asset-load-state p { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; }
.asset-load-state button { white-space: nowrap; }
.asset-agent-badge .syncing { background: #d3a43e; }
.asset-owned-label { display: inline-flex; padding: 6px 10px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #bce8cf; font-size: 12px; font-weight: 900; }
.asset-hero-copy h2 { max-width: 700px; margin: 11px 0 7px; font-size: 25px; line-height: 1.35; }
.asset-hero-copy > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.75); font-size: 13px; line-height: 1.65; }
.asset-rule-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.asset-rule-row span, .asset-rule-row b { padding: 7px 10px; border-radius: 9px; background: rgba(255,255,255,.1); color: #d5e8dd; font-size: 11px; }
.asset-rule-row b { color: #f3d992; }
.asset-tier-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; align-self: stretch; }
.asset-tier-summary > div { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 14px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.09); backdrop-filter: blur(5px); }
.asset-tier-summary small { min-height: 36px; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.45; }
.asset-tier-summary b { margin-top: 6px; font-size: 27px; line-height: 1; }
.asset-tier-summary span { margin-top: 5px; color: rgba(255,255,255,.72); font-size: 11px; }
.asset-tier-summary .bronze b { color: #edb28a; }
.asset-tier-summary .silver b { color: #d8e5ea; }
.asset-tier-summary .gold b { color: #f2cf73; }
.asset-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 13px 0 17px; }
.asset-metric-grid article { min-width: 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.asset-metric-grid b { display: inline-block; margin-right: 5px; color: var(--green-dark); font-size: 23px; }
.asset-metric-grid span { color: #43544a; font-size: 14px; font-weight: 800; }
.asset-metric-grid small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.asset-panel-heading { align-items: center; }
.asset-private-label { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: #eef3f0; color: #5c6b63; font-size: 11px; font-weight: 800; }
.asset-candidate-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-top: 15px; padding: 15px; border: 1px solid #b9d8c6; border-radius: 15px; background: linear-gradient(135deg, #f2faf5, #fff); }
.asset-candidate-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: var(--green); font-weight: 900; }
.asset-candidate-copy small { color: var(--green); font-size: 11px; font-weight: 900; }
.asset-candidate-copy h3 { margin: 5px 0 5px; font-size: 18px; }
.asset-candidate-copy p { margin: 0; color: #53635a; font-size: 13px; line-height: 1.55; }
.asset-evidence-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.asset-evidence-chips span { padding: 5px 8px; border-radius: 999px; background: #e3f2e9; color: #286044; font-size: 10px; font-weight: 800; }
.asset-evidence-chips span.missing { background: #fff1dc; color: #8a5b19; }
.asset-candidate-actions { min-width: 150px; display: grid; gap: 7px; }
.asset-candidate-actions button { width: 100%; padding: 8px 10px; font-size: 12px; }
.asset-filter-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: #eff3f0; }
.asset-filter-tabs button { border: 0; border-radius: 8px; padding: 8px 11px; background: transparent; color: #627068; font-size: 12px; font-weight: 800; }
.asset-filter-tabs button.active { color: var(--green); background: white; box-shadow: 0 3px 10px rgba(24,45,34,.07); }
.asset-stage-strip { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin: 21px 0 17px; padding: 13px 15px; border-radius: 15px; background: #f3f6f4; }
.asset-stage-strip > span { min-width: 68px; display: flex; align-items: center; gap: 6px; }
.asset-stage-strip b { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: var(--green); background: white; font-size: 12px; }
.asset-stage-strip small { color: #64736b; font-size: 11px; font-weight: 800; }
.asset-stage-strip > i { color: #a8b3ad; font-size: 11px; font-style: normal; }
.asset-stage-strip .bronze b { color: #a55f33; background: #f8e9de; }
.asset-stage-strip .silver b { color: #4e7080; background: #e7f0f3; }
.asset-stage-strip .gold b { color: #8a661e; background: #faf0cf; }
.asset-stage-strip .rejected b { color: #797f7b; background: #ecefed; }
.asset-ledger-list { display: grid; gap: 13px; }
.asset-ledger-card { padding: 19px; border: 1px solid #dbe3de; border-left: 5px solid #9aacA2; border-radius: 17px; background: white; }
.asset-ledger-card.bronze { border-left-color: #b66c3d; }
.asset-ledger-card.silver { border-left-color: #6f8996; }
.asset-ledger-card.gold { border-left-color: #c69a35; }
.asset-ledger-card.verifying { border-left-color: var(--blue); background: linear-gradient(135deg, #f7fbff, #fff); }
.asset-ledger-card.rejected { border-left-color: #9a9f9c; background: #fafbfa; }
.asset-ledger-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.asset-ledger-card-head > div { display: flex; flex-wrap: wrap; gap: 6px; }
.asset-ledger-card-head > small { color: var(--muted); font-size: 11px; }
.asset-status, .asset-grade { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; }
.asset-status { color: #55665d; background: #edf1ee; }
.asset-status.verifying { color: #285f87; background: #e5f1fa; }
.asset-status.rejected { color: #686e6a; background: #ecefed; }
.asset-grade.bronze { color: #995727; background: #f8e7db; }
.asset-grade.silver { color: #4f7080; background: #e6eff3; }
.asset-grade.gold { color: #85621c; background: #faefca; }
.asset-ledger-main { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 22px; margin-top: 12px; }
.asset-ledger-main h3 { margin: 0 0 6px; font-size: 19px; }
.asset-ledger-main p { margin: 0; color: #53635a; font-size: 13px; line-height: 1.6; }
.asset-value-type { padding-left: 17px; border-left: 1px solid #e3e8e5; }
.asset-value-type small, .asset-value-type b, .asset-value-type span { display: block; }
.asset-value-type small { color: var(--muted); font-size: 10px; }
.asset-value-type b { margin-top: 5px; font-size: 14px; }
.asset-value-type span { margin-top: 5px; color: #6c7a72; font-size: 11px; line-height: 1.4; }
.asset-progress { margin-top: 15px; }
.asset-progress > div { display: flex; align-items: center; justify-content: space-between; color: #5f7067; font-size: 11px; font-weight: 800; }
.asset-progress > i, .asset-upgrade-meter > i { height: 7px; display: block; overflow: hidden; margin-top: 7px; border-radius: 999px; background: #e5eae7; }
.asset-progress > i em, .asset-upgrade-meter > i em { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #2c9a68, #d3ae51); }
.asset-progress > p { margin: 7px 0 0; color: #68766f; font-size: 11px; line-height: 1.5; }
.asset-card-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.asset-card-facts span { padding: 6px 9px; border-radius: 9px; color: #64746b; background: #f1f4f2; font-size: 10px; }
.asset-card-facts b { margin-right: 3px; color: var(--green-dark); font-size: 12px; }
.asset-accounting-detail { margin-top: 12px; border-top: 1px dashed #dce3de; padding-top: 10px; }
.asset-accounting-detail summary { color: var(--green); font-size: 12px; font-weight: 800; cursor: pointer; }
.asset-accounting-detail > div { display: grid; grid-template-columns: 90px 1fr; gap: 8px 12px; margin-top: 10px; padding: 12px; border-radius: 12px; background: #f5f7f5; }
.asset-accounting-detail small { color: #557267; font-size: 11px; font-weight: 900; }
.asset-accounting-detail p { margin: 0; color: #56665d; font-size: 11px; line-height: 1.55; }
.asset-card-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.asset-card-actions button { padding: 8px 11px; font-size: 12px; }
.asset-lower-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); gap: 18px; }
.asset-lower-grid > .panel { margin-bottom: 22px; }
.asset-upgrade-panel h3 { margin: 22px 0 10px; font-size: 21px; }
.asset-upgrade-panel > p { color: #586961; font-size: 13px; line-height: 1.65; }
.asset-upgrade-meter { display: grid; grid-template-columns: 1fr 48px; gap: 11px; align-items: center; }
.asset-upgrade-meter > i { margin: 0; height: 10px; }
.asset-upgrade-meter > b { color: var(--green); font-size: 14px; }
.asset-upgrade-panel > button { margin-top: 10px; }
.asset-echo-list { display: grid; gap: 10px; margin-top: 18px; }
.asset-echo-list article { display: grid; grid-template-columns: 38px 1fr; gap: 11px; padding: 12px; border: 1px solid #e0e7e2; border-radius: 13px; background: #fafcfb; }
.asset-echo-list article > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.asset-echo-list small, .asset-echo-list b { display: block; }
.asset-echo-list small { color: var(--muted); font-size: 10px; }
.asset-echo-list b { margin-top: 3px; font-size: 13px; }
.asset-echo-list p { margin: 4px 0 0; color: #5d6c64; font-size: 11px; line-height: 1.5; }
.rejected-asset-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; }
.rejected-asset-drawer > summary span:first-child b, .rejected-asset-drawer > summary span:first-child small { display: block; }
.rejected-asset-drawer > summary span:first-child small { margin-top: 4px; color: var(--muted); font-weight: 400; }
.rejected-asset-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 15px; padding: 15px; border-radius: 13px; background: #f5f6f5; }
.rejected-asset-row b { font-size: 14px; }
.rejected-asset-row p { margin: 5px 0; color: #59665f; font-size: 12px; line-height: 1.55; }
.rejected-asset-row small { color: #7a8580; font-size: 11px; }
.rejected-asset-row button { flex: 0 0 auto; font-size: 12px; }
.asset-boundary { padding: 15px 17px; border: 1px solid #d7e2db; border-radius: 15px; color: #53645a; background: #eef4f0; font-size: 13px; line-height: 1.6; }

/* 系统状态：首层面向普通员工，高级日志默认折叠。 */
.runtime-intro { align-items: center; }
.runtime-hero { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: center; margin-bottom: 18px; padding: 24px 26px; border: 1px solid #cfe0d6; border-radius: 23px; color: white; background: linear-gradient(135deg, #153f2d, #0f7147); box-shadow: var(--shadow); }
.runtime-hero-signal { min-width: 94px; height: 94px; display: grid; place-items: center; align-content: center; gap: 8px; border-radius: 20px; background: rgba(255,255,255,.12); font-size: 12px; font-weight: 900; }
.runtime-hero-signal i { width: 22px; height: 22px; display: block; border: 6px solid rgba(255,255,255,.22); border-radius: 50%; background: #55d996; box-shadow: 0 0 0 6px rgba(85,217,150,.14); }
.runtime-hero-signal.limited i { background: #efc765; box-shadow: 0 0 0 6px rgba(239,199,101,.14); }
.runtime-hero-signal.offline i { background: #ef8b7f; box-shadow: 0 0 0 6px rgba(239,139,127,.14); }
.runtime-hero-copy .section-label { color: #a5e6c2; }
.runtime-hero-copy h2 { margin: 3px 0 8px; font-size: 27px; line-height: 1.35; }
.runtime-hero-copy p { max-width: 760px; margin: 0; color: rgba(255,255,255,.76); font-size: 13px; line-height: 1.65; }
.runtime-hero-meta { min-width: 145px; padding-left: 20px; border-left: 1px solid rgba(255,255,255,.18); }
.runtime-hero-meta small, .runtime-hero-meta b, .runtime-hero-meta span { display: block; }
.runtime-hero-meta small { color: rgba(255,255,255,.6); font-size: 10px; }
.runtime-hero-meta b { margin-top: 4px; font-size: 24px; }
.runtime-hero-meta span { margin-top: 6px; color: #b9dec9; font-size: 11px; }
.runtime-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.runtime-card { min-width: 0; min-height: 205px; display: flex; flex-direction: column; padding: 19px; border: 1px solid #dce5df; border-radius: 19px; background: white; box-shadow: 0 6px 20px rgba(24,45,34,.035); }
.runtime-card header { display: flex; align-items: center; justify-content: space-between; }
.runtime-card header > span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.runtime-card > small { margin-top: 15px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.runtime-card h3 { margin: 6px 0 7px; font-size: 17px; line-height: 1.4; }
.runtime-card p { margin: 0; color: #5b6a62; font-size: 12px; line-height: 1.55; }
.runtime-card footer { margin-top: auto; padding-top: 13px; color: #7b8881; font-size: 10px; line-height: 1.45; }
.runtime-pill { display: inline-flex; align-items: center; justify-content: center; padding: 5px 8px; border-radius: 999px; color: #5f6d65; background: #eef1ef; font-size: 10px; font-weight: 900; white-space: nowrap; }
.runtime-pill.healthy { color: #0d7547; background: #e3f4ea; }
.runtime-pill.limited { color: #8a651a; background: #fbf0cf; }
.runtime-pill.offline { color: #a83f35; background: #fde6e2; }
.runtime-pill.local { color: #2d658c; background: #e6f1f8; }
.runtime-lower-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: 18px; }
.runtime-lower-grid > .panel { margin-bottom: 18px; }
.runtime-count { min-width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); font-weight: 900; }
.runtime-attention-list { display: grid; gap: 10px; margin-top: 18px; }
.runtime-attention, .runtime-empty-good { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; padding: 14px; border-radius: 14px; background: #f6f8f6; }
.runtime-attention > span, .runtime-empty-good > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #9a6b17; background: #fff0ca; font-weight: 900; }
.runtime-attention.offline > span { color: #ad4136; background: #fde4df; }
.runtime-empty-good > span { color: var(--green); background: var(--green-soft); }
.runtime-attention b, .runtime-empty-good b { font-size: 13px; }
.runtime-attention p, .runtime-empty-good p { margin: 4px 0; color: #5d6d64; font-size: 11px; line-height: 1.55; }
.runtime-attention small { color: #8b6a26; font-size: 10px; font-weight: 800; }
.runtime-boundary-panel ul { display: grid; gap: 11px; margin: 17px 0 0; padding: 0; list-style: none; }
.runtime-boundary-panel li { padding: 11px 13px; border-radius: 12px; color: #596a61; background: #f2f6f3; font-size: 11px; line-height: 1.55; }
.runtime-detail-drawer { padding: 0; overflow: hidden; }
.runtime-detail-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 19px 22px; cursor: pointer; }
.runtime-detail-drawer > summary b, .runtime-detail-drawer > summary small { display: block; }
.runtime-detail-drawer > summary small { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; }
.runtime-detail-body { padding: 0 22px 22px; border-top: 1px solid var(--line); }
.runtime-component-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 18px 0; }
.runtime-component-list article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid #e0e7e2; border-radius: 13px; background: #fafcfb; }
.runtime-component-list b, .runtime-component-list small { display: block; }
.runtime-component-list b { font-size: 12px; }
.runtime-component-list small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.runtime-log-section { padding-top: 4px; }
.runtime-log-list { display: grid; gap: 0; margin-top: 12px; border: 1px solid #e0e6e2; border-radius: 14px; overflow: hidden; }
.runtime-log-list article { display: grid; grid-template-columns: 74px 72px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; background: white; }
.runtime-log-list article + article { border-top: 1px solid #e8ece9; }
.runtime-log-list time, .runtime-log-list > article > span { color: #77837c; font-size: 10px; }
.runtime-log-list > article > span { padding: 4px 6px; border-radius: 7px; text-align: center; background: #f0f3f1; }
.runtime-log-list b, .runtime-log-list small { display: block; }
.runtime-log-list b { font-size: 11px; }
.runtime-log-list small { margin-top: 3px; color: #7b8780; font-size: 9px; line-height: 1.45; }

@media (max-width: 1500px) {
  .app-shell { grid-template-columns: 260px minmax(620px, 1fr); }
  .sidebar { padding: 20px 14px 14px; gap: 12px; }
  .nav-item { padding-top: 10px; padding-bottom: 10px; }
  .nav-icon { width: 36px; height: 36px; }
  .content { padding-left: 24px; padding-right: 24px; }
  .topbar { padding-left: 28px; padding-right: 28px; }
  .topbar h1 { font-size: 32px; white-space: nowrap; }
  .agent-seat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .orchestration-board { grid-template-columns: 1fr; }
  .orchestration-card > p { min-height: 0; }
  .fact-flow-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fact-intake-layout { grid-template-columns: minmax(0, 1fr) minmax(340px, 390px); }
  .fact-source-connectors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1120px) {
  .app-shell { grid-template-columns: 235px minmax(0, 1fr); }
  .strategist-toolbar > span { display: none; }
  .strategist-toolbar { justify-content: flex-end; }
  .workline-toggle { max-width: 100%; flex: 1; }
  .welcome-card, .two-column, .split-workspace, .goal-board, .preference-grid, .employee-compass, .company-direction-grid, .collaboration-charter { grid-template-columns: 1fr; }
  .metric-grid, .collab-metric-grid { grid-template-columns: repeat(2, 1fr); }
  .goal-focus-meta { grid-template-columns: 1fr; }
  .work-detail { position: static; }
  .ppt-brief-card { grid-template-columns: 1fr; }
  .ppt-brief-card ol { grid-column: 1; columns: 1; }
  .workshop-steps { grid-template-columns: 1fr; }
  .workshop-step { border-right: 0; border-bottom: 1px solid var(--line); }
  .role-view-grid { grid-template-columns: 1fr; }
  .personal-action-layout, .strategist-evidence-summary { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .collaboration-view-studio { align-items: flex-start; flex-direction: column; }
  .view-studio-actions { width: 100%; justify-content: flex-start; }
  .room-grid { grid-template-columns: 1fr; }
  .room-block:first-child { grid-column: 1; }
  .workshop-studio-head, .workshop-package-toolbar, .workshop-work-heading { align-items: flex-start; flex-direction: column; }
  .workshop-package-grid { grid-template-columns: 1fr; }
  .workshop-package-metrics { width: 100%; }
  .workshop-package-metrics span { flex: 1; }
  .proposal-card-head { flex-direction: column; }
  .agent-seat-grid, [data-view-panel="secretary"] .agent-seat-grid { grid-template-columns: 1fr; }
  .secretary-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretary-intro, .secretary-panel-heading { align-items: flex-start; flex-direction: column; }
  .secretary-growth-note { grid-template-columns: 48px 1fr; }
  .secretary-growth-note button { grid-column: 2; justify-self: start; }
  .asset-intro, .asset-panel-heading { align-items: flex-start; flex-direction: column; }
  .asset-hero { grid-template-columns: 1fr; }
  .asset-tier-summary { max-width: 650px; }
  .asset-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asset-candidate-card { grid-template-columns: 48px 1fr; align-items: start; }
  .asset-candidate-actions { grid-column: 2; grid-template-columns: repeat(3, auto); justify-content: start; }
  .asset-ledger-main, .asset-lower-grid { grid-template-columns: 1fr; }
  .runtime-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .runtime-lower-grid { grid-template-columns: 1fr; }
  .fact-principle-banner { grid-template-columns: 56px minmax(0,1fr); }
  .fact-principle-badges { grid-column: 2; }
  .fact-intake-layout { grid-template-columns: 1fr; }
  .fact-agent-column { position: static; }
  .fact-agent-card { min-height: 720px; max-height: none; }
  .fact-material-detail { max-height: 600px; }
  .asset-value-type { padding: 0; border-left: 0; }
  .asset-stage-strip { overflow-x: auto; justify-content: flex-start; }
}

@media (max-width: 900px) {
  .workshop-agent-body, .workshop-agent-panel.expanded .workshop-agent-body { grid-template-columns: 1fr; grid-template-areas: 'object' 'quick' 'messages' 'thinking' 'form'; }
  .workshop-agent-object { padding: 13px; }
  .workshop-agent-online { display: none; }
  .workshop-agent-panel.expanded { inset: 6px; height: calc(100vh - 12px); }
  .app-shell { grid-template-columns: 86px minmax(0, 1fr); }
  .sidebar { padding: 16px 10px; align-items: center; }
  .brand { padding: 0 0 5px; }
  .brand > div:last-child, .nav-item > span:last-child, .identity-card > div:last-child, .trial-note > div { display: none; }
  /* 图标栏模式下侧栏只有 86px，试用环境和齿轮改成上下两行，挤不开。 */
  .sidebar-footer { flex-direction: column; gap: 4px; }
  .sidebar-footer .trial-note { flex: 0 0 auto; }
  .sidebar-settings-panel { padding: 8px; }
  .brand-mark { width: 48px; height: 48px; font-size: 24px; }
  .new-button { width: 54px; height: 48px; padding: 0; overflow: hidden; font-size: 0; }
  .new-button::before { content: '+'; font-size: 26px; }
  .nav { width: 100%; align-items: center; padding: 0; }
  .nav-label { display: none; }
  .nav-item { width: 58px; justify-content: center; padding: 9px; }
  .nav-icon { width: 38px; height: 38px; }
  .identity-card { width: 54px; justify-content: center; padding: 8px; }
  .trial-note { justify-content: center; padding: 6px; }
  .topbar { height: 94px; padding: 17px 18px; }
  .topbar h1 { font-size: 27px; }
  .role-switch > span, .environment-badge { display: none; }
  .role-switch select { max-width: 190px; padding: 9px 10px; }
  .content { padding: 20px 16px 60px; }
  .asset-tier-summary { max-width: none; }
  .runtime-hero { grid-template-columns: auto minmax(0, 1fr); }
  .runtime-hero-meta { grid-column: 2; padding: 0; border-left: 0; }
  .runtime-component-list { grid-template-columns: 1fr; }
  .asset-stage-strip > i { display: none; }
  .asset-stage-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .asset-stage-strip > span { min-width: 0; }
  .fact-stream-intro, .fact-source-heading, .fact-queue-heading { align-items: flex-start; flex-direction: column; }
  .fact-flow-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact-cross-evidence, .fact-machine-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .workline-toggle > span { display: none; }
  .workline-drawer { left: 9px; right: 9px; }
  .asset-tier-summary { grid-template-columns: 1fr; }
  .asset-tier-summary small { min-height: 0; }
  .asset-metric-grid { grid-template-columns: 1fr; }
  .asset-candidate-card { grid-template-columns: 1fr; }
  .asset-candidate-mark { display: none; }
  .asset-candidate-actions { grid-column: 1; grid-template-columns: 1fr; width: 100%; }
  .asset-stage-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asset-accounting-detail > div { grid-template-columns: 1fr; }
  .rejected-asset-row { align-items: flex-start; flex-direction: column; }
  .runtime-card-grid { grid-template-columns: 1fr; }
  .runtime-hero { grid-template-columns: 1fr; }
  .runtime-hero-signal { min-width: 0; width: 84px; height: 84px; }
  .runtime-hero-meta { grid-column: 1; }
  .runtime-log-list article { grid-template-columns: 62px 60px minmax(0, 1fr); }
  .runtime-log-list .runtime-pill { display: none; }
  .fact-principle-banner { grid-template-columns: 1fr; padding: 20px; }
  .fact-principle-badges { grid-column: 1; grid-template-columns: 1fr; }
  .fact-flow-metrics { grid-template-columns: 1fr; }
  .fact-source-connectors { grid-template-columns: 1fr; }
  .fact-material-card { grid-template-columns: 40px minmax(0,1fr); }
  .fact-material-card > .fact-material-status { grid-column: 2; justify-self: start; }
  .fact-detail-meta { grid-template-columns: 1fr; }
  .fact-agent-card { min-height: 660px; }
}

@media (max-width: 900px) {
  .fact-agent-card.expanded { inset: 8px; grid-template-columns: 1fr; grid-template-rows: auto auto minmax(220px, 1fr) auto minmax(150px, .65fr) auto; border-radius: 18px; }
  .fact-agent-card.expanded .fact-agent-boundary { grid-column: 1; }
  .fact-agent-card.expanded .fact-material-detail { grid-column: 1; grid-row: 3; max-height: none; border-right: 0; border-bottom: 1px solid var(--line); }
  .fact-agent-card.expanded .fact-agent-quick { grid-column: 1; grid-row: 4; }
  .fact-agent-card.expanded .fact-agent-messages { grid-column: 1; grid-row: 5; }
  .fact-agent-card.expanded .fact-agent-composer { grid-column: 1; grid-row: 6; }
}

@media (max-width: 520px) {
  .fact-agent-header-actions button span { display: none; }
  .fact-agent-card.expanded { inset: 0; border-radius: 0; }
  .fact-agent-card.expanded .fact-agent-boundary { margin-inline: 10px; }
}

.privacy-vault-banner { margin-bottom: 18px; padding: 16px 18px; border: 1px solid #c9dfd2; border-radius: 18px; background: linear-gradient(135deg, #edf8f1, #f9fbf8); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.privacy-vault-banner > div { display: flex; align-items: center; gap: 13px; }
.privacy-vault-banner p { margin: 0; }
.privacy-vault-banner p b, .privacy-vault-banner p small { display: block; }
.privacy-vault-banner p small { margin-top: 4px; color: #65766d; }
.vault-icon { width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; background: #174d35; color: white; font-weight: 800; }
.preference-private-copy { min-height: 46px; padding: 12px 14px; border-radius: 12px; color: #68746e !important; background: #f3f6f4; border: 1px dashed #d9e1dc; }
.privacy-dialog-note { padding: 12px 14px; background: #f4f6f4; border-radius: 12px; color: #68746e; }
.message.failed { outline: 1px solid #e8998d; background: #fff2ef !important; }
.retry-message { border: 0; color: #b83f30; background: transparent; padding: 0 3px; font-weight: 800; cursor: pointer; }

/* Information & knowledge center: employee-facing observation world */
.today-information-panel { margin-bottom: 18px; background: linear-gradient(145deg, #fff, #fbf8ef); border-color: #e5ddc8; }
.today-information-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 16px; }
.today-information-item { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; align-items: start; padding: 14px; border: 1px solid #e1e8e3; border-radius: 15px; background: rgba(255,255,255,.9); }
.today-information-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: #176944; background: #e8f5ed; font-weight: 900; }
.today-information-item.customer .today-information-mark { color: #8a6323; background: #fff2cf; }
.today-information-item.internal .today-information-mark { color: #355e87; background: #eaf3fb; }
.today-information-meta { display: flex; align-items: center; gap: 7px; }
.today-information-meta > span { color: #52645a; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.today-information-item h3 { margin: 5px 0 4px; font-size: 15px; line-height: 1.45; }
.today-information-item p { margin: 0 0 6px; color: #53645a; font-size: 12px; line-height: 1.55; }
.today-information-item small { color: #87928c; font-size: 10px; }
.today-information-item > button { align-self: center; padding: 8px 10px; border: 1px solid #cadbd1; border-radius: 10px; color: #176944; background: white; font-weight: 800; }
.information-intro { margin-bottom: 18px; }
.information-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) auto auto; gap: 20px; align-items: center; margin-bottom: 18px; padding: 22px; border-radius: 22px; color: #eefaf3; background: linear-gradient(135deg, #123f2d, #176744 70%, #1d7650); box-shadow: 0 14px 34px rgba(20,72,49,.15); }
.information-hero h2 { margin: 5px 0 6px; color: white; font-size: 23px; }
.information-hero p { margin: 0; color: #c7e3d3; line-height: 1.55; }
.information-hero .section-label { color: #79d5a4; }
.information-hero-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.information-hero-tags span { padding: 5px 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #e2f3e9; background: rgba(255,255,255,.08); font-size: 11px; }
.information-hero-metrics { display: grid; grid-template-columns: repeat(3, minmax(70px, 1fr)); gap: 8px; }
.information-hero-metrics span { min-width: 78px; padding: 11px; border-radius: 13px; background: rgba(255,255,255,.1); }
.information-hero-metrics b, .information-hero-metrics small { display: block; }
.information-hero-metrics b { color: white; font-size: 21px; }
.information-hero-metrics small { margin-top: 2px; color: #bcdac9; font-size: 10px; }
.information-hero > button { padding: 11px 14px; border: 1px solid rgba(255,255,255,.35); border-radius: 13px; color: white; background: rgba(255,255,255,.1); font-weight: 850; }
.information-page-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 370px); gap: 18px; align-items: start; }
.information-main-column { min-width: 0; }
.information-main-column > .panel { margin-bottom: 16px; padding: 20px; }
.information-profile-state { padding: 6px 10px; border-radius: 999px; color: #11613e; background: #e9f5ee; font-size: 11px; font-weight: 850; }
.observation-topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
.observation-topic { display: flex; align-items: stretch; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid #dfe8e2; border-radius: 14px; background: #fbfcfb; }
.observation-topic.custom { border-color: #b9dcc8; background: #f5fbf7; }
.observation-topic > div:first-child { min-width: 0; }
.observation-topic > div:first-child > span { color: #218258; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.observation-topic h3 { margin: 4px 0 3px; overflow-wrap: anywhere; font-size: 15px; }
.observation-topic p { margin: 0; color: #637169; font-size: 11px; line-height: 1.45; }
.observation-topic-meta { flex: 0 0 auto; display: flex; align-items: flex-end; flex-direction: column; gap: 4px; text-align: right; }
.observation-topic-meta small { color: #87928c; font-size: 9px; }
.observation-topic-meta b { color: #456056; font-size: 10px; }
.observation-topic-meta button { padding: 3px 0; border: 0; color: #8b918e; background: none; font-size: 10px; }
.information-feed-heading { align-items: flex-end; }
.information-filter-tabs { display: flex; flex-wrap: wrap; gap: 5px; }
.information-filter-tabs button { padding: 7px 10px; border: 1px solid #d9e2dc; border-radius: 999px; color: #58675f; background: white; font-size: 11px; font-weight: 750; }
.information-filter-tabs button.active { color: white; border-color: #176b47; background: #176b47; }
.information-feed { display: grid; gap: 11px; margin-top: 16px; }
.information-card { padding: 16px; border: 1px solid #dfe7e2; border-left: 4px solid #25895d; border-radius: 16px; background: #fff; }
.information-card.customer { border-left-color: #c29139; }
.information-card.internal { border-left-color: #4f7ea8; }
.information-card.demo { border-style: dashed; opacity: .82; }
.information-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.information-card > header > div { display: flex; gap: 7px; }
.information-card time { color: #87928c; font-size: 10px; }
.information-category { padding: 4px 7px; border-radius: 999px; color: #176944; background: #eaf6ef; font-size: 10px; font-weight: 850; }
.information-trust { padding: 4px 7px; border-radius: 999px; font-size: 9px; font-style: normal; font-weight: 850; }
.information-trust.confirmed { color: #176944; background: #e5f3eb; }
.information-trust.verification { color: #895d16; background: #fff0d2; }
.information-trust.preview { color: #6b6f6d; background: #eff1f0; }
.information-card h3 { margin: 11px 0 7px; font-size: 17px; line-height: 1.45; }
.information-card > p { margin: 0; color: #45584e; font-size: 13px; line-height: 1.65; }
.information-why { display: grid; grid-template-columns: auto 1fr; gap: 9px; margin-top: 12px; padding: 10px 11px; border-radius: 11px; background: #f3f7f4; font-size: 11px; line-height: 1.5; }
.information-why b { color: #176944; }
.information-card > footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #edf0ee; }
.information-card > footer b, .information-card > footer small { display: block; }
.information-card > footer b { color: #40534a; font-size: 11px; }
.information-card > footer small { margin-top: 2px; color: #89938e; font-size: 9px; }
.information-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.information-card-actions button { padding: 6px 8px; border: 1px solid #d8e2dc; border-radius: 9px; color: #52635a; background: white; font-size: 10px; }
.information-card-actions button:nth-child(3) { color: #176944; border-color: #b9d7c7; }
.topic-brief-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.topic-brief-card { padding: 16px; border: 1px solid #dfe7e2; border-radius: 15px; background: linear-gradient(145deg, #fff, #f7faf8); }
.topic-brief-card > span { color: #99702b; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
.topic-brief-card h3 { margin: 5px 0 6px; font-size: 16px; }
.topic-brief-card p { margin: 0; color: #53645b; font-size: 12px; line-height: 1.6; }
.topic-brief-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.topic-brief-card small { color: #87928c; font-size: 9px; }
.topic-brief-card button { padding: 5px 8px; border: 1px solid #cdded4; border-radius: 8px; color: #176944; background: white; font-size: 10px; }
.information-source-drawer summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.information-source-drawer summary b, .information-source-drawer summary small { display: block; }
.information-source-drawer summary small { margin-top: 4px; color: #7f8c85; font-size: 11px; }
.information-connector-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
.information-connector { padding: 13px; border: 1px solid #dfe7e2; border-radius: 13px; background: #fafcfb; }
.information-connector > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.information-connector > div > span { color: #69766f; font-size: 9px; }
.information-connector em { padding: 3px 6px; border-radius: 999px; font-size: 8px; font-style: normal; font-weight: 850; }
.information-connector em.connected { color: #176944; background: #e3f3ea; }
.information-connector em.ready { color: #315f85; background: #e9f2f9; }
.information-connector em.manual { color: #8a611e; background: #fff0d3; }
.information-connector h3 { margin: 8px 0 5px; font-size: 13px; }
.information-connector p { margin: 0; color: #68766f; font-size: 10px; line-height: 1.5; }
/* 同 .fact-agent-column：不 sticky，不绑视口高度，随页面滚动、按内容长高。 */
.information-agent-column { position: static; }
.information-agent-card { display: flex; min-height: 560px; flex-direction: column; overflow: hidden; border: 1px solid #d4e2da; border-radius: 20px; background: white; box-shadow: 0 12px 32px rgba(24,55,39,.09); }
.information-agent-card > header { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; gap: 9px; align-items: center; padding: 15px; border-bottom: 1px solid #e4ebe7; }
.information-agent-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: white; background: #174832; font-weight: 900; }
.information-agent-card > header strong, .information-agent-card > header small { display: block; }
.information-agent-card > header strong { font-size: 15px; }
.information-agent-card > header small { margin-top: 2px; color: #7c8982; font-size: 10px; }
.information-agent-card > header button { width: 32px; height: 32px; border: 1px solid #d8e3dc; border-radius: 9px; color: #176944; background: white; font-weight: 900; }
.information-agent-boundary { margin: 12px 13px 0; padding: 10px; border-radius: 11px; color: #496057; background: #edf6f1; font-size: 10px; line-height: 1.5; }
.information-agent-quick { display: flex; flex-wrap: wrap; gap: 5px; padding: 10px 13px; }
.information-agent-quick button { padding: 6px 8px; border: 1px solid #d7e3dc; border-radius: 999px; color: #4e6258; background: white; font-size: 9px; }
.information-agent-messages { flex: 1 1 auto; min-height: 180px; overflow: auto; padding: 5px 13px 13px; }
.information-agent-message { max-width: 90%; margin: 8px 0; padding: 11px; border-radius: 13px; background: #f1f4f2; }
.information-agent-message.user { margin-left: auto; background: #e7f1fd; }
.information-agent-message p { margin: 0; font-size: 11px; line-height: 1.62; white-space: pre-wrap; }
.information-agent-message small { display: block; margin-top: 6px; color: #84918a; font-size: 8px; }
.information-agent-form { flex: 0 0 auto; padding: 12px; border-top: 1px solid #e3eae6; }
.information-agent-form textarea { width: 100%; min-height: 92px; padding: 11px; border: 1px solid #ccd9d1; border-radius: 12px; resize: vertical; font: inherit; font-size: 11px; line-height: 1.5; }
.information-agent-form > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 7px; }
.information-agent-form small { color: #839087; font-size: 8px; }
.information-agent-form button { padding: 8px 13px; }
.information-agent-card.expanded { position: fixed; inset: 30px 34px 30px auto; z-index: 110; width: min(760px, calc(100vw - 68px)); max-height: none; min-height: 0; }
.information-agent-card.expanded .information-agent-messages { min-height: 300px; }
.information-agent-card.expanded .information-agent-message p, .information-agent-card.expanded .information-agent-form textarea { font-size: 14px; }
body.information-agent-expanded::before { content: ''; position: fixed; inset: 0; z-index: 105; background: rgba(20,35,27,.35); backdrop-filter: blur(2px); }
.information-boundary { display: flex; justify-content: space-between; gap: 16px; margin-top: 17px; padding: 13px 16px; border-radius: 14px; color: #53635a; background: #edf3ef; font-size: 11px; line-height: 1.55; }
.information-boundary b { color: #1a6c48; }
.information-boundary span { color: #7b8780; }
.information-dialog-note { padding: 11px; border-radius: 11px; color: #53645a; background: #edf5f0; font-size: 11px; line-height: 1.55; }

@media (max-width: 1250px) {
  .information-page-layout { grid-template-columns: minmax(0, 1fr) 320px; }
  .information-hero { grid-template-columns: 1fr auto; }
  .information-hero > button { grid-column: 1 / -1; justify-self: start; }
  .information-connector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .today-information-list, .observation-topic-list, .topic-brief-grid { grid-template-columns: 1fr; }
  .information-page-layout { grid-template-columns: 1fr; }
  .information-agent-column { position: static; }
  .information-agent-card { max-height: 720px; min-height: 520px; }
  .information-hero { grid-template-columns: 1fr; }
  .information-hero-metrics { width: 100%; }
  .information-hero > button { grid-column: auto; }
}
@media (max-width: 720px) {
  .privacy-vault-banner { align-items: stretch; flex-direction: column; }
}
@media (max-width: 680px) {
  .today-information-item { grid-template-columns: 34px minmax(0, 1fr); }
  .today-information-item > button { grid-column: 2; justify-self: start; }
  .information-hero { padding: 18px; }
  .information-hero-metrics { grid-template-columns: repeat(3, 1fr); }
  .information-main-column > .panel { padding: 16px; }
  .information-card > footer, .information-boundary { align-items: flex-start; flex-direction: column; }
  .information-card-actions { justify-content: flex-start; }
  .information-connector-grid { grid-template-columns: 1fr; }
  .information-agent-card.expanded { inset: 12px; width: auto; }
}

/* Independent domain-agent room: separate from the Secretary context. */
.domain-agent-window {
  position: fixed;
  z-index: 140;
  top: 20px;
  right: 22px;
  width: min(680px, calc(100vw - 44px));
  height: min(780px, calc(100vh - 40px));
  min-width: 430px;
  min-height: 430px;
  max-width: calc(100vw - 16px);
  max-height: calc(100vh - 16px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  resize: both;
  border: 1px solid #cbdcd2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 82px rgba(14, 46, 29, .28);
}
.domain-agent-window > header {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 9px auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #e2eae5;
  background: linear-gradient(135deg, #f7fbf8, #fff);
  cursor: move;
  touch-action: none;
  user-select: none;
}
.domain-agent-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: #185039; font-weight: 900; }
.domain-agent-title { min-width: 0; }
.domain-agent-title strong, .domain-agent-title small { display: block; }
.domain-agent-title strong { font-size: 15px; }
.domain-agent-title small { margin-top: 2px; overflow: hidden; color: #718078; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.domain-agent-window .online-dot { width: 9px; height: 9px; border-radius: 50%; background: #2fc276; box-shadow: 0 0 0 3px #e8f7ef; }
.domain-agent-window > header button { height: 32px; padding: 0 10px; border: 1px solid #d7e2dc; border-radius: 9px; color: #315a47; background: white; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
#domainAgentClose { width: 32px; padding: 0; font-size: 18px; }
.domain-agent-boundary { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; margin: 12px 14px 0; padding: 10px 12px; border-radius: 11px; color: #486056; background: #eaf6ef; font-size: 10px; line-height: 1.55; }
.domain-agent-boundary > span { min-width: 0; }
.domain-agent-boundary b { color: #12643f; }
.domain-agent-boundary button { flex: 0 0 auto; padding: 5px 8px; border: 1px solid #87b69c; border-radius: 8px; color: #fff; background: #19764e; font: inherit; font-size: 9px; font-weight: 850; cursor: pointer; }
.domain-owner-inbox { flex: 0 0 auto; margin: 8px 14px 0; border: 1px solid #ead8ae; border-radius: 11px; background: #fffaf0; }
.domain-owner-inbox > summary { display: flex; align-items: center; gap: 7px; padding: 8px 10px; color: #725b28; font-size: 10px; cursor: pointer; list-style: none; }
.domain-owner-inbox > summary::-webkit-details-marker { display: none; }
.domain-owner-inbox > summary span { font-weight: 900; }
.domain-owner-inbox > summary b { font-size: 9px; }
.domain-owner-inbox > summary i { margin-left: auto; font-style: normal; transition: transform .15s ease; }
.domain-owner-inbox[open] > summary i { transform: rotate(180deg); }
#domainOwnerInboxList { max-height: 280px; overflow: auto; padding: 0 8px 8px; }
.domain-owner-feedback { margin-top: 6px; padding: 10px; border: 1px solid #eadfca; border-radius: 10px; background: white; }
.domain-owner-feedback > header { display: flex; align-items: center; gap: 6px; }
.domain-owner-feedback > header span { color: #745620; font-size: 10px; font-weight: 900; }
.domain-owner-feedback > header b { color: #69736d; font-size: 9px; }
.domain-owner-feedback > header em { margin-left: auto; padding: 2px 5px; border-radius: 999px; color: #78602d; background: #fff1cd; font-size: 8px; font-style: normal; }
.domain-owner-feedback > p { margin: 7px 0; color: #3e4d45; font-size: 11px; line-height: 1.5; }
.domain-owner-feedback details { color: #6f7a74; font-size: 9px; }
.domain-owner-feedback details summary { cursor: pointer; }
.domain-owner-feedback details > div { margin-top: 6px; padding: 7px; border-radius: 8px; background: #f5f7f5; }
.domain-owner-feedback details b, .domain-owner-feedback details p { display: block; margin: 0 0 4px; }
.domain-owner-feedback details p { line-height: 1.45; }
.domain-owner-feedback footer { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.domain-owner-feedback footer button { padding: 5px 7px; border: 1px solid #dac99f; border-radius: 7px; color: #6f5625; background: #fffdf8; font-size: 9px; cursor: pointer; }
.domain-owner-empty { padding: 11px; color: #8a806d; font-size: 9px; text-align: center; }
.domain-agent-quick { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 14px 6px; }
.domain-agent-quick button { padding: 6px 9px; border: 1px solid #d4e1d9; border-radius: 999px; color: #496057; background: #fff; font: inherit; font-size: 10px; cursor: pointer; }
.domain-agent-quick button:hover { color: #12643f; border-color: #91c3a7; background: #f3faf6; }
.domain-agent-messages { flex: 1 1 auto; min-height: 120px; overflow: auto; padding: 5px 14px 14px; scrollbar-gutter: stable; }
.domain-agent-welcome { margin: 8px 0; padding: 16px; border: 1px dashed #b8d7c5; border-radius: 15px; color: #496057; background: #f7fbf8; }
.domain-agent-welcome b { color: #154b34; font-size: 14px; }
.domain-agent-welcome p { margin: 7px 0 0; font-size: 12px; line-height: 1.65; }
.domain-agent-message { max-width: 91%; margin: 9px 0; padding: 12px 14px; border-radius: 15px; color: #26372f; background: #f2f5f3; }
.domain-agent-message.user { margin-left: auto; background: #e7f1fd; }
.domain-agent-message small { display: block; margin-top: 8px; color: #839089; font-size: 9px; }
.domain-evidence-note { margin-top: 9px; border-top: 1px solid #dde5e0; }
.domain-evidence-note summary { display: flex; align-items: center; gap: 6px; padding-top: 7px; color: #75847c; font-size: 9px; line-height: 1.4; cursor: pointer; list-style: none; }
.domain-evidence-note summary::-webkit-details-marker { display: none; }
.domain-evidence-note summary span { padding: 2px 6px; border-radius: 999px; color: #286347; background: #e4f1e9; font-weight: 850; }
.domain-evidence-note summary i { margin-left: auto; font-style: normal; transition: transform .15s ease; }
.domain-evidence-note[open] summary i { transform: rotate(180deg); }
.domain-evidence-note > div { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 7px; }
.domain-evidence-note em, .domain-evidence-note code { padding: 3px 6px; border-radius: 7px; font-size: 8px; font-style: normal; }
.domain-evidence-note em { color: #316248; background: #e9f3ed; }
.domain-evidence-note code { color: #6d6047; background: #f2efe8; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.domain-message-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.domain-message-actions button { padding: 5px 7px; border: 1px solid #d4dfd8; border-radius: 8px; color: #50635a; background: rgba(255,255,255,.85); font: inherit; font-size: 9px; cursor: pointer; }
.domain-message-actions button:hover { color: #11633f; border-color: #95c2aa; }
.domain-message-actions button[data-domain-message-action="disagree"] { color: #8a5428; }
.domain-message-actions span { padding: 5px 7px; color: #2b7651; font-size: 9px; }
.domain-rich { overflow-wrap: anywhere; font-size: 12px; line-height: 1.68; }
.domain-rich p { margin: 0 0 9px; }
.domain-rich p:last-child { margin-bottom: 0; }
.domain-rich h4, .domain-rich h5 { margin: 15px 0 7px; color: #164c35; line-height: 1.4; }
.domain-rich h4:first-child, .domain-rich h5:first-child { margin-top: 0; }
.domain-rich h4 { font-size: 15px; }
.domain-rich h5 { font-size: 13px; }
.domain-rich ul, .domain-rich ol { margin: 7px 0 10px; padding-left: 21px; }
.domain-rich li { margin: 4px 0; }
.domain-rich code { padding: 1px 4px; border-radius: 4px; color: #734d15; background: #fff2d7; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .92em; }
.domain-table-wrap { max-width: 100%; margin: 9px 0 12px; overflow: auto; border: 1px solid #dce6df; border-radius: 10px; }
.domain-table-wrap table { width: 100%; border-collapse: collapse; background: #fff; font-size: 10px; }
.domain-table-wrap th, .domain-table-wrap td { min-width: 105px; padding: 8px 9px; border-right: 1px solid #e5ebe7; border-bottom: 1px solid #e5ebe7; text-align: left; vertical-align: top; }
.domain-table-wrap th { color: #27513d; background: #eff7f2; }
.domain-agent-thinking { flex: 0 0 auto; padding: 8px 15px; color: #537063; background: #f7faf8; font-size: 10px; }
.domain-agent-thinking span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #28ae69; animation: pulse 1.1s infinite alternate; }
.domain-agent-form { flex: 0 0 auto; padding: 12px 14px 14px; border-top: 1px solid #e1e9e4; background: #fff; }
.domain-agent-form textarea { box-sizing: border-box; width: 100%; min-height: 92px; max-height: 260px; padding: 11px 12px; resize: vertical; border: 1px solid #cbd9d1; border-radius: 12px; outline: none; font: inherit; font-size: 12px; line-height: 1.58; }
.domain-agent-form textarea:focus { border-color: #2b9463; box-shadow: 0 0 0 3px rgba(43,148,99,.12); }
.domain-agent-form > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.domain-agent-form > div > span { color: #7f8c85; font-size: 9px; }
.domain-agent-form button[type="submit"] { padding: 9px 17px; border: 0; border-radius: 11px; color: #fff; background: #138354; font: inherit; font-weight: 850; cursor: pointer; }
.domain-agent-form button:disabled { opacity: .55; cursor: wait; }
.domain-agent-window.maximized { inset: 10px !important; width: auto !important; height: auto !important; max-width: none; max-height: none; resize: none; border-radius: 17px; }
.domain-agent-window.maximized .domain-agent-message { max-width: min(900px, 88%); }
body.moving-domain-agent { cursor: move; user-select: none; }

.domain-feedback-dialog { width: min(610px, calc(100vw - 32px)); }
.domain-feedback-answer { padding: 11px 13px; border: 1px solid #dde6e0; border-radius: 12px; background: #f4f7f5; }
.domain-feedback-answer small { display: block; color: #728078; font-size: 9px; }
.domain-feedback-answer p { margin: 5px 0 0; color: #34483e; font-size: 11px; line-height: 1.55; }
.domain-feedback-option { display: flex !important; align-items: center; gap: 8px; color: #52645b; font-size: 11px; }
.domain-feedback-option input { width: 15px; height: 15px; margin: 0; }
.domain-feedback-privacy { padding: 10px 12px; border-radius: 10px; color: #69766f; background: #eef4f0; font-size: 10px; line-height: 1.55; }

@media (max-width: 700px) {
  .domain-agent-window { inset: 8px !important; width: auto; height: auto; min-width: 0; min-height: 0; resize: none; border-radius: 15px; }
  .domain-agent-window > header { grid-template-columns: 38px minmax(0, 1fr) 8px auto auto; padding: 11px; }
  .domain-agent-icon { width: 38px; height: 38px; }
  .domain-agent-boundary { margin: 9px 10px 0; }
  .domain-agent-quick { padding-inline: 10px; }
  .domain-agent-messages { padding-inline: 10px; }
}

/* Owner-invited Codex room. It is a conversation room, not a settings console. */
.domain-maintenance-window {
  position: fixed;
  z-index: 150;
  top: 18px;
  right: 22px;
  width: min(820px, calc(100vw - 44px));
  height: min(860px, calc(100vh - 36px));
  min-width: 520px;
  min-height: 480px;
  max-width: calc(100vw - 16px);
  max-height: calc(100vh - 16px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  resize: both;
  border: 1px solid #c7d8cf;
  border-radius: 20px;
  background: #fbfcfb;
  box-shadow: 0 30px 90px rgba(12, 40, 25, .3);
}
.domain-maintenance-window > header {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 9px auto auto auto;
  gap: 9px;
  align-items: center;
  padding: 13px 15px;
  border-bottom: 1px solid #e0e8e3;
  background: linear-gradient(135deg, #f3faf6, #fff);
  cursor: move;
  touch-action: none;
  user-select: none;
}
.domain-maintenance-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, #164b35, #147c50);
  font-size: 14px;
  font-weight: 900;
}
.domain-maintenance-window > header > div:nth-child(2) { min-width: 0; }
.domain-maintenance-window > header strong,
.domain-maintenance-window > header small { display: block; }
.domain-maintenance-window > header strong { font-size: 15px; }
.domain-maintenance-window > header small { margin-top: 2px; overflow: hidden; color: #738078; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.domain-maintenance-window .online-dot { width: 9px; height: 9px; border-radius: 50%; background: #2fc276; box-shadow: 0 0 0 3px #e8f7ef; }
.domain-maintenance-window > header button { height: 32px; padding: 0 9px; border: 1px solid #d5e0da; border-radius: 9px; color: #315a47; background: #fff; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
#domainMaintenanceClose { width: 32px; padding: 0; font-size: 18px; }
.domain-maintenance-status {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 15px;
  color: #6d5731;
  background: #fff7e7;
  border-bottom: 1px solid #f0e0bd;
  font-size: 9px;
}
.domain-maintenance-status b { padding: 3px 7px; border-radius: 999px; color: #875d19; background: #ffe9b9; font-size: 9px; }
.domain-maintenance-status span { color: #84755b; }
.domain-maintenance-participants {
  flex: 0 0 auto;
  display: flex;
  gap: 6px;
  padding: 9px 14px 5px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.domain-maintenance-participants > span { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px 4px 4px; border: 1px solid #dbe5df; border-radius: 999px; color: #506058; background: #fff; font-size: 9px; }
.domain-maintenance-participants i { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #22563f; font-size: 8px; font-style: normal; font-weight: 900; }
.domain-maintenance-participants .waiting { opacity: .62; }
.domain-maintenance-participants .waiting i { color: #776745; background: #efe5ca; }
.domain-maintenance-messages { flex: 1 1 auto; min-height: 130px; overflow: auto; padding: 7px 15px 14px; scrollbar-gutter: stable; }
.domain-maintenance-empty { margin: 30px auto; color: #78857e; font-size: 11px; text-align: center; }
.domain-maintenance-message { max-width: 88%; margin: 10px 0; padding: 11px 13px; border: 1px solid #e0e6e2; border-radius: 15px; color: #2a3931; background: #fff; }
.domain-maintenance-message > header { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.domain-maintenance-message > header span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #456354; font-size: 9px; font-weight: 900; }
.domain-maintenance-message > header b { font-size: 10px; }
.domain-maintenance-message .domain-rich { font-size: 11px; line-height: 1.65; }
.domain-maintenance-message > small { display: block; margin-top: 8px; color: #87928c; font-size: 8px; }
.domain-maintenance-message.owner { margin-left: auto; border-color: #d5e2ef; background: #eaf3fd; }
.domain-maintenance-message.owner > header { justify-content: flex-end; }
.domain-maintenance-message.owner > header span { order: 2; background: #4d7294; }
.domain-maintenance-message.director { border-left: 3px solid #208459; background: #f5faf7; }
.domain-maintenance-message.director > header span { background: #1a5a40; }
.domain-maintenance-message.codex { border-color: #e1d5bc; border-left: 3px solid #ba8428; background: #fffdf8; }
.domain-maintenance-message.codex > header span { color: #6a4916; background: #f1dfb9; }
.domain-maintenance-thinking { flex: 0 0 auto; padding: 7px 15px; color: #5b6d63; background: #f4f7f5; font-size: 9px; }
.domain-maintenance-thinking span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #c38a27; animation: pulse 1.1s infinite alternate; }
.domain-maintenance-form { flex: 0 0 auto; padding: 10px 14px 13px; border-top: 1px solid #e0e8e3; background: #fff; }
.domain-maintenance-target { display: flex; align-items: center; gap: 5px; margin-bottom: 7px; }
.domain-maintenance-target > span { margin-right: 3px; color: #7b8881; font-size: 8px; }
.domain-maintenance-target button { padding: 5px 8px; border: 1px solid #d8e2dc; border-radius: 999px; color: #5b6b63; background: #fff; font: inherit; font-size: 9px; cursor: pointer; }
.domain-maintenance-target button.active { color: #fff; border-color: #1b7750; background: #1b7750; }
.domain-maintenance-form textarea { box-sizing: border-box; width: 100%; min-height: 82px; max-height: 240px; padding: 10px 11px; resize: vertical; border: 1px solid #cbd8d1; border-radius: 12px; outline: none; font: inherit; font-size: 11px; line-height: 1.55; }
.domain-maintenance-form textarea:focus { border-color: #2b9463; box-shadow: 0 0 0 3px rgba(43,148,99,.11); }
.domain-maintenance-form > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 7px; }
.domain-maintenance-form > div:last-child span { color: #849089; font-size: 8px; }
.domain-maintenance-form button[type="submit"] { padding: 8px 17px; border: 0; border-radius: 10px; color: #fff; background: #138354; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.domain-maintenance-form button:disabled { opacity: .55; cursor: wait; }
.domain-maintenance-window.maximized { inset: 10px !important; width: auto !important; height: auto !important; max-width: none; max-height: none; resize: none; border-radius: 17px; }
.domain-maintenance-window.maximized .domain-maintenance-message { max-width: min(980px, 86%); }
.domain-message-actions button[data-domain-message-action="summon"],
.domain-owner-feedback footer button[data-domain-owner-action="summon"] { color: #fff; border-color: #1a7f53; background: #1a7f53; }
body.moving-domain-maintenance { cursor: move; user-select: none; }

@media (max-width: 720px) {
  .domain-maintenance-window { inset: 8px !important; width: auto; height: auto; min-width: 0; min-height: 0; resize: none; border-radius: 15px; }
  .domain-maintenance-window > header { grid-template-columns: 38px minmax(105px, 1fr) auto auto auto; gap: 6px; padding: 10px; }
  .domain-maintenance-window > header .online-dot { display: none; }
  .domain-maintenance-window > header button { padding-inline: 7px; font-size: 9px; }
  .domain-maintenance-icon { width: 38px; height: 38px; }
  .domain-maintenance-status { align-items: flex-start; flex-direction: column; gap: 4px; }
  .domain-maintenance-participants { overflow: hidden; }
  .domain-maintenance-participants .waiting { display: none; }
  .domain-maintenance-messages { padding-inline: 10px; }
  .domain-maintenance-message { max-width: 94%; }
}

.demo-tag { color: var(--gold); font-weight: 700; }

/* 可配置首页布局：只有三档尺寸，不接受任意宽度 */
.home-card-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.home-card.size-narrow { grid-column: span 2; }
.home-card.size-normal { grid-column: span 3; }
.home-card.size-wide   { grid-column: span 6; }
.home-card.metric-grid { display: grid; }
.home-card.employee-compass { display: grid; }

.layout-preview-bar { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 14px 16px; margin-bottom: 16px; border: 1px solid var(--gold); border-radius: 14px; background: #fbf4e2; }
.layout-preview-bar[hidden] { display: none; }
.layout-preview-copy b { display: block; color: var(--ink); font-size: 13px; }
.layout-preview-copy p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.layout-preview-copy ul { margin: 6px 0 0; padding-left: 18px; color: #8a651a; font-size: 12px; }
.layout-preview-actions { display: flex; gap: 8px; flex-shrink: 0; }

.layout-manager-panel { display: grid; gap: 12px; }
.layout-card-list { display: grid; gap: 8px; }
.layout-card-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.layout-card-row[draggable="true"] { cursor: grab; }
.layout-drag-handle { color: var(--muted); flex-shrink: 0; }
.layout-card-info { flex: 1; min-width: 0; }
.layout-card-info b { display: block; font-size: 13px; color: var(--ink); }
.layout-card-info small { color: var(--muted); font-size: 11px; }
.layout-card-row select { padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font-size: 12px; }
.layout-row-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.layout-add-section { display: grid; gap: 8px; }
.layout-add-section > b { font-size: 13px; color: var(--ink); }
.layout-add-list { display: grid; gap: 6px; }
.layout-add-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 10px; background: var(--soft); }
.layout-add-row b { font-size: 12px; color: var(--ink); display: block; }
.layout-add-row small { color: var(--muted); font-size: 11px; }
.layout-manager-hint { padding: 8px 12px; border-radius: 10px; background: #fbf0cf; color: #8a651a; font-size: 12px; }
.layout-manager-foot { color: var(--muted); font-size: 11px; }

@media (max-width: 960px) {
  .home-card-grid { grid-template-columns: 1fr; }
  .home-card.size-narrow, .home-card.size-normal, .home-card.size-wide { grid-column: span 1; }
  .layout-preview-bar { flex-direction: column; }
}

/* 卡片内部网格自适应：这些内容原为整行区块设计，放进半宽/窄卡时按可用宽度自动叠行 */
.home-card.employee-compass { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin: 0; }
.home-card .company-direction-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.home-card.metric-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0; }
.home-card .home-automation-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.home-card .today-information-list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* 秘书长面板内的首页布局预览卡：对话中即可确认，不必离开对话 */
.strategist-layout-card { display: grid; gap: 10px; margin: 0 14px 10px; padding: 12px 14px; border: 1px solid var(--gold); border-radius: 12px; background: #fbf4e2; }
.strategist-layout-card[hidden] { display: none; }
.strategist-layout-copy b { display: block; font-size: 12px; color: var(--ink); }
.strategist-layout-copy p { margin: 4px 0 0; font-size: 12px; color: var(--muted); }
.strategist-layout-copy small { display: block; margin-top: 6px; font-size: 11px; color: #8a651a; }
.strategist-layout-actions { display: flex; gap: 8px; }
.strategist-layout-actions button { flex: 1; }

/* 卡片需求队列：秘书长记录的"还做不到"的需求，员工可查 */
.layout-request-section { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid var(--line); }
.layout-request-section > b { font-size: 13px; color: var(--ink); }
.layout-request-list { display: grid; gap: 6px; }
.layout-request-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 10px; background: var(--soft); }
.layout-request-row b { display: block; font-size: 12px; color: var(--ink); }
.layout-request-row small { color: var(--muted); font-size: 11px; }

/* 跟进项行内操作与首页卡片参数控件 */
.followup-row-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.followup-row-actions select { padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font-size: 12px; }
.layout-param-group { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.layout-param { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--muted); white-space: nowrap; }
.layout-param input[type="number"] { width: 54px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 6px; font-size: 12px; }

/* 非参与方的权限边界提示 */
.visibility-notice { margin: 14px 0; padding: 12px 14px; border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: 10px; background: var(--soft); }
.visibility-notice b { display: block; font-size: 13px; color: var(--ink); }
.visibility-notice p { margin: 4px 0 0; font-size: 12px; color: var(--muted); }
.visibility-notice small { display: block; margin-top: 6px; font-size: 11px; color: #8a651a; }
.participant-grid.compact { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin-top: 12px; }
.participant-grid.compact .participant-card { padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.participant-grid.compact b { font-size: 12px; color: var(--ink); }
.participant-grid.compact small { display: block; color: var(--muted); font-size: 11px; }

/* 能力包申请队列 */
.ability-request-panel { display: grid; gap: 12px; margin-top: 20px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.ability-request-panel[hidden] { display: none; }
.ability-request-list { display: grid; gap: 8px; }
.ability-request { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 12px 14px; border-radius: 12px; background: var(--soft); }
.ability-request b { display: block; font-size: 13px; color: var(--ink); }
.ability-request small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.ability-request-note { margin: 6px 0 0; font-size: 12px; color: #8a651a; }
.ability-request-side { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }

/* ── 登录界面与身份芯片 ─────────────────────────────────────────── */
.login-overlay { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; background: linear-gradient(150deg, #10331f, #0d7447); }
.login-overlay[hidden] { display: none; }
.login-card { width: min(430px, 100%); background: white; border-radius: 24px; padding: 30px 30px 26px; box-shadow: 0 30px 90px rgba(6, 30, 17, .4); }
.login-brand { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.login-brand strong { display: block; font-size: 19px; }
.login-brand small { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }
.login-card form { display: grid; gap: 9px; }
.login-card label { font-size: 13px; font-weight: 800; color: var(--green-dark); }
.login-card input { padding: 12px 13px; border: 1px solid #cdd7d0; border-radius: 12px; font-size: 14px; }
.login-card input:focus-visible { border-color: var(--green); }
.login-hint { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.login-error { margin: 0; padding: 9px 11px; border-radius: 10px; background: #fdeeee; color: #9d3030; font-size: 13px; line-height: 1.5; }
.login-card .primary-button { margin-top: 4px; padding: 12px; font-size: 15px; }
.login-trial hr { margin: 18px 0 14px; border: 0; border-top: 1px solid var(--line); }
.login-trial p { margin: 0 0 10px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.login-trial .secondary-button { width: 100%; padding: 10px; }
.identity-chip { display: flex; align-items: center; gap: 10px; padding: 6px 12px 6px 7px; border: 1px solid var(--line); border-radius: 999px; background: white; }
.identity-chip-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--green-dark); color: white; font-weight: 800; font-size: 14px; }
.identity-chip b { display: block; font-size: 13px; line-height: 1.2; }
.identity-chip small { display: block; color: var(--muted); font-size: 11px; }
.identity-chip .text-button { margin-left: 4px; font-size: 12px; }
/* 试用会话时页面四周常驻提示边框，防止把演示当成真环境 */
body.trial-session .app-shell { box-shadow: inset 0 0 0 3px #e8a13c; }
/* 慧能管理入口（visible_pages 直链） */
.sidebar-huineng-pages { display: grid; gap: 6px; }
.sidebar-huineng-pages > small { color: var(--muted); font-size: 11px; }
.sidebar-huineng-pages a { display: flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--green-dark); background: white; font-size: 12px; font-weight: 700; text-decoration: none; }
.sidebar-huineng-pages a:hover { border-color: var(--green); }
/* 设置面板里的首页布局恢复区（手动编辑模块已删除，布局改动走秘书长对话） */
.sidebar-settings-layout { display: grid; gap: 6px; padding-top: 9px; border-top: 1px solid #eef2f0; }
.sidebar-settings-layout > small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.sidebar-settings-layout .secondary-button { width: 100%; padding: 8px; font-size: 12px; }
/* 协作中心布局化：激活时为 flex 列，模块顺序由每人的布局配置（style.order）决定。
   模块间距沿用原有 margin，flex 不破坏它。 */
section[data-view-panel="collaboration"].active { display: flex; flex-direction: column; }
/* 回流状态区（强制回流：员工看状态、可重试，没有放行开关） */
.fact-reflow-status { margin: 14px; padding: 12px 14px; border: 1px solid #d8e4dc; border-radius: 14px; background: #f8fbf9; display: grid; gap: 8px; }
.fact-reflow-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.fact-reflow-head b { font-size: 13px; }
.fact-reflow-head small { color: var(--muted); font-size: 11px; text-align: right; }
.fact-reflow-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #e4ebe6; border-radius: 10px; background: white; }
.fact-reflow-row > div { min-width: 0; flex: 1; }
.fact-reflow-row b { display: block; font-size: 12px; }
.fact-reflow-row small { display: block; color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fact-reflow-pill { flex: 0 0 auto; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; background: #eef2ef; color: #55635b; }
.fact-reflow-row.ok .fact-reflow-pill { background: #e2f4e8; color: #196c3d; }
.fact-reflow-row.bad .fact-reflow-pill { background: #fdeeee; color: #9d3030; }
.fact-reflow-note { color: var(--muted); font-size: 11px; line-height: 1.5; }
/* 回流状态：数字独立一行完整显示；条目区有上限高度，多了内部滚动而不是无限撑高 */
.fact-reflow-tally { display: flex; align-items: baseline; gap: 12px; font-size: 12px; font-weight: 800; }
.fact-reflow-tally .ok { color: #196c3d; }
.fact-reflow-tally .wait { color: #8a611e; }
.fact-reflow-tally .bad { color: #9d3030; }
.fact-reflow-tally em { font-style: normal; font-weight: 400; color: var(--muted); font-size: 11px; }
.fact-reflow-rows { display: grid; gap: 6px; max-height: 240px; overflow-y: auto; }
/* 重跑补充材料输入 */
.work-supplement { display: grid; gap: 6px; margin: 12px 0; }
.work-supplement span { font-size: 12px; font-weight: 800; color: var(--green-dark); }
.work-supplement textarea { width: 100%; resize: vertical; padding: 10px; border: 1px solid #d5ded8; border-radius: 10px; font-size: 13px; line-height: 1.5; }
/* 回流条目类型：原文（未改写）与纪要（员工修正层）分开标 */
.fact-kind { flex: none; font-size: 10px; font-weight: 800; padding: 1px 6px; border-radius: 6px; background: #eef2ee; color: #5c6b60; }
.fact-kind.original { background: #e3ecff; color: #2c4f9e; }
.pkg-delete { color: #9d3030; border-color: #dcc3c3; }

/* 能力包：版本历史与考题回归 */
.package-regression { font-size: 12px; font-weight: 800; padding: 8px 10px; border-radius: 10px; }
.package-regression.ok { background: #e7f3ea; color: #196c3d; }
.package-regression.wait { background: #f7efdd; color: #8a611e; }
.pkg-version-list, .pkg-case-list { display: grid; gap: 8px; max-height: 300px; overflow-y: auto; }
.pkg-version-row, .pkg-case-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e2e8e3; border-radius: 12px; background: #fff; }
.pkg-version-row small, .pkg-case-row small { display: block; color: var(--muted); font-size: 11px; }
.pkg-case-row.ok { border-color: #bcd9c5; }
.pkg-case-row.bad { border-color: #dcb9b9; background: #fdf7f7; }
.pkg-case-row .bad-text { color: #9d3030; }
.pkg-case-side { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pkg-case-add { display: grid; gap: 8px; padding: 12px; border: 1px dashed #cdd8cf; border-radius: 12px; }
.pkg-case-add b { font-size: 12px; }
.pkg-case-add input, .pkg-case-add textarea { width: 100%; padding: 8px 10px; border: 1px solid #d5ded8; border-radius: 8px; font-size: 13px; }

/* 工作线行：标题占满整行，状态并入副标题；✓（完成并收起）小尺寸靠右 */
.workline-item { display: flex; align-items: center; gap: 0; padding: 0; }
.workline-select { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px 4px 10px 10px; border: 0; background: transparent; color: var(--ink); text-align: left; border-radius: 12px; cursor: pointer; }
.workline-select > span { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 11px; background: #e9efeb; color: #345b46; font-size: 13px; font-weight: 900; }
.workline-item.active .workline-select > span { background: var(--green); color: white; }
.workline-finish { flex: none; width: 20px; height: 20px; margin-right: 8px; padding: 0; border-radius: 7px; border: 1px solid #cfdcd2; background: #fff; color: #4c6a56; font-size: 11px; line-height: 1; cursor: pointer; }
.workline-finish:hover { background: #e8f5ed; border-color: #9dc7ad; }
.goal-delete { color: #9d3030; }

.domain-skill-confirm-bar { display: grid; gap: 6px; padding: 0 14px; }
.domain-skill-confirm-bar:empty { display: none; }
.domain-skill-confirm-bar button { font-size: 12px; }

/* 接入方管理 */
.partner-panel { display: grid; gap: 12px; }
#partnerList { display: grid; gap: 8px; }
.partner-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid #dde5df; border-radius: 12px; background: #fff; }
.partner-row.disabled { opacity: .6; }
.partner-row small { display: block; color: var(--muted); font-size: 11px; }
.partner-row-actions { display: flex; gap: 6px; flex-shrink: 0; }

/* 招聘工作台（方案B演示） */
.recruit-list { display: grid; gap: 8px; }
.recruit-disconnected { padding: 18px; border: 1px dashed #cdb98f; border-radius: 12px; background: #faf6ec; }
.recruit-disconnected p { margin: 6px 0 0; font-size: 13px; }
.recruit-connected { padding: 10px 14px; border-radius: 10px; background: #e7f3ea; color: #196c3d; font-size: 13px; font-weight: 700; }

.recruit-jobs { display: flex; gap: 8px; flex-wrap: wrap; }
.recruit-job { text-align: left; padding: 10px 14px; border: 1px solid #dde5df; border-radius: 12px; background: #fff; cursor: pointer; }
.recruit-job.active { border-color: var(--green-dark, #2e6b4f); background: #e8f5ed; }
.recruit-job b { display: block; font-size: 13.5px; }
.recruit-job small { color: var(--muted); font-size: 11.5px; }
.recruit-candidate { border: 1px solid #dde5df; border-radius: 12px; background: #fff; overflow: hidden; }
.recruit-candidate-head { width: 100%; display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: transparent; border: 0; cursor: pointer; text-align: left; }
.recruit-candidate-head b { font-size: 14px; }
.recruit-candidate-head small { color: var(--muted); margin-left: auto; }
.recruit-candidate.open { border-color: #9dc7ad; }
.recruit-candidate-body { padding: 0 14px 14px; display: grid; gap: 8px; }
.recruit-verdict { margin: 0; font-size: 13px; background: #f6f8f5; border-radius: 8px; padding: 10px; }
.recruit-candidate-body details summary { cursor: pointer; font-size: 12.5px; font-weight: 700; }
.recruit-candidate-body ul { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; }
.recruit-candidate-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.recruit-chat { max-height: 300px; overflow-y: auto; background: #f6f8f5; border-radius: 8px; padding: 10px; font-size: 12.5px; }
.recruit-chat p { margin: 4px 0; }
.recruit-script { white-space: pre-wrap; font-family: inherit; margin: 0; }
.recruit-pager { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 12.5px; color: var(--muted); }
.recruit-ready-row { width: 100%; text-align: left; cursor: pointer; border: 1px solid #dde5df; }
.recruit-ready-row:hover { border-color: #9dc7ad; background: #f4f8f5; }

/* 工作留痕 */
.audit-panel { display: grid; gap: 10px; }
.audit-filters { display: flex; gap: 8px; }
.audit-filters input { flex: 1; padding: 8px 12px; border: 1px solid #d5ded8; border-radius: 8px; font-size: 13px; }
.audit-filters select { padding: 8px; border: 1px solid #d5ded8; border-radius: 8px; font-size: 13px; }
.audit-list { display: grid; gap: 4px; max-height: 420px; overflow-y: auto; }
.audit-row { display: flex; gap: 12px; align-items: baseline; padding: 8px 10px; border-radius: 8px; background: #f8faf8; font-size: 13px; }
.audit-row time { flex-shrink: 0; color: var(--muted); font-size: 11.5px; }
.audit-row small { display: block; color: var(--muted); font-size: 11px; }
.audit-more { text-align: center; }

/* 互评五星评价 */
.agent-perf { font-size: 11.5px; color: #196c3d; background: #e7f3ea; border-radius: 8px; padding: 6px 10px; }
.agent-perf.warn { color: #8a611e; background: #f7efdd; }

/* SKILL 修订建议 */
.revision-list { display: grid; gap: 10px; max-height: 420px; overflow-y: auto; }
.revision-item { display: flex; gap: 10px; padding: 12px 14px; border: 1px solid #dde5df; border-radius: 12px; background: #fff; cursor: pointer; }
.revision-item:hover { border-color: #9dc7ad; }
.revision-item input { margin-top: 3px; }
.revision-item b { font-size: 12px; color: var(--green-dark, #2e6b4f); }
.revision-content { margin: 4px 0 6px; font-size: 13.5px; line-height: 1.7; }
.revision-item small { display: block; color: var(--muted); font-size: 11.5px; }
.revision-evidence { margin-top: 2px; font-style: italic; }

/* 权限总览 */
.permission-panel { display: grid; gap: 12px; }
.permission-self-card { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; background: #e8f5ed; border: 1px solid #9dc7ad; }
.permission-self-card small { display: block; color: var(--muted); font-size: 11.5px; }
.permission-search input { width: 100%; padding: 9px 12px; border: 1px solid #d5ded8; border-radius: 8px; font-size: 13px; }
.permission-tree { display: grid; gap: 8px; }
.perm-dept { border: 1px solid #dde5df; border-radius: 12px; background: #fff; padding: 10px 14px; }
.perm-dept summary { cursor: pointer; display: flex; align-items: center; gap: 10px; font-size: 14px; }
.perm-role { margin: 8px 0 0 12px; padding-left: 12px; border-left: 2px solid #e4ebe6; }
.perm-role-head { font-size: 12.5px; font-weight: 700; color: var(--green-dark, #2e6b4f); display: flex; gap: 8px; align-items: baseline; }
.perm-role-head small { color: var(--muted); font-weight: 400; }
.perm-person { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px dashed #eef1ee; }
.perm-person:last-child { border-bottom: 0; }
.perm-person small { display: block; color: var(--muted); font-size: 11px; }
.perm-tags { display: flex; gap: 5px; flex-wrap: wrap; }
.perm-tag { font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 99px; }
.perm-tag.manager { background: #f5ead3; color: #8a611e; }
.perm-tag.data { background: #e3efe7; color: #2e6b4f; }
.perm-tag.seat { background: #e8edf2; color: #46586b; }
.perm-tag.page { background: #f2f4f7; color: #64748b; }
.perm-tag.none { background: #f2f4f7; color: #94a3b8; font-weight: 400; }
.permission-source { font-size: 12px; margin: 0; padding: 6px 10px; border-radius: 8px; }
.permission-source.live { background: #e3efe7; color: #2e6b4f; }
.permission-source.local { background: #f5ead3; color: #8a611e; }
.perm-tag.huineng { background: #dcefe3; color: #1f5c3d; }
.permission-local-note { font-size: 11.5px; color: var(--muted); margin: 0; line-height: 1.6; }

/* 答案体检（幻觉治理第 1 层）：只标注不拦截 */
.answer-guard { margin: 8px 0; padding: 10px 12px; border-radius: 10px; font-size: 12.5px; }
.answer-guard.notice { background: #f7efdd; border: 1px solid #e3cf9f; color: #7a5a17; }
.answer-guard.warn { background: #fdf1f1; border: 1px solid #e3b9b9; color: #9d3030; }
.answer-guard b { display: block; margin-bottom: 4px; }
.answer-guard ul { margin: 0; padding-left: 16px; }
.answer-guard li { margin: 2px 0; }
.answer-guard li span { display: inline-block; min-width: 30px; font-weight: 700; opacity: .75; }
.answer-guard small { display: block; margin-top: 6px; opacity: .8; }
.capability-registry { margin-top: 10px; padding: 10px 12px; border: 1px dashed #cdd8cf; border-radius: 12px; }
.capability-registry summary { cursor: pointer; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.capability-registry > div { display: grid; gap: 6px; margin-top: 8px; }
/* 决策链追溯 */
.trace-steps { display: grid; gap: 4px; max-height: 460px; overflow-y: auto; padding-left: 4px; }
.trace-step { display: flex; gap: 12px; padding: 10px 12px; border-left: 2px solid #e4ebe6; }
.trace-step .trace-dot { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800; background: #eef2ef; color: #4c6a56; }
.trace-step b { font-size: 13.5px; }
.trace-step small { display: block; color: var(--muted); font-size: 11.5px; margin-top: 1px; }
.trace-step p { margin: 5px 0 0; font-size: 12.5px; line-height: 1.7; color: #445; background: #f7f9f7; border-radius: 8px; padding: 8px 10px; }
.trace-step.orchestrate .trace-dot { background: #e8edf2; color: #46586b; }
.trace-step.judge .trace-dot { background: #e3efe7; color: #2e6b4f; }
.trace-step.review .trace-dot { background: #f5ead3; color: #8a611e; }
.trace-step.guard .trace-dot { background: #fdf1f1; color: #9d3030; }
.trace-step.accept .trace-dot { background: #dcefe3; color: #1f5c3d; }
.trace-step.reject .trace-dot { background: #f3e2e2; color: #9d3030; }

/* 秘书长按需出的模块 */
.custom-module-count { display: flex; align-items: baseline; gap: 8px; padding: 18px 4px 8px; }
.custom-module-count b { font-size: 34px; font-weight: 700; line-height: 1; }
.custom-module-count small { color: var(--muted, #7a8291); font-size: 12px; }
.custom-module-add { border-style: dashed; }
.custom-module-add .quiet-text { margin: 4px 0 12px; }
.module-preview { margin-top: 16px; border-top: 1px solid var(--line, #e6e8ee); padding-top: 14px; }
.module-preview > b { display: block; margin-bottom: 8px; font-size: 13px; }
.module-preview ul { margin: 8px 0 0; padding-left: 18px; color: #b26a00; font-size: 12px; }
.module-preview .button-row { margin-top: 14px; }

/* 上下文条压成一行：标签 + 这条线是什么 + 一句实况。原来那几段说教已删。 */
.strategist-summary[hidden] { display: none; }
.strategist-context-detail { display: block; margin-top: 3px; color: #5d6f66; font-size: 11px; line-height: 1.45; }

/* 对话流里的卡片（协作草稿、页面方案）：跟着对话滚，不再常驻挤压消息区 */
.stream-card { align-self: stretch; padding: 12px 13px; border: 1px solid #b6d5c3; border-left: 3px solid var(--green); border-radius: 13px; background: #fbfdfc; color: #334b3e; }
.stream-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stream-card-head b { color: var(--green); font-size: 12px; letter-spacing: .06em; }
.stream-card-head em { border-radius: 999px; padding: 3px 8px; background: #fff0d8; color: #8c5b10; font-size: 10px; font-style: normal; font-weight: 800; white-space: nowrap; }
.stream-card h4 { margin: 8px 0 5px; color: var(--ink); font-size: 15px; line-height: 1.35; }
.stream-card p { margin: 0 0 6px; font-size: 12px; line-height: 1.5; }
.stream-card > small { display: block; margin-top: 3px; color: #67766e; font-size: 11px; line-height: 1.5; }
.stream-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.stream-card-actions button { border: 1px solid #cfdcd4; border-radius: 9px; padding: 6px 10px; background: white; color: #3d5648; font-size: 11px; font-weight: 800; }
.stream-card-actions button:hover { border-color: var(--green); background: var(--green-soft); }
.stream-card-actions .draft-activate { border-color: var(--green); background: var(--green); color: white; }
.stream-card-mode { margin-top: 8px; padding-top: 7px; border-top: 1px dashed #d8e5dd; color: #7b8a83; font-size: 10px; }
.stream-card-mode button { border: 0; padding: 0; background: transparent; color: var(--green); font-size: 10px; font-weight: 800; text-decoration: underline; cursor: pointer; }

/* 权限页：能不能进来（登录事实）与能看什么（权限）分开标 */
.perm-signin { border-radius: 999px; padding: 3px 8px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.perm-signin.ok { background: #e7f4ec; color: #1f6b45; }
.perm-signin.trial { background: #fff2dc; color: #8a5a12; }
.perm-signin.none { background: #f1f2f1; color: #7d8781; }

/* 交叉材料按项目/设备分组，同组内并排；差异标记只在材料真是 CONFLICT 时出现 */
.fact-cross-group { margin-bottom: 14px; }
.fact-cross-group-head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.fact-cross-group-head b { font-size: 13px; color: var(--ink); }
.fact-cross-group-head small { color: var(--muted); font-size: 11px; }
.source-chip.agreed { background: #eef2ef; color: #5d6f66; }

/* 首页优先级：逾期标记。排序真按时间算，标记是"真排了"的可见证据 */
.priority-overdue { margin-left: 6px; border-radius: 999px; padding: 2px 7px; background: #fdeaea; color: #b03b3b; font-size: 10px; font-style: normal; font-weight: 800; }

/* 直接回流：原件 + 一句介绍，不经过 Agent 纪要 */
.fact-direct-backflow { margin-top: 12px; padding: 13px; border: 1px dashed #cbdad1; border-radius: 14px; background: #fafcfb; display: grid; gap: 9px; }
.fact-direct-backflow b { display: block; font-size: 13px; color: var(--ink); }
.fact-direct-backflow small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.fact-direct-backflow input { width: 100%; border: 1px solid #cfd8d2; border-radius: 10px; padding: 9px 11px; font-size: 12px; }
.fact-direct-result p { margin: 6px 0 0; font-size: 11px; line-height: 1.5; }
.fact-direct-result .ok { color: #1f6b45; }
.fact-direct-result .warn { color: #a4552a; }

/* 上传前先写一句介绍——慧能靠它归档 */
.fact-intro-field { display: block; margin-bottom: 12px; }
.fact-intro-field > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; color: var(--ink); }
.fact-intro-field em { margin-left: 6px; color: #b03b3b; font-size: 11px; font-style: normal; font-weight: 700; }
.fact-intro-field input { width: 100%; border: 1px solid #cfd8d2; border-radius: 11px; padding: 10px 12px; font-size: 13px; }
.fact-intro-field input:focus { outline: none; border-color: var(--green); }
.fact-intro-field small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }

/* 这份材料到底送没送到慧能 */
.fact-delivery { margin-top: 12px; padding: 11px 13px; border-radius: 12px; font-size: 12px; }
.fact-delivery b { display: block; font-size: 12px; }
.fact-delivery p { margin: 4px 0 0; font-size: 11px; line-height: 1.5; }
.fact-delivery .warn { color: #a4552a; }
.fact-delivery.ok { background: #e9f5ee; color: #1f6b45; }
.fact-delivery.partial { background: #fff5e6; color: #8a5a12; }
.fact-delivery.pending { background: #f2f4f3; color: #6b7873; }
.fact-delivery.failed { background: #fdeceb; color: #a33; display: grid; gap: 8px; }
.fact-delivery.failed input { border: 1px solid #e3c4c0; border-radius: 9px; padding: 8px 10px; font-size: 12px; }

/* 材料入口做成聊天框：文件拖进来，底下说一句话，点送出 */
.fact-composer { border: 1px solid #cfd8d2; border-radius: 16px; background: white; padding: 10px; transition: border-color .15s, background .15s; }
.fact-composer.dragover { border-color: var(--green); background: var(--green-soft); }
.fact-composer textarea { width: 100%; border: 0; resize: vertical; min-height: 52px; padding: 8px 6px; font-size: 13px; line-height: 1.6; background: transparent; }
.fact-composer textarea:focus { outline: none; }
.fact-composer-tray { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.fact-composer-tray[hidden] { display: none; }
.fact-composer-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 260px; border: 1px solid #dbe5df; border-radius: 999px; padding: 5px 6px 5px 10px; background: #f4f8f5; font-size: 11px; color: #3d5648; }
.fact-composer-chip b { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.fact-composer-chip em { color: var(--muted); font-style: normal; }
.fact-composer-chip button { width: 18px; height: 18px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #dde6e0; color: #55665d; font-size: 12px; line-height: 1; cursor: pointer; }
.fact-composer-chip button:hover { background: #c9d6ce; }
.fact-composer-bar { display: flex; align-items: center; gap: 10px; padding-top: 8px; border-top: 1px solid #eef2ef; }
.fact-composer-pick { flex: 0 0 auto; border: 1px solid #cfd8d2; border-radius: 10px; padding: 6px 10px; background: #f7faf8; color: #3d5648; font-size: 12px; cursor: pointer; }
.fact-composer-pick:hover { border-color: var(--green); background: var(--green-soft); }
.fact-composer-bar { justify-content: space-between; }
.fact-composer textarea::placeholder { color: #9aa8a1; line-height: 1.7; }
.fact-composer-bar button { flex: 0 0 auto; }
.fact-composer-bar button:disabled { opacity: .45; cursor: not-allowed; }

/* 协作中心：搜索 + 按进度分类 + 分页 */
.case-search { display: flex; align-items: center; gap: 10px; }
.case-search input { width: min(320px, 42vw); border: 1px solid #cfd8d2; border-radius: 11px; padding: 8px 12px; font-size: 12px; }
.case-search input:focus { outline: none; border-color: var(--green); }
.case-search span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.case-status-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 4px 0 14px; }
.case-status-tabs button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d8e2dc; border-radius: 999px; padding: 6px 12px; background: white; color: #55665d; font-size: 12px; font-weight: 700; }
.case-status-tabs button:hover { border-color: var(--green); background: var(--green-soft); }
.case-status-tabs button.active { border-color: var(--green); background: var(--green); color: white; }
.case-status-tabs em { min-width: 18px; height: 17px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 999px; background: #eef2ef; color: #55665d; font-size: 10px; font-style: normal; font-weight: 800; }
.case-status-tabs button.active em { background: rgba(255,255,255,.25); color: white; }
.portfolio-pager { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 14px; }
.portfolio-pager[hidden] { display: none; }
.portfolio-pager button { border: 1px solid #d8e2dc; border-radius: 10px; padding: 6px 13px; background: white; color: #3d5648; font-size: 12px; font-weight: 700; }
.portfolio-pager button:hover:not(:disabled) { border-color: var(--green); background: var(--green-soft); }
.portfolio-pager button:disabled { opacity: .4; cursor: not-allowed; }
.portfolio-pager span { color: var(--muted); font-size: 12px; }
@media (max-width: 720px) { .case-search input { width: 100%; } }

/* 本地工坊列表：跟协作中心同一套分类分页 */
.work-list-column { display: flex; flex-direction: column; min-width: 0; }
.work-status-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.work-status-tabs button { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #d8e2dc; border-radius: 999px; padding: 5px 10px; background: white; color: #55665d; font-size: 11px; font-weight: 700; }
.work-status-tabs button:hover { border-color: var(--green); background: var(--green-soft); }
.work-status-tabs button.active { border-color: var(--green); background: var(--green); color: white; }
.work-status-tabs em { min-width: 16px; height: 15px; display: inline-grid; place-items: center; padding: 0 4px; border-radius: 999px; background: #eef2ef; color: #55665d; font-size: 9px; font-style: normal; font-weight: 800; }
.work-status-tabs button.active em { background: rgba(255,255,255,.25); color: white; }
.work-pager { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 10px; }
.work-pager[hidden] { display: none; }
.work-pager button { border: 1px solid #d8e2dc; border-radius: 9px; padding: 5px 10px; background: white; color: #3d5648; font-size: 11px; font-weight: 700; }
.work-pager button:disabled { opacity: .4; cursor: not-allowed; }
.work-pager span { color: var(--muted); font-size: 11px; }


/* 画像面板：磨合问卷 + 慧能画像（MBTI/岗位职责/About Me）合在个人习惯栏 */
.portrait-panel { margin-bottom: 18px; }
.portrait-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 12px; }
.portrait-block h4 { margin: 0 0 8px; font-size: 14px; }
.portrait-block ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 13px; }
.portrait-block .quiet-text { font-size: 12px; }
.portrait-answer b { font-weight: 600; }
.portrait-preview { margin-top: 12px; }
.portrait-preview pre { white-space: pre-wrap; font-size: 12px; background: var(--panel-sunken, rgba(0,0,0,.04)); padding: 12px; border-radius: 8px; max-height: 320px; overflow: auto; }

/* 公司任务（慧能协作单）面板 */
.company-task-list { display: grid; gap: 10px; margin-top: 12px; }
.company-task-row { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line, rgba(0,0,0,.08)); border-radius: 10px; flex-wrap: wrap; }
.company-task-main { flex: 1; min-width: 220px; display: grid; gap: 2px; }
.company-task-status-run { background: #e8f4ea; }
.company-task-status-review { background: #fdf3df; }
.company-task-status-fail { background: #fdeaea; }

/* 我启用的能力包：秘书长面板上的开关区 */
.my-plugins { margin: 6px 14px 0; padding: 0; border: 0; }
.my-plugins-details { border: 1px solid var(--line, rgba(0,0,0,.08)); border-radius: 8px; background: #fff; }
.my-plugins-details summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; font-size: 12.5px; font-weight: 600; }
.my-plugins-details summary::-webkit-details-marker { display: none; }
.my-plugins-details summary::after { content: '▾'; opacity: .5; font-size: 11px; }
.my-plugins-details[open] summary::after { content: '▴'; }
.my-plugins-details summary small { font-weight: 400; opacity: .6; font-size: 11.5px; flex: 1; text-align: right; margin-right: 6px; }
.my-plugins-list, .my-plugins-installable { display: grid; gap: 2px; padding: 0 8px 8px; }
.my-plugin-row { display: flex; align-items: center; gap: 8px; padding: 3px 6px; border-radius: 6px; font-size: 12.5px; }
.my-plugin-row.on { background: #e8f4ea; }
.my-plugin-row small { opacity: .6; margin-left: 6px; font-size: 11px; }
.my-plugin-row label { display: flex; align-items: center; gap: 8px; flex: 1; cursor: pointer; }
.my-plugin-row .link-button { background: none; border: none; color: var(--muted, #777); cursor: pointer; font-size: 12px; padding: 2px 6px; }
.my-plugin-row .link-button:hover { color: #1f5c3d; text-decoration: underline; }
.my-plugin-row.installable { justify-content: space-between; border: 1px dashed var(--line, rgba(0,0,0,.14)); }
.my-plugins .quiet-text { margin: 0; padding: 0 10px 8px; font-size: 12px; }
/* 首页"去处理"跳过来时，把那一单高亮一下——不然人跳到协作中心还得自己找 */
.company-task-row.focused { outline: 2px solid var(--green); outline-offset: 2px; transition: outline-color .3s; }
/* 慧能来的任务用协作卡同一个壳；首页"去处理"跳过来时高亮那一张 */
.portfolio-card.huineng-case .portfolio-customer { color: var(--green); font-weight: 800; }
.portfolio-card.focused { outline: 2px solid var(--green); outline-offset: 2px; }
/* 慧能任务详情：推演全文与经过 */
.task-rehearsal { margin: 4px 0 14px; border: 1px solid var(--line, rgba(0,0,0,.08)); border-radius: 10px; padding: 10px 12px; }
.task-rehearsal summary { cursor: pointer; font-weight: 800; font-size: 13.5px; }
.task-rehearsal pre { white-space: pre-wrap; font-family: inherit; font-size: 12.5px; line-height: 1.75; background: #f6f8f5; border-radius: 8px; padding: 10px; max-height: 420px; overflow-y: auto; margin: 8px 0 0; }
.task-timeline-label { font-size: 12px; font-weight: 800; color: var(--muted, #667); margin: 12px 0 6px; }
/* 「需要你决定的事」翻页 */
.priority-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line, rgba(0,0,0,.08)); }
.priority-pager span { font-size: 12.5px; color: var(--muted, #667); }
.priority-pager button { border: 1px solid var(--line, rgba(0,0,0,.12)); background: #fff; border-radius: 8px; padding: 6px 12px; font-size: 12.5px; cursor: pointer; }
.priority-pager button:disabled { opacity: .4; cursor: default; }
/* 参与人从慧能花名册搜着选 */
.participant-edit-row { align-items: start; }
.participant-name-field { display: flex; flex-direction: column; gap: 3px; }
.roster-state { font-size: 11px; line-height: 1.4; color: var(--muted, #778); min-height: 15px; }
.roster-state-matched { color: var(--green, #1f7a44); }
.roster-state-typed, .roster-state-no_id { color: #a4700f; }
.roster-state-offline { color: var(--red, #b3261e); }
#rosterSuggest { position: absolute; z-index: 999; background: #fff; border: 1px solid var(--line, rgba(0,0,0,.12)); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); padding: 4px; max-height: 260px; overflow-y: auto; }
#rosterSuggest button { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 8px 10px; border-radius: 7px; font-size: 13px; cursor: pointer; }
#rosterSuggest button:hover { background: #eef5ef; }
/* 目标与跟进：我自己的任务 */
.self-task-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 4px 0 14px; }
.self-task-tabs button { border: 1px solid var(--line, rgba(0,0,0,.12)); background: #fff; border-radius: 999px; padding: 6px 13px; font-size: 12.5px; cursor: pointer; }
.self-task-tabs button.active { background: var(--green, #1f7a44); color: #fff; border-color: transparent; }
.self-task-tabs button em { font-style: normal; margin-left: 5px; opacity: .7; }
.self-task-list { display: grid; gap: 10px; }
.self-task { border: 1px solid var(--line, rgba(0,0,0,.08)); border-radius: 12px; padding: 13px 15px; background: #fff; }
.self-task.overdue { border-color: #e8b4b0; background: #fffafa; }
.self-task-top { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.self-task-top small { font-size: 11.5px; font-weight: 800; color: var(--green, #1f7a44); }
.self-task-top .tag { font-size: 11px; }
.self-task b { display: block; font-size: 14px; line-height: 1.5; }
.self-task p { margin: 4px 0 0; font-size: 12.5px; color: var(--muted, #667); line-height: 1.6; }
.self-task footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--line, rgba(0,0,0,.06)); }
.self-task footer span { font-size: 11.5px; color: var(--muted, #778); }
.self-task footer .button-row { display: flex; gap: 10px; flex-wrap: wrap; }
/* 发布任务：照慧能那张对话框的样子 */
.publish-people { display: flex; flex-wrap: wrap; gap: 7px; max-height: 190px; overflow-y: auto; padding: 4px 2px 10px; }
.publish-people button { border: 1px solid var(--line, rgba(0,0,0,.14)); background: #fff; border-radius: 999px; padding: 6px 13px; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.publish-people button.picked { background: var(--green, #1f7a44); color: #fff; border-color: transparent; }
.publish-people .quiet-text { padding: 6px 2px; }
.publish-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.check-line { display: flex; align-items: center; gap: 8px; font-size: 13px; margin: 4px 0 10px; }
.check-line input { width: auto; }
/* 公告栏 */
.announce-item { border: 1px solid var(--line, rgba(0,0,0,.08)); border-radius: 10px; padding: 10px 13px; margin-bottom: 9px; }
.announce-item summary { cursor: pointer; }
.announce-item summary b { display: block; font-size: 13.5px; line-height: 1.5; }
.announce-item summary small { display: block; font-size: 11.5px; color: var(--muted, #778); margin-top: 3px; }
.announce-detail { white-space: pre-wrap; font-size: 12.5px; line-height: 1.8; margin-top: 9px; }
.announce-detail h3 { font-size: 13.5px; margin: 16px 0 6px; }
.announce-detail ul { margin: 6px 0; padding-left: 20px; }
.announce-detail li { margin: 5px 0; }
.announce-log { display: grid; gap: 7px; max-height: 460px; overflow-y: auto; }
.announce-log article { border-left: 3px solid var(--green, #1f7a44); padding: 6px 0 6px 11px; }
.announce-log small { font-size: 11px; color: var(--muted, #889); font-variant-numeric: tabular-nums; }
.announce-log p { margin: 2px 0 0; font-size: 12.5px; line-height: 1.55; }
/* 领域席位：边想边给 */
.domain-agent-thinking { display: block; max-height: 240px; overflow-y: auto; padding: 10px 13px; }
.thinking-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.thinking-head b { font-size: 12.5px; }
.thinking-head small { font-size: 11px; color: var(--muted, #889); }
.thinking-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green, #1f7a44); animation: thinkPulse 1.1s ease-in-out infinite; }
@keyframes thinkPulse { 0%,100% { opacity: .25 } 50% { opacity: 1 } }
.thinking-lines { margin-top: 7px; border-left: 2px solid var(--line, rgba(0,0,0,.12)); padding-left: 10px; }
.thinking-lines p { margin: 3px 0; font-size: 11.5px; line-height: 1.6; color: var(--muted, #667); word-break: break-word; }
.thinking-answer { margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--line, rgba(0,0,0,.08)); font-size: 13px; line-height: 1.75; white-space: pre-wrap; }
#domainAgentNewChat { border: 1px solid var(--line, rgba(255,255,255,.35)); background: transparent; color: inherit; border-radius: 8px; padding: 4px 10px; font-size: 12px; cursor: pointer; }
.announce-release { margin-bottom: 18px; }
.announce-release h3 { font-size: 13.5px; margin: 0 0 7px; color: var(--green, #1f7a44); }
.announce-release ul { margin: 0; padding-left: 20px; }
.announce-release li { font-size: 12.5px; line-height: 1.75; margin: 5px 0; }
.announce-detail blockquote { margin: 8px 0; padding: 8px 12px; border-left: 3px solid var(--line, rgba(0,0,0,.12)); background: #f7f8f7; border-radius: 0 8px 8px 0; font-size: 12px; color: var(--muted, #667); }
.announce-detail h2 { font-size: 15px; margin: 18px 0 7px; }
.announce-detail h3 { font-size: 13.5px; margin: 14px 0 6px; }
.announce-detail code { background: #eef1ee; border-radius: 4px; padding: 1px 5px; font-size: 11.5px; }
.announce-detail hr { border: 0; border-top: 1px solid var(--line, rgba(0,0,0,.08)); margin: 16px 0; }
.announce-detail p { margin: 6px 0; }
/* 领域席位：对话清单（格式照秘书长左侧那种，能点开看历史） */
.domain-thread-bar { display: flex; gap: 7px; overflow-x: auto; padding: 8px 13px 4px; }
.domain-thread-bar button { flex: 0 0 auto; max-width: 190px; text-align: left; border: 1px solid var(--line, rgba(0,0,0,.12)); background: #fff; border-radius: 10px; padding: 6px 11px; cursor: pointer; }
.domain-thread-bar button.active { border-color: var(--green, #1f7a44); background: #eef6f0; }
.domain-thread-bar button b { display: block; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.domain-thread-bar button small { display: block; font-size: 10.5px; color: var(--muted, #889); margin-top: 2px; }
.domain-thread-notice { margin: 4px 13px 8px; padding: 8px 12px; border-radius: 9px; background: #fff8e8; border: 1px solid #e8d9b0; font-size: 12px; line-height: 1.6; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.domain-thread-notice button { border: 0; background: var(--green, #1f7a44); color: #fff; border-radius: 7px; padding: 5px 11px; font-size: 11.5px; cursor: pointer; white-space: nowrap; }
