:root {
    --color-bg-start: #f8f6f2;
    --color-bg-mid: #f1f2f4;
    --color-bg-end: #e7eaef;
    --color-border: #b0b7c2;
    --color-border-hover: #929baa;
    --color-gold: #b58b4a;
    --color-gold-muted: #c8a26a;
    --color-gold-strong: #9a6f37;
    --color-panel-bg: rgba(255, 255, 255, 0.92);
    --color-panel-strong: #eef1f5;
    --color-warning-bg: #fff3dd;
    --color-warning-border: #d8b36d;
    --color-success: #3f6c52;
    --color-danger: #b15a5a;
    --color-success-bg: #4f7b5d;
    --color-success-bg-hover: #436b52;
    --color-danger-bg: #c25757;
    --color-danger-bg-hover: #b14b4b;
    --color-alert-info: #e6eef6;
    --color-alert-success: #e1f0e6;
    --color-alert-error: #f2e1de;
}

.theme-body {
    background: linear-gradient(135deg, var(--color-bg-start), var(--color-bg-mid), var(--color-bg-end));
    color: #111827;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #0f172a;
}

.text-gray-300 {
    color: #374151;
}

.text-gray-400 {
    color: #2f3b47;
}

.text-gray-500 {
    color: #24303a;
}

.text-muted {
    color: #374151;
}

.text-subtle {
    color: #2f3b47;
}

.text-faint {
    color: #24303a;
}

.theme-nav {
    background-color: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--color-border);
}

.theme-footer {
    background-color: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--color-border);
}

.brand-gradient {
    background-image: linear-gradient(90deg, var(--color-gold-muted), var(--color-gold));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

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

.accent-text-muted {
    color: var(--color-gold-muted);
}

.accent-hover:hover {
    color: var(--color-gold);
}

.accent-hover-strong:hover {
    color: var(--color-gold-strong);
}

.border-accent {
    border-color: var(--color-border);
}

.border-accent-hover:hover {
    border-color: var(--color-gold-muted);
}

.panel {
    background-color: var(--color-panel-bg);
    border: 1px solid var(--color-border);
    backdrop-filter: blur(12px);
}

.panel-strong {
    background-color: var(--color-panel-strong);
    border: 1px solid var(--color-border);
}

.panel-warning {
    background-color: var(--color-warning-bg);
    border: 1px solid var(--color-warning-border);
}

.btn-primary {
    background-color: #3b4a5a;
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #2f3b47;
}

.btn-gold {
    background-color: var(--color-gold-muted);
    color: #3a2b1a;
}

.btn-gold:hover {
    background-color: var(--color-gold);
}

.btn-danger {
    background-color: var(--color-danger-bg);
    color: #ffffff;
}

.btn-danger:hover {
    background-color: var(--color-danger-bg-hover);
}

.btn-approve {
    background-color: var(--color-success-bg);
    color: #ffffff;
}

.btn-approve:hover {
    background-color: var(--color-success-bg-hover);
}

.btn-primary,
.btn-gold,
.btn-danger,
.btn-approve {
    transition: background-color 0.2s ease;
}

.badge-role {
    background-color: #efe8dc;
    border: 1px solid var(--color-border);
}

.stat-positive {
    color: var(--color-success);
}

.stat-negative {
    color: var(--color-danger);
}

.alert-success {
    background-color: var(--color-alert-success);
}

.alert-error {
    background-color: var(--color-alert-error);
}

.alert-info {
    background-color: var(--color-alert-info);
}

.social-icon {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid var(--color-border);
    color: #3b4a5a;
}

.social-icon:hover {
    border-color: var(--color-gold-muted);
    color: var(--color-gold);
}

.form-theme input,
.form-theme select,
.form-theme textarea {
    width: 100%;
    padding: 0.5rem 1rem;
    background-color: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    color: #1f2933;
}

.form-theme input[type="checkbox"] {
    width: auto;
}

.form-theme input:focus,
.form-theme select:focus,
.form-theme textarea:focus {
    border-color: var(--color-gold-muted);
    outline: none;
}
