@import '../mixins.scss'; .list-hero { @include hero-green; padding: 88rpx 28rpx 44rpx; } .list-hero::after { content: ''; position: absolute; width: 360rpx; height: 360rpx; right: -100rpx; bottom: -140rpx; border-radius: 50%; background: rgba(6, 95, 70, 0.06); pointer-events: none; } .list-hero-copy { position: relative; z-index: 1; margin: 8rpx 4rpx 28rpx; color: var(--header-fg, #065f46); } .list-hero-copy .eyebrow { font-size: 22rpx; letter-spacing: 0.08em; opacity: 0.82; margin-bottom: 8rpx; } .list-hero-copy .title { font-size: 44rpx; font-weight: 700; } .list-hero-copy .subline { margin-top: 12rpx; font-size: 24rpx; opacity: 0.88; display: flex; align-items: center; gap: 16rpx; } .list-hero-copy .subline .em { font-style: normal; font-weight: 700; background: rgba(6, 95, 70, 0.1); border-radius: 999rpx; padding: 2rpx 16rpx; } .list-search { position: relative; z-index: 1; } .list-filter-dock { margin: -28rpx 24rpx 0; position: relative; z-index: 3; background: rgba(255, 255, 255, 0.92); border: 1rpx solid rgba(220, 235, 228, 0.95); border-radius: 36rpx; padding: 20rpx; box-shadow: 0 20rpx 56rpx rgba(15, 55, 40, 0.08); } .seg-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8rpx; padding: 8rpx; border-radius: 28rpx; background: #eef6f2; } .seg-tab { border-radius: 22rpx; padding: 16rpx 8rpx; color: #5f7a6d; display: flex; flex-direction: column; align-items: center; gap: 4rpx; font-size: 24rpx; } .seg-tab .count { font-size: 22rpx; font-weight: 700; color: #9aada4; font-variant-numeric: tabular-nums; } .seg-tab.active { background: #fff; color: var(--brand-green-dark, #16a34a); font-weight: 650; box-shadow: 0 8rpx 24rpx rgba(21, 128, 61, 0.14); } .seg-tab.active .count { color: var(--brand-green, #22c55e); } .list-wrap { padding: 32rpx 24rpx 0; } .biz-card { position: relative; border-radius: 40rpx; margin-bottom: 28rpx; overflow: hidden; box-shadow: 0 20rpx 56rpx rgba(20, 55, 40, 0.08); isolation: isolate; } .biz-card.status-warning { background: linear-gradient(145deg, #fff9ef 0%, #ffffff 46%, #fffaf3 100%); } .biz-card.status-primary { background: linear-gradient(145deg, #eaf8f1 0%, #ffffff 48%, #f3fbf7 100%); } .biz-card.status-danger { background: linear-gradient(145deg, #fff1f1 0%, #ffffff 48%, #fff7f7 100%); } .biz-card.status-success { background: linear-gradient(145deg, #eef8f3 0%, #ffffff 50%, #f6fbf8 100%); } .biz-card .card-inner { position: relative; z-index: 1; padding: 28rpx 28rpx 24rpx; } .biz-card .row-top { display: flex; align-items: flex-start; gap: 20rpx; margin-bottom: 24rpx; } .biz-card .type-icon { width: 88rpx; height: 88rpx; border-radius: 28rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 44rpx; color: #fff; } .biz-card.status-warning .type-icon { background: linear-gradient(145deg, #ffe8b8, #f6d089); color: #7a5610; } .biz-card.status-primary .type-icon { background: linear-gradient(145deg, #86efac, #22c55e); } .biz-card.status-danger .type-icon { background: linear-gradient(145deg, #ffb4b4, #e85a5a); } .biz-card.status-success .type-icon { background: linear-gradient(145deg, #b8efd4, #10b981); } .biz-card .title-wrap { flex: 1; min-width: 0; } .biz-card .type-chip { display: inline-flex; font-size: 20rpx; font-weight: 650; letter-spacing: 0.04em; padding: 4rpx 14rpx; border-radius: 999rpx; margin-bottom: 10rpx; } .biz-card.status-warning .type-chip { background: rgba(214, 163, 67, 0.16); color: #8f6718; } .biz-card.status-primary .type-chip { background: rgba(22, 163, 74, 0.12); color: #22c55e; } .biz-card.status-danger .type-chip { background: rgba(209, 67, 67, 0.12); color: #b13535; } .biz-card.status-success .type-chip { background: rgba(24, 155, 101, 0.12); color: #147a50; } .biz-card .title { font-size: 30rpx; font-weight: 700; line-height: 1.35; color: #173128; } .biz-card .status-pill { flex-shrink: 0; font-size: 22rpx; font-weight: 700; padding: 8rpx 18rpx; border-radius: 999rpx; } .biz-card.status-warning .status-pill { background: #fff; color: #a67b20; box-shadow: 0 4rpx 16rpx rgba(214, 163, 67, 0.22); } .biz-card.status-primary .status-pill { background: #22c55e; color: #fff; } .biz-card.status-danger .status-pill { background: #ef4444; color: #fff; } .biz-card.status-success .status-pill { background: rgba(24, 155, 101, 0.12); color: #147a50; } .biz-card .body-row { display: flex; gap: 24rpx; align-items: stretch; } .biz-card .desc-box { flex: 1; margin: 0; padding: 20rpx 22rpx; border-radius: 24rpx; background: rgba(255, 255, 255, 0.72); border: 1rpx solid rgba(255, 255, 255, 0.9); font-size: 24rpx; color: #3f564c; line-height: 1.5; } .biz-card .side-metric { width: 172rpx; flex-shrink: 0; border-radius: 24rpx; padding: 16rpx; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; text-align: right; background: rgba(255, 255, 255, 0.65); border: 1rpx solid rgba(255, 255, 255, 0.95); } .biz-card .side-metric .amt-label { font-size: 20rpx; color: #8aa198; } .biz-card .side-metric .amt { margin-top: 4rpx; font-size: 30rpx; font-weight: 800; color: #173128; font-variant-numeric: tabular-nums; } .biz-card.status-warning .side-metric .amt { color: #9a7424; } .biz-card.status-primary .side-metric .amt { color: #22c55e; } .biz-card.status-danger .side-metric .amt { color: #b13535; } .biz-card .side-metric .time { margin-top: 12rpx; font-size: 20rpx; color: #8aa198; } .biz-card .meta-row { display: flex; flex-wrap: wrap; gap: 16rpx; margin-top: 24rpx; } .biz-card .meta-row .mi { display: inline-flex; align-items: center; gap: 8rpx; font-size: 22rpx; color: #5d746a; background: rgba(255, 255, 255, 0.7); border-radius: 999rpx; padding: 6rpx 16rpx; } .biz-card .code-pill { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 20rpx; } .biz-card .footer { margin-top: 24rpx; padding-top: 20rpx; border-top: 1rpx dashed rgba(140, 170, 155, 0.28); display: flex; justify-content: space-between; align-items: center; gap: 16rpx; } .biz-card .footer .left-hint { font-size: 22rpx; color: #7f968c; display: inline-flex; align-items: center; gap: 8rpx; } .biz-card .footer .left-hint .dot { width: 12rpx; height: 12rpx; border-radius: 50%; background: currentColor; opacity: 0.75; } .biz-card.status-warning .footer .left-hint { color: #a67b20; } .biz-card.status-primary .footer .left-hint { color: #22c55e; } .biz-card.status-danger .footer .left-hint { color: #ef4444; } .biz-card.status-success .footer .left-hint { color: #10b981; } .biz-card .footer .ops { display: flex; gap: 16rpx; } .list-end { padding: 16rpx 0 56rpx; text-align: center; font-size: 22rpx; color: #8aa198; letter-spacing: 0.08em; }