/* DigitalTalents / dark editorial direction. Scoped: other brands are unchanged. */
:root.dt-dark {
  color-scheme: dark;
  /* Editable tokens are rendered from effective saved settings in the head. */
  --dt-muted: color-mix(in srgb, var(--tc-text) 68%, var(--tc-surface));
  --dt-border: color-mix(in srgb, var(--tc-surface) 88%, var(--tc-text));
  --dt-accent: var(--tc-link);
  --dt-raised: color-mix(in srgb, var(--tc-surface) 94%, var(--tc-text));
  --dt-radius: 18px;
  --bs-body-bg: var(--tc-bg);
  --bs-body-color: var(--tc-text);
  --bs-secondary-color: var(--dt-muted);
  --bs-tertiary-color: var(--dt-muted);
  --bs-border-color: var(--dt-border);
  --bs-secondary-bg: var(--tc-surface);
  --bs-tertiary-bg: var(--tc-surface);
  --bs-link-color: var(--tc-link);
  --bs-link-hover-color: var(--tc-link);
}
.dt-dark body {
  min-height: 100vh;
  margin: 0;
  background: var(--tc-bg) !important;
  color: var(--tc-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.dt-dark ::selection { color: #111416; background: #c9dba4; }
.dt-dark a { color: var(--tc-link); text-underline-offset: .22em; }
.dt-dark a:hover { color: var(--tc-link); }
.dt-dark :focus-visible { outline: 3px solid #c9dba4; outline-offset: 4px; }
.dt-dark .container { max-width: 1512px; padding-inline: 40px; }
.dt-dark main.container { margin-block: 44px 54px !important; }
.dt-dark .text-muted, .dt-dark .entry-card .text-muted,
.dt-dark .entry-card .small.text-muted { color: var(--dt-muted) !important; }
.dt-dark .border, .dt-dark .border-bottom, .dt-dark .border-top { border-color: var(--dt-border) !important; }
.dt-dark hr { color: var(--dt-border); opacity: 1; margin-block: 24px; }
.dt-dark h1, .dt-dark h2, .dt-dark h3, .dt-dark h4, .dt-dark h5 { color: var(--tc-text); letter-spacing: -.035em; }
.dt-dark h3 { font-size: clamp(28px, 3vw, 40px); font-weight: 650; }
.dt-dark h5 { font-size: 20px; font-weight: 650; }
.dt-dark .btn {
  --bs-btn-border-radius: 10px;
  --bs-btn-padding-x: 16px;
  --bs-btn-padding-y: 10px;
  --bs-btn-font-size: 14px;
  --bs-btn-font-weight: 600;
  --bs-btn-line-height: 1.4;
  box-shadow: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.dt-dark .btn-sm { padding: 8px 12px; font-size: 12px; border-radius: 8px; }
.dt-dark .btn-primary {
  --bs-btn-color: #172012;
  --bs-btn-bg: #c9dba4;
  --bs-btn-border-color: #c9dba4;
  --bs-btn-hover-color: #172012;
  --bs-btn-hover-bg: #dce9c1;
  --bs-btn-hover-border-color: #dce9c1;
  --bs-btn-active-color: #172012;
  --bs-btn-active-bg: #b8cc90;
  --bs-btn-active-border-color: #b8cc90;
  --bs-btn-disabled-color: #172012;
  --bs-btn-disabled-bg: #c9dba4;
  --bs-btn-disabled-border-color: #c9dba4;
}
.dt-dark .btn-outline-primary, .dt-dark .btn-outline-secondary {
  --bs-btn-color: #d4ddd1;
  --bs-btn-border-color: #46504c;
  --bs-btn-hover-color: #edf0e9;
  --bs-btn-hover-bg: #2c3530;
  --bs-btn-hover-border-color: #70806e;
  --bs-btn-active-color: #edf0e9;
  --bs-btn-active-bg: #2c3530;
  --bs-btn-active-border-color: #70806e;
}
.dt-dark .btn-outline-danger {
  --bs-btn-color: #ecaaaa;
  --bs-btn-border-color: #684242;
  --bs-btn-hover-bg: #552c2e;
  --bs-btn-hover-border-color: #8d5358;
  --bs-btn-hover-color: #fff0f0;
}
.dt-dark .btn-danger { --bs-btn-bg: #9f414d; --bs-btn-border-color: #9f414d; }
.dt-dark .navbar { background: var(--tc-navbar-bg) !important; border-bottom: 1px solid var(--dt-border); }
.dt-dark .dt-nav-inner { min-height: 94px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.dt-dark .dt-brand { display: flex; align-items: center; gap: 13px; margin: 0; padding: 0; text-decoration: none; }
.dt-dark .dt-brand-monogram { display: grid; place-content: center; width: 46px; height: 46px; border: 1px solid #3e4940; border-radius: 13px; background: #1c241d; color: #d5e5b6; font-size: 25px; font-weight: 750; letter-spacing: -2px; position: relative; }
.dt-dark .dt-brand-monogram > span { position: absolute; right: 9px; bottom: 5px; color: #c9dba4; }
.dt-dark .dt-brand-logo { width: 44px; height: 44px; object-fit: cover; border-radius: 12px; }
.dt-dark .dt-brand-copy { display: grid; line-height: 1.3; gap: 4px; }
.dt-dark .dt-brand-copy strong { font-size: 17px; font-weight: 650; letter-spacing: -.025em; }
.dt-dark .dt-brand-copy small { font-size: 10px; color: var(--dt-muted); font-weight: 400; letter-spacing: .04em; }
.dt-dark .dt-nav-actions { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.dt-dark .dt-nav-link { position: relative; display: inline-flex; align-items: center; gap: 7px; color: var(--tc-navbar-text) !important; font-size: 13px; font-weight: 500; text-decoration: none; padding-block: 14px; }
.dt-dark .dt-nav-link:hover, .dt-dark .dt-nav-link.is-active { color: var(--tc-navbar-text) !important; }
.dt-dark .dt-nav-link.is-active::after { content: ""; position: absolute; height: 2px; width: 18px; background: #c9dba4; bottom: 4px; left: 0; border-radius: 3px; }
.dt-dark .dt-pending-count { display: inline-grid; place-content: center; min-width: 20px; height: 20px; padding-inline: 5px; border-radius: 6px; background: #733d46; color: #ffe0e3; font-size: 10px; font-weight: 700; }
.dt-dark .dt-utility-menu { position: relative; }
.dt-dark .dt-utility-menu summary { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; font-size: 12px; color: var(--tc-navbar-text); padding: 6px; border-radius: 8px; }
.dt-dark .dt-utility-menu summary::-webkit-details-marker { display: none; }
.dt-dark .dt-utility-menu[open] summary { background: #222b24; }
.dt-dark .dt-account-avatar { display: grid; place-content: center; width: 29px; height: 29px; border: 1px solid #465046; border-radius: 50%; color: #dce6c9; background: #252c27; font-size: 11px; }
.dt-dark .dt-chevron { color: #a5aea9; }
.dt-dark .dt-utility-panel { position: absolute; right: 0; top: calc(100% + 12px); width: 228px; padding: 9px; background: #202628; border: 1px solid #46504c; border-radius: 13px; box-shadow: 0 16px 44px #0006; z-index: 50; }
.dt-dark .dt-menu-caption { color: var(--dt-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; padding: 10px; }
.dt-dark .dt-utility-panel a, .dt-dark .dt-utility-panel button { display: block; width: 100%; padding: 9px 10px; color: var(--tc-navbar-text) !important; font: inherit; font-size: 13px; text-align: left; text-decoration: none; background: transparent; border: 0; border-radius: 7px; }
.dt-dark .dt-utility-panel a:hover, .dt-dark .dt-utility-panel button:hover { background: #303931; }
.dt-dark .dt-utility-panel form { border-top: 1px solid #3c4640; margin-top: 8px !important; padding-top: 6px; }
.dt-dark .dt-new-entry { display: inline-flex; gap: 9px; align-items: center; white-space: nowrap; color: #172012 !important; padding: 12px 17px; }
.dt-dark .dt-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-block: 10px 36px; }
.dt-dark .dt-eyebrow { color: #b6c1af; font-size: 11px; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; margin: 0 0 14px; }
.dt-dark .dt-page-header h1 { font-size: clamp(34px, 4.1vw, 58px); line-height: 1.08; font-weight: 600; letter-spacing: -.055em; margin: 0 0 15px; }
.dt-dark .dt-page-description { color: var(--dt-muted); font-size: 14px; margin: 0; }
.dt-dark .dt-page-mark { display: grid; gap: 4px; text-align: right; color: var(--dt-muted); font-size: 12px; border-left: 1px solid var(--dt-border); padding-left: 24px; }
.dt-dark .dt-page-mark strong { color: #d3ddd0; font-size: 13px; font-weight: 500; }
.dt-dark form[data-auto-submit-filter] { padding: 19px; margin: 0 0 34px !important; display: grid; grid-template-columns: minmax(200px, 2.1fr) minmax(150px, 1.1fr) minmax(150px, 1fr) auto auto; align-items: center; gap: 12px; border: 1px solid var(--dt-border); border-radius: 14px; background: var(--tc-surface); }
.dt-dark form[data-auto-submit-filter] > div { width: auto; margin: 0; padding: 0; }
.dt-dark form[data-auto-submit-filter] .form-check { margin: 0 !important; white-space: nowrap; font-size: 12px; }
.dt-dark .form-control, .dt-dark .form-select { background-color: var(--tc-bg); border: 1px solid var(--dt-border); color: var(--tc-text); border-radius: 9px; padding: 11px 13px; min-height: 44px; font-size: 13px; }
.dt-dark .form-select { padding-right: 34px; --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23c4cec2' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m3 6 5 5 5-5'/%3E%3C/svg%3E"); }
.dt-dark .form-control::placeholder { color: #9ba69e; opacity: 1; }
.dt-dark .form-control:focus, .dt-dark .form-select:focus { background-color: var(--tc-bg); color: var(--tc-text); border-color: #a9c37f; box-shadow: 0 0 0 3px #c9dba41f; }
.dt-dark .form-check-input { background-color: #161e19; border-color: #71816e; }
.dt-dark .form-check-input:checked { background-color: #6d8650; border-color: #c9dba4; }
.dt-dark .form-label { color: var(--tc-text); font-size: 12px; font-weight: 550; }
.dt-dark .input-group-text { background: var(--tc-surface); border-color: var(--dt-border); color: var(--tc-text); }
.dt-dark .dt-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 19px; font-size: 12px; }
.dt-dark .dt-results-heading strong { font-weight: 550; color: #dbe3d6; font-size: 13px; }
.dt-dark .dt-results-heading span { color: var(--dt-muted); }
.dt-dark #people-results { transition: opacity .16s ease; }
.dt-dark #people-results[aria-busy="true"] { opacity: .6; }
.dt-dark #people-results > .row { --bs-gutter-x: 22px; --bs-gutter-y: 28px; }
.dt-dark .card, .dt-dark .modal-content, .dt-dark .dropdown-menu, .dt-dark .list-group-item { background: var(--tc-surface); border-color: var(--dt-border); color: var(--tc-text); border-radius: var(--dt-radius); box-shadow: none !important; }
.dt-dark .card-body { padding: 24px; }
.dt-dark .card-img-top { height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.dt-dark .entry-card { overflow: hidden; border: 1px solid var(--dt-border); border-radius: 17px; background: var(--tc-surface); transition: border-color .2s ease; }
.dt-dark .entry-card:hover { border-color: #63705d; }
.dt-dark .entry-media { overflow: hidden; background: #222a25; contain: paint; }
.dt-dark .entry-media > a { display: block; }
.dt-dark .entry-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: top center; transform: translateZ(0); transition: transform .3s ease; }
@media (hover: hover) { .dt-dark .entry-media > a:hover img { transform: translateZ(0) scale(1.025); } }
.dt-dark .entry-photo-placeholder { background: #262d2a !important; }
.dt-dark .entry-photo-placeholder::after { content: "Noch kein Foto"; display: grid; height: 100%; min-height: 220px; place-content: center; color: #a4b09e; font-size: 12px; }
.dt-dark .entry-role-badges { top: 14px; right: 14px; bottom: auto; left: auto; max-width: calc(100% - 28px); justify-content: flex-end; gap: 5px; }
/* Badge colors come from saved per-role/default settings in the page shell. */
.dt-dark .custom-field-badge, .dt-dark .role-badge { padding: 7px 10px; border: 1px solid #ffffff30; border-radius: 6px; font-family: inherit; font-weight: 500; font-size: 10px; line-height: 1.15; }
.dt-dark .entry-role-badges .badge { backdrop-filter: blur(8px); }
.dt-dark .entry-card .card-body { padding: 19px 19px 13px; }
.dt-dark .entry-card h5 { font-size: 20px; margin-bottom: 10px !important; }
.dt-dark .entry-card .muted-link { color: var(--tc-link); }
.dt-dark .entry-card .small { font-size: 12px; line-height: 1.8; }
.dt-dark .entry-card .entry-contact-icon { font-size: 10px; opacity: .75; width: 15px; }
.dt-dark .entry-card .entry-contact-value { color: var(--tc-link); text-decoration: none; }
.dt-dark .entry-card .entry-contact-value:hover { text-decoration: underline; }
.dt-dark .entry-card .card-footer { margin-top: auto; padding: 13px 19px 18px; background: transparent !important; border: 0; flex-wrap: wrap; gap: 7px !important; }
.dt-dark .entry-card .card-footer .btn { padding: 7px 9px; font-size: 11px; }
.dt-dark .entry-card .card-footer .btn-outline-primary { border-color: transparent; color: #d6e6b9; background: #2a3425; }
.dt-dark .entry-card-blacklisted { border: 2px dashed #b36b72; }
.dt-dark .bg-white, .dt-dark .bg-light { background-color: var(--tc-surface) !important; }
.dt-dark body.bg-light { background-color: var(--tc-bg) !important; }
.dt-dark .bg-secondary-subtle { background-color: #262d2a !important; }
.dt-dark .text-bg-light { color: #dbe3d6 !important; background-color: #2b342b !important; }
.dt-dark .text-bg-primary { color: #e5edda !important; background-color: #3b5140 !important; }
.dt-dark .table { --bs-table-bg: var(--tc-surface); --bs-table-color: var(--tc-text); --bs-table-border-color: var(--dt-border); --bs-table-striped-bg: var(--dt-raised); --bs-table-striped-color: var(--tc-text); --bs-table-hover-bg: #2a3330; --bs-table-hover-color: #edf0e9; }
.dt-dark .alert { border-radius: 12px; }
.dt-dark .alert-info { color: #d6e5e4; background: #1f3537; border-color: #35575a; }
.dt-dark .alert-warning { color: #f0e1ba; background: #393226; border-color: #61513a; }
.dt-dark .alert-danger { color: #f3c7cb; background: #3d272c; border-color: #71474f; }
.dt-dark .alert-success { color: #d7e7c5; background: #26372a; border-color: #46634a; }
.dt-dark .page-link { color: #cedbc0; background: #1a1e21; border-color: #46504c; padding: 8px 12px; }
.dt-dark .page-link:hover { color: #edf0e9; background: #2c3530; border-color: #70806e; }
.dt-dark .page-item.disabled .page-link { color: #a5aea9; background: #202628; border-color: #46504c; }
.dt-dark .dt-detail-header { padding-block: 6px 18px; align-items: flex-end !important; flex-wrap: wrap; gap: 20px; }
.dt-dark .dt-detail-card { background: transparent; border: 0; }
.dt-dark .dt-detail-card > .card-body { padding: 0; }
.dt-dark .dt-detail-card .card-img-top { border-radius: 18px !important; }
.dt-dark .dt-detail-card .col-md-7 { padding-top: 12px; padding-left: 40px; }
.dt-dark .dt-detail-card .col-md-7 h5 { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #bccbac; margin-bottom: 22px !important; }
.dt-dark .dt-detail-card .col-md-7 > .mb-2 { padding-block: 7px; color: var(--tc-text); }
.dt-dark .dt-detail-card .col-md-7 strong { font-weight: 500; }
.dt-dark .dt-footer { border-top: 1px solid var(--dt-border); margin-top: 64px; padding-block: 22px; }
.dt-dark .dt-footer .container { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 11px; color: var(--dt-muted); }
.dt-dark .dt-footer a { color: var(--tc-link); text-decoration: none; }
.dt-dark .dt-login main.container { max-width: 1120px !important; min-height: calc(100vh - 120px); display: flex; align-items: center; justify-content: center; }
.dt-dark .dt-login .card { width: 450px; margin-block: 0 !important; padding: 10px; border: 1px solid var(--dt-border); background: var(--tc-surface); box-shadow: 0 24px 100px #0003 !important; }
.dt-dark .dt-login .card-body { padding: 30px; }
.dt-dark .dt-login .text-center.mb-3 { text-align: left !important; margin-bottom: 30px !important; }
.dt-dark .dt-login h3 { font-size: 31px; letter-spacing: -.04em; }
.dt-dark .dt-login .text-center.mb-3 .text-muted { font-size: 12px; margin-top: 8px; }
.dt-dark .dt-login form { margin-bottom: 24px; }
.dt-dark .dt-login .dt-login-intro { color: #c9dba4; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 18px; }
@media (min-width: 1400px) {
  .dt-dark #people-results > .row > [class*="col-"] { flex: 0 0 auto; width: 25%; }
}
@media (max-width: 1100px) {
  .dt-dark .dt-nav-actions { gap: 15px; }
  .dt-dark .dt-brand-copy small { display: none; }
  .dt-dark form[data-auto-submit-filter] { grid-template-columns: minmax(170px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr); }
  .dt-dark form[data-auto-submit-filter] > :first-child { grid-column: 1 / -1; }
  .dt-dark .dt-page-mark { display: none; }
}
@media (max-width: 767px) {
  .dt-dark .container { padding-inline: 20px; }
  .dt-dark main.container { margin-block: 28px 35px !important; }
  .dt-dark .dt-nav-inner { padding-block: 17px; min-height: 0; gap: 15px; }
  .dt-dark .dt-brand-copy strong { font-size: 16px; }
  .dt-dark .dt-nav-actions { width: 100%; margin-left: 0; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
  .dt-dark .dt-nav-link { font-size: 12px; padding-block: 8px; }
  .dt-dark .dt-utility-menu summary > span:not(.dt-account-avatar) { display: none; }
  .dt-dark .dt-new-entry { font-size: 11px; padding: 9px 10px; gap: 5px; }
  .dt-dark .dt-page-header { margin-bottom: 25px; }
  .dt-dark .dt-page-header h1 { max-width: 330px; font-size: 38px; }
  .dt-dark .dt-page-description { font-size: 12px; }
  .dt-dark form[data-auto-submit-filter] { padding: 14px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
  .dt-dark form[data-auto-submit-filter] > :first-child { grid-column: 1 / -1; }
  .dt-dark .form-control, .dt-dark .form-select { font-size: 12px; min-height: 44px; }
  .dt-dark .dt-results-heading { margin-bottom: 14px; }
  .dt-dark .dt-detail-card .col-md-7 { padding-left: 12px; margin-top: 6px; }
  .dt-dark .dt-detail-header > .d-flex { flex-wrap: wrap; }
  .dt-dark .dt-footer { margin-top: 40px; }
  .dt-dark .dt-login .card { max-width: 100%; width: 430px; }
  .dt-dark .dt-login .card-body { padding: 19px; }
}
@media (max-width: 370px) {
  .dt-dark .dt-brand-monogram { width: 39px; height: 39px; }
  .dt-dark .dt-nav-actions { justify-content: flex-start; }
  .dt-dark .dt-new-entry { margin-left: auto; }
  .dt-dark .dt-page-header h1 { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .dt-dark *, .dt-dark *::before, .dt-dark *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .dt-dark .entry-media > a:hover img { transform: none; }
}
