/* ============================================================================
   HR Agent — Utilities
   Color, background, border, and small layout helpers used across templates.
   All theme-aware via tokens.
   ============================================================================ */

/* ----- Text colors ----- */
.text-primary       { color: var(--brand-500) !important; }
.text-primary-dark  { color: var(--brand-600) !important; }
.text-primary-light { color: var(--brand-500) !important; }
.text-success       { color: var(--success) !important; }
.text-danger        { color: var(--danger)  !important; }
.text-warning       { color: var(--warning) !important; }
.text-info          { color: var(--info)    !important; }
.text-purple        { color: var(--purple)  !important; }
.text-muted         { color: var(--text-muted) !important; }
.text-muted-custom  { color: var(--text-muted) !important; }
.text-secondary     { color: var(--text-secondary) !important; }

/* Brand status text colors (legacy alias names kept for templates) */
.text-green  { color: var(--success) !important; }
.text-red    { color: var(--danger)  !important; }
.text-blue   { color: var(--brand-500) !important; }
.text-cyan   { color: var(--info)    !important; }
.text-orange { color: #fd7e14 !important; }
.text-indigo { color: #6741d9 !important; }
.text-yellow { color: var(--warning) !important; }
[data-theme="dark"] .text-orange { color: #fb923c !important; }
[data-theme="dark"] .text-indigo { color: #a5b4fc !important; }

/* ----- Background colors (filled) ----- */
.bg-primary       { background-color: var(--brand-500) !important; color: #fff !important; }
.bg-primary-dark  { background-color: var(--brand-600) !important; color: #fff !important; }
.bg-primary-light { background-color: var(--brand-500) !important; color: #fff !important; }
.bg-success       { background-color: var(--success) !important; color: #fff !important; }
.bg-danger        { background-color: var(--danger)  !important; color: #fff !important; }
.bg-warning       { background-color: var(--warning) !important; color: #fff !important; }
.bg-purple        { background-color: var(--purple)  !important; color: #fff !important; }
.bg-info          { background-color: var(--info)    !important; color: #fff !important; }

[data-theme="dark"] .bg-primary,
[data-theme="dark"] .bg-primary-dark,
[data-theme="dark"] .bg-primary-light { color: #0b1216 !important; }

/* ----- Background colors (light tints) ----- */
.bg-primary-lt {
    background-color: var(--brand-tint) !important;
    color: var(--brand-600) !important;
}
[data-theme="dark"] .bg-primary-lt { color: var(--teal-300) !important; }

.bg-success-lt {
    background-color: var(--success-bg) !important;
    color: var(--success) !important;
}
.bg-danger-lt {
    background-color: var(--danger-bg) !important;
    color: var(--danger) !important;
}
.bg-warning-lt {
    background-color: var(--warning-bg) !important;
    color: var(--warning) !important;
}
.bg-info-lt,
.bg-cyan-lt,
.bg-blue-lt {
    background-color: var(--info-bg) !important;
    color: var(--info) !important;
}
.bg-purple-lt {
    background-color: var(--purple-bg) !important;
    color: var(--purple) !important;
}

/* CV scanner / extra badge variants */
.bg-green     { background-color: var(--success) !important; color: #fff !important; }
.bg-green-lt  { background-color: var(--success-bg) !important; color: var(--success) !important; }
.bg-red       { background-color: var(--danger)  !important; color: #fff !important; }
.bg-red-lt    { background-color: var(--danger-bg) !important; color: var(--danger) !important; }
.bg-yellow    { background-color: var(--warning) !important; color: #1a1a1a !important; }
.bg-yellow-lt { background-color: var(--warning-bg) !important; color: var(--warning) !important; }
.bg-cyan      { background-color: var(--info) !important; color: #fff !important; }

.bg-lime      { background-color: #84cc16 !important; color: #fff !important; }
.bg-lime-lt   { background-color: rgba(132, 204, 22, 0.12) !important; color: #65a30d !important; }
[data-theme="dark"] .bg-lime-lt { color: #a3e635 !important; }

.bg-orange    { background-color: #fd7e14 !important; color: #fff !important; }
.bg-orange-lt { background-color: rgba(253, 126, 20, 0.12) !important; color: #c2410c !important; }
[data-theme="dark"] .bg-orange-lt { color: #fb923c !important; }

.bg-indigo    { background-color: #6741d9 !important; color: #fff !important; }
.bg-indigo-lt { background-color: rgba(103, 65, 217, 0.12) !important; color: #5b21b6 !important; }
[data-theme="dark"] .bg-indigo-lt { color: #a5b4fc !important; }

.bg-pink-lt   { background-color: rgba(214, 51, 132, 0.12) !important; color: #be185d !important; }
[data-theme="dark"] .bg-pink-lt { color: #f9a8d4 !important; }

.bg-teal-lt   { background-color: var(--brand-tint) !important; color: var(--brand-500) !important; }
[data-theme="dark"] .bg-teal-lt { color: var(--teal-300) !important; }

.bg-muted        { background-color: var(--text-muted) !important; color: #fff !important; }
.bg-secondary-lt { background-color: var(--bg-surface-sunken) !important; color: var(--text-secondary) !important; }

/* Surface utilities (for explicit theming) */
.bg-surface         { background-color: var(--bg-surface) !important; }
.bg-surface-raised  { background-color: var(--bg-surface-raised) !important; }
.bg-surface-sunken  { background-color: var(--bg-surface-sunken) !important; }
.bg-page            { background-color: var(--bg-page) !important; }

/* ----- Border colors ----- */
.border-primary { border-color: var(--brand-500) !important; }
.border-success { border-color: var(--success) !important; }
.border-danger  { border-color: var(--danger)  !important; }
.border-warning { border-color: var(--warning) !important; }
.border-info    { border-color: var(--info)    !important; }
.border-purple  { border-color: var(--purple)  !important; }

.border-subtle  { border-color: var(--border-subtle) !important; }
.border-default { border-color: var(--border-default) !important; }
.border-strong  { border-color: var(--border-strong) !important; }
