/* =============================================================
   Concura.AI — Objective Page Styling
   Two-zone layout: Reference (de-emphasized) + Concura Insight (prominent)
   Scoped to the new wrapper classes only — does not affect other pages.
   ============================================================= */

/* --- Breadcrumb navigation (top of every generated page) --- */
.md-typeset .md-breadcrumbs {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  letter-spacing: 0.01em;
}

.md-typeset .md-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.md-typeset .md-breadcrumbs li {
  display: inline-flex;
  align-items: center;
}

.md-typeset .md-breadcrumbs li:not(:first-child)::before {
  content: "›";
  margin: 0 0.45rem;
  color: var(--md-default-fg-color--lighter);
  font-weight: 400;
}

.md-typeset .md-breadcrumbs a {
  color: var(--md-default-fg-color--light);
  text-decoration: none;
  border-bottom: 1px dotted transparent;
  transition: color 0.15s, border-color 0.15s;
}

.md-typeset .md-breadcrumbs a:hover {
  color: #008080;
  border-bottom-color: #008080;
}

.md-typeset .md-breadcrumbs__current {
  color: var(--md-default-fg-color);
  font-weight: 600;
}

/* --- Meta strip under the H1 --- */
.md-typeset .objective-meta {
  font-size: 0.82rem;
  color: var(--md-default-fg-color--light);
  margin: 0.25rem 0 1.5rem;
  padding: 0 0 0.6rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  letter-spacing: 0.01em;
}

.md-typeset .objective-meta p {
  margin: 0;
}

/* --- Reference block: verbatim NIST/DoD text, de-emphasized --- */
.md-typeset .reference-block {
  background: var(--md-default-bg-color);
  border-left: 3px solid var(--md-default-fg-color--lightest);
  padding: 0.9rem 1.25rem 0.95rem;
  margin: 1rem 0 1.25rem;
  border-radius: 2px;
  color: var(--md-default-fg-color--light);
}

.md-typeset .reference-block > p:first-child > strong:first-child,
.md-typeset .reference-block > p:first-child strong:first-child {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--md-default-fg-color);
  margin-bottom: 0.4rem;
}

.md-typeset .reference-block p {
  margin: 0.5rem 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.md-typeset .reference-block small {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.72rem;
  font-style: italic;
  color: var(--md-default-fg-color--lighter);
}

/* --- Concura Insight: the value zone --- */
.md-typeset .concura-insight {
  position: relative;
  background:
    linear-gradient(180deg, #fafdfd 0%, #ffffff 60%);
  border: 1px solid #d6e7e7;
  border-left: 4px solid #008080;
  border-radius: 6px;
  padding: 1.4rem 1.75rem 1.25rem;
  margin: 1.75rem 0 2rem;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.03),
    0 6px 18px rgba(0, 128, 128, 0.05);
}

.md-typeset .concura-insight__header {
  margin-bottom: 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(0, 128, 128, 0.14);
}

.md-typeset .concura-insight__badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #008080;
  background: rgba(0, 128, 128, 0.08);
  padding: 0.32rem 0.65rem;
  border-radius: 3px;
  line-height: 1;
}

/* Section headings inside the insight card */
.md-typeset .concura-insight h3 {
  font-size: 1.02rem;
  font-weight: 600;
  color: #134e4a;
  letter-spacing: -0.005em;
  margin: 1.4rem 0 0.45rem;
  padding: 0;
}

.md-typeset .concura-insight h3:first-of-type {
  margin-top: 0.25rem;
}

/* Body text inside the insight card */
.md-typeset .concura-insight p,
.md-typeset .concura-insight ul,
.md-typeset .concura-insight ol {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #1f2d2d;
}

.md-typeset .concura-insight p {
  margin: 0.4rem 0 0.7rem;
}

.md-typeset .concura-insight ul,
.md-typeset .concura-insight ol {
  margin: 0.4rem 0 0.7rem 1.1rem;
}

.md-typeset .concura-insight li {
  margin: 0.25rem 0;
}

/* --- Discussion block: combined NIST + CMMC paragraphs with separators --- */
.md-typeset .reference-block--discussion p {
  margin: 0.6rem 0;
}

.md-typeset .reference-block--discussion hr {
  margin: 1rem 0;
  border: none;
  border-top: 1px solid var(--md-default-fg-color--lightest);
}

/* --- Common Pitfall callout — nested inside Concura Insight card --- */
.md-typeset .concura-insight .pitfall-callout {
  margin: 1.4rem 0 0.5rem;
  padding: 0.95rem 1.15rem 0.85rem;
  background: rgba(186, 117, 23, 0.05);
  border-left: 3px solid #BA7517;
  border-radius: 4px;
}

.md-typeset .concura-insight .pitfall-callout > p:first-child > strong:first-child {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #854F0B;
  margin-bottom: 0.45rem;
}

.md-typeset .concura-insight .pitfall-callout p {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #1f2d2d;
  margin: 0.35rem 0;
}

.md-typeset .concura-insight .pitfall-callout em {
  color: #6b6b6b;
  font-style: italic;
}

/* =============================================================
   Tabbed layout variant — Concura Insight + Reference as two
   color-coded tabs at the top of the objective page.
   Scoped to .objective-tabs so other content tabs on the site
   are unaffected.
   ============================================================= */

.md-typeset .objective-tabs {
  margin: 1.25rem 0 2rem;
}

/* Force the alternate (horizontal-tabs) behavior even when Material's defaults
   don't kick in cleanly. Hide inactive tab blocks; show only the one whose
   input is checked. Hide the radio inputs themselves. */
.md-typeset .objective-tabs > .tabbed-set > input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.md-typeset .objective-tabs .tabbed-content > .tabbed-block {
  display: none;
}

.md-typeset .objective-tabs input:nth-of-type(1):checked
  ~ .tabbed-content > .tabbed-block:nth-of-type(1),
.md-typeset .objective-tabs input:nth-of-type(2):checked
  ~ .tabbed-content > .tabbed-block:nth-of-type(2),
.md-typeset .objective-tabs input:nth-of-type(3):checked
  ~ .tabbed-content > .tabbed-block:nth-of-type(3) {
  display: block;
}

/* Notebook-tab strip — labels sit on top of the panel like file-folder tabs */
.md-typeset .objective-tabs .tabbed-labels {
  border-bottom: none;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 4px;
  padding-left: 0;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}

.md-typeset .objective-tabs .tabbed-labels > label {
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.7rem 1.4rem 0.75rem;
  margin: 0 0 -1px;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  border: 1px solid transparent;
  border-bottom: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

/* Concura Insight tab — teal */
.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(1) {
  background: rgba(0, 128, 128, 0.10);
  color: rgba(0, 128, 128, 0.62);
  border-color: rgba(0, 128, 128, 0.18);
}

.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(1):hover {
  background: rgba(0, 128, 128, 0.16);
  color: #008080;
}

/* Reference tab — neutral gray */
.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(2) {
  background: rgba(0, 0, 0, 0.04);
  color: var(--md-default-fg-color--light);
  border-color: var(--md-default-fg-color--lightest);
}

.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(2):hover {
  background: rgba(0, 0, 0, 0.07);
  color: var(--md-default-fg-color);
}

/* Implementation tab — slate blue (informational reference content; reassigned from coral 2026-05-23 when My SSP took over the "do" zone) */
.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(3) {
  background: rgba(71, 85, 105, 0.08);
  color: rgba(51, 65, 85, 0.62);
  border-color: rgba(71, 85, 105, 0.20);
}

.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(3):hover {
  background: rgba(71, 85, 105, 0.13);
  color: #334155;
}

/* My SSP tab — cinematic coral-orange (the new customer "do" zone, replacing Implementation tab's prior role) */
.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(4) {
  background: rgba(216, 90, 48, 0.08);
  color: rgba(153, 60, 29, 0.65);
  border-color: rgba(216, 90, 48, 0.20);
}

.md-typeset .objective-tabs .tabbed-labels > label:nth-of-type(4):hover {
  background: rgba(216, 90, 48, 0.13);
  color: #993C1D;
}

/* Active Concura tab — solid teal fill, white text — high contrast against
   the lighter tinted panel below for an unambiguous "selected" signal. */
.md-typeset .objective-tabs input:nth-of-type(1):checked
  ~ .tabbed-labels > label:nth-of-type(1) {
  background: #008080;
  color: #ffffff;
  border-color: #008080;
}

/* Active Reference tab — solid dark slate fill, white text */
.md-typeset .objective-tabs input:nth-of-type(2):checked
  ~ .tabbed-labels > label:nth-of-type(2) {
  background: #2c2c2c;
  color: #ffffff;
  border-color: #2c2c2c;
}

/* Active Implementation tab — solid slate-blue fill, white text */
.md-typeset .objective-tabs input:nth-of-type(3):checked
  ~ .tabbed-labels > label:nth-of-type(3) {
  background: #475569;
  color: #ffffff;
  border-color: #475569;
}

/* Active My SSP tab — solid coral fill, white text (the new customer "do" zone) */
.md-typeset .objective-tabs input:nth-of-type(4):checked
  ~ .tabbed-labels > label:nth-of-type(4) {
  background: #D85A30;
  color: #ffffff;
  border-color: #D85A30;
}

/* Tab content panel — shared base */
.md-typeset .objective-tabs .tabbed-content {
  padding: 1.5rem 1.75rem 1.25rem;
  border-radius: 0 8px 8px 8px;
  border: 1px solid var(--md-default-fg-color--lightest);
  position: relative;
  z-index: 0;
}

/* Concura content panel — teal-tinted, accent stripe on the left */
.md-typeset .objective-tabs input:nth-of-type(1):checked
  ~ .tabbed-content {
  background: linear-gradient(180deg, #fafdfd 0%, #ffffff 100%);
  border-color: #d6e7e7;
  border-left: 4px solid #008080;
}

/* Reference content panel — neutral, muted accent */
.md-typeset .objective-tabs input:nth-of-type(2):checked
  ~ .tabbed-content {
  background: var(--md-default-bg-color);
  border-color: var(--md-default-fg-color--lightest);
  border-left: 4px solid var(--md-default-fg-color--lightest);
  color: var(--md-default-fg-color--light);
}

/* Implementation content panel — slate-blue-tinted, slate-blue accent stripe (reassigned from coral 2026-05-23; My SSP tab now owns the coral "do" zone) */
.md-typeset .objective-tabs input:nth-of-type(3):checked
  ~ .tabbed-content {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border-color: #cbd5e1;
  border-left: 4px solid #475569;
  color: var(--md-default-fg-color);
}

/* Headings inside the Implementation tab */
.md-typeset .objective-tabs input:nth-of-type(3):checked
  ~ .tabbed-content .tabbed-block h3 {
  color: #334155;
}

/* SSP Snippet template inside Implementation tab — slate-tinted blockquote */
.md-typeset .objective-tabs input:nth-of-type(3):checked
  ~ .tabbed-content .tabbed-block blockquote {
  background: #f1f5f9;
  border-left: 3px solid #475569;
  border-radius: 4px;
  padding: 0.85rem 1.1rem;
  margin: 0.6rem 0 1rem;
  font-style: normal;
  color: #1e293b;
}

.md-typeset .objective-tabs input:nth-of-type(3):checked
  ~ .tabbed-content .tabbed-block em {
  color: #334155;
  font-size: 0.88rem;
}

/* My SSP content panel — coral-tinted, coral accent stripe (the customer "do" zone) */
.md-typeset .objective-tabs input:nth-of-type(4):checked
  ~ .tabbed-content {
  background: linear-gradient(180deg, #FEF6F1 0%, #ffffff 100%);
  border-color: #F0BFA8;
  border-left: 4px solid #D85A30;
  color: var(--md-default-fg-color);
}

/* Headings inside the My SSP tab */
.md-typeset .objective-tabs input:nth-of-type(4):checked
  ~ .tabbed-content .tabbed-block h3 {
  color: #712B13;
}

/* Italicized placeholder text inside My SSP tab */
.md-typeset .objective-tabs input:nth-of-type(4):checked
  ~ .tabbed-content .tabbed-block em {
  color: #993C1D;
  font-size: 0.88rem;
}

/* ---------------------------------------------------------------------
 * My SSP narrative editor (My SSP Phase A)
 *
 * Rendered by tools/generate_pages.py into the "My SSP" tab on every
 * objective page. Wired to the Flask narrative endpoint by
 * docs/js/my-ssp.js. Coral palette matches the tab the editor sits in.
 * --------------------------------------------------------------------- */
.md-typeset .my-ssp-narrative {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.75rem 0 0.25rem;
}

.md-typeset .my-ssp-textarea {
  width: 100%;
  min-height: 14rem;
  padding: 0.75rem 0.85rem;
  font: inherit;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--md-default-fg-color);
  background: #ffffff;
  border: 1px solid #F0BFA8;
  border-left: 4px solid #D85A30;
  border-radius: 4px;
  resize: vertical;
  box-shadow: inset 0 1px 0 rgba(216, 90, 48, 0.04);
  transition: border-color 120ms ease, box-shadow 120ms ease;
}

.md-typeset .my-ssp-textarea:focus {
  outline: none;
  border-color: #D85A30;
  box-shadow: 0 0 0 2px rgba(216, 90, 48, 0.22);
}

.md-typeset .my-ssp-textarea:disabled {
  background: #FAF1EB;
  color: var(--md-default-fg-color--light);
  cursor: not-allowed;
}

.md-typeset .my-ssp-textarea::placeholder {
  color: #B07758;
  font-style: italic;
}

/* Save-status pill — shows under the textarea */
.md-typeset .my-ssp-status {
  align-self: flex-start;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: rgba(216, 90, 48, 0.08);
  color: #712B13;
  min-height: 1.2rem;
}

.md-typeset .my-ssp-status[data-kind="loading"],
.md-typeset .my-ssp-status[data-kind="saving"] {
  background: rgba(216, 90, 48, 0.12);
  color: #993C1D;
}

.md-typeset .my-ssp-status[data-kind="saved"] {
  background: rgba(16, 122, 84, 0.10);
  color: #0E5C3F;
}

.md-typeset .my-ssp-status[data-kind="dirty"] {
  background: rgba(186, 117, 23, 0.12);
  color: #854F0B;
}

.md-typeset .my-ssp-status[data-kind="save-error"],
.md-typeset .my-ssp-status[data-kind="load-error"] {
  background: rgba(176, 35, 24, 0.10);
  color: #8A1F14;
}

.md-typeset .my-ssp-status[data-kind="anonymous"] {
  background: rgba(15, 23, 42, 0.05);
  color: var(--md-default-fg-color--light);
  font-style: italic;
}

.md-typeset .my-ssp-footnote {
  font-size: 0.8rem;
  color: var(--md-default-fg-color--light);
  font-style: italic;
}

/* --- Persistent footer block beneath the tabs --- */
.md-typeset .objective-footer {
  margin: 1.5rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid var(--md-default-fg-color--lightest);
  font-size: 0.88rem;
  color: var(--md-default-fg-color--light);
}

.md-typeset .objective-footer p {
  margin: 0.35rem 0;
}

.md-typeset .objective-footer strong {
  color: var(--md-default-fg-color);
}

/* Headings inside the Concura tab */
.md-typeset .objective-tabs .tabbed-block h3 {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  margin: 1.4rem 0 0.45rem;
}

.md-typeset .objective-tabs .tabbed-block h3:first-of-type {
  margin-top: 0.25rem;
}

.md-typeset .objective-tabs input:nth-of-type(1):checked
  ~ .tabbed-content .tabbed-block h3 {
  color: #134e4a;
}

/* Body text and lists inside tabs */
.md-typeset .objective-tabs .tabbed-block p,
.md-typeset .objective-tabs .tabbed-block ul,
.md-typeset .objective-tabs .tabbed-block ol {
  font-size: 0.95rem;
  line-height: 1.65;
}

/* Reference tab — small italic labels for Assessment Objective / Discussion */
.md-typeset .objective-tabs input:nth-of-type(2):checked
  ~ .tabbed-content .tabbed-block strong:first-child {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--md-default-fg-color);
  display: block;
  margin: 0 0 0.4rem;
}

.md-typeset .objective-tabs .tabbed-block hr {
  margin: 1rem 0;
  border: none;
  border-top: 1px solid var(--md-default-fg-color--lightest);
}

/* Reference tab — italic emphasis for source citations */
.md-typeset .objective-tabs input:nth-of-type(2):checked
  ~ .tabbed-content .tabbed-block em {
  display: block;
  font-size: 0.72rem;
  color: var(--md-default-fg-color--lighter);
  margin-top: 0.5rem;
}

/* ---------------------------------------------------------------------
 * Parent (requirement) page — 3-tab variant with My SSP as tab 3.
 *
 * The child-page CSS above paints tab 3 slate-blue (the Implementation
 * tab on child pages). Parent pages use a different layout where tab 3
 * is the customer's My SSP narrative — overall narrative for the
 * requirement, sitting above the per-sub-objective entries in the
 * synthesized SSP export. Override the 3rd-tab styling to coral for
 * those pages. Selector specificity (.objective-tabs.objective-tabs--parent)
 * is higher than the bare .objective-tabs rules, so these win.
 * --------------------------------------------------------------------- */

/* Inactive My SSP tab on parent pages — coral tinted */
.md-typeset .objective-tabs.objective-tabs--parent .tabbed-labels > label:nth-of-type(3) {
  background: rgba(216, 90, 48, 0.08);
  color: rgba(153, 60, 29, 0.65);
  border-color: rgba(216, 90, 48, 0.20);
}

.md-typeset .objective-tabs.objective-tabs--parent .tabbed-labels > label:nth-of-type(3):hover {
  background: rgba(216, 90, 48, 0.13);
  color: #993C1D;
}

/* Active My SSP tab on parent pages — solid coral fill */
.md-typeset .objective-tabs.objective-tabs--parent input:nth-of-type(3):checked
  ~ .tabbed-labels > label:nth-of-type(3) {
  background: #D85A30;
  color: #ffffff;
  border-color: #D85A30;
}

/* My SSP content panel on parent pages — coral-tinted, coral accent stripe */
.md-typeset .objective-tabs.objective-tabs--parent input:nth-of-type(3):checked
  ~ .tabbed-content {
  background: linear-gradient(180deg, #FEF6F1 0%, #ffffff 100%);
  border-color: #F0BFA8;
  border-left: 4px solid #D85A30;
  color: var(--md-default-fg-color);
}

/* Headings inside the My SSP tab on parent pages */
.md-typeset .objective-tabs.objective-tabs--parent input:nth-of-type(3):checked
  ~ .tabbed-content .tabbed-block h3 {
  color: #712B13;
}

/* =============================================================
   Parent (requirement) page styling — keeps the parent in the
   same cinematic palette as the child objective pages.
   ============================================================= */

/* --- Sub-objective navigation buttons — markdown links with attr_list --- */
/* Each link is wrapped in its own <p> by markdown; we strip the paragraph margins
   and make the link itself a block-level box matching the AU family page style. */
.md-typeset .tabbed-block p:has(> a.objective-nav-button:only-child) {
  margin: 0 0 0.5rem 0;
}

.md-typeset a.objective-nav-button {
  display: block;
  width: 100%;
  background: var(--md-default-bg-color);
  border: 2px solid #008080;
  border-radius: 4px;
  padding: 0.85rem 1.25rem;
  margin: 0;
  text-decoration: none;
  color: #008080;
  font-size: 0.95rem;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 600;
  transition: background 0.15s, color 0.15s, transform 0.05s;
  box-sizing: border-box;
}

/* Subtle teal tint on hover — matches Material's .md-button hover
   pattern used on family-page and families-index buttons, so the
   hover behavior is consistent at every nav level. The button's
   text color (which encodes bookmarker status) is preserved instead
   of being flipped to white, so completed/in_progress/not_started
   colors remain visible mid-hover. */
.md-typeset a.objective-nav-button:hover {
  background: rgba(0, 128, 128, 0.08);
}

.md-typeset a.objective-nav-button:active {
  transform: translateY(1px);
}

.md-typeset a.objective-nav-button strong {
  color: #008080;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* =============================================================
   Custom admonition types for the Discussion tab on parent pages.
   Each section is a Material admonition styled in the cinematic
   palette to match the rest of the site.
   ============================================================= */

/* Discussion — gray reference-block look */
.md-typeset .admonition.cmmc-discussion {
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-left: 3px solid var(--md-default-fg-color--lightest);
  border-radius: 4px;
  margin: 1.25rem 0;
  padding: 0;
  box-shadow: none;
}

.md-typeset .admonition.cmmc-discussion > .admonition-title {
  background: rgba(0, 0, 0, 0.03);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--md-default-fg-color);
  padding: 0.6rem 1rem 0.5rem;
  margin: 0;
  border-radius: 0;
}

.md-typeset .admonition.cmmc-discussion > .admonition-title::before {
  display: none;
}

.md-typeset .admonition.cmmc-discussion > p {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--md-default-fg-color--light);
  margin: 0.6rem 1rem;
}

.md-typeset .admonition.cmmc-discussion > hr {
  margin: 0.6rem 1rem;
  border: none;
  border-top: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset .admonition.cmmc-discussion > p:last-child em {
  font-size: 0.72rem;
  color: var(--md-default-fg-color--lighter);
  font-style: italic;
}

/* Methods — neutral gray box, similar to Discussion but distinct */
.md-typeset .admonition.cmmc-methods {
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-left: 3px solid var(--md-default-fg-color--light);
  border-radius: 4px;
  margin: 1.25rem 0;
  padding: 0;
  box-shadow: none;
}

.md-typeset .admonition.cmmc-methods > .admonition-title {
  background: rgba(0, 0, 0, 0.025);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--md-default-fg-color);
  padding: 0.6rem 1rem 0.5rem;
  margin: 0;
  border-radius: 0;
}

.md-typeset .admonition.cmmc-methods > .admonition-title::before {
  display: none;
}

.md-typeset .admonition.cmmc-methods > p {
  margin: 0.6rem 1rem 0.3rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--md-default-fg-color);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.md-typeset .admonition.cmmc-methods > ul {
  margin: 0.3rem 1rem 0.85rem;
  padding: 0 0 0 1rem;
}

.md-typeset .admonition.cmmc-methods > ul > li {
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--md-default-fg-color--light);
  margin: 0.2rem 0;
}

/* Examples — coral box (matches Implementation tab) */
.md-typeset .admonition.cmmc-examples {
  background: linear-gradient(180deg, #FEF6F1 0%, #ffffff 100%);
  border: 1px solid #F0BFA8;
  border-left: 4px solid #D85A30;
  border-radius: 6px;
  margin: 1.5rem 0;
  padding: 0;
  box-shadow: none;
}

.md-typeset .admonition.cmmc-examples > .admonition-title {
  background: transparent;
  font-size: 1rem;
  font-weight: 600;
  color: #712B13;
  padding: 0.85rem 1.25rem 0.4rem;
  margin: 0;
  border-bottom: none;
}

.md-typeset .admonition.cmmc-examples > .admonition-title::before {
  display: none;
}

.md-typeset .admonition.cmmc-examples > p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #1f2d2d;
  margin: 0.4rem 1.25rem 0.85rem;
}

.md-typeset .admonition.cmmc-examples > p strong {
  color: #993C1D;
}

.md-typeset .admonition.cmmc-examples > p:last-child em {
  font-size: 0.78rem;
  color: #993C1D;
  font-style: italic;
}

/* Potential Assessment Considerations — amber callout */
.md-typeset .admonition.cmmc-considerations {
  background: rgba(186, 117, 23, 0.05);
  border: 1px solid rgba(186, 117, 23, 0.18);
  border-left: 3px solid #BA7517;
  border-radius: 4px;
  margin: 1.5rem 0;
  padding: 0;
  box-shadow: none;
}

.md-typeset .admonition.cmmc-considerations > .admonition-title {
  background: transparent;
  font-size: 0.95rem;
  font-weight: 600;
  color: #854F0B;
  padding: 0.75rem 1.25rem 0.35rem;
  margin: 0;
  border-bottom: none;
}

.md-typeset .admonition.cmmc-considerations > .admonition-title::before {
  display: none;
}

.md-typeset .admonition.cmmc-considerations > ul {
  margin: 0.35rem 1.25rem 0.5rem;
  padding: 0 0 0 1rem;
}

.md-typeset .admonition.cmmc-considerations > ul > li {
  font-size: 0.93rem;
  line-height: 1.55;
  color: #1f2d2d;
  margin: 0.3rem 0;
}

.md-typeset .admonition.cmmc-considerations > p:last-child em {
  font-size: 0.78rem;
  color: #6b6b6b;
  font-style: italic;
  display: block;
  margin: 0.5rem 1.25rem 0.85rem;
}

/* Key References — compact footer treatment */
.md-typeset .admonition.cmmc-references {
  background: transparent;
  border: none;
  border-top: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0;
  margin: 1.75rem 0 0;
  padding: 0.75rem 0 0;
  box-shadow: none;
}

.md-typeset .admonition.cmmc-references > .admonition-title {
  background: transparent;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--md-default-fg-color);
  padding: 0 0 0.35rem;
  margin: 0;
  border-bottom: none;
}

.md-typeset .admonition.cmmc-references > .admonition-title::before {
  display: none;
}

.md-typeset .admonition.cmmc-references > ul {
  margin: 0.3rem 0 0;
  padding: 0 0 0 1rem;
  font-size: 0.85rem;
  color: var(--md-default-fg-color--light);
}

.md-typeset .admonition.cmmc-references > ul > li {
  margin: 0.2rem 0;
}

/* =============================================================
   Print prevention — applies only on pages that have the
   .objective-meta marker (i.e., subscription-gated objective
   pages). Public pages still print normally.
   This is a casual-deterrent only; a determined user can
   bypass via dev tools, screenshots, or copy-paste.
   ============================================================= */
@media print {
  body:has(.objective-meta) .md-main,
  body:has(.objective-meta) .md-header,
  body:has(.objective-meta) .md-tabs,
  body:has(.objective-meta) .md-footer,
  body:has(.objective-meta) .md-sidebar,
  body:has(.objective-meta) nav {
    display: none !important;
  }

  body:has(.objective-meta)::before {
    content:
      "Concura.AI content is licensed for online viewing only. "
      "Printing is disabled to protect proprietary assessor guidance. "
      "Your subscription includes unlimited authenticated access at concura.ai.";
    display: block;
    margin: 2in 1in;
    padding: 1in;
    border: 3px double #008080;
    border-radius: 8px;
    font-family: Roboto, Arial, sans-serif;
    font-size: 12pt;
    line-height: 1.6;
    text-align: center;
    color: #134e4a;
    background: #fafdfd;
  }

  body:has(.objective-meta)::after {
    content: "concura.ai · Subscription required for content access";
    display: block;
    margin: 1.5in 1in 0;
    text-align: center;
    font-family: Roboto, Arial, sans-serif;
    font-size: 9pt;
    color: #888;
    letter-spacing: 0.1em;
  }
}

/* --- Dark mode (defensive — site is currently light-only) --- */
[data-md-color-scheme="slate"] .md-typeset .concura-insight {
  background: linear-gradient(180deg, #1a2424 0%, #1d2828 60%);
  border-color: #2a3838;
  border-left-color: #14b8a6;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.3),
    0 6px 18px rgba(20, 184, 166, 0.06);
}

[data-md-color-scheme="slate"] .md-typeset .concura-insight h3 {
  color: #5eead4;
}

[data-md-color-scheme="slate"] .md-typeset .concura-insight p,
[data-md-color-scheme="slate"] .md-typeset .concura-insight ul,
[data-md-color-scheme="slate"] .md-typeset .concura-insight ol {
  color: #d4dada;
}

[data-md-color-scheme="slate"] .md-typeset .concura-insight__badge {
  color: #5eead4;
  background: rgba(94, 234, 212, 0.1);
}
