:root {
    --rm-admin-bg: #0b1018;
    --rm-admin-panel: #131b27;
    --rm-admin-panel-2: #182231;
    --rm-admin-line: #2b3749;
    --rm-admin-text: #f4f7fb;
    --rm-admin-muted: #9aa8ba;
    --rm-admin-accent: #0ea5e9;
    --rm-admin-accent-2: #2563eb;
    --rm-admin-green: #22c55e;
    --primary: #2563eb;
    --secondary: #151e2b;
    --accent: #fff;
    --primary-fg: #fff;
    --body-fg: #e9eef6;
    --body-bg: #0b1018;
    --body-quiet-color: #9aa8ba;
    --body-loud-color: #fff;
    --header-color: #fff;
    --header-branding-color: #fff;
    --header-bg: #111925;
    --header-link-color: #dce4ef;
    --breadcrumbs-fg: #cbd5e1;
    --breadcrumbs-link-fg: #fff;
    --breadcrumbs-bg: #182231;
    --link-fg: #60a5fa;
    --link-hover-color: #bfdbfe;
    --link-selected-fg: #fff;
    --hairline-color: #2b3749;
    --border-color: #2b3749;
    --error-fg: #fca5a5;
    --message-success-bg: rgba(34, 197, 94, .16);
    --message-warning-bg: rgba(245, 158, 11, .16);
    --message-error-bg: rgba(239, 68, 68, .16);
    --darkened-bg: #101722;
    --selected-bg: #202b3c;
    --selected-row: rgba(37, 99, 235, .13);
    --button-fg: #fff;
    --button-bg: #2563eb;
    --button-hover-bg: #0ea5e9;
    --default-button-bg: #2563eb;
    --default-button-hover-bg: #0ea5e9;
    --close-button-bg: #334155;
    --close-button-hover-bg: #475569;
    color-scheme: dark;
}

html, body { background: var(--rm-admin-bg) !important; }
body { font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
#header {
    min-height: 66px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(17, 25, 37, .96) !important;
    border-bottom: 1px solid var(--rm-admin-line);
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
}
#branding { display: flex; align-items: center; gap: 12px; }
#branding h1 { margin: 0; font-size: 19px; font-weight: 900; letter-spacing: -.03em; }
#branding h1 a:before {
    content: "RM";
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--rm-admin-accent-2), var(--rm-admin-accent));
    box-shadow: 0 10px 24px rgba(37,99,235,.28);
    font-size: 12px;
    vertical-align: middle;
}
#user-tools { color: var(--rm-admin-muted); font-size: 12px; }
#user-tools a { color: #e5e7eb; font-weight: 700; }
#user-tools a:hover { color: #fff; }
div.breadcrumbs { padding: 13px 24px; border-bottom: 1px solid var(--rm-admin-line); }
#content { padding: 24px; }
#content-main { min-width: 0; }
.dashboard #content { width: auto; }
.module, .inline-group, #changelist .actions, .submit-row, .selector, .related-widget-wrapper-link {
    border: 1px solid var(--rm-admin-line) !important;
    border-radius: 15px !important;
    background: var(--rm-admin-panel) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.18);
    overflow: hidden;
}
.module h2, .module caption, .inline-group h2 {
    padding: 13px 16px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #1b2636, #182231) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .01em;
}
.dashboard .module table th, .dashboard .module table td { padding: 12px 15px; }
.dashboard .module table tr { border-bottom: 1px solid var(--rm-admin-line); }
.dashboard .module table tr:last-child { border-bottom: 0; }
.dashboard .module a { font-weight: 700; }
.object-tools a, input[type=submit], button, .button, a.button {
    border: 0 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    background: linear-gradient(135deg, var(--rm-admin-accent-2), var(--rm-admin-accent)) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 20px rgba(37,99,235,.20);
}
.object-tools a:hover, input[type=submit]:hover, button:hover, .button:hover, a.button:hover { filter: brightness(1.08); }
input, textarea, select, .vTextField {
    color: var(--rm-admin-text) !important;
    background: #0f1620 !important;
    border: 1px solid #364357 !important;
    border-radius: 9px !important;
    padding: 9px 11px !important;
    outline: none;
}
input:focus, textarea:focus, select:focus { border-color: var(--rm-admin-accent) !important; box-shadow: 0 0 0 3px rgba(37,99,235,.14); }
select option { background: #0f1620; color: #fff; }
.form-row { padding: 15px 16px !important; border-bottom-color: var(--rm-admin-line) !important; }
.form-row:last-child { border-bottom: 0; }
label { color: #d7deea !important; font-weight: 700; }
.help, p.help, form p.help, div.help, form div.help, .help li { color: var(--rm-admin-muted) !important; }
.submit-row { padding: 13px !important; }
.submit-row input.default { float: none; }
#changelist { min-width: 0; }
#changelist .changelist-form-container { min-width: 0; }
#changelist table { border-collapse: separate; border-spacing: 0; width: 100%; }
#changelist table thead th { background: #182231 !important; color: #dce4ef !important; border-bottom-color: var(--rm-admin-line) !important; }
#changelist table tbody tr:nth-child(even) { background: rgba(255,255,255,.015); }
#changelist table tbody tr:hover { background: rgba(37,99,235,.08); }
#changelist table td, #changelist table th { border-color: var(--rm-admin-line) !important; }
#changelist-filter { background: var(--rm-admin-panel) !important; border-left: 1px solid var(--rm-admin-line) !important; }
#changelist-filter h2 { background: #182231 !important; }
#changelist-filter h3 { color: #dce4ef; }
#changelist-filter a { color: var(--rm-admin-muted); }
#changelist-filter li.selected a { color: #fff; font-weight: 800; }
.paginator { color: var(--rm-admin-muted); border-top-color: var(--rm-admin-line) !important; }
.messagelist li { border-radius: 11px; margin-bottom: 8px; }
.login #container {
    width: min(440px, calc(100% - 28px));
    margin: 8vh auto 0;
    border: 1px solid var(--rm-admin-line);
    border-radius: 20px;
    overflow: hidden;
    background: var(--rm-admin-panel);
    box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.login #header { padding: 18px 22px; }
.login #content { padding: 26px; }
.login .form-row { padding: 0 0 16px !important; border: 0 !important; }
.login .form-row label { display: block; padding-bottom: 7px; }
.login .form-row input { width: 100% !important; box-sizing: border-box; }
.login .submit-row { padding: 0 !important; border: 0 !important; box-shadow: none; background: transparent !important; }
.login .submit-row input { width: 100%; }

@media (max-width: 1024px) {
    #content { padding: 18px; }
    #changelist .changelist-form-container { overflow-x: auto; }
    #changelist table { min-width: 760px; }
    #changelist-filter { position: static !important; width: auto !important; margin-top: 14px; border: 1px solid var(--rm-admin-line) !important; border-radius: 14px; }
    .change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull { margin-right: 0 !important; }
}
@media (max-width: 767px) {
    #header { min-height: auto; padding: 14px; align-items: flex-start; flex-direction: column; gap: 10px; }
    #branding h1 { font-size: 16px; }
    #user-tools { text-align: left; line-height: 1.6; }
    div.breadcrumbs { padding: 11px 14px; overflow-x: auto; white-space: nowrap; }
    #content { padding: 14px; }
    #content h1 { font-size: 24px; }
    .object-tools { float: none; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 7px; }
    .object-tools li { float: none; margin: 0; }
    .form-row > div { width: 100% !important; }
    .form-row label { width: auto !important; float: none !important; display: block; margin-bottom: 7px; }
    .aligned .form-row input, .aligned .form-row select, .aligned .form-row textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
    .submit-row { display: flex; flex-direction: column; gap: 8px; }
    .submit-row input, .submit-row a { width: 100%; box-sizing: border-box; text-align: center; }
    .inline-group { overflow-x: auto; }
    .inline-related { min-width: 660px; }
}
