/* MFN WCAG + UI normalization layer — loaded after module styles. */
.mfn-skip-link{position:fixed!important;left:14px!important;top:-120px!important;z-index:2147483000!important;transform:none!important;padding:12px 16px;border:2px solid #FFF200;border-radius:8px;background:#05070A;color:#FFFFFF!important;font:800 14px/1.2 Montserrat,Arial,sans-serif;text-decoration:none!important;box-shadow:0 8px 28px rgba(0,0,0,.45);transition:top .12s ease!important}
.mfn-skip-link:focus,.mfn-skip-link:focus-visible{top:14px!important;transform:none!important;outline:3px solid #6FCCDD!important;outline-offset:3px}

:where(a,button,input,select,textarea,summary,[role="button"],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--mfn-color-focus,#FFF200)!important;outline-offset:3px!important;box-shadow:0 0 0 2px var(--mfn-color-bg,#0B1017)!important}
:where(button,input[type="button"],input[type="submit"],input[type="reset"],.elementor-button,.um-button,.mfn-ws-btn,.mfn-wc-inline-btn,.mfncp-button,.button){min-height:44px}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:max(16px,1em)}
:where(input,select,textarea,button){max-width:100%}
:where(p,li,dd,dt,label,small,.elementor-widget-text-editor,.mfn-wc-panel,.mfncp-detail){overflow-wrap:anywhere}
:where(img,video,canvas,svg){max-width:100%}
:where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:96px}

/* Links inside prose must remain identifiable without color alone. */
:where(main,#content,.site-main,.elementor-location-single,.mfn-ws-main,.mfncp-detail) :where(p,li,dd) a:not(.elementor-button):not(.button):not([class*="btn"]){text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.16em}
:where(main,#content,.site-main,.elementor-location-single,.mfn-ws-main,.mfncp-detail) :where(p,li,dd) a:hover{text-decoration-thickness:.14em}

/* Forms: strong boundaries and readable disabled/placeholder states. */
:where(.mfn-ws-shell,.mfn-wc-panel,.mfncp-request-wrap,.mfncp-account-settings,.um,.woocommerce) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){border-color:var(--mfn-color-border,#667689)!important}
:where(.mfn-ws-shell,.mfn-wc-panel,.mfncp-request-wrap,.mfncp-account-settings,.um,.woocommerce) :where(input,textarea)::placeholder{color:var(--mfn-color-text-tertiary,#AEB9C6)!important;opacity:1}
:where(.mfn-ws-shell,.mfn-wc-panel,.mfncp-request-wrap,.mfncp-account-settings,.um,.woocommerce) :where(button,input,select,textarea):disabled{color:var(--mfn-color-disabled,#9AA6B4)!important;opacity:1!important;cursor:not-allowed}
:where(.mfn-ws-shell,.mfn-wc-panel,.mfncp-request-wrap,.mfncp-account-settings) :where(fieldset){min-width:0}

/* Workspace / portal token normalization. */
:where(.mfn-ws-shell,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal,.mfncp-request-wrap){--mfn-a11y-border:var(--mfn-color-border,#667689);--mfncp-control-border:var(--mfn-color-border,#667689);--mfn-a11y-magenta:var(--mfn-color-magenta,#CB60B2)}
:where(.mfn-ws-shell,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal,.mfncp-request-wrap) :where(.mfn-wc-kicker,.eyebrow,.mfncp-kicker,.mfn-suite-kicker){color:var(--mfn-color-cyan,#6FCCDD)!important}

html[data-mfn-theme="light"] body{background:var(--mfn-color-bg,#F3F5F7)!important;color:var(--mfn-color-text,#17212B)!important}
html[data-mfn-theme="light"] :where(.elementor,.elementor-location-single,.site-main,#content,.mfn-ws-shell,.mfn-ws-main,body.mfn-wc-legacy-surface){color:var(--mfn-color-text,#17212B)}
html[data-mfn-theme="light"] :where(.mfn-ws-shell,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal,.mfncp-request-wrap,.mfncp-account-settings) :where(p,li,dd,small,.muted,.meta,.mfn-wc-field-help,.mfncp-help){color:var(--mfn-color-text-secondary,#4C5C6E)}
html[data-mfn-theme="light"] :where(.mfn-ws-shell,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal,.mfncp-request-wrap) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){background:#FFFFFF!important;color:#17212B!important;border-color:#6C7D90!important}
html[data-mfn-theme="light"] :where(.mfn-ws-shell,.mfn-wc-panel,.mfncp-workflow-front,.mfn-suite-project-modal,.mfncp-request-wrap) :where(input,textarea)::placeholder{color:#56677A!important}
html[data-mfn-theme="light"] :where(.mfn-ws-btn,.mfn-wc-inline-btn,.mfn-wc-link,.mfn-wc-dash-action,.mfn-wc-role-links a,.mfn-wc-notification-button,.mfncp-button,.button):not(.primary):not(.is-primary):not(.button-primary):not(.is-danger):not(.danger){background:#FFFFFF!important;border-color:#6C7D90!important;color:#263647!important}
html[data-mfn-theme="light"] :where(.mfn-ws-btn,.mfn-wc-inline-btn,.mfn-wc-link,.mfn-wc-dash-action,.mfn-wc-role-links a,.mfn-wc-notification-button,.mfncp-button,.button):not(.primary):not(.is-primary):not(.button-primary):not(.is-danger):not(.danger):hover{background:#E7EDF2!important;border-color:#066C7C!important;color:#17212B!important}
html[data-mfn-theme="light"] :where(.mfn-wc-theme-toggle,.mfn-wc-calendar-actions button,.mfn-wc-mail-reader-head button,.mfn-wc-connection-btn:not(.primary):not(.danger),.mfn-wc-resource-jump button,.mfn-wc-resource-actions a,.mfn-wc-resource-actions button,.mfn-suite-project-modal__close,.mfn-suite-intake-dialog__close,.mfncp-file-disclosure>summary::after){border-color:#6C7D90!important}
html[data-mfn-theme="light"] :where(.mfn-wc-connection-icon,.mfn-wc-resource-file-icon,.mfncp-download-all,.mfn-suite-admin-phase__actions .is-secondary,.mfncp-drive-file-mark,.mfncp-drive-badge){color:#066C7C!important;border-color:#066C7C!important}
html[data-mfn-theme="light"] :where(.mfn-wc-theme-toggle,.mfn-wc-source-nav-tab:hover,.mfn-wc-calendar-actions button:hover,.mfn-wc-connection-btn:hover,.mfncp-button:hover){border-color:#066C7C!important}
html[data-mfn-theme="light"] :where(.mfn-wc-pill.is-deadline,.mfn-wc-load-counts span.hot,.mfncp-batch-badge,.mfn-suite-management-card__batch,.mfn-suite-project-card-v2__batch){color:#8C246F!important;border-color:#8C246F!important}
html[data-mfn-theme="light"] :where(.mfn-suite-project-complete-form button:disabled){color:#607085!important;border-color:#6C7D90!important;background:#E1E6EB!important}
html[data-mfn-theme="light"] :where(.mfn-suite-admin-phase,.mfn-suite-project-completion,.mfn-wc-connection-card,.mfn-wc-member,.mfn-wc-mail-layout,.mfn-wc-calendar-month,.mfn-wc-calendar-agenda,.mfn-wc-resource-shell,.mfn-wc-drive-library){border-color:#6C7D90!important}

/* Dark mode: strengthen the handful of boundaries that were below 3:1. */
html:not([data-mfn-theme="light"]) :where(.mfn-ws-shell,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal,.mfncp-request-wrap) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,button,.button,summary){border-color:var(--mfn-color-border,#667689)}

/* Public site: keep MFN accents but use AA-safe variants for small text. */
:where(body.mfn-public-home,body.mfn-public-client-work,body.mfn-public-portfolio,body.mfn-public-resources,body.mfn-field-notes-index,body.mfn-field-note-story,body.mfn-field-notes-archive,body.mfn-public-register,body.mfn-public-password-reset,body.mfn-public-login,body.mfn-public-my-account,body.mfn-public-new-job) :where(.elementor-widget-text-editor,.elementor-widget-heading){--mfn-public-cyan:#6FCCDD;--mfn-public-magenta:#CB60B2;--mfn-public-yellow:#FFF200}
:where(body.mfn-public-home,body.mfn-public-client-work,body.mfn-public-portfolio,body.mfn-public-resources,body.mfn-field-notes-index,body.mfn-field-note-story,body.mfn-field-notes-archive) :where(a:not(.elementor-button)){text-underline-offset:.16em}

/* Better touch ergonomics without making ordinary prose links huge. */
@media(max-width:767px){
  :where(.elementor-button,.um-button,button,input[type="submit"],input[type="button"],.mfn-ws-btn,.mfn-wc-inline-btn,.mfncp-button,.button,[role="button"]){min-height:44px;min-width:44px}
  :where(.mfn-ws-main,.mfn-wc-panel,.mfncp-detail,.mfncp-request-wrap){min-width:0}
  :where(.mfn-wc-detail-actions,.mfncp-card-actions,.mfncp-batch-project__actions,.mfncp-deliverable-actions,.mfncp-admin-file-actions){gap:10px!important}
  :where(.mfn-wc-detail-actions,.mfncp-card-actions,.mfncp-batch-project__actions,.mfncp-deliverable-actions,.mfncp-admin-file-actions)>*{max-width:100%}
}

/* Reduced motion is a user preference, not an aesthetic option. */
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .swiper-wrapper{transition-duration:.01ms!important}
}

@media(forced-colors:active){
  :where(a,button,input,select,textarea,summary,[role="button"]):focus-visible{outline:2px solid Highlight!important;box-shadow:none!important}
  :where(button,.button,.elementor-button,input,select,textarea,summary){border:1px solid ButtonText!important}
}

/* 1.1.70 explicit light-mode module reset: these selectors intentionally win
   over older module hard-codes and make the whole app read as one theme. */
html[data-mfn-theme="light"] .mfn-wc-team-metrics>div,
html[data-mfn-theme="light"] .mfn-wc-member,
html[data-mfn-theme="light"] .mfn-wc-member-summary,
html[data-mfn-theme="light"] .mfn-wc-calendar-month,
html[data-mfn-theme="light"] .mfn-wc-calendar-agenda,
html[data-mfn-theme="light"] .mfn-wc-mail-client,
html[data-mfn-theme="light"] .mfn-wc-mail-list,
html[data-mfn-theme="light"] .mfn-wc-mail-reader,
html[data-mfn-theme="light"] .mfn-wc-mail-attachments,
html[data-mfn-theme="light"] .mfn-wc-connected-accounts,
html[data-mfn-theme="light"] .mfn-wc-connection-card,
html[data-mfn-theme="light"] .mfn-wc-connection-setup,
html[data-mfn-theme="light"] .mfn-wc-resource-controls,
html[data-mfn-theme="light"] .mfn-wc-resource-card,
html[data-mfn-theme="light"] .mfn-wc-resource-editor,
html[data-mfn-theme="light"] .mfn-wc-drive-library,
html[data-mfn-theme="light"] .mfn-suite-project-modal__panel,
html[data-mfn-theme="light"] .mfn-suite-admin-phase,
html[data-mfn-theme="light"] .mfn-suite-completion-review,
html[data-mfn-theme="light"] .mfncp-file-disclosure,
html[data-mfn-theme="light"] .mfncp-workflow-upload-box,
html[data-mfn-theme="light"] .mfncp-production-panel,
html[data-mfn-theme="light"] .mfncp-production-card{background:#FFFFFF!important;background-image:none!important;color:#17212B!important;border-color:#6C7D90!important}
html[data-mfn-theme="light"] .mfn-wc-mail-rail{background:#E7EDF2!important;color:#17212B!important;border-color:#6C7D90!important}
html[data-mfn-theme="light"] .mfn-wc-cal-day{background:#FFFFFF!important;color:#17212B!important;border-color:#A9B4C0!important}
html[data-mfn-theme="light"] .mfn-wc-cal-day.is-outside{background:#E7EDF2!important;opacity:1!important}
html[data-mfn-theme="light"] .mfn-wc-cal-daynum,
html[data-mfn-theme="light"] .mfn-wc-cal-dow,
html[data-mfn-theme="light"] .mfn-wc-cal-more{color:#56677A!important}
html[data-mfn-theme="light"] .mfn-wc-cal-event{background:#E7EDF2!important;color:#17212B!important}
html[data-mfn-theme="light"] .mfn-wc-resource-preview{background:#E7EDF2!important;border-color:#6C7D90!important}
html[data-mfn-theme="light"] .mfn-wc-resource-storage-line{background:#F3F5F7!important;border-color:#6C7D90!important}
html[data-mfn-theme="light"] .mfn-wc-connection-title strong,
html[data-mfn-theme="light"] .mfn-wc-connection-setup-head h3,
html[data-mfn-theme="light"] .mfn-wc-member-person strong,
html[data-mfn-theme="light"] .mfn-wc-mail-identity strong,
html[data-mfn-theme="light"] .mfn-wc-mail-list-head strong,
html[data-mfn-theme="light"] .mfn-wc-mail-message-top strong,
html[data-mfn-theme="light"] .mfn-wc-mail-empty-reader strong{color:#17212B!important}
html[data-mfn-theme="light"] .mfn-wc-connection-copy p,
html[data-mfn-theme="light"] .mfn-wc-connection-copy small,
html[data-mfn-theme="light"] .mfn-wc-member-person small,
html[data-mfn-theme="light"] .mfn-wc-mail-identity span,
html[data-mfn-theme="light"] .mfn-wc-mail-address,
html[data-mfn-theme="light"] .mfn-wc-mail-empty-reader{color:#4C5C6E!important}

/* Workspace shell spacing/reflow baseline. */
:where(.mfn-ws-shell,.mfn-ws-main,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal__panel) *{box-sizing:border-box}
:where(.mfn-ws-shell,.mfn-ws-main,.mfn-wc-panel,.mfn-wc-role-home,.mfn-wc-staff-dashboard,.mfncp-workflow-front,.mfn-suite-project-modal__panel)>*{min-width:0}
@media(max-width:900px){
  :where(.mfn-wc-calendar-layout,.mfn-wc-mail-client,.mfn-wc-connection-grid,.mfn-wc-dashboard-columns,.mfncp-batch-builder__intro){min-width:0}
}


/* 1.2.49 — Client Portal header scale. The Elementor page headers share the
   semantic portal nav, so keep branding compact across Overview/Projects/Calendar/Account. */
body:has(.mfn-portal-nav) header .elementor-widget-image:has(img[alt="Made From Nothing Graphics"]){
  width:168px;
  max-width:168px;
  flex:0 0 168px;
}
body:has(.mfn-portal-nav) header img[alt="Made From Nothing Graphics"]{
  display:block;
  width:100%;
  max-width:168px;
  height:auto;
}
@media (max-width:767px){
  body:has(.mfn-portal-nav) header .elementor-widget-image:has(img[alt="Made From Nothing Graphics"]){width:148px;max-width:148px;flex-basis:148px}
  body:has(.mfn-portal-nav) header img[alt="Made From Nothing Graphics"]{max-width:148px}
}

/* 1.2.50 — Client Portal compatibility lock for the live Elementor shells.
   Elementor page-level sizing/color rules are intentionally out-specificed here until
   the staging bridge is validated for Elementor Core 4.2.4 and those legacy overrides
   can be removed at the page level. */
body .elementor-element.elementor-element-cpovlogo,
body .elementor-element.elementor-element-cppjlogo,
body .elementor-element.elementor-element-cpcallogo,
body .elementor-element.elementor-element-cpaclogo{
  width:150px!important;
  max-width:150px!important;
  flex:0 0 150px!important;
  --container-widget-width:150px!important;
  --container-widget-flex-grow:0!important;
}
body .elementor-element.elementor-element-cpovlogo img,
body .elementor-element.elementor-element-cppjlogo img,
body .elementor-element.elementor-element-cpcallogo img,
body .elementor-element.elementor-element-cpaclogo img{
  display:block!important;
  width:150px!important;
  max-width:150px!important;
  height:auto!important;
}

/* Client Projects detail lives inside this specific Elementor container. These rules
   deliberately outrank the older cppjdashboard WCAG overrides that still force a light
   text palette onto the dark Suite project surface. */
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container{
  color:#EEF3F8!important;
}
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container :is(h1,h2,h3,h4,h5,h6,legend),
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-section-heading h3,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-client-review-hub__content h3,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-project-person>strong,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-proof-card strong,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-revision-request strong{
  color:#F7F8FA!important;
}
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container :is(p,li,dd,dt,label),
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-content,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-access-note,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-viewer-access-note p,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-client-review-hub__content p,
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-revision-request p{
  color:#D8E2EC!important;
}
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container :is(small,.mfncp-muted,.mfncp-meta,.mfncp-retention-note,.mfncp-proof-size,.mfncp-proof-view-only,.mfncp-due),
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-project-person.is-empty small{
  color:#A7B6C7!important;
}
body .elementor-element.elementor-element-cppjdashboard .mfncp-detail .mfncp-project-container .mfncp-project-person.is-empty>strong{
  color:#D8E2EC!important;
}

@media(max-width:767px){
  body .elementor-element.elementor-element-cpovlogo,
  body .elementor-element.elementor-element-cppjlogo,
  body .elementor-element.elementor-element-cpcallogo,
  body .elementor-element.elementor-element-cpaclogo{
    width:132px!important;
    max-width:132px!important;
    flex-basis:132px!important;
    --container-widget-width:132px!important;
  }
  body .elementor-element.elementor-element-cpovlogo img,
  body .elementor-element.elementor-element-cppjlogo img,
  body .elementor-element.elementor-element-cpcallogo img,
  body .elementor-element.elementor-element-cpaclogo img{
    width:132px!important;
    max-width:132px!important;
  }
}
