feat(ui): restore reference mini program and admin design

This commit is contained in:
2026-08-13 10:58:04 +08:00
parent 9622d249be
commit 58787e738a
26 changed files with 1027 additions and 329 deletions
+259 -5
View File
@@ -1,5 +1,12 @@
:root {
--color-primary: #ff6b35;
--primitive-orange-500: #ff6b35;
--primitive-orange-600: #e95a28;
--primitive-navy-900: #202c38;
--primitive-navy-800: #293746;
--primitive-gray-50: #f5f7f9;
--primitive-gray-200: #e4e8ec;
--primitive-white: #fff;
--color-primary: var(--primitive-orange-500);
--color-primary-hover: #e95a28;
--color-primary-soft: #fff1eb;
--color-text: #1f2329;
@@ -8,10 +15,10 @@
--color-success: #237a2b;
--color-warning: #8a5a00;
--color-info: #145ea8;
--color-surface: #fff;
--color-background: #f5f5f5;
--color-border: #d9dce1;
--color-sidebar: #263342;
--color-surface: var(--primitive-white);
--color-background: var(--primitive-gray-50);
--color-border: var(--primitive-gray-200);
--color-sidebar: var(--primitive-navy-900);
--focus-ring: 0 0 0 3px rgb(255 107 53 / 28%);
color: var(--color-text);
background: var(--color-background);
@@ -211,6 +218,7 @@ input[aria-invalid='true'] {
overflow-y: auto;
}
.nav-item {
display: flex;
width: 100%;
min-height: 48px;
padding: 10px 14px;
@@ -219,6 +227,15 @@ input[aria-invalid='true'] {
color: #e8edf2;
background: transparent;
text-align: left;
align-items: center;
gap: 12px;
}
.admin-icon {
width: 19px;
height: 19px;
flex: 0 0 auto;
fill: currentColor;
opacity: 0.9;
}
.nav-item--active {
color: #fff;
@@ -246,6 +263,234 @@ input[aria-invalid='true'] {
font-size: 13px;
line-height: 1.6;
}
.page-kicker {
margin: 0 0 6px !important;
color: var(--color-primary) !important;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
}
.dashboard-summary .summary-card {
border: 0;
border-top: 3px solid var(--color-primary);
box-shadow: 0 5px 18px rgb(28 39 51 / 7%);
}
.dashboard-summary .summary-card:nth-child(2) {
border-color: #378fe8;
}
.dashboard-summary .summary-card:nth-child(3) {
border-color: #42af57;
}
.dashboard-summary .summary-card:nth-child(4) {
border-color: #ffb13b;
}
.dashboard-charts {
display: grid;
margin-bottom: 20px;
grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.8fr);
gap: 20px;
}
.chart-panel {
min-height: 360px;
}
.panel-heading {
display: flex;
margin-bottom: 20px;
align-items: flex-start;
justify-content: space-between;
gap: 20px;
}
.panel-heading h2 {
margin: 0 0 5px;
}
.panel-heading p,
.panel-heading > span {
margin: 0;
color: var(--color-text-secondary);
font-size: 13px;
}
.bar-chart {
display: flex;
height: 220px;
padding: 18px 10px 0;
align-items: stretch;
justify-content: space-around;
gap: 10px;
border-bottom: 1px solid var(--color-border);
background: repeating-linear-gradient(
to bottom,
#eef1f4 0,
#eef1f4 1px,
transparent 1px,
transparent 55px
);
}
.bar-column {
display: flex;
min-width: 36px;
flex: 1;
flex-direction: column;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.bar-values {
display: flex;
width: 100%;
height: 180px;
align-items: flex-end;
justify-content: center;
gap: 5px;
}
.bar {
display: block;
width: min(18px, 35%);
min-height: 5px;
border-radius: 4px 4px 0 0;
}
.bar--application {
background: #4b98ee;
}
.bar--completed {
background: #ff7848;
}
.bar-column small {
color: var(--color-text-secondary);
}
.chart-legend {
display: flex;
margin-top: 18px;
justify-content: center;
gap: 24px;
color: var(--color-text-secondary);
font-size: 13px;
}
.legend-dot {
display: inline-block;
width: 9px;
height: 9px;
margin-right: 7px;
border-radius: 50%;
}
.legend-dot--blue {
background: #4b98ee;
}
.legend-dot--orange {
background: #ff7848;
}
.distribution-list {
display: grid;
gap: 19px;
}
.distribution-list > div > div {
display: flex;
margin-bottom: 7px;
justify-content: space-between;
font-size: 14px;
}
.distribution-list progress {
width: 100%;
height: 8px;
overflow: hidden;
border: 0;
border-radius: 10px;
accent-color: var(--color-primary);
}
.quick-panel {
margin-bottom: 28px;
}
.quick-actions {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
}
.quick-actions button {
display: flex;
min-height: 76px;
padding: 14px;
align-items: center;
gap: 12px;
border: 1px solid var(--color-border);
border-radius: 12px;
color: var(--color-text);
background: #fff;
text-align: left;
}
.quick-actions b {
display: grid;
width: 38px;
height: 38px;
place-items: center;
border-radius: 10px;
color: #fff;
background: var(--color-primary);
}
.quick-actions .blue {
background: #378fe8;
}
.quick-actions .green {
background: #42af57;
}
.quick-actions .gold {
background: #e8a22c;
}
.muted-text {
color: var(--color-text-secondary);
}
.case-stepper {
display: grid;
margin-bottom: 20px;
padding: 24px 32px;
grid-template-columns: repeat(5, 1fr);
border: 1px solid var(--color-border);
border-radius: 14px;
background: #fff;
}
.case-stepper div {
position: relative;
display: flex;
align-items: center;
flex-direction: column;
gap: 8px;
color: var(--color-text-secondary);
font-size: 13px;
}
.case-stepper div:not(:last-child)::after {
position: absolute;
z-index: 0;
top: 14px;
left: calc(50% + 20px);
width: calc(100% - 40px);
height: 2px;
content: '';
background: #dde2e6;
}
.case-stepper i {
position: relative;
z-index: 1;
display: grid;
width: 30px;
height: 30px;
place-items: center;
border: 2px solid #cbd2d8;
border-radius: 50%;
color: #7c858d;
background: #fff;
font-style: normal;
font-weight: 700;
}
.case-stepper .done {
color: #268948;
font-weight: 600;
}
.case-stepper .done i {
border-color: #3daf5c;
color: #fff;
background: #3daf5c;
}
.case-stepper .done:not(:last-child)::after {
background: #78ca8d;
}
.admin-main {
min-width: 0;
}
@@ -742,6 +987,12 @@ button.summary-card:hover {
.summary-grid {
grid-template-columns: 1fr 1fr;
}
.dashboard-charts {
grid-template-columns: 1fr;
}
.quick-actions {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 760px) {
@@ -789,6 +1040,9 @@ button.summary-card:hover {
.summary-grid {
grid-template-columns: 1fr;
}
.quick-actions {
grid-template-columns: 1fr;
}
}
@media (prefers-reduced-motion: reduce) {