/**
 * Django admin — DoCD theme (matches docd_platform_php admin portal)
 */

:root {
    --docd-primary: #1a472a;
    --docd-primary-dark: #0f2d1a;
    --docd-primary-light: #2d6a3e;
    --docd-primary-soft: #e8f3ec;
    --docd-border: #dce8e0;
    --docd-radius: 12px;
    --docd-shadow: 0 4px 24px rgba(15, 45, 26, 0.08);
    --docd-admin-table-font: 0.6875rem;
    --docd-admin-table-header-font: 0.6875rem;
    --docd-admin-table-pad-y: 0.22rem;
    --docd-admin-table-pad-x: 0.35rem;
    --docd-admin-sidebar-width: 16.5rem;
    --docd-admin-sidebar-toggle-width: 1.4375rem;
    --docd-admin-sidebar-content-gap: 0;
    --docd-admin-filter-min-width: 8.75rem;
    --docd-admin-table-border: #b8c9be;
    --docd-admin-table-odd: #ffffff;
    --docd-admin-table-even: #f3f7f4;
    --docd-admin-table-hover: #e6f0ea;
}

/* Header — standard DoCD portal header + admin sub-navigation */
body.docd-admin-layout {
    --docd-admin-header-offset: 7.25rem;
    --docd-admin-header-content-gap: 0.5rem;
    --docd-admin-sidebar-width: 16.5rem;
    --docd-admin-sidebar-desktop-min: 992px;
    --docd-admin-content-max: 68rem;
    --docd-admin-content-gutter: clamp(0.75rem, 2vw, 1.25rem);
    font-size: 0.8125rem;
    overflow-x: hidden;
    max-width: 100vw;
}

body.docd-admin-layout .docd-admin-header-stack {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;
}

body.docd-admin-layout .docd-admin-header-stack .docd-portal-header {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

body.docd-admin-layout .docd-portal-header-inner {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

body.docd-admin-layout #container {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    padding-top: calc(var(--docd-admin-header-offset) + var(--docd-admin-header-content-gap));
    padding-left: var(--docd-admin-content-gutter);
    padding-right: var(--docd-admin-content-gutter);
    box-sizing: border-box;
    overflow-x: hidden;
}

body.docd-admin-layout #container > .main {
    display: flex;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body.docd-admin-layout:not(.login) #container > nav[aria-label] {
    width: 100%;
    max-width: var(--docd-admin-content-max);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.docd-admin-layout:not(.login) #main {
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
}

body.docd-admin-layout:not(.login) #footer,
body.docd-admin-layout:not(.login) #footer.docd-admin-footer {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

/* Override Django admin base.css inside the portal header */
body.docd-admin-layout .docd-portal-header .docd-header-title,
body.docd-admin-layout .docd-portal-header .docd-header-text h5 {
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    line-height: 1.2;
    margin: 0;
    text-transform: none;
    letter-spacing: normal;
    white-space: nowrap;
}

body.docd-admin-layout .docd-portal-header .docd-header-subtitle,
body.docd-admin-layout .docd-portal-header .docd-header-text p {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 400;
    font-size: 0.7rem;
    line-height: 1.2;
    margin: 0;
    text-transform: none;
    letter-spacing: normal;
}

@media (max-width: 767.98px) {
    body.docd-admin-layout .docd-portal-header .docd-header-title,
    body.docd-admin-layout .docd-portal-header .docd-header-text h5 {
        font-size: 0.72rem;
        line-height: 1.2;
        white-space: normal;
    }

    body.docd-admin-layout .docd-portal-header .docd-header-subtitle,
    body.docd-admin-layout .docd-portal-header .docd-header-text p {
        font-size: 0.62rem;
        line-height: 1.2;
    }

    body.docd-admin-layout .docd-header-br-mobile {
        display: inline;
    }
}

body.docd-admin-layout .docd-admin-subnav {
    position: relative;
    top: auto !important;
    z-index: 1;
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 55%, var(--docd-primary-light) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.docd-admin-subnav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    padding: 0.55rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    body.docd-admin-layout .docd-admin-subnav-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 28rem) minmax(0, 1fr);
        align-items: center;
        padding: 0.65rem 1rem;
        gap: 0.75rem 1rem;
    }

    body.docd-admin-layout .docd-admin-subnav-home {
        grid-column: 1;
        justify-self: start;
        align-self: center;
        /* Sit under the left coat-of-arms logo slot */
        margin-left: 0;
        padding-left: 0;
    }

    body.docd-admin-layout .docd-admin-subnav-center {
        grid-column: 2;
        justify-self: center;
        text-align: center;
        width: 100%;
        max-width: 28rem;
    }

    body.docd-admin-layout .docd-admin-subnav-actions,
    body.docd-admin-layout #site-name.docd-admin-subnav-actions {
        grid-column: 3;
        justify-self: end;
        margin-left: 0;
    }
}

.docd-admin-subnav-home {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    flex: 0 0 auto;
}

.docd-admin-subnav-center {
    min-width: 0;
}

.docd-admin-subnav-actions,
#site-name.docd-admin-subnav-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    margin-left: auto;
}

.docd-admin-subnav-pills,
#site-name:not(.docd-admin-subnav-actions) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.docd-admin-site-title {
    color: rgba(255, 255, 255, 0.96) !important;
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none !important;
    margin: 0;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: normal;
    display: block;
    line-height: 1.2;
}

.docd-admin-site-subtitle {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.72rem;
    line-height: 1.35;
    margin: 0.2rem 0 0;
    max-width: 28rem;
}

.docd-admin-subnav-actions .docd-admin-pill,
#site-name.docd-admin-subnav-actions .docd-admin-pill,
.docd-admin-subnav-home .docd-admin-pill {
    font-size: 0.68rem;
    padding: 0.22rem 0.55rem;
    font-weight: 600;
    gap: 0.25rem;
}

.docd-admin-subnav-actions .docd-admin-pill i,
#site-name.docd-admin-subnav-actions .docd-admin-pill i,
.docd-admin-subnav-home .docd-admin-pill i {
    font-size: 0.7em;
}

.docd-admin-user-tools {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.82rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.docd-admin-user-tools a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.docd-admin-user-tools a:hover {
    border-bottom-color: #fff;
}

.docd-admin-user-sep {
    color: rgba(255, 255, 255, 0.45);
}

.docd-admin-user-tools #logout-form {
    display: inline;
    margin: 0;
    padding: 0;
}

.docd-admin-user-tools #logout-form button {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.docd-admin-user-tools #logout-form button:hover {
    border-bottom-color: #fff;
}

.docd-admin-user-tools .theme-toggle {
    margin-left: 0.35rem;
}

/* Legacy #header rules kept for popups / compatibility */
#header {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 55%, var(--docd-primary-light) 100%);
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

#branding h1,
#branding h1 a:link:not(.docd-admin-pill),
#branding h1 a:visited:not(.docd-admin-pill) {
    color: #fff !important;
    font-weight: 700;
}

#user-tools {
    color: rgba(255, 255, 255, 0.92);
}

#user-tools a {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.35);
}

#user-tools a:hover {
    border-bottom-color: #fff;
}

/* Site name & nav pills */
#site-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.docd-admin-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.12);
    transition: background 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
}

.docd-admin-pill:hover {
    background: rgba(255, 255, 255, 0.22);
    transform: translateY(-1px);
    color: #fff !important;
}

.docd-admin-pill i {
    font-size: 0.78em;
    line-height: 1;
    opacity: 0.92;
}

.docd-admin-pill-primary,
.docd-admin-pill-staff {
    background: #fff;
    color: var(--docd-primary) !important;
    border-color: #fff;
}

.docd-admin-pill-primary:hover,
.docd-admin-pill-staff:hover {
    background: var(--docd-primary-soft);
    color: var(--docd-primary-dark) !important;
}

.docd-admin-pill-public {
    background: #1d4ed8;
    color: #fff !important;
    border-color: #1e40af;
}

.docd-admin-pill-public:hover {
    background: #1e40af;
    color: #fff !important;
    border-color: #1e3a8a;
}

.docd-admin-pill-audit {
    background: #b45309;
    color: #fff !important;
    border-color: #92400e;
}

.docd-admin-pill-audit:hover {
    background: #92400e;
    color: #fff !important;
    border-color: #78350f;
}

.docd-admin-pill-home {
    background: rgba(255, 255, 255, 0.95);
    color: var(--docd-primary-dark, #0f2d1a) !important;
    border-color: rgba(255, 255, 255, 0.85);
}

.docd-admin-pill-home:hover {
    background: #fff;
    color: var(--docd-primary, #1a472a) !important;
    border-color: #fff;
}

/* Layout */
body {
    background: #f4f7f5;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Admin stays light-only — stale localStorage dark theme must not restyle changelist/forms */
body.docd-admin-layout {
    color-scheme: light;
    --bs-primary: #1a472a;
    --bs-primary-rgb: 26, 71, 42;
    --bs-link-color: #1a472a;
    --bs-link-hover-color: #0f2d1a;
}

body.docd-admin-layout .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--docd-primary);
    --bs-btn-border-color: var(--docd-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--docd-primary-dark);
    --bs-btn-hover-border-color: var(--docd-primary-dark);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--docd-primary-dark);
    --bs-btn-active-border-color: var(--docd-primary-dark);
}

/* Django admin a:link { color } overrides Bootstrap button text on <a class="btn"> */
body.docd-admin-layout a.btn,
body.docd-admin-layout a.btn:link,
body.docd-admin-layout a.btn:visited,
body.docd-admin-layout a.btn:hover,
body.docd-admin-layout a.btn:focus,
body.docd-admin-layout a.btn:active {
    text-decoration: none;
}

body.docd-admin-layout a.btn-primary:link,
body.docd-admin-layout a.btn-primary:visited,
body.docd-admin-layout a.btn-primary:hover,
body.docd-admin-layout a.btn-primary:focus,
body.docd-admin-layout a.btn-primary:active,
body.docd-admin-layout a.btn-success:link,
body.docd-admin-layout a.btn-success:visited,
body.docd-admin-layout a.btn-success:hover,
body.docd-admin-layout a.btn-success:focus,
body.docd-admin-layout a.btn-success:active {
    color: #fff !important;
}

body.docd-admin-layout a.btn-outline-primary:link,
body.docd-admin-layout a.btn-outline-primary:visited {
    color: var(--docd-primary) !important;
}

body.docd-admin-layout a.btn-outline-primary:hover,
body.docd-admin-layout a.btn-outline-primary:focus,
body.docd-admin-layout a.btn-outline-primary:active {
    color: #fff !important;
}

body.docd-admin-layout .btn-outline-primary {
    --bs-btn-color: var(--docd-primary);
    --bs-btn-border-color: var(--docd-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--docd-primary);
    --bs-btn-hover-border-color: var(--docd-primary);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--docd-primary-dark);
    --bs-btn-active-border-color: var(--docd-primary-dark);
}

body.docd-admin-layout:not(.login) .form-control:focus,
body.docd-admin-layout:not(.login) .form-select:not(.ts-wrapper):focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout .main {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    overflow-x: hidden;
}

body.docd-admin-layout .main > .content {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
    overflow-x: hidden;
}

body.docd-admin-layout:not(.login) nav .breadcrumbs,
body.docd-admin-layout:not(.login) div.breadcrumbs {
    max-width: var(--docd-admin-content-max);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-sizing: border-box;
}

#content {
    padding: 0.85rem 0 1.25rem;
}

body.docd-admin-layout:not(.login) #content {
    float: none;
    width: 100%;
    max-width: var(--docd-admin-content-max);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.docd-admin-layout:not(.login).dashboard #content,
body.docd-admin-layout:not(.login) .dashboard #content {
    width: 100%;
    max-width: var(--docd-admin-content-max);
    margin-left: auto;
    margin-right: auto;
}

body.docd-admin-layout:not(.login) #content-main {
    float: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

body.docd-admin-layout:not(.login) #content-related {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem;
    position: static;
}

body.docd-admin-layout:not(.login).change-form #content.colM {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Breadcrumbs */
div.breadcrumbs {
    background: var(--docd-primary-soft);
    border: 1px solid var(--docd-border);
    border-radius: var(--docd-radius);
    padding: 0.65rem 1rem;
    margin-bottom: 1.25rem;
    color: var(--docd-primary-dark);
}

div.breadcrumbs a {
    color: var(--docd-primary);
    font-weight: 500;
}

/* Changelist / change-form — page title closer to breadcrumbs (keep breadcrumbs below header) */
body.docd-admin-layout.change-list:not(.docd-admin-doc-page) nav .breadcrumbs,
body.docd-admin-layout.change-list:not(.docd-admin-doc-page) div.breadcrumbs,
body.docd-admin-layout.change-form:not(.docd-admin-doc-page) nav .breadcrumbs,
body.docd-admin-layout.change-form:not(.docd-admin-doc-page) div.breadcrumbs {
    margin-bottom: 0.65rem;
}

body.docd-admin-layout.change-list:not(.docd-admin-doc-page) #content,
body.docd-admin-layout.change-form:not(.docd-admin-doc-page) #content {
    padding-top: 0.35rem;
}

body.docd-admin-layout.change-list:not(.docd-admin-doc-page) #content > h1,
body.docd-admin-layout.change-form:not(.docd-admin-doc-page) #content > h1 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

/* Account settings — single icon heading, tight under breadcrumbs/header */
body.docd-admin-layout:has(.docd-admin-settings-wrap) nav .breadcrumbs,
body.docd-admin-layout:has(.docd-admin-settings-wrap) div.breadcrumbs {
    margin-bottom: 0.25rem;
}

body.docd-admin-layout:has(.docd-admin-settings-wrap) #content {
    padding-top: 0;
}

body.docd-admin-layout .docd-admin-settings-wrap {
    margin-top: 0;
}

body.docd-admin-layout .docd-admin-settings-header {
    margin-top: 0;
    margin-bottom: 0.75rem;
}

body.docd-admin-layout .docd-admin-settings-header h1,
body.docd-admin-layout .docd-admin-settings-header .h3 {
    margin-top: 0;
    margin-bottom: 0;
}

body.docd-admin-layout .docd-security-action-body .form-control,
body.docd-admin-layout .docd-security-action-body .form-select,
body.docd-admin-layout .staff-settings-card .form-control,
body.docd-admin-layout .staff-settings-card .form-select {
    border: 1px solid #000 !important;
}

body.docd-admin-layout .docd-security-action-body .ts-wrapper .ts-control,
body.docd-admin-layout .staff-settings-card .ts-wrapper .ts-control {
    border: 1px solid #000 !important;
    border-radius: 0.375rem !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.docd-admin-layout .staff-settings-page-chip-bar {
    border: 2px solid rgba(255, 255, 255, 0.45);
}

body.docd-admin-layout .staff-settings-page-chip-bar .staff-settings-chip {
    border: 2px solid #fff;
}

body.docd-admin-layout .staff-settings-page-chip-bar .staff-settings-chip.is-active {
    border: 2px solid var(--docd-primary, #1a472a);
}

body.docd-admin-layout .docd-security-confirm-input {
    max-width: 12.5rem;
}

body.docd-admin-layout .docd-security-reasons-select {
    max-width: 100%;
}

body.docd-admin-layout .docd-security-action-block {
    background: #fff;
    border: 2px solid var(--docd-primary, #1a472a) !important;
    border-radius: var(--docd-radius, 0.5rem);
    overflow: hidden;
}

body.docd-admin-layout .docd-security-action-block .staff-settings-card-header {
    padding: 0.65rem 0.95rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff !important;
}

body.docd-admin-layout .docd-security-action-body {
    padding: 0.95rem 1rem 1rem;
}

body.docd-admin-layout .docd-security-action-block .form-label {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
}

body.docd-admin-layout .docd-security-confirm-phrase,
body.docd-admin-layout .docd-security-action-block .form-label strong {
    font-weight: 700 !important;
    font-size: inherit !important;
}

/* Change form object title — slightly smaller so long names fit better */
body.docd-admin-layout.change-form:not(.login):not(.docd-admin-doc-page) #content > h1 {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Page titles (exclude login — card header uses white text) */
body.docd-admin-layout:not(.login) #content h1,
body.docd-admin-layout:not(.login) #content .module h2,
body.docd-admin-layout:not(.login) .dashboard #content-main h1 {
    color: var(--docd-primary-dark);
    font-weight: 700;
    font-size: var(--docd-type-page-title, 1.35rem);
}

/* Modules & cards */
.module,
.inline-group {
    background: #fff;
    border: 1px solid var(--docd-border);
    border-radius: var(--docd-radius);
    box-shadow: var(--docd-shadow);
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.module h2,
.module caption,
.inline-group h2,
fieldset.module.aligned > h2,
fieldset.module.aligned > .fieldset-heading {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 100%);
    color: #fff !important;
    padding: 0.6rem 0.85rem;
    font-size: 0.9rem;
    font-weight: 600;
}

/* Collapsible fieldsets (e.g. Metadata) — summary is the visible toggle */
body.docd-admin-layout fieldset.collapse details > summary,
body.docd-admin-layout fieldset.module.collapse details > summary,
body.docd-admin-layout .inline-group .collapse details > summary {
    display: block;
    cursor: pointer;
    list-style: none;
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 100%) !important;
    color: #fff !important;
    border: none !important;
    margin: 0;
    padding: 0.6rem 0.85rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: var(--docd-radius) var(--docd-radius) 0 0;
}

body.docd-admin-layout fieldset.collapse details > summary::-webkit-details-marker,
body.docd-admin-layout fieldset.module.collapse details > summary::-webkit-details-marker,
body.docd-admin-layout .inline-group .collapse details > summary::-webkit-details-marker {
    color: #fff;
}

body.docd-admin-layout fieldset.collapse summary .fieldset-heading,
body.docd-admin-layout fieldset.module.collapse summary .fieldset-heading,
body.docd-admin-layout fieldset.collapse summary .inline-heading,
body.docd-admin-layout .inline-group .collapse summary .inline-heading {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    display: inline;
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    border-radius: 0;
}

/* Forms */
fieldset.module.aligned {
    background: #fff;
    border: 1px solid var(--docd-border);
    border-radius: var(--docd-radius);
    box-shadow: var(--docd-shadow);
    margin-bottom: 0.85rem;
    padding: 0;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

fieldset.module.aligned h2,
fieldset.module.aligned .fieldset-heading {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 100%);
    color: #fff !important;
    margin: 0;
    padding: 0.6rem 0.85rem;
    border-radius: var(--docd-radius) var(--docd-radius) 0 0;
}

.form-row {
    padding: 0.35rem 0.55rem;
    border-bottom: 1px solid #eef2ef;
    min-width: 0;
}

.form-row:last-child {
    border-bottom: none;
}

.form-row label {
    color: var(--docd-primary-dark);
    font-weight: 600;
    font-size: 0.8rem;
}

/* Required field markers (Django adds class="required" on required labels) */
body.docd-admin-layout label.required::after,
body.docd-admin-layout .required label::after,
body.docd-admin-layout .form-row .required > label::after,
body.docd-admin-layout fieldset.module .required label::after {
    content: " *";
    color: #dc3545;
    font-weight: 700;
}

/* Checkbox / stacked required labels */
body.docd-admin-layout .checkbox-row.required label::after,
body.docd-admin-layout .vCheckboxLabel.required::after {
    content: " *";
    color: #dc3545;
    font-weight: 700;
}

/* Long M2M labels (Assigned cooperatives / regions) must stay on one line */
body.docd-admin-layout .form-row.field-assigned_cooperatives > label,
body.docd-admin-layout .form-row.field-assigned_regions > label,
body.docd-admin-layout .form-row.field-assigned_cooperatives .flex-container > label,
body.docd-admin-layout .form-row.field-assigned_regions .flex-container > label,
body.docd-admin-layout .form-row.field-assigned_cooperatives > fieldset > legend,
body.docd-admin-layout .form-row.field-assigned_regions > fieldset > legend,
body.docd-admin-layout .form-row.field-assigned_cooperatives fieldset[aria-describedby] > legend,
body.docd-admin-layout .form-row.field-assigned_regions fieldset[aria-describedby] > legend {
    width: auto !important;
    min-width: 12rem;
    max-width: none;
    white-space: nowrap;
}

body.docd-admin-layout form .aligned ul {
    margin-left: 12rem;
    padding-left: 0.4rem;
}

body.docd-admin-layout form .aligned p.help,
body.docd-admin-layout form .aligned div.help,
body.docd-admin-layout form .aligned p.help:last-child,
body.docd-admin-layout form .aligned div.help:last-child {
    margin-left: 12rem;
    padding-left: 0.4rem;
    margin-top: 0.1rem;
    margin-bottom: 0;
    font-size: 0.72rem;
}

body.docd-admin-layout form .aligned input + p.help,
body.docd-admin-layout form .aligned textarea + p.help,
body.docd-admin-layout form .aligned select + p.help,
body.docd-admin-layout form .aligned input + div.help,
body.docd-admin-layout form .aligned textarea + div.help,
body.docd-admin-layout form .aligned select + div.help {
    margin-left: 12rem;
    padding-left: 0.4rem;
}

body.docd-admin-layout .colM .aligned .vLargeTextField,
body.docd-admin-layout .colM .aligned .vXMLLargeTextField,
body.docd-admin-layout .colMS .aligned .vLargeTextField,
body.docd-admin-layout .colMS .aligned .vXMLLargeTextField {
    max-width: 100%;
    width: min(34rem, 100%);
    box-sizing: border-box;
}

body.docd-admin-layout .form-row.field-address textarea,
body.docd-admin-layout .form-row.field-address .vLargeTextField,
body.docd-admin-layout .form-row.field-home_address textarea,
body.docd-admin-layout .form-row.field-home_address .vLargeTextField,
body.docd-admin-layout .form-row.field-proposed_address textarea,
body.docd-admin-layout .form-row.field-proposed_address .vLargeTextField,
body.docd-admin-layout .inline-group .field-address textarea,
body.docd-admin-layout .inline-group td.field-address textarea {
    width: min(28rem, 100%) !important;
    max-width: 100% !important;
    min-height: 3.75rem !important;
    height: auto !important;
}

/* Net worth / annual turnover — same width as phone (Django .vTextField) */
body.docd-admin-layout .form-row.field-net_worth input,
body.docd-admin-layout .form-row.field-annual_turnover input {
    width: 20em;
    max-width: 100%;
}

/* Match 2FA email / phone inputs (method select sizes to its options) */
body.docd-admin-layout .form-row.field-two_factor_email input,
body.docd-admin-layout .form-row.field-two_factor_phone input {
    width: 20em;
    max-width: 100%;
    box-sizing: border-box;
}

body.docd-admin-layout .docd-auth-fields .form-check-input,
body.docd-admin-layout .docd-2fa-method-check .form-check-input {
    width: 1.1em;
    height: 1.1em;
    margin-top: 0.2em;
    border: 1px solid #000 !important;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
}

body.docd-admin-layout .docd-auth-fields .form-check-input:checked,
body.docd-admin-layout .docd-2fa-method-check .form-check-input:checked {
    background-color: var(--docd-primary, #1a472a);
    border-color: var(--docd-primary, #1a472a) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

body.docd-admin-layout .flex-container {
    min-width: 0;
    flex-wrap: wrap;
}

body.docd-admin-layout .flex-container input,
body.docd-admin-layout .flex-container select,
body.docd-admin-layout .flex-container textarea {
    max-width: 100%;
    box-sizing: border-box;
}

.module table,
.inline-group table,
.docd-admin-data-table {
    border-collapse: collapse;
    width: 100%;
}

body.docd-admin-layout .dashboard .module table,
body.docd-admin-layout #content-related .module table {
    table-layout: fixed;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
textarea,
select,
.vTextField,
.vURLField,
.vLargeTextField,
.vXMLLargeTextField {
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    padding: 0.3rem 0.5rem !important;
    font-size: 0.8125rem !important;
    background: #fff !important;
    box-shadow: none !important;
    max-width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Single-select dropdowns: size to content, not full row width */
body.docd-admin-layout .form-row select:not([multiple]):not(.filtered),
body.docd-admin-layout .aligned select:not([multiple]):not(.filtered),
body.docd-admin-layout .flex-container > select:not([multiple]):not(.filtered),
body.docd-admin-layout .related-widget-wrapper > select:not([multiple]) {
    width: max-content;
    min-width: 8rem;
    max-width: min(36rem, 100%);
    field-sizing: content;
}

body.docd-admin-layout .selector select,
body.docd-admin-layout #changelist-filter select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    field-sizing: fixed;
}

/* Wider cooperative / member autocomplete fields on Member & Executive admin */
body.docd-admin-layout.model-member .form-row.field-cooperative .related-widget-wrapper,
body.docd-admin-layout.model-executive .form-row.field-cooperative .related-widget-wrapper,
body.docd-admin-layout.model-executive .form-row.field-member .related-widget-wrapper {
    min-width: min(36rem, 100%);
    max-width: 100%;
}

body.docd-admin-layout.model-member .form-row.field-cooperative .select2-container,
body.docd-admin-layout.model-executive .form-row.field-cooperative .select2-container,
body.docd-admin-layout.model-executive .form-row.field-member .select2-container,
body.docd-admin-layout.model-member .form-row.field-cooperative .ts-wrapper,
body.docd-admin-layout.model-executive .form-row.field-cooperative .ts-wrapper,
body.docd-admin-layout.model-executive .form-row.field-member .ts-wrapper {
    width: 100% !important;
    min-width: min(36rem, 100%);
    max-width: 100%;
}

body.docd-admin-layout.model-member .form-row.field-cooperative select,
body.docd-admin-layout.model-executive .form-row.field-cooperative select,
body.docd-admin-layout.model-executive .form-row.field-member select {
    width: 100% !important;
    min-width: min(36rem, 100%);
    max-width: 100%;
    field-sizing: fixed;
}

body.docd-admin-layout #nav-filter,
body.docd-admin-layout .docd-admin-nav-filter {
    background: rgba(0, 0, 0, 0.22) !important;
    color: #fff !important;
    box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #000 !important;
    outline: none;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout input[type="checkbox"],
body.docd-admin-layout input[type="radio"] {
    border: 1px solid #000 !important;
    accent-color: var(--docd-primary);
}

body.docd-admin-layout:not(.login) .form-control,
body.docd-admin-layout:not(.login) .form-select:not(.ts-wrapper) {
    border: 1px solid #000 !important;
}

body.docd-admin-layout:not(.login) .form-control:focus,
body.docd-admin-layout:not(.login) .form-select:not(.ts-wrapper):focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout #nav-filter:focus,
body.docd-admin-layout .docd-admin-nav-filter:focus {
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 0 0 0.15rem rgba(255, 255, 255, 0.15) !important;
}

.help,
.help-block,
.helptext {
    color: #5a6b63 !important;
    font-size: 0.8rem;
}

/* Buttons */
.button,
input[type="submit"],
input[type="button"],
.submit-row input,
a.button {
    background: var(--docd-primary) !important;
    border: 1px solid var(--docd-primary) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-weight: 600;
    padding: 0.45rem 1rem !important;
    transition: background 0.2s ease, transform 0.2s ease;
}

.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.submit-row input:hover,
a.button:hover {
    background: var(--docd-primary-dark) !important;
    border-color: var(--docd-primary-dark) !important;
}

.button.default,
input[type="submit"].default,
.submit-row input.default {
    background: var(--docd-primary) !important;
}

/* Delete buttons only — do not match Recent actions <li class="deletelink"> */
.submit-row a.deletelink,
.deletelink-box a,
a.deletelink,
body.delete-confirmation .submit-row input[type="submit"],
body.delete-confirmation form input[type="submit"] {
    background: #b42318 !important;
    border-color: #b42318 !important;
    color: #fff !important;
    border-radius: 8px !important;
}

/* Django forms.css fixes deletelink height to ~15px — clip text after DoCD button styling */
.submit-row a.deletelink,
.deletelink-box a.deletelink {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    min-height: 2.1875rem;
    line-height: 1.35 !important;
    padding: 0.45rem 1rem !important;
    margin-left: auto;
    white-space: nowrap;
    text-decoration: none !important;
    background-image: none !important;
    padding-left: 1rem !important;
    font-weight: 600;
    border: 1px solid #b42318 !important;
    box-sizing: border-box;
}

body.delete-confirmation form input[type="submit"],
body.delete-confirmation form a.button.cancel-link,
.submit-row a.button.cancel-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    min-height: 2.1875rem;
    line-height: 1.35 !important;
    white-space: nowrap;
    box-sizing: border-box;
    vertical-align: middle;
}

body.delete-confirmation form a.button.cancel-link,
.submit-row a.button.cancel-link {
    padding: 0.45rem 1rem !important;
    text-decoration: none !important;
}

.submit-row a.button.cancel-link {
    background: #fff !important;
    color: var(--docd-primary-dark, #0f2d1a) !important;
    border: 1px solid var(--docd-border, #dce8e0) !important;
    font-weight: 600;
}

.submit-row a.button.cancel-link:hover {
    background: var(--docd-primary-soft, #e8f3ec) !important;
    border-color: var(--docd-primary, #1a472a) !important;
    color: var(--docd-primary-dark, #0f2d1a) !important;
}

.submit-row a.deletelink:hover,
.deletelink-box a:hover,
a.deletelink:hover,
body.delete-confirmation .submit-row input[type="submit"]:hover,
body.delete-confirmation form input[type="submit"]:hover {
    background: #912018 !important;
    border-color: #912018 !important;
    color: #fff !important;
}

.submit-row {
    background: #fff;
    border: 1px solid var(--docd-border);
    border-radius: var(--docd-radius);
    box-shadow: var(--docd-shadow);
    padding: 0.6rem 0.75rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Change list */
#changelist {
    background: #fff;
    border: 1px solid var(--docd-border);
    border-radius: var(--docd-radius);
    box-shadow: var(--docd-shadow);
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

body.docd-admin-layout #changelist .results,
body.docd-admin-layout .inline-group .tabular {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 991.98px) {
    body.docd-admin-layout #changelist .results,
    body.docd-admin-layout .inline-group .tabular {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

body.docd-admin-layout #result_list {
    min-width: max-content;
    table-layout: auto;
    width: max-content;
    max-width: none;
}

body.docd-admin-layout .docd-admin-data-table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
    max-width: 100%;
}

body.docd-admin-layout .inline-group .tabular table {
    min-width: max-content;
    table-layout: auto;
    width: max-content;
    max-width: none;
}

/* Unified compact bordered tables — changelist, dashboard, inlines, custom */
body.docd-admin-layout #result_list th,
body.docd-admin-layout #result_list td,
body.docd-admin-layout .dashboard .module table th,
body.docd-admin-layout .dashboard .module table td,
body.docd-admin-layout #content-related .module table th,
body.docd-admin-layout #content-related .module table td,
body.docd-admin-layout .inline-group .tabular thead th,
body.docd-admin-layout .inline-group .tabular td,
body.docd-admin-layout .docd-admin-data-table th,
body.docd-admin-layout .docd-admin-data-table td {
    padding: var(--docd-admin-table-pad-y) var(--docd-admin-table-pad-x);
    font-size: var(--docd-admin-table-font);
    line-height: 1.3;
    vertical-align: top;
    border: 1px solid var(--docd-admin-table-border);
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

body.docd-admin-layout #result_list thead th {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

body.docd-admin-layout #result_list tbody td {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 11rem;
}

body.docd-admin-layout #result_list .field-is_staff,
body.docd-admin-layout #result_list .field-is_superuser,
body.docd-admin-layout #result_list .field-is_verified,
body.docd-admin-layout #result_list .field-is_active,
body.docd-admin-layout #result_list .field-is_used {
    width: 2.75rem;
    max-width: 3rem;
    text-align: center;
    white-space: nowrap;
}

body.docd-admin-layout #result_list .field-date_joined,
body.docd-admin-layout #result_list .field-created_at,
body.docd-admin-layout #result_list .field-expires_at,
body.docd-admin-layout #result_list .field-used_at {
    white-space: nowrap;
    max-width: 8.5rem;
}

body.docd-admin-layout #result_list thead th,
body.docd-admin-layout .dashboard .module table th,
body.docd-admin-layout #content-related .module table th,
body.docd-admin-layout .inline-group .tabular thead th,
body.docd-admin-layout .docd-admin-data-table thead th {
    background: var(--docd-primary-soft);
    color: var(--docd-primary-dark);
    font-weight: 600;
    font-size: var(--docd-admin-table-header-font);
    text-transform: none;
    letter-spacing: normal;
}

body.docd-admin-layout #result_list tbody tr:nth-child(odd),
body.docd-admin-layout .dashboard .module table tbody tr:nth-child(odd),
body.docd-admin-layout #content-related .module table tbody tr:nth-child(odd),
body.docd-admin-layout .inline-group .tabular tbody tr:nth-child(odd),
body.docd-admin-layout .docd-admin-data-table tbody tr:nth-child(odd) {
    background: var(--docd-admin-table-odd);
}

body.docd-admin-layout #result_list tbody tr:nth-child(even),
body.docd-admin-layout .dashboard .module table tbody tr:nth-child(even),
body.docd-admin-layout #content-related .module table tbody tr:nth-child(even),
body.docd-admin-layout .inline-group .tabular tbody tr:nth-child(even),
body.docd-admin-layout .docd-admin-data-table tbody tr:nth-child(even) {
    background: var(--docd-admin-table-even);
}

body.docd-admin-layout #result_list tbody tr:hover,
body.docd-admin-layout .dashboard .module table tbody tr:hover,
body.docd-admin-layout #content-related .module table tbody tr:hover,
body.docd-admin-layout .inline-group .tabular tbody tr:hover,
body.docd-admin-layout .docd-admin-data-table tbody tr:hover {
    background: var(--docd-admin-table-hover);
}

body.docd-admin-layout #result_list .action-checkbox-column,
body.docd-admin-layout #result_list th.action-checkbox-column,
body.docd-admin-layout #result_list td.action-checkbox {
    width: 1.75rem;
    text-align: center;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

body.docd-admin-layout #result_list th.sortable a,
body.docd-admin-layout #result_list th.sorted a {
    font-size: inherit;
}

body.docd-admin-layout #result_list a,
body.docd-admin-layout .dashboard .module table td a,
body.docd-admin-layout .inline-group .tabular td a,
body.docd-admin-layout .docd-admin-data-table td a {
    font-size: inherit;
    word-break: break-word;
}

/* Change list — filters on top, full-width table */
body.docd-admin-layout.change-list #changelist .changelist-form-container {
    flex-direction: column !important;
    align-items: stretch !important;
}

body.docd-admin-layout.change-list #changelist .changelist-form-container > div {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

body.docd-admin-layout.change-list #changelist .changelist-form-container:has(#changelist-filter) > div {
    max-width: 100% !important;
    width: 100% !important;
}

body.docd-admin-layout.change-list #changelist-filter {
    flex: none !important;
    order: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    position: static !important;
}

body.docd-admin-layout.change-list.change-list .filtered,
body.docd-admin-layout.change-list .change-list .filtered {
    min-height: 0 !important;
}

body.docd-admin-layout.change-list .filtered .results,
body.docd-admin-layout.change-list .filtered #toolbar,
body.docd-admin-layout.change-list .filtered div.xfull {
    width: 100% !important;
    max-width: 100% !important;
}

body.docd-admin-layout.change-list #toolbar {
    display: none !important;
}

body.docd-admin-layout #changelist.docd-changelist-loading .results {
    opacity: 0.55;
    pointer-events: none;
}

body.docd-admin-layout #changelist-filter.docd-changelist-filters-bar {
    order: 0;
    flex: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.5rem;
    padding: 0;
    border: 1px solid var(--docd-border);
    border-radius: var(--docd-radius);
    background: #fff;
    overflow: visible;
    box-shadow: inset 0 0 0 1px rgba(26, 71, 42, 0.04);
}

body.docd-admin-layout .docd-changelist-filters-bar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.45rem 0.65rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--docd-border);
    border-radius: calc(var(--docd-radius) - 2px);
    margin: 0.35rem;
    background: #f7faf8;
}

body.docd-admin-layout .docd-changelist-filters-bar-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    flex: 0 0 auto;
}

body.docd-admin-layout .docd-changelist-filters-bar-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.45rem 0.65rem;
    flex: 1 1 auto;
    min-width: 0;
}

body.docd-admin-layout #changelist-filter h2 {
    background: var(--docd-primary);
    color: #fff !important;
    font-size: 0.58rem;
    font-weight: 700;
    padding: 0.22rem 0.45rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
    border: none;
    border-radius: 0.25rem;
    line-height: 1.2;
    white-space: nowrap;
}

body.docd-admin-layout #changelist-filter #changelist-filter-extra-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    padding: 0;
    margin: 0;
    border: none;
}

body.docd-admin-layout #changelist-filter #changelist-filter-extra-actions h3,
body.docd-admin-layout #changelist-filter #changelist-filter-extra-actions a {
    font-size: 0.8rem;
    margin: 0;
    line-height: 1.2;
    white-space: nowrap;
}

body.docd-admin-layout #changelist-filter .admin-filter-dropdown {
    flex: 0 1 auto;
    min-width: var(--docd-admin-filter-min-width);
    max-width: 14rem;
    padding: 0;
    margin: 0;
    border: none;
}

body.docd-admin-layout #changelist-filter .admin-filter-dropdown--search {
    flex: 1 1 12rem;
    min-width: 10rem;
    max-width: 16rem;
}

body.docd-admin-layout #changelist-filter .admin-filter-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--docd-primary-dark);
    margin-bottom: 0.25rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.docd-admin-layout #changelist-filter .admin-filter-select,
body.docd-admin-layout #changelist-filter .admin-filter-search-input,
body.docd-admin-layout #changelist-filter #docd-admin-searchbar {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: 0.8125rem;
    line-height: 1.2;
    padding: 0.35rem 0.6rem;
    border: 1px solid #000 !important;
    border-radius: 0.3rem;
    background-color: #fff;
    color: var(--docd-primary-dark);
    min-height: 2rem;
    box-sizing: border-box;
    box-shadow: none !important;
}

body.docd-admin-layout #changelist-filter .admin-filter-select {
    padding-right: 1.35rem;
    cursor: pointer;
}

/* Tom Select searchable admin list filters (match staff portal search UX) */
body.docd-admin-layout #changelist-filter .ts-wrapper {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
}

body.docd-admin-layout #changelist-filter .ts-wrapper .ts-control {
    font-size: 0.8125rem !important;
    line-height: 1.2;
    min-height: 2rem;
    padding: 0.35rem 0.6rem !important;
    border: 1px solid #000 !important;
    border-radius: 0.3rem !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.docd-admin-layout #changelist-filter .ts-wrapper.focus .ts-control {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout #changelist-filter .ts-wrapper .ts-control > input {
    font-size: 0.8125rem !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

body > .ts-dropdown.docd-admin-filter-dropdown,
body.docd-admin-layout #changelist-filter .ts-dropdown,
body > .ts-dropdown {
    font-size: 0.8125rem;
}

body.docd-admin-layout #changelist-filter .admin-filter-search-input,
body.docd-admin-layout #changelist-filter #docd-admin-searchbar {
    cursor: text;
}

body.docd-admin-layout #changelist-filter .admin-filter-select:focus,
body.docd-admin-layout #changelist-filter .admin-filter-search-input:focus,
body.docd-admin-layout #changelist-filter #docd-admin-searchbar:focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
    outline: none;
}

body.docd-admin-layout #changelist-filter .docd-changelist-result-summary {
    display: block;
    margin: 0 0.65rem 0.45rem;
    padding: 0 0.15rem;
    font-size: 0.8rem;
    line-height: 1.3;
    color: #5a6b63;
    white-space: nowrap;
}

body.docd-admin-layout #changelist-filter .docd-changelist-result-summary a {
    display: inline !important;
    color: var(--docd-primary);
    font-weight: 600;
    text-decoration: none;
}

body.docd-admin-layout #changelist-filter .docd-changelist-result-summary a:hover {
    text-decoration: underline;
}

/* Legacy list markup (if any third-party filter templates remain) */
body.docd-admin-layout #changelist-filter li {
    padding: 0.15rem 0.45rem;
}

body.docd-admin-layout #changelist-filter #changelist-filter-extra-actions a {
    font-size: 0.8rem;
    line-height: 1.25;
    display: inline;
}

body.docd-admin-layout #changelist-filter h3,
body.docd-admin-layout #changelist-filter details summary {
    font-size: 0.8rem;
    padding: 0;
    margin: 0;
}

#changelist .actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    background: var(--docd-primary-soft);
    border-bottom: 1px solid var(--docd-border);
    padding: 0.45rem 0.65rem;
    overflow: visible;
    position: relative;
    z-index: 40;
    font-size: 0.75rem;
    line-height: 1.25;
}

#changelist .actions label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    vertical-align: middle;
    white-space: nowrap;
}

#changelist .actions label,
#changelist .actions select,
#changelist .actions .ts-wrapper,
#changelist .actions .action-counter,
#changelist .actions span.action-counter,
#changelist .actions span.all,
#changelist .actions span.clear,
#changelist .actions span.question,
#changelist .actions button,
#changelist .actions .button {
    position: relative;
    z-index: 41;
    vertical-align: middle;
}

#changelist .actions select,
#changelist .actions .ts-wrapper {
    width: max-content !important;
    min-width: 12rem;
    max-width: min(28rem, 100%);
    height: 2.125rem !important;
    min-height: 2.125rem !important;
    margin: 0 !important;
    margin-left: 0 !important;
    line-height: 1.25 !important;
    padding: 0.3rem 1.75rem 0.3rem 0.5rem !important;
    color: var(--docd-primary-dark);
    background: #fff !important;
    white-space: nowrap;
    field-sizing: content;
    box-sizing: border-box;
}

#changelist .actions .ts-wrapper .ts-control {
    min-height: 2.125rem !important;
    height: 2.125rem !important;
    box-sizing: border-box;
}

#changelist .actions .button,
#changelist .actions button.button,
#changelist .actions button[type="submit"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 2.125rem !important;
    min-height: 2.125rem !important;
    margin: 0 !important;
    padding: 0 0.85rem !important;
    line-height: 1 !important;
    font-size: 0.75rem !important;
    box-sizing: border-box;
    flex: 0 0 auto;
}

#changelist .actions span.all,
#changelist .actions span.action-counter,
#changelist .actions span.clear,
#changelist .actions span.question {
    margin: 0;
    line-height: 2.125rem;
}

#result_list thead th {
    border-bottom: 2px solid var(--docd-admin-table-border);
}

.paginator {
    padding: 0.45rem 0.65rem;
    color: #5a6b63;
    font-size: 0.75rem;
}

.paginator a:link,
.paginator a:visited {
    color: var(--docd-primary);
    font-weight: 600;
}

/* Dashboard app list — inherits unified table rules above */
.dashboard .module table td a {
    color: var(--docd-primary);
    font-weight: 600;
}

/* Recent actions sidebar — Django base.css strips module h2 background; restore DoCD header */
body.docd-admin-layout #content-related .module {
    background: #fff;
}

body.docd-admin-layout #content-related .module h2 {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 100%) !important;
    color: #fff !important;
    border-bottom: none;
    padding: 0.6rem 0.85rem;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0;
}

/* Recent actions: deletion rows use class "deletelink" — keep list styling, not delete-button red pills */
body.docd-admin-layout #recent-actions-module .actionlist li.deletelink,
body.docd-admin-layout #recent-actions-module .actionlist li.addlink,
body.docd-admin-layout #recent-actions-module .actionlist li.changelink {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: inherit !important;
    display: list-item;
    padding: 0.35rem 0.5rem 0.35rem 1.75rem;
    margin: 0;
    min-height: 0;
    line-height: 1.35;
    white-space: normal;
}

body.docd-admin-layout #recent-actions-module .actionlist li.deletelink {
    color: inherit !important;
}

body.docd-admin-layout #recent-actions-module .actionlist .docd-recent-deleted {
    color: #b42318;
    font-weight: 600;
}

body.docd-admin-layout #recent-actions-module .actionlist .docd-recent-deleted-label {
    font-weight: 500;
    white-space: nowrap;
}

body.docd-admin-layout #content-related h3 {
    color: var(--docd-primary-dark);
    font-weight: 600;
}

/* Messages */
ul.messagelist {
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

ul.messagelist li {
    border-radius: 8px;
    padding: 0.55rem 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
    border: 1px solid transparent;
    transition: opacity 0.32s ease, transform 0.32s ease;
}

ul.messagelist li.success {
    background: #ecfdf3;
    color: #067647;
    border-color: #abefc6;
}

ul.messagelist li.warning {
    background: #fffaeb;
    color: #b54708;
    border-color: #fedf89;
}

ul.messagelist li.error {
    background: #fef3f2;
    color: #b42318;
    border-color: #fecdca;
}

ul.messagelist li.info,
ul.messagelist li.debug {
    background: #eff8ff;
    color: #175cd3;
    border-color: #b2ddff;
}

/* Object tools */
.object-tools a {
    background: var(--docd-primary);
    border-radius: 8px;
    font-weight: 600;
}

.object-tools a:hover {
    background: var(--docd-primary-dark);
}

/* Login page */
body.login.docd-admin-layout {
    --docd-admin-header-offset: var(--docd-auth-header-offset, var(--docd-public-header-height, 58px));
    background: linear-gradient(180deg, var(--docd-primary-soft) 0%, #f4f7f5 45%, #eef2ef 100%);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.login .docd-admin-subnav {
    display: none;
}

body.login #nav-sidebar,
body.login .toggle-nav-sidebar {
    display: none !important;
}

body.login.docd-admin-layout #container {
    background: transparent;
    border: none;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    min-height: 100vh;
}

body.login.docd-admin-layout .main {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    flex: 1 0 auto;
}

body.login.docd-admin-layout .main > .content {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    padding: var(--docd-auth-below-header-gap, 1.5rem) 1rem 2rem;
}

body.login #content {
    float: none;
    width: min(440px, 92vw);
    max-width: 440px;
    margin: 0 auto;
    padding: 0;
}

body.login #content-main,
body.login .docd-admin-login-card {
    background: #fff;
    border: 1px solid var(--docd-border);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(15, 45, 26, 0.12);
    overflow: hidden;
    width: 100%;
}

body.login #content-main form {
    margin: 0;
}

body.login .docd-admin-login-header {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 55%, var(--docd-primary-light) 100%);
    color: #fff;
    text-align: center;
    padding: 1.75rem 1.5rem 1.5rem;
}

body.login .docd-admin-login-header .icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 0.75rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

body.login .docd-admin-login-header h1 {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
}

body.login .docd-admin-login-header p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.9rem;
    margin: 0;
}

body.login .docd-admin-login-body {
    padding: 1.75rem 1.5rem 1.5rem;
}

/* Match staff portal auth field dimensions exactly */
body.login.docd-portal-auth .form-control,
body.login .docd-admin-login-body .form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    padding: 0.55rem 0.85rem !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    border: 2px solid var(--docd-primary, #1a472a) !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
}

body.login.docd-portal-auth .form-control:focus,
body.login .docd-admin-login-body .form-control:focus {
    border-color: var(--docd-primary-dark, #0f2d1a) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 71, 42, 0.18) !important;
}

/* 2FA / account settings auth inputs on admin (not the login card) */
body.docd-admin-layout:not(.login) .docd-admin-settings-wrap .form-control,
body.docd-admin-layout:not(.login) .docd-auth-fields .form-control {
    border: 1px solid #000 !important;
}

body.docd-admin-layout:not(.login) .docd-admin-settings-wrap .form-control:focus,
body.docd-admin-layout:not(.login) .docd-auth-fields .form-control:focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.login.docd-portal-auth .docd-password-field .form-control {
    padding-right: 2.75rem !important;
}

body.login .docd-admin-login-body .form-label {
    font-weight: 600;
    color: var(--docd-primary-dark);
    margin-bottom: 0.35rem;
}

body.login .docd-admin-login-body .btn-primary {
    background-color: var(--docd-primary);
    border-color: var(--docd-primary);
    padding: 0.6rem 1rem;
    font-weight: 600;
    border-radius: 8px;
}

body.login .docd-admin-login-body .btn-primary:hover {
    background-color: var(--docd-primary-dark);
    border-color: var(--docd-primary-dark);
}

/* Match staff portal auth invalid-feedback typography (see portal.css .docd-portal-auth) */
body.login.docd-admin-layout .docd-admin-login-body .invalid-feedback,
body.login.docd-admin-layout .docd-admin-login-body .invalid-feedback.d-block,
body.login.docd-portal-auth .invalid-feedback,
body.login.docd-portal-auth .invalid-feedback.d-block {
    display: block;
    width: 100%;
    color: #b42318;
    font-size: 0.8125rem;
    line-height: 1.45;
    margin-top: 0.35rem;
}

body.login .form-row {
    border: none;
    padding: 0 0 1rem;
}

body.login .submit-row {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

body.login .submit-row input {
    width: 100%;
}

body.login.docd-admin-layout #footer.docd-admin-footer,
body.login #footer {
    text-align: left;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    width: 100%;
    max-width: 100%;
    flex-shrink: 0;
}

body.login #footer .site-footer {
    margin-top: 0;
}

/* Footer — full page width (Django already wraps {% block footer %} in #footer) */
body.docd-admin-layout:not(.login) #footer.docd-admin-footer,
body.docd-admin-layout:not(.login) #footer {
    clear: both;
    display: block;
    /* Break out of #container side gutters so the bar spans the viewport */
    width: calc(100% + 2 * var(--docd-admin-content-gutter));
    max-width: none;
    margin: 2.5rem calc(-1 * var(--docd-admin-content-gutter)) 0;
    padding: 1.35rem var(--docd-admin-content-gutter) 1.5rem;
    text-align: center !important;
    background: linear-gradient(180deg, var(--docd-primary-soft) 0%, #eef4f0 100%);
    border-top: 2px solid var(--docd-border);
    box-shadow: 0 -4px 20px rgba(15, 45, 26, 0.04);
    box-sizing: border-box;
}

/* On desktop, centre text within the main content column (not under the sidebar). */
@media (min-width: 992px) {
    body.docd-admin-layout:not(.login) #footer.docd-admin-footer,
    body.docd-admin-layout:not(.login) #footer {
        padding-left: calc(var(--docd-admin-sidebar-width) + var(--docd-admin-content-gutter));
    }
}

.docd-admin-footer-inner {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
}

.docd-admin-footer-line,
.docd-admin-footer-subline {
    text-align: center !important;
}

.docd-admin-footer-line {
    color: var(--docd-primary-dark);
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0 0 0.35rem;
}

.docd-admin-footer-subline {
    color: #5a6b63;
    font-size: 0.8rem;
    line-height: 1.4;
    margin: 0;
    letter-spacing: 0.02em;
}

.docd-admin-footer-legal {
    margin: 0.2rem 0 0.45rem;
    font-size: 0.8rem;
    line-height: 1.4;
    color: #5a6b63;
    text-align: center !important;
}

.docd-admin-footer-legal a {
    color: var(--docd-primary-dark);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.docd-admin-footer-legal a:hover,
.docd-admin-footer-legal a:focus-visible {
    color: var(--docd-primary);
}

.docd-admin-footer-legal .docd-legal-footer-sep {
    margin: 0 0.4rem;
    opacity: 0.65;
}

.docd-scope-list__toggle {
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    vertical-align: baseline;
}

.docd-scope-list__toggle:hover,
.docd-scope-list__toggle:focus-visible {
    text-decoration: underline;
}

/* Inlines — tabular headers use unified table styles */
.inline-group .tabular.inline-related {
    overflow: visible;
}

/* Tabular inlines: hide Django's absolute-positioned object label (redundant with data columns). */
body.docd-admin-layout .inline-group .tabular thead th.original,
body.docd-admin-layout .inline-group .tabular tbody td.original {
    display: none;
}

body.docd-admin-layout .inline-group .tabular tr.has_original td {
    padding-top: var(--docd-admin-table-pad-y);
}

body.docd-admin-layout .inline-group .tabular td.original p {
    position: static;
    height: auto;
    overflow: visible;
    font-weight: inherit;
}

body.docd-admin-layout .inline-group .tabular tbody td {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    min-width: 5rem;
}

body.docd-admin-layout .inline-group .tabular td.field-phone_number,
body.docd-admin-layout .inline-group .tabular td.field-get_member_phone {
    min-width: 6.5rem;
    white-space: nowrap;
}

body.docd-admin-layout .inline-group .tabular td.field-is_youth,
body.docd-admin-layout .inline-group .tabular td.field-is_active,
body.docd-admin-layout .inline-group .tabular td.field-is_current {
    min-width: 3rem;
    text-align: center;
    white-space: nowrap;
}

body.docd-admin-layout .inline-group[data-inline-type="stacked"] .inline-related {
    border: 1px solid var(--docd-border);
    border-radius: 8px;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.85rem;
    background: var(--docd-admin-table-even);
}

body.docd-admin-layout .inline-group[data-inline-type="stacked"] .inline-related h3 {
    background: transparent;
    color: var(--docd-primary-dark);
    border: none;
    padding: 0 0 0.5rem;
    margin: 0 0 0.35rem;
    font-size: 0.85rem;
}

body.docd-admin-layout .inline-group[data-inline-type="stacked"] .inline-related .form-row {
    padding: 0.35rem 0;
}

body.docd-admin-layout .inline-group .tabular input,
body.docd-admin-layout .inline-group .tabular select,
body.docd-admin-layout .inline-group .tabular textarea {
    font-size: 0.75rem !important;
    padding: 0.2rem 0.35rem !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

body.docd-admin-layout .inline-group .tabular select:not([multiple]):not(.filtered) {
    width: max-content;
    min-width: 6.5rem;
}

body.docd-admin-layout .inline-group .tabular textarea {
    width: 100%;
}

body.docd-admin-layout .inline-group .tabular .field-box {
    min-width: 0;
}

/* Dark mode — keep DoCD headers readable */
html[data-theme="dark"] body.docd-admin-layout fieldset.collapse details > summary,
html[data-theme="dark"] body.docd-admin-layout fieldset.module.collapse details > summary,
html[data-theme="dark"] body.docd-admin-layout .inline-group .collapse details > summary,
html[data-theme="dark"] body.docd-admin-layout fieldset.module.aligned h2,
html[data-theme="dark"] body.docd-admin-layout .module h2,
html[data-theme="dark"] body.docd-admin-layout .inline-group h2 {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 100%) !important;
    color: #fff !important;
}

html[data-theme="dark"] body.docd-admin-layout fieldset.collapse summary .fieldset-heading,
html[data-theme="dark"] body.docd-admin-layout fieldset.module.collapse summary .fieldset-heading {
    color: inherit !important;
}

/* Related widget */
.related-widget-wrapper select {
    min-height: 2.25rem;
}

/* Match staff portal row-action buttons (eye / pencil / + / x) */
body.docd-admin-layout .related-widget-wrapper {
    align-items: center;
    gap: 0.35rem 0.45rem;
}

body.docd-admin-layout .related-widget-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.2rem;
}

body.docd-admin-layout .related-widget-wrapper-link.btn-sm,
body.docd-admin-layout .related-widget-actions .btn-sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.18rem 0.38rem;
    font-size: 0.7rem;
    line-height: 1;
    min-width: 1.65rem;
    min-height: 1.65rem;
    border-radius: 0.25rem;
    opacity: 1;
    filter: none;
    text-decoration: none;
    box-sizing: border-box;
}

body.docd-admin-layout .related-widget-wrapper-link.btn-sm i,
body.docd-admin-layout .related-widget-actions .btn-sm i {
    font-size: 0.82rem;
    line-height: 1;
}

body.docd-admin-layout .related-widget-wrapper-link.btn-sm img {
    width: 0.82rem;
    height: 0.82rem;
    display: block;
}

/* Inline formset row delete (X) — same compact action size */
body.docd-admin-layout .inline-deletelink,
body.docd-admin-layout a.inline-deletelink {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-indent: 0;
    width: 1.65rem;
    height: 1.65rem;
    min-width: 1.65rem;
    min-height: 1.65rem;
    padding: 0.18rem 0.38rem;
    margin: 0;
    border: 1px solid #dc3545;
    border-radius: 0.25rem;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23dc3545' d='M2.146 2.854a.5.5 0 0 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/%3E%3C/svg%3E") center / 0.82rem no-repeat;
    color: transparent;
    font-size: 0;
    line-height: 1;
    box-sizing: border-box;
    vertical-align: middle;
}

body.docd-admin-layout .inline-deletelink:hover,
body.docd-admin-layout .inline-deletelink:focus,
body.docd-admin-layout a.inline-deletelink:hover,
body.docd-admin-layout a.inline-deletelink:focus {
    background-color: #dc3545;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M2.146 2.854a.5.5 0 0 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/%3E%3C/svg%3E");
    border-color: #dc3545;
    cursor: pointer;
}

body.docd-admin-layout .tabular td.delete,
body.docd-admin-layout .tabular th.delete {
    text-align: center;
    vertical-align: middle;
    width: 2.5rem;
}

/* Autocomplete FKs use <legend> + Select2 — match regular field labels/borders */
body.docd-admin-layout .form-row > fieldset,
body.docd-admin-layout .form-row fieldset[aria-describedby] {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

body.docd-admin-layout .form-row > fieldset > legend,
body.docd-admin-layout .form-row fieldset[aria-describedby] > legend {
    color: var(--docd-primary-dark);
    font-weight: 600;
    font-size: 0.75rem;
    float: left;
    width: auto;
    min-width: 12rem;
    max-width: none;
    padding: 2px 0.75rem 0 0;
    margin: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

body.docd-admin-layout .select2-container--admin-autocomplete .select2-selection--single,
body.docd-admin-layout .select2-container--admin-autocomplete .select2-selection--multiple {
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    background: #fff !important;
    min-height: 2.25rem;
    box-shadow: none !important;
}

body.docd-admin-layout .select2-container--admin-autocomplete.select2-container--focus .select2-selection,
body.docd-admin-layout .select2-container--admin-autocomplete.select2-container--open .select2-selection {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout .select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {
    line-height: 2.1rem;
    padding-left: 0.5rem;
    font-size: 0.8125rem;
    color: #212529;
}

body.docd-admin-layout .select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow {
    height: 2.1rem;
}

/* Tom Select — one border on .ts-control only (match changelist search).
   Bootstrap copies .form-select onto .ts-wrapper; strip that shell border. */
body.docd-admin-layout .ts-wrapper.form-select,
body.docd-admin-layout .ts-wrapper.single,
body.docd-admin-layout .ts-wrapper.multi,
body.docd-admin-layout .form-row .ts-wrapper,
body.docd-admin-layout .aligned .ts-wrapper,
body.docd-admin-layout .inline-group .ts-wrapper,
body.docd-admin-layout #changelist .actions .ts-wrapper {
    border: none !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: 0 !important;
}

body.docd-admin-layout .ts-wrapper.form-select,
body.docd-admin-layout .ts-wrapper.single,
body.docd-admin-layout .form-row .ts-wrapper,
body.docd-admin-layout .aligned .ts-wrapper,
body.docd-admin-layout .inline-group .ts-wrapper {
    width: max-content;
    min-width: 8rem;
    max-width: min(36rem, 100%);
    display: inline-block;
    vertical-align: middle;
}

body.docd-admin-layout #changelist-filter .ts-wrapper,
body.docd-admin-layout #changelist-filter .ts-wrapper.form-select,
body.docd-admin-layout #changelist-filter .ts-wrapper.single,
body.docd-admin-layout #changelist-filter .ts-wrapper.multi {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    display: block;
}

body.docd-admin-layout .ts-wrapper .ts-control {
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    min-height: 2.25rem;
    background: #fff !important;
    font-size: 0.8125rem !important;
    box-shadow: none !important;
}

body.docd-admin-layout .ts-wrapper .ts-control > input,
body.docd-admin-layout .ts-wrapper .ts-control input {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.docd-admin-layout .ts-wrapper.focus .ts-control {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout .ts-dropdown,
body.docd-admin-layout .ts-dropdown .option,
body.docd-admin-layout .ts-dropdown .item,
body > .ts-dropdown .option,
body > .ts-dropdown .item {
    font-size: 0.8125rem !important;
}

body.docd-admin-layout .ts-dropdown .active {
    background-color: var(--docd-primary-soft, #e6f0ea);
    color: var(--docd-primary-dark, #0f2d1a);
}

body.docd-admin-layout .ts-dropdown .option {
    padding: 0.45rem 0.75rem;
    color: #1a2e24;
}

body.docd-admin-layout .ts-dropdown .option:hover,
body.docd-admin-layout .ts-dropdown .option.active,
body.docd-admin-layout .ts-dropdown .option.selected {
    background-color: var(--docd-primary-soft, #e6f0ea) !important;
    color: var(--docd-primary-dark, #0f2d1a) !important;
    font-weight: 600;
}

body.docd-admin-layout .ts-wrapper.single .ts-control .item {
    color: var(--docd-primary-dark, #0f2d1a);
    font-weight: 600;
}

body.docd-admin-layout .ts-wrapper.multi .ts-control > div {
    background: var(--docd-primary-soft, #e6f0ea);
    border: 1px solid rgba(26, 71, 42, 0.25);
    color: var(--docd-primary-dark, #0f2d1a);
}

body.docd-admin-layout .ts-wrapper.multi .ts-control > div.active {
    background: var(--docd-primary, #1a472a);
    border-color: var(--docd-primary, #1a472a);
    color: #fff;
}

/* Groups / permissions — compact side-by-side selector */
body.docd-admin-layout .selector {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.35rem;
    overflow-x: auto;
    float: none;
    box-sizing: border-box;
}

body.docd-admin-layout .selector-available,
body.docd-admin-layout .selector-chosen {
    flex: 1 1 0;
    min-width: 10.5rem;
    width: auto;
    max-width: none;
    float: none;
    box-sizing: border-box;
}

body.docd-admin-layout .selector-available-title,
body.docd-admin-layout .selector-chosen-title {
    background: linear-gradient(135deg, var(--docd-primary-dark) 0%, var(--docd-primary) 100%) !important;
    color: #fff !important;
    border-color: var(--docd-border) !important;
    padding: 0.45rem 0.55rem;
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
}

body.docd-admin-layout .selector-available-title label,
body.docd-admin-layout .selector-chosen-title label {
    color: #fff !important;
    width: 100%;
}

body.docd-admin-layout .selector-available-title .helptext,
body.docd-admin-layout .selector-chosen-title .helptext {
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 0.7rem;
    margin: 0.2rem 0 0;
    line-height: 1.35;
}

body.docd-admin-layout .selector select {
    width: 100% !important;
    min-width: 0;
    height: 10.5rem !important;
    min-height: 8rem;
    box-sizing: border-box;
}

body.docd-admin-layout .selector ul.selector-chooser {
    float: none;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: auto;
    align-self: center;
    margin: 0;
    padding: 0;
}

body.docd-admin-layout .selector ul.selector-chooser li {
    padding: 0.15rem 0;
}

body.docd-admin-layout .selector ul.selector-chooser li a {
    width: 1.75rem;
    height: 1.75rem;
    line-height: 1.75rem;
    font-size: 0.85rem;
}

body.docd-admin-layout fieldset.module.aligned:has(.selector) {
    overflow: visible;
}

body.docd-admin-layout .form-row:has(.selector) {
    overflow-x: auto;
    overflow-y: visible;
}

body.docd-admin-layout .aligned .form-row.field-roles .selector,
body.docd-admin-layout .aligned .form-row.field-groups .selector,
body.docd-admin-layout .aligned .form-row.field-user_permissions .selector {
    margin-left: 12rem;
    max-width: calc(100% - 12rem);
    box-sizing: border-box;
}

body.docd-admin-layout #changelist-form {
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

body.docd-admin-layout .docd-admin-mobile-title {
    display: none;
    color: rgba(255, 255, 255, 0.92);
    font-weight: 600;
    font-size: 0.85rem;
    flex: 1 1 auto;
    min-width: 0;
}

body.docd-admin-layout .docd-admin-sidebar-drawer-menu {
    display: none;
    flex-shrink: 0;
    padding-bottom: 0.35rem;
}

body.docd-admin-layout .docd-admin-drawer-pill-list .nav-item {
    margin-bottom: 0.22rem;
}

body.docd-admin-layout .docd-admin-drawer-pill {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0.28rem 0.58rem !important;
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.docd-admin-layout .docd-admin-drawer-pill i {
    font-size: 0.72rem;
    margin-right: 0.25rem !important;
}

body.docd-admin-layout .docd-admin-drawer-pill.docd-admin-pill-staff {
    background: #fff !important;
    color: var(--docd-primary) !important;
    border: 1px solid #fff !important;
}

body.docd-admin-layout .docd-admin-drawer-pill.docd-admin-pill-staff:hover {
    background: var(--docd-primary-soft) !important;
    color: var(--docd-primary-dark) !important;
}

body.docd-admin-layout .docd-admin-drawer-pill.docd-admin-pill-public {
    background: #1d4ed8 !important;
    color: #fff !important;
    border: 1px solid #1e40af !important;
}

body.docd-admin-layout .docd-admin-drawer-pill.docd-admin-pill-public:hover {
    background: #1e40af !important;
    color: #fff !important;
    border-color: #1e3a8a !important;
}

body.docd-admin-layout .docd-admin-drawer-pill.docd-admin-pill-audit {
    background: #b45309 !important;
    color: #fff !important;
    border: 1px solid #92400e !important;
}

body.docd-admin-layout .docd-admin-drawer-pill.docd-admin-pill-audit:hover {
    background: #92400e !important;
    color: #fff !important;
    border-color: #78350f !important;
}

body.docd-admin-layout .docd-admin-sidebar-account-panel {
    margin: 0.45rem 0.5rem 0.35rem;
    padding: 0.5rem 0.35rem 0.4rem;
    border-radius: 0.55rem;
    background: rgba(8, 32, 18, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

body.docd-admin-layout .docd-admin-sidebar-user {
    color: #f4faf6;
    font-size: 0.8rem;
    margin-bottom: 0.35rem;
    padding: 0.4rem 0.55rem;
    border-radius: 0.4rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

body.docd-admin-layout .docd-admin-sidebar-account-nav .nav-link,
body.docd-admin-layout .docd-admin-sidebar-account-nav .docd-admin-sidebar-logout-btn {
    color: #f5f0d0 !important;
    font-weight: 600;
}

body.docd-admin-layout .docd-admin-sidebar-account-nav .nav-link:hover,
body.docd-admin-layout .docd-admin-sidebar-account-nav .docd-admin-sidebar-logout-btn:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #fffef8 !important;
}

body.docd-admin-layout .docd-admin-sidebar-logout-form {
    margin: 0;
    width: 100%;
}

body.docd-admin-layout .docd-admin-sidebar-logout-btn {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

body.docd-admin-layout .docd-admin-sidebar-theme-wrap {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.38rem 0.65rem;
    color: #dcefe3;
    border-radius: 0.4rem;
}

body.docd-admin-layout .docd-admin-sidebar-theme-wrap .visually-hidden {
    display: none !important;
}

body.docd-admin-layout .docd-admin-sidebar-theme-wrap .theme-toggle {
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 0 auto;
}

body.docd-admin-layout .docd-admin-sidebar-theme-wrap .theme-toggle:hover {
    background: rgba(255, 255, 255, 0.2);
}

body.docd-admin-layout .docd-admin-sidebar-theme-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: #dcefe3;
}

.docd-admin-sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 45, 26, 0.45);
    z-index: 1055;
}

.docd-admin-sidebar-backdrop.is-visible {
    display: block;
}

/* Fixed admin sidebar — staff portal pattern */
body.docd-admin-layout .toggle-nav-sidebar {
    display: none !important;
}

body.docd-admin-layout .docd-admin-mobile-nav-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    cursor: pointer;
    flex: 0 0 auto;
}

body.docd-admin-layout .docd-admin-mobile-nav-btn:hover,
body.docd-admin-layout .docd-admin-mobile-nav-btn:focus {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

body.docd-admin-layout #nav-sidebar {
    flex: none;
    width: var(--docd-admin-sidebar-width);
    margin: 0;
    left: auto;
    font-size: 0.8rem;
    padding: 0;
    overflow: hidden;
    border: none;
    background: var(--docd-sidebar-gradient);
    z-index: 1020;
}

body.docd-admin-layout .docd-admin-sidebar-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    overflow: hidden;
}

body.docd-admin-layout .docd-admin-sidebar-close-row {
    display: none;
    flex-shrink: 0;
    justify-content: flex-end;
}

body.docd-admin-layout .docd-admin-sidebar-brand {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

body.docd-admin-layout .docd-admin-sidebar-brand .sidebar-brand {
    min-width: 0;
    flex: 1 1 auto;
}

body.docd-admin-layout .docd-admin-sidebar-close {
    display: none;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    cursor: pointer;
}

body.docd-admin-layout .docd-admin-sidebar-close:hover,
body.docd-admin-layout .docd-admin-sidebar-close:focus {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

body.docd-admin-layout .docd-admin-sidebar-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

body.docd-admin-layout .docd-admin-sidebar-apps {
    flex: 0 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem;
    scrollbar-gutter: stable;
}

body.docd-admin-layout .docd-admin-sidebar-section-label {
    color: rgba(168, 198, 176, 0.92);
    background: rgba(0, 0, 0, 0.22);
    border-left: 3px solid rgba(138, 173, 150, 0.55);
    border-radius: 0.35rem;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin: 0.45rem 0.5rem 0.25rem;
    padding: 0.34rem 0.55rem;
    cursor: default;
    user-select: none;
}

body.docd-admin-layout .docd-admin-sidebar-section.current-app .docd-admin-sidebar-section-label {
    color: rgba(196, 224, 204, 0.95);
    background: rgba(0, 0, 0, 0.28);
    border-left-color: rgba(196, 224, 204, 0.65);
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-apps .nav-link,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-account-nav .nav-link,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-account-nav .docd-admin-sidebar-logout-btn {
    color: #f5f0d0 !important;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0.45rem;
    margin-bottom: 0.12rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link i,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .nav-link i {
    font-size: 0.85rem;
    flex-shrink: 0;
    margin-right: 0 !important;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-divider {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.78);
    opacity: 1;
    margin: 0.35rem 0.55rem;
    height: 0;
    color: transparent;
    background: transparent;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-divider--docs {
    flex: 0 0 auto;
    margin-top: auto;
    margin-bottom: 0.35rem;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs {
    flex: 0 0 auto;
    margin: 0 0.35rem 0.1rem;
    padding: 0.15rem 0.3rem 0.2rem;
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.16);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .nav-link,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .docd-admin-docs-link {
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.8rem;
    line-height: 1.25;
    border-radius: 0.35rem;
    background: rgba(26, 71, 42, 0.35);
    border: none;
    margin-bottom: 0;
    padding: 0.3rem 0.65rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .nav-link:hover,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .nav-link:focus {
    background: rgba(26, 71, 42, 0.55) !important;
    color: #fff !important;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .nav-link.active {
    background: rgba(255, 255, 255, 0.92) !important;
    color: #1a472a !important;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 500;
    font-size: 0.8rem;
    line-height: 1.25;
    background: transparent;
    border: none;
    border-radius: 6px;
    margin-bottom: 0;
    padding: 0.3rem 0.65rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transform: none;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-item + .nav-item {
    margin-top: 0.02rem;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    transform: none;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link.active:hover,
body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link.active:focus,
body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link.active:focus-visible {
    background: #ffffff !important;
    color: var(--docd-primary) !important;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link.text-danger-soft:hover {
    color: #ffb4b4 !important;
    background: rgba(220, 53, 69, 0.15) !important;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link.active {
    background: #ffffff;
    color: var(--docd-primary) !important;
    font-weight: 600;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer ul,
body.docd-admin-layout #nav-sidebar .sidebar-footer li,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs ul,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs li {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-apps .nav-link::before,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-account-nav .nav-link::before,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-account-nav .docd-admin-sidebar-logout-btn::before {
    content: "";
    width: 0.28rem;
    height: 0.28rem;
    border-radius: 50%;
    background: var(--docd-accent, #c9a227);
    flex: 0 0 auto;
    opacity: 0.95;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link::before,
body.docd-admin-layout #nav-sidebar .sidebar-footer .docd-admin-sidebar-logout-btn::before,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-docs .nav-link::before {
    content: none;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .docd-admin-sidebar-logout-form {
    margin: 0;
    width: 100%;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .docd-admin-sidebar-logout-btn {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0.38rem 0.65rem;
    border-radius: 6px;
    font-size: 0.8rem;
    line-height: 1.25;
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-apps .nav-link:hover,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-account-nav .nav-link:hover,
body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-account-nav .docd-admin-sidebar-logout-btn:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.38);
    color: #fffef8 !important;
    transform: translateX(1px);
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-apps .nav-link.active {
    background: #ffffff;
    border-color: #ffffff;
    color: var(--docd-primary) !important;
    font-weight: 700;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

body.docd-admin-layout #nav-sidebar .docd-admin-sidebar-apps .nav-link.active::before {
    background: var(--docd-primary);
}

body.docd-admin-layout #nav-sidebar .docd-admin-drawer-pill::before {
    content: none;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer {
    flex: 0 0 auto;
    flex-shrink: 0;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: visible;
    margin-top: 0.1rem;
    margin-left: 0.35rem;
    margin-right: 0.35rem;
    margin-bottom: 0.2rem;
    padding: 0.25rem 0.35rem 0.3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 0 0 0.5rem 0.5rem;
    background: rgba(45, 52, 54, 0.72);
    box-shadow: none;
    padding-bottom: max(0.3rem, env(safe-area-inset-bottom, 0px));
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .sidebar-account-actions {
    margin-top: 0.25rem;
    padding-top: 0.2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .sidebar-account-actions .nav-item + .nav-item {
    margin-top: 0;
}

body.docd-admin-layout #nav-sidebar .sidebar-footer .nav-link,
body.docd-admin-layout #nav-sidebar .sidebar-footer .docd-admin-sidebar-logout-btn {
    min-height: 0 !important;
}

body.docd-admin-layout .docd-admin-sidebar-empty {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
}

body.docd-admin-layout .docd-admin-nav-filter-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex-shrink: 0;
}

body.docd-admin-layout .docd-admin-nav-filter-label {
    display: block;
    color: #fff !important;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.3;
}

body.docd-admin-layout .docd-admin-nav-filter-field {
    position: relative;
}

body.docd-admin-layout .docd-admin-nav-filter-icon {
    position: absolute;
    left: 0.55rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    pointer-events: none;
    z-index: 1;
}

body.docd-admin-layout .docd-admin-nav-filter,
body.docd-admin-layout #nav-filter {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 0.45rem;
    background: rgba(0, 0, 0, 0.22) !important;
    color: #fff !important;
    font-size: 0.8125rem;
    line-height: 1.35;
    min-height: 2rem;
    padding: 0.4rem 0.55rem 0.4rem 1.85rem !important;
    -webkit-text-fill-color: #fff;
}

body.docd-admin-layout .docd-admin-nav-filter::placeholder,
body.docd-admin-layout #nav-filter::placeholder {
    color: rgba(255, 255, 255, 0.72) !important;
    opacity: 1 !important;
}

body.docd-admin-layout .docd-admin-nav-filter::-webkit-search-cancel-button,
body.docd-admin-layout #nav-filter::-webkit-search-cancel-button {
    filter: invert(1);
    opacity: 0.75;
}

body.docd-admin-layout .docd-admin-nav-filter:focus,
body.docd-admin-layout #nav-filter:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.5) !important;
    background: rgba(0, 0, 0, 0.3) !important;
    box-shadow: 0 0 0 0.15rem rgba(255, 255, 255, 0.15) !important;
}

body.docd-admin-layout .docd-admin-nav-filter.no-results,
body.docd-admin-layout #nav-filter.no-results {
    border-color: #f5c2c7 !important;
    background: rgba(220, 53, 69, 0.22) !important;
}

body.docd-admin-layout .main > #nav-sidebar + .content,
body.docd-admin-layout .main.shifted > #nav-sidebar + .content {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    width: auto;
    margin: 0;
    padding: 0 var(--docd-admin-content-gutter);
    overflow-x: hidden;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    body.docd-admin-layout:not(.login) #container {
        padding-left: 0;
        padding-right: 0;
    }

    body.docd-admin-layout:not(.login) #container > nav[aria-label] {
        padding-left: calc(var(--docd-admin-sidebar-width) + var(--docd-admin-content-gutter));
        padding-right: var(--docd-admin-content-gutter);
        max-width: 100%;
    }

    body.docd-admin-layout:not(.login) #main {
        padding-left: var(--docd-admin-sidebar-width);
    }

    body.docd-admin-layout #nav-sidebar {
        position: fixed;
        top: var(--docd-admin-header-offset);
        left: 0;
        bottom: 0;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none;
    }

    body.docd-admin-layout .docd-admin-mobile-nav-btn,
    body.docd-admin-layout .docd-admin-sidebar-close {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    body.docd-admin-layout #nav-sidebar,
    body.docd-admin-layout .main > #nav-sidebar,
    body.docd-admin-layout .main.shifted > #nav-sidebar {
        display: flex !important;
        visibility: visible !important;
    }

    body.docd-admin-layout .docd-admin-subnav-desktop-only {
        display: none !important;
    }

    body.docd-admin-layout .docd-admin-mobile-title {
        display: block;
    }

    body.docd-admin-layout .docd-admin-sidebar-body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.docd-admin-layout .docd-admin-sidebar-apps {
        flex: 0 0 auto;
        overflow: visible;
    }

    body.docd-admin-layout:not(.login) #container,
    body.docd-admin-layout:not(.login) #container > .main,
    body.docd-admin-layout:not(.login) #main {
        overflow: visible;
    }

    body.docd-admin-layout:not(.login) #main {
        padding-left: 0;
    }

    body.docd-admin-layout:not(.login) #container > nav[aria-label] {
        padding-left: var(--docd-admin-content-gutter);
        padding-right: var(--docd-admin-content-gutter);
        max-width: 100%;
    }

    body.docd-admin-layout .docd-admin-mobile-nav-btn {
        display: inline-flex !important;
    }

    body.docd-admin-layout .docd-admin-sidebar-close {
        display: inline-flex;
    }

    body.docd-admin-layout .docd-admin-sidebar-close-row {
        display: flex;
    }

    body.docd-admin-layout .docd-admin-subnav-inner {
        gap: 0.5rem;
    }

    body.docd-admin-layout #nav-sidebar {
        position: fixed;
        top: var(--docd-admin-header-offset);
        left: 0;
        bottom: 0;
        width: min(18.5rem, 92vw);
        max-width: 92vw;
        transform: translateX(-105%);
        transition: transform 0.22s ease;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        z-index: 1060;
    }

    body.docd-admin-layout.docd-admin-sidebar-open #nav-sidebar {
        transform: translateX(0);
        box-shadow: 0.35rem 0 1.5rem rgba(15, 45, 26, 0.28);
    }

    body.docd-admin-layout.docd-admin-sidebar-open::before {
        content: none;
    }

    body.docd-admin-layout .main > #nav-sidebar + .content,
    body.docd-admin-layout .main.shifted > #nav-sidebar + .content {
        position: relative;
        z-index: 1;
    }
}

body.docd-admin-layout .object-tools {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    max-width: 100%;
    float: none;
    margin: 0 0 0.75rem;
    padding: 0;
}

body.docd-admin-layout .docd-admin-sidebar-apps {
    scrollbar-width: auto;
    scrollbar-color: rgba(255, 255, 255, 0.72) rgba(0, 0, 0, 0.28);
}

body.docd-admin-layout .docd-admin-sidebar-apps::-webkit-scrollbar {
    width: 10px;
}

body.docd-admin-layout .docd-admin-sidebar-apps::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.28);
    border-radius: 999px;
    margin: 0.25rem 0;
}

body.docd-admin-layout .docd-admin-sidebar-apps::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.65);
    border: 2px solid rgba(0, 0, 0, 0.2);
    border-radius: 999px;
}

body.docd-admin-layout .docd-admin-sidebar-apps::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.85);
}

body.docd-admin-layout .docd-admin-dashboard-intro .help {
    margin: 0;
    color: #5a6b63;
    font-size: 0.88rem;
}

body.docd-admin-layout .selector-filter {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    padding: 0.3rem 0.45rem !important;
}

body.docd-admin-layout .selector-chosen .list-footer-display {
    background: var(--docd-primary-soft) !important;
    color: var(--docd-primary-dark) !important;
    border-color: var(--docd-border) !important;
}

body.docd-admin-layout .selector-chosen .list-footer-display__clear {
    color: var(--docd-primary) !important;
}

/* Admin checkbox multi-select (value chains / services) — matches staff portal */
body.docd-admin-layout .docd-checkbox-select {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: 0.55rem 1rem;
    align-items: start;
    width: 100%;
    max-width: 52rem;
    margin: 0;
    padding: 0.85rem 1rem;
    list-style: none;
    border: 1px solid #000;
    border-radius: 0.375rem;
    background: #fff;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box;
}

body.docd-admin-layout .docd-checkbox-select > div {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0;
    min-width: 0;
    min-height: 1.35rem;
    height: auto;
    overflow: visible;
}

body.docd-admin-layout .docd-checkbox-select label {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    float: none !important;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.875rem;
    line-height: 1.35;
    font-weight: 400;
    color: #212529;
    cursor: pointer;
    white-space: normal;
    word-break: break-word;
}

body.docd-admin-layout .docd-checkbox-select input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    min-width: 1.05rem;
    min-height: 1.05rem;
    margin: 0.15rem 0 0 !important;
    flex: 0 0 auto;
    border: 1px solid #000 !important;
    accent-color: var(--docd-primary);
}

body.docd-admin-layout .form-row.field-value_chains .flex-container,
body.docd-admin-layout .form-row.field-services .flex-container,
body.docd-admin-layout .form-row.field-roles .flex-container,
body.docd-admin-layout .form-row.field-groups .flex-container {
    flex-wrap: wrap;
    align-items: flex-start;
}

body.docd-admin-layout .form-row.field-value_chains .related-widget-wrapper,
body.docd-admin-layout .form-row.field-services .related-widget-wrapper,
body.docd-admin-layout .form-row.field-roles .related-widget-wrapper,
body.docd-admin-layout .form-row.field-groups .related-widget-wrapper {
    width: 100%;
    max-width: 52rem;
}

@media (max-width: 575.98px) {
    body.docd-admin-layout .docd-checkbox-select {
        grid-template-columns: 1fr;
        max-width: 100%;
    }
}

/* Responsive */
@media (max-width: 991.98px) {
    body.docd-admin-layout:not(.login) #content h1,
    body.docd-admin-layout:not(.login) .dashboard #content-main h1 {
        font-size: var(--docd-type-page-title);
    }

    body.docd-admin-layout:not(.login) .module h2,
    body.docd-admin-layout:not(.login) .inline-group h2,
    body.docd-admin-layout:not(.login) fieldset.module.aligned > h2 {
        font-size: 0.82rem;
        padding: 0.5rem 0.75rem;
    }

    body.docd-admin-layout:not(.login) #footer.docd-admin-footer,
    body.docd-admin-layout:not(.login) #footer {
        margin-top: 2rem;
        padding: 1rem 1rem 1.25rem;
    }

    .docd-admin-footer-line {
        font-size: 0.85rem;
    }

    .docd-admin-subnav-inner {
        padding: 0.5rem 0.75rem;
    }

    .docd-admin-subnav-pills,
    #site-name {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }

    #site-name {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    body.docd-admin-layout .docd-admin-pill {
        font-size: 0.72rem;
        padding: 0.22rem 0.45rem;
    }

    #content {
        padding: 0.75rem 0 1rem;
    }

    body.docd-admin-layout .object-tools {
        justify-content: stretch;
    }

    body.docd-admin-layout .object-tools li,
    body.docd-admin-layout .object-tools a {
        width: 100%;
    }

    body.docd-admin-layout .aligned label {
        float: none;
        display: block;
        width: auto;
        min-width: 0;
        padding-bottom: 0.2rem;
        white-space: nowrap;
    }

    body.docd-admin-layout .form-row > fieldset > legend,
    body.docd-admin-layout .form-row fieldset[aria-describedby] > legend {
        float: none;
        display: block;
        width: auto;
        min-width: 0;
        white-space: nowrap;
    }

    body.docd-admin-layout form .aligned ul,
    body.docd-admin-layout form .aligned p.help,
    body.docd-admin-layout form .aligned div.help,
    body.docd-admin-layout form .aligned input + p.help,
    body.docd-admin-layout form .aligned textarea + p.help,
    body.docd-admin-layout form .aligned select + p.help,
    body.docd-admin-layout form .aligned input + div.help,
    body.docd-admin-layout form .aligned textarea + div.help,
    body.docd-admin-layout form .aligned select + div.help {
        margin-left: 0;
        padding-left: 0;
    }
}

@media (max-width: 767.98px) {
    .docd-admin-subnav-pills,
    #site-name {
        width: 100%;
    }

    #site-name {
        flex-direction: column;
        align-items: flex-start;
    }
}

body.docd-admin-layout .docd-admin-role-multiselect {
    min-width: 14rem;
    max-width: 100%;
    font-size: 0.8125rem;
    padding: 0.35rem 0.5rem;
    border-radius: 0.35rem;
    border: 1px solid #ced4da;
    background: #fff;
}

body.docd-admin-layout .docd-admin-role-multiselect option {
    padding: 0.15rem 0.35rem;
}

/* Native date/time pickers (same control type as staff audit Date From). */
body.docd-admin-layout fieldset.module.aligned,
body.docd-admin-layout .form-row:has(input[type="date"]),
body.docd-admin-layout .form-row:has(input[type="time"]),
body.docd-admin-layout .form-row:has(.vDateField),
body.docd-admin-layout .form-row:has(.vTimeField) {
    overflow: visible;
}

body.docd-admin-layout input[type="date"].vDateField,
body.docd-admin-layout input.vDateField[type="date"],
body.docd-admin-layout input[type="time"].vTimeField,
body.docd-admin-layout input.vTimeField[type="time"] {
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    padding: 0.35rem 0.6rem !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    color: #212529 !important;
    background: #fff !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: calc(1.4em + 0.7rem + 2px);
    width: 15.5rem !important;
    max-width: 100%;
    box-sizing: border-box;
}

body.docd-admin-layout input[type="date"].vDateField:focus,
body.docd-admin-layout input.vDateField[type="date"]:focus,
body.docd-admin-layout input[type="time"].vTimeField:focus,
body.docd-admin-layout input.vTimeField[type="time"]:focus {
    border-color: #000 !important;
    outline: none;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

body.docd-admin-layout p.datetime,
body.docd-admin-layout .datetime {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
}
