/* Fallback neutral theme – used before API theme is injected. */
:root {
  --theme-primary: #3d3d3d;
  --theme-secondary: #4a4a4a;
}

.btn-theme-primary{background-color:var(--theme-primary);color:#fff;}
.btn-theme-primary:hover{background-color:var(--theme-secondary);}
.shadow-theme-primary{box-shadow:0 5px 20px rgba(0,0,0,0.2);}
.shadow-theme-primary-sm{box-shadow:0 0 15px rgba(0,0,0,0.2);}
.shadow-theme-primary-lg{box-shadow:0 0 20px rgba(0,0,0,0.2);}
.text-theme-primary{color:var(--theme-primary);}
.text-theme-primary:hover{color:var(--theme-secondary);}
.border-theme-primary{border-color:var(--theme-primary);}
.border-theme-primary\/30{border-color:rgba(61,61,61,0.3);}
.border-theme-primary\/20{border-color:rgba(61,61,61,0.2);}
.border-theme-primary\/80{border-color:rgba(61,61,61,0.8);}
.border-t-theme-primary{border-top-color:var(--theme-primary);}
.input-theme-focus:focus{border-color:var(--theme-primary) !important;background-color:rgba(61,61,61,0.05) !important;}
.focus-within\:border-theme-primary:focus-within{border-color:var(--theme-primary);}
.bg-theme-primary{background-color:var(--theme-primary);}
.bg-theme-primary\/10{background-color:rgba(61,61,61,0.1);}
.bg-theme-primary\/5{background-color:rgba(61,61,61,0.05);}
.hover\:bg-theme-primary:hover{background-color:var(--theme-primary);}
.avatar-ring-theme{background-image:linear-gradient(to top right,var(--theme-primary),var(--theme-secondary));}
.sidebar-link-active{background-color:var(--theme-primary);color:#fff;}
.text-primary{color:var(--theme-primary);}
.custom-checkbox:checked{background-color:var(--theme-primary) !important;border-color:var(--theme-primary) !important;}
.hover\:border-theme-primary\/40:hover,.hover\:border-theme-primary\/60:hover{border-color:rgba(61,61,61,0.5) !important;}

/* Secondary helpers for things like pulses/glows. */
.bg-theme-secondary{background-color:var(--theme-secondary);}
.shadow-theme-secondary-glow{box-shadow:0 0 10px var(--theme-secondary);}

/* Hide logo text/img until theme-from-api sets proper logo to avoid flicker. */
.logo-loading #sidebar-logo,
.logo-loading #mobile-logo { visibility: hidden; }
