@import '../mixins.scss'; /* 首页分区菜单:区域卡片 + 色带标题栏 */ .menu-regions { display: flex; flex-direction: column; gap: 24rpx; } .menu-region { overflow: hidden; background: var(--surface, #fff); border: 1rpx solid rgba(220, 235, 228, 0.95); border-radius: 28rpx; box-shadow: 0 8rpx 28rpx rgba(15, 41, 30, 0.06); } .menu-region__hd { display: flex; align-items: center; justify-content: space-between; padding: 22rpx 28rpx; color: #fff; } .menu-region__left { display: flex; align-items: center; gap: 14rpx; min-width: 0; } .menu-region__mark { width: 8rpx; height: 28rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.85); flex-shrink: 0; } .menu-region__title { font-size: 30rpx; font-weight: 700; letter-spacing: 0.02em; line-height: 1.3; } .menu-region__hint { font-size: 22rpx; opacity: 0.92; line-height: 1.3; flex-shrink: 0; margin-left: 16rpx; } .menu-region--market .menu-region__hd { background: #ea9518; } .menu-region--oa .menu-region__hd { background: #10aa1a; } .menu-region--other .menu-region__hd { background: #5f7a6d; } .menu-region__bd { padding: 24rpx 16rpx 20rpx; } .menu-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20rpx 12rpx; } .menu-card { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8rpx; min-height: 168rpx; padding: 20rpx 8rpx 12rpx; border-radius: 24rpx; } .menu-card:active { background: var(--brand-green-soft, #ecfdf5); } .menu-card--text-only { justify-content: center; min-height: 132rpx; padding-top: 16rpx; } .menu-icon { position: relative; overflow: visible; width: 96rpx; height: 96rpx; border-radius: 28rpx; display: flex; align-items: center; justify-content: center; background: #eef2f1; color: #3d524a; font-size: 48rpx; box-shadow: inset 0 0 0 1rpx rgba(15, 41, 30, 0.06); } /* 微信风格数量角标:图标右上角 */ .menu-badge { position: absolute; top: -8rpx; right: -12rpx; z-index: 1; min-width: 32rpx; height: 32rpx; padding: 0 8rpx; border-radius: 16rpx; background: #fa5151; color: #fff; font-size: 20rpx; font-weight: 600; line-height: 32rpx; text-align: center; box-sizing: border-box; box-shadow: 0 0 0 2rpx #fff; } .menu-icon .v-icon--img { width: 52rpx; height: 52rpx; } /* 无色底:仅展示位图本身(如发起审批纸飞机),收紧容器避免与标题脱节 */ .menu-icon.menu-icon--plain { width: 64rpx; height: 64rpx; background: transparent; box-shadow: none; } .menu-icon.menu-icon--plain .v-icon--img { width: 56rpx; height: 56rpx; } .menu-icon.tone-approve { background: #ffe4e6; color: #e11d48; box-shadow: inset 0 0 0 1rpx rgba(225, 29, 72, 0.12); } .menu-icon.tone-yellow { background: var(--barley-yellow-soft, #fffbeb); color: #a16207; } .menu-icon.tone-slate { background: #eef2f1; color: #3d524a; } .menu-title { font-size: 24rpx; line-height: 1.25; color: var(--text-primary, #0f291e); text-align: center; max-width: 144rpx; word-break: break-all; } .menu-group-title { max-width: 144rpx; padding: 4rpx 12rpx; border: 1rpx solid rgba(10, 159, 109, 0.22); border-radius: 999rpx; background: rgba(10, 159, 109, 0.08); color: #0a9f6d; font-size: 20rpx; line-height: 1.3; text-align: center; }