pragma Singleton
import QtQuick
import Quickshell

QtObject {
    id: theme

    // ── Wallpaper ──────────────────────────────────────────────────────────────
    readonly property string wallpaper: Quickshell.env("HOME") + "/.config/quickshell/wallpapers/vista-aurora.jpg"

    // ── Base Backgrounds ───────────────────────────────────────────────────────
    readonly property color bg:      "#dd171b1e" // Deep teal-cyan (60% trans)
    readonly property color bgPanel: "transparent"
    readonly property color bgPopup: "#dd171b1e" // Darker aurora teal (80% trans)
    readonly property color bgFrame: bg

    // ── Separators ────────────────────────────────────────────────────────────
    readonly property color separator: "#33ffffff"

    // ── Text ──────────────────────────────────────────────────────────────────
    readonly property color textMain:  "#f0f9f9" // Crisp glass white
    readonly property color textDim:   "#99b2d8d8" // Muted aqua gray

    // ── Accent & Borders ──────────────────────────────────────────────────────
    readonly property color accent:       "#cbdc3d" // Vibrant lime aurora
    readonly property color border:       "transparent"
    readonly property color borderPopup:  "#6681c7c7" // Soft sky blue border

    // ── ArchLogo Module ────────────────────────────────────────────────────────
    readonly property color logoBg:           bgPanel
    readonly property color logoBgHover:      "#22ffffff"
    readonly property color logoBorder:       border
    readonly property color logoBorderActive: accent
    readonly property color logoIcon:         textMain
    readonly property color logoIconActive:   accent


    // ── Mpris Module ──────────────────────────────────────────────────────────
    readonly property color mprisAccent:       accent
    readonly property color mprisTextMain:     textMain
    readonly property color mprisTextDim:      textDim
    readonly property color mprisTrackColor:   statsTrackColor
    readonly property color mprisButtonText:   bgPopup
    readonly property color mprisAlbumBg:      Qt.alpha(accent, 0.08)
    readonly property color mprisAlbumBorder:  Qt.alpha(accent, 0.15)
    readonly property color mprisBtnBg:        Qt.alpha(accent, 0.10)
    readonly property color mprisBtnBgHover:   Qt.alpha(accent, 0.22)
    readonly property color mprisBtnBorder:    Qt.alpha(accent, 0.20)
    readonly property color mprisBtnBorderHover: Qt.alpha(accent, 0.45)
    readonly property color mprisBtnIcon:      accent
    readonly property color mprisBtnIconHover: Qt.lighter(accent, 1.3)
    // ── Stats Module (Aurora Tones) ───────────────────────────────────────────
    readonly property color statsBg:          bgPanel
    readonly property color statsBorder:      border
    readonly property color statsCpuColor:    "#cbdc3d" // Lime green
    readonly property color statsMemColor:    "#4db6ac" // Teal
    readonly property color statsDiskColor:   "#81d4fa" // Sky blue
    readonly property color statsTrackColor:  "#15ffffff"
    readonly property color statsCpuTempColor: "#fff38ba8" // Warm rose red
    readonly property color statsGpuColor:    "#ff7986cb" // Soft indigo


    // ── SysInfo Module ────────────────────────────────────────────────────────
    readonly property color sysInfoAccent:      accent
    readonly property color sysInfoTextMain:    textMain
    readonly property color sysInfoTextDim:     textDim
    readonly property color sysInfoCpuColor:    statsCpuColor
    readonly property color sysInfoMemColor:    statsMemColor
    readonly property color sysInfoDiskColor:   statsDiskColor
    readonly property color sysInfoCpuTempColor: statsCpuColor
    readonly property color sysInfoGpuColor:    statsGpuColor
    readonly property color sysInfoTrackColor:  statsTrackColor
    // ── Volume Module (Glass Water) ───────────────────────────────────────────
    readonly property color volBg:           bgPanel
    readonly property color volBgHover:      "#2281c7c7"
    readonly property color volBorder:       border
    readonly property color volBorderHover:  "#ffb2d8d8"
    readonly property color volPopupBg:      bgPopup
    readonly property color volPopupBorder:  borderPopup
    readonly property color volIcon:         "#ff81d4fa" 
    readonly property color volIconMuted:    "#ff4f6b6b"
    readonly property color volTrack:        "#22ffffff"
    readonly property color volHandle:       accent
    readonly property color volHandleBorder: "#33ffffff"
    readonly property color volMuteBg:       "#33cbdc3d"
    readonly property color volPickerHover:  "#15cbdc3d"

    // ── Volume Limit Buttons ────────────────────────────────────────────────
    readonly property color volLimitBtn:       "transparent"
    readonly property color volLimitBtnHover:  "#22ffffff"
    readonly property color volLimitBtnPress:       accent
    readonly property color volOutputLimitBtnPress:  accent
    readonly property color volInputLimitBtnPress:   statusInfo
    readonly property color volOutputLimitBtnHover:  Qt.alpha(accent, 0.08)
    readonly property color volInputLimitBtnHover:   Qt.alpha(statusInfo, 0.08)

    // ── Clock Module ───────────────────────────────────────────────────────────
    readonly property color clockBg:          bgPanel
    readonly property color clockBgHover:     "#11ffffff"
    readonly property color clockBorder:      border
    readonly property color clockBorderHover: accent
    readonly property color clockTime:        textMain
    readonly property color clockSeconds:     "#fff176" // Sun yellow
    readonly property color clockIcon:        accent

    // ── Battery Module ────────────────────────────────────────────────────────
    readonly property color batteryFull:      accent
    readonly property color batteryCharging:  accent
    readonly property color batteryCritical:  statusErr
    readonly property color batteryLow:       statusWarn
    readonly property color batteryIcon:      clockIcon
    readonly property color batBg:            bgPanel
    readonly property color batBgHover:       "#11ffffff"
    readonly property color batBorder:        border
    readonly property color batBorderHover:   accent
    readonly property color batText:          textMain
    readonly property color batPopupBg:       bgPopup
    readonly property color batPopupBorder:   borderPopup
    readonly property color batPopupSeparator: separator
    readonly property color batPopupHeader:   "#cbdc3d"
    readonly property color batPopupText:     textMain
    readonly property color batPopupDim:      textDim
    readonly property color batProgressTrack: separator
    readonly property color batProfileActiveText: bg

    // ── Network Module ────────────────────────────────────────────────────────
    readonly property color netBg:              bgPanel
    readonly property color netBgHover:         "#11ffffff"
    readonly property color netBorder:          border
    readonly property color netBorderHover:     accent
    readonly property color netText:            textMain
    readonly property color netPopupBg:         bgPopup
    readonly property color netPopupBorder:     borderPopup
    readonly property color netPopupSeparator:  separator
    readonly property color netPopupHeader:     "#cbdc3d"
    readonly property color netPopupText:       textMain
    readonly property color netPopupDim:        textDim
    readonly property color netFieldBg:         "#22ffffff"
    readonly property color netCancelBgHover:   "#22ffffff"
    readonly property color netConnectText:     "#ff0b3333"
    readonly property color netApActiveBg:      Qt.alpha(accent, 0.15)
    readonly property color netApHoverBg:       calArrowBgHover
    readonly property color netDisconnectBg:    Qt.alpha(statusErr, 0.18)
    readonly property color netDisconnectBorder: Qt.alpha(statusErr, 0.45)
    readonly property color netWiredOkBg:       Qt.alpha(statusOk, 0.12)
    readonly property color netWiredErrBg:      Qt.alpha(statusErr, 0.12)
    readonly property color netWiredOkBorder:   Qt.alpha(statusOk, 0.4)
    readonly property color netWiredErrBorder:  Qt.alpha(statusErr, 0.4)
    readonly property color netWifiIconOk:    "#ffaed581"   // soft green, glass-visible
    readonly property color netWifiIconErr:   "#ffff8a65"   // soft coral, warm contrast
    readonly property color netEthIconOk:     "#ffaed581"
    readonly property color netEthIconErr:    "#ffff8a65"

    // ── Calendar Popup ─────────────────────────────────────────────────────────
    readonly property color calCardBg:        bgPopup
    readonly property color calCardBorder:    borderPopup
    readonly property color calSeparator:     separator
    readonly property color calTodayBg:       accent
    readonly property color borderToday:	  accent
    readonly property color todayText:        "#ffffffff"
    readonly property color clockPopupHeader: "#cbdc3d"
    readonly property color clockPopupText:   textMain
    readonly property color clockPopupDim:    textDim


    // ── Weather Module ──────────────────────────────────────────────────────
    readonly property color weatherAccent:      accent
    readonly property color weatherTextMain:    textMain
    readonly property color weatherTextDim:     textDim
    readonly property color weatherTempColor:   "#fff38ba8"
    readonly property color weatherFeelsColor:  "#ffcba6f7"
    readonly property color weatherHumidColor:  "#ff89b4fa"
    readonly property color weatherWindColor:   "#ff94e2d5"
    // ── Workspace Module ───────────────────────────────────────────────────────
    readonly property color wsPanelBg:      bgPanel
    readonly property color wsPanelBorder:  "transparent"
    readonly property color wsActiveBg:     accent
    readonly property color wsInactiveBg:   "#15ffffff"
    readonly property color wsHoverBg:      "#3381c7c7"
    readonly property color wsActiveText:   "#ff0b3333" 
    readonly property color wsInactiveText: textMain
    readonly property color wsHoverText:    "#ffffffff"
    readonly property color wsMagicActiveBg:   "#ff9b6df5"
    readonly property color wsMagicActiveText: "#ff0c0e12"

    // ── Tray Module ────────────────────────────────────────────────────────────
    readonly property color trayBg:          bgPanel
    readonly property color trayBgHover:     "#11ffffff"
    readonly property color trayBorder:      border
    readonly property color trayBorderHover: "#22ffffff"
    readonly property color trayIcon:        textMain

    // ── Tray Context Menu ──────────────────────────────────────────────────────
    readonly property color trayMenuBg:        bgPopup
    readonly property color trayMenuBorder:    borderPopup
    readonly property color trayMenuText:      textMain
    readonly property color trayMenuDim:       textDim
    readonly property color trayMenuHover:     "#22cbdc3d"
    readonly property color trayMenuCheck:     accent
    readonly property color trayMenuSeparator: separator

    // ── Launcher (Fresh Aero) ──────────────────────────────────────────────────
    readonly property color launcherBg:               bgPopup
    readonly property color launcherBorder:           "#44cbdc3d"
    readonly property color launcherInput:            "#440b3333"
    readonly property color launcherInputBorderFocus: accent
    readonly property color launcherPill:             "#4481c7c7"
    readonly property color launcherText:             textMain
    readonly property color launcherDim:              textDim
    readonly property color launcherStar:      launcherDim
    readonly property color launcherStarHover: accent
    readonly property color launcherAccent:           accent
    readonly property color launcherHover:            "#22cbdc3d"
    readonly property color launcherSelected:         "#44cbdc3d"
    readonly property color launcherModeActiveText:   "#ffffffff"
    readonly property color launcherModeActiveBg:     accent

    // ── Status Colors ──────────────────────────────────────────────────────────
    readonly property color statusOk:   "#aed581" 
    readonly property color statusWarn: "#fff176" 
    readonly property color statusErr:  "#ff8a65" 
    readonly property color statusInfo: "#81d4fa"

    // ── Notifications Module ───────────────────────────────────────────────────
    readonly property color notifBg:           bgPanel
    readonly property color notifBgHover:      "#11ffffff"
    readonly property color notifBorder:       border
    readonly property color notifBorderActive: accent
    readonly property color notifIcon:         textMain
    readonly property color notifIconActive:   accent
    readonly property color notifBadgeBg:      statusErr
    readonly property color notifBadgeText:    "#ffffffff"
    readonly property color notifSeparator:    separator
    readonly property color notifDnd:          separator

    // ── Toast cards (Vista Glass) ──────────────────────────────────────────────
    readonly property color notifToastBg:      bgPopup
    readonly property color notifToastBgHover: "#22ffffff"
    readonly property color notifToastBorder:  borderPopup
    readonly property color notifToastText:    textMain
    readonly property color notifToastDim:     textDim
    readonly property color notifToastAppName: "#ff81d4fa"

    // ── Urgency colours ────────────────────────────────────────────────────────
    readonly property color notifUrgencyCritical: statusErr
    readonly property color notifUrgencyNormal:   statusInfo
    readonly property color notifUrgencyLow:      textDim

    // ── Progress bar ───────────────────────────────────────────────────────────
    readonly property color notifProgressBg:   "#22ffffff"
    readonly property color notifProgressFill: accent

    // ── History popup ──────────────────────────────────────────────────────────
    readonly property color notifHistoryBg:     bgPopup
    readonly property color notifHistoryBorder: "#33cbdc3d"
    readonly property color notifHistoryHover:  "#11cbdc3d"
    readonly property color notifHistoryEmpty:  textDim

    // new variables adapted
    readonly property color frameBorder: "transparent"
    readonly property color clockPopupDate: textMain
    readonly property color clockPopupUtc: textDim
    readonly property color calArrowIcon: textDim
    readonly property color calArrowIconHover: accent
    readonly property color calArrowBg: "transparent"
    readonly property color calArrowBgHover: "#22cbdc3d"
    readonly property color calArrowBgPress: accent

    // ── Crypto Module ──────────────────────────────────────────────────────────
    readonly property color cryptoBg:          bgPanel
    readonly property color cryptoBgHover:     "#15ffffff"
    readonly property color cryptoBorder:      border
    readonly property color cryptoBorderHover: accent
    readonly property color cryptoIcon:        accent
    readonly property color cryptoLabel:       textDim
    readonly property color cryptoValue:       textMain
    readonly property color cryptoUp:          statusOk
    readonly property color cryptoDown:        statusErr
    readonly property color cryptoPopupBg:     bgPopup
    readonly property color cryptoPopupBorder: borderPopup
    readonly property color cryptoPopupHeader: accent
    readonly property color cryptoPopupText:   textMain
    readonly property color cryptoPopupDim:    textDim

    // Tinted surfaces (derived from main colours)
    readonly property color cryptoUpBg:          Qt.rgba(cryptoUp.r, cryptoUp.g, cryptoUp.b, 0.13)
    readonly property color cryptoDownBg:        Qt.rgba(cryptoDown.r, cryptoDown.g, cryptoDown.b, 0.13)
    readonly property color cryptoChipRemoveBg:  Qt.rgba(cryptoDown.r, cryptoDown.g, cryptoDown.b, 0.27)
    readonly property color cryptoApplyIdleBg:   Qt.rgba(accent.r, accent.g, accent.b, 0.20)

    readonly property color cryptoFieldBg:       "#15ffffff"
    readonly property color cryptoFieldBgFocus:  "#22ffffff"
    readonly property color cryptoRangeTrack:    "#1affffff"
    readonly property color cryptoTextOnAccent:  "#ff0b3333"
    readonly property color cryptoPlaceholder:   Qt.rgba(textDim.r, textDim.g, textDim.b, 0.33)

    // ── BgDate Module ──────────────────────────────────────────────────────────
    readonly property color bgDateText: textMain
    readonly property color bgDateShadow: "#66000000"
    readonly property color bgDateSecondsText: textMain

    // ── Polkit Dialog ──────────────────────────────────────────────────────────
    // Overlay
    readonly property color polkitOverlayBg:          "#bb000000"

    // Card chrome
    readonly property color polkitCardBg:             bgPopup
    readonly property color polkitCardBorder:         Qt.rgba(accent.r, accent.g, accent.b, 0.16)

    // Lock icon
    readonly property color polkitIconBg:             Qt.rgba(accent.r, accent.g, accent.b, 0.12)
    readonly property color polkitIconBorder:         Qt.rgba(accent.r, accent.g, accent.b, 0.27)
    readonly property color polkitIconColor:          accent

    // Text hierarchy
    readonly property color polkitTitle:              textMain
    readonly property color polkitMessage:            textMain

    // Action-ID pill
    readonly property color polkitPillBg:             Qt.rgba(textDim.r, textDim.g, textDim.b, 0.10)
    readonly property color polkitPillText:           textDim

    // Divider
    readonly property color polkitDivider:            separator

    // Supplementary message — error state
    readonly property color polkitSuppErrBg:          Qt.rgba(statusErr.r, statusErr.g, statusErr.b, 0.10)
    readonly property color polkitSuppErrBorder:      Qt.rgba(statusErr.r, statusErr.g, statusErr.b, 0.27)
    readonly property color polkitSuppErrText:        statusErr

    // Supplementary message — info / ok state
    readonly property color polkitSuppOkBg:           Qt.rgba(statusOk.r, statusOk.g, statusOk.b, 0.10)
    readonly property color polkitSuppOkBorder:       Qt.rgba(statusOk.r, statusOk.g, statusOk.b, 0.27)
    readonly property color polkitSuppOkText:         statusOk

    // Fields (password input & identity selector)
    readonly property color polkitFieldBg:            launcherInput
    readonly property color polkitFieldBorder:        "#22ffffff"
    readonly property color polkitFieldBorderFocus:   accent

    // Identity selector text
    readonly property color polkitUserLabel:          textDim
    readonly property color polkitUserValue:          accent

    // Input prompt label above password field
    readonly property color polkitInputPrompt:        textDim

    // TextInput inside password field
    readonly property color polkitInputText:          textMain
    readonly property color polkitInputSelection:     Qt.rgba(accent.r, accent.g, accent.b, 0.33)
    readonly property color polkitInputSelectedText:  bg

    // Eye / show-password toggle
    readonly property color polkitEyeIcon:            textDim
    readonly property color polkitEyeIconHover:       accent

    // Authenticate button
    readonly property color polkitAuthBg:             accent
    readonly property color polkitAuthBgHover:        Qt.lighter(accent, 1.15)
    readonly property color polkitAuthText:           bg

    // Cancel button
    readonly property color polkitCancelBg:           "transparent"
    readonly property color polkitCancelBgHover:      "#22ffffff"
    readonly property color polkitCancelBorder:       "#22ffffff"
    readonly property color polkitCancelText:         textDim
}
