:root {
    --ra-bg: #0a0a0a;
    --ra-panel: #111111;
    --ra-border: #1e1e1e;
    --ra-text: #e2e8f0;
    --ra-muted: #64748b;
    --ra-red: #dc2626;
    --ra-red-dark: #991b1b;
    --ra-gold: #d4af37;
    --ra-hover: #1a1a1a;
}

body {
    background: var(--ra-bg) !important;
    color: var(--ra-text) !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Header */
#header {
    background: var(--ra-panel) !important;
    border-bottom: 2px solid var(--ra-red) !important;
}
#header h1 {
    color: var(--ra-gold) !important;
    font-weight: 800;
    letter-spacing: 2px;
}
#header h1 a { color: var(--ra-gold) !important; }
#user-tools a { color: var(--ra-muted) !important; }
#user-tools a:hover { color: var(--ra-gold) !important; }
#branding h1 { color: var(--ra-gold) !important; }

/* Nav */
#nav-sidebar {
    background: var(--ra-panel) !important;
}
#nav-sidebar .module h2 {
    color: var(--ra-gold) !important;
    font-size: 0.75rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--ra-border) !important;
    padding: 12px 20px;
}
#nav-sidebar .module ul {
    border: none !important;
}
#nav-sidebar .module li a {
    color: var(--ra-text) !important;
    background: transparent !important;
    padding: 8px 20px;
    font-size: 0.9rem;
}
#nav-sidebar .module li a:hover {
    background: var(--ra-hover) !important;
    color: var(--ra-gold) !important;
}
#nav-sidebar .module li.selected a {
    background: var(--ra-red-dark) !important;
    color: #fff !important;
}

/* Main content */
#content-main {
    background: transparent !important;
}
.content {
    background: var(--ra-panel) !important;
    border: 1px solid var(--ra-border) !important;
    border-radius: 6px;
    padding: 24px;
}
.content h1 {
    color: var(--ra-gold) !important;
    font-size: 1.5rem;
    margin-bottom: 20px;
}

/* Table */
#changelist {
    background: var(--ra-panel) !important;
    border: 1px solid var(--ra-border) !important;
    border-radius: 6px;
}
#changelist .object-tools {
    background: transparent !important;
}
#changelist .object-tools a {
    background: var(--ra-red) !important;
    color: #fff !important;
    border-radius: 4px;
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
}
#changelist .object-tools a:hover {
    background: var(--ra-red-dark) !important;
}

/* Changelist table */
#changelist table thead th {
    background: var(--ra-bg) !important;
    color: var(--ra-gold) !important;
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-bottom: 2px solid var(--ra-border) !important;
}
#changelist table tbody tr {
    border-bottom: 1px solid var(--ra-border) !important;
}
#changelist table tbody tr:hover {
    background: var(--ra-hover) !important;
}
#changelist table tbody td, #changelist table tbody th {
    color: var(--ra-text) !important;
    padding: 10px 12px;
}
#changelist table tbody a {
    color: var(--ra-gold) !important;
    text-decoration: none;
}
#changelist table tbody a:hover {
    color: #fff !important;
    text-decoration: underline;
}

/* Form fields */
.form-row {
    border-bottom: 1px solid var(--ra-border) !important;
}
.form-row label {
    color: var(--ra-gold) !important;
    font-weight: 600;
    font-size: 0.85rem;
}
.form-row input, .form-row select, .form-row textarea {
    background: var(--ra-bg) !important;
    border: 1px solid var(--ra-border) !important;
    color: var(--ra-text) !important;
    border-radius: 4px;
    padding: 8px 12px;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus {
    border-color: var(--ra-red) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(220,38,38,0.15) !important;
}
.form-row .help { color: var(--ra-muted) !important; }
.form-row .readonly { color: var(--ra-gold) !important; }

/* Buttons */
.submit-row {
    background: var(--ra-bg) !important;
    border-top: 1px solid var(--ra-border) !important;
    padding: 16px 0;
}
.submit-row input[type="submit"], .button, .button:not([type="submit"]) {
    background: var(--ra-red) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    padding: 8px 20px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}
.submit-row input[type="submit"]:hover, .button:hover {
    background: var(--ra-red-dark) !important;
}
.submit-row .default input {
    background: var(--ra-gold) !important;
    color: #0a0a0a !important;
}
.submit-row .default input:hover {
    background: #b8942a !important;
}

/* Search */
#changelist-search input {
    background: var(--ra-bg) !important;
    border: 1px solid var(--ra-border) !important;
    color: var(--ra-text) !important;
    border-radius: 4px;
    padding: 8px 12px;
}
#changelist-search input:focus {
    border-color: var(--ra-red) !important;
    box-shadow: 0 0 0 2px rgba(220,38,38,0.15) !important;
}

/* Messages */
.messages .success {
    background: #052e16 !important;
    color: #4ade80 !important;
    border: 1px solid #166534 !important;
    border-radius: 4px;
}
.messages .error {
    background: #450a0a !important;
    color: #fca5a5 !important;
    border: 1px solid var(--ra-red) !important;
    border-radius: 4px;
}
.messages .warning {
    background: #451a03 !important;
    color: #fbbf24 !important;
    border: 1px solid #b45309 !important;
    border-radius: 4px;
}

/* Footer */
#footer {
    color: var(--ra-muted) !important;
    font-size: 0.8rem;
}

/* Filter sidebar */
#changelist-filter {
    background: var(--ra-panel) !important;
    border: 1px solid var(--ra-border) !important;
    border-radius: 6px;
}
#changelist-filter h2 {
    color: var(--ra-gold) !important;
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 12px 16px;
}
#changelist-filter li a {
    color: var(--ra-text) !important;
    padding: 4px 16px;
    font-size: 0.85rem;
}
#changelist-filter li a:hover {
    color: var(--ra-gold) !important;
}
#changelist-filter li.selected a {
    color: #fff !important;
    background: var(--ra-red-dark) !important;
}

/* Pagination */
.pager a, .pager .this-page {
    background: var(--ra-panel) !important;
    color: var(--ra-text) !important;
    border: 1px solid var(--ra-border) !important;
    border-radius: 3px;
    padding: 4px 10px;
    font-size: 0.8rem;
}
.pager a:hover, .pager .this-page {
    background: var(--ra-red) !important;
    color: #fff !important;
    border-color: var(--ra-red) !important;
}

/* Checkbox */
input[type="checkbox"] {
    accent-color: var(--ra-red) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--ra-bg); }
::-webkit-scrollbar-thumb { background: var(--ra-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--ra-red-dark); }

/* Links everywhere */
a { color: var(--ra-gold) !important; }
a:hover { color: #fff !important; }

/* Breadcrumb */
.breadcrumbs {
    background: transparent !important;
    border-bottom: 1px solid var(--ra-border) !important;
}
.breadcrumbs a { color: var(--ra-muted) !important; }
.breadcrumbs a:hover { color: var(--ra-gold) !important; }

/* Fieldset */
fieldset.module h2 {
    color: var(--ra-gold) !important;
    font-size: 0.8rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    background: transparent !important;
    border-bottom: 1px solid var(--ra-border) !important;
    padding: 10px 0;
}
fieldset.module {
    background: transparent !important;
    border: none !important;
}
