//
//  ScenicQueueTokens.swift
//  suixinkan
//

import UIKit

/// 排队管理模块视觉令牌，对齐 Android `ScenicQueueTokens`。
enum ScenicQueueTokens {
    static let pageBackground = AppColor.pageBackground
    static let bannerBlue = AppColor.primaryBanner
    static let bannerDivider = UIColor.white.withAlphaComponent(0.26)
    static let bannerMutedLabel = UIColor(hex: 0xC7E0FF)
    static let cardOutline = AppColor.cardOutline
    static let textSecondary = UIColor(hex: 0x6B7280)

    static let tagWaitingForeground = UIColor(hex: 0x10B981)
    static let tagWaitingBackground = UIColor(hex: 0xD1FAE5)
    static let tagCalledForeground = AppColor.primary
    static let tagCalledBackground = AppColor.infoBackground
    static let tagSkippedForeground = UIColor(hex: 0xC62828)
    static let tagSkippedBackground = UIColor(hex: 0xFFCDD2)
    static let tagMissRequeueForeground = UIColor(hex: 0xFA8C16)
    static let tagMissRequeueBackground = UIColor(hex: 0xFFF7E6)
    static let tagBanForeground = UIColor(hex: 0xFA8C16)
    static let tagBanBackground = UIColor(hex: 0xFFF7E6)

    static let buttonSkipBackground = UIColor(hex: 0xFFF1F2)
    static let buttonSkipForeground = UIColor(hex: 0xE11D48)
    static let buttonCompleteBackground = AppColor.infoBackground
    static let dialogDangerLine = UIColor(hex: 0xD32F2F)
    static let fieldBorderMuted = UIColor(hex: 0xE5E7EB)
    static let settingsMutedBlock = UIColor(hex: 0xF7F8FA)
    static let dialogCancelBackground = UIColor(hex: 0xEAF1F8)
    static let markDialogCancelBackground = UIColor(hex: 0xF0F7FF)
    static let markDialogDivider = UIColor(hex: 0xF0F0F0)
    static let markDialogStepperBackground = UIColor(hex: 0xF2F4F7)
    static let logCardBackground = UIColor(hex: 0xF7F8FA)
    static let timelineLine = UIColor(hex: 0xD8E8FF)
    static let timelineDot = UIColor(hex: 0x1677FF)

    static let radiusContentSheetTop: CGFloat = 14
    static let radiusCard: CGFloat = 12
    static let radiusChip: CGFloat = 4
    static let radiusPrimaryRowButton: CGFloat = 10
    static let radiusThinButton: CGFloat = 8
    static let radiusDialog: CGFloat = 16
    static let radiusInput: CGFloat = 10
    static let radiusTabContainer: CGFloat = 12
    static let listItemGap: CGFloat = 10
    static let listHorizontalInset: CGFloat = 12
    static let bottomSaveButtonRadius: CGFloat = 12
    static let markDialogRadius: CGFloat = 22
    static let markDialogButtonRadius: CGFloat = 12
    static let dialogHorizontalInset: CGFloat = 22

    static let bannerLabelFont = UIFont.systemFont(ofSize: 12)
    static let bannerValueFont = UIFont.systemFont(ofSize: 30, weight: .bold)
    static let bannerUnitFont = UIFont.systemFont(ofSize: 12)
    static let tabFont = UIFont.systemFont(ofSize: 14)
    static let tabSelectedFont = UIFont.systemFont(ofSize: 14, weight: .semibold)
    static let ticketIdFont = UIFont.systemFont(ofSize: 20, weight: .bold)
    static let statusChipFont = UIFont.systemFont(ofSize: 11, weight: .medium)
    static let rowLabelFont = UIFont.systemFont(ofSize: 13)
    static let phoneMaskedFont = UIFont.systemFont(ofSize: 15, weight: .medium)
    static let metaLabelFont = UIFont.systemFont(ofSize: 12)
    static let metaAccentFont = UIFont.systemFont(ofSize: 13, weight: .medium)
    static let buttonPrimaryFont = UIFont.systemFont(ofSize: 15, weight: .medium)
    static let buttonSecondaryFont = UIFont.systemFont(ofSize: 14, weight: .medium)
    static let emptyStateFont = UIFont.systemFont(ofSize: 14)
    static let dialogTitleFont = UIFont.systemFont(ofSize: 17, weight: .semibold)
    static let dialogTicketFont = UIFont.systemFont(ofSize: 28, weight: .bold)
    static let dialogButtonFont = UIFont.systemFont(ofSize: 15, weight: .medium)
    static let settingsSectionTitleFont = UIFont.systemFont(ofSize: 16, weight: .semibold)
    static let settingsFieldLabelFont = UIFont.systemFont(ofSize: 13)
    static let settingsHintFont = UIFont.systemFont(ofSize: 12)
    static let settingsRowTitleFont = UIFont.systemFont(ofSize: 14)
    static let settingsSaveButtonFont = UIFont.systemFont(ofSize: 16, weight: .medium)
}
