/**
 * Custom Admin Theme - Soulclick
 * Login styles extracted from djangocms-admin-style customizations
 */

/* ============================================
   CSS VARIABLES
   ============================================ */

:root {
    --theme-color: #7E3BC6;
    --theme-color-hover: #6a32a8;
    --theme-color-light: rgba(126, 59, 198, 0.08);
    --theme-color-accent: #FFCC66;
    --desktop-mobile-preview-button: #7E3BC6;
    --selected-row: #dadee5;
    /* Filer/djangocms-admin variables */
    --theme-color-4-500: #7E3BC6;
    --theme-color-2-300: #6a32a8;
    /* Filer dca variables */
    --dca-primary: #7E3BC6;
    --primary: #7E3BC6;
  
  --utility-color-gray-100: #DCDFE3;
  --utility-color-gray-300: #979FAB;
}

/* Selected row override */
#change-history tr.selected,
.change-list table tr.selected,
.dashboard table tr.selected,
.results table tr.selected,
.tabular table tr.selected {
    color: #374151 !important;
    background: #dadee5 !important;
}

/* ============================================
   REMOVE UPPERCASE TEXT TRANSFORMS
   ============================================ */

/* Model names should be normal case, not uppercase */
.module caption,
.module caption a,
.inline-group h2,
#nav-sidebar .module caption a,
.dashboard #content-main .module caption a,
thead th,
#changelist thead th,
.change-list #changelist thead th,
form label,
form label.aligned,
form label.required {
    text-transform: none !important;
}

/* ============================================
   GLOBAL OVERRIDES
   ============================================ */

/* Global font - Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

body.djangocms-admin-style,
.djangocms-admin-style body,
.djangocms-admin-style {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Apply font to text elements only, preserve icon fonts */
.djangocms-admin-style h1,
.djangocms-admin-style h2,
.djangocms-admin-style h3,
.djangocms-admin-style h4,
.djangocms-admin-style h5,
.djangocms-admin-style h6,
.djangocms-admin-style p,
.djangocms-admin-style span:not(.cms-icon):not([class*="fa"]),
.djangocms-admin-style a:not([class*="cms-pagetree"]):not([class*="cms-icon"]),
.djangocms-admin-style label,
.djangocms-admin-style input,
.djangocms-admin-style textarea,
.djangocms-admin-style select,
.djangocms-admin-style button,
.djangocms-admin-style th,
.djangocms-admin-style td,
.djangocms-admin-style li,
.djangocms-admin-style caption {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Hide skip to content link */
.skip-to-content-link {
    display: none;
}

/* Hide first h1 and h2 in content (CMS sitemap page) - exclude login page */
body:not(.login) #content > h1:first-child,
body:not(.login) #content > h1:first-child + h2 {
    display: none;
}

/* CMS pagetree header spacing */
.djangocms-admin-style .cms-pagetree-header {
    margin-block: 0px 0 !important;
}

/* Content margins - exclude login page, filer, popup and delete confirmation modals */
body:not(.login):not(.filebrowser):not(.popup):not(.delete-confirmation) #content {
    margin: 113px 3% 0 !important;
}

/* Filer content margins */
body.filebrowser #content {
    margin: 100px 3% 0 !important;
}

/* CMS pagetree border radius - exclude login page */
body:not(.login) #content-main,
body:not(.login) .cms-pagetree-root,
body:not(.login).djangocms-admin-style #content-main,
body:not(.login).djangocms-admin-style .cms-pagetree-root,
body:not(.login).djangocms-admin-style .main #content-main,
body:not(.login).djangocms-admin-style .main .cms-pagetree-root {
    border: 1px solid var(--hairline-color) !important;
    border-radius: 10px !important;
    overflow: visible;
}

/* CMS pagetree dropdown menu z-index fix */
.cms-pagetree-dropdown-menu {
    z-index: 9999 !important;
    overflow: visible !important;
}

/* CMS pagetree action buttons - high specificity to override cms.pagetree.css */
body .cms-pagetree-wrapper .cms-btn-action,
body.djangocms-admin-style .cms-pagetree-wrapper .cms-btn-action,
.djangocms-admin-style .cms-pagetree-wrapper .cms-btn-action,
#content .cms-pagetree-wrapper .cms-btn-action {
    background-color: #7E3BC6 !important;
    border-color: #7E3BC6 !important;
    color: #fff !important;
    background-image: none !important;
}

body .cms-pagetree-wrapper .cms-btn-action:hover,
body .cms-pagetree-wrapper .cms-btn-action:focus,
body.djangocms-admin-style .cms-pagetree-wrapper .cms-btn-action:hover,
body.djangocms-admin-style .cms-pagetree-wrapper .cms-btn-action:focus,
.djangocms-admin-style .cms-pagetree-wrapper .cms-btn-action:hover,
.djangocms-admin-style .cms-pagetree-wrapper .cms-btn-action:focus,
#content .cms-pagetree-wrapper .cms-btn-action:hover,
#content .cms-pagetree-wrapper .cms-btn-action:focus {
    background-color: #6a32a8 !important;
    border-color: #6a32a8 !important;
}

/* Fix cms-pagetree top border */
.cms-pagetree-root .cms-pagetree.cms-pagetree-header {
    border-top: 1px solid var(--hairline-color) !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
}

/* Fix cms-pagetree bottom border */
.cms-pagetree-root .cms-pagetree:last-child {
    border-bottom: 1px solid var(--hairline-color) !important;
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

/* Form padding - exclude login page */
body:not(.login) form {
    padding: 5px;
    margin-bottom: 0 !important;
}

/* Submit row margin */
.djangocms-admin-style .submit-row {
    margin: 0 0 20px;
}

/* Non-tabbed form content padding - exclude login page, changelist forms, pagetree filter and filer */
body:not(.login):not(.filebrowser) form:not(#changelist-search):not(#changelist-form):not(#page_form) > div:first-of-type:not(.change-form-container):not(.cms-pagetree-header-filter):not(.controls) {
    padding: 20px 0 10px 0 !important;
}

/* Parler/language forms (page_form) padding */
#page_form #lang_tab_content {
    padding: 25px !important;
}

/* Parler/language tabs container */
#page_form_lang_tabs {
    padding-left: 25px !important;
    padding-top: 25px !important;
    border-bottom: none !important;
}

.parler-language-tabs {
    border-bottom: none !important;
}

/* Forms containing parler-language-tabs - 20px padding */
body:not(.login) form:has(.parler-language-tabs) {
    padding: 20px !important;
}

/* Forms with fieldset.module.aligned structure (e.g., globalemailconfig_form) - 20px padding */
body:not(.login):not(.popup) form:has(> div > fieldset.module.aligned) {
    padding: 20px !important;
}

/* Parler/language tab buttons - active state */
#page_form_lang_tabs .language_button.selected,
.parler-language-tabs .language_button.selected {
    border-color: var(--theme-color) !important;
    color: var(--theme-color) !important;
}

#page_form_lang_tabs .language_button:hover,
.parler-language-tabs .language_button:hover {
    border-color: var(--theme-color) !important;
    color: var(--theme-color) !important;
}

/* Parler tabs - current/selected language */
#page_form_lang_tabs input.current,
#page_form_lang_tabs input.selected,
.parler-language-tabs span.current,
.parler-language-tabs span.selected {
    color: var(--theme-color) !important;
    font-weight: 600 !important;
    border-bottom: solid 3px var(--theme-color) !important;
}

/* Parler tabs - other language links */
.parler-language-tabs span a,
.parler-language-tabs span.empty a,
.djangocms-admin-style .parler-language-tabs span a,
.djangocms-admin-style .parler-language-tabs span.empty a {
    color: var(--theme-color) !important;
}

.parler-language-tabs span a:hover,
.parler-language-tabs span.empty a:hover,
.djangocms-admin-style .parler-language-tabs span a:hover,
.djangocms-admin-style .parler-language-tabs span.empty a:hover {
    color: #000 !important;
}

/* Remove border for non-tabbed forms - exclude login page */
body:not(.login) #content-main:has(form > div:first-of-type:not(.change-form-container)) {
    border: none !important;
}

/* Fieldset full width */
fieldset {
    width: 100%;
}

/* Textarea full width */
textarea,
.inline-group .module:not(.aligned) .form-row textarea:not(.cke_source) {
    width: 100% !important;
}

/* Inline group inputs full width (override djangocms width: auto) */
.inline-group .module:not(.aligned) .form-row input:not([type="checkbox"]) {
    width: 100% !important;
}

/* Module full width */
#content .module,
.module {
    width: 100%;
}

/* Paginator position reset */
.change-list #changelist #has-filters~.paginator,
.change-list #changelist #toolbartable .paginator,
.change-list #changelist .results+.paginator {
    position: static;
}

/* Hide delete link in admin */
.submit-row a.deletelink {
    display: none;
}

/* Close link styling - match primary theme color */
.submit-row a.closelink {
    background-color: var(--theme-color) !important;
    color: #fff !important;
}

.submit-row a.closelink:hover,
.submit-row a.closelink:focus {
    background-color: var(--theme-color-hover) !important;
}

/* Inline delete link - restore icon hidden by djangocms-admin.css */
a.inline-deletelink {
    background-image: url("../img/inline-delete.fec1b761f254.svg") !important;
}

/* Remove djangocms tabular delete link icon override */
.tabular table td.delete a.inline-deletelink:before {
    content: none !important;
}

/* Breadcrumbs styling */
.breadcrumbs {
    position: absolute !important;
    left: calc(299px + 3%) !important;
    top: 10px !important;
    padding: 10px 10px !important;
    background: transparent !important;
    border: none !important;
    font-size: 12px !important;
    color: #9ca3af !important;
}

.breadcrumbs a {
    color: var(--theme-color) !important;
}

.breadcrumbs a:hover {
    color: var(--theme-color-hover) !important;
}

/* Hide breadcrumbs on logout page */
body.logout .breadcrumbs {
    display: none !important;
}

/* Hide sidebar toggle button */
.toggle-nav-sidebar {
    display: none !important;
}

/* Object tools buttons hover - brighter background, keep white text */
.object-tools a:hover {
    color: #fff !important;
    filter: brightness(1.15);
}

/* Content main form border radius - exclude login page */
body:not(.login) #content-main form {
    border-radius: 10px !important;
}

.ui-widget.ui-widget-content {
    border: none !important;
}

/* ============================================
   LINKS & BUTTONS THEME COLOR
   ============================================ */

/* General links - excluding calendar, pagetree dropdown, select2, viewsitelink, ckeditor, jstree, thead, changelist-filter, object-tools, nav-sidebar, module links, site-name toolbar, navigator-button, closelink */
.djangocms-admin-style a:not(:is(.cms-pagetree-dropdown-menu-inner *)):not(:is(.calendarbox *)):not(:is(thead *)):not(:is(#changelist-filter *)):not(:is(.object-tools *)):not(:is(#nav-sidebar *)):not(:is(.module *)):not(:is(#site-name *)):not(.deletelink):not(.closelink):not([class*="btn"]):not([class*="cke_"]):not(.navigator-button):not(.menu-item):not(.mm-custom-tabs-list-item-link):not(.select2-choice):not(.select2-search-choice-close):not([target="_parent"]):not(.viewsitelink):not(.jstree-anchor):not(.download) {
    color: var(--theme-color) !important;
}

.djangocms-admin-style a:not(:is(.cms-pagetree-dropdown-menu-inner *)):not(:is(.calendarbox *)):not(:is(thead *)):not(:is(#changelist-filter *)):not(:is(.object-tools *)):not(:is(#nav-sidebar *)):not(:is(.module *)):not(:is(#site-name *)):not(.deletelink):not(.closelink):not([class*="btn"]):not([class*="cke_"]):not(.navigator-button):not(.mm-custom-tabs-list-item-link):not(.select2-choice):not(.select2-search-choice-close):not([target="_parent"]):not(.viewsitelink):not(.jstree-anchor):not(.download):hover {
    color: #000 !important;
}

/* Site-name toolbar menu - hover should be purple */
#site-name .submenu a:hover {
    color: var(--theme-color) !important;
}

/* Collapsed fieldset toggle - purple theme color */
form fieldset.collapsed .collapse-toggle {
    color: var(--theme-color) !important;
}

/* Filter links - hover should be theme color */
#changelist-filter a:hover {
    color: var(--theme-color) !important;
}

/* Results count link in changelist */
.small.quiet a {
    color: var(--theme-color) !important;
}

/* CKEditor buttons - keep default colors, override blue hover */
a[class*="cke_"],
a[class*="cke_"]:link,
a[class*="cke_"]:visited,
a[class*="cke_"]:hover,
a[class*="cke_"]:active,
.cke_dialog_ui_button,
.cke_dialog_ui_button:hover,
.cke_dialog_ui_button:active {
    color: inherit !important;
}

/* Exclude calendar links from purple color - keep Django default */
.djangocms-admin-style .calendar td a,
.djangocms-admin-style .calendarbox td a,
.djangocms-admin-style [id^="calendarin"] td a,
.djangocms-admin-style .calendar td a:hover,
.djangocms-admin-style .calendarbox td a:hover,
.djangocms-admin-style [id^="calendarin"] td a:hover {
    color: #333 !important;
}

/* Calendar selected date - white text, no background change on hover */
.djangocms-admin-style .calendar td.selected a,
.djangocms-admin-style .calendarbox td.selected a,
.djangocms-admin-style [id^="calendarin"] td.selected a,
.djangocms-admin-style .calendar td.selected a:hover,
.djangocms-admin-style .calendarbox td.selected a:hover,
.djangocms-admin-style [id^="calendarin"] td.selected a:hover,
.djangocms-admin-style .calendar td.selected a:active,
.djangocms-admin-style .calendarbox td.selected a:active,
.djangocms-admin-style [id^="calendarin"] td.selected a:active,
.djangocms-admin-style .calendar td.selected a:focus,
.djangocms-admin-style .calendarbox td.selected a:focus,
.djangocms-admin-style [id^="calendarin"] td.selected a:focus {
    color: #fff !important;
    background: transparent !important;
}

/* Exclude object-tools links from black hover */
.djangocms-admin-style .object-tools a:hover {
    color: #fff !important;
}

/* Download button link - white text */
a.download {
    color: #fff !important;
}

/* JSTree anchor - normal color */
.djangocms-admin-style a.jstree-anchor,
a.jstree-anchor {
    color: #374151 !important;
}

.djangocms-admin-style a.jstree-anchor:hover,
a.jstree-anchor:hover {
    color: #374151 !important;
}

/* JSTree anchor - dark mode */
@media (prefers-color-scheme: dark) {
    .djangocms-admin-style a.jstree-anchor,
    a.jstree-anchor,
    .djangocms-admin-style a.jstree-anchor:hover,
    a.jstree-anchor:hover {
        color: #fff !important;
    }
}

/* Submit buttons - exclude login page and secondary buttons */
body:not(.login).djangocms-admin-style input[type="submit"]:not([name="_addanother"]):not([name="_continue"]),
body:not(.login).djangocms-admin-style button[type="submit"],
body:not(.login).djangocms-admin-style .submit-row input[type="submit"]:not([name="_addanother"]):not([name="_continue"]),
body:not(.login).djangocms-admin-style .default {
    background-color: var(--theme-color) !important;
    border-color: var(--theme-color) !important;
    color: #fff !important;
}

body:not(.login).djangocms-admin-style input[type="submit"]:not([name="_addanother"]):not([name="_continue"]):hover,
body:not(.login).djangocms-admin-style button[type="submit"]:hover,
body:not(.login).djangocms-admin-style .submit-row input[type="submit"]:not([name="_addanother"]):not([name="_continue"]):hover,
body:not(.login).djangocms-admin-style .default:hover {
    background-color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
}

/* Object tools buttons */
.djangocms-admin-style .object-tools a {
    background-color: var(--theme-color) !important;
    color: #fff !important;
    border-radius: 4px !important;
}

.djangocms-admin-style .object-tools a:hover {
    background-color: var(--theme-color-hover) !important;
    color: #fff !important;
}

/* History button - secondary style */
.djangocms-admin-style a.historylink {
    background-color: transparent !important;
    color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 4px !important;
}

.djangocms-admin-style a.historylink:hover {
    background-color: transparent !important;
    color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
}

/* Secondary submit buttons - same style as history button */
.djangocms-admin-style .submit-row input[name="_addanother"],
.djangocms-admin-style .submit-row input[name="_continue"] {
    background-color: transparent !important;
    color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 4px !important;
}

.djangocms-admin-style .submit-row input[name="_addanother"]:hover,
.djangocms-admin-style .submit-row input[name="_continue"]:hover {
    background-color: transparent !important;
    color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
}


/* Search button in changelist */
.djangocms-admin-style #changelist-search input[type="submit"],
#changelist #changelist-search input[type="submit"],
#changelist-search input[type="submit"] {
    background-color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 4px !important;
    color: #fff !important;
    padding: 8px 15px !important;
}

.djangocms-admin-style #changelist-search input[type="submit"]:hover,
#changelist #changelist-search input[type="submit"]:hover,
#changelist-search input[type="submit"]:hover {
    background-color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
    cursor: pointer;
}

/* Addlink button in changelist */
.djangocms-admin-style .object-tools a.addlink,
.djangocms-admin-style #content-main a.addlink,
#content-main .object-tools a.addlink,
#changelist .object-tools a.addlink,
.object-tools li a.addlink,
a.addlink {
    background-color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 4px !important;
    color: #fff !important;
    padding: 8px 15px !important;
    text-decoration: none !important;
}

.djangocms-admin-style .object-tools a.addlink.disabled,
.djangocms-admin-style #content-main a.addlink.disabled,
#changelist .object-tools a.addlink.disabled,
.object-tools li a.addlink.disabled,
a.addlink.disabled {
  color: var(--utility-color-gray-300) !important;
  background-color: var(--utility-color-gray-100) !important;
  border-color: var(--utility-color-gray-100) !important;
  cursor: not-allowed;
  pointer-events: none;
}

.djangocms-admin-style .object-tools a.addlink:hover,
.djangocms-admin-style .object-tools a.addlink:focus,
.djangocms-admin-style .object-tools a.addlink:active,
.djangocms-admin-style .object-tools a.addlink:active:hover,
.djangocms-admin-style .object-tools a.addlink:active:focus,
.djangocms-admin-style #content-main a.addlink:hover,
.djangocms-admin-style #content-main a.addlink:focus,
.djangocms-admin-style #content-main a.addlink:active,
.djangocms-admin-style #content-main a.addlink:active:hover,
.djangocms-admin-style #content-main a.addlink:active:focus,
#content-main .object-tools a.addlink:hover,
#content-main .object-tools a.addlink:focus,
#content-main .object-tools a.addlink:active,
#content-main .object-tools a.addlink:active:hover,
#content-main .object-tools a.addlink:active:focus,
#changelist .object-tools a.addlink:hover,
#changelist .object-tools a.addlink:focus,
#changelist .object-tools a.addlink:active,
#changelist .object-tools a.addlink:active:hover,
#changelist .object-tools a.addlink:active:focus,
.object-tools li a.addlink:hover,
.object-tools li a.addlink:focus,
.object-tools li a.addlink:active,
.object-tools li a.addlink:active:hover,
.object-tools li a.addlink:active:focus,
a.addlink:hover,
a.addlink:focus,
a.addlink:active,
a.addlink:active:hover,
a.addlink:active:focus {
    background-color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
    color: #fff !important;
    cursor: pointer;
}

/* Override djangocms-admin.css hardcoded colors */
.djangocms-admin-style #content-main .object-tools .addlink:active,
.djangocms-admin-style #content-main .object-tools .addlink:active:hover,
.djangocms-admin-style #content-main .object-tools .addlink:active:focus {
    background-color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
    color: #fff !important;
}

/* Override sortpriority badge color */
#change-history thead th.sortable .sortpriority,
.change-list table thead th.sortable .sortpriority,
.dashboard table thead th.sortable .sortpriority,
.results table thead th.sortable .sortpriority,
.tabular table thead th.sortable .sortpriority {
    background-color: var(--theme-color) !important;
}

/* Override table body text color */
#change-history tbody td,
#change-history tbody th,
.change-list table tbody td,
.change-list table tbody th,
.dashboard table tbody td,
.dashboard table tbody th,
.results table tbody td,
.results table tbody th,
.tabular table tbody td,
.tabular table tbody th {
    color: #333 !important;
}

/* Override selected row text color from djangocms-admin.css */
#change-history tr.selected a,
#change-history tr.selected span,
#change-history tr.selected td,
.change-list table tr.selected a,
.change-list table tr.selected span,
.change-list table tr.selected td,
.dashboard table tr.selected a,
.dashboard table tr.selected span,
.dashboard table tr.selected td,
.results table tr.selected a,
.results table tr.selected span,
.results table tr.selected td,
.tabular table tr.selected a,
.tabular table tr.selected span,
.tabular table tr.selected td {
    color: #333 !important;
}

/* ============================================
   TABBED ADMIN - ACTIVE & HOVER COLORS ONLY
   ============================================ */

.mm-custom-tabs-list-item.ui-tabs-active .mm-custom-tabs-list-item-link {
    color: var(--theme-color) !important;
}

.mm-custom-tabs-list-item .mm-custom-tabs-list-item-link:hover,
.mm-custom-tabs-list .mm-custom-tabs-list-item-link:hover,
a.mm-custom-tabs-list-item-link:hover {
    color: var(--theme-color) !important;
}

/* ============================================
   CHANGE HISTORY TABLE
   ============================================ */

#change-history {
    max-width: 100%;
}

#change-history table {
    width: 100%;
    table-layout: fixed;
}

#change-history table th,
#change-history table td {
    padding: 10px 15px !important;
    vertical-align: top;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
}

#change-history table th:first-child,
#change-history table td:first-child {
    width: 10%;
}

#change-history table th:nth-child(2),
#change-history table td:nth-child(2) {
    width: 20%;
}

#change-history table th:last-child,
#change-history table td:last-child {
    width: 70%;
}

#change-history .paginator {
    padding-left: 15px;
}

/* ============================================
   DASHBOARD / ADMIN OVERVIEW STYLES
   ============================================ */

/* Module styling on dashboard */
.dashboard #content-main .module {
    background: #fff;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 30px;
}

/* Section headers (app names) on dashboard */
.dashboard #content-main .module caption {
    background: transparent !important;
    border: none !important;
    padding: 15px 20px 8px 20px !important;
    margin: 0 !important;
    text-align: left;
}

.dashboard #content-main .module caption a {
    color: #9ca3af !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.dashboard #content-main .module caption a:hover {
    color: #374151 !important;
}

/* Table styling on dashboard */
.dashboard #content-main .module table {
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: transparent !important;
    width: 100% !important;
}

.dashboard #content-main .module table tr {
    background: transparent !important;
    border: none !important;
}

.dashboard #content-main .module table th,
.dashboard #content-main .module table td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 2px 10px !important;
}

/* Menu items on dashboard */
.dashboard #content-main .module th a {
    display: block;
    padding: 10px 10px !important;
    color: #374151 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.15s ease;
}

.dashboard #content-main .module th a:hover {
    background: #dadee5 !important;
    color: #374151 !important;
}

/* Override Django default blue hover on dashboard table links */
.dashboard #container #content-main table td a:hover,
.dashboard #container #content-main table th a:hover {
    color: #000 !important;
}

/* Section links (app headers) - not clickable */
.dashboard #content-main .module caption a.section,
.dashboard #content-main a.section {
    pointer-events: none !important;
    cursor: default !important;
}

/* Hide add and change buttons on dashboard overview */
.dashboard #content-main .module td {
    display: none !important;
}

/* Group header items on dashboard */
.dashboard #content-main .module tr.sidebar-group-header th a {
    font-weight: 700 !important;
}

/* Group child items on dashboard */
.dashboard #content-main .module tr.sidebar-group-child th a {
    padding-left: 20px !important;
    font-size: 12px !important;
}

.dashboard #content-main .module tr.sidebar-group-child th a:hover {
    padding-left: 20px !important;
}

/* Remove alternating row backgrounds */
.dashboard #content-main .module tr:nth-child(odd),
.dashboard #content-main .module tr:nth-child(even) {
    background: transparent !important;
}

/* ============================================
   SIDEBAR STYLES
   ============================================ */

/* Sidebar container */
#nav-sidebar {
    background: #fff;
    border-right: 1px solid #f0f0f0;
    padding: 0;
    flex: 0 0 320px !important;
}

/* Shifted sidebar positioning */
.main.shifted > #nav-sidebar {
    left: 0 !important;
    overflow-x: hidden !important;
}

.main.shifted > #nav-sidebar + .content {
    max-width: calc(100% - 323px);
}

/* Sticky header margin */
.djangocms-admin-style .main .sticky {
    margin-top: 45px;
}

/* Remove all borders and backgrounds from modules */
#nav-sidebar .module {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Section headers (app names) */
#nav-sidebar .module caption {
    background: transparent !important;
    border: none !important;
    padding: 15px 20px 8px 20px !important;
    margin: 0 !important;
    text-align: left;
}

#nav-sidebar .module caption a {
    color: #9ca3af !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    pointer-events: none !important;
    cursor: default !important;
}

#nav-sidebar .module caption a:hover {
    color: #9ca3af !important;
    text-decoration: none !important;
}

/* Remove table borders and backgrounds */
#nav-sidebar .module table {
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: transparent !important;
    width: 100% !important;
}

#nav-sidebar .module table tbody {
    border: none !important;
}

#nav-sidebar .module table tr {
    background: transparent !important;
    border: none !important;
}

#nav-sidebar .module table th,
#nav-sidebar .module table td {
    background: transparent !important;
    border: none !important;
}

.djangocms-admin-style .main #nav-sidebar td,
.djangocms-admin-style .main #nav-sidebar th {
    padding: 2px 10px !important;
}

/* Collapse td columns to zero width */
#nav-sidebar .module table td {
    padding: 0 !important;
    margin: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    visibility: collapse !important;
    border: none !important;
}

/* Exception for disabled external provider - ensure info icon tooltip is visible */
#nav-sidebar .module .disabled-external-provider th {
    overflow: visible !important;
}

/* Menu items */
#nav-sidebar .module th a {
    display: block;
    padding: 10px 20px !important;
    color: #374151 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: all 0.15s ease;
}

#nav-sidebar .module th a:hover {
    background: #dadee5 !important;
    color: #374151 !important;
}

/* Active/current item */
#nav-sidebar .current-model th a {
    background: #dadee5 !important;
    color: #374151 !important;
    border-left: 3px solid #374151 !important;
    font-weight: 700 !important;
}

/* Sidebar group header links */
#nav-sidebar .module .sidebar-group-header th a.sidebar-group-link {
    display: block;
    padding: 10px 20px !important;
    color: #374151 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Sidebar group child items - indented */
#nav-sidebar .module tr.sidebar-group-child th {
    padding-left: 0 !important;
}

#nav-sidebar .module tr.sidebar-group-child th a {
    padding-left: 40px !important;
    font-size: 12px !important;
}

/* Hide add buttons in sidebar (the + icons) */
#nav-sidebar .module td {
    display: none !important;
}

/* Alternating row colors - remove them */
#nav-sidebar tr.sidebar-row-odd,
#nav-sidebar tr.sidebar-row-even {
    background: transparent !important;
}

/* Remove ALL borders in sidebar - aggressive override */
.djangocms-admin-style #nav-sidebar table,
.djangocms-admin-style #nav-sidebar tbody,
.djangocms-admin-style #nav-sidebar tr,
.djangocms-admin-style #nav-sidebar th,
.djangocms-admin-style #nav-sidebar td,
#nav-sidebar table,
#nav-sidebar tbody,
#nav-sidebar tr,
#nav-sidebar th,
#nav-sidebar td {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* ============================================
   FILER & FILE FIELDS
   ============================================ */

.filerFile img {
    width: 36px;
    height: 36px;
    margin-right: 10px;
}

.filerFile img[src*=nofile] {
    margin-right: 0;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-sizing: border-box;
}

.filerFile .related-lookup,
.filerFile img {
    display: inline-block;
    vertical-align: top;
    text-align: center !important;
}

.filerFile .related-lookup {
    float: right !important;
}

.filerFile .related-lookup~a.related-lookup,
.filerFile .related-lookup~a.related-lookup+strong {
    display: none !important;
}

.filerFile a {
    box-sizing: border-box;
    padding-top: 10px !important;
}

.filerFile span {
    display: inline-block;
    color: #666;
    font-weight: 400;
    margin-top: 6px;
    margin-bottom: 6px;
}

.filerFile span:empty+.related-lookup {
    float: none !important;
    margin-left: 0 !important;
}

.filerFile .filerClearer,
.filerFile .related-lookup {
    background-image: none !important;
    border-radius: 30px !important;
    color: #454545 !important;
    font-size: 12px !important;
    line-height: 12px;
    font-weight: 400;
    text-transform: none !important;
    letter-spacing: normal !important;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
    background-clip: padding-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    float: right;
    margin: 0 0 0 5px !important;
}

.filerFile .filerClearer:focus,
.filerFile .filerClearer:hover,
.filerFile .related-lookup:focus,
.filerFile .related-lookup:hover {
    color: #454545 !important;
    background-color: #f2f2f2 !important;
    border-color: #d0d0d0 !important;
    text-decoration: none !important;
}

.filerFile .filerClearer:active,
.filerFile .related-lookup:active {
    color: #454545 !important;
    background-color: #e6e6e6 !important;
    border-color: #c3c3c3 !important;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) !important;
    background-image: none !important;
}

.filerFile .filerClearer:before,
.filerFile .related-lookup:before {
    color: #999 !important;
    margin: 0;
    vertical-align: middle;
}

.filerFile .filerClearer {
    width: 10px;
    height: 10px;
    padding: 12px !important;
    border: 1px solid #ddd;
    border-radius: 3px;
    cursor: pointer;
}

.filerFile .related-lookup {
    display: inline-block !important;
    padding: 8px 10px !important;
}

.filerFile .related-lookup img {
    display: none;
}

form .form-row .filer-dropzone~.related-widget-wrapper-link,
form .form-row.field-folder .related-widget-wrapper-link {
    display: none;
}

form .form-row .vForeignKeyRawIdAdminField,
form .form-row .vManyToManyRawIdAdminField {
    width: auto !important;
}

/* Filer dropzone widget */
.filer-dropzone {
    border: 1px solid #ccc !important;
    border-radius: 3px;
    padding: 15px;
    background: #F2F3F2;
}

.filer-dropzone .dz-message {
    display: none;
}

form .form-row .filer-widget .filer-dropzone .filerFile {
    top: 0;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup {
    height: 44px !important;
    margin-left: 0 !important;
    margin-right: 15px !important;
    border-radius: 2px !important;
    border-color: var(--theme-color) !important;
    background-color: var(--theme-color) !important;
    color: #fff !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:last-child {
    margin-right: 0;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:hover,
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:focus,
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:active {
    border-color: var(--theme-color-hover) !important;
    background-color: var(--theme-color-hover) !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup.edit .cms-icon {
    margin: 0;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup .choose-file {
    display: flex;
    align-items: center;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup.related-lookup-change,
form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer {
    --dimension: 38px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: var(--dimension) !important;
    height: var(--dimension) !important;
    margin: 3px !important;
    padding: 4px !important;
    border: 1px solid #ccc !important;
    background-color: #fff !important;
    border-radius: 3px !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup.related-lookup-change:hover,
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup.related-lookup-change:focus,
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup.related-lookup-change:active,
form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer:hover,
form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer:focus,
form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer:active {
    border-color: #999 !important;
    background-color: #f2f2f2 !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup.related-lookup-change span.fa,
form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer span.fa,
form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer span.fa:before {
    color: #454545 !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer span.fa:before {
    position: relative;
    top: 2px;
    font-size: 16px;
}

form .form-row .filer-widget .filer-dropzone .filerFile a.filerClearer.hidden {
    display: none !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile a:not(.related-lookup) {
    padding-top: 0 !important;
}

form .form-row .filer-dropzone .filerFile img {
    padding: 3px;
}

.popup form .form-row .filer-dropzone .filerFile {
    top: 0 !important;
}

/* Native file input styling */
input[type="file"] {
    outline: 0;
    height: 100px !important;
    width: 100% !important;
    background-color: #F2F3F2;
    border: 1px solid #ccc;
    border-radius: 3px;
}

form input[type=file]::file-selector-button {
    border: 2px solid var(--theme-color);
    margin-left: 26px;
    margin-top: 20px;
    border-radius: 0.2em;
    background-color: var(--theme-color);
    transition: 0.1s;
    color: white;
    width: 173px;
    height: 44px;
    cursor: pointer;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 500;
}

form input[type=file]::file-selector-button:hover {
    border: 2px solid var(--theme-color-hover);
    border-radius: 0.2em;
    background-color: var(--theme-color-hover);
    transition: 0.1s;
    color: white;
}

/* Form inputs styling - exclude login page */
body:not(.login) form input[type=url],
body:not(.login) form input[type=text],
body:not(.login) form input[type=password],
body:not(.login) form input[type=number],
body:not(.login) form input[type=email],
body:not(.login) form select,
body:not(.login) form textarea {
    font-size: 12px;
    width: 100% !important;
    max-width: none !important;
    border-radius: 3px !important;
    background-color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000;
}

body:not(.login) form button {
    font-size: 12px;
    border-radius: 3px !important;
    background-color: #fff;
    color: #000;
}

/* General form inputs with theme color - exclude login page */
body:not(.login).djangocms-admin-style input[type="text"]:focus,
body:not(.login).djangocms-admin-style input[type="password"]:focus,
body:not(.login).djangocms-admin-style input[type="email"]:focus,
body:not(.login).djangocms-admin-style input[type="number"]:focus,
body:not(.login).djangocms-admin-style input[type="url"]:focus,
body:not(.login).djangocms-admin-style textarea:focus,
body:not(.login).djangocms-admin-style select:focus {
    border-color: var(--theme-color) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(126, 59, 198, 0.1) !important;
}

/* ============================================
   CHANGELIST TABLE LINKS
   ============================================ */

.change-list #changelist table tbody td a,
.change-list #changelist table tbody td a:link,
.change-list #changelist table tbody td a:visited,
.change-list #changelist table tbody th a,
.change-list #changelist table tbody th a:link,
.change-list #changelist table tbody th a:visited {
    color: #374151 !important;
}

.change-list #changelist table tbody td a:hover,
.change-list #changelist table tbody th a:hover {
    color: var(--theme-color) !important;
}

/* Changelist toplinks */
.toplinks,
nav.toplinks,
.change-list #changelist .toplinks,
#changelist .toplinks {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}

.change-list #changelist .toplinks a,
#changelist .toplinks a,
.toplinks a {
    color: var(--theme-color) !important;
}

.change-list #changelist .toplinks a:hover,
#changelist .toplinks a:hover,
.toplinks a:hover {
    color: #000 !important;
}

/* Notes column styling */
th.column-notes,
td.field-notes {
    width: 400px !important;
    white-space: normal !important;
    overflow: hidden !important;
    word-wrap: break-word !important;
}

/* ============================================
   CHANGELIST FILTER
   ============================================ */

.change-list #changelist #changelist-filter {
    position: static;
    float: right;
    min-height: 100%;
    margin-top: 8px;
    border-left: 0;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background-color: #f2f2f2 !important;
    overflow: visible !important;
}

.change-list #changelist #changelist-filter h2,
.change-list #changelist #changelist-filter h3 {
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    padding-left: 0 !important;
    border-bottom: solid 1px #ddd;
}

.change-list #changelist #changelist-filter h2 {
    color: #666;
    font-size: 14px !important;
    font-weight: 400;
    text-transform: uppercase;
    padding: 2px 9px;
    background: 0 0;
}

.change-list #changelist #changelist-filter h3 {
    font-size: 14px;
    font-weight: 700;
    margin: 15px 0 10px !important;
    padding-bottom: 7px !important;
}

.change-list #changelist #changelist-filter ul {
    font-size: 12px;
    margin-bottom: 10px;
    margin-left: 0 !important;
    padding-left: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.change-list #changelist #changelist-filter li {
    font-size: 14px;
    margin-bottom: 15px;
}

.change-list #changelist #changelist-filter li.selected {
    font-weight: 700;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
}

.change-list #changelist #changelist-filter li.selected a {
    color: var(--theme-color) !important;
}

/* Admin date filter in sidebar */
.admindatefilter {
    padding: 0 15px 15px 0px !important;
    overflow: visible !important;
    border-bottom: none !important;
}

.admindatefilter form {
    width: 100%;
    overflow: visible !important;
}

.admindatefilter p {
    margin: 0 0 10px 0;
}

.admindatefilter p.date {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
}

.admindatefilter p.date label {
    flex-shrink: 0;
    margin-right: 8px;
    font-size: 12px;
    font-weight: 600;
}

.admindatefilter .vDateField {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    order: 1 !important;
}

/* General datetimeshortcuts in forms */
span.datetimeshortcuts {
    display: inline !important;
    white-space: normal !important;
}

/* Fix overflow issue on changelist filter links */
#changelist-filter a {
    overflow-x: visible !important;
}

span.datetimeshortcuts a {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: var(--theme-color) !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
}

span.datetimeshortcuts a:hover {
    color: #000 !important;
    text-decoration: underline !important;
}

/* Datetime row layout */
.form-row .datetime,
.form-row p.datetime,
p.datetime {
    display: inline !important;
}

/* Datetime inputs - override full width */
body:not(.login) form .form-row .datetime input[type="text"],
body:not(.login) form .form-row p.datetime input[type="text"],
body:not(.login) form p.datetime input[type="text"],
.form-row .datetime input.vDateField,
.form-row .datetime input.vTimeField,
.form-row p.datetime input.vDateField,
.form-row p.datetime input.vTimeField {
    width: auto !important;
    min-width: 100px !important;
    max-width: 150px !important;
}

.admindatefilter .datetimeshortcuts {
    position: static !important;
    float: none !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    order: 2 !important;
    font-size: 14px !important;
}

.admindatefilter .datetimeshortcuts a {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
}

.admindatefilter .controls {
    display: flex;
    gap: 10px;
    margin-top: 15px;
    padding: 0 !important;
}

#changelist-filter .admindatefilter p:last-of-type,
.change-list .admindatefilter p:last-of-type {
    display: none !important;
}

.admindatefilter input[type="submit"],
.admindatefilter input[type="reset"],
.admindatefilter .controls .button {
    padding: 4px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 4px !important;
    cursor: pointer;
    transition: all 0.15s ease;
}

.admindatefilter input[type="submit"],
.admindatefilter .controls input[type="submit"].button {
    background-color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    color: #fff !important;
}

.admindatefilter input[type="submit"]:hover,
.admindatefilter .controls input[type="submit"].button:hover {
    background-color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
}

.admindatefilter input[type="reset"],
.admindatefilter .controls input[type="reset"].button {
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    color: #374151 !important;
}

.admindatefilter input[type="reset"]:hover,
.admindatefilter .controls input[type="reset"].button:hover {
    background-color: #f2f2f2 !important;
    border-color: #999 !important;
}

/* Calendar/clock popup - ensure proper width for all 7 days */
.calendarbox,
.calendarbox .calendar {
    min-width: 200px !important;
    width: auto !important;
}

.calendarbox .calendar table {
    width: 100% !important;
    table-layout: fixed !important;
}

/* Clockbox (time picker) styling */
.clockbox {
    width: auto !important;
    min-width: 120px !important;
    max-width: 200px !important;
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 10px !important;
}

.clockbox h2 {
    color: #333 !important;
    font-size: 14px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.clockbox .timelist {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.clockbox .timelist li {
    margin: 0 !important;
    padding: 4px 0 !important;
}

.calendarbox .calendar-shortcuts a,
.clockbox .timelist li a {
    color: var(--theme-color) !important;
}

.calendarbox .calendar-shortcuts a:hover,
.clockbox .timelist li a:hover {
    color: #000 !important;
}

.clockbox .calendar-cancel a {
    color: #666 !important;
}

/* Calendar - remove background from a tags */
.calendarbox td a,
.calendarbox table td a {
    background-color: transparent !important;
}

/* Calendar today - light background */
.calendarbox td.today,
.calendarbox table td.today {
    background-color: var(--theme-color-light) !important;
}

/* Calendar selected - theme color background (overrides today) */
.calendarbox td.selected,
.calendarbox table td.selected,
.calendarbox td.today.selected,
.calendarbox table td.today.selected,
.calendar td.selected,
.calendar table td.selected,
[id^="calendarin"] td.selected {
    background-color: var(--theme-color) !important;
}

/* Calendar/datetimeshortcuts icon color */
.calendar-shortcuts a:before,
span.datetimeshortcuts a:before {
    color: var(--theme-color) !important;
    margin: 0 !important;
}

/* ============================================
   RELATED WIDGET WRAPPER
   ============================================ */

.related-widget-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    gap: 5px;
}

body:not(.login) form .related-widget-wrapper select {
    flex: 1 1 auto !important;
    width: 0 !important;
    min-width: 0;
}

/* Select2 container inside related-widget-wrapper - override inline width */
body:not(.login) form .related-widget-wrapper .select2-container {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100%;
}

/* Ensure select2 selection spans full width of container */
body:not(.login) form .related-widget-wrapper .select2-container .select2-selection {
    width: 100%;
}

/* Many-to-many filtered select should have proper width */
body:not(.login) form .related-widget-wrapper select.filtered {
    width: 100% !important;
}

/* Tabular inline checkbox height fix */
.tabular table tbody td input[type=checkbox] {
    height: auto !important;
}

.related-widget-wrapper ul,
.related-widget-wrapper ul li {
    margin: 0;
    padding: 0;
}

.related-widget-wrapper .related-widget-wrapper-link {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    margin-left: 0; /* Reset margin - using gap on parent instead */
}

.related-widget-wrapper a {
    display: inline-flex;
    align-items: center;
    margin-top: unset; /* Override djangocms-admin-style margin-top: 0 */
}

/* Override djangocms-admin-style margin on related action buttons */
.related-widget-wrapper .add-another,
.related-widget-wrapper .add-related,
.related-widget-wrapper .change-related,
.related-widget-wrapper .delete-related,
.related-widget-wrapper .view-related {
    margin: unset;
}

/* ============================================
   LOGIN PAGE STYLES
   ============================================ */

body.login.djangocms-admin-style {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 100vh;
    background-color: #f2f6f9;
}

body.login.djangocms-admin-style #container {
    --loginWidth: 630px;

    position: relative;
    top: 60px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: var(--loginWidth) !important;
    max-width: 100%;
    min-width: var(--loginWidth) !important;
    height: auto;
    margin: 0;
    border-radius: 10px;
    padding: 0;
    overflow: visible;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #fff;
    box-shadow: 0 4px 130px rgba(0, 0, 0, .1);
}

body.login.djangocms-admin-style #container h2,
body.login.djangocms-admin-style #container h3,
body.login.djangocms-admin-style #container h4,
body.login.djangocms-admin-style #container h5,
body.login.djangocms-admin-style #container h6 {
    margin-top: 0;
    margin-bottom: 12px;
}

body.login.djangocms-admin-style #container #content-main {
    float: none;
}

body.login.djangocms-admin-style #container #header {
    position: static;
    background: 0 0;
    box-shadow: none;
    padding: 0;
}

body.login.djangocms-admin-style #container #header #branding {
    padding: 90px 65px 0 65px;
}

body.login.djangocms-admin-style #container #header #branding h1 {
    --titleFontSize: 30px;
    --titleMarginBottom: 30px;

    display: block;
    height: auto;
    float: none;
    margin: 0 0 var(--titleMarginBottom) 0 !important;
    text-align: center;
    font-size: var(--titleFontSize) !important;
    font-weight: 700;
    line-height: 130%;
    color: #1E222D;
}

body.login.djangocms-admin-style #container #header-logo {
    position: absolute;
    top: -110px;
    left: 50%;
    float: none;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
}

body.login.djangocms-admin-style #container #header-logo .login__logo {
    width: 247px;
    padding: 0;
}

body.djangocms-admin-style #container #header-logo .login__logo,
body.filebrowser #container #header-logo .login__logo,
body.delete-confirmation #container #header-logo .login__logo,
body.dashboard.djangocms-admin-style #container #header-logo .login__logo {
    position: static;
    width: 132px;
    padding-left: 0.5em;
    padding-top: 0.7em;
}

body.djangocms-admin-style #container #branding .login__description,
body.filebrowser #container #branding .login__description,
body.delete-confirmation #container #branding .login__description,
body.dashboard.djangocms-admin-style #container #branding .login__description {
    display: none;
}

body.login.djangocms-admin-style #container #branding .login__description {
    display: block;
}

body.login.djangocms-admin-style #container > .main {
    width: 100%;
}

body.login.djangocms-admin-style #container #header-logo a:before {
    font-size: 35px;
}

body.login.djangocms-admin-style #container #header-btn,
body.login.djangocms-admin-style #container #header-logo h1,
body.login.djangocms-admin-style #container #site-name {
    display: none;
}

body.login.djangocms-admin-style #container #content {
    margin: 0 !important;
    padding: 0 65px 30px 65px !important;
}

body.login.djangocms-admin-style #container #content .errornote {
    position: static !important;
    display: block !important;
    width: auto !important;
    margin: 15px 0 0 0 !important;
    padding: 0 !important;
    text-align: center;
    font-size: 13px !important;
    font-weight: bold;
    line-height: 1.4;
    color: #DA1E28 !important;
    background: transparent !important;
    border: none !important;
}

body.login.djangocms-admin-style #container #content #content-main form {
    margin: 0 !important;
    padding: 0;
    box-shadow: none;
}

body.login.djangocms-admin-style #container #content #content-main .form-row {
    position: relative;
    margin-bottom: 15px;
}

body.login.djangocms-admin-style #container #content #content-main .form-row:nth-child(3) {
    margin-bottom: 0px;
}

body.login.djangocms-admin-style #container #content #content-main .form-row label {
    float: left !important;
    font-size: 14px;
    line-height: 20px;
}

body.login.djangocms-admin-style #container #content #content-main .form-row input {
    width: 100% !important;
    height: 52px;
    border: 2px solid var(--theme-color) !important;
    border-radius: 5px !important;
    padding: 16px 20px !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 140%;
    color: var(--theme-color) !important;
}

body.login.djangocms-admin-style #container #content #content-main .form-row input:focus,
body.login.djangocms-admin-style #container #content #content-main .form-row input:not(:placeholder-shown) {
    outline: none;
}

body.login.djangocms-admin-style #container #content #content-main .form-row input:focus + label,
body.login.djangocms-admin-style #container #content #content-main .form-row input:not(:placeholder-shown) + label {
    left: 8px;
    top: -8px;
    font-size: 10px !important;
    font-weight: 400 !important;
    background-color: #fff;
}

body.login.djangocms-admin-style #container #content #content-main .form-row #id_password,
body.login.djangocms-admin-style #container #content #content-main .form-row #id_username {
    background-color: #fff;
    margin-top: 0 !important;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row {
    float: none !important;
    width: 100%;
    padding: 0 !important;
    margin: 0;
    background: 0 0;
    border-top: 0;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row input,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    float: none !important;
    width: 100% !important;
    height: 48px;
    margin: 0;
    border: 2px solid var(--theme-color) !important;
    border-radius: 100px !important;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 150%;
    color: #fff !important;
    background-color: var(--theme-color) !important;
    transition: .3s all ease-in-out;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row input:hover,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit]:hover,
body.login.djangocms-admin-style #container #content #content-main .submit-row input:focus,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit]:focus {
    color: var(--theme-color) !important;
    background-color: #fff !important;
    cursor: pointer;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row input:active,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit]:active {
    color: #fff !important;
    background-color: var(--theme-color-accent) !important;
    border-color: var(--theme-color-accent) !important;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) !important;
    background-image: none !important;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row input:active:focus,
body.login.djangocms-admin-style #container #content #content-main .submit-row input:active:hover,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit]:active:focus,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit]:active:hover {
    color: #fff !important;
    background-color: var(--theme-color-accent) !important;
    border-color: #FFBB33 !important;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row input[disabled],
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit][disabled],
body.login.djangocms-admin-style #container #content #content-main .submit-row input[disabled]:hover,
body.login.djangocms-admin-style #container #content #content-main .submit-row input[type=submit][disabled]:hover {
    background-color: var(--theme-color-accent) !important;
    border-color: var(--theme-color-accent) !important;
    color: rgba(255, 255, 255, .8);
    cursor: not-allowed;
    box-shadow: none !important;
}

body.login.djangocms-admin-style #container #content #content-main .submit-row label,
body.login.djangocms-admin-style #container #footer {
    display: none;
}

/* ============================================
   LOGIN RESPONSIVE STYLES
   ============================================ */

@media (max-width: 640px) {
    body.login.djangocms-admin-style #container {
        --loginWidth: 560px;
    }
}

@media (max-width: 550px) {
    body.login.djangocms-admin-style {
        overflow: hidden;
    }

    body.login.djangocms-admin-style #container {
        --loginWidth: 440px;
        height: auto;
        min-height: 430px;
    }

    body.login.djangocms-admin-style #container #header #branding {
        padding-top: 30px;
    }

    body.login.djangocms-admin-style #container #content {
        padding: 0 25px 20px 25px !important;
    }
}

@media (max-width: 480px) {
    body.login.djangocms-admin-style #container {
        --loginWidth: 100%;
        top: 0;
        height: auto;
        min-height: 470px;
    }

    body.login.djangocms-admin-style #container #header #branding {
        padding-top: 20px;
    }

    body.login.djangocms-admin-style #container #header #branding h1 {
        --titleFontSize: 24px;
        --titleMarginBottom: 10px;
        padding-left: 25px;
        padding-right: 25px;
    }

    body.login.djangocms-admin-style #container #branding .login__description {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* ============================================
   FILER STYLES
   ============================================ */

/* Navigator buttons */
.navigator-top-nav .navigator-button,
.navigator-top-nav .navigator-button[disabled],
.navigator-top-nav .navigator-button:visited,
.navigator-top-nav .navigator-button:visited[disabled],
.navigator-top-nav .navigator-button:link:visited,
.navigator-top-nav .navigator-button:link,
.navigator-button-wrapper .navigator-button,
.navigator-button-wrapper .navigator-button[disabled],
.navigator-button-wrapper .navigator-button:visited,
.navigator-button-wrapper .navigator-button:link {
    border-color: var(--theme-color) !important;
    background-color: var(--theme-color) !important;
    color: #fff !important;
}

.navigator-top-nav .navigator-button:hover,
.navigator-top-nav .navigator-button:focus,
.navigator-top-nav .navigator-button:active,
.navigator-top-nav .navigator-button:active:hover,
.navigator-top-nav .navigator-button:active:focus,
.navigator-top-nav .navigator-button:visited:focus,
.navigator-top-nav .navigator-button:visited.focus,
.navigator-top-nav .navigator-button:visited:hover,
.navigator-top-nav .navigator-button:visited:active:hover,
.navigator-top-nav .navigator-button:visited:active:focus,
.navigator-top-nav .navigator-button:link:visited:focus,
.navigator-top-nav .navigator-button:link:visited.focus,
.navigator-top-nav .navigator-button:link:visited:hover,
.navigator-top-nav .navigator-button:link:focus,
.navigator-top-nav .navigator-button:link.focus,
.navigator-top-nav .navigator-button:link:hover,
.navigator-button-wrapper .navigator-button:hover,
.navigator-button-wrapper .navigator-button:focus,
.navigator-button-wrapper .navigator-button:active,
.navigator-button-wrapper .navigator-button:visited:hover,
.navigator-button-wrapper .navigator-button:visited:focus,
.navigator-button-wrapper .navigator-button:link:hover,
.navigator-button-wrapper .navigator-button:link:focus {
    border-color: var(--theme-color-hover) !important;
    background-color: var(--theme-color-hover) !important;
    color: #fff !important;
}

/* Filer action column */
.filebrowser .navigator-list tr td.column-action,
.filebrowser .navigator-table tr td.column-action {
    display: flex;
    justify-content: center;
    width: 140px;
}

/* Filer action buttons */
.filebrowser .navigator-list .column-action .action-button,
.filebrowser .navigator-table .column-action .action-button {
    --dimension: 28px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: var(--dimension) !important;
    height: var(--dimension) !important;
    padding: 4px !important;
    border: none !important;
    background-color: transparent !important;
}

.filebrowser .navigator-list .column-action .action-button:hover,
.filebrowser .navigator-table .column-action .action-button:hover,
.filebrowser .navigator-list .column-action .action-button:focus,
.filebrowser .navigator-table .column-action .action-button:focus {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

.filebrowser .navigator-list .column-action .action-button span.fa,
.filebrowser .navigator-table .column-action .action-button span.fa {
    color: #454545 !important;
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
}

/* Filer links */
.filebrowser .navigator-list .column-name a,
.filebrowser .navigator-table .column-name a {
    color: var(--theme-color) !important;
}

.filebrowser .navigator-list .column-name a:hover,
.filebrowser .navigator-table .column-name a:hover {
    color: #000 !important;
}

/* Filer dropdown menu */
.filer-dropdown-container .filer-dropdown-menu > li > a,
.filer-dropdown-container + .filer-dropdown-menu > li > a,
.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown > li > a {
    color: var(--theme-color) !important;
}

.filer-dropdown-container .filer-dropdown-menu a:hover,
.filer-dropdown-container + .filer-dropdown-menu a:hover,
.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown > li > a:hover {
    background-color: var(--theme-color) !important;
    color: #fff !important;
}

/* Filer breadcrumbs positioning */
body.filebrowser .breadcrumbs {
    position: absolute !important;
    left: calc(299px + 3%) !important;
    top: 10px !important;
    padding: 10px 10px !important;
    background: transparent !important;
}

/* Filer breadcrumbs folder name padding */
.navigator-breadcrumbs-folder-name-inner {
    padding-top: 5px;
}

/* Filer dropzone buttons */
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup {
    height: 44px !important;
    margin-left: 0 !important;
    margin-right: 15px !important;
    border-radius: 2px !important;
    border-color: var(--theme-color) !important;
    background-color: var(--theme-color) !important;
    color: #fff !important;
}

form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:hover,
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:focus,
form .form-row .filer-widget .filer-dropzone .filerFile .related-lookup:active {
    border-color: var(--theme-color-hover) !important;
    background-color: var(--theme-color-hover) !important;
}


/* ============================================
   CMS PAGETREE DROPDOWN MENU
   ============================================ */

/* Only override hover background color from blue to purple */
.cms-pagetree-dropdown-menu-inner li a:hover,
.cms-pagetree-dropdown-menu-inner li a:focus {
    background-color: #7E3BC6 !important;
}

/* Select2 highlight color - only change blue to purple */
.select2-results .select2-highlighted {
    background-color: #7E3BC6 !important;
}

.select2-container-active .select2-choice,
.select2-container-active .select2-choices {
    border-color: #7E3BC6 !important;
}

.select2-dropdown-open .select2-choice {
    border-color: #7E3BC6 !important;
}

/* ============================================
   CKEDITOR DIALOG STYLES
   ============================================ */

/* CKEditor image uploader and video embeder */
.ckeditor-image-uploader__row,
.ckeditor-video-embeder__row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.ckeditor-image-uploader__file {
    display: none;
}

.ckeditor-image-uploader__btn {
    display: flex;
    align-items: center;
    border-color: var(--theme-color) !important;
    font-weight: bold;
    color: #fff !important;
    background-color: var(--theme-color) !important;
    transition: .3s all ease-in-out;
}

.ckeditor-image-uploader__btn:hover,
.ckeditor-image-uploader__btn:focus {
    border-color: var(--theme-color) !important;
    color: var(--theme-color) !important;
    background-color: #fff !important;
    cursor: pointer;
}

.ckeditor-image-uploader__btn__icon {
    margin-right: 5px;
    transform: translateY(-1px);
    transition: .3s all ease-in-out;
}

.ckeditor-image-uploader__btn:hover .ckeditor-image-uploader__btn__icon,
.ckeditor-image-uploader__btn:focus .ckeditor-image-uploader__btn__icon {
    fill: var(--theme-color);
}

.ckeditor-image-uploader__image-name {
    display: block;
    width: 230px;
    margin-left: 10px;
    word-break: break-all;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ckeditor-image-uploader__form-group,
.ckeditor-video-embeder__form-group {
    display: flex;
    flex-direction: column;
    width: 100% !important;
}

.ckeditor-image-uploader__label,
.ckeditor-video-embeder__label {
    font-weight: bold;
}

.ckeditor-image-uploader__field,
.ckeditor-video-embeder__field {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #c9cccf;
    border-top-color: #aeb3b9;
    border-radius: 3px;
    outline: 0;
    padding: 4px 6px;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0, .15) inset;
}

.ckeditor-video-embeder__link-text {
    display: block;
    width: 340px !important;
    margin-left: 5px !important;
    word-break: break-all;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--theme-color) !important;
}

.ckeditor-video-embeder__link-text:hover {
    text-decoration: underline;
    cursor: pointer;
}

#ckeditor-video-embeder-current-link {
    display: none;
}

#ckeditor-video-embeder-current-link.is-shown {
    display: flex;
}

/* CKEditor Dialog - prevent scroll jump by disabling overflow:hidden */
.cke_dialog_open {
    overflow: visible !important;
}

/* CKEditor Dialog - center using absolute positioning (since we disabled overflow:hidden) */
.cke_dialog_container > .cke_dialog {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: fit-content !important;
    height: fit-content !important;
    margin: auto !important;
}

/* Dialog button overrides - Primary (OK) */
a.cke_dialog_ui_button_ok {
    color: #fff !important;
    text-shadow: 0 -1px 0 #5c2a94 !important;
    border-color: var(--theme-color) !important;
    background: var(--theme-color) !important;
    background-image: linear-gradient(to bottom, #9558d6, #7E3BC6) !important;
}

a.cke_dialog_ui_button_ok span,
a.cke_dialog_ui_button_ok .cke_dialog_ui_button {
    color: #fff !important;
    text-shadow: 0 -1px 0 #5c2a94 !important;
}

a.cke_dialog_ui_button_ok:hover {
    color: #fff !important;
    border-color: #6a32a8 !important;
    background: #9558d6 !important;
    background-image: linear-gradient(to bottom, #a76de0, #7E3BC6) !important;
}

a.cke_dialog_ui_button_ok:hover span,
a.cke_dialog_ui_button_ok:hover .cke_dialog_ui_button {
    color: #fff !important;
}

a.cke_dialog_ui_button_ok:focus,
a.cke_dialog_ui_button_ok:active {
    border-color: #5c2a94 !important;
}

a.cke_dialog_ui_button_ok.cke_disabled {
    border-color: #a789c4 !important;
    background: #b8a3cc !important;
    background-image: linear-gradient(to bottom, #d4c8e0, #b8a3cc) !important;
}

/* Dialog button overrides - Secondary (Cancel) */
a.cke_dialog_ui_button_cancel {
    color: #484848 !important;
    background: #fff !important;
    border-color: #bcbcbc !important;
}

a.cke_dialog_ui_button_cancel:hover {
    background: #f8f8f8 !important;
    border-color: #888 !important;
}

a.cke_dialog_ui_button_cancel:focus,
a.cke_dialog_ui_button_cancel:active {
    border-color: var(--theme-color) !important;
}

/* Dialog footer background */
.cke_dialog_footer {
    background: #f8f8f8 !important;
    background-image: none !important;
}

/* ============================================
   DELETE CONFIRMATION PAGE
   ============================================ */

/* Delete confirmation links */
body.delete-confirmation #content a,
body.delete-confirmation #content ul a {
    color: var(--theme-color) !important;
}

body.delete-confirmation #content a:hover,
body.delete-confirmation #content ul a:hover {
    color: #000 !important;
}

/* Delete confirmation buttons */
body.delete-confirmation .cms-btn-action,
body.delete-confirmation input[type="submit"],
body.delete-confirmation .colM input[type=submit],
body.delete-confirmation #content .colM input[type=submit],
.djangocms-admin-style.delete-confirmation .colM input[type=submit] {
    background-color: var(--theme-color) !important;
    border-color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    color: #fff !important;
    border-radius: 4px !important;
}

body.delete-confirmation .cms-btn-action:hover,
body.delete-confirmation input[type="submit"]:hover,
body.delete-confirmation .colM input[type=submit]:hover,
body.delete-confirmation .colM input[type=submit]:focus,
body.delete-confirmation #content .colM input[type=submit]:hover,
body.delete-confirmation #content .colM input[type=submit]:focus,
.djangocms-admin-style.delete-confirmation .colM input[type=submit]:hover,
.djangocms-admin-style.delete-confirmation .colM input[type=submit]:focus {
    background-color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
    border: 1px solid var(--theme-color-hover) !important;
}

/* Cancel link on delete confirmation */
body.delete-confirmation .cancel-link,
body.delete-confirmation a.cancel-link {
    background-color: transparent !important;
    color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    margin-left: 10px !important;
}

body.delete-confirmation .cancel-link:hover,
body.delete-confirmation a.cancel-link:hover {
    background-color: transparent !important;
    color: var(--theme-color-hover) !important;
    border-color: var(--theme-color-hover) !important;
}

/* ============================================
   ADMIN INFO NOTICE BOX
   ============================================ */

.admin-info-notice {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin: 0;
    padding: 16px 20px;
    background-color: var(--theme-color-light);
    border: 1px solid var(--theme-color);
    border-radius: 8px;
    border-left: 4px solid var(--theme-color);
    overflow: visible;
    box-sizing: border-box;
}

.admin-info-notice__content {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1;
    min-width: 0;
    overflow: visible;
}

.admin-info-notice__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background-color: var(--theme-color);
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
}

.admin-info-notice__text {
    margin: 0 !important;
    padding: 0 !important;
    color: #374151;
    font-size: 14px;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    min-width: 0;
}

.admin-info-notice__dismiss {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    margin: -4px -6px -4px 0;
    background: transparent;
    border: none;
    border-radius: 4px;
    color: #6b7280;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: all 0.15s ease;
}

.admin-info-notice__dismiss:hover {
    background-color: transparent;
    color: #374151;
}

.admin-info-notice__dismiss:focus {
    outline: 2px solid var(--theme-color);
    outline-offset: 2px;
}

/* ============================================
   DASHBOARD LAYOUT
   ============================================ */

.dashboard #content {
    margin: 113px 0 0 3% !important;
}

.dashboard #admin-notice-wrapper,
.dashboard #content-main {
    width: 70% !important;
    max-width: 900px !important;
    float: left !important;
    clear: left !important;
    box-sizing: border-box !important;
}

.dashboard #admin-notice-wrapper {
    margin-bottom: 20px !important;
}

.model-campaignlink #admin-notice-wrapper {
  margin-top: 10px;
  margin-bottom: 20px !important;
}

.model-productprices #admin-notice-wrapper,
.model-globaltagmanagervalues #admin-notice-wrapper {
  margin-top: 30px;
  margin-bottom: 20px !important;
}

/* Payment type notice field - hide label and form-row styling */
.model-campaignlink .form-row.field-payment_type_notice,
.model-campaignlink .form-row.field-purpose_notice,
.model-productprices .form-row.field-number_of_prices_notice,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_notice {
  margin-top: 10px;
  padding: 0;
  border-bottom: none;
}

.model-campaignlink .form-row.field-payment_type_notice > div,
.model-campaignlink .form-row.field-purpose_notice > div,
.model-productprices .form-row.field-number_of_prices_notice > div,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_notice > div {
  padding: 0;
}

.model-campaignlink .form-row.field-payment_type_notice .flex-container,
.model-campaignlink .form-row.field-purpose_notice .flex-container,
.model-productprices .form-row.field-number_of_prices_notice .flex-container,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_notice .flex-container {
  display: block;
}

.model-campaignlink .form-row.field-payment_type_notice label,
.model-campaignlink .form-row.field-purpose_notice label,
.model-productprices .form-row.field-number_of_prices_notice label,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_notice label,
#delete_id_recurring_amounts {
  display: none;
}

.model-campaignlink .form-row.field-payment_type_notice .readonly,
.model-campaignlink .form-row.field-purpose_notice .readonly,
.model-productprices .form-row.field-number_of_prices_notice .readonly,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_notice .readonly {
  padding: 0;
  margin-left: 0;
}

.model-campaignlink .form-row.field-payment_type:has(.field-disabled) .help,
.model-campaignlink .form-row.field-purpose:has(.field-disabled) .help,
.model-productprices .form-row.field-number_of_prices:has(.field-disabled) .help,
.model-productprices .form-row.field-allow_custom_amount:has(.field-disabled) .help,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_enabled:has(.field-disabled) .help {
  opacity: 0.5;
}

/* Notice button in change form */
.model-campaignlink .form-row.field-payment_type_notice .admin-info-notice .default,
.model-campaignlink .form-row.field-purpose_notice .admin-info-notice .default,
.model-productprices .form-row.field-number_of_prices_notice .admin-info-notice .default,
.model-globaltagmanagervalues .form-row.field-ecommerce_tracking_notice .admin-info-notice .default {
    font-size: 13px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background: var(--body-bg);
    box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
    cursor: pointer;
    height: 24px;
    line-height: 1;
    padding: 4px 8px;
    margin: 0;
}

/* ============================================
   RECENT ACTIONS MODULE (SIDEBAR)
   ============================================ */

.dashboard #content-related {
    padding-top: 113px !important;
}

#recent-actions-module {
    margin: 0 !important;
    padding: 15px !important;
    background-color: #f2f2f2 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

#recent-actions-module h2 {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

#recent-actions-module h3 {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

#recent-actions-module .actionlist {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Recent actions changelink - purple theme color */
#recent-actions-module .actionlist li.changelink a {
    color: var(--theme-color) !important;
}

#recent-actions-module .actionlist li.changelink a:hover {
    color: var(--theme-color-hover) !important;
}

/* Change history paginator padding */
#change-history .paginator {
    padding-left: 15px;
    padding-bottom: 15px;
}

@media (max-width: 770px) {
    .dashboard #content-related {
        display: none !important;
    }

    .dashboard #admin-notice-wrapper,
    .dashboard #content-main {
        width: 100% !important;
    }
}

/* Disabled form field */
.field-disabled,
.form-row:has(.field-disabled) > div:first-child label {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Flex container link hover */
.flex-container a:hover {
    color: var(--theme-color) !important;
}

/* Styles for the admin color appearance (equal-width-fields layout) */
.equal-width-fields .flex-container.form-multiline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.equal-width-fields .flex-container.form-multiline > div {
    width: 50% !important;
}

.equal-width-fields .flex-container.form-multiline > div:nth-child(even) {
    padding-left: 10px;
}

.equal-width-fields .flex-container.form-multiline > div:nth-child(odd) {
    padding-right: 10px;
}

.equal-width-fields .form-row div.fieldBox {
    margin-right: 0;
    width: 100% !important;
}

form .aligned div.help div {
    padding-top: 3px;
}

/* ============================================
   CUSTOM DIALOG STYLES
   Native HTML <dialog> elements for alerts/confirms
   ============================================ */

dialog.custom-dialog {
    border: none !important;
    border-radius: 12px !important;
    padding: 24px !important;
    max-width: 420px !important;
    width: 90% !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

dialog.custom-dialog::backdrop {
    background: rgba(0, 0, 0, 0.5) !important;
}

dialog.custom-dialog > * {
    float: none !important;
    position: static !important;
}

dialog.custom-dialog .custom-dialog__header {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

dialog.custom-dialog .custom-dialog__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 32px !important;
    height: 32px !important;
    padding: 6px !important;
    background-color: var(--theme-color, #63059B) !important;
    border-radius: 50% !important;
}

dialog.custom-dialog .custom-dialog__icon svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    stroke: white !important;
}

dialog.custom-dialog .custom-dialog__title {
    display: block !important;
    margin: 0 !important;
    padding-top: 4px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-align: left !important;
    float: none !important;
}

dialog.custom-dialog .custom-dialog__body {
    display: block !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    color: #666 !important;
    text-align: left !important;
    line-height: 1.5 !important;
    float: none !important;
}

dialog.custom-dialog .custom-dialog__buttons {
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-end !important;
    width: 100% !important;
}

dialog.custom-dialog button {
    padding: 8px 20px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    float: none !important;
}

dialog.custom-dialog button.btn-primary {
    background: var(--theme-color, #63059B) !important;
    color: white !important;
    border: none !important;
}

dialog.custom-dialog button.btn-secondary {
    background: transparent !important;
    color: var(--theme-color, #63059B) !important;
    border: 1px solid var(--theme-color, #63059B) !important;
}

dialog.custom-dialog button:focus-visible {
    outline: 2px solid var(--theme-color, #63059B) !important;
    outline-offset: 2px !important;
}

/* Standalone alert dialog (for pages not using Common/change_form.html) */
dialog.custom-alert-standalone {
    border: none;
    border-radius: 12px;
    padding: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

dialog.custom-alert-standalone::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

dialog.custom-alert-standalone .custom-alert-content {
    padding: 20px;
    max-width: 400px;
}

dialog.custom-alert-standalone .custom-alert-title {
    margin: 0 0 10px 0;
    color: var(--theme-color, #63059B);
    font-size: 16px;
    font-weight: 700;
}

dialog.custom-alert-standalone .custom-alert-message {
    margin: 0 0 20px 0;
}

dialog.custom-alert-standalone .custom-alert-btn {
    padding: 8px 20px;
    background: var(--theme-color, #63059B);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
}

dialog.custom-alert-standalone .custom-alert-btn:hover {
    opacity: 0.9;
}

/* Hide redundant h2 in email inline formsets */
.model-globalemail .js-inline-admin-formset.inline-group > fieldset.module > h2 {
    display: none !important;
}

/* Delete/Confirmation page styles */
.delete-confirmation .colM h1+p {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.delete-confirmation.djangocms-admin-style .submit-row {
    margin: 0 !important;
}

/* Settings confirmation page styles - override delete icon with cog */
.settings-confirmation.delete-confirmation .colM h1+p:before {
    content: "\E013" !important;
}

