/* Load Figtree variable font for headings */
@font-face {
    font-family: 'Figtree';
    src: url('/theme/site/fonts/Figtree-Variable.46372963.ttf') format('truetype');
    font-weight: 100 900;
    font-display: swap;
}

/* Load Satoshi Variable font */
@font-face {
    font-family: 'Satoshi Variable';
    src: url('/theme/fonts/Satoshi_Complete/Fonts/WEB/fonts/Satoshi-Variable.woff2') format('woff2'),
         url('/theme/fonts/Satoshi_Complete/Fonts/WEB/fonts/Satoshi-Variable.woff') format('woff');
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Satoshi Variable';
    src: url('/theme/fonts/Satoshi_Complete/Fonts/WEB/fonts/Satoshi-VariableItalic.woff2') format('woff2'),
         url('/theme/fonts/Satoshi_Complete/Fonts/WEB/fonts/Satoshi-VariableItalic.woff') format('woff');
    font-weight: 300 900;
    font-style: italic;
    font-display: swap;
}

/* Page background — override DashLite default #191919 */
body.dark-mode,
body.dark-mode.bg-lighter,
body.dark-mode.bg-light,
body.dark-mode.ui-shady,
body.dark-mode.ui-clean {
    background-color: #1A1A1A !important;
}
.dark-mode .bg-lighter {
    background-color: #1A1A1A !important;
}

.project{
    justify-content: space-between !important;
    display: flex !important;
    flex-direction: column !important;
}
/* Hide scrollbar on collapsed sidebar */
.nk-sidebar.is-compact .nk-sidebar-menu,
.nk-sidebar.is-compact .simplebar-content-wrapper {
    overflow: hidden !important;
}

/* Bigger sidebar logo */
.nk-sidebar-brand .logo-img {
    max-height: 48px;
}
.nk-sidebar-brand {
    padding-top: calc(0.5rem - 2px);
}

/* --- Style Guide alignment overrides --- */

/* Page titles: Figtree 600 (style guide h3) */
.page-title {
    font-family: 'Figtree', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #EDEDED !important;
}

/* Card h6 titles: Figtree 1rem/600 (style guide h6) */
.card-title .title {
    font-family: 'Figtree', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #EDEDED !important;
}

/* Overline / section labels: Satoshi .75rem/600, 0.06em spacing */
.overline-title {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
}

/* Block description text: Satoshi body-3 */
/* Page subtitle overline — moved to end of file to win cascade */

/* Body text in cards: Satoshi body-3 */
.card-inner p {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .875rem;
    letter-spacing: 0.03em;
    color: #B5B5B5;
}

/* Data amounts in stat cards */
.nk-ecwg6 .amount,
.analytic-data .amount {
    font-family: 'Figtree', sans-serif;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #EDEDED;
}

/* Small data labels in cards */
.analytic-data .title,
.nk-store-statistics .title {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7E7E7E;
}

/* Stats info text */
.data .info,
.analytic-data .subtitle {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .75rem;
    letter-spacing: 0.03em;
    color: #B5B5B5;
}

/* Store statistics count */
.nk-store-statistics .count {
    font-family: 'Figtree', sans-serif;
    font-weight: 600;
    color: #EDEDED;
}

/* Global Satoshi Variable override for header + dropdowns */
.nk-header,
.nk-header *,
.nk-quick-nav *,
.user-avatar,
.user-dropdown,
.user-dropdown *,
.notification-dropdown,
.notification-dropdown *,
.dropdown-menu,
.dropdown-menu * {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
}

/* User name in header */
.user-info .user-name {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #EDEDED;
}
.user-info .user-status {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: #B5B5B5;
}

/* Sidebar menu links: consistent with dropdown links */
.nk-menu-link {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-weight: 500 !important;
    font-size: .875rem !important;
    letter-spacing: 0.03em !important;
    color: #EDEDED !important;
}
.nk-menu-link:hover,
.active > .nk-menu-link,
.current-page > .nk-menu-link {
    color: #FFFFFF !important;
    background: #343434 !important;
}
.is-dark .nk-menu-link:hover,
.is-dark .active > .nk-menu-link {
    background: #343434 !important;
}
/* Sidebar icons */
.nk-menu-icon .icon {
    color: #9A9A9A !important;
}
.nk-menu-link:hover .nk-menu-icon .icon,
.nk-menu-item.active > .nk-menu-link .nk-menu-icon .icon,
.nk-menu-item.current-page > .nk-menu-link .nk-menu-icon .icon,
.active .nk-menu-icon .icon {
    color: #FFFFFF !important;
}
/* Sidebar heading */
.nk-menu-heading {
    color: #7E7E7E !important;
}

/* Notification dropdown */
.notification-dropdown .dropdown-menu {
    border-radius: 8px !important;
}
.nk-notification-text {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: #C9C9C9 !important;
}
.nk-notification-text span {
    color: #EDEDED !important;
    font-weight: 600;
}
.nk-notification-time {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .75rem;
    letter-spacing: 0.03em;
    color: #B5B5B5 !important;
}
.nk-notification-item {
    border-bottom: 1px solid #3C3C3C;
}
.nk-notification-item:last-child {
    border-bottom: none;
}
.nk-notification-item:hover {
    background: #343434;
    cursor: pointer;
}

/* --- Profile dropdown overrides --- */

/* Dropdown background for dark mode */
.user-dropdown .dropdown-menu {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
}

/* User card section at top of dropdown */
.user-dropdown .user-card-wrap {
    background: #282828 !important;
    border-bottom: 1px solid #3C3C3C !important;
}
.user-dropdown .user-card .lead-text {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #EDEDED !important;
}
.user-dropdown .user-card .sub-text {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .75rem;
    letter-spacing: 0.03em;
    color: #B5B5B5 !important;
}

/* Dropdown dividers */
.user-dropdown .dropdown-inner + .dropdown-inner {
    border-color: #3C3C3C !important;
}

/* Link list items: Satoshi .875rem, white hover */
.user-dropdown .link-list a {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: #C9C9C9;
}
.user-dropdown .link-list a:hover {
    color: #FFFFFF !important;
    background: #343434 !important;
}
.user-dropdown .link-list a .icon {
    color: #9A9A9A;
}
.user-dropdown .link-list a:hover .icon {
    color: #FFFFFF;
}

/* Notification dropdown dark treatment */
.notification-dropdown .dropdown-menu {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
}
.notification-dropdown .dropdown-head,
.notification-dropdown .dropdown-foot {
    border-color: #3C3C3C !important;
}
.notification-dropdown .dropdown-head .sub-title {
    color: #EDEDED !important;
}
.notification-dropdown .dropdown-head a,
.notification-dropdown .dropdown-foot a {
    color: #B5B5B5;
}
.notification-dropdown .dropdown-head a:hover,
.notification-dropdown .dropdown-foot a:hover {
    color: #FFFFFF !important;
}

/* --- Global badge/tag overrides (UI Preferences Style Guide) --- */
.badge,
.badge.badge-light {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    color: #C9C9C9 !important;
    background: #343434 !important;
    border: 1px solid #3C3C3C !important;
    padding: 0.3125rem 0.75rem !important;
    height: 24px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    border-radius: 8px !important;
    margin-bottom: 4px;
}
/* Badge spacing inside green tag containers */
[style*="display: flex"] .badge.badge-light {
    margin: 0 0.5rem 0.5rem 0;
}
.badge:hover,
.badge.badge-light:hover {
    background: #3F3F3F !important;
    border-color: #494949 !important;
}
/* Keep primary badge distinct with brand accent */
.badge.badge-primary {
    background: linear-gradient(135deg, rgba(215, 86, 150, 0.18), rgba(215, 86, 150, 0.12)) !important;
    border: 1px solid rgba(205, 85, 102, 0.43) !important;
    color: #C0625D !important;
}
/* Success/Approved badge: subtle green */
.badge.badge-success,
.badge.badge-approved {
    background: rgba(91, 128, 96, 0.12) !important;
    border: 1px solid rgba(91, 128, 96, 0.3) !important;
    color: #5B8060 !important;
}
/* Warning badge: subtle amber */
.badge.badge-warning {
    background: rgba(255, 190, 60, 0.12) !important;
    border: 1px solid rgba(255, 190, 60, 0.3) !important;
    color: #ffbe3c !important;
}
/* Danger badge: subtle red */
.badge.badge-danger {
    background: rgba(231, 76, 60, 0.12) !important;
    border: 1px solid rgba(231, 76, 60, 0.3) !important;
    color: #e74c3c !important;
}

/* Notification bell dot: remove white stroke, use our danger red */
.icon-status:after {
    border: none !important;
}
.icon-status-info:after {
    background: #DB5869 !important;
}

/* --- Card overrides (global) --- */

/* Card radius: 8px brand standard */
.card {
    border-radius: 8px !important;
}

/* Clickable listing cards */
a.listing-card {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer;
    transition: border-color 0.2s, transform 0.2s;
}
a.listing-card:hover {
    border-color: #494949 !important;
    transform: translateY(-2px);
}
/* Listing card left border by status */
a.listing-card--draft {
    border-left: 3px solid #9A9A9A !important;
}
a.listing-card--waiting-approval {
    border-left: 3px solid #CA7D63 !important;
}
a.listing-card--waiting-for-entertainer {
    border-left: 3px solid #BF9E6B !important;
}
a.listing-card--approved {
    border-left: 3px solid #5B8060 !important;
}
a.listing-card--disabled {
    border-left: 3px solid #C0625D !important;
}
a.listing-card:hover .drodown .icon {
    color: #FFFFFF !important;
}
/* Listing card text colours */
a.listing-card .sub-text {
    color: #B5B5B5 !important;
}
a.listing-card .project-details p,
a.listing-card .project-details.text-muted p {
    color: #B5B5B5 !important;
}
a.listing-card .project-meta p,
a.listing-card .project-meta .text-muted {
    color: #B5B5B5 !important;
}
a.listing-card .drodown .icon {
    color: #B5B5B5 !important;
}
a.listing-card hr {
    border-color: #3C3C3C !important;
}

/* Card inner border-radius to match */
.card-inner {
    border-radius: 8px;
}

/* HR dividers inside cards: dark treatment */
.card hr,
.project hr {
    border-color: #3C3C3C !important;
    opacity: 1;
}

/* Project/listing card title: Figtree h6 spec */
.project-title .title {
    font-family: 'Figtree', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
}

/* Sub-text: Satoshi .75rem label style */
.sub-text {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .75rem !important;
    letter-spacing: normal;
    color: #B5B5B5 !important;
}

/* Project description text */
.project-details {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    font-size: .875rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #B5B5B5 !important;
}
.project-details p {
    color: #B5B5B5 !important;
}

/* Project meta text */
.project-meta .text-muted,
.project-meta p {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    color: #7E7E7E !important;
}

/* Edit icon on listing cards — must override inherited link colour */
a.listing-card .project-head .drodown .icon {
    color: #9A9A9A !important;
    transition: color 0.2s;
}

/* Prevent pink flash on all card links during Turbo transitions */
.project a,
.project a:hover,
.project a:active,
.project a:focus {
    text-decoration: none;
}
.project-title a,
.project-title a:hover,
.project-title a:active,
.project-title a:focus {
    color: inherit !important;
}

/* Text-muted global override for dark mode */
.text-muted {
    color: #B5B5B5 !important;
}

/* Lead-text in dark mode */
.lead-text {
    color: #EDEDED !important;
}

/* --- Profile dropdown: full-width hover --- */
.user-dropdown .dropdown-inner {
    padding: 0 !important;
}
.user-dropdown .link-list {
    padding: 0.5rem 0;
}
.user-dropdown .link-list a {
    padding: 0.625rem 1.75rem !important;
    border-radius: 0 !important;
}
.user-dropdown .user-card-wrap {
    padding: 1rem 1.75rem !important;
}

/* --- Listing wizard containment --- */
.nk-contentx {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Restore page scrollbar (DashLite theme hides it globally) --- */
html, body, * {
    scrollbar-width: thin !important;
    scrollbar-color: #555 #1A1A1A !important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
    display: block !important;
    width: 10px !important;
    height: 10px !important;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
*::-webkit-scrollbar-track {
    background: #1A1A1A !important;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb {
    background: #555 !important;
    border-radius: 5px !important;
}

/* --- Top header bar + sidebar logo area --- */
.dark-mode .nk-header {
    background: #282828 !important;
    border-bottom: 1px solid #333 !important;
}
/* Dashboard cards — override DashLite default #292929 */
.dark-mode .card {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
}
.dark-mode .card.listing-card--draft {
    border-left: 3px solid #9A9A9A !important;
}
.dark-mode .card.listing-card--waiting-approval {
    border-left: 3px solid #CA7D63 !important;
}
.dark-mode .card.listing-card--waiting-for-entertainer {
    border-left: 3px solid #BF9E6B !important;
}
.dark-mode .card.listing-card--approved {
    border-left: 3px solid #5B8060 !important;
}
.dark-mode .card.listing-card--disabled {
    border-left: 3px solid #C0625D !important;
}

.dark-mode .nk-sidebar {
    background: #1A1A1A !important;
    border-right: 1px solid #3C3C3C !important;
    box-shadow: none !important;
}
.dark-mode .nk-sidebar .nk-sidebar-content,
.dark-mode .nk-sidebar .nk-sidebar-element,
.dark-mode .nk-sidebar .nk-sidebar-menu,
.dark-mode .nk-sidebar .simplebar-wrapper,
.dark-mode .nk-sidebar .simplebar-mask,
.dark-mode .nk-sidebar .simplebar-offset,
.dark-mode .nk-sidebar .simplebar-content-wrapper,
.dark-mode .nk-sidebar .simplebar-content,
.dark-mode .nk-sidebar .simplebar-track {
    background: #1A1A1A !important;
}
.dark-mode .nk-menu-item:not(.active):not(.current-page) .nk-menu-link {
    border-right-color: transparent !important;
}
.dark-mode .nk-sidebar-element.nk-sidebar-head {
    background: #282828 !important;
    border-bottom: none !important;
    border-right: none !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
    margin-right: -1px;
}
.dark-mode .nk-sidebar-element.nk-sidebar-head .nk-sidebar-brand {
    margin-left: -8px;
}

/* --- Listing wizard form overrides --- */

/* Four-tier text hierarchy:
   Tier 0: 1rem (16px) — Primary question labels (.form-label)
   Tier 1: .875rem (14px) — Important instruction text (confirmations, auto-applied warnings)
   Tier 2: .8125rem (13px) — Helper/description text (guidance under form fields)
   Tier 3: .75rem (12px) — Small labels (tags, sub-labels, section headings)
*/

/* Tier 2: Helper text under form fields */
.nk-contentx .form-control-wrap + p.text-muted,
.nk-contentx .form-control-wrap + .text-muted,
.nk-contentx .form-group p.text-muted,
.nk-contentx .cx-skills > .mt-5 .text-muted {
    font-size: .8125rem !important;
}
/* Helper/description text colour — slightly brighter than old muted */
.nk-contentx .text-muted {
    color: #B5B5B5 !important;
}

/* Tier 1: Important instructional text */
.nk-contentx .cx-skills > p,
.nk-contentx .cx-skills .alert-text p,
.nk-contentx [style*="f4bd0e"] > p {
    font-size: .875rem !important;
}

/* Form input and label text: bump from 13px to .875rem per style guide */
.nk-contentx .form-control {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .875rem !important;
    border-radius: 8px !important;
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    color: #9A9A9A !important;
}
.nk-contentx .form-control:focus {
    border-color: #494949 !important;
    box-shadow: none !important;
}
.nk-contentx .accordion-item {
    border-radius: 0 !important;
    transition: background 0.15s ease;
    overflow: hidden;
    border: none !important;
    background: transparent !important;
}
.nk-contentx .accordion-item.cx-sidebar-nav {
    border-radius: 0 !important;
}
.nk-contentx .accordion-item.cx-sidebar-nav:hover,
.nk-contentx .accordion-item.cx-sidebar-nav.cx-sidebar-active {
    border-radius: 8px !important;
}
.nk-contentx .accordion.accordion-transparent {
    background: transparent !important;
    background-color: transparent !important;
}
.nk-contentx .accordion-inner {
    overflow: hidden;
    border-bottom: none !important;
}
.nk-contentx .accordion-inner .row {
    overflow: hidden;
    margin-left: 0;
    margin-right: 0;
}
.nk-contentx .accordion-inner .text-muted {
    word-break: break-word;
    overflow-wrap: break-word;
}
.nk-contentx .cx-sidebar-card {
    background: #1A1A1A !important;
    border-radius: 12px;
    padding: 1.25rem !important;
}
.nk-contentx .accordion-item.cx-sidebar-confirmed {
    border-left: 3px solid #5B8060 !important;
    padding-left: 0.5rem;
}
.nk-contentx .accordion-item.cx-sidebar-active {
    border-left: 3px solid #DA5B57 !important;
    padding-left: 0.5rem;
}
.nk-contentx .accordion-item.cx-sidebar-nav {
    padding: 0.375rem 0.75rem;
    background: #252527 !important;
    border-radius: 8px !important;
    margin-bottom: 0.375rem;
}
.nk-contentx .accordion-item.cx-sidebar-nav .accordion-head {
    cursor: pointer;
}
.nk-contentx .accordion-item.cx-sidebar-nav:hover {
    background: #2A2A2C !important;
}
.nk-contentx .form-label {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #C9C9C9 !important;
    cursor: default !important;
    letter-spacing: 0.03em !important;
}

/* --- Global typography: style guide alignment (entire dashboard) --- */

/* Headings (h2–h6): Figtree 600, 0.01em */
.nk-content h2,
.nk-content h3,
.nk-content h4,
.nk-content h5,
.nk-content h6,
.nk-contentx h2,
.nk-contentx h3,
.nk-contentx h4,
.nk-contentx h5,
.nk-contentx h6 {
    font-family: 'Figtree', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #EDEDED !important;
}

/* Body/helper text: Satoshi, 0.03em */
.nk-content p,
.nk-content span,
.nk-contentx p,
.nk-contentx span {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
    color: #C9C9C9 !important;
}
.nk-content .text-muted,
.nk-contentx .text-muted {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
    color: #B5B5B5 !important;
}
/* White text on hover for interactive widget items */
.nk-contentx [style*="cursor: pointer"]:hover span,
.nk-contentx a:hover span {
    color: #fff !important;
}
/* Ensure button text stays white */
.nk-content .btn,
.nk-content .btn span,
.nk-contentx .btn,
.nk-contentx .btn span,
[style*="position: fixed"][style*="z-index"] .btn,
[style*="position: fixed"][style*="z-index"] .btn span,
.dark-mode .modal-dialog .btn,
.dark-mode .modal-dialog .btn span {
    color: #fff !important;
}
/* Ensure badge text stays correct */
.nk-content .badge:not(.cx-status-badge),
.nk-contentx .badge:not(.cx-status-badge) {
    color: inherit !important;
}
/* Override text-white on checkbox labels — C9C9C9 default, white on hover/checked */
.nk-contentx .custom-control-label.text-white,
.nk-contentx .custom-control-label.text-white span {
    color: #C9C9C9 !important;
}
.nk-contentx .custom-control-pro:hover .custom-control-label.text-white,
.nk-contentx .custom-control-pro:hover .custom-control-label.text-white span,
.nk-contentx .custom-control-pro.checked .custom-control-label.text-white,
.nk-contentx .custom-control-pro.checked .custom-control-label.text-white span {
    color: #fff !important;
}

/* Overline/section labels: Satoshi, 0.06em */
.nk-content .overline-title,
.nk-contentx .overline-title {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    letter-spacing: 0.06em !important;
}

/* Buttons: Satoshi, 0.03em */
.nk-content .btn,
.nk-contentx .btn {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
}

/* Form inputs: Satoshi, 0.03em */
.nk-content input,
.nk-content textarea,
.nk-content select,
.nk-contentx input,
.nk-contentx textarea,
.nk-contentx select {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
}

/* ABN field — whole row clickable to open modal */
.cx-abn-field,
.cx-abn-field * {
    cursor: pointer !important;
}

/* --- ABN Modal: eye-level positioning + dark theme --- */
/* Position at top (eye level) — same as skills wizard card (top: 84px).
   Override DashLite min-height: calc(100% - 56px) which stretches
   the dialog to full height, causing the content to vertically centre. */
.modal-dialog.cx-modal-top {
    margin-top: 5.25rem !important;
    margin-bottom: auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: flex-start !important;
}
/* Match widget card colour — lighter grey for a polished look */
.dark-mode .modal-dialog.cx-modal-top .modal-content {
    background: #18181B !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: rgb(104, 104, 104) 0px 0px 6px -3px !important;
}
/* Header/footer dividers — subtle, matching card HR style */
.dark-mode .modal-dialog.cx-modal-top .modal-header {
    border-bottom: 1px solid #2e2e2e !important;
    padding: 1rem 1.5rem;
}
.dark-mode .modal-dialog.cx-modal-top .modal-title {
    font-family: 'Figtree', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #EDEDED !important;
}
.dark-mode .modal-dialog.cx-modal-top .modal-body {
    padding: 1.5rem;
    align-content: flex-start !important;
    align-items: flex-start !important;
}
.dark-mode .modal-dialog.cx-modal-top .modal-footer {
    border-top: 1px solid #2e2e2e !important;
    padding: 1rem 1.5rem;
    background: transparent !important;
}
.dark-mode .modal-dialog.cx-modal-top .close {
    color: #9A9A9A !important;
    opacity: 1 !important;
}
.dark-mode .modal-dialog.cx-modal-top .close:hover {
    color: #FFFFFF !important;
}

/* Image editor slide-up + fade animation */
#image-edit .modal-dialog {
    transform: translateY(40px);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}
#image-edit.show .modal-dialog {
    transform: translateY(0);
    opacity: 1;
}
#image-edit .modal-body img {
    opacity: 0;
    transition: opacity 0.4s ease 0.15s;
}
#image-edit.show .modal-body img {
    opacity: 1;
}

/* Google Places autocomplete dropdown — dark theme */
.pac-container {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
    z-index: 99999 !important;
    margin-top: 4px !important;
}
.pac-item {
    background: #282828 !important;
    border-top: 1px solid #3C3C3C !important;
    color: #C9C9C9 !important;
    padding: 0.5rem 0.75rem !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .875rem !important;
    cursor: pointer !important;
}
.pac-item:first-child {
    border-top: none !important;
}
.pac-item:hover,
.pac-item-selected {
    background: #353535 !important;
}
.pac-item-query {
    color: #fff !important;
    font-size: .875rem !important;
}
.pac-icon {
    display: none !important;
}
.pac-matched {
    color: #5B8060 !important;
}
.hdpi .pac-icon {
    display: none !important;
}

/* Custom checkbox for location modal — matches wizard custom-control-pro style */
.cx-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    border: 1px solid #464649;
    border-radius: 4px;
    background: #3F3F3F;
    cursor: pointer;
    position: relative;
}
.cx-checkbox:checked {
    background: #000;
    border-color: #5B8060;
}
.cx-checkbox:checked::after {
    content: '\e9be';
    font-family: 'Nioicon';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 12px;
    line-height: 1;
}

/* Category browser rows */
.cx-cat-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease;
}
.cx-cat-row:hover {
    background: #353535;
}
[style*="position: fixed"] .cx-cat-row:hover span,
[style*="position: fixed"] .cx-cat-row:hover div,
.nk-contentx .cx-cat-row:hover span,
.nk-contentx .cx-cat-row:hover div {
    color: #fff !important;
}
[style*="position: fixed"] .cx-cat-row--selected span,
.nk-contentx .cx-cat-row--selected span {
    color: #fff !important;
}
.cx-cat-row--selected {
    background: rgba(255, 255, 255, 0.05);
}
.cx-cat-row--selected:hover {
    background: rgba(255, 255, 255, 0.08);
}

/* Category browser letter sidebar */
.cx-letter-link {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 1px 0;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.15s ease;
    color: #9A9A9A;
}
.cx-letter-link:hover {
    color: #fff;
}
.cx-letter-link--disabled {
    color: #444 !important;
    pointer-events: none;
    cursor: default;
}

/* Hide scrollbar on letter sidebar but keep it scrollable */
.cx-scrollbar-hidden {
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-x: hidden;
}
.cx-scrollbar-hidden::-webkit-scrollbar {
    display: none;
}

/* Info popover tooltip icon — consistent sizing and alignment */
.cx-info-popover {
    font-size: 1rem !important;
    color: #9A9A9A;
    cursor: help;
    margin-left: 0.5rem;
    vertical-align: middle;
    position: relative;
    top: -0.0625rem;
}

/* Entity card styling — official government-like appearance (high specificity to beat .nk-contentx span) */
.nk-contentx .cx-entity-label,
.nk-contentx span.cx-entity-label {
    font-size: 0.75rem !important;
    color: #7E7E7E !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600 !important;
}
.nk-contentx .cx-entity-status,
.nk-contentx span.cx-entity-status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
}
.nk-contentx .cx-entity-status--active,
.nk-contentx .cx-entity-status--active span,
.nk-contentx .cx-entity-status--active em {
    color: #1ee0ac !important;
}
.nk-contentx .cx-entity-status--locked,
.nk-contentx .cx-entity-status--locked span,
.nk-contentx .cx-entity-status--locked em {
    color: #C9A84C !important;
}
.nk-contentx .cx-entity-name,
.nk-contentx span.cx-entity-name {
    color: #EDEDED !important;
}
.nk-contentx .cx-entity-sub,
.nk-contentx span.cx-entity-sub {
    color: #B5B5B5 !important;
}

/* Delete/trash icon links — red colour override (high specificity to beat modal text rules) */
a.cx-delete-link,
em.cx-delete-link,
[style*="position: fixed"] .cx-delete-link,
.cx-delete-link {
    color: #C0625D !important;
}
a.cx-delete-link:hover,
em.cx-delete-link:hover,
[style*="position: fixed"] .cx-delete-link:hover,
.cx-delete-link:hover {
    color: #ff6b7a !important;
}

/* Category browser filter tabs */
.cx-filter-tab {
    background: transparent;
    border: 1px solid #3C3C3C;
    border-radius: 8px;
    color: #9A9A9A;
    font-size: 0.8125rem;
    padding: 0.25rem 0.875rem;
    cursor: pointer;
    transition: all 0.15s ease;
}
.cx-filter-tab:hover {
    border-color: #fff;
    color: #fff;
}
.cx-filter-tab--active {
    background: #fff;
    border-color: #fff;
    color: #1A1A1A;
}
.cx-filter-tab--active:hover {
    background: #fff;
    border-color: #fff;
    color: #1A1A1A;
}

/* Hide number input spinner arrows */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Modal form inputs — match skills wizard input bg (#282828) */
.dark-mode .modal-dialog.cx-modal-top .form-control {
    background: #242427 !important;
    border: 1px solid #464649 !important;
    border-radius: 8px !important;
    color: #F2F2F2 !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .875rem !important;
}
.dark-mode .modal-dialog.cx-modal-top textarea.form-control {
    resize: vertical !important;
}
.dark-mode .modal-dialog.cx-modal-top textarea.form-control::-webkit-resizer {
    background: linear-gradient(135deg, transparent 40%, #5A5A5A 40%, #5A5A5A 45%, transparent 45%, transparent 60%, #5A5A5A 60%, #5A5A5A 65%, transparent 65%, transparent 80%, #5A5A5A 80%, #5A5A5A 85%, transparent 85%) !important;
}
.dark-mode .modal-dialog.cx-modal-top .form-control:focus {
    border-color: #494949 !important;
    box-shadow: none !important;
}
.dark-mode .modal-dialog.cx-modal-top .form-control::placeholder {
    color: #7E7E7E !important;
}
/* Modal helper/example boxes */
.dark-mode .modal-dialog.cx-modal-top .alert-pro.alert-warning {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-left: 3px solid #F4BD0E !important;
}
.dark-mode .modal-dialog.cx-modal-top .form-label {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #C9C9C9 !important;
}
/* Modal form-group spacing — tighter than Bootstrap default */
.dark-mode .modal-dialog.cx-modal-top .form-group {
    margin-bottom: 0.25rem !important;
}
.dark-mode .modal-dialog.cx-modal-top .form-group p.text-muted {
    margin-bottom: 0.25rem !important;
}
/* Modal helper text under form fields — Tier 2 (.8125rem) */
.dark-mode .modal-dialog.cx-modal-top .form-control-wrap + p.text-muted,
.dark-mode .modal-dialog.cx-modal-top .form-group p.text-muted {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .8125rem !important;
    color: #B5B5B5 !important;
}
/* Modal general text-muted — Tier 1 (.875rem) for standalone instructions */
.dark-mode .modal-dialog.cx-modal-top .text-muted {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .875rem !important;
    color: #B5B5B5 !important;
}
/* Modal search icon */
.dark-mode .modal-dialog.cx-modal-top .form-icon .icon {
    color: #9A9A9A !important;
}
/* Modal checkbox rows — override DashLite custom-control-pro bg */
.dark-mode .modal-dialog.cx-modal-top .custom-control-pro {
    background: transparent !important;
    border: none !important;
}
.dark-mode .modal-dialog.cx-modal-top .custom-control-pro .custom-control-label {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
}
.dark-mode .modal-dialog.cx-modal-top .custom-control-pro:hover .custom-control-label {
    background: #353535 !important;
}
.dark-mode .modal-dialog.cx-modal-top .custom-control-pro.checked .custom-control-label {
    border-color: #5B8060 !important;
}
.dark-mode .modal-dialog.cx-modal-top .custom-control-pro .custom-control-label::after {
    content: "\e9be" !important;
}
.dark-mode .modal-dialog.cx-modal-top .custom-control-pro .custom-control-input:checked ~ .custom-control-label::after {
    opacity: 1 !important;
    color: #fff !important;
}
.dark-mode .modal-dialog.cx-modal-top .custom-control-label {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .8125rem !important;
    line-height: 1.25rem !important;
    color: #C9C9C9 !important;
}
/* Modal button — keep pill shape, use default sizing */
.dark-mode .modal-dialog.cx-modal-top .btn-dark {
    border-radius: 100px !important;
}
/* Modal backdrop — heavier for dark theme */
.dark-mode .modal-backdrop {
    opacity: 0.85 !important;
    background: #000 !important;
}

/* --- Tooltip overrides (dark theme) --- */
.tooltip-inner {
    background: #282828 !important;
    color: #C9C9C9 !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .8125rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    padding: 0.5rem 0.75rem !important;
    max-width: 280px !important;
}
.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
    border-top-color: #282828 !important;
}
.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
    border-bottom-color: #282828 !important;
}

/* --- Popover overrides (dark theme, interactive info icons) --- */
.popover {
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    max-width: 280px !important;
    z-index: 99999 !important;
}
.popover-body {
    color: #C9C9C9 !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .8125rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    padding: 0.5rem 0.75rem !important;
}
.popover-header {
    display: none !important;
}
.bs-popover-top > .popover-arrow::before {
    border-top-color: #3C3C3C !important;
}
.bs-popover-top > .popover-arrow::after {
    border-top-color: #282828 !important;
}
.bs-popover-bottom > .popover-arrow::before {
    border-bottom-color: #3C3C3C !important;
}
.bs-popover-bottom > .popover-arrow::after {
    border-bottom-color: #282828 !important;
}
.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
    border-top-color: #3C3C3C !important;
}
.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
    border-top-color: #282828 !important;
}
.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
    border-bottom-color: #3C3C3C !important;
}
.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
    border-bottom-color: #282828 !important;
}

/* --- Global typography for custom modals (position: fixed overlays) --- */
/* These modals sit outside .nk-contentx so need explicit typography rules */

/* Category browser, location modal, confirm-delete, media-limit popups */
.cx-cat-row,
.cx-filter-tab {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
}

/* Shared class for custom modal containers — apply to all fixed-position modals */
[style*="position: fixed"][style*="z-index"] h2,
[style*="position: fixed"][style*="z-index"] h3,
[style*="position: fixed"][style*="z-index"] h4,
[style*="position: fixed"][style*="z-index"] h5,
[style*="position: fixed"][style*="z-index"] h6 {
    font-family: 'Figtree', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #EDEDED !important;
}

[style*="position: fixed"][style*="z-index"] p,
[style*="position: fixed"][style*="z-index"] span,
[style*="position: fixed"][style*="z-index"] strong,
[style*="position: fixed"][style*="z-index"] label,
[style*="position: fixed"][style*="z-index"] div,
[style*="position: fixed"][style*="z-index"] a:not(.cx-delete-link) {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
    color: #C9C9C9 !important;
}

[style*="position: fixed"][style*="z-index"] button,
[style*="position: fixed"][style*="z-index"] .btn {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
}

[style*="position: fixed"][style*="z-index"] input:not(.cx-checkbox),
[style*="position: fixed"][style*="z-index"] textarea,
[style*="position: fixed"][style*="z-index"] select {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
    letter-spacing: 0.03em;
    background: #242427 !important;
    border-color: #464649 !important;
}

/* Add letter-spacing to existing Bootstrap modal rules */
.dark-mode .modal-dialog.cx-modal-top .modal-title {
    letter-spacing: 0.01em !important;
}
.dark-mode .modal-dialog.cx-modal-top .form-label {
    letter-spacing: 0.03em !important;
}
.dark-mode .modal-dialog.cx-modal-top .form-control {
    letter-spacing: 0.03em !important;
}
.dark-mode .modal-dialog.cx-modal-top p,
.dark-mode .modal-dialog.cx-modal-top span,
.dark-mode .modal-dialog.cx-modal-top strong,
.dark-mode .modal-dialog.cx-modal-top label {
    letter-spacing: 0.03em;
    color: #C9C9C9 !important;
}
.dark-mode .modal-dialog.cx-modal-top .btn {
    letter-spacing: 0.03em;
}

/* Image editor toolbar labels */
#image-edit span[style*="uppercase"] {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
}

/* --- Listing status badges (NEW PALETTE 2026-03-18) --- */
.cx-status-badge {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    border-radius: 8px !important;
    padding: 0.25rem 0.625rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    line-height: 1.4 !important;
}
.cx-status-badge .icon {
    font-size: 0.8rem;
}
.cx-status-draft {
    background: rgba(154, 154, 154, 0.15) !important;
    border-left: 3px solid #9A9A9A !important;
}
.cx-status-awaiting {
    background: rgba(202, 125, 99, 0.15) !important;
    border-left: 3px solid #CA7D63 !important;
}
.cx-status-info-required {
    background: rgba(191, 158, 107, 0.15) !important;
    border-left: 3px solid #BF9E6B !important;
}
.cx-status-approved {
    background: rgba(91, 128, 96, 0.15) !important;
    border-left: 3px solid #5B8060 !important;
}
.cx-status-suspended {
    background: rgba(192, 98, 93, 0.15) !important;
    border-left: 3px solid #C0625D !important;
}

/* --- Option grid — show all options in columns, flowing top-to-bottom --- */
.cx-option-grid {
    display: grid;
    grid-auto-flow: column;
    gap: 0.5rem;
}
.cx-option-grid .custom-control-pro {
    margin-bottom: 0 !important;
}

/* --- Wizard checkbox: thin white tick on checked state (ni-check matches arrow weight) --- */
.nk-contentx .custom-control-pro .custom-control-label::after {
    content: "\e9be" !important;
}
.nk-contentx .custom-control-pro .custom-control-input:checked ~ .custom-control-label::after {
    opacity: 1 !important;
    color: #fff !important;
}
.nk-contentx .custom-control-pro.checked .custom-control-label {
    border-color: #5B8060 !important;
}

/* Override DashLite dark-mode pink checkbox borders globally */
.dark-mode .custom-control-pro.checked .custom-control-label {
    border-color: #5B8060 !important;
}

/* Override pink checkbox square (::before) to green — DashLite sets #DA5A6B */
.custom-control-pro .custom-control-input:checked ~ .custom-control-label::before,
.dark-mode .custom-control-pro .custom-control-input:checked ~ .custom-control-label::before,
.nk-contentx .custom-control-pro .custom-control-input:checked ~ .custom-control-label::before {
    border-color: #5B8060 !important;
    background-color: #000 !important;
}

/* --- FINAL OVERRIDES (must be at end of file to win cascade) --- */

/* Page subtitle overline */
.nk-block-des p,
.nk-block-desc p {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #7E7E7E !important;
}

/* Status badges — text is always #EDEDED for readability */
.cx-status-badge,
.cx-status-badge .icon {
    color: #EDEDED !important;
}

/* --- Admin Portal — scoped overrides --- */

/* Admin page background — full black */
.portal-admin.dark-mode,
.portal-admin.dark-mode.bg-lighter {
    background-color: #000000 !important;
}
.portal-admin .dark-mode .bg-lighter,
.portal-admin .nk-content {
    background-color: #000000 !important;
}

/* Admin sidebar — match black bg */
.portal-admin .nk-sidebar {
    background: #000000 !important;
}
.portal-admin .nk-sidebar .nk-sidebar-content,
.portal-admin .nk-sidebar .nk-sidebar-element,
.portal-admin .nk-sidebar .nk-sidebar-menu,
.portal-admin .nk-sidebar .simplebar-wrapper,
.portal-admin .nk-sidebar .simplebar-mask,
.portal-admin .nk-sidebar .simplebar-offset,
.portal-admin .nk-sidebar .simplebar-content-wrapper,
.portal-admin .nk-sidebar .simplebar-content,
.portal-admin .nk-sidebar .simplebar-track {
    background: #000000 !important;
}

/* Admin header + sidebar head — keep original #282828 */
.portal-admin .nk-header {
    background: #282828 !important;
}
.portal-admin .nk-sidebar-element.nk-sidebar-head {
    background: #282828 !important;
}

/* Admin cards — slightly lifted off black */
.portal-admin .card {
    background: #18181B !important;
}

/* Admin white button */
/* Admin button — white bg, black text */
.cx-admin-btn,
.cx-admin-btn:link,
.cx-admin-btn:visited,
.cx-admin-btn:focus,
.cx-admin-btn span,
.cx-admin-btn em,
a.cx-admin-btn,
a.cx-admin-btn span {
    background-color: #fff !important;
    color: #000 !important;
    border: none !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
}
.cx-admin-btn .icon,
a.cx-admin-btn .icon {
    color: #000 !important;
    margin-right: 0.5rem;
    background: transparent !important;
}
.cx-admin-btn:hover,
.cx-admin-btn:hover span,
.cx-admin-btn:hover em,
a.cx-admin-btn:hover {
    background-color: #E0E0E0 !important;
    color: #000 !important;
}

/* Admin sidebar hover */
.portal-admin .nk-menu-link:hover,
.portal-admin .active > .nk-menu-link,
.portal-admin .current-page > .nk-menu-link {
    background: #161617 !important;
}

/* Admin table row hover */
.portal-admin .nk-tb-list .nk-tb-item:not(.nk-tb-head):hover {
    background: #161617 !important;
}

/* --- Admin Data Table Overrides --- */

/* Table card — radius + overflow for rounded corners */
.dark-mode .card-bordered.card-stretch {
    border-radius: 8px !important;
    overflow: hidden;
}

/* Table header row — distinct from content rows */
.nk-tb-head .nk-tb-col,
.nk-tb-head .sub-text {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #B5B5B5 !important;
}
.nk-tb-head {
    background: rgba(255, 255, 255, 0.03) !important;
    border-bottom: 1px solid #3C3C3C !important;
}
.nk-tb-head .nk-tb-col[style*="cursor: pointer"]:hover .sub-text {
    color: #EDEDED !important;
}

/* Row content text — exclude badges */
.nk-tb-item:not(.nk-tb-head) .nk-tb-col:not(.nk-tb-col-tools),
.nk-tb-item:not(.nk-tb-head) .nk-tb-col:not(.nk-tb-col-tools) span:not(.cx-status-badge):not(.badge),
.nk-tb-item:not(.nk-tb-head) .nk-tb-col:not(.nk-tb-col-tools) a {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.03em !important;
    line-height: 1.5rem !important;
    color: #fff !important;
}
/* SweetAlert delete confirmation popup */
.cx-swal-popup {
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
}
.cx-swal-popup .swal2-title {
    font-family: 'Figtree', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #EDEDED !important;
}
.cx-swal-popup .swal2-html-container {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    letter-spacing: 0.03em !important;
    color: #B5B5B5 !important;
}
.cx-swal-popup .swal2-confirm,
.cx-swal-popup .swal2-cancel {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    border-radius: 100px !important;
}

/* Action icons — default grey, hover colours controlled inline */
.nk-tb-col-tools a {
    color: #7E7E7E !important;
    transition: color 0.15s;
}
.nk-tb-col-tools a.delete-confirm:hover,
.nk-tb-col-tools a.delete-confirm:hover .icon {
    color: #C0625D !important;
}

/* Clickable rows */
.nk-tb-list .nk-tb-item:not(.nk-tb-head) {
    cursor: pointer;
    transition: background 0.15s ease;
}
.nk-tb-list .nk-tb-item .nk-tb-col {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    white-space: nowrap !important;
}
.nk-tb-list .nk-tb-item:not(.nk-tb-head):hover {
    background: rgba(255, 255, 255, 0.05) !important;
}

/* Active/selected row */
.nk-tb-list .nk-tb-item:not(.nk-tb-head):active {
    background: rgba(255, 255, 255, 0.08) !important;
}

/* Toolbar area inside card */
.dark-mode .card-inner.card-tools-toggle {
    border-bottom: 1px solid #3C3C3C !important;
}
.portal-admin .card-inner.card-tools-toggle {
    background: #242427 !important;
}

/* Search bar in table toolbar */
.card-tools-toggle .form-control,
.card-search .form-control {
    background: #242427 !important;
    border: 1px solid #464649 !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    letter-spacing: 0.03em !important;
    font-size: 0.8125rem !important;
}
.card-tools-toggle .form-control:focus {
    border-color: #5B8060 !important;
}

/* Table toolbar icons */
.card-tools .btn-icon .icon {
    color: #7E7E7E !important;
}
.card-tools .btn-icon:hover .icon {
    color: #EDEDED !important;
}

/* Per-page and sort dropdown styling */
.dropdown-menu-xs .link-check a {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.03em !important;
}

/* Page subtitle under title */
.nk-block-desc p,
.nk-block-desc .text-soft {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.8125rem !important;
    color: #B5B5B5 !important;
    letter-spacing: 0.03em !important;
}

/* Filter badges */
.filters .badge {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.03em !important;
    background: #282828 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    color: #C9C9C9 !important;
}

/* --- Admin form page overrides --- */

/* Admin form cards — consistent radius + border */
.portal-admin .card.card-bordered.card-preview {
    background: #18181B !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    overflow: hidden;
}

/* Admin form inputs — darker than card bg */
.portal-admin .form-control,
.portal-admin select.form-control,
.portal-admin select.form-select,
.portal-admin textarea.form-control {
    background: #111113 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    letter-spacing: 0.03em !important;
}
.portal-admin .form-control:focus,
.portal-admin select.form-control:focus,
.portal-admin textarea.form-control:focus {
    border-color: #5B8060 !important;
}

/* Admin form labels */
.portal-admin .form-label {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.8125rem !important;
    color: #C9C9C9 !important;
    letter-spacing: 0.03em !important;
}

/* Admin overline section titles */
.portal-admin .overline-title {
    color: #7E7E7E !important;
}

/* Admin helper text under form fields */
.portal-admin .form-control-wrap .text-muted,
.portal-admin .form-control-wrap p {
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.75rem !important;
    color: #7E7E7E !important;
    letter-spacing: 0.03em !important;
}

/* Admin dropdown menu hover — pink tint */
.portal-admin .dropdown-menu a:hover,
.portal-admin .link-check a:hover,
.portal-admin .link-list-opt a:hover {
    background: rgba(219, 82, 151, 0.15) !important;
    color: #EDEDED !important;
}

/* Admin save/submit button — white like Create New */
.portal-admin .btn-primary,
.portal-admin .btn-primary:hover,
.portal-admin .btn-primary:focus {
    background-color: #fff !important;
    color: #000 !important;
    border: none !important;
    border-radius: 100px !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
}
.portal-admin .btn-primary:hover {
    background-color: #E0E0E0 !important;
}

/* Admin back link */
.portal-admin .back-to {
    color: #7E7E7E !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.03em !important;
}
.portal-admin .back-to:hover {
    color: #EDEDED !important;
}

/* --- Select2 dark mode styling --- */

/* Select2 container */
.portal-admin .select2-container--default .select2-selection--single {
    background: #111113 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
}
.portal-admin .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.03em !important;
    line-height: 1 !important;
    padding-left: 0.75rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.portal-admin .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    right: 0.5rem !important;
}
.portal-admin .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #7E7E7E transparent transparent transparent !important;
}

/* Select2 dropdown panel */
.select2-container--default .select2-dropdown {
    background: #18181B !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
}

/* Select2 search box inside dropdown */
.select2-container--default .select2-search--dropdown .select2-search__field {
    background: #111113 !important;
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.03em !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #5B8060 !important;
}

/* Select2 options */
.select2-container--default .select2-results__option {
    color: #C9C9C9 !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.03em !important;
    padding: 0.5rem 0.75rem !important;
}

/* Select2 hover — pink tint */
.select2-dropdown .select2-results__option--highlighted,
.select2-dropdown .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option[aria-selected] {
    background: rgba(219, 82, 151, 0.2) !important;
    color: #fff !important;
}

/* Select2 selected option */
.select2-container--default .select2-results__option--selected {
    background: rgba(91, 128, 96, 0.15) !important;
    color: #EDEDED !important;
}

/* Select2 focus border */
.portal-admin .select2-container--default.select2-container--focus .select2-selection--single,
.portal-admin .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #5B8060 !important;
}

/* --- Summernote rich text editor dark mode --- */
.portal-admin .note-editor.note-frame {
    border: 1px solid #3C3C3C !important;
    border-radius: 8px !important;
    overflow: hidden;
}
.portal-admin .note-editor .note-toolbar {
    background: #18181B !important;
    border-bottom: 1px solid #3C3C3C !important;
}
.portal-admin .note-editor .note-toolbar .note-btn {
    background: transparent !important;
    border: 1px solid #3C3C3C !important;
    color: #B5B5B5 !important;
}
.portal-admin .note-editor .note-toolbar .note-btn:hover,
.portal-admin .note-editor .note-toolbar .note-btn.active {
    background: rgba(219, 82, 151, 0.15) !important;
    color: #EDEDED !important;
}
.portal-admin .note-editor .note-editing-area .note-editable,
.portal-admin .note-editor .note-editing-area .note-editable p,
.portal-admin .note-editor .note-editing-area .note-editable span,
.portal-admin .note-editor .note-editing-area .note-editable div,
.portal-admin .note-editor .note-editing-area .note-editable li,
.portal-admin .note-editor .note-editing-area .note-editable a,
.portal-admin .note-editable,
.portal-admin .note-editable *,
.note-editor .note-editing-area .note-editable,
.note-editor .note-editing-area .note-editable * {
    background: #111113 !important;
    color: #fff !important;
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.03em !important;
}
.portal-admin .note-editor .note-editing-area .note-editable {
    min-height: 200px;
}
.portal-admin .note-editor .note-statusbar {
    background: #18181B !important;
    border-top: 1px solid #3C3C3C !important;
}
.portal-admin .note-editor .note-statusbar .note-resizebar .note-icon-bar {
    border-top-color: #7E7E7E !important;
}

/* Select dropdowns — show custom chevron arrow */
.dark-mode select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237E7E7E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 14px !important;
    padding-right: 2.25rem !important;
}

/* Admin Create New button — white bg, black text (MUST be last to win cascade) */
.dark-mode .nk-block-tools .btn.cx-rounded[style*="background-color"],
.dark-mode .nk-block-tools a.btn.cx-rounded[style*="background-color"] {
    color: #000 !important;
}
.dark-mode .nk-block-tools .btn.cx-rounded[style*="background-color"] span,
.dark-mode .nk-block-tools .btn.cx-rounded[style*="background-color"] em,
.dark-mode .nk-block-tools .btn.cx-rounded[style*="background-color"] .icon {
    color: #000 !important;
}
