.mail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18rpx; } .mail-card { min-width: 0; padding: 22rpx; border: 3rpx solid #aebbd0; border-radius: 16rpx; background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%); box-shadow: 0 0 0 2rpx rgba(255, 255, 255, 0.9), 0 11rpx 0 rgba(147, 163, 185, 0.68), 0 20rpx 32rpx rgba(22, 34, 50, 0.15), inset 0 2rpx 0 rgba(255, 255, 255, 0.96); box-sizing: border-box; } .mail-head, .mail-title, .feedback-title-line, .monitor-head, .pager { display: flex; align-items: center; } .mail-head, .monitor-head { justify-content: space-between; gap: 14rpx; } .mail-title { min-width: 0; gap: 10rpx; } .mail-icon { display: inline-flex; align-items: center; justify-content: center; width: 46rpx; height: 46rpx; flex: 0 0 46rpx; border-radius: 12rpx; color: #ffffff; font-size: 24rpx; font-weight: 800; box-shadow: 0 6rpx 0 rgba(15, 23, 42, 0.16), inset 0 2rpx 0 rgba(255, 255, 255, 0.28); } .mail-icon.unread { background: linear-gradient(180deg, #ef4444 0%, #b91c1c 100%); } .mail-icon.read { background: linear-gradient(180deg, #64748b 0%, #334155 100%); } .mail-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 42rpx; height: 42rpx; padding: 0 12rpx; border-radius: 999rpx; background: #ef4444; color: #ffffff; font-size: 24rpx; font-weight: 800; box-sizing: border-box; } .muted-badge { background: #64748b; } .mail-empty { margin-top: 22rpx; padding: 22rpx 12rpx; border: 2rpx dashed #b8c4d4; border-radius: 14rpx; color: #667085; font-size: 24rpx; text-align: center; } .feedback-row { margin-top: 18rpx; padding: 18rpx; border: 2rpx solid #c7d2e3; border-left: 7rpx solid #64748b; border-radius: 14rpx; background: #f8fbff; box-shadow: 0 7rpx 0 rgba(148, 163, 184, 0.24); } .unread-row { border-left-color: #ef4444; } .feedback-title { display: block; min-width: 0; color: #162232; font-size: 26rpx; font-weight: 800; line-height: 1.35; word-break: break-word; } .feedback-title-line { justify-content: space-between; gap: 10rpx; } .feedback-sub, .feedback-time, .mold-worker, .mold-duration { display: block; margin-top: 8rpx; color: #667085; font-size: 22rpx; line-height: 1.35; } .status-text { flex: 0 0 auto; font-size: 22rpx; font-weight: 800; white-space: nowrap; } .status-text.pending { color: #d92d20; } .status-text.handled { color: #087443; } .pager { justify-content: space-between; gap: 10rpx; margin-top: 18rpx; } .pager .btn { min-width: 82rpx; padding: 0 8rpx; margin: 0; font-size: 22rpx; } .pager .page-jump-control.mini { flex-basis: 152rpx; gap: 4rpx; padding: 0 6rpx; } .pager .page-jump-control.mini .page-jump-input { flex-basis: 42rpx; } .pager .page-jump-control.mini .page-total-label { min-width: 50rpx; font-size: 18rpx; } .pager .page-jump-control.mini .page-jump-action { width: 28rpx; font-size: 18rpx; } .monitor-card { margin-bottom: 34rpx; } .monitor-mark { flex: 0 0 auto; padding: 10rpx 16rpx; border-radius: 12rpx; background: #e9f1ff; color: #1456c2; font-size: 24rpx; font-weight: 800; } .inline-empty { margin-top: 22rpx; margin-bottom: 0; } .mold-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150rpx, 1fr)); gap: 18rpx; margin-top: 24rpx; } .mold-tile { min-height: 210rpx; padding: 18rpx 14rpx; border: 2rpx solid #bcc8d9; border-radius: 16rpx; background: linear-gradient(180deg, #ffffff 0%, #eef5ff 100%); text-align: center; box-shadow: 0 8rpx 0 rgba(148, 163, 184, 0.54), 0 16rpx 26rpx rgba(22, 34, 50, 0.12), inset 0 2rpx 0 rgba(255, 255, 255, 0.96); box-sizing: border-box; } .mold-icon { display: flex; align-items: center; justify-content: center; width: 72rpx; height: 72rpx; margin: 0 auto 14rpx; border-radius: 18rpx; background: linear-gradient(180deg, #1d4ed8 0%, #153e9f 100%); color: #ffffff; font-size: 28rpx; font-weight: 900; box-shadow: 0 7rpx 0 rgba(21, 62, 159, 0.42), inset 0 2rpx 0 rgba(255, 255, 255, 0.28); } .mold-name { display: block; color: #162232; font-size: 24rpx; font-weight: 800; line-height: 1.35; word-break: break-word; } .modal-mask { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 80; display: flex; align-items: center; justify-content: center; padding: 32rpx; background: rgba(15, 23, 42, 0.48); box-sizing: border-box; } .modal-panel { width: 100%; max-height: 82vh; overflow-y: auto; padding: 30rpx; border: 1rpx solid #e4e9f1; border-radius: 18rpx; background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%); box-shadow: 0 16rpx 0 rgba(170, 184, 204, 0.62), 0 30rpx 64rpx rgba(15, 23, 42, 0.24), inset 0 2rpx 0 rgba(255, 255, 255, 0.96); box-sizing: border-box; } .modal-head { display: flex; align-items: center; justify-content: space-between; gap: 18rpx; margin-bottom: 24rpx; } .modal-title { color: #162232; font-size: 34rpx; font-weight: 700; } .modal-close { flex: 0 0 auto; margin: 0; } .detail-row { margin-top: 22rpx; padding-bottom: 18rpx; border-bottom: 1rpx solid #e4e9f1; } .detail-status { display: block; font-size: 28rpx; } .detail-action { margin-top: 28rpx; }