feat: 引入 ECharts 统一图表并完善员工画像标签分页

后端优化员工行为画像服务和辅助函数,完善系统设置模型和
配置持久化,前端引入 ECharts 替换所有图表组件实现统一
渲染,新增员工画像标签分页器和数字员工工作记录组件,优
化工作台响应式布局和登录页过渡动画,完善预算中心和数字
员工页面样式细节。
This commit is contained in:
caoxiaozhu
2026-05-28 16:24:59 +08:00
parent 8a4a777be7
commit e384318046
53 changed files with 4698 additions and 2468 deletions

View File

@@ -20,9 +20,9 @@
max-height: calc(100vh - 56px);
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
border-radius: 8px;
border-radius: 4px;
background: #fff;
box-shadow: 0 24px 72px rgba(15, 23, 42, .28);
box-shadow: 0 18px 54px rgba(15, 23, 42, .2);
overflow: hidden;
}
@@ -47,7 +47,7 @@
display: grid;
place-items: center;
border: 0;
border-radius: 8px;
border-radius: 4px;
background: transparent;
color: #64748b;
font-size: 20px;
@@ -118,7 +118,7 @@
.budget-edit-table input {
width: 100%;
border: 1px solid #dbe4ee;
border-radius: 6px;
border-radius: 4px;
background: #fff;
color: #111827;
font-size: 14px;
@@ -161,7 +161,7 @@
.budget-edit-table-wrap {
border: 1px solid #edf1f6;
border-radius: 8px;
border-radius: 4px;
overflow-x: auto;
overflow-y: auto;
flex: 1;
@@ -229,7 +229,7 @@
display: inline-grid;
place-items: center;
border: 0;
border-radius: 8px;
border-radius: 4px;
background: transparent;
color: #64748b;
font-size: 18px;
@@ -249,7 +249,7 @@
align-items: center;
gap: 5px;
border: 1px solid rgba(var(--theme-primary-rgb), .42);
border-radius: 6px;
border-radius: 4px;
background: #fff;
color: var(--theme-primary-active);
font-size: 13px;
@@ -267,7 +267,7 @@
gap: 12px;
align-items: center;
border: 1px solid #edf1f6;
border-radius: 8px;
border-radius: 4px;
background: #fbfcfe;
flex-shrink: 0;
}
@@ -297,7 +297,7 @@
.budget-edit-foot button {
height: 36px;
min-width: 96px;
border-radius: 8px;
border-radius: 4px;
font-size: 13px;
font-weight: 800;
cursor: pointer;
@@ -317,9 +317,9 @@
.budget-edit-publish {
border: 0;
background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-active));
background: var(--theme-primary-active);
color: #fff;
box-shadow: 0 10px 24px var(--theme-primary-shadow);
box-shadow: none;
}
.budget-dialog-fade-enter-active,
@@ -329,7 +329,7 @@
.budget-dialog-fade-enter-active .budget-edit-dialog,
.budget-dialog-fade-leave-active .budget-edit-dialog {
transition: transform 200ms ease, opacity 180ms ease;
transition: transform 220ms cubic-bezier(.2, .8, .2, 1), opacity 180ms ease;
}
.budget-dialog-fade-enter-from,
@@ -340,7 +340,7 @@
.budget-dialog-fade-enter-from .budget-edit-dialog,
.budget-dialog-fade-leave-to .budget-edit-dialog {
opacity: 0;
transform: translateY(12px);
transform: scale3d(.96, .96, 1);
}
@media (max-width: 860px) {

View File

@@ -22,7 +22,7 @@
flex-direction: column;
border: 1px solid #dbe4ee;
border-left: 3px solid var(--accent);
border-radius: 8px;
border-radius: 4px;
background: #fff;
box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
animation: dashboardItemIn 520ms var(--ease) both;
@@ -31,7 +31,7 @@
}
.budget-summary-card:hover {
box-shadow: 0 4px 20px rgba(0, 0, 0, .06);
box-shadow: 0 4px 12px rgba(15, 23, 42, .055);
transform: translateY(-1px);
}
@@ -58,7 +58,7 @@
.summary-icon {
width: 26px;
height: 26px;
border-radius: 7px;
border-radius: 4px;
display: grid;
place-items: center;
background: color-mix(in srgb, var(--accent) 10%, white);
@@ -145,7 +145,7 @@
.budget-filter-bar {
border: 1px solid #e2e8f0;
border-radius: 8px;
border-radius: 4px;
background: #fff;
padding: 14px 16px;
display: flex;
@@ -180,8 +180,8 @@
.budget-primary-btn {
min-height: 40px;
border: 0;
border-radius: 8px;
background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-active));
border-radius: 4px;
background: var(--theme-primary-active);
color: #fff;
padding: 0 18px;
display: inline-flex;
@@ -192,20 +192,19 @@
font-weight: 800;
white-space: nowrap;
cursor: pointer;
box-shadow: 0 10px 24px var(--theme-primary-shadow);
transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
box-shadow: none;
transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.budget-primary-btn:hover {
transform: translateY(-1px);
box-shadow: 0 14px 28px rgba(var(--theme-primary-rgb), .24);
filter: saturate(1.02);
background: var(--theme-primary-hover);
box-shadow: none;
}
.budget-ghost-btn {
min-height: 38px;
border: 1px solid #d7e0ea;
border-radius: 8px;
border-radius: 4px;
background: #fff;
color: #334155;
padding: 0 14px;
@@ -217,13 +216,13 @@
font-weight: 750;
white-space: nowrap;
cursor: pointer;
transition: border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}
.budget-ghost-btn:hover {
border-color: rgba(var(--theme-primary-rgb), .32);
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
box-shadow: 0 1px 4px rgba(15, 23, 42, .08);
}
.budget-work-grid {
@@ -241,7 +240,7 @@
.budget-chart-panel,
.budget-alert-panel {
border: 1px solid #e5eaf1;
border-radius: 8px;
border-radius: 4px;
background: #fff;
overflow: hidden;
}
@@ -266,66 +265,25 @@
}
.budget-table-search {
position: relative;
width: min(260px, 42%);
min-width: 190px;
display: flex;
align-items: center;
}
.budget-table-search i {
position: absolute;
left: 11px;
color: #94a3b8;
font-size: 15px;
pointer-events: none;
}
.budget-table-search input {
width: 100%;
height: 32px;
border: 1px solid #dbe4ee;
border-radius: 6px;
padding: 0 11px 0 32px;
background: #fff;
color: #1f2937;
font-size: 13px;
font-weight: 650;
outline: none;
transition: border-color 160ms ease, box-shadow 160ms ease;
}
.budget-table-search input::placeholder {
color: #94a3b8;
font-weight: 500;
}
.budget-table-search input:focus {
border-color: rgba(var(--theme-primary-rgb), .48);
box-shadow: 0 0 0 3px rgba(var(--theme-primary-rgb), .1);
}
.department-search {
position: relative;
.department-search-input {
width: calc(100% - 28px);
margin: 12px 14px 8px;
}
.department-search i {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
color: #9aa5b5;
.budget-table-search :deep(.el-input__wrapper),
.department-search-input :deep(.el-input__wrapper) {
min-height: 34px;
border-radius: 4px;
background: #fff;
}
.department-search input {
width: 100%;
height: 36px;
border: 1px solid #e2e8f0;
border-radius: 5px;
padding: 0 12px 0 34px;
background: #fff;
color: #1f2937;
.budget-table-search :deep(.el-input__prefix),
.department-search-input :deep(.el-input__prefix) {
color: #94a3b8;
}
.department-list {
@@ -334,73 +292,107 @@
padding: 8px 12px 16px;
}
.department-list button {
.department-switch-btn {
width: 100%;
height: 38px;
border: 0;
border-radius: 5px;
border-radius: 4px;
background: transparent;
color: #4b5563;
padding: 0 12px;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 10px;
font-size: 14px;
font-weight: 700;
text-align: left;
margin-left: 0;
transition:
background 160ms ease,
color 160ms ease;
}
.department-list button.active {
.department-switch-btn.active {
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
}
.department-switch-btn + .department-switch-btn {
margin-left: 0;
}
.budget-table-wrap {
overflow-x: auto;
}
.budget-table-panel table {
width: 100%;
min-width: 1460px;
border-collapse: collapse;
overflow-x: auto;
padding-bottom: 8px;
}
.budget-table-panel th,
.budget-table-panel td {
padding: 13px 18px;
border-bottom: 1px solid #edf1f6;
border-right: 1px solid #edf1f6;
.budget-data-table {
width: 100%;
min-width: 1540px;
}
.budget-table-wrap :deep(.el-table) {
--el-table-border-color: #edf1f6;
--el-table-header-bg-color: #f8fafc;
--el-table-row-hover-bg-color: var(--theme-primary-soft);
--el-table-current-row-bg-color: var(--theme-primary-soft);
color: #273142;
font-size: 14px;
text-align: center;
white-space: nowrap;
}
.budget-table-panel th:last-child,
.budget-table-panel td:last-child {
border-right: 0;
.budget-table-wrap :deep(.el-table .el-scrollbar__bar.is-horizontal) {
display: none !important;
}
.budget-table-panel th {
background: #fafbfd;
.budget-table-wrap :deep(.el-table__inner-wrapper::before),
.budget-table-wrap :deep(.el-table__border-left-patch) {
display: none;
}
.budget-table-wrap :deep(.el-table th.el-table__cell) {
background: #f8fafc;
color: #1f2937;
font-weight: 800;
}
.budget-table-wrap :deep(.el-table td.el-table__cell) {
color: #273142;
}
.budget-table-wrap :deep(.el-table .cell) {
padding: 0 12px;
white-space: nowrap;
}
.budget-table-wrap :deep(.el-table--border .el-table__cell) {
border-right-color: #edf1f6;
}
.budget-rate {
width: 96px;
display: grid;
gap: 6px;
width: 100%;
max-width: 110px;
display: flex;
align-items: center;
gap: 8px;
margin: 0 auto;
}
.budget-rate span {
flex: 0 0 auto;
color: #273142;
font-size: 13px;
font-variant-numeric: tabular-nums;
text-align: right;
min-width: 32px;
}
.budget-rate div {
flex: 1;
min-width: 0;
height: 6px;
border-radius: 999px;
border-radius: 4px;
background: #e9edf3;
overflow: hidden;
}
@@ -423,26 +415,21 @@
background: var(--danger);
}
.budget-threshold-cell {
padding-left: 12px !important;
padding-right: 12px !important;
}
.budget-threshold-badge {
min-width: 58px;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 4px 9px;
border-radius: 999px;
border-radius: 4px;
font-size: 12px;
font-weight: 800;
line-height: 1.2;
}
.budget-threshold-badge.reminder {
background: rgba(37, 99, 235, .1);
color: #2563eb;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
}
.budget-threshold-badge.alert {
@@ -476,35 +463,37 @@
gap: 6px;
padding: 4px;
border: 1px solid #e2e8f0;
border-radius: 12px;
border-radius: 4px;
background: #f8fafc;
}
.budget-pager button {
width: 32px;
.budget-pager :deep(.btn-prev),
.budget-pager :deep(.btn-next),
.budget-pager :deep(.el-pager li) {
min-width: 32px;
height: 32px;
border: 0;
border-radius: 9px;
border-radius: 4px;
background: transparent;
color: #334155;
font-size: 14px;
font-weight: 800;
transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
transition: background 160ms ease, color 160ms ease;
}
.budget-pager button:hover:not(.active):not(:disabled) {
.budget-pager :deep(.btn-prev:hover:not(:disabled)),
.budget-pager :deep(.btn-next:hover:not(:disabled)),
.budget-pager :deep(.el-pager li:hover:not(.is-active)) {
background: #fff;
color: var(--theme-primary-active);
box-shadow: 0 1px 4px rgba(15, 23, 42, .08);
}
.budget-pager button.active {
.budget-pager :deep(.el-pager li.is-active) {
background: var(--theme-primary-active);
color: #fff;
box-shadow: 0 8px 16px var(--theme-primary-shadow);
}
.budget-pager button:disabled {
.budget-pager :deep(.btn-prev:disabled),
.budget-pager :deep(.btn-next:disabled) {
color: #94a3b8;
cursor: not-allowed;
}
@@ -518,7 +507,7 @@
gap: 9px;
padding: 0 14px;
border: 1px solid #d7e0ea;
border-radius: 10px;
border-radius: 4px;
background: #fff;
color: #334155;
font-size: 14px;
@@ -539,14 +528,20 @@
gap: 10px;
}
.budget-card-head button {
border: 0;
background: transparent;
.budget-link-btn {
height: 30px;
padding: 0 8px;
border-radius: 4px;
color: var(--theme-primary-active);
font-size: 14px;
font-weight: 800;
}
.budget-link-btn:hover {
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
}
.budget-chart-legend {
display: flex;
align-items: center;
@@ -603,7 +598,7 @@
.budget-alert-empty-icon {
width: 44px;
height: 44px;
border-radius: 8px;
border-radius: 4px;
display: grid;
place-items: center;
background: var(--theme-primary-soft);
@@ -641,7 +636,7 @@
.budget-alert-row i {
width: 8px;
height: 8px;
border-radius: 999px;
border-radius: 2px;
}
.budget-alert-row i.danger {

View File

@@ -7,6 +7,10 @@
height: 100%;
}
.digital-employees-list > .status-tabs {
flex: 0 0 auto;
}
.digital-employees-list .table-wrap {
min-height: 0;
}
@@ -73,6 +77,10 @@
color: #ea580c;
}
.digital-work-records-section {
min-height: 0;
}
@media (max-width: 980px) {
.digital-employees-table {
min-width: 1040px;

View File

@@ -604,7 +604,7 @@ tbody tr:last-child td {
height: 38px;
display: grid;
place-items: center;
border-radius: 11px;
border-radius: 999px;
background: var(--theme-gradient-primary);
color: #fff;
font-size: 13px;
@@ -714,7 +714,7 @@ tbody tr:last-child td {
height: 64px;
display: grid;
place-items: center;
border-radius: var(--employee-detail-radius);
border-radius: 999px;
background: var(--theme-gradient-primary);
color: #fff;
font-size: 24px;

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
.validation-pill.pending {
.validation-pill.pending {
background: #fff7ed;
border-color: #fed7aa;
color: #c2410c;
@@ -50,7 +50,7 @@
content: '';
width: 6px;
height: 6px;
border-radius: 999px;
border-radius: 4px;
background: var(--success);
box-shadow: 0 0 0 3px rgba(var(--success-rgb), 0.12);
}
@@ -96,7 +96,7 @@
display: inline-flex;
align-items: center;
padding: 0 8px;
border-radius: 999px;
border-radius: 4px;
background: #fef2f2;
color: #b91c1c;
font-size: 10px;
@@ -140,7 +140,7 @@
display: grid;
gap: 4px;
padding: 8px 9px;
border-radius: 8px;
border-radius: 4px;
background: #f8fafc;
}
@@ -172,7 +172,7 @@
display: inline-flex;
align-items: center;
padding: 0 9px;
border-radius: 999px;
border-radius: 4px;
background: #fee2e2;
color: #b91c1c;
font-size: 11px;
@@ -221,7 +221,7 @@
display: grid;
gap: 6px;
padding: 10px;
border-radius: 8px;
border-radius: 4px;
background: rgba(255, 255, 255, .72);
}
@@ -267,7 +267,7 @@
max-height: 960px;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
border-radius: 28px;
border-radius: 4px;
background: #f8fafc;
box-shadow:
0 0 0 1px rgba(15, 23, 42, .08),
@@ -286,7 +286,7 @@
justify-content: space-between;
gap: 20px;
padding: 24px 28px;
background: linear-gradient(135deg, #fff 0%, #f9fbff 100%);
background: #fff;
border-bottom: 1px solid #e8eef6;
}
@@ -298,7 +298,7 @@
.req-badge {
padding: 6px 14px;
border-radius: 999px;
border-radius: 4px;
background: #eff6ff;
border: 1px solid rgba(29, 78, 216, .16);
color: #1d4ed8;
@@ -332,7 +332,7 @@
display: grid;
place-items: center;
border: 1px solid #e2e8f0;
border-radius: 999px;
border-radius: 4px;
background: #fff;
color: #64748b;
font-size: 18px;
@@ -363,7 +363,7 @@
.ai-chat-card,
.ai-preview-card {
min-height: 0;
border-radius: 22px;
border-radius: 4px;
background: #fff;
border: 1px solid #edf2f7;
box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
@@ -382,9 +382,7 @@
gap: 12px;
padding: 18px;
overflow: auto;
background:
linear-gradient(180deg, color-mix(in srgb, var(--theme-primary-soft) 55%, transparent) 0%, rgba(255, 255, 255, 0) 140px),
#fff;
background: #fff;
}
.ai-chat-bubble {
@@ -423,7 +421,7 @@
.ai-chat-content {
max-width: min(100%, 640px);
padding: 12px 14px;
border-radius: 18px;
border-radius: 4px;
background: #f8fafc;
border: 1px solid #edf2f7;
}
@@ -449,7 +447,7 @@
gap: 12px;
padding: 14px 16px 16px;
border-top: 1px solid #edf2f7;
background: linear-gradient(180deg, #fff, #fbfdff);
background: #fff;
}
.ai-file-input {
@@ -464,8 +462,8 @@
gap: 12px;
padding: 8px 8px 8px 14px;
border: 1px solid #cbd8e5;
border-radius: 22px;
background: linear-gradient(180deg, #fff, #fbfdff);
border-radius: 4px;
background: #fff;
box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
@@ -514,7 +512,7 @@
gap: 6px;
min-height: 32px;
padding: 0 12px;
border-radius: 999px;
border-radius: 4px;
background: #eef6ff;
border: 1px solid #d7e8fb;
color: #334155;
@@ -533,7 +531,7 @@
display: grid;
place-items: center;
padding: 0;
border-radius: 12px;
border-radius: 4px;
font-size: 20px;
transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, color 160ms ease;
}
@@ -602,7 +600,7 @@
.preview-field {
padding: 12px 14px;
border-radius: 18px;
border-radius: 4px;
background: #f8fafc;
border: 1px solid #edf2f7;
}
@@ -643,7 +641,7 @@
gap: 10px;
padding: 24px;
border: 1px dashed #cbd5e1;
border-radius: 20px;
border-radius: 4px;
color: #94a3b8;
text-align: center;
}
@@ -667,7 +665,7 @@
justify-content: center;
gap: 7px;
padding: 0 20px;
border-radius: 999px;
border-radius: 4px;
font-size: 13px;
font-weight: 800;
transition: all 180ms ease;
@@ -893,7 +891,7 @@
width: min(calc(100vw - 28px), 920px);
max-height: calc(100vh - 28px);
padding: 18px;
border-radius: 20px;
border-radius: 4px;
}
.attachment-preview-head {
@@ -950,7 +948,7 @@
display: inline-flex;
align-items: center;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
border: 1px solid transparent;
font-size: 11px;
font-weight: 800;

View File

@@ -1,4 +1,4 @@
.approval-page {
.approval-page {
width: 100%;
height: 100%;
min-height: 0;
@@ -35,17 +35,14 @@
gap: 10px;
padding: 18px 24px 18px;
border: 1px solid #edf2f7;
background:
radial-gradient(circle at 100% 100%, rgba(45, 212, 191, .18), transparent 18%),
radial-gradient(circle at 92% 92%, rgba(125, 211, 252, .14), transparent 24%),
linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
background: #fff;
overflow: visible;
}
.progress-card {
padding: 18px 22px 20px;
border: 1px solid #edf2f7;
background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
background: #fff;
}
.hero-banner {
@@ -75,7 +72,7 @@
overflow: hidden;
border: 1px solid #e2e8f0;
border-radius: 999px;
background: linear-gradient(180deg, #eff6ff 0%, #ecfeff 100%);
background: #f8fafc;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}
@@ -111,7 +108,7 @@
align-items: center;
min-height: 24px;
padding: 0 9px;
border-radius: 999px;
border-radius: 4px;
background: var(--theme-primary-soft);
border: 1px solid rgba(var(--theme-primary-rgb), .16);
color: var(--theme-primary-active);
@@ -156,7 +153,7 @@
}
.applicant-profile-meta__role .applicant-meta-item + .applicant-meta-item::before {
content: "";
content: "/";
position: absolute;
left: -10px;
color: #cbd5e1;
@@ -401,7 +398,7 @@
justify-content: center;
padding: 0 9px;
border: 1px solid #e2e8f0;
border-radius: 999px;
border-radius: 4px;
background: #f8fafc;
color: #64748b;
font-size: 11px;
@@ -525,7 +522,7 @@
gap: 6px;
padding: 0 14px;
border: 1px solid #dbe4ee;
border-radius: 999px;
border-radius: 4px;
background: #f8fafc;
color: #0f172a;
font-size: 13px;
@@ -552,7 +549,7 @@
min-width: 102px;
min-height: 34px;
padding: 0 12px;
border-radius: 999px;
border-radius: 4px;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
font-size: 14px;
@@ -564,7 +561,7 @@
min-height: 84px;
resize: none;
border: 1px solid #d7e0ea;
border-radius: 8px;
border-radius: 4px;
padding: 12px;
font-size: 13px;
line-height: 1.5;
@@ -574,8 +571,8 @@
min-height: 84px;
padding: 12px 14px;
border: 1px solid #d7e0ea;
border-radius: 8px;
background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
border-radius: 4px;
background: #f8fafc;
color: #334155;
font-size: 13px;
line-height: 1.7;
@@ -598,7 +595,7 @@
margin-top: 4px;
overflow: hidden;
border: 1px solid #e2e8f0;
border-radius: 8px;
border-radius: 4px;
background: #fff;
}
@@ -751,7 +748,7 @@
gap: 8px;
padding: 12px 14px;
border: 1px solid #dbe4ee;
border-radius: 8px;
border-radius: 4px;
background: #ffffff;
}
@@ -920,7 +917,7 @@
min-height: 34px;
padding: 0 10px;
border: 1px solid #d7e0ea;
border-radius: 8px;
border-radius: 4px;
background: #fff;
color: #0f172a;
font-size: 12px;
@@ -938,7 +935,7 @@
display: grid;
place-items: center;
border: 1px solid #d7e0ea;
border-radius: 8px;
border-radius: 4px;
background: #f8fafc;
color: #334155;
font-size: 12px;
@@ -1008,7 +1005,7 @@
align-items: center;
margin-top: 6px;
padding: 2px 8px;
border-radius: 999px;
border-radius: 4px;
font-size: 11px;
font-weight: 800;
white-space: nowrap;
@@ -1032,7 +1029,7 @@
margin-top: 12px;
padding: 12px 14px;
border: 1px solid rgba(var(--theme-primary-rgb), .22);
border-radius: 8px;
border-radius: 4px;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
}
@@ -1090,7 +1087,7 @@
align-items: center;
justify-content: center;
padding: 4px 10px;
border-radius: 999px;
border-radius: 4px;
font-size: 11px;
font-weight: 700;
line-height: 1.2;
@@ -1142,7 +1139,7 @@
justify-content: center;
width: 30px;
height: 30px;
border-radius: 999px;
border-radius: 4px;
font-size: 14px;
font-weight: 800;
}
@@ -1179,7 +1176,7 @@
min-height: 28px;
padding: 0 10px;
border: 1px solid #dbe4ee;
border-radius: 999px;
border-radius: 4px;
background: #fff;
color: #334155;
font-size: 11px;
@@ -1232,7 +1229,7 @@
gap: 5px;
min-height: 28px;
padding: 0 9px;
border-radius: 8px;
border-radius: 4px;
background: var(--success-soft);
color: var(--success-hover);
font-size: 11px;
@@ -1247,7 +1244,7 @@
gap: 5px;
min-height: 28px;
padding: 0 9px;
border-radius: 8px;
border-radius: 4px;
background: var(--success-soft);
color: var(--success-hover);
font-size: 11px;
@@ -1339,10 +1336,8 @@
gap: 14px;
padding: 22px;
border: 1px solid rgba(var(--theme-primary-rgb), .14);
border-radius: 24px;
background:
radial-gradient(circle at top left, rgba(var(--theme-primary-rgb), .12), transparent 36%),
linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 252, .98));
border-radius: 4px;
background: #fff;
box-shadow: 0 28px 56px rgba(15, 23, 42, .2);
}
@@ -1368,7 +1363,7 @@
align-items: center;
justify-content: center;
border: 1px solid #d7e0ea;
border-radius: 999px;
border-radius: 4px;
background: rgba(255, 255, 255, .9);
color: #475569;
}
@@ -1391,7 +1386,7 @@
align-items: center;
min-height: 28px;
padding: 0 10px;
border-radius: 999px;
border-radius: 4px;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
font-size: 12px;
@@ -1420,9 +1415,9 @@
.attachment-insight-pane {
min-height: 0;
border: 1px solid #e2e8f0;
border-radius: 20px;
border-radius: 4px;
overflow: hidden;
background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
background: #f8fafc;
}
.attachment-source-pane {
@@ -1485,7 +1480,7 @@
display: grid;
gap: 8px;
padding: 12px;
border-radius: 14px;
border-radius: 4px;
background: #f8fafc;
}
@@ -1504,7 +1499,7 @@
gap: 6px;
padding: 10px;
border: 1px solid #fee2e2;
border-radius: 12px;
border-radius: 4px;
background: #fff7f7;
}
@@ -1572,7 +1567,7 @@
align-items: center;
justify-content: center;
gap: 6px;
border-radius: 8px;
border-radius: 4px;
font-size: 13px;
font-weight: 760;
}
@@ -1632,7 +1627,7 @@
gap: 8px;
padding: 12px 14px;
border: 1px solid #e2e8f0;
border-radius: 8px;
border-radius: 4px;
background: #f8fafc;
}
@@ -1681,7 +1676,7 @@
align-items: center;
justify-content: center;
border: 1px solid #e2e8f0;
border-radius: 999px;
border-radius: 4px;
background: #fff;
color: #475569;
}
@@ -1696,7 +1691,7 @@
gap: 10px;
padding: 12px;
border: 1px solid #fecaca;
border-radius: 10px;
border-radius: 4px;
background: #fffafa;
}
@@ -1713,7 +1708,7 @@
display: inline-flex;
align-items: center;
padding: 0 8px;
border-radius: 999px;
border-radius: 4px;
background: #fef2f2;
color: #dc2626;
font-size: 11px;
@@ -1759,7 +1754,7 @@
gap: 8px;
padding: 12px 12px 11px;
border: 1px solid #e5e7eb;
border-radius: 10px;
border-radius: 4px;
background: #ffffff;
box-shadow: 0 1px 1px rgba(15, 23, 42, 0.03);
}