:root{
 --theme-primary-start:#5da7d5;
 --theme-primary-end:#0062a8;
 --theme-secondary-start:#eaf7ff;
 --theme-secondary-end:#cbeaff;
 --theme-button-text:#ffffff;
 --theme-button-angle:90deg;
 --theme-button-radius:16px;
 --theme-score-start:#2bc5c2;
 --theme-score-end:#0d8be8;
 --theme-score-text:#ffffff;
 --theme-login-card-width:560px;
 --theme-login-pad-top:28px;
 --theme-login-pad-bottom:28px;
 --theme-login-pad-x:28px;
 --theme-login-logo-size:62px;
 --theme-login-heading-size:31px;
 --theme-login-input-height:64px;
 --theme-login-button-height:58px;
 --theme-login-input-button-gap:22px;
 --theme-login-button-shortcut-gap:24px;
 --theme-login-shortcut-gap:12px;
 --theme-login-tabs-gap:22px;
 --theme-user-shell-width:960px;
 --theme-user-card-radius:24px;
 --theme-user-card-gap:18px;
 --theme-user-profile-padding:24px;
 --theme-user-score-size:104px;
 --theme-user-journey-gap:12px;
 --theme-user-bottom-nav-height:58px;
 --theme-user-text-color:#102033;
 --theme-user-muted-color:#65758a;
 --theme-admin-login-heading:#0f172a;
 --theme-admin-login-subtitle:#475569;
 --theme-admin-login-label:#334155;
 --theme-admin-login-input:#1e293b;
 --theme-admin-login-link:#0ea5e9;
 --theme-admin-login-footer:#64748b;
 --theme-user-heading-color:#0f172a;
 --theme-user-card-text-color:#334155;
 --theme-user-button-text-color:#ffffff;
 --theme-user-bottom-nav-color:#0f172a;
 --theme-user-bottom-nav-active-color:#0ea5e9;
 --theme-user-qr-start:#173a60;
 --theme-user-qr-end:#0d5f9f;
 --theme-user-qr-text:#ffffff;
 --theme-user-scan-start:#10b981;
 --theme-user-scan-end:#0d5f9f;
 --theme-user-scan-text:#ffffff;
 --theme-user-secondary-bg:#eaf5fb;
 --theme-user-secondary-text:#173a60;
 --theme-user-secondary-border:#d5e8f4;
 --theme-user-qr-size:190px;
 --theme-primary-gradient:linear-gradient(var(--theme-button-angle),var(--theme-primary-start),var(--theme-primary-end));
 --theme-secondary-gradient:linear-gradient(var(--theme-button-angle),var(--theme-secondary-start),var(--theme-secondary-end));
}
.btn:not(.ghost):not(.danger):not(.dark),
.btn-wide:not(.ghost):not(.danger),
.scan-btn,
button.btn:not(.ghost):not(.danger):not(.dark){
 background:var(--theme-primary-gradient)!important;
 color:var(--theme-button-text)!important;
 border-radius:var(--theme-button-radius)!important;
}
.btn.ghost,.btn.outline{
 background:var(--theme-secondary-gradient)!important;
 border-radius:var(--theme-button-radius)!important;
}

.v34-score{
 background:linear-gradient(135deg,var(--theme-score-start),var(--theme-score-end))!important;
 color:var(--theme-score-text)!important;
}
.v34-score b,.v34-score small{color:var(--theme-score-text)!important}

/* Login theme variables */
.user-login-card{
 max-width:var(--theme-login-card-width)!important;
 padding:var(--theme-login-pad-top) var(--theme-login-pad-x) var(--theme-login-pad-bottom)!important;
}
.user-login-card .user-brand-mark{
 width:var(--theme-login-logo-size)!important;
 height:var(--theme-login-logo-size)!important;
}
.user-login-card h1{font-size:var(--theme-login-heading-size)!important}
.user-login-card .code-input,
.user-login-card input[name="phone"]{
 min-height:var(--theme-login-input-height)!important;
}
.user-login-card form>.btn-wide{
 min-height:var(--theme-login-button-height)!important;
 margin-top:var(--theme-login-input-button-gap)!important;
 margin-bottom:0!important;
}
.user-login-card .login-shortcuts{
 margin-top:var(--theme-login-button-shortcut-gap)!important;
 gap:var(--theme-login-shortcut-gap)!important;
}
.user-login-card .login-mode-tabs{margin-bottom:var(--theme-login-tabs-gap)!important}
.user-login-card .recovery-form + .user-link{margin-top:var(--theme-login-button-shortcut-gap)!important}

/* User Panel theme variables */
.v34-shell{max-width:var(--theme-user-shell-width)!important}
.v34-user .user-card,.v34-user .v34-profile,.v34-user .v34-reward,.v34-user .v34-journey-card{border-radius:var(--theme-user-card-radius)!important}
.v34-grid-top,.v34-rewards{gap:var(--theme-user-card-gap)!important}
.v34-profile{padding:var(--theme-user-profile-padding)!important}
.v34-score{width:var(--theme-user-score-size)!important;height:var(--theme-user-score-size)!important}
.v34-journey{gap:var(--theme-user-journey-gap)!important}
.v34-dock a,.v34-dock button{min-height:var(--theme-user-bottom-nav-height)!important}

/* V49 User panel glass/background */
.user-body{background-image:linear-gradient(rgba(0,109,175,0.18),rgba(0,109,175,0.18)),url('../')!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important}
.v34-profile{background:rgba(255,255,255,0.94)!important;backdrop-filter:blur(18px)!important}
.v34-progress{background:rgba(255,255,255,0.94)!important;backdrop-filter:blur(18px)!important}
.v34-qr-card{background:rgba(255,255,255,0.94)!important;backdrop-filter:blur(18px)!important}
.v34-journey-card{background:rgba(255,255,255,0.94)!important;backdrop-filter:blur(18px)!important}
.v34-reward{background:rgba(255,255,255,0.94)!important;backdrop-filter:blur(18px)!important}
.v34-dock{background:rgba(255,255,255,0.92)!important;backdrop-filter:blur(18px)!important}
.admin-login .login-hero{background-image:linear-gradient(rgba(0,73,120,calc(1 - 0.92)),rgba(0,73,120,calc(1 - 0.92))),url('../assets/uploads/admin_login_bg_20260801061008_0c48745f.jpg')!important;background-size:cover!important;background-position:center!important;backdrop-filter:blur(18px)!important}
@media(max-width:700px){.user-body{background-image:linear-gradient(rgba(0,109,175,0.18),rgba(0,109,175,0.18)),url('../assets/uploads/user_bg_mobile_20260803022410_d3bd2178.png')!important}}

/* V50 User Panel visibility and Message Wall */
.v34-user .user-card,.v34-user .v34-profile,.v34-user .v34-reward,.v34-user .v34-journey-card{
 color:var(--theme-user-text-color)!important;
}
.v34-user .user-card h1,.v34-user .user-card h2,.v34-user .user-card h3,
.v34-user .v34-profile h1,.v34-user .v34-profile h2,.v34-user .v34-profile h3,
.v34-user .v34-reward b,.v34-user .v34-journey-card h3,.v34-user .v34-code{
 color:var(--theme-user-text-color)!important;
}
.v34-user .user-card p,.v34-user .user-card span,.v34-user .user-card small,
.v34-user .v34-profile p,.v34-user .v34-reward span,.v34-user .v34-journey-card p,.v34-user .v34-journey-card small{
 color:var(--theme-user-muted-color)!important;
}
.v34-qr-message-card{background:rgba(255,255,255,0.94)!important;backdrop-filter:blur(18px)!important}
.compact-qr-panel img{width:var(--theme-user-qr-size)!important;height:var(--theme-user-qr-size)!important}

/* V52 Font theme controls */
.login-form h2,.login-hero h1{color:var(--theme-admin-login-heading)!important}
.login-form>p,.login-hero p{color:var(--theme-admin-login-subtitle)!important}
.login-form label{color:var(--theme-admin-login-label)!important}
.login-form input{color:var(--theme-admin-login-input)!important}
.login-form a{color:var(--theme-admin-login-link)!important}
.login-form small,.login-hero small{color:var(--theme-admin-login-footer)!important}
.v34-user h1,.v34-user h2,.v34-user h3,.v34-user .v34-profile h1,.v34-user .v34-journey-card h3{color:var(--theme-user-heading-color)!important}
.v34-user .user-card,.v34-user .v34-profile,.v34-user .v34-reward,.v34-user .v34-journey-card{color:var(--theme-user-card-text-color)!important}
.v34-user .btn,.v34-user button{color:var(--theme-user-button-text-color)!important}
.v34-user .v34-dock a,.v34-user .v34-dock button{color:var(--theme-user-bottom-nav-color)!important}
.v34-user .v34-dock .active,.v34-user .v34-dock button:hover{color:var(--theme-user-bottom-nav-active-color)!important}

/* V54 User QR and Scan button colors */
.v34-user .v53-qr-card{
 background:linear-gradient(145deg,var(--theme-user-qr-start),var(--theme-user-qr-end))!important;
 color:var(--theme-user-qr-text)!important;
 border-color:rgba(255,255,255,.24)!important;
}
.v34-user .v53-qr-card h2,.v34-user .v53-qr-card p,.v34-user .v53-qr-card small,
.v34-user .v53-qr-card .v34-code,.v34-user .v53-qr-card .user-eyebrow{color:var(--theme-user-qr-text)!important}
.v34-user .v53-qr-card .user-eyebrow{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.22)!important}
.v34-user .v53-scanner-card>.btn.btn-wide,.v34-user .v34-dock button{
 background:linear-gradient(90deg,var(--theme-user-scan-start),var(--theme-user-scan-end))!important;
 color:var(--theme-user-scan-text)!important;
}

/* V55 precise User Panel button colors */
.v34-user .btn:not(.ghost):not(.danger),
.v34-user .v53-scanner-card>.btn.btn-wide,
.v34-user .v34-dock button{
 color:var(--theme-user-button-text-color,#FFFFFF)!important;
}
.v34-user .btn.ghost,
.v34-user .v34-dock a{
 background:var(--theme-user-secondary-bg,#EAF5FB)!important;
 color:var(--theme-user-secondary-text,#173A60)!important;
 border-color:var(--theme-user-secondary-border,#D5E8F4)!important;
}
.v34-user .btn.danger{color:#FFFFFF!important}
.v34-user .v53-hamburger,
.v34-user .v53-notification,
.v34-user .emoji-picker button,
.v34-user .v53-menu-head button{
 color:var(--theme-user-secondary-text,#173A60)!important;
}
.v34-user .v34-dock button{
 background:linear-gradient(90deg,var(--theme-user-scan-start),var(--theme-user-scan-end))!important;
 color:var(--theme-user-scan-text,#FFFFFF)!important;
}
