page { --primary: #2c7a7b; --primary-light: #e6f2f2; --primary-dark: #1a5c5d; --danger: #e53e3e; --danger-light: #fff5f5; --text: #2d3748; --text-secondary: #718096; --text-muted: #a0aec0; --border: #e2e8f0; --bg: #f5f7fa; --card-bg: #ffffff; --shadow: 0 1px 3px rgba(0,0,0,0.06); --shadow-md: 0 4px 12px rgba(0,0,0,0.08); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 28rpx; color: var(--text); background: var(--bg); box-sizing: border-box; } .container { padding: 24rpx; min-height: 100vh; } /* ===== 用户标识栏(各页面顶部) ===== */ .user-info-bar { display: flex; align-items: center; margin-bottom: 20rpx; padding: 16rpx 24rpx; background: #fff; border-radius: 10rpx; box-shadow: 0 1px 3px rgba(0,0,0,0.06); } .user-info-text { font-size: 28rpx; font-weight: 500; color: #2c7a7b; } /* ===== 通用卡片 ===== */ .card { background: #fff; border-radius: 12rpx; padding: 28rpx; margin-bottom: 20rpx; box-shadow: 0 1px 3px rgba(0,0,0,0.06); } .card-title { font-size: 30rpx; font-weight: 600; color: #2d3748; margin-bottom: 20rpx; padding-bottom: 16rpx; border-bottom: 1rpx solid #edf2f7; } /* ===== 按钮 ===== */ .btn-primary { background: #2c7a7b; color: #fff; font-size: 28rpx; font-weight: 500; padding: 16rpx 32rpx; border-radius: 8rpx; text-align: center; border: none; line-height: 1.5; } .btn-primary:active { background: #1a5c5d; } .btn-danger { background: #fff; color: #e53e3e; border: 1rpx solid #e53e3e; font-size: 24rpx; padding: 8rpx 20rpx; border-radius: 6rpx; text-align: center; line-height: 1.5; } .btn-cancel { flex: 1; background: #edf2f7; color: #718096; font-size: 28rpx; padding: 16rpx 0; border-radius: 8rpx; text-align: center; border: none; line-height: 1.5; } .btn-save { flex: 1; background: #2c7a7b; color: #fff; font-size: 28rpx; padding: 16rpx 0; border-radius: 8rpx; text-align: center; border: none; line-height: 1.5; } /* ===== 空状态 ===== */ .empty-hint { color: #a0aec0; font-size: 26rpx; text-align: center; padding: 40rpx 0; } /* ===== 弹窗 ===== */ .modal-wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 100; } .modal-box { width: 85%; max-height: 80vh; background: #fff; padding: 36rpx; border-radius: 16rpx; overflow-y: auto; } .modal-title { font-size: 34rpx; font-weight: 600; color: #2d3748; text-align: center; margin-bottom: 24rpx; } .btn-row { display: flex; gap: 20rpx; margin-top: 24rpx; } /* ===== 模式切换 ===== */ .mode-tabs { display: flex; gap: 0; margin-bottom: 20rpx; border-radius: 8rpx; overflow: hidden; border: 1rpx solid #2c7a7b; } .mode-tab { flex: 1; text-align: center; padding: 14rpx 0; font-size: 26rpx; color: #2c7a7b; background: #fff; } .mode-tab--active { color: #fff; background: #2c7a7b; }