/* UI atoms: buttons, inputs, links, icon color */
.btn-primary { display:inline-flex; align-items:center; justify-content:center; border-radius:0.5rem; padding:0.625rem 1rem; transition:all 150ms ease-in-out; background: var(--brand-dark); color:#fff; }
.btn-primary:hover { filter: brightness(1.05); }
.btn-secondary { display:inline-flex; align-items:center; justify-content:center; border-radius:0.5rem; padding:0.625rem 1rem; transition:all 150ms ease-in-out; background: color-mix(in srgb, var(--brand-accent) 20%, white); color: var(--brand-dark); }
.btn-secondary:hover { filter: brightness(1.05); }
.btn-outline { display:inline-flex; align-items:center; justify-content:center; border-radius:0.5rem; padding:0.625rem 1rem; transition:all 150ms ease-in-out; background: #fff; color: var(--brand-dark); border: 1px solid #d1d5db; }
.btn-outline:hover { background: #f9fafb; }

.c-icon-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 0.375rem; padding: 0.5rem; color: var(--brand-dark); }
.c-icon-btn:hover { background: rgba(23,28,33,0.1); }

.c-text-link { font-size: 0.875rem; font-weight: 500; color: var(--brand-dark); }
.c-text-link:hover { color: var(--brand-accent); }

.c-input { border: 1px solid #d1d5db; border-radius: 0.5rem; padding: 0.5rem 0.75rem; outline: none; }
.c-input:focus { border-color: var(--brand-accent); box-shadow: 0 0 0 3px rgba(186,163,97,0.3); }

.c-icon-brand { color: var(--brand-accent); }

/* Badges */
.c-badge { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; line-height: 1rem; padding: 0.125rem 0.5rem; border-radius: 9999px; border: 1px solid transparent; }
.c-badge__dot { width: 0.375rem; height: 0.375rem; border-radius: 9999px; }
.c-badge--accent { background: color-mix(in srgb, var(--brand-accent) 15%, white); color: var(--brand-dark); border-color: color-mix(in srgb, var(--brand-accent) 40%, white); }
.c-badge--gray { background: #f3f4f6; color: #374151; border-color: #e5e7eb; }
.c-badge--success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.c-badge--warning { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.c-badge--danger { background: #fef2f2; color: #991b1b; border-color: #fecaca; }

/* Badge dot color helpers */
.u-dot-accent { background: var(--brand-accent); }
.u-dot-gray { background: #9ca3af; }
.u-dot-success { background: #10b981; }
.u-dot-warning { background: #f59e0b; }
.u-dot-danger { background: #ef4444; }
