feat: 新增风险图谱算法与系统仪表盘及操作反馈体系

后端新增风险图谱算法模块、风险观察与反馈服务、规则 DSL
校验器和可解释性引擎,完善系统仪表盘和财务仪表盘统计,
优化 agent 运行和编排执行链路,清理旧开发文档,前端新增
系统趋势、负载热力图等多种仪表盘图表组件,完善操作反馈
对话框和工作台日期选择器,优化报销创建和审批详情交互,
补充单元测试覆盖。
This commit is contained in:
caoxiaozhu
2026-05-30 15:46:51 +08:00
parent 4c59941ec6
commit 7989f3a159
314 changed files with 30073 additions and 20626 deletions

View File

@@ -0,0 +1,283 @@
.run-products-card {
overflow: hidden;
}
.run-product-state {
margin: 0 12px 12px;
min-height: 96px;
display: grid;
place-items: center;
gap: 8px;
color: #64748b;
font-size: 13px;
border: 1px dashed #d8e2ee;
border-radius: 4px;
background: #f8fafc;
}
.run-product-state .mdi {
color: #2563eb;
font-size: 24px;
}
.run-product-state.error {
color: #b91c1c;
border-color: #fecaca;
background: #fef2f2;
}
.run-product-state.error .mdi {
color: #dc2626;
}
.run-product-meta-grid {
padding: 0 12px 12px;
}
.run-product-section {
margin: 0 12px 12px;
padding-top: 12px;
border-top: 1px solid #edf2f7;
}
.run-product-section-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 10px;
}
.run-product-section-head h4 {
margin: 0;
color: #0f172a;
font-size: 14px;
font-weight: 800;
}
.run-product-section-head span {
flex: 0 0 auto;
color: #64748b;
font-size: 12px;
}
.run-product-observation-list {
display: grid;
gap: 8px;
}
.run-product-observation {
width: 100%;
padding: 10px 12px;
text-align: left;
border: 1px solid #e5edf6;
border-radius: 4px;
background: #fbfdff;
cursor: pointer;
transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.run-product-observation:hover,
.run-product-observation:focus-visible,
.run-product-observation.is-expanded {
border-color: rgba(37, 99, 235, 0.32);
background: #ffffff;
box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
outline: none;
}
.run-product-observation-head {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 8px;
}
.run-product-observation-head strong {
min-width: 0;
overflow: hidden;
color: #0f172a;
font-size: 13px;
font-weight: 800;
text-overflow: ellipsis;
white-space: nowrap;
}
.run-product-observation-head b {
color: #111827;
font-size: 14px;
}
.run-product-observation p,
.run-product-copy {
margin: 8px 0 0;
color: #475569;
font-size: 13px;
line-height: 1.65;
}
.run-product-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
}
.run-product-tags span {
max-width: 100%;
padding: 4px 8px;
overflow: hidden;
color: #475569;
font-size: 12px;
text-overflow: ellipsis;
white-space: nowrap;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #ffffff;
}
.run-product-observation-detail {
display: grid;
gap: 10px;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid #e5edf6;
}
.run-product-observation-detail section {
display: grid;
gap: 8px;
}
.run-product-observation-detail section > span {
color: #334155;
font-size: 12px;
font-weight: 800;
}
.run-product-score-list {
display: grid;
gap: 7px;
}
.run-product-score-list div {
display: grid;
grid-template-columns: 72px minmax(0, 1fr) 34px;
align-items: center;
gap: 8px;
}
.run-product-score-list em {
overflow: hidden;
color: #64748b;
font-size: 12px;
font-style: normal;
text-overflow: ellipsis;
white-space: nowrap;
}
.run-product-score-list i {
height: 6px;
overflow: hidden;
border-radius: 999px;
background: #e2e8f0;
}
.run-product-score-list i b {
display: block;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #2563eb, #22c55e);
}
.run-product-score-list strong {
color: #0f172a;
font-size: 12px;
text-align: right;
}
.run-product-evidence-list {
display: grid;
gap: 6px;
margin: 0;
padding: 0;
list-style: none;
}
.run-product-evidence-list li {
padding: 8px 10px;
border: 1px solid #edf2f7;
border-radius: 4px;
background: #f8fafc;
}
.run-product-evidence-list strong {
display: block;
color: #0f172a;
font-size: 12px;
}
.run-product-evidence-list p {
margin: 4px 0 0;
color: #64748b;
font-size: 12px;
line-height: 1.5;
}
.run-product-inline-empty {
margin: 0;
padding: 12px;
color: #94a3b8;
font-size: 13px;
border: 1px dashed #d8e2ee;
border-radius: 4px;
background: #f8fafc;
}
.risk-level-pill {
display: inline-flex;
align-items: center;
height: 24px;
padding: 0 8px;
color: #475569;
font-size: 12px;
font-weight: 800;
white-space: nowrap;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #f8fafc;
}
.risk-level-pill.critical,
.risk-level-pill.high {
color: #b91c1c;
border-color: #fecaca;
background: #fef2f2;
}
.risk-level-pill.medium {
color: #92400e;
border-color: #fed7aa;
background: #fff7ed;
}
.risk-level-pill.low {
color: #166534;
border-color: #bbf7d0;
background: #f0fdf4;
}
@media (max-width: 760px) {
.run-product-observation-head {
grid-template-columns: minmax(0, 1fr) auto;
}
.run-product-score-list div {
grid-template-columns: 64px minmax(0, 1fr) 30px;
}
.risk-level-pill {
grid-column: 1 / -1;
width: fit-content;
}
}

View File

@@ -0,0 +1,197 @@
.workbench-date-anchor {
display: inline-flex;
}
.composer-icon-button.active {
border-color: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.42);
background: var(--workbench-primary-soft);
color: var(--workbench-primary-active);
box-shadow: 0 6px 14px rgba(var(--theme-primary-rgb, 58, 124, 165), 0.12);
}
.workbench-date-chip-row {
display: flex;
align-items: center;
min-height: 28px;
}
.workbench-date-chip {
display: inline-flex;
align-items: center;
gap: 6px;
max-width: 100%;
min-height: 26px;
padding: 0 8px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.3);
border-radius: 4px;
background: var(--workbench-primary-soft);
color: var(--workbench-primary-active);
font-size: 12px;
font-weight: 800;
line-height: 1;
}
.workbench-date-chip span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.workbench-date-chip button {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
width: 18px;
height: 18px;
border-radius: 4px;
color: inherit;
}
.workbench-date-chip button:hover {
background: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.12);
}
.workbench-date-chip button:disabled {
opacity: 0.48;
cursor: not-allowed;
}
.composer-date-popover {
position: absolute;
top: calc(100% + 8px);
left: 18px;
z-index: 60;
width: min(320px, calc(100% - 36px));
max-width: calc(100vw - 32px);
display: grid;
gap: 12px;
padding: 14px;
border: 1px solid var(--workbench-line-strong);
border-radius: 4px;
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.06);
}
.composer-date-mode-tabs {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
padding: 4px;
border-radius: 4px;
background: #f1f5f9;
}
.composer-date-mode-btn {
min-height: 34px;
border-radius: 4px;
color: var(--workbench-muted);
font-size: 12px;
font-weight: 800;
}
.composer-date-mode-btn.active {
background: #fff;
color: var(--workbench-ink);
box-shadow: 0 4px 10px rgba(148, 163, 184, 0.16);
}
.composer-date-fields {
display: grid;
gap: 8px;
}
.composer-date-fields-range {
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: end;
}
.composer-date-field {
display: grid;
gap: 6px;
min-width: 0;
}
.composer-date-field span {
color: var(--workbench-muted);
font-size: 11px;
font-weight: 800;
}
.composer-date-field input {
width: 100%;
min-height: 36px;
padding: 0 10px;
border: 1px solid var(--workbench-line-strong);
border-radius: 4px;
background: #fff;
color: var(--workbench-ink);
font-size: 12px;
font-weight: 700;
}
.composer-date-field input:focus {
border-color: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.46);
box-shadow: 0 0 0 3px rgba(var(--theme-primary-rgb, 58, 124, 165), 0.1);
outline: none;
}
.composer-date-range-sep {
align-self: center;
color: #94a3b8;
font-size: 12px;
font-weight: 800;
}
.composer-date-hint {
margin: 0;
color: #dc2626;
font-size: 11px;
line-height: 1.5;
}
.composer-date-popover-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
}
.composer-date-cancel-btn,
.composer-date-apply-btn {
min-height: 34px;
padding: 0 14px;
border-radius: 4px;
font-size: 12px;
font-weight: 800;
}
.composer-date-cancel-btn {
border: 1px solid var(--workbench-line-strong);
background: #fff;
color: var(--workbench-muted);
}
.composer-date-apply-btn {
background: var(--workbench-primary-active);
color: #fff;
}
.composer-date-apply-btn:disabled {
opacity: 0.48;
cursor: not-allowed;
}
@media (max-width: 480px) {
.composer-date-popover {
left: 12px;
width: calc(100% - 24px);
}
.composer-date-fields-range {
grid-template-columns: minmax(0, 1fr);
}
.composer-date-range-sep {
display: none;
}
}

View File

@@ -30,7 +30,6 @@
}
.composer-icon-button,
.composer-related-button,
.composer-send-button {
height: 32px;
}
@@ -287,7 +286,6 @@
}
.composer-icon-button,
.composer-related-button,
.composer-send-button {
height: 30px;
font-size: 13px;
@@ -297,11 +295,6 @@
width: 30px;
}
.composer-related-button {
padding: 0 10px;
gap: 4px;
}
.composer-send-button {
width: 46px;
}

View File

@@ -127,6 +127,8 @@
.assistant-file-input { display: none; }
.assistant-composer {
position: relative;
z-index: 5;
display: grid;
gap: 6px;
min-height: var(--composer-min-height);
@@ -160,6 +162,32 @@
.assistant-composer textarea:focus { outline: none; }
.assistant-composer textarea[readonly] {
color: color-mix(in srgb, var(--workbench-ink) 72%, #ffffff);
cursor: progress;
}
.assistant-intent-status {
display: inline-flex;
align-items: center;
width: fit-content;
max-width: 100%;
min-height: 28px;
gap: 8px;
padding: 0 10px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.22);
border-radius: 4px;
background: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.08);
color: var(--workbench-primary-active);
font-size: 12px;
font-weight: 750;
line-height: 1.35;
}
.assistant-intent-status i {
font-size: 15px;
}
.composer-toolbar {
display: flex;
align-items: center;
@@ -167,7 +195,6 @@
}
.composer-icon-button,
.composer-related-button,
.composer-send-button {
display: inline-flex;
align-items: center;
@@ -185,16 +212,6 @@
font-size: 19px;
}
.composer-related-button {
gap: 8px;
padding: 0 16px;
border: 1px solid var(--workbench-line);
background: var(--workbench-surface);
color: var(--workbench-text);
font-size: 14px;
font-weight: 700;
}
.composer-count {
margin-left: auto;
color: color-mix(in srgb, var(--workbench-muted) 75%, #ffffff);
@@ -691,8 +708,7 @@
.todo-row:hover,
.progress-row:hover,
.quick-prompts button:hover,
.composer-icon-button:hover,
.composer-related-button:hover {
.composer-icon-button:hover {
border-color: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.24);
color: var(--workbench-primary-active);
}

View File

@@ -0,0 +1,334 @@
.risk-observation-evidence-card {
display: grid;
gap: 14px;
}
.risk-evidence-refresh {
display: inline-flex;
align-items: center;
gap: 6px;
min-height: 30px;
padding: 0 10px;
border: 1px solid #dbe5ef;
border-radius: 4px;
background: #fff;
color: #334155;
font-size: 12px;
font-weight: 800;
cursor: pointer;
}
.risk-evidence-refresh:disabled {
cursor: not-allowed;
opacity: .72;
}
.risk-evidence-state {
min-height: 112px;
display: grid;
place-content: center;
justify-items: center;
gap: 8px;
color: #64748b;
font-size: 13px;
font-weight: 700;
}
.risk-evidence-state i {
color: #94a3b8;
font-size: 24px;
}
.risk-evidence-state.error {
color: #b91c1c;
}
.risk-evidence-current-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 10px 12px;
border: 1px solid #e6edf5;
border-radius: 4px;
background: #fff;
}
.risk-evidence-current-head div {
min-width: 0;
display: grid;
gap: 3px;
}
.risk-evidence-current-head span {
color: #64748b;
font-size: 12px;
font-weight: 850;
}
.risk-evidence-current-head strong {
overflow: hidden;
color: #0f172a;
font-size: 14px;
font-weight: 900;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.risk-evidence-current-head em {
flex: 0 0 auto;
color: #64748b;
font-size: 12px;
font-style: normal;
font-weight: 850;
}
.risk-evidence-detail-region {
display: grid;
gap: 12px;
}
.risk-evidence-summary {
display: grid;
grid-template-columns: 86px minmax(0, 1fr);
gap: 14px;
align-items: stretch;
padding: 14px;
border: 1px solid #edf2f7;
border-radius: 4px;
background: #f8fafc;
}
.risk-evidence-score {
display: grid;
place-content: center;
justify-items: center;
gap: 4px;
min-height: 82px;
border-radius: 4px;
background: #e2e8f0;
color: #475569;
}
.risk-evidence-score.critical,
.risk-evidence-score.high {
background: rgba(239, 68, 68, .1);
color: #b91c1c;
}
.risk-evidence-score.medium {
background: rgba(245, 158, 11, .12);
color: #b45309;
}
.risk-evidence-score strong {
font-size: 28px;
font-weight: 900;
line-height: 1;
font-variant-numeric: tabular-nums;
}
.risk-evidence-score span {
font-size: 12px;
font-weight: 900;
}
.risk-evidence-copy {
min-width: 0;
display: grid;
gap: 8px;
align-content: center;
}
.risk-evidence-copy h4 {
min-width: 0;
color: #0f172a;
font-size: 15px;
font-weight: 850;
line-height: 1.35;
}
.risk-evidence-copy p {
color: #475569;
font-size: 13px;
font-weight: 600;
line-height: 1.55;
}
.risk-evidence-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.risk-evidence-meta span,
.risk-chip-list span {
display: inline-flex;
align-items: center;
min-height: 24px;
padding: 0 8px;
border: 1px solid #dbe5ef;
border-radius: 4px;
background: #fff;
color: #475569;
font-size: 12px;
font-weight: 800;
}
.risk-evidence-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.risk-evidence-section {
min-width: 0;
display: grid;
gap: 10px;
padding: 12px;
border: 1px solid #edf2f7;
border-radius: 4px;
background: #fff;
}
.risk-evidence-section-title {
color: #334155;
font-size: 12px;
font-weight: 900;
}
.risk-score-list {
display: grid;
gap: 8px;
}
.risk-score-row {
display: grid;
grid-template-columns: 72px minmax(0, 1fr) 34px;
align-items: center;
gap: 8px;
}
.risk-score-row span {
color: #64748b;
font-size: 12px;
font-weight: 800;
}
.risk-score-row i {
height: 7px;
overflow: hidden;
border-radius: 999px;
background: #edf2f7;
}
.risk-score-row b {
display: block;
height: 100%;
border-radius: inherit;
background: var(--theme-primary);
}
.risk-score-row strong {
color: #0f172a;
font-size: 12px;
font-weight: 900;
text-align: right;
}
.risk-evidence-list {
display: grid;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}
.risk-evidence-list li {
display: grid;
gap: 3px;
}
.risk-evidence-list strong {
color: #0f172a;
font-size: 12px;
font-weight: 850;
}
.risk-evidence-list span,
.risk-evidence-empty,
.risk-chip-list em {
color: #64748b;
font-size: 12px;
font-style: normal;
font-weight: 650;
line-height: 1.5;
}
.risk-chip-list {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.risk-observation-list {
display: grid;
gap: 8px;
}
.risk-observation-row {
display: grid;
grid-template-columns: 80px minmax(0, 1fr) 42px;
align-items: center;
gap: 10px;
min-height: 40px;
padding: 8px 10px;
border: 1px solid #edf2f7;
border-radius: 4px;
background: #fff;
text-align: left;
cursor: pointer;
}
.risk-observation-row.active,
.risk-observation-row:hover,
.risk-observation-row:focus-visible {
border-color: rgba(var(--theme-primary-rgb), .24);
background: #f8fafc;
}
.risk-observation-row:focus-visible {
outline: 2px solid rgba(var(--theme-primary-rgb), .28);
outline-offset: 2px;
}
.risk-observation-row span,
.risk-observation-row em {
color: #64748b;
font-size: 12px;
font-style: normal;
font-weight: 850;
}
.risk-observation-row strong {
min-width: 0;
overflow: hidden;
color: #0f172a;
font-size: 13px;
font-weight: 850;
text-overflow: ellipsis;
white-space: nowrap;
}
.risk-observation-row em {
color: #0f172a;
text-align: right;
}
@media (max-width: 960px) {
.risk-evidence-summary,
.risk-evidence-grid {
grid-template-columns: minmax(0, 1fr);
}
}

View File

@@ -124,6 +124,49 @@
position: relative;
}
.dashboard-switch-wrap {
width: 190px;
flex: 0 0 190px;
height: 44px;
display: flex;
align-items: center;
}
.dashboard-switch-select {
width: 100%;
}
.dashboard-switch-select :deep(.el-select__wrapper) {
height: 44px;
min-height: 44px;
border-radius: 4px;
background: #f8fbfd;
box-shadow:
0 0 0 2px rgba(var(--theme-primary-rgb, 58, 124, 165), .48) inset,
0 1px 2px rgba(15, 23, 42, .05);
}
.dashboard-switch-select :deep(.el-select__wrapper:hover) {
background: #f3f9fd;
box-shadow:
0 0 0 2px rgba(var(--theme-primary-rgb, 58, 124, 165), .72) inset,
0 0 0 3px rgba(var(--theme-primary-rgb, 58, 124, 165), .08);
}
.dashboard-switch-select :deep(.el-select__wrapper.is-focused) {
background: #ffffff;
box-shadow:
0 0 0 2px var(--theme-primary) inset,
0 0 0 3px rgba(var(--theme-primary-rgb, 58, 124, 165), .14);
}
.dashboard-switch-select :deep(.el-select__placeholder),
.dashboard-switch-select :deep(.el-select__selected-item) {
color: #1e293b;
font-size: 13px;
font-weight: 800;
}
.custom-range-btn {
height: 42px;
display: inline-flex;
@@ -507,6 +550,11 @@
justify-content: center;
}
.dashboard-switch-wrap {
width: 100%;
flex: 1 1 100%;
}
.calendar-popover {
right: auto;
left: 0;

View File

@@ -24,7 +24,7 @@
grid-template-rows: auto minmax(0, 1fr);
overflow: hidden;
border: 1px solid rgba(189, 201, 214, 0.74);
border-radius: 16px;
border-radius: 4px;
background: #ffffff;
box-shadow: 0 14px 32px rgba(148, 163, 184, 0.16);
opacity: 1;
@@ -63,7 +63,7 @@
gap: 12px;
padding: 16px;
border-bottom: 1px solid #e2e8f0;
background: linear-gradient(180deg, #f8fbff, #ffffff);
background: #ffffff;
}
.insight-head h3 {
@@ -96,7 +96,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: #eff6ff;
color: #2563eb;
font-size: 11px;
@@ -111,7 +111,7 @@
gap: 10px;
padding: 12px;
border: 1px solid #e2e8f0;
border-radius: 12px;
border-radius: 4px;
background: #ffffff;
}
@@ -126,7 +126,6 @@
.note-block p,
.review-side-head p,
.review-side-risk-summary,
.flow-step-tool,
.flow-step-detail,
.flow-step-card time {
margin: 0;
@@ -166,7 +165,7 @@
display: grid;
gap: 6px;
padding: 10px;
border-radius: 10px;
border-radius: 4px;
background: #f8fbff;
}
@@ -187,7 +186,7 @@
display: inline-flex;
align-items: center;
padding: 0 8px;
border-radius: 999px;
border-radius: 4px;
background: #eff6ff;
color: #2563eb;
font-size: 11px;
@@ -202,7 +201,7 @@
.flow-step-card,
.review-document-preview-card {
border: 1px solid #e2e8f0;
border-radius: 10px;
border-radius: 4px;
background: #ffffff;
}
@@ -229,7 +228,7 @@
height: 30px;
display: grid;
place-items: center;
border-radius: 8px;
border-radius: 4px;
background: #eff6ff;
color: #2563eb;
font-size: 11px;
@@ -255,7 +254,7 @@
height: 30px;
display: grid;
place-items: center;
border-radius: 8px;
border-radius: 4px;
background: #eff6ff;
color: var(--theme-primary, #3a7ca5);
}
@@ -295,7 +294,7 @@
.review-document-nav-btn,
.review-side-save-pill {
border: 1px solid #cbd5e1;
border-radius: 8px;
border-radius: 4px;
background: #ffffff;
color: #334155;
}
@@ -383,7 +382,7 @@
display: grid;
gap: 7px;
padding: 10px 11px;
border-radius: 8px;
border-radius: 4px;
background: #f8fafc;
box-shadow: none;
transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
@@ -410,7 +409,6 @@
color: #ffffff;
}
.flow-step-item.completed .flow-step-tool,
.flow-step-item.completed .flow-step-detail,
.flow-step-item.completed .flow-step-card time {
color: #cbd5e1;
@@ -447,7 +445,7 @@
gap: 8px;
padding: 18px;
border: 1px dashed #cbd5e1;
border-radius: 10px;
border-radius: 4px;
background: #f8fbff;
color: #64748b;
text-align: center;
@@ -459,7 +457,7 @@
width: 100%;
min-height: 34px;
border: 1px solid #cbd5e1;
border-radius: 8px;
border-radius: 4px;
background: #ffffff;
color: #0f172a;
font: inherit;

View File

@@ -0,0 +1,191 @@
.application-preview-date-chip {
display: inline-flex;
align-items: center;
min-height: 24px;
padding: 0 8px;
border-radius: 999px;
background: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.1);
color: var(--theme-primary-active, #255b7d);
font-weight: 850;
}
.application-draft-preview {
width: min(100%, 620px);
max-width: 620px;
gap: 12px;
background: #ffffff;
}
.application-draft-preview .application-draft-head {
display: grid;
grid-template-columns: 36px minmax(0, 1fr) auto;
align-items: start;
justify-content: initial;
gap: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #e6edf5;
}
.application-draft-icon {
width: 34px;
height: 34px;
display: inline-grid;
place-items: center;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.22);
border-radius: 4px;
background: #f4f9fc;
color: var(--theme-primary-active, #255b7d);
font-size: 18px;
}
.application-draft-title {
min-width: 0;
display: grid;
gap: 3px;
}
.application-draft-title strong {
color: #102033;
font-size: 14px;
font-weight: 850;
line-height: 1.35;
}
.application-draft-title small {
color: #667085;
font-size: 12px;
line-height: 1.45;
}
.application-draft-status {
min-height: 22px;
display: inline-flex;
align-items: center;
padding: 0 8px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.24);
border-radius: 4px;
background: #f7fbff;
color: var(--theme-primary-active, #255b7d);
font-size: 11px;
font-weight: 850;
line-height: 1;
}
.application-draft-brief {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0;
border: 1px solid #d7e4f2;
border-radius: 4px;
overflow: hidden;
background: #ffffff;
}
.application-draft-brief-item {
display: grid;
grid-template-columns: 42px minmax(0, 1fr);
gap: 10px;
align-items: center;
min-height: 42px;
padding: 8px 12px;
border-top: 1px solid #edf2f7;
border-left: 1px solid #edf2f7;
font-size: 12px;
}
.application-draft-brief-item:nth-child(even) {
border-left: 0;
}
.application-draft-brief-item.is-primary {
grid-column: 1 / -1;
grid-template-columns: 42px minmax(0, 1fr);
min-height: 48px;
border-top: 0;
border-left: 0;
background: #f8fbff;
}
.application-draft-brief-item span {
color: #64748b;
font-weight: 760;
}
.application-draft-brief-item strong {
min-width: 0;
overflow-wrap: anywhere;
color: #0f172a;
font-weight: 850;
}
.application-draft-brief-item.is-primary strong {
color: #102033;
font-size: 13px;
}
.application-draft-footer {
display: block;
}
.application-draft-footer p {
margin: 0;
color: #64748b;
font-size: 12px;
line-height: 1.5;
}
.application-draft-detail-link {
display: inline;
margin: 0 1px;
padding: 0;
border: 0;
border-radius: 2px;
background: transparent;
color: var(--theme-primary-active, #255b7d);
font: inherit;
font-weight: 850;
line-height: inherit;
text-decoration: underline;
text-underline-offset: 3px;
cursor: pointer;
transition: color 0.18s ease, outline-color 0.18s ease;
}
.application-draft-detail-link:hover:not(:disabled) {
color: var(--theme-primary, #3a7ca5);
}
.application-draft-detail-link:focus-visible {
outline: 2px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.24);
outline-offset: 2px;
}
.application-draft-detail-link:disabled {
cursor: not-allowed;
opacity: 0.58;
}
@media (max-width: 640px) {
.application-draft-preview .application-draft-head {
grid-template-columns: 34px minmax(0, 1fr);
}
.application-draft-status {
grid-column: 2;
justify-self: start;
}
.application-draft-brief {
grid-template-columns: 1fr;
}
.application-draft-brief-item {
border-left: 0;
border-top: 1px solid #edf2f7;
}
.application-draft-brief-item.is-primary {
border-top: 0;
}
}

View File

@@ -1,3 +1,5 @@
@import "./travel-reimbursement-message-application.css";
.message-row {
display: grid;
grid-template-columns: 38px minmax(0, 1fr);
@@ -58,6 +60,13 @@
max-width: min(100%, 1080px);
}
.message-feedback-bubble {
grid-column: 2;
justify-self: start;
max-width: min(100%, 420px);
margin-top: -2px;
}
.message-bubble-review-risk-low,
.message-bubble-review-risk-medium,
.message-bubble-review-risk-high {
@@ -230,14 +239,6 @@
color: var(--theme-primary-active, #2f6d95);
}
.message-meta-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
}
.message-meta-chip,
.message-risk-chip,
.file-chip {
min-height: 26px;

View File

@@ -456,6 +456,11 @@ td:first-child {
text-align: left;
}
.audit-asset-table th:first-child,
.audit-asset-table td:first-child {
text-align: left;
}
tbody tr:hover {
background: #f8fbff;
}
@@ -474,6 +479,13 @@ tbody tr.is-disabled:hover {
grid-template-columns: 38px minmax(0, 1fr);
gap: 10px;
align-items: center;
justify-items: start;
text-align: left;
}
.skill-name-cell > div {
min-width: 0;
text-align: left;
}
.skill-avatar {

View File

@@ -71,8 +71,6 @@
.agent-answer-markdown :deep(th) { background: var(--theme-primary-light-9); color: #0f172a; font-weight: 800; }
.agent-answer-markdown :deep(td) { color: #334155; font-weight: 650; }
.agent-answer-markdown :deep(tbody tr:last-child td) { border-bottom: 0; }
.agent-meta-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; max-width: 760px; }
.agent-meta-chip { min-height: 26px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 999px; background: var(--theme-primary-light-9); color: var(--theme-primary-active); font-size: 12px; font-weight: 760; }
.agent-detail-block { max-width: 760px; margin-top: 10px; display: grid; gap: 8px; }
.agent-detail-block > strong { color: #0f172a; font-size: 12px; font-weight: 820; }
.agent-citation-disclosure { overflow: hidden; border: 1px solid #dce5ef; border-radius: 10px; background: #fff; }

View File

@@ -67,6 +67,41 @@
text-align: left;
}
.digital-skill-cell {
display: grid;
grid-template-columns: 38px minmax(0, 1fr);
gap: 10px;
align-items: center;
justify-items: start;
text-align: left;
}
.digital-skill-avatar {
width: 38px;
height: 38px;
display: grid;
place-items: center;
border-radius: 11px;
color: #fff;
font-size: 13px;
font-weight: 900;
}
.digital-skill-avatar.primary { background: var(--theme-gradient-primary); }
.digital-skill-avatar.rose { background: linear-gradient(135deg, #f43f5e, #e11d48); }
.digital-skill-avatar.violet { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }
.digital-skill-avatar.blue {
background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.digital-skill-avatar.amber { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.digital-skill-cell .doc-id {
min-width: 0;
overflow: hidden;
text-align: left;
text-overflow: ellipsis;
}
.digital-employees-table .col-skill { width: 22%; }
.digital-employees-table .col-skill-type { width: 11%; }
.digital-employees-table .col-owner { width: 11%; }

View File

@@ -143,7 +143,9 @@
.donut-panel,
.bottleneck-panel,
.budget-panel {
.budget-panel,
.model-panel,
.feedback-panel {
grid-column: span 3;
}
@@ -183,8 +185,228 @@
text-align: center;
}
.card-subtitle {
margin: -8px 0 12px;
color: #64748b;
font-size: 12px;
font-weight: 550;
line-height: 1.55;
}
.system-observability-grid {
display: grid;
grid-template-columns: minmax(0, 1.18fr) minmax(320px, .9fr) minmax(320px, .9fr);
grid-template-areas:
"agent agent agent"
"token token token"
"accuracy accuracy side"
"tools tools side";
gap: 18px;
}
.system-agent-ratio-panel {
grid-area: agent;
}
.system-token-pie-panel {
grid-area: token;
}
.system-token-panel-grid {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
gap: 18px;
align-items: stretch;
}
.system-accuracy-panel {
grid-area: accuracy;
}
.system-tool-detail-panel {
grid-area: tools;
}
.system-side-stack {
grid-area: side;
display: grid;
gap: 18px;
align-content: start;
}
.system-side-stack .dashboard-card {
grid-column: auto;
}
.system-side-card {
padding: 16px;
}
.system-side-card .card-head {
margin-bottom: 12px;
}
.system-side-card .card-subtitle {
margin: -6px 0 8px;
font-size: 11px;
}
.duration-summary {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
margin-bottom: 12px;
}
.duration-summary strong {
display: block;
color: #0f172a;
font-size: 26px;
font-weight: 850;
line-height: 1;
letter-spacing: 0;
}
.duration-summary span {
display: block;
margin-top: 5px;
color: #64748b;
font-size: 11px;
font-weight: 650;
}
.duration-summary em {
padding: 2px 7px;
border-radius: 4px;
background: rgba(var(--success-rgb), 0.10);
color: var(--success);
font-size: 11px;
font-style: normal;
font-weight: 800;
white-space: nowrap;
}
.duration-meta {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin-bottom: 12px;
}
.duration-meta span {
padding: 7px 8px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #fbfdff;
color: #475569;
font-size: 11px;
font-weight: 750;
}
.duration-bars {
display: grid;
gap: 9px;
}
.duration-bar-row {
display: grid;
grid-template-columns: 72px minmax(0, 1fr) 44px;
align-items: center;
gap: 8px;
}
.duration-bar-row span,
.duration-bar-row strong {
color: #475569;
font-size: 11px;
font-weight: 750;
white-space: nowrap;
}
.duration-bar-row strong {
color: #0f172a;
text-align: right;
font-variant-numeric: tabular-nums;
}
.duration-bar-row i {
height: 7px;
overflow: hidden;
border-radius: 4px;
background: #eef2f7;
}
.duration-bar-row b {
display: block;
height: 100%;
border-radius: inherit;
}
.system-tool-table {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px 14px;
}
.system-tool-row {
display: grid;
gap: 8px;
padding: 12px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #fbfdff;
}
.system-tool-row-head,
.system-tool-row-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.system-tool-row-head strong {
min-width: 0;
color: #1e293b;
font-size: 13px;
font-weight: 750;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.system-tool-row-head span {
color: #0f172a;
font-size: 12px;
font-weight: 800;
white-space: nowrap;
}
.system-tool-meter {
height: 8px;
overflow: hidden;
border-radius: 4px;
background: #eef2f7;
}
.system-tool-meter i {
display: block;
height: 100%;
border-radius: inherit;
}
.system-tool-row-meta {
color: #64748b;
font-size: 11px;
flex-wrap: wrap;
justify-content: flex-start;
}
.bottleneck-panel,
.budget-panel {
.budget-panel,
.model-panel,
.feedback-panel {
display: flex;
flex-direction: column;
}
@@ -194,6 +416,67 @@
margin-top: auto;
}
.feedback-list {
flex: 1;
display: grid;
gap: 12px;
align-content: center;
}
.feedback-row {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid #f1f5f9;
}
.feedback-row:last-child {
border-bottom: 0;
}
.feedback-icon {
width: 32px;
height: 32px;
display: grid;
place-items: center;
border-radius: 4px;
background: #eef2f7;
color: #64748b;
font-size: 16px;
flex: 0 0 auto;
}
.feedback-row.success .feedback-icon {
background: rgba(var(--success-rgb), .10);
color: var(--success);
}
.feedback-row.danger .feedback-icon {
background: rgba(239, 68, 68, .10);
color: #dc2626;
}
.feedback-row.info .feedback-icon {
background: rgba(var(--theme-primary-rgb, 58, 124, 165), .10);
color: var(--theme-primary-active);
}
.feedback-row strong {
display: block;
color: #1e293b;
font-size: 18px;
font-weight: 800;
line-height: 1;
}
.feedback-row span:not(.feedback-icon) {
display: block;
margin-top: 4px;
color: #64748b;
font-size: 12px;
}
.bottleneck-list {
flex: 1;
display: grid;
@@ -337,6 +620,15 @@
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.system-observability-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-areas:
"agent agent"
"token token"
"accuracy side"
"tools side";
}
.trend-panel,
.rank-panel {
grid-column: span 12;
@@ -344,7 +636,9 @@
.donut-panel,
.bottleneck-panel,
.budget-panel {
.budget-panel,
.model-panel,
.feedback-panel {
grid-column: span 6;
}
}
@@ -381,11 +675,31 @@
grid-template-columns: 1fr;
}
.system-observability-grid {
grid-template-columns: 1fr;
grid-template-areas:
"agent"
"token"
"accuracy"
"tools"
"side";
}
.system-tool-table {
grid-template-columns: 1fr;
}
.system-token-panel-grid {
grid-template-columns: 1fr;
}
.trend-panel,
.rank-panel,
.donut-panel,
.bottleneck-panel,
.budget-panel {
.budget-panel,
.model-panel,
.feedback-panel {
grid-column: span 1;
}

View File

@@ -11,26 +11,41 @@
.receipt-folder-detail {
min-height: 0;
overflow: hidden;
padding: 16px 18px;
}
.receipt-folder-list {
display: grid;
grid-template-rows: auto auto minmax(0, 1fr) auto;
padding: 16px 18px;
}
.receipt-detail-head,
.receipt-detail-foot,
.receipt-basic-panel header,
.receipt-preview-panel header,
.receipt-folder-list th:first-child,
.receipt-folder-list td:first-child {
text-align: left;
}
.receipt-folder-list td:first-child .doc-id {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
.col-file { width: 22%; }
.col-kind { width: 13%; }
.col-scene { width: 13%; }
.col-money { width: 10%; }
.col-date { width: 12%; }
.col-score { width: 10%; }
.col-status { width: 10%; }
.col-updated { width: 14%; }
.receipt-field-list-head {
display: flex;
align-items: center;
}
.receipt-form-grid input,
.receipt-form-grid textarea,
.receipt-field-row input {
.receipt-key-grid input,
.receipt-edit-field-row input {
width: 100%;
border: 1px solid #d7e0ea;
border-radius: 4px;
@@ -40,31 +55,21 @@
transition: border-color 160ms ease, box-shadow 160ms ease;
}
.receipt-form-grid input,
.receipt-field-row input {
.receipt-key-grid input,
.receipt-edit-field-row input {
height: 36px;
padding: 0 10px;
}
.receipt-form-grid textarea {
resize: vertical;
min-height: 78px;
padding: 9px 10px;
line-height: 1.55;
}
.receipt-form-grid input:focus,
.receipt-form-grid textarea:focus,
.receipt-field-row input:focus {
.receipt-key-grid input:focus,
.receipt-edit-field-row input:focus {
border-color: var(--theme-primary);
box-shadow: 0 0 0 3px rgba(58, 124, 165, 0.14);
outline: none;
}
.apply-btn,
.ghost-btn,
.danger-btn,
.back-btn {
.ghost-btn {
min-height: 36px;
display: inline-flex;
align-items: center;
@@ -76,8 +81,7 @@
white-space: nowrap;
}
.ghost-btn,
.back-btn {
.ghost-btn {
padding: 0 13px;
border: 1px solid #d7e0ea;
background: #fff;
@@ -91,68 +95,67 @@
color: #fff;
}
.danger-btn {
padding: 0 14px;
border: 1px solid #dc2626;
background: #dc2626;
color: #fff;
}
.apply-btn:disabled,
.danger-btn:disabled {
.ghost-btn:disabled {
opacity: .55;
cursor: not-allowed;
}
.receipt-folder-detail {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
grid-template-rows: minmax(0, 1fr) auto;
gap: 12px;
padding: 0;
}
.receipt-detail-head {
gap: 14px;
padding-bottom: 14px;
border-bottom: 1px solid #dbe4ee;
}
.receipt-detail-head h2 {
margin: 4px 0;
color: #0f172a;
font-size: 20px;
line-height: 1.25;
}
.receipt-detail-head p {
margin: 0;
color: #64748b;
font-size: 13px;
}
.assistant-badge {
display: inline-flex;
align-items: center;
min-height: 22px;
padding: 0 8px;
border-radius: 4px;
background: #eef6ff;
color: var(--theme-primary-active);
font-size: 12px;
font-weight: 850;
}
.detail-loading {
.receipt-folder-detail :deep(.detail-scroll) {
min-height: 0;
display: grid;
place-items: center;
align-content: start;
gap: 16px;
padding-right: 4px;
overflow: auto;
}
.receipt-detail-layout {
.receipt-folder-detail :deep(.detail-actions) {
margin-top: 10px;
padding-top: 10px;
}
.receipt-folder-detail :deep(.detail-grid) {
min-height: 0;
display: grid;
grid-template-columns: minmax(360px, 0.95fr) minmax(420px, 1.05fr);
gap: 16px;
padding: 16px 0;
overflow: hidden;
align-items: stretch;
overflow: visible;
}
.receipt-folder-detail :deep(.detail-main),
.receipt-folder-detail :deep(.detail-side) {
min-height: 0;
display: grid;
}
.receipt-folder-detail :deep(.enterprise-detail-card .card-head) {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 14px;
}
.receipt-folder-detail :deep(.enterprise-detail-card .card-head h3) {
margin: 0;
color: #0f172a;
font-size: 15px;
font-weight: 850;
}
.receipt-folder-detail :deep(.enterprise-detail-card .card-head p) {
margin: 4px 0 0;
color: #64748b;
font-size: 12px;
}
.receipt-basic-panel,
@@ -165,67 +168,122 @@
}
.receipt-basic-panel {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
display: block;
padding: 14px;
overflow-y: auto;
}
.receipt-basic-panel header,
.receipt-preview-panel header,
.receipt-field-list-head {
justify-content: space-between;
gap: 12px;
}
.receipt-basic-panel header strong,
.receipt-preview-panel header strong,
.receipt-field-list-head strong {
color: #0f172a;
font-size: 15px;
}
.receipt-form-grid {
.receipt-field-list-head small {
color: #64748b;
font-size: 12px;
font-weight: 750;
}
.receipt-key-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin-top: 14px;
}
.receipt-form-grid label {
.receipt-key-field,
.receipt-edit-field-row label {
display: grid;
gap: 6px;
}
.receipt-form-grid label span {
.receipt-key-field span,
.receipt-edit-field-row label span {
color: #64748b;
font-size: 12px;
font-weight: 750;
}
.field-wide {
grid-column: 1 / -1;
.receipt-other-info {
margin-top: 18px;
}
.receipt-field-list {
margin-top: 18px;
.receipt-other-collapse {
border-top: 1px solid #e5edf5;
border-bottom: 0;
}
.receipt-other-collapse :deep(.el-collapse-item__header) {
min-height: 42px;
height: auto;
border-bottom: 1px solid #e5edf5;
background: #fff;
color: #0f172a;
}
.receipt-other-collapse :deep(.el-collapse-item__wrap) {
border-bottom: 0;
}
.receipt-other-collapse :deep(.el-collapse-item__content) {
padding: 12px 0 0;
}
.receipt-collapse-title {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding-right: 10px;
}
.receipt-collapse-title strong {
color: #0f172a;
font-size: 15px;
}
.receipt-collapse-title small {
color: #64748b;
font-size: 12px;
font-weight: 750;
}
.receipt-other-scroll {
max-height: 320px;
display: grid;
gap: 10px;
overflow-y: auto;
padding-right: 4px;
}
.receipt-field-row {
.receipt-edit-field-row {
display: grid;
grid-template-columns: minmax(100px, .6fr) minmax(160px, 1fr) 30px;
gap: 8px;
}
.receipt-field-row button {
display: grid;
place-items: center;
border: 1px solid #d7e0ea;
grid-template-columns: minmax(120px, .72fr) minmax(180px, 1.28fr);
gap: 10px;
padding: 10px;
border: 1px solid #e1e8f0;
border-radius: 4px;
background: #fff;
background: #f8fafc;
}
.receipt-field-empty {
min-height: 64px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
border: 1px dashed #d7e0ea;
border-radius: 4px;
background: #f8fafc;
color: #64748b;
font-size: 13px;
font-weight: 700;
}
.receipt-preview-panel {
@@ -233,20 +291,6 @@
grid-template-rows: auto minmax(0, 1fr);
}
.receipt-preview-panel header {
padding: 14px;
border-bottom: 1px solid #e5edf5;
}
.preview-source-btn {
border: 0;
background: transparent;
color: var(--theme-primary-active);
font-size: 13px;
font-weight: 750;
text-decoration: none;
}
.receipt-preview-box {
min-height: 0;
display: grid;
@@ -281,13 +325,6 @@
font-size: 34px;
}
.receipt-detail-foot {
justify-content: space-between;
gap: 12px;
padding-top: 14px;
border-top: 1px solid #dbe4ee;
}
.associate-step {
display: grid;
gap: 12px;
@@ -350,7 +387,7 @@
}
@media (max-width: 1120px) {
.receipt-detail-layout {
.receipt-folder-detail :deep(.detail-grid) {
grid-template-columns: 1fr;
overflow-y: auto;
}
@@ -361,12 +398,12 @@
}
@media (max-width: 760px) {
.receipt-folder-list,
.receipt-folder-detail {
.receipt-folder-list {
padding: 12px;
}
.receipt-form-grid {
.receipt-key-grid,
.receipt-edit-field-row {
grid-template-columns: 1fr;
}
}

View File

@@ -27,7 +27,7 @@
min-height: 36px;
padding: 0 10px;
border: 1px solid rgba(203, 213, 225, 0.92);
border-radius: 10px;
border-radius: 4px;
background: #fff;
color: #0f172a;
font-size: 12px;
@@ -53,14 +53,14 @@
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
padding: 4px;
border-radius: 12px;
border-radius: 4px;
background: rgba(241, 245, 249, 0.92);
}
.composer-date-mode-btn {
min-height: 34px;
border: 0;
border-radius: 10px;
border-radius: 4px;
background: transparent;
color: #64748b;
font-size: 12px;
@@ -101,7 +101,7 @@
min-height: 36px;
padding: 0 10px;
border: 1px solid rgba(203, 213, 225, 0.92);
border-radius: 10px;
border-radius: 4px;
background: #fff;
color: #0f172a;
font-size: 12px;
@@ -132,7 +132,7 @@
.composer-date-apply-btn {
min-height: 34px;
padding: 0 14px;
border-radius: 10px;
border-radius: 4px;
font-size: 12px;
font-weight: 800;
}
@@ -158,7 +158,7 @@
min-width: 0;
min-height: var(--composer-control-size, 44px);
border: 1px solid rgba(214, 225, 234, 0.95);
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.98);
box-shadow:
0 10px 22px rgba(226, 232, 240, 0.24),
@@ -181,7 +181,7 @@
max-width: min(100%, 320px);
min-height: 28px;
padding: 0 8px 0 10px;
border-radius: 999px;
border-radius: 4px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.28);
background: linear-gradient(135deg, rgba(var(--theme-primary-rgb, 58, 124, 165), 0.14), rgba(var(--theme-primary-rgb, 58, 124, 165), 0.08));
color: var(--theme-primary-active);
@@ -209,7 +209,7 @@
place-items: center;
padding: 0;
border: 0;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.72);
color: #3b82f6;
flex: none;
@@ -224,8 +224,8 @@
gap: 10px;
padding: 14px;
border: 1px solid rgba(226, 232, 240, 0.9);
border-radius: 18px;
background: linear-gradient(180deg, rgba(248, 251, 255, 0.92) 0%, rgba(242, 247, 251, 0.78) 100%);
border-radius: 4px;
background: rgba(248, 251, 255, 0.92);
}
.composer-files-head {
@@ -299,7 +299,7 @@
place-items: center;
padding: 0;
border: 0;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.82);
color: inherit;
flex: none;
@@ -323,7 +323,7 @@
justify-content: space-between;
gap: 10px;
padding: 10px 12px;
border-radius: 14px;
border-radius: 4px;
border: 1px solid rgba(219, 230, 240, 0.92);
background: rgba(255, 255, 255, 0.88);
}
@@ -350,7 +350,7 @@
display: grid;
place-items: center;
border: 0;
border-radius: 10px;
border-radius: 4px;
background: rgba(248, 250, 252, 0.92);
color: #64748b;
}
@@ -404,7 +404,7 @@
display: grid;
place-items: center;
border: 0;
border-radius: 999px;
border-radius: 4px;
flex: none;
}
@@ -501,7 +501,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
font-size: 11px;
@@ -538,7 +538,7 @@
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
border-radius: 4px;
border: 1px solid rgba(203, 213, 225, 0.92);
background: rgba(248, 250, 252, 0.96);
color: #94a3b8;
@@ -606,7 +606,7 @@
display: inline-flex;
align-items: center;
padding: 0 13px;
border-radius: 999px;
border-radius: 4px;
font-size: var(--wb-fs-chip);
font-weight: 800;
}
@@ -654,7 +654,7 @@
.confidence-card {
min-width: 92px;
padding: 10px 12px;
border-radius: 14px;
border-radius: 4px;
background: rgba(250, 252, 252, 0.9);
border: 1px solid rgba(202, 213, 223, 0.9);
box-shadow: 0 8px 18px rgba(203, 213, 225, 0.3);
@@ -698,7 +698,7 @@
display: grid;
gap: 10px;
padding: 14px;
border-radius: 18px;
border-radius: 4px;
border: 1px solid rgba(197, 209, 221, 0.88);
background: rgba(249, 251, 251, 0.88);
box-shadow: 0 10px 20px rgba(226, 232, 240, 0.3);
@@ -745,7 +745,7 @@
gap: 8px;
align-items: start;
padding: 12px;
border-radius: 14px;
border-radius: 4px;
border: 1px solid rgba(206, 216, 226, 0.88);
background: rgba(251, 252, 252, 0.82);
position: relative;
@@ -776,7 +776,7 @@
height: 32px;
display: grid;
place-items: center;
border-radius: 8px;
border-radius: 4px;
background: #f1f5f9;
border: 1px solid transparent;
color: #64748b;
@@ -821,7 +821,7 @@
min-height: 34px;
padding: 0 10px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.2);
border-radius: 10px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.96);
color: #0f172a;
font-size: 12px;
@@ -860,7 +860,7 @@
align-items: center;
justify-content: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
border: 1px solid rgba(203, 213, 225, 0.92);
background: rgba(255, 255, 255, 0.96);
color: #475569;
@@ -889,7 +889,7 @@
display: inline-flex;
align-items: center;
padding: 0 6px;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.92);
border: 1px solid rgba(226, 232, 240, 0.92);
color: #94a3b8;
@@ -953,7 +953,7 @@
gap: 8px;
padding: 12px;
min-height: 66px;
border-radius: 14px;
border-radius: 4px;
border: 1px solid rgba(226, 232, 240, 0.94);
background: rgba(255, 255, 255, 0.68);
cursor: pointer;
@@ -1005,7 +1005,7 @@
align-items: center;
justify-content: center;
padding: 0 12px;
border-radius: 999px;
border-radius: 4px;
border: 1px solid rgba(203, 213, 225, 0.92);
background: rgba(255, 255, 255, 0.94);
color: #475569;
@@ -1045,7 +1045,7 @@
min-height: 66px;
padding: 10px;
border: 1px solid rgba(226, 232, 240, 0.95);
border-radius: 14px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.76);
color: #334155;
text-align: left;
@@ -1063,7 +1063,7 @@
height: 30px;
display: grid;
place-items: center;
border-radius: 10px;
border-radius: 4px;
background: rgba(58, 124, 165, 0.12);
color: #2f6d95;
font-size: 16px;
@@ -1136,7 +1136,7 @@
gap: 8px;
padding: 14px;
border: 1px dashed rgba(203, 213, 225, 0.92);
border-radius: 16px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.52);
}
@@ -1145,7 +1145,7 @@
height: 36px;
display: grid;
place-items: center;
border-radius: 12px;
border-radius: 4px;
background: rgba(240, 244, 248, 0.96);
color: #94a3b8;
font-size: 18px;
@@ -1174,7 +1174,7 @@
gap: 6px;
padding: 0 14px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.22);
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.94);
color: var(--theme-primary-active);
font-size: 12px;
@@ -1208,7 +1208,7 @@
align-items: center;
gap: 8px;
padding: 4px;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.92);
border: 1px solid rgba(226, 232, 240, 0.92);
white-space: nowrap;
@@ -1226,7 +1226,7 @@
display: grid;
place-items: center;
border: 0;
border-radius: 999px;
border-radius: 4px;
background: rgba(241, 245, 249, 0.96);
color: #334155;
}
@@ -1269,7 +1269,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
font-size: 11px;
@@ -1287,7 +1287,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: rgba(248, 250, 252, 0.94);
border: 1px solid rgba(226, 232, 240, 0.92);
color: #475569;
@@ -1313,9 +1313,9 @@
.review-document-preview-card {
min-height: 168px;
overflow: hidden;
border-radius: 16px;
border-radius: 4px;
border: 1px solid rgba(226, 232, 240, 0.94);
background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
background: #f8fafc;
}
.review-document-preview-card.clickable {
@@ -1392,7 +1392,7 @@
.review-document-edit-field textarea {
width: 100%;
border: 1px solid rgba(219, 230, 240, 0.96);
border-radius: 14px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.96);
color: #0f172a;
font-size: 13px;
@@ -1423,7 +1423,7 @@
gap: 8px;
align-items: start;
padding: 10px 12px;
border-radius: 14px;
border-radius: 4px;
background: rgba(255, 247, 237, 0.92);
border: 1px solid rgba(253, 186, 116, 0.6);
color: #c2410c;
@@ -1438,13 +1438,13 @@
.insight-card {
padding: 16px;
border: 1px solid #e7eef6;
border-radius: 20px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 14px 24px rgba(241, 245, 249, 0.86);
}
.insight-card.primary {
background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
background: #ffffff;
}
.card-head {
@@ -1474,7 +1474,7 @@
gap: 10px;
padding: 12px 14px;
border: 1px solid rgba(226, 232, 240, 0.92);
border-radius: 16px;
border-radius: 4px;
background: rgba(248, 250, 252, 0.86);
color: #1e293b;
text-align: left;
@@ -1505,7 +1505,7 @@
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
border-radius: 4px;
background: rgba(226, 232, 240, 0.9);
color: #0f172a;
font-size: 12px;

View File

@@ -17,7 +17,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
font-size: 12px;
font-weight: 800;
white-space: nowrap;
@@ -50,7 +50,7 @@
.metric-item {
padding: 12px 14px;
border-radius: 16px;
border-radius: 4px;
background: #f8fafc;
}
@@ -129,7 +129,7 @@
gap: 12px;
align-items: center;
padding: 12px 14px;
border-radius: 16px;
border-radius: 4px;
background: #f8fafc;
}
@@ -190,7 +190,7 @@
}
.review-flow-panel .flow-step-card {
border-radius: 14px;
border-radius: 4px;
box-shadow: none;
}
@@ -315,7 +315,7 @@
display: grid;
gap: 10px;
padding: 12px 14px;
border-radius: 16px;
border-radius: 4px;
border: 1px solid rgba(226, 232, 240, 0.92);
background: rgba(255, 255, 255, 0.76);
}
@@ -338,7 +338,7 @@
display: inline-flex;
align-items: center;
padding: 0 8px;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.92);
border: 1px solid #e2e8f0;
color: #475569;
@@ -377,7 +377,7 @@
gap: 10px;
align-items: center;
padding: 11px 12px;
border-radius: 14px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.88);
border: 1px solid rgba(226, 232, 240, 0.92);
}
@@ -404,7 +404,7 @@
height: 36px;
display: grid;
place-items: center;
border-radius: 10px;
border-radius: 4px;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
font-size: 16px;
@@ -457,7 +457,7 @@
align-items: center;
justify-content: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
font-size: 10px;
font-weight: 800;
white-space: nowrap;
@@ -500,7 +500,7 @@
align-items: center;
justify-content: center;
padding: 0 14px;
border-radius: 12px;
border-radius: 4px;
border: 1px solid #dbe6f0;
background: rgba(255, 255, 255, 0.92);
color: #334155;
@@ -545,7 +545,7 @@
align-items: center;
justify-content: center;
padding: 0 16px;
border-radius: 999px;
border-radius: 4px;
font-size: 12px;
font-weight: 800;
}
@@ -605,7 +605,7 @@
display: grid;
gap: 8px;
padding: 14px 16px;
border-radius: 18px;
border-radius: 4px;
border: 1px solid #dbeafe;
background: linear-gradient(180deg, #f8fbff 0%, #f0f7ff 100%);
}
@@ -626,7 +626,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.86);
color: #0f172a;
font-size: 12px;
@@ -638,7 +638,7 @@
display: grid;
gap: 10px;
padding: 14px 16px;
border-radius: 18px;
border-radius: 4px;
border: 1px solid #e2e8f0;
background: rgba(255, 255, 255, 0.88);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66);
@@ -662,7 +662,7 @@
display: inline-flex;
align-items: center;
padding: 0 9px;
border-radius: 999px;
border-radius: 4px;
background: #fff;
color: #475569;
font-size: 11px;
@@ -693,7 +693,7 @@
display: inline-flex;
align-items: center;
padding: 0 12px;
border-radius: 999px;
border-radius: 4px;
background: #fff;
color: #0f172a;
font-size: 12px;
@@ -706,7 +706,7 @@
display: grid;
gap: 4px;
padding: 10px 12px;
border-radius: 14px;
border-radius: 4px;
border: 1px solid #e2e8f0;
background: #fff;
}
@@ -762,7 +762,7 @@
.review-claim-card,
.review-document-card {
border: 1px solid #e2e8f0;
border-radius: 16px;
border-radius: 4px;
background: #f8fbff;
}
@@ -829,7 +829,7 @@
.review-slot-meta-item {
padding: 9px 10px;
border-radius: 12px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.82);
border: 1px solid rgba(226, 232, 240, 0.9);
}
@@ -886,8 +886,8 @@
.document-preview {
min-height: 124px;
overflow: hidden;
border-radius: 14px;
background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
border-radius: 4px;
background: #f8fafc;
border: 1px dashed #dbe3ec;
}
@@ -941,7 +941,7 @@
display: grid;
gap: 8px;
padding: 14px;
border-radius: 16px;
border-radius: 4px;
background: #f8fafc;
}
@@ -978,15 +978,15 @@
display: grid;
gap: 10px;
padding: 16px 18px;
border-radius: 22px;
border-radius: 4px;
border: 1px solid rgba(191, 219, 254, 0.9);
background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
background: #ffffff;
box-shadow: 0 16px 28px rgba(241, 245, 249, 0.9);
}
.recognition-bubble.secondary {
border-color: #e2e8f0;
background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
background: #ffffff;
}
.recognition-bubble-label {
@@ -1028,8 +1028,8 @@
gap: 14px;
align-items: start;
padding: 16px;
border-radius: 22px;
background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
border-radius: 4px;
background: #ffffff;
border: 1px solid rgba(226, 232, 240, 0.95);
box-shadow: 0 16px 28px rgba(241, 245, 249, 0.92);
}
@@ -1065,10 +1065,8 @@
.review-confirm-modal {
width: min(720px, calc(100vw - 40px));
border-radius: 24px;
background:
radial-gradient(circle at top right, rgba(var(--theme-primary-rgb, 58, 124, 165), 0.08), transparent 28%),
linear-gradient(180deg, #fbfdff 0%, #f6f9fc 100%);
border-radius: 4px;
background: #fbfdff;
box-shadow:
0 24px 80px rgba(15, 23, 42, 0.22),
0 2px 12px rgba(15, 23, 42, 0.08);

View File

@@ -12,10 +12,8 @@
display: grid;
grid-template-rows: auto minmax(0, 1fr);
overflow: hidden;
border-radius: 24px;
background:
radial-gradient(circle at top right, rgba(var(--theme-primary-rgb, 58, 124, 165), 0.08), transparent 28%),
linear-gradient(180deg, #fbfdff 0%, #f6f9fc 100%);
border-radius: 4px;
background: #fbfdff;
box-shadow:
0 24px 80px rgba(15, 23, 42, 0.22),
0 2px 12px rgba(15, 23, 42, 0.08);
@@ -51,7 +49,7 @@
max-width: 100%;
max-height: calc(92vh - 170px);
display: block;
border-radius: 20px;
border-radius: 4px;
object-fit: contain;
box-shadow: 0 16px 34px rgba(148, 163, 184, 0.26);
}
@@ -60,7 +58,7 @@
width: 100%;
height: min(78vh, 820px);
border: 0;
border-radius: 18px;
border-radius: 4px;
background: #fff;
}
@@ -92,7 +90,7 @@
gap: 6px;
padding: 0 14px;
border: 1px solid #cbd5e1;
border-radius: 12px;
border-radius: 4px;
background: #ffffff;
color: #334155;
font-size: var(--wb-fs-chip);
@@ -131,7 +129,7 @@
.welcome-card {
padding: 14px;
border-radius: 18px;
border-radius: 4px;
background: #f8fafc;
}
@@ -329,7 +327,7 @@
.assistant-modal,
.assistant-modal-stage {
border-radius: 10px;
border-radius: 4px;
}
.assistant-header {
@@ -352,7 +350,7 @@
.close-btn {
width: 40px;
height: 40px;
border-radius: 14px;
border-radius: 4px;
font-size: 16px;
}

View File

@@ -24,7 +24,7 @@
display: flex;
flex-direction: column;
border: 0;
border-radius: 10px;
border-radius: 4px;
background: transparent;
box-shadow: none;
overflow: hidden;
@@ -142,7 +142,7 @@
background: transparent;
box-shadow: none;
border: 0;
border-radius: 10px;
border-radius: 4px;
backdrop-filter: none;
-webkit-backdrop-filter: none;
overflow: hidden;
@@ -179,9 +179,8 @@
display: grid;
grid-template-rows: auto minmax(0, 1fr);
transform: none;
border-radius: 10px;
background:
linear-gradient(180deg, #f8fbff 0%, #edf5ff 100%);
border-radius: 4px;
background: #f6f9fc;
box-shadow:
0 28px 72px rgba(15, 23, 42, 0.22),
0 10px 28px rgba(15, 23, 42, 0.09),
@@ -217,7 +216,7 @@
align-items: center;
justify-content: center;
padding: 0 14px;
border-radius: 999px;
border-radius: 4px;
background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-active));
color: #fff;
font-size: var(--wb-fs-badge);
@@ -290,7 +289,7 @@
place-items: center;
padding: 0;
border: 1px solid rgba(248, 113, 113, 0.28);
border-radius: 14px;
border-radius: 4px;
flex: none;
}
@@ -342,7 +341,7 @@
padding: 0;
flex: none;
border: 1px solid rgba(193, 204, 216, 0.92);
border-radius: 14px;
border-radius: 4px;
background: rgba(248, 251, 251, 0.94);
color: #475569;
font-size: 16px;
@@ -375,7 +374,7 @@
align-items: center;
justify-content: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: #f1f5f9;
color: #64748b;
font-size: 11px;
@@ -405,7 +404,7 @@
place-items: center;
padding: 0;
border: 1px solid rgba(203, 213, 225, 0.86);
border-radius: 12px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.92);
color: #475569;
font-size: 16px;
@@ -493,7 +492,7 @@
gap: 7px;
padding: 13px 14px;
border: 1px solid #e5edf5;
border-radius: 12px;
border-radius: 4px;
background: #fff;
box-shadow: 0 8px 22px rgba(226, 232, 240, 0.34);
}
@@ -531,7 +530,7 @@
display: inline-flex;
align-items: center;
padding: 0 9px;
border-radius: 999px;
border-radius: 4px;
background: #f1f5f9;
color: #64748b;
font-size: 11px;
@@ -563,7 +562,6 @@
font-variant-numeric: tabular-nums;
}
.flow-step-tool,
.flow-step-detail,
.flow-step-error {
margin: 0;
@@ -632,7 +630,7 @@
min-width: 0;
min-height: 0;
border: 1px solid rgba(189, 201, 214, 0.74);
border-radius: 16px;
border-radius: 4px;
background: #ffffff;
box-shadow:
0 14px 32px rgba(148, 163, 184, 0.16),
@@ -646,8 +644,7 @@
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
overflow: hidden;
background:
linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
background: #ffffff;
transition:
transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
@@ -715,7 +712,7 @@
gap: 6px;
padding: 0 13px;
border: 1px solid rgba(219, 230, 240, 0.9);
border-radius: 8px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.95);
color: #334155;
font-size: 13px;
@@ -812,7 +809,7 @@
max-width: min(100%, 720px);
padding: 12px 14px;
border: 1px solid rgba(210, 220, 230, 0.94);
border-radius: 20px;
border-radius: 4px;
background: rgba(253, 254, 254, 0.94);
color: #24324a;
font-size: var(--wb-fs-bubble);
@@ -940,7 +937,7 @@
margin-top: 12px;
overflow: hidden;
border: 1px solid #d7e4f2;
border-radius: 8px;
border-radius: 4px;
background: #ffffff;
color: #334155;
font-size: var(--wb-fs-bubble);
@@ -1113,7 +1110,7 @@
.message-answer-markdown :deep(blockquote) {
padding: 8px 10px;
border-left: 3px solid #cbd5e1;
border-radius: 0 10px 10px 0;
border-radius: 0 4px 4px 0;
background: rgba(248, 250, 252, 0.84);
color: #475569;
}
@@ -1123,7 +1120,7 @@
padding: 12px 14px;
border: 1px solid #dbe4ee;
border-left: 4px solid #2563eb;
border-radius: 8px;
border-radius: 4px;
background: #f8fafc;
color: #334155;
}
@@ -1152,7 +1149,7 @@
.message-answer-markdown :deep(code) {
padding: 2px 6px;
border-radius: 6px;
border-radius: 4px;
background: #e2e8f0;
font-size: 12px;
}
@@ -1160,7 +1157,7 @@
.message-answer-markdown :deep(pre) {
overflow-x: auto;
padding: 12px;
border-radius: 14px;
border-radius: 4px;
background: #0f172a;
color: #e2e8f0;
}
@@ -1218,7 +1215,7 @@
margin: 8px 0 10px;
overflow-x: auto;
border: 1px solid #dbe4ee;
border-radius: 10px;
border-radius: 4px;
background: #fff;
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}
@@ -1262,13 +1259,6 @@
border-bottom: 0;
}
.message-meta-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 10px;
}
.message-suggested-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -1276,7 +1266,7 @@
margin-top: 14px;
padding: 10px;
border: 1px solid rgba(203, 213, 225, 0.72);
border-radius: 14px;
border-radius: 4px;
background:
linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(255, 255, 255, 0.98));
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
@@ -1291,7 +1281,7 @@
gap: 10px;
padding: 12px 11px;
border: 1px solid rgba(203, 213, 225, 0.8);
border-radius: 10px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.9);
color: #0f172a;
text-align: left;
@@ -1309,7 +1299,7 @@
height: 34px;
display: grid;
place-items: center;
border-radius: 10px;
border-radius: 4px;
background: #f1f5f9;
color: var(--theme-primary-active);
font-size: 18px;
@@ -1396,7 +1386,6 @@
opacity: 1;
}
.message-meta-chip,
.capability-chip,
.risk-chip,
.message-risk-chip,
@@ -1405,35 +1394,16 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
font-size: var(--wb-fs-chip);
font-weight: 800;
}
.message-meta-chip,
.capability-chip {
background: #eef6ff;
color: #1d4ed8;
}
.message-meta-chip.high {
background: #fef2f2;
color: #dc2626;
border: 1px solid #fecaca;
}
.message-meta-chip.medium {
background: #fffbeb;
color: #b45309;
border: 1px solid #fde68a;
}
.message-meta-chip.low {
background: #eff6ff;
color: #1d4ed8;
border: 1px solid #bfdbfe;
}
.risk-chip,
.message-risk-chip {
background: #fff1f2;
@@ -1460,7 +1430,7 @@
.message-citation-disclosure {
overflow: hidden;
border: 1px solid #dbe4ee;
border-radius: 16px;
border-radius: 4px;
background: #fbfdff;
}
@@ -1531,7 +1501,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
font-size: 11px;
font-weight: 800;
background: #eef2ff;
@@ -1571,7 +1541,7 @@
gap: 10px;
padding: 10px 12px;
border: 1px solid #dbe4ee;
border-radius: 14px;
border-radius: 4px;
background: #fbfdff;
cursor: pointer;
font: inherit;
@@ -1646,7 +1616,7 @@
display: inline-flex;
align-items: center;
padding: 0 8px;
border-radius: 999px;
border-radius: 4px;
font-size: 10px;
font-weight: 800;
background: #f1f5f9;
@@ -1698,7 +1668,7 @@
gap: 5px;
padding: 0 8px;
border: 1px solid #fecaca;
border-radius: 999px;
border-radius: 4px;
background: #fff7ed;
color: #9a3412;
font: inherit;
@@ -1763,7 +1733,7 @@
align-items: center;
justify-content: center;
border: 1px solid #dbe4ee;
border-radius: 999px;
border-radius: 4px;
background: #fff;
color: #475569;
transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
@@ -1808,7 +1778,7 @@
gap: 10px;
padding: 0 14px;
border: 1px dashed #dbe4ee;
border-radius: 16px;
border-radius: 4px;
color: #64748b;
font-size: 12px;
font-weight: 700;
@@ -1845,7 +1815,7 @@
.action-card {
padding: 12px 14px;
border: 1px solid #e2e8f0;
border-radius: 16px;
border-radius: 4px;
background: #f8fbff;
}
@@ -1887,8 +1857,8 @@
margin-top: 12px;
padding: 12px 14px;
border: 1px solid #dbe3ec;
border-radius: 16px;
background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
border-radius: 4px;
background: #ffffff;
}
.draft-preview header {
@@ -1931,7 +1901,7 @@
gap: 6px;
padding: 0 10px;
border: 0;
border-radius: 999px;
border-radius: 4px;
background: #f1f5f9;
color: #475569;
font-size: 12px;
@@ -1990,7 +1960,7 @@
gap: 12px;
padding: 14px;
border: 1px solid rgba(203, 213, 225, 0.92);
border-radius: 16px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.98);
box-shadow:
0 18px 40px rgba(15, 23, 42, 0.16),
@@ -2007,7 +1977,7 @@
gap: 12px;
padding: 14px;
border: 1px solid rgba(203, 213, 225, 0.92);
border-radius: 16px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.98);
box-shadow:
0 18px 40px rgba(15, 23, 42, 0.16),

View File

@@ -653,6 +653,32 @@
font-weight: 850;
}
.related-application-facts {
margin-top: 0;
}
.related-application-empty {
display: grid;
gap: 6px;
padding: 13px 14px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #f8fafc;
}
.related-application-empty strong {
color: #334155;
font-size: 13px;
font-weight: 850;
}
.related-application-empty p {
margin: 0;
color: #64748b;
font-size: 12px;
line-height: 1.6;
}
.detail-note-editor {
display: grid;
gap: 10px;