/*
 * NOUN Student Portal 6.9.1 — comprehensive private-workspace contrast boundary.
 * Loaded after wp_head() so Theme 17.x, cache/minify output and broad WordPress
 * selectors cannot repaint the authenticated Student Workspace. Component-aware:
 * normal surfaces, inverse/gradient surfaces, controls, states, hover/focus and
 * disabled states keep explicit WCAG 2.2 AA foreground/background pairs.
 */
html[data-theme="light"] body.nsp-private-workspace #nsp-app.nsp{
  --nsp691-page:#f3f7f5;
  --nsp691-surface:#ffffff;
  --nsp691-surface-alt:#edf4f0;
  --nsp691-surface-hover:#e4efe9;
  --nsp691-heading:#10231c;
  --nsp691-body:#263a32;
  --nsp691-muted:#52645d;
  --nsp691-link:#075f42;
  --nsp691-link-hover:#044a34;
  --nsp691-border:#71867c;
  --nsp691-border-soft:#c4d1ca;
  --nsp691-primary:#07583f;
  --nsp691-primary-hover:#054833;
  --nsp691-focus:#1769aa;
  --nsp691-disabled-bg:#e2eae6;
  --nsp691-disabled-fg:#4b5e56;
  --nsp691-success-bg:#e6f5ec;
  --nsp691-success-fg:#07583f;
  --nsp691-warning-bg:#fff2cf;
  --nsp691-warning-fg:#714400;
  --nsp691-danger-bg:#fde8ea;
  --nsp691-danger-fg:#901c25;
  --nsp691-info-bg:#e6f1fa;
  --nsp691-info-fg:#0b4f83;
  --nsp691-shadow:0 10px 30px rgba(16,35,28,.09);
  color-scheme:light;
}
html[data-theme="dark"] body.nsp-private-workspace #nsp-app.nsp{
  --nsp691-page:#07110e;
  --nsp691-surface:#0e1b17;
  --nsp691-surface-alt:#13231d;
  --nsp691-surface-hover:#1a3028;
  --nsp691-heading:#f4fbf7;
  --nsp691-body:#d8e6df;
  --nsp691-muted:#a8bdb3;
  --nsp691-link:#79e7b1;
  --nsp691-link-hover:#a4f2ca;
  --nsp691-border:#536f63;
  --nsp691-border-soft:#334c42;
  --nsp691-primary:#0a6849;
  --nsp691-primary-hover:#0d7955;
  --nsp691-focus:#7bc7ff;
  --nsp691-disabled-bg:#263a32;
  --nsp691-disabled-fg:#b9c9c1;
  --nsp691-success-bg:#133527;
  --nsp691-success-fg:#8de3b3;
  --nsp691-warning-bg:#3b2b0f;
  --nsp691-warning-fg:#ffd078;
  --nsp691-danger-bg:#3c171b;
  --nsp691-danger-fg:#ffabb0;
  --nsp691-info-bg:#102d42;
  --nsp691-info-fg:#9bd3ff;
  --nsp691-shadow:0 16px 38px rgba(0,0,0,.34);
  color-scheme:dark;
}

/* Application boundary. The body class and #nsp-app ID deliberately outrank
   Theme 17.x rules such as html[data-theme=dark] .nsp h1/p/button. */
html[data-theme] body.nsp-private-workspace{
  background:var(--nsp691-page)!important;
  color:var(--nsp691-body)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-workspace-column,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-main,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-page{
  color:var(--nsp691-body)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-workspace-column,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-main,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-page{
  background-color:var(--nsp691-page)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace *,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace *::before,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace *::after{
  -webkit-text-fill-color:currentColor!important;
}

/* Typography. :where() keeps these defaults weaker than the component rules
   later in this file while #nsp-app keeps them stronger than theme CSS. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(h1,h2,h3,h4,h5,h6,legend,summary,dt,strong,b){
  color:var(--nsp691-heading)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(p,li,dd,figcaption,caption,address,blockquote){
  color:var(--nsp691-body)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(small,.nsw-muted,.nsp-muted,.nsp-desc,.nsp-page-hdr p,.nsw-feedback-help,.nsw-feedback-field-meta){
  color:var(--nsp691-muted)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(label){color:var(--nsp691-body)!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(button,[role="button"]){color:var(--nsp691-body)!important;-webkit-text-fill-color:var(--nsp691-body)!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(.nsw-eyebrow,.nsp6-kicker){color:var(--nsp691-link)!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(a){
  color:var(--nsp691-link)!important;
  text-decoration-color:currentColor!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(a:hover,a:focus-visible){color:var(--nsp691-link-hover)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :where(svg){color:inherit}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace ::selection{background:var(--nsp691-link)!important;color:#fff!important}

/* Normal surfaces. Intentional inverse components are restored in their own
   section and therefore never become white-on-white again. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-panel,.nsp-card,.nsp-ov-card,.nsw-action-item,.nsw-service-card,
  .nsw-service-mini-card,.nsw-order-card,.nsw-account-card,.nsw-tool-card,
  .nsw-study-feature,.nsw-empty-state,.nsw-no-service-results,.nsw-no-order-results,
  .nsw-delivery-list article,.nsw-library-list article,.nsw-notification-panel,
  .nsw-recent-services,.nsw-feedback-card,.nsw-feedback-form,.nsw-order-panel-card,
  .nsw-order-detail-hero,.nsw-payment-card,.nsw-revision-card,.nsw-order-soft-empty,
  .nsp-user-menu,.nsp-search-dd,.nsp-ss-dropdown,.nsp6-recommendations,
  .nsp6-rec-card,.nsp6-order-card,.nsp6-order-toolbar,.nsp6-order-stats>div,
  .nsp-store-card,.nsp-bp-card,.nsp-hub-cat-panel,.nsp-hub-item,.nsp-tool-card,
  .nsp-tool-card2,.nsp-ett-form-card,.nsp-ett-icard,.nsp-ett-info-card,
  .nsp-ett-svc-card,.nsp-fc-table-wrap,.nsp-tt-course-item,.nsp-checkout-panel,
  .nsp-share-account-card,.nsp-reset-panel,.nsp-v62-selection,.nsp-v62-order-form,
  .nsp-v62-login-card,.nsp-v62-no-results,.nsp-svc-pagecard,.nsp-svc-order,
  .nsp-tma-d-card,.nsp-tma-service-card,.nsp-tmasvc-order
){
  background-color:var(--nsp691-surface)!important;
  border-color:var(--nsp691-border-soft)!important;
  color:var(--nsp691-body)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-panel,.nsw-service-card,.nsw-service-mini-card,.nsw-order-card,
  .nsw-account-card,.nsw-tool-card,.nsw-study-feature,.nsw-notification-panel,
  .nsw-recent-services,.nsw-feedback-card,.nsw-order-panel-card,.nsp-card,
  .nsp-ov-card,.nsp6-recommendations,.nsp6-rec-card,.nsp6-order-card,
  .nsp-store-card,.nsp-bp-card,.nsp-checkout-panel
){box-shadow:var(--nsp691-shadow)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-action-icon,.nsw-card-icon,.nsw-tool-card>span,.nsw-library-icon,
  .nsw-delivery-icon,.nsw-small-avatar,.nsp6-rec-icon,.nsw-practice-icon,
  .nsw-path-grid>button>span
){background:var(--nsp691-surface-alt)!important;color:var(--nsp691-link)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(hr,.nsw-card-footer,.nsw-order-card-footer,.nsw-notification-head){border-color:var(--nsp691-border-soft)!important}

/* Keep semantic action-card backgrounds instead of flattening every state. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-action-item.is-warning{background:var(--nsp691-warning-bg)!important;border-color:var(--nsp691-warning-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-action-item.is-attention{background:var(--nsp691-danger-bg)!important;border-color:var(--nsp691-danger-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-action-item.is-success{background:var(--nsp691-success-bg)!important;border-color:var(--nsp691-success-fg)!important}

/* Forms, search, browser autofill and dropdown options. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,
  .nsw-global-search,.nsw-service-search,.nsw-order-search,.nsp-svc-input,
  .nsp-v62-order-form .nsp-svc-input
){
  background-color:var(--nsp691-surface)!important;
  border-color:var(--nsp691-border)!important;
  color:var(--nsp691-heading)!important;
  -webkit-text-fill-color:var(--nsp691-heading)!important;
  caret-color:var(--nsp691-heading)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(input,textarea)::placeholder{color:var(--nsp691-muted)!important;-webkit-text-fill-color:var(--nsp691-muted)!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(option,optgroup){background:var(--nsp691-surface)!important;color:var(--nsp691-heading)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace input:-webkit-autofill,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace input:-webkit-autofill:hover,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--nsp691-heading)!important;
  -webkit-box-shadow:0 0 0 1000px var(--nsp691-surface) inset!important;
  caret-color:var(--nsp691-heading)!important;
}

/* Primary controls. The descendant rule prevents global strong/span/link rules
   from repainting button labels or icons. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-primary-button,.nsp-btn-primary,.nsp-submit,.nsp6-primary-action,
  .nsw-action-button,.nsw-card-footer button,.nsw-card-footer a,
  .nsw-order-tabs button.is-active,.nsw-service-tabs button.is-active,
  .nsw-study-tabs button.is-active,.nsp6-order-filters button.is-active,
  .nsw-library-list article button,.nsw-delivery-list article button,
  .nsp-v62-primary,.nsp-v62-order-form .nsp-svc-btn,.nsp-v62-order-form .nsp-svc-pay,
  .nsp-tma-cta-primary,.nsp-tma-submit-btn
){
  background:var(--nsp691-primary)!important;
  border-color:var(--nsp691-primary)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-decoration:none!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-primary-button,.nsp-btn-primary,.nsp-submit,.nsp6-primary-action,
  .nsw-action-button,.nsw-card-footer button,.nsw-card-footer a,
  .nsw-order-tabs button.is-active,.nsw-service-tabs button.is-active,
  .nsw-study-tabs button.is-active,.nsp6-order-filters button.is-active,
  .nsw-library-list article button,.nsw-delivery-list article button,
  .nsp-v62-primary,.nsp-v62-order-form .nsp-svc-btn,.nsp-v62-order-form .nsp-svc-pay,
  .nsp-tma-cta-primary,.nsp-tma-submit-btn
) :where(span,strong,b,small,svg){color:#fff!important;-webkit-text-fill-color:#fff!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-primary-button,.nsp-btn-primary,.nsp-submit,.nsp6-primary-action,
  .nsw-action-button,.nsw-card-footer button,.nsw-card-footer a,
  .nsw-library-list article button,.nsw-delivery-list article button,
  .nsp-v62-primary,.nsp-v62-order-form .nsp-svc-btn,.nsp-v62-order-form .nsp-svc-pay,
  .nsp-tma-cta-primary,.nsp-tma-submit-btn
):hover{
  background:var(--nsp691-primary-hover)!important;
  border-color:var(--nsp691-primary-hover)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Secondary, icon, text and card controls. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-secondary-button,.nsw-icon-button,.nsw-mobile-search-button,
  .nsw-mobile-search-close,.nsp-theme-btn,.nsp-user-btn,
  .nsp-btn:not(.nsp-btn-primary),.nsp6-new-order,.nsp6-order-meta button,
  .nsp6-order-empty button,.nsw-notification-head button,.nsw-order-back,
  .nsw-order-inline-actions button,.nsp-v62-secondary
){
  background:var(--nsp691-surface)!important;
  border-color:var(--nsp691-border)!important;
  color:var(--nsp691-link)!important;
  -webkit-text-fill-color:var(--nsp691-link)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-secondary-button,.nsw-icon-button,.nsw-mobile-search-button,
  .nsw-mobile-search-close,.nsp-theme-btn,.nsp-user-btn,
  .nsp-btn:not(.nsp-btn-primary),.nsp6-new-order,.nsp6-order-meta button,
  .nsp6-order-empty button,.nsw-notification-head button,.nsw-order-back,
  .nsw-order-inline-actions button,.nsp-v62-secondary
):hover{
  background:var(--nsp691-surface-hover)!important;
  border-color:var(--nsp691-link)!important;
  color:var(--nsp691-link-hover)!important;
  -webkit-text-fill-color:var(--nsp691-link-hover)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-link-button,.nsp6-text-button,.nsw-back-link,.nsw-legacy-back button){
  background:transparent!important;
  border-color:transparent!important;
  color:var(--nsp691-link)!important;
  -webkit-text-fill-color:var(--nsp691-link)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-link-button,.nsp6-text-button,.nsw-back-link,.nsw-legacy-back button):hover{
  background:var(--nsp691-surface-alt)!important;
  color:var(--nsp691-link-hover)!important;
  -webkit-text-fill-color:var(--nsp691-link-hover)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-tool-card,.nsw-path-grid>button,.nsw-recent-service-list>a){
  background:var(--nsp691-surface)!important;
  border-color:var(--nsp691-border-soft)!important;
  color:var(--nsp691-body)!important;
  -webkit-text-fill-color:var(--nsp691-body)!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-tool-card,.nsw-path-grid>button,.nsw-recent-service-list>a):hover{
  background:var(--nsp691-surface-hover)!important;
  border-color:var(--nsp691-link)!important;
  color:var(--nsp691-heading)!important;
  -webkit-text-fill-color:var(--nsp691-heading)!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-order-tabs,.nsw-service-tabs,.nsw-study-tabs){background:var(--nsp691-surface)!important;border-color:var(--nsp691-border-soft)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-order-tabs,.nsw-service-tabs,.nsw-study-tabs) button:not(.is-active){background:transparent!important;color:var(--nsp691-muted)!important;-webkit-text-fill-color:var(--nsp691-muted)!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-order-tabs,.nsw-service-tabs,.nsw-study-tabs) button:not(.is-active):hover{background:var(--nsp691-surface-alt)!important;color:var(--nsp691-heading)!important;-webkit-text-fill-color:var(--nsp691-heading)!important}

/* Disabled controls remain visibly disabled without low-opacity text. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]){
  background:var(--nsp691-disabled-bg)!important;
  border-color:var(--nsp691-border)!important;
  color:var(--nsp691-disabled-fg)!important;
  -webkit-text-fill-color:var(--nsp691-disabled-fg)!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(button:disabled,[aria-disabled="true"]) :where(span,strong,b,small,svg){color:var(--nsp691-disabled-fg)!important;-webkit-text-fill-color:var(--nsp691-disabled-fg)!important}

/* Statuses, badges and feedback. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-status.is-success,.nsw-status.is-completed,.nsp6-order-status.is-completed,.nsw-feedback-saved){background:var(--nsp691-success-bg)!important;color:var(--nsp691-success-fg)!important;border-color:var(--nsp691-success-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-status.is-warning,.nsp6-order-status.is-payment){background:var(--nsp691-warning-bg)!important;color:var(--nsp691-warning-fg)!important;border-color:var(--nsp691-warning-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-status.is-error,.nsp6-order-status.is-cancelled,.nsw-danger-link){background:var(--nsp691-danger-bg)!important;color:var(--nsp691-danger-fg)!important;border-color:var(--nsp691-danger-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-status.is-info,.nsp6-order-status.is-active){background:var(--nsp691-info-bg)!important;color:var(--nsp691-info-fg)!important;border-color:var(--nsp691-info-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-status,.nsp6-order-status,.nsw-reason,.nsw-count-badge){opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-reason{background:var(--nsp691-success-bg)!important;color:var(--nsp691-success-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-count-badge{background:var(--nsp691-success-bg)!important;color:var(--nsp691-success-fg)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-notification-dot{background:#a71924!important;color:#fff!important;border-color:var(--nsp691-surface)!important;-webkit-text-fill-color:#fff!important}

/* Tables and list rows. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(table,.nsp-table,.nsp-tt-grid,.nsp-acal-table){background:var(--nsp691-surface)!important;color:var(--nsp691-body)!important;border-color:var(--nsp691-border)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(th,.nsp-table th,.nsp-tt-grid th){background:var(--nsp691-surface-alt)!important;color:var(--nsp691-heading)!important;border-color:var(--nsp691-border)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(td,.nsp-table td,.nsp-tt-grid td){background:var(--nsp691-surface)!important;color:var(--nsp691-body)!important;border-color:var(--nsp691-border-soft)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace tbody tr:nth-child(even) td{background:var(--nsp691-surface-alt)!important}

/* Header, user menu, notification rows and mobile navigation. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-topbar{background:var(--nsp691-surface)!important;border-color:var(--nsp691-border-soft)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsp-hdr-title,.nsp-user-name,.nsp-user-chevron,.nsp-um-name,.nsp-um-email){color:var(--nsp691-heading)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-notification-list>:is(button,a){background:transparent!important;color:var(--nsp691-body)!important;-webkit-text-fill-color:var(--nsp691-body)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-notification-list>:is(button,a):hover{background:var(--nsp691-surface-hover)!important;color:var(--nsp691-heading)!important;-webkit-text-fill-color:var(--nsp691-heading)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-mobile-nav{background:var(--nsp691-surface)!important;border-color:var(--nsp691-border-soft)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-mobile-nav .nsp-mob-tab{background:transparent!important;color:var(--nsp691-muted)!important;-webkit-text-fill-color:var(--nsp691-muted)!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-mobile-nav .nsp-mob-tab:hover{background:var(--nsp691-surface-alt)!important;color:var(--nsp691-heading)!important;-webkit-text-fill-color:var(--nsp691-heading)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-mobile-nav .nsp-mob-tab.active{color:var(--nsp691-link)!important;-webkit-text-fill-color:var(--nsp691-link)!important}

/* Intentional inverse/gradient areas. Explicitly restore both background and
   foreground so surface isolation can never produce white-on-white cards. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-sidebar{background:linear-gradient(180deg,#0d2b22 0%,#10251f 62%,#0c211a 100%)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-continue-card{background:linear-gradient(135deg,#142331,#1f3d47)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-problem-prompt{background:linear-gradient(135deg,#142331,#264a50)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-support-card{background:linear-gradient(135deg,#086a45,#0b8960)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-practice-hero{background:linear-gradient(135deg,#086a45,#0b8d61)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-study-feature:first-child{background:linear-gradient(135deg,#142331,#1f4248)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp6-tma-callout{background:linear-gradient(135deg,#142b09,#1d430a)!important;border-color:transparent!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-welcome{background:linear-gradient(135deg,#052e16 0%,#064e3b 50%,#059669 100%)!important;color:#f7fffb!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-sidebar,.nsw-continue-card,.nsw-problem-prompt,.nsw-support-card,
  .nsw-practice-hero,.nsw-study-feature:first-child,.nsp6-tma-callout,.nsp-welcome
),
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-sidebar,.nsw-continue-card,.nsw-problem-prompt,.nsw-support-card,
  .nsw-practice-hero,.nsw-study-feature:first-child,.nsp6-tma-callout,.nsp-welcome
) :where(h1,h2,h3,h4,h5,h6,strong,b,span,li,label,svg){color:#f7fffb!important;-webkit-text-fill-color:#f7fffb!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-sidebar,.nsw-continue-card,.nsw-problem-prompt,.nsw-support-card,
  .nsw-practice-hero,.nsw-study-feature:first-child,.nsp6-tma-callout,.nsp-welcome
) :where(p,small){color:#d4e7de!important;-webkit-text-fill-color:#d4e7de!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-continue-card,.nsw-problem-prompt,.nsw-support-card,.nsw-practice-hero,
  .nsw-study-feature:first-child,.nsp6-tma-callout,.nsp-welcome
) .nsw-eyebrow{color:#9de3bd!important;-webkit-text-fill-color:#9de3bd!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-sidebar :is(.nsp-nav-item,.nsw-logout){background:transparent!important;color:#d4e7de!important;-webkit-text-fill-color:#d4e7de!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-sidebar :is(.nsp-nav-item:hover,.nsp-nav-item.active){background:rgba(255,255,255,.1)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-sidebar-help a,.nsw-continue-card .nsw-primary-button,.nsw-support-card a,.nsp6-tma-callout button,.nsp-welcome-btn){background:#fff!important;border-color:#fff!important;color:#123b2e!important;-webkit-text-fill-color:#123b2e!important;text-decoration:none!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-sidebar-help a,.nsw-continue-card .nsw-primary-button,.nsw-support-card a,.nsp6-tma-callout button,.nsp-welcome-btn):hover{background:#e8f3ed!important;border-color:#e8f3ed!important;color:#0b3225!important;-webkit-text-fill-color:#0b3225!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-study-feature:first-child .nsw-secondary-button,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-practice-hero .nsw-secondary-button{
  background:#fff!important;
  border-color:#fff!important;
  color:#123b2e!important;
  -webkit-text-fill-color:#123b2e!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-study-feature:first-child .nsw-secondary-button:hover,
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-practice-hero .nsw-secondary-button:hover{background:#e8f3ed!important;border-color:#e8f3ed!important;color:#0b3225!important;-webkit-text-fill-color:#0b3225!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-prompt-actions button{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-prompt-actions button:hover{background:rgba(255,255,255,.2)!important;border-color:#fff!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Services Hub cards are normal surfaces, not inverse cards. This explicitly
   corrects the 6.8.3 selector that painted their text white. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-hub-hero-card{background:var(--nsp691-surface)!important;border-color:var(--nsp691-border-soft)!important;color:var(--nsp691-body)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-hub-hero-card :is(.nsp-hub-hero-title){color:var(--nsp691-heading)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-hub-hero-card :is(.nsp-hub-hero-tag,.nsp-hub-hero-desc){color:var(--nsp691-body)!important}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-hub-hero-card :is(.nsp-hub-badge,.nsp-hub-hero-cta),
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsp-hub-hero-card :is(.nsp-hub-badge,.nsp-hub-hero-cta) :where(span,strong,b,svg){color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Final state authority. These rules intentionally appear after every normal
   and inverse component so disabled and high-value inverse controls cannot be
   repainted by legacy theme or component selectors. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-sidebar-help a,.nsw-continue-card .nsw-primary-button,.nsw-support-card a,
  .nsp6-tma-callout button,.nsp-welcome-btn,
  .nsw-study-feature:first-child .nsw-secondary-button,
  .nsw-practice-hero .nsw-secondary-button
){
  background:#fff!important;
  border-color:#fff!important;
  color:#123b2e!important;
  -webkit-text-fill-color:#123b2e!important;
  opacity:1!important;
  text-decoration:none!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  .nsw-sidebar-help a,.nsw-continue-card .nsw-primary-button,.nsw-support-card a,
  .nsp6-tma-callout button,.nsp-welcome-btn,
  .nsw-study-feature:first-child .nsw-secondary-button,
  .nsw-practice-hero .nsw-secondary-button
):hover{
  background:#e8f3ed!important;
  border-color:#e8f3ed!important;
  color:#0b3225!important;
  -webkit-text-fill-color:#0b3225!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  button:disabled,input:disabled,select:disabled,textarea:disabled,
  .nsw-primary-button:disabled,.nsw-secondary-button:disabled,
  .nsw-card-footer button:disabled,.nsw-card-footer a[aria-disabled="true"],
  .nsw-library-list article button:disabled,.nsw-delivery-list article button:disabled,
  .nsp-btn:disabled,.nsp-v62-primary:disabled,.nsp-v62-secondary:disabled,
  .nsp-svc-btn:disabled,.nsp-svc-pay:disabled,[aria-disabled="true"]
){
  background:var(--nsp691-disabled-bg)!important;
  border-color:var(--nsp691-border)!important;
  color:var(--nsp691-disabled-fg)!important;
  -webkit-text-fill-color:var(--nsp691-disabled-fg)!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(
  button:disabled,.nsw-card-footer a[aria-disabled="true"],[aria-disabled="true"]
) :where(span,strong,b,small,svg){
  color:var(--nsp691-disabled-fg)!important;
  -webkit-text-fill-color:var(--nsp691-disabled-fg)!important;
}

/* Keyboard, pointer and high-contrast behaviour. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--nsp691-focus)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(button,a,[role="button"]){min-height:44px}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-icon-button,.nsw-action-dismiss,.nsw-mobile-search-button,.nsw-mobile-search-close){min-width:44px!important;min-height:44px!important}

/* Print documents remain black on white regardless of UI theme. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsp-slip,.nsp-slip *){background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#111!important}

@media(max-width:930px){html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace .nsw-sidebar{background:linear-gradient(180deg,#09271e,#0d211b)!important}}
@media(prefers-reduced-motion:reduce){html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(forced-colors:active){
  html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace *{box-shadow:none!important}
  html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid Highlight!important}
  html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-status,.nsp6-order-status,.nsw-count-badge){border:1px solid currentColor!important}
}
