.pagebg { min-height: 100vh; background: #f5f5f5; position: relative; overflow: hidden; } .page-bg-img { width: 100%; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 0; max-height: 420rpx; } .page-body { position: relative; z-index: 2; display: flex; flex-direction: column; min-height: 100vh; box-sizing: border-box; } .status-bar, .nav-bar { flex-shrink: 0; } .nav-bar { padding: 0 24rpx; height: 88rpx; align-items: center; } .nav-title { font-size: 34rpx; font-weight: 700; color: #343434; } .back { width: 60rpx; font-size: 48rpx; color: #333; } .back.placeholder { opacity: 0; } .flex { display: flex; align-items: center; } .flexb { display: flex; align-items: center; justify-content: space-between; } .flexa { display: flex; align-items: center; justify-content: space-around; } .list-scroll { flex: 1; height: calc(100vh - 88rpx); padding: 0 20rpx 30rpx; box-sizing: border-box; } .fixed-code-card { background: #fff; border-radius: 20rpx; padding: 24rpx; margin: 10rpx 0 16rpx; align-items: center; box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06); } .fixed-code-main { flex: 1; min-width: 0; } .fixed-code-lbl { font-size: 28rpx; color: #333; font-weight: 700; } .fixed-code-val { display: block; margin-top: 8rpx; font-size: 32rpx; color: #f00; font-weight: 700; word-break: break-all; } .copy-btn { padding: 16rpx 32rpx; min-height: 64rpx; border-radius: 10rpx; background: linear-gradient(180deg, #fae04d, #ffc0a3); color: #492f00; font-size: 28rpx; font-weight: 700; flex-shrink: 0; margin-left: 16rpx; display: flex; align-items: center; justify-content: center; box-sizing: border-box; } .tips-bar { background: #fff7e6; border: 1rpx solid #ffd591; border-radius: 12rpx; padding: 18rpx 20rpx; font-size: 26rpx; color: #ad6800; line-height: 1.5; margin-bottom: 16rpx; } .toolbar { margin-bottom: 12rpx; padding: 6rpx 0; align-items: center; } .sub-tabs { flex: 1; background: #fff; border-radius: 12rpx; padding: 6rpx; } .sub-tab { padding: 16rpx 24rpx; font-size: 26rpx; color: #666; border-radius: 8rpx; } .sub-tab.on { background: #1b6ef3; color: #fff; } .add-btn { margin-left: 16rpx; padding: 16rpx 32rpx; min-height: 64rpx; background: #1b6ef3; color: #fff; border-radius: 10rpx; font-size: 28rpx; font-weight: 700; flex-shrink: 0; display: flex; align-items: center; justify-content: center; box-sizing: border-box; } .help-row { background: #fff; border-radius: 12rpx; padding: 22rpx 24rpx; margin-bottom: 16rpx; align-items: center; } .help-link { font-size: 28rpx; color: #1b6ef3; font-weight: 700; } .help-arrow { font-size: 36rpx; color: #999; } .key-item { background: #fff; border-radius: 16rpx; padding: 24rpx; margin-bottom: 16rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05); } .key-row { align-items: flex-start; margin-bottom: 10rpx; } .tag-type { font-size: 22rpx; color: #fff; background: #1b6ef3; padding: 6rpx 14rpx; border-radius: 6rpx; margin-right: 12rpx; flex-shrink: 0; } .key-code { flex: 1; font-size: 30rpx; font-weight: 700; color: #333; word-break: break-all; padding-right: 12rpx; } .status-txt { font-size: 24rpx; flex-shrink: 0; } .status-txt.unused { color: #0a0; } .status-txt.used { color: #aaa; } .key-meta { font-size: 24rpx; color: #aaa; margin-top: 8rpx; } .key-user { align-items: center; margin-top: 10rpx; font-size: 24rpx; color: #666; } .user-av { width: 48rpx; height: 48rpx; border-radius: 50%; margin-right: 10rpx; } .key-actions { margin-top: 16rpx; padding-top: 16rpx; border-top: 1rpx dashed #eee; } .act-copy, .act-del { font-size: 28rpx; padding: 12rpx 24rpx; border-radius: 8rpx; } .act-copy { color: #007aff; background: #eef6ff; } .act-del { color: #fff; background: #f56c6c; } .empty-tip { text-align: center; color: #999; padding: 80rpx 0; font-size: 28rpx; } .load-tip { text-align: center; padding: 32rpx; font-size: 22rpx; color: #bbb; } .mask { position: fixed; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.45); z-index: 99; display: flex; align-items: flex-end; } .popup { width: 100%; background: #fff; border-radius: 26rpx 26rpx 0 0; padding-bottom: calc(30rpx + env(safe-area-inset-bottom)); } .popup-title { font-size: 32rpx; font-weight: 700; padding: 30rpx; } .popup-scroll { max-height: 60vh; padding: 0 30rpx; box-sizing: border-box; } .popup-txt { font-size: 28rpx; line-height: 1.6; color: #333; } .qr-wrap { background: #f9f9f9; margin-top: 30rpx; text-align: center; padding: 20rpx; } .qr-img { width: 100%; } .popup-close { margin: 20rpx 30rpx 0; text-align: center; padding: 24rpx; background: #1b6ef3; color: #fff; border-radius: 12rpx; font-size: 30rpx; font-weight: 700; }