/* DS_PARTNER_GREEN_PALETTE: generated from ui/tokens.json + ui/green-consistency.css */
:root,
html.ds-ui,
html.ds-ui.ds-partner-green-theme {
  --ds-color-partners:#67BD47!important;
  --ds-color-partners-solid:#67BD47!important;
  --ds-color-partners-hover:#56A837!important;
  --ds-color-partners-border:#5FB741!important;
  --ds-color-partners-soft:#F1F8ED!important;
  --ds-color-partners-soft-hover:#E5F2DC!important;
  --ds-color-partners-soft-border:#B8D9AA!important;
  --ds-color-partners-ink:#315F28!important;
  --ds-color-partners-on-action:#18221C!important;
}

/* Shared green accents, including controls rendered outside #content.
   Keep section-dependent --ds-accent/--ds-solid and blue authentication intact. */
:root,
html.ds-ui,
html.ds-ui.ds-partner-green-theme {
  --ds-partner-action:var(--ds-color-partners);
  --ds-partner-action-border:var(--ds-color-partners-border);
  --ds-partner-action-hover:var(--ds-color-partners-hover);
  --ds-partner-soft:var(--ds-color-partners-soft);
  --ds-partner-soft-hover:var(--ds-color-partners-soft-hover);
  --ds-partner-soft-border:var(--ds-color-partners-soft-border);
  --ds-partner-ink:var(--ds-color-partners-ink);
  --ds-partner-on-action:var(--ds-color-partners-on-action);
}

/* Bridge component-local variables, including dialogs mounted in body.
   News keeps its own theme; no section-dependent variables on html or body. */
html.ds-ui body :is(
  [data-ds-theme=partners],.ds-partners-shell,.ds-profile-shell,.ds-profile-editor,
  .partners-advanced-search,.ds-ui-profile-preview,.ds-cabinet-workspace,
  .ds-cabinet-delete-dialog,.ds-cabinet-disable-dialog,.ds-cabinet-comparison,
  .ds-cabinet-preview-dialog,.ds-live-shop
) {
  --ds-accent:var(--ds-partner-action)!important;
  --ds-solid:var(--ds-partner-action)!important;
  --ds-green:var(--ds-partner-action)!important;
  --ds-hover:var(--ds-partner-action-hover)!important;
  --ds-soft:var(--ds-partner-soft)!important;
  --ds-profile-green:var(--ds-partner-action)!important;
  --shop-green:var(--ds-partner-action);
  --shop-soft:var(--ds-partner-soft);
}

/* Full profiles use their own variables. Keep readable green text separate
   from the bright fill of their submit action and preserve neutral surfaces. */
html.ds-ui body #ds-public-profile,
html.ds-ui body .one-result.ds-preview-card {
  --dp-green:var(--ds-partner-ink)!important;
}
html.ds-ui body #ds-public-profile #complain_box input[type=submit]:not(:disabled) {
  background:var(--ds-partner-action)!important;
  border-color:var(--ds-partner-action-border)!important;
  color:var(--ds-partner-on-action)!important;
}
html.ds-ui body #ds-public-profile #complain_box input[type=submit]:not(:disabled):hover {
  background:var(--ds-partner-action-hover)!important;
  border-color:var(--ds-partner-action-hover)!important;
}

/* Explicit green actions: never match generic buttons, destructive actions,
   payment/promotion controls or the blue sign-in component. */
html.ds-ui body #wrap #content :is(
  .ds-primary-button,.ds-cabinet-primary,.ds-cabinet-compare,.ds-editor-save-button,
  .ds-preview-subscribe,.ds-contact-register,
  .ds-cabinet-unified-nav>[data-ds-nav-key=add],
  .ds-partners-hybrid-shell .ds-ui-filter-toolbar .ds-columns-button.is-active,
  .ds-cabinet-page-links>[aria-current=page],.ds-cabinet-account-save input,
  #profile-form .ds-account-submit.is-active,[data-ds-email-access] button,
  .ds-admin-button.is-primary,.ds-buyer-price-presets button[aria-pressed=true]
):not(:disabled):not([aria-disabled=true]):not(.danger):not(.is-danger):not([data-action-icon=delete]),
html.ds-ui body :is(
  .ds-ui-profile-preview .ds-ui-button--primary,
  .ds-cabinet-disable-dialog .ds-disable-confirm,
  .ds-cabinet-delete-dialog .ds-delete-actions>.ds-delete-hide,
  .ds-cabinet-comparison .ds-comparison-toolbar>.ds-ui-button[aria-pressed=true],
  .ds-admin-dialog .ds-admin-button.is-primary,
  .ds-date-subscription-popover .ds-preview-subscribe,
  .ds-new-leave-actions .ds-new-save-close,
  .modal-w .ds-terms-modal .close-b,
  #ds-partner-loading button,#ds-partner-loading a
):not(:disabled):not([aria-disabled=true]):not(.danger):not(.is-danger):not([data-action-icon=delete]) {
  background:var(--ds-partner-action)!important;
  border-color:var(--ds-partner-action-border)!important;
  color:var(--ds-partner-on-action)!important;
}
html.ds-ui body #wrap #content :is(
  .ds-primary-button,.ds-cabinet-primary,.ds-cabinet-compare,.ds-editor-save-button,
  .ds-preview-subscribe,.ds-contact-register,
  .ds-cabinet-unified-nav>[data-ds-nav-key=add],
  .ds-partners-hybrid-shell .ds-ui-filter-toolbar .ds-columns-button.is-active,
  .ds-cabinet-page-links>[aria-current=page],.ds-cabinet-account-save input,
  #profile-form .ds-account-submit.is-active,[data-ds-email-access] button,
  .ds-admin-button.is-primary,.ds-buyer-price-presets button[aria-pressed=true]
):not(:disabled):not([aria-disabled=true]):not(.danger):not(.is-danger):not([data-action-icon=delete]):hover,
html.ds-ui body :is(
  .ds-ui-profile-preview .ds-ui-button--primary,
  .ds-cabinet-disable-dialog .ds-disable-confirm,
  .ds-cabinet-delete-dialog .ds-delete-actions>.ds-delete-hide,
  .ds-cabinet-comparison .ds-comparison-toolbar>.ds-ui-button[aria-pressed=true],
  .ds-admin-dialog .ds-admin-button.is-primary,
  .ds-date-subscription-popover .ds-preview-subscribe,
  .ds-new-leave-actions .ds-new-save-close,
  .modal-w .ds-terms-modal .close-b,
  #ds-partner-loading button,#ds-partner-loading a
):not(:disabled):not([aria-disabled=true]):not(.danger):not(.is-danger):not([data-action-icon=delete]):hover {
  background:var(--ds-partner-action-hover)!important;
  border-color:var(--ds-partner-action-hover)!important;
  color:var(--ds-partner-on-action)!important;
}

/* Native choices also occur in body portals and account forms outside the
   cabinet workspace. Do not recolour #ds-auth-root's blue consent control. */
html.ds-ui body #wrap #content :is(
  .ds-cabinet-select,.ds-cabinet-select-page input,.ds-candidate-compare-label input,
  .ds-match-check input,.ds-account-role-options input,.ds-proam-role-options input,
  .ds-admin-control[type=checkbox],.ds-admin-control[type=radio],
  .ds-live-shop input[type=checkbox],.ds-live-shop input[type=radio],
  .ds-live-shop .ds-buyer-pricing input[type=range],
  .ds-profile-editor .ds-privacy-consent input[type=checkbox]
):not(:disabled),
html.ds-ui body :is(
  .ds-cabinet-disable-dialog .ds-disable-option input,
  .ds-cabinet-delete-dialog .ds-delete-schedule-choice input,
  .ds-cabinet-comparison .ds-candidate-compare-label input,
  .ds-admin-dialog .ds-admin-control[type=checkbox],
  .ds-admin-dialog .ds-admin-control[type=radio],
  .partners-advanced-search .ds-proam-role-filter input,
  .ds-pe-controls input[type=range],.ds-crop-control input[type=range]
):not(:disabled) {
  accent-color:var(--ds-partner-action)!important;
}

/* Custom selected choices keep their existing shape and layout. */
html.ds-ui body #wrap #content .ds-live-shop .ds-shop-profile-option[aria-selected=true] .ds-shop-profile-check,
html.ds-ui.ds-partner-green-theme body #wrap #content .ds-profile-editor .ds-editor-checks li.is-complete::before,
html.ds-ui body #wrap #content .ds-profile-editor .ds-consent-input:checked:not(:disabled)+.ds-consent-card .ds-consent-check {
  background:var(--ds-partner-action)!important;
  border-color:var(--ds-partner-action-border)!important;
  color:var(--ds-partner-on-action)!important;
}
html.ds-ui body #wrap #content .ds-account-role-options label:has(input:checked:not(:disabled)),
html.ds-ui body #ds-admin-nav button[aria-current=true]:not(:disabled) {
  background:var(--ds-partner-soft)!important;
  border-color:var(--ds-partner-action-border)!important;
  color:var(--ds-partner-ink)!important;
}
html.ds-ui body .ds-cabinet-preview-thumbs [aria-current=true] {
  border-color:var(--ds-partner-action-border)!important;
  box-shadow:0 0 0 1px var(--ds-partner-action-border)!important;
}

/* Focus colours apply only to components whose focus was already green. */
html.ds-ui body #wrap #content :is(
  .ds-cabinet-icon-action:not([data-action-icon=delete]),
  .ds-account-password-section>summary,#profile-form input,
  .ds-match-form input,.ds-match-form select,.ds-match-form button,
  .ds-match-city-results button,.ds-admin-button:not(.is-danger),.ds-admin-control
):not(:disabled):focus-visible,
html.ds-ui body :is(
  .ds-cabinet-comparison-scroll,.ds-account-password-toggle,
  .ds-admin-dialog .ds-admin-button:not(.is-danger),.ds-admin-dialog .ds-admin-control
):not(:disabled):focus-visible,
html.ds-ui body .ds-cabinet-disable-dialog .ds-disable-option:focus-within,
html.ds-ui body #wrap #content .ds-account-role-options label:focus-within,
html.ds-ui body #wrap #content .ds-cabinet-state-icon:focus {
  outline-color:var(--ds-partner-action-border)!important;
}

/* Green decorative rules and progress retain their original dimensions. */
html.ds-ui body #wrap #content :is(.ds-cabinet-kicker,.ds-cabinet-status[data-status=active])::before,
html.ds-ui body #wrap #content .ds-editor-progress-track span,
html.ds-ui.ds-new-profile-page body #wrap #content :is(
  .ds-new-heading,.ds-editor-section-head,.ds-editor-sidebar-inner
)::before,
html.ds-ui body .modal-w .ds-terms-head-icon,
html.ds-partner-mobile-shell body .ds-partner-bottom-nav .ds-bottom-add svg {
  background:var(--ds-partner-action)!important;
}
html.ds-ui body #wrap #content :is(
  .ds-cabinet-group[data-status=active],.ds-cabinet-favorites,
  .ds-cabinet-account-card
),
html.ds-ui body :is(.ds-cabinet-delete-dialog,.ds-admin-dialog),
html.ds-ui body .ds-cabinet-candidate-state.is-loading::before,
html.ds-ui body .ds-cabinet-preview-body[aria-busy=true] .ds-cabinet-preview-message::before {
  border-top-color:var(--ds-partner-action)!important;
}
html.ds-ui body #wrap #content :is(
  .ds-cabinet-selection-bar,.ds-cabinet-notification.is-unread,.ds-match-proam-hint,
  .ds-admin-heading,.ds-admin-bulk,.ds-admin-good,#ds-admin-status.is-success
) {
  border-left-color:var(--ds-partner-action)!important;
}
html.ds-ui body .ds-home-partners {
  border-color:var(--ds-partner-action-border)!important;
  background:var(--ds-partner-soft)!important;
}
html.ds-ui body .ds-home-partners .ds-home-heading :is(h2,a) {
  border-color:var(--ds-partner-action-border)!important;
}
html.ds-ui body .ds-home-partner,
html.ds-ui body #wrap #content :is(.ds-profile-fact,.ds-profile-section) {
  border-color:var(--ds-partner-soft-border)!important;
}

/* Pale treatments and their text share one green family. Status warnings,
   disabled/private states, favourites, paid features and errors stay distinct. */
html.ds-ui body #wrap #content :is(
  .ds-cabinet-action-notice:not(.is-error):not([data-kind=error]),.ds-cabinet-status[data-status=active],
  .ds-cabinet-preview-status,.ds-admin-button.is-accent,.ds-admin-pill.is-approved,
  .ds-admin-good,#ds-admin-status.is-success
),
html.ds-ui body #wrap #content .ds-candidate-match:not(.is-near) strong {
  background:var(--ds-partner-soft)!important;
  border-color:var(--ds-partner-soft-border)!important;
  color:var(--ds-partner-ink)!important;
}
html.ds-ui body #wrap #content :is(
  .ds-cabinet-bulk-apply,.ds-cabinet-clear-selection,.ds-cabinet-logout,
  .ds-buyer-price-presets button:not([aria-pressed=true])
):not(:disabled):not([aria-disabled=true]),
html.ds-ui body #wrap #content .ds-match-save-status:not(.is-error),
html.ds-ui body .ds-cabinet-delete-dialog h3,
html.ds-ui body .modal-w .ds-terms-kicker,
html.ds-ui body .ds-admin-stat strong,
html.ds-ui body .ds-admin-dialog .ds-admin-button.is-accent,
html.ds-partner-mobile-shell body .ds-partner-bottom-nav a[aria-current=true]:not(.ds-bottom-add):not(.ds-bottom-matches) {
  color:var(--ds-partner-ink)!important;
}
html.ds-ui body #wrap #content .ds-admin-button.is-accent:not(:disabled):hover,
html.ds-ui body .ds-admin-dialog .ds-admin-button.is-accent:not(:disabled):hover {
  background:var(--ds-partner-soft-hover)!important;
  border-color:var(--ds-partner-action-border)!important;
}
html.ds-ui body .modal-w .ds-terms-close-icon:hover {
  background:var(--ds-partner-action-hover)!important;
  border-color:var(--ds-partner-action-hover)!important;
  color:#fff!important;
}

/* Selected form controls and the two filter placements (desktop/body portal).
   Match the existing Header's specificity to retain readable labels. */
html.ds-ui.ds-partner-green-theme body #wrap #content .ds-profile-editor :is(
  .ds-phone-method input:checked:not(:disabled)+span,
  .ds-select-option.is-selected:not(:disabled):not([aria-disabled=true]),
  .ds-editor-basic .sex-block input:checked:not(:disabled)+label,
  .ds-editor-basic .sex-block label.is-selected:not(:has(input:disabled)),
  .ds-proam-role-options label:has(input:checked:not(:disabled)),
  .ds-inline-processing-confirm:not(:disabled)
),
html.ds-ui body .partners-advanced-search :is(
  .check-list.ds-class-filter input:checked:not(:disabled)+label,
  .ds-segmented-control input:checked:not(:disabled)+label,
  .ds-select-option[aria-selected=true]:not(:disabled):not([aria-disabled=true]),
  .ds-proam-choice button[aria-pressed=true]:not(:disabled)
),
html.ds-ui.ds-partner-green-theme body .partners-advanced-search form .ds-filter-actions-pair>.ds-filter-done:not(:disabled),
html.ds-ui.ds-partner-green-theme body #ds-ui-partner-filters.ds-partner-filter-portal form#ds-ui-filter-form .ds-filter-done:not(:disabled),
html.ds-ui body .ds-pe-options button[aria-pressed=true]:not(:disabled),
html.ds-ui body .ds-applicant-dialog [data-applicant-save]:not(:disabled),
html.ds-ui body #ds-partner-success-dialog .ds-success-continue:not(:disabled) {
  background:var(--ds-partner-action)!important;
  border-color:var(--ds-partner-action-border)!important;
  color:var(--ds-partner-on-action)!important;
}
html.ds-ui.ds-partner-green-theme body .partners-advanced-search form .ds-filter-actions-pair>.ds-filter-done:not(:disabled):hover,
html.ds-ui.ds-partner-green-theme body #ds-ui-partner-filters.ds-partner-filter-portal form#ds-ui-filter-form .ds-filter-done:not(:disabled):hover,
html.ds-ui body .ds-applicant-dialog [data-applicant-save]:not(:disabled):hover,
html.ds-ui body #ds-partner-success-dialog .ds-success-continue:not(:disabled):hover {
  background:var(--ds-partner-action-hover)!important;
  border-color:var(--ds-partner-action-hover)!important;
}
html.ds-ui.ds-partner-green-theme body #wrap #content .ds-profile-editor .ds-editor-progress-ring {
  background:conic-gradient(var(--ds-partner-action) var(--ds-progress,0deg),var(--ds-partner-soft-border) 0deg)!important;
}
html.ds-ui body #wrap #content .ds-profile-editor .ds-select-option.is-selected:not(:disabled):not([aria-disabled=true]) .ds-select-option-meta,
html.ds-ui body .partners-advanced-search .ds-select-option[aria-selected=true]:not(:disabled):not([aria-disabled=true]) .ds-select-option-meta {
  color:var(--ds-partner-on-action)!important;
}
html.ds-ui body #wrap #content .ds-profile-editor .ds-select-option.is-selected:not(:disabled):not([aria-disabled=true])::after,
html.ds-ui body .partners-advanced-search .ds-select-option[aria-selected=true]:not(:disabled):not([aria-disabled=true])::after {
  border-left-color:var(--ds-partner-on-action)!important;
  border-bottom-color:var(--ds-partner-on-action)!important;
}
html.ds-ui body .ds-applicant-dialog input:is([type=checkbox],[type=radio]):not(:disabled) {
  accent-color:var(--ds-partner-action)!important;
}
html.ds-ui body .ds-applicant-dialog :focus-visible,
html.ds-ui body #ds-partner-success-dialog .ds-success-continue:focus-visible {
  outline-color:var(--ds-partner-action-border)!important;
}
html.ds-ui body #ds-partner-success-dialog .ds-success-mark,
html.ds-ui body .ds-cabinet-preview-status,
html.ds-ui body .ds-cabinet-delete-dialog .ds-delete-alternative {
  background:var(--ds-partner-soft)!important;
  border-color:var(--ds-partner-soft-border)!important;
  color:var(--ds-partner-ink)!important;
}
html.ds-ui body #ds-partner-success-dialog .ds-success-mark {
  color:var(--ds-partner-action)!important;
}
html.ds-ui body .ds-cabinet-delete-dialog :is(.ds-delete-schedule-status,.ds-delete-countdown),
html.ds-ui body .modal-w .ds-terms-modal :is(h2,h3,a:not(.close-b)) {
  color:var(--ds-partner-ink)!important;
}

/* Dropdowns are split between their source field and a body popup. */
html.ds-ui body #wrap #content .ds-cabinet-dropdown-trigger:not(:disabled):not([aria-invalid=true]):is(:hover,[aria-expanded=true]) {
  border-color:var(--ds-partner-action-border)!important;
}
html.ds-ui body #wrap #content .ds-cabinet-dropdown-trigger[aria-expanded=true]:not(:disabled):not([aria-invalid=true]) {
  box-shadow:0 0 0 2px var(--ds-partner-soft-border)!important;
}
html.ds-ui body #wrap #content .ds-cabinet-dropdown-trigger:focus-visible,
html.ds-ui body .ds-cabinet-dropdown-popup .ds-cabinet-dropdown-search:focus {
  outline-color:var(--ds-partner-action-border)!important;
}
html.ds-ui body .ds-cabinet-dropdown-option:not([aria-disabled=true]):is(:hover,.is-active,[aria-selected=true]) {
  background:var(--ds-partner-soft)!important;
  color:var(--ds-partner-ink)!important;
}
html.ds-ui body .ds-cabinet-dropdown-option[aria-selected=true]:not([aria-disabled=true])::after {
  color:var(--ds-partner-action)!important;
}

/* Payment field feedback shares the palette; paid-feature orange is separate. */
html.ds-ui body #wrap #content .ds-live-shop :is(.ds-shop-fields input:focus,.ds-shop-fields select:focus,.ds-shop-time-control:focus-within) {
  border-color:var(--ds-partner-action-border)!important;
  box-shadow:0 0 0 2px var(--ds-partner-soft)!important;
}
html.ds-ui body #wrap #content .ds-live-shop .ds-shop-notice:not(.ds-shop-error) {
  border-left-color:var(--ds-partner-action)!important;
}
html.ds-ui body #wrap #content .ds-live-shop .ds-shop-badge.good {
  color:var(--ds-partner-ink)!important;
  border-color:var(--ds-partner-soft-border)!important;
}
html.ds-ui body #wrap #content .ds-live-shop .ds-shop-steps .current {
  color:var(--ds-partner-ink)!important;
}

/* Authentication owns a blue theme. Older route styles overrode that theme;
   explicitly preserve it when the auth component declares data-section=news. */
html.ds-ui.ds-partner-green-theme body #ds-auth-root[data-section=news] {
  --contour:#4ca3db;
  --tint:#edf6fb;
  --action:#176798;
  --action-hover:#10527c;
}
html.ds-ui.ds-partner-green-theme body #ds-auth-root[data-section=news] .primary:not(:disabled):not([aria-disabled=true]) {
  background:var(--action);
  border-color:var(--action);
  color:#fff;
}
html.ds-ui.ds-partner-green-theme body #ds-auth-root[data-section=news] .primary:not(:disabled):not([aria-disabled=true]):hover {
  background:var(--action-hover);
  border-color:var(--action-hover);
}
html.ds-ui.ds-partner-green-theme body #ds-auth-root[data-section=news] .secondary:not(:disabled):not([aria-disabled=true]) {
  background:var(--tint);
  border-color:var(--contour);
  color:var(--action);
}
html.ds-ui.ds-partner-green-theme body #ds-auth-root[data-section=news] :is(.text-action,.consent a) {
  color:var(--action);
}
