:root {
  color-scheme: dark;
  --primary: #111827;
  --secondary: #1f2937;
  --accent: #8fb7ff;
  --primary-fg: #f8fafc;
  --body-bg: #070b12;
  --body-fg: #e5edf7;
  --body-quiet-color: #aab7c8;
  --body-loud-color: #ffffff;
  --header-color: #f8fafc;
  --header-bg: #090d13;
  --header-link-color: #dbeafe;
  --breadcrumbs-fg: #cbd5e1;
  --breadcrumbs-link-fg: #ffffff;
  --breadcrumbs-bg: #111827;
  --link-fg: #9cc2ff;
  --link-hover-color: #c6f7e4;
  --link-selected-fg: #ffffff;
  --hairline-color: rgba(180, 194, 214, 0.18);
  --border-color: rgba(180, 194, 214, 0.24);
  --error-fg: #ffb4c0;
  --darkened-bg: #0d121b;
  --selected-bg: rgba(143, 183, 255, 0.16);
  --selected-row: rgba(143, 183, 255, 0.12);
  --button-fg: #071019;
  --button-bg: #f8fafc;
  --button-hover-bg: #dbeafe;
  --default-button-bg: #8fb7ff;
  --default-button-hover-bg: #b8d0ff;
  --close-button-bg: #334155;
  --close-button-hover-bg: #475569;
  --delete-button-bg: #dc2626;
  --delete-button-hover-bg: #ef4444;
  --object-tools-fg: #071019;
  --object-tools-bg: #f8fafc;
  --object-tools-hover-bg: #dbeafe;
}

html,
body,
#container {
  background: var(--body-bg);
}

#header {
  border-bottom: 1px solid var(--border-color);
}

#branding h1,
#branding h1 a:link,
#branding h1 a:visited {
  color: #ffffff;
  font-weight: 800;
}

#user-tools,
#user-tools a,
#logout-form button {
  color: var(--header-link-color);
}

div.breadcrumbs {
  border-bottom: 1px solid var(--border-color);
}

#content {
  color: var(--body-fg);
}

#content h1,
#content h2,
#content h3,
#content h4,
label,
.form-row,
.readonly,
td,
th,
td p,
td li,
.form-row div,
.form-row p,
.form-row label,
.inline-related label,
.aligned label {
  color: var(--body-fg);
}

.module,
.inline-group,
#changelist,
#changelist-filter,
.submit-row,
#content-related,
.paginator,
.fieldset,
.aligned .form-row,
.inline-related,
.tabular.inline-related,
.stacked.inline-related,
.selector,
.selector-available,
.selector-chosen {
  border-color: var(--border-color);
  color: var(--body-fg);
  background: #0d121b;
}

.module h2,
.module caption,
.inline-group h2,
#changelist-filter h2,
.inline-related h3,
.selector h2 {
  color: #ffffff;
  background: #111827;
}

thead th,
tfoot td,
#changelist table thead th {
  color: #dbeafe;
  background: rgba(255, 255, 255, 0.045);
}

tbody tr,
.row1,
.row2,
.form-row,
.inline-related,
.tabular tr.add-row td {
  border-color: var(--border-color);
}

.row1 {
  background: rgba(255, 255, 255, 0.025);
}

.row2 {
  background: rgba(255, 255, 255, 0.045);
}

.help,
p.help,
div.help,
form .aligned p.help,
.quiet,
.small,
.mini,
#changelist-filter li {
  color: var(--body-quiet-color) !important;
}

a:link,
a:visited {
  color: var(--link-fg);
}

a:hover {
  color: var(--link-hover-color);
}

input,
select,
textarea,
.vTextField,
.vURLField,
.vIntegerField,
.vPositiveSmallIntegerField,
.vDateField,
.vTimeField,
.selector select {
  border-color: rgba(226, 232, 240, 0.28) !important;
  color: #f8fafc !important;
  background: rgba(255, 255, 255, 0.075) !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(143, 183, 255, 0.42);
  border-color: rgba(143, 183, 255, 0.72) !important;
}

option {
  color: #111827;
  background: #ffffff;
}

fieldset.module,
.collapse,
.collapsed,
.submit-row,
.object-tools,
.results,
#toolbar,
#changelist-search {
  background: #0d121b;
}

.collapse summary,
.collapsed h2,
.inline-deletelink,
.datetime,
.datetimeshortcuts,
.datetimeshortcuts a,
.selector .selector-filter label,
.selector .selector-chooser li a {
  color: var(--body-fg) !important;
}

.selector .selector-filter {
  border-color: var(--border-color);
  background: rgba(255, 255, 255, 0.04);
}

.selector ul.selector-chooser {
  background: transparent;
}

.related-widget-wrapper-link,
.related-lookup {
  filter: invert(1) brightness(1.25);
}

.errorlist li,
.errornote,
.errors,
.form-row.errors {
  color: #ffd1d8 !important;
}

.form-row.errors input,
.form-row.errors select,
.form-row.errors textarea {
  border-color: rgba(255, 154, 168, 0.72) !important;
}

.dashboard #content {
  width: min(1180px, calc(100% - 32px));
}

#content-main,
#content-related {
  max-width: 100%;
}

.submit-row {
  position: sticky;
  bottom: 0;
  z-index: 20;
  border-top: 1px solid var(--border-color);
}

.button,
input[type=submit],
input[type=button],
.submit-row input,
a.button,
.object-tools a {
  color: #071019 !important;
  background: #f8fafc;
}

.button.default,
input[type=submit].default,
.submit-row input.default {
  color: #071019 !important;
  background: #8fb7ff;
}

.deletelink,
.deletelink-box a,
.submit-row a.deletelink {
  color: #ffffff !important;
  background: #dc2626 !important;
}

.errornote,
ul.errorlist {
  border-color: rgba(255, 154, 168, 0.45);
  color: #ffd1d8;
  background: rgba(255, 154, 168, 0.12);
}

.messagelist li {
  color: #c6f7e4;
  background: rgba(73, 214, 163, 0.14);
}

.calendarbox,
.clockbox {
  color: #111827;
}
