/* nosterHealth brand palette and type; editorial layout inspired by the reference.
 * Shared presentation layer. Training logic and semantic feedback colors stay in their feature styles. */
:root {
  --studio-bg: #0a0e1a;
  --studio-panel: #111827;
  --studio-line: #1e2d4a;
  --studio-text: #ffffff;
  --studio-muted: #94a3b8;
  --studio-accent: #60a5fa;
  --studio-action: #2563eb;
  --rx-sans: "Montserrat", "Segoe UI", Arial, sans-serif;
  --rx-display: "Montserrat", "Segoe UI", Arial, sans-serif;
  --accent: #60a5fa;
  --rx-bg: #0a0e1a;
  --rx-surface: #111827;
  --rx-border: #1e2d4a;
  --rx-muted: #94a3b8;
  --rx-hover: #60a5fa;
  --rx-soft-shadow: none;
}
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
html body.studio-theme {
  margin: 0; background: var(--studio-bg) !important; color: var(--studio-text) !important;
  font-family: var(--rx-sans) !important; line-height: 1.6; color-scheme: dark;
  -webkit-font-smoothing: antialiased;
}
body.studio-theme *, body.studio-theme *::before, body.studio-theme *::after { box-sizing: border-box; }
body.studio-theme :is(h1,h2,h3,h4,.section-title,.pricing-title,.tile-title,.module-title) {
  font-family: var(--rx-sans) !important; color: var(--studio-text) !important;
  letter-spacing: -.035em; text-shadow: none !important;
}
body.studio-theme :is(p,button,input,select,textarea,a,label,th,td) { font-family: inherit; text-shadow: none !important; }
body.studio-theme :is(header,.sim-header,.demo-header) {
  background: #111827 !important; background-image: none !important;
  border-bottom: 1px solid var(--studio-line) !important; box-shadow: none !important;
}
body.studio-theme :is(.card,.feature-card,.dashboard-tile,.module-card,.mode-card,.account-card,.profile-card,.stat-card,.summary-card,.lock-box,.first-win-panel,.wing-panel,.sim-panel,.queue-panel,.scenario-card,.demo-card,.migration-card,.panel,.question-card,.quiz-card) {
  background: var(--studio-panel) !important; border: 1px solid var(--studio-line) !important;
  border-radius: 8px !important; box-shadow: none !important;
}
body.studio-theme :is(.dashboard-tile,.module-card,.feature-card)::before { background: none !important; }
body.studio-theme :is(.dashboard-tile,.module-card,.scenario-card):hover { border-color: #3b82f6 !important; }
body.studio-theme :is(.btn-primary,.btn-save,.btn-accent,.cta-btn,.first-win-primary,.price-cta,.header-btn) {
  background: var(--studio-action) !important; color: #ffffff !important; border: 1px solid var(--studio-accent) !important;
  border-radius: 999px !important; font-weight: 600; box-shadow: none !important; text-decoration: none;
}
body.studio-theme :is(.btn-primary,.btn-save,.btn-accent,.cta-btn,.first-win-primary,.price-cta,.header-btn):hover {
  background: #1d4ed8 !important; border-color: #1d4ed8 !important; transform: translateY(-1px);
}
body.studio-theme :is(.btn-secondary,.btn-outline,.demo-back) {
  background: transparent !important; color: var(--studio-text) !important; border: 1px solid #334766 !important; border-radius: 999px !important;
}
body.studio-theme :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.field-input) {
  background: #0a0e1a !important; color: var(--studio-text) !important; border: 1px solid #334766 !important; border-radius: 6px !important;
}
body.studio-theme :is(input,textarea)::placeholder { color: #94a3b8 !important; }
body.studio-theme :is(input,textarea,select):focus { border-color: var(--studio-accent) !important; box-shadow: 0 0 0 3px #3b82f62e !important; }
body.studio-theme :focus-visible { outline: 2px solid var(--studio-accent); outline-offset: 5px; }
body.studio-theme :is(.section-label,.hero-tag,.feature-icon,.first-win-kicker,.module-kicker,.eyebrow) {
  color: var(--studio-accent) !important; font-family: 'Courier New',monospace !important; letter-spacing: .12em; font-size: 11px;
}
body.studio-theme :is(.tile-description,.module-description,.subtitle,.pricing-subtitle,.user-email) { color: var(--studio-muted) !important; }
body.studio-theme :is(#lockScreen,#welcomeModal,.first-win-overlay) { background: #0a0e1aef !important; }
body.studio-theme :is(.compact-switch,.tabs,.tab-bar) { background: #0f172a !important; border-color: var(--studio-line) !important; }
body.studio-theme .compact-toggle input:checked + .compact-switch { background: #2563eb !important; border-color: var(--studio-accent) !important; }
body.studio-theme :is(.dashboard-title,.wing-title) { font-weight: 500 !important; }
body.studio-theme footer { background: var(--studio-bg) !important; border-top: 1px solid var(--studio-line) !important; color: var(--studio-muted) !important; }
body.studio-theme a { text-underline-offset: 5px; }
html body.studio-theme :is(.section,.upgrade-banner,.success-card,.early-pro-banner,.trial-ended-prompt,.wing-weak-spot-card,.wing-module,.wing-sim-stats,.wing-sim-prompt,.compact-readiness-bar,.triage-note,.delegated-entry,.emr-order-entry,.ma-onboarding-card,.ma-drug-lookup-dialog,.ma-drug-result,.ma-drug-variant,.ma-drug-variant-heading,.wing-mode-stats) {
  background:var(--studio-panel) !important; border:1px solid var(--studio-line) !important; border-radius:8px !important; box-shadow:none !important;
}
html body.studio-theme :is(.logo-rx,.rx-mark,.tile-hover-action,.module-action,.wing-weak-spot-cta,.tier-badge) {
  background:#132447 !important; color:var(--studio-accent) !important; border-color:#2563eb !important; box-shadow:none !important;
}
html body.studio-theme :is(.field-label,.tile-kicker,.module-kicker,.triage-note dt) { color:#93c5fd !important; }
html body.studio-theme :is(.page-sub,.field-value,.muted,.hint,.tile-copy,.module-copy) { color:var(--studio-muted) !important; }
html body.studio-theme :is(.btn-edit,.btn-cancel-edit,.dashboard-account-link,.secondary-clinical-link,.ma-drug-search-btn) { background:transparent !important; border-color:#3b82f6 !important; color:var(--studio-text) !important; box-shadow:none !important; }
html body.studio-theme :is(#checkBtn,#clearBtn,#nextBtn,#authSubmitBtn,#welcomeStartBtn,#maOnboardingStartBtn,.next-patient-btn,.trial-upgrade-btn) { background:var(--studio-action) !important; color:#ffffff !important; border-color:var(--studio-accent) !important; box-shadow:none !important; }
html body.studio-theme :is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--studio-accent) !important; outline-offset:4px !important; }
html body.studio-theme .field-row { border-color:var(--studio-line) !important; }
html body.studio-theme .page-title { font-family:var(--rx-sans); letter-spacing:-.045em; font-weight:500; }

/* Landing page: generous editorial spacing, numbered sections, and an original training schematic. */
/* Keep page titles in normal flow so navigation never covers the brand or title. */
body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header {
  display:flex; flex-wrap:wrap; gap:20px; height:auto;
}
body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header .header-center-title {
  position:static; transform:none; flex:1 1 auto; min-width:0;
}
body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header > :last-child:not(.logo-area):not(.header-center-title) {
  flex-wrap:wrap; min-width:0; max-width:100%; gap:10px;
}
body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header .logo-area { flex-shrink:0; }
body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header :is(a,button) { text-align:center; }
body.studio-theme.sim-page .mode-select-screen { overflow-y:auto; align-items:safe center; }
body.studio-theme.sim-page .mode-select-inner { width:100%; max-width:1120px; min-width:0; }
@media(max-width:700px) {
  body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header { padding:20px; gap:16px; }
  body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header .header-center-title { justify-content:flex-end; }
  body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header > :last-child:not(.logo-area):not(.header-center-title) { flex-basis:100%; justify-content:flex-start; }
  body.studio-theme:is(.app-page,.account-page,.success-page,.legal-page) > header .logo-text { white-space:normal; overflow-wrap:anywhere; text-align:right; }
  body.studio-theme.sim-page .mode-select-screen { padding:24px 16px; }
  body.studio-theme.account-page :is(.section-header,.field-row) { flex-wrap:wrap; gap:12px; }
  body.studio-theme.account-page .field-value { overflow-wrap:anywhere; min-width:0; }
}

html body.studio-home { overflow-x: clip; }
body.studio-home .studio-container { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
body.studio-home header.studio-nav { height: 88px; padding: 0 48px; position: relative; display: flex; align-items: center; gap: 32px; max-width: none; }
body.studio-home .studio-wordmark { margin-right: auto; color: var(--studio-text); font-size: 22px; font-weight: 600; letter-spacing: -.06em; text-decoration: none; }
body.studio-home .studio-wordmark span { color: var(--studio-accent); }
body.studio-home header nav ul { display:flex; list-style:none; gap:28px; padding:0; margin:0; }
body.studio-home header nav a { font-size:13px; color:#cbd5e1 !important; text-decoration:none; font-weight:400; }
body.studio-home header nav a:hover { color:var(--studio-text) !important; }
body.studio-home .cta-btn { padding:10px 20px; font-size:13px; }
body.studio-home .studio-hero { position:relative; padding-top:100px; padding-bottom:32px; min-height:calc(100svh - 88px); display:flex; flex-direction:column; justify-content:center; }
body.studio-home .studio-hero::before { content:''; position:absolute; z-index:-1; left:-10%; top:-70px; width:70%; height:80%; background:radial-gradient(ellipse,#2563eb26,transparent 65%); pointer-events:none; }
body.studio-home .studio-kicker { display:flex; align-items:center; gap:12px; color:var(--studio-muted); font:11px/1.6 'Courier New',monospace; text-transform:uppercase; letter-spacing:.16em; }
body.studio-home .studio-dot { width:6px; height:6px; border-radius:50%; background:var(--studio-action); flex:none; }
body.studio-home .studio-hero h1 { font-size:clamp(48px,6.6vw,94px); line-height:1.045; font-weight:500 !important; letter-spacing:-.065em; margin:30px 0 28px; max-width:1120px; }
body.studio-home .studio-hero h1 span { color:#93c5fd; }
body.studio-home .studio-hero p { color:var(--studio-muted); max-width:580px; font-size:17px; line-height:1.75; margin:0; }
body.studio-home .studio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:34px; }
body.studio-home .studio-actions .btn-primary { padding:15px 25px; font-size:14px; text-decoration:none; }
body.studio-home .studio-text-link { color:var(--studio-accent); text-decoration:none; border-bottom:1px solid #334766; padding:5px 0; font-size:14px; }
body.studio-home .studio-hero-meta { display:flex; align-items:center; justify-content:space-between; gap:24px; color:#94a3b8; font:10px/1.8 'Courier New',monospace; letter-spacing:.1em; text-transform:uppercase; margin-top:100px; padding-bottom:10px; }
body.studio-home .studio-hero-meta a { color:inherit; text-decoration:none; }
body.studio-home .studio-section { padding-block:100px; border-top:1px solid var(--studio-line); }
body.studio-home .studio-philosophy { display:grid; grid-template-columns:1fr 3fr; gap:45px; }
body.studio-home .studio-philosophy p { font-size:clamp(27px,3.3vw,45px); line-height:1.3; letter-spacing:-.035em; color:#94a3b8; margin:0; }
body.studio-home .studio-philosophy strong { color:var(--studio-text); font-weight:400; }
body.studio-home .studio-section-heading { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:56px; }
body.studio-home .studio-section-heading h2 { font-weight:500; font-size:clamp(36px,4vw,58px); line-height:1.1; margin:0; letter-spacing:-.05em; }
body.studio-home .studio-wing { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; padding:60px 0; border-top:1px solid var(--studio-line); }
body.studio-home .studio-wing h3 { font-size:clamp(30px,3.2vw,46px); line-height:1.1; margin:22px 0; font-weight:500; }
body.studio-home .studio-wing p { color:var(--studio-muted); line-height:1.8; max-width:460px; margin-bottom:25px; }
body.studio-home .studio-diagram { border:1px solid var(--studio-line); border-radius:8px; padding:30px; background:linear-gradient(135deg,#14213b,#0f172a); font:11px/1.5 'Courier New',monospace; color:#94a3b8; }
body.studio-home .studio-diagram-top { display:flex; justify-content:space-between; padding-bottom:25px; border-bottom:1px solid var(--studio-line); font-size:10px; letter-spacing:.08em; }
body.studio-home .studio-diagram-top span:last-child { color:var(--studio-accent); }
body.studio-home .studio-rx { padding:28px 0; display:flex; align-items:center; gap:22px; }
body.studio-home .studio-rx b { font:44px/1 Arial,sans-serif; color:var(--studio-text); font-weight:400; }
body.studio-home .studio-code { display:flex; gap:8px; padding:18px 0 30px; }
body.studio-home .studio-code span { border:1px solid #334766; color:#bfdbfe; border-radius:4px; padding:10px 13px; }
body.studio-home .studio-diagram-foot { color:#94a3b8; border-top:1px solid var(--studio-line); padding-top:18px; font-size:10px; }
body.studio-home .studio-flow { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; margin:35px 0; }
body.studio-home .studio-flow div { padding:22px 10px; border:1px solid #334766; border-radius:5px; text-align:center; color:#cbd5e1; }
body.studio-home .studio-flow span { color:var(--studio-accent); }
body.studio-home .studio-classroom { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
body.studio-home .studio-classroom h2 { font-size:clamp(36px,4vw,56px); line-height:1.12; font-weight:500; margin:24px 0; }
body.studio-home .studio-classroom p { color:var(--studio-muted); }
body.studio-home .studio-table { width:100%; border-collapse:collapse; margin-top:18px; font-size:12px; }
body.studio-home .studio-table th { font-weight:400; text-align:left; color:#94a3b8; font-size:10px; }
body.studio-home .studio-table :is(th,td) { padding:16px 6px; border-bottom:1px solid var(--studio-line); }
body.studio-home .studio-table td:last-child { color:var(--studio-accent); text-align:right; }
body.studio-home .pricing-title { padding:0; margin:0; font-size:clamp(36px,4vw,58px); text-align:left; line-height:1.1; font-weight:500; }
body.studio-home .pricing-subtitle { text-align:left; margin:20px 0 40px; padding:0; }
body.studio-home .pricing { width:100%; max-width:none; margin:0; padding:0; gap:16px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; }
body.studio-home .price-card { background:#111827 !important; border:1px solid var(--studio-line) !important; border-radius:8px; box-shadow:none !important; padding:30px 24px; text-align:left; display:flex; flex-direction:column; transform:none !important; }
body.studio-home .price-card.featured { border-color:#3b82f6 !important; background:#12203b !important; }
body.studio-home .price-ribbon { position:static; background:transparent !important; color:var(--studio-accent) !important; text-transform:uppercase; font:10px 'Courier New',monospace; padding:0; margin-bottom:18px; transform:none; }
body.studio-home .price-tier { color:var(--studio-text) !important; letter-spacing:0; font-size:14px; font-weight:500; }
body.studio-home .price-amount { color:var(--studio-text) !important; font:500 48px/1.2 Arial,sans-serif; margin-top:18px; letter-spacing:-.05em; }
body.studio-home .price-period { color:var(--studio-muted); }
body.studio-home .price-features { margin:30px 0; padding:0; flex:1; }
body.studio-home .price-features li { color:#94a3b8; border-color:var(--studio-line); font-size:12px; }
body.studio-home .price-cta { display:block; padding:12px 16px; font-size:12px; text-align:center; }
body.studio-home :is(.pricing-note,.programs-pricing) { max-width:none; width:100%; background:var(--studio-panel) !important; border:1px solid var(--studio-line); border-radius:8px; margin:24px 0 0; color:var(--studio-muted); box-shadow:none; }
body.studio-home .pricing-note { padding:24px; gap:16px; }
body.studio-home .pricing-note p { margin:0; }
body.studio-home .pricing-note .note-icon { flex-shrink:0; }
body.studio-home .payment-badges { display:inline-flex; flex-wrap:wrap; justify-content:center; gap:8px; }
body.studio-home .programs-pricing { padding:32px; grid-template-columns:minmax(0,1fr) minmax(200px,260px); gap:32px; }
body.studio-home .programs-pricing .price-tier { margin-bottom:14px; color:var(--studio-accent) !important; font-size:12px; }
body.studio-home .programs-pricing h2 { font-size:clamp(24px,2.5vw,34px); line-height:1.2; margin:0 0 16px; }
body.studio-home .programs-pricing p { color:var(--studio-muted); line-height:1.7; max-width:70ch; }
body.studio-home .faq-grid { width:100%; max-width:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:0 60px; }
body.studio-home .faq-item { border:0 !important; border-top:1px solid var(--studio-line) !important; border-radius:0; background:transparent !important; padding:28px 0; }
body.studio-home .faq-item h3 { font-size:18px; font-weight:500; margin:0 0 12px; }
body.studio-home .faq-item p { color:var(--studio-muted); font-size:14px; line-height:1.7; }
body.studio-home .studio-close h2 { font-size:clamp(42px,6vw,84px); letter-spacing:-.06em; line-height:1.1; font-weight:500; margin:30px 0; max-width:850px; }
body.studio-home .studio-close h2 span { color:#93c5fd; }
body.studio-home footer { padding:35px 48px; display:flex; justify-content:space-between; align-items:center; gap:30px; font-size:12px; text-align:left; }
body.studio-home footer a { color:#cbd5e1; text-decoration:none; }
body.studio-home footer nav { display:flex; gap:25px; }
@media(max-width:900px) {
  body.studio-home .studio-container { width:calc(100% - 48px); }
  body.studio-home header.studio-nav { padding-inline:24px; }
  body.studio-home .studio-wing,body.studio-home .studio-classroom { gap:35px; }
  body.studio-home .studio-philosophy { grid-template-columns:1fr; }
  body.studio-home .pricing { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.studio-home .studio-diagram { padding:22px; }
}
@media(max-width:650px) {
  body.studio-home header.studio-nav { height:76px; gap:15px; flex-wrap:nowrap; }
  body.studio-home .studio-wordmark { font-size:20px; }
  body.studio-home header .cta-btn { margin:0; padding:9px 12px; font-size:11px; }
  body.studio-home header nav { display:none; }
  body.studio-home .mobile-menu-btn { display:flex; flex:none; }
  body.studio-home header.menu-open nav { display:block; position:absolute; top:76px; left:0; right:0; background:#111827 !important; padding:26px; z-index:20; border-bottom:1px solid var(--studio-line); }
  body.studio-home header.menu-open nav ul { display:flex; flex-direction:column; gap:20px; }
  body.studio-home .studio-hero { min-height:calc(100svh - 76px); padding-top:60px; }
  body.studio-home .studio-hero h1 { font-size:clamp(42px,10vw,64px); }
  body.studio-home .studio-hero p { font-size:15px; }
  body.studio-home .studio-hero-meta { margin-top:65px; font-size:9px; }
  body.studio-home .studio-hero-meta a { display:none; }
  body.studio-home .studio-section { padding-block:65px; }
  body.studio-home .studio-section-heading { display:block; margin-bottom:35px; }
  body.studio-home .studio-section-heading .studio-kicker { margin-top:20px; }
  body.studio-home .studio-wing,body.studio-home .studio-classroom { grid-template-columns:1fr; gap:35px; }
  body.studio-home .studio-wing { padding-block:40px; }
  body.studio-home .pricing,body.studio-home .faq-grid { grid-template-columns:1fr; }
  body.studio-home .programs-pricing { grid-template-columns:1fr; padding:24px; gap:24px; }
  body.studio-home .pricing-note { padding:24px 18px; }
  body.studio-home .payment-note { flex-direction:column; gap:12px; }
  body.studio-home footer { padding:30px 24px; flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body.studio-theme *,body.studio-theme *::before,body.studio-theme *::after { animation:none !important; transition:none !important; } }

/* Feature shells: match the legacy page selectors without changing clinical result colors. */
body.studio-theme :is(.section,.success-card,.upgrade-banner,.early-pro-banner,.trial-ended-prompt,.weekly-limit-dialog,.speed-sig-consent-dialog,.ma-onboarding-card,.ma-drug-lookup-dialog,.ma-drug-result,.ma-drug-variant,.ma-drug-variant-heading,.triage-note,.delegated-entry,.emr-order-entry,.wing-sim-stats,.wing-sim-prompt,.compact-readiness-bar,.wing-mode-stats) {
  background:var(--studio-panel) !important; border-color:var(--studio-line) !important; box-shadow:none !important;
}
body.studio-theme .ma-example-grid section { background:var(--studio-panel) !important; border-color:var(--studio-line) !important; }
body.studio-theme :is(.logo-rx,.feature-icon) { background:#132447 !important; border-color:#2563eb !important; color:var(--studio-accent) !important; }
body.studio-theme :is(.field-label,.feature-status,.weekly-limit-kicker,.queue-section-title,.rx-script-heading,.mode-card-kicker) { color:var(--studio-accent) !important; }
body.studio-theme :is(.page-title,.logo-text,.section li) { font-family:var(--rx-sans) !important; text-shadow:none !important; }
body.studio-theme .contact, body.studio-theme .section ul li::before { color:var(--studio-accent); }
body.studio-theme .updated { color:var(--studio-muted); }
body.studio-theme .header-btn#upgradeHeaderBtn,
body.studio-theme :is(.tab-active,.weekly-limit-primary,.inline-upgrade-btn),
body.studio-theme.clinical-wing-page :is(#maOnboardingStartBtn,#maTriageForm button[type="submit"],.ma-drug-lookup-search-row button) {
  background:var(--studio-action) !important; border-color:var(--studio-accent) !important; color:#ffffff !important;
}
body.studio-theme :is(.btn-primary,.btn-save,.price-cta,.header-btn,.weekly-limit-primary):hover,
body.studio-theme .header-btn#upgradeHeaderBtn:hover { background:#1d4ed8 !important; border-color:#1d4ed8 !important; color:#ffffff !important; }
body.studio-theme :is(.wing-module,.dashboard-tile):is(:hover,:active,:focus-visible) { border-color:#3b82f6 !important; }
body.studio-theme :is(.wing-mode-tab.active,.library-tab.active) { background:#132447 !important; border-color:#3b82f6 !important; color:var(--studio-text) !important; }
body.studio-theme :is(input,select,textarea,.field-input):focus,
body.studio-theme.clinical-wing-page .ma-drug-lookup-search-row input:focus { border-color:var(--studio-accent) !important; box-shadow:0 0 0 3px #3b82f62e !important; }
body.studio-theme .compact-toggle input:checked + .compact-switch { background:#2563eb !important; border-color:var(--studio-accent) !important; }
body.studio-theme :focus-visible { outline:2px solid var(--studio-accent) !important; outline-offset:4px; }
body.studio-home :is(h1,h2,h3) { font-weight:500 !important; }
body.studio-home .studio-hero h1 { letter-spacing:-.065em !important; }
body.studio-home :is(.studio-section-heading h2,.studio-classroom h2,.studio-close h2,.studio-wing h3) { letter-spacing:-.05em !important; }

/* Pharmacy workstation chrome; retain warning badges, correctness, and drug label paper. */
body.studio-theme.sim-page :is(.mode-select-screen,.monitor-workspace,.sim-shell) { background:var(--studio-bg) !important; }
body.studio-theme.sim-page :is(.monitor-topbar,.panel-heading,.workspace-header,.paywall-card,.profile-field,.queue-item,.confirmation-box,.issue-box,.rx-summary,.result-card,.workflow-section,.med-search-tool,.summary-item,.reference-lookup-card,.reference-drug-card,.shift-modal-card,.accuracy-panel,.competency-panel,.verification-panel,.communication-panel,.promotion-panel,.caller-card) {
  background:var(--studio-panel) !important; border-color:var(--studio-line) !important;
}
body.studio-theme.sim-page :is(.sim-panel,.queue-section + .queue-section,.rx-script-section,.call-side-panel) { border-color:var(--studio-line) !important; }
body.studio-theme.sim-page :is(.section-label,.queue-section-title,.rx-script-heading,.metric-title,.mode-card-kicker) { color:var(--studio-accent) !important; }
body.studio-theme.sim-page :is(.secondary-action,.sim-account-link,.queue-action,.topbar-tool-btn,.step-pill,.queue-tab) { border-color:#334766 !important; }
body.studio-theme.sim-page :is(.primary-action,.step-pill.active,.step-pill.complete,.mode-card button:not(:disabled),.queue-tab.active,.topbar-tool-btn:active,.topbar-tool-btn:focus-visible) {
  background:var(--studio-action) !important; border-color:var(--studio-accent) !important; color:#ffffff !important;
}
body.studio-theme.sim-page :is(.queue-item.active,.queue-item:active,.queue-item:focus-visible,.med-result:hover,.med-result:focus-visible,.selected-med-card,.ndc-option.selected) { background:#132447 !important; border-color:#3b82f6 !important; }
body.studio-theme.sim-page .phone-icon { background:#132447 !important; border-color:#3b82f6 !important; color:var(--studio-accent) !important; }
body.studio-theme.sim-page .promotion-bar span { background:var(--studio-action) !important; }
body.studio-theme.sim-page .accuracy-ring { background:conic-gradient(var(--studio-accent) var(--accuracy),var(--studio-line) 0) !important; }
body.studio-theme.sim-page .accuracy-ring::before { background:var(--studio-panel) !important; }
body.studio-theme.sim-page .template-drug-bar { background:#132447; color:var(--studio-text); }

/* Provider forms sit beside a deliberately light, readable physical clipboard. */
body.studio-theme.prescriber-page :is(.prescriber-paywall-card,.rx-sheet,.drug-lookup-dialog,.drug-result,.drug-variant,.drug-variant-heading) { background:var(--studio-panel) !important; border-color:var(--studio-line) !important; box-shadow:none !important; }
body.studio-theme.prescriber-page :is(.rx-sheet-header,.drug-lookup-header) { border-color:var(--studio-line) !important; }
body.studio-theme.prescriber-page :is(.rx-sheet .section-label,.drug-lookup-header .section-label,.prescription-form label) { color:var(--studio-accent) !important; }
body.studio-theme.prescriber-page :is(.rx-mark,.primary-prescriber-action,.drug-lookup-search-row button) { background:var(--studio-action) !important; border-color:var(--studio-accent) !important; color:#ffffff !important; }
body.studio-theme.prescriber-page :is(.secondary-prescriber-action,.secondary-prescriber-link,.signature-stamp-btn,.drug-lookup-close) { border-color:#334766 !important; }
body.studio-theme.prescriber-page :is(.drug-result.selected,.drug-result:hover,.drug-variant:hover) { background:#132447 !important; border-color:#3b82f6 !important; }
body.studio-theme.prescriber-page :is(.prescription-form input,.prescription-form textarea,.drug-lookup-search-row input):focus { border-color:var(--studio-accent) !important; box-shadow:0 0 0 3px #3b82f62e !important; }

/* Phlebotomy scene artwork and clinical success/error/tube colors remain intact. */
body.studio-theme.phlebotomy-page :is(.phleb-order-panel,.phleb-action-panel,.phleb-stage,.order-meta div,.review-list li,.phleb-status span,.stepper-item:not(.active):not(.done),.angle-meter,.depth-meter,.summary-row) { background:var(--studio-panel) !important; border-color:var(--studio-line) !important; }
body.studio-theme.phlebotomy-page :is(.scene-canvas,.supply-counter-art) { background:var(--studio-bg); }
body.studio-theme.phlebotomy-page :is(.stepper-item.active,.primary-phleb-btn) { background:var(--studio-action) !important; border-color:var(--studio-accent) !important; color:#ffffff !important; }
body.studio-theme.phlebotomy-page :is(.secondary-phleb-btn,.phleb-choice:not(.is-selected),.supply-btn:not(.is-gathered),.tube-btn:not(.is-filled),.post-step-btn:not(.is-done),.dob-option:not(.is-selected),.vein-option:not(.is-selected),.label-tube-btn:not(.is-selected):not(.is-labeled)) { background:#0f172a !important; border-color:#334766 !important; }

body.studio-theme.qbank-page .qbank-btn.primary { background:var(--studio-action) !important; border-color:var(--studio-accent) !important; color:#ffffff !important; }
body.studio-theme.qbank-page .qbank-btn.primary:hover { background:#1d4ed8 !important; }
body.studio-theme.demo-page .rx-paper h2 { color:var(--ink) !important; }
body.studio-theme.demo-page .primary-btn { background:var(--studio-action); color:#ffffff; }
body.studio-theme.demo-page .primary-btn:hover { background:#1d4ed8; }

/* Practice lists and dialogs use the same neutral surfaces, without touching answer states. */
body.studio-theme :is(.speed-sig-leaderboard-panel,.speed-sig-mode-card,.speed-sig-card,.speed-sig-results-card,.library-card,.library-search-row,.library-empty) {
  background:var(--studio-panel) !important; border-color:var(--studio-line) !important; box-shadow:none !important;
}
body.studio-theme :is(.speed-sig-primary-btn,.speed-sig-start-btn) { background:var(--studio-action) !important; border-color:var(--studio-accent) !important; color:#ffffff !important; }
body.studio-theme .migration-progress span { background:var(--studio-action); }
body.studio-theme a { color:var(--studio-accent); }

/* Keep the original family logos and the nosterCodes signature, without recoloring artwork. */
body.studio-home .studio-brand-logo { display:block; width:190px; max-width:100%; height:auto; border-radius:6px; }
body.studio-home .studio-wordmark { flex-shrink:0; }
body.studio-home header nav { width:auto; flex:0 1 auto; }
body.studio-home header nav a, body.studio-home header .cta-btn { white-space:nowrap; }
body.studio-home header .cta-btn { flex-shrink:0; }
body.studio-home .studio-wing-brand { display:block; width:auto; max-width:220px; max-height:58px; height:auto; object-fit:contain; margin:0 0 26px; border-radius:6px; }
body.studio-home .studio-footer-credit { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
body.studio-home .studio-footer-credit img { width:120px; height:auto; border-radius:4px; }
body.studio-home .studio-diagram-top, body.studio-home .studio-table th { font-weight:500; }
@media(max-width:650px) { body.studio-home .studio-brand-logo { width:145px; } body.studio-home .studio-hero h1 { font-size:clamp(36px,9vw,56px); } }
