:root {
  --pdm-black: #000000;
  --pdm-white: #ffffff;
  --pdm-muted: #cfc7dc;
  --pdm-purple: #9B42FF;
  --pdm-purple-dark: #6f27c7;
  --pdm-border: #ffffff;
  --pdm-purple-border: #ffffff;
}

html,
body {
  min-height: 100%;
  background: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
  font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body,
header,
nav,
main,
footer,
section,
.container,
.container-fluid,
.admin-shell,
.admin-main,
.admin-site-header,
.admin-footer,
.tab-content,
.tab-pane,
.accordion,
.accordion-item,
.accordion-body,
.table-responsive,
.card,
.admin-card,
.admin-sub-card,
.admin-hero,
.admin-tile,
.auth-card,
.modal-content,
.modal-header,
.modal-body,
.modal-footer,
.list-group-item,
.dropdown-menu {
  background-color: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p,
label,
span,
strong,
small,
div,
li,
td,
th,
.nav-link,
.navbar-brand,
.dropdown-item,
.form-label,
.form-check-label,
.field-label,
.navbar-text {
  color: var(--pdm-white) !important;
}

.text-muted,
.form-text,
small.text-muted,
.auth-intro,
.admin-tile p,
.audit-row span,
.field-label {
  color: var(--pdm-muted) !important;
}

.eyebrow,
a,
.btn-link,
.text-danger {
  color: var(--pdm-purple) !important;
}

a:hover,
.btn-link:hover {
  color: #cba5ff !important;
}

.admin-site-header,
.admin-footer,
.admin-card,
.admin-sub-card,
.admin-hero,
.admin-tile,
.auth-card,
.card,
.modal-content,
.dropdown-menu,
.client-tabs .nav-tabs,
.admin-tab-content,
.person-card-header,
.config-card-header,
.person-card-body,
.config-card-body {
  border-color: #ffffff !important;
}

.admin-site-header {
  border-bottom: 1px solid var(--pdm-border) !important;
}

.admin-brand img,
.auth-brand img {
  height: auto !important;
  max-width: 210px !important;
}

.admin-brand span {
  border: 1px solid #ffffff !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  color: var(--pdm-muted) !important;
}

.admin-menu .nav-link,
.navbar-nav .nav-link {
  border-radius: 999px !important;
  color: var(--pdm-muted) !important;
  font-weight: 700 !important;
}

.admin-menu .nav-link:hover,
.admin-menu .nav-link:focus,
.admin-menu .show > .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  background: rgba(155, 66, 255, .22) !important;
  color: var(--pdm-white) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(155, 66, 255, .22) !important;
  color: var(--pdm-white) !important;
}

.btn-primary,
.btn-danger,
.btn-success,
.people-filter .btn-danger,
.people-accordion .btn-danger,
.client-tabs .btn-danger {
  border-color: var(--pdm-purple) !important;
  background: linear-gradient(135deg, var(--pdm-purple), var(--pdm-purple-dark)) !important;
  color: var(--pdm-white) !important;
  font-weight: 800 !important;
}

.btn-primary:hover,
.btn-danger:hover,
.btn-success:hover,
.btn-danger.active,
.people-filter .btn-danger:hover,
.people-accordion .btn-danger:hover,
.client-tabs .btn-danger:hover {
  border-color: #cba5ff !important;
  background: linear-gradient(135deg, #b76fff, var(--pdm-purple)) !important;
  color: var(--pdm-white) !important;
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-danger,
.btn-outline-success,
.btn-outline-light {
  border-color: #ffffff !important;
  background: transparent !important;
  color: var(--pdm-white) !important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-danger:hover,
.btn-outline-success:hover,
.btn-outline-light:hover {
  border-color: var(--pdm-purple) !important;
  background: rgba(155, 66, 255, .22) !important;
  color: var(--pdm-white) !important;
}

.form-control,
.form-select,
.form-check-input,
input,
textarea,
select {
  border-color: #ffffff !important;
  background-color: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--pdm-purple) !important;
  background-color: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
  box-shadow: 0 0 0 .22rem rgba(155, 66, 255, .26) !important;
}

.form-control::placeholder,
textarea::placeholder,
input::placeholder {
  color: rgba(255, 255, 255, .55) !important;
}

.form-select option {
  background: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
}

.form-check-input:checked {
  border-color: var(--pdm-purple) !important;
  background-color: var(--pdm-purple) !important;
}

.table,
.admin-grid,
table,
thead,
tbody,
tr,
td,
th {
  --bs-table-bg: var(--pdm-black) !important;
  --bs-table-color: var(--pdm-white) !important;
  --bs-table-striped-bg: rgba(155, 66, 255, .08) !important;
  --bs-table-striped-color: var(--pdm-white) !important;
  --bs-table-hover-bg: rgba(155, 66, 255, .16) !important;
  --bs-table-hover-color: var(--pdm-white) !important;
  background-color: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
  border-color: #ffffff !important;
}

.admin-grid thead th,
.table thead th,
thead th {
  background: rgba(155, 66, 255, .28) !important;
  color: var(--pdm-white) !important;
  border-color: #ffffff !important;
}

.table > :not(caption) > * > * {
  background-color: transparent !important;
  border-bottom-color: #ffffff !important;
  color: var(--pdm-white) !important;
}

.client-tabs .nav-tabs {
  border: 1px solid #ffffff !important;
  border-bottom: 0 !important;
  background: var(--pdm-black) !important;
}

.client-tabs .nav-link {
  color: var(--pdm-muted) !important;
  font-weight: 800 !important;
}

.client-tabs .nav-link.active {
  background: rgba(155, 66, 255, .22) !important;
  color: var(--pdm-white) !important;
}

.client-tabs .nav-link:disabled {
  color: rgba(255, 255, 255, .35) !important;
}

.person-card-header,
.config-card-header,
.accordion-button {
  background: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
  border: 1px solid #ffffff !important;
  box-shadow: none !important;
}

.person-card-header:not(.collapsed),
.config-card-header:not(.collapsed),
.accordion-button:not(.collapsed) {
  background: rgba(155, 66, 255, .22) !important;
  color: var(--pdm-white) !important;
  border-color: #ffffff !important;
}

.accordion-button::after,
.person-card-header::after,
.config-card-header::after {
  filter: none !important;
  background-image: none !important;
  content: "" !important;
  border: 1px solid #ffffff !important;
  border-radius: 50% !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  background: linear-gradient(var(--pdm-purple), var(--pdm-purple)) center / 10px 2px no-repeat, linear-gradient(var(--pdm-purple), var(--pdm-purple)) center / 2px 10px no-repeat !important;
}

.accordion-button:not(.collapsed)::after,
.person-card-header:not(.collapsed)::after,
.config-card-header:not(.collapsed)::after {
  background: linear-gradient(var(--pdm-purple), var(--pdm-purple)) center / 10px 2px no-repeat !important;
}

.badge,
.badge.text-bg-light,
.badge.border {
  border-color: #ffffff !important;
  background: rgba(155, 66, 255, .18) !important;
  color: var(--pdm-white) !important;
}

.alert,
.alert-success,
.alert-info,
.alert-light {
  border-color: #ffffff !important;
  background: rgba(155, 66, 255, .16) !important;
  color: var(--pdm-white) !important;
}

.alert-danger,
.validation-summary-errors {
  border-color: rgba(255, 190, 85, .7) !important;
  background: rgba(255, 190, 85, .12) !important;
  color: #ffe1ad !important;
}

.bg-white,
.bg-light,
.text-bg-light,
.table-light,
.navbar-light,
.navbar-light.bg-white,
.shadow,
.shadow-sm,
.shadow-lg {
  background-color: var(--pdm-black) !important;
  color: var(--pdm-white) !important;
}

.text-dark,
.text-body,
.text-black,
.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-brand {
  color: var(--pdm-white) !important;
}

.border,
.border-bottom,
.border-top,
.border-start,
.border-end {
  border-color: #ffffff !important;
}

.card,
.admin-card,
.admin-sub-card,
.admin-hero,
.admin-tile,
.auth-card,
.table-responsive,
.client-tabs,
.admin-tab-content,
.accordion-item,
.person-card,
.config-card,
.form-control,
.form-select,
.dropdown-menu,
.modal-content,
.list-group-item {
  border-color: #ffffff !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: var(--pdm-white) !important;
  box-shadow: 0 0 0 1000px #000 inset !important;
}
