覆盖 AC-53/54/55(BR-50)。审计 P1-2「新界面未接入、原落地页与导航未改」 由此关闭:导航改为原型 token 的深色壳,三个模块各有独立路由与入口。 界面: - navigation.css:导航改用原型 token(nav.bg #102B27 / active #244D41 / muted #B1C6BE),身份选择器在深色底上改用 dark 变体(否则白底白字); 工作区画布保持浅色 #f5f7f9——"深色导航+浅色工作区"是两件事。 保留可读性守卫锁定的两条规则(导航项 min-height:42px/font-size:14px、 身份选择器 min-height:42px),原有 7 项守卫全部继续通过。 - AgentNav:品牌改为「兴邦金租/智审工作台」,加「业务工作区」分组标签, 三个模块入口(AI 预审 / 历史经验加工 / 轨迹复盘)指向各自路由; 权限仍按角色裁剪,身份仍来自服务端。 - 新增 /prescreen-workbench(AI 预审)、/trajectory-center(轨迹复盘)两个模块路由; / 从旧聊天落地页改为业务工作区首页,呈现三个模块入口;原落地页内容保留在 /assistant,没有被删掉(AC-53 要求的是不再"只保留"旧布局)。 - TrajectoryPanel:消费既有只读轨迹端点,失败/跳过步骤照常列出并带错误码, 成本缺失显示"未记录(不填 0)",并展示服务端对轨迹范围的说明; 会议结果只读展示(录入属第四批)。 复用而非复制:三个模块路由都 import 既有的 PrescreenPanel / ImportBatchPanel / ExperienceCenter,没有在路由里再写一份实现。 守卫:新增 module-shell-ui(已登记 verify.py,共 13 项检查),机械核对 深色 token、三入口存在、已合并旧页仍为重定向、按角色裁剪、 ?project= 上下文与不硬编码项目 id、轨迹面板不渲染推理字段, 并做前后端路径一致性断言(界面调用的端点必须真的在后端声明过)。 深色底对比度按 WCAG 公式在守卫内**实算**(阈值 AA 4.5:1,实测最低 8.37:1), 不在文档里声称"应该够清楚"。 Co-Authored-By: Claude Code <noreply@anthropic.com>
58 lines
37 KiB
CSS
58 lines
37 KiB
CSS
.ra-app{min-height:100vh;background:#f5f7f9;color:#20252b;font-family:Arial,"Microsoft YaHei",sans-serif;letter-spacing:0}.ra-app *{box-sizing:border-box;letter-spacing:0}.ra-app button,.ra-app a,.ra-app input,.ra-app select,.ra-app textarea{outline-offset:3px}.ra-app button:disabled{opacity:.45;cursor:not-allowed}.ra-sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#fff;border-right:1px solid #e5e8ed;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.ra-brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700;padding:0 9px 30px}.ra-brand small{display:block;font-size:9px;color:#909aa7;margin-top:5px;font-weight:400}.ra-brand-mark{background:#17634c;width:37px;height:42px;color:#fff;display:grid;place-items:center;border-radius:6px}.ra-side-label{font-size:10px;color:#a0a6b0;padding:22px 13px 12px}.ra-sidebar>button{display:flex;align-items:center;gap:12px;text-align:left;padding:13px;border-radius:6px;font-size:13px;color:#69727e;margin-bottom:4px}.ra-sidebar>button.active{background:#eaf3ef;color:#17634c;font-weight:600}.ra-sidebar>button:hover{background:#f1f4f5}.ra-sidebar>button>span{margin-left:auto;font-size:11px}.ra-sidebar-bottom{margin-top:auto;padding:30px 12px 0;font-size:11px;color:#687783}.ra-sidebar-bottom small{display:block;margin:8px 0 23px;color:#a0a6af}.ra-sidebar-bottom a{display:flex;gap:7px}.ra-env-dot{display:inline-block;width:6px;height:6px;background:#3a986e;border-radius:50%;margin-right:7px}.ra-body{margin-left:228px}.ra-top{height:72px;border-bottom:1px solid #e5e8ed;background:#fff;display:flex;align-items:center;gap:18px;padding:0 38px;font-size:12px}.ra-top>div{display:flex;align-items:center;gap:16px;margin-right:auto;color:#8b95a3}.ra-top b{color:#424a53;font-weight:500}.ra-badge{font-size:10px;padding:5px 8px;background:#f1f3f5;color:#7a8492;border-radius:4px}.ra-avatar{width:30px;height:30px;border-radius:50%;background:#e6eeeb;color:#21664e;display:grid;place-items:center;font-size:12px}.ra-main{max-width:1510px;margin:auto;padding:35px 38px 65px}.ra-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.ra-eyebrow{font-size:10px;color:#8d99a6;margin-bottom:11px}.ra-heading h1{font-size:27px;font-weight:600;line-height:1.4}.ra-heading p{font-size:12px;color:#84909c;margin-top:10px}.ra-button{min-height:36px;border:1px solid #dfe4e9;border-radius:5px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;font-size:12px;white-space:nowrap}.ra-button:hover{background:#f0f4f3}.ra-button.primary{background:#17634c;color:white;border-color:#17634c}.ra-button.primary:hover{background:#104d3a}.ra-pipeline{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0;margin:0 0 28px;border-top:1px solid #e0e6eb;border-bottom:1px solid #e0e6eb;gap:24px}.ra-pipeline-step{display:flex;align-items:center;gap:12px;min-width:0}.ra-pipeline-step b{font-size:12px;font-weight:600}.ra-pipeline-step small{display:block;font-size:11px;color:#98a1ac;margin-top:5px}.ra-stage-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:7px}.color-0{color:#32806e;background:#e8f0ec}.color-1{color:#566bae;background:#eceef7}.color-2{color:#b18543;background:#f4efe7}.color-3{color:#a36b79;background:#f3eaf0}.ra-pipeline-arrow{color:#c8cfd5;margin-left:auto}.ra-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}.ra-search{display:flex;align-items:center;gap:9px;background:white;border:1px solid #e0e5eb;border-radius:5px;padding:9px 12px;width:290px;font-size:12px;color:#a3abb5}.ra-search input{background:transparent;width:100%;outline:none;color:#3e4851}.ra-toolbar select{font-size:12px;background:white;border:1px solid #e0e5eb;border-radius:5px;padding:9px 12px}.ra-toolbar>span{margin-left:auto;font-size:11px;color:#99a1ac}.ra-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ra-card{background:#fff;border:1px solid #e0e5e9;border-radius:7px;padding:22px 21px 0;display:flex;flex-direction:column;min-height:290px;transition:border-color .2s,box-shadow .2s;min-width:0}.ra-card:hover{border-color:#abc7b9;box-shadow:0 6px 18px #18382b08}.ra-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ra-object-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:7px;background:#eaf1f8;color:#467ca1}.ra-object-icon.skills{color:#7165a1;background:#efedf7}.ra-object-icon.plans{color:#35786b;background:#eaf2ef}.ra-object-icon.rules{color:#a47f42;background:#f6f0e5}.ra-object-icon.connections{color:#6b7f93;background:#eff2f6}.ra-status{font-size:10px;color:#969da7;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ra-status i{width:5px;height:5px;border-radius:50%;background:currentColor}.ra-status.published{color:#458971}.ra-status.draft{color:#b48b48}.ra-card h2{font-size:16px;font-weight:600;margin-bottom:8px;overflow-wrap:anywhere}.ra-card>p{font-size:11px;color:#939da8;line-height:1.7;min-height:37px;margin-bottom:14px}.ra-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.ra-chips span{font-size:10px;color:#81909d;background:#f4f6f8;border-radius:3px;padding:4px 6px}.ra-card-detail{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:10px;color:#9aa3ad}.ra-card-detail b{font-weight:400;color:#687582;text-align:right;overflow-wrap:anywhere}.ra-card footer{margin:12px -21px 0;padding:13px 20px;border-top:1px solid #edf0f3;display:flex;align-items:center;font-size:10px;color:#a1aab5;margin-top:auto}.ra-card footer>div{display:flex;margin-left:auto;gap:15px;align-items:center}.ra-card footer button{color:#a4adb7;min-height:24px;min-width:20px}.ra-card footer button:hover{color:#17634c}.ra-card .ra-edit{display:flex;gap:5px;align-items:center;color:#527265;font-size:11px}.ra-add-card{border:1px dashed #cfd8dc;min-height:290px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:7px;color:#9fadb7;gap:12px}.ra-add-card b{font-weight:500;font-size:13px;color:#7c8b96}.ra-add-card span{font-size:11px}.ra-add-card:hover{background:#eff5f2;border-color:#9bb6a8}.ra-plan-counts{display:flex;gap:35px;margin:15px 0 25px}.ra-plan-counts b{font-size:24px;font-weight:500}.ra-plan-counts small{display:block;color:#929eaa;font-size:10px;margin-top:4px}.ra-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e9f3ed;border:1px solid #cadfce;padding:13px;border-radius:5px;margin-bottom:15px;font-size:12px;color:#266444;overflow-wrap:anywhere}.ra-alert.error{background:#fff0ed;color:#a74a40;border-color:#edccc6}.ra-overlay{position:fixed;inset:0;background:#101e2f55;display:flex;justify-content:flex-end;z-index:50;backdrop-filter:blur(3px)}.ra-drawer{width:min(680px,100%);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-10px 0 50px #17222e22}.ra-drawer>header{padding:25px 30px;border-bottom:1px solid #e3e8ed;display:flex;align-items:center;justify-content:space-between}.ra-drawer h2{font-size:20px;font-weight:600;margin-top:7px}.ra-drawer small{color:#95a0aa;font-size:11px}.ra-drawer-body{padding:25px 30px;overflow:auto;flex:1}.ra-drawer>footer{padding:18px 30px;border-top:1px solid #e3e8ed;display:flex;justify-content:flex-end;gap:10px}.ra-field{display:block;font-size:12px;color:#727e89;margin-bottom:20px}.ra-field>span{display:block;margin-bottom:8px}.ra-field input,.ra-field textarea,.ra-field select,.ra-run-form input,.ra-run-form select{width:100%;background:#fff;border:1px solid #dbe1e7;border-radius:5px;padding:10px 11px;color:#39434e;font-size:12px}.ra-field textarea{min-height:80px;resize:vertical}.ra-field .ra-code{font-family:Consolas,monospace;background:#f4f6f8;min-height:210px;line-height:1.7;font-size:12px}.ra-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ra-checks{margin:22px 0}.ra-checks h3{font-size:14px;font-weight:600;margin-bottom:12px}.ra-checks h3 span{float:right;font-size:11px;font-weight:400;color:#9aa5ae}.ra-checks>label{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f3;padding:14px 0}.ra-checks input{accent-color:#17634c;width:16px;height:16px;flex-shrink:0}.ra-checks b{font-weight:500;font-size:12px}.ra-checks small{display:block;margin-top:5px;line-height:1.5}.ra-checks .ra-status{margin-left:auto}.ra-dependency{background:#eef6f0;padding:17px;border-radius:5px;color:#487358;font-size:12px}.ra-dependency h3{font-weight:600;margin-bottom:8px}.ra-dependency.warning{background:#faf4e9;color:#9d7e43}.ra-dependency p{margin-top:5px;overflow-wrap:anywhere}.ra-note{color:#8e9ba7;font-size:11px;line-height:1.8;margin:15px 0;overflow-wrap:anywhere}.ra-result-json{font-size:11px;background:#f6f8fa;padding:15px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:15px}.ra-run-form{display:flex;gap:18px;align-items:flex-end;padding:15px 0}.ra-run-form label{flex:1;font-size:12px;color:#707f8a}.ra-run-form input,.ra-run-form select{margin-top:9px}.ra-run-form button{min-height:38px}.ra-empty{padding:65px 20px;text-align:center;color:#91a09f;display:flex;align-items:center;flex-direction:column;gap:15px;font-size:13px}.ra-empty h2{font-size:18px;color:#50675f}.ra-results{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;margin-top:28px}.ra-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.ra-section-heading h2,.ra-trace h2{font-size:16px;font-weight:600}.ra-section-heading h2 span{color:#a2aeb5;font-size:12px;margin-left:7px}.ra-findings article{background:#fff;border:1px solid #e0e5e9;border-radius:6px;margin-bottom:13px;padding:20px}.ra-finding-title{display:flex;align-items:center;gap:9px}.ra-finding-title h3{font-size:13px;font-weight:600;overflow-wrap:anywhere}.ra-finding-title>span:last-child{margin-left:auto;color:#a98042;font-size:10px;white-space:nowrap}.ra-finding-dot{width:7px;height:7px;border-radius:50%;background:#ba7966;flex-shrink:0}.ra-finding-dot.missing{background:#c8aa63}.ra-findings article p{font-size:12px;color:#8b97a3;margin:12px 0;line-height:1.8}.ra-findings details{font-size:11px;color:#6d8b7f;border-top:1px solid #eef1f3;padding-top:12px}.ra-findings summary{cursor:pointer;display:flex;align-items:center;gap:6px}.ra-results pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;margin-top:12px;max-height:320px;overflow:auto;background:#f3f5f7;padding:10px}.ra-trace{border-left:1px solid #dfe5e9;padding-left:25px}.ra-trace details{padding:12px 0;border-bottom:1px solid #e2e8ed}.ra-trace summary{display:flex;gap:10px;cursor:pointer;color:#528775}.ra-trace b{font-size:12px;font-weight:500;color:#687983}.ra-trace small{display:block;font-size:10px;color:#9ca7af;margin-top:5px}.ra-trace details p{font-size:11px;color:#8a969e;margin:12px 0;overflow-wrap:anywhere}.ra-history button{width:100%;display:flex;align-items:center;gap:16px;padding:20px 8px;border-bottom:1px solid #e2e7ec;text-align:left;font-size:12px;color:#74897e}.ra-history small{display:block;font-size:10px;color:#98a3ad;margin-top:7px}.ra-history button>span{margin-left:auto}.ra-confirm{background:#fff;margin:auto;width:min(440px,94%);border-radius:8px;padding:30px}.ra-confirm h2{font-size:18px;margin:15px 0;overflow-wrap:anywhere}.ra-confirm p{font-size:12px;color:#8795a0;line-height:1.8}.ra-confirm>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ra-spin{animation:ra-spin 1s linear infinite}@keyframes ra-spin{to{transform:rotate(360deg)}}@media(min-width:1550px){.ra-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.ra-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ra-sidebar{width:205px}.ra-body{margin-left:205px}.ra-main{padding:28px 24px}.ra-pipeline{gap:12px}.ra-pipeline-arrow{display:none}.ra-results{grid-template-columns:1fr}}@media(max-width:760px){.ra-sidebar{position:static;width:100%;padding:14px;flex-direction:row;flex-wrap:wrap;gap:4px;border-bottom:1px solid #e5e8ed}.ra-brand{width:100%;padding:0 6px 12px}.ra-sidebar>button{font-size:11px;padding:8px;gap:5px;margin:0}.ra-sidebar>button svg{width:14px}.ra-side-label,.ra-sidebar-bottom,.ra-sidebar>button>span{display:none}.ra-body{margin-left:0}.ra-top{padding:0 18px;height:55px;gap:8px}.ra-top>div{gap:7px}.ra-top .ra-badge{display:none}.ra-main{padding:24px 17px}.ra-heading{align-items:flex-start}.ra-heading h1{font-size:23px}.ra-heading p{line-height:1.8}.ra-heading .ra-button{padding:8px;font-size:11px;white-space:normal}.ra-pipeline{grid-template-columns:1fr 1fr;row-gap:20px}.ra-pipeline-step{gap:10px}.ra-card-grid{grid-template-columns:1fr}.ra-toolbar{flex-wrap:wrap}.ra-search{width:100%}.ra-run-form{flex-direction:column;align-items:stretch}.ra-run-form label{width:100%}.ra-results{grid-template-columns:1fr}.ra-trace{border-left:0;padding-left:0}.ra-section-heading{align-items:flex-start}.ra-drawer-body{padding:20px}.ra-drawer>header{padding:20px}.ra-drawer>footer{padding:15px}.ra-two{grid-template-columns:1fr;gap:0}.ra-checks>label{gap:8px}.ra-checks .ra-status{font-size:9px}.ra-card{min-height:275px}.ra-finding-title{flex-wrap:wrap}}
|
|
@media(max-width:760px){.ra-heading{flex-wrap:wrap}.ra-heading>.ra-button{white-space:nowrap;min-width:128px}.ra-heading>div{flex-basis:100%}}
|
|
.ra-rule-row,.ra-review-row{padding:20px 0;border-bottom:1px solid #dfe5e9;margin-bottom:18px}.ra-review-row h3{font-weight:600;font-size:15px}.ra-rule-row .ra-field{margin-bottom:12px}
|
|
.ra-alignment{margin:24px 0}.ra-alignment h3{font-size:14px;font-weight:600;margin-bottom:18px}
|
|
.xb-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.xb-project-card{text-align:left;border:1px solid #dfe7e2;background:#fff;border-radius:10px;padding:22px;cursor:pointer;color:#334b3a;display:block;text-decoration:none}.xb-project-card:hover{border-color:#82ad91;box-shadow:0 7px 24px rgba(32,92,59,.08)}.xb-project-card>span{font-size:10px;color:#34805a;background:#e8f4ec;padding:4px 7px;border-radius:12px}.xb-project-card h2{font-size:17px;margin:18px 0 8px}.xb-project-card p{font-size:11px;color:#829087}.xb-project-card footer{display:flex;align-items:center;gap:10px;border-top:1px solid #edf1ee;margin-top:20px;padding-top:15px}.xb-project-card footer small{margin-left:auto}.xb-back{border:0;background:transparent;color:#47755a;cursor:pointer;margin-bottom:22px}.xb-tabs{display:flex;gap:4px;border-bottom:1px solid #dfe6e1;margin-bottom:22px;overflow:auto}.xb-tabs button{border:0;background:transparent;padding:13px 17px;color:#788a7e;white-space:nowrap;cursor:pointer}.xb-tabs button.active{color:#17633f;border-bottom:2px solid #17633f}.xb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.xb-cards article,.xb-panel{background:#fff;border:1px solid #e0e7e2;border-radius:8px;padding:22px}.xb-cards b,.xb-cards small{display:block;color:#829087;font-size:11px}.xb-cards strong{display:block;color:#225f41;font-size:25px;margin:15px 0}.xb-panel{max-width:920px}.xb-panel h2{font-size:18px;margin-bottom:18px}.xb-panel>p{font-size:12px;color:#687b6e;line-height:1.8;margin-bottom:18px}.xb-finding{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #edf1ee}.xb-finding:last-of-type{margin-bottom:20px}.xb-finding b{font-size:13px}.xb-finding p{font-size:12px;margin:7px 0;color:#627367}.xb-finding small{font-size:10px;color:#94a097}.xb-status{height:23px;white-space:nowrap;font-size:10px;color:#a05e19;background:#fff2df;padding:5px 8px;border-radius:12px}.xb-status.ok{color:#29734c;background:#e6f4eb}.xb-compare{display:flex;align-items:center;gap:20px;margin-top:24px;padding:22px;background:#f3f8f4;border-radius:8px}.xb-compare strong{font-size:27px;color:#276947}.xb-compare small{margin-left:auto;max-width:260px;color:#7b887f}.xb-report{margin-top:20px;border-top:1px solid #e3e9e5;padding-top:20px}.xb-report>small{color:#a36d2d}.xb-report article{margin-top:18px}.xb-report h3{font-size:14px;margin-bottom:8px}.xb-report pre{white-space:pre-wrap;font:12px/1.8 Arial,"Microsoft YaHei",sans-serif;color:#53645a}@media(max-width:760px){.xb-cards{grid-template-columns:1fr}.xb-compare{align-items:flex-start;flex-wrap:wrap}.xb-compare small{margin-left:0;width:100%}}
|
|
.xb-wide{max-width:none;margin-top:20px}.xb-task{background:#fff;border:1px solid #dfe6e1;border-radius:8px;padding:20px;margin:15px 0 22px}.xb-task .ra-field{margin-bottom:12px}.xb-task small{display:block;color:#66776d;margin-top:12px}.xb-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.xb-actions input,.xb-actions select,.xb-panel>select,.xb-report>select{background:#fff;border:1px solid #dbe1e7;border-radius:5px;padding:9px 11px;font-size:12px;max-width:100%}.xb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:20px}.xb-grow{flex:1;min-width:0}.xb-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto;font:12px/1.7 Consolas,"Microsoft YaHei",monospace;background:#f6f8f7;padding:14px;margin:10px 0}.xb-panel details{font-size:12px;line-height:1.8;margin:12px 0}.xb-panel summary{cursor:pointer;color:#345e49}.xb-panel h3{font-size:15px;font-weight:600;margin:20px 0 12px}.xb-panel p{font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin:8px 0}.xb-panel a{color:#17634c;text-decoration:underline}.xb-step{border-bottom:1px solid #e5ece7;padding:10px 0}.xb-warning{color:#9a5a16}.xb-document{border-top:1px solid #dfe6e1;margin-top:20px;padding-top:12px}.xb-section-text{width:100%;min-height:170px;border:1px solid #dbe1e7;padding:14px;font:13px/1.8 Arial,"Microsoft YaHei",sans-serif;border-radius:5px;resize:vertical}.xb-section-text:disabled{color:#526258;background:#f5f7f5}.xb-scenario{border-top:1px solid #e5ece7;padding:15px 0}.xb-finding{flex-wrap:wrap}.xb-finding small{overflow-wrap:anywhere}.xb-config-list .xb-finding>div{flex:1;min-width:250px}@media(max-width:760px){.xb-form-grid{grid-template-columns:1fr}.xb-task{padding:14px}}
|
|
.xb-role-banner{display:inline-flex;margin-bottom:12px;padding:6px 9px;border-radius:999px;background:#e7f3eb;color:#17633f;font-size:10px;font-weight:700}.xb-role-banner.role-reviewer{background:#eef0fb;color:#4c5f9c}.xb-role-banner.role-admin{background:#f4efe5;color:#836226}.xb-next{margin-top:16px;padding:12px;background:#f4f8f5;border-radius:7px}.xb-next small{display:block;color:#8a978f;font-size:9px;margin-bottom:5px}.xb-next b{font-size:11px;color:#306348}.xb-tabs a{padding:13px 17px;color:#17633f;font-size:12px;white-space:nowrap}.xb-time-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.xb-time-heading p{font-size:11px;color:#7c8d83}.xb-time-heading .ra-button{color:#fff;text-decoration:none}.xb-timeline{position:relative;margin-top:24px}.xb-timeline:before{content:"";position:absolute;left:7px;top:7px;bottom:7px;width:1px;background:#d9e6de}.xb-timeline article{display:grid;grid-template-columns:15px 1fr auto;gap:15px;align-items:start;padding:0 0 24px}.xb-timeline article>i{width:15px;height:15px;border-radius:50%;background:#3bc58a;border:4px solid #e1f3ea;z-index:1}.xb-timeline article>i.category-queue{background:#7388e6;border-color:#e5e8fa}.xb-timeline article>i.category-external_wait{background:#e5a251;border-color:#faecd8}.xb-timeline article>i.category-system{background:#46aeca;border-color:#dff2f7}.xb-timeline article b{font-size:12px}.xb-timeline article p{font-size:11px;color:#687b70;margin:5px 0}.xb-timeline article small{font-size:9px;color:#9aa59e}.xb-timeline article strong{font-size:12px;color:#2d684a}@media(max-width:760px){.xb-time-heading{align-items:flex-start;flex-direction:column}.xb-timeline article{grid-template-columns:15px 1fr}.xb-timeline article>strong{grid-column:2}}
|
|
.xb-metric-card{position:relative;text-align:left;background:#fff;border:1px solid #e0e7e2;border-radius:8px;padding:22px;cursor:pointer;color:inherit}.xb-metric-card:hover{border-color:#69a27f;box-shadow:0 8px 24px rgba(33,87,57,.09)}.xb-metric-card svg{position:absolute;right:18px;bottom:18px;color:#28704a}.xb-project-card:disabled{opacity:.68;cursor:wait}.xb-review-clock{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:16px 0;padding:14px;border-radius:8px;background:#f3f0fb;border-left:3px solid #6678c8}.xb-review-clock small,.xb-review-clock span{font-size:10px;color:#6e7185}.xb-review-clock b{font-size:11px;color:#30395f}.xb-review-clock strong{font-size:14px;color:#4c5f9c}.xb-review-clock span{text-align:right}.xb-claim-gate{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f2f1fb;border-color:#d9d9ee}.xb-claim-gate b,.xb-claim-gate small{display:block}.xb-claim-gate small{margin-top:6px}.xb-step-business{border:1px solid #e0e8e3;border-radius:9px;padding:0!important;margin:12px 0!important;overflow:hidden}.xb-step-business>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;background:#f5f9f6;list-style:none}.xb-step-business.attention>summary{background:#fff8ef}.xb-step-business>summary span,.xb-step-business>summary small{display:block}.xb-step-business>summary small{margin-top:4px;color:#7a8a80}.xb-step-business>summary strong{font-size:11px;color:#28704a}.xb-step-content{padding:16px 18px}.xb-ai-answer{padding:13px 15px;border-radius:7px;background:#eef7f2}.xb-business-checks article{display:flex;align-items:flex-start;gap:13px;padding:13px 0;border-bottom:1px solid #edf1ee}.xb-business-checks article>div{flex:1}.xb-business-checks p{margin:3px 0}.xb-business-checks small{color:#75877c}.xb-result{display:inline-flex;align-items:center;justify-content:center;min-width:66px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#e7f3eb;color:#26704a}.xb-result.result-issue,.xb-result.result-error{background:#fde9e5;color:#a34838}.xb-result.result-unknown{background:#fff0d8;color:#98601c}.xb-result.result-not_applicable{background:#eef0f1;color:#66716a}.xb-issue-card{margin:16px 0;padding:20px;border:1px solid #dfe7e2;border-radius:10px;background:#fff}.xb-issue-card>header{display:flex;align-items:flex-start;gap:13px}.xb-issue-card h3{margin:2px 0 4px}.xb-issue-card>header small{color:#7b8b81}.xb-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:17px 0;background:#dde7e1;border:1px solid #dde7e1;border-radius:8px;overflow:hidden}.xb-chain section{padding:14px;background:#f8faf9}.xb-chain section>small{display:block;margin-bottom:10px;color:#5d7768;font-weight:700}.xb-chain p{margin:0 0 7px}.xb-chain p b,.xb-chain p span{display:block}.xb-chain p span{margin-top:4px;color:#6e7d74}.xb-chain .missing{color:#a06422}.xb-solution{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#edf7f1;border-left:3px solid #35a36d;border-radius:7px}.xb-solution small{color:#56816a}.xb-solution b{font-size:12px}.xb-saved-decision{padding:10px 13px!important;background:#f2f1fb;color:#4c5f9c!important;border-radius:7px}.xb-review-final{display:flex;align-items:center;gap:12px;margin-top:22px;padding:17px;border-radius:9px;background:#edf7f1}.xb-review-final>div{display:flex;align-items:center;gap:10px;margin-right:auto}.xb-review-final span,.xb-review-final small{display:block}.xb-review-final small{margin-top:4px;color:#6a7c71}.xb-review-opinion{max-width:560px}.xb-audit{margin-top:18px}.xb-history-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.xb-history-counts button{display:grid;grid-template-columns:auto 1fr auto;gap:8px;text-align:left;padding:14px;border:1px solid #e2e9e4;border-radius:8px;background:#f8faf9;color:#40584a;cursor:pointer}.xb-history-counts button:hover{border-color:#82ad91}.xb-history-counts strong,.xb-history-counts small{display:block}.xb-history-counts strong{font-size:20px;color:#216844}.xb-history-counts small{grid-column:2/-1;margin-top:5px;color:#718278}.xb-event-list{display:grid;gap:8px}.xb-event-list a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;text-align:left;padding:12px 14px;border:1px solid #e4eae6;border-radius:7px;background:#fff;color:#43574a!important;text-decoration:none!important;cursor:pointer}.xb-event-list a:hover{background:#f4f8f5}.xb-event-list span,.xb-event-list small{display:block}.xb-event-list small{margin-top:3px;color:#829087}@media(max-width:760px){.xb-chain{grid-template-columns:1fr}.xb-review-final,.xb-claim-gate{align-items:stretch;flex-direction:column}.xb-history-counts{grid-template-columns:1fr 1fr}.xb-event-list a{grid-template-columns:auto 1fr auto}}
|
|
.xb-full-review{padding:0;overflow:hidden}.xb-review-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;background:linear-gradient(135deg,#153d2d,#1c6044);color:#fff}.xb-review-heading>div>span{font-size:10px;letter-spacing:1px;color:#88d6b0}.xb-review-heading h2{margin:8px 0 5px;font-size:22px}.xb-review-heading p{margin:0;max-width:780px;color:#c3dbcf;font-size:11px}.xb-review-progress{text-align:center;padding:11px 18px;border:1px solid #ffffff2b;border-radius:9px;background:#ffffff0d}.xb-review-progress strong{display:block;font-size:22px}.xb-review-progress small{display:block;margin-top:3px;color:#b9d8c8;font-size:9px}.xb-review-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e3e9e5;border-bottom:1px solid #e3e9e5}.xb-review-kpis article{display:flex;align-items:baseline;gap:8px;padding:15px 22px;background:#fff}.xb-review-kpis b{font-size:20px;color:#25694a}.xb-review-kpis span{font-size:10px;color:#728078}.xb-review-kpis .danger b{color:#a6473c}.xb-review-kpis .warning b{color:#a36b24}.xb-full-review>.xb-review-opinion{margin:20px 24px;max-width:580px}.xb-review-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 24px;background:#dfe7e2;border:1px solid #dfe7e2;border-radius:8px 8px 0 0;overflow:hidden}.xb-review-lanes span{display:flex;align-items:center;gap:8px;padding:11px 16px;background:#edf4ef;color:#3c6750;font-size:11px;font-weight:700}.xb-topic-list{padding:0 24px}.xb-review-topic{margin:0;border:1px solid #e0e7e2;border-top:0;background:#fff}.xb-review-topic:last-child{border-radius:0 0 8px 8px}.xb-review-topic>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 17px;list-style:none;background:#f8faf9;color:#364d3f}.xb-review-topic>summary::-webkit-details-marker{display:none}.xb-review-topic.status-issue>summary{background:#fff1ee}.xb-review-topic.status-missing>summary{background:#fff7e9}.xb-review-topic.status-not_run>summary{background:#f4f5f5}.xb-topic-state svg{width:19px;color:#319164}.status-issue .xb-topic-state svg{color:#b44e41}.status-missing .xb-topic-state svg,.status-not_run .xb-topic-state svg{color:#b67b2e}.xb-review-topic>summary span>b,.xb-review-topic>summary span>small{display:block}.xb-review-topic>summary span>small{margin-top:4px;color:#7b8b81;font-size:10px}.xb-review-topic>summary>strong{font-size:10px;color:#4a6a57}.xb-topic-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e2e8e4;border-top:1px solid #e2e8e4}.xb-topic-lanes>section{min-width:0;padding:16px;background:#fff}.xb-topic-lanes h3{margin:0 0 12px;font-size:12px}.xb-source{margin:0 0 8px!important;border:1px solid #e5eae7;border-radius:7px}.xb-source>summary{display:flex;justify-content:space-between;gap:10px;padding:10px;list-style:none}.xb-source>summary span>b,.xb-source>summary span>small{display:block}.xb-source>summary span>small{display:flex;align-items:center;gap:3px;margin-top:4px;color:#78867e;font-size:9px}.xb-source>summary em{font-style:normal;font-size:9px;color:#27714d}.xb-source>p{display:grid;grid-template-columns:60px 1fr;gap:7px;margin:0!important;padding:4px 10px!important;font-size:10px!important;word-break:break-all}.xb-source>p:last-child{padding-bottom:10px!important}.xb-source>p>b{color:#849087}.xb-empty-source{display:flex;align-items:center;gap:7px;padding:13px;background:#fff6e9;color:#976323;font-size:10px}.xb-ai-state{padding:12px;border-radius:7px;background:#edf7f1}.xb-ai-state.status-issue{background:#fdebe8;color:#98453a}.xb-ai-state.status-missing,.xb-ai-state.status-not_run{background:#fff3df;color:#96601b}.xb-ai-state p{margin:4px 0 0!important;font-size:10px!important}.xb-ai-check{display:flex;gap:8px;padding:11px 0;border-bottom:1px solid #edf1ee}.xb-ai-check>span{height:21px;padding:4px 6px;border-radius:999px;background:#edf3ef;color:#397256;font-size:9px;white-space:nowrap}.xb-ai-check b{font-size:11px}.xb-ai-check p,.xb-ai-check small{display:block;margin:3px 0!important;color:#718078;font-size:9px!important}.xb-current-decision{padding:12px;border-radius:7px;background:#eef1fb;color:#40568e}.xb-current-decision p{margin:4px 0!important}.xb-current-decision small{font-size:9px;color:#7280a2}.xb-pending-decision{padding:12px!important;background:#f4f5f5;color:#7c8580}.xb-decision-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.xb-decision-actions .ra-button{padding:7px 9px;font-size:10px}.xb-trace-note{display:block;margin-top:11px;color:#859189;font-size:9px;line-height:1.6}.xb-review-hint{display:flex;align-items:center;gap:9px;margin:18px 24px;padding:13px;background:#fff5e5;color:#93601d;font-size:11px}.xb-full-review>.xb-review-final{margin:20px 24px 24px}@media(max-width:900px){.xb-review-lanes{display:none}.xb-topic-lanes{grid-template-columns:1fr}.xb-review-topic>summary{grid-template-columns:auto 1fr}.xb-review-topic>summary>strong{grid-column:2}.xb-review-kpis{grid-template-columns:1fr 1fr}}@media(max-width:600px){.xb-review-heading{align-items:flex-start;flex-direction:column}.xb-review-kpis{grid-template-columns:1fr}.xb-topic-list,.xb-full-review>.xb-review-final{margin-left:0;margin-right:0}.xb-topic-list{padding:0 12px}}
|
|
.xb-pool-card{cursor:default}.xb-pool-card:hover{border-color:#dfe7e2;box-shadow:none}.xb-pool-card.just-submitted{border-color:#55a778;box-shadow:0 0 0 3px #55a7781f}.xb-pool-card.just-submitted>span{background:#dcf3e5;color:#17633f}.xb-pool-actions{display:flex;gap:8px;margin-top:14px}.xb-pool-actions .ra-button{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.xb-pool-card footer b{display:flex;align-items:center;gap:5px;font-size:11px}
|
|
.ra-heading-actions{display:flex;gap:10px;align-items:center}.ra-folder-input{display:none}@media(max-width:760px){.ra-heading-actions{width:100%;flex-wrap:wrap}}
|
|
.xb-decision-editor{display:block;margin-top:10px}.xb-decision-editor>span{display:block;margin-bottom:6px;color:#51675a;font-size:10px;font-weight:700}.xb-decision-editor textarea{box-sizing:border-box;width:100%;min-height:82px;padding:10px 11px;resize:vertical;border:1px solid #d9e2dc;border-radius:7px;background:#fff;color:#273c30;font:inherit;line-height:1.6;outline:none}.xb-decision-editor textarea:focus{border-color:#3b8d64;box-shadow:0 0 0 3px #3b8d6418}.xb-decision-editor>small{display:block;margin-top:4px;text-align:right;color:#8a958e;font-size:9px}
|
|
.xb-return-reason{display:block;width:min(360px,100%)}.xb-return-reason>span{display:block;margin-bottom:5px;color:#587063;font-size:9px;font-weight:700}.xb-return-reason textarea{box-sizing:border-box;width:100%;min-height:58px;padding:8px 10px;resize:vertical;border:1px solid #ccdcd2;border-radius:7px;background:#fff;color:#273c30;font:inherit;line-height:1.5;outline:none}.xb-return-reason textarea:focus{border-color:#3b8d64;box-shadow:0 0 0 3px #3b8d6418}@media(max-width:900px){.xb-return-reason{width:100%}}
|
|
.xb-project-card.is-returned{border-color:#e7847b;background:#fff1ef;box-shadow:0 7px 24px #b8403020}.xb-project-card.is-returned:hover{border-color:#c74d42;box-shadow:0 9px 28px #b8403030}.xb-project-card.is-returned>span{background:#c9463b;color:#fff}.xb-returned-summary{display:grid;gap:6px;margin:15px 0;padding:12px 14px;border-left:3px solid #d04d43;border-radius:7px;background:#fff8f7}.xb-returned-summary small{color:#9a5c56}.xb-returned-summary strong{font-size:12px;line-height:1.6;color:#8d3029}
|
|
|
|
/* Readability and action hierarchy for all consolidated business workspaces. */
|
|
.ra-app{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:15px;line-height:1.65}
|
|
.ra-main,.xb-overview{color:#24352c}
|
|
.ra-heading h1{font-size:31px}.ra-heading p,.xb-overview-heading p{font-size:14px;color:#65766d}
|
|
.ra-eyebrow,.ra-side-label{font-size:12px}.ra-top{font-size:14px}.ra-badge,.ra-status{font-size:12px}
|
|
.ra-button{min-height:42px;padding:10px 16px;border:1px solid #b8c8bf;border-radius:8px;background:#fff;color:#234d39;font-size:14px;font-weight:700;box-shadow:0 2px 7px #173d2b0c;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s}
|
|
.ra-button:hover{background:#edf6f1;border-color:#4e8b6c;box-shadow:0 5px 15px #173d2b16;transform:translateY(-1px)}
|
|
.ra-button.primary{background:#17634c;border-color:#17634c;color:#fff;box-shadow:0 5px 14px #17634c30}.ra-button.primary:hover{background:#104d3a;border-color:#104d3a}
|
|
.ra-button:disabled{box-shadow:none;transform:none}
|
|
.ra-field,.ra-run-form label{font-size:14px;color:#53675c}.ra-field>span{font-weight:600}
|
|
.ra-field input,.ra-field textarea,.ra-field select,.ra-run-form input,.ra-run-form select,.xb-actions input,.xb-actions select,.xb-panel>select,.xb-report>select{min-height:42px;padding:10px 12px;border-color:#c6d2cb;border-radius:7px;font-size:14px;color:#283b31}
|
|
.ra-field input:focus,.ra-field textarea:focus,.ra-field select:focus,.xb-actions input:focus,.xb-actions select:focus{border-color:#3b8d64;box-shadow:0 0 0 3px #3b8d6418}
|
|
.ra-alert{padding:15px 16px;border-radius:8px;font-size:14px;font-weight:600}
|
|
.ra-pipeline-step b{font-size:14px}.ra-pipeline-step small{font-size:12px}
|
|
.ra-card h2{font-size:18px}.ra-card>p{font-size:14px;color:#66756d}.ra-chips span,.ra-card-detail,.ra-card footer{font-size:12px}
|
|
.xb-role-banner{padding:7px 11px;font-size:12px}.xb-project-card{padding:24px;border-color:#cedbd3;border-radius:12px;box-shadow:0 3px 12px #244a3708}
|
|
.xb-project-card>span{font-size:12px;font-weight:700}.xb-project-card h2{font-size:20px}.xb-project-card p{font-size:14px;color:#64766c}.xb-project-card footer b,.xb-project-card footer small{font-size:13px}
|
|
.xb-next{padding:14px}.xb-next small{font-size:12px}.xb-next b{font-size:14px}
|
|
.xb-tabs button,.xb-tabs a{min-height:46px;padding:14px 18px;font-size:15px;font-weight:600}.xb-tabs button:hover,.xb-tabs a:hover{background:#edf5f0;color:#17633f}
|
|
.xb-panel{border-color:#cedbd3;border-radius:10px}.xb-panel h2{font-size:21px}.xb-panel h3{font-size:17px}.xb-panel>p,.xb-panel p,.xb-panel details{font-size:14px;color:#586d61}
|
|
.xb-finding b{font-size:15px}.xb-finding p{font-size:14px}.xb-finding small{font-size:12px}
|
|
.xb-status,.xb-result{font-size:12px}.xb-review-clock small,.xb-review-clock span{font-size:12px}.xb-review-clock b{font-size:13px}.xb-review-clock strong{font-size:17px}
|
|
.xb-step-business>summary{padding:18px 20px;cursor:pointer}.xb-step-business>summary small{font-size:13px}.xb-step-business>summary strong{font-size:13px}
|
|
.xb-solution b{font-size:14px}.xb-solution small{font-size:13px}
|
|
.xb-review-heading>div>span{font-size:12px}.xb-review-heading h2{font-size:25px}.xb-review-heading p{font-size:14px}.xb-review-progress small{font-size:12px}
|
|
.xb-review-kpis span,.xb-review-lanes span{font-size:13px}.xb-review-topic>summary span>small,.xb-review-topic>summary>strong{font-size:12px}.xb-topic-lanes h3{font-size:15px}
|
|
.xb-source>summary{padding:12px}.xb-source>summary span>small,.xb-source>summary em{font-size:11px}.xb-source>p{font-size:12px!important;line-height:1.6}.xb-empty-source{font-size:12px}
|
|
.xb-ai-state p{font-size:13px!important}.xb-ai-check>span{height:auto;font-size:11px}.xb-ai-check b{font-size:13px}.xb-ai-check p,.xb-ai-check small{font-size:12px!important}
|
|
.xb-decision-editor>span,.xb-return-reason>span{font-size:13px}.xb-decision-editor>small,.xb-current-decision small,.xb-trace-note{font-size:11px}
|
|
.xb-decision-actions{gap:9px}.xb-decision-actions .ra-button{min-height:40px;padding:9px 12px;font-size:13px}
|
|
.xb-review-final{padding:20px;border:1px solid #cce2d5}.xb-review-final b{font-size:16px}.xb-review-final small{font-size:13px}
|
|
.xb-review-final>.ra-button:not(.primary){border-color:#d7837b;background:#fff7f5;color:#9b382f}.xb-review-final>.ra-button:not(.primary):hover{border-color:#bb4d43;background:#ffebe8}
|
|
.xb-return-reason textarea,.xb-decision-editor textarea{font-size:14px;border-color:#bfcfc6}
|
|
.xb-timeline article b,.xb-timeline article strong{font-size:14px}.xb-timeline article p{font-size:13px}.xb-timeline article small{font-size:12px}
|
|
.xb-history-counts button,.xb-event-list a{font-size:14px}.xb-history-counts small,.xb-event-list small{font-size:12px}
|
|
.xb-returned-summary small{font-size:12px}.xb-returned-summary strong{font-size:14px}
|
|
@media(max-width:760px){.ra-button{min-height:42px;font-size:13px}.xb-project-card h2{font-size:18px}.xb-tabs button,.xb-tabs a{font-size:13px}.xb-review-heading h2{font-size:22px}}
|
|
.xb-origin{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.6;padding:3px 9px;border:1px solid #d6dade;border-left-width:4px;border-radius:4px;background:#f4f5f6;color:#5b6672;white-space:nowrap}
|
|
.origin-history{background:#eaf2ef;color:#1f5c46;border-color:#bcd6c9;border-left-style:dashed}
|
|
.origin-manual{background:#eef1f7;color:#3f5185;border-color:#c6cee3;border-left-style:solid}
|
|
.origin-policy{background:#f6f0e5;color:#8a6524;border-color:#e0d0b0;border-left-style:double}
|
|
.origin-unknown{background:#f4f5f6;color:#6b7480;border-color:#d6dade;border-left-style:dotted}
|