/**
 * SOMA RITUAL - Global Dark Theme
 * Consolidated styles for Admin, Member, and Public pages.
 */
:root {
    /* Brand Colors - Gold & Deep Purple/Black */
    --bg: #0f0518;
    --card: rgba(26,11,46,0.95);
    --gold: #c5a059;
    --gold-hover: #e6b86a;
    --gold-dim: #8a6d3b;
    
    --border: rgba(255,255,255,0.12);
    --text: #ffffff;
    --text-muted: #cccccc;
    --muted: #cccccc;
    
    --primary-grad: linear-gradient(135deg, #c5a059 0%, #a67c00 100%);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);
    
    /* Legacy/Admin Compatibility Aliases */
    --soma-bg: var(--bg);
    --soma-card: var(--card);
    --soma-primary: var(--gold); /* Override purple with gold for consistency */
    --soma-secondary: #4a2c00;   /* Dark gold/brown instead of purple */
    --soma-gold: var(--gold);
    --soma-text: var(--text);
    --soma-text-muted: var(--muted);
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: var(--border);
}

/* Global Reset & Base */
body {
    background-color: var(--bg) !important;
    color: var(--text) !important;
    font-family: 'Noto Sans KR', sans-serif;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    color: var(--text) !important;
}

.text-muted {
    color: var(--muted) !important;
}

.text-gold {
    color: var(--gold) !important;
}

/* Cards */
.card {
    background-color: var(--card) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

.card-header {
    background-color: rgba(0,0,0,0.2) !important;
    border-bottom: 1px solid var(--border) !important;
}

.card-footer {
    background-color: rgba(0,0,0,0.2) !important;
    border-top: 1px solid var(--border) !important;
}

/* Forms */
.form-control, .form-select {
    background-color: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

.form-control:focus, .form-select:focus {
    background-color: rgba(0, 0, 0, 0.5) !important;
    border-color: var(--gold) !important;
    color: var(--text) !important;
    box-shadow: 0 0 0 0.25rem rgba(197, 160, 89, 0.25) !important;
}

.form-control::placeholder {
    color: rgba(255,255,255,0.4) !important;
}

/* Buttons */
.btn-primary, .btn-gold {
    background: var(--primary-grad) !important;
    border: none !important;
    color: #000 !important;
    font-weight: bold;
}

.btn-primary:hover, .btn-gold:hover {
    filter: brightness(1.1);
    color: #000 !important;
}

.btn-outline-light {
    border-color: var(--border) !important;
    color: var(--text) !important;
}

.btn-outline-light:hover {
    background-color: var(--border) !important;
}

/* Tables */
.table {
    color: var(--text) !important;
    --bs-table-color: var(--text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--border);
}

.table thead th {
    color: var(--gold) !important;
    border-bottom: 2px solid var(--border) !important;
}

.table td, .table th {
    border-color: var(--border) !important;
}

/* Modals */
.modal-content {
    background-color: var(--bg) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

.modal-header, .modal-footer {
    border-color: var(--border) !important;
}

.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Navbar/Sidebar */
.navbar, .sidebar, .admin-sidebar {
    background-color: var(--card) !important;
    border-bottom: 1px solid var(--border);
}

.nav-link {
    color: var(--muted) !important;
}

.nav-link.active, .nav-link:hover {
    color: var(--gold) !important;
}

/* Badges */
.badge {
    font-weight: normal;
}

/* Alerts */
.alert-info {
    background-color: rgba(13, 202, 240, 0.1) !important;
    border-color: rgba(13, 202, 240, 0.2) !important;
    color: #0dcaf0 !important;
}

.alert-success {
    background-color: rgba(25, 135, 84, 0.1) !important;
    border-color: rgba(25, 135, 84, 0.2) !important;
    color: #198754 !important; /* Keep success green visible */
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-color: rgba(220, 53, 69, 0.2) !important;
    color: #ea868f !important;
}

.alert-warning {
    background-color: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.2) !important;
    color: #ffc107 !important;
}
