/*
 * NOUN Student Portal 6.14.1 — Complete Student Workspace UI System + Service CTA Repair
 * Extends the approved 6.13.1 dashboard language across the full private workspace.
 */

/* ===== Authoritative type system ===== */
.nsp-private-workspace,
.nsp-private-workspace .nsp,
.nsp-private-workspace .nsp-workspace,
.nsp-private-workspace .nsp-workspace :is(button,input,select,textarea,option,a,label,small,strong,span,p,li,dt,dd,h1,h2,h3,h4,h5,h6){
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
.nsp-private-workspace .nsp-workspace{font-size:16px!important;line-height:1.5!important}
.nsp-private-workspace .nsp-workspace :is(h1,h2,h3,h4,h5,h6){font-family:inherit!important;color:var(--nsw-text)!important;text-wrap:balance}
.nsp-private-workspace .nsp-workspace p{font-size:.96rem!important;line-height:1.62!important}
.nsp-private-workspace .nsp-workspace small{line-height:1.45!important}

/* ===== Main page rhythm ===== */
.nsp-private-workspace .nsw-main{max-width:1500px!important;padding:34px 34px 72px!important}
.nsp-private-workspace .nsw-main>.nsp-page{max-width:none!important}
.nsp-private-workspace .nsw-page-head{align-items:center!important;gap:28px!important;margin:0 0 26px!important;min-height:62px}
.nsp-private-workspace .nsw-page-head>div{min-width:0;max-width:900px}
.nsp-private-workspace .nsw-page-head .nsw-eyebrow{display:none!important}
.nsp-private-workspace .nsw-page-head h1{font-size:clamp(1.7rem,2.1vw,2.1rem)!important;line-height:1.16!important;letter-spacing:-.025em!important;font-weight:800!important}
.nsp-private-workspace .nsw-page-head p{margin-top:7px!important;max-width:820px!important;color:var(--nsw-muted)!important;font-size:.98rem!important;line-height:1.55!important}
.nsp-private-workspace .nsw-back-link{font-size:.88rem!important;margin-bottom:13px!important;min-height:34px!important}
.nsp-private-workspace .nsw-back-link svg{width:16px;height:16px}

/* One primary title per panel/card. Eyebrows remain allowed only when they are true metadata outside a titled panel. */
.nsp-private-workspace .nsw-section-heading .nsw-eyebrow,
.nsp-private-workspace .nsw-finder-intro>.nsw-eyebrow,
.nsp-private-workspace .nsw-practice-hero .nsw-eyebrow,
.nsp-private-workspace .nsp-v62-special-head .nsp-checkout-eyebrow,
.nsp-private-workspace .nsp-service-compact .nsp-service-kicker,
.nsp-private-workspace .nsp-checkout-panel-head .nsp-checkout-eyebrow{display:none!important}
.nsp-private-workspace .nsw-section-heading{align-items:center!important;gap:20px!important;margin-bottom:18px!important}
.nsp-private-workspace .nsw-section-heading h2{font-size:1.28rem!important;line-height:1.3!important;letter-spacing:-.015em!important;font-weight:800!important}
.nsp-private-workspace .nsw-section-heading p{margin-top:5px!important;color:var(--nsw-muted)!important;font-size:.9rem!important;line-height:1.55!important}

/* ===== Shared surfaces ===== */
.nsp-private-workspace .nsw-panel{padding:27px 28px!important;margin-bottom:22px!important;border-radius:19px!important;box-shadow:0 7px 22px rgba(14,27,37,.045)!important}
.nsp-private-workspace .nsw-primary-button,
.nsp-private-workspace .nsw-secondary-button,
.nsp-private-workspace .nsw-action-button{min-height:48px!important;padding:11px 17px!important;border-radius:12px!important;font-size:.88rem!important;font-weight:780!important}
.nsp-private-workspace .nsw-link-button{font-size:.86rem!important;font-weight:780!important}
.nsp-private-workspace .nsw-status{min-height:30px!important;padding:6px 11px!important;font-size:.74rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-count-badge{font-size:.78rem!important}

/* ===== Tabs ===== */
.nsp-private-workspace :is(.nsw-service-tabs,.nsw-study-tabs){gap:7px!important;padding:6px!important;margin-bottom:24px!important;border-radius:15px!important}
.nsp-private-workspace :is(.nsw-service-tabs,.nsw-study-tabs) button{min-height:44px!important;padding:9px 16px!important;border-radius:10px!important;font-size:.86rem!important;font-weight:760!important}
.nsp-private-workspace .nsw-order-tabs{gap:7px!important}
.nsp-private-workspace .nsw-order-tabs button{min-height:42px!important;padding:9px 13px!important;border-radius:10px!important;font-size:.8rem!important;font-weight:760!important}

/* ===== Services ===== */
.nsp-private-workspace .nsw-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin-bottom:26px!important}
.nsp-private-workspace .nsw-service-card{min-height:330px!important;padding:23px!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(14,27,37,.04)!important}
.nsp-private-workspace .nsw-service-card h3{font-size:1.05rem!important;line-height:1.35!important;font-weight:800!important}
.nsp-private-workspace .nsw-service-card>p{font-size:.88rem!important;line-height:1.55!important;margin:8px 0 14px!important}
.nsp-private-workspace .nsw-service-card ul{font-size:.8rem!important;line-height:1.5!important;gap:7px!important}
.nsp-private-workspace .nsw-service-card .nsw-reason{font-size:.7rem!important;padding:6px 9px!important}
.nsp-private-workspace .nsw-service-card .nsw-card-footer{padding-top:14px!important}
.nsp-private-workspace .nsw-service-card .nsw-card-footer strong{font-size:.86rem!important}
.nsp-private-workspace .nsw-service-card .nsw-card-footer :is(button,a){min-height:40px!important;padding:8px 12px!important;font-size:.78rem!important}
.nsp-private-workspace .nsw-finder-intro{max-width:900px!important;margin-bottom:24px!important;text-align:left!important}
.nsp-private-workspace .nsw-finder-intro h2{font-size:1.35rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-finder-intro p{font-size:.92rem!important}
.nsp-private-workspace .nsw-service-search{max-width:none!important;height:52px!important;margin:14px 0 0!important;border-radius:13px!important}
.nsp-private-workspace .nsw-service-search input{font-size:.95rem!important}
.nsp-private-workspace .nsw-problem-grid{gap:13px!important;margin-bottom:28px!important}
.nsp-private-workspace .nsw-problem-grid button{min-height:92px!important;padding:16px!important;border-radius:15px!important}
.nsp-private-workspace .nsw-problem-grid strong{font-size:.86rem!important}
.nsp-private-workspace .nsw-problem-grid small{font-size:.75rem!important;line-height:1.4!important}
.nsp-private-workspace .nsw-service-confidence{gap:13px!important}
.nsp-private-workspace .nsw-service-confidence>div{padding:18px!important;border-radius:15px!important}
.nsp-private-workspace .nsw-service-confidence strong{font-size:.88rem!important}
.nsp-private-workspace .nsw-service-confidence small{font-size:.76rem!important}
.nsp-private-workspace .nsw-recent-services{padding:23px 24px!important;border-radius:18px!important}
.nsp-private-workspace .nsw-recent-service-list>a{min-height:78px!important;padding:15px!important;border-radius:13px!important}
.nsp-private-workspace .nsw-recent-service-list strong{font-size:.88rem!important}
.nsp-private-workspace .nsw-recent-service-list small{font-size:.74rem!important}

/* ===== Orders ===== */
.nsp-private-workspace .nsw-order-stats{gap:15px!important;margin-bottom:22px!important}
.nsp-private-workspace .nsw-order-stats button{min-height:106px!important;padding:19px 20px!important;border-radius:17px!important}
.nsp-private-workspace .nsw-order-stats span{font-size:.82rem!important;font-weight:740!important}
.nsp-private-workspace .nsw-order-stats strong{font-size:2rem!important;line-height:1!important;font-weight:830!important}
.nsp-private-workspace .nsw-order-toolbar{gap:18px!important;margin-bottom:18px!important}
.nsp-private-workspace .nsw-order-search{height:46px!important;min-width:290px!important;border-radius:11px!important}
.nsp-private-workspace .nsw-order-search input{font-size:.86rem!important}
.nsp-private-workspace .nsw-order-list{gap:16px!important}
.nsp-private-workspace .nsw-order-card{padding:23px 24px!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(14,27,37,.035)!important}
.nsp-private-workspace .nsw-order-type{font-size:.7rem!important;letter-spacing:.08em!important}
.nsp-private-workspace .nsw-order-card-body h2{font-size:1.08rem!important;line-height:1.35!important;font-weight:800!important}
.nsp-private-workspace .nsw-order-card-body p{font-size:.82rem!important;line-height:1.5!important}
.nsp-private-workspace .nsw-order-amount{font-size:1.08rem!important}
.nsp-private-workspace .nsw-order-card-footer{padding-top:15px!important}
.nsp-private-workspace .nsw-order-card-footer strong{font-size:.84rem!important;line-height:1.5!important}
.nsp-private-workspace .nsw-order-stage span{font-size:.7rem!important}

/* Order workspace */
.nsp-private-workspace .nsw-order-detail{gap:20px!important}
.nsp-private-workspace .nsw-order-detail-hero{padding:28px 30px!important;border-radius:19px!important;box-shadow:0 7px 22px rgba(14,27,37,.04)!important}
.nsp-private-workspace .nsw-order-detail-hero .nsw-eyebrow{font-size:.7rem!important}
.nsp-private-workspace .nsw-order-detail-hero h1{font-family:inherit!important;font-size:clamp(1.6rem,2.4vw,2rem)!important;line-height:1.16!important;font-weight:800!important;letter-spacing:-.02em!important}
.nsp-private-workspace .nsw-order-detail-hero p{font-size:.9rem!important}
.nsp-private-workspace .nsw-order-detail-total{padding:16px 18px!important;border-radius:14px!important}
.nsp-private-workspace .nsw-order-detail-total small{font-size:.72rem!important}
.nsp-private-workspace .nsw-order-detail-total strong{font-size:1.45rem!important}
.nsp-private-workspace .nsw-order-detail-tabs{padding:6px!important;border-radius:14px!important}
.nsp-private-workspace .nsw-order-detail-tabs button{min-height:44px!important;padding:10px 15px!important;font-size:.86rem!important}
.nsp-private-workspace :is(.nsw-order-panel-card,.nsw-revision-card,.nsw-payment-card){padding:26px!important;border-radius:18px!important}
.nsp-private-workspace :is(.nsw-order-panel-card,.nsw-revision-card,.nsw-payment-card) h2{font-size:1.24rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-workspace-thread>article{padding:15px 17px!important;border-radius:15px!important}
.nsp-private-workspace .nsw-workspace-thread strong{font-size:.84rem!important}
.nsp-private-workspace .nsw-workspace-thread time{font-size:.72rem!important}
.nsp-private-workspace .nsw-workspace-thread p{font-size:.92rem!important}
.nsp-private-workspace .nsw-workspace-compose{padding:17px!important;border-radius:16px!important}

/* ===== Study ===== */
.nsp-private-workspace .nsw-study-overview-grid{gap:18px!important;margin-bottom:24px!important}
.nsp-private-workspace .nsw-study-feature{min-height:210px!important;padding:24px!important;border-radius:18px!important}
.nsp-private-workspace .nsw-study-feature>.nsw-eyebrow{display:none!important}
.nsp-private-workspace .nsw-study-feature h2{font-family:inherit!important;font-size:1.18rem!important;line-height:1.35!important;font-weight:800!important}
.nsp-private-workspace .nsw-study-feature p{font-size:.88rem!important;line-height:1.58!important}
.nsp-private-workspace .nsw-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
.nsp-private-workspace .nsw-tool-card{min-height:122px!important;padding:18px!important;border-radius:16px!important;gap:13px!important}
.nsp-private-workspace .nsw-tool-card>span{width:46px!important;height:46px!important;border-radius:12px!important}
.nsp-private-workspace .nsw-tool-card strong{font-size:.92rem!important;line-height:1.35!important}
.nsp-private-workspace .nsw-tool-card small{font-size:.76rem!important;line-height:1.45!important}
.nsp-private-workspace .nsw-library-list article{min-height:78px!important;padding:15px 16px!important;border-radius:14px!important}
.nsp-private-workspace .nsw-library-list h3{font-size:.9rem!important}
.nsp-private-workspace .nsw-library-list p{font-size:.76rem!important}
.nsp-private-workspace .nsw-practice-hero{padding:25px!important;border-radius:18px!important}
.nsp-private-workspace .nsw-practice-hero h2{font-family:inherit!important;font-size:1.25rem!important;font-weight:800!important}

/* ===== Account/Profile ===== */
.nsp-private-workspace .nsw-account-identity{padding:23px 24px!important;border-radius:18px!important;gap:17px!important}
.nsp-private-workspace .nsw-account-name h2{font-family:inherit!important;font-size:1.16rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-account-name p{font-size:.84rem!important}
.nsp-private-workspace .nsw-account-name span{font-size:.78rem!important}
.nsp-private-workspace .nsw-profile-completion span{font-size:.8rem!important}
.nsp-private-workspace .nsw-profile-completion strong{font-size:.96rem!important}
.nsp-private-workspace .nsw-account-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:17px!important;margin-bottom:22px!important}
.nsp-private-workspace .nsw-account-card{min-height:190px!important;padding:22px!important;border-radius:18px!important}
.nsp-private-workspace .nsw-account-card>span{width:47px!important;height:47px!important;border-radius:13px!important}
.nsp-private-workspace .nsw-account-card h3{font-family:inherit!important;font-size:1rem!important;line-height:1.35!important;font-weight:800!important}
.nsp-private-workspace .nsw-account-card p{font-size:.82rem!important;line-height:1.52!important}
.nsp-private-workspace .nsw-account-card strong{font-size:.78rem!important}
.nsp-private-workspace .nsw-profile-header{padding:23px 24px!important;border-radius:18px!important}
.nsp-private-workspace .nsw-profile-header h2{font-family:inherit!important;font-size:1.18rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-profile-header p{font-size:.84rem!important}
.nsp-private-workspace .nsw-profile-header small{font-size:.76rem!important;line-height:1.5!important}
.nsp-private-workspace .nsw-profile-grid{gap:18px!important}
.nsp-private-workspace .nsw-profile-grid .nsp-field label{font-size:.82rem!important;font-weight:760!important;margin-bottom:8px!important}
.nsp-private-workspace .nsw-profile-grid .nsp-field :is(input,select){min-height:50px!important;padding:10px 13px!important;border-radius:11px!important;font-size:.94rem!important}
.nsp-private-workspace .nsw-form-status{font-size:.82rem!important}

/* ===== Search, notifications and menus ===== */
.nsp-private-workspace .nsw-global-search input{font-size:.92rem!important}
.nsp-private-workspace .nsp-search-dd{font-size:.88rem!important}
.nsp-private-workspace .nsp-search-dd :is(a,button){min-height:48px!important;font-size:.86rem!important}
.nsp-private-workspace .nsw-notification-panel{font-size:.9rem!important}
.nsp-private-workspace .nsw-notification-head strong{font-size:1rem!important}
.nsp-private-workspace .nsw-notification-head small{font-size:.76rem!important}
.nsp-private-workspace .nsw-notification-panel :is(p,small){font-size:.8rem!important}
.nsp-private-workspace .nsp-user-menu{font-size:.88rem!important}
.nsp-private-workspace .nsp-um-item{min-height:44px!important;font-size:.84rem!important}

/* ===== Unified forms, controls and states ===== */
.nsp-private-workspace .nsp-workspace :is(.nsp-field,.nsp-svc-fieldset,.nsp-tmasvc-field,.nsp-tma-form-field) label,
.nsp-private-workspace .nsp-workspace :is(.nsp-svc-label,.nsp-tmasvc-dt,.nsp-lblhead){font-family:inherit!important;font-size:.84rem!important;font-weight:760!important;line-height:1.4!important}
.nsp-private-workspace .nsp-workspace :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="search"],input[type="number"],select,textarea){font-family:inherit!important;font-size:.95rem!important}
.nsp-private-workspace .nsp-workspace :is(.nsp-svc-input,.nsp-tmasvc-field input,.nsp-tmasvc-field select,.nsp-tmasvc-field textarea,.nsp-tma-form-field input,.nsp-tma-form-field select,.nsp-tma-form-field textarea){min-height:50px!important;border-radius:11px!important;padding:11px 13px!important}
.nsp-private-workspace .nsp-workspace textarea{line-height:1.55!important}
.nsp-private-workspace .nsw-empty-state{min-height:250px!important;padding:38px!important;border-radius:18px!important}
.nsp-private-workspace .nsw-empty-state h2,
.nsp-private-workspace .nsw-empty-state h3{font-family:inherit!important;font-size:1.14rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-empty-state p{font-size:.88rem!important;line-height:1.55!important}

/* ===== Embedded service checkout ===== */
.nsp-private-workspace .nsw-service-detail-workspace .nsp-checkout-v62,
.nsp-private-workspace .nsw-service-workspace .nsp-checkout-v62{font-family:inherit!important;padding:0!important;background:transparent!important;max-width:none!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-checkout-topbar{max-width:none!important;margin-bottom:18px!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-service-focus{max-width:none!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-service-compact{padding:25px 27px!important;border-radius:18px!important;background:var(--nsw-white)!important;border:1px solid var(--nsw-border)!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-service-compact h1{font-family:inherit!important;font-size:1.65rem!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.02em!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-service-compact p{font-size:.92rem!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-checkout-panel{position:static!important;border-radius:18px!important;box-shadow:0 7px 22px rgba(14,27,37,.045)!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-checkout-panel-head{padding:22px 24px!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-checkout-panel-head h2{font-family:inherit!important;font-size:1.2rem!important;font-weight:800!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-v62-form-root{padding:24px!important}
.nsp-private-workspace .nsw-service-detail-workspace .nsp-service-more{border-radius:16px!important}

/* ===== Dedicated service workspaces inside the Portal ===== */
.nsp-private-workspace .nsp-v62-special-head{font-family:inherit!important;padding:25px 27px!important;margin-bottom:22px!important;border-radius:18px!important}
.nsp-private-workspace .nsp-v62-special-head h1{font-family:inherit!important;font-size:1.65rem!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.02em!important}
.nsp-private-workspace .nsp-v62-special-head p{font-size:.92rem!important;line-height:1.55!important}
.nsp-private-workspace .nsp-v62-special-trust{font-size:.78rem!important}
.nsp-private-workspace .nsw-service-workspace :is(.nsp-svc-pagecard,.nsp-svc-order,.nsp-tmasvc-order,.nsp-bp-order,.nsp-tma-service-card,.nsp-cvform,.nsp-bp-modal,.nsp-svc-modal-dialog){font-family:inherit!important;border-radius:18px!important}
.nsp-private-workspace .nsw-service-workspace :is(.nsp-svc-title,.nsp-svc-h2,.nsp-tmasvc-h2,.nsp-tmasvc-courses-h3,.nsp-bp-pending-sec-hdr,.nsp-tma-section-title,.nsp-tma-form-hdr h2){font-family:inherit!important;font-weight:800!important}
.nsp-private-workspace .nsw-service-workspace :is(.nsp-svc-title,.nsp-tmasvc-h2){font-size:1.2rem!important}
.nsp-private-workspace .nsw-service-workspace :is(.nsp-svc-desc,.nsp-svc-note,.nsp-tmasvc-order-meta,.nsp-tmasvc-msgs-intro,.nsp-tma-section-sub){font-size:.86rem!important;line-height:1.55!important}
.nsp-private-workspace .nsw-service-workspace :is(.nsp-svc-btn,.nsp-svc-pay,.nsp-tmasvc-act,.nsp-tmasvc-refresh-btn,.nsp-tma-submit-btn,.nsp-bp-pay-now-btn){min-height:48px!important;font-family:inherit!important;font-size:.88rem!important;font-weight:780!important;border-radius:11px!important}

/* ===== Legacy academic tools ===== */
.nsp-private-workspace .nsw-legacy-page{font-family:inherit!important;font-size:16px!important}
.nsp-private-workspace .nsw-legacy-page :is(.nsp-page-hdr h1,.nsp-page-hdr h2,.nsp-sec-hdr,.nsp-ft-group,h1,h2,h3){font-family:inherit!important}
.nsp-private-workspace .nsw-legacy-page .nsp-page-hdr h1{font-size:1.65rem!important;line-height:1.2!important;font-weight:800!important}
.nsp-private-workspace .nsw-legacy-page .nsp-page-hdr p{font-size:.92rem!important;line-height:1.55!important}
.nsp-private-workspace .nsw-legacy-page :is(.nsp-card,.nsp-store-card,.nsp-bp-card,.nsp-ft-card){border-radius:17px!important;box-shadow:0 6px 18px rgba(14,27,37,.035)!important}
.nsp-private-workspace .nsw-legacy-page .nsp-ft-card{min-height:92px!important;padding:18px!important}
.nsp-private-workspace .nsw-legacy-page .nsp-ft-title{font-size:.94rem!important}
.nsp-private-workspace .nsw-legacy-page .nsp-ft-desc{font-size:.8rem!important}

/* ===== Modals / dialogs ===== */
.nsp-private-workspace :is(.nsp-svc-modal-dialog,.nsp-tmasvc-modal-card,.nsp-bp-modal,.nsp-cvprev,.nsp-share-drawer){font-family:inherit!important;border-radius:18px!important}
.nsp-private-workspace :is(.nsp-svc-modal-title,.nsp-tmasvc-modal-hdr h2,.nsp-bp-modal h2,.nsp-cvprev h2){font-family:inherit!important;font-size:1.22rem!important;font-weight:800!important}

/* ===== Dark theme final ownership ===== */
[data-theme="dark"] .nsp-private-workspace .nsp-workspace :is(.nsw-panel,.nsw-service-card,.nsw-order-card,.nsw-account-card,.nsw-study-feature,.nsw-tool-card,.nsw-profile-header,.nsw-account-identity,.nsw-order-detail-hero,.nsw-order-panel-card,.nsw-revision-card,.nsw-payment-card){box-shadow:0 7px 22px rgba(0,0,0,.17)!important}
[data-theme="dark"] .nsp-private-workspace .nsw-service-detail-workspace .nsp-service-compact{background:var(--nsw-white)!important;border-color:var(--nsw-border)!important}

/* ===== Responsive ===== */
@media(max-width:1180px){
  .nsp-private-workspace .nsw-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nsp-private-workspace .nsw-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nsp-private-workspace .nsw-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:930px){
  .nsp-private-workspace .nsw-main{padding:27px 20px 98px!important}
  .nsp-private-workspace .nsw-page-head{min-height:0}
}
@media(max-width:720px){
  .nsp-private-workspace .nsp-workspace{font-size:15px!important}
  .nsp-private-workspace .nsw-main{padding:22px 15px 96px!important}
  .nsp-private-workspace .nsw-page-head{align-items:stretch!important;gap:15px!important;margin-bottom:20px!important}
  .nsp-private-workspace .nsw-page-head h1{font-size:1.55rem!important}
  .nsp-private-workspace .nsw-page-head p{font-size:.88rem!important}
  .nsp-private-workspace .nsw-panel{padding:19px!important;border-radius:16px!important}
  .nsp-private-workspace .nsw-service-grid,
  .nsp-private-workspace .nsw-account-grid,
  .nsp-private-workspace .nsw-tool-grid{grid-template-columns:1fr!important;gap:12px!important}
  .nsp-private-workspace .nsw-service-card{min-height:0!important;padding:19px!important}
  .nsp-private-workspace .nsw-account-card{min-height:0!important;padding:18px!important}
  .nsp-private-workspace .nsw-study-feature{min-height:0!important;padding:20px!important}
  .nsp-private-workspace .nsw-tool-card{min-height:100px!important;padding:16px!important}
  .nsp-private-workspace .nsw-order-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .nsp-private-workspace .nsw-order-stats button{min-height:84px!important;padding:14px!important}
  .nsp-private-workspace .nsw-order-stats strong{font-size:1.65rem!important}
  .nsp-private-workspace .nsw-order-card{padding:18px!important}
  .nsp-private-workspace .nsw-order-detail-hero{padding:20px!important}
  .nsp-private-workspace :is(.nsw-order-panel-card,.nsw-revision-card,.nsw-payment-card){padding:19px!important}
  .nsp-private-workspace .nsw-profile-grid .nsp-field :is(input,select){font-size:1rem!important}
  .nsp-private-workspace .nsw-service-detail-workspace .nsp-service-compact,
  .nsp-private-workspace .nsp-v62-special-head{padding:20px!important}
}
@media(max-width:420px){
  .nsp-private-workspace .nsw-main{padding-inline:12px!important}
  .nsp-private-workspace .nsw-order-stats button{min-height:78px!important}
}

/* Shared guided-tour and avatar surfaces follow the same readable type system without overriding their security/contrast ownership. */
.nsp-private-workspace .nsp611-tour-card,
.nsp-private-workspace .nsp611-tour-card :is(h2,p,small,button),
.nsp-private-workspace .nsp610-avatar-manager,
.nsp-private-workspace .nsp610-avatar-manager :is(h2,h3,p,small,strong,summary,button,label,input){font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.nsp-private-workspace .nsp610-avatar-heading h2{font-size:1.3rem!important;font-weight:800!important}
.nsp-private-workspace .nsp610-avatar-heading p{font-size:.92rem!important;line-height:1.55!important}
.nsp-private-workspace .nsp610-avatar-manager :is(.nsp610-avatar-primary,.nsp610-avatar-secondary){min-height:46px!important;font-size:.88rem!important}

/* ==========================================================================\n   6.14.1 — Service detail CTA visibility repair\n   Final authority for every actionable control inside Portal service-detail and\n   service-checkout workspaces. The 6.14.0 system UI exposed a retained global\n   button foreground rule that could paint dark text onto dark-green CTAs.\n   ========================================================================== */

/* Primary service actions: always use a readable inverse label. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-next,
  .nsp-cvnav-pay:not(:disabled),
  .nsp-svc-btn:not(:disabled),
  .nsp-svc-pay:not(:disabled),
  .nsp-svc-order-pay:not(:disabled),
  .nsp-v62-stage-next,
  .nsp-v62-primary,
  .nsp-v65-resume-notice a,
  .nsp-v65-resume-notice button
){
  background:#176b47!important;
  border-color:#176b47!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-next,
  .nsp-cvnav-pay:not(:disabled),
  .nsp-svc-btn:not(:disabled),
  .nsp-svc-pay:not(:disabled),
  .nsp-svc-order-pay:not(:disabled),
  .nsp-v62-stage-next,
  .nsp-v62-primary,
  .nsp-v65-resume-notice a,
  .nsp-v65-resume-notice button
) :is(span,strong,b,small,svg){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-next,
  .nsp-cvnav-pay:not(:disabled),
  .nsp-svc-btn:not(:disabled),
  .nsp-svc-pay:not(:disabled),
  .nsp-svc-order-pay:not(:disabled),
  .nsp-v62-stage-next,
  .nsp-v62-primary
):hover{
  background:#0f5639!important;
  border-color:#0f5639!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Secondary/back/upload actions stay clearly readable without competing with CTA. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-back,
  .nsp-cvadd,
  .nsp-cvprev-btn,
  .nsp-v62-stage-back,
  .nsp-v62-secondary,
  .nsp-svc-attach-btn,
  .nsp-svc-reupload-btn
){
  background:#fff!important;
  border-color:#91ad9f!important;
  color:#174b37!important;
  -webkit-text-fill-color:#174b37!important;
  opacity:1!important;
}

/* Disabled payment/submission controls must look disabled, never invisible. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-pay,
  .nsp-svc-btn,
  .nsp-svc-pay,
  .nsp-svc-order-pay,
  .nsp-v62-stage-next,
  button[type="submit"]
):disabled{
  background:#dce8e1!important;
  border-color:#bfd0c7!important;
  color:#315848!important;
  -webkit-text-fill-color:#315848!important;
  opacity:1!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-pay,
  .nsp-svc-btn,
  .nsp-svc-pay,
  .nsp-svc-order-pay,
  .nsp-v62-stage-next,
  button[type="submit"]
):disabled :is(span,strong,b,small,svg){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* Keyboard users must always be able to locate the service action. */
html[data-theme] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-next,.nsp-cvnav-back,.nsp-cvnav-pay,.nsp-svc-btn,.nsp-svc-pay,
  .nsp-svc-order-pay,.nsp-v62-stage-next,.nsp-v62-stage-back,.nsp-v62-primary,.nsp-v62-secondary
):focus-visible{
  outline:3px solid #69c49b!important;
  outline-offset:3px!important;
}

/* Dark mode keeps the same hierarchy with accessible foregrounds. */
html[data-theme="dark"] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-next,
  .nsp-cvnav-pay:not(:disabled),
  .nsp-svc-btn:not(:disabled),
  .nsp-svc-pay:not(:disabled),
  .nsp-svc-order-pay:not(:disabled),
  .nsp-v62-stage-next,
  .nsp-v62-primary,
  .nsp-v65-resume-notice a,
  .nsp-v65-resume-notice button
){
  background:#2f9b6c!important;
  border-color:#2f9b6c!important;
  color:#071c13!important;
  -webkit-text-fill-color:#071c13!important;
}
html[data-theme="dark"] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-back,.nsp-cvadd,.nsp-cvprev-btn,.nsp-v62-stage-back,.nsp-v62-secondary,.nsp-svc-attach-btn,.nsp-svc-reupload-btn
){
  background:#10231c!important;
  border-color:#547c69!important;
  color:#dff6ea!important;
  -webkit-text-fill-color:#dff6ea!important;
}
html[data-theme="dark"] body.nsp-private-workspace #nsp-app.nsp .nsp-workspace :is(.nsw-service-detail-workspace,.nsw-service-workspace) :is(
  .nsp-cvnav-pay,.nsp-svc-btn,.nsp-svc-pay,.nsp-svc-order-pay,.nsp-v62-stage-next,button[type="submit"]
):disabled{
  background:#29463a!important;
  border-color:#3c6251!important;
  color:#d8e8e0!important;
  -webkit-text-fill-color:#d8e8e0!important;
  opacity:1!important;
}
