/* ================================================================================= */
/* THEME CORE CSS                                                                    */
/* Single source of truth for layout, colors, and shadows using CSS variables.       */
/* ================================================================================= */

/* BACKGROUNDS */
.bg-main {
    background-color: var(--bg-main);
    color: var(--text-color-primary);
}

.bg-secondary {
    background-color: var(--bg-secondary);
    color: var(--text-color-primary);
}

.bg-tertiary {
    background-color: var(--bg-tertiary);
    color: var(--text-color-primary);
}

.bg-modal {
    background-color: var(--bg-modal);
    color: var(--text-color-primary);
}

.bg-base-100 { background-color: var(--bg-main); }
.bg-base-200 { background-color: var(--bg-secondary); }
.bg-base-300 { background-color: var(--border-color-primary); }

/* TEXT COLORS */
.text-primary { color: var(--text-color-primary); }
.text-secondary { color: var(--text-color-secondary); }
.text-tertiary { color: var(--text-color-tertiary); }
.text-quaternary { color: var(--text-color-quaternary); }
.text-accent { color: var(--focus-ring-color); }

.text-success { color: var(--color-success, #22c55e); }
.text-danger { color: var(--color-danger, #ef4444); }
.text-warning { color: var(--color-warning, #facc15); }
.text-status-red { color: var(--status-color-red, #ef4444); }
.text-status-yellow { color: var(--status-color-yellow, #facc15); }
.text-status-green { color: var(--status-color-green, #22c55e); }

/* BUTTONS */
.btn-primary { background-color: var(--btn-primary-bg); color: var(--text-color-on-primary); border-color: var(--btn-primary-bg); }
.btn-primary:hover { filter: brightness(1.1); }

.btn-secondary { background-color: var(--btn-secondary-bg); color: var(--text-color-on-secondary); border-color: var(--btn-secondary-bg); }
.btn-secondary:hover { filter: brightness(1.1); }

.btn-tertiary { background-color: var(--btn-tertiary-bg); color: var(--text-color-on-tertiary); border-color: var(--btn-tertiary-bg); }
.btn-tertiary:hover { filter: brightness(1.1); }

.btn-confirm { background-color: var(--btn-confirm-bg); color: var(--text-color-on-confirm); border-color: var(--btn-confirm-bg); }
.btn-confirm:hover { filter: brightness(1.1); }

.btn-deny { background-color: var(--btn-deny-bg); color: var(--text-color-on-deny); border-color: var(--btn-deny-bg); }
.btn-deny:hover { filter: brightness(1.1); }

.btn-clear { background-color: transparent; color: var(--text-color-primary); border: 1px solid var(--border-color-primary); }
.btn-clear:hover { background-color: var(--bg-secondary); }

/* SHADOWS & GLASSMORPHISM */
.shadow-glass {
    box-shadow: 0 8px 32px var(--shadow-color, rgba(0,0,0,0.1));
    backdrop-filter: var(--glass-blur, none);
}

.card {
    box-shadow: 0 4px 12px var(--shadow-color, rgba(0,0,0,0.1));
    backdrop-filter: var(--glass-blur, none);
}

.modal-content {
    box-shadow: 0 4px 12px var(--shadow-color, rgba(0,0,0,0.1));
    backdrop-filter: var(--glass-blur, none);
}

.collapsible-section {
    box-shadow: 0 4px 12px var(--shadow-color, rgba(0,0,0,0.1));
    backdrop-filter: var(--glass-blur, none);
}
