:root {
    color-scheme: dark;
    --pt-bg: #080c14;
    --pt-bg-soft: #0f1624;
    --pt-bg-raised: #151e2e;
    --pt-border: #263246;
    --pt-text: #e7edf7;
    --pt-muted: #a8b3c7;
    --pt-link: #8ab4ff;
    --pt-primary: #9d7dff;
    --pt-primary-strong: #7c5cff;
    --pt-success: #47d18c;
    --pt-warning: #f6c768;
    --pt-danger: #ff7f8f;
}

html,
body {
    background: var(--pt-bg) !important;
    color: var(--pt-text) !important;
}

a,
.btn-link {
    color: var(--pt-link);
}

a:hover,
a:focus,
.btn-link:hover,
.btn-link:focus {
    color: #b5ccff;
}

.container,
.container-fluid,
#page-wrapper,
.content,
.page-body,
.event-header,
.event-description,
.cart-row,
.product-row,
.panel,
.panel-default,
.panel-body,
.panel-heading,
.panel-footer,
.well,
.modal-content,
.dropdown-menu,
.popover,
.list-group-item,
.thumbnail,
.card,
.box,
.form-signin {
    background-color: var(--pt-bg-soft) !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

.navbar,
.navbar-inverse,
.navbar-static-top,
#side-menu,
.sidebar,
.sidebar-nav,
.navbar-default {
    background: #0b1220 !important;
    border-color: var(--pt-border) !important;
}

.navbar a,
.navbar .navbar-brand,
.sidebar a,
#side-menu a,
.dropdown-menu > li > a {
    color: var(--pt-text) !important;
}

.navbar a:hover,
.sidebar a:hover,
#side-menu a:hover,
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.nav > li > a:hover,
.nav > li > a:focus,
.nav > li.active > a {
    background-color: var(--pt-bg-raised) !important;
    color: #ffffff !important;
}

.table,
table,
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    background-color: var(--pt-bg-soft) !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

.table-striped > tbody > tr:nth-of-type(odd),
.table-hover > tbody > tr:hover,
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
    background-color: var(--pt-bg-raised) !important;
}

.form-control,
input,
select,
textarea,
.input-group-addon,
.select2-container--bootstrap .select2-selection,
.select2-dropdown,
.select2-results__option,
.bootstrap-datetimepicker-widget,
.bootstrap-datetimepicker-widget table td,
.bootstrap-datetimepicker-widget table th {
    background-color: #101827 !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus,
.select2-container--bootstrap.select2-container--focus .select2-selection {
    border-color: var(--pt-primary) !important;
    box-shadow: 0 0 0 2px rgba(157, 125, 255, 0.25) !important;
}

input::placeholder,
textarea::placeholder,
.help-block,
.text-muted,
.text-muted a,
.control-label,
legend,
small,
.small,
footer,
.footer,
.meta,
.text-secondary {
    color: var(--pt-muted) !important;
}

.btn-primary,
.label-primary,
.pagination > .active > a,
.pagination > .active > span {
    background-color: var(--pt-primary-strong) !important;
    border-color: var(--pt-primary-strong) !important;
    color: #ffffff !important;
}

.btn-default,
.btn-secondary,
.btn-outline-secondary,
.pagination > li > a,
.pagination > li > span {
    background-color: var(--pt-bg-raised) !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

.btn-default:hover,
.btn-secondary:hover,
.pagination > li > a:hover {
    background-color: #1e2a3e !important;
}

.alert-info,
.alert-success,
.alert-warning,
.alert-danger,
.alert-error {
    background-color: var(--pt-bg-raised) !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

.alert-success,
.text-success {
    color: var(--pt-success) !important;
}

.alert-warning,
.text-warning {
    color: var(--pt-warning) !important;
}

.alert-danger,
.alert-error,
.text-danger,
.has-error .help-block,
.has-error .control-label {
    color: var(--pt-danger) !important;
}

.progress,
.progress-bar,
pre,
code,
.invoice-preview,
.timeline-panel,
.calendar,
.fc-view,
.fc-event {
    background-color: var(--pt-bg-raised) !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

hr,
.page-header,
.nav-tabs,
.nav-tabs > li > a,
.breadcrumb,
.breadcrumb > li + li:before {
    border-color: var(--pt-border) !important;
    color: var(--pt-muted) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    background-color: var(--pt-bg-soft) !important;
    border-color: var(--pt-border) !important;
    color: var(--pt-text) !important;
}

.logo,
.navbar-brand img,
img[src*="pretix-logo"] {
    filter: brightness(0) invert(1);
}

::selection {
    background: rgba(157, 125, 255, 0.35);
}
