@import '@/styles/variables.scss'; .contract-center { display: flex; flex-direction: column; min-height: 100vh; background: $color-bg-section; } .contract-center__header { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; padding: calc(var(--status-bar-height, 44px) + 60rpx) 24rpx 20rpx; background: $color-bg-page; } .contract-center__back { display: flex; align-items: center; justify-content: center; width: 64rpx; height: 64rpx; } .contract-center__back-icon { width: 40rpx; height: 40rpx; } .contract-center__title { font-size: 34rpx; font-weight: 600; color: $color-text-primary; } .contract-center__header-placeholder { width: 64rpx; height: 64rpx; } .contract-center__toolbar { flex-shrink: 0; padding: 0 24rpx 24rpx; background: $color-bg-page; } .contract-center__search { display: flex; align-items: center; height: 72rpx; padding: 0 24rpx; background: $color-bg-section; border-radius: 36rpx; } .contract-center__search-icon { flex-shrink: 0; width: 32rpx; height: 32rpx; margin-right: 12rpx; } .contract-center__search-input { flex: 1; font-size: 26rpx; color: $color-text-primary; } .contract-center__search-placeholder { color: $color-text-placeholder; } .contract-center__tabs { display: flex; margin-top: 24rpx; overflow: hidden; border: 2rpx solid $color-primary; border-radius: 12rpx; } .contract-center__tab { display: flex; flex: 1; align-items: center; justify-content: center; height: 72rpx; background: $color-bg-page; border-right: 2rpx solid $color-primary; &:last-child { border-right: none; } &--active { background: $color-primary; } } .contract-center__tab-text { font-size: 28rpx; color: $color-primary; } .contract-center__tab--active .contract-center__tab-text { font-weight: 600; color: #ffffff; } .contract-center__scroll { flex: 1; height: 0; } .contract-center__list { padding: 0 24rpx calc(32rpx + env(safe-area-inset-bottom)); } .contract-center__card { padding: 28rpx 24rpx; margin-top: 24rpx; background: $color-bg-page; border-radius: 20rpx; box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.04); } .contract-center__card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16rpx; } .contract-center__contract-no { flex: 1; min-width: 0; font-size: 22rpx; color: $color-text-secondary; } .contract-center__badges { display: flex; flex-shrink: 0; gap: 12rpx; } .contract-center__badge { padding: 4rpx 12rpx; font-size: 20rpx; border-radius: 6rpx; &--signed { color: #16a34a; background: #ecfdf3; } &--in_progress { color: $color-primary; background: $color-primary-light; } &--pending_sign { color: $color-stat-orange; background: $color-stat-orange-bg; } } .contract-center__title-row { display: flex; align-items: center; justify-content: space-between; gap: 16rpx; margin-top: 20rpx; } .contract-center__card-title { flex: 1; min-width: 0; font-size: 30rpx; font-weight: 600; color: $color-text-primary; } .contract-center__detail-link { flex-shrink: 0; font-size: 24rpx; color: $color-text-secondary; } .contract-center__related { display: block; margin-top: 12rpx; font-size: 24rpx; color: $color-text-secondary; } .contract-center__actions { display: flex; gap: 20rpx; margin-top: 28rpx; &--single { .contract-center__action-btn { flex: 1; } } } .contract-center__action-btn { display: flex; flex: 1; align-items: center; justify-content: center; height: 80rpx; font-size: 28rpx; border-radius: 12rpx; &--outline { color: $color-text-primary; background: $color-bg-page; border: 1rpx solid #d8dde6; } &--primary { color: #ffffff; background: $color-primary; } }